mirror of
https://github.com/Mr-Wiseguy/Zelda64Recomp.git
synced 2024-11-09 15:55:06 +01:00
1252 lines
58 KiB
C
1252 lines
58 KiB
C
#include "patches.h"
|
|
#include "overlays/actors/ovl_Oceff_Wipe/z_oceff_wipe.h"
|
|
#include "overlays/actors/ovl_Oceff_Wipe2/z_oceff_wipe2.h"
|
|
#include "overlays/actors/ovl_Oceff_Wipe3/z_oceff_wipe3.h"
|
|
#include "overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.h"
|
|
#include "overlays/actors/ovl_Oceff_Wipe5/z_oceff_wipe5.h"
|
|
#include "overlays/actors/ovl_Oceff_Wipe6/z_oceff_wipe6.h"
|
|
#include "overlays/actors/ovl_Oceff_Wipe7/z_oceff_wipe7.h"
|
|
|
|
// @recomp Custom verts to extend the effects past the camera so they cover any aspect ratio.
|
|
Vtx time_override_verts[156] = {
|
|
{{ {-165, 227, 0}, 0, {1229, 1024}, {183, 183, 183, 0} }},
|
|
{{ {-206, 283, 300}, 0, {1229, 512}, {183, 183, 183, 160} }},
|
|
{{ {0, 350, 300}, 0, {1024, 512}, {183, 183, 183, 160} }},
|
|
{{ {-165, 227, 0}, 0, {1229, 1024}, {183, 183, 183, 0} }},
|
|
{{ {0, 350, 300}, 0, {1024, 512}, {183, 183, 183, 160} }},
|
|
{{ {0, 280, 0}, 0, {1024, 1024}, {183, 183, 183, 0} }},
|
|
{{ {-206, 283, 300}, 0, {1229, 512}, {183, 183, 183, 160} }},
|
|
{{ {-294, 405, 1000}, 0, {1229, 0}, {183, 183, 183, 255} }},
|
|
{{ {0, 500, 1000}, 0, {1024, 0}, {183, 183, 183, 255} }},
|
|
{{ {-206, 283, 300}, 0, {1229, 512}, {183, 183, 183, 160} }},
|
|
{{ {0, 500, 1000}, 0, {1024, 0}, {183, 183, 183, 255} }},
|
|
{{ {0, 350, 300}, 0, {1024, 512}, {183, 183, 183, 160} }},
|
|
{{ {-266, 87, 0}, 0, {1434, 1024}, {183, 183, 183, 0} }},
|
|
{{ {-333, 108, 300}, 0, {1434, 512}, {183, 183, 183, 160} }},
|
|
{{ {-206, 283, 300}, 0, {1229, 512}, {183, 183, 183, 160} }},
|
|
{{ {-266, 87, 0}, 0, {1434, 1024}, {183, 183, 183, 0} }},
|
|
{{ {-206, 283, 300}, 0, {1229, 512}, {183, 183, 183, 160} }},
|
|
{{ {-165, 227, 0}, 0, {1229, 1024}, {183, 183, 183, 0} }},
|
|
{{ {-333, 108, 300}, 0, {1434, 512}, {183, 183, 183, 160} }},
|
|
{{ {-476, 155, 1000}, 0, {1434, 0}, {183, 183, 183, 255} }},
|
|
{{ {-294, 405, 1000}, 0, {1229, 0}, {183, 183, 183, 255} }},
|
|
{{ {-333, 108, 300}, 0, {1434, 512}, {183, 183, 183, 160} }},
|
|
{{ {-294, 405, 1000}, 0, {1229, 0}, {183, 183, 183, 255} }},
|
|
{{ {-206, 283, 300}, 0, {1229, 512}, {183, 183, 183, 160} }},
|
|
{{ {-266, -87, 0}, 0, {1638, 1024}, {183, 183, 183, 0} }},
|
|
{{ {-333, -108, 300}, 0, {1638, 512}, {183, 183, 183, 160} }},
|
|
{{ {-333, 108, 300}, 0, {1434, 512}, {183, 183, 183, 160} }},
|
|
{{ {-266, -87, 0}, 0, {1638, 1024}, {183, 183, 183, 0} }},
|
|
{{ {-266, 87, 0}, 0, {1434, 1024}, {183, 183, 183, 0} }},
|
|
{{ {-333, -108, 300}, 0, {1638, 512}, {183, 183, 183, 160} }},
|
|
{{ {-476, -155, 1000}, 0, {1638, 0}, {183, 183, 183, 255} }},
|
|
{{ {-476, 155, 1000}, 0, {1434, 0}, {183, 183, 183, 255} }},
|
|
{{ {-333, -108, 300}, 0, {1638, 512}, {183, 183, 183, 160} }},
|
|
{{ {-476, 155, 1000}, 0, {1434, 0}, {183, 183, 183, 255} }},
|
|
{{ {-333, 108, 300}, 0, {1434, 512}, {183, 183, 183, 160} }},
|
|
{{ {-165, -227, 0}, 0, {1843, 1024}, {183, 183, 183, 0} }},
|
|
{{ {-206, -283, 300}, 0, {1843, 512}, {183, 183, 183, 160} }},
|
|
{{ {-333, -108, 300}, 0, {1638, 512}, {183, 183, 183, 160} }},
|
|
{{ {-165, -227, 0}, 0, {1843, 1024}, {183, 183, 183, 0} }},
|
|
{{ {-333, -108, 300}, 0, {1638, 512}, {183, 183, 183, 160} }},
|
|
{{ {-266, -87, 0}, 0, {1638, 1024}, {183, 183, 183, 0} }},
|
|
{{ {-206, -283, 300}, 0, {1843, 512}, {183, 183, 183, 160} }},
|
|
{{ {-294, -405, 1000}, 0, {1843, 0}, {183, 183, 183, 255} }},
|
|
{{ {-476, -155, 1000}, 0, {1638, 0}, {183, 183, 183, 255} }},
|
|
{{ {-206, -283, 300}, 0, {1843, 512}, {183, 183, 183, 160} }},
|
|
{{ {-476, -155, 1000}, 0, {1638, 0}, {183, 183, 183, 255} }},
|
|
{{ {0, -280, 0}, 0, {2048, 1024}, {183, 183, 183, 0} }},
|
|
{{ {0, -350, 300}, 0, {2048, 512}, {183, 183, 183, 160} }},
|
|
{{ {-206, -283, 300}, 0, {1843, 512}, {183, 183, 183, 160} }},
|
|
{{ {-165, -227, 0}, 0, {1843, 1024}, {183, 183, 183, 0} }},
|
|
{{ {0, -350, 300}, 0, {2048, 512}, {183, 183, 183, 160} }},
|
|
{{ {0, -500, 1000}, 0, {2048, 0}, {183, 183, 183, 255} }},
|
|
{{ {-294, -405, 1000}, 0, {1843, 0}, {183, 183, 183, 255} }},
|
|
{{ {0, -350, 300}, 0, {2048, 512}, {183, 183, 183, 160} }},
|
|
{{ {-294, -405, 1000}, 0, {1843, 0}, {183, 183, 183, 255} }},
|
|
{{ {-206, -283, 300}, 0, {1843, 512}, {183, 183, 183, 160} }},
|
|
{{ {165, -227, 0}, 0, {205, 1024}, {183, 183, 183, 0} }},
|
|
{{ {206, -283, 300}, 0, {205, 512}, {183, 183, 183, 160} }},
|
|
{{ {0, -350, 300}, 0, {0, 512}, {183, 183, 183, 160} }},
|
|
{{ {165, -227, 0}, 0, {205, 1024}, {183, 183, 183, 0} }},
|
|
{{ {0, -350, 300}, 0, {0, 512}, {183, 183, 183, 160} }},
|
|
{{ {0, -280, 0}, 0, {0, 1024}, {183, 183, 183, 0} }},
|
|
{{ {206, -283, 300}, 0, {205, 512}, {183, 183, 183, 160} }},
|
|
{{ {294, -405, 1000}, 0, {205, 0}, {183, 183, 183, 255} }},
|
|
{{ {0, -500, 1000}, 0, {0, 0}, {183, 183, 183, 255} }},
|
|
{{ {206, -283, 300}, 0, {205, 512}, {183, 183, 183, 160} }},
|
|
{{ {0, -500, 1000}, 0, {0, 0}, {183, 183, 183, 255} }},
|
|
{{ {0, -350, 300}, 0, {0, 512}, {183, 183, 183, 160} }},
|
|
{{ {266, -87, 0}, 0, {410, 1024}, {183, 183, 183, 0} }},
|
|
{{ {333, -108, 300}, 0, {410, 512}, {183, 183, 183, 160} }},
|
|
{{ {206, -283, 300}, 0, {205, 512}, {183, 183, 183, 160} }},
|
|
{{ {266, -87, 0}, 0, {410, 1024}, {183, 183, 183, 0} }},
|
|
{{ {206, -283, 300}, 0, {205, 512}, {183, 183, 183, 160} }},
|
|
{{ {165, -227, 0}, 0, {205, 1024}, {183, 183, 183, 0} }},
|
|
{{ {333, -108, 300}, 0, {410, 512}, {183, 183, 183, 160} }},
|
|
{{ {476, -155, 1000}, 0, {410, 0}, {183, 183, 183, 255} }},
|
|
{{ {294, -405, 1000}, 0, {205, 0}, {183, 183, 183, 255} }},
|
|
{{ {333, -108, 300}, 0, {410, 512}, {183, 183, 183, 160} }},
|
|
{{ {294, -405, 1000}, 0, {205, 0}, {183, 183, 183, 255} }},
|
|
{{ {206, -283, 300}, 0, {205, 512}, {183, 183, 183, 160} }},
|
|
{{ {266, 87, 0}, 0, {614, 1024}, {183, 183, 183, 0} }},
|
|
{{ {333, 108, 300}, 0, {614, 512}, {183, 183, 183, 160} }},
|
|
{{ {333, -108, 300}, 0, {410, 512}, {183, 183, 183, 160} }},
|
|
{{ {266, 87, 0}, 0, {614, 1024}, {183, 183, 183, 0} }},
|
|
{{ {333, -108, 300}, 0, {410, 512}, {183, 183, 183, 160} }},
|
|
{{ {266, -87, 0}, 0, {410, 1024}, {183, 183, 183, 0} }},
|
|
{{ {333, 108, 300}, 0, {614, 512}, {183, 183, 183, 160} }},
|
|
{{ {476, 155, 1000}, 0, {614, 0}, {183, 183, 183, 255} }},
|
|
{{ {476, -155, 1000}, 0, {410, 0}, {183, 183, 183, 255} }},
|
|
{{ {333, -108, 300}, 0, {410, 512}, {183, 183, 183, 160} }},
|
|
{{ {165, 227, 0}, 0, {819, 1024}, {183, 183, 183, 0} }},
|
|
{{ {206, 283, 300}, 0, {819, 512}, {183, 183, 183, 160} }},
|
|
{{ {333, 108, 300}, 0, {614, 512}, {183, 183, 183, 160} }},
|
|
{{ {165, 227, 0}, 0, {819, 1024}, {183, 183, 183, 0} }},
|
|
{{ {333, 108, 300}, 0, {614, 512}, {183, 183, 183, 160} }},
|
|
{{ {266, 87, 0}, 0, {614, 1024}, {183, 183, 183, 0} }},
|
|
{{ {206, 283, 300}, 0, {819, 512}, {183, 183, 183, 160} }},
|
|
{{ {294, 405, 1000}, 0, {819, 0}, {183, 183, 183, 255} }},
|
|
{{ {476, 155, 1000}, 0, {614, 0}, {183, 183, 183, 255} }},
|
|
{{ {206, 283, 300}, 0, {819, 512}, {183, 183, 183, 160} }},
|
|
{{ {476, 155, 1000}, 0, {614, 0}, {183, 183, 183, 255} }},
|
|
{{ {333, 108, 300}, 0, {614, 512}, {183, 183, 183, 160} }},
|
|
{{ {0, 280, 0}, 0, {1024, 1024}, {183, 183, 183, 0} }},
|
|
{{ {0, 350, 300}, 0, {1024, 512}, {183, 183, 183, 160} }},
|
|
{{ {206, 283, 300}, 0, {819, 512}, {183, 183, 183, 160} }},
|
|
{{ {0, 280, 0}, 0, {1024, 1024}, {183, 183, 183, 0} }},
|
|
{{ {206, 283, 300}, 0, {819, 512}, {183, 183, 183, 160} }},
|
|
{{ {165, 227, 0}, 0, {819, 1024}, {183, 183, 183, 0} }},
|
|
{{ {0, 350, 300}, 0, {1024, 512}, {183, 183, 183, 160} }},
|
|
{{ {0, 500, 1000}, 0, {1024, 0}, {183, 183, 183, 255} }},
|
|
{{ {294, 405, 1000}, 0, {819, 0}, {183, 183, 183, 255} }},
|
|
{{ {0, 350, 300}, 0, {1024, 512}, {183, 183, 183, 160} }},
|
|
{{ {294, 405, 1000}, 0, {819, 0}, {183, 183, 183, 255} }},
|
|
{{ {206, 283, 300}, 0, {819, 512}, {183, 183, 183, 160} }},
|
|
{{ {-294, 405, 1000}, 0, {1229, 0}, {169, 218, 84, 255} }},
|
|
{{ {-476, 155, 1000}, 0, {1434, 0}, {30, 58, 147, 255} }},
|
|
{{ {-758, 247, 2422}, 0, {1373, -1039}, {182, 183, 183, 255} }},
|
|
{{ {-468, 645, 2422}, 0, {1168, -1039}, {191, 190, 169, 255} }},
|
|
{{ {294, -405, 1000}, 0, {205, 0}, {9, 53, 141, 255} }},
|
|
{{ {476, -155, 1000}, 0, {410, 0}, {228, 185, 101, 255} }},
|
|
{{ {758, -247, 2422}, 0, {349, -1039}, {183, 182, 183, 255} }},
|
|
{{ {468, -645, 2422}, 0, {144, -1039}, {179, 169, 206, 255} }},
|
|
{{ {476, 155, 1000}, 0, {614, 0}, {132, 13, 230, 255} }},
|
|
{{ {294, 405, 1000}, 0, {819, 0}, {245, 133, 27, 255} }},
|
|
{{ {468, 645, 2422}, 0, {758, -1039}, {183, 183, 182, 255} }},
|
|
{{ {476, 155, 1000}, 0, {614, 0}, {132, 13, 230, 255} }},
|
|
{{ {468, 645, 2422}, 0, {758, -1039}, {183, 183, 182, 255} }},
|
|
{{ {758, 247, 2422}, 0, {553, -1039}, {198, 165, 189, 255} }},
|
|
{{ {294, 405, 1000}, 0, {819, 0}, {139, 219, 32, 255} }},
|
|
{{ {0, 500, 1000}, 0, {1024, 0}, {58, 149, 220, 255} }},
|
|
{{ {0, 796, 2422}, 0, {964, -1039}, {183, 183, 182, 255} }},
|
|
{{ {468, 645, 2422}, 0, {758, -1039}, {206, 174, 173, 255} }},
|
|
{{ {-476, -155, 1000}, 0, {1638, 0}, {197, 146, 231, 255} }},
|
|
{{ {-294, -405, 1000}, 0, {1843, 0}, {138, 232, 215, 255} }},
|
|
{{ {-468, -645, 2422}, 0, {1782, -1039}, {182, 182, 183, 255} }},
|
|
{{ {-758, -247, 2422}, 0, {1577, -1039}, {174, 195, 181, 255} }},
|
|
{{ {-294, -405, 1000}, 0, {1843, 0}, {9, 157, 177, 255} }},
|
|
{{ {0, -500, 1000}, 0, {2048, 0}, {170, 166, 25, 255} }},
|
|
{{ {0, -796, 2422}, 0, {1988, -1039}, {183, 182, 183, 255} }},
|
|
{{ {-468, -645, 2422}, 0, {1782, -1039}, {172, 183, 195, 255} }},
|
|
{{ {-476, 155, 1000}, 0, {1434, 0}, {159, 188, 45, 255} }},
|
|
{{ {-476, -155, 1000}, 0, {1638, 0}, {186, 54, 165, 255} }},
|
|
{{ {-758, -247, 2422}, 0, {1578, -1039}, {182, 183, 183, 255} }},
|
|
{{ {-758, 247, 2422}, 0, {1374, -1039}, {184, 193, 173, 255} }},
|
|
{{ {0, -500, 1000}, 0, {0, 0}, {49, 230, 142, 255} }},
|
|
{{ {294, -405, 1000}, 0, {205, 0}, {222, 163, 79, 255} }},
|
|
{{ {468, -645, 2422}, 0, {144, -1039}, {183, 182, 183, 255} }},
|
|
{{ {0, -796, 2422}, 0, {-60, -1039}, {173, 175, 204, 255} }},
|
|
{{ {476, -155, 1000}, 0, {410, 0}, {182, 64, 175, 255} }},
|
|
{{ {476, 155, 1000}, 0, {614, 0}, {214, 169, 82, 255} }},
|
|
{{ {758, 247, 2422}, 0, {554, -1039}, {183, 183, 182, 255} }},
|
|
{{ {758, -247, 2422}, 0, {350, -1039}, {187, 165, 201, 255} }},
|
|
{{ {0, 500, 1000}, 0, {1024, 0}, {169, 211, 81, 255} }},
|
|
{{ {-294, 405, 1000}, 0, {1229, 0}, {89, 233, 168, 255} }},
|
|
{{ {-468, 645, 2422}, 0, {1168, -1039}, {182, 183, 182, 255} }},
|
|
{{ {0, 796, 2422}, 0, {964, -1039}, {198, 185, 168, 255} }},
|
|
};
|
|
Gfx time_override_dl[] = {
|
|
gsSPVertex(time_override_verts + 0, 32, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0),
|
|
gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0),
|
|
gsSP2Triangles(12, 13, 14, 0, 15, 16, 17, 0),
|
|
gsSP2Triangles(18, 19, 20, 0, 21, 22, 23, 0),
|
|
gsSP2Triangles(24, 25, 26, 0, 27, 26, 28, 0),
|
|
gsSP1Triangle(29, 30, 31, 0),
|
|
gsSPVertex(time_override_verts + 32, 30, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0),
|
|
gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0),
|
|
gsSP2Triangles(12, 13, 5, 0, 14, 15, 16, 0),
|
|
gsSP2Triangles(14, 16, 17, 0, 18, 19, 20, 0),
|
|
gsSP2Triangles(21, 22, 23, 0, 24, 25, 26, 0),
|
|
gsSP1Triangle(27, 28, 29, 0),
|
|
gsSPVertex(time_override_verts + 62, 31, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0),
|
|
gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0),
|
|
gsSP2Triangles(12, 13, 14, 0, 15, 16, 17, 0),
|
|
gsSP2Triangles(18, 19, 20, 0, 21, 22, 23, 0),
|
|
gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0),
|
|
gsSP1Triangle(28, 29, 30, 0),
|
|
gsSPVertex(time_override_verts + 93, 32, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0),
|
|
gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0),
|
|
gsSP2Triangles(12, 13, 14, 0, 15, 16, 17, 0),
|
|
gsSP2Triangles(18, 19, 20, 0, 21, 22, 23, 0),
|
|
gsSP2Triangles(21, 23, 24, 0, 25, 26, 27, 0),
|
|
gsSP2Triangles(25, 27, 28, 0, 29, 30, 31, 0),
|
|
gsSPVertex(time_override_verts + 125, 31, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0),
|
|
gsSP2Triangles(3, 5, 6, 0, 7, 8, 9, 0),
|
|
gsSP2Triangles(7, 9, 10, 0, 11, 12, 13, 0),
|
|
gsSP2Triangles(11, 13, 14, 0, 15, 16, 17, 0),
|
|
gsSP2Triangles(15, 17, 18, 0, 19, 20, 21, 0),
|
|
gsSP2Triangles(19, 21, 22, 0, 23, 24, 25, 0),
|
|
gsSP2Triangles(23, 25, 26, 0, 27, 28, 29, 0),
|
|
gsSP1Triangle(27, 29, 30, 0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
Vtx epona_override_verts[100] = {
|
|
{{ {88, 121, 0}, 0, {1638, 2048}, {183, 183, 183, 0} }},
|
|
{{ {243, 176, 1000}, 0, {1434, 0}, {183, 183, 183, 255} }},
|
|
{{ {143, 46, 0}, 0, {1229, 2048}, {183, 183, 183, 0} }},
|
|
{{ {243, 176, 1000}, 0, {1434, 0}, {183, 183, 183, 255} }},
|
|
{{ {300, 0, 1000}, 0, {1024, 0}, {183, 183, 183, 255} }},
|
|
{{ {143, 46, 0}, 0, {1229, 2048}, {183, 183, 183, 0} }},
|
|
{{ {0, 150, 0}, 0, {2048, 2048}, {183, 183, 183, 0} }},
|
|
{{ {93, 285, 1000}, 0, {1843, 0}, {183, 183, 183, 255} }},
|
|
{{ {88, 121, 0}, 0, {1638, 2048}, {183, 183, 183, 0} }},
|
|
{{ {93, 285, 1000}, 0, {1843, 0}, {183, 183, 183, 255} }},
|
|
{{ {243, 176, 1000}, 0, {1434, 0}, {183, 183, 183, 255} }},
|
|
{{ {88, 121, 0}, 0, {1638, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-88, 121, 0}, 0, {2458, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-93, 285, 1000}, 0, {2253, 0}, {183, 183, 183, 255} }},
|
|
{{ {0, 150, 0}, 0, {2048, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-93, 285, 1000}, 0, {2253, 0}, {183, 183, 183, 255} }},
|
|
{{ {93, 285, 1000}, 0, {1843, 0}, {183, 183, 183, 255} }},
|
|
{{ {0, 150, 0}, 0, {2048, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-143, 46, 0}, 0, {2867, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-243, 176, 1000}, 0, {2662, 0}, {183, 183, 183, 255} }},
|
|
{{ {-88, 121, 0}, 0, {2458, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-243, 176, 1000}, 0, {2662, 0}, {183, 183, 183, 255} }},
|
|
{{ {-93, 285, 1000}, 0, {2253, 0}, {183, 183, 183, 255} }},
|
|
{{ {-88, 121, 0}, 0, {2458, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-143, -46, 0}, 0, {3277, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-300, 0, 1000}, 0, {3072, 0}, {183, 183, 183, 255} }},
|
|
{{ {-143, 46, 0}, 0, {2867, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-300, 0, 1000}, 0, {3072, 0}, {183, 183, 183, 255} }},
|
|
{{ {-243, 176, 1000}, 0, {2662, 0}, {183, 183, 183, 255} }},
|
|
{{ {-143, 46, 0}, 0, {2867, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-88, -121, 0}, 0, {3686, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-243, -176, 1000}, 0, {3482, 0}, {183, 183, 183, 255} }},
|
|
{{ {-143, -46, 0}, 0, {3277, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-243, -176, 1000}, 0, {3482, 0}, {183, 183, 183, 255} }},
|
|
{{ {-300, 0, 1000}, 0, {3072, 0}, {183, 183, 183, 255} }},
|
|
{{ {-143, -46, 0}, 0, {3277, 2048}, {183, 183, 183, 0} }},
|
|
{{ {0, -150, 0}, 0, {4096, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-93, -285, 1000}, 0, {3891, 0}, {183, 183, 183, 255} }},
|
|
{{ {-88, -121, 0}, 0, {3686, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-93, -285, 1000}, 0, {3891, 0}, {183, 183, 183, 255} }},
|
|
{{ {-243, -176, 1000}, 0, {3482, 0}, {183, 183, 183, 255} }},
|
|
{{ {-88, -121, 0}, 0, {3686, 2048}, {183, 183, 183, 0} }},
|
|
{{ {93, -285, 1000}, 0, {4301, 0}, {183, 183, 183, 255} }},
|
|
{{ {-93, -285, 1000}, 0, {3891, 0}, {183, 183, 183, 255} }},
|
|
{{ {0, -150, 0}, 0, {4096, 2048}, {183, 183, 183, 0} }},
|
|
{{ {143, -46, 0}, 0, {819, 2048}, {183, 183, 183, 0} }},
|
|
{{ {243, -176, 1000}, 0, {614, 0}, {183, 183, 183, 255} }},
|
|
{{ {88, -121, 0}, 0, {410, 2048}, {183, 183, 183, 0} }},
|
|
{{ {243, -176, 1000}, 0, {614, 0}, {183, 183, 183, 255} }},
|
|
{{ {93, -285, 1000}, 0, {205, 0}, {183, 183, 183, 255} }},
|
|
{{ {88, -121, 0}, 0, {410, 2048}, {183, 183, 183, 0} }},
|
|
{{ {143, 46, 0}, 0, {1229, 2048}, {183, 183, 183, 0} }},
|
|
{{ {300, 0, 1000}, 0, {1024, 0}, {183, 183, 183, 255} }},
|
|
{{ {143, -46, 0}, 0, {819, 2048}, {183, 183, 183, 0} }},
|
|
{{ {300, 0, 1000}, 0, {1024, 0}, {183, 183, 183, 255} }},
|
|
{{ {243, -176, 1000}, 0, {614, 0}, {183, 183, 183, 255} }},
|
|
{{ {143, -46, 0}, 0, {819, 2048}, {183, 183, 183, 0} }},
|
|
{{ {88, -121, 0}, 0, {410, 2048}, {183, 183, 183, 0} }},
|
|
{{ {93, -285, 1000}, 0, {205, 0}, {183, 183, 183, 255} }},
|
|
{{ {0, -150, 0}, 0, {0, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-243, 176, 1000}, 0, {2662, 0}, {170, 213, 83, 255} }},
|
|
{{ {-300, 0, 1000}, 0, {3072, 0}, {234, 71, 153, 255} }},
|
|
{{ {-447, 0, 2021}, 0, {2971, -2092}, {182, 181, 186, 255} }},
|
|
{{ {-362, 262, 2021}, 0, {2561, -2092}, {183, 184, 181, 255} }},
|
|
{{ {-243, -176, 1000}, 0, {3482, 0}, {239, 135, 220, 255} }},
|
|
{{ {-93, -285, 1000}, 0, {3891, 0}, {142, 201, 253, 255} }},
|
|
{{ {-139, -425, 2021}, 0, {3791, -2092}, {185, 181, 182, 255} }},
|
|
{{ {-362, -262, 2021}, 0, {3381, -2092}, {181, 184, 183, 255} }},
|
|
{{ {300, 0, 1000}, 0, {1024, 0}, {147, 50, 214, 255} }},
|
|
{{ {243, 176, 1000}, 0, {1434, 0}, {211, 150, 53, 255} }},
|
|
{{ {362, 262, 2021}, 0, {1333, -2092}, {181, 185, 181, 255} }},
|
|
{{ {447, 0, 2021}, 0, {923, -2092}, {184, 179, 185, 255} }},
|
|
{{ {243, -176, 1000}, 0, {614, 0}, {231, 85, 165, 255} }},
|
|
{{ {300, 0, 1000}, 0, {1024, 0}, {208, 187, 95, 255} }},
|
|
{{ {447, 0, 2021}, 0, {923, -2092}, {183, 185, 181, 255} }},
|
|
{{ {362, -262, 2021}, 0, {513, -2092}, {182, 180, 186, 255} }},
|
|
{{ {-300, 0, 1000}, 0, {3072, 0}, {174, 164, 31, 255} }},
|
|
{{ {-243, -176, 1000}, 0, {3482, 0}, {150, 25, 191, 255} }},
|
|
{{ {-362, -262, 2021}, 0, {3381, -2092}, {183, 180, 184, 255} }},
|
|
{{ {-447, 0, 2021}, 0, {2971, -2092}, {182, 184, 181, 255} }},
|
|
{{ {-93, -285, 1000}, 0, {3891, 0}, {58, 185, 168, 255} }},
|
|
{{ {93, -285, 1000}, 0, {4301, 0}, {192, 165, 60, 255} }},
|
|
{{ {139, -425, 2021}, 0, {4200, -2092}, {184, 183, 181, 255} }},
|
|
{{ {-139, -425, 2021}, 0, {3790, -2092}, {180, 182, 185, 255} }},
|
|
{{ {243, 176, 1000}, 0, {1434, 0}, {133, 235, 21, 255} }},
|
|
{{ {93, 285, 1000}, 0, {1843, 0}, {13, 130, 245, 255} }},
|
|
{{ {139, 425, 2021}, 0, {1743, -2092}, {180, 185, 184, 255} }},
|
|
{{ {362, 262, 2021}, 0, {1333, -2092}, {186, 180, 182, 255} }},
|
|
{{ {-93, 285, 1000}, 0, {2253, 0}, {190, 217, 101, 255} }},
|
|
{{ {-243, 176, 1000}, 0, {2662, 0}, {67, 23, 151, 255} }},
|
|
{{ {-362, 262, 2021}, 0, {2561, -2092}, {180, 181, 187, 255} }},
|
|
{{ {-139, 425, 2021}, 0, {2153, -2092}, {184, 183, 181, 255} }},
|
|
{{ {93, 285, 1000}, 0, {1843, 0}, {171, 203, 78, 255} }},
|
|
{{ {-93, 285, 1000}, 0, {2253, 0}, {77, 183, 186, 255} }},
|
|
{{ {-139, 425, 2021}, 0, {2152, -2092}, {179, 183, 186, 255} }},
|
|
{{ {139, 425, 2021}, 0, {1742, -2092}, {185, 182, 181, 255} }},
|
|
{{ {93, -285, 1000}, 0, {205, 0}, {58, 29, 147, 255} }},
|
|
{{ {243, -176, 1000}, 0, {614, 0}, {221, 182, 97, 255} }},
|
|
{{ {362, -262, 2021}, 0, {513, -2092}, {184, 184, 181, 255} }},
|
|
{{ {139, -425, 2021}, 0, {105, -2092}, {181, 181, 186, 255} }},
|
|
};
|
|
Gfx epona_override_dl[] = {
|
|
gsSPVertex(epona_override_verts + 0, 30, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0),
|
|
gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0),
|
|
gsSP2Triangles(12, 13, 14, 0, 15, 16, 17, 0),
|
|
gsSP2Triangles(18, 19, 20, 0, 21, 22, 23, 0),
|
|
gsSP2Triangles(24, 25, 26, 0, 27, 28, 29, 0),
|
|
gsSPVertex(epona_override_verts + 30, 30, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0),
|
|
gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0),
|
|
gsSP2Triangles(12, 13, 14, 0, 15, 16, 17, 0),
|
|
gsSP2Triangles(18, 19, 20, 0, 21, 22, 23, 0),
|
|
gsSP2Triangles(24, 25, 26, 0, 27, 28, 29, 0),
|
|
gsSPVertex(epona_override_verts + 60, 32, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
|
|
gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0),
|
|
gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0),
|
|
gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0),
|
|
gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0),
|
|
gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0),
|
|
gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0),
|
|
gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0),
|
|
gsSPVertex(epona_override_verts + 92, 8, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
|
|
gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
Vtx saria_override_verts[100] = {
|
|
{{ {88, 121, 0}, 0, {1638, 2048}, {183, 183, 183, 0} }},
|
|
{{ {243, 176, 1000}, 0, {1434, 0}, {183, 183, 183, 255} }},
|
|
{{ {143, 46, 0}, 0, {1229, 2048}, {183, 183, 183, 0} }},
|
|
{{ {243, 176, 1000}, 0, {1434, 0}, {183, 183, 183, 255} }},
|
|
{{ {300, 0, 1000}, 0, {1024, 0}, {183, 183, 183, 255} }},
|
|
{{ {143, 46, 0}, 0, {1229, 2048}, {183, 183, 183, 0} }},
|
|
{{ {0, 150, 0}, 0, {2048, 2048}, {183, 183, 183, 0} }},
|
|
{{ {93, 285, 1000}, 0, {1843, 0}, {183, 183, 183, 255} }},
|
|
{{ {88, 121, 0}, 0, {1638, 2048}, {183, 183, 183, 0} }},
|
|
{{ {93, 285, 1000}, 0, {1843, 0}, {183, 183, 183, 255} }},
|
|
{{ {243, 176, 1000}, 0, {1434, 0}, {183, 183, 183, 255} }},
|
|
{{ {88, 121, 0}, 0, {1638, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-88, 121, 0}, 0, {2458, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-93, 285, 1000}, 0, {2253, 0}, {183, 183, 183, 255} }},
|
|
{{ {0, 150, 0}, 0, {2048, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-93, 285, 1000}, 0, {2253, 0}, {183, 183, 183, 255} }},
|
|
{{ {93, 285, 1000}, 0, {1843, 0}, {183, 183, 183, 255} }},
|
|
{{ {0, 150, 0}, 0, {2048, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-143, 46, 0}, 0, {2867, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-243, 176, 1000}, 0, {2662, 0}, {183, 183, 183, 255} }},
|
|
{{ {-88, 121, 0}, 0, {2458, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-243, 176, 1000}, 0, {2662, 0}, {183, 183, 183, 255} }},
|
|
{{ {-93, 285, 1000}, 0, {2253, 0}, {183, 183, 183, 255} }},
|
|
{{ {-88, 121, 0}, 0, {2458, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-143, -46, 0}, 0, {3277, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-300, 0, 1000}, 0, {3072, 0}, {183, 183, 183, 255} }},
|
|
{{ {-143, 46, 0}, 0, {2867, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-300, 0, 1000}, 0, {3072, 0}, {183, 183, 183, 255} }},
|
|
{{ {-243, 176, 1000}, 0, {2662, 0}, {183, 183, 183, 255} }},
|
|
{{ {-143, 46, 0}, 0, {2867, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-88, -121, 0}, 0, {3686, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-243, -176, 1000}, 0, {3482, 0}, {183, 183, 183, 255} }},
|
|
{{ {-143, -46, 0}, 0, {3277, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-243, -176, 1000}, 0, {3482, 0}, {183, 183, 183, 255} }},
|
|
{{ {-300, 0, 1000}, 0, {3072, 0}, {183, 183, 183, 255} }},
|
|
{{ {-143, -46, 0}, 0, {3277, 2048}, {183, 183, 183, 0} }},
|
|
{{ {0, -150, 0}, 0, {4096, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-93, -285, 1000}, 0, {3891, 0}, {183, 183, 183, 255} }},
|
|
{{ {-88, -121, 0}, 0, {3686, 2048}, {183, 183, 183, 0} }},
|
|
{{ {-93, -285, 1000}, 0, {3891, 0}, {183, 183, 183, 255} }},
|
|
{{ {-243, -176, 1000}, 0, {3482, 0}, {183, 183, 183, 255} }},
|
|
{{ {-88, -121, 0}, 0, {3686, 2048}, {183, 183, 183, 0} }},
|
|
{{ {88, -121, 0}, 0, {410, 2048}, {183, 183, 183, 0} }},
|
|
{{ {93, -285, 1000}, 0, {205, 0}, {183, 183, 183, 255} }},
|
|
{{ {0, -150, 0}, 0, {0, 2048}, {183, 183, 183, 0} }},
|
|
{{ {93, -285, 1000}, 0, {4301, 0}, {183, 183, 183, 255} }},
|
|
{{ {-93, -285, 1000}, 0, {3891, 0}, {183, 183, 183, 255} }},
|
|
{{ {0, -150, 0}, 0, {4096, 2048}, {183, 183, 183, 0} }},
|
|
{{ {143, -46, 0}, 0, {819, 2048}, {183, 183, 183, 0} }},
|
|
{{ {243, -176, 1000}, 0, {614, 0}, {183, 183, 183, 255} }},
|
|
{{ {88, -121, 0}, 0, {410, 2048}, {183, 183, 183, 0} }},
|
|
{{ {243, -176, 1000}, 0, {614, 0}, {183, 183, 183, 255} }},
|
|
{{ {93, -285, 1000}, 0, {205, 0}, {183, 183, 183, 255} }},
|
|
{{ {88, -121, 0}, 0, {410, 2048}, {183, 183, 183, 0} }},
|
|
{{ {143, 46, 0}, 0, {1229, 2048}, {183, 183, 183, 0} }},
|
|
{{ {300, 0, 1000}, 0, {1024, 0}, {183, 183, 183, 255} }},
|
|
{{ {143, -46, 0}, 0, {819, 2048}, {183, 183, 183, 0} }},
|
|
{{ {300, 0, 1000}, 0, {1024, 0}, {183, 183, 183, 255} }},
|
|
{{ {243, -176, 1000}, 0, {614, 0}, {183, 183, 183, 255} }},
|
|
{{ {143, -46, 0}, 0, {819, 2048}, {183, 183, 183, 0} }},
|
|
{{ {243, 176, 1000}, 0, {1434, 0}, {132, 235, 21, 255} }},
|
|
{{ {93, 285, 1000}, 0, {1843, 0}, {13, 130, 245, 255} }},
|
|
{{ {142, 436, 2178}, 0, {1843, 0}, {180, 186, 183, 255} }},
|
|
{{ {372, 270, 2178}, 0, {1434, 0}, {186, 181, 181, 255} }},
|
|
{{ {-300, 0, 1000}, 0, {3072, 0}, {174, 164, 31, 255} }},
|
|
{{ {-243, -176, 1000}, 0, {3482, 0}, {149, 25, 192, 255} }},
|
|
{{ {-372, -270, 2178}, 0, {3482, 0}, {183, 180, 185, 255} }},
|
|
{{ {-459, 0, 2178}, 0, {3072, 0}, {182, 184, 182, 255} }},
|
|
{{ {243, -176, 1000}, 0, {614, 0}, {232, 84, 164, 255} }},
|
|
{{ {300, 0, 1000}, 0, {1024, 0}, {207, 187, 95, 255} }},
|
|
{{ {459, 0, 2178}, 0, {1024, 0}, {183, 184, 180, 255} }},
|
|
{{ {372, -270, 2178}, 0, {614, 0}, {183, 179, 186, 255} }},
|
|
{{ {93, -285, 1000}, 0, {205, 0}, {59, 28, 147, 255} }},
|
|
{{ {243, -176, 1000}, 0, {614, 0}, {221, 183, 97, 255} }},
|
|
{{ {372, -270, 2178}, 0, {614, 0}, {184, 183, 181, 255} }},
|
|
{{ {142, -436, 2178}, 0, {205, 0}, {181, 180, 187, 255} }},
|
|
{{ {93, 285, 1000}, 0, {1843, 0}, {171, 203, 78, 255} }},
|
|
{{ {-93, 285, 1000}, 0, {2253, 0}, {77, 184, 186, 255} }},
|
|
{{ {-142, 436, 2178}, 0, {2253, 0}, {179, 184, 185, 255} }},
|
|
{{ {142, 436, 2178}, 0, {1843, 0}, {185, 183, 180, 255} }},
|
|
{{ {-93, 285, 1000}, 0, {2253, 0}, {190, 217, 101, 255} }},
|
|
{{ {-243, 176, 1000}, 0, {2662, 0}, {67, 24, 151, 255} }},
|
|
{{ {-372, 270, 2178}, 0, {2662, 0}, {180, 182, 187, 255} }},
|
|
{{ {-142, 436, 2178}, 0, {2253, 0}, {184, 184, 180, 255} }},
|
|
{{ {-243, -176, 1000}, 0, {3482, 0}, {239, 135, 221, 255} }},
|
|
{{ {-93, -285, 1000}, 0, {3891, 0}, {142, 201, 253, 255} }},
|
|
{{ {-142, -436, 2178}, 0, {3891, 0}, {185, 181, 183, 255} }},
|
|
{{ {-372, -270, 2178}, 0, {3482, 0}, {180, 184, 184, 255} }},
|
|
{{ {300, 0, 1000}, 0, {1024, 0}, {147, 50, 213, 255} }},
|
|
{{ {243, 176, 1000}, 0, {1434, 0}, {211, 149, 53, 255} }},
|
|
{{ {372, 270, 2178}, 0, {1434, 0}, {182, 186, 180, 255} }},
|
|
{{ {459, 0, 2178}, 0, {1024, 0}, {185, 179, 184, 255} }},
|
|
{{ {-243, 176, 1000}, 0, {2662, 0}, {171, 212, 83, 255} }},
|
|
{{ {-300, 0, 1000}, 0, {3072, 0}, {233, 71, 153, 255} }},
|
|
{{ {-459, 0, 2178}, 0, {3072, 0}, {181, 181, 187, 255} }},
|
|
{{ {-372, 270, 2178}, 0, {2662, 0}, {183, 184, 181, 255} }},
|
|
{{ {-93, -285, 1000}, 0, {3891, 0}, {58, 184, 169, 255} }},
|
|
{{ {93, -285, 1000}, 0, {4301, 0}, {192, 165, 61, 255} }},
|
|
{{ {142, -436, 2178}, 0, {4301, 0}, {184, 182, 181, 255} }},
|
|
{{ {-142, -436, 2178}, 0, {3891, 0}, {180, 182, 186, 255} }},
|
|
};
|
|
Gfx saria_override_dl[] = {
|
|
gsSPVertex(saria_override_verts + 0, 30, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0),
|
|
gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0),
|
|
gsSP2Triangles(12, 13, 14, 0, 15, 16, 17, 0),
|
|
gsSP2Triangles(18, 19, 20, 0, 21, 22, 23, 0),
|
|
gsSP2Triangles(24, 25, 26, 0, 27, 28, 29, 0),
|
|
gsSPVertex(saria_override_verts + 30, 30, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0),
|
|
gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0),
|
|
gsSP2Triangles(12, 13, 14, 0, 15, 16, 17, 0),
|
|
gsSP2Triangles(18, 19, 20, 0, 21, 22, 23, 0),
|
|
gsSP2Triangles(24, 25, 26, 0, 27, 28, 29, 0),
|
|
gsSPVertex(saria_override_verts + 60, 32, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
|
|
gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0),
|
|
gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0),
|
|
gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0),
|
|
gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0),
|
|
gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0),
|
|
gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0),
|
|
gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0),
|
|
gsSPVertex(saria_override_verts + 92, 8, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
|
|
gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
Vtx scarecrow_override_verts[49] = {
|
|
{{ {88, 121, 0}, 0, {819, 504}, {255, 255, 255, 0} }},
|
|
{{ {243, 176, 1000}, 0, {717, -8}, {255, 255, 255, 255} }},
|
|
{{ {143, 46, 0}, 0, {614, 504}, {255, 255, 255, 0} }},
|
|
{{ {0, 150, 0}, 0, {1024, 504}, {255, 255, 255, 0} }},
|
|
{{ {93, 285, 1000}, 0, {922, -8}, {255, 255, 255, 255} }},
|
|
{{ {-88, 121, 0}, 0, {1229, 504}, {255, 255, 255, 0} }},
|
|
{{ {-93, 285, 1000}, 0, {1126, -8}, {255, 255, 255, 255} }},
|
|
{{ {-143, 46, 0}, 0, {1434, 504}, {255, 255, 255, 0} }},
|
|
{{ {-243, 176, 1000}, 0, {1331, -8}, {255, 255, 255, 255} }},
|
|
{{ {-143, -46, 0}, 0, {1638, 504}, {255, 255, 255, 0} }},
|
|
{{ {-300, 0, 1000}, 0, {1536, -8}, {255, 255, 255, 255} }},
|
|
{{ {-88, -121, 0}, 0, {1843, 504}, {255, 255, 255, 0} }},
|
|
{{ {-243, -176, 1000}, 0, {1741, -8}, {255, 255, 255, 255} }},
|
|
{{ {0, -150, 0}, 0, {2048, 504}, {255, 255, 255, 0} }},
|
|
{{ {-93, -285, 1000}, 0, {1946, -8}, {255, 255, 255, 255} }},
|
|
{{ {88, -121, 0}, 0, {205, 504}, {255, 255, 255, 0} }},
|
|
{{ {93, -285, 1000}, 0, {102, -8}, {255, 255, 255, 255} }},
|
|
{{ {0, -150, 0}, 0, {0, 504}, {255, 255, 255, 0} }},
|
|
{{ {143, -46, 0}, 0, {410, 504}, {255, 255, 255, 0} }},
|
|
{{ {243, -176, 1000}, 0, {307, -8}, {255, 255, 255, 255} }},
|
|
{{ {300, 0, 1000}, 0, {512, -8}, {255, 255, 255, 255} }},
|
|
{{ {355, 257, 2036}, 0, {670, -538}, {255, 255, 255, 255} }},
|
|
{{ {439, 0, 2036}, 0, {465, -538}, {255, 255, 255, 255} }},
|
|
{{ {136, 417, 2036}, 0, {875, -538}, {255, 255, 255, 255} }},
|
|
{{ {355, 257, 2036}, 0, {669, -538}, {255, 255, 255, 255} }},
|
|
{{ {-136, 417, 2036}, 0, {1079, -538}, {255, 255, 255, 255} }},
|
|
{{ {136, 417, 2036}, 0, {875, -538}, {255, 255, 255, 255} }},
|
|
{{ {-355, 257, 2036}, 0, {1283, -538}, {255, 255, 255, 255} }},
|
|
{{ {-136, 417, 2036}, 0, {1079, -538}, {255, 255, 255, 255} }},
|
|
{{ {-439, 0, 2036}, 0, {1489, -538}, {255, 255, 255, 255} }},
|
|
{{ {-355, 257, 2036}, 0, {1284, -538}, {255, 255, 255, 255} }},
|
|
{{ {-355, -257, 2036}, 0, {1694, -538}, {255, 255, 255, 255} }},
|
|
{{ {-243, -176, 1000}, 0, {1741, -8}, {255, 255, 255, 255} }},
|
|
{{ {-93, -285, 1000}, 0, {1946, -8}, {255, 255, 255, 255} }},
|
|
{{ {-136, -417, 2036}, 0, {1899, -538}, {255, 255, 255, 255} }},
|
|
{{ {-355, -257, 2036}, 0, {1693, -538}, {255, 255, 255, 255} }},
|
|
{{ {93, -285, 1000}, 0, {2150, -8}, {255, 255, 255, 255} }},
|
|
{{ {0, -150, 0}, 0, {2048, 504}, {255, 255, 255, 0} }},
|
|
{{ {136, -417, 2036}, 0, {2103, -538}, {255, 255, 255, 255} }},
|
|
{{ {-136, -417, 2036}, 0, {1899, -538}, {255, 255, 255, 255} }},
|
|
{{ {243, -176, 1000}, 0, {307, -8}, {255, 255, 255, 255} }},
|
|
{{ {93, -285, 1000}, 0, {102, -8}, {255, 255, 255, 255} }},
|
|
{{ {88, -121, 0}, 0, {205, 504}, {255, 255, 255, 0} }},
|
|
{{ {355, -257, 2036}, 0, {259, -538}, {255, 255, 255, 255} }},
|
|
{{ {136, -417, 2036}, 0, {55, -538}, {255, 255, 255, 255} }},
|
|
{{ {300, 0, 1000}, 0, {512, -8}, {255, 255, 255, 255} }},
|
|
{{ {143, -46, 0}, 0, {410, 504}, {255, 255, 255, 0} }},
|
|
{{ {439, 0, 2036}, 0, {465, -538}, {255, 255, 255, 255} }},
|
|
{{ {355, -257, 2036}, 0, {260, -538}, {255, 255, 255, 255} }},
|
|
};
|
|
Gfx scarecrow_override_dl[] = {
|
|
gsSPVertex(scarecrow_override_verts + 0, 32, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 3, 4, 0, 0),
|
|
gsSP2Triangles(5, 6, 3, 0, 7, 8, 5, 0),
|
|
gsSP2Triangles(9, 10, 7, 0, 11, 12, 9, 0),
|
|
gsSP2Triangles(13, 14, 11, 0, 15, 16, 17, 0),
|
|
gsSP2Triangles(18, 19, 15, 0, 2, 20, 18, 0),
|
|
gsSP2Triangles(1, 20, 2, 0, 20, 1, 21, 0),
|
|
gsSP2Triangles(20, 21, 22, 0, 4, 1, 0, 0),
|
|
gsSP2Triangles(1, 4, 23, 0, 1, 23, 24, 0),
|
|
gsSP2Triangles(6, 4, 3, 0, 4, 6, 25, 0),
|
|
gsSP2Triangles(4, 25, 26, 0, 8, 6, 5, 0),
|
|
gsSP2Triangles(6, 8, 27, 0, 6, 27, 28, 0),
|
|
gsSP2Triangles(10, 8, 7, 0, 8, 10, 29, 0),
|
|
gsSP2Triangles(8, 29, 30, 0, 12, 10, 9, 0),
|
|
gsSP2Triangles(10, 12, 31, 0, 10, 31, 29, 0),
|
|
gsSP1Triangle(14, 12, 11, 0),
|
|
gsSPVertex(scarecrow_override_verts + 32, 17, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
|
|
gsSP2Triangles(4, 1, 5, 0, 1, 4, 6, 0),
|
|
gsSP2Triangles(1, 6, 7, 0, 8, 9, 10, 0),
|
|
gsSP2Triangles(9, 8, 11, 0, 9, 11, 12, 0),
|
|
gsSP2Triangles(13, 8, 14, 0, 8, 13, 15, 0),
|
|
gsSP1Triangle(8, 15, 16, 0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
Vtx oceff5_override_verts[49] = {
|
|
{{ {88, 121, 0}, 0, {819, 1024}, {255, 255, 255, 0} }},
|
|
{{ {243, 176, 1000}, 0, {717, 0}, {255, 255, 255, 255} }},
|
|
{{ {143, 46, 0}, 0, {614, 1024}, {255, 255, 255, 0} }},
|
|
{{ {0, 150, 0}, 0, {1024, 1024}, {255, 255, 255, 0} }},
|
|
{{ {93, 285, 1000}, 0, {922, 0}, {255, 255, 255, 255} }},
|
|
{{ {-88, 121, 0}, 0, {1229, 1024}, {255, 255, 255, 0} }},
|
|
{{ {-93, 285, 1000}, 0, {1126, 0}, {255, 255, 255, 255} }},
|
|
{{ {-143, 46, 0}, 0, {1434, 1024}, {255, 255, 255, 0} }},
|
|
{{ {-243, 176, 1000}, 0, {1331, 0}, {255, 255, 255, 255} }},
|
|
{{ {-143, -46, 0}, 0, {1638, 1024}, {255, 255, 255, 0} }},
|
|
{{ {-300, 0, 1000}, 0, {1536, 0}, {255, 255, 255, 255} }},
|
|
{{ {-88, -121, 0}, 0, {1843, 1024}, {255, 255, 255, 0} }},
|
|
{{ {-243, -176, 1000}, 0, {1741, 0}, {255, 255, 255, 255} }},
|
|
{{ {0, -150, 0}, 0, {2048, 1024}, {255, 255, 255, 0} }},
|
|
{{ {-93, -285, 1000}, 0, {1946, 0}, {255, 255, 255, 255} }},
|
|
{{ {88, -121, 0}, 0, {205, 1024}, {255, 255, 255, 0} }},
|
|
{{ {93, -285, 1000}, 0, {102, 0}, {255, 255, 255, 255} }},
|
|
{{ {0, -150, 0}, 0, {0, 1024}, {255, 255, 255, 0} }},
|
|
{{ {143, -46, 0}, 0, {410, 1024}, {255, 255, 255, 0} }},
|
|
{{ {243, -176, 1000}, 0, {307, 0}, {255, 255, 255, 255} }},
|
|
{{ {300, 0, 1000}, 0, {512, 0}, {255, 255, 255, 255} }},
|
|
{{ {318, 231, 1846}, 0, {685, -863}, {255, 255, 255, 255} }},
|
|
{{ {393, 0, 1846}, 0, {480, -863}, {255, 255, 255, 255} }},
|
|
{{ {122, 373, 1846}, 0, {890, -863}, {255, 255, 255, 255} }},
|
|
{{ {318, 231, 1846}, 0, {685, -863}, {255, 255, 255, 255} }},
|
|
{{ {-122, 373, 1846}, 0, {1094, -863}, {255, 255, 255, 255} }},
|
|
{{ {122, 373, 1846}, 0, {890, -863}, {255, 255, 255, 255} }},
|
|
{{ {-318, 231, 1846}, 0, {1299, -863}, {255, 255, 255, 255} }},
|
|
{{ {-122, 373, 1846}, 0, {1094, -863}, {255, 255, 255, 255} }},
|
|
{{ {-393, 0, 1846}, 0, {1504, -863}, {255, 255, 255, 255} }},
|
|
{{ {-318, 231, 1846}, 0, {1299, -863}, {255, 255, 255, 255} }},
|
|
{{ {-318, -231, 1846}, 0, {1709, -863}, {255, 255, 255, 255} }},
|
|
{{ {-243, -176, 1000}, 0, {1741, 0}, {255, 255, 255, 255} }},
|
|
{{ {-93, -285, 1000}, 0, {1946, 0}, {255, 255, 255, 255} }},
|
|
{{ {-122, -373, 1846}, 0, {1914, -863}, {255, 255, 255, 255} }},
|
|
{{ {-318, -231, 1846}, 0, {1709, -863}, {255, 255, 255, 255} }},
|
|
{{ {93, -285, 1000}, 0, {2150, 0}, {255, 255, 255, 255} }},
|
|
{{ {0, -150, 0}, 0, {2048, 1024}, {255, 255, 255, 0} }},
|
|
{{ {122, -373, 1846}, 0, {2118, -863}, {255, 255, 255, 255} }},
|
|
{{ {-122, -373, 1846}, 0, {1914, -863}, {255, 255, 255, 255} }},
|
|
{{ {243, -176, 1000}, 0, {307, 0}, {255, 255, 255, 255} }},
|
|
{{ {93, -285, 1000}, 0, {102, 0}, {255, 255, 255, 255} }},
|
|
{{ {88, -121, 0}, 0, {205, 1024}, {255, 255, 255, 0} }},
|
|
{{ {318, -231, 1846}, 0, {275, -863}, {255, 255, 255, 255} }},
|
|
{{ {122, -373, 1846}, 0, {70, -863}, {255, 255, 255, 255} }},
|
|
{{ {300, 0, 1000}, 0, {512, 0}, {255, 255, 255, 255} }},
|
|
{{ {143, -46, 0}, 0, {410, 1024}, {255, 255, 255, 0} }},
|
|
{{ {393, 0, 1846}, 0, {480, -863}, {255, 255, 255, 255} }},
|
|
{{ {318, -231, 1846}, 0, {275, -863}, {255, 255, 255, 255} }},
|
|
};
|
|
Gfx oceff5_override_dl[] = {
|
|
gsSPVertex(oceff5_override_verts + 0, 32, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 3, 4, 0, 0),
|
|
gsSP2Triangles(5, 6, 3, 0, 7, 8, 5, 0),
|
|
gsSP2Triangles(9, 10, 7, 0, 11, 12, 9, 0),
|
|
gsSP2Triangles(13, 14, 11, 0, 15, 16, 17, 0),
|
|
gsSP2Triangles(18, 19, 15, 0, 2, 20, 18, 0),
|
|
gsSP2Triangles(1, 20, 2, 0, 20, 1, 21, 0),
|
|
gsSP2Triangles(20, 21, 22, 0, 4, 1, 0, 0),
|
|
gsSP2Triangles(1, 4, 23, 0, 1, 23, 24, 0),
|
|
gsSP2Triangles(6, 4, 3, 0, 4, 6, 25, 0),
|
|
gsSP2Triangles(4, 25, 26, 0, 8, 6, 5, 0),
|
|
gsSP2Triangles(6, 8, 27, 0, 6, 27, 28, 0),
|
|
gsSP2Triangles(10, 8, 7, 0, 8, 10, 29, 0),
|
|
gsSP2Triangles(8, 29, 30, 0, 12, 10, 9, 0),
|
|
gsSP2Triangles(10, 12, 31, 0, 10, 31, 29, 0),
|
|
gsSP1Triangle(14, 12, 11, 0),
|
|
gsSPVertex(oceff5_override_verts + 32, 17, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
|
|
gsSP2Triangles(4, 1, 5, 0, 1, 4, 6, 0),
|
|
gsSP2Triangles(1, 6, 7, 0, 8, 9, 10, 0),
|
|
gsSP2Triangles(9, 8, 11, 0, 9, 11, 12, 0),
|
|
gsSP2Triangles(13, 8, 14, 0, 8, 13, 15, 0),
|
|
gsSP1Triangle(8, 15, 16, 0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
Vtx oceff6_override_verts[49] = {
|
|
{{ {88, 121, 0}, 0, {819, 1024}, {255, 255, 255, 0} }},
|
|
{{ {243, 176, 1000}, 0, {717, 0}, {255, 255, 255, 255} }},
|
|
{{ {143, 46, 0}, 0, {614, 1024}, {255, 255, 255, 0} }},
|
|
{{ {0, 150, 0}, 0, {1024, 1024}, {255, 255, 255, 0} }},
|
|
{{ {93, 285, 1000}, 0, {922, 0}, {255, 255, 255, 255} }},
|
|
{{ {-88, 121, 0}, 0, {1229, 1024}, {255, 255, 255, 0} }},
|
|
{{ {-93, 285, 1000}, 0, {1126, 0}, {255, 255, 255, 255} }},
|
|
{{ {-143, 46, 0}, 0, {1434, 1024}, {255, 255, 255, 0} }},
|
|
{{ {-243, 176, 1000}, 0, {1331, 0}, {255, 255, 255, 255} }},
|
|
{{ {-143, -46, 0}, 0, {1638, 1024}, {255, 255, 255, 0} }},
|
|
{{ {-300, 0, 1000}, 0, {1536, 0}, {255, 255, 255, 255} }},
|
|
{{ {-88, -121, 0}, 0, {1843, 1024}, {255, 255, 255, 0} }},
|
|
{{ {-243, -176, 1000}, 0, {1741, 0}, {255, 255, 255, 255} }},
|
|
{{ {0, -150, 0}, 0, {2048, 1024}, {255, 255, 255, 0} }},
|
|
{{ {-93, -285, 1000}, 0, {1946, 0}, {255, 255, 255, 255} }},
|
|
{{ {88, -121, 0}, 0, {205, 1024}, {255, 255, 255, 0} }},
|
|
{{ {93, -285, 1000}, 0, {102, 0}, {255, 255, 255, 255} }},
|
|
{{ {0, -150, 0}, 0, {0, 1024}, {255, 255, 255, 0} }},
|
|
{{ {143, -46, 0}, 0, {410, 1024}, {255, 255, 255, 0} }},
|
|
{{ {243, -176, 1000}, 0, {307, 0}, {255, 255, 255, 255} }},
|
|
{{ {300, 0, 1000}, 0, {512, 0}, {255, 255, 255, 255} }},
|
|
{{ {319, 231, 2005}, 0, {685, -1024}, {255, 255, 255, 255} }},
|
|
{{ {394, 0, 2005}, 0, {480, -1024}, {255, 255, 255, 255} }},
|
|
{{ {122, 375, 2005}, 0, {890, -1024}, {255, 255, 255, 255} }},
|
|
{{ {319, 231, 2005}, 0, {685, -1024}, {255, 255, 255, 255} }},
|
|
{{ {-122, 375, 2005}, 0, {1094, -1024}, {255, 255, 255, 255} }},
|
|
{{ {122, 375, 2005}, 0, {890, -1024}, {255, 255, 255, 255} }},
|
|
{{ {-319, 231, 2005}, 0, {1299, -1024}, {255, 255, 255, 255} }},
|
|
{{ {-122, 375, 2005}, 0, {1094, -1024}, {255, 255, 255, 255} }},
|
|
{{ {-394, 0, 2005}, 0, {1504, -1024}, {255, 255, 255, 255} }},
|
|
{{ {-319, 231, 2005}, 0, {1299, -1024}, {255, 255, 255, 255} }},
|
|
{{ {-319, -231, 2005}, 0, {1709, -1024}, {255, 255, 255, 255} }},
|
|
{{ {-243, -176, 1000}, 0, {1741, 0}, {255, 255, 255, 255} }},
|
|
{{ {-93, -285, 1000}, 0, {1946, 0}, {255, 255, 255, 255} }},
|
|
{{ {-122, -375, 2005}, 0, {1914, -1024}, {255, 255, 255, 255} }},
|
|
{{ {-319, -231, 2005}, 0, {1709, -1024}, {255, 255, 255, 255} }},
|
|
{{ {93, -285, 1000}, 0, {2150, 0}, {255, 255, 255, 255} }},
|
|
{{ {0, -150, 0}, 0, {2048, 1024}, {255, 255, 255, 0} }},
|
|
{{ {122, -375, 2005}, 0, {2118, -1024}, {255, 255, 255, 255} }},
|
|
{{ {-122, -375, 2005}, 0, {1914, -1024}, {255, 255, 255, 255} }},
|
|
{{ {243, -176, 1000}, 0, {307, 0}, {255, 255, 255, 255} }},
|
|
{{ {93, -285, 1000}, 0, {102, 0}, {255, 255, 255, 255} }},
|
|
{{ {88, -121, 0}, 0, {205, 1024}, {255, 255, 255, 0} }},
|
|
{{ {319, -231, 2005}, 0, {275, -1024}, {255, 255, 255, 255} }},
|
|
{{ {122, -375, 2005}, 0, {70, -1024}, {255, 255, 255, 255} }},
|
|
{{ {300, 0, 1000}, 0, {512, 0}, {255, 255, 255, 255} }},
|
|
{{ {143, -46, 0}, 0, {410, 1024}, {255, 255, 255, 0} }},
|
|
{{ {394, 0, 2005}, 0, {480, -1024}, {255, 255, 255, 255} }},
|
|
{{ {319, -231, 2005}, 0, {275, -1024}, {255, 255, 255, 255} }},
|
|
};
|
|
Gfx oceff6_override_dl[] = {
|
|
gsSPVertex(oceff6_override_verts + 0, 32, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 3, 4, 0, 0),
|
|
gsSP2Triangles(5, 6, 3, 0, 7, 8, 5, 0),
|
|
gsSP2Triangles(9, 10, 7, 0, 11, 12, 9, 0),
|
|
gsSP2Triangles(13, 14, 11, 0, 15, 16, 17, 0),
|
|
gsSP2Triangles(18, 19, 15, 0, 2, 20, 18, 0),
|
|
gsSP2Triangles(1, 20, 2, 0, 20, 1, 21, 0),
|
|
gsSP2Triangles(20, 21, 22, 0, 4, 1, 0, 0),
|
|
gsSP2Triangles(1, 4, 23, 0, 1, 23, 24, 0),
|
|
gsSP2Triangles(6, 4, 3, 0, 4, 6, 25, 0),
|
|
gsSP2Triangles(4, 25, 26, 0, 8, 6, 5, 0),
|
|
gsSP2Triangles(6, 8, 27, 0, 6, 27, 28, 0),
|
|
gsSP2Triangles(10, 8, 7, 0, 8, 10, 29, 0),
|
|
gsSP2Triangles(8, 29, 30, 0, 12, 10, 9, 0),
|
|
gsSP2Triangles(10, 12, 31, 0, 10, 31, 29, 0),
|
|
gsSP1Triangle(14, 12, 11, 0),
|
|
gsSPVertex(oceff6_override_verts + 32, 17, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
|
|
gsSP2Triangles(4, 1, 5, 0, 1, 4, 6, 0),
|
|
gsSP2Triangles(1, 6, 7, 0, 8, 9, 10, 0),
|
|
gsSP2Triangles(9, 8, 11, 0, 9, 11, 12, 0),
|
|
gsSP2Triangles(13, 8, 14, 0, 8, 13, 15, 0),
|
|
gsSP1Triangle(8, 15, 16, 0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
Vtx healing_override_verts[49] = {
|
|
{{ {88, 121, 0}, 0, {819, 1024}, {255, 255, 255, 0} }},
|
|
{{ {243, 176, 1000}, 0, {717, 0}, {255, 255, 255, 255} }},
|
|
{{ {143, 46, 0}, 0, {614, 1024}, {255, 255, 255, 0} }},
|
|
{{ {0, 150, 0}, 0, {1024, 1024}, {255, 255, 255, 0} }},
|
|
{{ {93, 285, 1000}, 0, {922, 0}, {255, 255, 255, 255} }},
|
|
{{ {-88, 121, 0}, 0, {1229, 1024}, {255, 255, 255, 0} }},
|
|
{{ {-93, 285, 1000}, 0, {1126, 0}, {255, 255, 255, 255} }},
|
|
{{ {-143, 46, 0}, 0, {1434, 1024}, {255, 255, 255, 0} }},
|
|
{{ {-243, 176, 1000}, 0, {1331, 0}, {255, 255, 255, 255} }},
|
|
{{ {-143, -46, 0}, 0, {1638, 1024}, {255, 255, 255, 0} }},
|
|
{{ {-300, 0, 1000}, 0, {1536, 0}, {255, 255, 255, 255} }},
|
|
{{ {-88, -121, 0}, 0, {1843, 1024}, {255, 255, 255, 0} }},
|
|
{{ {-243, -176, 1000}, 0, {1741, 0}, {255, 255, 255, 255} }},
|
|
{{ {0, -150, 0}, 0, {2048, 1024}, {255, 255, 255, 0} }},
|
|
{{ {-93, -285, 1000}, 0, {1946, 0}, {255, 255, 255, 255} }},
|
|
{{ {88, -121, 0}, 0, {205, 1024}, {255, 255, 255, 0} }},
|
|
{{ {93, -285, 1000}, 0, {102, 0}, {255, 255, 255, 255} }},
|
|
{{ {0, -150, 0}, 0, {0, 1024}, {255, 255, 255, 0} }},
|
|
{{ {143, -46, 0}, 0, {410, 1024}, {255, 255, 255, 0} }},
|
|
{{ {243, -176, 1000}, 0, {307, 0}, {255, 255, 255, 255} }},
|
|
{{ {300, 0, 1000}, 0, {512, 0}, {255, 255, 255, 255} }},
|
|
{{ {399, 289, 2168}, 0, {651, -1200}, {255, 255, 255, 255} }},
|
|
{{ {493, 0, 2168}, 0, {446, -1200}, {255, 255, 255, 255} }},
|
|
{{ {153, 468, 2168}, 0, {856, -1200}, {255, 255, 255, 255} }},
|
|
{{ {399, 289, 2168}, 0, {651, -1200}, {255, 255, 255, 255} }},
|
|
{{ {-153, 468, 2168}, 0, {1061, -1200}, {255, 255, 255, 255} }},
|
|
{{ {153, 468, 2168}, 0, {857, -1200}, {255, 255, 255, 255} }},
|
|
{{ {-399, 289, 2168}, 0, {1265, -1200}, {255, 255, 255, 255} }},
|
|
{{ {-153, 468, 2168}, 0, {1060, -1200}, {255, 255, 255, 255} }},
|
|
{{ {-493, 0, 2168}, 0, {1470, -1200}, {255, 255, 255, 255} }},
|
|
{{ {-399, 289, 2168}, 0, {1265, -1200}, {255, 255, 255, 255} }},
|
|
{{ {-399, -289, 2168}, 0, {1675, -1200}, {255, 255, 255, 255} }},
|
|
{{ {-243, -176, 1000}, 0, {1741, 0}, {255, 255, 255, 255} }},
|
|
{{ {-93, -285, 1000}, 0, {1946, 0}, {255, 255, 255, 255} }},
|
|
{{ {-153, -468, 2168}, 0, {1880, -1200}, {255, 255, 255, 255} }},
|
|
{{ {-399, -289, 2168}, 0, {1675, -1200}, {255, 255, 255, 255} }},
|
|
{{ {93, -285, 1000}, 0, {2150, 0}, {255, 255, 255, 255} }},
|
|
{{ {0, -150, 0}, 0, {2048, 1024}, {255, 255, 255, 0} }},
|
|
{{ {153, -468, 2168}, 0, {2085, -1200}, {255, 255, 255, 255} }},
|
|
{{ {-153, -468, 2168}, 0, {1881, -1200}, {255, 255, 255, 255} }},
|
|
{{ {243, -176, 1000}, 0, {307, 0}, {255, 255, 255, 255} }},
|
|
{{ {93, -285, 1000}, 0, {102, 0}, {255, 255, 255, 255} }},
|
|
{{ {88, -121, 0}, 0, {205, 1024}, {255, 255, 255, 0} }},
|
|
{{ {399, -289, 2168}, 0, {241, -1200}, {255, 255, 255, 255} }},
|
|
{{ {153, -468, 2168}, 0, {36, -1200}, {255, 255, 255, 255} }},
|
|
{{ {300, 0, 1000}, 0, {512, 0}, {255, 255, 255, 255} }},
|
|
{{ {143, -46, 0}, 0, {410, 1024}, {255, 255, 255, 0} }},
|
|
{{ {493, 0, 2168}, 0, {446, -1200}, {255, 255, 255, 255} }},
|
|
{{ {399, -289, 2168}, 0, {241, -1200}, {255, 255, 255, 255} }},
|
|
};
|
|
Gfx healing_override_dl[] = {
|
|
gsSPVertex(healing_override_verts + 0, 32, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 3, 4, 0, 0),
|
|
gsSP2Triangles(5, 6, 3, 0, 7, 8, 5, 0),
|
|
gsSP2Triangles(9, 10, 7, 0, 11, 12, 9, 0),
|
|
gsSP2Triangles(13, 14, 11, 0, 15, 16, 17, 0),
|
|
gsSP2Triangles(18, 19, 15, 0, 2, 20, 18, 0),
|
|
gsSP2Triangles(1, 20, 2, 0, 20, 1, 21, 0),
|
|
gsSP2Triangles(20, 21, 22, 0, 4, 1, 0, 0),
|
|
gsSP2Triangles(1, 4, 23, 0, 1, 23, 24, 0),
|
|
gsSP2Triangles(6, 4, 3, 0, 4, 6, 25, 0),
|
|
gsSP2Triangles(4, 25, 26, 0, 8, 6, 5, 0),
|
|
gsSP2Triangles(6, 8, 27, 0, 6, 27, 28, 0),
|
|
gsSP2Triangles(10, 8, 7, 0, 8, 10, 29, 0),
|
|
gsSP2Triangles(8, 29, 30, 0, 12, 10, 9, 0),
|
|
gsSP2Triangles(10, 12, 31, 0, 10, 31, 29, 0),
|
|
gsSP1Triangle(14, 12, 11, 0),
|
|
gsSPVertex(healing_override_verts + 32, 17, 0),
|
|
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
|
|
gsSP2Triangles(4, 1, 5, 0, 1, 4, 6, 0),
|
|
gsSP2Triangles(1, 6, 7, 0, 8, 9, 10, 0),
|
|
gsSP2Triangles(9, 8, 11, 0, 9, 11, 12, 0),
|
|
gsSP2Triangles(13, 8, 14, 0, 8, 13, 15, 0),
|
|
gsSP1Triangle(8, 15, 16, 0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// Sets the flag to 1 for any vertex that has an alpha of 255.
|
|
void set_vertex_flags(Vtx* verts, s32 count) {
|
|
for (s32 i = 0; i < count; i++) {
|
|
if (verts[i].v.cn[3] == 160) {
|
|
verts[i].v.flag = 1;
|
|
}
|
|
else if (verts[i].v.cn[3] == 255) {
|
|
verts[i].v.flag = 2;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Sets the flags for every override vertex list.
|
|
void set_all_vertex_flags() {
|
|
static bool flags_set = false;
|
|
|
|
// Set the flags on all the vertices first if they haven't been set yet.
|
|
if (!flags_set) {
|
|
set_vertex_flags(time_override_verts, ARRAY_COUNT(time_override_verts));
|
|
set_vertex_flags(epona_override_verts, ARRAY_COUNT(epona_override_verts));
|
|
set_vertex_flags(saria_override_verts, ARRAY_COUNT(saria_override_verts));
|
|
set_vertex_flags(scarecrow_override_verts, ARRAY_COUNT(scarecrow_override_verts));
|
|
set_vertex_flags(oceff5_override_verts, ARRAY_COUNT(oceff5_override_verts));
|
|
set_vertex_flags(oceff6_override_verts, ARRAY_COUNT(oceff6_override_verts));
|
|
set_vertex_flags(healing_override_verts, ARRAY_COUNT(healing_override_verts));
|
|
flags_set = true;
|
|
}
|
|
}
|
|
|
|
// Patches the given DL to replace a vertex command at the given position with a branch to the new DL.
|
|
void patch_ocarina_effect(Actor* actor, Gfx* original_dl, u32 dl_offset, Gfx* override_dl) {
|
|
Gfx* reloc_dl = (Gfx*)actor_relocate(actor, original_dl);
|
|
|
|
set_all_vertex_flags();
|
|
|
|
// Check if the DL hasn't been patched yet.
|
|
if (reloc_dl[dl_offset].words.w0 >> 24 == G_VTX) {
|
|
// Redirect the DL away from the original vertex command and to the override DL.
|
|
gSPBranchList(&reloc_dl[dl_offset], override_dl);
|
|
}
|
|
}
|
|
|
|
// Sets the alpha value for every vertex in the list with a set flag value.
|
|
void set_ocarina_vertex_alphas(Vtx* verts, s32 count, u8 alpha) {
|
|
for (s32 i = 0; i < count; i++) {
|
|
if (verts[i].v.flag) {
|
|
verts[i].v.cn[3] = alpha;
|
|
}
|
|
}
|
|
}
|
|
|
|
extern Gfx sSongOfTimeFrustumMaterialDL[];
|
|
|
|
void OceffWipe_Draw(Actor* thisx, PlayState* play) {
|
|
u32 scroll = play->state.frames & 0xFF;
|
|
OceffWipe* this = (OceffWipe*)thisx;
|
|
f32 z;
|
|
s32 pad;
|
|
u8 alphaTable[3];
|
|
s32 i;
|
|
Vec3f eye = GET_ACTIVE_CAM(play)->eye;
|
|
Vtx* vtxPtr;
|
|
Vec3f quakeOffset;
|
|
|
|
// @recomp Tag the effect vertices if they haven't been already.
|
|
set_all_vertex_flags();
|
|
|
|
quakeOffset = Camera_GetQuakeOffset(GET_ACTIVE_CAM(play));
|
|
|
|
OPEN_DISPS(play->state.gfxCtx);
|
|
|
|
if (this->counter < 32) {
|
|
z = Math_SinS(this->counter << 9) * 1360.0f;
|
|
} else {
|
|
z = 1360.0f;
|
|
}
|
|
|
|
if (this->counter >= 80) {
|
|
alphaTable[0] = 0;
|
|
alphaTable[1] = (100 - this->counter) * 8;
|
|
alphaTable[2] = (100 - this->counter) * 12;
|
|
} else {
|
|
alphaTable[0] = 0;
|
|
alphaTable[1] = 160;
|
|
alphaTable[2] = 255;
|
|
}
|
|
|
|
// @recomp Modify this loop to use the vertex's flag instead of a lookup table.
|
|
for (i = 0; i < ARRAY_COUNT(time_override_verts); i++) {
|
|
time_override_verts[i].v.cn[3] = alphaTable[time_override_verts[i].v.flag];
|
|
}
|
|
|
|
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
|
|
|
|
Matrix_Translate(eye.x + quakeOffset.x, eye.y + quakeOffset.y, eye.z + quakeOffset.z, MTXMODE_NEW);
|
|
Matrix_Scale(0.1f, 0.1f, 0.1f, MTXMODE_APPLY);
|
|
Matrix_ReplaceRotation(&play->billboardMtxF);
|
|
Matrix_RotateXS(0x708, MTXMODE_APPLY);
|
|
Matrix_Translate(0.0f, 0.0f, -z, MTXMODE_APPLY);
|
|
|
|
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
|
|
|
if (this->actor.params != OCEFF_WIPE_ZL) {
|
|
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 170, 255, 255, 255);
|
|
gDPSetEnvColor(POLY_XLU_DISP++, 0, 150, 255, 128);
|
|
} else {
|
|
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 200, 255);
|
|
gDPSetEnvColor(POLY_XLU_DISP++, 100, 0, 255, 128);
|
|
}
|
|
|
|
// @recomp Manual relocation, TODO remove when automated.
|
|
gSPDisplayList(POLY_XLU_DISP++, (Gfx*)actor_relocate(thisx, &sSongOfTimeFrustumMaterialDL));
|
|
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0 - scroll, scroll * -2, 32,
|
|
32, 1, 0 - scroll, scroll * -2, 32, 32));
|
|
// @recomp Use the new DL instead of the original.
|
|
gSPDisplayList(POLY_XLU_DISP++, time_override_dl);
|
|
|
|
CLOSE_DISPS(play->state.gfxCtx);
|
|
}
|
|
|
|
extern Gfx sEponaSongFrustumMaterialDL[];
|
|
|
|
void OceffWipe2_Draw(Actor* thisx, PlayState* play) {
|
|
u32 scroll = play->state.frames & 0xFF;
|
|
OceffWipe2* this = (OceffWipe2*)thisx;
|
|
f32 z;
|
|
u8 alpha;
|
|
s32 pad[2];
|
|
Vec3f eye = GET_ACTIVE_CAM(play)->eye;
|
|
Vtx* vtxPtr;
|
|
Vec3f quakeOffset;
|
|
|
|
// @recomp Tag the effect vertices if they haven't been already.
|
|
set_all_vertex_flags();
|
|
|
|
quakeOffset = Camera_GetQuakeOffset(GET_ACTIVE_CAM(play));
|
|
|
|
if (this->timer < 32) {
|
|
z = Math_SinS(this->timer * 0x200) * 1220.0f;
|
|
} else {
|
|
z = 1220.0f;
|
|
}
|
|
|
|
if (this->timer >= 80) {
|
|
alpha = 12 * (100 - this->timer);
|
|
} else {
|
|
alpha = 255;
|
|
}
|
|
|
|
// @recomp Replace the set alpha loop with a vertex flag check instead.
|
|
set_ocarina_vertex_alphas(epona_override_verts, ARRAY_COUNT(epona_override_verts), alpha);
|
|
|
|
OPEN_DISPS(play->state.gfxCtx);
|
|
|
|
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
|
|
|
|
Matrix_Translate(eye.x + quakeOffset.x, eye.y + quakeOffset.y, eye.z + quakeOffset.z, MTXMODE_NEW);
|
|
Matrix_Scale(0.1f, 0.1f, 0.1f, MTXMODE_APPLY);
|
|
Matrix_ReplaceRotation(&play->billboardMtxF);
|
|
Matrix_RotateXS(0x708, MTXMODE_APPLY);
|
|
Matrix_Translate(0.0f, 0.0f, -z, MTXMODE_APPLY);
|
|
|
|
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
|
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 170, 255);
|
|
gDPSetEnvColor(POLY_XLU_DISP++, 255, 100, 0, 128);
|
|
// @recomp Manual relocation, TODO remove when automated.
|
|
gSPDisplayList(POLY_XLU_DISP++, (Gfx*)actor_relocate(thisx, sEponaSongFrustumMaterialDL));
|
|
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, scroll * 6, scroll * -6, 64,
|
|
64, 1, scroll * -6, 0, 64, 64));
|
|
// @recomp Use the new DL instead of the original.
|
|
gSPDisplayList(POLY_XLU_DISP++, epona_override_dl);
|
|
|
|
CLOSE_DISPS(play->state.gfxCtx);
|
|
}
|
|
|
|
extern Gfx sSariaSongFrustrumMaterialDL[];
|
|
|
|
void OceffWipe3_Draw(Actor* thisx, PlayState* play) {
|
|
u32 scroll = play->state.frames & 0xFFF;
|
|
OceffWipe3* this = (OceffWipe3*)thisx;
|
|
f32 z;
|
|
u8 alpha;
|
|
s32 pad[2];
|
|
Vec3f eye = GET_ACTIVE_CAM(play)->eye;
|
|
Vtx* vtxPtr;
|
|
Vec3f quakeOffset;
|
|
|
|
// @recomp Tag the effect vertices if they haven't been already.
|
|
set_all_vertex_flags();
|
|
|
|
quakeOffset = Camera_GetQuakeOffset(GET_ACTIVE_CAM(play));
|
|
|
|
if (this->counter < 32) {
|
|
z = Math_SinS(this->counter * 512) * 1220.0f;
|
|
} else {
|
|
z = 1220.0f;
|
|
}
|
|
|
|
if (this->counter >= 80) {
|
|
alpha = 12 * (100 - this->counter);
|
|
} else {
|
|
alpha = 255;
|
|
}
|
|
|
|
// @recomp Replace the set alpha loop with a vertex flag check instead.
|
|
set_ocarina_vertex_alphas(saria_override_verts, ARRAY_COUNT(saria_override_verts), alpha);
|
|
|
|
OPEN_DISPS(play->state.gfxCtx);
|
|
|
|
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
|
|
Matrix_Translate(eye.x + quakeOffset.x, eye.y + quakeOffset.y, eye.z + quakeOffset.z, MTXMODE_NEW);
|
|
Matrix_Scale(0.1f, 0.1f, 0.1f, MTXMODE_APPLY);
|
|
Matrix_ReplaceRotation(&play->billboardMtxF);
|
|
Matrix_RotateXS(0x708, MTXMODE_APPLY);
|
|
Matrix_Translate(0.0f, 0.0f, -z, MTXMODE_APPLY);
|
|
|
|
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
|
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 170, 255);
|
|
gDPSetEnvColor(POLY_XLU_DISP++, 100, 200, 0, 128);
|
|
// @recomp Manual relocation, TODO remove when automated.
|
|
gSPDisplayList(POLY_XLU_DISP++, (Gfx*)actor_relocate(thisx, &sSariaSongFrustrumMaterialDL));
|
|
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(play->state.gfxCtx, 0, scroll * 12, scroll * -12, 64, 64, 1,
|
|
scroll * 8, scroll * -8, 64, 64));
|
|
// @recomp Use the new DL instead of the original.
|
|
gSPDisplayList(POLY_XLU_DISP++, saria_override_dl);
|
|
|
|
CLOSE_DISPS(play->state.gfxCtx);
|
|
}
|
|
|
|
extern Gfx sScarecrowSongUnusedMaterialDL[];
|
|
extern Gfx sScarecrowSongMaterialDL[];
|
|
extern Gfx sScarecrowSongModelDL[];
|
|
|
|
void OceffWipe4_Draw(Actor* thisx, PlayState* play) {
|
|
u32 scroll = play->state.frames & 0xFFF;
|
|
OceffWipe4* this = (OceffWipe4*)thisx;
|
|
f32 z;
|
|
u8 alpha;
|
|
s32 pad[2];
|
|
Vec3f eye = GET_ACTIVE_CAM(play)->eye;
|
|
Vec3f quakeOffset;
|
|
|
|
// @recomp Apply the patch to the DL if necessary.
|
|
patch_ocarina_effect(thisx, sScarecrowSongModelDL, 11, scarecrow_override_dl);
|
|
|
|
quakeOffset = Camera_GetQuakeOffset(GET_ACTIVE_CAM(play));
|
|
|
|
if (this->counter < 16) {
|
|
z = Math_SinS(this->counter * 0x400) * 1220.0f;
|
|
} else {
|
|
z = 1220.0f;
|
|
}
|
|
|
|
if (this->counter >= 30) {
|
|
alpha = 12 * (50 - this->counter);
|
|
} else {
|
|
alpha = 255;
|
|
}
|
|
|
|
// @recomp Replace the set alpha loop with a vertex flag check instead.
|
|
set_ocarina_vertex_alphas(scarecrow_override_verts, ARRAY_COUNT(scarecrow_override_dl), alpha);
|
|
|
|
OPEN_DISPS(play->state.gfxCtx);
|
|
|
|
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
|
|
|
|
Matrix_Translate(eye.x + quakeOffset.x, eye.y + quakeOffset.y, eye.z + quakeOffset.z, MTXMODE_NEW);
|
|
Matrix_Scale(0.1f, 0.1f, 0.1f, MTXMODE_APPLY);
|
|
Matrix_ReplaceRotation(&play->billboardMtxF);
|
|
Matrix_RotateXS(0x708, MTXMODE_APPLY);
|
|
Matrix_Translate(0.0f, 0.0f, -z, MTXMODE_APPLY);
|
|
|
|
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
|
|
|
// @recomp Manual relocations, TODO remove when automated.
|
|
if (this->actor.params == OCEFF_WIPE4_UNUSED) {
|
|
gSPDisplayList(POLY_XLU_DISP++, (Gfx*)actor_relocate(thisx, sScarecrowSongUnusedMaterialDL));
|
|
} else {
|
|
gSPDisplayList(POLY_XLU_DISP++, (Gfx*)actor_relocate(thisx, sScarecrowSongMaterialDL));
|
|
}
|
|
|
|
gSPDisplayList(POLY_XLU_DISP++, (Gfx*)actor_relocate(thisx, sScarecrowSongModelDL));
|
|
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, scroll * 2, scroll * -2, 32,
|
|
64, 1, scroll * -1, scroll, 32, 32));
|
|
gSPDisplayList(POLY_XLU_DISP++, (Gfx*)actor_relocate(thisx, &sScarecrowSongModelDL[11]));
|
|
|
|
CLOSE_DISPS(play->state.gfxCtx);
|
|
}
|
|
|
|
static u8 sPrimColors[] = {
|
|
255, 255, 200, 255, 255, 200, 200, 255, 255, 255, 255, 200, 255, 200, 255,
|
|
};
|
|
|
|
static u8 sEnvColors[] = {
|
|
50, 200, 0, 255, 50, 0, 0, 100, 255, 255, 150, 0, 255, 0, 200,
|
|
};
|
|
|
|
extern Gfx gOceff5DL[];
|
|
extern AnimatedMaterial gOceff5TexAnim[];
|
|
|
|
void OceffWipe5_Draw(Actor* thisx, PlayState* play) {
|
|
OceffWipe5* this = (OceffWipe5*)thisx;
|
|
f32 z;
|
|
s32 pad;
|
|
s32 i;
|
|
s32 pad2;
|
|
Vec3f activeCamEye = GET_ACTIVE_CAM(play)->eye;
|
|
Camera* activeCam = GET_ACTIVE_CAM(play);
|
|
Vec3f quakeOffset;
|
|
u8 alpha;
|
|
s32 colorIndex = OCEFF_WIPE5_GET_SONG_TYPE(thisx) * 3;
|
|
f32 phi_fv1 = 1220.0f;
|
|
|
|
// @recomp Apply the patch to the DL if necessary.
|
|
patch_ocarina_effect(thisx, gOceff5DL, 21, oceff5_override_dl);
|
|
|
|
if ((((OCEFF_WIPE5_GET_SONG_TYPE(thisx) == 2) && (play->sceneId == SCENE_LABO)) &&
|
|
((play->csCtx.scriptIndex == 0) || (play->csCtx.scriptIndex == 1))) &&
|
|
(play->csCtx.state != CS_STATE_IDLE)) {
|
|
phi_fv1 = 1150.0f;
|
|
}
|
|
|
|
if (colorIndex >= 13) {
|
|
colorIndex = 0;
|
|
}
|
|
|
|
quakeOffset = Camera_GetQuakeOffset(activeCam);
|
|
|
|
if (this->counter < 32) {
|
|
z = Math_SinS(this->counter << 9) * phi_fv1;
|
|
} else {
|
|
z = phi_fv1;
|
|
}
|
|
|
|
if (this->counter >= 80) {
|
|
alpha = 12 * (100 - this->counter);
|
|
} else {
|
|
alpha = 255;
|
|
}
|
|
|
|
// @recomp Replace the set alpha loop with a vertex flag check instead.
|
|
set_ocarina_vertex_alphas(oceff5_override_verts, ARRAY_COUNT(oceff5_override_verts), alpha);
|
|
|
|
OPEN_DISPS(play->state.gfxCtx);
|
|
|
|
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
|
|
|
|
Matrix_Translate(activeCamEye.x + quakeOffset.x, activeCamEye.y + quakeOffset.y, activeCamEye.z + quakeOffset.z,
|
|
MTXMODE_NEW);
|
|
Matrix_Scale(0.1f, 0.1f, 0.1f, MTXMODE_APPLY);
|
|
Matrix_ReplaceRotation(&play->billboardMtxF);
|
|
Matrix_RotateXS(0x708, MTXMODE_APPLY);
|
|
Matrix_Translate(0.0f, 0.0f, -z, MTXMODE_APPLY);
|
|
|
|
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
|
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0x80, sPrimColors[colorIndex], sPrimColors[colorIndex + 1],
|
|
sPrimColors[colorIndex + 2], 255);
|
|
gDPSetEnvColor(POLY_XLU_DISP++, sEnvColors[colorIndex], sEnvColors[colorIndex + 1], sEnvColors[colorIndex + 2],
|
|
255);
|
|
|
|
// @recomp Manual relocations, TODO remove when automated.
|
|
AnimatedMat_Draw(play, (AnimatedMaterial*)actor_relocate(thisx, gOceff5TexAnim));
|
|
gSPDisplayList(POLY_XLU_DISP++, (Gfx*)actor_relocate(thisx, gOceff5DL));
|
|
|
|
CLOSE_DISPS(play->state.gfxCtx);
|
|
}
|
|
|
|
extern Gfx gOceff6DL[];
|
|
extern AnimatedMaterial ovl_Oceff_Wipe6_Matanimheader_000338[];
|
|
|
|
void OceffWipe6_Draw(Actor* thisx, PlayState* play) {
|
|
OceffWipe6* this = (OceffWipe6*)thisx;
|
|
f32 z;
|
|
u8 alpha;
|
|
s32 i;
|
|
s32 counter;
|
|
Vec3f activeCamEye;
|
|
s32 pad;
|
|
Vec3f quakeOffset;
|
|
s32 pad2;
|
|
|
|
// @recomp Apply the patch to the DL if necessary.
|
|
patch_ocarina_effect(thisx, gOceff6DL, 23, oceff6_override_dl);
|
|
|
|
activeCamEye = GET_ACTIVE_CAM(play)->eye;
|
|
quakeOffset = Camera_GetQuakeOffset(GET_ACTIVE_CAM(play));
|
|
|
|
if (this->counter < 32) {
|
|
counter = this->counter;
|
|
z = Math_SinS(counter * 0x200) * 1220.0f;
|
|
} else {
|
|
z = 1220.0f;
|
|
}
|
|
|
|
if (this->counter >= 80) {
|
|
alpha = 12 * (100 - this->counter);
|
|
} else {
|
|
alpha = 255;
|
|
}
|
|
|
|
// @recomp Replace the set alpha loop with a vertex flag check instead.
|
|
set_ocarina_vertex_alphas(oceff6_override_verts, ARRAY_COUNT(oceff6_override_verts), alpha);
|
|
|
|
OPEN_DISPS(play->state.gfxCtx);
|
|
|
|
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
|
|
Matrix_Translate(activeCamEye.x + quakeOffset.x, activeCamEye.y + quakeOffset.y, activeCamEye.z + quakeOffset.z,
|
|
MTXMODE_NEW);
|
|
Matrix_Scale(0.1f, 0.1f, 0.1f, MTXMODE_APPLY);
|
|
Matrix_ReplaceRotation(&play->billboardMtxF);
|
|
Matrix_RotateXS(0x708, MTXMODE_APPLY);
|
|
Matrix_Translate(0.0f, 0.0f, -z, MTXMODE_APPLY);
|
|
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
|
// @recomp Manual relocations, TODO remove these when automatic.
|
|
AnimatedMat_Draw(play, (AnimatedMaterial*)actor_relocate(thisx, ovl_Oceff_Wipe6_Matanimheader_000338));
|
|
gSPDisplayList(POLY_XLU_DISP++, (Gfx*)actor_relocate(thisx, gOceff6DL));
|
|
|
|
CLOSE_DISPS(play->state.gfxCtx);
|
|
}
|
|
|
|
extern Gfx sSongOfHealingEffectFrustumDL[];
|
|
extern AnimatedMaterial sSongofHealingEffectTexAnim[];
|
|
|
|
void OceffWipe7_Draw(Actor* thisx, PlayState* play) {
|
|
OceffWipe7* this = (OceffWipe7*)thisx;
|
|
f32 z;
|
|
u8 alpha;
|
|
s32 i;
|
|
s32 counter;
|
|
Vec3f activeCamEye = GET_ACTIVE_CAM(play)->eye;
|
|
s32 pad;
|
|
Vec3f quakeOffset;
|
|
s32 pad2;
|
|
|
|
// @recomp Apply the patch to the DL if necessary.
|
|
patch_ocarina_effect(thisx, sSongOfHealingEffectFrustumDL, 23, healing_override_dl);
|
|
|
|
quakeOffset = Camera_GetQuakeOffset(GET_ACTIVE_CAM(play));
|
|
|
|
if (this->counter < 32) {
|
|
z = Math_SinS(this->counter * 0x200) * 1220.0f;
|
|
} else {
|
|
z = 1220.0f;
|
|
}
|
|
|
|
if (this->counter >= 80) {
|
|
alpha = 12 * (100 - this->counter);
|
|
} else {
|
|
alpha = 255;
|
|
}
|
|
|
|
// @recomp Replace the set alpha loop with a vertex flag check instead.
|
|
set_ocarina_vertex_alphas(healing_override_verts, ARRAY_COUNT(healing_override_verts), alpha);
|
|
|
|
OPEN_DISPS(play->state.gfxCtx);
|
|
|
|
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
|
|
Matrix_Translate(activeCamEye.x + quakeOffset.x, activeCamEye.y + quakeOffset.y, activeCamEye.z + quakeOffset.z,
|
|
MTXMODE_NEW);
|
|
Matrix_Scale(0.1f, 0.1f, 0.1f, MTXMODE_APPLY);
|
|
Matrix_ReplaceRotation(&play->billboardMtxF);
|
|
Matrix_RotateXS(0x708, MTXMODE_APPLY);
|
|
Matrix_Translate(0.0f, 0.0f, -z, MTXMODE_APPLY);
|
|
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
|
// @recomp Manual relocations, TODO remove when automated.
|
|
AnimatedMat_Draw(play, (AnimatedMaterial*)actor_relocate(thisx, sSongofHealingEffectTexAnim));
|
|
gSPDisplayList(POLY_XLU_DISP++, (Gfx*)actor_relocate(thisx, &sSongOfHealingEffectFrustumDL));
|
|
|
|
CLOSE_DISPS(play->state.gfxCtx);
|
|
}
|