mirror of
https://github.com/PodeCaradox/GalaxyQuest-SteamFrame.git
synced 2026-10-19 12:01:22 +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>
77 lines
2.7 KiB
C++
77 lines
2.7 KiB
C++
#pragma once
|
|
|
|
#include <JSystem/JGeometry/TMatrix.hpp>
|
|
|
|
class TombSpider;
|
|
class TombSpiderGland;
|
|
class TombSpiderVitalSpot;
|
|
class HitSensor;
|
|
class PlanetMap;
|
|
class ModelObj;
|
|
|
|
namespace TombSpiderFunction {
|
|
TombSpiderGland* getGlandFrontL(const TombSpider*);
|
|
TombSpiderGland* getGlandFrontR(const TombSpider*);
|
|
TombSpiderGland* getGlandRearL(const TombSpider*);
|
|
TombSpiderGland* getGlandRearR(const TombSpider*);
|
|
|
|
TombSpiderVitalSpot* getVitalSpotC(const TombSpider*);
|
|
TombSpiderVitalSpot* getVitalSpotL(const TombSpider*);
|
|
TombSpiderVitalSpot* getVitalSpotR(const TombSpider*);
|
|
|
|
MtxPtr getMtxEye(const TombSpider*);
|
|
MtxPtr getMtxMouth(const TombSpider*);
|
|
MtxPtr getMtxHip(const TombSpider*);
|
|
MtxPtr getMtxGlandFrontL(const TombSpider*);
|
|
MtxPtr getMtxGlandFrontR(const TombSpider*);
|
|
MtxPtr getMtxGlandRearL(const TombSpider*);
|
|
MtxPtr getMtxGlandRearR(const TombSpider*);
|
|
|
|
void appearThreadAttacherAll(TombSpider*);
|
|
void killThreadAttacherAll(TombSpider*);
|
|
|
|
void startAcid(TombSpider*);
|
|
void updateAcid(TombSpider*);
|
|
void endAcid(TombSpider*);
|
|
|
|
bool isAttackEnable(const TombSpiderGland*);
|
|
bool isAttackDirection(HitSensor*, HitSensor*);
|
|
|
|
bool tryDamageEye(HitSensor*, HitSensor*);
|
|
bool tryDamageHip(HitSensor*, HitSensor*);
|
|
bool tryDamageGland(TombSpider*, HitSensor*, HitSensor*);
|
|
bool tryDamageVitalSpot(TombSpider*, HitSensor*, HitSensor*);
|
|
|
|
void invalidateAllPartsSensor(TombSpider*);
|
|
void invalidateMainPartsSensor(TombSpider*);
|
|
void invalidateGlandSensor(TombSpider*);
|
|
void invalidateVitalSpotSensor(TombSpider*);
|
|
void invalidateAttackSensor(TombSpider*);
|
|
|
|
bool isSpringAttacker(const HitSensor*);
|
|
bool isEnemyAttack(const HitSensor*);
|
|
bool isSpiderBody(const HitSensor*);
|
|
bool isSpiderAttack(const HitSensor*);
|
|
|
|
PlanetMap* getPlanet(const TombSpider*);
|
|
ModelObj* getCocoon(const TombSpider*);
|
|
|
|
void startTombSpiderDemo(TombSpider*, const char*, const char*);
|
|
void startTombSpiderAnimCameraDemo(TombSpider*, const char*, const char*, s32);
|
|
void endTombSpiderDemo(TombSpider*, const char*, const char*);
|
|
void endTombSpiderAnimCameraDemo(TombSpider*, const char*, const char*);
|
|
|
|
void pauseOffTombSpiderParts(const TombSpider*);
|
|
void resetPlayerPosTombSpider(const TombSpider*, bool);
|
|
bool isRotateLeftToPlayer(const TombSpider*);
|
|
f32 calcRotateSpeedToPlayer(TombSpider*, s32);
|
|
|
|
void emitAcidMouth(TombSpider*) NO_INLINE;
|
|
void emitAcidGland(TombSpider*);
|
|
|
|
void validateMainPartsSensor(TombSpider*);
|
|
void validateGlandSensor(TombSpider*);
|
|
void validateVitalSpotSensor(TombSpider*);
|
|
void validateAttackSensor(TombSpider*);
|
|
}; // namespace TombSpiderFunction
|