<feed xmlns='http://www.w3.org/2005/Atom'>
<title>SpaghettiKart/src/player_controller.c, branch main</title>
<subtitle>SpaghettiKart: Mario Kart 64 PC port</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/SpaghettiKart/'/>
<entry>
<title>Fix the warning-flagged real bugs across the codebase (#691, 1 of 3) (#725)</title>
<updated>2026-08-02T04:29:56+00:00</updated>
<author>
<name>quarrel07</name>
<email>178681861+quarrel07@users.noreply.github.com</email>
</author>
<published>2026-08-02T04:29:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/SpaghettiKart/commit/?id=8629bec3205b35b6f052a5f0a0164b8132ac1304'/>
<id>8629bec3205b35b6f052a5f0a0164b8132ac1304</id>
<content type='text'>
* 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 &lt;noreply@anthropic.com&gt;

* collision: define the G_ENDDL opcode shifts, return 0 when no tyre surface found

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* replays: cast staff-ghost pointer comparisons, return 0 for empty ghost buffer

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* update_objects: return 0 from conditional step helpers, fix TLUT pointer comparison, init train draw distances

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* render_player: remove the impossible lamp range (vanilla bug, never glowed on N64 either)

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* math_util_2: return the vector, not the address of the parameter slot

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* Crab: remove inner declaration shadowing the initialized objectIndex

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* editor: honor InverseMatrix failure (bool was compared against 2, always true)

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* Track.h: drop dead null checks on array members

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* shells: drop always-true angle and surface gates (behavior unchanged, s16 made them tautological)

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* particles: make the no-return particle setters void

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* effects/stubs/skybox/main: align signatures with functions that return nothing

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* menus/save: type the pak status variable as s32, return BAD_READ on the fall-off path

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* audio: remove uninitialized-read matching artifacts, init isSound

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* code_80005FD0/code_80086E70: init dead bomb kart pointer and the no_init variable

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* port/engine UI: fix printf-style format types and non-literal format string

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* render_objects: feed the unused texture param to the uninitialized img walker

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* Format the changed lines per .clang-format

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* 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 &lt;noreply@anthropic.com&gt;

* 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 &lt;noreply@anthropic.com&gt;
Co-authored-by: MegaMech &lt;MegaMech@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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 &lt;noreply@anthropic.com&gt;

* collision: define the G_ENDDL opcode shifts, return 0 when no tyre surface found

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* replays: cast staff-ghost pointer comparisons, return 0 for empty ghost buffer

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* update_objects: return 0 from conditional step helpers, fix TLUT pointer comparison, init train draw distances

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* render_player: remove the impossible lamp range (vanilla bug, never glowed on N64 either)

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* math_util_2: return the vector, not the address of the parameter slot

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* Crab: remove inner declaration shadowing the initialized objectIndex

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* editor: honor InverseMatrix failure (bool was compared against 2, always true)

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* Track.h: drop dead null checks on array members

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* shells: drop always-true angle and surface gates (behavior unchanged, s16 made them tautological)

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* particles: make the no-return particle setters void

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* effects/stubs/skybox/main: align signatures with functions that return nothing

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* menus/save: type the pak status variable as s32, return BAD_READ on the fall-off path

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* audio: remove uninitialized-read matching artifacts, init isSound

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* code_80005FD0/code_80086E70: init dead bomb kart pointer and the no_init variable

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* port/engine UI: fix printf-style format types and non-literal format string

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* render_objects: feed the unused texture param to the uninitialized img walker

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* Format the changed lines per .clang-format

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;

* 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 &lt;noreply@anthropic.com&gt;

* 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 &lt;noreply@anthropic.com&gt;
Co-authored-by: MegaMech &lt;MegaMech@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor cmake (#721)</title>
<updated>2026-07-23T00:02:58+00:00</updated>
<author>
<name>coco875</name>
<email>59367621+coco875@users.noreply.github.com</email>
</author>
<published>2026-07-23T00:02:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/SpaghettiKart/commit/?id=4c24ae2bc2294c96a81d296a68b6d404f34358e7'/>
<id>4c24ae2bc2294c96a81d296a68b6d404f34358e7</id>
<content type='text'>
* 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</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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</pre>
</div>
</content>
</entry>
<entry>
<title>Player bitflag attributes (pr 750 from the decomp) (#592)</title>
<updated>2025-12-16T16:55:37+00:00</updated>
<author>
<name>coco875</name>
<email>59367621+coco875@users.noreply.github.com</email>
</author>
<published>2025-12-16T16:55:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/SpaghettiKart/commit/?id=1a5c79b641517e38d6a2925ba1f332dffdafc1e8'/>
<id>1a5c79b641517e38d6a2925ba1f332dffdafc1e8</id>
<content type='text'>
* Player bitflag attributes (pr 750 from the decomp)

Co-Authored-By: Jed Grabman &lt;JedGrabman@users.noreply.github.com&gt;

* remove WATER_NO_INTERACTION

---------

Co-authored-by: Jed Grabman &lt;JedGrabman@users.noreply.github.com&gt;
Co-authored-by: MegaMech &lt;MegaMech@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Player bitflag attributes (pr 750 from the decomp)

Co-Authored-By: Jed Grabman &lt;JedGrabman@users.noreply.github.com&gt;

* remove WATER_NO_INTERACTION

---------

Co-authored-by: Jed Grabman &lt;JedGrabman@users.noreply.github.com&gt;
Co-authored-by: MegaMech &lt;MegaMech@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Document sound effects (pr 735 from the decomp) (#589)</title>
<updated>2025-12-13T19:08:59+00:00</updated>
<author>
<name>coco875</name>
<email>59367621+coco875@users.noreply.github.com</email>
</author>
<published>2025-12-13T19:08:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/SpaghettiKart/commit/?id=4e51b7d5b6a9b89deb5ef135deec0ee5f0087e7c'/>
<id>4e51b7d5b6a9b89deb5ef135deec0ee5f0087e7c</id>
<content type='text'>
Co-authored-by: Jed Grabman &lt;JedGrabman@users.noreply.github.com&gt;
Co-authored-by: MegaMech &lt;MegaMech@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Jed Grabman &lt;JedGrabman@users.noreply.github.com&gt;
Co-authored-by: MegaMech &lt;MegaMech@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Name ScreenContext, Refactor Course class to Track (#583)</title>
<updated>2025-12-08T04:00:06+00:00</updated>
<author>
<name>MegaMech</name>
<email>MegaMech@users.noreply.github.com</email>
</author>
<published>2025-12-08T04:00:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/SpaghettiKart/commit/?id=dbae0c3aca33a022e8c1d511fe521407375057b2'/>
<id>dbae0c3aca33a022e8c1d511fe521407375057b2</id>
<content type='text'>
* 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 &lt;7255464+MegaMech@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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 &lt;7255464+MegaMech@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Camera Refactor --&gt; Adds Track Tour Camera (#568)</title>
<updated>2025-12-07T20:14:45+00:00</updated>
<author>
<name>MegaMech</name>
<email>MegaMech@users.noreply.github.com</email>
</author>
<published>2025-12-07T20:14:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/SpaghettiKart/commit/?id=65853330926fa5c77ad75effab8c479ba1d96952'/>
<id>65853330926fa5c77ad75effab8c479ba1d96952</id>
<content type='text'>
* 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 &amp; 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 &amp; 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 &lt;7255464+MegaMech@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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 &amp; 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 &amp; 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 &lt;7255464+MegaMech@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Combine Matrix Stacks &amp; use std::deque Instead of std::vector to Prevent Dangling Pointers (#525)</title>
<updated>2025-08-07T17:27:14+00:00</updated>
<author>
<name>MegaMech</name>
<email>MegaMech@users.noreply.github.com</email>
</author>
<published>2025-08-07T17:27:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/SpaghettiKart/commit/?id=575d860e5de99b5a529a9ad646c510d990a8fb43'/>
<id>575d860e5de99b5a529a9ad646c510d990a8fb43</id>
<content type='text'>
* Update Matrix.cpp

* Update World.h

* Stak

* Hopefully done with matrix

---------

Co-authored-by: MegaMech &lt;7255464+MegaMech@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Update Matrix.cpp

* Update World.h

* Stak

* Hopefully done with matrix

---------

Co-authored-by: MegaMech &lt;7255464+MegaMech@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Add kartPropulsionStrength and waterInteractionFlags (#425)</title>
<updated>2025-07-11T22:04:02+00:00</updated>
<author>
<name>Maciek Baron</name>
<email>1668712+MaciekBaron@users.noreply.github.com</email>
</author>
<published>2025-07-11T22:04:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/SpaghettiKart/commit/?id=7bb37c6ace16f1006fbeeafc42f01967debaf0c0'/>
<id>7bb37c6ace16f1006fbeeafc42f01967debaf0c0</id>
<content type='text'>
* Add kartPropulsionStrength and waterInteractionFlags

* Add reset_player_speed_and_velocity

* Fix merge

* Reorder and cleanup

* Document hopVerticalOffset and hopFrameCounter

* Fix missed variabled

* Further things

* Use constant

---------

Co-authored-by: MegaMech &lt;MegaMech@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add kartPropulsionStrength and waterInteractionFlags

* Add reset_player_speed_and_velocity

* Fix merge

* Reorder and cleanup

* Document hopVerticalOffset and hopFrameCounter

* Fix missed variabled

* Further things

* Use constant

---------

Co-authored-by: MegaMech &lt;MegaMech@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Small, random optimisations (#363)</title>
<updated>2025-07-09T18:06:08+00:00</updated>
<author>
<name>V10lator</name>
<email>v10lator@myway.de</email>
</author>
<published>2025-07-09T18:06:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/SpaghettiKart/commit/?id=d175f5ef243c16fed27730d5c89eb709dcfc4d5a'/>
<id>d175f5ef243c16fed27730d5c89eb709dcfc4d5a</id>
<content type='text'>
* Remove useless player pointer copies

Signed-off-by: Thomas Rohloff &lt;v10lator@myway.de&gt;

* Fix target FPS

Signed-off-by: Thomas Rohloff &lt;v10lator@myway.de&gt;

* Add else

Signed-off-by: Thomas Rohloff &lt;v10lator@myway.de&gt;

* Remove useless addition

Signed-off-by: Thomas Rohloff &lt;v10lator@myway.de&gt;

* Simplify func_8001CA24(Player* player, f32 arg1)

Signed-off-by: Thomas Rohloff &lt;v10lator@myway.de&gt;

* Simplify a few more functions

Signed-off-by: Thomas Rohloff &lt;v10lator@myway.de&gt;

* Make 2 arrays static const

Signed-off-by: Thomas Rohloff &lt;v10lator@myway.de&gt;

---------

Signed-off-by: Thomas Rohloff &lt;v10lator@myway.de&gt;
Co-authored-by: MegaMech &lt;MegaMech@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Remove useless player pointer copies

Signed-off-by: Thomas Rohloff &lt;v10lator@myway.de&gt;

* Fix target FPS

Signed-off-by: Thomas Rohloff &lt;v10lator@myway.de&gt;

* Add else

Signed-off-by: Thomas Rohloff &lt;v10lator@myway.de&gt;

* Remove useless addition

Signed-off-by: Thomas Rohloff &lt;v10lator@myway.de&gt;

* Simplify func_8001CA24(Player* player, f32 arg1)

Signed-off-by: Thomas Rohloff &lt;v10lator@myway.de&gt;

* Simplify a few more functions

Signed-off-by: Thomas Rohloff &lt;v10lator@myway.de&gt;

* Make 2 arrays static const

Signed-off-by: Thomas Rohloff &lt;v10lator@myway.de&gt;

---------

Signed-off-by: Thomas Rohloff &lt;v10lator@myway.de&gt;
Co-authored-by: MegaMech &lt;MegaMech@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>fix no cull and add an option to disable  rubberbanding (#420)</title>
<updated>2025-07-05T23:33:52+00:00</updated>
<author>
<name>coco875</name>
<email>59367621+coco875@users.noreply.github.com</email>
</author>
<published>2025-07-05T23:33:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/SpaghettiKart/commit/?id=248e8fd54216a65b62fa439dc121d5ee27e20024'/>
<id>248e8fd54216a65b62fa439dc121d5ee27e20024</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
