Git Product home page Git Product logo

rerogue's People

Contributors

benchampion avatar dpethes avatar jackcartersmith avatar thanaclara avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

rerogue's Issues

Correct Method of Compiling & Running Documentation?

Hello, do you have some documentation I can closely follow for how to compile the tools via Lazarus and FreePascal, please? I tried compiling and running the de_packer/re_packer, but I get and error:

"Project rs_repack raised exception class 'EFCreateError' with message: Unable to create file "r:\rogue_data\DATA.DAT": The system cannot find the path specified."

At address 41CEA0.

Use DAT files directly in all tools

The tools should be able to read their respective files without unpacking the DAT file. This would especially be useful for the map/terrain tools, which could accept just one parameter (level number) instead of three.

Speech MORT format codec parsing/decoding

Hi,

Okay everybody, it's a big one!
Speech in RS are recorded in propritary codec bearing the name of "MORT", MORT can be found in header of files inside "speech" file inside data.dat. Used in a lot of Factor5's games, MORT audio codec does not seem to be fully decoded for now...

I haven't found anything more accomplished than a reversed toolset of N64 version (https://github.com/jombo23/N64-Tools).
Despite efforts to recompile myself the tool, wav output seem broken...

IDA/Ghidra doesn't help me further than speech file RAM allocation and some pointer/config datas. I don't think the datas are "complex" to decode, but the decoder functions seem fragmented in the main program... Pretty hard to extract.

I'll keep trace of my "quest" in this issue, reverse engineering of RS doesn't have a lot of topic in the www universe x)

Python bundle (un)pack; opkg files; craft animation/weapons config?

Hey - first off great project, very impressive work you've done so far!

I couldn't get the Rust version of the bundle unpacker to compile (I think the Rust io functionality has changed quite considerably in the intervening years). The format doesn't look too tricky, so I'm in the middle of writing a Python version. Interestingly, it looks like BUNDLE.003 on my installation (from Steam) has a different format to the other BUNDLE.00{0,1,2} files. From looking in a hex editor it seems it maybe contains force-feedback and/or sound configuration.

Using the version of model_viewer.exe from your webpage, I noticed that there seems to be something differerent with the level data. A typical example is data/level/lv_8/opkg_HOB: if I turn on "points" under rendering options I can see other objects in the file (that make sense for the level), although we don't yet seem to be able to recover the faces. Typically the opkg2_HOB files appear empty.

Similarly, many of the objects seem to contain both their whole and destroyed versions. A particularly interesting example is data/imp_stuff/atst_HOB, where it looks like maybe the head shows up as "points" but at a much larger scale than the legs.

Maybe this is a clue to understanding the full HOB file format (although really I should try compiling the latest model_viewer.exe, I don't know if this is already figured out there!)

Finally, I've not come across any of the config that defines craft animations (brake flaps on the speeder, S-Foils on the X-Wing, maybe others). I haven't looked in the bundle files yet. Do you think that exists somewhere in the data or is it compiled directly into the code? Similarly, I've not seen the config that defines the weapons available on a craft and their graphics (red vs. green lasers etc.)

Ultimately my aim is to be able to play as different craft (e.g. maybe TIE Bomber on Y-Wing Levels, or T16 on other levels) or even fully custom models. Let's see how far we get!

(Sorry for the long issue, I can split this up if it makes more sense)

TXT file datas types

Hello,

Just to ask if new types of data have been identified?

I think texture's alpha layer is wrong or uncleared. I think about that because some texture have a gradient effect (ex: light for imp_landingplatform) and pilot rendering keep its background layer.

Need help with hmp2obj

In you instructions on you blogsite it says you need to specify which map you are extracting. Do I specify it somewhere in the code project? If so where do I do that?

HOB format: remaining unknown fields

Starting a thread for findings on the remaining unknown fields in the HOB format.

dbg/dbg_HOB is very useful since it is a small file with only 3 simple objects. (#9 brings it into the model_viewer)

With reference to https://github.com/dpethes/rerogue/blob/master/doc/file_hob_spec.txt

Object [116B] 
{
  16B array of char : name
  4B int   : facegroups offset
  4B int   : object parts offset
  4B int   : facegroup header 2 offset
  12B zero

These ints seem to maybe be offsets, but to/from what?

  4B int   : ? 94, 0xD4
  4B int   : ? 98, 0x100
  4B int   : ? 9C, 0x104
  4B float : ?
      -bark_moon, cldcar: 1.0
      -sky, e_cor: 0.2 
      -wmvwing: 1.25
  12B zero
  5x 4B float : ?
  4B int offset before 0xFFFFFFFF header end marker

I am pretty sure these last 6 floats are bounding box corners (x_min, y_min, z_min) (x_max, y_max, z_max)

  6x 4B float : ?`
}

I think the 4th byte in each vertex is just padding? Is it ever anything except 0?

[...]
Vertices
{
  2B int X
  2B int Y
  2B int Z
  2B int ?
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.