Commit Graph

62 Commits

Author SHA1 Message Date
Tyler McGavran 2727a5e5dd
Turn loop unrolling back on for code_8006E9C0 (#523)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-12-31 19:04:30 -07:00
coco875 f1befa8bcd
fix doxygen syms (#506)
* fix doxygen syms

* add the markdown file
2023-12-24 15:42:20 -07:00
MegaMech bd32f31e8b
Add sym addr generation for doxygen (#504)
* Add doxygen gen for syms
2023-12-23 19:05:47 -07:00
Tyler McGavran fcbd54ff8b
Proper linkage for textures in course display lists (#443)
* Proper linkage for textures in course display lists

* Does not use new_extract_assets. This tool is small and easy to maintain on its own.

* Auto generate the linkonly files

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-11-09 06:30:19 -07:00
Tyler McGavran c17d5c76c9
Linkage for the ceremony_data file (#478)
* Linkage for the ceremony_data file

Cleaned up all but 1 undefined symbol from the 0x0B range. The one
 leftover may be something from texture_tkmk00. Or atleast, that's
 what I think. Can't say for certain

* Startup logo linkage

Cleaned up a bunch of unused items from assets.json too

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-10-27 22:18:20 -06:00
MegaMech a0f451f2a2
Allow course geography to shift (#475)
* Remove course vertex and packed from undefined syms
2023-10-19 23:46:23 -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
MegaMech 53f84286d6
match a few funcs and add compiler option (#465)
* match a few funcs and add compiler option
2023-10-18 13:56:26 -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
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
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 c85a333a3f
Add new utility to calculate packed dl end and vertex count (#411)
* Add new utility to calculate packed dl end and vertex count

Requires changing a bunch of actual references to packed dl lists
 with raw numbers. Which feels extremely bad but it doesn't match
 otherwise.

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

* Hard code array lenghts in appropriate headers

Use macros to generate the vertex counts and packed dl end points

Heavily dependent on the array lengths being accurate. If they
 aren't stuff will break.

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-09-10 14:21:16 -06:00
MegaMech 70207db13b
Various cleanup (#410) 2023-09-09 18:01:01 -06:00
Tyler McGavran 233e9217e7
Remove undefined_syms for common_textures (#409)
* Remove undefined_syms for common_textures

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-09-09 11:33:20 -06:00
AloXado320 c350eddc6b
F3DEX old commands changes (#408)
* F3DEX old commands changes
    * Changed commands using gspQuadrangle to gspTri2
    * Replaced mk_quad with gspQuadrangle.
2023-09-09 01:06:35 -06:00
Tyler McGavran 7afffb63f5
Cleanup undefined_syms for all the course data (#407)
* Update building of packed_dl files

* Expose course_data symbols to linker.

* Remove undefined_syms for course data

* Update ctx_includes

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-09-08 22:56:49 -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
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
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
Tyler McGavran 74d3ffec0d
Add asset file for some bomb asset (#323)
Yellow bomb, not sure where/if its actually used

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-06-30 20:36:49 -06:00
Tyler McGavran a966aa1787
Add some more asset make and json files (#322)
Course outlines, course previews, unused traffic light, and
 character portraits

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-06-30 08:34:33 -06:00
Tyler McGavran 6537b5dc78
Link packed to course data (#321)
* Link packed DLs into course data

---------

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-06-30 07:40:12 -06:00
Tyler McGavran 891caea16d
Add clean targets for each asset makefile (#320)
This allows each asset group to define its own cleanup procedure
 while also providing a way to cleanup specific asset groups.

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-06-28 22:20:32 -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
Tyler McGavran 1b659170dc
Make adjustments to most course files (#318)
* Make adjustments to the Mario Raceway course file

Added quotes in "*.mk" to the find command for finding the .mk files.

* Make adjustments to the Choco Mountain course file

* Make adjustments to the Frappe Snowland course file

* Make adjustments to the Toad's Turnpike course file

* Make adjustments to the Moo Moo Farm course file

* Make adjustments to the Luigi Raceway course file

* Make adjustments to the Koopa Troopa Beach course file

* Make adjustments to the Kalimari Desert course file

* Make adjustments to the Bowser's Castle course file

* Make adjustements to the Wario Stadium course file

* Make adjustments to the Sherbet Land course file

* Make adjustments to the Royal Raceway course file

* Make adjustments to the Banshee Boardwalk course file

* Make adjustments to the Yoshi Valley course file

* Make adjustments to the Rainbow Road course file

* Make adjustments to the Big Donut course file

* Make adjustments to the Block Fort course file

* Remove some unneeded lines from the Makefile

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-06-28 14:20:02 -06:00
MegaMech 7970b8d9c2
Fix repeated building of course_data files and wip warnings fix (#316)
* Fix building course_data files

* wip warnings
2023-06-17 21:08:15 -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 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
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
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 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 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
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
coco875 d7c9a14908
Matches for audio/port_eu,external and fix lang problem (#275)
* some matches in audio in port_eu, heap, and external.

* update port eu

* Add export lang=c to makefile 

* near match for func_800CBB48

* Update src/audio/heap.c
2022-11-20 18:23:49 -07:00
Tyler McGavran a4faefbc20
Matches for audio/external (#273)
A lot of these matches come from observing the external audio
 stuff in SM64 and realizing that a bunch a couple of the structs
 in MK64 are just expanded version of their SM64 counterpart.

Presumably all the expansions are for handling the doppler effect,
 although I can't say that with certainty

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-11-15 23:32:09 -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 4e5946257d
Some matches for audio/synthesis (#268)
* Updated the Makefile to make the VERSION_US file
 get used when compiling stuff.

* Updated the abi.h file to match SM64, with some modifications to
 support the currently targeted version (US).

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-11-01 15:37:10 -06:00
MegaMech e9383d1b7a
code_8001F980 decomp + profiler doc + more (#250) 2022-08-01 16:32:20 -07:00
tehzz 0f0ff04779
Add building on macOS (#224)
* build OK macOS

* add macOS building instructions

* change return type of func_8000546C

* prevent gitattributes from removing CRLF from ido binaries
2022-06-15 17:26:03 -07:00
MegaMech e4a176d8f5
Match common_textures.inc.c, memory & actor decomp (#188)
* More actor decomp

* memory.c decomp plus bss import into actor code

* Match actors and segment D match

* Match common_textures.inc.c

* Add tool bin2c.py
2022-05-12 15:57:56 -07:00
MegaMech 42fa90ff7a
Match OS funcs (#152)
* Matched osSyncPrintf.c

* Matched contramread.c

* Matched contramwrite.c

* Matched osPfsInit and osPfsGetStatus
2022-01-30 23:31:43 -07:00
CoderStig 5fd2f225c1
mips64-elf support (fixes building on archlinux) (#89)
* Fix mips64-elf support
2021-12-11 00:50:47 -07:00
CoderStig 9e0f96f254
Fixing alignment, better matches in 80281FA0, --decompme support (#82) 2021-12-05 13:47:11 -07:00
CoderStig 3f670579cf
Fixed progress.py, moved non_matching OS to `asm/os/non_matchings/` (#77)
* Fixed progress.py

* Moved non_matching OS asm to `asm/os/non_matchings/`
2021-12-03 04:33:36 -07:00
CoderStig 964344abb0
Split audio funcs (#53)
* Split audio funcs
2021-11-06 03:49:37 -06:00
CoderStig cebe4d6e6b
Fixed makefile (#41) 2021-10-27 13:27:29 -06:00