summaryrefslogtreecommitdiff
path: root/src/actors/green_shell
AgeCommit message (Collapse)Author
2026-09-16Mechanical compiler warning cleanup across the game C code (#691, 2 of 3) (#736)quarrel07
* spawn_players: cast player flag combinations to s16 explicitly The PLAYER_* flag defines OR into values with bit 15 set; assigning them to s16 fields wraps to the intended negative value. The casts make that explicit (82 warnings, no behavior change). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * render_objects: mechanical warning cleanup uintptr_t casts for display list macro args, u8* casts for asset name pointers, UNUSED on decomp-preserved dead locals and params, one loop index sign fix. 75 warnings, no behavior change. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * update_objects: mechanical warning cleanup (42 warnings, casts and UNUSED) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * menu_items: mechanical warning cleanup (50 warnings, casts and UNUSED) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * stubs, kart_dma: mechanical warning cleanup (43 warnings) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * code_80057C60, audio/external: mechanical warning cleanup (113 warnings) Includes two decomp artifacts worth noting: a comma operator inside an array index ([0, soundIndex] indexed only soundIndex) and a no-op for init clause, both formerly needed for byte-matching. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * some_data, actors, code_8006E9C0, code_80005FD0, main, render_player, mixer, skybox, load: mechanical warning cleanup (111 warnings) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Remaining game C files: mechanical warning cleanup to zero Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Format the changed lines per .clang-format Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * ending: fix the bcopy shim reversing its arguments The port shimmed bcopy to memcpy, but bcopy takes (src, dst) and memcpy takes (dst, src), so every call through the shim copied backwards. The one call site is the debug character switch in the ceremony cutscene, which is meant to reset gCharacterIdByGPOverallRank to defaultCharacterIds. Instead it overwrote the default table with the current standings, so the reset never happened and the defaults were clobbered for later use. Reachable only with gEnableDebugMode on and all D-pad plus C buttons held. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Address review: delete dead port helper, widen D_8015F718, comment out size lookup get_texture2 was port-added and has no callers, so it goes away rather than wearing the decomp UNUSED tag. D_8015F718 holds pointers, so it is uintptr_t now. The kart_dma size lookup is commented out instead of annotated. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * menu_items: replace func_80097274 with the matched decomp version Straight copy of the matched function; the NON_MATCHING guard and GLOBAL_ASM fallback go away with it. The matched body also uses the (u32) comparison forms, which keeps it warning-clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Update menu_items.c * Address review round 2: audio loop form, cast collapse, dead code removal func_800C3478 takes the while form; the (s8*)(u8*) stacks collapse to one cast (40 sites); func_800BA8B0 and clamp32 go away (no callers); gCourseOutlineTextures is const char* so its casts vanish; the podium test line and render_screens matrix line are gone; set_screen keeps its refactoring breadcrumbs commented out; the display-list walker is reverted to the vanilla form as requested, which brings its one shift-negative warning back; gCurrentlyLoadedTrackAddr defaults to 0. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Address review round 3: endianness.h byteswap, size_t indices, stub pragma BSWAP16 now comes from libultraship's endianness.h on little-endian targets, whose builtin returns u16 and needs no casts at the data.c initializers. The intrinsic pragmas leave the repo. Actor and save loops index with size_t instead of casting their bounds. stubs.c silences unused parameters once for the file instead of tagging every signature. spawn_player takes s32 and casts once inside, dropping 82 call-site casts. The item window arrays are const char* end to end, race_begin_viewport loses its unused mode argument, mio0encode takes uintptr_t, and the neon TLUT math is written in bytes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * data.c: use BOMSWAP16_CONST in the static envelope initializer MSVC's _byteswap_ushort is a function call, not a constant expression, so the plain BSWAP16 broke every Windows build at this initializer. The _CONST variant is the manual shift form on MSVC and the same builtin everywhere else. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Address review round 4: single BSWAP16 home, mixer arg refactor, stragglers effects.h includes macros.h instead of carrying its own BSWAP16 copy. mixer.c drops its unused arguments and locals outright, with the ABI macros absorbing the removed parameters the same way they already absorb pkt. func_8028EC98 takes no argument, the fourth intrinsic pragma leaves math_util_2.c, the backup checksum loop joins its siblings on size_t, and two leftover casts and an UNUSED go away. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * ending: back out the debug-print cast for #745 The int-to-pointer warning it silenced returns until #745 reworks this code. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * effects.h: drop the include annotation Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Retrigger CI after runner disconnect * mixer: restore the Impl signatures and suppress the unused-parameter warning instead * Clean up unused variables in code_80005FD0.c Removed unused variables and assignments in CPU behaviour code. * Remove unused camera variable from function Remove unused camera variable in look_behind_toggle function. * Update comment for bcopy and memcpy clarification Clarified comment about bcopy and memcpy usage. --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2026-07-22Refactor cmake (#721)coco875
* some start of refactor * Update SetFlags.cmake * Update SetCmakeVar.cmake * Update SetFlags.cmake * Fix error int-convertion * more refactor * clean up include and source file * fix link of lib * fix a warning * fix include in src/actors * fix include in src/debug * fix include in src/ending * fix include in src/engine/actors * fix include in src/engine/cameras * fix include in src/engine/editor * fix include in src/engine/objects * fix include in src/engine/tracks * fix include in src/port/ui * fix include in src/racing * fix include in src/engine/vehicles * fix include in subfolder of src/engine * fix include in src/engine * fix include in src/enhancements * fix include in src * fix switch * invert common and findlib * Update SetFlags.cmake * clean up some workflow * some splification * Update build.sh * Update Game.h * add header back * Delete test_check.cmake * continue * Update common.cmake
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-12-07Name ScreenContext, Refactor Course class to Track (#583)MegaMech
* Rename Screen Contexts * typedef ScreenContext struct * Fix Compile * Rename Course.cpp to Track.cpp * Refactor Course to Track * A few renames * General Cleanup * More Rename * More names * Move TrackSections struct to Track.h --------- Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-12-07Refactor yaml and remove segment (#531)coco875
* move yaml (still need to fix header path) * fix header * change kart to karts and add migration * fix include * Update migration.py * fix common_texture_debug_font extraction * Update torch * update torch and header * unduplicate texture for tumble * Update torch * Update migration.py * put the sort by default * fix replace_segmented_textures_with_o2r_textures * Update torch * fix yamls * add manual_segments in data of course * comment out replace_segmented_textures_with_o2r_textures and segment 3 * remove segment 5 * (wip) remove segment 6 still plenty of thing to do * more vtx * more change * Update torch * small fix * Update BansheeBoardwalk.cpp * fix blockFort * Delete test.yaml * fix bowser castle and simplify track sections * fix choco mountain * clean banshee * fix dk jungle * fix double deck * fix macos * fix error * fix macos ci * Update torch * Update torch * fix frappe snowland * fix kalimari desert * fix koopa troopa beach * fix luigi raceway * fix mario raceway and simplify thing * fix moo moo farm * fix rainbow road * Update torch * Update torch * hopefully fix windows error * fix a small error * fix royal raceway (and podium in theory) * fix sherbet_land * fix skyscraper * fix toads turnpike * fix wario stadium * fix yoshi valley * update torch * more clang tidy rules * REMOVE totally SEGMENT (sorry for the PR) * remove unused field in course and props and unused packed asset * fix kart texture * fix particle * fix track section and transparency * try fix mode extra * fix macos build and render * fix collision in extra * small change and try fix windows error * a little of clean * more cleanup * forget header and more clean up * Update Makefile * fix credits * fix kart texture offset * remove LoadTextures and add Unload * fix definitevely mirror mode * add unload but it's not perfect * revert a bad fix * clean no longer used python script * fix crash with player * being able to load the same course twice * add a comment on DrawWater * fix render of transparent object * better hack * add a proper migration instruction * fix number * add basic modsmanager * add meta/mods.toml * Update EditorMath.h * Update ModsManager.cpp * basic modManager (maybe I should rename it ModLoader) * use range on dependencies * add information about mods.toml * fix coment * some rename around * Delete beta-to-v1.md * Update migrations.md * Update textures-pack.md * Update modding.md * Update modding.md * clean yamls_old * move to mods in engine * rename ModsManger to ModManager * move init and unload at the top * rename ModsMetadata to ModMetadata * fix header * Update ModManager.cpp * put core mods at top
2025-06-19pr Code 80005fd0 (#181)coco875
* fix error * a lot of change * basic rename of local variable * continue rename and improve Enhancements * re-apply change * revert the remove of dma_texture and fix mtxf_multiplication * more documentation port * some fix * more fix * fix arround * Update torch * fix spelling --------- Co-authored-by: MegaMech <MegaMech@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-21Fix clang compiler issuesGarrett Cox
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-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-07-26Renames & seg 3 & 5 texture fixes (#19)MegaMech
* 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-05-01WIP CompilationKiritoDv
2024-04-20Header cleanup and some renames (#616)MegaMech
* Place macros for addr conversions * dl renames * fixes * changes ok * Delete types.h * move enums
2024-04-16fix a lot of warning in code (#598)coco875
* Fix warnings * Fix building
2024-04-09Add ymls for Torch code generator (#497)MegaMech
* Add torch * update jenkinsfile
2024-04-03move actors code in actors folder and rename thing related to actor (#584)coco875
* Move actors into their folders * Renamings and documentation