Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
SuperBlock.c File Reference

Go to the source code of this file.

Functions

f32 entity_SuperBlockContent_get_previous_yaw (SuperBlockContentData *data, s32 lagTime)
 
void entity_upgrade_block_hide_content (s32 entityIndex)
 
s32 entity_upgrade_block_idle (Entity *entity)
 
void entity_upgrade_block_check_if_inactive (Entity *entity)
 
void entity_upgrade_block_init (Entity *entity)
 
void entity_SuperBlock_init (Entity *entity)
 
void entity_UltraBlock_init (Entity *entity)
 
void entity_SuperBlockContent_attach_to_parent (Entity *entity)
 
void entity_SuperBlockContent_setupGfx (s32 entityIndex)
 
void entity_SuperBlockContent_idle (Entity *entity)
 
void entity_init_SuperBlockContent (Entity *entity)
 
void entity_init_UltraBlockContent (Entity *entity)
 

Variables

EntityBlueprint Entity_SuperBlockContent
 
Gfx Entity_SuperBlock_Render []
 
Gfx Entity_UltraBlock_Render []
 
Gfx Entity_SuperBlockContent_Render []
 
Gfx Entity_SuperBlockContent_Render2 []
 
Gfx Entity_UltraBlockContent_Render []
 
Gfx Entity_UltraBlockContent_Render2 []
 
unsigned char D_0A000200_E4A8A0 []
 
unsigned char D_0A000220_E4A8C0 []
 
unsigned char D_0A000240_E4A8E0 []
 
unsigned char D_0A000260_E4A900 []
 
EntityScript Entity_SuperBlock_Script
 
unsigned char * Entity_SuperBlock_Palettes []
 
s8 Entity_SuperBlock_PalData []
 
Gfx Entity_RenderNone []
 
EntityScript Entity_SuperBlockContent_Script
 
EntityScript Entity_UltraBlockContent_Script
 
EntityModelScript Entity_SuperBlock_RenderScript = STANDARD_ENTITY_MODEL_SCRIPT(Entity_SuperBlock_Render, RENDER_MODE_ALPHATEST)
 
EntityModelScript Entity_SuperBlockContent_RenderScript = STANDARD_ENTITY_MODEL_SCRIPT(Entity_RenderNone, RENDER_MODE_SURFACE_XLU_LAYER2)
 
EntityModelScript Entity_UltraBlock_RenderScript = STANDARD_ENTITY_MODEL_SCRIPT(Entity_UltraBlock_Render, RENDER_MODE_ALPHATEST)
 
EntityModelScript Entity_UltraBlockContent_RenderScript = STANDARD_ENTITY_MODEL_SCRIPT(Entity_RenderNone, RENDER_MODE_SURFACE_XLU_LAYER2)
 
EntityBlueprint Entity_SuperBlock
 
EntityBlueprint Entity_UltraBlock
 
EntityBlueprint Entity_UltraBlockContent
 

Function Documentation

◆ entity_SuperBlockContent_get_previous_yaw()

f32 entity_SuperBlockContent_get_previous_yaw ( SuperBlockContentData * data,
s32 lagTime )

Definition at line 31 of file SuperBlock.c.

31 {
32 s32 bufIdx = data->yawBufferPos - lagTime;
33
34 if (bufIdx < 0) {
35 bufIdx += ARRAY_COUNT(data->yawBuffer);
36 }
37 return data->yawBuffer[bufIdx];
38}
#define ARRAY_COUNT(arr)
Definition macros.h:40

Referenced by entity_SuperBlockContent_setupGfx().

◆ entity_upgrade_block_hide_content()

void entity_upgrade_block_hide_content ( s32 entityIndex)

Definition at line 40 of file SuperBlock.c.

40 {
41 Entity* entity = get_entity_by_index(entityIndex);
42 BlockData* data = entity->dataBuf.block;
43
44 if (data->childEntityIndex >= 0) {
45 Entity* childEntity = get_entity_by_index(data->childEntityIndex);
46 SuperBlockContentData* childEntityData = childEntity->dataBuf.superBlockContent;
47 childEntityData->isHidden = TRUE;
48 }
49}
struct SuperBlockContentData * superBlockContent
struct BlockData * block
s16 childEntityIndex
Definition entity.h:120
Entity * get_entity_by_index(s32 index)
Definition entity.c:530
EntityData dataBuf

