diff --git a/include/MoveBG/Item.hpp b/include/MoveBG/Item.hpp index 33c94097..7680d598 100644 --- a/include/MoveBG/Item.hpp +++ b/include/MoveBG/Item.hpp @@ -32,7 +32,7 @@ class TItem : public TMapObjGeneral { class TCoin : public TItem { public: - TCoin(const char*); + TCoin(const char* name = "コイン"); virtual void loadAfter(); virtual void perform(u32, JDrama::TGraphics*); @@ -50,7 +50,7 @@ class TCoin : public TItem { class TFlowerCoin : public TCoin { public: - TFlowerCoin(); + TFlowerCoin(const char* name = "コイン(フラワー用)"); virtual void load(JSUMemoryInputStream&); @@ -71,13 +71,13 @@ class TCoinEmpty : public TCoin { class TCoinRed : public TCoin { public: - TCoinRed(const char*); + TCoinRed(const char* name = "赤コイン"); virtual void taken(THitActor*); }; class TCoinBlue : public TCoin { public: - TCoinBlue(const char*); + TCoinBlue(const char* name = "青コイン"); virtual void load(JSUMemoryInputStream&); virtual void makeObjAppeared(); @@ -87,7 +87,7 @@ class TCoinBlue : public TCoin { class TShine : public TItem { public: - TShine(const char*); + TShine(const char* name = "シャイン"); virtual void loadAfter(); virtual void perform(u32, JDrama::TGraphics*); @@ -147,7 +147,7 @@ class TShine : public TItem { class TEggYoshi : public TMapObjGeneral { public: - TEggYoshi(const char*); + TEggYoshi(const char* name = "ヨッシーの卵"); virtual void load(JSUMemoryInputStream&); virtual void perform(u32, JDrama::TGraphics*); @@ -180,7 +180,7 @@ class TItemNozzle : public TItem { class TNozzleBox : public TMapObjGeneral { public: - TNozzleBox(const char*); + TNozzleBox(const char* name = "ノズルボックス"); virtual void load(JSUMemoryInputStream&); virtual void loadAfter(); diff --git a/include/MoveBG/MapObjBall.hpp b/include/MoveBG/MapObjBall.hpp index f7810aef..cdd3f790 100644 --- a/include/MoveBG/MapObjBall.hpp +++ b/include/MoveBG/MapObjBall.hpp @@ -77,7 +77,7 @@ class TRandomFruit : public TResetFruit { class TCoverFruit : public TMapObjBase { public: - TCoverFruit(); + TCoverFruit(const char*); virtual void loadAfter(); virtual BOOL receiveMessage(THitActor* sender, u32 message); diff --git a/include/MoveBG/MapObjBlock.hpp b/include/MoveBG/MapObjBlock.hpp index b3243dc1..69daa5a8 100644 --- a/include/MoveBG/MapObjBlock.hpp +++ b/include/MoveBG/MapObjBlock.hpp @@ -18,7 +18,7 @@ class TBreakableBlock : public TMapObjGeneral { class TSandBlock : public TMapObjBase { public: - TSandBlock(); + TSandBlock(const char* name = "砂ブロック"); void initMapObj(); void control(); void touchPlayer(THitActor*); @@ -48,7 +48,7 @@ class TLeanBlock : public TMapObjBase { class TIceBlock : public TMapObjBase { public: - TIceBlock(); + TIceBlock(const char*); void initMapObj(); void calc(); void control(); @@ -59,7 +59,7 @@ class TIceBlock : public TMapObjBase { class TBrickBlock : public THideObjBase { public: - TBrickBlock(); + TBrickBlock(const char*); void initMapObj(); BOOL receiveMessage(THitActor* sender, u32 message); void kill(); @@ -100,6 +100,7 @@ class TTelesaBlock : public TJuiceBlock { class TSuperHipDropBlock : public TBreakHideObj { public: + TSuperHipDropBlock(const char*); void loadAfter(); BOOL receiveMessage(THitActor* sender, u32 message); }; diff --git a/include/MoveBG/MapObjEx.hpp b/include/MoveBG/MapObjEx.hpp index 5d13411d..def228d0 100644 --- a/include/MoveBG/MapObjEx.hpp +++ b/include/MoveBG/MapObjEx.hpp @@ -39,7 +39,7 @@ class TMapObjSteam : public THideObjBase { virtual void load(JSUMemoryInputStream&); virtual void control(); - TMapObjSteam(); + TMapObjSteam(const char*); }; #endif diff --git a/include/MoveBG/MapObjFence.hpp b/include/MoveBG/MapObjFence.hpp index 9eec11f3..14c8a1d0 100644 --- a/include/MoveBG/MapObjFence.hpp +++ b/include/MoveBG/MapObjFence.hpp @@ -24,7 +24,10 @@ class TRevolvingFenceOuter : public TFence { public: BOOL receiveMessage(THitActor* sender, u32 message); void initMapCollisionData(); - TRevolvingFenceOuter(); + TRevolvingFenceOuter(const char* name) + : TFence(name) + { + } }; class TRevolvingFenceInner : public TFence { @@ -60,7 +63,10 @@ class TFenceWater : public TFence { void control(); void initMapCollisionData(); void initMapObj(); - TFenceWater(); + TFenceWater(const char* name) + : TFence(name) + { + } }; class TFenceWaterH : public TFenceWater { @@ -68,6 +74,10 @@ class TFenceWaterH : public TFenceWater { void control(); void changeStatusToGo(); void changeStatusToWait(); + TFenceWaterH(const char* name) + : TFenceWater(name) + { + } }; class TRailFence : public TFence { @@ -78,7 +88,10 @@ class TRailFence : public TFence { void control(); void initMapCollisionData(); void load(JSUMemoryInputStream&); - TRailFence(const char*); + TRailFence(const char* name) + : TFence(name) + { + } }; #endif diff --git a/include/MoveBG/MapObjHide.hpp b/include/MoveBG/MapObjHide.hpp index 127b1534..12484f8f 100644 --- a/include/MoveBG/MapObjHide.hpp +++ b/include/MoveBG/MapObjHide.hpp @@ -25,7 +25,7 @@ class THideObjBase : public TMapObjBase { class TBreakHideObj : public THideObjBase { public: - TBreakHideObj(); + TBreakHideObj(const char*); virtual BOOL receiveMessage(THitActor* sender, u32 message); virtual void control(); virtual void kill(); diff --git a/include/MoveBG/MapObjMamma.hpp b/include/MoveBG/MapObjMamma.hpp index d901d6e2..5ffcdf20 100644 --- a/include/MoveBG/MapObjMamma.hpp +++ b/include/MoveBG/MapObjMamma.hpp @@ -32,7 +32,7 @@ class TSandLeafBase : public TSandBase { void grow(); void control(); void initMapObj(); - TSandLeafBase(); + TSandLeafBase(const char*); }; class TSandBomb : public TSandLeaf { @@ -124,7 +124,7 @@ class TMammaYacht : public TMapObjBase { public: void control(); void initMapObj(); - TMammaYacht(); + TMammaYacht(const char*); }; class TSandBird : public TJointCoin { @@ -158,7 +158,7 @@ class TMammaMirrorMapOperator : public JDrama::TViewObj { class TSandEgg : public TMapObjBase { public: u32 getSDLModelFlag() const; - TSandEgg(); + TSandEgg(const char*); }; #endif diff --git a/include/MoveBG/MapObjMare.hpp b/include/MoveBG/MapObjMare.hpp index bee9ea96..643a3045 100644 --- a/include/MoveBG/MapObjMare.hpp +++ b/include/MoveBG/MapObjMare.hpp @@ -32,7 +32,7 @@ class TMapObjElasticCode : public TMapObjBase { void draw() const; void control(); void initMapObj(); - TMapObjElasticCode(); + TMapObjElasticCode(const char*); }; class TMapObjGrowTree : public TMapObjBase { @@ -60,7 +60,7 @@ class TMapObjPuncher : public TMapObjBase { void touchPlayer(THitActor*); void control(); void load(JSUMemoryInputStream&); - TMapObjPuncher(); + TMapObjPuncher(const char*); }; class TMuddyBoat : public TMapObjBase { @@ -83,7 +83,7 @@ class TMareFall : public TMapObjBase { public: void calc(); void load(JSUMemoryInputStream&); - TMareFall(); + TMareFall(const char*); }; class TMareCork : public TMapObjBase { @@ -93,14 +93,14 @@ class TMareCork : public TMapObjBase { void calcRootMatrix(); MtxPtr getTakingMtx(); void drawObject(JDrama::TGraphics*); - TMareCork(); + TMareCork(const char*); }; class TMareEventPoint : public THitActor { public: BOOL receiveMessage(THitActor* sender, u32 message); void load(JSUMemoryInputStream&); - TMareEventPoint(); + TMareEventPoint(const char*); }; #endif diff --git a/include/MoveBG/MapObjMonte.hpp b/include/MoveBG/MapObjMonte.hpp index 7d260dbf..999593f6 100644 --- a/include/MoveBG/MapObjMonte.hpp +++ b/include/MoveBG/MapObjMonte.hpp @@ -9,14 +9,14 @@ class TMapObjMonteRoot : public TMapObjBase { public: void initMapObj(); - TMapObjMonteRoot(); + TMapObjMonteRoot(const char*); }; class TJumpMushroom : public TMapObjBase { public: BOOL receiveMessage(THitActor*, unsigned long); void load(JSUMemoryInputStream&); - TJumpMushroom(); + TJumpMushroom(const char*); }; class THangingBridgeBoard : public TLeanBlock { @@ -68,7 +68,7 @@ class TGoalFlag : public TMapObjBase { f32 getRadiusAtY(f32) const; void touchActor(THitActor*); void initMapObj(); - TGoalFlag(); + TGoalFlag(const char*); }; class TFluff : public TMapObjBase { diff --git a/include/MoveBG/MapObjPinna.hpp b/include/MoveBG/MapObjPinna.hpp index 441b3110..70733720 100644 --- a/include/MoveBG/MapObjPinna.hpp +++ b/include/MoveBG/MapObjPinna.hpp @@ -85,19 +85,19 @@ class TBalloonKoopaJr : public TMapObjGeneral { void touchActor(THitActor*); void kill(); void load(JSUMemoryInputStream&); - TBalloonKoopaJr(); + TBalloonKoopaJr(const char*); }; class TPinnaEntrance : public TMapObjBase { public: void loadAfter(); - TPinnaEntrance(); + TPinnaEntrance(const char*); }; class TWaterRecoverObj : public TMapObjBase { public: void touchPlayer(THitActor*); - TWaterRecoverObj(); + TWaterRecoverObj(const char*); }; class TAmiKing : public TMapObjBase { @@ -109,7 +109,7 @@ class TAmiKing : public TMapObjBase { void calcRootMatrix(); void bind(); void touchPlayer(THitActor*); - TAmiKing(); + TAmiKing(const char*); }; class TPinnaCoaster : public TMapObjBase { diff --git a/include/MoveBG/MapObjPlane.hpp b/include/MoveBG/MapObjPlane.hpp index 3019fc00..4799edbe 100644 --- a/include/MoveBG/MapObjPlane.hpp +++ b/include/MoveBG/MapObjPlane.hpp @@ -52,14 +52,14 @@ class TMapObjPlane : public TLiveActor { /* 0x11C */ u16 unk11C; }; -class TRockPlane : TMapObjPlane { +class TRockPlane : public TMapObjPlane { public: TRockPlane(const char*); virtual void load(JSUMemoryInputStream&); }; -class TSandPlane : TMapObjPlane { +class TSandPlane : public TMapObjPlane { public: TSandPlane(const char*); diff --git a/include/MoveBG/MapObjRicco.hpp b/include/MoveBG/MapObjRicco.hpp index f07f2717..33801f69 100644 --- a/include/MoveBG/MapObjRicco.hpp +++ b/include/MoveBG/MapObjRicco.hpp @@ -12,14 +12,14 @@ class TCraneRotY : public TMapObjBase { void calc(); void control(); void load(JSUMemoryInputStream&); - TCraneRotY(); + TCraneRotY(const char*); }; class TCraneUpDown : public TMapObjBase { public: void control(); void initMapObj(); - TCraneUpDown(); + TCraneUpDown(const char*); }; class TCraneCargo : public TLeanBlock { @@ -44,7 +44,7 @@ class TRiccoWatermill : public TMapObjBase { class TSurfGesoObj : public TItem { public: void initMapObj(); - TSurfGesoObj(); + TSurfGesoObj(const char*); }; class TFruitSwitch : public TMapObjBase { @@ -52,7 +52,7 @@ class TFruitSwitch : public TMapObjBase { void pullUp(); void pushDown(); BOOL receiveMessage(THitActor* sender, u32 message); - TFruitSwitch(); + TFruitSwitch(const char*); }; class TFruitLauncher : public TMapObjBase { @@ -60,7 +60,7 @@ class TFruitLauncher : public TMapObjBase { void appearFruit() const; void fireObj(); void loadAfter(); - TFruitLauncher(); + TFruitLauncher(const char*); }; #endif diff --git a/include/MoveBG/MapObjSample.hpp b/include/MoveBG/MapObjSample.hpp index 2d07284d..d5b83803 100644 --- a/include/MoveBG/MapObjSample.hpp +++ b/include/MoveBG/MapObjSample.hpp @@ -5,7 +5,7 @@ class TGateShadow : public JDrama::TViewObj { public: - TGateShadow(); + TGateShadow(const char* name = "シャドウ球"); void perform(u32, JDrama::TGraphics*); }; diff --git a/include/MoveBG/MapObjTown.hpp b/include/MoveBG/MapObjTown.hpp index 8b22eb6f..8bce9df4 100644 --- a/include/MoveBG/MapObjTown.hpp +++ b/include/MoveBG/MapObjTown.hpp @@ -1,6 +1,7 @@ #ifndef MOVE_BG_MAP_OBJ_TOWN_HPP #define MOVE_BG_MAP_OBJ_TOWN_HPP +#include "Strategic/HitActor.hpp" #include #include #include @@ -32,7 +33,10 @@ class TMapObjBillboard : public THideObjBase { void swing(THitActor*); void touchActor(THitActor*); u32 touchWater(THitActor*); - TMapObjBillboard(); + TMapObjBillboard(const char* name) + : THideObjBase(name) + { + } }; class TMapObjChangeStage : public TMapObjBase { @@ -53,13 +57,20 @@ class TMapObjChangeStageHipDrop : public TMapObjChangeStage { public: void touchPlayer(THitActor*); void initMapObj(); + TMapObjChangeStageHipDrop(const char* name) + : TMapObjChangeStage(name) + { + } }; class TMapObjStartDemo : public TMapObjBase { public: void touchPlayer(THitActor*); void load(JSUMemoryInputStream&); - TMapObjStartDemo(); + TMapObjStartDemo(const char* name) + : TMapObjBase(name) + { + } }; class TDamageObj : public THitActor { @@ -67,7 +78,10 @@ class TDamageObj : public THitActor { void perform(unsigned long, JDrama::TGraphics*); void init(unsigned long); void load(JSUMemoryInputStream&); - TDamageObj(); + TDamageObj(const char* name = "ダメージオブジェ") + : THitActor(name) + { + } }; class TShadowObj { @@ -84,6 +98,7 @@ class TMapObjWaterSpray : public TMapObjBase { class THideObjInfo : public JDrama::TViewObj { public: + void perform(unsigned long, JDrama::TGraphics*); void action(long); void load(JSUMemoryInputStream&); THideObjInfo(const char*); @@ -111,7 +126,7 @@ class TBasketReverse : public TMapObjBase { public: void kill(); void initMapObj(); - TBasketReverse(); + TBasketReverse(const char*); }; #endif diff --git a/src/System/MarNameRefGen_BossEnemy.cpp b/src/System/MarNameRefGen_BossEnemy.cpp index 8b137891..a0455758 100644 --- a/src/System/MarNameRefGen_BossEnemy.cpp +++ b/src/System/MarNameRefGen_BossEnemy.cpp @@ -1 +1,177 @@ +#include "Enemy/BathtubKiller.hpp" +#include "Enemy/BossGesso.hpp" +#include "Enemy/CoasterKiller.hpp" +#include "Enemy/Enemy.hpp" +#include "Enemy/EnemyManager.hpp" +#include "Enemy/Hinokuri2.hpp" +#include +JDrama::TNameRef* TMarNameRefGen::getNameRef_BossEnemy(const char* name) const +{ + + // TODO: + // if ( strcmp( name, "EMario" ) == 0 ) + // return new TEMario("マリオモドキ"); + + // TODO: + // if ( strcmp( name, "EMarioManager" ) == 0 ) + // return new TEMarioManager("典型敵マネージャ"); + + // TODO: + // if ( strcmp( name, "BossHanachan" ) == 0 ) + // return new TBossHanachan("?"); + + // TODO: + // if ( strcmp( name, "BossHanachanManager" ) == 0 ) + // return new TBossHanachanManager("?"); + + if (strcmp(name, "SleepBossHanachan") == 0) + return new TSpineEnemy("?"); + + if (strcmp(name, "SleepBossHanachanManager") == 0) + return new TEnemyManager("?"); + + // TODO: + // if ( strcmp( name, "BossEel" ) == 0 ) + // return new TBossEel; + + if (strcmp(name, "BossEelManager") == 0) + return new TEnemyManager("?"); + + // TODO: + // if ( strcmp( name, "BEelTearsManager" ) == 0 ) + // return new TBEelTearsManager("めおとウナギ涙マネージャー"); + + // TODO: + // if ( strcmp( name, "Koopa" ) == 0 ) + // return new TKoopa("クッパ"); + + // TODO: + // if ( strcmp( name, "KoopaManager" ) == 0 ) + // return new TKoopaManager("クッパマネージャー"); + + if (strcmp(name, "HinoKuri2") == 0) + return new THinokuri2("ヒノクリ2"); + + if (strcmp(name, "HinoKuri2Manager") == 0) + return new THinokuri2Manager("ヒノクリ2マネージャ"); + + if (strcmp(name, "BossGesso") == 0) + return new TBossGesso("ボスゲッソー"); + + if (strcmp(name, "BossGessoManager") == 0) + return new TBossGessoManager("ボスゲッソーマネージャ"); + + // TODO: + // if ( strcmp( name, "TinKoopa" ) == 0 ) + // return new TTinKoopa("メカクッパ"); + + // TODO: + // if ( strcmp( name, "TinKoopaManager" ) == 0 ) + // return new TTinKoopaManager("メカクッパマネージャ"); + + if (strcmp(name, "CoasterKillerManager") == 0) + return new TCoasterKillerManager; + + if (strcmp(name, "CoasterKiller") == 0) + return new TCoasterKiller; + + // TODO: + // if ( strcmp( name, "KoopaJrManager" ) == 0 ) + // return new TKoopaJrManager("クッパジュニアマネージャー"); + + // TODO: + // if ( strcmp( name, "KoopaJr" ) == 0 ) + // return new TKoopaJr("クッパジュニア"); + + // TODO: + // if ( strcmp( name, "KoopaJrSubmarineManager" ) == 0 ) + // return new + // TKoopaJrSubmarineManager("クッパジュニアサブマリンマネージャー"); + + // TODO: + // if ( strcmp( name, "KoopaJrSubmarine" ) == 0 ) + // return new TKoopaJrSubmarine("クッパジュニアサブマリン"); + + // TODO: + // if ( strcmp( name, "LimitKoopaJrManager" ) == 0 ) + // return new + // TLimitKoopaJrManager("リミットクッパジュニアマネージャー"); + + // TODO: + // if ( strcmp( name, "LimitKoopaJr" ) == 0 ) + // return new TLimitKoopaJr("リミットクッパジュニア"); + + // TODO: + // if ( strcmp( name, "LimitKoopaManager" ) == 0 ) + // return new TLimitKoopaManager("クッパマネージャー"); + + // TODO: + // if ( strcmp( name, "LimitKoopa" ) == 0 ) + // return new TLimitKoopa("クッパ"); + + // TODO: + // if ( strcmp( name, "BathtubKillerManager" ) == 0 ) + // return new TBathtubKillerManager("バスタブキラーマネージャー"); + + if (strcmp(name, "BathtubKiller") == 0) + return new TBathtubKiller; + + // TODO: + // if ( strcmp( name, "BathtubPeachManager" ) == 0 ) + // return new TBathtubPeachManager("バスタブピーチマネージャー"); + + // TODO: + // if ( strcmp( name, "BathtubPeach" ) == 0 ) + // return new TBathtubPeach("バスタブピーチ"); + + // TODO: + // if ( strcmp( name, "BossWanwan" ) == 0 ) + // return new TBossWanwan("ボスワンワン"); + + // TODO: + // if ( strcmp( name, "BossWanwanManager" ) == 0 ) + // return new TBossWanwanManager("ボスワンワンマネージャ"); + + // TODO: + // if ( strcmp( name, "BossPakkun" ) == 0 ) + // return new TBossPakkun("ボスパックン改"); + + // TODO: + // if ( strcmp( name, "KBossPakkun" ) == 0 ) + // return new TBossPakkun("ボスパックン軽"); + + // TODO: + // if ( strcmp( name, "BossPakkunManager" ) == 0 ) + // return new TBossPakkunManager("ボスパックンマネージャー", 0); + + // TODO: + // if ( strcmp( name, "KBossPakkunManager" ) == 0 ) + // return new TBossPakkunManager("ボスパックン軽マネージャ", 1); + + // TODO: + // if ( strcmp( name, "BossTelesa" ) == 0 ) + // return new TBossTelesa("ボステレサ"); + + // TODO: + // if ( strcmp( name, "BossTelesaManager" ) == 0 ) + // return new TBossTelesaManager("ボステレサマネージャー"); + + // TODO: + // if ( strcmp( name, "BubbleManager" ) == 0 ) + // return new TBubbleManager("バブルマネージャー"); + + // TODO: + // if ( strcmp( name, "OilBall" ) == 0 ) + // return new TBEelTears("油ダマ"); + + // TODO: + // if ( strcmp( name, "BossManta" ) == 0 ) + // return new TBossManta("ボスマンタ"); + + // TODO: + // if ( strcmp( name, "BossMantaManager" ) == 0 ) + // return new TBossMantaManager("ボスマンタマネージャ"); + + return nullptr; +} diff --git a/src/System/MarNameRefGen_Enemy.cpp b/src/System/MarNameRefGen_Enemy.cpp index 8b137891..bf9e277e 100644 --- a/src/System/MarNameRefGen_Enemy.cpp +++ b/src/System/MarNameRefGen_Enemy.cpp @@ -1 +1,529 @@ +#include "Animal/AnimalBase.hpp" +#include "Animal/AnimalManager.hpp" +#include "Enemy/EffectObj.hpp" +#include "Enemy/EnemyManager.hpp" +#include "Enemy/Gesso.hpp" +#include "Enemy/HamuKuri.hpp" +#include "Enemy/Launcher.hpp" +#include "Enemy/MameGesso.hpp" +#include "Enemy/NameKuri.hpp" +#include "Enemy/PoiHana.hpp" +#include "Enemy/RiccoHook.hpp" +#include "Enemy/Rocket.hpp" +#include "Enemy/SmallEnemy.hpp" +#include "Enemy/TamaNoko.hpp" +#include "Enemy/Telesa.hpp" +#include "Enemy/TypicalEnemy.hpp" +#include "Enemy/WalkerEnemy.hpp" +#include +extern TTypicalEnemy* gpBeamManager; // killer.hpp + +JDrama::TNameRef* TMarNameRefGen::getNameRef_Enemy(const char* name) const +{ + + if (strcmp(name, "TypicalEnemy") == 0) + return new TTypicalEnemy("典型敵"); + + if (strcmp(name, "TypicalManager") == 0) + return new TTypicalManager("典型敵マネージャ"); + + if (strcmp(name, "RiccoHook") == 0) + return new TRiccoHook; + + if (strcmp(name, "RiccoHookManager") == 0) + return new TRiccoHookManager("フックマネージャ"); + + if (strcmp(name, "EnemyManager") == 0) + return new TEnemyManager("エネミーマネージャ基底型"); + + // TODO: + // if ( strcmp(name, "FruitsBoat") == 0) + // return new TFruitsBoat; + + // TODO: + // if ( strcmp(name, "FruitsBoatB") == 0) + // return new TFruitsBoat; + + // TODO: + // if ( strcmp(name, "FruitsBoatC") == 0) + // return new TFruitsBoat; + + // TODO: + // if ( strcmp(name, "FruitsBoatD") == 0) + // return new TFruitsBoat; + + // TODO: + // if ( strcmp(name, "FruitsBoatManager") == 0) + // return new TFruitsBoatManager; + + // TODO: + // if ( strcmp(name, "FruitsBoatManagerB") == 0) + // return new TFruitsBoatManager; + + // TODO: + // if ( strcmp(name, "FruitsBoatManagerC") == 0) + // return new TFruitsBoatManager; + + // TODO: + // if ( strcmp(name, "FruitsBoatManagerD") == 0) + // return new TFruitsBoatManager; + + if (strcmp(name, "AnimalMew") == 0) + return new TAnimalBase(0x80001, "?"); + + if (strcmp(name, "MewManager") == 0) + return new TAnimalManagerBase("?"); + + // TODO: + // if ( strcmp(name, "AnimalBird") == 0) + // return new TAnimalBird; + + // TODO: + // if ( strcmp(name, "AnimalBirdManager") == 0) + // return new TAnimalBirdManager; + + // TODO: + // if ( strcmp(name, "FishoidA") == 0) + // return new TFishoid; + + // TODO: + // if ( strcmp(name, "FishoidB") == 0) + // return new TFishoid; + + // TODO: + // if ( strcmp(name, "FishoidC") == 0) + // return new TFishoid; + + // TODO: + // if ( strcmp(name, "FishoidD") == 0) + // return new TFishoid; + + // TODO: + // if ( strcmp(name, "FishoidManager") == 0) + // return new TFishoidManager; + + // TODO: + // if ( strcmp( name, "BeeHive" ) == 0 ) + // return new TBeeHive; + + // TODO: + // if ( strcmp(name, "BeeHiveManager") == 0) + // return new TBeeHiveManager; + + // TODO: + // if ( strcmp(name, "Butterfly") == 0) + // return new TButterfloid; + + // TODO: + // if ( strcmp(name, "ButterflyB") == 0) + // return new TButterfloid; + + // TODO: + // if ( strcmp(name, "ButterflyC") == 0) + // return new TButterfloid; + + // TODO: + // if ( strcmp(name, "ButterflyManager") == 0) + // return new TButterfloidManager; + + // TODO: + // if ( strcmp(name, "EggGenerator") == 0) + // return new TEggGenerator; + + // TODO: + // if ( strcmp(name, "WickedEggGenerator") == 0) + // return new TEggGenerator; + + // TODO: + // if ( strcmp(name, "EggGenManager") == 0) + // return new TEggGenManager; + + if (strcmp(name, "EffectColumWaterManager") == 0) + return new TEffectColumWaterManager("エフェクト水柱マネージャー"); + + if (strcmp(name, "EffectBombColumWaterManager") == 0) + return new TEffectBombColumWaterManager( + "エフェクト爆発水柱マネージャー"); + + if (strcmp(name, "EffectColumSandManager") == 0) + return new TEffectColumSandManager("エフェクト砂柱マネージャー"); + + if (strcmp(name, "EffectExplosionManager") == 0) + return new TEffectExplosionManager("エフェクト爆発マネージャー"); + + if (strcmp(name, "EffectEnemyManager") == 0) + return new TSmallEnemyManager("エフェクト敵マネージャー"); + + // TODO: + // if ( strcmp(name, "EffectEnemy") == 0) + // return new TEffectEnemy("エフェクト敵"); + + // TODO: + // if ( strcmp(name, "HauntLegManager") == 0) + // return new THauntLegManager; + + if (strcmp(name, "HamuKuriManager") == 0) + return new THamuKuriManager; + + if (strcmp(name, "HamuKuri") == 0) + return new THamuKuri; + + if (strcmp(name, "HaneHamuKuriManager") == 0) + return new THaneHamuKuriManager("ハムクリマネージャー"); + + if (strcmp(name, "HaneHamuKuri") == 0) + return new THaneHamuKuri; + + if (strcmp(name, "HaneHamuKuri2") == 0) + return new THaneHamuKuri2("はねハムクリ2"); + + if (strcmp(name, "DoroHaneKuriManager") == 0) + return new TDoroHaneKuriManager("ドロハネクリマネージャー"); + + if (strcmp(name, "DoroHaneKuri") == 0) + return new TDoroHaneKuri; + + if (strcmp(name, "DangoHamuKuriManager") == 0) + return new TDangoHamuKuriManager("だんごハムクリマネージャー"); + + if (strcmp(name, "BossDangoHamuKuriManager") == 0) + return new TBossDangoHamuKuriManager("ボスだんごハムクリマネージャー"); + + if (strcmp(name, "BossDangoHamuKuri") == 0) + return new TBossDangoHamuKuri; + + if (strcmp(name, "FireHamuKuriManager") == 0) + return new TFireHamuKuriManager("ヤキグリマネージャー"); + + if (strcmp(name, "FireHamuKuri") == 0) + return new TFireHamuKuri; + + if (strcmp(name, "DoroHamuKuriManager") == 0) + return new TDoroHamuKuriManager("どろハムクリマネージャー"); + + if (strcmp(name, "DoroHamuKuri") == 0) + return new TDoroHamuKuri; + + if (strcmp(name, "NameKuriManager") == 0) + return new TNameKuriManager("ナメクリマネージャー"); + + if (strcmp(name, "NameKuri") == 0) + return new TNameKuri; + + if (strcmp(name, "DiffusionNameKuriManager") == 0) + return new TNameKuriManager("拡散ナメクリマネージャー"); + + // TODO: + // if ( strcmp(name, "PakkunManager") == 0) + // return new TPakkunManager; + + // TODO: + // if ( strcmp( name, "Pakkun" ) == 0 ) + // return new TPakkun; + + // TODO: + // if ( strcmp(name, "StayPakkun") == 0) + // return new TPakkun; + + // TODO: + // if ( strcmp(name, "HanaSamboManager") == 0) + // return new THanaSamboManager; + + // TODO: + // if ( strcmp(name, "HanaSambo") == 0) + // return new THanaSambo; + + // TODO: + // if ( strcmp(name, "SamboHeadManager") == 0) + // return new TSamboHeadManager; + + // TODO: + // if ( strcmp(name, "SamboHead") == 0) + // return new TSamboHead; + + // TODO: + // if ( strcmp(name, "YumboManager") == 0) + // return new TYumboManager; + + if (strcmp(name, "SamboFlowerManager") == 0) + return new TEnemyManager("サンボフラワーマネージャー"); + + // TODO: + // if ( strcmp(name, "SamboFlower") == 0) + // return new TSamboFlower; + + // TODO: + // if ( strcmp(name, "PopoManager") == 0) + // return new TPopoManager; + + // TODO: + // if ( strcmp( name, "Popo" ) == 0 ) + // return new TPopo; + + // TODO: + // if ( strcmp(name, "GorogoroManager") == 0) + // return new TGorogoroManager; + + if (strcmp(name, "GessoManager") == 0) + return new TGessoManager; + + if (strcmp(name, "Gesso") == 0) + return new TGesso("ゲッソー"); + + if (strcmp(name, "SurfGesso") == 0) + return new TGesso("サーフゲッソー"); + + if (strcmp(name, "LandGesso") == 0) + return new TGesso("平地ゲッソー"); + + if (strcmp(name, "MameGessoManager") == 0) + return new TMameGessoManager("まめゲッソーマネージャー"); + + if (strcmp(name, "MameGesso") == 0) + return new TMameGesso; + + // TODO: + // if ( strcmp(name, "ElecNokonokoManager") == 0) + // return new TElecNokonokoManager; + + // TODO: + // if ( strcmp(name, "ElecNokonoko") == 0) + // return new TElecNokonoko; + + if (strcmp(name, "TelesaManager") == 0) + return new TTelesaManager("テレサマネージャー"); + + if (strcmp(name, "Telesa") == 0) + return new TTelesa; + + if (strcmp(name, "SeeTelesa") == 0) + return new TSeeTelesa("可視テレサ"); + + if (strcmp(name, "LoopTelesa") == 0) + return new TLoopTelesa("ループテレサ"); + + if (strcmp(name, "BoxTelesa") == 0) + return new TBoxTelesa("箱テレサ"); + + if (strcmp(name, "MarioModokiTelesa") == 0) + return new TMarioModokiTelesa("マリオモドキテレサ"); + + // TODO: + // if ( strcmp(name, "DebuTelesaManager") == 0) + // return new TDebuTelesaManager("デブテルサマネージャー"); + + // TODO: + // if ( strcmp(name, "DebuTelesa") == 0) + // return new TDebuTelesa; + + if (strcmp(name, "PoiHanaManager") == 0) + return new TPoiHanaManager("ポイハナマネージャー"); + + if (strcmp(name, "PoiHana") == 0) + return new TPoiHana; + + if (strcmp(name, "PoiHanaRed") == 0) + return new TPoiHana; + + if (strcmp(name, "SleepPoiHana") == 0) + return new TSleepPoiHana; + + // TODO: + // if ( strcmp(name, "ChuuHanaManager") == 0) + // return new TChuuHanaManager; + + // TODO: + // if ( strcmp(name, "FireWanwanManager") == 0) + // return new TFireWanwanManager; + + // TODO: + // if ( strcmp(name, "FireWanwan") == 0) + // return new TFireWanwan; + + // TODO: + // if ( strcmp(name, "TobiPukuLaunchPadManager") == 0) + // return new TTobiPukuLaunchPadManager; + + // TODO: + // if ( strcmp(name, "TobiPukuLaunchPad") == 0) + // return new TTobiPukuLaunchPad; + + // TODO: + // if ( strcmp(name, "MoePukuLaunchPadManager") == 0) + // return new TTobiPukuLaunchPadManager; + + // TODO: + // if ( strcmp(name, "MoePukuLaunchPad") == 0) + // return new TTobiPukuLaunchPad; + + // TODO: + // if ( strcmp(name, "TobiPukuManager") == 0) + // return new TTobiPukuManager; + + // TODO: + // if ( strcmp(name, "MoePukuManager") == 0) + // return new TTobiPukuManager; + + // TODO: + // if ( strcmp(name, "PukuPuku") == 0) + // return new TPukuPuku; + + // TODO: + // if ( strcmp( name, "MoePuku" ) == 0 ) + // return new TTobiPuku; + + // TODO: + // if ( strcmp(name, "TabePukuManager") == 0) + // return new TTabePukuManager; + + // TODO: + // if ( strcmp(name, "TabePuku") == 0) + // return new TTabePuku; + + // TODO: + // if ( strcmp(name, "WireTrapManager") == 0) + // return new TWireTrapManager; + + // TODO: + // if ( strcmp(name, "WireTrap") == 0) + // return new TWireTrap; + + // TODO: + // if ( strcmp(name, "RocketManager") == 0) + // return new TRocketManager; + + if (strcmp(name, "Rocket") == 0) + return new TRocket("ロケット"); + + // TODO: + // if ( strcmp( name, "Yumbo" ) == 0 ) + // return new TYumbo; + + // TODO: + // if ( strcmp(name, "CannonManager") == 0) + // return new TCannonManager; + + // TODO: + // if ( strcmp( name, "Cannon" ) == 0 ) + // return new TCannon; + + // TODO: + // if ( strcmp(name, "BombHeiManager") == 0) + // return new TBombHeiManager; + + // TODO: + // if ( strcmp( name, "BombHei" ) == 0 ) + // return new TBombHei; + + // TODO: + // if ( strcmp(name, "KillerManager") == 0) + // return new TKillerManager; + + // TODO: + // if ( strcmp( name, "Killer" ) == 0 ) + // return new TKiller; + + // TODO: + // if ( strcmp(name, "AmiNokoManager") == 0) + // return new TAmiNokoManager; + + // TODO: + // if ( strcmp( name, "AmiNoko" ) == 0 ) + // return new TAmiNoko; + + if (strcmp(name, "KageMarioModokiManager") == 0) + return new TSmallEnemyManager("カゲマリオモドキマネージャー"); + + if (strcmp(name, "KageMarioModoki") == 0) + return new TWalkerEnemy("カゲマリオモドキ"); + + if (strcmp(name, "CommonLauncher") == 0) + return new TCommonLauncher("コモンランチャー"); + + if (strcmp(name, "CommonLauncherManager") == 0) + return new TCommonLauncherManager("コモンランチャーマネージャー"); + + // TODO: + // if ( strcmp(name, "GateKeeper") == 0) + // return new TBiancoGateKeeper; + + // TODO: + // if ( strcmp(name, "GateKeeperManager") == 0) + // return new TBiancoGateKeeperManager; + + // TODO: + // if ( strcmp(name, "OrangeSeal") == 0) + // return new TSeal; + + // TODO: + // if ( strcmp(name, "SealManager") == 0) + // return new TSealManager; + + if (strcmp(name, "HamukuriLauncher") == 0) + return new TLauncher("ハムクリランチャー"); + + if (strcmp(name, "HamukuriLauncherManager") == 0) + return new TLauncherManager("ハムクリランチャーマネージャー"); + + if (strcmp(name, "NamekuriLauncher") == 0) + return new TLauncher("ナメクリランチャー"); + + if (strcmp(name, "NamekuriLauncherManager") == 0) + return new TLauncherManager("ナメクリランチャーマネージャー"); + + // if ( strcmp(name, "IgaigaManager") == 0) + // return new TIgaigaManager; + + if (strcmp(name, "TamaNokoManager") == 0) + return new TTamaNokoManager("タマノコマネージャー"); + + if (strcmp(name, "TamaNoko") == 0) + return new TTamaNoko; + + // TODO: + // if ( strcmp(name, "BeamManager") == 0) { + // gpBeamManager = new TBeamManager; + // return gpBeamManager; + // } + + // TODO: + // if ( strcmp( name, "KukkuManager" ) == 0 ) + // return new TKukkuManager; + + // TODO: + // if ( strcmp( name, "Kukku" ) == 0 ) + // return new TKukku; + + // TODO: + // if ( strcmp( name, "KumokunManager" ) == 0 ) + // return new TKumokunManager; + + // TODO: + // if ( strcmp( name, "Kumokun" ) == 0 ) + // return new TKumokun; + + // TODO: + // if ( strcmp( name, "AmenboManager" ) == 0 ) + // return new TAmenboManager; + + // TODO: + // if ( strcmp( name, "Amenbo" ) == 0 ) + // return new TAmenbo; + + // TODO: + // if ( strcmp( name, "KazekunManager" ) == 0 ) + // return new TKazekunManager; + + // TODO: + // if ( strcmp( name, "Kazekun" ) == 0 ) + // return new TKazekun; + + if (strcmp(name, "EffectPinnaFunsui") == 0) + return new TEffectPinnaFunsui("ピンナ噴水エフェクト"); + + if (strcmp(name, "EffectBiancoFunsui") == 0) + return new TEffectBiancoFunsui("ビアンコ噴水エフェクト"); + + return nullptr; +} diff --git a/src/System/MarNameRefGen_Map.cpp b/src/System/MarNameRefGen_Map.cpp index 8b137891..8e24a32c 100644 --- a/src/System/MarNameRefGen_Map.cpp +++ b/src/System/MarNameRefGen_Map.cpp @@ -1 +1,55 @@ +#include "Camera/SunMgr.hpp" +#include "Map/BathWaterManager.hpp" +#include "Map/Map.hpp" +#include "Map/MapDraw.hpp" +#include "Map/MarineSnow.hpp" +#include "Map/PollutionManager.hpp" +#include "Map/Shimmer.hpp" +#include "Map/Sky.hpp" +#include "Map/StickyStainManager.hpp" +#include + +JDrama::TNameRef* TMarNameRefGen::getNameRef_Map(const char* name) const +{ + if (strcmp(name, "Map") == 0) + return new TMap("マップ"); + + if (strcmp(name, "MapDrawWall") == 0) + return new TMapDrawWall("カメラ食い込み壁"); + + if (strcmp(name, "Sky") == 0) + return new TSky("空"); + + if (strcmp(name, "Shimmer") == 0) + return new TShimmer(""); + + if (strcmp(name, "Pollution") == 0) + return new TPollutionManager("落書き管理"); + + // TODO: + // if ( strcmp(name, "PollutionTest" ) == 0 ) + // return new TPollutionTest("落書きテスト"); + + if (strcmp(name, "SunMgr") == 0) + return new TSunMgr(""); + + // TODO: + // if ( strcmp(name, "SunModel" ) == 0 ) + // return new TSunModel(false, ""); + + // TODO: + // if ( strcmp(name, "SunsetModel" ) == 0 ) + // return new TSunModel(true, ""); + + if (strcmp(name, "MarineSnow") == 0) + return new TMarineSnow("MarineSnow"); + + if (strcmp(name, "StickyStain") == 0) + return new TStickyStainManager; + + if (strcmp(name, "BathWater") == 0) + return new TBathWaterManager; + + return nullptr; +} diff --git a/src/System/MarNameRefGen_MapObj.cpp b/src/System/MarNameRefGen_MapObj.cpp index 8b137891..94c79a7b 100644 --- a/src/System/MarNameRefGen_MapObj.cpp +++ b/src/System/MarNameRefGen_MapObj.cpp @@ -1 +1,719 @@ +#include "Map/MapStaticObject.hpp" +#include "Map/MapWireManager.hpp" +#include "MoveBG/Item.hpp" +#include "MoveBG/ItemManager.hpp" +#include "MoveBG/MapObjAirport.hpp" +#include "MoveBG/MapObjBall.hpp" +#include "MoveBG/MapObjBase.hpp" +#include "MoveBG/MapObjBlock.hpp" +#include "MoveBG/MapObjCloud.hpp" +#include "MoveBG/MapObjCorona.hpp" +#include "MoveBG/MapObjDolpic.hpp" +#include "MoveBG/MapObjEx.hpp" +#include "MoveBG/MapObjFence.hpp" +#include "MoveBG/MapObjFloat.hpp" +#include "MoveBG/MapObjGeneral.hpp" +#include "MoveBG/MapObjGrass.hpp" +#include "MoveBG/MapObjHide.hpp" +#include "MoveBG/MapObjItem2.hpp" +#include "MoveBG/MapObjMamma.hpp" +#include "MoveBG/MapObjManager.hpp" +#include "MoveBG/MapObjMare.hpp" +#include "MoveBG/MapObjMonte.hpp" +#include "MoveBG/MapObjOption.hpp" +#include "MoveBG/MapObjPinna.hpp" +#include "MoveBG/MapObjPlane.hpp" +#include "MoveBG/MapObjPole.hpp" +#include "MoveBG/MapObjPollution.hpp" +#include "MoveBG/MapObjRicco.hpp" +#include "MoveBG/MapObjSample.hpp" +#include "MoveBG/MapObjTown.hpp" +#include "MoveBG/MapObjTrap.hpp" +#include "MoveBG/MapObjTree.hpp" +#include "MoveBG/MapObjTurn.hpp" +#include "MoveBG/MapObjWave.hpp" +#include "MoveBG/ModelGate.hpp" +#include "MoveBG/Pool.hpp" +#include "MoveBG/WoodBarrel.hpp" +#include +JDrama::TNameRef* TMarNameRefGen::getNameRef_MapObj(const char* name) const +{ + if (strcmp(name, "MapObjBase") == 0) + return new TMapObjBase("地形オブジェ基底"); + + if (strcmp(name, "MapObjGeneral") == 0) + return new TMapObjGeneral("汎用地形オブジェ"); + + if (strcmp(name, "Item") == 0) + return new TItem("アイテム"); + + if (strcmp(name, "Fruit") == 0) + return new TResetFruit("無限フルーツ"); + + if (strcmp(name, "ResetFruit") == 0) + return new TResetFruit("無限フルーツ"); + + if (strcmp(name, "RandomFruit") == 0) + return new TRandomFruit("ランダムフルーツ"); + + if (strcmp(name, "CoverFruit") == 0) + return new TCoverFruit("フタのフルーツ"); + + if (strcmp(name, "MapStaticObj") == 0) + return new TMapStaticObj("簡易マップオブジェ"); + + if (strcmp(name, "MapObjSoundGroup") == 0) + return new TMapObjSoundGroup("環境音テスト"); + + if (strcmp(name, "MapObjManager") == 0) + return new TMapObjManager("地形オブジェ管理"); + + if (strcmp(name, "MapObjBaseManager") == 0) + return new TMapObjBaseManager("地形基底オブジェ管理"); + + if (strcmp(name, "ItemManager") == 0) + return new TItemManager("アイテムマネージャー"); + + if (strcmp(name, "PoolManager") == 0) + return new TPoolManager("水場マネージャー"); + + if (strcmp(name, "MapWireManager") == 0) + return new TMapWireManager("ワイヤー管理"); + + // TODO: + // if ( strcmp( name, "MapObjFlagManager" ) == 0 ) + // return new TMapObjFlagManager ( "旗管理" ); + + if (strcmp(name, "MapObjPoleManager") == 0) + return new TMapObjPoleManager("旗管理"); + + if (strcmp(name, "MapObjWave") == 0) + return new TMapObjWave("波の表現"); + + // TODO: + // if ( strcmp( name, "MapObjFlag" ) == 0 ) + // return new TMapObjFlag ("旗"); + + if (strcmp(name, "RockPlane") == 0) + return new TRockPlane("岩平面"); + + if (strcmp(name, "SandPlane") == 0) + return new TSandPlane("砂平面"); + + if (strcmp(name, "MapObjGrassManager") == 0) + return new TMapObjGrassManager("草管理"); + + if (strcmp(name, "MapObjGrassGroup") == 0) + return new TMapObjGrassGroup; + + if (strcmp(name, "MirrorMapOperator") == 0) + return new TMammaMirrorMapOperator("鏡内地形操作"); + + if (strcmp(name, "MapObjChangeStage") == 0) + return new TMapObjChangeStage("ステージ切り替え"); + + if (strcmp(name, "MapObjChangeStageHipDrop") == 0) + return new TMapObjChangeStageHipDrop( + "ステージ切り替え(ヒップドロップ)"); + + if (strcmp(name, "MapObjStartDemo") == 0) + return new TMapObjStartDemo("デモ開始オブジェ"); + + if (strcmp(name, "DamageObj") == 0) + return new TDamageObj("ダメージオブジェ"); + + if (strcmp(name, "MapObjSmoke") == 0) + return new TMapObjSmoke("黒煙"); + + if (strcmp(name, "MapObjWaterSpray") == 0) + return new TMapObjWaterSpray("汎用水しぶき"); + + if (strcmp(name, "JuiceBlock") == 0) + return new TJuiceBlock("ジュースブロック"); + + if (strcmp(name, "Billboard") == 0) + return new TMapObjBillboard("看板"); + + if (strcmp(name, "MapObjFloatOnSea") == 0) + return new TMapObjFloatOnSea("海に浮くオブジェ"); + + if (strcmp(name, "WoodBarrel") == 0) + return new TWoodBarrel("木樽"); + + if (strcmp(name, "Door") == 0) + return new TDoor("ドア"); + + if (strcmp(name, "Fence") == 0) + return new TFence("フェンス"); + + if (strcmp(name, "FenceRevolve") == 0) + return new TRevolvingFenceOuter("フェンス外側"); + + if (strcmp(name, "FenceInner") == 0) + return new TRevolvingFenceInner("フェンス内側"); + + if (strcmp(name, "FenceWaterH") == 0) + return new TFenceWaterH("水回転フェンス(水平)"); + + if (strcmp(name, "FenceWaterV") == 0) + return new TFenceWater("水回転フェンス(垂直)"); + + if (strcmp(name, "RailFence") == 0) + return new TRailFence("レールフェンス"); + + if (strcmp(name, "Football") == 0) + return new TMapObjBall("レールフェンス"); + + if (strcmp(name, "Manhole") == 0) + return new TManhole("マンホール"); + + if (strcmp(name, "Pool") == 0) + return new TPool("水場"); + + // TODO: + // if (strcmp(name, "WaterHitPictureHideObj") == 0) + // return new TWaterHitPictureHideObj("オブジェ出現の絵"); + + if (strcmp(name, "MapObjSwitch") == 0) + return new TMapObjSwitch("オブジェスイッチ"); + + if (strcmp(name, "RedCoinSwitch") == 0) + return new TRedCoinSwitch("赤コインスイッチ"); + + if (strcmp(name, "HideObjInfo") == 0) + return new THideObjInfo("オブジェ出現情報"); + + // TODO: + // if (strcmp(name, "FruitBasket") == 0) + // return new TFruitBasket("バスケット"); + + if (strcmp(name, "BasketReverse") == 0) + return new TBasketReverse("さかさバスケット"); + + // TODO: + // if ( strcmp(name, "FruitBasketEvent") == 0 ) + // return new TFruitBasketEvent("バスケット(イベント用)"); + + if (strcmp(name, "JumpBase") == 0) + return new TJumpBase("移動ジャンプ台"); + + if (strcmp(name, "LampTrapIron") == 0) + return new TLampTrapIron("鉄板ランプ"); + + if (strcmp(name, "LampTrapSpike") == 0) + return new TLampTrapSpike("トゲランプ"); + + if (strcmp(name, "MapObjBase") == 0) + return new TMapObjBase("地形オブジェ基底"); + + if (strcmp(name, "MapObjSteam") == 0) + return new TMapObjSteam("水蒸気"); + + if (strcmp(name, "BananaTree") == 0) + return new TMapObjTree("木"); + + if (strcmp(name, "Palm") == 0) + return new TMapObjTree("木"); + + if (strcmp(name, "PalmOugi") == 0) + return new TMapObjTree("木"); + + if (strcmp(name, "PalmSago") == 0) + return new TMapObjTree("木"); + + if (strcmp(name, "PalmNatume") == 0) + return new TMapObjTree("地形オブジェ基底"); + + if (strcmp(name, "FruitTree") == 0) + return new TMapObjBase("地形オブジェ基底"); + + if (strcmp(name, "MapObjTreeScale") == 0) + return new TMapObjTreeScale("スケールの木"); + + if (strcmp(name, "RideCloud") == 0) + return new TRideCloud("乗れる雲"); + + if (strcmp(name, "AirportSwitch") == 0) + return new TAirportSwitch("水場スイッチ"); + + if (strcmp(name, "AirportPool") == 0) + return new TPool("水場"); + + // TODO: + // if (strcmp(name, "WoodBox") == 0) + // return new TWoodBox ("木箱"); + + if (strcmp(name, "AirportEventSink") == 0) + return new TAirportEventSink("水場スイッチ"); + + if (strcmp(name, "JellyGate") == 0) + return new TModelGate(""); + + if (strcmp(name, "GateShadow") == 0) + return new TGateShadow; + + if (strcmp(name, "IceCar") == 0) + return new TMapObjBase("地形オブジェ基底"); + + if (strcmp(name, "MonumentShine") == 0) + return new TMonumentShine("モニュメントシャイン"); + + if (strcmp(name, "BellDolpicTV") == 0) + return new TBellDolpic(1, "ドルピック鐘"); + + if (strcmp(name, "BellDolpicPolice") == 0) + return new TBellDolpic(0, "ドルピック鐘"); + + if (strcmp(name, "DptMonteFence") == 0) + return new TDptMonteFence("投げモンテフェンス"); + + if (strcmp(name, "DolWeathercock") == 0) + return new TMapObjTurn("水回転オブジェ"); + + if (strcmp(name, "DemoCannon") == 0) + return new TDemoCannon("デモ砲台"); + + if (strcmp(name, "TurboNozzleDoor") == 0) + return new TTurboNozzleDoor("ターボノズルドア"); + + if (strcmp(name, "CraneRotY") == 0) + return new TCraneRotY("デモ砲台"); + + if (strcmp(name, "craneUpDown") == 0) + return new TCraneUpDown("上下クレーン"); + + // TODO: + // if ( strcmp(name, "RiccoLog") == 0 ) + // return new TWoodLog("丸太"); + + if (strcmp(name, "GesoSurfBoard") == 0) + return new TItem("アイテム"); + + if (strcmp(name, "SurfGesoRed") == 0) + new TSurfGesoObj("イカサーフィン"); + + if (strcmp(name, "SurfGesoYellow") == 0) + return new TSurfGesoObj("イカサーフィン"); + + if (strcmp(name, "SurfGesoGreen") == 0) + return new TSurfGesoObj("イカサーフィン"); + + if (strcmp(name, "riccoWatermill") == 0) + return new TRiccoWatermill("リコ水車"); + + if (strcmp(name, "submarine") == 0) + return new TMapObjBase("地形オブジェ基底"); + + if (strcmp(name, "RiccoSwitch") == 0) + return new TFruitSwitch("フルーツスイッチ"); + + if (strcmp(name, "RiccoSwitchShine") == 0) + return new TFruitLauncher("フルーツ発射口"); + + // TODO: + // if ( strcmp(name, "BigWindmill") == 0 ) + // return new TBigWindmill("巨大風車"); + + // TODO: + // if ( strcmp(name, "MiniWindmill") == 0 ) + // return new TBiancoMiniWindmill("風車(ビアンコ小)"); + + if (strcmp(name, "WindmillRoof") == 0) + return new TMapObjBase("地形オブジェ基底"); + + // TODO: + // if ( strcmp(name, "MapObjRootPakkun") == 0 ) + // return new TMapObjRootPakkun("ボスパックンの根"); + + // TODO: + // if (strcmp(name, "BiaBell") == 0) + // return new TBiancoBell("ベル水車"); + + // TODO: + // if ( strcmp(name, "BiaWatermill") == 0 ) + // return new TBiancoWatermill("水車(ビアンコ大)"); + + // TODO: + // if ( strcmp(name, "BellWatermill") == 0 ) + // return new TBellWatermill("ベル水車"); + + // TODO: + // if ( strcmp(name, "BiaWatermillVertical") == 0 ) + // return new TBiancoWatermillVertical("水車(ビアンコ垂直)"); + + if (strcmp(name, "BiaTurnBridge") == 0) + return new TMapObjBase("地形オブジェ基底"); + + // TODO: + // if ( strcmp(name, "LeafBoat") == 0 ) + // return new TLeafBoat("リーフボート"); + + // TODO: + // if ( strcmp(name, "LeafBoatRotten") == 0 ) + // return new TLeafBoatRotten("腐ったリーフボート"); + + // TODO: + // if ( strcmp(name, "LampSeesawMain") == 0 ) + // return new TLampSeesawMain("ランプシーソー"); + + // TODO: + // if ( strcmp(name, "LampSeesaw") == 0 ) + // return new TLampSeesaw("ランプシーソー(従)"); + + if (strcmp(name, "SandBird") == 0) + return new TSandBird("おおすな鳥"); + + if (strcmp(name, "SandLeafBase") == 0) + return new TSandLeafBase("すなやまの芽の土台"); + + if (strcmp(name, "SandBombBase") == 0) + return new TSandBombBase("すなやま爆弾の土台"); + + if (strcmp(name, "SandBomb") == 0) + return new TSandBomb; + + if (strcmp(name, "LeanMirror") == 0) + return new TLeanMirror("ぐらぐら鏡"); + + if (strcmp(name, "WaterMelon") == 0) + return new TBigWatermelon("お化けスイカ"); + + if (strcmp(name, "ShiningStone") == 0) + return new TShiningStone("太陽石"); + + if (strcmp(name, "SandCastle") == 0) + return new TSandCastle("砂の城"); + + if (strcmp(name, "MammaBlockRotate") == 0) + return new TMammaBlockRotate("太陽の塔ブロック"); + + if (strcmp(name, "MammaSurfboard") == 0) + return new TMapObjBase("地形オブジェ基底"); + + if (strcmp(name, "MammaYacht") == 0) + return new TMammaYacht("砂の城"); + + if (strcmp(name, "GoalWatermelon") == 0) + return new TGoalWatermelon("スイカゴール"); + + if (strcmp(name, "SandEgg") == 0) + return new TSandEgg("すなのたまご"); + + if (strcmp(name, "Merrygoround") == 0) + return new TMerrygoround("メリーゴーランド"); + + if (strcmp(name, "FerrisWheel") == 0) + return new TFerrisWheel("観覧車"); + + if (strcmp(name, "Viking") == 0) + return new TViking("バイキング"); + + // TODO: + // if ( strcmp(name, "SirenaGate") == 0 ) + // return new TSirenaGate("シレナゲート"); + + if (strcmp(name, "PinnaDoor") == 0) + return new TPinnaEntrance("シレナゲート"); + + if (strcmp(name, "PinnaDoorOpen") == 0) + return new TPinnaEntrance("ピンナ入り口"); + + if (strcmp(name, "BalloonKoopaJr") == 0) + return new TBalloonKoopaJr("風船(クッパJr)"); + + if (strcmp(name, "ShellCup") == 0) + return new TShellCup("シェルカップ"); + + if (strcmp(name, "GateShell") == 0) + return new TMareGate("マーレゲート"); + + if (strcmp(name, "MareGate") == 0) + return new TMareGate("マーレゲート"); + + if (strcmp(name, "WaterRecoverObj") == 0) + return new TWaterRecoverObj("水回復オブジェ"); + + if (strcmp(name, "AmiKing") == 0) + return new TAmiKing("アミキング"); + + if (strcmp(name, "PinnaCoaster") == 0) + return new TPinnaCoaster("コースター"); + + if (strcmp(name, "Cogwheel") == 0) + return new TCogwheel("天秤"); + + if (strcmp(name, "MapObjElasticCode") == 0) + return new TMapObjElasticCode("ゴムひも"); + + if (strcmp(name, "MapObjGrowTree") == 0) + return new TMapObjGrowTree("もやしの木"); + + if (strcmp(name, "WireBell") == 0) + return new TWireBell("ワイヤー鈴(紫)"); + + if (strcmp(name, "MuddyBoat") == 0) + return new TMuddyBoat("どろの船"); + + if (strcmp(name, "Puncher") == 0) + return new TMapObjPuncher("パンチャー"); + + if (strcmp(name, "CoinFish") == 0) + return new TJointCoin("ジョイントコイン"); + + if (strcmp(name, "MareFall") == 0) + return new TMareFall("マーレ滝"); + + if (strcmp(name, "MareCork") == 0) + return new TMareCork("マーレコルク"); + + if (strcmp(name, "MareEventPoint") == 0) + return new TMareEventPoint("イベントポイント"); + + // TODO: + // if ( strcmp(name, "CasinoRoulette") == 0 ) + // return new TCasinoRoulette("カジノルーレット"); + + // TODO: + // if ( strcmp(name, "Roulette") == 0 ) + // return new TRoulette("ルーレット"); + + // TODO: + // if ( strcmp(name, "SlotDrum") == 0 ) + // return new TSlotDrum("スロットマシーン"); + + // TODO: + // if ( strcmp(name, "ItemSlotDrum") == 0 ) + // return new TItemSlotDrum("スロットマシーン"); + + // TODO: + // if ( strcmp(name, "TelesaSlot") == 0 ) + // return new TTelesaSlot("btelesaSlot"); + + // TODO: + // if ( strcmp(name, "CasinoPanelGate") == 0 ) + // return new TCasinoPanelGate("カジノパネルゲート"); + + // TODO: + // if ( strcmp(name, "WarpArea") == 0 ) + // return new TWarpAreaActor("ワープエリア"); + + if (strcmp(name, "GlassBreak") == 0) + return new TMapObjGeneral("汎用地形オブジェ"); + + // TODO: + // if (strcmp(name, "Closet") == 0) + // return new TCloset("クローゼット"); + + // TODO: + // if (strcmp(name, "Donchou") == 0) + // return new TDonchou("パネルカーテン"); + + // TODO: + // if ( strcmp(name, "SakuCasino") == 0 ) + // return new TSakuCasino("パネル柵"); + + // TODO: + // if ( strcmp(name, "SirenabossWall") == 0 ) + // return new TSirenabossWall("ボステレサ部屋壁"); + + // TODO: + // if ( strcmp(name, "SirenaCasinoRoof") == 0 ) + // return new TSirenaCasinoRoof("カジノ部屋天井"); + + // TODO: + // if ( strcmp(name, "ChestRevolve") == 0 ) + // return new TChestRevolve("回転棚"); + + // TODO: + // if ( strcmp(name, "PosterTeresa") == 0 ) + // return new TWaterHitPictureHideObj("オブジェ出現の絵"); + + // TODO: + // if ( strcmp(name, "PictureTeresa") == 0 ) + // return new TPictureTelesa("テルサの絵"); + + if (strcmp(name, "PanelBreak") == 0) + return new TMapObjGeneral("汎用地形オブジェ"); + + // TODO: + // if ( strcmp(name, "PanelRevolve") == 0 ) + // return new TPanelRevolve("回転棚"); + + if (strcmp(name, "TelesaBlock") == 0) + return new TTelesaBlock; + + if (strcmp(name, "MonteRoot") == 0) + return new TMapObjMonteRoot("根っこ"); + + if (strcmp(name, "JumpMushroom") == 0) + return new TJumpMushroom("ジャンプきのこ"); + + if (strcmp(name, "HangingBridge") == 0) + return new THangingBridge("つり橋"); + + if (strcmp(name, "SwingBoard") == 0) + return new TSwingBoard("つり橋"); + + if (strcmp(name, "GoalFlag") == 0) + return new TGoalFlag("ゴールフラグ"); + + if (strcmp(name, "FluffManager") == 0) + return new TFluffManager("特別な綿毛"); + + if (strcmp(name, "Bathtub") == 0) + return new TBathtub("バスタブ"); + + if (strcmp(name, "FileLoadBlockA") == 0) + return new TFileLoadBlock("ファイル読み込みブロック"); + + if (strcmp(name, "FileLoadBlockB") == 0) + return new TFileLoadBlock("ファイル読み込みブロック"); + + if (strcmp(name, "FileLoadBlockC") == 0) + return new TFileLoadBlock("ファイル読み込みブロック"); + + if (strcmp(name, "NormalLift") == 0) + return new TNormalLift("ノーマルリフト"); + + if (strcmp(name, "EXRollCube") == 0) + return new TRailBlock("移動板"); + + if (strcmp(name, "EXKickBoard") == 0) + return new TNormalLift("ノーマルリフト"); + + if (strcmp(name, "Umaibou") == 0) + return new TRollBlock("回転板"); + + if (strcmp(name, "Kamaboko") == 0) + return new TNormalLift("ノーマルリフト"); + + if (strcmp(name, "GetaGreen") == 0) + return new TRollBlock("回転板"); + + if (strcmp(name, "GetaOrange") == 0) + return new TRollBlock("回転板"); + + if (strcmp(name, "RailBlock") == 0) + return new TRailBlock("移動板"); + + if (strcmp(name, "RailBlockR") == 0) + return new TRailBlock("移動板"); + + if (strcmp(name, "RailBlockY") == 0) + return new TRailBlock("移動板"); + + if (strcmp(name, "RailBlockB") == 0) + return new TRailBlock("移動板"); + + if (strcmp(name, "RollBlock") == 0) + return new TRollBlock("回転板"); + + if (strcmp(name, "RollBlockR") == 0) + return new TRollBlock("回転板"); + + if (strcmp(name, "RollBlockY") == 0) + return new TRollBlock("回転板"); + + if (strcmp(name, "RollBlockB") == 0) + return new TRollBlock("回転板"); + + if (strcmp(name, "Uirou") == 0) + return new TNormalLift("ノーマルリフト"); + + if (strcmp(name, "Castella") == 0) + return new TNormalLift("ノーマルリフト"); + + if (strcmp(name, "Hikidashi") == 0) + return new TNormalLift("ノーマルリフト"); + + if (strcmp(name, "YoshiBlock") == 0) + return new TWoodBlock("木のブロック"); + + if (strcmp(name, "MapObjNail") == 0) + return new TMapObjNail("くぎ"); + + if (strcmp(name, "WoodBlock") == 0) + return new TWoodBlock("木のブロック"); + + if (strcmp(name, "MapObjRevivalPollution") == 0) + return new TMapObjRevivalPollution("復活落書き"); + + if (strcmp(name, "PolluterBase") == 0) + return new TPolluterBase("汚染オブジェ"); + + if (strcmp(name, "Coin") == 0) + return new TCoin; + + if (strcmp(name, "CoinRed") == 0) + return new TCoinRed; + + if (strcmp(name, "CoinBlue") == 0) + return new TCoinBlue; + + if (strcmp(name, "HideObj") == 0) + return new THideObjBase("隠しオブジェ"); + + // TODO: + // if ( strcmp(name, "WaterHitHideObj") == 0 ) + // return new TWaterHitHideObj("水ヒットオブジェ"); + + // TODO: + // if (strcmp(name, "FruitHitHideObj") == 0) + // return new TFruitHitHideObj("水ヒットオブジェ"); + + // TODO: + // if (strcmp(name, "HipDropHideObj") == 0) + // return new THipDropHideObj("ヒップドロップオブジェ"); + + // TODO: + // if (strcmp(name, "HideObjPictureTwin") == 0) + // return new THideObjPictureTwin("ふたご落書き"); + + if (strcmp(name, "FlowerCoin") == 0) + return new TFlowerCoin; + + if (strcmp(name, "Shine") == 0) + return new TShine; + + if (strcmp(name, "NozzleBox") == 0) + return new TNozzleBox; + + if (strcmp(name, "ItemNozzle") == 0) + return new TItemNozzle; + + if (strcmp(name, "Mushroom1up") == 0) + return new TMushroom1up(0, "1UPキノコ"); + + if (strcmp(name, "Mushroom1upR") == 0) + return new TMushroom1up(1, "1UPキノコ"); + + if (strcmp(name, "Mushroom1upX") == 0) + return new TMushroom1up(2, "1UPキノコ"); + + if (strcmp(name, "EggYoshi") == 0) + return new TEggYoshi("ヨッシーの卵"); + + if (strcmp(name, "NormalBlock") == 0) + return new TMapObjBase("地形オブジェ基底"); + + if (strcmp(name, "SuperHipDropBlock") == 0) + return new TSuperHipDropBlock("スーパーヒップドロップブロック"); + + if (strcmp(name, "IceBlock") == 0) + return new TIceBlock("アイスブロック"); + + if (strcmp(name, "BreakableBlock") == 0) + return new TBreakableBlock; + + if (strcmp(name, "BrickBlock") == 0) + return new TBrickBlock("レンガブロック"); + + if (strcmp(name, "WatermelonBlock") == 0) + return new TBreakHideObj("壊れる隠しオブジェ"); + + if (strcmp(name, "SandBlock") == 0) + return new TSandBlock; + + return nullptr; +} diff --git a/src/System/MarNameRefGen_NPC.cpp b/src/System/MarNameRefGen_NPC.cpp index 8b137891..116d6a77 100644 --- a/src/System/MarNameRefGen_NPC.cpp +++ b/src/System/MarNameRefGen_NPC.cpp @@ -1 +1,212 @@ +#include "NPC/NpcBase.hpp" +#include "Strategic/LiveManager.hpp" +#include +JDrama::TNameRef* TMarNameRefGen::getNameRef_NPC(const char* name) const +{ + // NOTE: TBaseNPC's first arg here screams enum. probably worth seeing what + // they could mean beyond the associated strings here + if (strcmp(name, "NPCMonteM") == 0) + return new TBaseNPC(0x04000001U, "?"); + + if (strcmp(name, "NPCMonteMA") == 0) + return new TBaseNPC(0x04000002U, "?"); + + if (strcmp(name, "NPCMonteMB") == 0) + return new TBaseNPC(0x04000003U, "?"); + + if (strcmp(name, "NPCMonteMC") == 0) + return new TBaseNPC(0x04000004U, "?"); + + if (strcmp(name, "NPCMonteMD") == 0) + return new TBaseNPC(0x04000005U, "?"); + + if (strcmp(name, "NPCMonteME") == 0) + return new TBaseNPC(0x04000006U, "?"); + + if (strcmp(name, "NPCMonteMF") == 0) + return new TBaseNPC(0x04000007U, "?"); + + if (strcmp(name, "NPCMonteMG") == 0) + return new TBaseNPC(0x04000008U, "?"); + + if (strcmp(name, "NPCMonteMH") == 0) + return new TBaseNPC(0x04000009U, "?"); + + if (strcmp(name, "NPCMonteW") == 0) + return new TBaseNPC(0x0400000AU, "?"); + + if (strcmp(name, "NPCMonteWA") == 0) + return new TBaseNPC(0x0400000BU, "?"); + + if (strcmp(name, "NPCMonteWB") == 0) + return new TBaseNPC(0x0400000CU, "?"); + + if (strcmp(name, "NPCMonteWC") == 0) + return new TBaseNPC(0x0400000DU, "?"); + + if (strcmp(name, "NPCMareM") == 0) + return new TBaseNPC(0x0400000EU, "?"); + + if (strcmp(name, "NPCMareMA") == 0) + return new TBaseNPC(0x0400000FU, "?"); + + if (strcmp(name, "NPCMareMB") == 0) + return new TBaseNPC(0x04000010U, "?"); + + if (strcmp(name, "NPCMareMC") == 0) + return new TBaseNPC(0x04000011U, "?"); + + if (strcmp(name, "NPCMareMD") == 0) + return new TBaseNPC(0x04000012U, "?"); + + if (strcmp(name, "NPCMareW") == 0) + return new TBaseNPC(0x04000013U, "?"); + + if (strcmp(name, "NPCMareWA") == 0) + return new TBaseNPC(0x04000014U, "?"); + + if (strcmp(name, "NPCMareWB") == 0) + return new TBaseNPC(0x04000015U, "?"); + + if (strcmp(name, "NPCKinopio") == 0) + return new TBaseNPC(0x04000016U, "?"); + + if (strcmp(name, "NPCKinojii") == 0) + return new TBaseNPC(0x04000017U, "?"); + + if (strcmp(name, "NPCPeach") == 0) + return new TBaseNPC(0x04000018U, "?"); + + if (strcmp(name, "NPCRaccoonDog") == 0) + return new TBaseNPC(0x04000019U, "?"); + + if (strcmp(name, "NPCSunflowerL") == 0) + return new TBaseNPC(0x0400001AU, "?"); + + if (strcmp(name, "NPCSunflowerS") == 0) + return new TBaseNPC(0x0400001BU, "?"); + + if (strcmp(name, "NPCDummy") == 0) + return new TBaseNPC(0x0400001CU, "?"); + + if (strcmp(name, "NPCBoard") == 0) + return new TBaseNPC(0x0400001DU, "?"); + + // TODO: + // if ( strcmp(name, "MonteMManager") == 0 ) + // return new TMonteMBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MonteMAManager") == 0 ) + // return new TMonteMBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MonteMBManager") == 0 ) + // return new TMonteMBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MonteMCManager") == 0 ) + // return new TMonteMBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MonteMDManager") == 0 ) + // return new TMonteMBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MonteMEManager") == 0 ) + // return new TMonteMBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MonteMFManager") == 0 ) + // return new TMonteMBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MonteMGManager") == 0 ) + // return new TMonteMBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MonteMHManager") == 0 ) + // return new TMonteMBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MonteWManager") == 0 ) + // return new TMonteWBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MonteWAManager") == 0 ) + // return new TMonteWBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MonteWBManager") == 0 ) + // return new TMonteWBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MonteWCManager") == 0 ) + // return new TMonteWBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MareMManager") == 0 ) + // return new TMareMBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MareMAManager") == 0 ) + // return new TMareMBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MareMBManager") == 0 ) + // return new TMareMBaseManager( "?"); + + // TODO: + // if ( strcmp(name, "MareMCManager") == 0 ) + // return new TMareMBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MareMDManager") == 0 ) + // return new TMareMBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MareWManager") == 0 ) + // return new TMareMBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MareWAManager") == 0 ) + // return new TMareWBaseManager("?"); + + // TODO: + // if ( strcmp(name, "MareWBManager") == 0 ) + // return new TMareWBaseManager("?"); + + // TODO: + // if ( strcmp(name, "KinopioManager") == 0 ) + // return new TNPCManager("?"); + + // TODO: + // if ( strcmp(name, "KinojiiManager") == 0 ) + // return new TNPCManager("?"); + + // TODO: + // if ( strcmp(name, "PeachManager") == 0 ) + // return new TNPCManager("?"); + + // TODO: + // if ( strcmp(name, "RaccoonDogManager") == 0 ) + // return new TNPCManager("?"); + + // TODO: + // if ( strcmp(name, "SunflowerLManager") == 0 ) + // return new TNPCManager("?"); + + // TODO: + // if ( strcmp(name, "SunflowerSManager") == 0 ) + // return new TNPCManager ("?"); + + // TODO: + // if ( strcmp(name, "MareJellyFish") == 0 ) + // return new TMareJellyFishManager("?"); + + if (strcmp(name, "BoardNpcManager") == 0) + return new TLiveManager("?"); + + return nullptr; +}