mirror of
https://github.com/PodeCaradox/GalaxyQuest-SteamFrame.git
synced 2026-10-18 23:01:13 +02:00
The sources of Petari (https://github.com/SMGCommunity/Petari), the Super Mario Galaxy decompilation by the SMGCommunity, at commit 0a5c6608dc3b4c44a9aa68c2535d1793dc565f02, unchanged but for LF line endings: LICENSE (as LICENSE-Petari.txt; CC0 1.0), include/, libs/ and src/. Left out: the game data Petari keeps from the original executable, the error message archive (include/Game/System/ ErrorArchive.hpp) and two tables (src/Game/System/GalaxyID.bcsv and StoryEvent.bcsv); GalaxyQuest's converter takes them from the player's own disc. The port's changes follow in the next commit, so `git diff petari-base -- decomp` shows them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
85 lines
4.7 KiB
C++
85 lines
4.7 KiB
C++
#pragma once
|
|
|
|
#include <JSystem/JGeometry/TVec.hpp>
|
|
|
|
class CollisionParts;
|
|
class Color8;
|
|
class HitSensor;
|
|
class LiveActor;
|
|
|
|
namespace MR {
|
|
void initShadowFromCSV(LiveActor*, const char*);
|
|
void initShadowSurfaceCircle(LiveActor*, f32);
|
|
void initShadowVolumeSphere(LiveActor*, f32);
|
|
void initShadowVolumeOval(LiveActor*, const TVec3f&);
|
|
void initShadowVolumeCylinder(LiveActor*, f32);
|
|
void initShadowVolumeBox(LiveActor*, const TVec3f&);
|
|
void initShadowVolumeFlatModel(LiveActor*, const char*);
|
|
void initShadowController(LiveActor*, u32);
|
|
void addShadowSurfaceCircle(LiveActor*, const char*, f32);
|
|
void addShadowVolumeSphere(LiveActor*, const char*, f32);
|
|
void addShadowVolumeOval(LiveActor*, const char*, const TVec3f&, MtxPtr);
|
|
void addShadowVolumeCylinder(LiveActor*, const char*, f32);
|
|
void addShadowVolumeBox(LiveActor*, const char*, const TVec3f&);
|
|
void addShadowVolumeBox(LiveActor*, const char*, const TVec3f&, MtxPtr);
|
|
void addShadowVolumeLine(LiveActor*, const char*, LiveActor*, const char*, f32, LiveActor*, const char*, f32);
|
|
void addShadowVolumeFlatModel(LiveActor*, const char*, const char*);
|
|
void addShadowVolumeFlatModel(LiveActor*, const char*, const char*, MtxPtr);
|
|
void initShadowVolumeBox(LiveActor*, const TVec3f&, MtxPtr);
|
|
void initShadowVolumeFlatModel(LiveActor*, const char*, MtxPtr);
|
|
void setShadowDropPositionPtr(LiveActor*, const char*, const TVec3f*);
|
|
void setShadowDropPositionMtxPtr(LiveActor*, const char*, MtxPtr, const TVec3f&);
|
|
void setShadowDropPositionAtJoint(LiveActor*, const char*, const char*, const TVec3f&);
|
|
void setShadowDropDirectionPtr(LiveActor*, const char*, const TVec3f*);
|
|
void setShadowProjectionPtr(LiveActor*, const char*, const TVec3f*, const TVec3f*);
|
|
void setShadowDropPosition(LiveActor*, const char*, const TVec3f&);
|
|
void setShadowDropDirection(LiveActor*, const char*, const TVec3f&);
|
|
void setShadowDropLength(LiveActor*, const char*, f32);
|
|
void setShadowDropStartOffset(LiveActor*, const char*, f32);
|
|
void setShadowProjection(LiveActor*, const char*, const TVec3f&, const TVec3f&, bool);
|
|
void setShadowSurfaceOvalColor(LiveActor*, const char*, Color8);
|
|
void setShadowSurfaceOvalAlpha(LiveActor*, const char*, u8);
|
|
void setShadowVolumeSphereRadius(LiveActor*, const char*, f32);
|
|
void setShadowVolumeCylinderRadius(LiveActor*, const char*, f32);
|
|
void setShadowVolumeBoxSize(LiveActor*, const char*, const TVec3f&);
|
|
void setShadowVolumeStartDropOffset(LiveActor*, const char*, f32);
|
|
void setShadowVolumeEndDropOffset(LiveActor*, const char*, f32);
|
|
void onShadowVolumeCutDropLength(LiveActor*, const char*);
|
|
void onCalcShadow(LiveActor*, const char*);
|
|
void offCalcShadow(LiveActor*, const char*);
|
|
void onCalcShadowOneTime(LiveActor*, const char*);
|
|
void onCalcShadowAll(LiveActor*);
|
|
void offCalcShadowAll(LiveActor*);
|
|
void onCalcShadowOneTimeAll(LiveActor*);
|
|
void onCalcShadowDropGravity(LiveActor*, const char*);
|
|
void onCalcShadowDropGravityOneTime(LiveActor*, const char*);
|
|
void onCalcShadowDropPrivateGravity(LiveActor*, const char*);
|
|
void onCalcShadowDropPrivateGravityOneTime(LiveActor*, const char*);
|
|
void offCalcShadowDropPrivateGravity(LiveActor*, const char*);
|
|
void excludeCalcShadowToMyCollision(LiveActor*, const char*);
|
|
void excludeCalcShadowToCollision(LiveActor*, const char*, CollisionParts*);
|
|
void excludeCalcShadowToSensorAll(LiveActor*, const HitSensor*);
|
|
void excludeCalcShadowToActorAll(LiveActor*, const LiveActor*);
|
|
bool isExistShadow(const LiveActor*, const char*);
|
|
void invalidateShadow(LiveActor*, const char*);
|
|
void validateShadow(LiveActor*, const char*);
|
|
void invalidateShadowGroup(LiveActor*, const char*);
|
|
void validateShadowGroup(LiveActor*, const char*);
|
|
void invalidateShadowAll(LiveActor*);
|
|
void validateShadowAll(LiveActor*);
|
|
void offShadowVisibleSyncHost(LiveActor*, const char*);
|
|
void onShadowVisibleSyncHostAll(LiveActor*);
|
|
void offShadowVisibleSyncHostAll(LiveActor*);
|
|
void onShadowFollowHostScale(LiveActor*, const char*);
|
|
void onShadowFollowHostScaleAll(LiveActor*);
|
|
bool calcClippingRangeIncludeShadow(TVec3f*, f32*, const LiveActor*, f32);
|
|
void setClippingRangeIncludeShadow(LiveActor*, TVec3f*, f32);
|
|
bool isShadowProjected(const LiveActor*, const char*);
|
|
void getShadowProjectionPos(const LiveActor*, const char*, TVec3f*);
|
|
void getShadowProjectionNormal(const LiveActor*, const char*, TVec3f*);
|
|
f32 getShadowProjectionLength(const LiveActor*, const char*);
|
|
HitSensor* getShadowProjectedSensor(const LiveActor*, const char*);
|
|
bool isShadowProjectedAny(const LiveActor*);
|
|
f32 getShadowNearProjectionLength(const LiveActor*);
|
|
}; // namespace MR
|