OdysseyDecomp/src/Scene/ProjectActorFactory.cpp
guymakinggames 0f550e5aae
Some checks are pending
Compile and verify functions / compile_verify (push) Waiting to run
Copy headers to separate repo / copy_headers (push) Waiting to run
decomp-dev / publish_progress_decomp_dev (1.0) (push) Waiting to run
lint / clang-format (push) Waiting to run
lint / custom-lint (push) Waiting to run
Check and verify that setup works on NixOS / nixos_verify (push) Waiting to run
progress / publish_progress (push) Waiting to run
testcompile / test_compile (push) Waiting to run
Trigger full-sync on the tracker repo on push / api-trigger-workflow (push) Waiting to run
MapObj: Implement RocketFlower (#1024)
2026-04-23 00:55:05 +02:00

703 lines
27 KiB
C++

#include "Scene/ProjectActorFactory.h"
#include "Library/Fluid/FlowMapParts.h"
#include "Library/LiveActor/CreateActorFunction.h"
#include "Library/MapObj/BackHideParts.h"
#include "Library/MapObj/ClockMapParts.h"
#include "Library/MapObj/ConveyerMapParts.h"
#include "Library/MapObj/FallMapParts.h"
#include "Library/MapObj/FixMapParts.h"
#include "Library/MapObj/FloaterMapParts.h"
#include "Library/MapObj/GateMapParts.h"
#include "Library/MapObj/KeyMoveMapParts.h"
#include "Library/MapObj/KeyMoveMapPartsGenerator.h"
#include "Library/MapObj/OneMeshFixMapParts.h"
#include "Library/MapObj/RailMoveMapParts.h"
#include "Library/MapObj/RollingCubeMapParts.h"
#include "Library/MapObj/RotateMapParts.h"
#include "Library/MapObj/SeesawMapParts.h"
#include "Library/MapObj/SlideMapParts.h"
#include "Library/MapObj/SubActorLodMapParts.h"
#include "Library/MapObj/SurfMapParts.h"
#include "Library/MapObj/SwingMapParts.h"
#include "Library/MapObj/SwitchDitherMapParts.h"
#include "Library/MapObj/SwitchOpenMapParts.h"
#include "Library/MapObj/VisibleSwitchMapParts.h"
#include "Library/MapObj/WheelMapParts.h"
#include "Library/MapObj/WobbleMapParts.h"
#include "Library/Obj/AllDeadWatcher.h"
#include "Library/Obj/CameraRailHolder.h"
#include "Library/Obj/CameraWatchPoint.h"
#include "Library/Obj/EffectObj.h"
#include "Library/Obj/EffectObjCameraEmit.h"
#include "Library/Obj/EffectObjFollowCamera.h"
#include "Library/Obj/EffectObjFollowCameraLimit.h"
#include "Library/Obj/EffectObjInterval.h"
#include "Boss/BarrierField.h"
#include "Boss/BossForest/BossForestWander.h"
#include "Boss/Mofumofu/MofumofuScrap.h"
#include "Camera/ScenarioStartCamera.h"
#include "Enemy/Bubble.h"
#include "Enemy/CatchBomb.h"
#include "Enemy/DonkeyKong2D.h"
#include "Enemy/Gamane.h"
#include "Enemy/KaronWing.h"
#include "Enemy/Kuribo2D.h"
#include "Enemy/KuriboMini.h"
#include "Enemy/Megane.h"
#include "Enemy/Mummy.h"
#include "Enemy/Nokonoko2D.h"
#include "Enemy/Pecho.h"
#include "Enemy/Togezo.h"
#include "Enemy/Togezo2D.h"
#include "Item/Coin.h"
#include "Item/Coin2D.h"
#include "Item/Coin2DCityDirector.h"
#include "Item/CoinBlow.h"
#include "Item/CoinChameleon.h"
#include "Item/CoinCirclePlacement.h"
#include "Item/CoinCollect.h"
#include "Item/CoinCollect2D.h"
#include "Item/CoinLead.h"
#include "Item/CoinRail.h"
#include "Item/CoinStackGroup.h"
#include "Item/LifeMaxUpItem.h"
#include "Item/LifeMaxUpItem2D.h"
#include "Item/LifeUpItem.h"
#include "Item/LifeUpItem2D.h"
#include "MapObj/AllDeadWatcherWithShine.h"
#include "MapObj/AnagramAlphabet.h"
#include "MapObj/BlockEmpty2D.h"
#include "MapObj/BossKnuckleFix.h"
#include "MapObj/CapBomb.h"
#include "MapObj/CapHanger.h"
#include "MapObj/CapSwitch.h"
#include "MapObj/CheckpointFlag.h"
#include "MapObj/ChurchDoor.h"
#include "MapObj/CitySignal.h"
#include "MapObj/CoinCollectHintObj.h"
#include "MapObj/DoorCity.h"
#include "MapObj/Doshi.h"
#include "MapObj/ElectricWire/ElectricWire.h"
#include "MapObj/FireDrum2D.h"
#include "MapObj/FixMapPartsBgmChangeAction.h"
#include "MapObj/HackFork.h"
#include "MapObj/HipDropSwitch.h"
#include "MapObj/KoopaShip.h"
#include "MapObj/LavaPan.h"
#include "MapObj/MeganeMapParts.h"
#include "MapObj/MoonBasementBreakParts.h"
#include "MapObj/MoonBasementFloor.h"
#include "MapObj/MoonBasementSlideObj.h"
#include "MapObj/MoonWorldCaptureParadeLift.h"
#include "MapObj/PeachWorldTree.h"
#include "MapObj/PoleGrabCeil.h"
#include "MapObj/ReactionMapParts.h"
#include "MapObj/RiseMapPartsHolder.h"
#include "MapObj/RocketFlower.h"
#include "MapObj/RouletteSwitch.h"
#include "MapObj/SaveFlagCheckObj.h"
#include "MapObj/ShineTowerRocket.h"
#include "MapObj/SignBoardDanger.h"
#include "MapObj/Souvenir.h"
#include "MapObj/StageSwitchSelector.h"
#include "MapObj/TrampleBush.h"
#include "MapObj/TrampleSwitch.h"
#include "MapObj/TrampleSwitchTimer.h"
#include "MapObj/TransparentWall.h"
#include "MapObj/TreasureBoxKey.h"
#include "MapObj/VolleyballBase.h"
#include "MapObj/VolleyballNet.h"
#include "MapObj/WeightSwitch.h"
#include "MapObj/WorldMapEarth.h"
#include "MapObj/WorldWarpHole.h"
#include "Npc/Bird.h"
#include "Npc/BirdPlayerGlideCtrl.h"
#include "Npc/FlyObject.h"
#include "Npc/KuriboGirl.h"
#include "Npc/RaceAudienceNpc.h"
#include "Npc/VocalMike.h"
#include "Npc/VolleyballNpc.h"
#include "Npc/WorldTravelingNpc.h"
#include "Player/Yoshi.h"
const al::NameToCreator<al::ActorCreatorFunction> sProjectActorFactoryEntries[] = {
{"AchievementNpc", nullptr},
{"AirBubble", nullptr},
{"AirBubbleGenerator", nullptr},
{"AirCurrent", nullptr},
{"AllDeadWatcher", al::createActorFunction<al::AllDeadWatcher>},
{"AllDeadWatcherWithShine", al::createActorFunction<AllDeadWatcherWithShine>},
{"AmiiboHelpNpc", nullptr},
{"AmiiboNpc", nullptr},
{"AnagramAlphabet", al::createActorFunction<AnagramAlphabet>},
#ifdef VER_120
{"TimeBalloonNpc", nullptr},
#endif
{"Barrel2D", nullptr},
{"BarrelGenerator2D", nullptr},
{"BarrierField", al::createActorFunction<BarrierField>},
{"BazookaElectric", nullptr},
{"BendLeafTree", nullptr},
{"BgmPlayObj", nullptr},
{"Bird", al::createActorFunction<Bird>},
{"BirdCarryMeat", nullptr},
{"BirdPlayerGlideCtrl", al::createActorFunction<BirdPlayerGlideCtrl>},
{"BlockBrick", nullptr},
{"BlockBrick2D", nullptr},
{"BlockBrickBig2D", nullptr},
{"BlockEmpty", nullptr},
{"BlockEmpty2D", al::createActorFunction<BlockEmpty2D>},
{"BlockHard", nullptr},
{"ClashWorldBlockHard", nullptr},
{"BlockQuestion", nullptr},
{"CityBlockQuestion", nullptr},
{"BlockQuestion2D", nullptr},
{"BlockTransparent", nullptr},
{"BlockTransparent2D", nullptr},
{"BlowObjBeans", nullptr},
{"BlowObjCan", nullptr},
{"BlowObjGarbageBag", nullptr},
{"BlowObjMushroom", nullptr},
{"BlowObj", nullptr},
{"BombTail", nullptr},
{"BossForest", nullptr},
{"BossForestBlock", nullptr},
{"BossForestWander", al::createActorFunction<BossForestWander>},
{"BossKnuckle", nullptr},
{"BossKnuckleCounterGround", nullptr},
{"BossKnuckleFix", al::createActorFunction<BossKnuckleFix>},
{"BossMagma", nullptr},
{"BossRaid", nullptr},
{"BossRaidNpc", nullptr},
{"BossRaidRivet", nullptr},
{"BreakablePole", nullptr},
{"Breeda", nullptr},
{"Bubble", al::createActorFunction<Bubble>},
{"Bubble2D", nullptr},
{"BubbleLauncher", nullptr},
{"Bull", nullptr},
{"Byugo", nullptr},
{"Cactus", nullptr},
{"CactusMini", nullptr},
{"CageShine", nullptr},
{"CageSaveSwitch", nullptr},
{"CageStageSwitch", nullptr},
{"CageBreakable", nullptr},
{"CameraDemoGateMapParts", nullptr},
{"CameraDemoKeyMoveMapParts", nullptr},
{"CameraRailHolder", al::createActorFunction<al::CameraRailHolder>},
{"CameraSub", nullptr},
{"CameraWatchPoint", al::createActorFunction<al::CameraWatchPoint>},
{"Candlestand", nullptr},
{"CandlestandFire", nullptr},
{"CandlestandInitializer", nullptr},
{"CandlestandBgmDirector", nullptr},
{"CandlestandSaveWatcher", nullptr},
{"CandlestandWatcher", nullptr},
{"CapAccelerator", nullptr},
{"CapAcceleratorKeyMoveMapParts", nullptr},
{"CapAppearMapParts", nullptr},
{"CapBeamer", nullptr},
{"CapBomb", al::createActorFunction<CapBomb>},
{"CapCatapult", nullptr},
{"CapFlower", nullptr},
{"CapFlowerGroup", nullptr},
{"CapHanger", al::createActorFunction<CapHanger>},
{"CapMessageAfterInformation", nullptr},
{"CapRack", nullptr},
{"CapRackTimer", nullptr},
{"CapRailMover", nullptr},
{"CapSlotBase", nullptr},
{"CapSwitch", al::createActorFunction<CapSwitch>},
{"CapSwitchSave", al::createActorFunction<CapSwitch>},
{"CapSwitchTimer", nullptr},
{"CapThrower", nullptr},
{"CapTrampoline", nullptr},
{"Car", nullptr},
{"CarSandWorld", nullptr},
{"CarWatcher", nullptr},
{"CardboardBox", nullptr},
{"CatchBomb", al::createActorFunction<CatchBomb>},
{"Chair", nullptr},
{"CheckpointFlag", al::createActorFunction<CheckpointFlag>},
{"ChorobonHolder", nullptr},
{"ChurchDoor", al::createActorFunction<ChurchDoor>},
{"CityBuilding", nullptr},
{"CityStreetlight", nullptr},
{"CityWorldSign", nullptr},
{"CityWorldUndergroundMachine", nullptr},
{"CitySign", nullptr},
{"CitySignal", al::createActorFunction<CitySignal>},
{"CityWorldTable", nullptr},
{"Closet", nullptr},
{"CloudStep", nullptr},
{"CollapseSandHill", nullptr},
{"CollectAnimalWatcher", nullptr},
{"CollectBgmSpeaker", nullptr},
{"CollectionList", nullptr},
{"Coin", al::createActorFunction<Coin>},
{"Coin2D", al::createActorFunction<Coin2D>},
{"Coin2DCityDirector", al::createActorFunction<Coin2DCityDirector>},
{"CoinBlow", al::createActorFunction<CoinBlow>},
{"CoinChameleon", al::createActorFunction<CoinChameleon>},
{"CoinCirclePlacement", al::createActorFunction<CoinCirclePlacement>},
{"CoinCollect", al::createActorFunction<CoinCollect>},
{"CoinCollectHintObj", al::createActorFunction<CoinCollectHintObj>},
{"CoinCollect2D", al::createActorFunction<CoinCollect2D>},
{"CoinLead", al::createActorFunction<CoinLead>},
{"CoinRail", al::createActorFunction<CoinRail>},
{"CoinRing", nullptr},
{"CoinStackGroup", al::createActorFunction<CoinStackGroup>},
{"CrystalBreakable", nullptr},
{"DamageBallGenerator", nullptr},
{"DelaySwitch", nullptr},
{"DemoActorCapManHero", nullptr},
{"DemoActorCapManHeroine", nullptr},
{"DemoActorKoopaShip", nullptr},
{"DemoActorHack", nullptr},
{"DemoActorPeach", nullptr},
{"DemoActorShineTower", nullptr},
{"DemoPeachWorldHomeWater001", nullptr},
{"DemoChangeEffectObj", nullptr},
{"DemoWorldMoveHomeBackGround", nullptr},
{"DemoPeachWedding", nullptr},
{"DemoPlayer", nullptr},
{"DemoPlayerCap", nullptr},
{"DigPoint", nullptr},
{"DigPointHintPhoto", nullptr},
{"DigPointWater", nullptr},
{"DirectionFixedBillboard", nullptr},
{"Dokan", nullptr},
{"DokanKoopa", nullptr},
{"DokanMaze", nullptr},
{"DokanMazeDirector", nullptr},
{"DokanStageChange", nullptr},
{"DonkeyKong2D", al::createActorFunction<DonkeyKong2D>},
{"Donsuke", nullptr},
{"Doshi", al::createActorFunction<Doshi>},
{"DoorAreaChange", nullptr},
{"DoorAreaChangeCap", nullptr},
{"DoorCity", al::createActorFunction<DoorCity>},
{"DoorSnow", nullptr},
{"DoorWarp", nullptr},
{"DoorWarpStageChange", nullptr},
{"EchoBlockMapParts", nullptr},
{"EffectObj", al::createActorFunction<al::EffectObj>},
{"EffectObjScale", nullptr},
{"EffectObjAlpha", nullptr},
{"EffectObjCameraEmit", al::createActorFunction<al::EffectObjCameraEmit>},
{"EffectObjFollowCamera", al::createActorFunction<al::EffectObjFollowCamera>},
{"EffectObjFollowCameraLimit", al::createActorFunction<al::EffectObjFollowCameraLimit>},
{"EffectObjInterval", al::createActorFunction<al::EffectObjInterval>},
{"EffectObjNpcManFar", nullptr},
{"EffectObjQualityChange", nullptr},
{"ElectricWire", al::createActorFunction<ElectricWire>},
{"ElectricWireKoopa", nullptr},
{"EntranceCameraStartObj", nullptr},
{"EventKeyMoveCameraObjNoDemo", nullptr},
{"EventKeyMoveCameraObjWithDemo", nullptr},
{"FigureWalkingNpc", nullptr},
{"FireBlower", nullptr},
{"FireBrosPossessed", nullptr},
{"FireSwitch", nullptr},
{"FireHydrant", nullptr},
{"FireDrum2D", al::createActorFunction<FireDrum2D>},
{"FishingFish", nullptr},
{"FixMapParts2D", nullptr},
{"FixMapPartsAppearKillAsync", nullptr},
{"FixMapPartsBgmChangeAction", al::createActorFunction<FixMapPartsBgmChangeAction>},
{"FixMapPartsCapHanger", nullptr},
{"FixMapPartsDitherAppear", nullptr},
{"FixMapPartsForceSafetyPoint", nullptr},
{"FixMapPartsFukankunZoomCapMessage", nullptr},
{"FixMapPartsScenarioAction", nullptr},
{"FlyObject", al::createActorFunction<FlyObject>},
{"ForestManSeed", nullptr},
{"ForestWorldHomeBreakParts000", nullptr},
{"FogRequester", nullptr},
{"FrailBox", nullptr},
{"Frog", nullptr},
{"Fukankun", nullptr},
{"FukankunZoomCapMessageSun", nullptr},
{"FukuwaraiWatcher", nullptr},
{"ForestWorldEnergyStand", nullptr},
{"ForestWorldFlowerCtrl", nullptr},
{"GabuZou", nullptr},
{"GabuZouGroup", nullptr},
{"Gamane", al::createActorFunction<Gamane>},
{"GiantWanderBoss", nullptr},
{"GoalMark", nullptr},
{"GolemClimb", nullptr},
{"Gotogoton", nullptr},
{"GotogotonGoal", nullptr},
{"GraphicsObjShadowMaskCube", nullptr},
{"GraphicsObjShadowMaskSphere", nullptr},
{"GrowerBug", nullptr},
{"GrowerWorm", nullptr},
{"GrowFlowerCoin", nullptr},
{"GrowFlowerWatcher", nullptr},
{"GrowPlantGrowPlace", nullptr},
{"GrowPlantSeed", nullptr},
{"GrowPlantStartStage", nullptr},
{"GrowPlantWatcher", nullptr},
{"Gunetter", nullptr},
{"GunetterMove", nullptr},
{"HackCar", nullptr},
{"HackFork", al::createActorFunction<HackFork>},
{"HammerBrosPossessed", nullptr},
{"HammerBros2D", nullptr},
{"HelpNpc", nullptr},
{"HintNpc", nullptr},
{"HintPhoto", nullptr},
{"HintRouteGuidePoint", nullptr},
{"HipDropSwitch", al::createActorFunction<HipDropSwitch>},
{"HipDropSwitchSave", nullptr},
{"HipDropSwitchTimer", nullptr},
{"HipDropTile", nullptr},
{"HipDropMoveLift", nullptr},
{"HipDropRepairParts", nullptr},
{"HipDropTransformPartsWatcher", nullptr},
{"HomeBed", nullptr},
{"HomeChair", nullptr},
{"HomeInside", nullptr},
{"HomeShip", nullptr},
{"Hosui", nullptr},
{"IcicleFall", nullptr},
{"Imomu", nullptr},
{"IndicatorDirector", nullptr},
{"Jango", nullptr},
{"Joku", nullptr},
{"JugemFishing", nullptr},
{"JumpingRopeNpc", nullptr},
{"Kakku", nullptr},
{"KaronWing", al::createActorFunction<KaronWing>},
{"KeyMoveCameraFix", nullptr},
{"KickStone", nullptr},
{"KillerLauncher", nullptr},
{"KillerLauncherDot", nullptr},
{"KinokoUfo", nullptr},
{"Koopa", nullptr},
{"KoopaCapPlayer", nullptr},
{"KoopaChurch", nullptr},
{"KoopaLv1", nullptr},
{"KoopaLv2", nullptr},
{"KoopaLv3", nullptr},
{"KoopaShip", al::createActorFunction<KoopaShip>},
{"Kuribo2D3D", al::createActorFunction<Kuribo2D>},
{"KuriboGenerator2D3D", nullptr},
{"KuriboGirl", al::createActorFunction<KuriboGirl>},
{"KuriboPossessed", nullptr},
{"KuriboMini", al::createActorFunction<KuriboMini>},
{"KuriboTowerSwitch", nullptr},
{"KuriboWing", nullptr},
{"LavaFryingPan", nullptr},
{"LavaStewVeget", nullptr},
{"LavaPan", al::createActorFunction<LavaPan>},
{"LavaWave", nullptr},
{"LifeMaxUpItem", al::createActorFunction<LifeMaxUpItem>},
{"LifeMaxUpItem2D", al::createActorFunction<LifeMaxUpItem2D>},
{"LifeUpItem", al::createActorFunction<LifeUpItem>},
{"LifeUpItem2D", al::createActorFunction<LifeUpItem2D>},
{"LightningController", nullptr},
{"LongGenerator", nullptr},
{"MarchingCubeBlock", nullptr},
{"MapPartsRoulette", nullptr},
{"Megane", al::createActorFunction<Megane>},
{"MeganeLiftExLift", nullptr},
{"MeganeKeyMoveMapParts", nullptr},
{"MeganeMapParts", al::createActorFunction<MeganeMapParts>},
{"Mirror", nullptr},
{"MoonBasementBreakParts", al::createActorFunction<MoonBasementBreakParts>},
{"MoonBasementClimaxWatcher", nullptr},
{"MoonBasementFallObj", nullptr},
{"MoonBasementFinalGate", nullptr},
{"MoonBasementFallObjDecoration", nullptr},
{"MoonBasementFloor", al::createActorFunction<MoonBasementFloor>},
{"MoonBasementGate", nullptr},
{"MoonBasementMeteorAreaObj", nullptr},
{"MoonBasementPillar", nullptr},
{"MoonBasementRock", nullptr},
{"MoonBasementSlideObj", al::createActorFunction<MoonBasementSlideObj>},
{"MoonRock", nullptr},
{"MoonWorldBell", nullptr},
{"MoonWorldCaptureParadeLift", al::createActorFunction<MoonWorldCaptureParadeLift>},
{"Mofumofu", nullptr},
{"MofumofuLv2", nullptr},
{"MofumofuScrap", al::createActorFunction<MofumofuScrap>},
{"Motorcycle", nullptr},
{"MotorcycleParkingLot", nullptr},
{"MoveHomeNpc", nullptr},
{"MoviePlayerMapParts", nullptr},
{"MultiGateKeeperBonfire", nullptr},
{"MultiGateKeeperWatcher", nullptr},
{"Mummy", al::createActorFunction<Mummy>},
{"MummyGenerator", nullptr},
{"NeedleTrap", nullptr},
{"Nokonoko2D", al::createActorFunction<Nokonoko2D>},
{"NoteObjFirst", nullptr},
{"NoteObjFirst2D", nullptr},
{"NoteObjDirector", nullptr},
{"Objex", nullptr},
{"OccludedEffectRequester", nullptr},
{"OceanWave", nullptr},
{"CloudOcean", nullptr},
{"DemoCloudOcean", nullptr},
{"OneMeshFixMapParts", al::createActorFunction<al::OneMeshFixMapParts>},
{"OpeningStageStartDemo", nullptr},
{"PackunFire", nullptr},
{"PadRumblePoint", nullptr},
{"PaintObj", nullptr},
{"PaulineAtCeremony", nullptr},
{"PaulineAudience", nullptr},
{"PeachWorldHomeCastleCap", nullptr},
{"PeachWorldGate", nullptr},
{"PeachWorldMoatWater", nullptr},
{"PeachWorldTree", al::createActorFunction<PeachWorldTree>},
{"Pecho", al::createActorFunction<Pecho>},
{"Pen", nullptr},
{"PictureStageChange", nullptr},
{"PillarKeyMoveParts", nullptr},
{"PillarSwitchOpenMapParts", nullptr},
{"PlayerMotionObserver", nullptr},
{"PlayerStartObj", nullptr},
{"PlayerSubjectiveWatchCheckObj", nullptr},
{"PlayGuideBoard", nullptr},
{"PlayRecorder", nullptr},
{"PlayerStartObjNoLink", nullptr},
{"PochiHintPhoto", nullptr},
{"Poetter", nullptr},
{"PoleClimbParts", nullptr},
{"PoleClimbPartsBreak", nullptr},
{"PoleGrabCeil", al::createActorFunction<PoleGrabCeil>},
{"PoleGrabCeilKeyMoveParts", nullptr},
{"PopnGenerator", nullptr},
{"LavaWorldPoster", nullptr},
{"PosterCeremony", nullptr},
{"PosterWedding", nullptr},
{"ReactionObjectSkyRhythm", nullptr},
{"PosterWatcher", nullptr},
{"PrePassCausticsLight", nullptr},
{"PrePassLineLight", nullptr},
{"PrePassPointLight", nullptr},
{"PrePassProjLight", nullptr},
{"PrePassProjOrthoLight", nullptr},
{"PrePassSpotLight", nullptr},
{"ProjectRaceCheckPoint", nullptr},
{"Pyramid", nullptr},
{"QuestObj", nullptr},
{"RabbitGraph", nullptr},
{"RaceAudienceNpc", al::createActorFunction<RaceAudienceNpc>},
{"RaceManGoal", nullptr},
{"RaceManRace", nullptr},
{"RaceManStart", nullptr},
{"RaceWatcher", nullptr},
{"RadiConRaceWatcher", nullptr},
{"RadioCassette", nullptr},
{"RadiconNpc", nullptr},
{"Radish", nullptr},
{"RadishGold", nullptr},
{"RailDrawer", nullptr},
{"RankingNpc", nullptr},
{"ReactionObject", nullptr},
{"CarBreakable", nullptr},
{"ReactionObjectDotCharacter", nullptr},
{"ReflectBombGenerator", nullptr},
{"RhythmSpotlight", nullptr},
{"RippleGeneratePoint", nullptr},
{"RippleGenerateSquare", nullptr},
{"RotateTarget", nullptr},
{"RouletteSwitch", al::createActorFunction<RouletteSwitch>},
{"RouteGuideArrow", nullptr},
{"RouteGuideRail", nullptr},
{"RunAwayNpc", nullptr},
{"SandGeyser", nullptr},
{"SandWorldHomeLift", nullptr},
{"SaucePan", nullptr},
{"SaveFlagCheckObj", al::createActorFunction<SaveFlagCheckObj>},
{"ScenarioStartCameraAnim", al::createActorFunction<ScenarioStartCamera>},
{"ScenarioStartCameraSimpleZoom", al::createActorFunction<ScenarioStartCamera>},
{"ScenarioStartCameraRailMove", al::createActorFunction<ScenarioStartCamera>},
{"Senobi", nullptr},
{"SenobiGeneratePoint", nullptr},
{"SenobiMoveMapParts", nullptr},
{"SenobiMoveMapPartsConnector", nullptr},
{"SeBarrierObj", nullptr},
{"SePlayObj", nullptr},
{"SePlayObjWithSave", nullptr},
{"SePlayRail", nullptr},
{"SequentialSwitch", nullptr},
{"SessionBgmCtrlObj", nullptr},
{"SessionMayorNpc", nullptr},
{"SessionMusicianNpc", nullptr},
{"Shibaken", nullptr},
{"ShibakenHomeShipInside", nullptr},
{"Shine", nullptr},
{"ShineWithAppearCamera", nullptr},
{"ShineChipWatcher", nullptr},
{"ShineDot", nullptr},
{"ShineFukankunWatchObj", nullptr},
{"ShineTowerRocket", al::createActorFunction<ShineTowerRocket>},
{"ShopBgmPlayer", nullptr},
{"ShopMark", nullptr},
{"ShoppingWatcher", nullptr},
{"SignBoardDanger", al::createActorFunction<SignBoardDanger>},
{"SignBoardLayoutTexture", nullptr},
{"SkyFukankunZoomCapMessage", nullptr},
{"SkyWorldCloud", nullptr},
{"SkyWorldKoopaFire", nullptr},
{"SkyWorldKoopaFrame", nullptr},
{"SkyWorldMiddleViewCloud", nullptr},
{"SignBoard", nullptr},
{"SnowWorldBigIcicle", nullptr},
{"SnowWorldSequenceFlagCheckObj", nullptr},
{"Sky", nullptr},
{"SmallWanderBoss", nullptr},
{"SneakingMan", nullptr},
{"SnowManRaceNpc", nullptr},
{"SnowVolume", nullptr},
{"SnowVolumeEraser", nullptr},
{"Souvenir", al::createActorFunction<Souvenir>},
{"SouvenirDirector", nullptr},
{"Special2KeyMoveLift", nullptr},
{"Special2KeyMoveParts", nullptr},
{"SphinxQuiz", nullptr},
{"SphinxRide", nullptr},
{"SphinxTaxiWatcher", nullptr},
{"Squirrel", nullptr},
{"Stacker", nullptr},
{"StackerCapWorldCtrl", nullptr},
{"StageEventDemo", nullptr},
{"StageSwitchSelector", al::createActorFunction<StageSwitchSelector>},
{"StageTalkDemoNpcCap", nullptr},
{"StageTalkDemoNpcCapMoonRock", nullptr},
{"Stake", nullptr},
{"Statue", nullptr},
{"StatueSnapMark", nullptr},
{"SubActorLodFixPartsScenarioAction", nullptr},
{"SwitchAnd", nullptr},
{"SwitchKeyMoveMapParts", nullptr},
{"TalkMessageInfoPoint", nullptr},
{"TalkMessageInfoPointSaveObj", nullptr},
{"TalkNpc", nullptr},
{"TalkNpcFreeze", nullptr},
{"TalkNpcCapMan", nullptr},
{"TalkNpcCapManHero", nullptr},
{"TalkNpcCityMan", nullptr},
{"TalkNpcCityManLow", nullptr},
{"TalkNpcCityManSit", nullptr},
{"TalkNpcCityMayor", nullptr},
{"TalkNpcCollectBgm", nullptr},
{"TalkNpcDesertMan", nullptr},
{"TalkNpcForestMan", nullptr},
{"TalkNpcForestManScrap", nullptr},
{"TalkNpcKinopio", nullptr},
{"TalkNpcKinopioBrigade", nullptr},
{"TalkNpcKinopioMember", nullptr},
{"TalkNpcLakeMan", nullptr},
{"TalkNpcLavaMan", nullptr},
{"TalkNpcLavaManCook", nullptr},
{"TalkNpcLifeUpItemSeller", nullptr},
{"TalkNpcRabbit", nullptr},
{"TalkNpcSeaMan", nullptr},
{"TalkNpcSnowMan", nullptr},
{"TalkNpcSnowManLeader", nullptr},
{"TalkNpcSnowManRacer", nullptr},
{"TalkPoint", nullptr},
{"Tank", nullptr},
{"TankReviveCtrl", nullptr},
{"TaxiStop", nullptr},
{"TextureReplaceScreen", nullptr},
{"ThunderRenderRequester", nullptr},
{"Togezo", al::createActorFunction<Togezo>},
{"Togezo2D", al::createActorFunction<Togezo2D>},
{"TokimekiMayorNpc", nullptr},
{"TrampleBush", al::createActorFunction<TrampleBush>},
{"TrampleSwitch", al::createActorFunction<TrampleSwitch>},
{"TrampleSwitchSave", al::createActorFunction<TrampleSwitch>},
{"TrampleSwitchTimer", al::createActorFunction<TrampleSwitchTimer>},
{"TransparentWall", al::createActorFunction<TransparentWall>},
{"TreasureBox", nullptr},
{"TreasureBoxKey", al::createActorFunction<TreasureBoxKey>},
{"TreasureBoxSequentialDirector", nullptr},
{"TRex", nullptr},
{"TRexForceScroll", nullptr},
{"TRexPatrol", nullptr},
{"TRexSleep", nullptr},
{"TRexScrollBreakMapParts", nullptr},
{"Tsukkun", nullptr},
{"TsukkunHole", nullptr},
{"TwistChainList", nullptr},
{"Utsubo", nullptr},
{"UtsuboWatcher", nullptr},
{"VocalMike", al::createActorFunction<VocalMike>},
{"VolleyballBase", al::createActorFunction<VolleyballBase>},
{"VolleyballNet", al::createActorFunction<VolleyballNet>},
{"VolleyballNpc", al::createActorFunction<VolleyballNpc>},
{"Wanwan", nullptr},
{"WanwanHole", nullptr},
{"WaterAreaMoveModel", nullptr},
{"WaterfallWorldBigBreakableWall", nullptr},
{"WaterfallWorldFallDownBridge", nullptr},
{"WaterfallWorldHomeCage", nullptr},
{"WaterfallWorldWaterfall", nullptr},
{"WaterRoad", nullptr},
{"WeightSwitch", al::createActorFunction<WeightSwitch>},
{"WheelWaveSurfParts", nullptr},
{"WindBlowPuzzle", nullptr},
{"WorldMapEarth", al::createActorFunction<WorldMapEarth>},
{"WorldTravelingNpc", al::createActorFunction<WorldTravelingNpc>},
{"WorldTravelingPeach", nullptr},
{"WorldWarpHole", al::createActorFunction<WorldWarpHole>},
{"Fastener", nullptr},
{"FastenerObj", nullptr},
{"AtmosScatterRequester", nullptr},
{"BackHideParts", al::createActorFunction<al::BackHideParts>},
{"BreakMapParts", nullptr},
{"CapRotateMapParts", nullptr},
{"ClockMapParts", al::createActorFunction<al::ClockMapParts>},
{"ConveyerMapParts", al::createActorFunction<al::ConveyerMapParts>},
{"FallMapParts", al::createActorFunction<al::FallMapParts>},
{"FixMapParts", al::createActorFunction<al::FixMapParts>},
{"FloaterMapParts", al::createActorFunction<al::FloaterMapParts>},
{"FlowMapParts", al::createActorFunction<al::FlowMapParts>},
{"GateMapParts", al::createActorFunction<al::GateMapParts>},
{"KeyMoveMapParts", al::createActorFunction<al::KeyMoveMapParts>},
{"KeyMoveMapPartsGenerator", al::createActorFunction<al::KeyMoveMapPartsGenerator>},
{"PossessedMapParts", nullptr},
{"Pukupuku", nullptr},
{"PulseSwitch", nullptr},
{"RailCollision", nullptr},
{"RailMoveMapParts", al::createActorFunction<al::RailMoveMapParts>},
{"RiseMapParts", nullptr},
{"ReactionMapParts", al::createActorFunction<ReactionMapParts>},
{"RiseMapPartsHolder", al::createActorFunction<RiseMapPartsHolder>},
{"RocketFlower", al::createActorFunction<RocketFlower>},
{"RollingCubeMapParts", al::createActorFunction<al::RollingCubeMapParts>},
{"RippleFixMapParts", nullptr},
{"RotateMapParts", al::createActorFunction<al::RotateMapParts>},
{"SeesawMapParts", al::createActorFunction<al::SeesawMapParts>},
{"SlideMapParts", al::createActorFunction<al::SlideMapParts>},
{"SubActorLodMapParts", al::createActorFunction<al::SubActorLodMapParts>},
{"SurfMapParts", al::createActorFunction<al::SurfMapParts>},
{"SwingMapParts", al::createActorFunction<al::SwingMapParts>},
{"SwitchDitherMapParts", al::createActorFunction<al::SwitchDitherMapParts>},
{"SwitchKeepOnWatcher", nullptr},
{"SwitchOpenMapParts", al::createActorFunction<al::SwitchOpenMapParts>},
{"VisibleSwitchMapParts", al::createActorFunction<al::VisibleSwitchMapParts>},
{"WaveSurfMapParts", nullptr},
{"WheelMapParts", al::createActorFunction<al::WheelMapParts>},
{"WobbleMapParts", al::createActorFunction<al::WobbleMapParts>},
{"WindBlowMapParts", nullptr},
{"Yoshi", al::createActorFunction<Yoshi>},
{"YoshiFruit", nullptr},
{"YoshiFruitShineHolder", nullptr},
{"Yukimaru", nullptr},
{"YukimaruRacer", nullptr},
{"YukimaruRacerTiago", nullptr}};
ProjectActorFactory::ProjectActorFactory() : ActorFactory("アクター生成") { //("繧「繧ッ繧ソ繝シ逕滓")
initFactory(sProjectActorFactoryEntries);
}