Commit Graph

54 Commits

Author SHA1 Message Date
MegaMech 32632cacdb Impl new intro (#193)
* Update menus

* Update CMakeLists.txt

* Add Ship

* Impl hm ship actors

* Update HM course

* Impl new intro

* Finish intro scene

* Rename

* Start Editor Work

* raycast works

* Fix ScreenRayTrace in widescreen

* Basic Actor Picking

* wip

* Editor use vtx collision

* gizmo work

* otr works for object picking

* Impl objects for editor

* actor init

* Update

* Add all axis move (freemove)

* Docking Windows works here

* Setup imgui layout for editor

* Editor Snap to Ground works

* Basic Scene Explorer Works

* Editor get actor names

* Impl editor object names

* impl Editor Play and Pause buttons

* Editor translate works while paused

* Fix freecam lighting

* Added adjustable track properties to editor

* Editor matrix, icons, rotation, impl light

* Setup Track Properties 1

* Editor tooling wip

* Load modded o2rs

* Don't enable hud if editor is enabled

* Updates

* SceneManager nearly working

* Fix mario kart 64 intro logo sizing

* Fix Rotator

* Finish new matrix translation code

* Cleanup headers

* Cleanup

* Cleanup 2

* Cleanup 3

* Prevent divize by zero crash

* Add visible circle for translate in all axis

* Editor scaling/rot works properly now

* Scale All_Axis evenly

* Fixes to includes to work on Linux.

* Removed overfilled arguments in gfx_create_framebuffer()

* Added missing function definitions to Game.h

* Editor sun face the camera

* Add rotation model to gizmo

* Add new handles

* Failed attempt at transforming collision

* Impl water volume

* Import fast64 paths

* water surface

* Scene Setup 1

* Custom Track O2R almost working needs testing

* Custom Track Load path O2r

* Render custom track. Wip collision

* Add missing function

* Debug Spawning Custom O2R Track

* Import courses working now

* Fix memory leak

* Remove New Track Button

* Engine.cpp more consistent with sf64

* Fix Editor Enable Button

* Editor Accurate mouse click drag objects

* Editor selects closest object and cleanup

* Gizmo rot and scale collision working

* Remove constexpr from IRotator

* Impl properties for location/rot/scale

* Better Properties display, swap rot handles

* Fix content browser dock and editor now disabled by default

* Remove GameInfoWindow, Multiplayer Button, and FPS Slider

* Disable Editor when its disabled

* Add new logo to hm intro

* Fix pause menu item box cursor

* Remove minimap from Course::from_json and to_json

* Impl Import Minimap

* Fix custom minimap rendering

* minimap uses extension .png

* Refactor minimap

* Freecam only for player 1

* GrandPrix Balloons work in custom track

* Track Id is now std::string and outside of Props

* Moved editor assets to be included in ship.o2r

* Fixed GenerateO2R to package the correct folder and save to the correct filename

* Linux specific changes.

* Added "#include <stdio.h>" that required them
* Changed how the "ship.o2r" file is loaded to allow it to load the file from within appimages.
* Changed the Linuxdeploy version to avoid errors later when the Github Actions creates appimages(same fix applied to other ports.)

* Revert "Moved editor assets to be included in ship.o2r"

This reverts commit 05704c01f7.

* Added back files(this time without LUS changes)

* Changed workflow file to use correct filename for assets file.

* Missed a few spots in the workflow file.

* Added .desktop file and made corrections to the main workflow.

* Added the rest of upstream CMakeLists.txt

* disabled USE_NETWORKING

* New InverseMatrix

* Renamed both .o2r files to be more accurate to its contents.

* Reverted CmakeList.txt

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
Co-authored-by: sitton76 <58642183+sitton76@users.noreply.github.com>
2025-05-14 18:30:32 -06:00
MegaMech e993944089 Finishwide screen. Impl IVector2D MinimapDimensions 2025-01-05 12:26:27 -07:00
MegaMech 3cdffe421b Big 19750 renames 2024-12-31 13:04:39 -07:00
MegaMech 93973e08c3 First batch of widescreen fixes 2024-11-20 12:30:04 -07: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
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 c270c11c9b Lakitu fix (#35)
* Fix menu bug

* Fix undefined behaviour

* Fix kart textures

* Fix boost texture

* Rename as per review

* Fix buffer overflows

* Fix lakitu progress

* Fix race starter character

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2024-08-03 20:57:07 -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 a2c3feb67a WIP Compilation 2024-05-01 10:09:49 -06:00
MegaMech d9c1ebb626 Initial gcc Support (#568)
* Added GCC
2024-04-15 10:53:58 -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
Tyler McGavran b0653d7416 A couple matches in code_80057C60 (#569)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
Co-authored-by: Taggerung <tyler.taggerung@email.com>
2024-02-22 12:15:52 -05:00
Tyler McGavran 49ab41f0c5 A match in code_8006E9C0 (#573)
Also updated ctx_includes to match the current state of the
 repository (primarily fixing the trig_table include location)

Signed-off-by: Taggerung <tyler.taggerung@email.com>
Co-authored-by: Taggerung <tyler.taggerung@email.com>
2024-02-14 19:16:54 -05:00
coco875 d6663422b0 fix warning, type and document audio (#559)
* Document audio

* Update external.h

* fix warnings

* put a do while on one line
2024-02-13 07:27:58 -07:00
Tyler McGavran e63ea937d2 Match a couple functions (#558)
The matches in code_80057C60 required changes to several other
 function signatures. Thankfully that didn't cause any problems
2024-01-21 19:11:13 -07:00
coco875 6716570e2a Rename some Object related function and property (#531)
* rename some variables
2024-01-17 15:10:26 -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
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
Tyler McGavran c3975f2865 Cleanup some references to fake variables (#520)
* Cleanup some references to fake variables

* Some matches, header stuff, and updated a BSS file

Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-12-30 20:07:04 -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
Tyler McGavran 0f3bc7ca1a 3 matches in code_80057C60 (#480)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-11-02 22:09:47 -06: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
Tyler McGavran a870180a2c Couple matches (#466)
Removed some things from variables.h and functions.h

Added headers for some src/data files
2023-10-18 23:19:07 -06:00
MegaMech 7f14bf80df Rename wayPoint to waypoint (#448)
* Rename wayPoint to waypoint

* other
2023-10-09 20:46:56 -06:00
coco875 d8cfed9491 Various Naming (#445)
* Mass renames
2023-10-07 16:31:48 -06:00
coco875 2f583fdb42 cleaning camera, kart_dma, menu, math_util (#436)
* cleaning camera.h

* cleaning math_utils.h and remove space

* cleaning kart_dma

* cleaning menu.h
2023-09-22 22:00:30 -06:00
coco875 f4fc23bada Header & General Cleanup (#431)
* Header cleanup
2023-09-20 11:59:55 -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
AloXado320 3f221d6f25 Label mtx variables in GfxPool (#424) 2023-09-17 16:39:25 -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
Tyler McGavran 9c661125be Small matches, nothing super special (#400)
Signed-off-by: Taggerung <tyler.taggerung@email.com>
2023-09-05 15:49:55 -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 e57133e59f Matched staff_ghosts.c and doc for podium_ceremony_actors.c (#365)
* Matched staff_ghosts.c

* More podium_ceremony_actors documentation
2023-08-11 13:21:17 -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
Matthew 21a5645e12 More matches in code_80057C60 (#351)
* Some matchings for code_80057C60

* Remove matched assembly
2023-08-08 13:05:58 -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
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
MegaMech 779ae6f6f1 Item & Various decomp (#311)
* Item & Various decomp
2023-06-16 10:30:39 -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 533d035875 Some assorted matches (#289)
Also renamed a couple variables

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2023-01-31 07:02:40 -07:00
Tyler McGavran c705bc4a6a Lots of matches related to the object list (#284)
Identified a couple more lists of object list indices, added some
 comments indicating what they're used for. Those comments are
 most likely non-exhaustive so there's still some investigation
 to be done there.

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-12-28 20:19:11 -07:00
Tyler McGavran eeab33814d Yet more assorted matches (#278)
* Yet more assorted matches

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-11-29 18:03:40 -07:00
Tyler McGavran 1483ddaa03 Matches and m2c refreshing for code_80057C60 (#266)
* Matches and m2c refreshing for code_80057C60

* Convert some Vtx's into a Mtx

Based on the usage of D_0D008E98, it seems like it should be a
 Mtx. So this commit changes some Vtx's into a Mtx

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-10-19 22:00:45 -06:00
Tyler McGavran 2c57c81f3a Match the rest of actors.h (#254)
* Matched rest of actors and more

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-09-08 16:19:53 -07: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