summaryrefslogtreecommitdiff
path: root/src/engine/actors/Cloud.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/actors/Cloud.cpp')
-rw-r--r--src/engine/actors/Cloud.cpp112
1 files changed, 58 insertions, 54 deletions
diff --git a/src/engine/actors/Cloud.cpp b/src/engine/actors/Cloud.cpp
index cae55e342..1c8f74c60 100644
--- a/src/engine/actors/Cloud.cpp
+++ b/src/engine/actors/Cloud.cpp
@@ -15,15 +15,15 @@ extern f32 gKartGravityTable[];
}
ACloud::ACloud(FVector pos) {
- Name = "Cloud";
- Pos[0] = pos.x;
- Pos[1] = pos.y;
- Pos[2] = pos.z;
- Rot[0] = 0;
- Rot[1] = 0;
- Rot[2] = 0;
+ Name = "Cloud";
+ Pos[0] = pos.x;
+ Pos[1] = pos.y;
+ Pos[2] = pos.z;
+ Rot[0] = 0;
+ Rot[1] = 0;
+ Rot[2] = 0;
- //Flags = -0x8000 | 0x4000;
+ // Flags = -0x8000 | 0x4000;
BoundingBoxSize = 2.0f;
}
@@ -48,7 +48,7 @@ void ACloud::Tick() {
extern Gfx cloud_mesh[];
-void ACloud::Draw(Camera *camera) {
+void ACloud::Draw(Camera* camera) {
Mat4 mtx;
if (PickedUp) {
@@ -58,14 +58,14 @@ void ACloud::Draw(Camera *camera) {
mtxf_pos_rotation_xyz(mtx, Pos, Rot);
if (render_set_position(mtx, 0) != 0) {
gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH);
- gSPDisplayList(gDisplayListHead++, (Gfx*)cloud_mesh);
+ gSPDisplayList(gDisplayListHead++, (Gfx*) cloud_mesh);
}
}
void ACloud::Collision(Player* player, AActor* actor) {
if (!PickedUp) {
if (query_collision_player_vs_actor_item(player, gWorldInstance.ConvertAActorToActor(actor))) {
- // Player has picked up the actor, activate the cloud effect
+ // Player has picked up the actor, activate the cloud effect
_player = player;
PickedUp = true;
@@ -77,61 +77,65 @@ void ACloud::Collision(Player* player, AActor* actor) {
}
}
-bool ACloud::IsMod() { return true; }
+bool ACloud::IsMod() {
+ return true;
+}
Vtx cloud_mesh_vtx_cull[8] = {
- {{ {0, -4, -4}, 0, {0, 0}, {0, 0, 0, 0} }},
- {{ {0, -4, 4}, 0, {0, 0}, {0, 0, 0, 0} }},
- {{ {0, 4, 4}, 0, {0, 0}, {0, 0, 0, 0} }},
- {{ {0, 4, -4}, 0, {0, 0}, {0, 0, 0, 0} }},
- {{ {0, -4, -4}, 0, {0, 0}, {0, 0, 0, 0} }},
- {{ {0, -4, 4}, 0, {0, 0}, {0, 0, 0, 0} }},
- {{ {0, 4, 4}, 0, {0, 0}, {0, 0, 0, 0} }},
- {{ {0, 4, -4}, 0, {0, 0}, {0, 0, 0, 0} }},
+ { { { 0, -4, -4 }, 0, { 0, 0 }, { 0, 0, 0, 0 } } }, { { { 0, -4, 4 }, 0, { 0, 0 }, { 0, 0, 0, 0 } } },
+ { { { 0, 4, 4 }, 0, { 0, 0 }, { 0, 0, 0, 0 } } }, { { { 0, 4, -4 }, 0, { 0, 0 }, { 0, 0, 0, 0 } } },
+ { { { 0, -4, -4 }, 0, { 0, 0 }, { 0, 0, 0, 0 } } }, { { { 0, -4, 4 }, 0, { 0, 0 }, { 0, 0, 0, 0 } } },
+ { { { 0, 4, 4 }, 0, { 0, 0 }, { 0, 0, 0, 0 } } }, { { { 0, 4, -4 }, 0, { 0, 0 }, { 0, 0, 0, 0 } } },
};
Vtx cloud_mesh_vtx_0[4] = {
- {{ {0, 4, 4}, 0, {-524, -530}, {255, 255, 255, 166} }},
- {{ {0, -4, 4}, 0, {-530, 1516}, {255, 255, 255, 201} }},
- {{ {0, -4, -4}, 0, {1516, 1522}, {255, 255, 255, 188} }},
- {{ {0, 4, -4}, 0, {1522, -524}, {255, 255, 255, 154} }},
+ { { { 0, 4, 4 }, 0, { -524, -530 }, { 255, 255, 255, 166 } } },
+ { { { 0, -4, 4 }, 0, { -530, 1516 }, { 255, 255, 255, 201 } } },
+ { { { 0, -4, -4 }, 0, { 1516, 1522 }, { 255, 255, 255, 188 } } },
+ { { { 0, 4, -4 }, 0, { 1522, -524 }, { 255, 255, 255, 154 } } },
};
Gfx cloud_mesh_tri_0[] = {
- gsSPVertex(cloud_mesh_vtx_0 + 0, 4, 0),
- gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
- gsSPEndDisplayList(),
+ gsSPVertex(cloud_mesh_vtx_0 + 0, 4, 0),
+ gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
+ gsSPEndDisplayList(),
};
Gfx mat_cloud_cutout[] = {
- gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_FOG | G_SHADING_SMOOTH),
- gsSPClearGeometryMode(G_CULL_FRONT | G_CULL_BACK | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_CLIPPING),
- gsDPPipeSync(),
- gsDPSetCombineLERP(TEXEL0, PRIMITIVE, PRIMITIVE, TEXEL1, 0, 0, 0, TEXEL0, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED),
- gsSPSetOtherMode(G_SETOTHERMODE_H, 4, 20, G_AD_NOISE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_NPRIMITIVE),
- gsSPSetOtherMode(G_SETOTHERMODE_L, 0, 32, G_AC_NONE | G_ZS_PIXEL | G_RM_FOG_SHADE_A | G_RM_AA_ZB_TEX_EDGE2),
- gsSPTexture(65535, 65535, 0, 0, 1),
- gsDPSetPrimColor(0, 0, 255, 220, 203, 255),
- gsDPSetTextureImage(G_IM_FMT_I, G_IM_SIZ_8b_LOAD_BLOCK, 1, gTexture69C4E4),
- gsDPSetTile(G_IM_FMT_I, G_IM_SIZ_8b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
- gsDPLoadBlock(7, 0, 0, 511, 512),
- gsDPSetTile(G_IM_FMT_I, G_IM_SIZ_8b, 4, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 1, G_TX_WRAP | G_TX_NOMIRROR, 5, 1),
- gsDPSetTileSize(0, 98, 100, 124, 124),
- gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, gTexture66C8F4),
- gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 128, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
- gsDPLoadBlock(6, 0, 0, 1023, 256),
- gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 128, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
- gsDPSetTileSize(1, 0, 0, 124, 124),
- gsSPEndDisplayList(),
+ gsSPSetGeometryMode(G_ZBUFFER | G_SHADE | G_FOG | G_SHADING_SMOOTH),
+ gsSPClearGeometryMode(G_CULL_FRONT | G_CULL_BACK | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD |
+ G_CLIPPING),
+ gsDPPipeSync(),
+ gsDPSetCombineLERP(TEXEL0, PRIMITIVE, PRIMITIVE, TEXEL1, 0, 0, 0, TEXEL0, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0,
+ COMBINED),
+ gsSPSetOtherMode(G_SETOTHERMODE_H, 4, 20,
+ G_AD_NOISE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE |
+ G_TD_CLAMP | G_TP_PERSP | G_CYC_2CYCLE | G_PM_NPRIMITIVE),
+ gsSPSetOtherMode(G_SETOTHERMODE_L, 0, 32, G_AC_NONE | G_ZS_PIXEL | G_RM_FOG_SHADE_A | G_RM_AA_ZB_TEX_EDGE2),
+ gsSPTexture(65535, 65535, 0, 0, 1),
+ gsDPSetPrimColor(0, 0, 255, 220, 203, 255),
+ gsDPSetTextureImage(G_IM_FMT_I, G_IM_SIZ_8b_LOAD_BLOCK, 1, gTexture69C4E4),
+ gsDPSetTile(G_IM_FMT_I, G_IM_SIZ_8b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0,
+ G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
+ gsDPLoadBlock(7, 0, 0, 511, 512),
+ gsDPSetTile(G_IM_FMT_I, G_IM_SIZ_8b, 4, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 1, G_TX_WRAP | G_TX_NOMIRROR, 5, 1),
+ gsDPSetTileSize(0, 98, 100, 124, 124),
+ gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, gTexture66C8F4),
+ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 128, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0,
+ G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
+ gsDPLoadBlock(6, 0, 0, 1023, 256),
+ gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 128, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR,
+ 5, 0),
+ gsDPSetTileSize(1, 0, 0, 124, 124),
+ gsSPEndDisplayList(),
};
Gfx cloud_mesh[] = {
- //gsSPClearGeometryMode(G_LIGHTING),
- //gsSPVertex(cloud_mesh_vtx_cull + 0, 8, 0),
- gsSPSetGeometryMode(G_LIGHTING),
- //gsSPCullDisplayList(0, 7),
- gsSPDisplayList(mat_cloud_cutout),
- gsSPDisplayList(cloud_mesh_tri_0),
- gsSPEndDisplayList(),
+ // gsSPClearGeometryMode(G_LIGHTING),
+ // gsSPVertex(cloud_mesh_vtx_cull + 0, 8, 0),
+ gsSPSetGeometryMode(G_LIGHTING),
+ // gsSPCullDisplayList(0, 7),
+ gsSPDisplayList(mat_cloud_cutout),
+ gsSPDisplayList(cloud_mesh_tri_0),
+ gsSPEndDisplayList(),
};
-