◆ entity_upgrade_block_idle()

s32 entity_upgrade_block_idle ( Entity * entity)

Definition at line 51 of file SuperBlock.c.

51 {
52 return entity_base_block_idle(entity);
53}
s32 entity_base_block_idle(Entity *entity)
Definition Block.c:195

◆ entity_upgrade_block_check_if_inactive()

void entity_upgrade_block_check_if_inactive ( Entity * entity)

Definition at line 55 of file SuperBlock.c.

55 {
56 BlockData* parentData = entity->dataBuf.block;
57
58 if (parentData->gameFlagIndex != 0xFFFF && !get_global_flag(parentData->gameFlagIndex)) {
59 Entity* childEntity;
60 SuperBlockContentData* childData;
61
62 parentData->childEntityIndex = create_entity(&Entity_SuperBlockContent, (s32)entity->pos.x, (s32)entity->pos.y, (s32)entity->pos.z, 0, MAKE_ENTITY_END);
63 childEntity = get_entity_by_index(parentData->childEntityIndex);
64 childData = childEntity->dataBuf.superBlockContent;
65 childData->parentEntityIndex = entity->listIndex;
66 }
67}
EntityBlueprint Entity_SuperBlockContent
Definition SuperBlock.c:266
u16 gameFlagIndex
Definition entity.h:116
#define MAKE_ENTITY_END
Definition evt.h:107
s32 create_entity(EntityBlueprint *bp,...)
Definition entity.c:1195
s32 get_global_flag(s32 index)
Definition vars_access.c:89

◆ entity_upgrade_block_init()

void entity_upgrade_block_init ( Entity * entity)

Definition at line 69 of file SuperBlock.c.

69 {
70 BlockData* data = entity->dataBuf.block;
71
73 entity->rot.y += 180.0f;
74 data->gameFlagIndex = 0xFFFF;
75 data->childEntityIndex = -1;
76}
void entity_base_block_init(Entity *entity)
Definition Block.c:213

Referenced by entity_SuperBlock_init(), and entity_UltraBlock_init().

◆ entity_SuperBlock_init()

void entity_SuperBlock_init ( Entity * entity)

Definition at line 78 of file SuperBlock.c.

78 {
80}
void entity_upgrade_block_init(Entity *entity)
Definition SuperBlock.c:69

◆ entity_UltraBlock_init()

void entity_UltraBlock_init ( Entity * entity)

Definition at line 82 of file SuperBlock.c.

82 {
84}

◆ entity_SuperBlockContent_attach_to_parent()

void entity_SuperBlockContent_attach_to_parent ( Entity * entity)

Definition at line 86 of file SuperBlock.c.

86 {
88 Entity* parentEntity = get_entity_by_index(data->parentEntityIndex);
89
90 entity->pos.x = parentEntity->pos.x;
91 entity->pos.y = parentEntity->pos.y + 14.0f;
92 entity->pos.z = parentEntity->pos.z;
93}

Referenced by entity_SuperBlockContent_idle().

◆ entity_SuperBlockContent_setupGfx()

void entity_SuperBlockContent_setupGfx ( s32 entityIndex)

Definition at line 125 of file SuperBlock.c.

