├── .clang-format
├── .clang-tidy
├── .editorconfig
├── .gitattributes
├── .github
└── workflows
│ ├── android-compile.yml
│ ├── clang-format-suggest.yml
│ ├── clang-format.yml
│ ├── clang-pr.yml
│ ├── doxygen-and-linux-test.yml
│ ├── linux-compile.yml
│ ├── macos-compile.yml
│ ├── main.yml
│ ├── release.yml
│ └── windows-compile.yml
├── .gitignore
├── .gitmodules
├── CMakeLists.txt
├── Dockerfile
├── Doxyfile
├── ExecutableResource.h
├── Info.plist
├── README.md
├── Resource.rc
├── SpaghettiKart.desktop
├── addr_to_sym.py
├── android
├── .gitignore
├── app
│ ├── build.gradle
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── proguard-rules.pro
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ ├── gamecontrollerdb.txt
│ │ └── mods
│ │ │ └── place_mods_here.txt
│ │ ├── ic_launcher-playstore.png
│ │ ├── java
│ │ ├── com
│ │ │ └── izzy
│ │ │ │ └── kart
│ │ │ │ ├── AssetCopyUtil.java
│ │ │ │ ├── ControllerButtons.java
│ │ │ │ └── MainActivity.java
│ │ └── org
│ │ │ └── libsdl
│ │ │ └── app
│ │ │ ├── HIDDevice.java
│ │ │ ├── HIDDeviceBLESteamController.java
│ │ │ ├── HIDDeviceManager.java
│ │ │ ├── HIDDeviceUSB.java
│ │ │ ├── SDL.java
│ │ │ ├── SDLActivity.java
│ │ │ ├── SDLAudioManager.java
│ │ │ ├── SDLControllerManager.java
│ │ │ └── SDLSurface.java
│ │ └── res
│ │ ├── drawable
│ │ ├── dialog_background.xml
│ │ ├── ic_button.xml
│ │ ├── ic_cross.xml
│ │ ├── ic_launcher_background.xml
│ │ ├── ic_launcher_foreground.xml
│ │ ├── ic_rectangular_button.xml
│ │ ├── ic_show.xml
│ │ ├── ic_stick.xml
│ │ ├── ic_trigger_button_left.xml
│ │ └── ic_trigger_button_right.xml
│ │ ├── layout
│ │ └── touchcontrol_overlay.xml
│ │ ├── mipmap-anydpi-v26
│ │ ├── ic_launcher.xml
│ │ └── ic_launcher_round.xml
│ │ ├── mipmap-hdpi
│ │ ├── ic_launcher.webp
│ │ ├── ic_launcher_foreground.webp
│ │ └── ic_launcher_round.webp
│ │ ├── mipmap-mdpi
│ │ ├── ic_launcher.webp
│ │ ├── ic_launcher_foreground.webp
│ │ └── ic_launcher_round.webp
│ │ ├── mipmap-xhdpi
│ │ ├── ic_launcher.webp
│ │ ├── ic_launcher_foreground.webp
│ │ └── ic_launcher_round.webp
│ │ ├── mipmap-xxhdpi
│ │ ├── ic_launcher.webp
│ │ ├── ic_launcher_foreground.webp
│ │ └── ic_launcher_round.webp
│ │ ├── mipmap-xxxhdpi
│ │ ├── ic_launcher.webp
│ │ ├── ic_launcher_foreground.webp
│ │ └── ic_launcher_round.webp
│ │ └── values
│ │ ├── colors.xml
│ │ ├── ic_launcher_background.xml
│ │ ├── strings.xml
│ │ └── styles.xml
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
├── assets
├── editor
│ ├── gizmo
│ │ ├── center_handle
│ │ ├── center_handle_tri_0
│ │ ├── center_handle_vtx_0
│ │ ├── center_handle_vtx_cull
│ │ ├── mat_center_handle_f3dlite_material
│ │ ├── mat_revert_center_handle_f3dlite_material
│ │ ├── mat_revert_rot_handle_blue_f3dlite_material
│ │ ├── mat_revert_rot_handle_green_f3dlite_material
│ │ ├── mat_revert_rot_handle_green_f3dlite_material_002
│ │ ├── mat_revert_rot_handle_red_f3dlite_material
│ │ ├── mat_revert_rotate_handle_red_f3dlite_material
│ │ ├── mat_revert_scale_handle_blue_f3dlite_material
│ │ ├── mat_revert_scale_handle_blue_f3dlite_material_001
│ │ ├── mat_revert_scale_handle_green_f3dlite_material_001
│ │ ├── mat_revert_scale_handle_red_f3dlite_material_001
│ │ ├── mat_revert_translate_handle_blue_f3dlite_material
│ │ ├── mat_revert_translate_handle_green_f3dlite_material
│ │ ├── mat_revert_translate_handle_red_f3dlite_material
│ │ ├── mat_rot_handle_blue_f3dlite_material
│ │ ├── mat_rot_handle_green_f3dlite_material
│ │ ├── mat_rot_handle_green_f3dlite_material_002
│ │ ├── mat_rot_handle_red_f3dlite_material
│ │ ├── mat_rotate_handle_red_f3dlite_material
│ │ ├── mat_scale_handle_blue_f3dlite_material
│ │ ├── mat_scale_handle_blue_f3dlite_material_001
│ │ ├── mat_scale_handle_green_f3dlite_material_001
│ │ ├── mat_scale_handle_red_f3dlite_material_001
│ │ ├── mat_translate_handle_blue_f3dlite_material
│ │ ├── mat_translate_handle_green_f3dlite_material
│ │ ├── mat_translate_handle_red_f3dlite_material
│ │ ├── model.xml
│ │ ├── rot_handle_blue
│ │ ├── rot_handle_blue_tri_0
│ │ ├── rot_handle_blue_vtx_0
│ │ ├── rot_handle_blue_vtx_cull
│ │ ├── rot_handle_green
│ │ ├── rot_handle_green_tri_0
│ │ ├── rot_handle_green_vtx_0
│ │ ├── rot_handle_green_vtx_cull
│ │ ├── rot_handle_red
│ │ ├── rot_handle_red_tri_0
│ │ ├── rot_handle_red_vtx_0
│ │ ├── rot_handle_red_vtx_cull
│ │ ├── rotate_handle_red
│ │ ├── rotate_handle_red_tri_0
│ │ ├── rotate_handle_red_vtx_0
│ │ ├── rotate_handle_red_vtx_cull
│ │ ├── scale_handle_blue
│ │ ├── scale_handle_blue_tri_0
│ │ ├── scale_handle_blue_vtx_0
│ │ ├── scale_handle_blue_vtx_cull
│ │ ├── scale_handle_green
│ │ ├── scale_handle_green_tri_0
│ │ ├── scale_handle_green_vtx_0
│ │ ├── scale_handle_green_vtx_cull
│ │ ├── scale_handle_red
│ │ ├── scale_handle_red_tri_0
│ │ ├── scale_handle_red_vtx_0
│ │ ├── scale_handle_red_vtx_cull
│ │ ├── translate_handle_blue
│ │ ├── translate_handle_blue_tri_0
│ │ ├── translate_handle_blue_vtx_0
│ │ ├── translate_handle_blue_vtx_cull
│ │ ├── translate_handle_green
│ │ ├── translate_handle_green_tri_0
│ │ ├── translate_handle_green_vtx_0
│ │ ├── translate_handle_green_vtx_cull
│ │ ├── translate_handle_red
│ │ ├── translate_handle_red_tri_0
│ │ ├── translate_handle_red_vtx_0
│ │ └── translate_handle_red_vtx_cull
│ ├── light
│ │ ├── mat_revert_sun_arrow_f3dlite_material_001
│ │ ├── mat_revert_sun_arrow_f3dlite_material_002
│ │ ├── mat_sun_arrow_f3dlite_material_001
│ │ ├── mat_sun_arrow_f3dlite_material_002
│ │ ├── model.xml
│ │ ├── sun_arrow
│ │ ├── sun_arrow_tri_0
│ │ ├── sun_arrow_vtx_0
│ │ └── sun_arrow_vtx_cull
│ └── water
│ │ ├── mat_revert_water_plane_f3dlite_material
│ │ ├── mat_water_plane_f3dlite_material
│ │ ├── model.xml
│ │ ├── water_plane
│ │ ├── water_plane_tri_0
│ │ ├── water_plane_vtx_0
│ │ └── water_plane_vtx_cull
├── fonts
│ ├── Fipps-Regular.otf
│ ├── Inconsolata-Regular.ttf
│ ├── Montserrat-Regular.ttf
│ └── PressStart2P-Regular.ttf
├── gizmo
│ ├── gizmo_center_button
│ ├── gizmo_center_button_tri_0
│ ├── gizmo_center_button_vtx_0
│ ├── gizmo_center_button_vtx_cull
│ ├── mat_gizmo_center_button_gizmo_center_button
│ ├── mat_scale_handle_f3dlite_material
│ ├── model.xml
│ ├── scale_handle
│ ├── scale_handle_tri_0
│ ├── scale_handle_vtx_0
│ └── scale_handle_vtx_cull
├── hmintro
│ ├── gradientbottom.rgba16
│ ├── lusgrade.rgba16
│ ├── mat_poweredbylus_lus
│ ├── mat_poweredbylus_power
│ ├── mat_revert_poweredbylus_lus
│ ├── mat_revert_poweredbylus_power
│ ├── poweredbylus
│ ├── poweredbylus_tri_0
│ ├── poweredbylus_tri_1
│ ├── poweredbylus_vtx_0
│ ├── poweredbylus_vtx_1
│ └── poweredbylus_vtx_cull
├── shaders
│ ├── directx
│ │ └── default.shader.hlsl
│ ├── metal
│ │ └── default.shader.metal
│ └── opengl
│ │ ├── default.shader.fs
│ │ └── default.shader.vs
├── textures
│ ├── buttons
│ │ ├── ABtn.png
│ │ ├── BBtn.png
│ │ ├── CDown.png
│ │ ├── CLeft.png
│ │ ├── CRight.png
│ │ ├── CUp.png
│ │ ├── LBtn.png
│ │ ├── RBtn.png
│ │ ├── StartBtn.png
│ │ └── ZBtn.png
│ ├── icons
│ │ └── gIcon.png
│ └── virtual
│ │ └── gEmptyTexture.rgba32.png
└── tracks
│ └── harbour
│ ├── ARmosMap.rgba16
│ ├── Cube.002_mesh
│ ├── Cube.002_mesh_tri_0
│ ├── Cube.002_mesh_tri_1
│ ├── Cube.002_mesh_tri_2
│ ├── Cube.002_mesh_tri_3
│ ├── Cube.002_mesh_tri_4
│ ├── Cube.002_mesh_vtx_0
│ ├── Cube.002_mesh_vtx_1
│ ├── Cube.002_mesh_vtx_2
│ ├── Cube.002_mesh_vtx_3
│ ├── Cube.002_mesh_vtx_4
│ ├── Cube.002_mesh_vtx_cull
│ ├── Harbour 0.6.blend
│ ├── bark2.rgba16
│ ├── bars1.rgba16
│ ├── beware.rgba16
│ ├── brick1.rgba16
│ ├── coffins.rgba16
│ ├── data_paths
│ ├── data_track_sections
│ ├── door1.rgba16
│ ├── fence.rgba32
│ ├── flag.rgba16
│ ├── flowers1.rgba32
│ ├── gallows.rgba16
│ ├── grayishtoblue.ci8
│ ├── heart1.ci8
│ ├── keyboardArt.i8
│ ├── leaf.rgba16
│ ├── leaves1.rgba32
│ ├── map.001_mesh
│ ├── map.001_mesh_tri_0
│ ├── map.001_mesh_vtx_0
│ ├── map.001_mesh_vtx_cull
│ ├── map.002_mesh
│ ├── map.002_mesh_tri_0
│ ├── map.002_mesh_tri_1
│ ├── map.002_mesh_tri_2
│ ├── map.002_mesh_tri_3
│ ├── map.002_mesh_tri_4
│ ├── map.002_mesh_tri_5
│ ├── map.002_mesh_vtx_0
│ ├── map.002_mesh_vtx_1
│ ├── map.002_mesh_vtx_2
│ ├── map.002_mesh_vtx_3
│ ├── map.002_mesh_vtx_4
│ ├── map.002_mesh_vtx_5
│ ├── map.002_mesh_vtx_cull
│ ├── map.003_mesh
│ ├── map.003_mesh_tri_0
│ ├── map.003_mesh_tri_1
│ ├── map.003_mesh_vtx_0
│ ├── map.003_mesh_vtx_1
│ ├── map.003_mesh_vtx_cull
│ ├── map.004_mesh
│ ├── map.004_mesh_tri_0
│ ├── map.004_mesh_tri_1
│ ├── map.004_mesh_tri_2
│ ├── map.004_mesh_vtx_0
│ ├── map.004_mesh_vtx_1
│ ├── map.004_mesh_vtx_2
│ ├── map.004_mesh_vtx_cull
│ ├── map.005_mesh
│ ├── map.005_mesh_tri_0
│ ├── map.005_mesh_tri_1
│ ├── map.005_mesh_tri_2
│ ├── map.005_mesh_tri_3
│ ├── map.005_mesh_tri_4
│ ├── map.005_mesh_vtx_0
│ ├── map.005_mesh_vtx_1
│ ├── map.005_mesh_vtx_2
│ ├── map.005_mesh_vtx_3
│ ├── map.005_mesh_vtx_4
│ ├── map.005_mesh_vtx_cull
│ ├── map_mesh
│ ├── map_mesh_tri_0
│ ├── map_mesh_tri_1
│ ├── map_mesh_tri_10
│ ├── map_mesh_tri_11
│ ├── map_mesh_tri_12
│ ├── map_mesh_tri_13
│ ├── map_mesh_tri_14
│ ├── map_mesh_tri_15
│ ├── map_mesh_tri_16
│ ├── map_mesh_tri_17
│ ├── map_mesh_tri_2
│ ├── map_mesh_tri_3
│ ├── map_mesh_tri_4
│ ├── map_mesh_tri_5
│ ├── map_mesh_tri_6
│ ├── map_mesh_tri_7
│ ├── map_mesh_tri_8
│ ├── map_mesh_tri_9
│ ├── map_mesh_vtx_0
│ ├── map_mesh_vtx_1
│ ├── map_mesh_vtx_10
│ ├── map_mesh_vtx_11
│ ├── map_mesh_vtx_12
│ ├── map_mesh_vtx_13
│ ├── map_mesh_vtx_14
│ ├── map_mesh_vtx_15
│ ├── map_mesh_vtx_16
│ ├── map_mesh_vtx_17
│ ├── map_mesh_vtx_2
│ ├── map_mesh_vtx_3
│ ├── map_mesh_vtx_4
│ ├── map_mesh_vtx_5
│ ├── map_mesh_vtx_6
│ ├── map_mesh_vtx_7
│ ├── map_mesh_vtx_8
│ ├── map_mesh_vtx_9
│ ├── map_mesh_vtx_cull
│ ├── marble1.rgba16
│ ├── mat_mk64_HM
│ ├── mat_mk64__64
│ ├── mat_mk64_bark1
│ ├── mat_mk64_beware
│ ├── mat_mk64_black
│ ├── mat_mk64_coffin
│ ├── mat_mk64_dock
│ ├── mat_mk64_door1
│ ├── mat_mk64_eye2
│ ├── mat_mk64_f3d_material_001
│ ├── mat_mk64_f3d_material_005
│ ├── mat_mk64_f3d_material_006
│ ├── mat_mk64_f3d_material_012
│ ├── mat_mk64_f3d_material_013
│ ├── mat_mk64_f3d_material_014
│ ├── mat_mk64_f3dlite_material_001
│ ├── mat_mk64_f3dlite_material_002
│ ├── mat_mk64_f3dlite_material_007
│ ├── mat_mk64_f3dlite_material_009
│ ├── mat_mk64_fence
│ ├── mat_mk64_flag
│ ├── mat_mk64_flowers
│ ├── mat_mk64_gallows1
│ ├── mat_mk64_grate
│ ├── mat_mk64_ground
│ ├── mat_mk64_leaf1
│ ├── mat_mk64_leaves
│ ├── mat_mk64_moon1
│ ├── mat_mk64_moon2
│ ├── mat_mk64_office1
│ ├── mat_mk64_parking
│ ├── mat_mk64_path
│ ├── mat_mk64_roof1
│ ├── mat_mk64_rope
│ ├── mat_mk64_sand
│ ├── mat_mk64_sign
│ ├── mat_mk64_teeth
│ ├── mat_mk64_wall1
│ ├── mat_mk64_water1
│ ├── mat_mk64_water2
│ ├── mat_mk64_window1
│ ├── mat_revert_mk64_HM
│ ├── mat_revert_mk64__64
│ ├── mat_revert_mk64_bark1
│ ├── mat_revert_mk64_beware
│ ├── mat_revert_mk64_black
│ ├── mat_revert_mk64_coffin
│ ├── mat_revert_mk64_dock
│ ├── mat_revert_mk64_door1
│ ├── mat_revert_mk64_eye2
│ ├── mat_revert_mk64_f3d_material_001
│ ├── mat_revert_mk64_f3d_material_005
│ ├── mat_revert_mk64_f3d_material_006
│ ├── mat_revert_mk64_f3d_material_012
│ ├── mat_revert_mk64_f3d_material_013
│ ├── mat_revert_mk64_f3d_material_014
│ ├── mat_revert_mk64_f3dlite_material_001
│ ├── mat_revert_mk64_f3dlite_material_002
│ ├── mat_revert_mk64_f3dlite_material_007
│ ├── mat_revert_mk64_f3dlite_material_009
│ ├── mat_revert_mk64_fence
│ ├── mat_revert_mk64_flag
│ ├── mat_revert_mk64_flowers
│ ├── mat_revert_mk64_gallows1
│ ├── mat_revert_mk64_grate
│ ├── mat_revert_mk64_ground
│ ├── mat_revert_mk64_leaf1
│ ├── mat_revert_mk64_leaves
│ ├── mat_revert_mk64_moon1
│ ├── mat_revert_mk64_moon2
│ ├── mat_revert_mk64_office1
│ ├── mat_revert_mk64_parking
│ ├── mat_revert_mk64_path
│ ├── mat_revert_mk64_roof1
│ ├── mat_revert_mk64_rope
│ ├── mat_revert_mk64_sand
│ ├── mat_revert_mk64_sign
│ ├── mat_revert_mk64_teeth
│ ├── mat_revert_mk64_wall1
│ ├── mat_revert_mk64_water1
│ ├── mat_revert_mk64_water2
│ ├── mat_revert_mk64_window1
│ ├── minimap.png
│ ├── mk64
│ ├── mk64_tri_0
│ ├── mk64_vtx_0
│ ├── mk64_vtx_cull
│ ├── moon1.rgba16
│ ├── moon2.rgba16
│ ├── moon_mesh
│ ├── moon_mesh_tri_0
│ ├── moon_mesh_tri_1
│ ├── moon_mesh_tri_2
│ ├── moon_mesh_tri_3
│ ├── moon_mesh_tri_4
│ ├── moon_mesh_vtx_0
│ ├── moon_mesh_vtx_1
│ ├── moon_mesh_vtx_2
│ ├── moon_mesh_vtx_3
│ ├── moon_mesh_vtx_4
│ ├── moon_mesh_vtx_cull
│ ├── noparking.rgba16
│ ├── office1.rgba16
│ ├── parascode.rgba16
│ ├── paraseye.rgba32
│ ├── parking.rgba16
│ ├── pirate.rgba16
│ ├── road4.rgba16
│ ├── rope.rgba16
│ ├── sand.rgba16
│ ├── scene.json
│ ├── seamless-green-lush-grass-texture-seamless-green-lush-grass-texture-fresh-backdrop-144751691.rgba16
│ ├── seamless-wood-texture-free-76.rgba16
│ ├── superFXSteel.rgba16
│ ├── teeth1.rgba32
│ ├── water1.rgba32
│ ├── water1_mesh
│ ├── water1_mesh_tri_0
│ ├── water1_mesh_tri_1
│ ├── water1_mesh_vtx_0
│ ├── water1_mesh_vtx_1
│ ├── water1_mesh_vtx_cull
│ ├── water3.rgba16
│ ├── window.rgba16
│ └── woodPlanks1.rgba16
├── cmake
├── automate-vcpkg.cmake
├── configure-packaging.cmake
├── ios.toolchain.cmake
├── lus-cvars.cmake
├── modules
│ ├── FindOgg.cmake
│ ├── FindPulseAudio.cmake
│ ├── FindVorbis.cmake
│ ├── FindlibUsb.cmake
│ └── Findudev.cmake
├── packaging.cmake
└── toolchain-x86_64-w64-mingw32.cmake
├── config.yml
├── courses
├── all_course_data.h
├── all_course_model.h
├── all_course_offsets.h
├── all_course_packed.h
├── banshee_boardwalk
│ └── course_offsets.c
├── big_donut
│ └── course_offsets.c
├── block_fort
│ └── course_offsets.c
├── bowsers_castle
│ └── course_offsets.c
├── choco_mountain
│ └── course_offsets.c
├── courseTable.c
├── courseTable.h
├── dks_jungle_parkway
│ └── course_offsets.c
├── double_deck
│ └── course_offsets.c
├── frappe_snowland
│ └── course_offsets.c
├── harbour
│ ├── ghostship_model.c
│ ├── ghostship_model.h
│ ├── powered.c
│ ├── powered.h
│ ├── ship2_model.c
│ ├── ship2_model.h
│ ├── ship3_model.c
│ ├── ship3_model.h
│ ├── ship_model.c
│ ├── ship_model.h
│ ├── starship_model.c
│ ├── starship_model.h
│ ├── track.c
│ └── track.h
├── kalimari_desert
│ └── course_offsets.c
├── koopa_troopa_beach
│ └── course_offsets.c
├── luigi_raceway
│ ├── course_displaylists.h
│ ├── course_offsets.c
│ └── staff_ghost.inc.c
├── mario_raceway
│ ├── course_displaylists.h
│ ├── course_offsets.c
│ └── staff_ghost.inc.c
├── moo_moo_farm
│ └── course_offsets.c
├── rainbow_road
│ └── course_offsets.c
├── royal_raceway
│ ├── course_offsets.c
│ └── staff_ghost.inc.c
├── sherbet_land
│ └── course_offsets.c
├── staff_ghost_data.c
├── staff_ghost_data.h
├── test_course
│ ├── data.c
│ ├── model.c
│ └── vtx.c
├── toads_turnpike
│ └── course_offsets.c
├── wario_stadium
│ └── course_offsets.c
└── yoshi_valley
│ └── course_offsets.c
├── docs
├── BUILDING.md
├── MK64_Spaghetti_Adjusted_Kart_Setup.blend
├── actors
│ ├── actors.md
│ ├── items.md
│ ├── objects.md
│ └── vehicles.md
├── actorsmenu.md
├── basics
│ ├── basicconcepts.md
│ ├── compiling.md
│ ├── controlflow.md
│ ├── placeholder.png
│ └── terminology.md
├── basicsmenu.md
├── change_viewport.png
├── courses
│ ├── courses.md
│ └── surfacetypes.md
├── coursesmenu.md
├── custom-audio.md
├── custom-characters.md
├── custom-track.md
├── docs.css
├── faq.md
├── header.html
├── html
│ └── buttonimage.png
├── images
│ └── buttonimage.png
├── mainpage.md
├── modding.md
├── poweredbylus.darkmode.png
├── poweredbylus.lightmode.png
├── sequences-information.md
├── spaghettigithublight.png
├── spaghettigithubnight.png
├── textures-pack.md
├── track_returns.md
├── tutorials.md
└── tutorials
│ ├── audio.md
│ ├── boostramps.md
│ └── paths.md
├── extract_assets.py
├── icon.png
├── include
├── PR
│ ├── libaudio.h
│ ├── os_rdp.h
│ ├── os_thread.h
│ ├── os_time.h
│ └── os_tlb.h
├── actor_types.h
├── align_asset_macro.h
├── assets
│ ├── banshee_boardwalk_data.h
│ ├── banshee_boardwalk_displaylists.h
│ ├── banshee_boardwalk_vertices.h
│ ├── big_donut_data.h
│ ├── big_donut_displaylists.h
│ ├── big_donut_vertices.h
│ ├── block_fort_data.h
│ ├── block_fort_displaylists.h
│ ├── block_fort_vertices.h
│ ├── boo_frames.h
│ ├── bowser_kart.h
│ ├── bowsers_castle_data.h
│ ├── bowsers_castle_displaylists.h
│ ├── bowsers_castle_vertices.h
│ ├── ceremony_data.h
│ ├── choco_mountain_data.h
│ ├── choco_mountain_displaylists.h
│ ├── choco_mountain_vertices.h
│ ├── common_data.h
│ ├── data_800E8700.h
│ ├── data_segment2.h
│ ├── dks_jungle_parkway_data.h
│ ├── dks_jungle_parkway_displaylists.h
│ ├── dks_jungle_parkway_vertices.h
│ ├── donkeykong_kart.h
│ ├── double_deck_data.h
│ ├── double_deck_displaylists.h
│ ├── double_deck_vertices.h
│ ├── frappe_snowland_data.h
│ ├── frappe_snowland_displaylists.h
│ ├── frappe_snowland_vertices.h
│ ├── kalimari_desert_data.h
│ ├── kalimari_desert_displaylists.h
│ ├── kalimari_desert_vertices.h
│ ├── koopa_troopa_beach_data.h
│ ├── koopa_troopa_beach_displaylists.h
│ ├── koopa_troopa_beach_vertices.h
│ ├── luigi_kart.h
│ ├── luigi_raceway_data.h
│ ├── luigi_raceway_displaylists.h
│ ├── luigi_raceway_vertices.h
│ ├── mario_kart.h
│ ├── mario_raceway_data.h
│ ├── mario_raceway_displaylists.h
│ ├── mario_raceway_vertices.h
│ ├── moo_moo_farm_data.h
│ ├── moo_moo_farm_displaylists.h
│ ├── moo_moo_farm_vertices.h
│ ├── other_textures.h
│ ├── peach_kart.h
│ ├── player_selection.h
│ ├── rainbow_road_data.h
│ ├── rainbow_road_displaylists.h
│ ├── rainbow_road_vertices.h
│ ├── royal_raceway_data.h
│ ├── royal_raceway_displaylists.h
│ ├── royal_raceway_vertices.h
│ ├── sherbet_land_data.h
│ ├── sherbet_land_displaylists.h
│ ├── sherbet_land_vertices.h
│ ├── skyscraper_data.h
│ ├── skyscraper_displaylists.h
│ ├── skyscraper_vertices.h
│ ├── some_data.h
│ ├── sound
│ │ └── root.h
│ ├── startup_logo.h
│ ├── texture_data_2.h
│ ├── texture_tkmk00.h
│ ├── toad_kart.h
│ ├── toads_turnpike_data.h
│ ├── toads_turnpike_displaylists.h
│ ├── toads_turnpike_offsets.h
│ ├── toads_turnpike_vertices.h
│ ├── wario_kart.h
│ ├── wario_stadium_data.h
│ ├── wario_stadium_displaylists.h
│ ├── wario_stadium_vertices.h
│ ├── yoshi_kart.h
│ ├── yoshi_valley_data.h
│ ├── yoshi_valley_displaylists.h
│ └── yoshi_valley_vertices.h
├── audio
│ └── miniaudio.h
├── bomb_kart.h
├── common_structs.h
├── course.h
├── course_offsets.h
├── debug.h
├── decode.h
├── defines.h
├── kart_attributes.h
├── libc
│ ├── math.h
│ ├── stdarg.h
│ ├── stddef.h
│ ├── stdio.h
│ ├── stdlib.h
│ └── string.h
├── macros.h
├── macros.inc
├── mk64.h
├── objects.h
├── portable-file-dialogs.h
├── save_data.h
├── segments.h
├── sounds.h
├── spline.h
├── stubs.h
├── vehicles.h
└── waypoints.h
├── libultraship
├── .clang-format
├── .clang-tidy
├── .github
│ └── workflows
│ │ ├── apt-deps.txt
│ │ ├── brew-deps.txt
│ │ ├── tidy-format-validation.yml
│ │ └── tidy-result-publish.yml
├── .gitignore
├── CMakeLists.txt
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── cmake
│ ├── Default.cmake
│ ├── DefaultCXX.cmake
│ ├── HandleCompilerRT.cmake
│ ├── Utils.cmake
│ ├── automate-vcpkg.cmake
│ ├── cvars.cmake
│ ├── dependencies
│ │ ├── android.cmake
│ │ ├── common.cmake
│ │ ├── git-patch.cmake
│ │ ├── ios.cmake
│ │ ├── linux.cmake
│ │ ├── mac.cmake
│ │ ├── patches
│ │ │ ├── imgui-fixes-and-config.patch
│ │ │ └── stormlib-optimizations.patch
│ │ ├── windows-vcpkg.cmake
│ │ └── windows.cmake
│ └── ios-toolchain-populate.cmake
├── include
│ └── libultraship
│ │ ├── bridge.h
│ │ ├── classes.h
│ │ ├── color.h
│ │ ├── libultra.h
│ │ ├── libultra
│ │ ├── abi.h
│ │ ├── controller.h
│ │ ├── convert.h
│ │ ├── eeprom.h
│ │ ├── exception.h
│ │ ├── gbi.h
│ │ ├── gs2dex.h
│ │ ├── gu.h
│ │ ├── internal.h
│ │ ├── interrupt.h
│ │ ├── mbi.h
│ │ ├── message.h
│ │ ├── motor.h
│ │ ├── os.h
│ │ ├── pfs.h
│ │ ├── pi.h
│ │ ├── printf.h
│ │ ├── r4300.h
│ │ ├── rcp.h
│ │ ├── rdp.h
│ │ ├── sptask.h
│ │ ├── thread.h
│ │ ├── time.h
│ │ ├── types.h
│ │ └── vi.h
│ │ ├── libultraship.h
│ │ └── luslog.h
└── src
│ ├── CMakeLists.txt
│ ├── Context.cpp
│ ├── Context.h
│ ├── audio
│ ├── Audio.cpp
│ ├── Audio.h
│ ├── AudioPlayer.cpp
│ ├── AudioPlayer.h
│ ├── SDLAudioPlayer.cpp
│ ├── SDLAudioPlayer.h
│ ├── WasapiAudioPlayer.cpp
│ └── WasapiAudioPlayer.h
│ ├── config
│ ├── Config.cpp
│ ├── Config.h
│ ├── ConsoleVariable.cpp
│ └── ConsoleVariable.h
│ ├── controller
│ ├── controldeck
│ │ ├── ControlDeck.cpp
│ │ ├── ControlDeck.h
│ │ ├── ControlPort.cpp
│ │ └── ControlPort.h
│ ├── controldevice
│ │ ├── ControlDevice.cpp
│ │ ├── ControlDevice.h
│ │ └── controller
│ │ │ ├── Controller.cpp
│ │ │ ├── Controller.h
│ │ │ ├── ControllerButton.cpp
│ │ │ ├── ControllerButton.h
│ │ │ ├── ControllerGyro.cpp
│ │ │ ├── ControllerGyro.h
│ │ │ ├── ControllerLED.cpp
│ │ │ ├── ControllerLED.h
│ │ │ ├── ControllerRumble.cpp
│ │ │ ├── ControllerRumble.h
│ │ │ ├── ControllerStick.cpp
│ │ │ ├── ControllerStick.h
│ │ │ └── mapping
│ │ │ ├── ControllerAxisDirectionMapping.cpp
│ │ │ ├── ControllerAxisDirectionMapping.h
│ │ │ ├── ControllerButtonMapping.cpp
│ │ │ ├── ControllerButtonMapping.h
│ │ │ ├── ControllerDefaultMappings.cpp
│ │ │ ├── ControllerDefaultMappings.h
│ │ │ ├── ControllerGyroMapping.cpp
│ │ │ ├── ControllerGyroMapping.h
│ │ │ ├── ControllerInputMapping.cpp
│ │ │ ├── ControllerInputMapping.h
│ │ │ ├── ControllerLEDMapping.cpp
│ │ │ ├── ControllerLEDMapping.h
│ │ │ ├── ControllerMapping.cpp
│ │ │ ├── ControllerMapping.h
│ │ │ ├── ControllerRumbleMapping.cpp
│ │ │ ├── ControllerRumbleMapping.h
│ │ │ ├── factories
│ │ │ ├── AxisDirectionMappingFactory.cpp
│ │ │ ├── AxisDirectionMappingFactory.h
│ │ │ ├── ButtonMappingFactory.cpp
│ │ │ ├── ButtonMappingFactory.h
│ │ │ ├── GyroMappingFactory.cpp
│ │ │ ├── GyroMappingFactory.h
│ │ │ ├── LEDMappingFactory.cpp
│ │ │ ├── LEDMappingFactory.h
│ │ │ ├── RumbleMappingFactory.cpp
│ │ │ └── RumbleMappingFactory.h
│ │ │ ├── keyboard
│ │ │ ├── KeyboardKeyToAnyMapping.cpp
│ │ │ ├── KeyboardKeyToAnyMapping.h
│ │ │ ├── KeyboardKeyToAxisDirectionMapping.cpp
│ │ │ ├── KeyboardKeyToAxisDirectionMapping.h
│ │ │ ├── KeyboardKeyToButtonMapping.cpp
│ │ │ ├── KeyboardKeyToButtonMapping.h
│ │ │ └── KeyboardScancodes.h
│ │ │ ├── mouse
│ │ │ ├── MouseButtonToAnyMapping.cpp
│ │ │ ├── MouseButtonToAnyMapping.h
│ │ │ ├── MouseButtonToAxisDirectionMapping.cpp
│ │ │ ├── MouseButtonToAxisDirectionMapping.h
│ │ │ ├── MouseButtonToButtonMapping.cpp
│ │ │ ├── MouseButtonToButtonMapping.h
│ │ │ ├── MouseWheelToAnyMapping.cpp
│ │ │ ├── MouseWheelToAnyMapping.h
│ │ │ ├── MouseWheelToAxisDirectionMapping.cpp
│ │ │ ├── MouseWheelToAxisDirectionMapping.h
│ │ │ ├── MouseWheelToButtonMapping.cpp
│ │ │ ├── MouseWheelToButtonMapping.h
│ │ │ ├── WheelHandler.cpp
│ │ │ └── WheelHandler.h
│ │ │ └── sdl
│ │ │ ├── SDLAxisDirectionToAnyMapping.cpp
│ │ │ ├── SDLAxisDirectionToAnyMapping.h
│ │ │ ├── SDLAxisDirectionToAxisDirectionMapping.cpp
│ │ │ ├── SDLAxisDirectionToAxisDirectionMapping.h
│ │ │ ├── SDLAxisDirectionToButtonMapping.cpp
│ │ │ ├── SDLAxisDirectionToButtonMapping.h
│ │ │ ├── SDLButtonToAnyMapping.cpp
│ │ │ ├── SDLButtonToAnyMapping.h
│ │ │ ├── SDLButtonToAxisDirectionMapping.cpp
│ │ │ ├── SDLButtonToAxisDirectionMapping.h
│ │ │ ├── SDLButtonToButtonMapping.cpp
│ │ │ ├── SDLButtonToButtonMapping.h
│ │ │ ├── SDLGyroMapping.cpp
│ │ │ ├── SDLGyroMapping.h
│ │ │ ├── SDLLEDMapping.cpp
│ │ │ ├── SDLLEDMapping.h
│ │ │ ├── SDLMapping.h
│ │ │ ├── SDLRumbleMapping.cpp
│ │ │ └── SDLRumbleMapping.h
│ └── physicaldevice
│ │ ├── ConnectedPhysicalDeviceManager.cpp
│ │ ├── ConnectedPhysicalDeviceManager.h
│ │ ├── GlobalSDLDeviceSettings.cpp
│ │ ├── GlobalSDLDeviceSettings.h
│ │ ├── PhysicalDeviceType.h
│ │ ├── SDLAddRemoveDeviceEventHandler.cpp
│ │ └── SDLAddRemoveDeviceEventHandler.h
│ ├── debug
│ ├── Console.cpp
│ ├── Console.h
│ ├── CrashHandler.cpp
│ └── CrashHandler.h
│ ├── graphic
│ └── Fast3D
│ │ ├── .gitrepo
│ │ ├── Fast3dWindow.cpp
│ │ ├── Fast3dWindow.h
│ │ ├── LICENSE.txt
│ │ ├── README.md
│ │ ├── backends
│ │ ├── gfx_direct3d11.cpp
│ │ ├── gfx_direct3d11.h
│ │ ├── gfx_direct3d_common.cpp
│ │ ├── gfx_direct3d_common.h
│ │ ├── gfx_dxgi.cpp
│ │ ├── gfx_dxgi.h
│ │ ├── gfx_metal.cpp
│ │ ├── gfx_metal.h
│ │ ├── gfx_metal_shader.cpp
│ │ ├── gfx_metal_shader.h
│ │ ├── gfx_opengl.cpp
│ │ ├── gfx_opengl.h
│ │ ├── gfx_rendering_api.h
│ │ ├── gfx_screen_config.h
│ │ ├── gfx_sdl.h
│ │ ├── gfx_sdl2.cpp
│ │ └── gfx_window_manager_api.h
│ │ ├── debug
│ │ ├── GfxDebugger.cpp
│ │ └── GfxDebugger.h
│ │ ├── f3dex.h
│ │ ├── f3dex2.h
│ │ ├── interpreter.cpp
│ │ ├── interpreter.h
│ │ ├── lus_gbi.h
│ │ └── shaders
│ │ ├── directx
│ │ └── default.shader.hlsl
│ │ ├── metal
│ │ └── default.shader.metal
│ │ └── opengl
│ │ ├── default.shader.fs
│ │ └── default.shader.vs
│ ├── install_config.h.in
│ ├── log
│ ├── luslog.cpp
│ └── luslog.h
│ ├── port
│ └── mobile
│ │ ├── MobileImpl.cpp
│ │ ├── MobileImpl.h
│ │ └── imgui_impl_sdl2.cpp
│ ├── public
│ ├── bridge
│ │ ├── audiobridge.cpp
│ │ ├── audiobridge.h
│ │ ├── consolevariablebridge.cpp
│ │ ├── consolevariablebridge.h
│ │ ├── controllerbridge.cpp
│ │ ├── controllerbridge.h
│ │ ├── crashhandlerbridge.cpp
│ │ ├── crashhandlerbridge.h
│ │ ├── gfxbridge.cpp
│ │ ├── gfxbridge.h
│ │ ├── gfxdebuggerbridge.cpp
│ │ ├── gfxdebuggerbridge.h
│ │ ├── resourcebridge.cpp
│ │ ├── resourcebridge.h
│ │ ├── windowbridge.cpp
│ │ └── windowbridge.h
│ └── libultra
│ │ ├── os.cpp
│ │ ├── os_cache.cpp
│ │ ├── os_eeprom.cpp
│ │ ├── os_mesg.cpp
│ │ ├── os_pi.cpp
│ │ ├── os_vi.cpp
│ │ └── os_vm.cpp
│ ├── resource
│ ├── File.h
│ ├── Resource.cpp
│ ├── Resource.h
│ ├── ResourceFactory.h
│ ├── ResourceFactoryBinary.cpp
│ ├── ResourceFactoryBinary.h
│ ├── ResourceFactoryXML.cpp
│ ├── ResourceFactoryXML.h
│ ├── ResourceLoader.cpp
│ ├── ResourceLoader.h
│ ├── ResourceManager.cpp
│ ├── ResourceManager.h
│ ├── ResourceType.h
│ ├── archive
│ │ ├── Archive.cpp
│ │ ├── Archive.h
│ │ ├── ArchiveManager.cpp
│ │ ├── ArchiveManager.h
│ │ ├── FolderArchive.cpp
│ │ ├── FolderArchive.h
│ │ ├── O2rArchive.cpp
│ │ ├── O2rArchive.h
│ │ ├── OtrArchive.cpp
│ │ └── OtrArchive.h
│ ├── factory
│ │ ├── BlobFactory.cpp
│ │ ├── BlobFactory.h
│ │ ├── DisplayListFactory.cpp
│ │ ├── DisplayListFactory.h
│ │ ├── JsonFactory.cpp
│ │ ├── JsonFactory.h
│ │ ├── LightFactory.cpp
│ │ ├── LightFactory.h
│ │ ├── MatrixFactory.cpp
│ │ ├── MatrixFactory.h
│ │ ├── ShaderFactory.cpp
│ │ ├── ShaderFactory.h
│ │ ├── TextureFactory.cpp
│ │ ├── TextureFactory.h
│ │ ├── VertexFactory.cpp
│ │ └── VertexFactory.h
│ └── type
│ │ ├── Blob.cpp
│ │ ├── Blob.h
│ │ ├── DisplayList.cpp
│ │ ├── DisplayList.h
│ │ ├── Json.cpp
│ │ ├── Json.h
│ │ ├── Light.cpp
│ │ ├── Light.h
│ │ ├── Matrix.cpp
│ │ ├── Matrix.h
│ │ ├── Shader.cpp
│ │ ├── Shader.h
│ │ ├── Texture.cpp
│ │ ├── Texture.h
│ │ ├── Vertex.cpp
│ │ └── Vertex.h
│ ├── utils
│ ├── AppleFolderManager.h
│ ├── AppleFolderManager.mm
│ ├── StrHash64.cpp
│ ├── StrHash64.h
│ ├── StringHelper.cpp
│ ├── StringHelper.h
│ ├── Utils.cpp
│ ├── Utils.h
│ ├── binarytools
│ │ ├── BinaryReader.cpp
│ │ ├── BinaryReader.h
│ │ ├── BinaryWriter.cpp
│ │ ├── BinaryWriter.h
│ │ ├── BitConverter.h
│ │ ├── MemoryStream.cpp
│ │ ├── MemoryStream.h
│ │ ├── Stream.cpp
│ │ ├── Stream.h
│ │ └── endianness.h
│ ├── filesystemtools
│ │ ├── Directory.h
│ │ ├── DiskFile.h
│ │ ├── FileHelper.h
│ │ ├── Path.h
│ │ └── PathHelper.h
│ ├── glob.c
│ ├── glob.h
│ ├── macUtils.h
│ ├── macUtils.mm
│ ├── stox.cpp
│ └── stox.h
│ └── window
│ ├── FileDropMgr.cpp
│ ├── FileDropMgr.h
│ ├── Window.cpp
│ ├── Window.h
│ └── gui
│ ├── ConsoleWindow.cpp
│ ├── ConsoleWindow.h
│ ├── Fonts.h
│ ├── GameOverlay.cpp
│ ├── GameOverlay.h
│ ├── GfxDebuggerWindow.cpp
│ ├── GfxDebuggerWindow.h
│ ├── Gui.cpp
│ ├── Gui.h
│ ├── GuiElement.cpp
│ ├── GuiElement.h
│ ├── GuiMenuBar.cpp
│ ├── GuiMenuBar.h
│ ├── GuiWindow.cpp
│ ├── GuiWindow.h
│ ├── IconsFontAwesome4.h
│ ├── InputEditorWindow.cpp
│ ├── InputEditorWindow.h
│ ├── StatsWindow.cpp
│ ├── StatsWindow.h
│ └── resource
│ ├── Font.cpp
│ ├── Font.h
│ ├── FontFactory.cpp
│ ├── FontFactory.h
│ ├── GuiTexture.cpp
│ ├── GuiTexture.h
│ ├── GuiTextureFactory.cpp
│ └── GuiTextureFactory.h
├── lus-cvars.cmake
├── models
├── README.MD
├── common_textures.json
└── tracks
│ ├── banshee_boardwalk.json
│ ├── battle_track.json
│ ├── bowsers_castle.json
│ ├── choco_mountain.json
│ ├── dks_jungle_parkway.json
│ ├── frappe_snowland.json
│ ├── kalimari_desert.json
│ ├── koopa_troopa_beach.json
│ ├── luigi_raceway.json
│ ├── mario_raceway.json
│ ├── moo_moo_farm.json
│ ├── rainbow_road.json
│ ├── royal_raceway.json
│ ├── sherbet_land.json
│ ├── toads_turnpike.json
│ ├── wario_stadium.json
│ └── yoshi_valley.json
├── mods
├── C
│ ├── compile.sh
│ └── test.c
├── asc
│ ├── .gitignore
│ ├── asconfig.json
│ ├── assembly
│ │ ├── index.ts
│ │ └── tsconfig.json
│ ├── compile.sh
│ ├── index.html
│ ├── package.json
│ ├── setup.sh
│ └── tests
│ │ └── index.js
├── cython
│ ├── compile.sh
│ ├── file.text
│ ├── setup.py
│ ├── test.c
│ └── test.py
├── go
│ ├── compile.sh
│ └── test.go
├── js
│ ├── compile.sh
│ ├── test.js
│ └── test.wit
├── lua
│ ├── compile.sh
│ ├── definition.yml
│ └── test.lua
├── ocaml
│ ├── .gitignore
│ ├── compile.sh
│ ├── test.ml
│ └── test.mli
├── py
│ ├── compile.sh
│ ├── py2wasmtest.py
│ ├── setup.sh
│ └── test.py
├── py2many
│ ├── .gitignore
│ ├── compile.sh
│ ├── export.cpp
│ └── main.py
├── python-rust
│ ├── .github
│ │ └── dependabot.yml
│ ├── .gitignore
│ ├── .travis.yml
│ ├── Cargo.toml
│ ├── LICENSE_APACHE
│ ├── LICENSE_MIT
│ ├── README.md
│ ├── compile.sh
│ ├── setup.sh
│ ├── src
│ │ └── lib.rs
│ └── tests
│ │ └── web.rs
└── rust
│ ├── .github
│ └── dependabot.yml
│ ├── .gitignore
│ ├── .travis.yml
│ ├── Cargo.toml
│ ├── LICENSE_APACHE
│ ├── LICENSE_MIT
│ ├── compile.sh
│ ├── setup.sh
│ ├── src
│ └── lib.rs
│ └── tests
│ └── web.rs
├── port
└── assets
│ └── fonts
│ ├── Fipps-Regular.otf
│ └── PressStart2P-Regular.ttf
├── progress.py
├── properties.h
├── properties.h.in
├── python_convert.py
├── rename_sym.sh
├── spaghettikart.ico
├── spaghettikart.manifest
├── src
├── actors
│ ├── banana
│ │ ├── render.inc.c
│ │ └── update.inc.c
│ ├── blue_and_red_shells
│ │ ├── render.inc.c
│ │ └── update.inc.c
│ ├── box_truck
│ │ └── render.inc.c
│ ├── car
│ │ └── render.inc.c
│ ├── cow
│ │ └── render.inc.c
│ ├── fake_item_box
│ │ ├── render.inc.c
│ │ └── update.inc.c
│ ├── falling_rock
│ │ ├── render.inc.c
│ │ └── update.inc.c
│ ├── green_shell
│ │ ├── render.inc.c
│ │ └── update.inc.c
│ ├── item_box
│ │ ├── render.inc.c
│ │ └── update.inc.c
│ ├── kiwano_fruit
│ │ ├── render.inc.c
│ │ └── update.inc.c
│ ├── mario_sign
│ │ ├── render.inc.c
│ │ └── update.inc.c
│ ├── paddle_boat
│ │ ├── render.inc.c
│ │ └── update.inc.c
│ ├── palm_tree
│ │ └── render.inc.c
│ ├── piranha_plant
│ │ ├── render.inc.c
│ │ └── update.inc.c
│ ├── railroad_crossing
│ │ ├── render.inc.c
│ │ └── update.inc.c
│ ├── school_bus
│ │ └── render.inc.c
│ ├── tanker_truck
│ │ └── render.inc.c
│ ├── train
│ │ ├── render.inc.c
│ │ └── update.inc.c
│ ├── trees
│ │ └── render.inc.c
│ ├── wario_sign
│ │ ├── render.inc.c
│ │ └── update.inc.c
│ └── yoshi_egg
│ │ ├── render.inc.c
│ │ └── update.inc.c
├── animation.c
├── animation.h
├── audio
│ ├── GameAudio.h
│ ├── audio_session_presets.c
│ ├── data.c
│ ├── data.h
│ ├── effects.c
│ ├── effects.h
│ ├── external.c
│ ├── external.h
│ ├── heap.c
│ ├── heap.h
│ ├── internal.h
│ ├── load.c
│ ├── load.h
│ ├── mixer.c
│ ├── mixer.h
│ ├── playback.c
│ ├── playback.h
│ ├── port_eu.c
│ ├── port_eu.h
│ ├── seqplayer.c
│ ├── seqplayer.h
│ ├── synthesis.c
│ └── synthesis.h
├── buffers.h
├── buffers
│ ├── audio_heap.c
│ ├── audio_heap.h
│ ├── buffers.c
│ ├── gfx_output_buffer.c
│ ├── gfx_output_buffer.h
│ ├── memory_pool.c
│ ├── random.c
│ ├── random.h
│ ├── trig_tables.c
│ ├── trig_tables.h
│ └── trig_tables_bss.c
├── camera.c
├── camera.h
├── code_800029B0.c
├── code_800029B0.h
├── code_80005FD0.c
├── code_80005FD0.h
├── code_8003DC40.c
├── code_8003DC40.h
├── code_80057C60.c
├── code_80057C60.h
├── code_80057C60_var.c
├── code_8006E9C0.c
├── code_8006E9C0.h
├── code_80086E70.c
├── code_80086E70.h
├── code_80091440.c
├── code_80091440.h
├── code_800AF9B0.c
├── code_800AF9B0.h
├── course_metadata.c
├── course_metadata.h
├── crash_screen.c
├── crash_screen.h
├── data
│ ├── kart_attributes.c
│ ├── path_spawn_metadata.c
│ ├── path_spawn_metadata.h
│ ├── some_data.c
│ ├── some_data.h
│ └── textures.c
├── debug
│ ├── all_variables.h
│ ├── crash_screen_enhancement.c
│ ├── crash_screen_enhancement.h
│ ├── debug.c
│ └── debug.inc.c
├── effects.c
├── effects.h
├── ending
│ ├── camera_junk.c
│ ├── camera_junk.h
│ ├── ceremony_and_credits.c
│ ├── ceremony_and_credits.h
│ ├── code_80280000.c
│ ├── code_80280000.h
│ ├── code_80281780.c
│ ├── code_80281780.h
│ ├── code_80281C40.c
│ ├── code_80281C40.h
│ ├── credits.c
│ ├── credits.h
│ ├── dl_unk_80284EE0.c
│ ├── podium_ceremony_actors.c
│ └── podium_ceremony_actors.h
├── engine
│ ├── Actor.cpp
│ ├── Actor.h
│ ├── AllActors.h
│ ├── CoreMath.h
│ ├── Cup.cpp
│ ├── Cup.h
│ ├── GameAPI.h
│ ├── GarbageCollector.cpp
│ ├── GarbageCollector.h
│ ├── HM_Intro.cpp
│ ├── HM_Intro.h
│ ├── Matrix.cpp
│ ├── Matrix.h
│ ├── ModelLoader.cpp
│ ├── ModelLoader.h
│ ├── PlayerBombKart.cpp
│ ├── PlayerBombKart.h
│ ├── Registry.cpp
│ ├── Registry.h
│ ├── Rulesets.cpp
│ ├── Rulesets.h
│ ├── Smoke.cpp
│ ├── Smoke.h
│ ├── StaticMeshActor.cpp
│ ├── StaticMeshActor.h
│ ├── TrainCrossing.cpp
│ ├── TrainCrossing.h
│ ├── World.cpp
│ ├── World.h
│ ├── actors
│ │ ├── Banana.cpp
│ │ ├── Banana.h
│ │ ├── BowserStatue.cpp
│ │ ├── BowserStatue.h
│ │ ├── Cloud.cpp
│ │ ├── Cloud.h
│ │ ├── Finishline.cpp
│ │ ├── Finishline.h
│ │ ├── MarioSign.cpp
│ │ ├── MarioSign.h
│ │ ├── Ship.cpp
│ │ ├── Ship.h
│ │ ├── SpaghettiShip.cpp
│ │ ├── SpaghettiShip.h
│ │ ├── Starship.cpp
│ │ ├── Starship.h
│ │ ├── Tree.cpp
│ │ ├── Tree.h
│ │ ├── WarioSign.cpp
│ │ └── WarioSign.h
│ ├── courses
│ │ ├── BansheeBoardwalk.cpp
│ │ ├── BansheeBoardwalk.h
│ │ ├── BigDonut.cpp
│ │ ├── BigDonut.h
│ │ ├── BlockFort.cpp
│ │ ├── BlockFort.h
│ │ ├── BowsersCastle.cpp
│ │ ├── BowsersCastle.h
│ │ ├── ChocoMountain.cpp
│ │ ├── ChocoMountain.h
│ │ ├── Course.cpp
│ │ ├── Course.h
│ │ ├── DKJungle.cpp
│ │ ├── DKJungle.h
│ │ ├── DoubleDeck.cpp
│ │ ├── DoubleDeck.h
│ │ ├── FrappeSnowland.cpp
│ │ ├── FrappeSnowland.h
│ │ ├── Harbour.cpp
│ │ ├── Harbour.h
│ │ ├── KalimariDesert.cpp
│ │ ├── KalimariDesert.h
│ │ ├── KoopaTroopaBeach.cpp
│ │ ├── KoopaTroopaBeach.h
│ │ ├── LuigiRaceway.cpp
│ │ ├── LuigiRaceway.h
│ │ ├── MarioRaceway.cpp
│ │ ├── MarioRaceway.h
│ │ ├── MooMooFarm.cpp
│ │ ├── MooMooFarm.h
│ │ ├── PodiumCeremony.cpp
│ │ ├── PodiumCeremony.h
│ │ ├── RainbowRoad.cpp
│ │ ├── RainbowRoad.h
│ │ ├── RoyalRaceway.cpp
│ │ ├── RoyalRaceway.h
│ │ ├── SherbetLand.cpp
│ │ ├── SherbetLand.h
│ │ ├── Skyscraper.cpp
│ │ ├── Skyscraper.h
│ │ ├── TestCourse.cpp
│ │ ├── TestCourse.h
│ │ ├── ToadsTurnpike.cpp
│ │ ├── ToadsTurnpike.h
│ │ ├── WarioStadium.cpp
│ │ ├── WarioStadium.h
│ │ ├── YoshiValley.cpp
│ │ └── YoshiValley.h
│ ├── editor
│ │ ├── Collision.cpp
│ │ ├── Collision.h
│ │ ├── Editor.cpp
│ │ ├── Editor.h
│ │ ├── EditorMath.cpp
│ │ ├── EditorMath.h
│ │ ├── GameObject.cpp
│ │ ├── GameObject.h
│ │ ├── Gizmo.cpp
│ │ ├── Gizmo.h
│ │ ├── Handles.cpp
│ │ ├── Handles.h
│ │ ├── Light.cpp
│ │ ├── Light.h
│ │ ├── ObjectPicker.cpp
│ │ ├── ObjectPicker.h
│ │ ├── SceneManager.cpp
│ │ └── SceneManager.h
│ ├── items
│ │ ├── Items.cpp
│ │ └── Items.h
│ ├── objects
│ │ ├── Bat.cpp
│ │ ├── Bat.h
│ │ ├── BombKart.cpp
│ │ ├── BombKart.h
│ │ ├── Boos.cpp
│ │ ├── Boos.h
│ │ ├── ChainChomp.cpp
│ │ ├── ChainChomp.h
│ │ ├── CheepCheep.cpp
│ │ ├── CheepCheep.h
│ │ ├── Crab.cpp
│ │ ├── Crab.h
│ │ ├── Flagpole.cpp
│ │ ├── Flagpole.h
│ │ ├── GrandPrixBalloons.cpp
│ │ ├── GrandPrixBalloons.h
│ │ ├── Hedgehog.cpp
│ │ ├── Hedgehog.h
│ │ ├── HotAirBalloon.cpp
│ │ ├── HotAirBalloon.h
│ │ ├── Lakitu.cpp
│ │ ├── Lakitu.h
│ │ ├── Mole.cpp
│ │ ├── Mole.h
│ │ ├── MoleGroup.cpp
│ │ ├── MoleGroup.h
│ │ ├── Object.cpp
│ │ ├── Object.h
│ │ ├── Penguin.cpp
│ │ ├── Penguin.h
│ │ ├── Podium.cpp
│ │ ├── Podium.h
│ │ ├── Seagull.cpp
│ │ ├── Seagull.h
│ │ ├── Snowman.cpp
│ │ ├── Snowman.h
│ │ ├── Thwomp.cpp
│ │ ├── Thwomp.h
│ │ ├── TrashBin.cpp
│ │ ├── TrashBin.h
│ │ ├── Trophy.cpp
│ │ └── Trophy.h
│ ├── particles
│ │ ├── ParticleEmitter.cpp
│ │ ├── ParticleEmitter.h
│ │ ├── StarEmitter.cpp
│ │ └── StarEmitter.h
│ ├── readme.txt
│ ├── vehicles
│ │ ├── Boat.cpp
│ │ ├── Boat.h
│ │ ├── Bus.cpp
│ │ ├── Bus.h
│ │ ├── Car.cpp
│ │ ├── Car.h
│ │ ├── TankerTruck.cpp
│ │ ├── TankerTruck.h
│ │ ├── Train.cpp
│ │ ├── Train.h
│ │ ├── Truck.cpp
│ │ ├── Truck.h
│ │ ├── Utils.cpp
│ │ └── Utils.h
│ ├── wasm.cpp
│ └── wasm.h
├── enhancements
│ ├── collision_viewer.c
│ ├── collision_viewer.h
│ ├── freecam
│ │ ├── freecam.cpp
│ │ ├── freecam.h
│ │ ├── freecam_engine.c
│ │ └── freecam_engine.h
│ ├── moon_jump.c
│ └── moon_jump.h
├── gbiMacro.c
├── harbour_masters.c
├── harbour_masters.h
├── kart_dma.c
├── kart_dma.h
├── main.c
├── main.h
├── math_util_2.c
├── math_util_2.h
├── menu_items.c
├── menu_items.h
├── menus.c
├── menus.h
├── networking
│ ├── networking.c
│ ├── networking.h
│ ├── packets.c
│ ├── replication.c
│ └── start_game.c
├── os
│ ├── NaN.c
│ ├── _Ldtob.c
│ ├── _Litob.c
│ ├── _Printf.c
│ ├── __osAiDeviceBusy.c
│ ├── __osAtomicDec.c
│ ├── __osDequeueThread.c
│ ├── __osDevMgrMain.c
│ ├── __osEPiRawReadIo.c
│ ├── __osEPiRawWriteIo.c
│ ├── __osGetCurrFaultedThread.c
│ ├── __osLeoInterrupt.c
│ ├── __osPiCreateAccessQueue.c
│ ├── __osResetGlobalIntMask.c
│ ├── __osSetGlobalIntMask.c
│ ├── __osSetHWIntrRoutine.c
│ ├── __osSiCreateAccessQueue.c
│ ├── __osSiDeviceBusy.c
│ ├── __osSiRawReadIo.c
│ ├── __osSiRawStartDma.c
│ ├── __osSiRawWriteIo.c
│ ├── __osSpDeviceBusy.c
│ ├── __osSpGetStatus.c
│ ├── __osSpRawStartDma.c
│ ├── __osSpSetPc.c
│ ├── __osSpSetStatus.c
│ ├── __osSyncPutChars.c
│ ├── __osViGetCurrentContext.c
│ ├── __osViInit.c
│ ├── __osViSwapContext.c
│ ├── alBnkfNew.c
│ ├── bstring.h
│ ├── contpfs.c
│ ├── contramread.c
│ ├── contramwrite.c
│ ├── controller.h
│ ├── crc.c
│ ├── epidma.c
│ ├── guLookAtF.c
│ ├── guLookAtRef.c
│ ├── guMtxCatF.c
│ ├── guMtxCatL.c
│ ├── guMtxF2L.c
│ ├── guNormalize.c
│ ├── guOrthoF.c
│ ├── guPerspectiveF.c
│ ├── guRotateF.c
│ ├── guScaleF.c
│ ├── guTranslateF.c
│ ├── hardware.h
│ ├── is_debug.c
│ ├── ldiv.c
│ ├── libaudio_internal.h
│ ├── libultra_internal.h
│ ├── math
│ │ ├── cosf.c
│ │ ├── llconv.c
│ │ └── sinf.c
│ ├── new_func.h
│ ├── osAi.h
│ ├── osAiGetLength.c
│ ├── osAiSetFrequency.c
│ ├── osAiSetNextBuffer.c
│ ├── osCartRomInit.c
│ ├── osContInit.c
│ ├── osContStartReadData.c
│ ├── osCreateMesgQueue.c
│ ├── osCreatePiManager.c
│ ├── osCreateThread.c
│ ├── osCreateViManager.c
│ ├── osDestroyThread.c
│ ├── osEPiRawStartDma.c
│ ├── osEepromLongRead.c
│ ├── osEepromLongWrite.c
│ ├── osEepromProbe.c
│ ├── osEepromRead.c
│ ├── osEepromWrite.c
│ ├── osGetThreadPri.c
│ ├── osGetTime.c
│ ├── osInitialize.c
│ ├── osJamMesg.c
│ ├── osLeoDiskInit.c
│ ├── osPfsAllocateFile.c
│ ├── osPfsChecker.c
│ ├── osPfsDeleteFile.c
│ ├── osPfsFileState.c
│ ├── osPfsFreeBlocks.c
│ ├── osPfsInit.c
│ ├── osPfsIsPlug.c
│ ├── osPfsNumFiles.c
│ ├── osPfsReadWriteFile.c
│ ├── osPfsSearchFile.c
│ ├── osPiGetCmdQueue.c
│ ├── osPiRawReadIo.c
│ ├── osPiRawStartDma.c
│ ├── osPiStartDma.c
│ ├── osRecvMesg.c
│ ├── osSendMesg.c
│ ├── osSetEventMesg.c
│ ├── osSetThreadPri.c
│ ├── osSetTime.c
│ ├── osSetTimer.c
│ ├── osSpTaskLoadGo.c
│ ├── osSpTaskYield.c
│ ├── osSpTaskYielded.c
│ ├── osStartThread.c
│ ├── osSyncPrintf.c
│ ├── osTimer.c
│ ├── osViBlack.c
│ ├── osViData.c
│ ├── osViSetEvent.c
│ ├── osViSetMode.c
│ ├── osViSetSpecialFeatures.c
│ ├── osViSwapBuffer.c
│ ├── osViTable.c
│ ├── osVirtualToPhysical.c
│ ├── osYieldThread.c
│ ├── osint.h
│ ├── piint.h
│ ├── printf.h
│ ├── sprintf.c
│ └── string.c
├── player_controller.c
├── player_controller.h
├── port
│ ├── Engine.cpp
│ ├── Engine.h
│ ├── GBIMiddleware.cpp
│ ├── Game.cpp
│ ├── Game.h
│ ├── GameExtractor.cpp
│ ├── GameExtractor.h
│ ├── ShipUtils.cpp
│ ├── ShipUtils.h
│ ├── SpaghettiGui.cpp
│ ├── SpaghettiGui.h
│ ├── Variables.cpp
│ ├── audio
│ │ ├── HMAS.cpp
│ │ └── HMAS.h
│ ├── interpolation
│ │ ├── FrameInterpolation.cpp
│ │ ├── FrameInterpolation.h
│ │ ├── matrix.c
│ │ └── matrix.h
│ ├── pak.cpp
│ ├── resource
│ │ ├── importers
│ │ │ ├── ActorSpawnDataFactory.cpp
│ │ │ ├── ActorSpawnDataFactory.h
│ │ │ ├── ArrayFactory.cpp
│ │ │ ├── ArrayFactory.h
│ │ │ ├── AudioBankFactory.cpp
│ │ │ ├── AudioBankFactory.h
│ │ │ ├── AudioSampleFactory.cpp
│ │ │ ├── AudioSampleFactory.h
│ │ │ ├── AudioSequenceFactory.cpp
│ │ │ ├── AudioSequenceFactory.h
│ │ │ ├── BetterTextureFactory.cpp
│ │ │ ├── BetterTextureFactory.h
│ │ │ ├── CPUFactory.cpp
│ │ │ ├── CPUFactory.h
│ │ │ ├── CourseVtxFactory.cpp
│ │ │ ├── CourseVtxFactory.h
│ │ │ ├── GenericArrayFactory.cpp
│ │ │ ├── GenericArrayFactory.h
│ │ │ ├── MinimapFactory.cpp
│ │ │ ├── MinimapFactory.h
│ │ │ ├── ResourceUtil.h
│ │ │ ├── TrackPathPointFactory.cpp
│ │ │ ├── TrackPathPointFactory.h
│ │ │ ├── TrackSectionsFactory.cpp
│ │ │ ├── TrackSectionsFactory.h
│ │ │ ├── UnkActorSpawnDataFactory.cpp
│ │ │ ├── UnkActorSpawnDataFactory.h
│ │ │ ├── Vec3fFactory.cpp
│ │ │ ├── Vec3fFactory.h
│ │ │ ├── Vec3sFactory.cpp
│ │ │ └── Vec3sFactory.h
│ │ └── type
│ │ │ ├── Animation.cpp
│ │ │ ├── Animation.h
│ │ │ ├── Array.cpp
│ │ │ ├── Array.h
│ │ │ ├── AudioBank.cpp
│ │ │ ├── AudioBank.h
│ │ │ ├── AudioSample.cpp
│ │ │ ├── AudioSample.h
│ │ │ ├── AudioSequence.cpp
│ │ │ ├── AudioSequence.h
│ │ │ ├── CPU.cpp
│ │ │ ├── CPU.h
│ │ │ ├── ColPoly.cpp
│ │ │ ├── ColPoly.h
│ │ │ ├── CourseVtx.cpp
│ │ │ ├── CourseVtx.h
│ │ │ ├── EnvSettings.cpp
│ │ │ ├── EnvSettings.h
│ │ │ ├── GenericArray.cpp
│ │ │ ├── GenericArray.h
│ │ │ ├── Hitbox.cpp
│ │ │ ├── Hitbox.h
│ │ │ ├── Limb.cpp
│ │ │ ├── Limb.h
│ │ │ ├── Message.cpp
│ │ │ ├── Message.h
│ │ │ ├── Minimap.cpp
│ │ │ ├── Minimap.h
│ │ │ ├── ObjectInit.cpp
│ │ │ ├── ObjectInit.h
│ │ │ ├── ResourceType.h
│ │ │ ├── Script.cpp
│ │ │ ├── Script.h
│ │ │ ├── Skeleton.cpp
│ │ │ ├── Skeleton.h
│ │ │ ├── SpawnData.cpp
│ │ │ ├── SpawnData.h
│ │ │ ├── TrackPathPointData.cpp
│ │ │ ├── TrackPathPointData.h
│ │ │ ├── TrackSections.cpp
│ │ │ ├── TrackSections.h
│ │ │ ├── UnkSpawnData.cpp
│ │ │ ├── UnkSpawnData.h
│ │ │ ├── Vec3fArray.cpp
│ │ │ ├── Vec3fArray.h
│ │ │ ├── Vec3sArray.cpp
│ │ │ └── Vec3sArray.h
│ └── ui
│ │ ├── ContentBrowser.cpp
│ │ ├── ContentBrowser.h
│ │ ├── FreecamWindow.cpp
│ │ ├── FreecamWindow.h
│ │ ├── ImguiUI.cpp
│ │ ├── ImguiUI.h
│ │ ├── Menu.cpp
│ │ ├── Menu.h
│ │ ├── MenuTypes.h
│ │ ├── MultiplayerWindow.cpp
│ │ ├── MultiplayerWindow.h
│ │ ├── PortMenu.cpp
│ │ ├── PortMenu.h
│ │ ├── Properties.cpp
│ │ ├── Properties.h
│ │ ├── ResolutionEditor.cpp
│ │ ├── ResolutionEditor.h
│ │ ├── SceneExplorer.cpp
│ │ ├── SceneExplorer.h
│ │ ├── Tools.cpp
│ │ ├── Tools.h
│ │ ├── TrackProperties.cpp
│ │ ├── TrackProperties.h
│ │ ├── UIWidgets.cpp
│ │ └── UIWidgets.h
├── profiler.c
├── profiler.h
├── racing
│ ├── actors.c
│ ├── actors.h
│ ├── actors_extended.c
│ ├── actors_extended.h
│ ├── collision.c
│ ├── collision.h
│ ├── framebuffer_effects.c
│ ├── framebuffer_effects.h
│ ├── math_util.c
│ ├── math_util.h
│ ├── memory.c
│ ├── memory.h
│ ├── race_logic.c
│ ├── race_logic.h
│ ├── render_courses.c
│ ├── render_courses.h
│ ├── skybox_and_splitscreen.c
│ └── skybox_and_splitscreen.h
├── render_objects.c
├── render_objects.h
├── render_player.c
├── render_player.h
├── replays.c
├── replays.h
├── save.c
├── save.h
├── spawn_players.c
├── spawn_players.h
├── stubs.c
├── textures.h
├── update_objects.c
└── update_objects.h
├── test_blend.bat
├── tools
├── .gitignore
├── Makefile
├── apply_patch.sh
├── asm_processor
│ ├── asm_processor.py
│ ├── build.py
│ └── prelude.inc
├── bin2c.py
├── blender
│ ├── blender_export.py
│ ├── clean_scene.py
│ ├── extract_models.py
│ └── fast64_run.py
├── create_patch.sh
├── displaylist_packer.c
├── doxygen_symbol_gen.py
├── extract_data_for_mio.c
├── format.py
├── gfxdis_multi.py
├── ido-recomp
│ ├── linux
│ │ ├── acpp
│ │ ├── as0
│ │ ├── as1
│ │ ├── c++filt
│ │ ├── cc
│ │ ├── cfe
│ │ ├── copt
│ │ ├── crt1.o
│ │ ├── crtn.o
│ │ ├── err.english.cc
│ │ ├── ld
│ │ ├── libc.so
│ │ ├── libc.so.1
│ │ ├── libexc.so
│ │ ├── libgen.so
│ │ ├── libm.so
│ │ ├── strip
│ │ ├── ugen
│ │ ├── ujoin
│ │ ├── uld
│ │ ├── umerge
│ │ ├── uopt
│ │ ├── upas
│ │ └── usplit
│ ├── macos
│ │ ├── acpp
│ │ ├── as0
│ │ ├── as1
│ │ ├── c++filt
│ │ ├── cc
│ │ ├── cfe
│ │ ├── copt
│ │ ├── crt1.o
│ │ ├── crtn.o
│ │ ├── err.english.cc
│ │ ├── ld
│ │ ├── libc.so
│ │ ├── libc.so.1
│ │ ├── libexc.so
│ │ ├── libgen.so
│ │ ├── libm.so
│ │ ├── strip
│ │ ├── ugen
│ │ ├── ujoin
│ │ ├── uld
│ │ ├── umerge
│ │ ├── uopt
│ │ ├── upas
│ │ └── usplit
│ ├── versions.txt
│ └── windows
│ │ ├── acpp.exe
│ │ ├── as0.exe
│ │ ├── as1.exe
│ │ ├── c++filt.exe
│ │ ├── cc.exe
│ │ ├── cfe.exe
│ │ ├── copt.exe
│ │ ├── crt1.o
│ │ ├── crtn.o
│ │ ├── err.english.cc
│ │ ├── ld.exe
│ │ ├── libc.so
│ │ ├── libc.so.1
│ │ ├── libexc.so
│ │ ├── libgen.so
│ │ ├── libm.so
│ │ ├── msys-2.0.dll
│ │ ├── strip.exe
│ │ ├── ugen.exe
│ │ ├── ujoin.exe
│ │ ├── uld.exe
│ │ ├── umerge.exe
│ │ ├── uopt.exe
│ │ ├── upas.exe
│ │ └── usplit.exe
├── libmio0.c
├── libmio0.h
├── libtkmk00.c
├── libtkmk00.h
├── linkonly_generator.py
├── m2ctx
├── mkgccgen.py
├── n64cksum.c
├── n64cksum.h
├── n64graphics.c
├── n64graphics.h
├── new_extract_assets.py
├── revert_patch.sh
├── set_o32abi_bit.py
├── stb
│ ├── stb_image.h
│ └── stb_image_write.h
├── utils.c
├── utils.h
└── windows_build.py
├── valgrind_callgrind.sh
├── vcpkg.json
└── yamls
└── us
├── banshee_boardwalk_data.yml
├── banshee_boardwalk_displaylists.yml
├── banshee_boardwalk_vertices.yml
├── big_donut_data.yml
├── big_donut_displaylists.yml
├── big_donut_vertices.yml
├── block_fort_data.yml
├── block_fort_displaylists.yml
├── block_fort_vertices.yml
├── boo_frames.yml
├── bowser_kart.yml
├── bowsers_castle_data.yml
├── bowsers_castle_displaylists.yml
├── bowsers_castle_vertices.yml
├── ceremony_data.yml
├── choco_mountain_data.yml
├── choco_mountain_displaylists.yml
├── choco_mountain_vertices.yml
├── common_data.yml
├── data_800E45C0.yml
├── data_800E8700.yml
├── data_segment2.yml
├── dks_jungle_parkway_data.yml
├── dks_jungle_parkway_displaylists.yml
├── dks_jungle_parkway_vertices.yml
├── donkeykong_kart.yml
├── double_deck_data.yml
├── double_deck_displaylists.yml
├── double_deck_vertices.yml
├── frappe_snowland_data.yml
├── frappe_snowland_displaylists.yml
├── frappe_snowland_vertices.yml
├── kalimari_desert_data.yml
├── kalimari_desert_displaylists.yml
├── kalimari_desert_vertices.yml
├── koopa_troopa_beach_data.yml
├── koopa_troopa_beach_displaylists.yml
├── koopa_troopa_beach_vertices.yml
├── luigi_kart.yml
├── luigi_raceway_data.yml
├── luigi_raceway_displaylists.yml
├── luigi_raceway_vertices.yml
├── mario_kart.yml
├── mario_raceway_data.yml
├── mario_raceway_displaylists.yml
├── mario_raceway_vertices.yml
├── moo_moo_farm_data.yml
├── moo_moo_farm_displaylists.yml
├── moo_moo_farm_vertices.yml
├── other_textures.yml
├── peach_kart.yml
├── player_selection.yml
├── rainbow_road_data.yml
├── rainbow_road_displaylists.yml
├── rainbow_road_vertices.yml
├── royal_raceway_data.yml
├── royal_raceway_displaylists.yml
├── royal_raceway_vertices.yml
├── sherbet_land_data.yml
├── sherbet_land_displaylists.yml
├── sherbet_land_vertices.yml
├── skyscraper_data.yml
├── skyscraper_displaylists.yml
├── skyscraper_vertices.yml
├── some_data.yml
├── sound
├── banks.yml
├── root.yml
├── samples.yml
└── sequences.yml
├── startup_logo.yml
├── texture_data_2.yml
├── texture_tkmk00.yml
├── toad_kart.yml
├── toads_turnpike_data.yml
├── toads_turnpike_displaylists.yml
├── toads_turnpike_offsets.yml
├── toads_turnpike_vertices.yml
├── wario_kart.yml
├── wario_stadium_data.yml
├── wario_stadium_displaylists.yml
├── wario_stadium_vertices.yml
├── yoshi_kart.yml
├── yoshi_valley_data.yml
├── yoshi_valley_displaylists.yml
└── yoshi_valley_vertices.yml
/.editorconfig:
--------------------------------------------------------------------------------
1 | end_of_line = lf
2 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "doxygen-awesome-css"]
2 | path = doxygen-awesome-css
3 | url = https://github.com/jothepro/doxygen-awesome-css.git
4 | [submodule "torch"]
5 | path = torch
6 | url = https://github.com/HarbourMasters/Torch
7 | [submodule "lib/wasm-micro-runtime"]
8 | path = lib/wasm-micro-runtime
9 | url = https://github.com/bytecodealliance/wasm-micro-runtime.git
10 | [submodule "tools/blender/fast64"]
11 | path = tools/blender/fast64
12 | url = https://github.com/Fast-64/fast64.git
13 |
--------------------------------------------------------------------------------
/SpaghettiKart.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Version=1.0
3 | Name=SPAGHETTIKART
4 | Exec=Spaghettify
5 | Terminal=false
6 | Icon=icon
7 | Type=Application
8 | Categories=Game;
9 | X-AppImage-Integrate=false
10 |
--------------------------------------------------------------------------------
/android/app/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/android/app/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/android/app/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/android/app/src/main/assets/mods/place_mods_here.txt:
--------------------------------------------------------------------------------
1 | Place mods in this folder
2 |
--------------------------------------------------------------------------------
/android/app/src/main/ic_launcher-playstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/android/app/src/main/ic_launcher-playstore.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/dialog_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/android/app/src/main/res/mipmap-mdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/android/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #000000
4 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Spaghetti Kart
3 |
4 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Dec 27 18:25:48 PST 2024
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
5 | zipStoreBase=GRADLE_USER_HOME
6 | zipStorePath=wrapper/dists
7 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/assets/editor/gizmo/mat_revert_center_handle_f3dlite_material:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/editor/gizmo/mat_revert_rot_handle_blue_f3dlite_material:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/editor/gizmo/mat_revert_rot_handle_green_f3dlite_material:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/editor/gizmo/mat_revert_rot_handle_green_f3dlite_material_002:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/editor/gizmo/mat_revert_rot_handle_red_f3dlite_material:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/editor/gizmo/mat_revert_rotate_handle_red_f3dlite_material:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/editor/gizmo/mat_revert_scale_handle_blue_f3dlite_material:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/editor/gizmo/mat_revert_scale_handle_blue_f3dlite_material_001:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/editor/gizmo/mat_revert_scale_handle_green_f3dlite_material_001:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/editor/gizmo/mat_revert_scale_handle_red_f3dlite_material_001:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/editor/gizmo/mat_revert_translate_handle_blue_f3dlite_material:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/editor/gizmo/mat_revert_translate_handle_green_f3dlite_material:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/editor/gizmo/mat_revert_translate_handle_red_f3dlite_material:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/editor/light/mat_revert_sun_arrow_f3dlite_material_001:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/assets/editor/light/mat_revert_sun_arrow_f3dlite_material_002:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/editor/water/mat_revert_water_plane_f3dlite_material:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/editor/water/water_plane_tri_0:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/assets/editor/water/water_plane_vtx_0:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/assets/fonts/Fipps-Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/fonts/Fipps-Regular.otf
--------------------------------------------------------------------------------
/assets/fonts/Inconsolata-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/fonts/Inconsolata-Regular.ttf
--------------------------------------------------------------------------------
/assets/fonts/Montserrat-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/fonts/Montserrat-Regular.ttf
--------------------------------------------------------------------------------
/assets/fonts/PressStart2P-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/fonts/PressStart2P-Regular.ttf
--------------------------------------------------------------------------------
/assets/gizmo/gizmo_center_button:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/assets/gizmo/scale_handle:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/assets/hmintro/gradientbottom.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/hmintro/gradientbottom.rgba16
--------------------------------------------------------------------------------
/assets/hmintro/lusgrade.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/hmintro/lusgrade.rgba16
--------------------------------------------------------------------------------
/assets/hmintro/mat_revert_poweredbylus_lus:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/hmintro/mat_revert_poweredbylus_power:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/textures/buttons/ABtn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/textures/buttons/ABtn.png
--------------------------------------------------------------------------------
/assets/textures/buttons/BBtn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/textures/buttons/BBtn.png
--------------------------------------------------------------------------------
/assets/textures/buttons/CDown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/textures/buttons/CDown.png
--------------------------------------------------------------------------------
/assets/textures/buttons/CLeft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/textures/buttons/CLeft.png
--------------------------------------------------------------------------------
/assets/textures/buttons/CRight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/textures/buttons/CRight.png
--------------------------------------------------------------------------------
/assets/textures/buttons/CUp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/textures/buttons/CUp.png
--------------------------------------------------------------------------------
/assets/textures/buttons/LBtn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/textures/buttons/LBtn.png
--------------------------------------------------------------------------------
/assets/textures/buttons/RBtn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/textures/buttons/RBtn.png
--------------------------------------------------------------------------------
/assets/textures/buttons/StartBtn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/textures/buttons/StartBtn.png
--------------------------------------------------------------------------------
/assets/textures/buttons/ZBtn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/textures/buttons/ZBtn.png
--------------------------------------------------------------------------------
/assets/textures/icons/gIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/textures/icons/gIcon.png
--------------------------------------------------------------------------------
/assets/textures/virtual/gEmptyTexture.rgba32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/textures/virtual/gEmptyTexture.rgba32.png
--------------------------------------------------------------------------------
/assets/tracks/harbour/ARmosMap.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/ARmosMap.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/Cube.002_mesh_tri_1:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/Cube.002_mesh_tri_2:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/Cube.002_mesh_vtx_1:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/Harbour 0.6.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/Harbour 0.6.blend
--------------------------------------------------------------------------------
/assets/tracks/harbour/bark2.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/bark2.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/bars1.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/bars1.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/beware.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/beware.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/brick1.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/brick1.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/coffins.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/coffins.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/door1.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/door1.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/fence.rgba32:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/fence.rgba32
--------------------------------------------------------------------------------
/assets/tracks/harbour/flag.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/flag.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/flowers1.rgba32:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/flowers1.rgba32
--------------------------------------------------------------------------------
/assets/tracks/harbour/gallows.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/gallows.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/grayishtoblue.ci8:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/grayishtoblue.ci8
--------------------------------------------------------------------------------
/assets/tracks/harbour/heart1.ci8:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/heart1.ci8
--------------------------------------------------------------------------------
/assets/tracks/harbour/keyboardArt.i8:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/keyboardArt.i8
--------------------------------------------------------------------------------
/assets/tracks/harbour/leaf.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/leaf.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/leaves1.rgba32:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/leaves1.rgba32
--------------------------------------------------------------------------------
/assets/tracks/harbour/map.002_mesh_tri_3:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/map.002_mesh_tri_4:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/map.004_mesh_tri_0:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/map.004_mesh_tri_2:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/map.005_mesh_tri_0:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/map_mesh_tri_1:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/map_mesh_tri_15:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/map_mesh_tri_17:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/map_mesh_tri_2:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/map_mesh_tri_6:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/map_mesh_tri_8:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/map_mesh_tri_9:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/map_mesh_vtx_2:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/map_mesh_vtx_6:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/marble1.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/marble1.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_HM:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64__64:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_bark1:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_beware:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_black:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_coffin:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_dock:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_door1:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_eye2:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_f3d_material_001:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_f3d_material_005:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_f3d_material_006:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_f3d_material_012:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_f3d_material_013:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_f3d_material_014:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_f3dlite_material_001:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_f3dlite_material_002:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_f3dlite_material_007:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_f3dlite_material_009:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_fence:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_flag:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_flowers:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_gallows1:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_grate:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_ground:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_leaf1:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_leaves:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_moon1:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_moon2:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_office1:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_parking:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_path:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_roof1:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_rope:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_sand:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_sign:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_teeth:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_wall1:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_water1:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_water2:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/mat_revert_mk64_window1:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/minimap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/minimap.png
--------------------------------------------------------------------------------
/assets/tracks/harbour/moon1.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/moon1.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/moon2.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/moon2.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/noparking.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/noparking.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/office1.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/office1.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/parascode.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/parascode.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/paraseye.rgba32:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/paraseye.rgba32
--------------------------------------------------------------------------------
/assets/tracks/harbour/parking.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/parking.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/pirate.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/pirate.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/road4.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/road4.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/rope.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/rope.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/sand.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/sand.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/seamless-green-lush-grass-texture-seamless-green-lush-grass-texture-fresh-backdrop-144751691.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/seamless-green-lush-grass-texture-seamless-green-lush-grass-texture-fresh-backdrop-144751691.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/seamless-wood-texture-free-76.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/seamless-wood-texture-free-76.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/superFXSteel.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/superFXSteel.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/teeth1.rgba32:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/teeth1.rgba32
--------------------------------------------------------------------------------
/assets/tracks/harbour/water1.rgba32:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/water1.rgba32
--------------------------------------------------------------------------------
/assets/tracks/harbour/water1_mesh_tri_0:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/water1_mesh_tri_1:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/water1_mesh_vtx_0:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/water1_mesh_vtx_1:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/assets/tracks/harbour/water3.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/water3.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/window.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/window.rgba16
--------------------------------------------------------------------------------
/assets/tracks/harbour/woodPlanks1.rgba16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/assets/tracks/harbour/woodPlanks1.rgba16
--------------------------------------------------------------------------------
/cmake/lus-cvars.cmake:
--------------------------------------------------------------------------------
1 | # kept for future reference
2 | #set(CVAR_VSYNC_ENABLED "${CVAR_PREFIX_SETTING}.VsyncEnabled")
3 | include("libultraship/cmake/cvars.cmake")
4 |
--------------------------------------------------------------------------------
/courses/big_donut/course_offsets.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include "course_offsets.h"
3 |
4 |
5 |
--------------------------------------------------------------------------------
/courses/block_fort/course_offsets.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include "course_offsets.h"
3 | #include
4 |
--------------------------------------------------------------------------------
/courses/double_deck/course_offsets.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include "course_offsets.h"
3 |
--------------------------------------------------------------------------------
/courses/luigi_raceway/course_displaylists.h:
--------------------------------------------------------------------------------
1 | #include
2 | #include "macros.h"
3 |
4 | #define d_course_luigi_raceway_packed_end GET_PACKED_END(d_course_luigi_raceway_packed_dl_C730)
5 |
--------------------------------------------------------------------------------
/courses/mario_raceway/course_displaylists.h:
--------------------------------------------------------------------------------
1 | #ifndef MARIO_RACEWAY_DISPLAYLISTS_H
2 | #define MARIO_RACEWAY_DISPLAYLISTS_H
3 |
4 | #include
5 | #include "macros.h"
6 |
7 | #define d_course_mario_raceway_packed_end GET_PACKED_END(d_course_mario_raceway_packed_dl_6928)
8 |
9 | #endif // MARIO_RACEWAY_DISPLAYLISTS_H
10 |
--------------------------------------------------------------------------------
/courses/staff_ghost_data.h:
--------------------------------------------------------------------------------
1 | #ifndef _STAFF_GHOST_DATA
2 | #define _STAFF_GHOST_DATA
3 |
4 | #include
5 | #include
6 | #include
7 |
8 | extern StaffGhost d_mario_raceway_staff_ghost[];
9 | extern StaffGhost d_royal_raceway_staff_ghost[];
10 | extern StaffGhost d_luigi_raceway_staff_ghost[];
11 |
12 |
13 |
14 | #endif // _STAFF_GHOST_DATA
--------------------------------------------------------------------------------
/docs/MK64_Spaghetti_Adjusted_Kart_Setup.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/docs/MK64_Spaghetti_Adjusted_Kart_Setup.blend
--------------------------------------------------------------------------------
/docs/actors/items.md:
--------------------------------------------------------------------------------
1 | @page items Items
2 |
--------------------------------------------------------------------------------
/docs/actors/objects.md:
--------------------------------------------------------------------------------
1 | @page objects Objects
2 | # Objects
3 |
--------------------------------------------------------------------------------
/docs/actors/vehicles.md:
--------------------------------------------------------------------------------
1 | @page vehicles Vehicles
2 |
3 | [TOC]
4 |
5 | See vehicles.h for defines and other configurable options. This includes how many of each vehicle to spawn.
6 |
7 | The game evenly disperses vehicles around their path even when spawning extra vehicles.
8 |
9 | # Trains
10 | * Follows a path containing only an x and z coordinate.
11 | * Y coordinate is hard-coded.
12 | * Some of the train path is generated to save space.
13 |
14 |
15 | # Cars & Trucks
16 |
17 |
18 | # Boats
19 |
--------------------------------------------------------------------------------
/docs/basics/placeholder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/docs/basics/placeholder.png
--------------------------------------------------------------------------------
/docs/change_viewport.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/docs/change_viewport.png
--------------------------------------------------------------------------------
/docs/courses/courses.md:
--------------------------------------------------------------------------------
1 | \page courses Courses
2 | # Courses
3 |
4 |
--------------------------------------------------------------------------------
/docs/html/buttonimage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/docs/html/buttonimage.png
--------------------------------------------------------------------------------
/docs/images/buttonimage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/docs/images/buttonimage.png
--------------------------------------------------------------------------------
/docs/poweredbylus.darkmode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/docs/poweredbylus.darkmode.png
--------------------------------------------------------------------------------
/docs/poweredbylus.lightmode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/docs/poweredbylus.lightmode.png
--------------------------------------------------------------------------------
/docs/spaghettigithublight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/docs/spaghettigithublight.png
--------------------------------------------------------------------------------
/docs/spaghettigithubnight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/docs/spaghettigithubnight.png
--------------------------------------------------------------------------------
/docs/tutorials/audio.md:
--------------------------------------------------------------------------------
1 | @page tutorialaudio Audio
2 |
--------------------------------------------------------------------------------
/docs/tutorials/boostramps.md:
--------------------------------------------------------------------------------
1 | \page boostramps Boost Ramps
2 | # Boost Ramps
3 |
4 | Boost ramps use a surface-type and is part of the course geography.
5 |
--------------------------------------------------------------------------------
/docs/tutorials/paths.md:
--------------------------------------------------------------------------------
1 | @page paths Paths
2 | The game uses multiple types of course paths
3 |
4 | # Course Paths
5 | Used by courses
6 |
7 |
8 | # Horizontal Paths (no Y coordinate)
9 | Used by the train
10 |
11 | # Camera Rails
12 | Pathing for the camera during end of race scene, podium ceremony, and credits.
13 |
--------------------------------------------------------------------------------
/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/icon.png
--------------------------------------------------------------------------------
/include/PR/libaudio.h:
--------------------------------------------------------------------------------
1 | #ifndef _ULTRA64_LIBAUDIO_H_
2 | #define _ULTRA64_LIBAUDIO_H_
3 |
4 | #include
5 |
6 | typedef struct {
7 | u8* offset;
8 | s32 len;
9 | } ALSeqData;
10 |
11 | typedef struct {
12 | s16 revision;
13 | s16 seqCount;
14 | ALSeqData seqArray[1];
15 | } ALSeqFile;
16 |
17 | void alSeqFileNew(ALSeqFile* f, u8* base);
18 |
19 | #endif
20 |
--------------------------------------------------------------------------------
/include/assets/banshee_boardwalk_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_banshee_boardwalk_packed_dls[] = "__OTR__banshee_boardwalk_displaylists/d_course_banshee_boardwalk_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/banshee_boardwalk_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_banshee_boardwalk_vertex[] = "__OTR__banshee_boardwalk_vertices/d_course_banshee_boardwalk_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/big_donut_data.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_big_donut_dl[] = "__OTR__big_donut_data/d_course_big_donut_dl";
8 |
9 | static const ALIGN_ASSET(2) char d_course_big_donut_item_box_spawns[] = "__OTR__big_donut_data/d_course_big_donut_item_box_spawns";
10 |
11 |
--------------------------------------------------------------------------------
/include/assets/big_donut_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_big_donut_packed_dls[] = "__OTR__big_donut_displaylists/d_course_big_donut_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/big_donut_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_big_donut_vertex[] = "__OTR__big_donut_vertices/d_course_big_donut_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/block_fort_data.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_block_fort_dl[] = "__OTR__block_fort_data/d_course_block_fort_dl";
8 |
9 | static const ALIGN_ASSET(2) char d_course_block_fort_item_box_spawns[] = "__OTR__block_fort_data/d_course_block_fort_item_box_spawns";
10 |
11 |
--------------------------------------------------------------------------------
/include/assets/block_fort_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_block_fort_packed_dls[] = "__OTR__block_fort_displaylists/d_course_block_fort_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/block_fort_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_block_fort_vertex[] = "__OTR__block_fort_vertices/d_course_block_fort_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/bowsers_castle_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_bowsers_castle_packed_dls[] = "__OTR__bowsers_castle_displaylists/d_course_bowsers_castle_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/bowsers_castle_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_bowsers_castle_vertex[] = "__OTR__bowsers_castle_vertices/d_course_bowsers_castle_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/choco_mountain_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_choco_mountain_packed_dls[] = "__OTR__choco_mountain_displaylists/d_course_choco_mountain_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/choco_mountain_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_choco_mountain_vertex[] = "__OTR__choco_mountain_vertices/d_course_choco_mountain_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/dks_jungle_parkway_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_dks_jungle_parkway_packed_dls[] = "__OTR__dks_jungle_parkway_displaylists/d_course_dks_jungle_parkway_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/dks_jungle_parkway_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_dks_jungle_parkway_vertex[] = "__OTR__dks_jungle_parkway_vertices/d_course_dks_jungle_parkway_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/double_deck_data.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_double_deck_dl[] = "__OTR__double_deck_data/d_course_double_deck_dl";
8 |
9 | static const ALIGN_ASSET(2) char d_course_double_deck_item_box_spawns[] = "__OTR__double_deck_data/d_course_double_deck_item_box_spawns";
10 |
11 |
--------------------------------------------------------------------------------
/include/assets/double_deck_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_double_deck_packed_dls[] = "__OTR__double_deck_displaylists/d_course_double_deck_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/double_deck_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_double_deck_vertex[] = "__OTR__double_deck_vertices/d_course_double_deck_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/frappe_snowland_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_frappe_snowland_packed_dls[] = "__OTR__frappe_snowland_displaylists/d_course_frappe_snowland_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/frappe_snowland_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_frappe_snowland_vertex[] = "__OTR__frappe_snowland_vertices/d_course_frappe_snowland_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/kalimari_desert_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_kalimari_desert_packed_dls[] = "__OTR__kalimari_desert_displaylists/d_course_kalimari_desert_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/kalimari_desert_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_kalimari_desert_vertex[] = "__OTR__kalimari_desert_vertices/d_course_kalimari_desert_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/koopa_troopa_beach_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_koopa_troopa_beach_packed_dls[] = "__OTR__koopa_troopa_beach_displaylists/d_course_koopa_troopa_beach_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/koopa_troopa_beach_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_koopa_troopa_beach_vertex[] = "__OTR__koopa_troopa_beach_vertices/d_course_koopa_troopa_beach_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/luigi_raceway_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_luigi_raceway_packed_dls[] = "__OTR__luigi_raceway_displaylists/d_course_mario_raceway_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/luigi_raceway_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_luigi_raceway_vertex[] = "__OTR__luigi_raceway_vertices/d_course_luigi_raceway_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/mario_raceway_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_mario_raceway_packed_dls[] = "__OTR__mario_raceway_displaylists/d_course_mario_raceway_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/mario_raceway_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_mario_raceway_vertex[] = "__OTR__mario_raceway_vertices/d_course_mario_raceway_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/moo_moo_farm_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_moo_moo_farm_packed_dls[] = "__OTR__moo_moo_farm_displaylists/d_course_moo_moo_farm_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/moo_moo_farm_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_moo_moo_farm_vertex[] = "__OTR__moo_moo_farm_vertices/d_course_moo_moo_farm_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/rainbow_road_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_rainbow_road_packed_dls[] = "__OTR__rainbow_road_displaylists/d_course_rainbow_road_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/rainbow_road_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_rainbow_road_vertex[] = "__OTR__rainbow_road_vertices/d_course_rainbow_road_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/royal_raceway_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_royal_raceway_packed_dls[] = "__OTR__royal_raceway_displaylists/d_course_royal_raceway_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/royal_raceway_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_royal_raceway_vertex[] = "__OTR__royal_raceway_vertices/d_course_royal_raceway_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/sherbet_land_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_sherbet_land_packed_dls[] = "__OTR__sherbet_land_displaylists/d_course_sherbet_land_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/sherbet_land_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_sherbet_land_vertex[] = "__OTR__sherbet_land_vertices/d_course_sherbet_land_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/skyscraper_data.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_skyscraper_dl[] = "__OTR__skyscraper_data/d_course_skyscraper_dl";
8 |
9 | static const ALIGN_ASSET(2) char d_course_skyscraper_item_box_spawns[] = "__OTR__skyscraper_data/d_course_skyscraper_item_box_spawns";
10 |
11 |
--------------------------------------------------------------------------------
/include/assets/skyscraper_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_skyscraper_packed_dls[] = "__OTR__skyscraper_displaylists/d_course_skyscraper_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/skyscraper_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_skyscraper_vertex[] = "__OTR__skyscraper_vertices/d_course_skyscraper_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/some_data.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char gTLUTOnomatopoeia[] = "__OTR__some_data/gTLUTOnomatopoeia";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/sound/root.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | static const ALIGN_ASSET(2) char gSeqFontTableInit[] = "__OTR__sound/root/audio_seq_font_table";
6 |
7 |
--------------------------------------------------------------------------------
/include/assets/toads_turnpike_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_toads_turnpike_packed_dls[] = "__OTR__toads_turnpike_displaylists/d_course_toads_turnpike_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/toads_turnpike_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_toads_turnpike_vertex[] = "__OTR__toads_turnpike_vertices/d_course_toads_turnpike_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/wario_stadium_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_wario_stadium_packed_dls[] = "__OTR__wario_stadium_displaylists/d_course_wario_stadium_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/wario_stadium_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_wario_stadium_vertex[] = "__OTR__wario_stadium_vertices/d_course_wario_stadium_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/yoshi_valley_displaylists.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_yoshi_valley_packed_dls[] = "__OTR__yoshi_valley_displaylists/d_course_yoshi_valley_packed_dls";
8 |
9 |
--------------------------------------------------------------------------------
/include/assets/yoshi_valley_vertices.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static const ALIGN_ASSET(2) char d_course_yoshi_valley_vertex[] = "__OTR__yoshi_valley_vertices/d_course_yoshi_valley_vertex";
8 |
9 |
--------------------------------------------------------------------------------
/include/course.h:
--------------------------------------------------------------------------------
1 | #ifndef COURSE_H
2 | #define COURSE_H
3 |
4 | #include
5 | #include
6 | #include
7 |
8 | /**
9 | * @file Include for course gfx.inc.c.
10 | */
11 |
12 | typedef struct {
13 | Gfx* addr;
14 | u8 surfaceType;
15 | u8 sectionId;
16 | u16 flags;
17 | } TrackSections;
18 |
19 | #endif // COURSE_H
20 |
--------------------------------------------------------------------------------
/include/decode.h:
--------------------------------------------------------------------------------
1 | #ifndef _FUNCTIONS_H_
2 | #define _FUNCTIONS_H_
3 |
4 | #include
5 | #ifdef TARGET_N64
6 | void mio0decode(u8* arg0, u8* arg1);
7 | #endif
8 |
9 | // Unused mio0decode function.
10 | void func_80040030(u8* arg0, u8* arg1);
11 |
12 | #endif
13 |
--------------------------------------------------------------------------------
/include/libc/math.h:
--------------------------------------------------------------------------------
1 | #ifndef MATH_H
2 | #define MATH_H
3 |
4 | #define M_PI 3.14159265358979323846
5 |
6 | float sinf(float);
7 | double sin(double);
8 | float cosf(float);
9 | double cos(double);
10 |
11 | float sqrtf(float);
12 |
13 | #endif
14 |
--------------------------------------------------------------------------------
/include/libc/stddef.h:
--------------------------------------------------------------------------------
1 | #ifndef STDDEF_H
2 | #define STDDEF_H
3 |
4 | #ifndef TARGET_N64
5 | #include
6 | #else
7 | #include
8 | #endif
9 |
10 | #ifndef offsetof
11 | #define offsetof(st, m) ((size_t) & (((st*) 0)->m))
12 | #endif
13 |
14 | #endif
15 |
--------------------------------------------------------------------------------
/include/libc/stdio.h:
--------------------------------------------------------------------------------
1 | #ifndef STDIO_H
2 | #define STDIO_H
3 |
4 | extern int sprintf(char* s, const char* fmt, ...);
5 |
6 | #endif
7 |
--------------------------------------------------------------------------------
/include/libc/stdlib.h:
--------------------------------------------------------------------------------
1 | #ifndef STDLIB_H
2 | #define STDLIB_H
3 |
4 | typedef struct lldiv_t {
5 | long long quot;
6 | long long rem;
7 | } lldiv_t;
8 |
9 | typedef struct ldiv_t {
10 | long quot;
11 | long rem;
12 | } ldiv_t;
13 |
14 | lldiv_t lldiv(long long num, long long denom);
15 | ldiv_t ldiv(long num, long denom);
16 |
17 | #endif
18 |
--------------------------------------------------------------------------------
/include/libc/string.h:
--------------------------------------------------------------------------------
1 | #ifndef STRING_H
2 | #define STRING_H
3 |
4 | #ifndef TARGET_N64
5 | #include
6 | #else
7 | #include
8 | #endif
9 |
10 | void* memcpy(void* dst, const void* src, size_t size);
11 | size_t strlen(const char* str);
12 | char* strchr(const char* str, s32 ch);
13 |
14 | #endif
15 |
--------------------------------------------------------------------------------
/libultraship/.github/workflows/apt-deps.txt:
--------------------------------------------------------------------------------
1 | libsdl2-dev libpng-dev libglew-dev libzip-dev zipcmp zipmerge ziptool ninja-build nlohmann-json3-dev libtinyxml2-dev libspdlog-dev
--------------------------------------------------------------------------------
/libultraship/.github/workflows/brew-deps.txt:
--------------------------------------------------------------------------------
1 | sdl2 libpng glew ninja libzip nlohmann-json tinyxml2 spdlog
--------------------------------------------------------------------------------
/libultraship/cmake/dependencies/linux.cmake:
--------------------------------------------------------------------------------
1 | #=================== ImGui ===================
2 | find_package(SDL2 REQUIRED)
3 | target_link_libraries(ImGui PUBLIC SDL2::SDL2)
4 |
5 | if (USE_OPENGLES)
6 | target_link_libraries(ImGui PUBLIC ${OPENGL_GLESv2_LIBRARY})
7 | add_compile_definitions(IMGUI_IMPL_OPENGL_ES3)
8 | else()
9 | target_link_libraries(ImGui PUBLIC ${OPENGL_opengl_LIBRARY})
10 | endif()
11 |
--------------------------------------------------------------------------------
/libultraship/cmake/dependencies/windows.cmake:
--------------------------------------------------------------------------------
1 | #=================== ImGui ===================
2 | target_sources(ImGui
3 | PRIVATE
4 | ${imgui_SOURCE_DIR}/backends/imgui_impl_dx11.cpp
5 | ${imgui_SOURCE_DIR}/backends/imgui_impl_win32.cpp
6 | )
7 |
8 | find_package(SDL2 CONFIG REQUIRED)
9 | target_link_libraries(ImGui PUBLIC SDL2::SDL2 SDL2::SDL2main)
10 |
11 | find_package(GLEW REQUIRED)
12 | target_link_libraries(ImGui PUBLIC opengl32 GLEW::GLEW)
13 |
--------------------------------------------------------------------------------
/libultraship/include/libultraship/bridge.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "public/bridge/resourcebridge.h"
4 | #include "public/bridge/audiobridge.h"
5 | #include "public/bridge/controllerbridge.h"
6 | #include "public/bridge/windowbridge.h"
7 | #include "public/bridge/consolevariablebridge.h"
8 | #include "public/bridge/crashhandlerbridge.h"
9 | #include "public/bridge/gfxdebuggerbridge.h"
10 | #include "public/bridge/gfxbridge.h"
11 |
--------------------------------------------------------------------------------
/libultraship/include/libultraship/libultra/eeprom.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "message.h"
4 |
5 | #define EEPROM_TYPE_4K 0x01
6 | #define EEPROM_TYPE_16K 0x02
7 |
8 | #ifdef __cplusplus
9 | extern "C" {
10 | #endif
11 |
12 | int32_t osEepromProbe(OSMesgQueue*);
13 | int32_t osEepromLongRead(OSMesgQueue*, uint8_t, uint8_t*, int32_t);
14 | int32_t osEepromLongWrite(OSMesgQueue*, uint8_t, uint8_t*, int32_t);
15 |
16 | #ifdef __cplusplus
17 | }
18 | #endif
19 |
--------------------------------------------------------------------------------
/libultraship/include/libultraship/libultra/interrupt.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | typedef uint32_t OSIntMask;
6 |
--------------------------------------------------------------------------------
/libultraship/include/libultraship/libultra/time.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "message.h"
4 |
5 | typedef u64 OSTime;
6 |
7 | typedef struct OSTimer {
8 | /* 0x00 */ struct OSTimer* next;
9 | /* 0x04 */ struct OSTimer* prev;
10 | /* 0x08 */ OSTime interval;
11 | /* 0x10 */ OSTime value;
12 | /* 0x18 */ OSMesgQueue* mq;
13 | /* 0x1C */ OSMesg msg;
14 | } OSTimer; // size = 0x20
15 |
--------------------------------------------------------------------------------
/libultraship/include/libultraship/libultraship.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "libultra.h"
4 | #include "bridge.h"
5 | #include "color.h"
6 | #include "luslog.h"
7 |
8 | #ifdef __cplusplus
9 | #include "classes.h"
10 | #endif
11 |
--------------------------------------------------------------------------------
/libultraship/include/libultraship/luslog.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "log/luslog.h"
4 |
--------------------------------------------------------------------------------
/libultraship/src/controller/controldevice/ControlDevice.cpp:
--------------------------------------------------------------------------------
1 | #include "ControlDevice.h"
2 |
3 | namespace Ship {
4 | ControlDevice::ControlDevice(uint8_t portIndex) : mPortIndex(portIndex) {
5 | }
6 |
7 | ControlDevice::~ControlDevice() {
8 | }
9 |
10 | } // namespace Ship
11 |
--------------------------------------------------------------------------------
/libultraship/src/controller/controldevice/ControlDevice.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | namespace Ship {
6 | class ControlDevice {
7 | public:
8 | ControlDevice(uint8_t portIndex);
9 | virtual ~ControlDevice();
10 |
11 | protected:
12 | uint8_t mPortIndex;
13 | };
14 | } // namespace Ship
15 |
--------------------------------------------------------------------------------
/libultraship/src/controller/controldevice/controller/mapping/ControllerInputMapping.cpp:
--------------------------------------------------------------------------------
1 | #include "ControllerInputMapping.h"
2 |
3 | namespace Ship {
4 | ControllerInputMapping::ControllerInputMapping(PhysicalDeviceType physicalDeviceType)
5 | : ControllerMapping(physicalDeviceType) {
6 | }
7 |
8 | ControllerInputMapping::~ControllerInputMapping() {
9 | }
10 |
11 | std::string ControllerInputMapping::GetPhysicalInputName() {
12 | return "Unknown";
13 | }
14 | } // namespace Ship
15 |
--------------------------------------------------------------------------------
/libultraship/src/controller/controldevice/controller/mapping/ControllerInputMapping.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "ControllerMapping.h"
5 |
6 | namespace Ship {
7 |
8 | class ControllerInputMapping : public ControllerMapping {
9 | public:
10 | ControllerInputMapping(PhysicalDeviceType physicalDeviceType);
11 | ~ControllerInputMapping();
12 | virtual std::string GetPhysicalInputName();
13 | };
14 | } // namespace Ship
15 |
--------------------------------------------------------------------------------
/libultraship/src/controller/controldevice/controller/mapping/sdl/SDLMapping.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | namespace Ship {
6 |
7 | enum Axis { X = 0, Y = 1 };
8 | enum AxisDirection { NEGATIVE = -1, POSITIVE = 1 };
9 |
10 | } // namespace Ship
11 |
--------------------------------------------------------------------------------
/libultraship/src/controller/physicaldevice/PhysicalDeviceType.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | namespace Ship {
4 |
5 | enum PhysicalDeviceType { Keyboard = 0, Mouse = 1, SDLGamepad = 2, Max = 3 };
6 |
7 | } // namespace Ship
8 |
--------------------------------------------------------------------------------
/libultraship/src/controller/physicaldevice/SDLAddRemoveDeviceEventHandler.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "window/gui/GuiWindow.h"
4 |
5 | namespace Ship {
6 |
7 | class SDLAddRemoveDeviceEventHandler : public GuiWindow {
8 | public:
9 | using GuiWindow::GuiWindow;
10 | virtual ~SDLAddRemoveDeviceEventHandler();
11 |
12 | protected:
13 | void InitElement() override;
14 | void DrawElement() override;
15 | void UpdateElement() override;
16 | };
17 | } // namespace Ship
18 |
--------------------------------------------------------------------------------
/libultraship/src/graphic/Fast3D/.gitrepo:
--------------------------------------------------------------------------------
1 | ; DO NOT EDIT (unless you know what you are doing)
2 | ;
3 | ; This subdirectory is a git "subrepo", and this file is maintained by the
4 | ; git-subrepo command. See https://github.com/git-commands/git-subrepo#readme
5 | ;
6 | [subrepo]
7 | remote = https://github.com/Emill/n64-fast3d-engine
8 | branch = master
9 | commit = 7353aa30570682ef3bfe31cffc115f1561163270
10 | parent = 36d578a78dff501c380e24b2c41fda62c173ea20
11 | method = merge
12 | cmdver = 0.4.3
13 |
--------------------------------------------------------------------------------
/libultraship/src/graphic/Fast3D/backends/gfx_direct3d11.h:
--------------------------------------------------------------------------------
1 | #ifdef ENABLE_DX11
2 |
3 | #ifndef GFX_DIRECT3D11_H
4 | #define GFX_DIRECT3D11_H
5 |
6 | #include "gfx_rendering_api.h"
7 | #include
8 |
9 | #endif
10 |
11 | #endif
12 |
--------------------------------------------------------------------------------
/libultraship/src/graphic/Fast3D/backends/gfx_direct3d_common.cpp:
--------------------------------------------------------------------------------
1 | #if defined(ENABLE_DX11) || defined(ENABLE_DX12)
2 |
3 | #include
4 |
5 | #endif
6 |
--------------------------------------------------------------------------------
/libultraship/src/graphic/Fast3D/backends/gfx_screen_config.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #define DESIRED_SCREEN_WIDTH 640
4 | #define DESIRED_SCREEN_HEIGHT 480
5 |
--------------------------------------------------------------------------------
/libultraship/src/install_config.h.in:
--------------------------------------------------------------------------------
1 | #define CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@"
2 | #cmakedefine NON_PORTABLE
--------------------------------------------------------------------------------
/libultraship/src/port/mobile/MobileImpl.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 |
6 | #include
7 |
8 | namespace Ship {
9 |
10 | class Mobile {
11 | public:
12 | static void ImGuiProcessEvent(bool wantsTextInput);
13 | static bool IsUsingTouchscreenControls();
14 | static void EnableTouchArea();
15 | static void DisableTouchArea();
16 | static float GetCameraYaw();
17 | static float GetCameraPitch();
18 | };
19 | }; // namespace Ship
20 |
--------------------------------------------------------------------------------
/libultraship/src/public/bridge/controllerbridge.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | #ifdef __cplusplus
6 | extern "C" {
7 | #endif
8 |
9 | void ControllerBlockGameInput(uint16_t inputBlockId);
10 | void ControllerUnblockGameInput(uint16_t inputBlockId);
11 |
12 | #ifdef __cplusplus
13 | };
14 | #endif
15 |
--------------------------------------------------------------------------------
/libultraship/src/public/bridge/crashhandlerbridge.cpp:
--------------------------------------------------------------------------------
1 | #include "crashhandlerbridge.h"
2 | #include "Context.h"
3 | #include "debug/CrashHandler.h"
4 |
5 | void CrashHandlerRegisterCallback(CrashHandlerCallback callback) {
6 | Ship::Context::GetInstance()->GetCrashHandler()->RegisterCallback(callback);
7 | }
8 |
--------------------------------------------------------------------------------
/libultraship/src/public/bridge/crashhandlerbridge.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | typedef void (*CrashHandlerCallback)(char*, size_t*);
6 |
7 | #ifdef __cplusplus
8 | extern "C" {
9 | #endif
10 |
11 | void CrashHandlerRegisterCallback(CrashHandlerCallback callback);
12 |
13 | #ifdef __cplusplus
14 | }
15 | #endif
16 |
--------------------------------------------------------------------------------
/libultraship/src/public/bridge/gfxdebuggerbridge.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | void GfxDebuggerRequestDebugging();
11 | bool GfxDebuggerIsDebugging();
12 | bool GfxDebuggerIsDebuggingRequested();
13 | void GfxDebuggerDebugDisplayList(void* cmds);
14 |
15 | #ifdef __cplusplus
16 | };
17 | #endif
18 |
--------------------------------------------------------------------------------
/libultraship/src/public/bridge/windowbridge.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "stdint.h"
4 |
5 | #ifdef __cplusplus
6 | extern "C" {
7 | #endif
8 |
9 | bool WindowIsRunning();
10 | uint32_t WindowGetWidth();
11 | uint32_t WindowGetHeight();
12 | float WindowGetAspectRatio();
13 | int32_t WindowGetPosX();
14 | int32_t WindowGetPosY();
15 | bool WindowIsFullscreen();
16 |
17 | #ifdef __cplusplus
18 | };
19 | #endif
20 |
--------------------------------------------------------------------------------
/libultraship/src/public/libultra/os_cache.cpp:
--------------------------------------------------------------------------------
1 | #include "libultraship/libultraship.h"
2 |
3 | extern "C" {
4 |
5 | void osWritebackDCacheAll() {
6 | }
7 |
8 | void osInvalICache(void* p, int32_t x) {
9 | }
10 |
11 | void osWritebackDCache(void* p, int32_t x) {
12 | }
13 |
14 | void osInvalDCache(void* p, int32_t l) {
15 | }
16 | }
--------------------------------------------------------------------------------
/libultraship/src/public/libultra/os_vm.cpp:
--------------------------------------------------------------------------------
1 | #include "libultraship/libultraship.h"
2 |
3 | extern "C" {
4 |
5 | uintptr_t osVirtualToPhysical(void* addr) {
6 | return (uintptr_t)addr;
7 | }
8 |
9 | void osMapTLB(int32_t a, uint32_t b, void* c, uint32_t d, uint32_t e, uint32_t f) {
10 | }
11 | }
--------------------------------------------------------------------------------
/libultraship/src/resource/ResourceFactoryBinary.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "ResourceFactory.h"
4 |
5 | namespace Ship {
6 | class ResourceFactoryBinary : public ResourceFactory {
7 | protected:
8 | bool FileHasValidFormatAndReader(std::shared_ptr file,
9 | std::shared_ptr initData) override;
10 | };
11 | } // namespace Ship
12 |
--------------------------------------------------------------------------------
/libultraship/src/resource/ResourceFactoryXML.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "ResourceFactory.h"
4 |
5 | namespace Ship {
6 | class ResourceFactoryXML : public ResourceFactory {
7 | protected:
8 | bool FileHasValidFormatAndReader(std::shared_ptr file,
9 | std::shared_ptr initData) override;
10 | };
11 | } // namespace Ship
12 |
--------------------------------------------------------------------------------
/libultraship/src/resource/factory/BlobFactory.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "resource/Resource.h"
4 | #include "resource/ResourceFactoryBinary.h"
5 |
6 | namespace Ship {
7 | class ResourceFactoryBinaryBlobV0 final : public Ship::ResourceFactoryBinary {
8 | public:
9 | std::shared_ptr ReadResource(std::shared_ptr file,
10 | std::shared_ptr initData) override;
11 | };
12 | }; // namespace Ship
13 |
--------------------------------------------------------------------------------
/libultraship/src/resource/factory/JsonFactory.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "resource/Resource.h"
4 | #include "resource/ResourceFactoryBinary.h"
5 |
6 | namespace Ship {
7 | class ResourceFactoryBinaryJsonV0 final : public ResourceFactoryBinary {
8 | public:
9 | std::shared_ptr ReadResource(std::shared_ptr file,
10 | std::shared_ptr initData) override;
11 | };
12 | }; // namespace Ship
13 |
--------------------------------------------------------------------------------
/libultraship/src/resource/factory/LightFactory.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "resource/Resource.h"
4 | #include "resource/ResourceFactoryBinary.h"
5 |
6 | namespace Fast {
7 | class ResourceFactoryBinaryLightV0 final : public Ship::ResourceFactoryBinary {
8 | public:
9 | std::shared_ptr ReadResource(std::shared_ptr file,
10 | std::shared_ptr initData) override;
11 | };
12 | } // namespace Fast
--------------------------------------------------------------------------------
/libultraship/src/resource/factory/MatrixFactory.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "resource/Resource.h"
4 | #include "resource/ResourceFactoryBinary.h"
5 |
6 | namespace Fast {
7 | class ResourceFactoryBinaryMatrixV0 final : public Ship::ResourceFactoryBinary {
8 | public:
9 | std::shared_ptr ReadResource(std::shared_ptr file,
10 | std::shared_ptr initData) override;
11 | };
12 | } // namespace Fast
13 |
--------------------------------------------------------------------------------
/libultraship/src/resource/type/Blob.cpp:
--------------------------------------------------------------------------------
1 | #include "Blob.h"
2 |
3 | namespace Ship {
4 | Blob::Blob() : Resource(std::shared_ptr()) {
5 | }
6 |
7 | void* Blob::GetPointer() {
8 | return Data.data();
9 | }
10 |
11 | size_t Blob::GetPointerSize() {
12 | return Data.size() * sizeof(uint8_t);
13 | }
14 | } // namespace Ship
15 |
--------------------------------------------------------------------------------
/libultraship/src/resource/type/Blob.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "resource/Resource.h"
4 |
5 | namespace Ship {
6 | class Blob final : public Ship::Resource {
7 | public:
8 | using Resource::Resource;
9 |
10 | Blob();
11 |
12 | void* GetPointer() override;
13 | size_t GetPointerSize() override;
14 |
15 | std::vector Data;
16 | };
17 | }; // namespace Ship
18 |
--------------------------------------------------------------------------------
/libultraship/src/resource/type/Json.cpp:
--------------------------------------------------------------------------------
1 | #include "Json.h"
2 |
3 | namespace Ship {
4 | Json::Json() : Resource(std::shared_ptr()) {
5 | }
6 |
7 | void* Json::GetPointer() {
8 | return &Data;
9 | }
10 |
11 | size_t Json::GetPointerSize() {
12 | return DataSize * sizeof(char);
13 | }
14 | } // namespace Ship
15 |
--------------------------------------------------------------------------------
/libultraship/src/resource/type/Json.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "resource/Resource.h"
4 | #include
5 |
6 | namespace Ship {
7 |
8 | class Json final : public Resource {
9 | public:
10 | using Resource::Resource;
11 |
12 | Json();
13 |
14 | void* GetPointer() override;
15 | size_t GetPointerSize() override;
16 |
17 | nlohmann::json Data;
18 | size_t DataSize;
19 | };
20 | }; // namespace Ship
21 |
--------------------------------------------------------------------------------
/libultraship/src/resource/type/Light.cpp:
--------------------------------------------------------------------------------
1 | #include "Light.h"
2 |
3 | namespace Fast {
4 | LightEntry* Light::GetPointer() {
5 | return &mLight;
6 | }
7 |
8 | size_t Light::GetPointerSize() {
9 | return sizeof(mLight);
10 | }
11 | } // namespace Fast
--------------------------------------------------------------------------------
/libultraship/src/resource/type/Matrix.cpp:
--------------------------------------------------------------------------------
1 | #include "resource/type/Matrix.h"
2 |
3 | namespace Fast {
4 | Matrix::Matrix() : Resource(std::shared_ptr()) {
5 | }
6 |
7 | Mtx* Matrix::GetPointer() {
8 | return &Matrx;
9 | }
10 |
11 | size_t Matrix::GetPointerSize() {
12 | return sizeof(Mtx);
13 | }
14 | } // namespace Fast
15 |
--------------------------------------------------------------------------------
/libultraship/src/resource/type/Matrix.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "resource/Resource.h"
4 | #include "libultraship/libultra/types.h"
5 |
6 | namespace Fast {
7 | class Matrix final : public Ship::Resource {
8 | public:
9 | using Resource::Resource;
10 |
11 | Matrix();
12 |
13 | Mtx* GetPointer() override;
14 | size_t GetPointerSize() override;
15 |
16 | Mtx Matrx;
17 | };
18 | } // namespace Fast
19 |
--------------------------------------------------------------------------------
/libultraship/src/resource/type/Shader.cpp:
--------------------------------------------------------------------------------
1 | #include "Shader.h"
2 |
3 | namespace Ship {
4 | Shader::Shader() : Resource(std::shared_ptr()) {
5 | }
6 |
7 | void* Shader::GetPointer() {
8 | return &Data;
9 | }
10 |
11 | size_t Shader::GetPointerSize() {
12 | return Data.size();
13 | }
14 | } // namespace Ship
15 |
--------------------------------------------------------------------------------
/libultraship/src/resource/type/Shader.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "resource/Resource.h"
4 | namespace Ship {
5 |
6 | class Shader final : public Resource {
7 | public:
8 | using Resource::Resource;
9 |
10 | Shader();
11 |
12 | void* GetPointer() override;
13 | size_t GetPointerSize() override;
14 |
15 | std::string Data;
16 | };
17 | }; // namespace Ship
18 |
--------------------------------------------------------------------------------
/libultraship/src/resource/type/Texture.cpp:
--------------------------------------------------------------------------------
1 | #include "resource/type/Texture.h"
2 |
3 | namespace Fast {
4 | Texture::Texture() : Resource(std::shared_ptr()) {
5 | }
6 |
7 | uint8_t* Texture::GetPointer() {
8 | return ImageData;
9 | }
10 |
11 | size_t Texture::GetPointerSize() {
12 | return ImageDataSize;
13 | }
14 |
15 | Texture::~Texture() {
16 | if (ImageData != nullptr) {
17 | delete[] ImageData;
18 | }
19 | }
20 | } // namespace Fast
21 |
--------------------------------------------------------------------------------
/libultraship/src/resource/type/Vertex.cpp:
--------------------------------------------------------------------------------
1 | #include "resource/type/Vertex.h"
2 | #include "libultraship/libultra/gbi.h"
3 |
4 | namespace Fast {
5 | Vertex::Vertex() : Resource(std::shared_ptr()) {
6 | }
7 |
8 | Vtx* Vertex::GetPointer() {
9 | return VertexList.data();
10 | }
11 |
12 | size_t Vertex::GetPointerSize() {
13 | return VertexList.size() * sizeof(Vtx);
14 | }
15 | } // namespace Fast
16 |
--------------------------------------------------------------------------------
/libultraship/src/resource/type/Vertex.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "resource/Resource.h"
4 | #include
5 |
6 | union Vtx;
7 |
8 | namespace Fast {
9 | class Vertex final : public Ship::Resource {
10 | public:
11 | using Resource::Resource;
12 |
13 | Vertex();
14 |
15 | Vtx* GetPointer() override;
16 | size_t GetPointerSize() override;
17 |
18 | std::vector VertexList;
19 | };
20 | } // namespace Fast
21 |
--------------------------------------------------------------------------------
/libultraship/src/utils/binarytools/Stream.cpp:
--------------------------------------------------------------------------------
1 | #include "Stream.h"
2 |
3 | uint64_t Ship::Stream::GetBaseAddress() {
4 | return mBaseAddress;
5 | }
6 |
--------------------------------------------------------------------------------
/libultraship/src/utils/glob.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include
3 |
4 | #ifdef __cplusplus
5 | extern "C" {
6 | #endif
7 | bool glob_match(char const* pat, char const* str);
8 | #ifdef __cplusplus
9 | };
10 | #endif
--------------------------------------------------------------------------------
/libultraship/src/utils/macUtils.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #ifdef __cplusplus
5 | extern "C" {
6 | #endif
7 | void toggleNativeMacOSFullscreen(SDL_Window* window);
8 | bool isNativeMacOSFullscreenActive(SDL_Window* window);
9 | #ifdef __cplusplus
10 | }
11 | #endif
12 |
--------------------------------------------------------------------------------
/libultraship/src/utils/stox.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include
3 | #include
4 |
5 | namespace Ship {
6 | bool stob(const std::string& s, bool defaultVal = false);
7 | int32_t stoi(const std::string& s, int32_t defaultVal = 0);
8 | float stof(const std::string& s, float defaultVal = 1.0f);
9 | int64_t stoll(const std::string& s, int64_t defaultVal = 0);
10 | } // namespace Ship
--------------------------------------------------------------------------------
/libultraship/src/window/FileDropMgr.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | namespace Ship {
4 |
5 | class FileDropMgr {
6 | public:
7 | FileDropMgr() = default;
8 | ~FileDropMgr();
9 | void SetDroppedFile(char* path);
10 | void ClearDroppedFile();
11 | bool FileDropped() const;
12 | char* GetDroppedFile() const;
13 |
14 | private:
15 | char* mPath = nullptr;
16 | bool mFileDropped = false;
17 | };
18 |
19 | } // namespace Ship
20 |
--------------------------------------------------------------------------------
/libultraship/src/window/gui/StatsWindow.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "window/gui/GuiWindow.h"
4 |
5 | namespace Ship {
6 | class StatsWindow : public GuiWindow {
7 | public:
8 | using GuiWindow::GuiWindow;
9 | virtual ~StatsWindow();
10 |
11 | private:
12 | void InitElement() override;
13 | void DrawElement() override;
14 | void UpdateElement() override;
15 | };
16 | } // namespace Ship
--------------------------------------------------------------------------------
/libultraship/src/window/gui/resource/Font.cpp:
--------------------------------------------------------------------------------
1 | #include "Font.h"
2 |
3 | namespace Ship {
4 | Font::Font() : Resource(std::shared_ptr()) {
5 | }
6 |
7 | Font::~Font() {
8 | if (Data != nullptr) {
9 | delete[] Data;
10 | }
11 | }
12 |
13 | void* Font::GetPointer() {
14 | return Data;
15 | }
16 |
17 | size_t Font::GetPointerSize() {
18 | return DataSize * sizeof(char);
19 | }
20 | } // namespace Ship
21 |
--------------------------------------------------------------------------------
/libultraship/src/window/gui/resource/Font.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "resource/Resource.h"
4 |
5 | namespace Ship {
6 | #define RESOURCE_TYPE_FONT 0x464F4E54 // FONT
7 |
8 | class Font : public Resource {
9 | public:
10 | using Resource::Resource;
11 |
12 | Font();
13 | virtual ~Font();
14 |
15 | void* GetPointer() override;
16 | size_t GetPointerSize() override;
17 |
18 | char* Data = nullptr;
19 | size_t DataSize;
20 | };
21 | }; // namespace Ship
22 |
--------------------------------------------------------------------------------
/libultraship/src/window/gui/resource/FontFactory.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "resource/Resource.h"
4 | #include "resource/ResourceFactoryBinary.h"
5 |
6 | namespace Ship {
7 | class ResourceFactoryBinaryFontV0 final : public ResourceFactoryBinary {
8 | public:
9 | std::shared_ptr ReadResource(std::shared_ptr file,
10 | std::shared_ptr initData) override;
11 | };
12 | }; // namespace Ship
13 |
--------------------------------------------------------------------------------
/libultraship/src/window/gui/resource/GuiTexture.cpp:
--------------------------------------------------------------------------------
1 | #include "GuiTexture.h"
2 |
3 | namespace Ship {
4 | GuiTexture::GuiTexture() : Resource(std::shared_ptr()) {
5 | }
6 |
7 | GuiTexture::~GuiTexture() {
8 | if (Data != nullptr) {
9 | stbi_image_free(Data);
10 | }
11 | }
12 |
13 | void* GuiTexture::GetPointer() {
14 | return Data;
15 | }
16 |
17 | size_t GuiTexture::GetPointerSize() {
18 | return DataSize * sizeof(uint8_t);
19 | }
20 | } // namespace Ship
21 |
--------------------------------------------------------------------------------
/libultraship/src/window/gui/resource/GuiTextureFactory.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "resource/Resource.h"
4 | #include "resource/ResourceFactoryBinary.h"
5 |
6 | namespace Ship {
7 | class ResourceFactoryBinaryGuiTextureV0 final : public ResourceFactoryBinary {
8 | public:
9 | std::shared_ptr ReadResource(std::shared_ptr file,
10 | std::shared_ptr initData) override;
11 | };
12 | }; // namespace Ship
13 |
--------------------------------------------------------------------------------
/mods/C/compile.sh:
--------------------------------------------------------------------------------
1 | emcc test.c -o testc.wasm -O3 -s LINKABLE=1 -s EXPORT_ALL=1 -s PURE_WASI=1
2 | mkdir -p ../../build/mods/
3 | rm ../../build/mods/test.wasm
4 | cp testc.wasm ../../build/mods/test.wasm
--------------------------------------------------------------------------------
/mods/asc/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | package-lock.json
--------------------------------------------------------------------------------
/mods/asc/assembly/index.ts:
--------------------------------------------------------------------------------
1 | export function fib(n: i32): i32 {
2 | if (n <= 1) {
3 | return n;
4 | }
5 | return fib(n - 1) + fib(n - 2);
6 | }
7 |
--------------------------------------------------------------------------------
/mods/asc/assembly/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "assemblyscript/std/assembly.json",
3 | "include": [
4 | "./**/*.ts"
5 | ]
6 | }
--------------------------------------------------------------------------------
/mods/asc/compile.sh:
--------------------------------------------------------------------------------
1 | npm run asbuild
2 | rm ../../build/test.wasm
3 | cp build/release.wasm ../../build/test.wasm
--------------------------------------------------------------------------------
/mods/asc/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/mods/asc/setup.sh:
--------------------------------------------------------------------------------
1 | npm install
--------------------------------------------------------------------------------
/mods/asc/tests/index.js:
--------------------------------------------------------------------------------
1 | import assert from "assert";
2 | import { add } from "../build/debug.js";
3 | assert.strictEqual(add(1, 2), 3);
4 | console.log("ok");
5 |
--------------------------------------------------------------------------------
/mods/cython/compile.sh:
--------------------------------------------------------------------------------
1 | python setup.py build_ext --inplace
2 | rm ../../build/test.wasm
3 | cp test.cp311-wasm32_wasip1_threads.wasm ../../build/test.wasm
--------------------------------------------------------------------------------
/mods/cython/setup.py:
--------------------------------------------------------------------------------
1 | from setuptools import setup
2 | from wasmpy_build import build_ext
3 | from Cython.Build import cythonize
4 |
5 | setup(
6 | name='Hello world app',
7 | ext_modules=cythonize("test.py"),
8 | cmdclass={"build_ext": build_ext},
9 | )
--------------------------------------------------------------------------------
/mods/cython/test.py:
--------------------------------------------------------------------------------
1 | def fib(n):
2 | if n <= 1:
3 | return n
4 | return fib(n - 1) + fib(n - 2)
--------------------------------------------------------------------------------
/mods/go/compile.sh:
--------------------------------------------------------------------------------
1 | GOOS=wasip1 GOARCH=wasm tinygo build -o testgo.wasm test.go
2 | rm ../../build/test.wasm
3 | cp testgo.wasm ../../build/test.wasm
--------------------------------------------------------------------------------
/mods/go/test.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | //export fib
4 | func fib(n uint32) uint32 {
5 | if (n <= 1) {
6 | return n
7 | }
8 | return fib(n - 1) + fib(n - 2)
9 | }
10 |
11 | // main is required for the `wasip1` target, even if it isn't used.
12 | func main() {}
13 |
--------------------------------------------------------------------------------
/mods/js/compile.sh:
--------------------------------------------------------------------------------
1 | ~/Documents/bin/javy-x86_64-linux-v3.1.0 build mods/js/test.js -C wit=mods/js/test.wit -C wit-world=index-world -o testjs.wasm
2 | rm build/test.wasm
3 | cp testjs.wasm build/test.wasm
--------------------------------------------------------------------------------
/mods/js/test.js:
--------------------------------------------------------------------------------
1 |
2 | export function fib(n) { // don't accept argument
3 | if (n <= 1){
4 | return n;
5 | }
6 | return fib(n - 1) + fib(n - 2);
7 | }
--------------------------------------------------------------------------------
/mods/js/test.wit:
--------------------------------------------------------------------------------
1 | package local:main;
2 |
3 | world index-world {
4 | export fib: func();
5 | }
--------------------------------------------------------------------------------
/mods/lua/compile.sh:
--------------------------------------------------------------------------------
1 | sudo docker pull ysugimoto/webassembly-lua
2 | sudo docker run --rm -v $PWD:/src ysugimoto/webassembly-lua emcc-lua
3 | rm ../../build/test.wasm
4 | cp testlua.wasm ../../build/test.wasm
--------------------------------------------------------------------------------
/mods/lua/definition.yml:
--------------------------------------------------------------------------------
1 | functions:
2 | fib:
3 | return : int
4 | args:
5 | - int
6 |
7 | entry_file: test.lua
8 | output_file: testlua.wasm
--------------------------------------------------------------------------------
/mods/lua/test.lua:
--------------------------------------------------------------------------------
1 | function fib(n)
2 | if n <= 1 then
3 | return n
4 | end
5 | return fib(n - 1) + fib(n - 2)
6 | end
--------------------------------------------------------------------------------
/mods/ocaml/.gitignore:
--------------------------------------------------------------------------------
1 | *.byte
2 | *.wat
3 | *.js
4 | *.cmi
5 | *.cmo
--------------------------------------------------------------------------------
/mods/ocaml/compile.sh:
--------------------------------------------------------------------------------
1 | ocamlfind ocamlc -package js_of_ocaml,js_of_ocaml-ppx,js_of_ocaml-lwt -linkpkg -o test.byte test.mli test.ml
2 | wasm_of_ocaml test.byte
--------------------------------------------------------------------------------
/mods/ocaml/test.ml:
--------------------------------------------------------------------------------
1 | let rec fib n = if n <= 1 then n else fib (n - 1) + fib (n - 2)
--------------------------------------------------------------------------------
/mods/ocaml/test.mli:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/mods/ocaml/test.mli
--------------------------------------------------------------------------------
/mods/py/compile.sh:
--------------------------------------------------------------------------------
1 | python3.11 py2wasmtest.py test.py -o testpy.wasm
2 | rm ../../build/test.wasm
3 | cp testpy.wasm ../../build/test.wasm
--------------------------------------------------------------------------------
/mods/py/py2wasmtest.py:
--------------------------------------------------------------------------------
1 | import re
2 | import sys
3 | from nuitka.__main__ import py2wasm
4 | if __name__ == '__main__':
5 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
6 | sys.exit(py2wasm())
--------------------------------------------------------------------------------
/mods/py/setup.sh:
--------------------------------------------------------------------------------
1 | python3.11 -m pip install py2wasm
2 |
--------------------------------------------------------------------------------
/mods/py/test.py:
--------------------------------------------------------------------------------
1 | def fib(n):
2 | if n <= 1:
3 | return n
4 | return fib(n - 1) + fib(n - 2)
--------------------------------------------------------------------------------
/mods/py2many/.gitignore:
--------------------------------------------------------------------------------
1 | out
2 | *.pyc
3 | __pycache__
--------------------------------------------------------------------------------
/mods/py2many/compile.sh:
--------------------------------------------------------------------------------
1 | py2many . --cpp=1 --outdir out
2 | echo "#include \"../export.cpp\"" >> out/main.cpp
3 | emcc out/main.cpp -o out/testpython.wasm -O3 -s LINKABLE=1 -s EXPORT_ALL=1 -s PURE_WASI=1
4 | rm ../../build/test.wasm
5 | cp out/testpython.wasm ../../build/test.wasm
6 |
--------------------------------------------------------------------------------
/mods/py2many/export.cpp:
--------------------------------------------------------------------------------
1 | extern "C" {
2 | __attribute__((export_name("fib"))) int exp_fib(int n) {
3 | return fib(n);
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/mods/py2many/main.py:
--------------------------------------------------------------------------------
1 | def fib(n):
2 | if n <= 1:
3 | return n
4 | return fib(n - 1) + fib(n - 2)
5 |
6 | if __name__=="__main__":
7 | pass
8 |
--------------------------------------------------------------------------------
/mods/python-rust/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: cargo
4 | directory: "/"
5 | schedule:
6 | interval: daily
7 | time: "08:00"
8 | open-pull-requests-limit: 10
9 |
--------------------------------------------------------------------------------
/mods/python-rust/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | **/*.rs.bk
3 | Cargo.lock
4 | bin/
5 | pkg/
6 | wasm-pack.log
7 |
--------------------------------------------------------------------------------
/mods/python-rust/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "python"
3 | version = "0.1.0"
4 | authors = ["coco875 "]
5 | edition = "2018"
6 |
7 | [lib]
8 | crate-type = ["cdylib"]
9 |
10 | [dependencies]
11 | rustpython = { git = "https://github.com/RustPython/RustPython", version = "0.4.0" }
12 | wasi = "0.11"
13 |
--------------------------------------------------------------------------------
/mods/python-rust/compile.sh:
--------------------------------------------------------------------------------
1 | cargo build --target wasm32-wasip1 --lib --release
2 | rm ../../build/test.wasm
3 | cp target/wasm32-wasip1/release/rust.wasm ../../build/test.wasm
--------------------------------------------------------------------------------
/mods/python-rust/setup.sh:
--------------------------------------------------------------------------------
1 | rustup target add wasm32-wasip1
2 |
--------------------------------------------------------------------------------
/mods/python-rust/tests/web.rs:
--------------------------------------------------------------------------------
1 | //! Test suite for the Web and headless browsers.
2 |
3 | #![cfg(target_arch = "wasm32")]
4 |
5 | extern crate wasm_bindgen_test;
6 | use wasm_bindgen_test::*;
7 |
8 | wasm_bindgen_test_configure!(run_in_browser);
9 |
10 | #[wasm_bindgen_test]
11 | fn pass() {
12 | assert_eq!(1 + 1, 2);
13 | }
14 |
--------------------------------------------------------------------------------
/mods/rust/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: cargo
4 | directory: "/"
5 | schedule:
6 | interval: daily
7 | time: "08:00"
8 | open-pull-requests-limit: 10
9 |
--------------------------------------------------------------------------------
/mods/rust/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | **/*.rs.bk
3 | Cargo.lock
4 | bin/
5 | pkg/
6 | wasm-pack.log
7 |
--------------------------------------------------------------------------------
/mods/rust/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "rust"
3 | version = "0.1.0"
4 | authors = ["coco875 "]
5 | edition = "2018"
6 |
7 | [lib]
8 | crate-type = ["cdylib"]
9 |
10 | [dependencies]
11 | wasi = "0.11"
12 |
--------------------------------------------------------------------------------
/mods/rust/compile.sh:
--------------------------------------------------------------------------------
1 | cargo build --target wasm32-wasip1 --release
2 | rm ../../build/test.wasm
3 | cp target/wasm32-wasip1/release/rust.wasm ../../build/test.wasm
--------------------------------------------------------------------------------
/mods/rust/setup.sh:
--------------------------------------------------------------------------------
1 | rustup target add wasm32-wasip1
2 |
--------------------------------------------------------------------------------
/mods/rust/src/lib.rs:
--------------------------------------------------------------------------------
1 | #[no_mangle]
2 | pub fn fib(n: u32) -> u32 {
3 | if n <= 1 {
4 | return n;
5 | }
6 | return fib(n - 1) + fib(n - 2);
7 | }
8 |
--------------------------------------------------------------------------------
/mods/rust/tests/web.rs:
--------------------------------------------------------------------------------
1 | //! Test suite for the Web and headless browsers.
2 |
3 | #![cfg(target_arch = "wasm32")]
4 |
5 | extern crate wasm_bindgen_test;
6 | use wasm_bindgen_test::*;
7 |
8 | wasm_bindgen_test_configure!(run_in_browser);
9 |
10 | #[wasm_bindgen_test]
11 | fn pass() {
12 | assert_eq!(1 + 1, 2);
13 | }
14 |
--------------------------------------------------------------------------------
/port/assets/fonts/Fipps-Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/port/assets/fonts/Fipps-Regular.otf
--------------------------------------------------------------------------------
/port/assets/fonts/PressStart2P-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/port/assets/fonts/PressStart2P-Regular.ttf
--------------------------------------------------------------------------------
/rename_sym.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | shopt -s globstar
4 |
5 | if [ "$#" -ne "2" ];
6 | then
7 | echo "usage: $0 old_name new_name"
8 | exit 1
9 | fi
10 |
11 | #echo "Replace $1 with $2?"
12 | #read
13 | grep -rl "$1" asm/**/*.s data/*.s src/**/*.c src/audio/*.c src/**/*.h src/os/*.{c,h} courses/**/*.{c,h} undefined_syms.txt | xargs sed -i "s/\b$1\b/$2/g"
14 |
--------------------------------------------------------------------------------
/spaghettikart.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/spaghettikart.ico
--------------------------------------------------------------------------------
/src/actors/paddle_boat/update.inc.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | /**
5 | * @brief Updates the paddle boat actor.
6 | * Actor used in DK's Jungle Parkway.
7 | * Rotate only the paddle wheel, for position and rotation of the boat it's in vehicle.
8 | *
9 | * @param boat
10 | */
11 | void update_actor_paddle_boat(struct PaddleWheelBoat* boat) {
12 | boat->wheelRot += 0x38E;
13 | }
14 |
--------------------------------------------------------------------------------
/src/actors/wario_sign/update.inc.c:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | /**
4 | * @brief Updates the Wario sign actor.
5 | * Used in Wario Stadium.
6 | *
7 | * @param arg0
8 | */
9 | void update_actor_wario_sign(struct Actor* arg0) {
10 | arg0->rot[1] += 0xB6;
11 | }
12 |
--------------------------------------------------------------------------------
/src/audio/GameAudio.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 |
6 | static struct {
7 | std::thread thread;
8 | std::condition_variable cv_to_thread, cv_from_thread;
9 | std::mutex mutex;
10 | bool running;
11 | bool processing;
12 | } audio;
13 |
--------------------------------------------------------------------------------
/src/buffers/audio_heap.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | #include "audio_heap.h"
6 | #include "audio/data.h"
7 |
8 | ALIGNED8 u8 gAudioHeap[DOUBLE_SIZE_ON_64_BIT(AUDIO_HEAP_SIZE)];
9 |
--------------------------------------------------------------------------------
/src/buffers/audio_heap.h:
--------------------------------------------------------------------------------
1 | #ifndef AUDIO_HEAP_H
2 | #define AUDIO_HEAP_H
3 |
4 | #include
5 | #include
6 |
7 | #define AUDIO_HEAP_SIZE 0x48C00
8 | #define AUDIO_HEAP_INIT_SIZE 0x2600
9 |
10 | #endif // AUDIO_HEAP_H
11 |
--------------------------------------------------------------------------------
/src/buffers/gfx_output_buffer.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include "gfx_output_buffer.h"
4 |
5 | ALIGNED8 u64 gGfxSPTaskOutputBuffer[GFX_OUTPUT_BUFFER_SIZE];
6 |
7 | u32 gGfxSPTaskOutputBufferSize;
8 |
--------------------------------------------------------------------------------
/src/buffers/gfx_output_buffer.h:
--------------------------------------------------------------------------------
1 | #ifndef GFX_OUTPUT_BUFFER_H
2 | #define GFX_OUTPUT_BUFFER_H
3 |
4 | #include
5 |
6 | // 0x1f000 bytes, aligned to a 0x1000-byte boundary through sm64.ld. (This results
7 | // in a bunch of unused space: ~0x100 in JP, ~0x300 in US.)
8 | #define GFX_OUTPUT_BUFFER_SIZE 0x3f00
9 |
10 | // 0x3F00
11 | extern u64 gGfxSPTaskOutputBuffer[GFX_OUTPUT_BUFFER_SIZE];
12 |
13 | #endif // GFX_OUTPUT_BUFFER_H
14 |
--------------------------------------------------------------------------------
/src/buffers/memory_pool.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | #define MEMORY_POOL_SIZE 0xAB630
6 |
7 | /**
8 | * Memory pool variable prevents code segments flowing into the memory pool
9 | * for easier portability.
10 | * @warning should not really be used.
11 | */
12 | u8 sMemoryPool[MEMORY_POOL_SIZE];
13 |
--------------------------------------------------------------------------------
/src/buffers/random.c:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | u16 gRandomSeed16;
4 | u8 randomSeedPadding[216];
5 |
--------------------------------------------------------------------------------
/src/buffers/random.h:
--------------------------------------------------------------------------------
1 | #ifndef RANDOM_H
2 | #define RANDOM_H
3 |
4 | #include
5 |
6 | extern u16 gRandomSeed16;
7 | extern u8 randomSeedPadding[];
8 |
9 | #endif // RANDOM_H
10 |
--------------------------------------------------------------------------------
/src/buffers/trig_tables_bss.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | /**
5 | * Trig tables get loaded into memory at this location.
6 | * See trig_tables.c for the real file.
7 | */
8 |
9 | #ifdef VERSION_EU
10 | ALIGNED8 u8 trigTablesPadding[0x5750];
11 | #else
12 | ALIGNED8 u8 trigTablesPadding[0x5810];
13 | #endif
14 |
--------------------------------------------------------------------------------
/src/code_80091440.h:
--------------------------------------------------------------------------------
1 | #ifndef CODE_80091440_H
2 | #define CODE_80091440_H
3 |
4 | #include
5 |
6 | void func_80091440(s8);
7 | void func_800914A0(void);
8 | void func_800914E0(void);
9 |
10 | #endif // CODE_80091440_H
11 |
--------------------------------------------------------------------------------
/src/code_800AF9B0.h:
--------------------------------------------------------------------------------
1 | #ifndef CODE_800AF9B0_H
2 | #define CODE_800AF9B0_H
3 |
4 | #include
5 |
6 | /* Function Prototypes */
7 | void func_800AF9B0(void);
8 | void func_800B0004(void);
9 |
10 | #endif /* CODE_800AF9B0_H */
11 |
--------------------------------------------------------------------------------
/src/course_metadata.h:
--------------------------------------------------------------------------------
1 |
2 |
3 | #include
4 | #include
5 |
6 | extern Vec4f CurveTargetSpeed[];
7 | extern Vec4f NormalTargetSpeed[];
8 | extern Vec4f D_0D0096B8[];
9 | extern Vec4f OffTrackTargetSpeed[];
10 |
--------------------------------------------------------------------------------
/src/crash_screen.h:
--------------------------------------------------------------------------------
1 | #ifndef CRASH_SCREEN_H
2 | #define CRASH_SCREEN_H
3 |
4 | #include
5 | #include
6 |
7 | extern u16* pFramebuffer;
8 |
9 | void crash_screen_set_framebuffer(u16*);
10 |
11 | #endif // CRASH_SCREEN_H
12 |
--------------------------------------------------------------------------------
/src/ending/camera_junk.h:
--------------------------------------------------------------------------------
1 | #ifndef CAMERA_JUNK_H
2 | #define CAMERA_JUNK_H
3 |
4 | /* Function Prototypes */
5 |
6 | void update_camera_podium_ceremony(void);
7 | void init_camera_podium_ceremony(void);
8 |
9 | // guPerspective params
10 |
11 | #endif
12 |
--------------------------------------------------------------------------------
/src/ending/code_80280000.h:
--------------------------------------------------------------------------------
1 | #ifndef CODE_80280000_H
2 | #define CODE_80280000_H
3 |
4 | #include
5 |
6 | /* Function Prototypes */
7 |
8 | void func_80280000(void);
9 | void func_80280038(void);
10 | void func_80280268(s32 arg0);
11 | void credits_loop(void);
12 | void load_credits(void);
13 |
14 | extern s32 D_802874A0;
15 |
16 | extern u16 D_80164714, D_80164716, D_80164718;
17 |
18 | #endif
19 |
--------------------------------------------------------------------------------
/src/ending/code_80281C40.h:
--------------------------------------------------------------------------------
1 | #ifndef CODE_80281C40_H
2 | #define CODE_80281C40_H
3 |
4 | /* Function Prototypes */
5 |
6 | void func_80281C40(void);
7 | void func_80281CB4(s32, s32, s32, s32);
8 | void func_80281D00(void);
9 |
10 | extern s32 gGotoMenu;
11 | extern u16 gIsInQuitToMenuTransition;
12 | extern Gfx D_00284F70[];
13 | extern Gfx D_00284EE0[];
14 |
15 | #endif
16 |
--------------------------------------------------------------------------------
/src/engine/GameAPI.h:
--------------------------------------------------------------------------------
1 | #ifndef GAME_API_H
2 | #define GAME_API_H
3 |
4 | void* GetCourse(void);
5 |
6 | #endif // GAME_API_H
--------------------------------------------------------------------------------
/src/engine/GarbageCollector.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include "Object.h"
6 | #include "World.h"
7 |
8 |
9 | void RunGarbageCollector();
10 | void CleanActors();
11 | void CleanStaticMeshActors();
12 | void CleanObjects();
13 |
--------------------------------------------------------------------------------
/src/engine/Rulesets.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "World.h"
5 |
6 | class Rulesets {
7 | public:
8 | virtual void PreLoad();
9 | virtual void PreInit();
10 | virtual void PostInit();
11 | };
12 |
--------------------------------------------------------------------------------
/src/engine/Smoke.h:
--------------------------------------------------------------------------------
1 | #ifndef _ENGINE_SMOKE_H
2 | #define _ENGINE_SMOKE_H
3 |
4 | void TrainSmokeTick(void);
5 | void TrainSmokeDraw(s32 cameraId);
6 |
7 | #endif // _ENGINE_SMOKE_H
8 |
--------------------------------------------------------------------------------
/src/engine/actors/MarioSign.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "engine/Actor.h"
5 | #include "CoreMath.h"
6 |
7 | extern "C" {
8 | #include "common_structs.h"
9 | }
10 |
11 | class AMarioSign : public AActor {
12 | public:
13 |
14 | virtual ~AMarioSign() = default;
15 | explicit AMarioSign(FVector pos);
16 |
17 | virtual void Tick() override;
18 | virtual void Draw(Camera*) override;
19 | };
20 |
--------------------------------------------------------------------------------
/src/engine/actors/WarioSign.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "engine/Actor.h"
5 | #include "CoreMath.h"
6 |
7 | extern "C" {
8 | #include "common_structs.h"
9 | }
10 |
11 | class AWarioSign : public AActor {
12 | public:
13 |
14 | virtual ~AWarioSign() = default;
15 | explicit AWarioSign(FVector pos);
16 |
17 | virtual void Tick() override;
18 | virtual void Draw(Camera*) override;
19 | };
20 |
--------------------------------------------------------------------------------
/src/engine/editor/Handles.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | #include "Handles.h"
5 |
6 | namespace Editor {
7 | Handles::Handles() {
8 | Pos = &pos;
9 | Rot = &rot;
10 | }
11 |
12 | void Handles::Load() {
13 |
14 | }
15 |
16 | void Handles::Tick() {
17 |
18 | }
19 |
20 | void Handles::Draw() {
21 |
22 | }
23 | }
--------------------------------------------------------------------------------
/src/engine/editor/Handles.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include "GameObject.h"
6 |
7 | namespace Editor {
8 | class Handles : public GameObject {
9 |
10 | Handles();
11 |
12 | virtual void Tick() override;
13 | virtual void Draw() override;
14 | virtual void Load() override;
15 |
16 | FVector pos;
17 | IRotator rot;
18 | };
19 | }
20 |
--------------------------------------------------------------------------------
/src/engine/items/Items.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/src/engine/items/Items.cpp
--------------------------------------------------------------------------------
/src/engine/items/Items.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/izzy2lost/SpaghettiKart/1c2d3c42a69a17f744ac18c310a7752ddd071553/src/engine/items/Items.h
--------------------------------------------------------------------------------
/src/engine/particles/ParticleEmitter.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #include "ParticleEmitter.h"
4 |
5 |
6 |
7 | ParticleEmitter::ParticleEmitter() {}
8 |
9 | // Virtual functions to be overridden by derived classes
10 | void ParticleEmitter::Tick() { }
11 | void ParticleEmitter::Draw(s32 cameraId) { }
12 |
13 | bool ParticleEmitter::IsMod() { return false; }
14 |
--------------------------------------------------------------------------------
/src/engine/readme.txt:
--------------------------------------------------------------------------------
1 | # Engine
2 |
3 | The replacement C++ engine which contains many code refactors for flexibility.
--------------------------------------------------------------------------------
/src/engine/vehicles/Utils.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include "Utils.h"
3 |
4 | extern "C" {
5 | #include "macros.h"
6 | #include "defines.h"
7 | #include "code_80005FD0.h"
8 | }
9 |
10 | uint32_t CalculateWaypointDistribution(size_t i, uint32_t numVehicles, size_t numWaypoints, uint32_t centerWaypoint) {
11 | return (uint32_t)(((i * numWaypoints) / numVehicles) + centerWaypoint) % numWaypoints;
12 | }
13 |
--------------------------------------------------------------------------------
/src/engine/vehicles/Utils.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | uint32_t CalculateWaypointDistribution(size_t i, uint32_t numVehicles, size_t numWaypoints, uint32_t centerWaypoint);
6 |
--------------------------------------------------------------------------------
/src/engine/wasm.h:
--------------------------------------------------------------------------------
1 | void load_wasm();
2 | void call_render_hook();
--------------------------------------------------------------------------------
/src/enhancements/collision_viewer.h:
--------------------------------------------------------------------------------
1 | #ifndef COLLISION_VIEWER_H
2 | #define COLLISION_VIEWER_H
3 |
4 | #include
5 |
6 | void render_collision(void);
7 |
8 | #endif // COLLISION_VIEWER_H
9 |
--------------------------------------------------------------------------------
/src/enhancements/moon_jump.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include "main.h"
3 | #include "code_800029B0.h"
4 | #include "common_structs.h"
5 |
6 | void moon_jump(Player* player, struct Controller* controller) {
7 | if (controller->button & L_TRIG) {
8 | if (player->velocity[1] <= 3.2f) {
9 | player->velocity[1] += 0.5f;
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/enhancements/moon_jump.h:
--------------------------------------------------------------------------------
1 | #ifndef _MOON_JUMP_H
2 | #define _MOON_JUMP_H
3 |
4 | #include