Giter Club home page Giter Club logo

knuxlib's People

Contributors

knuxfan24 avatar ricky-daniel13 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

knuxlib's Issues

(Rockman X7) SLD Spline Support

  • Saving support
  • Figure out the unknown chunk of data
  • Accurate OBJ exporting
  • OBJ Importing
  • Figure out what these splines are actually used for? Seems to be something to do with entities? (or at least the camera in some stages?)

(Nu2) Scene Support

  • Figure out what SPEC means in the context of a Nu2 Scene.
  • Figure out what ALIB means in the context of a Nu2 Scene.
  • Figure out what IABL means in the context of a Nu2 Scene.
  • Reverse engineer the ALIB chunk.
  • Reverse engineer the Xbox Texture Set.
  • Reverse engineer the Xbox Geometry Set.
  • Reverse engineer the PlayStation 2 Texture Set.
  • Reverse engineer the PlayStation 2 Material Set.
  • Reverse engineer the PlayStation 2 Geometry Set.
  • Reverse engineer the PlayStation 2 SPEC Set.
  • Reverse engineer the IABL chunk exclusive to the PlayStation 2 version.
  • Implement a way to decompress and recompress the PlayStation 2 version's Rob Northen Compression scheme (https://segaretro.org/Rob_Northen_compression).
  • Implement a way to save this format.
  • Implement a way to export this format's model and texture data.
  • Implement a way to import a model to this format.

(Hedgehog) 2010 Collision Support

  • Finish reading.
  • Implement saving.
  • Add an importer.
  • Understand what different values control.
  • Export by collision properties (once those are understood).

(Alchemy) Collision Support

  • Figure out unknown values.
  • Understand how the values in the Subspace chunk piece the models together.
  • Check PlayStation 2 and Xbox versions of the format to see if any values that are currently being skipped without a value test are different.
  • Clean up and document the code.
  • Implement a way to save this format.
  • Implement a way to export this format's model data (is technically already possible, but exports to OBJ without most of the information needed from the Subspace chunk).
  • Implement a way to import a model to this format.

(Wayforward) Collision Support

  • Reverse Engineer the rest of the data found in the Seven Sirens version of the format (currently just reading from a specific point to the end of the file and storing every value as a ulong).
  • Better export solution? Writing OBJs might not be the best option?
  • Import solution.
  • See if this code can be adapted to Half-Genie Hero's clb files too.

(World Adventure Wii) Spline Path Support

  • Sort out the unknowns.
  • Implement a way to save this format.
  • Implement a way to properly export this format.
  • Implement a way to import a spline (from something like an OBJ or FBX) to this format.
  • Clean up and document the code.

(CapcomMT) Archive Testing

  • Figure out the unknown floating point value (which might be a CRC32 hash?)
  • Fix saving once the above is figured out
  • Test if these archives require a strict order to their files like the Sonic World Adventure Wii Engine ONE Archives seem to (X7's stage01_01_cmn.arc file didn't seem to have a problem with it, but others might, as that's all I tested)
  • Consider supporting other versions of the .arc format (V9 reading added in 83ccd53 and saving added in 656bb35 )
  • KnuxTools directory importing

(Rockman X7) Math Table Support

  • Read the unknown data in the environment chunks
  • Find out how the vertex data in the environment chunks are pieced together to form faces
  • Find out why one specific environment file's chunks are completely different to every other one
  • Fix the palettes of textures being incorrect
  • Reverse engineer the other texture type
  • Do any reverse engineering at all of the skinned model chunks
  • Saving support
  • Import support
  • Export support

(Yacht Club) Package Archive Support

  • Figure out the unknown value that almost feels like a hash of some sort? Changing the value even slightly makes the game reject it.
  • Figure out the second unknown value, haven't messed with it at all yet.

(Hedgehog) Scene Effect Collision Support

  • Clean up and document the code.
  • Figure out proper data types.
  • Figure out what the data actually does.
  • Properly name the different pieces of data.
  • Check for differences (besides 32-bit offsets) in the Lost World version of the format.
  • Check for differences in the Frontiers version of the format.

Refactor the KnuxTools Project

The fact that so many files end up with a .json extension is causing this thing to become rather messy rather quickly.
Marathon.CLI keeps the original extension when serialising to JSON and uses it to determine the type, try and replicate that.

(Wayforward) Mesh Support

  • Reverse engineer the unknown chunk of data in the Bone Name node.
  • Reverse engineer the two unknown chunks of data in the Group node.
  • Reverse engineer the two unknown chunks of data in the Object Data node.
  • Figure out what the two unknown nodes actually are (Unknown 2 only appears in a single file).
  • Implement a way to save this format.
  • Implement a solution for exporting models from this format.
  • Implement a solution for importing models to this format.
  • Implement a way to decompress the texture data in this format.
  • Implement a way to compress textures into the data format found in these mesh files.

(Storybook) Spline Path Support

  • Sort out the unknowns.
  • Implement a way to properly export this format.
  • Implement a way to import a spline (from something like an OBJ or FBX) to this format.

(Storybook) Secret Rings Message Table Support

  • Fix encoding errors (really just need to find the right encoder/decoder).
  • Figure out what the deal is with the extra offsets (if things work fine with or without them, then this isn't critical)

(Black) Data Archive Support

  • Read and understand the sequence of bytes near the start that crash the game if I null them out.
  • Understand what each file's unknown value is for, as nulling them also crashes the game. Write currently just shoves a UKNW placeholder value there.
  • Not really required for my purposes, but it would be nice to get this working for other Engine Black games.

(Storybook) Stage Entity Table Support

  • Figure out object parameters.
  • Implement a way to save this format.
  • Get a HSON Importer working, can currently export but haven't tried importing a created HSON back in.

KnuxTools Usability

Currently, KnuxTools has to be compiled from source in order to be used, this should probably be taken care of by a GitHub Action to automatically build an artifact with each commit, but I haven't had any luck trying to understand that.

The extension and version parameters also currently have no standardised setups, I should pick a consistent value for each one (currently some have multiple for the same option which feels very messy) and list it with the file types.

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.