125 {
126 Gfx* gfxPos = gMainGfxPos;
127 Gfx* dlist;
128 u8* palette;
129 Entity* entity = get_entity_by_index(entityIndex);
131 s32 alpha;
132 Matrix4f sp18;
133
134 if (data->paletteTimer == 0) {
135 s32 temp = data->paletteArrOffset;
136 temp += 2;
137 if (Entity_SuperBlock_PalData[temp] > 0) {
139 data->paletteArrOffset = temp;
140 } else {
142 data->paletteArrOffset = 0;
143 }
144 } else {
145 data->paletteTimer--;
146 }
147
149 dlist = data->gfx2;
150
151 gDPPipeSync(gfxPos++);
152 guRotateF(sp18, entity_SuperBlockContent_get_previous_yaw(data, 1), 0.0f, 1.0f, 0.0f);
153 guMtxF2L(sp18, &data->unk_10);
155 gSPMatrix(gfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
156 gDPSetRenderMode(gfxPos++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2);
157 gDPSetCombineMode(gfxPos++, G_CC_MODULATEIA, G_CC_MODULATEIA);
158 gDPLoadTLUT_pal16(gfxPos++, 0, palette);
159 gSPDisplayList(gfxPos++, dlist);
160 gSPPopMatrix(gfxPos++, G_MTX_MODELVIEW);
161
162 alpha = 120;
163 if (entity->alpha < alpha) {
164 alpha = entity->alpha;
165 }
166
167 gDPPipeSync(gfxPos++);
168 guRotateF(sp18, entity_SuperBlockContent_get_previous_yaw(data, 6), 0.0f, 1.0f, 0.0f);
169 guMtxF2L(sp18, &data->unk_50);
171 gSPMatrix(gfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
172 gDPSetRenderMode(gfxPos++, AA_EN | Z_CMP | IM_RD | CVG_DST_SAVE | ZMODE_OPA | FORCE_BL | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA), AA_EN | Z_CMP | IM_RD | CVG_DST_SAVE | ZMODE_OPA | FORCE_BL | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA));
173 gDPSetCombineMode(gfxPos++, PM_CC_01, PM_CC_02);
174 gDPSetPrimColor(gfxPos++, 0, 0, 0, 0, 0, alpha);
175 gSPDisplayList(gfxPos++, dlist);
176 gSPPopMatrix(gfxPos++, G_MTX_MODELVIEW);
177
178 alpha = 80;
179 if (entity->alpha < alpha) {
180 alpha = entity->alpha;
181 }
182
183 gDPPipeSync(gfxPos++);
184 guRotateF(sp18, entity_SuperBlockContent_get_previous_yaw(data, 10), 0.0f, 1.0f, 0.0f);
185 guMtxF2L(sp18, &data->unk_90);
187 gSPMatrix(gfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
188 gDPSetRenderMode(gfxPos++, AA_EN | Z_CMP | IM_RD | CVG_DST_SAVE | ZMODE_OPA | FORCE_BL | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA), AA_EN | Z_CMP | IM_RD | CVG_DST_SAVE | ZMODE_OPA | FORCE_BL | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA));
189 gDPSetCombineMode(gfxPos++, PM_CC_01, PM_CC_02);
190 gDPSetPrimColor(gfxPos++, 0, 0, 0, 0, 0, alpha);
191 gSPDisplayList(gfxPos++, dlist);
192 gSPPopMatrix(gfxPos++, G_MTX_MODELVIEW);
193
194 gMainGfxPos = gfxPos;
195}
f32 entity_SuperBlockContent_get_previous_yaw(SuperBlockContentData *data, s32 lagTime)
Definition SuperBlock.c:31
unsigned char * Entity_SuperBlock_Palettes[]
Definition SuperBlock.c:108
s8 Entity_SuperBlock_PalData[]
Definition SuperBlock.c:115
Mtx matrixStack[0x200]
f32 Matrix4f[4][4]
#define guRotateF
#define guMtxF2L
#define ENTITY_ADDR(entity, type, data)
Definition entity.h:64
#define PM_CC_01
Definition macros.h:276
#define PM_CC_02
Definition macros.h:277
Gfx * gMainGfxPos
Definition cam_main.c:15
u16 gMatrixListPos
Definition main_loop.c:45
DisplayContext * gDisplayContext
Definition cam_main.c:16

Referenced by entity_init_SuperBlockContent(), and entity_init_UltraBlockContent().

◆ entity_SuperBlockContent_idle()

void entity_SuperBlockContent_idle ( Entity * entity)

Definition at line 197 of file SuperBlock.c.

197 {
199
201 if (data->isHidden) {
202 entity->renderSetupFunc = NULL;
203 }
204
205 entity->rot.y = clamp_angle(entity->rot.y + 3.0);
206 data->yawBuffer[data->yawBufferPos] = entity->rot.y;
207
208 data->yawBufferPos++;
209 if (data->yawBufferPos > ARRAY_COUNT(data->yawBuffer)) {
210 data->yawBufferPos = 0;
211 }
212
213 if (!data->isHidden && gOverrideFlags == 0) {
214 if (--data->effectTimer <= 0) {
215 data->effectTimer = 50;
216 fx_stars_shimmer(3, entity->pos.x, entity->pos.y, entity->pos.z, 22.0f, 8.0f, 4, 20);
217 }
218 }
219}
void entity_SuperBlockContent_attach_to_parent(Entity *entity)
Definition SuperBlock.c:86
#define clamp_angle
void(* renderSetupFunc)(s32)
s32 gOverrideFlags
Definition main_loop.c:11

