summaryrefslogtreecommitdiff
path: root/include/actor_types.h
AgeCommit message (Collapse)Author
2026-07-20Fix warnings regarding ambigious typings (#715)Lucas
* Fix warnings regarding ambigious typings * Revert struct Collision name change
2026-05-03Fix 32 bit (#697)coco875
* try x86 * ci: uniform build-linux-release-docker and their x86 * Update main.yml * fix animation Co-Authored-By: Alessio Tosto <rinnegatamante@gmail.com> * add explanation * add windows 32 in release * Update windows-compile.yml * fix windows compilation * fix win32 windows * Update libultraship --------- Co-authored-by: Alessio Tosto <rinnegatamante@gmail.com>
2026-02-24Impl Sky and SkyActors (#630)MegaMech
* Create Cloud.cpp * Create Cloud.h * Fix the cloud * Cleanup * More cleanup * Update Track.h * Refactor SkyboxCloud position calculations * Update SkyboxStar.cpp * Update SkyboxStar.cpp * Refactor SkyboxStar.cpp by removing redundant code * Update SkyboxCloud.cpp * Refactor SkyboxSnow.cpp by reordering includes * Update SkyboxCloud.h * Refactor SkyboxStar.h for improved formatting * Impl skyboxcloud * Update comment * update comment * Work now * Fully impl Sky * Fix define * Fix args
2025-12-16Impl Triple Shells, fix CPU items (#597)MegaMech
* Impl triple shell * CPUs can throw greenshells backwards --------- Authored-by: Luiz Henrique <luizlink64@gmail.com>
2025-11-09Implement SpawnParams struct (#536)MegaMech
* Impl SpawnParams * Added json submodule * Update json * Update * Works * Remove comment * Works refactor * Snowman and thwomp working * Impl hot air balloon * More progress * All OObjects are done * cleanup * Refactor 2Dpath to normal path * Update nlohmann json & fix compile * Rest of actors * MORE CHANGES * Finish actors * Done PR, some fix to collision viewer * Impl falling rocks * Add const * wip editor refactor * Property work * continue * Overridable editor properties * Actor saving/loading works now * Fix light alignment * Clarification * Impl penguin * params impl signs * properties impl falling rock * More property impls * impl air balloon * Add spawnParams to OObject Translate * Snowman translate better * impl hedgehog properly * properties impl trophy * thwomp progress * Finish impl properties * Fix compile * Fix cursor collisions * Move registered actors * Rename pathPoint XYZ to xyz * Fix editor pause bug * Clean up * Review comments * Remove SpawnParams struct from actor classes * Rename * Player Label First Iteration * Work now * Working 3d text * Fix boo bug * Finish AText actor * Fix spawnparams compile * Register AText * Finish Text Actor * Fix thwomp interpolation * Fix compile * Fix crab and hedgehog * Fix loading flagpole * Fix Hot Air Balloon * Turn zbuffer on for AText * Update --------- Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-05-14Impl new intro (#193)MegaMech
* 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 05704c01f761baa67a83e357d9765f5c6b5e3fdb. * 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-01-23Game.cpp and World.cpp Cleanup (#159)MegaMech
* Remove CProperties and delete dup Properties from World.h * Improvement * Fix compile * Cleanup * Document gRaceState * wip cleanup * compile * Impl PlayerBombKart * Rename CourseManager_ to CM_ * Finish renames m_ to CM_ * cleanup * Remove extra printf --------- Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2024-11-14[modding] Big Update PR (#118)MegaMech
* 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-10-15[modding] Implement Vehicles & Fix Animations (#109)MegaMech
* Train works * Fix minimap * Fix highway * Fix * Refactor train and boat * Update * Implement Trucks * Fix tanker * Finish implementing vehicles * Fix animations * Fix spawn players * Fix spawn players * Fix loading custom data --------- Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2024-08-27Update decomp clang (#67)coco875
* 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-05-01WIP CompilationKiritoDv
2024-04-03move actors code in actors folder and rename thing related to actor (#584)coco875
* Move actors into their folders * Renamings and documentation
2024-04-02Remove inc from linked file names (#593)MegaMech
* Remove inc from linked file names
2024-03-04Document render/update objects (#565)coco875
* Document objects related code. * Including render/update objects code * Various renamings
2023-09-19some renaming (#419)coco875
* Renames
2023-09-08Cleanup undefined_syms for all the course data (#407)Tyler McGavran
* 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-08Match bss for code_800029B0 and clean headers (#406)MegaMech
* Match bss for code_800029B0 and clean headers * Fix dvdl and a warning
2023-08-22Matched some funcs (#378)MegaMech
* Matched code
2023-08-04very cool debug display list (#348)tomas
* added a very cool debug display list ^^ (prints variables to screen) * Decompiled various functions
2023-06-28Cleaning Up Warnings (#317)MegaMech
* Update mk64 makefile to reflect sm64 makefile * print func matches and fix some warnings
2023-06-28Make adjustments to most course files (#318)Tyler McGavran
* 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-04-07Match memory.c, remove warnings, fix fake matches (#301)MegaMech
* Match memory, remove warnings, fix fake matches * label switch
2022-09-08Match the rest of actors.h (#254)Tyler McGavran
* Matched rest of actors and more Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-07-27Add structs for "vehicle" types in 80005FD0 (#248)Tyler McGavran
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-06-11Match all but one function in code_802B0210.c (#217)Tyler McGavran
Required getting the .rodata for that file correct too. Matched a couple other funtions here and there as well. Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-20Update and add some header files (#205)Tyler McGavran
* 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-19Update gitignore & match more actor funcs (#206)MegaMech
* import random_u16 to sm64 * rand math decomp * Match func_80298AC0 * Match some actor funcs * Renames * update gitignore for .bin textures * update player struct member 34 to Vec3f * Named and documented actor destroy funcs
2022-05-19import random_u16 to sm64, match random_s32, and match actor func (#203)MegaMech
* import random_u16 and atans from sm64 * rand math decomp * Match func_80298AC0
2022-05-18Match func_802B0570 and fix BananaActor (#204)Tyler McGavran
I misunderstood how unions worked. In order to accomplish the original goal, the 3 named s16's need to be in a struct instead of just floating around. Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-16Identify some Actor count variables (#202)Tyler McGavran
* Identify some Actor count variables * Match place_all_item_boxes Also more accurately define the UknownRock struct. Some of the track specific data is spawning points for the "permanent" actors (stuff like falling rocks, shrubbery, item boxes, etc.) Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-14Give a name to the list of actors (#200)Tyler McGavran
Add a define for the size of the actor list, and add a comment cautioning people about how to appropriately interact with the specialized types. Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-14Memory and Actor decomp (#201)MegaMech
* Decomp more actors * Added editor config to prevent clrf * Memory and actor decomp * Update code_80296A50.c * Update code_80296A50.c
2022-05-13Decomp more actors (#198)MegaMech
2022-05-11Added more actor types and some defines (#194)Tyler McGavran
* Added more actor types and some defines Also adjusted the generic Actor struct to have some of its members have names that are generally reasonable for all types of actors Added a union to the BananActor struct, makes accessing the `rot` member and the overlapping id/index members more sensible Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-06Add some more actor types, match a function (#191)Tyler McGavran
* Add some more actor types, match a function * Identify the boundBox member of the Player struct Note that while the `flag` members are signed, they should be understood as just a group of bits. Based on some googling around (see https://stackoverflow.com/a/11644749) the operation `thing.flag |= 0x8000` is NOT undefined behaviour, even though that is setting the sign bit. The numerical interpretation of the result as a signed number is implementation defined, while the actual operation acts on the bit representation of the number. Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-05-04Add types for shell and triple shell parent (#190)Tyler McGavran
Match a function and refresh m2c output for functions that handle (triple) shells Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
2022-04-26Actor decomp (#183)MegaMech
* Actor decomp
2021-11-23Added gamemode and CC defines (#64)CoderStig
* Added gamemode and CC defines
2021-11-05Split asm using autodecompiler (#49)CoderStig
* Split asm using autodecompiler * Placed libultra bss and linked more C