mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-12-03 01:07:27 +00:00
663e4549d8
* Proof of concept for loading rom assets at runtime * Added skybox textures * Adjusted format * Load all texture assets from rom * Adjusted rom asset loading * Load all Vtx lists from rom * clean up toad, wario and his cap conflicts * Load sound samples from rom * fix toad sounds * Loaded sequences from rom * Load collisions from rom * Object animations are now loaded from the rom * Load player animations from rom * Load goddard anims from rom * whoops * fix some compile errors * drag and drop rom checker, everything works now. * fix errors due to merge conflicts * fix compile errors on windows, switch to md5 * fix vertex colors during load Co-Authored-By: Agent X <44549182+agent-11@users.noreply.github.com> * Load dialogs from rom * Loaded course/act names from rom * Loaded ingame text from rom * rerun autogen & blacklist smlua_text_utils_init * fix ttc_seg7_vertex_0700B238 colors --------- Co-authored-by: MysterD <myster@d> Co-authored-by: Agent X <44549182+agent-11@users.noreply.github.com>
256 lines
13 KiB
C
256 lines
13 KiB
C
#include "pc/rom_assets.h"
|
|
// Bowser Flame
|
|
|
|
// TODO: These 64x64 textures are referenced as two different texture addresses in the DLs
|
|
|
|
// 0x06000000
|
|
ROM_ASSET_LOAD_TEXTURE(flame_seg6_texture_06000000, "actors/bowser_flame/bowser_flame_0.rgba16.inc.c", 0x00188440, 199722, 0x00000000, 8192);
|
|
|
|
// 0x06002000
|
|
ROM_ASSET_LOAD_TEXTURE(flame_seg6_texture_06002000, "actors/bowser_flame/bowser_flame_1.rgba16.inc.c", 0x00188440, 199722, 0x00002000, 8192);
|
|
|
|
// 0x06004000
|
|
ROM_ASSET_LOAD_TEXTURE(flame_seg6_texture_06004000, "actors/bowser_flame/bowser_flame_2.rgba16.inc.c", 0x00188440, 199722, 0x00004000, 8192);
|
|
|
|
// 0x06006000
|
|
ROM_ASSET_LOAD_TEXTURE(flame_seg6_texture_06006000, "actors/bowser_flame/bowser_flame_3.rgba16.inc.c", 0x00188440, 199722, 0x00006000, 8192);
|
|
|
|
// 0x06008000
|
|
ROM_ASSET_LOAD_TEXTURE(flame_seg6_texture_06008000, "actors/bowser_flame/bowser_flame_4.rgba16.inc.c", 0x00188440, 199722, 0x00008000, 8192);
|
|
|
|
// 0x0600A000
|
|
ROM_ASSET_LOAD_TEXTURE(flame_seg6_texture_0600A000, "actors/bowser_flame/bowser_flame_5.rgba16.inc.c", 0x00188440, 199722, 0x0000a000, 8192);
|
|
|
|
// 0x0600C000
|
|
ROM_ASSET_LOAD_TEXTURE(flame_seg6_texture_0600C000, "actors/bowser_flame/bowser_flame_6.rgba16.inc.c", 0x00188440, 199722, 0x0000c000, 8192);
|
|
|
|
// 0x0600E000
|
|
ROM_ASSET_LOAD_TEXTURE(flame_seg6_texture_0600E000, "actors/bowser_flame/bowser_flame_7.rgba16.inc.c", 0x00188440, 199722, 0x0000e000, 8192);
|
|
|
|
// 0x06010000
|
|
ROM_ASSET_LOAD_TEXTURE(flame_seg6_texture_06010000, "actors/bowser_flame/bowser_flame_8.rgba16.inc.c", 0x00188440, 199722, 0x00010000, 8192);
|
|
|
|
// 0x06012000
|
|
ROM_ASSET_LOAD_TEXTURE(flame_seg6_texture_06012000, "actors/bowser_flame/bowser_flame_9.rgba16.inc.c", 0x00188440, 199722, 0x00012000, 8192);
|
|
|
|
// 0x06014000
|
|
ROM_ASSET_LOAD_TEXTURE(flame_seg6_texture_06014000, "actors/bowser_flame/bowser_flame_10.rgba16.inc.c", 0x00188440, 199722, 0x00014000, 8192);
|
|
|
|
// 0x06016000
|
|
ROM_ASSET_LOAD_TEXTURE(flame_seg6_texture_06016000, "actors/bowser_flame/bowser_flame_11.rgba16.inc.c", 0x00188440, 199722, 0x00016000, 8192);
|
|
|
|
// 0x06018000
|
|
ROM_ASSET_LOAD_TEXTURE(flame_seg6_texture_06018000, "actors/bowser_flame/bowser_flame_12.rgba16.inc.c", 0x00188440, 199722, 0x00018000, 8192);
|
|
|
|
// 0x0601A000
|
|
ROM_ASSET_LOAD_TEXTURE(flame_seg6_texture_0601A000, "actors/bowser_flame/bowser_flame_13.rgba16.inc.c", 0x00188440, 199722, 0x0001a000, 8192);
|
|
|
|
// 0x0601C000
|
|
static const Vtx flame_seg6_vertex_0601C000[] = {
|
|
{{{ -150, 150, 0}, 0, { 0, 992}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 150, 150, 0}, 0, { 2016, 992}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 150, 300, 0}, 0, { 2016, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ -150, 300, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ -150, 0, 0}, 0, { 0, 2016}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 150, 0, 0}, 0, { 2016, 2016}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 150, 150, 0}, 0, { 2016, 992}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ -150, 150, 0}, 0, { 0, 992}, {0xff, 0xff, 0xff, 0xff}}},
|
|
};
|
|
|
|
// 0x0601C080 - 0x0601C0B0
|
|
const Gfx flame_seg6_dl_0601C080[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA),
|
|
gsSPGeometryMode(G_LIGHTING, G_SHADING_SMOOTH),
|
|
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0601C0B0 - 0x0601C0C8
|
|
const Gfx flame_seg6_dl_0601C0B0[] = {
|
|
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0601C0C8 - 0x0601C0E0
|
|
const Gfx flame_seg6_dl_0601C0C8[] = {
|
|
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0601C0E0 - 0x0601C108
|
|
const Gfx flame_seg6_dl_0601C0E0[] = {
|
|
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsSPSetGeometryMode(G_LIGHTING),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0601C108 - 0x0601C1A8
|
|
const Gfx flame_seg6_dl_0601C108[] = {
|
|
gsSPDisplayList(flame_seg6_dl_0601C080),
|
|
gsDPLoadTextureBlock(flame_seg6_texture_06000000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 64, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
|
//gsDPLoadTextureBlock((u8*)flame_seg6_texture_06000000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0601C1A8 - 0x0601C248
|
|
const Gfx flame_seg6_dl_0601C1A8[] = {
|
|
gsSPDisplayList(flame_seg6_dl_0601C080),
|
|
gsDPLoadTextureBlock(flame_seg6_texture_06002000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 64, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
|
//gsDPLoadTextureBlock((u8*)flame_seg6_texture_06002000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0601C248 - 0x0601C2E8
|
|
const Gfx flame_seg6_dl_0601C248[] = {
|
|
gsSPDisplayList(flame_seg6_dl_0601C080),
|
|
gsDPLoadTextureBlock(flame_seg6_texture_06004000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 64, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
|
//gsDPLoadTextureBlock((u8*)flame_seg6_texture_06004000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0601C2E8 - 0x0601C388
|
|
const Gfx flame_seg6_dl_0601C2E8[] = {
|
|
gsSPDisplayList(flame_seg6_dl_0601C080),
|
|
gsDPLoadTextureBlock(flame_seg6_texture_06006000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 64, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
|
//gsDPLoadTextureBlock((u8*)flame_seg6_texture_06006000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0601C388 - 0x0601C428
|
|
const Gfx flame_seg6_dl_0601C388[] = {
|
|
gsSPDisplayList(flame_seg6_dl_0601C080),
|
|
gsDPLoadTextureBlock(flame_seg6_texture_06008000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 64, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
|
//gsDPLoadTextureBlock((u8*)flame_seg6_texture_06008000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0601C428 - 0x0601C4C8
|
|
const Gfx flame_seg6_dl_0601C428[] = {
|
|
gsSPDisplayList(flame_seg6_dl_0601C080),
|
|
gsDPLoadTextureBlock(flame_seg6_texture_0600A000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 64, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
|
//gsDPLoadTextureBlock((u8*)flame_seg6_texture_0600A000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0601C4C8 - 0x0601C568
|
|
const Gfx flame_seg6_dl_0601C4C8[] = {
|
|
gsSPDisplayList(flame_seg6_dl_0601C080),
|
|
gsDPLoadTextureBlock(flame_seg6_texture_0600C000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 64, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
|
//gsDPLoadTextureBlock((u8*)flame_seg6_texture_0600C000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0601C568 - 0x0601C608
|
|
const Gfx flame_seg6_dl_0601C568[] = {
|
|
gsSPDisplayList(flame_seg6_dl_0601C080),
|
|
gsDPLoadTextureBlock(flame_seg6_texture_0600E000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 64, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
|
//gsDPLoadTextureBlock((u8*)flame_seg6_texture_0600E000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0601C608 - 0x0601C6A8
|
|
const Gfx flame_seg6_dl_0601C608[] = {
|
|
gsSPDisplayList(flame_seg6_dl_0601C080),
|
|
gsDPLoadTextureBlock(flame_seg6_texture_06010000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 64, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
|
//gsDPLoadTextureBlock((u8*)flame_seg6_texture_06010000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0601C6A8 - 0x0601C748
|
|
const Gfx flame_seg6_dl_0601C6A8[] = {
|
|
gsSPDisplayList(flame_seg6_dl_0601C080),
|
|
gsDPLoadTextureBlock(flame_seg6_texture_06012000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 64, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
|
//gsDPLoadTextureBlock((u8*)flame_seg6_texture_06012000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0601C748 - 0x0601C7E8
|
|
const Gfx flame_seg6_dl_0601C748[] = {
|
|
gsSPDisplayList(flame_seg6_dl_0601C080),
|
|
gsDPLoadTextureBlock(flame_seg6_texture_06014000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 64, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
|
//gsDPLoadTextureBlock((u8*)flame_seg6_texture_06014000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0601C7E8 - 0x0601C888
|
|
const Gfx flame_seg6_dl_0601C7E8[] = {
|
|
gsSPDisplayList(flame_seg6_dl_0601C080),
|
|
gsDPLoadTextureBlock(flame_seg6_texture_06016000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 64, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
|
//gsDPLoadTextureBlock((u8*)flame_seg6_texture_06016000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0601C888 - 0x0601C928
|
|
const Gfx flame_seg6_dl_0601C888[] = {
|
|
gsSPDisplayList(flame_seg6_dl_0601C080),
|
|
gsDPLoadTextureBlock(flame_seg6_texture_06018000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 64, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
|
//gsDPLoadTextureBlock((u8*)flame_seg6_texture_06018000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0601C928 - 0x0601C9C8
|
|
const Gfx flame_seg6_dl_0601C928[] = {
|
|
gsSPDisplayList(flame_seg6_dl_0601C080),
|
|
gsDPLoadTextureBlock(flame_seg6_texture_0601A000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 64, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPVertex(flame_seg6_vertex_0601C000, 8, 0),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0B0),
|
|
//gsDPLoadTextureBlock((u8*)flame_seg6_texture_0601A000 + 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_CLAMP, G_TX_CLAMP, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0C8),
|
|
gsSPDisplayList(flame_seg6_dl_0601C0E0),
|
|
gsSPEndDisplayList(),
|
|
};
|