◆ entity_init_SuperBlockContent()

void entity_init_SuperBlockContent ( Entity * entity)

Definition at line 221 of file SuperBlock.c.

221 {
223
227}
void entity_SuperBlockContent_setupGfx(s32 entityIndex)
Definition SuperBlock.c:125
Gfx Entity_SuperBlockContent_Render2[]
Gfx Entity_SuperBlockContent_Render[]

◆ entity_init_UltraBlockContent()

void entity_init_UltraBlockContent ( Entity * entity)

Definition at line 229 of file SuperBlock.c.

229 {
231
235}
Gfx Entity_UltraBlockContent_Render[]
Gfx Entity_UltraBlockContent_Render2[]

Variable Documentation

◆ Entity_SuperBlockContent

EntityBlueprint Entity_SuperBlockContent
Initial value:
= {
.typeDataSize = sizeof(SuperBlockContentData),
.modelAnimationNodes = 0,
.updateEntityScript = Entity_SuperBlockContent_Script,
.fpHandleCollision = NULL,
{ .dma = ENTITY_ROM(SuperBlockContent) },
.aabbSize = { 18, 6, 18 }
}
void entity_init_SuperBlockContent(Entity *entity)
Definition SuperBlock.c:221
EntityScript Entity_SuperBlockContent_Script
Definition SuperBlock.c:239
EntityModelScript Entity_SuperBlockContent_RenderScript
Definition SuperBlock.c:249
#define ENTITY_ROM(name)
Definition entity.h:65
@ ENTITY_TYPE_SUPER_BLOCK_HIT_EFFECT
Definition enums.h:2599
@ ENTITY_FLAG_DISABLE_COLLISION
Definition enums.h:2618

Definition at line 266 of file SuperBlock.c.

266 {
268 .typeDataSize = sizeof(SuperBlockContentData),
269 .renderCommandList = Entity_SuperBlockContent_RenderScript,
270 .modelAnimationNodes = 0,
272 .updateEntityScript = Entity_SuperBlockContent_Script,
273 .fpHandleCollision = NULL,
274 { .dma = ENTITY_ROM(SuperBlockContent) },
276 .aabbSize = { 18, 6, 18 }
277};

Referenced by entity_upgrade_block_check_if_inactive().

◆ Entity_SuperBlock_Render

Gfx Entity_SuperBlock_Render[]
extern

Definition at line 127 of file SuperBlock.c.

127 {
128 gsSPDisplayList(Entity_SuperBlock_RenderBlock),
129 gsSPEndDisplayList(),
130};
Gfx Entity_SuperBlock_RenderBlock[]
Definition SuperBlock.c:115

◆ Entity_UltraBlock_Render

Gfx Entity_UltraBlock_Render[]
extern

Definition at line 121 of file UltraBlock.c.

121 {
122 gsSPDisplayList(Entity_UltraBlock_RenderBlock),
123 gsSPEndDisplayList(),
124};
Gfx Entity_UltraBlock_RenderBlock[]
Definition UltraBlock.c:109

◆ Entity_SuperBlockContent_Render

Gfx Entity_SuperBlockContent_Render[]
extern

Definition at line 36 of file SuperBlockContent.c.

36 {
37 gsDPPipeSync(),
38 gsDPSetRenderMode(G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2),
39 gsDPLoadTextureBlock_4b(D_0A000000_E4A6A0, G_IM_FMT_CI, 32, 32, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD),
41 gsSPEndDisplayList(),
42};
Gfx Entity_SuperBlockContent_RenderImage[]

Referenced by entity_init_SuperBlockContent().

◆ Entity_SuperBlockContent_Render2

Gfx Entity_SuperBlockContent_Render2[]
extern

Definition at line 44 of file SuperBlockContent.c.

44 {
45 gsDPPipeSync(),
46 gsDPSetRenderMode(G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2),
47 gsDPLoadTextureBlock_4b(D_0A000000_E4A6A0, G_IM_FMT_CI, 32, 32, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD),
49 gsSPEndDisplayList(),
50};

Referenced by entity_init_SuperBlockContent().

◆ Entity_UltraBlockContent_Render

Gfx Entity_UltraBlockContent_Render[]
extern

Definition at line 67 of file UltraBlockContent.c.

