Commit Graph

65 Commits

Author SHA1 Message Date
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
Tyler McGavran 9c661125be Small matches, nothing super special (#400)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-09-05 15:49:55 -06:00
Joshua Peisach 67fbcac9ec Match func_8006B7E4, func_8006EEE8, func_80071A20 (#395)
* Match func_8006B7E4, func_8006EEE8, func_80071A20

* Fix missing extern void call
2023-09-05 14:38:40 -06:00
Tyler McGavran 31d3ac14ec Put void in several function prototypes (#387)
I have historically made prototypes for argument-less functions
 with just plain `()` for the argument list. This has caused some
 minor pains when using `m2c` and is, pendatically, incorrect.

So I have changed all argument-less function protoypes to instead
 have `(void)` as the argument list. This required a couple small
 fixes here and there.
2023-08-26 12:48:45 -06:00
MegaMech 0e85b1acb1 Some matches in 80027D00 (#385) 2023-08-25 22:14:08 -06:00
Tyler McGavran df3c435ac8 Versus mode Bomb Kart stuff (#375)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-08-20 22:23:57 -06:00
MegaMech e57133e59f Matched staff_ghosts.c and doc for podium_ceremony_actors.c (#365)
* Matched staff_ghosts.c

* More podium_ceremony_actors documentation
2023-08-11 13:21:17 -06:00
MegaMech 870c39ad77 Matched code_80091440.c and named gDemoMode variable (#358)
* matched code_80091440.c

* Named gDemoMode

* Remove asm for matching func

* Matched and namings for random_u16_credits func in code_80280650.c
2023-08-09 14:53:55 -06:00
Matthew 21a5645e12 More matches in code_80057C60 (#351)
* Some matchings for code_80057C60

* Remove matched assembly
2023-08-08 13:05:58 -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
Tyler McGavran 87297bc3b4 Lots of code_80071F00 matches (#347)
* Lots of code_80071F00 matches

Also removed a bunch of fake variables related to the object list.

Also gave names to some of the members of the object list type

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-08-04 15:05:13 -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 2f7719086a Rename a bunch of D_06XXXXXX variables (#330)
* Rename a bunch of D_06XXXXXX variables

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-07-08 17:54:58 -06:00
MegaMech d6eb25aae3 Cleaning Up Warnings (#317)
* Update mk64 makefile to reflect sm64 makefile

* print func matches and fix some warnings
2023-06-28 14:30:11 -06:00
MegaMech 779ae6f6f1 Item & Various decomp (#311)
* Item & Various decomp
2023-06-16 10:30:39 -06:00
MegaMech e371f88b2d UI and print debug matches (#310)
* various decomp
2023-05-22 13:05:54 -06:00
MegaMech afb29a5a65 Match memory.c, remove warnings, fix fake matches (#301)
* Match memory, remove warnings, fix fake matches

* label switch
2023-04-07 22:13:28 -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
Tyler McGavran 3a99685c2f Clean up some more bin2c calls from the Makefile (#286)
* Remove some bin2c calls from the Makefile

* Found a way to make n64graphics use shared tluts

* Added an option that makes n64graphics operate in a mode where it
 takes an image and tlut (as pngs) and spits out the appropriate
 CI8 indices inc.c form

* Turns out all the TLUTs for Lakitu are kept in one place, far away
 from the textures that use them

* Names some textures and tluts

* Pretty helpful actually, helped identify where a few different
 objects types are initialized. Should be a little useful to
 whoever dives into the object stuff more deeply

* Minor cleanup in n64graphics

* Added some comments, gave more appropriate names to some
 variables.

* Leaving the new mode argument as `-Z` for now

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>

* Textures compile using makefile rules

* Patched n64 graphics memory leak and ci output

* Added memset16safe to initialize ci palettes to magic numbers (transparent pixels).

---------

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2023-02-06 22:52:34 -07:00
Tyler McGavran 533d035875 Some assorted matches (#289)
Also renamed a couple variables

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-01-31 07:02:40 -07:00
Tyler McGavran e7ceabf94f Couple matches and giving names to some textures (#285)
* Give names to some textures

* Match a couple functions

* Remove a use of bin2c from the makefile

* Its a little strange, but two of the portrait textures share
 a TLUT. I believe this necessitates that the portraits be
 part of the same PNG file.

* 2nd portrait referenced in undefined_syms.txt

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-01-03 20:43:30 -07:00
Tyler McGavran c705bc4a6a Lots of matches related to the object list (#284)
Identified a couple more lists of object list indices, added some
 comments indicating what they're used for. Those comments are
 most likely non-exhaustive so there's still some investigation
 to be done there.

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-12-28 20:19:11 -07:00
Tyler McGavran eeab33814d Yet more assorted matches (#278)
* Yet more assorted matches

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-11-29 18:03:40 -07:00
Tyler McGavran 1483ddaa03 Matches and m2c refreshing for code_80057C60 (#266)
* Matches and m2c refreshing for code_80057C60

* Convert some Vtx's into a Mtx

Based on the usage of D_0D008E98, it seems like it should be a
 Mtx. So this commit changes some Vtx's into a Mtx

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-10-19 22:00:45 -06:00
Tyler McGavran b7e7b34998 A bunch of unrelated, assorted changes (#263)
Couple matches functions, an update to a struct, a bunch of header
 files adjustments, and some mips_to_c regenerations

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-09-30 22:48:59 -06:00
MegaMech 82b53f5928 Player struct member naming and matched a few funcs (#262)
* Player struct member naming
* Matched a few funcs
2022-09-26 12:59:41 -07:00
coco875 32358c30fd Change a variety of constants to defines (#257)
* Change a variety of constants to defines

* Add notes regarding menu columns

* Change unknown type to known types
2022-09-18 21:54:14 -06: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 dfd54d9a10 Match a lot of functions, add header for objects (#251)
* Match a lot of functions, add header for objects

* Refreshed a TON of functions and created/added to several
 header files

* Add header for code_800431B0, address comments

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-08-23 09:33:00 -07:00
MegaMech e9383d1b7a code_8001F980 decomp + profiler doc + more (#250) 2022-08-01 16:32:20 -07:00
MegaMech 7042a3eab5 Document game state related logic (#244)
* Document game state logic

* More namings
2022-07-15 00:44:33 -07:00
MegaMech fd7941e841 Split out some unused asm and documented main.c (#242)
* Splitting out unused asm

* Documented main.c
2022-07-11 00:02:41 -07:00
MegaMech 42b81c1979 Decomp various small funcs (#240) 2022-07-09 02:37:17 -07:00
Tyler McGavran a8e5c0f212 Match several functions in code_80005FD0 (#230)
Introduce waypoint struct, which code_80005FD0 seems to be
 involved with.

Updated several mips_to_c outputs as well.

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-07-01 13:14:20 -07:00
MegaMech 22ca23f32c Rename some files and Match spawn_players.c (#226)
* name some code files

* Match spawn_players func

* random decomp

* name more files
2022-06-17 03:05:27 -07:00
Tyler McGavran ecb085b291 Add some more actor types, match a function (#191)
* Add some more actor types, match a function

* Identify the boundBox member of the Player struct

Note that while the `flag` members are signed, they should be understood as just a group of bits.
Based on some googling around (see https://stackoverflow.com/a/11644749) the operation `thing.flag |= 0x8000`
is NOT undefined behaviour, even though that is setting the sign bit.
The numerical interpretation of the result as a signed number is implementation defined, while the
actual operation acts on the bit representation of the number.

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-06 21:56:43 -07:00
MegaMech 2f8a1bfcb6 Actor decomp (#183)
* Actor decomp
2022-04-26 15:48:36 -07:00
Tyler McGavran b28dd3898d Named "*_step_*_towards" functions (#154)
Also redefined a Lights1 variable in terms of GBI macros.

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-28 21:27:32 -07:00
Tyler McGavran a5e945b233 Add struct for D_8018CA70 (#153)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-27 17:29:33 -07:00
ChiefFruitcake f0e40cb746 More function matching in code_80057C60 (#149) 2022-01-24 20:22:43 -07:00
Tyler McGavran 78681aa5ba Variety of changes (#147)
* Update player struct with lap count and rank

Also rename some arrays to better reflect what they are tracking

* Add bounding box corner struct and surface type enum

* Create a .h file and move stuff into it

See https://github.com/DeadHamster35/Tarmac64/wiki/Surface-Types and
 https://github.com/micro500/mariokart64/wiki/Surface-Map for reference

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-22 22:46:07 -07:00
ChiefFruitcake a8713d2078 code_80057C60 (#146)
* Match func_8006E058. Fix compiler warnings in code_80057C60.c

* Match functions in code_80057C60

* Undo comments in Camera struct
2022-01-21 20:23:34 -07:00
Maciek Baron 1bbc7674ff Identify active screen mode, relabel accordingly (#141) 2022-01-17 06:44:14 -07:00
Maciek Baron 8a56620205 Match functions related to balloon status (#137)
* Match function related to balloon status

* Match func_8006B87C

* Match func_8006BA94
2022-01-14 14:17:09 -07:00
Tyler McGavran dd05d49f5f Update the GfxPool struct and match some functions (#134)
* Update the GfxPool struct and match some functions

Also reordered variables.h a bit

* Match 2 more functions

* Replace reaming ->buffer references with ->mtxPool

Update the mips_to_c output of a couple functions based on new GfxPool
 definition

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-09 20:02:34 -07:00
Maciek Baron 20d9e8afba Relabel/identify more variables and functions based on current knowledge (#127)
* Update labels and names based on current knowledge

* Create gChatacterSelections/gCharacterGridSelections distinction
2022-01-02 17:30:23 -07:00
Tyler McGavran c669d792a2 Match the other move_towards functions (#125)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-01-01 18:22:31 -07:00
Maciek Baron 7df6d01ef3 Add player and controller labels, rename function (#123)
* Add player labels, rename function

* Relabel controller vars to improve readability
2022-01-01 13:06:21 -07:00
ChiefFruitcake 4d9ca02750 Naming global variables related to menu navigation (#119)
* Naming of global variables related to the game menu and Controller Pak menu
2022-01-01 02:35:37 -07:00
MegaMech dd0b6e2ff2 decomp more 80057C60.c to reach 20 percent (#118) 2021-12-26 00:14:52 -07:00