Commit Graph

62 Commits

Author SHA1 Message Date
MegaMech de9c5d5101 Implement SpawnParams struct (#536)
* Impl SpawnParams

* Added json submodule

* Update json

* Update

* Works

* Remove comment

* Works refactor

* Snowman and thwomp working

* Impl hot air balloon

* More progress

* All OObjects are done

* cleanup

* Refactor 2Dpath to normal path

* Update nlohmann json & fix compile

* Rest of actors

* MORE CHANGES

* Finish actors

* Done PR, some fix to collision viewer

* Impl falling rocks

* Add const

* wip editor refactor

* Property work

* continue

* Overridable editor properties

* Actor saving/loading works now

* Fix light alignment

* Clarification

* Impl penguin

* params impl signs

* properties impl falling rock

* More property impls

* impl air balloon

* Add spawnParams to OObject Translate

* Snowman translate better

* impl hedgehog properly

* properties impl trophy

* thwomp progress

* Finish impl properties

* Fix compile

* Fix cursor collisions

* Move registered actors

* Rename pathPoint XYZ to xyz

* Fix editor pause bug

* Clean up

* Review comments

* Remove SpawnParams struct from actor classes

* Rename

* Player Label First Iteration

* Work now

* Working 3d text

* Fix boo bug

* Finish AText actor

* Fix spawnparams compile

* Register AText

* Finish Text Actor

* Fix thwomp interpolation

* Fix compile

* Fix crab and hedgehog

* Fix loading flagpole

* Fix Hot Air Balloon

* Turn zbuffer on for AText

* Update

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-11-09 19:07:44 -07:00
Varuuna f70c9100b0 Added fades for 3P4P menuing (#543)
* Added default menu transition for 3P4P options

* Forgot to change the condition

* formatting

* Reverted change on single frame black

Added comments
2025-09-23 16:24:59 -06:00
MegaMech 575d860e5d Combine Matrix Stacks & use std::deque Instead of std::vector to Prevent Dangling Pointers (#525)
* Update Matrix.cpp

* Update World.h

* Stak

* Hopefully done with matrix

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-08-07 19:27:14 +02:00
coco875 a4d0ead4c3 Better controller pak (#504)
* try add a better save

use https://github.com/sonicdcer/N64ModernRuntime/blob/controllerpakimpl/librecomp/src/pak.cpp as a ref

Co-Authored-By: Alejandro Asenjo Nitti <96613413+sonicdcer@users.noreply.github.com>

* update pak

* Update save.c

* Better controller pak with File deletion menu

Co-authored-by: Dario <dariosamo@gmail.com>
Co-authored-by: Mr-Wiseguy <mrwiseguyromhacking@gmail.com>

* add gControllerPakScreen button

* change assert(false) in pak.cpp

---------

Co-authored-by: Alejandro Asenjo Nitti <96613413+sonicdcer@users.noreply.github.com>
Co-authored-by: Sonic Dreamcaster <alejandro.asenjo88@gmail.com>
Co-authored-by: Dario <dariosamo@gmail.com>
Co-authored-by: Mr-Wiseguy <mrwiseguyromhacking@gmail.com>
2025-07-28 17:48:21 -06:00
MegaMech 8932048833 Fix Cinematic Box for Failed GP & Fix 1 Pixel Gap In All Cinematic Boxes (#453)
* Update menu_items.c

* Update menu_items.c
2025-07-13 14:20:36 -06:00
V10lator 4c6e68aa8a Add version and debug state (#437)
* cmake: Correctly set PROJECT_VERSION

This needs CI to adjust

Signed-off-by: Thomas Rohloff <v10lator@myway.de>

* Log version

Signed-off-by: Thomas Rohloff <v10lator@myway.de>

* Show version and debug state

Signed-off-by: Thomas Rohloff <v10lator@myway.de>

* Log debug mode toggling

Signed-off-by: Thomas Rohloff <v10lator@myway.de>

* Finish version string

Signed-off-by: Thomas Rohloff <v10lator@myway.de>

* Update CMakeLists.txt

* Update CMakeLists.txt

* Try to fix execute_process() from within CI

Signed-off-by: Thomas Rohloff <v10lator@myway.de>

* CI: Checkout with tags

Signed-off-by: Thomas Rohloff <v10lator@myway.de>

* Fix PR CIs, too

Signed-off-by: Thomas Rohloff <v10lator@myway.de>

* Add config button for version

Signed-off-by: Thomas Rohloff <v10lator@myway.de>

---------

Signed-off-by: Thomas Rohloff <v10lator@myway.de>
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-07-13 13:26:50 -06:00
coco875 f1b20c7b91 Fix minor render issue in menu (#447)
* fix menu texture

* fix other text

* junky fix

* fix cloud to be png

* fix cloud

* Update menu_items.c

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-07-12 17:32:52 -06:00
coco875 6a8baf8936 port pr 730 from the decomp (#445)
* port pr 730 from the decomp

Co-Authored-By: Jed Grabman <7600154+jedgrabman@users.noreply.github.com>

* rename file

* small fix

* finish fix time trial

---------

Co-authored-by: Jed Grabman <7600154+jedgrabman@users.noreply.github.com>
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-07-10 17:11:36 -06:00
MegaMech ffbb9d5438 [Enhancement] Implement Digital Speedometer (#431)
* Fix crash

* Poorly document camera

* Fix harder cpu items

* Fix item

* Prevent Rare Infinite Loop

* Impl Digital Speedometer

* Update PortMenu.cpp

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-07-06 18:06:24 -06:00
coco875 06e12cd491 Update menu_items.c (#417) 2025-07-05 05:42:20 -06:00
coco875 23b6478ce6 Fix small mistake (#409)
* Update other_textures.yml

* Update menu_items.c

* remove mkload

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-07-03 06:38:28 -06:00
coco875 7937896598 make some texture more flexible and editable + port documentation from the decomp + fix some bug (#309)
* support a more flexible background

* remove useless function

* rename of some font

* experimental png

* migrate to the new initdata

* fix skybox and adjust minimap

* format in audio

* simplify player render

* simplify shell render and support custom texture of shell

* clean redshell texture

* format and multiple fix

* some update of name

* allow change icon of character

* more rename

* continue rename

* more documentation and simplification

* change lus and continue rename

* continue rename

* few fix for asan

* fix ghost

* Update menu_items.c

* fix mac error

* some test of tweak for texture

* some tweak

* some button constant

* finish fix ghost

* Update menu_items.c

* Update render_objects.c

* Update menu_items.c

* Update libultraship

* Update libultraship

* Delete valgrind.report

* Update libultraship

* callgrind benchmark

* Update valgrind_callgrind.sh

* fix animation

* some rename

* remove useless submodule

* Update libultraship

* fix assets

* fix mistake

* fix more mistake

* Update menu_items.c

* sync more rename with the decom + fix review

* fix a mistake

* fix more mistake

* re add the limit of fps

* fix some hd texture and minimap

* fix a name

* Update menu_items.c

* fix a regression

* fix some segment 5 texture (not all)

* Update camera.c

* improve performance of custom sprite

* fix flatten bug and add documentation on player vertex

* Update render_player.c

* fix data menu

* fix trophy for 50 and 150

* Update memory.c

* Update code_80057C60.c

* fix ghost

* fix boo tlut

* fix a mistake in yaml

* fix yaml

* Update common_data.yml

* add comment for segment 3

* allow even more change in texture

* Update common_data.yml

* Update update.inc.c

* Update camera.c

* Update some_data.c

* wip changes

* Update other_textures.yml

* More changes

* Update update_objects.c

* Fix compile

* Update memory.c

* Update memory.c

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-07-01 17:42:14 -06:00
coco875 8ec18758c8 Update menu_items.c (#381)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-06-27 12:54:15 -06:00
coco875 a4a8c653a8 fix dk and wario crash (#388)
* fix dk and wario crash

* Update menu_items.c

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-06-27 12:52:28 -06:00
coco875 1b3977676f fix trophy for 50 and 150 (#374) 2025-06-25 20:24:16 -06:00
coco875 e93633773e Pr before release (#239)
* Fix match

* Update torch

* fix crash on texture of player

* Copied stuff over for Window icon from Starship.

* Missed comment.

* Corrections.

* Missed a file

* min-max fix

* Update code_80005FD0.c

* Remove interpolation for hm_intro

* look like to remove the crash in menu

* Update menu_items.c

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
Co-authored-by: sitton76 <58642183+sitton76@users.noreply.github.com>
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-06-20 16:54:31 -06:00
sitton76 65620eb797 Stop frame record on some stuff. (#225)
* Disabled recording frame interpolation on result print text.

* Added check_if_recording() function to prevent cases of it recording while at 30FPS

* Seemingly disabled kart minimap icons for frame interpolation.

* Attempt to mitigate rare crash with printing text(unverified if this actually helps)

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-06-19 16:37:30 -06:00
coco875 5d7cf20c83 pr Code 80005fd0 (#181)
* fix error

* a lot of change

* basic rename of local variable

* continue rename and improve Enhancements

* re-apply change

* revert the remove of dma_texture and fix mtxf_multiplication

* more documentation port

* some fix

* more fix

* fix arround

* Update torch

* fix spelling

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-06-19 16:26:04 -06:00
MegaMech 9fe391a2a4 Fix More Interpolation (#220)
* Fix SetTextMatrix Interpolation (flashing text)

* Interpolate pause menu item box

* Interp mtxf_translation_x_y_rotate_z_scale_x_y

* Fix billboarding for freecam

* Fix menus battle mode back to grand prix bug

* Fix snow interp

* interp star clouds
2025-06-15 22:17:24 -06:00
MegaMech 44db9bab77 Add Interpolation (#204)
* initial work

* more work

* progress

* Fixed slow fps

* Add Lywx changes

* Interp Works

* Test default tick/logic update

* Added missing include (#202)

* Added missing include

* More missing includes

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>

* test

* Revert "test"

This reverts commit 1a810d74cc.

* Interp Item box

* Actually interpolate item box

* fix clouds

* interp player?

* Test 2

* Fix mistake

* tag and fix item boxes

* tag fake item box and whatever func_800696CC is

* these aren't needed

* tag karts

* Slightly better falling rocks(still needs work)

* Tag Smoke and Dust

* Removed unneeded code from falling_rock

* tag whatever func_80051ABC is

* add missing rotate x coord

* GrandPrixBallon/kart shadow

* Green shells tag, and added comments I neglected to add before.

* doesn't compile on win

* Fixes

* Disabled camera interpolation

* Balloons fixes

* progress

* set_transform_matrix compiles

* Compile setTransformMatrix

* More transforms interp

* Add more interps

* matrix

* Matrix multi interp

* Fix interpolation camera bug

* Missing includes needed for Linux.

* Excluded access to HM64 Labs on Switch.

* interpolation tags for various objects

* Bowser castle statue flame interpolated.

* tag hedgehogs

* cloud interpolation

* Interpolated smoke particles from shells

* cloud interpolation refactor

* Interpolated snowflakes

* Interpolated penguins, also added comment tags to places I missed.

* tag Snowman interpolation

* Interpolated player reflection(sherbet land)

* Forgot to uncomment stuff while testing

* better tag

* tag leaves

* Set the default FPS to 30

* tag hud

* Fixed "Match Refresh Rate" option

* adjust draw distance

* remove innecessary rock tag

* rag rocks

* better tag

* Tagged player rank placement in HUD

* Tagged Bat, Boos, and TrashBin(Banshee Boardwalk objects)

* Refactor render_screens and fix editor raycast

* better object interpolation

* shift is not needed here

* fix tag

* fix tags

* mole comments

* comment

* Changed how shell flames are interpolated.

* interpolated ended scene fireworks.

* Tagged star particles in the ending scene

* Shell flames handled better.

* this isn't needed

* Fix multiplayer cameras

* Fixed loading battle maps.

* Tagged battle balloons

* Some fixes for battle mode

* No longer needed changes toAFinishline with the changes mega made.

* Tag finishline

* fix to make it compile with cmake 3.31

* changed mtxf_multiplication() to fix vert explosion in Desert & DK parkway.(provided by Coco.)

* fix memory leaks, avoid invalidate texture (#207)

* Fixed macos

* More stupid fixes

* update with main and update torch and lus and enable action on this branch

* Update FrameInterpolation.h

* Update FrameInterpolation.cpp

* fix some memory leak

* Update torch

* Update torch

* update torch and lus

* reduce texture import

* don't use fork of torch and lus

* Update torch

* Update torch

---------

Co-authored-by: Lywx <kiritodev01@gmail.com>

* Refactor World::Courses to unique_ptr (#211)

* wip course unique ptr

* Track unique_ptr : This probably compiles

* Finish impl Courses as unique_ptr

* Fix error

* Fixes

* More fixes

* Cleanup

* Remove old vars

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>

* particle boat and train

* fix player particle interpolation

* add modify interpolation target fps in menu

* fix windows

* Update libultraship

* Fix logo interp

* Interp SetTextMatrix

* Fix freecam camera

* Clarify comment

* Clarify func

* fix linux compilation

* Update Thwomp.cpp

* Update Thwomp.h

* Update render.inc.c

* Update render.inc.c

* Update gbiMacro.c

* interp falling rock shadow

* Revert change that has no explanation

* Update code_80057C60.c

* Update code_80057C60.c

* Update GrandPrixBalloons.cpp

* Update Lakitu.cpp

* Update framebuffer_effects.c

* Update render_courses.c

---------

Co-authored-by: Sonic Dreamcaster <alejandro.asenjo88@gmail.com>
Co-authored-by: KiritoDv <kiritodev01@gmail.com>
Co-authored-by: sitton76 <58642183+sitton76@users.noreply.github.com>
Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
Co-authored-by: coco875 <59367621+coco875@users.noreply.github.com>
Co-authored-by: coco875 <pereira.jannin@gmail.com>
2025-06-07 21:38:12 -06:00
MegaMech 32632cacdb Impl new intro (#193)
* Update menus

* Update CMakeLists.txt

* Add Ship

* Impl hm ship actors

* Update HM course

* Impl new intro

* Finish intro scene

* Rename

* Start Editor Work

* raycast works

* Fix ScreenRayTrace in widescreen

* Basic Actor Picking

* wip

* Editor use vtx collision

* gizmo work

* otr works for object picking

* Impl objects for editor

* actor init

* Update

* Add all axis move (freemove)

* Docking Windows works here

* Setup imgui layout for editor

* Editor Snap to Ground works

* Basic Scene Explorer Works

* Editor get actor names

* Impl editor object names

* impl Editor Play and Pause buttons

* Editor translate works while paused

* Fix freecam lighting

* Added adjustable track properties to editor

* Editor matrix, icons, rotation, impl light

* Setup Track Properties 1

* Editor tooling wip

* Load modded o2rs

* Don't enable hud if editor is enabled

* Updates

* SceneManager nearly working

* Fix mario kart 64 intro logo sizing

* Fix Rotator

* Finish new matrix translation code

* Cleanup headers

* Cleanup

* Cleanup 2

* Cleanup 3

* Prevent divize by zero crash

* Add visible circle for translate in all axis

* Editor scaling/rot works properly now

* Scale All_Axis evenly

* Fixes to includes to work on Linux.

* Removed overfilled arguments in gfx_create_framebuffer()

* Added missing function definitions to Game.h

* Editor sun face the camera

* Add rotation model to gizmo

* Add new handles

* Failed attempt at transforming collision

* Impl water volume

* Import fast64 paths

* water surface

* Scene Setup 1

* Custom Track O2R almost working needs testing

* Custom Track Load path O2r

* Render custom track. Wip collision

* Add missing function

* Debug Spawning Custom O2R Track

* Import courses working now

* Fix memory leak

* Remove New Track Button

* Engine.cpp more consistent with sf64

* Fix Editor Enable Button

* Editor Accurate mouse click drag objects

* Editor selects closest object and cleanup

* Gizmo rot and scale collision working

* Remove constexpr from IRotator

* Impl properties for location/rot/scale

* Better Properties display, swap rot handles

* Fix content browser dock and editor now disabled by default

* Remove GameInfoWindow, Multiplayer Button, and FPS Slider

* Disable Editor when its disabled

* Add new logo to hm intro

* Fix pause menu item box cursor

* Remove minimap from Course::from_json and to_json

* Impl Import Minimap

* Fix custom minimap rendering

* minimap uses extension .png

* Refactor minimap

* Freecam only for player 1

* GrandPrix Balloons work in custom track

* Track Id is now std::string and outside of Props

* Moved editor assets to be included in ship.o2r

* Fixed GenerateO2R to package the correct folder and save to the correct filename

* Linux specific changes.

* Added "#include <stdio.h>" that required them
* Changed how the "ship.o2r" file is loaded to allow it to load the file from within appimages.
* Changed the Linuxdeploy version to avoid errors later when the Github Actions creates appimages(same fix applied to other ports.)

* Revert "Moved editor assets to be included in ship.o2r"

This reverts commit 05704c01f7.

* Added back files(this time without LUS changes)

* Changed workflow file to use correct filename for assets file.

* Missed a few spots in the workflow file.

* Added .desktop file and made corrections to the main workflow.

* Added the rest of upstream CMakeLists.txt

* disabled USE_NETWORKING

* New InverseMatrix

* Renamed both .o2r files to be more accurate to its contents.

* Reverted CmakeList.txt

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
Co-authored-by: sitton76 <58642183+sitton76@users.noreply.github.com>
2025-05-14 18:30:32 -06:00
coco875 8e0e95d7d1 fix a problem with cmake and fix animation in menu (#184) 2025-02-04 15:08:50 -07:00
coco875 8b67f555ff fix error (#179) 2025-01-30 08:28:21 -07:00
MegaMech ce9b4f25be Fix Remaining Widescreen Issues and Fix Audio Sizes (#174)
* Fix some boxes that shouldn't be wide

* forgot fix

* Fix widescreen for sliding lap texture

* Fix lakitu towing fade in out

* Add DOUBLE_SIZE_ON_64_BIT and ssize_t
2025-01-25 19:36:44 -07:00
coco875 995c60c85c fix ghost (#175)
* fix ghost

* remove a semi colon
2025-01-25 18:43:30 -07:00
MegaMech 5bac540ca3 Fix EUC-JP characters (#172)
* Fix euc jp characters

* Update menu_items.c
2025-01-25 12:38:26 -07:00
MegaMech 554922f451 Fix euc jp char (#169) 2025-01-24 22:30:28 -07:00
Sonic Dreamcaster bf2dc284d8 enable saves 2025-01-25 00:45:29 -03:00
Sonic Dreamcaster 89b2df68e3 declare mtx2 2025-01-24 23:50:28 -03:00
Sonic Dreamcaster 3e8893a9ea Merge branch 'main' of https://github.com/HarbourMasters/SpaghettiKart 2025-01-24 23:48:01 -03:00
Sonic Dreamcaster b86b9ae816 refactored version of func_80096CD8 2025-01-24 23:47:53 -03:00
MegaMech 73ba320831 Fix matrix stack heap corruption (#166)
* Fix matrix stack heap corruption

* Fix matrix overflow bug
2025-01-24 19:47:37 -07:00
Sonic Dreamcaster 23133b6fc0 Merge branch 'main' of https://github.com/HarbourMasters/SpaghettiKart 2025-01-24 23:17:11 -03:00
Sonic Dreamcaster af1676501c matched func_80096CD8 2025-01-24 23:17:02 -03:00
MegaMech 0981e27847 Fix Replay box widescreen (#165) 2025-01-24 13:45:33 -07:00
MegaMech 1f189dfa80 Game.cpp and World.cpp Cleanup (#159)
* Remove CProperties and delete dup Properties from World.h

* Improvement

* Fix compile

* Cleanup

* Document gRaceState

* wip cleanup

* compile

* Impl PlayerBombKart

* Rename CourseManager_ to CM_

* Finish renames m_ to CM_

* cleanup

* Remove extra printf

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-01-23 11:22:07 -07:00
inspectredc 51d2f2ec97 Fix mac building (#157)
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-01-18 09:19:33 -07:00
MegaMech 8c46368d5d Fix data, option menus, impl boos, fix demo camera (#156)
* Fix data and option menus

* safer code

* wip boos impl

* finish impl boos

* Fix demo camera

* slightly better match
2025-01-18 08:58:12 -07:00
MegaMech 04d56d6ba0 Fixes as per Sonic (#154)
* Fix imGUI game reset button

* Fix course select cursor sound oob

* Fix cloud rendering

* Fix centering of tt race data cannot be saved by ghost

* Impl chain chomp & bats

* Fix retry crash

* DebugMode On Skips intro logo menu

* rename
2025-01-13 21:15:16 -07:00
Sonic Dreamcaster fbd6b5f70e stack init 2025-01-11 06:50:13 -03:00
Sonic Dreamcaster 60ea0c3bfe fix menu items 2025-01-11 05:40:02 -03:00
Sonic Dreamcaster fa637b3a29 Make things more readable 2025-01-11 05:04:17 -03:00
Sonic Dreamcaster 3446897648 Initialize variables 2025-01-11 03:55:00 -03:00
Sonic Dreamcaster 65c19c96ea Point filtering for menu textures 2025-01-11 03:50:21 -03:00
MegaMech 53974a0d38 Impl CC mode option in debug menu (#151)
* Impl cc option at debug menu
2025-01-10 14:11:46 -07:00
coco875 86a83f825c fix a small bug in release 2025-01-06 22:21:06 +01:00
coco875 46ef6a4054 fix texture with three point filter 2025-01-06 22:04:32 +01:00
MegaMech abec308507 Merge branch 'modding' into wide 2025-01-05 12:55:30 -07:00
MegaMech 1848139e4e Update menu_items.c 2025-01-05 12:46:46 -07:00
MegaMech e993944089 Finishwide screen. Impl IVector2D MinimapDimensions 2025-01-05 12:26:27 -07:00