67 {
68 gsDPPipeSync(),
69 gsDPSetRenderMode(G_RM_AA_ZB_XLU_SURF, G_RM_AA_ZB_XLU_SURF2),
70 gsDPLoadTextureBlock_4b(D_0A000200_E4AC80, G_IM_FMT_CI, 32, 32, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD),
72 gsSPEndDisplayList(),
73};
Gfx Entity_UltraBlockContent_RenderImage[]
unsigned char D_0A000200_E4AC80[]

Referenced by entity_init_UltraBlockContent().

◆ Entity_UltraBlockContent_Render2

Gfx Entity_UltraBlockContent_Render2[]
extern

Definition at line 51 of file UltraBlockContent.c.

51 {
52 gsDPPipeSync(),
53 gsDPSetRenderMode(G_RM_AA_ZB_XLU_SURF, G_RM_AA_ZB_XLU_SURF2),
54 gsDPLoadTextureBlock_4b(D_0A000400_E4AE80, G_IM_FMT_CI, 32, 32, 0, G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD),
56 gsSPEndDisplayList(),
57};
unsigned char D_0A000400_E4AE80[]

Referenced by entity_init_UltraBlockContent().

◆ D_0A000200_E4A8A0

unsigned char D_0A000200_E4A8A0[]
extern

◆ D_0A000220_E4A8C0

unsigned char D_0A000220_E4A8C0[]
extern

◆ D_0A000240_E4A8E0

unsigned char D_0A000240_E4A8E0[]
extern

◆ D_0A000260_E4A900

unsigned char D_0A000260_E4A900[]
extern

◆ Entity_SuperBlock_Script

EntityScript Entity_SuperBlock_Script
Initial value:
= {
}
void entity_upgrade_block_check_if_inactive(Entity *entity)
Definition SuperBlock.c:55
s32 entity_upgrade_block_idle(Entity *entity)
Definition SuperBlock.c:51
#define es_Call(func)
Definition entity.h:37
#define es_SetCallback(func, time)
Definition entity.h:38
#define es_Label(labelId)
Definition entity.h:41
#define es_Goto(labelId)
Definition entity.h:39
#define es_End
Definition entity.h:35
#define es_PlaySound(soundId)
Definition entity.h:45
@ SOUND_HIT_BLOCK
Definition enums.h:768
void entity_block_hit_animate_scale(Entity *entity)
Definition Block.c:90
s32 entity_start_script(Entity *entity)
Definition entity.c:560
f32 entity_block_hit_init_scale(Entity *entity)
Definition Block.c:75

Definition at line 95 of file SuperBlock.c.

◆ Entity_SuperBlock_Palettes

unsigned char* Entity_SuperBlock_Palettes[]
Initial value:
= {
}
unsigned char D_0A000260_E4A900[]
unsigned char D_0A000200_E4A8A0[]
unsigned char D_0A000240_E4A8E0[]
unsigned char D_0A000220_E4A8C0[]

Definition at line 108 of file SuperBlock.c.

Referenced by entity_SuperBlockContent_setupGfx().

◆ Entity_SuperBlock_PalData

s8 Entity_SuperBlock_PalData[]
Initial value:
= {
20, 0,
2, 1,
2, 2,
20, 3,
2, 2,
1, 2,
-1, -1,
}

Definition at line 115 of file SuperBlock.c.

115 {
116 20, 0,
117 2, 1,
118 2, 2,
119 20, 3,
120 2, 2,
121 1, 2,
122 -1, -1,
123};

Referenced by entity_SuperBlockContent_setupGfx().

◆ Entity_RenderNone

Gfx Entity_RenderNone[]
extern

Definition at line 69 of file Shadow.c.

69 {
70 gsSPEndDisplayList(),
71};

◆ Entity_SuperBlockContent_Script

EntityScript Entity_SuperBlockContent_Script
Initial value:
= {
}
void entity_SuperBlockContent_idle(Entity *entity)
Definition SuperBlock.c:197

Definition at line 239 of file SuperBlock.c.

◆ Entity_UltraBlockContent_Script

EntityScript Entity_UltraBlockContent_Script
Initial value:

Definition at line 243 of file SuperBlock.c.

◆ Entity_SuperBlock_RenderScript

Definition at line 248 of file SuperBlock.c.

◆ Entity_SuperBlockContent_RenderScript

Definition at line 249 of file SuperBlock.c.

◆ Entity_UltraBlock_RenderScript

Definition at line 250 of file SuperBlock.c.

