mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-11-22 20:15:17 +00:00
6ebd074c5d
This should allow for quashing the debate surrounding some minor texture fix PRs.
58 lines
2.3 KiB
C
58 lines
2.3 KiB
C
// Burn Smoke
|
|
|
|
// 0x040217C0
|
|
static const Vtx burn_smoke_seg4_vertex_040217C0[] = {
|
|
{{{ -50, -50, 0}, 0, { 0, 992}, {0x14, 0x0a, 0x0a, 0xff}}},
|
|
{{{ 50, -50, 0}, 0, { 992, 992}, {0x14, 0x0a, 0x0a, 0xff}}},
|
|
{{{ 50, 50, 0}, 0, { 992, 0}, {0x14, 0x0a, 0x0a, 0xff}}},
|
|
{{{ -50, 50, 0}, 0, { 0, 0}, {0x14, 0x0a, 0x0a, 0xff}}},
|
|
};
|
|
|
|
// //! Wrong texture format. Called as rgba16, which makes the burn smoke appear
|
|
// as a transparent black burn smoke. Probably meant to show up as white-ish
|
|
// burn smoke, but mistakened for being intended as black smoke.
|
|
// Due to debate in the Koopa shorts PR surrounding the fix to a similar bug,
|
|
// said fix is on a compile-time variable. Use TEXTURE_FIX=1 at compile time
|
|
// to fix this.
|
|
// 0x04021800
|
|
ALIGNED8 static const u8 burn_smoke_seg4_texture_04021800[] = {
|
|
#include "actors/burn_smoke/burn_smoke.ia16.inc.c"
|
|
};
|
|
|
|
// 0x04022000 - 0x04022028
|
|
const Gfx burn_smoke_seg4_dl_04022000[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA),
|
|
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
|
|
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x04022028 - 0x04022048
|
|
const Gfx burn_smoke_seg4_dl_04022028[] = {
|
|
gsSPVertex(burn_smoke_seg4_vertex_040217C0, 4, 0),
|
|
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x04022048 - 0x04022070
|
|
const Gfx burn_smoke_seg4_dl_04022048[] = {
|
|
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsSPSetGeometryMode(G_LIGHTING),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x04022070 - 0x040220C8
|
|
const Gfx burn_smoke_seg4_dl_04022070[] = {
|
|
gsSPDisplayList(burn_smoke_seg4_dl_04022000),
|
|
#ifdef TEXTURE_FIX
|
|
gsDPLoadTextureBlock(burn_smoke_seg4_texture_04021800, G_IM_FMT_IA, G_IM_SIZ_16b, 32, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 5, 5, G_TX_NOLOD, G_TX_NOLOD),
|
|
#else
|
|
gsDPLoadTextureBlock(burn_smoke_seg4_texture_04021800, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 5, 5, G_TX_NOLOD, G_TX_NOLOD),
|
|
#endif
|
|
gsSPDisplayList(burn_smoke_seg4_dl_04022028),
|
|
gsSPDisplayList(burn_smoke_seg4_dl_04022048),
|
|
gsSPEndDisplayList(),
|
|
};
|