Commit Graph

116 Commits

Author SHA1 Message Date
coco875 203090e591 update with the decomp (#97)
* Update menus.c (#634)

* Update common_data.yml (#635)

* Renames for screenId and other changes (#636)

* screenId renames

* Rename surface map to collision mesh (#637)

* Rename some stack vars (#638)

* Fix syntax error (#639)

* Rename some stack vars

* Update collision.c

* Collision Documentation (#640)

* Collision related renames

* update doxygen (#649)

* change bool (#644)

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* Update (#642)

* Delete trig_tables_bss.c (#650)

* fix typo audio (#656)

* fix typo src actor (#657)

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* fix typo include (#658)

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* fix course (#659)

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* fix typo debug (#660)

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* fix typo data (#661)

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* replace number with const (#665)

* fix typo buffers (#655)

* fix typo buffers

* tweak ld file

* rename to sMemoryPool

* add a warning

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* fix typo src (#654)

* fix typo src

* fix non matcing

* Update code_80091750.c

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* fix typo racing (#653)

* fix typo racing

* get it match

* replace G_LINE3D to G_QUAD

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* fix typo src (#652)

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* fix ending typo (#651)

* Action more info when it doesn't match and fix first diff (#662)

* Update linux-compile.yml

* fix first-diff

* Update first-diff.py

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* document texture of kart (#663)

* document texture of kart

* change screenPlayerId to screenId

* some documentation around object

* Revert "some documentation around object"

This reverts commit cbb39078e036bf2a417bed67359e910213acab28.

* more rename

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* Make evaluate_collision_players_palm_tree better (#667)

This matches just the same as before,	but using those two casts instead of
shifts seems more likely to be accurate to the original source code

Signed-off-by: Gabriel Ravier <gabravier@gmail.com>

* add fedora instruciton (#666)

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* start documenting animation (#668)

* start documenting animation

* Update course_data.c

* change comment

* update libultra asm (#648)

* update libultra asm

* fix gcc __osThreadTail

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* Document Vehicles (#641)

* start doc collision

* fix merge

* finish rename fonction related to vehicle

* document around waypoint of vehicle

* make some modification

* make some change and rename one

* copy_ to oldPos

* doc smoke ferry and train

* some rename

* fix some renaming

* precise index

* rename a funciton

* simplify waypoint_vehicles

* change some name

* change some name

* rename move_to_point_direction

* fix some conflict

* Update code_80005FD0.c

* Update code_80005FD0.h

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* Label a save info loop (#645)

* save info

* more gcc progress

* fix a value and do a rename (#669)

* 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>

* Update linkonly_generator.py (#670)

* some rename for torch (#588)

* rename gBombKartSpawns, and fix cup ID

* Update doxygen_syms.md

* rename for gCourseIndexInCup and his constant

* rename to gCupSelectedCourseIndex

* forget a change in constant

* fix compilation issue

* Update Dockerfile to latest Ubuntu LTS + fixed missing cmake (#674)

* Fix color font matrix function (#676)

* Fix label variables used in menus (#675)

* Fix label variables used in menus

* split D_800F2BDC and clang format menu.c

---------

Co-authored-by: coco875 <pereira.jannin@gmail.com>

* Fix some libultra struct types (#677)

* Uintptr (#671)

* Update render_courses.c

* Update math_util.c

* Update math_util.c

* Update math_util.h

* Update render_courses.c

* Clang suggest (#678)

* add clang suggestion

* Update clang-format-suggest.yml

* Update clang-format-suggest.yml

* simplify

* switch to ubuntu

* Update clang-format-suggest.yml

* update ubuntu

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* Clang pr (#679)

* Create clang-pr.yml

* Update clang-pr.yml

* Update osCreateMesgQueue.c

* Update osCreateMesgQueue.c

* Update clang-pr.yml

* Update clang-pr.yml

* Update clang-format.yml

* clang format (#680)

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>

* some rename in ceremony (#647)

* rename ceremony

* apply some suggestion

* some rename

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* clang format (#681)

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>

* Rename Object Timing Related Code (#673)

* 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

* rename around object

* 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

* rename to initiate_next_state

* Revert "Merge branch '3d-objects' into general-object"

This reverts commit f5347b38cc75af4d10ee3726dc1524c1c71d6849, reversing
changes made to a353c4d954fb5b50c8b48fe3f9d67c95ccaab299.

* revert the revert...

* revert 3d-models PR

* finish some revert

* Update code_80005FD0.c

* fix code_80091750.c

* Update code_80091750.c

* rename isTimerRunning to isTimerActive and set_object_timer_running to set_object_timer_state

* rename to initialize_next_state

* rename to object_next_state

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* 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>

* other

* fix some error of compilation

* finish fix all error

---------

Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
Co-authored-by: Gabriel Ravier <gabravier@gmail.com>
Co-authored-by: MisterSheeple <27652712+MisterSheeple@users.noreply.github.com>
Co-authored-by: AloXado320 <38191089+AloXado320@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2024-09-17 09:32:50 -06:00
coco875 848b31c01e Update decomp (#63)
* update libultra asm (#648)

* update libultra asm

* fix gcc __osThreadTail

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* Document Vehicles (#641)

* start doc collision

* fix merge

* finish rename fonction related to vehicle

* document around waypoint of vehicle

* make some modification

* make some change and rename one

* copy_ to oldPos

* doc smoke ferry and train

* some rename

* fix some renaming

* precise index

* rename a funciton

* simplify waypoint_vehicles

* change some name

* change some name

* rename move_to_point_direction

* fix some conflict

* Update code_80005FD0.c

* Update code_80005FD0.h

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* Label a save info loop (#645)

* save info

* more gcc progress

* fix a value and do a rename (#669)

* fix error of compilation

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2024-08-24 18:39:52 -06:00
coco875 e135178097 Update from decomp (#34)
* Update menus.c (#634)

* Update common_data.yml (#635)

* Renames for screenId and other changes (#636)

* screenId renames

* Rename surface map to collision mesh (#637)

* Rename some stack vars (#638)

* Fix syntax error (#639)

* Rename some stack vars

* Update collision.c

* Collision Documentation (#640)

* Collision related renames

* update doxygen (#649)

* change bool (#644)

* Update (#642)

* Delete trig_tables_bss.c (#650)

* fix typo audio (#656)

* fix typo src actor (#657)

* fix typo include (#658)

* fix course (#659)

* fix typo debug (#660)


* fix typo data (#661)

* Update common_structs.h

* replace number with const (#665)

* fix typo buffers (#655)

* fix typo buffers

* tweak ld file

* rename to sMemoryPool

* add a warning

---------

* fix typo src (#654)

* fix typo src

* fix non matcing

* Update code_80091750.c

---------

* fix typo racing (#653)

* fix typo racing

* get it match

* replace G_LINE3D to G_QUAD

---------

* fix typo src (#652)

* fix ending typo (#651)

* Action more info when it doesn't match and fix first diff (#662)

* Update linux-compile.yml

* fix first-diff

* Update first-diff.py

---------

* document texture of kart (#663)

* document texture of kart

* change screenPlayerId to screenId

* some documentation around object

* Revert "some documentation around object"

This reverts commit cbb39078e036bf2a417bed67359e910213acab28.

* more rename

---------

* Make evaluate_collision_players_palm_tree better (#667)

This matches just the same as before,	but using those two casts instead of
shifts seems more likely to be accurate to the original source code

Signed-off-by: Gabriel Ravier <gabravier@gmail.com>

* add fedora instruciton (#666)

* start documenting animation (#668)

* start documenting animation

* Update course_data.c

* change comment

* fix error of compilation

* fix error of compilation

* Update animation.c
2024-08-22 18:20:13 -06:00
MegaMech d08be66c38 Update mk64.ld (#617) 2024-04-20 19:21:32 -06:00
MegaMech d9c1ebb626 Initial gcc Support (#568)
* Added GCC
2024-04-15 10:53:58 -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 f99e242d97 Document render/update objects (#565)
* Document objects related code.
  * Including render/update objects code
* Various renamings
2024-03-04 09:02:45 -07:00
Tyler McGavran 1aa6824d33 Match the last 2 data files (#574)
* Match the last 2 data files

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

* Update one of the file names based on comments

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

* Fix bad path in onomatopoeia asset file

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

---------

Signed-off-by: Taggerung <tyler.taggerung@email.com>
Co-authored-by: Taggerung <tyler.taggerung@email.com>
2024-02-28 10:11:38 -05: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 639fec1458 place surface type const and unassemble flag in vtx and document effects (#553)
* place surface type const and unassemble flag in vtx
2024-01-20 21:22:35 -07:00
coco875 7c44252daa Finish bss (#527)
* Finish importing bss
2024-01-02 14:53:51 -07:00
coco875 e5a215cb7c Add bss render player and spawn player (#518)
* finish render_player

* finish normally spawn_player bss
2023-12-30 15:46:05 -07:00
Tyler McGavran c89b4f6fe7 Match the BSS segment for code_80005FD0 (#516)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-12-28 21:39:35 -07:00
coco875 7597ee4ea8 add bss variable to camera.c (#514)
* add bss variable to camera.c

* Rename bss_8001C4D0.s to bss_80164AB0.s
2023-12-25 08:57:38 -07:00
coco875 670a930f31 Rename code_8001F980 to render_player and code_800B45E0 to save (#507)
* Update and rename code_8001F980.c to render_player.c

* Rename code_8001F980.h to render_player.h

* rename import file to render_player

* Update and rename code_80004740.c to save.c

* Rename code_80004740.h to save.h
2023-12-24 15:52:09 -07:00
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