openswe1r / swe1r-tools Goto Github PK
View Code? Open in Web Editor NEWA collection of tools to work with files of the 1999 Game "Star Wars Episode 1: Racer"
License: GNU General Public License v2.0
A collection of tools to work with files of the 1999 Game "Star Wars Episode 1: Racer"
License: GNU General Public License v2.0
This tool does not work properly yet.
Race order has not been confirmed yet. Please re-check.
It seems that there is a "/LNCH" prefix for the launcher strings.
Example: "/LNCH099/Please insert the CD into your CD-ROM player and try again."
These were (to my knowledge) not translated in the french version of the game and my 1.1 version also does not contain them. This should be investigated further.
(This is called unk20
in the script)
The code already has some comment regarding speculation for 16 bits of it, but the rest is unclear.
You will need a C11 Toolchain and CMake to compile some of these tools. The Python scripts will require Python version 3.
(CMake instructions)
should be changed to something like
- The Python scripts will require Python version 3.
- For some tools, you will need a C11 Toolchain and CMake to build them:
(CMake instructions)
Gets more google hits.
These texture flags from byte Section5b.unk3
in the modelblock have an impact on how the texture is loaded. It should be reviewed if data might be missing from exporting textures (out_textureblock.py) at this point.
Bug in out_textureblock.py
First noticed with #17
We should be able to handle *.sav and tgfd.dat.
I've documented these files here (The link might change in the future. Check the OpenSWE1R repo / wiki for updates).
This might help to get more people involved.
I'm not sure where the texture sizes are stored, so there's a lot of guesswork there.
(This is called unk3C
in the script)
It appears that the fmt
variable in out_spriteblock.py is the same as format_a and format_b combined from out_textureblock.py. The actual pixel decoder should be shared between the 2 tools.
The list of RE'd formats can be found here: Olganix/Sw_Racer#9
This will hopefully eventually close #3
When unpacking binary data, they should be converted to XML, to make it easy to modify them.
This is already done for the model files by Sw_Racer.
Doing this for the texture, spline, sprite and savedata files would allow users to modify and repack these files more easily.
Data which is not easily modifieable by text editors, should be extractable to PNG (as it already happens for sprite and textures) or Collada from the XML.
Currently, out_textureblock.py will first collect all texture information, and only start dumping textures once all XML files have been parsed.
This should be changed so it immediately starts output. This will feel more responsive and aid with debugging bugs in the tools, as we can get results quicker.
Looks like pages are arranged wrong.
(Also Sprite 22 might be broken too. It's probably an N64 controller, but quality is poor?)
The spline tool should export more info. Currently only a part of the actual spline information is shown.
Maybe it makes sense to just export a blender python script to generate blender splines. I think OBJ might be too limited.
Collada output could also be an option.
While the races are unlocked in the order they appear in the tournament, the actual track order for the besttimes is different.
This is the same order as it appears in the binary which can be extracted using the extract-data
tool.
I currently suspect that not all bytes are properly exported:
I could not find sprites or textures for the fonts. I still suspect them in this file somewhere
Even if they can not be found here, this is still a useful feature to have for debugging.
I'm suspecting this is using Y'UV or something, but I can't figure it out.
Someone should make sure that this is correct
All scripts should be reviewed so they don't use filesystem path which are not available on all platforms.
Instead, an output folder should be specified on the command line (or to current directory).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.