jaames / game-builder-garage-editor Goto Github PK
View Code? Open in Web Editor NEW(WIP) Experimental save editor for Nintendo's Game Builder Garage
License: Mozilla Public License 2.0
(WIP) Experimental save editor for Nintendo's Game Builder Garage
License: Mozilla Public License 2.0
This is a special Nodon type that only appears in tutorial levels, so I wonder what happens when it's in regular games?
Edited game files load fine when opening them normally, however when trying to upload them to the online gallery, the game will tell you the data is corrupted. Copying or editing the file in the game (in an attempt to get it to fix the file itself) doesn't make a difference. This limits the usefulness of this save editor quite a lot.
I think this is likely due to a hash somewhere in the savedata not matching the game file after it's been edited. I've located what appears to be a file hash list, but need to figure out how these hashes are generated to be able to check if this is the culprit.
Reference save file (no levels here are edited):
savedata.zip
The relevant files are
LgcTpb.bin
- Table of game files, this contains some kind of hash for each fileLgcTpbFile_MyGame[ ].bin
- Game files, these don't contain a hashLgcTpb.bin
contains an array of hashes with the key 343f7f9b
(mValueHashCache[].u32
), which is an uint32 array containing an element for each game file.
The hashes in the reference save's LgcTpb.bin are:
0x3cc5177a, 0xf88aea9a, 0xcd8c72b1, 0xc4690251, 0xe76f4b06, 0xf35ee1b1, 0xdd6bdd3b, 0x1b893be3
Reverse engineering notes:
71008cd050
handles parsing LgcTpb.bin
71008ce0c0
handles looping through all the mValueHashCache[].u32
array elements in LgcTpb.bin
71007a3080
seems to handle adding keys to the game file (or something else?) for upload, including a key called mValueHash
Game thumbnails seem to appear darker here than they are in-game. Looking through the rom it looks like Nintendo is setting gamma correction to 1.5, so I think thumbnails need to be gamma-corrected to .66 to correct for this
There's a lot of unused Nodon types, noted with a comment here:
https://github.com/jaames/game-builder-garage-editor/blob/main/src/objects/Nodon/ActorTypes.ts
Most of these are likely holdovers from Labo Garage, but still might be worth looking into
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.