1#include "Scene/ProjectAreaFactory.h"
2
3#include "Library/Area/CreateAreaObjFunction.h"
4#include "Library/Area/TrafficArea.h"
5#include "Library/Play/Area/CameraStartParamArea.h"
6#include "Library/Play/Area/SeBarrierArea.h"
7#include "Library/Play/Area/SePlayArea.h"
8#include "Library/Play/Area/ViewCtrlArea.h"
9
10#include "Area/BirdGatheringSpotArea.h"
11#include "Area/ExtForceArea.h"
12#include "Area/ForceRecoveryKidsArea.h"
13#include "Area/MoveArea2D.h"
14#include "Area/NpcForceMaterialCodeArea.h"
15#include "Area/RouteGuideArea.h"
16#include "Area/StainArea.h"
17
18const al::AreaGroupInfo sAreaGroupInfos[] = {{.name: "GraphicsArea", .size: 1}};
19
20const al::NameToCreator<al::AreaCreatorFunction> sProjectAreaFactoryEntries[] = {
21 {.name: "AlignDirectionArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
22 {.name: "AudioEffectChangeArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
23 {.name: "BalloonInvalidArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
24 {.name: "BgmChangeArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
25 {.name: "BgmSituationChangeArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
26 {.name: "BgmStopArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
27 {.name: "BossRaidElectricArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
28 {.name: "CameraAngleVerticalRequestArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
29 {.name: "CameraArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
30 {.name: "CameraArea2D", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
31 {.name: "CameraAreaKids", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
32 {.name: "CameraInSwitchOnArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
33 {.name: "CameraStopArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
34 {.name: "CarryBanArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
35 {.name: "ChangeStageArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
36 {.name: "ClippingFarArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
37 {.name: "CollectBgmPlayInvalidArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
38 {.name: "CompassArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
39 {.name: "DamageBallBgmEnableArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
40 {.name: "DamageBallDestroyArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
41 {.name: "DeathArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
42 {.name: "DepthShadowArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
43 {.name: "DepthShadowClipArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
44 {.name: "DisablePaintDamageArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
45 {.name: "DitherAnimNearInvalidArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
46 {.name: "FastMoveCollisionArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
47 {.name: "FireBlowerFireVisibleArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
48 {.name: "ForceCameraArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
49 {.name: "GpuPerfArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
50 {.name: "GraphicsArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
51 {.name: "GroundShadowLengthReviseArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
52 {.name: "HackCancelArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
53 {.name: "HackCancelSwoonProhibitedArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
54 {.name: "HackerCheckArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
55 {.name: "HackerCheckKeepOnArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
56 {.name: "HackInvalidEscapeArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
57 {.name: "HosuiFloorCheckSpecialArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
58 {.name: "HosuiHoverLevelKeepArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
59 {.name: "HosuiRecoveryArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
60 {.name: "InformationArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
61 {.name: "InformationHackMovieArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
62 {.name: "InformationInvalidArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
63 {.name: "InvalidateInputFallArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
64 {.name: "InvalidatePressStickCameraArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
65 {.name: "InvalidateRecoveryPosArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
66 {.name: "InvalidateRocketFlowerCameraArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
67 {.name: "InvalidateRouteGuideArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
68 {.name: "InvalidateStageMapArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
69 {.name: "InvalidateWanwanCameraArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
70 {.name: "InvalidateWallClimbArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
71 {.name: "ItemVanishArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
72 {.name: "KoopaDemoArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
73 {.name: "LocationNameArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
74 {.name: "LongInvalidArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
75 {.name: "LowGravityArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
76 {.name: "MapSnapShotArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
77 {.name: "MeganePlayGuideChangeArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
78 {.name: "MissRestartArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
79 {.name: "MoonBasementFallObjDecorationDestructionArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
80 {.name: "MotorcycleFrontSnapArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
81 {.name: "MotorcycleInCheckArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
82 {.name: "MotorcycleInvalidGetOffArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
83 {.name: "MoveDirectionKeepArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
84 {.name: "PaintDamageCheckLenSwitchArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
85 {.name: "ParallaxCorrectedCubeMapArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
86 {.name: "PlayerAnimArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
87 {.name: "PlayerMePlayArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
88 {.name: "PlayerMoveSmallPlanetArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
89 {.name: "PlayerShadowLengthArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
90 {.name: "PoleGrabCeilNoSnapArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
91 {.name: "RaceCourseOutArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
92 {.name: "RecoveryArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
93 {.name: "RecoveryBanArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
94 {.name: "RestartArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
95 {.name: "RouteGuideArrowScaleArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
96 {.name: "SeListenerChangeArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
97 {.name: "SeSituationChangeArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
98 {.name: "SessionBgmChangeArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
99 {.name: "ShibakenFollowArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
100 {.name: "SnapMoveArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
101 {.name: "SnapShotInvalidCtrlArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
102 {.name: "SphinxRideGetOffForceArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
103 {.name: "SphinxRideInCheckArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
104 {.name: "SphinxRideInCheckAreaKeepOn", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
105 {.name: "SphinxRideInRideOffCheckAreaKeepOn", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
106 {.name: "StealthArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
107 {.name: "SubjectiveCameraInvalidArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
108 {.name: "SubjectiveCameraInvalidCameraThroughArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
109 {.name: "SwitchKeepOn2DArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
110 {.name: "SwitchKeepOn2DExceptDokanInArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
111 {.name: "SwitchKeepOnArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
112 {.name: "SwitchKeepOnPlayerInWaterArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
113 {.name: "SwitchKeepOnSenobiOnlyArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
114 {.name: "SwitchKeepOnIgnoreOffAreaTarget", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
115 {.name: "SwitchOn2DArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
116 {.name: "SwitchOnArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
117 {.name: "SwitchOnKoopa2DOnGroundArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
118 {.name: "SwitchOnPlayerOnGroundArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
119 {.name: "TalkMessageInfoPointArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
120 {.name: "TemperatureArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
121 {.name: "TitleLogoArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
122 {.name: "YoshiTongueSnapArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
123 {.name: "YukimaruRacerNoJumpArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
124 {.name: "WallCatchNoEntryArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
125 {.name: "WarningBikeSideWalkInArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
126 {.name: "WarpArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
127 {.name: "WaterArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
128 {.name: "WaterfallArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
129 {.name: "WetArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
130 {.name: "WorldEndBorderArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
131 {.name: "YukimaruRacerHoldJumpArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
132 {.name: "YukimaruRacerMinimumSpeedEnforcementArea", .creationFunction: al::createAreaObjFunction<al::AreaObj>},
133 {.name: "BirdGatheringSpotArea", .creationFunction: al::createAreaObjFunction<BirdGatheringSpotArea>},
134 {.name: "CameraStartParamArea", .creationFunction: al::createAreaObjFunction<al::CameraStartParamArea>},
135 {.name: "ExtForceArea", .creationFunction: al::createAreaObjFunction<ExtForceArea>},
136 {.name: "ForceRecoveryKidsArea", .creationFunction: al::createAreaObjFunction<ForceRecoveryKidsArea>},
137 {.name: "NpcForceMaterialCodeArea", .creationFunction: al::createAreaObjFunction<NpcForceMaterialCodeArea>},
138 {.name: "SePlayArea", .creationFunction: al::createAreaObjFunction<al::SePlayArea>},
139 {.name: "SeBarrierArea", .creationFunction: al::createAreaObjFunction<al::SeBarrierArea>},
140 {.name: "StainArea", .creationFunction: al::createAreaObjFunction<StainArea>},
141 {.name: "TrafficArea", .creationFunction: al::createAreaObjFunction<al::TrafficArea>},
142 {.name: "ViewCtrlArea", .creationFunction: al::createAreaObjFunction<al::ViewCtrlArea>},
143 {.name: "RouteGuideArea", .creationFunction: al::createAreaObjFunction<RouteGuideArea>},
144 {.name: "2DMoveArea", .creationFunction: al::createAreaObjFunction<MoveArea2D>},
145 {.name: "CameraStartParamAreaKids", .creationFunction: al::createAreaObjFunction<al::CameraStartParamArea>},
146 {.name: "RecoveryTargetPosKidsArea", .creationFunction: al::createAreaObjFunction<ForceRecoveryKidsArea>},
147};
148
149ProjectAreaFactory::ProjectAreaFactory() : AreaObjFactory("エリア生成") {
150 setAreaGroupInfos(sAreaGroupInfos);
151 initFactory(entries: sProjectAreaFactoryEntries);
152}
153