mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-08-07 10:25:32 -04:00
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>
This commit is contained in:
@@ -133,6 +133,7 @@ struct Actor {
|
||||
/* 0x18 */ Vec3f pos;
|
||||
/* 0x24 */ Vec3f velocity;
|
||||
/* 0x30 */ Collision unk30;
|
||||
const char* model;
|
||||
}; // size = 0x70
|
||||
|
||||
// Duplicate declare for simplicity when externing actors & packed files.
|
||||
@@ -157,6 +158,7 @@ struct TrainCar {
|
||||
/* 0x18 */ Vec3f pos;
|
||||
/* 0x24 */ Vec3f velocity;
|
||||
/* 0x30 */ Collision unk30;
|
||||
const char* model;
|
||||
}; // size = 0x70
|
||||
|
||||
struct RailroadCrossing {
|
||||
@@ -170,6 +172,7 @@ struct RailroadCrossing {
|
||||
/* 0x18 */ Vec3f pos;
|
||||
/* 0x24 */ Vec3f velocity;
|
||||
/* 0x30 */ Collision unk30;
|
||||
const char* model;
|
||||
}; // size = 0x70
|
||||
|
||||
// crossingTrigger might ruin struct size when compiled on 32 bit
|
||||
@@ -187,6 +190,7 @@ struct FallingRock {
|
||||
/* 0x18 */ Vec3f pos;
|
||||
/* 0x24 */ Vec3f velocity;
|
||||
/* 0x30 */ Collision unk30;
|
||||
const char* model;
|
||||
}; // size = 0x70
|
||||
|
||||
struct ActorSpawnData {
|
||||
@@ -231,6 +235,7 @@ struct YoshiValleyEgg {
|
||||
// pathCenter[0] and pathCenter[2] are the X,Z coordinates of the center of the path
|
||||
/* 0x24 */ Vec3f pathCenter;
|
||||
/* 0x30 */ Collision unk30;
|
||||
const char* model;
|
||||
}; // size = 0x70
|
||||
|
||||
struct KiwanoFruit {
|
||||
@@ -249,6 +254,7 @@ struct KiwanoFruit {
|
||||
/* 0x18 */ Vec3f pos;
|
||||
/* 0x24 */ Vec3f velocity;
|
||||
/* 0x30 */ Collision unk30;
|
||||
const char* model;
|
||||
}; // size = 0x70
|
||||
|
||||
struct PaddleWheelBoat {
|
||||
@@ -263,6 +269,7 @@ struct PaddleWheelBoat {
|
||||
/* 0x18 */ Vec3f pos;
|
||||
/* 0x24 */ Vec3f velocity;
|
||||
/* 0x30 */ Collision unk30;
|
||||
const char* model;
|
||||
}; // size = 0x70
|
||||
|
||||
struct PiranhaPlant {
|
||||
@@ -275,6 +282,7 @@ struct PiranhaPlant {
|
||||
/* 0x24 */ Vec4s timers; // A per-camera timer. Might be more appropriate to call this state
|
||||
/* 0x2C */ f32 unk_02C;
|
||||
/* 0x30 */ Collision unk30;
|
||||
const char* model;
|
||||
}; // size = 0x70
|
||||
|
||||
struct PalmTree {
|
||||
@@ -289,6 +297,7 @@ struct PalmTree {
|
||||
/* 0x18 */ Vec3f pos;
|
||||
/* 0x24 */ Vec3f velocity;
|
||||
/* 0x30 */ Collision unk30;
|
||||
const char* model;
|
||||
}; // size = 0x70
|
||||
|
||||
typedef struct {
|
||||
@@ -305,6 +314,7 @@ typedef struct {
|
||||
/* 0x18 */ Vec3f unk_18;
|
||||
/* 0x24 */ Vec3f shellIndices; // Indices in gActorList for the shells "owned" by this parent
|
||||
/* 0x30 */ Collision unk30;
|
||||
const char* model;
|
||||
} TripleShellParent; // size = 0x70
|
||||
|
||||
struct ShellActor {
|
||||
@@ -332,6 +342,7 @@ struct ShellActor {
|
||||
/* 0x18 */ Vec3f pos;
|
||||
/* 0x24 */ Vec3f velocity; // All 0 until the shell is fired
|
||||
/* 0x30 */ Collision unk30;
|
||||
const char* model;
|
||||
}; // size = 0x70
|
||||
|
||||
struct ItemBox {
|
||||
@@ -350,6 +361,7 @@ struct ItemBox {
|
||||
/* 0x28 */ f32 unk_028;
|
||||
/* 0x2C */ f32 unk_02C;
|
||||
/* 0x30 */ Collision unk30;
|
||||
const char* model;
|
||||
}; // size = 0x70
|
||||
|
||||
struct FakeItemBox {
|
||||
@@ -366,6 +378,7 @@ struct FakeItemBox {
|
||||
/* 0x28 */ f32 targetY;
|
||||
/* 0x2C */ f32 unk_02C;
|
||||
/* 0x30 */ Collision unk30;
|
||||
const char* model;
|
||||
}; // size = 0x70
|
||||
|
||||
struct BananaBunchParent {
|
||||
@@ -381,6 +394,7 @@ struct BananaBunchParent {
|
||||
/* 0x1E */ s16 unk_1E;
|
||||
/* 0x20 */ f32 unk_20[4];
|
||||
/* 0x30 */ Collision unk30;
|
||||
const char* model;
|
||||
}; // size = 0x70
|
||||
|
||||
struct BananaActor {
|
||||
@@ -403,6 +417,7 @@ struct BananaActor {
|
||||
/* 0x18 */ Vec3f pos;
|
||||
/* 0x24 */ Vec3f velocity;
|
||||
/* 0x30 */ Collision unk30;
|
||||
const char* model;
|
||||
}; // size = 0x70
|
||||
|
||||
// #pragma GCC diagnostic pop
|
||||
|
||||
+10
-1
@@ -183,6 +183,7 @@ enum { COURSE_ONE, COURSE_TWO, COURSE_THREE, COURSE_FOUR };
|
||||
#define CHARACTER_SELECT_MENU 12
|
||||
#define COURSE_SELECT_MENU 13
|
||||
#define RACING_DUPLICATE 14
|
||||
#define HARBOUR_MASTERS_MENU 15
|
||||
|
||||
/**
|
||||
* @brief Options for gGameState gGotoMode and gGotoMenu
|
||||
@@ -383,4 +384,12 @@ enum DIRECTION {
|
||||
#define FACING_X_AXIS 0x8000
|
||||
#define FACING_Z_AXIS 0x2000
|
||||
|
||||
#endif // DEFINES_H
|
||||
#endif // DEFINES_H
|
||||
|
||||
/**
|
||||
*
|
||||
* Laps
|
||||
*
|
||||
*/
|
||||
#define MIN_LAPS 0
|
||||
#define MAX_LAPS 3
|
||||
@@ -103,6 +103,7 @@ enum SURFACE_TYPE {
|
||||
/* 0x0F */ CAVE, // DK Jungle cave
|
||||
/* 0x10 */ ROPE_BRIDGE, // Bowser's Castle bridge 2, DK Jungle bridge
|
||||
/* 0x11 */ WOOD_BRIDGE, // Frappe Snowland bridge, Bowser's Castle bridge 1,3, Yoshi Valley bridge 2
|
||||
/* 0xFB */ WATER_SURFACE = 0xFB, // Water effect and Lakitu picks up the player
|
||||
/* 0xFC */ BOOST_RAMP_WOOD = 0xFC, // DK Jungle
|
||||
/* 0xFD */ OUT_OF_BOUNDS, // DK Jungle river island oob / out of bounds
|
||||
/* 0xFE */ BOOST_RAMP_ASPHALT, // Royal Raceway
|
||||
|
||||
Reference in New Issue
Block a user