◆ Entity_UltraBlockContent_RenderScript

Definition at line 251 of file SuperBlock.c.

◆ Entity_SuperBlock

EntityBlueprint Entity_SuperBlock
Initial value:
= {
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_SuperBlock_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_SuperBlock_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(SuperBlock) },
.entityType = ENTITY_TYPE_SUPER_BLOCK,
.aabbSize = { 25, 25, 25 }
}
EntityModelScript Entity_SuperBlock_RenderScript
Definition SuperBlock.c:248
void entity_SuperBlock_init(Entity *entity)
Definition SuperBlock.c:78
EntityScript Entity_SuperBlock_Script
Definition SuperBlock.c:95
@ ENTITY_TYPE_SUPER_BLOCK
Definition enums.h:2577
@ ENTITY_FLAG_FIXED_SHADOW_SIZE
Definition enums.h:2622
@ ENTITY_FLAG_4000
Definition enums.h:2627
s32 entity_block_handle_collision(Entity *entity)
Definition Block.c:334

Definition at line 253 of file SuperBlock.c.

253 {
255 .typeDataSize = sizeof(BlockData),
256 .renderCommandList = Entity_SuperBlock_RenderScript,
257 .modelAnimationNodes = 0,
258 .fpInit = entity_SuperBlock_init,
259 .updateEntityScript = Entity_SuperBlock_Script,
260 .fpHandleCollision = entity_block_handle_collision,
261 { .dma = ENTITY_ROM(SuperBlock) },
262 .entityType = ENTITY_TYPE_SUPER_BLOCK,
263 .aabbSize = { 25, 25, 25 }
264};

◆ Entity_UltraBlock

EntityBlueprint Entity_UltraBlock
Initial value:
= {
.typeDataSize = sizeof(BlockData),
.renderCommandList = Entity_UltraBlock_RenderScript,
.modelAnimationNodes = 0,
.updateEntityScript = Entity_SuperBlock_Script,
.fpHandleCollision = entity_block_handle_collision,
{ .dma = ENTITY_ROM(UltraBlock) },
.entityType = ENTITY_TYPE_ULTRA_BLOCK,
.aabbSize = { 25, 25, 25 }
}
EntityModelScript Entity_UltraBlock_RenderScript
Definition SuperBlock.c:250
void entity_UltraBlock_init(Entity *entity)
Definition SuperBlock.c:82
@ ENTITY_TYPE_ULTRA_BLOCK
Definition enums.h:2578

Definition at line 279 of file SuperBlock.c.

279 {
281 .typeDataSize = sizeof(BlockData),
282 .renderCommandList = Entity_UltraBlock_RenderScript,
283 .modelAnimationNodes = 0,
284 .fpInit = entity_UltraBlock_init,
285 .updateEntityScript = Entity_SuperBlock_Script,
286 .fpHandleCollision = entity_block_handle_collision,
287 { .dma = ENTITY_ROM(UltraBlock) },
288 .entityType = ENTITY_TYPE_ULTRA_BLOCK,
289 .aabbSize = { 25, 25, 25 }
290};

◆ Entity_UltraBlockContent

EntityBlueprint Entity_UltraBlockContent
Initial value:
= {
.typeDataSize = sizeof(SuperBlockContentData),
.modelAnimationNodes = 0,
.updateEntityScript = Entity_UltraBlockContent_Script,
.fpHandleCollision = NULL,
{ .dma = ENTITY_ROM(UltraBlockContent) },
.aabbSize = { 18, 6, 18 }
}
EntityScript Entity_UltraBlockContent_Script
Definition SuperBlock.c:243
EntityModelScript Entity_UltraBlockContent_RenderScript
Definition SuperBlock.c:251
void entity_init_UltraBlockContent(Entity *entity)
Definition SuperBlock.c:229
@ ENTITY_TYPE_ULTRA_BLOCK_HIT_EFFECT
Definition enums.h:2600

Definition at line 292 of file SuperBlock.c.

292 {
294 .typeDataSize = sizeof(SuperBlockContentData),
295 .renderCommandList = Entity_UltraBlockContent_RenderScript,
296 .modelAnimationNodes = 0,
298 .updateEntityScript = Entity_UltraBlockContent_Script,
299 .fpHandleCollision = NULL,
300 { .dma = ENTITY_ROM(UltraBlockContent) },
302 .aabbSize = { 18, 6, 18 }
303};