summaryrefslogtreecommitdiff
path: root/src/menu_items.c
AgeCommit message (Collapse)Author
3 daysMechanical 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-08-15Fix menu fizzle-out transition ending instantly (#747)quarrel07
The decomp zeroes the slot-4 transition timer when starting the fizzle-out (D_8018E7E0 = 0, the scalar that the gCurrentTransitionTime[4] out-of-bounds index lands on). The rename in #309 turned that into gCurrentTransitionTime[4] = arg0, which starts the timer at the full duration, so the first frame sees it expired and completes the transition immediately. Restores the dissolve when backing out of the menu and lets the back sound play out.
2026-08-01Fix the warning-flagged real bugs across the codebase (#691, 1 of 3) (#725)quarrel07
* menu_items: fix the real-bug-tier compiler warnings (#691 batch 1) Six fixes, all in menu_items.c, all verified by menu playtest on macOS: - BSWAP16(*color0++) advanced the pointer twice per pixel on little-endian builds (the macro evaluates its argument twice) and mixed bytes from two different pixels. Read first, increment separately. Note: this function (func_8009A9FC) currently has no callers, so the corruption was latent, not live. - func_8009B9D0 fell off the end on a lookup miss, returning garbage (the existing code comment already suspected this). The miss path now returns the display list head unchanged, i.e. draws nothing. - update_ok_menu_item read an uninitialized stack slot for unknown menu item types; now selects an explicit no-animation value, matching what the garbage read did in practice. - pause_menu_item_box_cursor: removed the three empty 'if (x2);' matching artifacts. The x/y/z spin state itself is untouched. - func_800A1FB0: initialized var_s4/var_s5 against the guarded-but-warned switch default. - func_800A54EC: initialized the pause cursor position pointer against its unreachable mode-switch default (would have been a null-deref class bug if mode values ever grew). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * collision: define the G_ENDDL opcode shifts, return 0 when no tyre surface found Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * replays: cast staff-ghost pointer comparisons, return 0 for empty ghost buffer Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * update_objects: return 0 from conditional step helpers, fix TLUT pointer comparison, init train draw distances Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * render_player: remove the impossible lamp range (vanilla bug, never glowed on N64 either) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * math_util_2: return the vector, not the address of the parameter slot Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Crab: remove inner declaration shadowing the initialized objectIndex Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * editor: honor InverseMatrix failure (bool was compared against 2, always true) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Track.h: drop dead null checks on array members Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * shells: drop always-true angle and surface gates (behavior unchanged, s16 made them tautological) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * particles: make the no-return particle setters void Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * effects/stubs/skybox/main: align signatures with functions that return nothing Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * menus/save: type the pak status variable as s32, return BAD_READ on the fall-off path Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * audio: remove uninitialized-read matching artifacts, init isSound Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * code_80005FD0/code_80086E70: init dead bomb kart pointer and the no_init variable Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * port/engine UI: fix printf-style format types and non-literal format string Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * render_objects: feed the unused texture param to the uninitialized img walker 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> * Address review: strip explanatory comments, drop vec3f pointer returns Comments moved to the PR record; the one flagged worth keeping stays. vec3f_set_xyz/normalize/cross_product return void now since the out argument is the interface and nothing used the pointer. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Update actors_extended.c * Add checkbox for 'Shells Shoot Straight' option * Update render_player.c * Update PortMenu.cpp * Update render_player.c * Update actors_extended.c * Update render_player.c --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2026-07-26Don't let the attract timer hijack an in-flight menu fade (#723)quarrel07
Pressing start on the splash screen in the last moments before the demo timeout could play the enter chime and then drop into the demo reel with no music: the attract timer (gMenuTimingCounter >= 0x12D) fired while the press-start fade was in flight and overwrote gMenuFadeType to the demo value, so the fade completed as a demo entry. Vanilla bug; roughly a 0.7-second window every attract cycle. Only arm the demo when no fade is in flight. A natural timeout (idle, no fade running) behaves exactly as before. Play-verified: start pressed repeatedly around the timeout boundary always lands in the main menu with music; the demo reel still plays when idle.
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
2026-07-20Fix widescreen letterbox/divider left-edge clipping on ARM64 (#709)quarrel07
* Fix widescreen letterbox/divider left-edge clipping on ARM64 The race-intro letterbox bars (draw_box_fill_wide) and the splitscreen divider lines fed the float OTRGetDimensionFromLeftEdge result into gDPFillWideRectangle, whose _SHIFTL packing casts float->unsigned. Converting a negative float to unsigned is UB: x86 wraps (and the wide-rect handler's sign extension recovers the value, so the bug is invisible there), but ARM64 fcvtzu saturates negatives to zero — so on Apple Silicon the fills started at the 4:3 left edge instead of the true left edge, leaving a strip of sky visible left of the intro bars in widescreen. Use the integer OTRGetRectDimensionFrom*Edge getters, matching the sibling draw_box_wide helpers. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Shorten the fix comment Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-03-02Update SkyActor.h (#666)MegaMech
* Update SkyActor.h * Update menu_items.c
2026-02-06Surround support (#642)tortugaveloz
* Added surround option. * Added surround effect. * Remove printf. * fix. --------- Co-authored-by: Lywx <kiritodev01@gmail.com>
2025-12-23invert condition in menu and some adjustement in interpolation (#611)coco875
* use more unique ptr and fix a shell crash * remove useless mods folder * add even more unique_ptr * Update KoopaTroopaBeach.cpp * restore a throw * Update Game.cpp * automatically create mods folder * fix oob in external by assuming that all 8 player can make sound * better texture loading * add destructor for gameobject * avoid out of bound in audio sample * Update FrameInterpolation.cpp * Update torch * invert condition * adjust interpolation
2025-12-13Refactor Track Class To Instantiate On Track Load (#587)MegaMech
* Initial Commit * First compilation of Registry template * Further changes * wip changes * Impl TrackBrowser and Registry Info * Remove const from TInfo * Prep GetWorld * Name refactor * Refactor gWorldInstance to GetWorld() * wip * Should work now * Data menu work again * Fix editor staying open after program close * Rename LoadLevel to LoadTrackDataFromJson * More changes * Add statue * Add search to content browser using tags * Fix statue pos and register tags * Fix actor loading * Fix delete all bug which deleted cameras * reduce some boiler plate in actor and object * Remove unused rulesets * Search bar for all tabs * fix data screen * fix actor spawning * temp editor fix * Clean up * improve extra mode transformation * fix podium crash * Fix editor clicking * Fix editor clicking 2 * fix extra in custom track * Fix FI for three actors * Fix divide by zero error * Ids managed by Registry * Add scary comment --------- Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com> Co-authored-by: coco875 <pereira.jannin@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-07Camera Refactor --> Adds Track Tour Camera (#568)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 * Camera Refactor * Camera Refactor Complete * Place Lookbehind behind a CVar * Make Tour CVar * Fix Tour Camera Billboarding * micro optimization * Impl tour cam in imgui editor and add to scenefile * As per review * Revert cleanWorld change as per review * Cleanup SceneManager * Func rename * Proper enabling of freecam and wip zoom fix * Couple fix * Fix credits * Fix podium ceremony * Stop music on reset & label new play sequence func * Rename func_800C8EF8 to play_sequence2 * Rename func_800CA414 to play_sequences * Fix compile * Label play_sequences * Clean up * Verify lakitu access * Renames * Fix tour enable logic * Add Audio * tour camera impl ending transition * As per review * Fix linux compile, probably * Update TourCamera.cpp * Update TourCamera.cpp * Update TrackProperties.cpp * Update TrackProperties.cpp * Update Game.cpp * Update SceneManager.cpp * Update camera.c * Update render_objects.h * Update render_objects.h * Update code_80057C60.h * fixing compile * addition --------- 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-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-09-23Added fades for 3P4P menuing (#543)Varuuna
* Added default menu transition for 3P4P options * Forgot to change the condition * formatting * Reverted change on single frame black Added comments
2025-08-07Combine Matrix Stacks & use std::deque Instead of std::vector to Prevent ↵MegaMech
Dangling Pointers (#525) * Update Matrix.cpp * Update World.h * Stak * Hopefully done with matrix --------- Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-07-28Better controller pak (#504)coco875
* try add a better save use https://github.com/sonicdcer/N64ModernRuntime/blob/controllerpakimpl/librecomp/src/pak.cpp as a ref Co-Authored-By: Alejandro Asenjo Nitti <96613413+sonicdcer@users.noreply.github.com> * update pak * Update save.c * Better controller pak with File deletion menu Co-authored-by: Dario <dariosamo@gmail.com> Co-authored-by: Mr-Wiseguy <mrwiseguyromhacking@gmail.com> * add gControllerPakScreen button * change assert(false) in pak.cpp --------- Co-authored-by: Alejandro Asenjo Nitti <96613413+sonicdcer@users.noreply.github.com> Co-authored-by: Sonic Dreamcaster <alejandro.asenjo88@gmail.com> Co-authored-by: Dario <dariosamo@gmail.com> Co-authored-by: Mr-Wiseguy <mrwiseguyromhacking@gmail.com>
2025-07-13Fix Cinematic Box for Failed GP & Fix 1 Pixel Gap In All Cinematic Boxes (#453)MegaMech
* Update menu_items.c * Update menu_items.c
2025-07-13Add version and debug state (#437)V10lator
* cmake: Correctly set PROJECT_VERSION This needs CI to adjust Signed-off-by: Thomas Rohloff <v10lator@myway.de> * Log version Signed-off-by: Thomas Rohloff <v10lator@myway.de> * Show version and debug state Signed-off-by: Thomas Rohloff <v10lator@myway.de> * Log debug mode toggling Signed-off-by: Thomas Rohloff <v10lator@myway.de> * Finish version string Signed-off-by: Thomas Rohloff <v10lator@myway.de> * Update CMakeLists.txt * Update CMakeLists.txt * Try to fix execute_process() from within CI Signed-off-by: Thomas Rohloff <v10lator@myway.de> * CI: Checkout with tags Signed-off-by: Thomas Rohloff <v10lator@myway.de> * Fix PR CIs, too Signed-off-by: Thomas Rohloff <v10lator@myway.de> * Add config button for version Signed-off-by: Thomas Rohloff <v10lator@myway.de> --------- Signed-off-by: Thomas Rohloff <v10lator@myway.de> Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-07-12Fix minor render issue in menu (#447)coco875
* fix menu texture * fix other text * junky fix * fix cloud to be png * fix cloud * Update menu_items.c --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-07-10port pr 730 from the decomp (#445)coco875
* port pr 730 from the decomp Co-Authored-By: Jed Grabman <7600154+jedgrabman@users.noreply.github.com> * rename file * small fix * finish fix time trial --------- Co-authored-by: Jed Grabman <7600154+jedgrabman@users.noreply.github.com> Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-07-06[Enhancement] Implement Digital Speedometer (#431)MegaMech
* Fix crash * Poorly document camera * Fix harder cpu items * Fix item * Prevent Rare Infinite Loop * Impl Digital Speedometer * Update PortMenu.cpp --------- Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-07-05Update menu_items.c (#417)coco875
2025-07-03Fix small mistake (#409)coco875
* Update other_textures.yml * Update menu_items.c * remove mkload --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-07-01make some texture more flexible and editable + port documentation from the ↵coco875
decomp + fix some bug (#309) * support a more flexible background * remove useless function * rename of some font * experimental png * migrate to the new initdata * fix skybox and adjust minimap * format in audio * simplify player render * simplify shell render and support custom texture of shell * clean redshell texture * format and multiple fix * some update of name * allow change icon of character * more rename * continue rename * more documentation and simplification * change lus and continue rename * continue rename * few fix for asan * fix ghost * Update menu_items.c * fix mac error * some test of tweak for texture * some tweak * some button constant * finish fix ghost * Update menu_items.c * Update render_objects.c * Update menu_items.c * Update libultraship * Update libultraship * Delete valgrind.report * Update libultraship * callgrind benchmark * Update valgrind_callgrind.sh * fix animation * some rename * remove useless submodule * Update libultraship * fix assets * fix mistake * fix more mistake * Update menu_items.c * sync more rename with the decom + fix review * fix a mistake * fix more mistake * re add the limit of fps * fix some hd texture and minimap * fix a name * Update menu_items.c * fix a regression * fix some segment 5 texture (not all) * Update camera.c * improve performance of custom sprite * fix flatten bug and add documentation on player vertex * Update render_player.c * fix data menu * fix trophy for 50 and 150 * Update memory.c * Update code_80057C60.c * fix ghost * fix boo tlut * fix a mistake in yaml * fix yaml * Update common_data.yml * add comment for segment 3 * allow even more change in texture * Update common_data.yml * Update update.inc.c * Update camera.c * Update some_data.c * wip changes * Update other_textures.yml * More changes * Update update_objects.c * Fix compile * Update memory.c * Update memory.c --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-06-27Update menu_items.c (#381)coco875
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-06-27fix dk and wario crash (#388)coco875
* fix dk and wario crash * Update menu_items.c --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-06-25fix trophy for 50 and 150 (#374)coco875
2025-06-20Pr before release (#239)coco875
* Fix match * Update torch * fix crash on texture of player * Copied stuff over for Window icon from Starship. * Missed comment. * Corrections. * Missed a file * min-max fix * Update code_80005FD0.c * Remove interpolation for hm_intro * look like to remove the crash in menu * Update menu_items.c --------- Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com> Co-authored-by: sitton76 <58642183+sitton76@users.noreply.github.com> Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-06-19Stop frame record on some stuff. (#225)sitton76
* Disabled recording frame interpolation on result print text. * Added check_if_recording() function to prevent cases of it recording while at 30FPS * Seemingly disabled kart minimap icons for frame interpolation. * Attempt to mitigate rare crash with printing text(unverified if this actually helps) --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
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-06-15Fix More Interpolation (#220)MegaMech
* Fix SetTextMatrix Interpolation (flashing text) * Interpolate pause menu item box * Interp mtxf_translation_x_y_rotate_z_scale_x_y * Fix billboarding for freecam * Fix menus battle mode back to grand prix bug * Fix snow interp * interp star clouds
2025-06-07Add Interpolation (#204)MegaMech
* initial work * more work * progress * Fixed slow fps * Add Lywx changes * Interp Works * Test default tick/logic update * Added missing include (#202) * Added missing include * More missing includes --------- Co-authored-by: MegaMech <MegaMech@users.noreply.github.com> * test * Revert "test" This reverts commit 1a810d74cc8531ce486bcb1c399cc6798fa1b51d. * Interp Item box * Actually interpolate item box * fix clouds * interp player? * Test 2 * Fix mistake * tag and fix item boxes * tag fake item box and whatever func_800696CC is * these aren't needed * tag karts * Slightly better falling rocks(still needs work) * Tag Smoke and Dust * Removed unneeded code from falling_rock * tag whatever func_80051ABC is * add missing rotate x coord * GrandPrixBallon/kart shadow * Green shells tag, and added comments I neglected to add before. * doesn't compile on win * Fixes * Disabled camera interpolation * Balloons fixes * progress * set_transform_matrix compiles * Compile setTransformMatrix * More transforms interp * Add more interps * matrix * Matrix multi interp * Fix interpolation camera bug * Missing includes needed for Linux. * Excluded access to HM64 Labs on Switch. * interpolation tags for various objects * Bowser castle statue flame interpolated. * tag hedgehogs * cloud interpolation * Interpolated smoke particles from shells * cloud interpolation refactor * Interpolated snowflakes * Interpolated penguins, also added comment tags to places I missed. * tag Snowman interpolation * Interpolated player reflection(sherbet land) * Forgot to uncomment stuff while testing * better tag * tag leaves * Set the default FPS to 30 * tag hud * Fixed "Match Refresh Rate" option * adjust draw distance * remove innecessary rock tag * rag rocks * better tag * Tagged player rank placement in HUD * Tagged Bat, Boos, and TrashBin(Banshee Boardwalk objects) * Refactor render_screens and fix editor raycast * better object interpolation * shift is not needed here * fix tag * fix tags * mole comments * comment * Changed how shell flames are interpolated. * interpolated ended scene fireworks. * Tagged star particles in the ending scene * Shell flames handled better. * this isn't needed * Fix multiplayer cameras * Fixed loading battle maps. * Tagged battle balloons * Some fixes for battle mode * No longer needed changes toAFinishline with the changes mega made. * Tag finishline * fix to make it compile with cmake 3.31 * changed mtxf_multiplication() to fix vert explosion in Desert & DK parkway.(provided by Coco.) * fix memory leaks, avoid invalidate texture (#207) * Fixed macos * More stupid fixes * update with main and update torch and lus and enable action on this branch * Update FrameInterpolation.h * Update FrameInterpolation.cpp * fix some memory leak * Update torch * Update torch * update torch and lus * reduce texture import * don't use fork of torch and lus * Update torch * Update torch --------- Co-authored-by: Lywx <kiritodev01@gmail.com> * Refactor World::Courses to unique_ptr (#211) * wip course unique ptr * Track unique_ptr : This probably compiles * Finish impl Courses as unique_ptr * Fix error * Fixes * More fixes * Cleanup * Remove old vars --------- Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com> * particle boat and train * fix player particle interpolation * add modify interpolation target fps in menu * fix windows * Update libultraship * Fix logo interp * Interp SetTextMatrix * Fix freecam camera * Clarify comment * Clarify func * fix linux compilation * Update Thwomp.cpp * Update Thwomp.h * Update render.inc.c * Update render.inc.c * Update gbiMacro.c * interp falling rock shadow * Revert change that has no explanation * Update code_80057C60.c * Update code_80057C60.c * Update GrandPrixBalloons.cpp * Update Lakitu.cpp * Update framebuffer_effects.c * Update render_courses.c --------- Co-authored-by: Sonic Dreamcaster <alejandro.asenjo88@gmail.com> Co-authored-by: KiritoDv <kiritodev01@gmail.com> Co-authored-by: sitton76 <58642183+sitton76@users.noreply.github.com> Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com> Co-authored-by: coco875 <59367621+coco875@users.noreply.github.com> Co-authored-by: coco875 <pereira.jannin@gmail.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-02-04fix a problem with cmake and fix animation in menu (#184)coco875
2025-01-30fix error (#179)coco875
2025-01-25Fix Remaining Widescreen Issues and Fix Audio Sizes (#174)MegaMech
* Fix some boxes that shouldn't be wide * forgot fix * Fix widescreen for sliding lap texture * Fix lakitu towing fade in out * Add DOUBLE_SIZE_ON_64_BIT and ssize_t
2025-01-25fix ghost (#175)coco875
* fix ghost * remove a semi colon
2025-01-25Fix EUC-JP characters (#172)MegaMech
* Fix euc jp characters * Update menu_items.c
2025-01-24Fix euc jp char (#169)MegaMech
2025-01-25enable savesSonic Dreamcaster
2025-01-24declare mtx2Sonic Dreamcaster
2025-01-24Merge branch 'main' of https://github.com/HarbourMasters/SpaghettiKartSonic Dreamcaster
2025-01-24refactored version of func_80096CD8Sonic Dreamcaster
2025-01-24Fix matrix stack heap corruption (#166)MegaMech
* Fix matrix stack heap corruption * Fix matrix overflow bug
2025-01-24Merge branch 'main' of https://github.com/HarbourMasters/SpaghettiKartSonic Dreamcaster
2025-01-24matched func_80096CD8Sonic Dreamcaster
2025-01-24Fix Replay box widescreen (#165)MegaMech
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>
2025-01-18Fix mac building (#157)inspectredc
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>