Commit Graph

29 Commits

Author SHA1 Message Date
coco875 efdaf9d8fd Fix switch and windows CI (#700)
* merge upstream commit to fix some bug

* fix merge

* add a local user for the merge

* Update main.yml

* revert main.yml

* fix windows CI

* fix switch build

* fix windows and try a fix for switch

* fix windows build
2026-05-04 20:00:43 +02:00
EJStaats 7dba3c3c81 Allowing user-set internal resolution in menu (#682) 2026-03-29 13:34:19 -06:00
MegaMech 548ccf0063 Impl Sky and SkyActors (#630)
* Create Cloud.cpp

* Create Cloud.h

* Fix the cloud

* Cleanup

* More cleanup

* Update Track.h

* Refactor SkyboxCloud position calculations

* Update SkyboxStar.cpp

* Update SkyboxStar.cpp

* Refactor SkyboxStar.cpp by removing redundant code

* Update SkyboxCloud.cpp

* Refactor SkyboxSnow.cpp by reordering includes

* Update SkyboxCloud.h

* Refactor SkyboxStar.h for improved formatting

* Impl skyboxcloud

* Update comment

* update comment

* Work now

* Fully impl Sky

* Fix define

* Fix args
2026-02-24 14:51:25 -07:00
MegaMech 26b2ce90e7 More Interp and Draw Visibility Options (#643)
* Update render.inc.c

* FI improvements

* Rename

* Update PortMenu.cpp
2026-02-06 22:05:41 -06:00
MegaMech 2b9d689b2f [Enhancement] Allow Non-unique Character Selections (#638)
* Update PortMenu.cpp

* Update menus.c
2026-02-04 17:19:05 -07:00
MegaMech 81d200e74b Refactor Track to CustomTrack Class, impl render layers (#606)
* impl Custom track transparency and clip

* Rename DrawWater to DrawTransparency

* Impl z-sorting for transparent mesh

* Interp work

* rename track function

* cleanup

* Revert texture interp

* Further revert

* Update Harbour

* Impl custom track path select

* Add check

* Fix compile

* Fix function extern

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-12-29 15:51:12 -07:00
MegaMech b934e98fc3 Refactor Track Class To Instantiate On Track Load (#587)
* Initial Commit

* First compilation of Registry template

* Further changes

* wip changes

* Impl TrackBrowser and Registry Info

* Remove const from TInfo

* Prep GetWorld

* Name refactor

* Refactor gWorldInstance to GetWorld()

* wip

* Should work now

* Data menu work again

* Fix editor staying open after program close

* Rename LoadLevel to LoadTrackDataFromJson

* More changes

* Add statue

* Add search to content browser using tags

* Fix statue pos and register tags

* Fix actor loading

* Fix delete all bug which deleted cameras

* reduce some boiler plate in actor and object

* Remove unused rulesets

* Search bar for all tabs

* fix data screen

* fix actor spawning

* temp editor fix

* Clean up

* improve extra mode transformation

* fix podium crash

* Fix editor clicking

* Fix editor clicking 2

* fix extra in custom track

* Fix FI for three actors

* Fix divide by zero error

* Ids managed by Registry

* Add scary comment

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
Co-authored-by: coco875 <pereira.jannin@gmail.com>
2025-12-13 11:50:28 -07:00
coco875 f022183d6f Update lus (#580)
* fix include

* Update libultraship

* fix Engine.cpp

* fix error

* Update TrackSections.h
2025-12-08 08:25:10 -07:00
MegaMech dbae0c3aca Name ScreenContext, Refactor Course class to Track (#583)
* Rename Screen Contexts

* typedef ScreenContext struct

* Fix Compile

* Rename Course.cpp to Track.cpp

* Refactor Course to Track

* A few renames

* General Cleanup

* More Rename

* More names

* Move TrackSections struct to Track.h

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-12-07 21:00:06 -07:00
MegaMech 6585333092 Camera Refactor --> Adds Track Tour Camera (#568)
* Impl SpawnParams

* Added json submodule

* Update json

* Update

* Works

* Remove comment

* Works refactor

* Snowman and thwomp working

* Impl hot air balloon

* More progress

* All OObjects are done

* cleanup

* Refactor 2Dpath to normal path

* Update nlohmann json & fix compile

* Rest of actors

* MORE CHANGES

* Finish actors

* Done PR, some fix to collision viewer

* Impl falling rocks

* Add const

* wip editor refactor

* Property work

* continue

* Overridable editor properties

* Actor saving/loading works now

* Fix light alignment

* Clarification

* Impl penguin

* params impl signs

* properties impl falling rock

* More property impls

* impl air balloon

* Add spawnParams to OObject Translate

* Snowman translate better

* impl hedgehog properly

* properties impl trophy

* thwomp progress

* Finish impl properties

* Fix compile

* Fix cursor collisions

* Move registered actors

* Rename pathPoint XYZ to xyz

* Fix editor pause bug

* Clean up

* Review comments

* Remove SpawnParams struct from actor classes

* Rename

* Player Label First Iteration

* Work now

* Working 3d text

* Fix boo bug

* Finish AText actor

* Fix spawnparams compile

* Register AText

* Finish Text Actor

* Fix thwomp interpolation

* Fix compile

* Fix crab and hedgehog

* Fix loading flagpole

* Fix Hot Air Balloon

* Turn zbuffer on for AText

* Update

* Camera Refactor

* Camera Refactor Complete

* Place Lookbehind behind a CVar

* Make Tour CVar

* Fix Tour Camera Billboarding

* micro optimization

* Impl tour cam in imgui editor and add to scenefile

* As per review

* Revert cleanWorld change as per review

* Cleanup SceneManager

* Func rename

* Proper enabling of freecam and wip zoom fix

* Couple fix

* Fix credits

* Fix podium ceremony

* Stop music on reset & label new play sequence func

* Rename func_800C8EF8 to play_sequence2

* Rename func_800CA414 to play_sequences

* Fix compile

* Label play_sequences

* Clean up

* Verify lakitu access

* Renames

* Fix tour enable logic

* Add Audio

* tour camera impl ending transition

* As per review

* Fix linux compile, probably

* Update TourCamera.cpp

* Update TourCamera.cpp

* Update TrackProperties.cpp

* Update TrackProperties.cpp

* Update Game.cpp

* Update SceneManager.cpp

* Update camera.c

* Update render_objects.h

* Update render_objects.h

* Update code_80057C60.h

* fixing compile

* addition

---------

Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
2025-12-07 13:14:45 -07:00
MegaMech 760fa3bf52 Update PortMenu.cpp (#552) 2025-09-27 08:09:25 -06:00
Spodi dbcf1acd2f Fix Multi-Window not checked by default (#548)
Last time i tested with a new config file this was actually on, despite it showing off. So now it shows ON by default :)

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-09-26 10:11:13 -06:00
Daniel Worley 334fdeafd2 Scale menu at higher resolutions (#502)
* Scale menu at higher resolutions

* Options for menu extent/scaling

---------

Co-authored-by: coco875 <59367621+coco875@users.noreply.github.com>
2025-08-07 19:53:24 +02:00
V10lator 57dcefb206 Allow 400% internal resolution (#516)
Signed-off-by: Thomas Rohloff <v10lator@myway.de>
2025-08-01 12:53:30 -06:00
KiritoDv 42a2fc2114 Fixed audio and sliders cc: @sonicdcer 2025-07-28 20:22:12 -06: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 adc7dd050f Add Rulesets (#494) 2025-07-20 17:13:35 -06:00
MegaMech 8696af8a69 Update PortMenu.cpp (#470) 2025-07-17 17:15:22 -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
MegaMech 77a9408817 Impl Option for Skipping Intros and Impl osPfsIsPlug (#451)
* Added Harbour Intro Skip

* Moved setting to more applicable submenu

* Update Game.cpp

* Update PortMenu.cpp

* Impl and fix os plug

---------

Co-authored-by: sitton76 <58642183+sitton76@users.noreply.github.com>
2025-07-12 20:18:02 -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 248e8fd542 fix no cull and add an option to disable rubberbanding (#420) 2025-07-05 17:33:52 -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
sitton76 03717deeed Changed imgui text for clarity. (#221)
* Added notice for incomplete feature.

* Other imgui changes.

Gave "Modify Interpolation Target FPS" a unique tooltip

Changed text for HM64 labs to be WIP

Made "Far Frustrum" hide if "gNoCulling" is disabled.

Renamed gImprovements to gBetterResultPortraits

* Made more sliders hidden when the option related to them is disabled.

* Adjusted linebreaks in the WIP label.

* Update PortMenu.cpp

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-06-15 22:20:08 -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
KiritoDv 5f8550790a Fixed compilation 2025-03-07 18:00:41 -06:00
MegaMech a6ecc276e9 Impl Reset button and fix some naming (#190)
* Compile works now

* Update menus

* Update CMakeLists.txt
2025-02-08 13:38:59 -07:00
Malkierian 695879c4cb Modern Menu (#183)
* Add modern menu.
Add and include LUS cvars .cmake file for macro usage in modern menu.

* Un-ignore new .cmake

* Copy new Resolution Editor stuff from 2ship (incomplete).
Fix fullscreen checkbox.
Finish changes for new UIWidgets.
Cleanup ShipUtils.

* Remove duplicate asm-differ entry from .gitmodules.

* Re-implement Freecam options.

* Cleanup freecam character follow buttons.
Partially re-implement Multiplayer window as enhancement sidebar (needs text input widget to finish).
Cleanup disables.

---------

Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
2025-02-04 11:43:20 -07:00