Should address #1048
In more detail, normally water won't propagate into neighbouring water blocks. However, when the collide type was changed to None, water blocks would instead constantly propagate into neighbouring water blocks, causing the water queue to grow and grow until the game runs out of memory
The same reasoning would apply with lava too
Fix not generating root classicube directory on SD card
Fix camera jumping when B is pressed with wii control to begin dragging
Restrict maximum amount camera moves due to wii control being used in dragging mode
GameCube: Increase deadzone range (thanks GK6475)
Wii: Changed classic controller mapping (thanks SuperMYL)
Also in general, start adding separate input buttons for gamepad buttons
- Wii/GameCube now use simpler input mode with just A/B when in the launcher, inspired by what the 3DS port does (Thanks Pear for the idea originally)
- GameCube now uses secondary control stick for camera input (Thanks GK6475)
It's quite possible that FAT mounting succeeds, but on a different device such as a memory card or USB
However, trying to call mkdir/open would then crash as mkdir/open will behave improperly if you call them with a path that specified device which isn't found - and previously ClassiCube always hardcoded for the 'sd' device
1) Fixed can't really control camera (it resets position when you release touch)
2) Fix 'mouse' position being wrong for initial frame after touch begins
3) Fix 'mouse' position using coordinates of bottom screen instead of top screen
3DS: Now also supports using circle pad for moving camera
Wii/PSP/GameCube: Falls back to using default.png from texture pack for fonts in launcher, instead of never displaying any text at all
Fix not being able to create/open files/directories on a real 3DS
Try to fix clicking Home button not doing anything
Fix not returning the right error code when socket creation fails due to being unable to resolve hostname
TCC was generating the problematic instruction sequence:
MOVD XMM0, dword ptr [zero_zero_eight]
MOVD XMM2, dword ptr [RAX]=>velocityY
ADDSS XMM2, XMM0
MOVD XMM0, dword ptr [RBP + stored_t_arg]
MOVAPS XMM2, XMM0
or in pseudocode:
XMM0 = 0.08f
XMM2 = velocityY
XMM2 = XMM2 + XMM0
XMM0 = t
XMM2 = XMM0
at which, it can be seen what the codegen bug is - XMM2 (which holds the value of e->Velocity.Y + 0.08) is overwritten with the value of 't' in preparation for calling Math_Lerp, but the prior value in XMM2 is not stored to another register like XMM1 first
This usually happens when a platform's system fonts completely changed. One common case where this happened was updating Android operating system version on some devices
Fix PSP build not compiling, and makefile not working due to not having -I and -L paths
Fix GameCube build not compiling
Change Haiku build to avoid using libexecinfo
Add github action workflows for 3DS, PSP, GameCube/Wii, Haiku