3#include "Game/NameObj/NameObj.hpp"
4#include "Game/NameObj/NameObjHolder.hpp"
5#include "Game/Util.hpp"
7#define CATEGORY_MOVEMENT_00 0x00
8#define CATEGORY_MOVEMENT_STOP_SCENE_DELAY_REQUEST 0x01
9#define CATEGORY_MOVEMENT_CAMERA 0x02
10#define CATEGORY_MOVEMENT_SCREEN_EFFECT 0x03
11#define CATEGORY_MOVEMENT_CLIPPING_DIRECTOR 0x04
12#define CATEGORY_MOVEMENT_SENSOR_HIT_CHECKER 0x05
13#define CATEGORY_MOVEMENT_MSG_SHARED_GROUP 0x06
14#define CATEGORY_MOVEMENT_07 0x07
15#define CATEGORY_MOVEMENT_08 0x08
16#define CATEGORY_MOVEMENT_AUD_CAMERA_WATCHER 0x09
17#define CATEGORY_MOVEMENT_TALK_DIRECTOR 0x0A
18#define CATEGORY_MOVEMENT_DEMO_DIRECTOR 0x0B
19#define CATEGORY_MOVEMENT_0C 0x0C
20#define CATEGORY_MOVEMENT_AREA_OBJ 0x0D
21#define CATEGORY_MOVEMENT_LAYOUT 0x0E
22#define CATEGORY_MOVEMENT_LAYOUT_DECORATION 0x0F
23#define CATEGORY_MOVEMENT_MOVIE 0x10
24#define CATEGORY_MOVEMENT_WIPE_LAYOUT 0x11
25#define CATEGORY_MOVEMENT_LAYOUT_ON_PAUSE 0x12
26#define CATEGORY_MOVEMENT_MOVIE_SUBTITLES 0x13
27#define CATEGORY_MOVEMENT_14 0x14
28#define CATEGORY_MOVEMENT_15 0x15
29#define CATEGORY_MOVEMENT_MIRROR_CAMERA 0x16
30#define CATEGORY_MOVEMENT_IMAGE_EFFECT 0x17
31#define CATEGORY_MOVEMENT_AUD_EFFECT_DIRECTOR 0x18
32#define CATEGORY_MOVEMENT_AUD_BGM_CONDUCTOR 0x19
33#define CATEGORY_MOVEMENT_CAMERA_COVER 0x1A
34#define CATEGORY_MOVEMENT_SWITCH_WATCHER_HOLDER 0x1B
35#define CATEGORY_MOVEMENT_MAP_PARTS 0x1C
36#define CATEGORY_MOVEMENT_PLANET 0x1D
37#define CATEGORY_MOVEMENT_COLLISION_MAP_OBJ 0x1E
38#define CATEGORY_MOVEMENT_COLLISION_ENEMY 0x1F
39#define CATEGORY_MOVEMENT_COLLISION_DIRECTOR 0x20
40#define CATEGORY_MOVEMENT_ENVIRONMENT 0x21
41#define CATEGORY_MOVEMENT_MAP_OBJ 0x22
42#define CATEGORY_MOVEMENT_MAP_OBJ_DECORATION 0x23
43#define CATEGORY_MOVEMENT_AFTER_MAP_OBJ 0x24
44#define CATEGORY_MOVEMENT_PLAYER 0x25
45#define CATEGORY_MOVEMENT_PLAYER_DECORATION 0x26
46#define CATEGORY_MOVEMENT_PLAYER_MESSENGER 0x27
47#define CATEGORY_MOVEMENT_NPC 0x28
48#define CATEGORY_MOVEMENT_RIDE 0x29
49#define CATEGORY_MOVEMENT_ENEMY 0x2A
50#define CATEGORY_MOVEMENT_ENEMY_DECORATION 0x2B
51#define CATEGORY_MOVEMENT_ITEM 0x2C
52#define CATEGORY_MOVEMENT_SHADOW_CONTROLLER 0x2D
53#define CATEGORY_MOVEMENT_MAX_VALUE 0x2E
55#define CATEGORY_CALC_ANIM_MAP_PARTS 0x00
56#define CATEGORY_CALC_ANIM_PLANET 0x01
57#define CATEGORY_CALC_ANIM_COLLISION_MAP_OBJ 0x02
58#define CATEGORY_CALC_ANIM_COLLISION_ENEMY 0x03
59#define CATEGORY_CALC_ANIM_ENVIRONMENT 0x04
60#define CATEGORY_CALC_ANIM_MAP_OBJ 0x05
61#define CATEGORY_CALC_ANIM_NPC 0x06
62#define CATEGORY_CALC_ANIM_RIDE 0x07
63#define CATEGORY_CALC_ANIM_ENEMY 0x08
64#define CATEGORY_CALC_ANIM_PLAYER 0x09
65#define CATEGORY_CALC_ANIM_PLAYER_DECORATION 0x0A
66#define CATEGORY_CALC_ANIM_MAP_OBJ_DECORATION 0x0B
67#define CATEGORY_CALC_ANIM_MIRROR_MAP_OBJ 0x0C
68#define CATEGORY_CALC_ANIM_LAYOUT 0x0D
69#define CATEGORY_CALC_ANIM_LAYOUT_DECORATION 0x0E
70#define CATEGORY_CALC_ANIM_MOVIE_SUBTITLES 0x0F
71#define CATEGORY_CALC_ANIM_ITEM 0x10
72#define CATEGORY_CALC_ANIM_11 0x11
73#define CATEGORY_CALC_ANIM_12 0x12
74#define CATEGORY_CALC_ANIM_PARTICLE 0x13
75#define CATEGORY_CALC_ANIM_PARTICLE_IGNORE_PAUSE 0x14
76#define CATEGORY_CALC_ANIM_15 0x15
77#define CATEGORY_CALC_ANIM_MAX_VALUE 0x16
79#define CATEGORY_DRAW_BUFFER_CLIPPED_MAP_PARTS 0x00
80#define CATEGORY_DRAW_BUFFER_SKY 0x01
81#define CATEGORY_DRAW_BUFFER_AIR 0x02
82#define CATEGORY_DRAW_BUFFER_SUN 0x03
83#define CATEGORY_DRAW_BUFFER_PLANET 0x04
84#define CATEGORY_DRAW_BUFFER_PLANET_LOW 0x05
85#define CATEGORY_DRAW_BUFFER_ENVIRONMENT 0x06
86#define CATEGORY_DRAW_BUFFER_ENVIRONMENT_STRONG_LIGHT 0x07
87#define CATEGORY_DRAW_BUFFER_MAP_OBJ 0x08
88#define CATEGORY_DRAW_BUFFER_MAP_OBJ_WEAK_LIGHT 0x09
89#define CATEGORY_DRAW_BUFFER_MAP_OBJ_STRONG_LIGHT 0x0A
90#define CATEGORY_DRAW_BUFFER_NO_SHADOWED_MAP_OBJ 0x0B
91#define CATEGORY_DRAW_BUFFER_NO_SHADOWED_MAP_OBJ_STRONG_LIGHT 0x0C
92#define CATEGORY_DRAW_BUFFER_NO_SILHOUETTED_MAP_OBJ 0x0D
93#define CATEGORY_DRAW_BUFFER_NO_SILHOUETTED_MAP_OBJ_WEAK_LIGHT 0x0E
94#define CATEGORY_DRAW_BUFFER_NO_SILHOUETTED_MAP_OBJ_STRONG_LIGHT 0x0F
95#define CATEGORY_DRAW_BUFFER_NPC 0x10
96#define CATEGORY_DRAW_BUFFER_RIDE 0x11
97#define CATEGORY_DRAW_BUFFER_ENEMY 0x12
98#define CATEGORY_DRAW_BUFFER_ENEMY_DECORATION 0x13
99#define CATEGORY_DRAW_BUFFER_PLAYER 0x14
100#define CATEGORY_DRAW_BUFFER_PLAYER_DECORATION 0x15
101#define CATEGORY_DRAW_BUFFER_CRYSTAL_BOX 0x16
102#define CATEGORY_DRAW_BUFFER_17 0x17
103#define CATEGORY_DRAW_BUFFER_18 0x18
104#define CATEGORY_DRAW_BUFFER_INDIRECT_MAP_OBJ 0x19
105#define CATEGORY_DRAW_BUFFER_INDIRECT_MAP_OBJ_STRONG_LIGHT 0x1A
106#define CATEGORY_DRAW_BUFFER_INDIRECT_NPC 0x1B
107#define CATEGORY_DRAW_BUFFER_INDIRECT_ENEMY 0x1C
108#define CATEGORY_DRAW_BUFFER_INDIRECT_PLANET 0x1D
109#define CATEGORY_DRAW_BUFFER_BLOOM 0x1E
110#define CATEGORY_DRAW_BUFFER_TRIPOD_BOSS 0x1F
111#define CATEGORY_DRAW_BUFFER_CRYSTAL 0x20
112#define CATEGORY_DRAW_BUFFER_CRYSTAL_ITEM 0x21
113#define CATEGORY_DRAW_BUFFER_GLARING_LIGHT 0x22
114#define CATEGORY_DRAW_BUFFER_ASTRO_DOME_SKY 0x23
115#define CATEGORY_DRAW_BUFFER_3D_MODEL_FOR_2D 0x24
116#define CATEGORY_DRAW_BUFFER_25 0x25
117#define CATEGORY_DRAW_BUFFER_26 0x26
118#define CATEGORY_DRAW_BUFFER_MIRROR_MAP_OBJ 0x27
119#define CATEGORY_DRAW_BUFFER_28 0x28
120#define CATEGORY_DRAW_BUFFER_MAX_VALUE 0x29
122#define CATEGORY_DRAW_SWING_ROPE 0x00
123#define CATEGORY_DRAW_01 0x01
124#define CATEGORY_DRAW_CREEPER 0x02
125#define CATEGORY_DRAW_03 0x03
126#define CATEGORY_DRAW_PLANT_STALK 0x04
127#define CATEGORY_DRAW_PLANT 0x05
128#define CATEGORY_DRAW_TRAPEZE 0x06
129#define CATEGORY_DRAW_OCEAN_BOWL 0x07
130#define CATEGORY_DRAW_OCEAN_RING 0x08
131#define CATEGORY_DRAW_OCEAN_RING_PIPE_INSIDE 0x09
132#define CATEGORY_DRAW_OCEAN_RING_PIPE_OUTSIDE 0x0A
133#define CATEGORY_DRAW_OCEAN_SPHERE 0x0B
134#define CATEGORY_DRAW_WATER_ROAD 0x0C
135#define CATEGORY_DRAW_WHIRL_POOL 0x0D
136#define CATEGORY_DRAW_ELECTRIC_RAIL 0x0E
137#define CATEGORY_DRAW_BIG_BUBBLE 0x0F
138#define CATEGORY_DRAW_BIG_BUBBLE_GOAL 0x10
139#define CATEGORY_DRAW_11 0x11
140#define CATEGORY_DRAW_SPIN_DRIVER_PATH 0x12
141#define CATEGORY_DRAW_G_CAPTURE 0x13
142#define CATEGORY_DRAW_CLIP_AREA_DROP_LASER 0x14
143#define CATEGORY_DRAW_SPIDER_THREAD 0x15
144#define CATEGORY_DRAW_SPACE_COCOON 0x16
145#define CATEGORY_DRAW_17 0x17
146#define CATEGORY_DRAW_NORMAL_MAP_OBJ 0x18
147#define CATEGORY_DRAW_FLEXIBLE_SPHERE 0x19
148#define CATEGORY_DRAW_KIRAIRA_CHAIN 0x1A
149#define CATEGORY_DRAW_WATER_PLANT 0x1B
150#define CATEGORY_DRAW_LIGHT_CYLINDER 0x1C
151#define CATEGORY_DRAW_FLAG 0x1D
152#define CATEGORY_DRAW_ASTRO_DOME_SKY 0x1E
153#define CATEGORY_DRAW_ASTRO_DOME_ORBIT 0x1F
154#define CATEGORY_DRAW_20 0x20
155#define CATEGORY_DRAW_OCEAN_BOWL_BLOOM_DRAWER 0x21
156#define CATEGORY_DRAW_PLAYER 0x22
157#define CATEGORY_DRAW_23 0x23
158#define CATEGORY_DRAW_24 0x24
159#define CATEGORY_DRAW_MII_FACE_PARTS 0x25
160#define CATEGORY_DRAW_SHADOW_SURFACE 0x26
161#define CATEGORY_DRAW_SHADOW_VOLUME 0x27
162#define CATEGORY_DRAW_28 0x28
163#define CATEGORY_DRAW_29 0x29
164#define CATEGORY_DRAW_CLIP_AREA 0x2A
165#define CATEGORY_DRAW_FALL_OUT_FIELD_DRAW 0x2B
166#define CATEGORY_DRAW_CLIP_FIELD_FILL_DRAW 0x2C
167#define CATEGORY_DRAW_CAPTURE_SCREEN_INDIRECT 0x2D
168#define CATEGORY_DRAW_CAPTURE_SCREEN_CAMERA 0x2E
169#define CATEGORY_DRAW_CENTER_SCREEN_BLUR 0x2F
170#define CATEGORY_DRAW_30 0x30
171#define CATEGORY_DRAW_FUR_DRAW 0x31
172#define CATEGORY_DRAW_32 0x32
173#define CATEGORY_DRAW_33 0x33
174#define CATEGORY_DRAW_BLOOM_EFFECT_PRE_DRAW 0x34
175#define CATEGORY_DRAW_BLOOM_EFFECT_POST_DRAW 0x35
176#define CATEGORY_DRAW_36 0x36
177#define CATEGORY_DRAW_IMAGE_EFFECT 0x37
178#define CATEGORY_DRAW_DASH_RING 0x38
179#define CATEGORY_DRAW_BRIGHT_OBJ 0x39
180#define CATEGORY_DRAW_WATER_CAMERA_FILTER 0x3A
181#define CATEGORY_DRAW_3B 0x3B
182#define CATEGORY_DRAW_LAYOUT 0x3C
183#define CATEGORY_DRAW_LAYOUT_DECORATION 0x3D
184#define CATEGORY_DRAW_LAYOUT_ON_PAUSE 0x3E
185#define CATEGORY_DRAW_MOVIE 0x3F
186#define CATEGORY_DRAW_MOVIE_SUBTITLES 0x40
187#define CATEGORY_DRAW_COMET_SCREEN_FILTER 0x41
188#define CATEGORY_DRAW_WIPE_LAYOUT 0x42
189#define CATEGORY_DRAW_TALK_LAYOUT 0x43
190#define CATEGORY_DRAW_44 0x44
191#define CATEGORY_DRAW_CINEMA_FRAME 0x45
192#define CATEGORY_DRAW_GALAXY_NAME_PLATE 0x46
193#define CATEGORY_DRAW_PARTICLE_3D 0x47
194#define CATEGORY_DRAW_PARTICLE_INDIRECT 0x48
195#define CATEGORY_DRAW_PARTICLE_AFTER_INDIRECT 0x49
196#define CATEGORY_DRAW_PARTICLE_2D 0x4A
197#define CATEGORY_DRAW_PARTICLE_FOR_2D_MODEL 0x4B
198#define CATEGORY_DRAW_PARTICLE_BLOOM_EFFECT 0x4C
199#define CATEGORY_DRAW_PARTICLE_AFTER_IMAGE_EFFECT 0x4D
200#define CATEGORY_DRAW_MESSAGE_BOARD_CAPTURE 0x4E
201#define CATEGORY_DRAW_MII_FACE_ICON 0x4F
202#define CATEGORY_DRAW_MII_FACE_NEW 0x50
203#define CATEGORY_DRAW_CAMERA_COVER 0x51
204#define CATEGORY_DRAW_52 0x52
205#define CATEGORY_DRAW_MAX_VALUE 0x53
209 class NameObjRealDelegator {
211 inline NameObjRealDelegator(T in_func) {
212 mNameObjFunc = in_func;
215 virtual void operator()(
NameObj *pNameObj) {
216 (pNameObj->*mNameObjFunc)();
248 void incrementCheck(
NameObj *,
int);
249 void allocateBuffer();
258 NameObjRealDelegator<func>* mDelegator;
259 NameObjRealDelegator<func_const>* mDelegatorConst;
Organizes NameObjs by execution category.
The most basic form of an object.