Commit Graph

72 Commits

Author SHA1 Message Date
MegaMech b256c9e5cf
Revert "Add ymls for Torch code generator (#497)"
This reverts commit 3da5a4f343.
2024-04-09 21:59:30 -06:00
MegaMech 3da5a4f343
Add ymls for Torch code generator (#497)
* Add torch

* update jenkinsfile
2024-04-09 21:29:57 -06:00
MegaMech c4d596d297
trig tables shiftable (#596) 2024-04-05 21:42:14 -06:00
MegaMech 40700ce9ad
Remove inc from linked file names (#593)
* Remove inc from linked file names
2024-04-02 13:12:38 -06:00
coco875 4c4cb36b4d
add compatibilty for Windows build (#564)
* Add Windows Support
* Modify readme instructions for windows building
* Remove unused files
* Modified extract_assets.py, new_extract_assets.py, and build.py to work on windows
2024-02-22 08:33:46 -07:00
MegaMech 19410f2825
Code Segments Shiftable (#566)
his PR cleans up segment related code in main.c.
Also cleans up the linker a bit.

    Add memory pool to linker as .bss to validate that it exists properly.

    Move framebuffers, gfx, and audio buffers out of racing segment and make its own segment.

    Rename framebuffers.c to buffers.c as it contains more than just framebuffers.

    Import asserts from sm64 to validate that code segments are not overlapping

    Rename segNoload to segmentNoload

    Rename 802BA370 segment to trigTables

    Rename gMenuSelectionFromEndingSequence to gGotoMenu

    Rename gMenuSelectionFromQuit to gGotoMode

    Rename SEG_ENDING_SEQUENCES to SEG_ENDING

    Rename data_821D10 to ceremonyData

    Rename data_825800 to startupLogo
2024-02-05 17:08:29 -07:00
coco875 27e0f763e0
update docs (#555)
* Update doxygen-gh-pages.yml

* reorganise docs folder add ref and a button to switch between dark and light, optimise doxygen
2024-01-20 21:24:05 -07:00
MegaMech 0c325e3497
Fix docs placeholder (#544)
* Fix docs placeholder
2024-01-14 15:34:59 -07:00
MegaMech e09b3797ef
More docs (#543)
* More docs
2024-01-14 14:32:13 -07:00
Alyx Burke 396b8e1d81
Fixes the error "iconv: invalid option -- o" by redirecting stdout to the desired file. (#538)
* Fixes the error "iconv: invalid option -- o" by redirecting stdout to the desired file. Fixes build errors on macos
2024-01-12 13:31:21 -07:00
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