Commit Graph

99 Commits

Author SHA1 Message Date
VDavid003 1294274142
Fix alignment issue when compiling under Arch (#490)
While at it, why not make alignments consistent, we have hex almost everywhere
2023-11-07 20:39:10 -07:00
Tyler McGavran 716b926260
Place variables from data_0DD0A0 to code_800029B0 (#477)
They match when placed there, although its not immediately clear
 that they truly belong there. But a match is a match.

Also cleaned up a bunch of .h files that had references to the
 newly matched variables.

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-10-27 20:00:52 -06:00
MegaMech 76dc587a34
EU 1.0 OK (#265)
* EU 1.0 ok

* EU 1.1 ok

Co-authored-by: AloXado320 <david.albujar.s.30@gmail.com>
2023-10-19 23:37:21 -06:00
Tyler McGavran 318bf3a6c2
Match audio/external.c BSS segment (#470)
* Match audio/external.c BSS segment

Also fix a misnamed function found in audio/heap, used in
 audio/load

* Match audio/seqplayer .data section

* Match func_800C76C0

That was the last function referencing some fake variables, so it
 should be possible to match audio/external's .data section as
 well

* Match audio/external's .data section

The only thing in src/audio left to be matched is audio/external's
 .text section.

There's probably some beautifying that could be done to data/sound_data,
 but that is a future problem

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-10-19 12:31:33 -06:00
AloXado320 77241ead94
Revamp progress script, change file structure and remove unused asm (#459)
* Revamp progress script, change file structure and remove unused asm

* Add text when there's no GLOBAL_ASM remaining (100%)
2023-10-14 12:07:09 -06:00
AloXado320 364f0776c6
Match __osLeoInterrupt.c (#457)
* Match __osLeoInterrupt.c

* fix formatting

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2023-10-11 19:00:21 -06:00
MegaMech 2b74bbbcef
Doc setup_game_memory, label syms, add osSyncPrintf support, match funcs (#444)
* Doc setup_game_memory and label syms

* match func_800132F4

* match func label defines

* fix some fake ptrs

* match more code

* Matches

* Add osSyncPrintf support and matches

* Add func equiv to draw_square and add comment to is_debug
2023-10-06 00:19:09 -06:00
MegaMech 81a9c346d4
Delete courses/cup folders and rename course related files (#432)
* Move course folders

* Rename model to vertices

* Rename packed to displaylists

* Rename displaylists to course_displaylists.inc.c

* rename vertices to course_vertices

* makefile cleanup

* Rename trophy_model to ceremony_data

* move ceremony_data.inc.c to ending folder
2023-09-20 17:17:24 -06:00
AloXado320 9f2330e259
Migrate some rodata files to C, for files in NEEDS_RODATA state (#427)
* Migrate some rodata files to C, for file on NEEDS_RODATA state

* clarify odd texture variable, split unused vertices

* Remove unused file
2023-09-20 11:24:43 -06:00
MegaMech 91fc8ea473
Some train decomp and move seg2 files to ending (#423)
* Some train decomp

* Move seg2 to ending/

* move racing code files into racing folder

* Fix progress

* Rename segments
2023-09-17 16:57:18 -06:00
Tyler McGavran 8233fa2aab
More audio matches (#420)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-09-15 21:50:27 -06:00
Tyler McGavran 86c86c8bcd
Lots of matches in the audio code (#417)
* Lots of audio matches

Fully matched heap.c, lots of load.c and some stuff in seqplayer.c

Matched heap.c's BSS segement and moved some BSS stuff out of
 load.c into data.c, since that where it appears to belong
 according to SM64.

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-09-13 22:36:27 -06:00
MegaMech 4ee09e005f
Import bss for audio and elsewhere (#416) 2023-09-12 19:43:54 -06:00
MegaMech 70207db13b
Various cleanup (#410) 2023-09-09 18:01:01 -06:00
MegaMech 208fecdd28
Match bss for code_800029B0 and clean headers (#406)
* Match bss for code_800029B0 and clean headers

* Fix dvdl and a warning
2023-09-08 13:39:13 -06:00
MegaMech bba223ffa4
Match bss in podium ceremony (#403) 2023-09-07 11:44:13 -06:00
MegaMech 19a056591a
Match func in player_controller.c (#394)
* Match func

* Rename to player_controller.c
2023-08-31 21:55:01 -06:00
Tyler McGavran 1646344907
Move ro/data for code_80091750 into the appropriate c/asm files (#393)
* Migrated data and rodata for code_80091750

And it even matches when built!

Minor annoyances:

There are some EUC-JP strings in `func_800A6E94` and `func_800A69C8`
 that are currently in byte form. The asm files don't get put
 through `icnov` so we can't have them as strings until they're
 parent functions are matched.

`func_8009F5E0` has the symbol `D_800E7594` replaced with the
 actual number `0x800e7594`. The symbol in question is almost
 certainly fake, but I can't figure out what its meant to be.
 So I've hardcoded it for the time being to make the migration
 possible.

* Fully match all the NEEDS_RODATA functions

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-08-31 21:18:13 -06:00
MegaMech 6e3f6aee63
Matched some funcs (#378)
* Matched code
2023-08-22 19:12:51 -06:00
Tyler McGavran 2b0d20a84f
Migrate audio/port_eu data (#370)
* All work done in audio

* Migrate audio/port_eu data

* Refereshed m2c

* Got the bss segment matching too

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-08-15 13:40:01 -06:00
MegaMech 569bafc48b
Various cleanup and matching (#369)
* More podium_ceremony_actors documentation

* Updated progress script

* Various matches and cleanup
2023-08-12 15:19:57 -06:00
MegaMech baaa2f930d
Match Segment 3 -> Matched code_80280650.c (#363)
* Match & doc code_80280650.c

* Update readme
2023-08-10 20:54:11 -06:00
MegaMech de5c688e42
Add crash screen enhancement (#360)
* Add crash screen enhancement
2023-08-09 18:51:37 -06:00
Tyler McGavran a240af0693
Run iconv as part of build (#354)
* Run iconv as part of build

That way files that need to be in EUC-JP encoding can still be
 worked on in UTF-8

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-08-08 11:54:57 -06:00
Tyler McGavran e7632b3227
Some mathes and some non-matchings in code_80057C60 (#352)
* Some matches and some non-matchings in code_80057C60

* Mirgrate code_80057C60 rw data


Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-08-06 11:07:09 -06:00
tomas 9d716d921a
very cool debug display list (#348)
* added a very cool debug display list ^^ (prints variables to screen)

* Decompiled various functions
2023-08-04 13:04:49 -06:00
Tyler McGavran 2e5b2737f3
Rename some data files to indicate teh code file they belong to (#343)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-07-17 22:41:50 -04:00
Tyler McGavran 890aaee162
Move plan data for code_8008C1D0 into asm files (#340)
Had to create a new file in order to get stuff matching right,
 even though making a separate file for just 3 functions is
 incredibly silly.

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-07-11 12:54:39 -06:00
Tyler McGavran 04b9d5b4b8
Move some data into kart_dma.c (#338)
* Move texture data into kart_dma.c
Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-07-11 12:42:33 -06:00
Tyler McGavran cf33e2ea5f
Migrate rodata for code_80005FD0 into asm files (#332)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-07-11 11:58:02 -06:00
Tyler McGavran 1b67ee01df
New asset extraction utility (#306)
* Add new asset extraction tool. Changes motivated by the quirks of how kart animation frames are stored
 in the ROM.

    each frame has a palette that is actually
    composed of 2 other, incomplete palettes. As such, the existent
    extract.py isn't really able to handle them.

* Move a variety of assets to new extract tool
---------

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-06-17 15:13:06 -06:00
MegaMech e371f88b2d
UI and print debug matches (#310)
* various decomp
2023-05-22 13:05:54 -06:00
MegaMech fb7c3bce61
Various matches (#304) 2023-04-10 01:40:47 -06:00
Tyler McGavran 6b4d71e66c
Match credits (#297)
* Match credits data and ro data

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-03-31 05:40:53 -06:00
Tyler McGavran 782ed71f61
Massive data relocation (#295)
Mostly relocating rodata from data/* files to the appropriate
 asm/nonmatching/* files, although there is some plain data
 relocating to be found in here too.

Big change to note is the addition of the code_802AAA70.c file,
 split from memory.c. Based on some padding in the ro/data for
 memory it seems clear that a split is needed, although it is
 not clear that exact spot chosen for the split is correct.
 Still, it gets the file padding for the ro/data and text segments
 correct so it can't be too wrong.

Also included is an update to the asm_processor tool to support
 the .hword directive. I made a PR to the main repo of that
 project with an identical change and it was accepted.

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-03-29 18:52:15 -06:00
MegaMech 8d118db0b2
Labelling of some hard-coded addr to syms (#294)
* Updated final displaylist symbol

* Cleaned up loader script

* Random changes

* Various naming and decomp
2023-03-28 16:40:03 -06:00
Tyler McGavran 889520b045
Relocated rodata for code_800431B0 (#293)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-03-26 16:53:41 -06:00
Tyler McGavran bd82bf5f0c
Relocate rodata for some OS related function (#292)
Required moving a struct def to another file, and I renamed a
 struct to something nicer

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-03-24 00:49:30 -06:00
Tyler McGavran 3b8e76054d
Move all ro/data for code_8001F980 out of data/* (#291)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-03-21 22:27:54 -06:00
MegaMech db4e0a3727
Disassembled courses, added DLpacker, and disassembled packed DLs (#290)
* Disassembled all courses; packed DLs and course data.

* Added displaylist packer

* Minor documentation and naming
2023-03-07 19:48:17 -07:00
Tyler McGavran ee64dad403
Make the course models in a more Makefiley way (#287)
* Make the course models in a more Makefiley way

Required renaming one of the course directories to match the name
 used elsewhere in the project

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-01-24 21:53:43 -07:00
MegaMech 0c10beae0e
Matches in 80281fa0, render_courses, and create defines for sound cues. (#276)
* Matches, add permute, and add notice to quick runners

* 80281fa0 matches, render_courses, and create defines for audio

* Renamed 80281fa0.h, func naming, and deleted data_121DA0

* Added clang format

* Matched load_surface_map

* Match func in memory.c
2022-11-21 04:06:12 -07:00
MegaMech 5f88765dd4
Matches for code_80281FA0.c (#272)
* Matches for code_80281FA0.c
2022-11-07 02:04:33 -07:00
VDavid003 6d03e5bf05
Fix matching under Arch again (#271)
Commit 5ca8e07a4d fixed the issue, then e9415164bb reverted the fix, so let's fix it again
2022-11-06 14:43:20 -07:00
Tyler McGavran e9415164bb
Lots and lots of audio code copied from SM64 (#270)
* Lots of audio decomp

* effects and playback are 100% matched

* Took some notes from the SM64 Makefile to get the right compiler
 options for a couple files

* Added the audio files to rename_symbol utility

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-11-06 08:24:24 -07:00
Tyler McGavran 2c57c81f3a
Match the rest of actors.h (#254)
* Matched rest of actors and more

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-09-08 16:19:53 -07:00
Tyler McGavran 7d23fcc063
Fix some of the memory allocation in framebuffers (#182)
* Fix some of the memory allocation in framebuffers

Also includes a the questionable change of undoing a previously
 made match for func_80027A20. The changes made here remove an
 AVOID_UB usage and (I would argue) is therefore more "correct",
 but undoing a byte-for-byte match is admittedly bad.

Also adds in some header files and updates some not-quite-right
 decomps to be slighly more accurate.

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-08-14 22:47:11 -07:00
MegaMech e9383d1b7a
code_8001F980 decomp + profiler doc + more (#250) 2022-08-01 16:32:20 -07:00
Tyler McGavran f2eef3b82e
Identify some stuff in the Camera struct (#238)
Make a header file for all the camera stuff, refresh a lot of
mips_to_c output

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-07-06 17:36:27 -07:00
tehzz 40bb0154a8
Decomp menus.c (#229)
* update m2ctx to make N64 sgi context

* finish decomping menus.c
2022-07-05 19:01:42 -07:00