Pages: 1
Posted on 09-09-12, 11:41 pm
Super Mario
( ͡° ͜ʖ ͡°)

Karma: 10010
Posts: 2512/4457
Since: 06-08-11
So, that.

We should make somewhere an editor that can edit all the tables that are known. Most are in Overlay 0. I also know some other tables in arm9.bin that map levels to File IDs and store the number of areas in a level, and other useful things (Dunno how editable these are, I've never edited them).

So it should be kind of a window that opens and shows a table. For example, for the BG file ID's table, it should be a table with 4 columns. Left one would be the BG name (not editable), and then there would be the NCL, NCG and NSC file IDs. Same for tilesets and other shit.

So the idea would be a way to make all the tables defined in ROM.cs editable easily.
Posted on 09-10-12, 01:37 am
Fuzzy
Full mod

Karma: 1183
Posts: 520/785
Since: 06-28-11
This would be a useful feature, but sounds tricky to implement. The way you're describing it makes it sound like it would need to be hardcoded to know how to display each type of table. For the backgrounds, it would have to be programmed to load the background names and that there are 3 tables that go with it. I imagine that the other tables would need at least some similar type of hardcoding to make it have a good UI.

Also, for additional tables, would we have another text file with NSMBe so that users can add their own to it, or would they be stored in NSMBe? This would be quite a handy feature, and maybe I'm just thinking about it wrong, but it seems like a lot of work.
Posted on 09-10-12, 01:45 am
Super Mario
( ͡° ͜ʖ ͡°)

Karma: 10010
Posts: 2513/4457
Since: 06-08-11
Well, we could somehow declare tables like:

Table Name: blah.
Index type: Top BG, Bottom BG tileset, level, world, sprite, music, or none (number is shown)
Columns: a list of:
- File
- Offset (for each region. Can be left blank for some regions, in these cases the table won't be viewable/editable)
- Field size in bytes
- Separation between data in bytes.

That should be it. We can "hardcode" the info somewhere in the editor's code and have the editor use it so it wouldn't be a "hard hardcode"
Also, about making it load from an external file: I'm not sure how useful would it be. This isn't something anyone can go and add new tables, it requires quite a bit of tracing and looking through ASM code in IDA
Pages: 1