Commit Graph

48 Commits

Author SHA1 Message Date
MegaMech 75344d87eb [modding] Implement jumbtron fb effect (#125)
* Update Engine.cpp

* minor fix and update LUS (#119)

* minor fix and update LUS

* update torch

* Update torch

* Implement jumbotron framebuffer effect

* Update skybox_and_splitscreen.c

---------

Co-authored-by: coco875 <59367621+coco875@users.noreply.github.com>
Co-authored-by: Adam Bird <archez39@me.com>
2024-11-15 03:02:20 -07:00
MegaMech 475f167bb2 [modding] Big Update PR (#118)
* Implement kart vehicle

* Fix menu CC

* Actors

* variable framerate

* Implement Actors vector

* Fix water & scrolling textures

* Finish ACoin

* Refactor finishline

* Refactor mtx to vector

* Fix refactored screen code bugs

* Fix playlist bug

* Switching courses working now

* Fix podium ceremony

* Mostly Fix Demo and Credits

* Credits Load Actors and Textures

* Fix credits

* Formatting

* Update lus and torch

* Fix water features

* Fix crabs

* Combine function

* Fix wheels

* Add Moon Jump Cheat

* Wheel Change

* Fix smoke due to wheel change

* Fix screens for wheels

* Fix transparency

* Fix staff ghost

* Fix lakitu transition widescreen

* Rename and export credits text

* Fixes

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2024-11-14 23:32:55 -07:00
coco875 b36b9e3180 [enhancement] Disable Culling (#58)
* less intrusif possible way to disable culling

* forget cloud and star

* some change and add gFarFrustrum

* reduce range of gFarFrustrum

* minor rename of a CVar

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2024-09-10 16:20:55 -06:00
MegaMech 47e95c0e18 [enhancement] Freecam (#56)
* Create noclip.c

* Create noclip.h

* Update camera.c

* Update render_courses.c

* Update ImguiUI.cpp

* Freecam Done

* Add smoothing to window

* Update freecam

* focus  player

* fix

* Update freecam.c

* Update freecam.h

* Update render_courses.c

* Update FreecamWindow.cpp

* Update Engine.cpp

* Move vars

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2024-09-10 16:19:19 -06:00
coco875 a1f0d32d66 Update decomp clang (#67)
* 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)

* fix course (#659)

* fix typo debug (#660)

* fix typo data (#661)

* 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

* update libultra asm (#648)

* update libultra asm

* fix gcc __osThreadTail

---------

* 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

---------

* 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

---------

* Update linkonly_generator.py (#670)

* format more file

* update

* fix compilation issue

* remove course_metadata folder

* re add course metadata folder

* fix banshee bordwalk crash

* fix windows eurk

* Update CMakeLists.txt

---------
2024-08-27 17:47:39 -06:00
MegaMech 532ad5a4c0 Renames & seg 3 & 5 texture fixes (#19)
* Remove tools/torch

* Auto compile torch and extract

* Re-implement soh's implementation of lus implementation of an array

* Fix static actors in mr

* Update

* Updated torch

* Updated lus

* uncomment

* Fix collision

* Renames

* More renaming

* Collision Renames

* Update collision.c

* Collision Documentation (#640)

* Collision related renames

* Update

* update lus

* Bug fixes

* remove tabs

* fixes

* fixes

* Fix kart textures

* Networking

* net

* Add networking

* Update

* Cleanup

* Fix balloon rendering

* Fix lakitu and red shell

* fixes

* Implement new random system

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2024-07-26 11:29:35 -06:00
KiritoDv 1fbf28a78d Fixed more errors, we are rendering the logo, Yay 2024-05-03 18:20:20 -06:00
MegaMech 65dfeded8c Update main.h 2024-05-03 15:33:22 -06:00
KiritoDv a2c3feb67a WIP Compilation 2024-05-01 10:09:49 -06:00
MegaMech 7a10ba89f6 Header cleanup and some renames (#616)
* Place macros for addr conversions

* dl renames

* fixes

* changes ok

* Delete types.h

* move enums
2024-04-20 19:10:53 -06:00
MegaMech d9c1ebb626 Initial gcc Support (#568)
* Added GCC
2024-04-15 10:53:58 -06:00
coco875 2b66867af1 Rename cpu behaviour related symbols (#586)
* Rename cpu related symbols
2024-04-06 11:35:13 -06:00
MegaMech c4d596d297 trig tables shiftable (#596) 2024-04-05 21:42:14 -06: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
MegaMech c2d7f1077c Match (#562) 2024-02-05 17:07:30 -07:00
coco875 03843d77fe some const placement and one rename (#529)
* some const placement and one rename
2024-01-06 07:46:59 -07:00
coco875 7c44252daa Finish bss (#527)
* Finish importing bss
2024-01-02 14:53:51 -07:00
coco875 98474c5b94 fix todo, bug not appears and change theme (#525)
* fix todo, bug not appears and change theme

* fix warning
2023-12-31 19:56:14 -07:00
Tyler McGavran cbe41239d7 More audio stuff (#488)
* Match create_next_audio_frame_task

Required some variable renaming and other changes

* Match synthesis_execute

I'm not entirly sure about the way we have stuff ifdef'd in
 PR/abi.h. I feel like we're doing something slightly wrong there


* Match synthesis_do_one_audio_update

There's something super fucked with the way our ifdef's work in
 abi.h. It is going to demand a lot more attention sometime in the
 future.

* Rename a couple functions

Also had to hack up the ABI file a bit. I'm convinced that we
 don't need nor want to have the EU/Shindou/US split thing the
 SM64 code does. There's probably just the 1 ABI version being
 used and we need to figure out what it looks like

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-11-07 20:38:25 -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 7f14bf80df Rename wayPoint to waypoint (#448)
* Rename wayPoint to waypoint

* other
2023-10-09 20:46:56 -06:00
coco875 f4fc23bada Header & General Cleanup (#431)
* Header cleanup
2023-09-20 11:59:55 -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
AloXado320 3f221d6f25 Label mtx variables in GfxPool (#424) 2023-09-17 16:39:25 -06:00
MegaMech 4ee09e005f Import bss for audio and elsewhere (#416) 2023-09-12 19:43:54 -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 05d3636835 Label memory allocation with proper size (#388)
* Renamed D_8015F734 to FreeMemoryResetAnchor
2023-08-28 12:14:19 -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 6e3f6aee63 Matched some funcs (#378)
* Matched code
2023-08-22 19:12:51 -06:00
MegaMech 27af470a46 Bumped Total Progress Script by 1.04% (#371)
* Matched camera.c
2023-08-15 13:07:23 -06:00
MegaMech de5c688e42 Add crash screen enhancement (#360)
* Add crash screen enhancement
2023-08-09 18:51:37 -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
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
MegaMech eda4a3f117 Various documentation (#309)
* Various matches

* Various documentation

* fix
2023-04-18 22:31:05 -06:00
MegaMech fb7c3bce61 Various matches (#304) 2023-04-10 01:40:47 -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 1897d232a6 Add lots of headers (#252)
* Add a lot of header files

Did my best to move all relevant function prototypes and external
 variable declarations into the header files too.

Matched a few functions in the process

* Updated progress.py

Some of the listed files/folders have been deleted/renamed,
 so I reflected those changes in progress.py

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-08-25 17:57:58 -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
tehzz 40bb0154a8 Decomp menus.c (#229)
* update m2ctx to make N64 sgi context

* finish decomping menus.c
2022-07-05 19:01:42 -07:00
tehzz 132db50245 Split and Decompile Code_800AF9B0 (#228)
* change return type of func_8000546C

* try to fix submodules

* update asm_processor for new ASM directives

* split code_800AF8B0 into 3 files; move rodata into files/asm

* move rodata into code_800AF9B0 asm funcs

* decomp func_800AF9E4

* match 800AFF58

* merge in master (renamed code_800AF9B0.c to menus.c)

* revert menus.c back to code_800AF9B0.c

* add bss to code_800AF9B0

* rename code_800B0350.c to menus.c

* remove unused ALIGN macros
2022-06-22 19:21:29 -07:00
Tyler McGavran 84cb46c0e5 Update and add some header files (#205)
* Update header files for main, memory and math_util

* Required updating func_802A82E4 to keep the match

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-20 18:51:56 -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
CoderStig f959f03184 Matched some memory.c and other (#55)
* Matched some memory.c

* And more
2021-11-16 02:39:33 -07:00
CoderStig dc1525c157 main.c full match (#46)
* main.c full match
2021-10-29 23:26:43 -06:00
Duncan c30ebc31e7 Matched config_gfx_pool and rendering_init (#17)
* Match config_gfx_pool

* Label function and remove non-matching asm

* Match rendering_init

* Remove warnings from previous work

* Label offsets as per sm64
2021-03-04 21:51:20 -07:00
CoderStig 5ef48aa2eb Refresh 1 2021-03-02 01:48:17 -07:00