Files
Microtransactions64/actors/water_ring/model.inc.c
Gregory Heskett ab0cebab7a Rotate envmaps to be consistent with vanilla (#636)
* Start work on envmap rotation stuff

* n64graphic envmap rotation working

* Add comment to rotation function

* Fix DLs of non 32x32 env maps, fix envmap rotation

* fix metal flying vanish cap

* fix metal mario's medium poly butt

* new asset version for flipped env maps

* added missing env textures to extract script

* restore asset_needs_update

* Skip asset_needs_update calls if local version matches new version

* removed the goddard textures from envmap rotation

---------

Co-authored-by: mineqwerty <mineqwerty25@gmail.com>
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
2023-09-18 09:10:56 -04:00

218 lines
13 KiB
C

// Water Ring
// 0x06012368
// 0x06012380
ALIGNED8 static const Texture water_ring_seg6_texture_06012380[] = {
#include "actors/water_ring/water_ring.rgba16.inc.c"
};
// 0x06013380
static const Vtx water_ring_seg6_vertex_06013380[] = {
{{{ 0, 264, 0}, 0, { 0, 0}, {0x00, 0x2a, 0x77, 0x00}}},
{{{ -131, 228, 0}, 0, { 0, 0}, {0xeb, 0x25, 0x77, 0x00}}},
{{{ -98, 171, 23}, 0, { 0, 0}, {0xeb, 0x25, 0x77, 0x00}}},
{{{ 0, 198, 23}, 0, { 0, 0}, {0x00, 0x2a, 0x77, 0x00}}},
{{{ 0, 198, 23}, 0, { 0, 0}, {0x00, 0x81, 0x00, 0x00}}},
{{{ -98, 171, 23}, 0, { 0, 0}, {0x3f, 0x93, 0x00, 0x00}}},
{{{ -98, 171, -23}, 0, { 0, 0}, {0x3f, 0x93, 0x00, 0x00}}},
{{{ 0, 198, -23}, 0, { 0, 0}, {0x00, 0x81, 0x00, 0x00}}},
{{{ 0, 198, -23}, 0, { 0, 0}, {0x00, 0x2a, 0x89, 0x00}}},
{{{ -98, 171, -23}, 0, { 0, 0}, {0xeb, 0x25, 0x89, 0x00}}},
{{{ -131, 228, 0}, 0, { 0, 0}, {0xeb, 0x25, 0x89, 0x00}}},
{{{ 0, 264, 0}, 0, { 0, 0}, {0x00, 0x2a, 0x89, 0x00}}},
{{{ -227, 132, 0}, 0, { 0, 0}, {0xdb, 0x15, 0x77, 0x00}}},
{{{ -170, 99, 23}, 0, { 0, 0}, {0xdb, 0x15, 0x77, 0x00}}},
{{{ -170, 99, 23}, 0, { 0, 0}, {0x6d, 0xc1, 0x00, 0x00}}},
{{{ -170, 99, -23}, 0, { 0, 0}, {0x6d, 0xc1, 0x00, 0x00}}},
};
// 0x06013480
static const Vtx water_ring_seg6_vertex_06013480[] = {
{{{ -98, 171, -23}, 0, { 0, 0}, {0xeb, 0x25, 0x89, 0x00}}},
{{{ -170, 99, -23}, 0, { 0, 0}, {0xdb, 0x15, 0x89, 0x00}}},
{{{ -227, 132, 0}, 0, { 0, 0}, {0xdb, 0x15, 0x89, 0x00}}},
{{{ -131, 228, 0}, 0, { 0, 0}, {0xeb, 0x25, 0x89, 0x00}}},
{{{ -227, 132, 0}, 0, { 0, 0}, {0xdb, 0x15, 0x77, 0x00}}},
{{{ -263, 0, 0}, 0, { 0, 0}, {0xd6, 0x00, 0x77, 0x00}}},
{{{ -197, 0, 23}, 0, { 0, 0}, {0xd6, 0x00, 0x77, 0x00}}},
{{{ -170, 99, 23}, 0, { 0, 0}, {0xdb, 0x15, 0x77, 0x00}}},
{{{ -170, 99, 23}, 0, { 0, 0}, {0x6d, 0xc1, 0x00, 0x00}}},
{{{ -197, 0, 23}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0x00}}},
{{{ -197, 0, -23}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0x00}}},
{{{ -170, 99, -23}, 0, { 0, 0}, {0x6d, 0xc1, 0x00, 0x00}}},
{{{ -197, 0, -23}, 0, { 0, 0}, {0xd6, 0x00, 0x89, 0x00}}},
{{{ -263, 0, 0}, 0, { 0, 0}, {0xd6, 0x00, 0x89, 0x00}}},
{{{ -227, -132, 0}, 0, { 0, 0}, {0xdb, 0xeb, 0x77, 0x00}}},
{{{ -170, -99, 23}, 0, { 0, 0}, {0xdb, 0xeb, 0x77, 0x00}}},
};
// 0x06013580
static const Vtx water_ring_seg6_vertex_06013580[] = {
{{{ -197, 0, 23}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0x00}}},
{{{ -170, -99, 23}, 0, { 0, 0}, {0x6d, 0x3f, 0x00, 0x00}}},
{{{ -170, -99, -23}, 0, { 0, 0}, {0x6d, 0x3f, 0x00, 0x00}}},
{{{ -197, 0, -23}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0x00}}},
{{{ -197, 0, -23}, 0, { 0, 0}, {0xd6, 0x00, 0x89, 0x00}}},
{{{ -170, -99, -23}, 0, { 0, 0}, {0xdb, 0xeb, 0x89, 0x00}}},
{{{ -227, -132, 0}, 0, { 0, 0}, {0xdb, 0xeb, 0x89, 0x00}}},
{{{ -263, 0, 0}, 0, { 0, 0}, {0xd6, 0x00, 0x89, 0x00}}},
{{{ -227, -132, 0}, 0, { 0, 0}, {0xdb, 0xeb, 0x77, 0x00}}},
{{{ -131, -228, 0}, 0, { 0, 0}, {0xeb, 0xdb, 0x77, 0x00}}},
{{{ -98, -171, 23}, 0, { 0, 0}, {0xeb, 0xdb, 0x77, 0x00}}},
{{{ -170, -99, 23}, 0, { 0, 0}, {0xdb, 0xeb, 0x77, 0x00}}},
{{{ -98, -171, 23}, 0, { 0, 0}, {0x3f, 0x6d, 0x00, 0x00}}},
{{{ -98, -171, -23}, 0, { 0, 0}, {0x3f, 0x6d, 0x00, 0x00}}},
{{{ -98, -171, -23}, 0, { 0, 0}, {0xeb, 0xdb, 0x89, 0x00}}},
{{{ -131, -228, 0}, 0, { 0, 0}, {0xeb, 0xdb, 0x89, 0x00}}},
};
// 0x06013680
static const Vtx water_ring_seg6_vertex_06013680[] = {
{{{ -131, -228, 0}, 0, { 0, 0}, {0xeb, 0xdb, 0x77, 0x00}}},
{{{ 0, -264, 0}, 0, { 0, 0}, {0x00, 0xd6, 0x77, 0x00}}},
{{{ 0, -198, 23}, 0, { 0, 0}, {0x00, 0xd6, 0x77, 0x00}}},
{{{ -98, -171, 23}, 0, { 0, 0}, {0xeb, 0xdb, 0x77, 0x00}}},
{{{ -98, -171, 23}, 0, { 0, 0}, {0x3f, 0x6d, 0x00, 0x00}}},
{{{ 0, -198, 23}, 0, { 0, 0}, {0x00, 0x7f, 0x00, 0x00}}},
{{{ 0, -198, -23}, 0, { 0, 0}, {0x00, 0x7f, 0x00, 0x00}}},
{{{ -98, -171, -23}, 0, { 0, 0}, {0x3f, 0x6d, 0x00, 0x00}}},
{{{ -98, -171, -23}, 0, { 0, 0}, {0xeb, 0xdb, 0x89, 0x00}}},
{{{ 0, -198, -23}, 0, { 0, 0}, {0x00, 0xd6, 0x89, 0x00}}},
{{{ 0, -264, 0}, 0, { 0, 0}, {0x00, 0xd6, 0x89, 0x00}}},
{{{ -131, -228, 0}, 0, { 0, 0}, {0xeb, 0xdb, 0x89, 0x00}}},
{{{ 132, -228, 0}, 0, { 0, 0}, {0x15, 0xdb, 0x77, 0x00}}},
{{{ 99, -171, 23}, 0, { 0, 0}, {0x15, 0xdb, 0x77, 0x00}}},
{{{ 99, -171, 23}, 0, { 0, 0}, {0xc1, 0x6d, 0x00, 0x00}}},
{{{ 99, -171, -23}, 0, { 0, 0}, {0xc1, 0x6d, 0x00, 0x00}}},
};
// 0x06013780
static const Vtx water_ring_seg6_vertex_06013780[] = {
{{{ 0, -198, -23}, 0, { 0, 0}, {0x00, 0xd6, 0x89, 0x00}}},
{{{ 99, -171, -23}, 0, { 0, 0}, {0x15, 0xdb, 0x89, 0x00}}},
{{{ 132, -228, 0}, 0, { 0, 0}, {0x15, 0xdb, 0x89, 0x00}}},
{{{ 0, -264, 0}, 0, { 0, 0}, {0x00, 0xd6, 0x89, 0x00}}},
{{{ 132, -228, 0}, 0, { 0, 0}, {0x15, 0xdb, 0x77, 0x00}}},
{{{ 229, -132, 0}, 0, { 0, 0}, {0x25, 0xeb, 0x77, 0x00}}},
{{{ 172, -99, 23}, 0, { 0, 0}, {0x25, 0xeb, 0x77, 0x00}}},
{{{ 99, -171, 23}, 0, { 0, 0}, {0x15, 0xdb, 0x77, 0x00}}},
{{{ 99, -171, 23}, 0, { 0, 0}, {0xc1, 0x6d, 0x00, 0x00}}},
{{{ 172, -99, 23}, 0, { 0, 0}, {0x93, 0x3f, 0x00, 0x00}}},
{{{ 172, -99, -23}, 0, { 0, 0}, {0x93, 0x3f, 0x00, 0x00}}},
{{{ 99, -171, -23}, 0, { 0, 0}, {0xc1, 0x6d, 0x00, 0x00}}},
{{{ 172, -99, -23}, 0, { 0, 0}, {0x25, 0xeb, 0x89, 0x00}}},
{{{ 229, -132, 0}, 0, { 0, 0}, {0x25, 0xeb, 0x89, 0x00}}},
{{{ 264, 0, 0}, 0, { 0, 0}, {0x2a, 0x00, 0x77, 0x00}}},
{{{ 198, 0, 23}, 0, { 0, 0}, {0x2a, 0x00, 0x77, 0x00}}},
};
// 0x06013880
static const Vtx water_ring_seg6_vertex_06013880[] = {
{{{ 172, -99, 23}, 0, { 0, 0}, {0x93, 0x3f, 0x00, 0x00}}},
{{{ 198, 0, 23}, 0, { 0, 0}, {0x81, 0x00, 0x00, 0x00}}},
{{{ 198, 0, -23}, 0, { 0, 0}, {0x81, 0x00, 0x00, 0x00}}},
{{{ 172, -99, -23}, 0, { 0, 0}, {0x93, 0x3f, 0x00, 0x00}}},
{{{ 172, -99, -23}, 0, { 0, 0}, {0x25, 0xeb, 0x89, 0x00}}},
{{{ 198, 0, -23}, 0, { 0, 0}, {0x2a, 0x00, 0x89, 0x00}}},
{{{ 264, 0, 0}, 0, { 0, 0}, {0x2a, 0x00, 0x89, 0x00}}},
{{{ 229, -132, 0}, 0, { 0, 0}, {0x25, 0xeb, 0x89, 0x00}}},
{{{ 264, 0, 0}, 0, { 0, 0}, {0x2a, 0x00, 0x77, 0x00}}},
{{{ 229, 132, 0}, 0, { 0, 0}, {0x25, 0x15, 0x77, 0x00}}},
{{{ 172, 99, 23}, 0, { 0, 0}, {0x25, 0x15, 0x77, 0x00}}},
{{{ 198, 0, 23}, 0, { 0, 0}, {0x2a, 0x00, 0x77, 0x00}}},
{{{ 172, 99, 23}, 0, { 0, 0}, {0x93, 0xc1, 0x00, 0x00}}},
{{{ 172, 99, -23}, 0, { 0, 0}, {0x93, 0xc1, 0x00, 0x00}}},
{{{ 172, 99, -23}, 0, { 0, 0}, {0x25, 0x15, 0x89, 0x00}}},
{{{ 229, 132, 0}, 0, { 0, 0}, {0x25, 0x15, 0x89, 0x00}}},
};
// 0x06013980
static const Vtx water_ring_seg6_vertex_06013980[] = {
{{{ 229, 132, 0}, 0, { 0, 0}, {0x25, 0x15, 0x77, 0x00}}},
{{{ 132, 228, 0}, 0, { 0, 0}, {0x15, 0x25, 0x77, 0x00}}},
{{{ 99, 171, 23}, 0, { 0, 0}, {0x15, 0x25, 0x77, 0x00}}},
{{{ 172, 99, 23}, 0, { 0, 0}, {0x25, 0x15, 0x77, 0x00}}},
{{{ 172, 99, 23}, 0, { 0, 0}, {0x93, 0xc1, 0x00, 0x00}}},
{{{ 99, 171, 23}, 0, { 0, 0}, {0xc1, 0x93, 0x00, 0x00}}},
{{{ 99, 171, -23}, 0, { 0, 0}, {0xc1, 0x93, 0x00, 0x00}}},
{{{ 172, 99, -23}, 0, { 0, 0}, {0x93, 0xc1, 0x00, 0x00}}},
{{{ 172, 99, -23}, 0, { 0, 0}, {0x25, 0x15, 0x89, 0x00}}},
{{{ 99, 171, -23}, 0, { 0, 0}, {0x15, 0x25, 0x89, 0x00}}},
{{{ 132, 228, 0}, 0, { 0, 0}, {0x15, 0x25, 0x89, 0x00}}},
{{{ 229, 132, 0}, 0, { 0, 0}, {0x25, 0x15, 0x89, 0x00}}},
{{{ 0, 264, 0}, 0, { 0, 0}, {0x00, 0x2a, 0x77, 0x00}}},
{{{ 0, 198, 23}, 0, { 0, 0}, {0x00, 0x2a, 0x77, 0x00}}},
{{{ 0, 198, 23}, 0, { 0, 0}, {0x00, 0x81, 0x00, 0x00}}},
{{{ 0, 198, -23}, 0, { 0, 0}, {0x00, 0x81, 0x00, 0x00}}},
};
// 0x06013A80
static const Vtx water_ring_seg6_vertex_06013A80[] = {
{{{ 99, 171, -23}, 0, { 0, 0}, {0x15, 0x25, 0x89, 0x00}}},
{{{ 0, 198, -23}, 0, { 0, 0}, {0x00, 0x2a, 0x89, 0x00}}},
{{{ 0, 264, 0}, 0, { 0, 0}, {0x00, 0x2a, 0x89, 0x00}}},
{{{ 132, 228, 0}, 0, { 0, 0}, {0x15, 0x25, 0x89, 0x00}}},
};
// 0x06013AC0 - 0x06013DD8
const Gfx water_ring_seg6_dl_06013AC0[] = {
gsDPPipeSync(),
gsSPSetGeometryMode(G_TEXTURE_GEN),
gsDPSetCombineMode(G_CC_DECALFADE, G_CC_DECALFADE),
gsDPLoadTextureBlock(water_ring_seg6_texture_06012380, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 5, 6, G_TX_NOLOD, G_TX_NOLOD),
gsSPTexture(0x07C0, 0x1800, 0, G_TX_RENDERTILE, G_ON),
gsSPLightColor(LIGHT_1, 0xffffffff),
gsSPLightColor(LIGHT_2, 0x3f3f3fff),
gsSPVertex(water_ring_seg6_vertex_06013380, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 8, 10, 11, 0x0),
gsSP2Triangles( 1, 12, 13, 0x0, 1, 13, 2, 0x0),
gsSP2Triangles( 5, 14, 15, 0x0, 5, 15, 6, 0x0),
gsSPVertex(water_ring_seg6_vertex_06013480, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 8, 10, 11, 0x0),
gsSP2Triangles( 1, 12, 13, 0x0, 1, 13, 2, 0x0),
gsSP2Triangles( 5, 14, 15, 0x0, 5, 15, 6, 0x0),
gsSPVertex(water_ring_seg6_vertex_06013580, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 8, 10, 11, 0x0),
gsSP2Triangles( 1, 12, 13, 0x0, 1, 13, 2, 0x0),
gsSP2Triangles( 5, 14, 15, 0x0, 5, 15, 6, 0x0),
gsSPVertex(water_ring_seg6_vertex_06013680, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 8, 10, 11, 0x0),
gsSP2Triangles( 1, 12, 13, 0x0, 1, 13, 2, 0x0),
gsSP2Triangles( 5, 14, 15, 0x0, 5, 15, 6, 0x0),
gsSPVertex(water_ring_seg6_vertex_06013780, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 8, 10, 11, 0x0),
gsSP2Triangles( 1, 12, 13, 0x0, 1, 13, 2, 0x0),
gsSP2Triangles( 5, 14, 15, 0x0, 5, 15, 6, 0x0),
gsSPVertex(water_ring_seg6_vertex_06013880, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 8, 10, 11, 0x0),
gsSP2Triangles( 1, 12, 13, 0x0, 1, 13, 2, 0x0),
gsSP2Triangles( 5, 14, 15, 0x0, 5, 15, 6, 0x0),
gsSPVertex(water_ring_seg6_vertex_06013980, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 8, 10, 11, 0x0),
gsSP2Triangles( 1, 12, 13, 0x0, 1, 13, 2, 0x0),
gsSP2Triangles( 5, 14, 15, 0x0, 5, 15, 6, 0x0),
gsSPVertex(water_ring_seg6_vertex_06013A80, 4, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsDPPipeSync(),
gsSPClearGeometryMode(G_TEXTURE_GEN),
gsDPSetEnvColor(255, 255, 255, 255),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPTexture(0x07C0, 0x0F80, 0, G_TX_RENDERTILE, G_OFF),
gsSPEndDisplayList(),
};