Commit Graph

90 Commits

Author SHA1 Message Date
Jed Grabman 184f5939f2
Shiftability fix and documentation (#723)
* Shiftability fix and documentation

* Allow setting `AVOID_UB=1` directly while building
* Set `AVOID_UB` when building with DEBUG.
* Document options for enabling shiftability
* Document `make clean`

* Delete HTML file

* Update compiling.md

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-06-21 12:50:57 -06:00
AloXado320 30fef62f81
Fix EU build and related cleanup and fixes (#710)
* Fix EU build and eu-final offsets

* Fix instrument align and bring EU matches

* Fix EU trig table segment

* Label audio_init

* Simplify float comments

* Proper EU name version defines
2025-05-11 18:00:37 -06:00
Alejandro Asenjo Nitti 809450525a
match func_80099AEC and fix some warnings (#699)
* match func_80099AEC and fix some warnings
2025-01-24 11:18:03 -07:00
coco875 731b24eabf
Doc code 80005fd0 (#697)
* Document code_80005FD0.c
2025-01-18 17:24:09 -07:00
coco875 5e1ce53a4c
the big code_80091750.c rename (#684)
* some rename

* type menu

* continue rename and place const

* Renames and doc

* more

* buffer vars

* clang format

* continue rename

* some rename and get it compile (but don't match for obscure reason)

* get it match again and fix some warning

* fix all warning

* Match 6 functions

* continue rename

* load img renames and first step or label menu items

* MenuItem struct names and some rename

* rename around

* rename code_80091750 to menu_item

* clean up a little

* Update menu_item.h

* document waypoint and more

* Revert "document waypoint and more"

This reverts commit 5e6eb4fbcc.

* apply review

* Update menu_item.c

* fix some review

* rename func_8009E620 to clear_menus

* do a rename

* apply review

* finish rename normally

* more small rename

* few fix of name

* few more fix

* minor fix

* Update menus.c

* last rename normally

* Update render_menus.s

* Update menu_items.c

* Renames seg2 textures.c

* MENU_ITEMtype --> MENU_ITEM_TYPE

* remove a useless parameter

* func_80099110 --> clear_menu_textures

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
Co-authored-by: AloXado320 <david.albujar.s.30@gmail.com>
2025-01-03 17:44:23 -07:00
coco875 6da6598cc6
extract models with blender (#577)
* start making models extraction with blender

* finishing extract model

* Update fast64

* extract course

* Update fast64

* Update fast64

* simplify import of course_displaylists and course_textures and remplace adress with texture

* Update fast64

* change data format and simplify the thread queue

* move in a blender folder

* remove fast64

* re add fast64

* add model_extract and fast64_blender in makefile

* multithread with make file split the models into multiple json and add course segment

* Update fast64

* remove old model_extract

* remove the error when he don't find blender

* start rename around course section

* update submodule fast64

* fix compilation issue and add some model to extract

* Update fast64

* remove fast64

* re add fast64

* update submodule

* fix compilation issue

* add other collision gfx and prepare reorganise file

* re arrange json

* Create README.MD

* Update README.MD

* Update README.MD

* update fast64

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2024-09-15 17:06:29 -06:00
AloXado320 3f353d7b69
Fix some libultra struct types (#677) 2024-09-06 12:20:19 -06:00
coco875 17a6f4bb3d
update clang and add action (#664)
* update clang and add action

* try clang on course folder only

* forget two file

* Update course_displaylists.inc.c

* forget few other file

* Update course_vertices.inc.c

* format all code while get it match

* second pass

* format other dir

* disable clang format on bad ido code

* fix some tabulation

* revert format on tool dir

* Update clang-format.yml

* ignore gbi.h

* add some read me instruction

* fix error

* format and fixing error

* Update README.md

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2024-08-24 15:27:53 -06:00
coco875 368c276e1e
fix a value and do a rename (#669) 2024-08-23 12:12:55 -06:00
MegaMech 8ebae23080
Label a save info loop (#645)
* save info

* more gcc progress
2024-08-22 23:59:04 -06:00
coco875 7025ff0ca1
update libultra asm (#648)
* update libultra asm

* fix gcc __osThreadTail

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2024-08-22 23:31:24 -06:00
coco875 685c4d6e12
reduce verbose of command (#614)
* reduce verbose of command
2024-04-19 20:37:39 -06:00
MegaMech 900a9f0f85
Remove some warnings (#609)
* Remove some warnings

* Update torch to latest version
2024-04-17 09:41:19 -06:00
coco875 9ac20c80b8
fix a lot of warning in code (#598)
* Fix warnings
* Fix building
2024-04-16 10:00:08 -06:00
MegaMech d9c1ebb626
Initial gcc Support (#568)
* Added GCC
2024-04-15 10:53:58 -06:00
coco875 e2c19fd4bc
use github actions instead (#605)
* Create actions
2024-04-12 18:54:59 -06:00
MegaMech 2d3278d073
Fix torch (#604)
* Update Makefile
2024-04-10 21:39:16 -06:00
MegaMech d04ce46573
Torchfix (#601)
* Update Makefile
2024-04-09 22:34:00 -06:00
MegaMech ad495221f7
Fix torch (#600)
* Fixed torch
2024-04-09 22:24:11 -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