Files
Petari/include/Game/MapObj/AstroMapObjFunction.hpp

71 lines
2.3 KiB
C++

#pragma once
#include "Game/NameObj/NameObj.hpp"
#include "Game/NameObj/NameObjArchiveListCollector.hpp"
#include "Game/Util/Functor.hpp"
#include <JSystem/JGeometry/TVec.hpp>
class GalaxyNamePlate;
class LiveActor;
class JMapInfo;
namespace {
s32 getNumGrandStarForRevival(const char *, s32) NO_INLINE;
s32 getNumGrandStarForOpen(const char *, s32) NO_INLINE;
const char* cAstroDomeNameTable[6] = {
"AstroDomeObservatory",
"AstroDomeWell",
"AstroDomeKitchen",
"AstroDomeBedRoom",
"AstroDomeMachine",
"AstroDomeTower"
};
const char* cAstroDomeSkyNameTable[6] = {
"AstroDomeSkyA",
"AstroDomeSkyB",
"AstroDomeSkyC",
"AstroDomeSkyA",
"AstroDomeSkyB",
"AstroDomeSkyC"
};
const char* cAstroDomeEntranceNameTable[6] = {
"AstroDomeEntranceObservatory",
"AstroDomeEntranceWell",
"AstroDomeEntranceKitchen",
"AstroDomeEntranceBedRoom",
"AstroDomeEntranceMachine",
"AstroDomeEntranceTower"
};
const char* cAstroStarPlateNameTable[6] = {
"AstroStarPlateObservatory",
"AstroStarPlateWell",
"AstroStarPlateKitchen",
"AstroStarPlateBedRoom",
"AstroStarPlateMachine",
"AstroStarPlateTower"
};
const char* cAstroNamePlateArcName = "AstroNamePlateData";
const char* cAstroNamePlateFileName = "AstroNamePlateData.bcsv";
};
class AstroMapObjFunction {
public:
static void makeArchiveListFromArg0(NameObjArchiveListCollector *, const JMapInfoIter &);
static void makeArchiveListAstroNamePlate(NameObjArchiveListCollector *, const JMapInfoIter &);
static bool isAlreadyRevival(const char *, s32);
static bool isEnableRevival(const char *, s32);
static bool isAlreadyOpen(const char *, s32);
static bool isEnableOpen(const char *, s32);
static s32 getDomeIdFromArg0(const JMapInfoIter &);
static const char* getModelName(const char *, s32);
static const JMapInfo* createAstroNamePlateParser();
static bool trySetAndShowNamePlate(GalaxyNamePlate *, const JMapInfo *, const TVec3f &, const char *, s32, bool);
static bool tryRegisterMultiDemoAndFunction(const char *, LiveActor *, const JMapInfoIter &, const MR::FunctorBase &);
static void initilizePeculiar(const char *, LiveActor *, const JMapInfoIter &);
};