mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-11-21 19:45:10 +00:00
Add support for custom HUD textures and faster texture packs w/o EXTERNAL_DATA
This commit is contained in:
parent
327d97ad06
commit
ad6642a4bd
81 changed files with 4741 additions and 2013 deletions
|
@ -3,22 +3,22 @@
|
|||
// TODO: These 64x64 textures are referenced as two different texture addresses in the DLs
|
||||
|
||||
// 0x0605AA28
|
||||
ALIGNED8 static const u8 impact_smoke_seg6_texture_0605AA28[] = {
|
||||
ALIGNED8 const Texture impact_smoke_seg6_texture_0605AA28[] = {
|
||||
#include "actors/impact_smoke/impact_smoke_0.ia16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0605CA28
|
||||
ALIGNED8 static const u8 impact_smoke_seg6_texture_0605CA28[] = {
|
||||
ALIGNED8 const Texture impact_smoke_seg6_texture_0605CA28[] = {
|
||||
#include "actors/impact_smoke/impact_smoke_1.ia16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0605EA28
|
||||
ALIGNED8 static const u8 impact_smoke_seg6_texture_0605EA28[] = {
|
||||
ALIGNED8 const Texture impact_smoke_seg6_texture_0605EA28[] = {
|
||||
#include "actors/impact_smoke/impact_smoke_2.ia16.inc.c"
|
||||
};
|
||||
|
||||
// 0x06060A28
|
||||
ALIGNED8 static const u8 impact_smoke_seg6_texture_06060A28[] = {
|
||||
ALIGNED8 const Texture impact_smoke_seg6_texture_06060A28[] = {
|
||||
#include "actors/impact_smoke/impact_smoke_3.ia16.inc.c"
|
||||
};
|
||||
|
||||
|
|
|
@ -28,74 +28,43 @@ static const Lights1 luigi_brown2_lights_group = gdSPDefLights1(
|
|||
0x73, 0x06, 0x00, 0x28, 0x28, 0x28
|
||||
);
|
||||
|
||||
ALIGNED8 static const u8 luigi_texture_metal[] = {
|
||||
#include "actors/mario/mario_metal.rgba16.inc.c"
|
||||
};
|
||||
#include "actors/mario/mario_externs.h"
|
||||
#define luigi_texture_metal mario_texture_metal
|
||||
#define luigi_texture_yellow_button mario_texture_yellow_button
|
||||
#define luigi_texture_eyes_left mario_texture_eyes_left
|
||||
#define luigi_texture_eyes_right mario_texture_eyes_right
|
||||
#define luigi_texture_eyes_up mario_texture_eyes_up
|
||||
#define luigi_texture_eyes_down mario_texture_eyes_down
|
||||
#define luigi_texture_eyes_dead mario_texture_eyes_dead
|
||||
#define luigi_texture_wings_half_1 mario_texture_wings_half_1
|
||||
#define luigi_texture_wings_half_2 mario_texture_wings_half_2
|
||||
#define luigi_texture_metal_wings_half_1 mario_texture_metal_wings_half_1
|
||||
#define luigi_texture_metal_wings_half_2 mario_texture_metal_wings_half_2
|
||||
|
||||
ALIGNED8 static const u8 luigi_texture_yellow_button[] = {
|
||||
#include "actors/mario/mario_overalls_button.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 luigi_texture_l_logo[] = {
|
||||
ALIGNED8 const Texture luigi_texture_l_logo[] = {
|
||||
#include "actors/luigi/custom_luigi_logo.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 luigi_texture_hair_sideburn[] = {
|
||||
ALIGNED8 const Texture luigi_texture_hair_sideburn[] = {
|
||||
#include "actors/luigi/custom_luigi_sideburn.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 luigi_texture_mustache[] = {
|
||||
ALIGNED8 const Texture luigi_texture_mustache[] = {
|
||||
#include "actors/luigi/custom_luigi_mustache.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 luigi_texture_eyes_front[] = {
|
||||
ALIGNED8 const Texture luigi_texture_eyes_front[] = {
|
||||
#include "actors/luigi/custom_luigi_eyes_center.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 luigi_texture_eyes_half_closed[] = {
|
||||
ALIGNED8 const Texture luigi_texture_eyes_half_closed[] = {
|
||||
#include "actors/luigi/custom_luigi_eyes_half_closed.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 luigi_texture_eyes_closed[] = {
|
||||
ALIGNED8 const Texture luigi_texture_eyes_closed[] = {
|
||||
#include "actors/luigi/custom_luigi_eyes_closed.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 luigi_texture_eyes_right[] = {
|
||||
#include "actors/mario/mario_eyes_left_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 luigi_texture_eyes_left[] = {
|
||||
#include "actors/mario/mario_eyes_right_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 luigi_texture_eyes_up[] = {
|
||||
#include "actors/mario/mario_eyes_up_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 luigi_texture_eyes_down[] = {
|
||||
#include "actors/mario/mario_eyes_down_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 luigi_texture_eyes_dead[] = {
|
||||
#include "actors/mario/mario_eyes_dead.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 luigi_texture_wings_half_1[] = {
|
||||
#include "actors/mario/mario_wing.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 luigi_texture_wings_half_2[] = {
|
||||
#include "actors/mario/mario_wing_tip.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 luigi_texture_metal_wings_half_1[] = {
|
||||
#include "actors/mario/mario_metal_wing_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 luigi_texture_metal_wings_half_2[] = {
|
||||
#include "actors/mario/mario_metal_wing_tip_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
static const Vtx luigi_butt_dl_vertex[76] = {
|
||||
{{{-7, -65, 43},0, {0, 0},{0xDA, 0x94, 0x38, 0xFF}}},
|
||||
{{{-13, -71, 0},0, {0, 0},{0xD4, 0x89, 0x0, 0xFF}}},
|
||||
|
|
|
@ -23,37 +23,18 @@ static const Lights1 luigi_cap_seg3_lights_white = gdSPDefLights1(
|
|||
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
|
||||
);
|
||||
|
||||
|
||||
// 0x0301CF50
|
||||
ALIGNED8 static const u8 luigi_cap_seg3_texture_0301CF50[] = {
|
||||
#include "actors/mario_cap/mario_cap_metal.rgba16.inc.c"
|
||||
};
|
||||
#include "actors/mario_cap/mario_cap_externs.h"
|
||||
#define luigi_cap_seg3_texture_0301CF50 mario_cap_seg3_texture_0301CF50
|
||||
#define luigi_cap_seg3_texture_0301E750 mario_cap_seg3_texture_0301E750
|
||||
#define luigi_cap_seg3_texture_0301F750 mario_cap_seg3_texture_0301F750
|
||||
#define luigi_cap_seg3_texture_03020750 mario_cap_seg3_texture_03020750
|
||||
#define luigi_cap_seg3_texture_03021750 mario_cap_seg3_texture_03021750
|
||||
|
||||
// 0x0301DF50
|
||||
ALIGNED8 static const u8 luigi_cap_seg3_texture_0301DF50[] = {
|
||||
ALIGNED8 const Texture luigi_cap_seg3_texture_0301DF50[] = {
|
||||
#include "actors/luigi_cap/custom_luigi_cap_logo.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0301E750
|
||||
ALIGNED8 static const u8 luigi_cap_seg3_texture_0301E750[] = {
|
||||
#include "actors/mario_cap/mario_cap_wing.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0301F750
|
||||
ALIGNED8 static const u8 luigi_cap_seg3_texture_0301F750[] = {
|
||||
#include "actors/mario_cap/mario_cap_wing_tip.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x03020750
|
||||
ALIGNED8 static const u8 luigi_cap_seg3_texture_03020750[] = {
|
||||
#include "actors/mario_cap/mario_cap_metal_wing_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x03021750
|
||||
ALIGNED8 static const u8 luigi_cap_seg3_texture_03021750[] = {
|
||||
#include "actors/mario_cap/mario_cap_metal_wing_tip_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x03022750
|
||||
static const Vtx luigi_cap_seg3_vertex_03022750[] = {
|
||||
{{{ 33, 35, 118}, 0, { 728, 758}, {0x30, 0x26, 0x6e, 0xff}}},
|
||||
|
|
19
actors/mario/mario_externs.h
Normal file
19
actors/mario/mario_externs.h
Normal file
|
@ -0,0 +1,19 @@
|
|||
extern ALIGNED8 const Texture mario_texture_metal[];
|
||||
extern ALIGNED8 const Texture mario_texture_yellow_button[];
|
||||
extern ALIGNED8 const Texture mario_texture_m_logo[];
|
||||
extern ALIGNED8 const Texture mario_texture_hair_sideburn[];
|
||||
extern ALIGNED8 const Texture mario_texture_mustache[];
|
||||
extern ALIGNED8 const Texture mario_texture_eyes_front[];
|
||||
extern ALIGNED8 const Texture mario_texture_eyes_half_closed[];
|
||||
extern ALIGNED8 const Texture mario_texture_eyes_closed[];
|
||||
extern ALIGNED8 const Texture mario_texture_eyes_closed_unused1[];
|
||||
extern ALIGNED8 const Texture mario_texture_eyes_closed_unused2[];
|
||||
extern ALIGNED8 const Texture mario_texture_eyes_right[];
|
||||
extern ALIGNED8 const Texture mario_texture_eyes_left[];
|
||||
extern ALIGNED8 const Texture mario_texture_eyes_up[];
|
||||
extern ALIGNED8 const Texture mario_texture_eyes_down[];
|
||||
extern ALIGNED8 const Texture mario_texture_eyes_dead[];
|
||||
extern ALIGNED8 const Texture mario_texture_wings_half_1[];
|
||||
extern ALIGNED8 const Texture mario_texture_wings_half_2[];
|
||||
extern ALIGNED8 const Texture mario_texture_metal_wings_half_1[];
|
||||
extern ALIGNED8 const Texture mario_texture_metal_wings_half_2[];
|
|
@ -37,99 +37,99 @@ static const Lights1 mario_brown2_lights_group = gdSPDefLights1(
|
|||
);
|
||||
|
||||
// 0x04000090
|
||||
ALIGNED8 const u8 mario_texture_metal[] = {
|
||||
ALIGNED8 const Texture mario_texture_metal[] = {
|
||||
#include "actors/mario/mario_metal.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x04001090
|
||||
ALIGNED8 const u8 mario_texture_yellow_button[] = {
|
||||
ALIGNED8 const Texture mario_texture_yellow_button[] = {
|
||||
#include "actors/mario/mario_overalls_button.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x04001890
|
||||
ALIGNED8 const u8 mario_texture_m_logo[] = {
|
||||
ALIGNED8 const Texture mario_texture_m_logo[] = {
|
||||
#include "actors/mario/custom_mario_logo.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x04002090
|
||||
ALIGNED8 const u8 mario_texture_hair_sideburn[] = {
|
||||
ALIGNED8 const Texture mario_texture_hair_sideburn[] = {
|
||||
#include "actors/mario/mario_sideburn.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x04002890
|
||||
ALIGNED8 const u8 mario_texture_mustache[] = {
|
||||
ALIGNED8 const Texture mario_texture_mustache[] = {
|
||||
#include "actors/mario/mario_mustache.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x04003090
|
||||
ALIGNED8 const u8 mario_texture_eyes_front[] = {
|
||||
ALIGNED8 const Texture mario_texture_eyes_front[] = {
|
||||
#include "actors/mario/mario_eyes_center.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x04003890
|
||||
ALIGNED8 const u8 mario_texture_eyes_half_closed[] = {
|
||||
ALIGNED8 const Texture mario_texture_eyes_half_closed[] = {
|
||||
#include "actors/mario/mario_eyes_half_closed.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x04004090
|
||||
ALIGNED8 const u8 mario_texture_eyes_closed[] = {
|
||||
ALIGNED8 const Texture mario_texture_eyes_closed[] = {
|
||||
#include "actors/mario/mario_eyes_closed.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// Unreferenced
|
||||
// 0x04004890
|
||||
ALIGNED8 const u8 mario_texture_eyes_closed_unused1[] = {
|
||||
ALIGNED8 const Texture mario_texture_eyes_closed_unused1[] = {
|
||||
#include "actors/mario/mario_eyes_closed_unused_0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// Unreferenced
|
||||
// 0x04005090
|
||||
ALIGNED8 const u8 mario_texture_eyes_closed_unused2[] = {
|
||||
ALIGNED8 const Texture mario_texture_eyes_closed_unused2[] = {
|
||||
#include "actors/mario/mario_eyes_closed_unused_1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x04005890
|
||||
ALIGNED8 const u8 mario_texture_eyes_right[] = {
|
||||
ALIGNED8 const Texture mario_texture_eyes_right[] = {
|
||||
#include "actors/mario/mario_eyes_left_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x04006090
|
||||
ALIGNED8 const u8 mario_texture_eyes_left[] = {
|
||||
ALIGNED8 const Texture mario_texture_eyes_left[] = {
|
||||
#include "actors/mario/mario_eyes_right_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x04006890
|
||||
ALIGNED8 const u8 mario_texture_eyes_up[] = {
|
||||
ALIGNED8 const Texture mario_texture_eyes_up[] = {
|
||||
#include "actors/mario/mario_eyes_up_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x04007090
|
||||
ALIGNED8 const u8 mario_texture_eyes_down[] = {
|
||||
ALIGNED8 const Texture mario_texture_eyes_down[] = {
|
||||
#include "actors/mario/mario_eyes_down_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x04007890
|
||||
ALIGNED8 const u8 mario_texture_eyes_dead[] = {
|
||||
ALIGNED8 const Texture mario_texture_eyes_dead[] = {
|
||||
#include "actors/mario/mario_eyes_dead.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x04008090
|
||||
ALIGNED8 const u8 mario_texture_wings_half_1[] = {
|
||||
ALIGNED8 const Texture mario_texture_wings_half_1[] = {
|
||||
#include "actors/mario/mario_wing.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x04009090
|
||||
ALIGNED8 const u8 mario_texture_wings_half_2[] = {
|
||||
ALIGNED8 const Texture mario_texture_wings_half_2[] = {
|
||||
#include "actors/mario/mario_wing_tip.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0400A090
|
||||
ALIGNED8 const u8 mario_texture_metal_wings_half_1[] = {
|
||||
ALIGNED8 const Texture mario_texture_metal_wings_half_1[] = {
|
||||
#include "actors/mario/mario_metal_wing_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0400B090
|
||||
ALIGNED8 const u8 mario_texture_metal_wings_half_2[] = {
|
||||
ALIGNED8 const Texture mario_texture_metal_wings_half_2[] = {
|
||||
#include "actors/mario/mario_metal_wing_tip_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
|
6
actors/mario_cap/mario_cap_externs.h
Normal file
6
actors/mario_cap/mario_cap_externs.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
extern ALIGNED8 const Texture mario_cap_seg3_texture_0301CF50[];
|
||||
extern ALIGNED8 const Texture mario_cap_seg3_texture_0301DF50[];
|
||||
extern ALIGNED8 const Texture mario_cap_seg3_texture_0301E750[];
|
||||
extern ALIGNED8 const Texture mario_cap_seg3_texture_0301F750[];
|
||||
extern ALIGNED8 const Texture mario_cap_seg3_texture_03020750[];
|
||||
extern ALIGNED8 const Texture mario_cap_seg3_texture_03021750[];
|
|
@ -19,32 +19,32 @@ static const Lights1 mario_cap_seg3_lights_0301CF38 = gdSPDefLights1(
|
|||
);
|
||||
|
||||
// 0x0301CF50
|
||||
ALIGNED8 static const u8 mario_cap_seg3_texture_0301CF50[] = {
|
||||
ALIGNED8 const Texture mario_cap_seg3_texture_0301CF50[] = {
|
||||
#include "actors/mario_cap/mario_cap_metal.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0301DF50
|
||||
ALIGNED8 static const u8 mario_cap_seg3_texture_0301DF50[] = {
|
||||
ALIGNED8 const Texture mario_cap_seg3_texture_0301DF50[] = {
|
||||
#include "actors/mario_cap/custom_mario_cap_logo.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0301E750
|
||||
ALIGNED8 static const u8 mario_cap_seg3_texture_0301E750[] = {
|
||||
ALIGNED8 const Texture mario_cap_seg3_texture_0301E750[] = {
|
||||
#include "actors/mario_cap/mario_cap_wing.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0301F750
|
||||
ALIGNED8 static const u8 mario_cap_seg3_texture_0301F750[] = {
|
||||
ALIGNED8 const Texture mario_cap_seg3_texture_0301F750[] = {
|
||||
#include "actors/mario_cap/mario_cap_wing_tip.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x03020750
|
||||
ALIGNED8 static const u8 mario_cap_seg3_texture_03020750[] = {
|
||||
ALIGNED8 const Texture mario_cap_seg3_texture_03020750[] = {
|
||||
#include "actors/mario_cap/mario_cap_metal_wing_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x03021750
|
||||
ALIGNED8 static const u8 mario_cap_seg3_texture_03021750[] = {
|
||||
ALIGNED8 const Texture mario_cap_seg3_texture_03021750[] = {
|
||||
#include "actors/mario_cap/mario_cap_metal_wing_tip_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
|
|
@ -1,16 +1,21 @@
|
|||
// Toad player
|
||||
|
||||
#include "actors/mario/mario_externs.h"
|
||||
#define toad_player_texture_metal mario_texture_metal
|
||||
#define toad_player_texture_wings_half_1 mario_texture_wings_half_1
|
||||
#define toad_player_texture_wings_half_2 mario_texture_wings_half_2
|
||||
#define toad_player_texture_metal_wings_half_1 mario_texture_metal_wings_half_1
|
||||
#define toad_player_texture_metal_wings_half_2 mario_texture_metal_wings_half_2
|
||||
|
||||
///////////
|
||||
// metal //
|
||||
///////////
|
||||
|
||||
static const Lights1 toad_player_lights_white = gdSPDefLights1(
|
||||
0x7f, 0x7f, 0x7f,
|
||||
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
|
||||
);
|
||||
|
||||
ALIGNED8 static const u8 toad_player_texture_metal[] = {
|
||||
#include "actors/mario/mario_metal.rgba16.inc.c"
|
||||
};
|
||||
|
||||
const Gfx toad_player_metal_start[] = {
|
||||
gsDPPipeSync(),
|
||||
gsSPSetGeometryMode(G_TEXTURE_GEN),
|
||||
|
@ -40,19 +45,19 @@ static const Lights1 toad_player_lights_face = gdSPDefLights1(
|
|||
0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0x28, 0x28, 0x28
|
||||
);
|
||||
|
||||
ALIGNED8 static const u8 toad_player_texture_face[] = {
|
||||
ALIGNED8 const Texture toad_player_texture_face[] = {
|
||||
#include "actors/toad_player/custom_toad_face.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 toad_player_texture_eyes_closed[] = {
|
||||
ALIGNED8 const Texture toad_player_texture_eyes_closed[] = {
|
||||
#include "actors/toad_player/custom_toad_eyes_closed.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 toad_player_texture_eyes_half_closed[] = {
|
||||
ALIGNED8 const Texture toad_player_texture_eyes_half_closed[] = {
|
||||
#include "actors/toad_player/custom_toad_eyes_half_closed.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 toad_player_texture_eyes_dead[] = {
|
||||
ALIGNED8 const Texture toad_player_texture_eyes_dead[] = {
|
||||
#include "actors/toad_player/custom_toad_eyes_dead.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
@ -374,7 +379,7 @@ const Gfx toad_player_dl_eyes_dead[] = {
|
|||
// hair //
|
||||
//////////
|
||||
|
||||
ALIGNED8 static const u8 toad_player_texture_hair[] = {
|
||||
ALIGNED8 const Texture toad_player_texture_hair[] = {
|
||||
#include "actors/toad_player/custom_toad_hair.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
@ -413,7 +418,7 @@ const Gfx toad_player_dl_hair[] = {
|
|||
// cap //
|
||||
/////////
|
||||
|
||||
ALIGNED8 static const u8 toad_player_texture_cap[] = {
|
||||
ALIGNED8 const Texture toad_player_texture_cap[] = {
|
||||
#include "actors/toad_player/custom_toad_cap.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
@ -819,22 +824,6 @@ static const Lights1 toad_player_lights_wings = gdSPDefLights1(
|
|||
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
|
||||
);
|
||||
|
||||
ALIGNED8 static const u8 toad_player_texture_wings_half_1[] = {
|
||||
#include "actors/mario/mario_wing.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 toad_player_texture_wings_half_2[] = {
|
||||
#include "actors/mario/mario_wing_tip.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 toad_player_texture_metal_wings_half_1[] = {
|
||||
#include "actors/mario/mario_metal_wing_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 toad_player_texture_metal_wings_half_2[] = {
|
||||
#include "actors/mario/mario_metal_wing_tip_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
static const Vtx toad_player_vertex_wings_half_1[] = {
|
||||
{{{ -105, 212, 0}, 0, { 0, 0}, {0x00, 0x00, 0x7f, 0xff}}},
|
||||
{{{ -105, 0, 0}, 0, { 0, 2012}, {0x00, 0x00, 0x7f, 0xff}}},
|
||||
|
|
|
@ -68,18 +68,18 @@ extern Lights1 waluigi_face_2___eye_closed_v3_lights;
|
|||
extern Lights1 waluigi_face_7___eye_X_v3_lights;
|
||||
extern Lights1 waluigi_gloves_v3_lights;
|
||||
extern Lights1 waluigi_shoes_v3_lights;
|
||||
extern u8 waluigi_mario_button_rgba16[];
|
||||
extern u8 waluigi_metal_rgba16[];
|
||||
extern u8 waluigi_custom_waluigi_cap_rgba16[];
|
||||
extern u8 waluigi_waluigi_eyes0_rgba16[];
|
||||
extern u8 waluigi_mario_sideburn_rgba16[];
|
||||
extern u8 waluigi_waluigi_mouth_rgba16[];
|
||||
extern u8 waluigi_waluigi_eyes1_rgba16[];
|
||||
extern u8 waluigi_waluigi_eyes2_rgba16[];
|
||||
extern u8 waluigi_waluigi_eyes3_rgba16[];
|
||||
extern u8 waluigi_wing_2_rgba16[];
|
||||
extern u8 waluigi_wing1_rgba16[];
|
||||
extern u8 waluigi_waluigi_glove_rgba16[];
|
||||
extern ALIGNED8 const Texture waluigi_mario_button_rgba16[];
|
||||
extern ALIGNED8 const Texture waluigi_metal_rgba16[];
|
||||
extern ALIGNED8 const Texture waluigi_custom_waluigi_cap_rgba16[];
|
||||
extern ALIGNED8 const Texture waluigi_waluigi_eyes0_rgba16[];
|
||||
extern ALIGNED8 const Texture waluigi_mario_sideburn_rgba16[];
|
||||
extern ALIGNED8 const Texture waluigi_waluigi_mouth_rgba16[];
|
||||
extern ALIGNED8 const Texture waluigi_waluigi_eyes1_rgba16[];
|
||||
extern ALIGNED8 const Texture waluigi_waluigi_eyes2_rgba16[];
|
||||
extern ALIGNED8 const Texture waluigi_waluigi_eyes3_rgba16[];
|
||||
extern ALIGNED8 const Texture waluigi_wing_2_rgba16[];
|
||||
extern ALIGNED8 const Texture waluigi_wing1_rgba16[];
|
||||
extern ALIGNED8 const Texture waluigi_waluigi_glove_rgba16[];
|
||||
extern Vtx waluigi_000_offset_mesh_layer_1_vtx_0[76];
|
||||
extern Gfx waluigi_000_offset_mesh_layer_1_tri_0[];
|
||||
extern Vtx waluigi_000_offset_001_mesh_layer_1_vtx_0[118];
|
||||
|
|
|
@ -54,63 +54,54 @@ Lights1 waluigi_shoes_v3_lights = gdSPDefLights1(
|
|||
0x7D, 0x3D, 0x0,
|
||||
0xFB, 0x7A, 0x0, 0x28, 0x28, 0x28);
|
||||
|
||||
Gfx waluigi_mario_button_rgba16_aligner[] = {gsSPEndDisplayList()};
|
||||
u8 waluigi_mario_button_rgba16[] = {
|
||||
#include "actors/mario/mario_overalls_button.rgba16.inc.c"
|
||||
};
|
||||
#include "actors/mario/mario_externs.h"
|
||||
#define waluigi_metal_rgba16 mario_texture_metal
|
||||
#define waluigi_mario_button_rgba16 mario_texture_yellow_button
|
||||
#define waluigi_mario_sideburn_rgba16 mario_texture_hair_sideburn
|
||||
#define waluigi_wing1_rgba16 mario_texture_wings_half_1
|
||||
#define waluigi_wing_2_rgba16 mario_texture_wings_half_2
|
||||
|
||||
Gfx waluigi_mario_button_rgba16_aligner[] = {gsSPEndDisplayList()};
|
||||
Gfx waluigi_metal_rgba16_aligner[] = {gsSPEndDisplayList()};
|
||||
u8 waluigi_metal_rgba16[] = {
|
||||
#include "actors/mario/mario_metal.rgba16.inc.c"
|
||||
};
|
||||
|
||||
Gfx waluigi_custom_waluigi_cap_rgba16_aligner[] = {gsSPEndDisplayList()};
|
||||
u8 waluigi_custom_waluigi_cap_rgba16[] = {
|
||||
ALIGNED8 const Texture waluigi_custom_waluigi_cap_rgba16[] = {
|
||||
#include "actors/waluigi/custom_waluigi_cap.rgba16.inc.c"
|
||||
};
|
||||
|
||||
Gfx waluigi_waluigi_eyes0_rgba16_aligner[] = {gsSPEndDisplayList()};
|
||||
u8 waluigi_waluigi_eyes0_rgba16[] = {
|
||||
ALIGNED8 const Texture waluigi_waluigi_eyes0_rgba16[] = {
|
||||
#include "actors/waluigi/custom_waluigi_eyes0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
Gfx waluigi_mario_sideburn_rgba16_aligner[] = {gsSPEndDisplayList()};
|
||||
u8 waluigi_mario_sideburn_rgba16[] = {
|
||||
#include "actors/mario/mario_sideburn.rgba16.inc.c"
|
||||
};
|
||||
|
||||
Gfx waluigi_waluigi_mouth_rgba16_aligner[] = {gsSPEndDisplayList()};
|
||||
u8 waluigi_waluigi_mouth_rgba16[] = {
|
||||
ALIGNED8 const Texture waluigi_waluigi_mouth_rgba16[] = {
|
||||
#include "actors/waluigi/custom_waluigi_mouth.rgba16.inc.c"
|
||||
};
|
||||
|
||||
Gfx waluigi_waluigi_eyes1_rgba16_aligner[] = {gsSPEndDisplayList()};
|
||||
u8 waluigi_waluigi_eyes1_rgba16[] = {
|
||||
ALIGNED8 const Texture waluigi_waluigi_eyes1_rgba16[] = {
|
||||
#include "actors/waluigi/custom_waluigi_eyes1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
Gfx waluigi_waluigi_eyes2_rgba16_aligner[] = {gsSPEndDisplayList()};
|
||||
u8 waluigi_waluigi_eyes2_rgba16[] = {
|
||||
ALIGNED8 const Texture waluigi_waluigi_eyes2_rgba16[] = {
|
||||
#include "actors/waluigi/custom_waluigi_eyes2.rgba16.inc.c"
|
||||
};
|
||||
|
||||
Gfx waluigi_waluigi_eyes3_rgba16_aligner[] = {gsSPEndDisplayList()};
|
||||
u8 waluigi_waluigi_eyes3_rgba16[] = {
|
||||
ALIGNED8 const Texture waluigi_waluigi_eyes3_rgba16[] = {
|
||||
#include "actors/waluigi/custom_waluigi_eyes3.rgba16.inc.c"
|
||||
};
|
||||
|
||||
Gfx waluigi_wing_2_rgba16_aligner[] = {gsSPEndDisplayList()};
|
||||
u8 waluigi_wing_2_rgba16[] = {
|
||||
#include "actors/mario/mario_wing_tip.rgba16.inc.c"
|
||||
};
|
||||
|
||||
Gfx waluigi_wing1_rgba16_aligner[] = {gsSPEndDisplayList()};
|
||||
u8 waluigi_wing1_rgba16[] = {
|
||||
#include "actors/mario/mario_wing.rgba16.inc.c"
|
||||
};
|
||||
|
||||
Gfx waluigi_waluigi_glove_rgba16_aligner[] = {gsSPEndDisplayList()};
|
||||
u8 waluigi_waluigi_glove_rgba16[] = {
|
||||
ALIGNED8 const Texture waluigi_waluigi_glove_rgba16[] = {
|
||||
#include "actors/waluigi/custom_waluigi_glove.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
|
|
@ -18,36 +18,18 @@ static const Lights1 waluigi_cap_seg3_lights_0301CF38 = gdSPDefLights1(
|
|||
0xff, 0x00, 0x00, 0x28, 0x28, 0x28
|
||||
);
|
||||
|
||||
// 0x0301CF50
|
||||
ALIGNED8 static const u8 waluigi_cap_seg3_texture_0301CF50[] = {
|
||||
#include "actors/mario/mario_metal.rgba16.inc.c"
|
||||
};
|
||||
#include "actors/mario_cap/mario_cap_externs.h"
|
||||
#define waluigi_cap_seg3_texture_0301CF50 mario_cap_seg3_texture_0301CF50
|
||||
#define waluigi_cap_seg3_texture_0301E750 mario_cap_seg3_texture_0301E750
|
||||
#define waluigi_cap_seg3_texture_0301F750 mario_cap_seg3_texture_0301F750
|
||||
#define waluigi_cap_seg3_texture_03020750 mario_cap_seg3_texture_03020750
|
||||
#define waluigi_cap_seg3_texture_03021750 mario_cap_seg3_texture_03021750
|
||||
|
||||
// 0x0301DF50
|
||||
ALIGNED8 static const u8 waluigi_cap_seg3_texture_0301DF50[] = {
|
||||
ALIGNED8 const Texture waluigi_cap_seg3_texture_0301DF50[] = {
|
||||
#include "actors/waluigi/custom_waluigi_cap.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0301E750
|
||||
ALIGNED8 static const u8 waluigi_cap_seg3_texture_0301E750[] = {
|
||||
#include "actors/mario/mario_wing.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0301F750
|
||||
ALIGNED8 static const u8 waluigi_cap_seg3_texture_0301F750[] = {
|
||||
#include "actors/mario/mario_wing_tip.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x03020750
|
||||
ALIGNED8 static const u8 waluigi_cap_seg3_texture_03020750[] = {
|
||||
#include "actors/mario/mario_metal_wing_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x03021750
|
||||
ALIGNED8 static const u8 waluigi_cap_seg3_texture_03021750[] = {
|
||||
#include "actors/mario/mario_metal_wing_tip_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x03022750
|
||||
static const Vtx waluigi_cap_seg3_vertex_03022750[] = {
|
||||
{{{ 33, 35, 118}, 0, { 728, 758}, {0x30, 0x26, 0x6e, 0xff}}},
|
||||
|
|
|
@ -38,74 +38,61 @@ static const Lights1 wario_pink_lights_group = gdSPDefLights1(
|
|||
0xFF, 0x6F, 0xAF, 0x28, 0x28, 0x28
|
||||
);
|
||||
|
||||
ALIGNED8 static const u8 wario_texture_metal[] = {
|
||||
#include "actors/mario/mario_metal.rgba16.inc.c"
|
||||
};
|
||||
#include "actors/mario/mario_externs.h"
|
||||
#define wario_texture_metal mario_texture_metal
|
||||
#define wario_texture_wings_half_1 mario_texture_wings_half_1
|
||||
#define wario_texture_wings_half_2 mario_texture_wings_half_2
|
||||
#define wario_texture_metal_wings_half_1 mario_texture_metal_wings_half_1
|
||||
#define wario_texture_metal_wings_half_2 mario_texture_metal_wings_half_2
|
||||
|
||||
ALIGNED8 static const u8 wario_texture_white_button[] = {
|
||||
ALIGNED8 const Texture wario_texture_white_button[] = {
|
||||
#include "actors/wario/custom_wario_overalls_button.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 wario_texture_w_logo[] = {
|
||||
ALIGNED8 const Texture wario_texture_w_logo[] = {
|
||||
#include "actors/wario/custom_wario_logo.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 wario_texture_hair_sideburn[] = {
|
||||
ALIGNED8 const Texture wario_texture_hair_sideburn[] = {
|
||||
#include "actors/wario/custom_wario_sideburn.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 wario_texture_mouth[] = {
|
||||
ALIGNED8 const Texture wario_texture_mouth[] = {
|
||||
#include "actors/wario/custom_wario_mouth.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 wario_texture_eyes_front[] = {
|
||||
ALIGNED8 const Texture wario_texture_eyes_front[] = {
|
||||
#include "actors/wario/custom_wario_eyes_center.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 wario_texture_eyes_half_closed[] = {
|
||||
ALIGNED8 const Texture wario_texture_eyes_half_closed[] = {
|
||||
#include "actors/wario/custom_wario_eyes_half_closed.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 wario_texture_eyes_closed[] = {
|
||||
ALIGNED8 const Texture wario_texture_eyes_closed[] = {
|
||||
#include "actors/wario/custom_wario_eyes_closed.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 wario_texture_eyes_right[] = {
|
||||
ALIGNED8 const Texture wario_texture_eyes_right[] = {
|
||||
#include "actors/wario/custom_wario_eyes_left_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 wario_texture_eyes_left[] = {
|
||||
ALIGNED8 const Texture wario_texture_eyes_left[] = {
|
||||
#include "actors/wario/custom_wario_eyes_right_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 wario_texture_eyes_up[] = {
|
||||
ALIGNED8 const Texture wario_texture_eyes_up[] = {
|
||||
#include "actors/wario/custom_wario_eyes_up_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 wario_texture_eyes_down[] = {
|
||||
ALIGNED8 const Texture wario_texture_eyes_down[] = {
|
||||
#include "actors/wario/custom_wario_eyes_down_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 wario_texture_eyes_dead[] = {
|
||||
ALIGNED8 const Texture wario_texture_eyes_dead[] = {
|
||||
#include "actors/wario/custom_wario_eyes_dead.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 wario_texture_wings_half_1[] = {
|
||||
#include "actors/mario/mario_wing.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 wario_texture_wings_half_2[] = {
|
||||
#include "actors/mario/mario_wing_tip.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 wario_texture_metal_wings_half_1[] = {
|
||||
#include "actors/mario/mario_metal_wing_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
ALIGNED8 static const u8 wario_texture_metal_wings_half_2[] = {
|
||||
#include "actors/mario/mario_metal_wing_tip_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
Vtx wario_000_offset_pelvis_mesh_layer_1_vtx_0[76] = {
|
||||
{{{73, 17, 0},0, {-16, -16},{0x7F, 0x4, 0x0, 0xFF}}},
|
||||
{{{46, -95, -54},0, {-16, -16},{0x64, 0xB5, 0xE8, 0xFF}}},
|
||||
|
|
|
@ -23,37 +23,18 @@ static const Lights1 wario_cap_seg3_lights_white = gdSPDefLights1(
|
|||
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
|
||||
);
|
||||
|
||||
|
||||
// 0x0301CF50
|
||||
ALIGNED8 static const u8 wario_cap_seg3_texture_0301CF50[] = {
|
||||
#include "actors/mario_cap/mario_cap_metal.rgba16.inc.c"
|
||||
};
|
||||
#include "actors/mario_cap/mario_cap_externs.h"
|
||||
#define wario_cap_seg3_texture_0301CF50 mario_cap_seg3_texture_0301CF50
|
||||
#define wario_cap_seg3_texture_0301E750 mario_cap_seg3_texture_0301E750
|
||||
#define wario_cap_seg3_texture_0301F750 mario_cap_seg3_texture_0301F750
|
||||
#define wario_cap_seg3_texture_03020750 mario_cap_seg3_texture_03020750
|
||||
#define wario_cap_seg3_texture_03021750 mario_cap_seg3_texture_03021750
|
||||
|
||||
// 0x0301DF50
|
||||
ALIGNED8 static const u8 wario_cap_seg3_texture_0301DF50[] = {
|
||||
ALIGNED8 const Texture wario_cap_seg3_texture_0301DF50[] = {
|
||||
#include "actors/wario_cap/custom_wario_cap_logo.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0301E750
|
||||
ALIGNED8 static const u8 wario_cap_seg3_texture_0301E750[] = {
|
||||
#include "actors/mario_cap/mario_cap_wing.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0301F750
|
||||
ALIGNED8 static const u8 wario_cap_seg3_texture_0301F750[] = {
|
||||
#include "actors/mario_cap/mario_cap_wing_tip.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x03020750
|
||||
ALIGNED8 static const u8 wario_cap_seg3_texture_03020750[] = {
|
||||
#include "actors/mario_cap/mario_cap_metal_wing_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x03021750
|
||||
ALIGNED8 static const u8 wario_cap_seg3_texture_03021750[] = {
|
||||
#include "actors/mario_cap/mario_cap_metal_wing_tip_unused.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x03022750
|
||||
static const Vtx wario_cap_seg3_vertex_03022750[] = {
|
||||
{{{ 33, 35, 118}, 0, { 728, 758}, {0x30, 0x26, 0x6e, 0xff}}},
|
||||
|
|
|
@ -87,6 +87,7 @@ override_disallowed_functions = {
|
|||
"src/game/camera.h": [ "update_camera", "init_camera", "stub_camera", "^reset_camera", "move_point_along_spline" ],
|
||||
"src/game/behavior_actions.h": [ "bhv_dust_smoke_loop", "bhv_init_room" ],
|
||||
"src/pc/lua/utils/smlua_audio_utils.h": [ "smlua_audio_utils_override"],
|
||||
"src/pc/djui/djui_hud_utils.h": [ "djui_hud_render_texture", "djui_hud_render_texture_raw" ],
|
||||
}
|
||||
|
||||
lua_function_params = {
|
||||
|
@ -157,6 +158,8 @@ manual_index_documentation = """
|
|||
- [network_send_object](#network_send_object)
|
||||
- [network_send_to](#network_send_to)
|
||||
- [network_send](#network_send)
|
||||
- [djui_hud_render_texture](#djui_hud_render_texture)
|
||||
- [get_texture_info](#get_texture_info)
|
||||
|
||||
<br />
|
||||
|
||||
|
@ -283,6 +286,54 @@ The `reliable` field will ensure that the packet arrives, but should be used spa
|
|||
|
||||
<br />
|
||||
|
||||
## [djui_hud_render_texture](#djui_hud_render_texture)
|
||||
|
||||
Renders a texture to the screen.
|
||||
|
||||
### Lua Example
|
||||
`djui_hud_render_texture(texInfo, x, y, scaleW, scaleH)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| texInfo | [TextureInfo](structs.md#TextureInfo) |
|
||||
| x | `number` |
|
||||
| y | `number` |
|
||||
| scaleW | `number` |
|
||||
| scaleH | `number` |
|
||||
|
||||
### Returns
|
||||
- None
|
||||
|
||||
### C Prototype
|
||||
`void djui_hud_render_texture(struct TextureInfo* texInfo, f32 x, f32 y, f32 scaleW, f32 scaleH);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [get_texture_info](#get_texture_info)
|
||||
|
||||
Retrieves a texture by name.
|
||||
|
||||
### Lua Example
|
||||
`get_texture_info(textureName)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| textureName | `string` |
|
||||
|
||||
### Returns
|
||||
- [TextureInfo](structs.md#TextureInfo)
|
||||
|
||||
### C Prototype
|
||||
`N/A`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
"""
|
||||
|
||||
############################################################################
|
||||
|
|
|
@ -3609,16 +3609,6 @@ function djui_hud_render_rect(x, y, width, height)
|
|||
-- ...
|
||||
end
|
||||
|
||||
--- @param texInfo TextureInfo
|
||||
--- @param x number
|
||||
--- @param y number
|
||||
--- @param scaleW number
|
||||
--- @param scaleH number
|
||||
--- @return nil
|
||||
function djui_hud_render_texture(texInfo, x, y, scaleW, scaleH)
|
||||
-- ...
|
||||
end
|
||||
|
||||
--- @param r integer
|
||||
--- @param g integer
|
||||
--- @param b integer
|
||||
|
|
28
bin/effect.c
28
bin/effect.c
|
@ -10,22 +10,22 @@ UNUSED static const u64 effect_unused_0 = 0;
|
|||
|
||||
// Flower (Unused)
|
||||
// 0x0B000008
|
||||
ALIGNED8 static const Texture effect_0B000008[] = {
|
||||
ALIGNED8 const Texture effect_0B000008[] = {
|
||||
#include "textures/effect/flower.00008.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0B000808
|
||||
ALIGNED8 static const Texture effect_0B000808[] = {
|
||||
ALIGNED8 const Texture effect_0B000808[] = {
|
||||
#include "textures/effect/flower.00808.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0B001008
|
||||
ALIGNED8 static const Texture effect_0B001008[] = {
|
||||
ALIGNED8 const Texture effect_0B001008[] = {
|
||||
#include "textures/effect/flower.01008.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0B001808
|
||||
ALIGNED8 static const Texture effect_0B001808[] = {
|
||||
ALIGNED8 const Texture effect_0B001808[] = {
|
||||
#include "textures/effect/flower.01808.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
@ -41,42 +41,42 @@ const Texture *const flower_bubbles_textures_ptr_0B002008[] = {
|
|||
|
||||
// Lava Bubble
|
||||
// 0x0B002020
|
||||
ALIGNED8 static const Texture effect_0B002020[] = {
|
||||
ALIGNED8 const Texture effect_0B002020[] = {
|
||||
#include "textures/effect/lava_bubble.02020.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0B002820
|
||||
ALIGNED8 static const Texture effect_0B002820[] = {
|
||||
ALIGNED8 const Texture effect_0B002820[] = {
|
||||
#include "textures/effect/lava_bubble.02820.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0B003020
|
||||
ALIGNED8 static const Texture effect_0B003020[] = {
|
||||
ALIGNED8 const Texture effect_0B003020[] = {
|
||||
#include "textures/effect/lava_bubble.03020.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0B003820
|
||||
ALIGNED8 static const Texture effect_0B003820[] = {
|
||||
ALIGNED8 const Texture effect_0B003820[] = {
|
||||
#include "textures/effect/lava_bubble.03820.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0B004020
|
||||
ALIGNED8 static const Texture effect_0B004020[] = {
|
||||
ALIGNED8 const Texture effect_0B004020[] = {
|
||||
#include "textures/effect/lava_bubble.04020.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0B004820
|
||||
ALIGNED8 static const Texture effect_0B004820[] = {
|
||||
ALIGNED8 const Texture effect_0B004820[] = {
|
||||
#include "textures/effect/lava_bubble.04820.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0B005020
|
||||
ALIGNED8 static const Texture effect_0B005020[] = {
|
||||
ALIGNED8 const Texture effect_0B005020[] = {
|
||||
#include "textures/effect/lava_bubble.05020.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0B005820
|
||||
ALIGNED8 static const Texture effect_0B005820[] = {
|
||||
ALIGNED8 const Texture effect_0B005820[] = {
|
||||
#include "textures/effect/lava_bubble.05820.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
@ -96,7 +96,7 @@ const Texture *const lava_bubble_ptr_0B006020[] = {
|
|||
|
||||
// Bubble
|
||||
// 0x0B006048
|
||||
ALIGNED8 static const Texture effect_0B006048[] = {
|
||||
ALIGNED8 const Texture effect_0B006048[] = {
|
||||
#include "textures/effect/bubble.06048.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
@ -137,7 +137,7 @@ const Gfx tiny_bubble_dl_0B006AB0[] = {
|
|||
};
|
||||
|
||||
// 0x0B006AD8
|
||||
ALIGNED8 static const Texture effect_0B006AD8[] = {
|
||||
ALIGNED8 const Texture effect_0B006AD8[] = {
|
||||
#include "textures/effect/tiny_bubble.06AD8.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
|
876
bin/segment2.c
876
bin/segment2.c
File diff suppressed because it is too large
Load diff
|
@ -72,42 +72,42 @@ const Gfx title_screen_bg_dl_0A000190[] = {
|
|||
};
|
||||
|
||||
// 0x0A0001C0
|
||||
ALIGNED8 static const Texture title_texture_0A0001C0[] = {
|
||||
ALIGNED8 const Texture title_texture_0A0001C0[] = {
|
||||
#include "textures/title_screen_bg/title_screen_bg.001C0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0A000E40
|
||||
ALIGNED8 static const Texture title_texture_0A000E40[] = {
|
||||
ALIGNED8 const Texture title_texture_0A000E40[] = {
|
||||
#include "textures/title_screen_bg/title_screen_bg.00E40.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0A001AC0
|
||||
ALIGNED8 static const Texture title_texture_0A001AC0[] = {
|
||||
ALIGNED8 const Texture title_texture_0A001AC0[] = {
|
||||
#include "textures/title_screen_bg/title_screen_bg.01AC0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0A002740
|
||||
ALIGNED8 static const Texture title_texture_0A002740[] = {
|
||||
ALIGNED8 const Texture title_texture_0A002740[] = {
|
||||
#include "textures/title_screen_bg/title_screen_bg.02740.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0A0033C0
|
||||
ALIGNED8 static const Texture title_texture_0A0033C0[] = {
|
||||
ALIGNED8 const Texture title_texture_0A0033C0[] = {
|
||||
#include "textures/title_screen_bg/title_screen_bg.033C0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0A004040
|
||||
ALIGNED8 static const Texture title_texture_0A004040[] = {
|
||||
ALIGNED8 const Texture title_texture_0A004040[] = {
|
||||
#include "textures/title_screen_bg/title_screen_bg.04040.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0A004CC0
|
||||
ALIGNED8 static const Texture title_texture_0A004CC0[] = {
|
||||
ALIGNED8 const Texture title_texture_0A004CC0[] = {
|
||||
#include "textures/title_screen_bg/title_screen_bg.04CC0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0A005940
|
||||
ALIGNED8 static const Texture title_texture_0A005940[] = {
|
||||
ALIGNED8 const Texture title_texture_0A005940[] = {
|
||||
#include "textures/title_screen_bg/title_screen_bg.05940.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
|
|
@ -38,6 +38,10 @@ const void* dynos_geolayout_get(const char *name);
|
|||
void dynos_add_collision(const char *filePath, const char* collisionName);
|
||||
Collision* dynos_collision_get(const char* collisionName);
|
||||
|
||||
// -- textures -- //
|
||||
void dynos_add_texture(const char *filePath, const char* textureName);
|
||||
bool dynos_texture_get(const char* textureName, struct TextureInfo* outTextureInfo);
|
||||
|
||||
// -- movtexqcs -- //
|
||||
void dynos_movtexqc_register(const char* name, s16 level, s16 area, s16 type);
|
||||
struct MovtexQuadCollection* dynos_movtexqc_get_from_id(u32 id);
|
||||
|
|
|
@ -38,6 +38,7 @@ enum {
|
|||
DATA_TYPE_LIGHT_T,
|
||||
DATA_TYPE_AMBIENT_T,
|
||||
DATA_TYPE_TEXTURE_LIST,
|
||||
DATA_TYPE_TEXTURE_RAW,
|
||||
DATA_TYPE_UNUSED,
|
||||
};
|
||||
|
||||
|
@ -457,6 +458,7 @@ struct PackData {
|
|||
SysPath mPath;
|
||||
String mDisplayName;
|
||||
Array<Pair<const char *, GfxData *>> mGfxData;
|
||||
Array<DataNode<TexData>*> mTextures;
|
||||
};
|
||||
|
||||
typedef Pair<String, const u8 *> Label;
|
||||
|
@ -719,6 +721,7 @@ const Collision* DynOS_Builtin_LvlCol_GetFromName(const char* aDataName);
|
|||
const char* DynOS_Builtin_LvlCol_GetFromData(const Collision* aData);
|
||||
const Texture* DynOS_Builtin_Tex_GetFromName(const char* aDataName);
|
||||
const char* DynOS_Builtin_Tex_GetFromData(const Texture* aData);
|
||||
const char* DynOS_Builtin_Tex_GetNameFromFileName(const char* aDataName);
|
||||
const void* DynOS_Builtin_Func_GetFromName(const char* aDataName);
|
||||
const void* DynOS_Builtin_Func_GetFromIndex(s32 aIndex);
|
||||
s32 DynOS_Builtin_Func_GetIndexFromData(const void* aData);
|
||||
|
@ -735,6 +738,8 @@ PackData* DynOS_Pack_Add(const SysPath& aPath);
|
|||
void DynOS_Pack_Init();
|
||||
Pair<const char *, GfxData *>* DynOS_Pack_GetActor(PackData* aPackData, const char* aActorName);
|
||||
void DynOS_Pack_AddActor(PackData* aPackData, const char* aActorName, GfxData* aGfxData);
|
||||
DataNode<TexData>* DynOS_Pack_GetTex(PackData* aPackData, const char* aTexName);
|
||||
void DynOS_Pack_AddTex(PackData* aPackData, DataNode<TexData>* aTexData);
|
||||
|
||||
//
|
||||
// Actor Manager
|
||||
|
@ -763,6 +768,10 @@ void DynOS_Tex_Invalid(GfxData* aGfxData);
|
|||
void DynOS_Tex_Update();
|
||||
u8 *DynOS_Tex_ConvertToRGBA32(const u8 *aData, u64 aLength, s32 aFormat, s32 aSize, const u8 *aPalette);
|
||||
bool DynOS_Tex_Import(void **aOutput, void *aPtr, s32 aTile, void *aGfxRApi, void **aHashMap, void *aPool, u32 *aPoolPos, u32 aPoolSize);
|
||||
void DynOS_Tex_Activate(DataNode<TexData>* aNode, bool aCustomTexture);
|
||||
void DynOS_Tex_Deactivate(DataNode<TexData>* aNode);
|
||||
void DynOS_Tex_AddCustom(const SysPath &aFilename, const char *aTexName);
|
||||
bool DynOS_Tex_Get(const char* aTexName, struct TextureInfo* aOutTexInfo);
|
||||
|
||||
//
|
||||
// Lvl Manager
|
||||
|
@ -862,8 +871,10 @@ DataNode<u8>* DynOS_Rooms_Load(FILE *aFile, GfxData *aGfxData);
|
|||
|
||||
DataNode<TexData>* DynOS_Tex_Parse(GfxData* aGfxData, DataNode<TexData>* aNode);
|
||||
void DynOS_Tex_Write(FILE* aFile, GfxData* aGfxData, DataNode<TexData> *aNode);
|
||||
void DynOS_Tex_Load(FILE *aFile, GfxData *aGfxData);
|
||||
DataNode<TexData>* DynOS_Tex_Load(FILE *aFile, GfxData *aGfxData);
|
||||
DataNode<TexData>* DynOS_Tex_LoadFromBinary(const SysPath &aPackFolder, const SysPath &aFilename, const char *aTexName, bool aAddToPack);
|
||||
void DynOS_Tex_ConvertTextureDataToPng(GfxData *aGfxData, TexData* aTexture);
|
||||
void DynOS_Tex_GeneratePack(const SysPath &aPackFolder, SysPath &aOutputFolder);
|
||||
|
||||
DataNode<TexData*>* DynOS_TexList_Parse(GfxData* aGfxData, DataNode<TexData*>* aNode);
|
||||
void DynOS_TexList_Write(FILE* aFile, GfxData* aGfxData, DataNode<TexData*> *aNode);
|
||||
|
|
|
@ -8,15 +8,46 @@ extern "C" {
|
|||
// Utils //
|
||||
///////////
|
||||
|
||||
static TexData* LoadTextureFromFile(GfxData *aGfxData, const String& aFile) {
|
||||
static bool FileTypeExists(SysPath& aFolder, const char* fileType) {
|
||||
DIR *_Dir = opendir(aFolder.c_str());
|
||||
if (!_Dir) { return false; }
|
||||
|
||||
int fileTypeLen = strlen(fileType);
|
||||
|
||||
struct dirent *_Ent = NULL;
|
||||
while ((_Ent = readdir(_Dir)) != NULL) {
|
||||
int nameLen = strlen(_Ent->d_name);
|
||||
if (nameLen > fileTypeLen && !strcmp(&_Ent->d_name[nameLen - fileTypeLen], fileType)) {
|
||||
closedir(_Dir);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
closedir(_Dir);
|
||||
return false;
|
||||
}
|
||||
|
||||
static TexData* LoadTextureFromFile(GfxData *aGfxData, const char* aFile) {
|
||||
// Image file
|
||||
SysPath _Filename = fstring("%s/%s.png", aGfxData->mPackFolder.c_str(), aFile.begin());
|
||||
SysPath _Filename;
|
||||
int fileNameLen = strlen(aFile);
|
||||
if (fileNameLen > 4 && !strcmp(&aFile[fileNameLen - 4], ".png")) {
|
||||
_Filename = fstring("%s/%s", aGfxData->mPackFolder.c_str(), aFile);
|
||||
} else {
|
||||
_Filename = fstring("%s/%s.png", aGfxData->mPackFolder.c_str(), aFile);
|
||||
}
|
||||
|
||||
FILE *_File = fopen(_Filename.c_str(), "rb");
|
||||
|
||||
// Check as if we're an Actor.
|
||||
if (!_File) {
|
||||
String _TexturePath = aFile.SubString(aFile.Find('/') + 1); // Remove the "actors/"
|
||||
SysPath _ActorFilename = fstring("%s/%s.png", aGfxData->mPackFolder.c_str(), _TexturePath.begin());
|
||||
_File = fopen(_ActorFilename.c_str(), "rb");
|
||||
SysPath _ActorFilename = "";
|
||||
const char* _SubString = strchr(aFile, '/'); // Remove the "actors/"
|
||||
if (_SubString && *_SubString) {
|
||||
_SubString++;
|
||||
_ActorFilename = fstring("%s/%s.png", aGfxData->mPackFolder.c_str(), _SubString);
|
||||
_File = fopen(_ActorFilename.c_str(), "rb");
|
||||
}
|
||||
|
||||
// The file does not exist in either spot!
|
||||
if (!_File) {
|
||||
PrintError(" ERROR: Unable to open file at \"%s\" or \"%s\"", _Filename.c_str(), _ActorFilename.c_str());
|
||||
|
@ -79,7 +110,7 @@ DataNode<TexData>* DynOS_Tex_Parse(GfxData* aGfxData, DataNode<TexData>* aNode)
|
|||
|
||||
// Filename
|
||||
String _Filename = aNode->mTokens[0].SubString(i0 + 9, i1 - i0 - 9);
|
||||
aNode->mData = LoadTextureFromFile(aGfxData, _Filename);
|
||||
aNode->mData = LoadTextureFromFile(aGfxData, _Filename.begin());
|
||||
aNode->mLoadIndex = aGfxData->mLoadIndex++;
|
||||
return aNode;
|
||||
}
|
||||
|
@ -95,7 +126,7 @@ DataNode<TexData>* DynOS_Tex_Parse(GfxData* aGfxData, DataNode<TexData>* aNode)
|
|||
|
||||
// Filename
|
||||
String _Filename = aNode->mTokens[0].SubString(dq0 + 1, dq1 - dq0 - 1);
|
||||
aNode->mData = LoadTextureFromFile(aGfxData, _Filename);
|
||||
aNode->mData = LoadTextureFromFile(aGfxData, _Filename.begin());
|
||||
aNode->mLoadIndex = aGfxData->mLoadIndex++;
|
||||
return aNode;
|
||||
}
|
||||
|
@ -129,11 +160,56 @@ void DynOS_Tex_Write(FILE* aFile, GfxData* aGfxData, DataNode<TexData> *aNode) {
|
|||
aNode->mData->mPngData.Write(aFile);
|
||||
}
|
||||
|
||||
static bool DynOS_Tex_WriteBinary(GfxData* aGfxData, const SysPath &aOutputFilename, String& aName, TexData* aTexData, bool aRawTexture) {
|
||||
FILE *_File = fopen(aOutputFilename.c_str(), "wb");
|
||||
if (!_File) {
|
||||
PrintError(" ERROR: Unable to create file \"%s\"", aOutputFilename.c_str());
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!aRawTexture) {
|
||||
// Write png-texture
|
||||
|
||||
// Header
|
||||
WriteBytes<u8>(_File, DATA_TYPE_TEXTURE);
|
||||
aName.Write(_File);
|
||||
|
||||
// Data
|
||||
aTexData->mPngData.Write(_File);
|
||||
|
||||
fclose(_File);
|
||||
return true;
|
||||
}
|
||||
|
||||
// Write raw-texture
|
||||
|
||||
// Header
|
||||
WriteBytes<u8>(_File, DATA_TYPE_TEXTURE_RAW);
|
||||
aName.Write(_File);
|
||||
|
||||
// load
|
||||
u8 *_RawData = stbi_load_from_memory(aTexData->mPngData.begin(), aTexData->mPngData.Count(), &aTexData->mRawWidth, &aTexData->mRawHeight, NULL, 4);
|
||||
aTexData->mRawFormat = G_IM_FMT_RGBA;
|
||||
aTexData->mRawSize = G_IM_SIZ_32b;
|
||||
aTexData->mRawData = Array<u8>(_RawData, _RawData + (aTexData->mRawWidth * aTexData->mRawHeight * 4));
|
||||
free(_RawData);
|
||||
|
||||
// Data
|
||||
WriteBytes<s32>(_File, aTexData->mRawFormat);
|
||||
WriteBytes<s32>(_File, aTexData->mRawSize);
|
||||
WriteBytes<s32>(_File, aTexData->mRawWidth);
|
||||
WriteBytes<s32>(_File, aTexData->mRawHeight);
|
||||
aTexData->mRawData.Write(_File);
|
||||
|
||||
fclose(_File);
|
||||
return true;
|
||||
}
|
||||
|
||||
/////////////
|
||||
// Reading //
|
||||
/////////////
|
||||
|
||||
void DynOS_Tex_Load(FILE *aFile, GfxData *aGfxData) {
|
||||
DataNode<TexData>* DynOS_Tex_Load(FILE *aFile, GfxData *aGfxData) {
|
||||
DataNode<TexData> *_Node = New<DataNode<TexData>>();
|
||||
|
||||
// Name
|
||||
|
@ -158,5 +234,152 @@ void DynOS_Tex_Load(FILE *aFile, GfxData *aGfxData) {
|
|||
}
|
||||
|
||||
// Append
|
||||
aGfxData->mTextures.Add(_Node);
|
||||
}
|
||||
if (aGfxData) {
|
||||
aGfxData->mTextures.Add(_Node);
|
||||
}
|
||||
|
||||
return _Node;
|
||||
}
|
||||
|
||||
DataNode<TexData>* DynOS_Tex_LoadFromBinary(const SysPath &aPackFolder, const SysPath &aFilename, const char *aTexName, bool aAddToPack) {
|
||||
// Look for pack in cache
|
||||
PackData* _Pack = DynOS_Pack_GetFromPath(aPackFolder);
|
||||
|
||||
// Look for tex in pack
|
||||
if (_Pack) {
|
||||
auto _Tex = DynOS_Pack_GetTex(_Pack, aTexName);
|
||||
if (_Tex != NULL) {
|
||||
return _Tex;
|
||||
}
|
||||
}
|
||||
|
||||
// Load data from binary file
|
||||
DataNode<TexData>* _TexNode = NULL;
|
||||
FILE *_File = fopen(aFilename.c_str(), "rb");
|
||||
if (!_File) { return NULL; }
|
||||
|
||||
u8 type = ReadBytes<u8>(_File);
|
||||
if (type == DATA_TYPE_TEXTURE) {
|
||||
// load png-texture
|
||||
_TexNode = New<DataNode<TexData>>();
|
||||
_TexNode->mData = New<TexData>();
|
||||
|
||||
_TexNode->mName.Read(_File);
|
||||
_TexNode->mData->mPngData.Read(_File);
|
||||
fclose(_File);
|
||||
|
||||
if (aAddToPack) {
|
||||
if (!_Pack) { _Pack = DynOS_Pack_Add(aPackFolder); }
|
||||
DynOS_Pack_AddTex(_Pack, _TexNode);
|
||||
}
|
||||
|
||||
return _TexNode;
|
||||
} else if (type != DATA_TYPE_TEXTURE_RAW) {
|
||||
fclose(_File);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// load raw-texture
|
||||
_TexNode = New<DataNode<TexData>>();
|
||||
_TexNode->mData = New<TexData>();
|
||||
|
||||
_TexNode->mName.Read(_File);
|
||||
_TexNode->mData->mRawFormat = ReadBytes<s32>(_File);
|
||||
_TexNode->mData->mRawSize = ReadBytes<s32>(_File);
|
||||
_TexNode->mData->mRawWidth = ReadBytes<s32>(_File);
|
||||
_TexNode->mData->mRawHeight = ReadBytes<s32>(_File);
|
||||
_TexNode->mData->mRawData.Read(_File);
|
||||
|
||||
fclose(_File);
|
||||
|
||||
if (aAddToPack) {
|
||||
if (!_Pack) { _Pack = DynOS_Pack_Add(aPackFolder); }
|
||||
DynOS_Pack_AddTex(_Pack, _TexNode);
|
||||
}
|
||||
|
||||
return _TexNode;
|
||||
}
|
||||
|
||||
//////////////
|
||||
// Generate //
|
||||
//////////////
|
||||
|
||||
static void DynOS_Tex_GeneratePack_Recursive(const SysPath &aPackFolder, SysPath &aOutputFolder, SysPath& aRelativePath, SysPath& aPrefix, GfxData *aGfxData) {
|
||||
// skip generation if any .c files exist
|
||||
if (FileTypeExists(aOutputFolder, ".c")) {
|
||||
return;
|
||||
}
|
||||
|
||||
SysPath _DirPath = fstring("%s/%s", aPackFolder.c_str(), aRelativePath.c_str());
|
||||
DIR *_PackDir = opendir(_DirPath.c_str());
|
||||
if (!_PackDir) { return; }
|
||||
|
||||
struct dirent *_PackEnt = NULL;
|
||||
while ((_PackEnt = readdir(_PackDir)) != NULL) {
|
||||
|
||||
// Skip . and ..
|
||||
if (SysPath(_PackEnt->d_name) == ".") continue;
|
||||
if (SysPath(_PackEnt->d_name) == "..") continue;
|
||||
|
||||
SysPath _Path = fstring("%s/%s", _DirPath.c_str(), _PackEnt->d_name);
|
||||
|
||||
// Recurse through subfolders
|
||||
if (fs_sys_dir_exists(_Path.c_str())) {
|
||||
SysPath _NextPath = fstring("%s%s/", aRelativePath.c_str(), _PackEnt->d_name);
|
||||
SysPath _Prefix = fstring("%s.", _PackEnt->d_name);
|
||||
DynOS_Tex_GeneratePack_Recursive(aPackFolder, aOutputFolder, _NextPath, _Prefix, aGfxData);
|
||||
continue;
|
||||
}
|
||||
|
||||
// skip files that don't end in '.png'
|
||||
size_t nameLen = strlen(_PackEnt->d_name);
|
||||
if (nameLen < 4) continue;
|
||||
if (strcmp(&_PackEnt->d_name[nameLen - 4], ".png")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// read the file
|
||||
aGfxData->mModelIdentifier++;
|
||||
TexData* _TexData = LoadTextureFromFile(aGfxData, _Path.c_str());
|
||||
if (_TexData == NULL) {
|
||||
PrintError("Error reading texture from file: %s", _Path.c_str());
|
||||
continue;
|
||||
}
|
||||
|
||||
// write the file
|
||||
SysPath _RelativePath = fstring("%s%s", aRelativePath.c_str(), _PackEnt->d_name);
|
||||
String _BaseName;
|
||||
const char* _OverrideName = DynOS_Builtin_Tex_GetNameFromFileName(_RelativePath.c_str());
|
||||
if (_OverrideName) {
|
||||
_BaseName = _OverrideName;
|
||||
} else {
|
||||
_BaseName = _PackEnt->d_name;
|
||||
_BaseName = _BaseName.SubString(0, nameLen - 4);
|
||||
}
|
||||
SysPath _OutputPath = fstring("%s/%s.tex", aOutputFolder.c_str(), _BaseName.begin());
|
||||
|
||||
// create output dir if it doesn't exist
|
||||
if (!fs_sys_dir_exists(aOutputFolder.c_str())) {
|
||||
fs_sys_mkdir(aOutputFolder.c_str());
|
||||
}
|
||||
|
||||
DynOS_Tex_WriteBinary(aGfxData, _OutputPath, _BaseName, _TexData, (_OverrideName != NULL));
|
||||
}
|
||||
|
||||
closedir(_PackDir);
|
||||
}
|
||||
|
||||
void DynOS_Tex_GeneratePack(const SysPath &aPackFolder, SysPath &aOutputFolder) {
|
||||
Print("---------- Texture pack folder: \"%s\" ----------", aPackFolder.c_str());
|
||||
|
||||
// skip generation if any .tex files exist
|
||||
if (FileTypeExists(aOutputFolder, ".tex")) {
|
||||
return;
|
||||
}
|
||||
|
||||
GfxData *_GfxData = New<GfxData>();
|
||||
_GfxData->mModelIdentifier = 0;
|
||||
SysPath _Empty = "";
|
||||
DynOS_Tex_GeneratePack_Recursive(aPackFolder, aOutputFolder, _Empty, _Empty, _GfxData);
|
||||
DynOS_Gfx_Free(_GfxData);
|
||||
}
|
||||
|
|
|
@ -107,6 +107,17 @@ Collision* dynos_collision_get(const char* collisionName) {
|
|||
return DynOS_Col_Get(collisionName);
|
||||
}
|
||||
|
||||
// -- textures -- //
|
||||
|
||||
void dynos_add_texture(const char *filePath, const char* textureName) {
|
||||
SysPath _FilePath = filePath;
|
||||
DynOS_Tex_AddCustom(_FilePath, textureName);
|
||||
}
|
||||
|
||||
bool dynos_texture_get(const char* textureName, struct TextureInfo* outTextureInfo) {
|
||||
return DynOS_Tex_Get(textureName, outTextureInfo);
|
||||
}
|
||||
|
||||
// -- movtexqcs -- //
|
||||
|
||||
void dynos_movtexqc_register(const char* name, s16 level, s16 area, s16 type) {
|
||||
|
|
|
@ -19,6 +19,11 @@ void DynOS_Gfx_GeneratePacks(const char* directory) {
|
|||
if (fs_sys_dir_exists(_ActorPackFolder.c_str())) {
|
||||
DynOS_Actor_GeneratePack(_ActorPackFolder);
|
||||
}
|
||||
SysPath _TexturePackFolder = fstring("%s/%s", directory, dir->d_name);
|
||||
SysPath _TexturePackOutputFolder = fstring("%s/%s/textures", directory, dir->d_name);
|
||||
if (fs_sys_dir_exists(_TexturePackFolder.c_str())) {
|
||||
DynOS_Tex_GeneratePack(_TexturePackFolder, _TexturePackOutputFolder);
|
||||
}
|
||||
}
|
||||
|
||||
closedir(modsDir);
|
||||
|
@ -34,17 +39,22 @@ static void ScanPackBins(SysPath aPackFolder) {
|
|||
if (SysPath(_PackEnt->d_name) == ".") continue;
|
||||
if (SysPath(_PackEnt->d_name) == "..") continue;
|
||||
|
||||
// Skip non .bin
|
||||
s32 length = strlen(_PackEnt->d_name);
|
||||
if (length < 5) { continue; }
|
||||
if (strncmp(&_PackEnt->d_name[length - 4], ".bin", 4)) { continue; }
|
||||
|
||||
String _ActorName = _PackEnt->d_name;
|
||||
_ActorName[length - 4] = '\0';
|
||||
|
||||
SysPath _FileName = fstring("%s/%s", aPackFolder.begin(), _PackEnt->d_name);
|
||||
s32 length = strlen(_PackEnt->d_name);
|
||||
|
||||
DynOS_Actor_LoadFromBinary(aPackFolder, strdup(_ActorName.begin()), _FileName, true);
|
||||
// check for actors
|
||||
if (length > 4 && !strncmp(&_PackEnt->d_name[length - 4], ".bin", 4)) {
|
||||
String _ActorName = _PackEnt->d_name;
|
||||
_ActorName[length - 4] = '\0';
|
||||
DynOS_Actor_LoadFromBinary(aPackFolder, strdup(_ActorName.begin()), _FileName, true);
|
||||
}
|
||||
|
||||
// check for textures
|
||||
if (length > 4 && !strncmp(&_PackEnt->d_name[length - 4], ".tex", 4)) {
|
||||
String _TexName = _PackEnt->d_name;
|
||||
_TexName[length - 4] = '\0';
|
||||
DynOS_Tex_LoadFromBinary(aPackFolder, _FileName, _TexName.begin(), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -63,6 +73,7 @@ static void ScanPacksFolder(SysPath _DynosPacksFolder) {
|
|||
if (fs_sys_dir_exists(_PackFolder.c_str())) {
|
||||
struct PackData* _Pack = DynOS_Pack_Add(_PackFolder);
|
||||
DynOS_Actor_GeneratePack(_PackFolder);
|
||||
DynOS_Tex_GeneratePack(_PackFolder, _PackFolder);
|
||||
ScanPackBins(_PackFolder);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1070,710 +1070,6 @@ const char* DynOS_Builtin_LvlCol_GetFromData(const Collision* aData) {
|
|||
MGR_FIND_NAME(sDynosBuiltinLvlCols);
|
||||
}
|
||||
|
||||
//////////////
|
||||
// Textures //
|
||||
//////////////
|
||||
|
||||
static const void* sDynosBuiltinTexs[] = {
|
||||
// levels
|
||||
define_builtin(cave_09000000),
|
||||
define_builtin(cave_09001000),
|
||||
define_builtin(cave_09001800),
|
||||
define_builtin(cave_09002800),
|
||||
define_builtin(cave_09003000),
|
||||
define_builtin(cave_09003800),
|
||||
define_builtin(cave_09004800),
|
||||
define_builtin(cave_09005800),
|
||||
define_builtin(cave_09006800),
|
||||
define_builtin(cave_09007000),
|
||||
define_builtin(cave_09007800),
|
||||
define_builtin(cave_09008800),
|
||||
define_builtin(cave_09009800),
|
||||
define_builtin(cave_0900A000),
|
||||
define_builtin(cave_0900A800),
|
||||
define_builtin(cave_0900B800),
|
||||
define_builtin(cave_0900C000),
|
||||
define_builtin(fire_09000000),
|
||||
define_builtin(fire_09000800),
|
||||
define_builtin(fire_09001000),
|
||||
define_builtin(fire_09001800),
|
||||
define_builtin(fire_09002000),
|
||||
define_builtin(fire_09002800),
|
||||
define_builtin(fire_09003000),
|
||||
define_builtin(fire_09003800),
|
||||
define_builtin(fire_09004000),
|
||||
define_builtin(fire_09004800),
|
||||
define_builtin(fire_09005000),
|
||||
define_builtin(fire_09005800),
|
||||
define_builtin(fire_09006000),
|
||||
define_builtin(fire_09006800),
|
||||
define_builtin(fire_09007000),
|
||||
define_builtin(fire_09007800),
|
||||
define_builtin(fire_09008000),
|
||||
define_builtin(fire_09008800),
|
||||
define_builtin(fire_09009000),
|
||||
define_builtin(fire_09009800),
|
||||
define_builtin(fire_0900A000),
|
||||
define_builtin(fire_0900A800),
|
||||
define_builtin(fire_0900B000),
|
||||
define_builtin(fire_0900B800),
|
||||
define_builtin(generic_09000000),
|
||||
define_builtin(generic_09000800),
|
||||
define_builtin(generic_09001000),
|
||||
define_builtin(generic_09001800),
|
||||
define_builtin(generic_09002000),
|
||||
define_builtin(generic_09002800),
|
||||
define_builtin(generic_09003000),
|
||||
define_builtin(generic_09003800),
|
||||
define_builtin(generic_09004000),
|
||||
define_builtin(generic_09004800),
|
||||
define_builtin(generic_09005000),
|
||||
define_builtin(generic_09005800),
|
||||
define_builtin(generic_09006000),
|
||||
define_builtin(generic_09007000),
|
||||
define_builtin(generic_09007800),
|
||||
define_builtin(generic_09008000),
|
||||
define_builtin(generic_09008800),
|
||||
define_builtin(generic_09009000),
|
||||
define_builtin(generic_09009800),
|
||||
define_builtin(generic_0900A000),
|
||||
define_builtin(generic_0900A800),
|
||||
define_builtin(generic_0900B000),
|
||||
define_builtin(grass_09000000),
|
||||
define_builtin(grass_09000800),
|
||||
define_builtin(grass_09001000),
|
||||
define_builtin(grass_09001800),
|
||||
define_builtin(grass_09002000),
|
||||
define_builtin(grass_09002800),
|
||||
define_builtin(grass_09003000),
|
||||
define_builtin(grass_09003800),
|
||||
define_builtin(grass_09004000),
|
||||
define_builtin(grass_09004800),
|
||||
define_builtin(grass_09005000),
|
||||
define_builtin(grass_09005800),
|
||||
define_builtin(grass_09006000),
|
||||
define_builtin(grass_09006800),
|
||||
define_builtin(grass_09007000),
|
||||
define_builtin(grass_09007800),
|
||||
define_builtin(grass_09008000),
|
||||
define_builtin(grass_09008800),
|
||||
define_builtin(grass_09009000),
|
||||
define_builtin(grass_09009800),
|
||||
define_builtin(grass_0900A000),
|
||||
define_builtin(grass_0900A800),
|
||||
define_builtin(grass_0900B000),
|
||||
define_builtin(grass_0900B800),
|
||||
define_builtin(inside_09000000),
|
||||
define_builtin(inside_09001000),
|
||||
define_builtin(inside_09002000),
|
||||
define_builtin(inside_09003000),
|
||||
define_builtin(inside_09003800),
|
||||
define_builtin(inside_09004000),
|
||||
define_builtin(inside_09004800),
|
||||
define_builtin(inside_09005000),
|
||||
define_builtin(inside_09005800),
|
||||
define_builtin(inside_09006000),
|
||||
define_builtin(inside_09007000),
|
||||
define_builtin(inside_09008000),
|
||||
define_builtin(inside_09008800),
|
||||
define_builtin(inside_09009000),
|
||||
define_builtin(inside_0900A000),
|
||||
define_builtin(inside_0900B000),
|
||||
define_builtin(inside_0900B800),
|
||||
define_builtin(machine_09000000),
|
||||
define_builtin(machine_09000800),
|
||||
define_builtin(machine_09001000),
|
||||
define_builtin(machine_09001800),
|
||||
define_builtin(machine_09002000),
|
||||
define_builtin(machine_09002800),
|
||||
define_builtin(machine_09003000),
|
||||
define_builtin(machine_09003800),
|
||||
define_builtin(machine_09004000),
|
||||
define_builtin(machine_09005000),
|
||||
define_builtin(machine_09005800),
|
||||
define_builtin(machine_09006000),
|
||||
define_builtin(machine_09006800),
|
||||
define_builtin(machine_09007000),
|
||||
define_builtin(machine_09007800),
|
||||
define_builtin(machine_09008000),
|
||||
define_builtin(machine_09008400),
|
||||
define_builtin(mountain_09000000),
|
||||
define_builtin(mountain_09000800),
|
||||
define_builtin(mountain_09001800),
|
||||
define_builtin(mountain_09002800),
|
||||
define_builtin(mountain_09003000),
|
||||
define_builtin(mountain_09003800),
|
||||
define_builtin(mountain_09004000),
|
||||
define_builtin(mountain_09004800),
|
||||
define_builtin(mountain_09005000),
|
||||
define_builtin(mountain_09005800),
|
||||
define_builtin(mountain_09006800),
|
||||
define_builtin(mountain_09007000),
|
||||
define_builtin(mountain_09007800),
|
||||
define_builtin(mountain_09008000),
|
||||
define_builtin(mountain_09008800),
|
||||
define_builtin(mountain_09009800),
|
||||
define_builtin(mountain_0900A000),
|
||||
define_builtin(mountain_0900A800),
|
||||
define_builtin(mountain_0900B000),
|
||||
define_builtin(mountain_0900B800),
|
||||
define_builtin(mountain_0900C000),
|
||||
define_builtin(outside_09000000),
|
||||
define_builtin(outside_09000800),
|
||||
define_builtin(outside_09001000),
|
||||
define_builtin(outside_09002000),
|
||||
define_builtin(outside_09003000),
|
||||
define_builtin(outside_09003800),
|
||||
define_builtin(outside_09004000),
|
||||
define_builtin(outside_09004800),
|
||||
define_builtin(outside_09005800),
|
||||
define_builtin(outside_09006000),
|
||||
define_builtin(outside_09006800),
|
||||
define_builtin(outside_09007800),
|
||||
define_builtin(outside_09008000),
|
||||
define_builtin(outside_09008800),
|
||||
define_builtin(outside_09009000),
|
||||
define_builtin(outside_09009800),
|
||||
define_builtin(outside_0900A000),
|
||||
define_builtin(outside_0900A800),
|
||||
define_builtin(outside_0900B000),
|
||||
define_builtin(outside_0900B400),
|
||||
define_builtin(outside_0900BC00),
|
||||
define_builtin(sky_09000000),
|
||||
define_builtin(sky_09000800),
|
||||
define_builtin(sky_09001000),
|
||||
define_builtin(sky_09001800),
|
||||
define_builtin(sky_09002000),
|
||||
define_builtin(sky_09003000),
|
||||
define_builtin(sky_09003800),
|
||||
define_builtin(sky_09004800),
|
||||
define_builtin(sky_09005000),
|
||||
define_builtin(sky_09005800),
|
||||
define_builtin(sky_09006000),
|
||||
define_builtin(texture_metal_hole),
|
||||
define_builtin(sky_09007000),
|
||||
define_builtin(sky_09007800),
|
||||
define_builtin(sky_09008000),
|
||||
define_builtin(snow_09000000),
|
||||
define_builtin(snow_09000800),
|
||||
define_builtin(snow_09001000),
|
||||
define_builtin(snow_09002000),
|
||||
define_builtin(snow_09002800),
|
||||
define_builtin(snow_09003000),
|
||||
define_builtin(snow_09003800),
|
||||
define_builtin(snow_09004000),
|
||||
define_builtin(snow_09004800),
|
||||
define_builtin(snow_09005000),
|
||||
define_builtin(snow_09005800),
|
||||
define_builtin(snow_09006000),
|
||||
define_builtin(snow_09006800),
|
||||
define_builtin(snow_09007000),
|
||||
define_builtin(snow_09008000),
|
||||
define_builtin(snow_09008800),
|
||||
define_builtin(snow_09009000),
|
||||
define_builtin(snow_09009800),
|
||||
define_builtin(spooky_09000000),
|
||||
define_builtin(spooky_09000800),
|
||||
define_builtin(spooky_09001800),
|
||||
define_builtin(spooky_09002800),
|
||||
define_builtin(spooky_09003800),
|
||||
define_builtin(spooky_09004800),
|
||||
define_builtin(spooky_09005000),
|
||||
define_builtin(spooky_09006000),
|
||||
define_builtin(spooky_09006800),
|
||||
define_builtin(spooky_09007000),
|
||||
define_builtin(spooky_09008000),
|
||||
define_builtin(spooky_09008800),
|
||||
define_builtin(spooky_09009000),
|
||||
define_builtin(spooky_0900A000),
|
||||
define_builtin(spooky_0900A800),
|
||||
define_builtin(spooky_0900B000),
|
||||
define_builtin(spooky_0900B800),
|
||||
define_builtin(water_09000000),
|
||||
define_builtin(water_09000800),
|
||||
define_builtin(water_09001800),
|
||||
define_builtin(water_09002800),
|
||||
define_builtin(water_09003800),
|
||||
define_builtin(water_09004800),
|
||||
define_builtin(water_09005800),
|
||||
define_builtin(water_09006000),
|
||||
define_builtin(water_09006800),
|
||||
define_builtin(water_09007800),
|
||||
define_builtin(water_09008800),
|
||||
define_builtin(water_09009000),
|
||||
define_builtin(water_0900A000),
|
||||
define_builtin(water_0900A800),
|
||||
define_builtin(water_0900B800),
|
||||
// actors
|
||||
define_builtin(amp_seg8_texture_08000F18),
|
||||
define_builtin(amp_seg8_texture_08001318),
|
||||
define_builtin(amp_seg8_texture_08001B18),
|
||||
define_builtin(amp_seg8_texture_08002318),
|
||||
define_builtin(blue_coin_switch_seg8_texture_08000018),
|
||||
define_builtin(blue_coin_switch_seg8_texture_08000418),
|
||||
define_builtin(blue_fish_seg3_texture_0301B5E0),
|
||||
define_builtin(bobomb_seg8_texture_0801DA60),
|
||||
define_builtin(bobomb_seg8_texture_0801EA60),
|
||||
define_builtin(bobomb_seg8_texture_0801FA60),
|
||||
define_builtin(bobomb_seg8_texture_08020A60),
|
||||
define_builtin(bobomb_seg8_texture_08021A60),
|
||||
define_builtin(bobomb_seg8_texture_08022260),
|
||||
define_builtin(bomb_seg6_texture_06057AC0),
|
||||
define_builtin(bomb_seg6_texture_06058AC0),
|
||||
define_builtin(bomb_seg6_texture_06059AC0),
|
||||
define_builtin(boo_seg5_texture_05009B40),
|
||||
define_builtin(boo_seg5_texture_0500AB40),
|
||||
define_builtin(boo_castle_seg6_texture_06015670),
|
||||
define_builtin(boo_castle_seg6_texture_06016670),
|
||||
define_builtin(book_seg5_texture_05002570),
|
||||
define_builtin(bookend_seg5_texture_05000060),
|
||||
define_builtin(bookend_seg5_texture_05000460),
|
||||
define_builtin(bookend_seg5_texture_05000860),
|
||||
define_builtin(bookend_seg5_texture_05000C60),
|
||||
define_builtin(bookend_seg5_texture_05001060),
|
||||
define_builtin(bowser_seg6_texture_0601F438),
|
||||
define_builtin(bowser_seg6_texture_0601FC38),
|
||||
define_builtin(bowser_seg6_texture_06020C38),
|
||||
define_builtin(bowser_seg6_texture_06021438),
|
||||
define_builtin(bowser_seg6_texture_06022438),
|
||||
define_builtin(bowser_seg6_texture_06022C38),
|
||||
define_builtin(bowser_seg6_texture_06023C38),
|
||||
define_builtin(bowser_seg6_texture_06024438),
|
||||
define_builtin(bowser_seg6_texture_06025438),
|
||||
define_builtin(bowser_seg6_texture_06025C38),
|
||||
define_builtin(bowser_seg6_texture_06026438),
|
||||
define_builtin(bowser_seg6_texture_06027438),
|
||||
define_builtin(bowser_seg6_texture_06028438),
|
||||
define_builtin(bowser_seg6_texture_06028C38),
|
||||
define_builtin(bowser_seg6_texture_06029C38),
|
||||
define_builtin(bowser_seg6_texture_0602AC38),
|
||||
define_builtin(bowser_seg6_texture_0602BC38),
|
||||
define_builtin(bowser_seg6_texture_0602CC38),
|
||||
define_builtin(bowser_seg6_texture_0602DC38),
|
||||
define_builtin(bowser_seg6_texture_0602EC38),
|
||||
define_builtin(bowser_seg6_texture_0602FC38),
|
||||
define_builtin(bowser_seg6_texture_06030C38),
|
||||
define_builtin(bowser_seg6_texture_06031C38),
|
||||
define_builtin(bowser_seg6_texture_06032C38),
|
||||
define_builtin(bowser_seg6_texture_06033C38),
|
||||
define_builtin(bowser_seg6_texture_06034C38),
|
||||
define_builtin(bowser_seg6_texture_06035C38),
|
||||
define_builtin(bowser_seg6_texture_06036C38),
|
||||
define_builtin(bowser_seg6_texture_06037C38),
|
||||
define_builtin(flame_seg6_texture_06000000),
|
||||
define_builtin(flame_seg6_texture_06002000),
|
||||
define_builtin(flame_seg6_texture_06004000),
|
||||
define_builtin(flame_seg6_texture_06006000),
|
||||
define_builtin(flame_seg6_texture_06008000),
|
||||
define_builtin(flame_seg6_texture_0600A000),
|
||||
define_builtin(flame_seg6_texture_0600C000),
|
||||
define_builtin(flame_seg6_texture_0600E000),
|
||||
define_builtin(flame_seg6_texture_06010000),
|
||||
define_builtin(flame_seg6_texture_06012000),
|
||||
define_builtin(flame_seg6_texture_06014000),
|
||||
define_builtin(flame_seg6_texture_06016000),
|
||||
define_builtin(flame_seg6_texture_06018000),
|
||||
define_builtin(flame_seg6_texture_0601A000),
|
||||
define_builtin(breakable_box_seg8_texture_08011A90),
|
||||
define_builtin(breakable_box_seg8_texture_08012290),
|
||||
define_builtin(bub_seg6_texture_0600E2A8),
|
||||
define_builtin(bub_seg6_texture_0600EAA8),
|
||||
define_builtin(bub_seg6_texture_0600F2A8),
|
||||
define_builtin(bub_seg6_texture_060102A8),
|
||||
define_builtin(bubba_seg5_texture_05000008),
|
||||
define_builtin(bubba_seg5_texture_05000408),
|
||||
define_builtin(bubba_seg5_texture_05001408),
|
||||
define_builtin(bubba_seg5_texture_05001C08),
|
||||
define_builtin(bubba_seg5_texture_05002408),
|
||||
define_builtin(bubble_seg4_texture_0401CD60),
|
||||
define_builtin(bubble_seg4_texture_0401D560),
|
||||
define_builtin(bullet_bill_seg5_texture_0500BAA8),
|
||||
define_builtin(bullet_bill_seg5_texture_0500CAA8),
|
||||
define_builtin(bully_seg5_texture_050000E0),
|
||||
define_builtin(bully_seg5_texture_05000468),
|
||||
define_builtin(bully_seg5_texture_05001468),
|
||||
define_builtin(bully_seg5_texture_05002468),
|
||||
define_builtin(burn_smoke_seg4_texture_04021800),
|
||||
define_builtin(butterfly_seg3_texture_030043A8),
|
||||
define_builtin(cannon_barrel_seg8_texture_080058A8),
|
||||
define_builtin(cannon_base_seg8_texture_080049B8),
|
||||
define_builtin(cannon_lid_seg8_texture_08004058),
|
||||
define_builtin(capswitch_seg5_texture_05001C48),
|
||||
define_builtin(capswitch_seg5_texture_05002C48),
|
||||
define_builtin(chain_ball_seg6_texture_06020AE8),
|
||||
define_builtin(chain_chomp_seg6_texture_060213D0),
|
||||
define_builtin(chain_chomp_seg6_texture_06021BD0),
|
||||
define_builtin(chain_chomp_seg6_texture_060223D0),
|
||||
define_builtin(chain_chomp_seg6_texture_06022BD0),
|
||||
define_builtin(chain_chomp_seg6_texture_060233D0),
|
||||
define_builtin(chair_seg5_texture_05003060),
|
||||
define_builtin(chair_seg5_texture_05003860),
|
||||
define_builtin(chair_seg5_texture_05004060),
|
||||
define_builtin(chair_seg5_texture_05004460),
|
||||
define_builtin(checkerboard_platform_seg8_texture_0800C840),
|
||||
define_builtin(checkerboard_platform_seg8_texture_0800CC40),
|
||||
define_builtin(chilly_chief_seg6_texture_06000060),
|
||||
define_builtin(chilly_chief_seg6_texture_06001060),
|
||||
define_builtin(chilly_chief_seg6_texture_06002060),
|
||||
define_builtin(chuckya_seg8_texture_08006778),
|
||||
define_builtin(chuckya_seg8_texture_08007778),
|
||||
define_builtin(chuckya_seg8_texture_08007F78),
|
||||
define_builtin(chuckya_seg8_texture_08008F78),
|
||||
define_builtin(clam_shell_seg5_texture_05000030),
|
||||
define_builtin(clam_shell_seg5_texture_05000830),
|
||||
define_builtin(coin_seg3_texture_03005780),
|
||||
define_builtin(coin_seg3_texture_03005F80),
|
||||
define_builtin(coin_seg3_texture_03006780),
|
||||
define_builtin(coin_seg3_texture_03006F80),
|
||||
define_builtin(cyan_fish_seg6_texture_0600D468),
|
||||
define_builtin(dirt_seg3_texture_0302BDF8),
|
||||
define_builtin(door_seg3_texture_03009D10),
|
||||
define_builtin(door_seg3_texture_0300AD10),
|
||||
define_builtin(door_seg3_texture_0300BD10),
|
||||
define_builtin(door_seg3_texture_0300CD10),
|
||||
define_builtin(door_seg3_texture_0300D510),
|
||||
define_builtin(door_seg3_texture_0300E510),
|
||||
define_builtin(door_seg3_texture_0300ED10),
|
||||
define_builtin(door_seg3_texture_0300FD10),
|
||||
define_builtin(door_seg3_texture_03010510),
|
||||
define_builtin(door_seg3_texture_03011510),
|
||||
define_builtin(door_seg3_texture_03011D10),
|
||||
define_builtin(door_seg3_texture_03012510),
|
||||
define_builtin(door_seg3_texture_03012D10),
|
||||
define_builtin(door_seg3_texture_03013510),
|
||||
define_builtin(dorrie_seg6_texture_06009BA0),
|
||||
define_builtin(dorrie_seg6_texture_06009DA0),
|
||||
define_builtin(dorrie_seg6_texture_0600ADA0),
|
||||
define_builtin(exclamation_box_seg8_texture_08012E28),
|
||||
define_builtin(exclamation_box_seg8_texture_08013628),
|
||||
define_builtin(exclamation_box_seg8_texture_08014628),
|
||||
define_builtin(exclamation_box_seg8_texture_08014E28),
|
||||
define_builtin(exclamation_box_seg8_texture_08015E28),
|
||||
define_builtin(exclamation_box_seg8_texture_08016628),
|
||||
define_builtin(exclamation_box_seg8_texture_08017628),
|
||||
define_builtin(exclamation_box_seg8_texture_08017E28),
|
||||
define_builtin(exclamation_box_outline_seg8_texture_08025168),
|
||||
define_builtin(exclamation_box_outline_seg8_texture_08025A80),
|
||||
define_builtin(explosion_seg3_texture_03000A08),
|
||||
define_builtin(explosion_seg3_texture_03001208),
|
||||
define_builtin(explosion_seg3_texture_03001A08),
|
||||
define_builtin(explosion_seg3_texture_03002208),
|
||||
define_builtin(explosion_seg3_texture_03002A08),
|
||||
define_builtin(explosion_seg3_texture_03003208),
|
||||
define_builtin(explosion_seg3_texture_03003A08),
|
||||
define_builtin(eyerok_seg5_texture_05008D40),
|
||||
define_builtin(eyerok_seg5_texture_05009540),
|
||||
define_builtin(eyerok_seg5_texture_05009D40),
|
||||
define_builtin(eyerok_seg5_texture_0500A540),
|
||||
define_builtin(eyerok_seg5_texture_0500AD40),
|
||||
define_builtin(flame_seg3_texture_03017320),
|
||||
define_builtin(flame_seg3_texture_03017B20),
|
||||
define_builtin(flame_seg3_texture_03018320),
|
||||
define_builtin(flame_seg3_texture_03018B20),
|
||||
define_builtin(flame_seg3_texture_03019320),
|
||||
define_builtin(flame_seg3_texture_03019B20),
|
||||
define_builtin(flame_seg3_texture_0301A320),
|
||||
define_builtin(flame_seg3_texture_0301AB20),
|
||||
define_builtin(flyguy_seg8_texture_0800E088),
|
||||
define_builtin(flyguy_seg8_texture_0800F088),
|
||||
define_builtin(flyguy_seg8_texture_0800F888),
|
||||
define_builtin(fwoosh_seg5_texture_05015808),
|
||||
define_builtin(goomba_seg8_texture_08019530),
|
||||
define_builtin(goomba_seg8_texture_08019D30),
|
||||
define_builtin(goomba_seg8_texture_0801A530),
|
||||
define_builtin(haunted_cage_seg5_texture_0500C288),
|
||||
define_builtin(haunted_cage_seg5_texture_0500CA88),
|
||||
define_builtin(haunted_cage_seg5_texture_0500D288),
|
||||
define_builtin(haunted_cage_seg5_texture_0500D688),
|
||||
define_builtin(haunted_cage_seg5_texture_0500DA88),
|
||||
define_builtin(haunted_cage_seg5_texture_0500E288),
|
||||
define_builtin(heart_seg8_texture_0800D7E0),
|
||||
define_builtin(heave_ho_seg5_texture_0500E9C8),
|
||||
define_builtin(heave_ho_seg5_texture_0500F1C8),
|
||||
define_builtin(heave_ho_seg5_texture_0500F9C8),
|
||||
define_builtin(heave_ho_seg5_texture_050109C8),
|
||||
define_builtin(heave_ho_seg5_texture_050111C8),
|
||||
define_builtin(heave_ho_seg5_texture_050113C8),
|
||||
define_builtin(hoot_seg5_texture_05000A20),
|
||||
define_builtin(hoot_seg5_texture_05001E50),
|
||||
define_builtin(hoot_seg5_texture_05002650),
|
||||
define_builtin(impact_ring_seg6_texture_0601CA50),
|
||||
define_builtin(impact_ring_seg6_texture_0601DA50),
|
||||
define_builtin(king_bobomb_seg5_texture_05000078),
|
||||
define_builtin(king_bobomb_seg5_texture_05001078),
|
||||
define_builtin(king_bobomb_seg5_texture_05002078),
|
||||
define_builtin(king_bobomb_seg5_texture_05002878),
|
||||
define_builtin(king_bobomb_seg5_texture_05004878),
|
||||
define_builtin(king_bobomb_seg5_texture_05005878),
|
||||
define_builtin(king_bobomb_seg5_texture_05006078),
|
||||
define_builtin(king_bobomb_seg5_texture_05006478),
|
||||
define_builtin(king_bobomb_seg5_texture_05008478),
|
||||
define_builtin(king_bobomb_seg5_texture_05009478),
|
||||
define_builtin(klepto_seg5_texture_05000008),
|
||||
define_builtin(klepto_seg5_texture_05000808),
|
||||
define_builtin(klepto_seg5_texture_05001008),
|
||||
define_builtin(klepto_seg5_texture_05002008),
|
||||
define_builtin(klepto_seg5_texture_05003008),
|
||||
define_builtin(koopa_seg6_texture_06002648),
|
||||
define_builtin(koopa_seg6_texture_06002E48),
|
||||
define_builtin(koopa_seg6_texture_06003648),
|
||||
define_builtin(koopa_seg6_texture_06003E48),
|
||||
define_builtin(koopa_seg6_texture_06004648),
|
||||
define_builtin(koopa_seg6_texture_06004E48),
|
||||
define_builtin(koopa_seg6_texture_06005648),
|
||||
define_builtin(koopa_seg6_texture_06005E48),
|
||||
define_builtin(koopa_flag_seg6_texture_06000048),
|
||||
define_builtin(koopa_shell_seg8_texture_080274A0),
|
||||
define_builtin(koopa_shell_seg8_texture_08027CA0),
|
||||
define_builtin(lakitu_seg6_texture_06000000),
|
||||
define_builtin(lakitu_seg6_texture_06000800),
|
||||
define_builtin(lakitu_seg6_texture_06001800),
|
||||
define_builtin(lakitu_seg6_texture_06002800),
|
||||
define_builtin(lakitu_seg6_texture_06003000),
|
||||
define_builtin(lakitu_seg6_texture_06003800),
|
||||
define_builtin(lakitu_enemy_seg5_texture_0500ECE0),
|
||||
define_builtin(lakitu_enemy_seg5_texture_0500F4E0),
|
||||
define_builtin(lakitu_enemy_seg5_texture_050104E0),
|
||||
define_builtin(lakitu_enemy_seg5_texture_050114E0),
|
||||
define_builtin(lakitu_enemy_seg5_texture_05011CE0),
|
||||
define_builtin(leaves_seg3_texture_0301CBE0),
|
||||
define_builtin(mad_piano_seg5_texture_05006AF0),
|
||||
define_builtin(mad_piano_seg5_texture_050072F0),
|
||||
define_builtin(mad_piano_seg5_texture_050076F0),
|
||||
define_builtin(mad_piano_seg5_texture_05007AF0),
|
||||
define_builtin(mad_piano_seg5_texture_05007EF0),
|
||||
define_builtin(mad_piano_seg5_texture_050082F0),
|
||||
define_builtin(manta_seg5_texture_050017A0),
|
||||
define_builtin(manta_seg5_texture_05001FA0),
|
||||
define_builtin(manta_seg5_texture_05002FA0),
|
||||
define_builtin(manta_seg5_texture_050037A0),
|
||||
define_builtin(metal_box_seg8_texture_08023998),
|
||||
define_builtin(mips_seg6_texture_0600FB80),
|
||||
define_builtin(mist_seg3_texture_03000080),
|
||||
define_builtin(moneybag_seg6_texture_060039B0),
|
||||
define_builtin(moneybag_seg6_texture_060049B0),
|
||||
define_builtin(monty_mole_seg5_texture_05000970),
|
||||
define_builtin(monty_mole_seg5_texture_05001170),
|
||||
define_builtin(monty_mole_seg5_texture_05001970),
|
||||
define_builtin(monty_mole_seg5_texture_05002170),
|
||||
define_builtin(monty_mole_seg5_texture_05002970),
|
||||
define_builtin(monty_mole_hole_seg5_texture_05000040),
|
||||
define_builtin(mr_i_eyeball_seg6_texture_06000080),
|
||||
define_builtin(mr_i_eyeball_seg6_texture_06001080),
|
||||
define_builtin(mr_i_iris_seg6_texture_06002170),
|
||||
define_builtin(mr_i_iris_seg6_texture_06002970),
|
||||
define_builtin(mr_i_iris_seg6_texture_06003170),
|
||||
define_builtin(mr_i_iris_seg6_texture_06003970),
|
||||
define_builtin(mushroom_1up_seg3_texture_03029628),
|
||||
define_builtin(peach_seg5_texture_05000A28),
|
||||
define_builtin(peach_seg5_texture_05001228),
|
||||
define_builtin(peach_seg5_texture_05001A28),
|
||||
define_builtin(peach_seg5_texture_05002228),
|
||||
define_builtin(peach_seg5_texture_05002A28),
|
||||
define_builtin(peach_seg5_texture_05002C28),
|
||||
define_builtin(peach_seg5_texture_05002E28),
|
||||
define_builtin(peach_seg5_texture_05003628),
|
||||
define_builtin(peach_seg5_texture_05003E28),
|
||||
define_builtin(peach_seg5_texture_05004028),
|
||||
define_builtin(pebble_seg3_texture_0301C300),
|
||||
define_builtin(penguin_seg5_texture_05002DE0),
|
||||
define_builtin(penguin_seg5_texture_050035E0),
|
||||
define_builtin(penguin_seg5_texture_05003DE0),
|
||||
define_builtin(penguin_seg5_texture_050045E0),
|
||||
define_builtin(penguin_seg5_texture_05004DE0),
|
||||
define_builtin(penguin_seg5_texture_050055E0),
|
||||
define_builtin(piranha_plant_seg6_texture_060113F8),
|
||||
define_builtin(piranha_plant_seg6_texture_060123F8),
|
||||
define_builtin(piranha_plant_seg6_texture_06012BF8),
|
||||
define_builtin(piranha_plant_seg6_texture_060133F8),
|
||||
define_builtin(piranha_plant_seg6_texture_06013BF8),
|
||||
define_builtin(piranha_plant_seg6_texture_060143F8),
|
||||
define_builtin(pokey_seg5_texture_05011750),
|
||||
define_builtin(pokey_seg5_texture_05011F50),
|
||||
define_builtin(pokey_seg5_texture_05012878),
|
||||
define_builtin(poundable_pole_seg6_texture_06001050),
|
||||
define_builtin(poundable_pole_seg6_texture_06001850),
|
||||
define_builtin(texture_power_meter_left_side),
|
||||
define_builtin(texture_power_meter_right_side),
|
||||
define_builtin(texture_power_meter_full),
|
||||
define_builtin(texture_power_meter_seven_segments),
|
||||
define_builtin(texture_power_meter_six_segments),
|
||||
define_builtin(texture_power_meter_five_segments),
|
||||
define_builtin(texture_power_meter_four_segments),
|
||||
define_builtin(texture_power_meter_three_segments),
|
||||
define_builtin(texture_power_meter_two_segments),
|
||||
define_builtin(texture_power_meter_one_segments),
|
||||
define_builtin(purple_switch_seg8_texture_0800C0A8),
|
||||
define_builtin(purple_switch_seg8_texture_0800C128),
|
||||
define_builtin(sand_seg3_texture_0302BAD0),
|
||||
define_builtin(scuttlebug_seg6_texture_06010108),
|
||||
define_builtin(scuttlebug_seg6_texture_06010908),
|
||||
define_builtin(scuttlebug_seg6_texture_06011908),
|
||||
define_builtin(scuttlebug_seg6_texture_06012908),
|
||||
define_builtin(scuttlebug_seg6_texture_06013108),
|
||||
define_builtin(seaweed_seg6_texture_06007E10),
|
||||
define_builtin(seaweed_seg6_texture_06008610),
|
||||
define_builtin(seaweed_seg6_texture_06008E10),
|
||||
define_builtin(seaweed_seg6_texture_06009610),
|
||||
define_builtin(skeeter_seg6_texture_06000090),
|
||||
define_builtin(skeeter_seg6_texture_06000890),
|
||||
define_builtin(smoke_seg5_texture_050072C0),
|
||||
define_builtin(snowman_seg5_texture_05008C70),
|
||||
define_builtin(snowman_seg5_texture_05009470),
|
||||
define_builtin(snowman_seg5_texture_0500A470),
|
||||
define_builtin(snowman_seg5_texture_0500B470),
|
||||
define_builtin(snowman_seg5_texture_0500BC70),
|
||||
define_builtin(snufit_seg6_texture_060070E0),
|
||||
define_builtin(snufit_seg6_texture_060078E0),
|
||||
define_builtin(snufit_seg6_texture_060080E0),
|
||||
define_builtin(snufit_seg6_texture_060084E0),
|
||||
define_builtin(sparkles_seg4_texture_04027490),
|
||||
define_builtin(sparkles_seg4_texture_04027C90),
|
||||
define_builtin(sparkles_seg4_texture_04028490),
|
||||
define_builtin(sparkles_seg4_texture_04028C90),
|
||||
define_builtin(sparkles_seg4_texture_04029490),
|
||||
define_builtin(sparkles_seg4_texture_04029C90),
|
||||
define_builtin(sparkles_animation_seg4_texture_04032A88),
|
||||
define_builtin(sparkles_animation_seg4_texture_04033288),
|
||||
define_builtin(sparkles_animation_seg4_texture_04033A88),
|
||||
define_builtin(sparkles_animation_seg4_texture_04034288),
|
||||
define_builtin(sparkles_animation_seg4_texture_04034A88),
|
||||
define_builtin(spindrift_seg5_texture_050006D0),
|
||||
define_builtin(spindrift_seg5_texture_05000ED0),
|
||||
define_builtin(spindrift_seg5_texture_050016D0),
|
||||
define_builtin(spindrift_seg5_texture_05001ED0),
|
||||
define_builtin(springboard_seg5_texture_05000018),
|
||||
define_builtin(springboard_seg5_texture_05000818),
|
||||
define_builtin(star_seg3_texture_0302A6F0),
|
||||
define_builtin(star_seg3_texture_0302AEF0),
|
||||
define_builtin(stomp_smoke_seg4_texture_04022148),
|
||||
define_builtin(stomp_smoke_seg4_texture_04022948),
|
||||
define_builtin(stomp_smoke_seg4_texture_04023148),
|
||||
define_builtin(stomp_smoke_seg4_texture_04023948),
|
||||
define_builtin(stomp_smoke_seg4_texture_04024148),
|
||||
define_builtin(stomp_smoke_seg4_texture_04024948),
|
||||
define_builtin(sushi_seg5_texture_05008ED0),
|
||||
define_builtin(sushi_seg5_texture_050096D0),
|
||||
define_builtin(sushi_seg5_texture_05009AD0),
|
||||
define_builtin(swoop_seg6_texture_06004270),
|
||||
define_builtin(swoop_seg6_texture_06004A70),
|
||||
define_builtin(swoop_seg6_texture_06005270),
|
||||
define_builtin(swoop_seg6_texture_06005A70),
|
||||
define_builtin(thwomp_seg5_texture_05009900),
|
||||
define_builtin(thwomp_seg5_texture_0500A900),
|
||||
define_builtin(toad_seg6_texture_06005920),
|
||||
define_builtin(toad_seg6_texture_06006120),
|
||||
define_builtin(tornado_seg5_texture_05013128),
|
||||
define_builtin(treasure_chest_seg6_texture_06013FA8),
|
||||
define_builtin(treasure_chest_seg6_texture_060147A8),
|
||||
define_builtin(treasure_chest_seg6_texture_06014FA8),
|
||||
define_builtin(treasure_chest_seg6_texture_060157A8),
|
||||
define_builtin(tree_seg3_texture_0302DE28),
|
||||
define_builtin(tree_seg3_texture_0302EE28),
|
||||
define_builtin(tree_seg3_texture_0302FF60),
|
||||
define_builtin(tree_seg3_texture_03031048),
|
||||
define_builtin(tree_seg3_texture_03032218),
|
||||
define_builtin(ukiki_seg5_texture_05007BC0),
|
||||
define_builtin(ukiki_seg5_texture_05008BC0),
|
||||
define_builtin(ukiki_seg5_texture_05009BC0),
|
||||
define_builtin(ukiki_seg5_texture_0500A3C0),
|
||||
define_builtin(unagi_seg5_texture_0500AF20),
|
||||
define_builtin(unagi_seg5_texture_0500B720),
|
||||
define_builtin(unagi_seg5_texture_0500B920),
|
||||
define_builtin(unagi_seg5_texture_0500C120),
|
||||
define_builtin(unagi_seg5_texture_0500C320),
|
||||
define_builtin(unagi_seg5_texture_0500C3A0),
|
||||
define_builtin(smoke_seg4_texture_0401DEA0),
|
||||
define_builtin(smoke_seg4_texture_0401E6A0),
|
||||
define_builtin(smoke_seg4_texture_0401EEA0),
|
||||
define_builtin(smoke_seg4_texture_0401F6A0),
|
||||
define_builtin(smoke_seg4_texture_0401FEA0),
|
||||
define_builtin(smoke_seg4_texture_040206A0),
|
||||
define_builtin(smoke_seg4_texture_04020EA0),
|
||||
define_builtin(warp_pipe_seg3_texture_03007E40),
|
||||
define_builtin(warp_pipe_seg3_texture_03009168),
|
||||
define_builtin(water_bubble_seg5_texture_0500FE80),
|
||||
define_builtin(water_mine_seg6_texture_0600A4F8),
|
||||
define_builtin(water_mine_seg6_texture_0600B4F8),
|
||||
define_builtin(water_mine_seg6_texture_0600C4F8),
|
||||
define_builtin(water_ring_seg6_texture_06012380),
|
||||
define_builtin(water_splash_seg4_texture_0402A5C8),
|
||||
define_builtin(water_splash_seg4_texture_0402B5C8),
|
||||
define_builtin(water_splash_seg4_texture_0402C5C8),
|
||||
define_builtin(water_splash_seg4_texture_0402D5C8),
|
||||
define_builtin(water_splash_seg4_texture_0402E5C8),
|
||||
define_builtin(water_splash_seg4_texture_0402F5C8),
|
||||
define_builtin(water_splash_seg4_texture_040305C8),
|
||||
define_builtin(water_splash_seg4_texture_040315C8),
|
||||
define_builtin(water_wave_seg4_texture_04025358),
|
||||
define_builtin(water_wave_seg4_texture_04025B58),
|
||||
define_builtin(water_wave_seg4_texture_04026358),
|
||||
define_builtin(water_wave_seg4_texture_04026B58),
|
||||
define_builtin(whirlpool_seg5_texture_05012848),
|
||||
define_builtin(white_particle_texture),
|
||||
define_builtin(white_particle_small_texture),
|
||||
define_builtin(whomp_seg6_texture_0601C360),
|
||||
define_builtin(whomp_seg6_texture_0601D360),
|
||||
define_builtin(whomp_seg6_texture_0601E360),
|
||||
define_builtin(whomp_seg6_texture_0601EB60),
|
||||
define_builtin(wiggler_seg5_texture_05005A30),
|
||||
define_builtin(wiggler_seg5_texture_05006A30),
|
||||
define_builtin(wiggler_seg5_texture_05007A30),
|
||||
define_builtin(wiggler_seg5_texture_05008230),
|
||||
define_builtin(wiggler_seg5_texture_05008A30),
|
||||
define_builtin(wiggler_seg5_texture_05009230),
|
||||
define_builtin(wiggler_seg5_texture_0500A230),
|
||||
define_builtin(wooden_signpost_seg3_texture_0302C9C8),
|
||||
define_builtin(wooden_signpost_seg3_texture_0302D1C8),
|
||||
define_builtin(yellow_sphere_seg6_texture_0601EB88),
|
||||
define_builtin(yellow_sphere_seg5_texture_05000040),
|
||||
define_builtin(yoshi_seg5_texture_0501C4A0),
|
||||
define_builtin(yoshi_seg5_texture_0501C6A0),
|
||||
define_builtin(yoshi_seg5_texture_0501C8A0),
|
||||
define_builtin(yoshi_egg_seg5_texture_050057B8),
|
||||
define_builtin(yoshi_egg_seg5_texture_05005FB8),
|
||||
define_builtin(yoshi_egg_seg5_texture_050067B8),
|
||||
define_builtin(yoshi_egg_seg5_texture_05006FB8),
|
||||
define_builtin(yoshi_egg_seg5_texture_050077B8),
|
||||
define_builtin(yoshi_egg_seg5_texture_05007FB8),
|
||||
define_builtin(yoshi_egg_seg5_texture_050087B8),
|
||||
define_builtin(yoshi_egg_seg5_texture_05008FB8),
|
||||
define_builtin(bobomb_seg8_texture_0801DA60),
|
||||
define_builtin(bobomb_seg8_texture_0801EA60),
|
||||
define_builtin(bobomb_seg8_texture_0801FA60),
|
||||
define_builtin(bobomb_seg8_texture_08020A60),
|
||||
define_builtin(bobomb_seg8_texture_08021A60),
|
||||
define_builtin(bobomb_seg8_texture_08022260),
|
||||
// mario
|
||||
define_builtin(mario_texture_metal),
|
||||
define_builtin(mario_texture_yellow_button),
|
||||
define_builtin(mario_texture_m_logo),
|
||||
define_builtin(mario_texture_hair_sideburn),
|
||||
define_builtin(mario_texture_mustache),
|
||||
define_builtin(mario_texture_eyes_front),
|
||||
define_builtin(mario_texture_eyes_half_closed),
|
||||
define_builtin(mario_texture_eyes_closed),
|
||||
define_builtin(mario_texture_eyes_closed_unused1),
|
||||
define_builtin(mario_texture_eyes_closed_unused2),
|
||||
define_builtin(mario_texture_eyes_right),
|
||||
define_builtin(mario_texture_eyes_left),
|
||||
define_builtin(mario_texture_eyes_up),
|
||||
define_builtin(mario_texture_eyes_down),
|
||||
define_builtin(mario_texture_eyes_dead),
|
||||
define_builtin(mario_texture_wings_half_1),
|
||||
define_builtin(mario_texture_wings_half_2),
|
||||
define_builtin(mario_texture_metal_wings_half_1),
|
||||
define_builtin(mario_texture_metal_wings_half_2),
|
||||
};
|
||||
|
||||
const Texture* DynOS_Builtin_Tex_GetFromName(const char* aDataName) {
|
||||
MGR_FIND_DATA(sDynosBuiltinTexs, (const Texture*));
|
||||
}
|
||||
|
||||
const char* DynOS_Builtin_Tex_GetFromData(const Texture* aData) {
|
||||
MGR_FIND_NAME(sDynosBuiltinTexs);
|
||||
}
|
||||
|
||||
////////////////////
|
||||
// Functions Ptrs //
|
||||
////////////////////
|
||||
|
|
File diff suppressed because it is too large
Load diff
1708
data/dynos_mgr_builtin_tex.cpp
Normal file
1708
data/dynos_mgr_builtin_tex.cpp
Normal file
File diff suppressed because it is too large
Load diff
|
@ -11,7 +11,7 @@ static Array<PackData>& DynosPacks() {
|
|||
static void DynOS_Pack_ActivateActor(s32 aPackIndex, Pair<const char *, GfxData *>& pair) {
|
||||
const char* aActorName = pair.first;
|
||||
GfxData* aGfxData = pair.second;
|
||||
|
||||
|
||||
auto& geoNode = *(aGfxData->mGeoLayouts.end() - 1);
|
||||
GraphNode* graphNode = (GraphNode *) DynOS_Geo_GetGraphNode(geoNode->mData, false);
|
||||
if (graphNode == NULL) { return; }
|
||||
|
@ -65,10 +65,16 @@ void DynOS_Pack_SetEnabled(PackData* aPack, bool aEnabled) {
|
|||
for (auto& pair : aPack->mGfxData) {
|
||||
DynOS_Pack_ActivateActor(aPack->mIndex, pair);
|
||||
}
|
||||
for (auto& _Tex : aPack->mTextures) {
|
||||
DynOS_Tex_Activate(_Tex, false);
|
||||
}
|
||||
} else {
|
||||
for (auto& pair : aPack->mGfxData) {
|
||||
DynOS_Pack_DeactivateActor(aPack->mIndex, pair);
|
||||
}
|
||||
for (auto& _Tex : aPack->mTextures) {
|
||||
DynOS_Tex_Deactivate(_Tex);
|
||||
}
|
||||
}
|
||||
DynOS_Actor_Override_All();
|
||||
}
|
||||
|
@ -155,3 +161,28 @@ void DynOS_Pack_AddActor(PackData* aPackData, const char* aActorName, GfxData* a
|
|||
DynOS_Pack_ActivateActor(aPackData->mIndex, aPackData->mGfxData[index]);
|
||||
}
|
||||
}
|
||||
|
||||
DataNode<TexData>* DynOS_Pack_GetTex(PackData* aPackData, const char* aTexName) {
|
||||
if (aPackData == NULL || aTexName == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
for (auto& _Tex : aPackData->mTextures) {
|
||||
if (!strcmp(_Tex->mName.begin(), aTexName)) {
|
||||
return _Tex;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void DynOS_Pack_AddTex(PackData* aPackData, DataNode<TexData>* aTexData) {
|
||||
if (aPackData == NULL || aTexData == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
aPackData->mTextures.Add(aTexData);
|
||||
|
||||
if (aPackData->mEnabled) {
|
||||
DynOS_Tex_Activate(aTexData, false);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,20 @@
|
|||
#include <map>
|
||||
#include <set>
|
||||
#include "dynos.cpp.h"
|
||||
extern "C" {
|
||||
#include "pc/gfx/gfx_rendering_api.h"
|
||||
}
|
||||
|
||||
struct OverrideTexture {
|
||||
DataNode<TexData>* node;
|
||||
bool customTexture;
|
||||
};
|
||||
|
||||
static std::map<const Texture*, struct OverrideTexture*>& DynosOverrideTextures() {
|
||||
static std::map<const Texture*, struct OverrideTexture*> sDynosOverrideTextures;
|
||||
return sDynosOverrideTextures;
|
||||
}
|
||||
|
||||
// static set
|
||||
static std::set<DataNode<TexData> *>& DynosValidTextures() {
|
||||
static std::set<DataNode<TexData> *> sDynosValidTextures;
|
||||
|
@ -287,6 +298,11 @@ void DynOS_Tex_Update() {
|
|||
//
|
||||
|
||||
static DataNode<TexData> *DynOS_Tex_RetrieveNode(void *aPtr) {
|
||||
auto _Override = DynosOverrideTextures()[(const Texture*)aPtr];
|
||||
if (_Override && _Override->node) {
|
||||
return _Override->node;
|
||||
}
|
||||
|
||||
auto& _ValidTextures = DynosValidTextures();
|
||||
if (_ValidTextures.find((DataNode<TexData>*)aPtr) != _ValidTextures.end()) {
|
||||
return (DataNode<TexData>*)aPtr;
|
||||
|
@ -317,3 +333,134 @@ bool DynOS_Tex_Import(void **aOutput, void *aPtr, s32 aTile, void *aGfxRApi, voi
|
|||
(u32) aPoolSize
|
||||
);
|
||||
}
|
||||
|
||||
/////////////////////
|
||||
// Custom Textures //
|
||||
/////////////////////
|
||||
|
||||
static Array<Pair<const char*, DataNode<TexData>*>>& DynosCustomTexs() {
|
||||
static Array<Pair<const char*, DataNode<TexData>*>> sDynosCustomTexs;
|
||||
return sDynosCustomTexs;
|
||||
}
|
||||
|
||||
void DynOS_Tex_Activate(DataNode<TexData>* aNode, bool aCustomTexture) {
|
||||
if (!aNode) { return; }
|
||||
|
||||
// check for duplicates
|
||||
auto& _DynosCustomTexs = DynosCustomTexs();
|
||||
bool _HasCustomTex = false;
|
||||
for (s32 i = 0; i < _DynosCustomTexs.Count(); ++i) {
|
||||
if (!strcmp(_DynosCustomTexs[i].first, aNode->mName.begin())) {
|
||||
_HasCustomTex = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Override texture
|
||||
const Texture* _BuiltinTex = DynOS_Builtin_Tex_GetFromName(aNode->mName.begin());
|
||||
if (_BuiltinTex) {
|
||||
auto& _DynosOverrideTextures = DynosOverrideTextures();
|
||||
if (_DynosOverrideTextures[_BuiltinTex] == NULL || !_DynosOverrideTextures[_BuiltinTex]->customTexture) {
|
||||
struct OverrideTexture* _Override = new OverrideTexture();
|
||||
_Override->customTexture = aCustomTexture;
|
||||
_Override->node = aNode;
|
||||
_DynosOverrideTextures[_BuiltinTex] = _Override;
|
||||
}
|
||||
}
|
||||
|
||||
// Add to custom textures
|
||||
if (!_HasCustomTex && aCustomTexture) {
|
||||
_DynosCustomTexs.Add({ aNode->mName.begin(), aNode });
|
||||
}
|
||||
|
||||
// Add to valid
|
||||
DynosValidTextures().insert(aNode);
|
||||
}
|
||||
|
||||
void DynOS_Tex_Deactivate(DataNode<TexData>* aNode) {
|
||||
if (!aNode) { return; }
|
||||
|
||||
// remove from custom textures
|
||||
auto& _DynosCustomTexs = DynosCustomTexs();
|
||||
for (s32 i = 0; i < _DynosCustomTexs.Count(); ++i) {
|
||||
if (_DynosCustomTexs[i].second == aNode) {
|
||||
_DynosCustomTexs.Remove(i);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
|
||||
// un-override texture
|
||||
const Texture* _BuiltinTex = DynOS_Builtin_Tex_GetFromName(aNode->mName.begin());
|
||||
auto& _DynosOverrideTextures = DynosOverrideTextures();
|
||||
if (_BuiltinTex) {
|
||||
auto _Override = _DynosOverrideTextures[_BuiltinTex];
|
||||
if (_Override && _Override->node == aNode) {
|
||||
_DynosOverrideTextures.erase(_BuiltinTex);
|
||||
}
|
||||
}
|
||||
|
||||
// Remove from valid
|
||||
auto& _Schedule = DynosScheduledInvalidTextures();
|
||||
_Schedule.Add(aNode);
|
||||
}
|
||||
|
||||
void DynOS_Tex_AddCustom(const SysPath &aFilename, const char *aTexName) {
|
||||
auto& _DynosCustomTexs = DynosCustomTexs();
|
||||
|
||||
// check for duplicates
|
||||
for (s32 i = 0; i < _DynosCustomTexs.Count(); ++i) {
|
||||
if (!strcmp(_DynosCustomTexs[i].first, aTexName)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Allocate name
|
||||
u16 texLen = strlen(aTexName);
|
||||
char* _TexName = (char*)calloc(1, sizeof(char) * (texLen + 1));
|
||||
strcpy(_TexName, aTexName);
|
||||
|
||||
// Load
|
||||
SysPath _PackFolder = "";
|
||||
DataNode<TexData>* _Node = DynOS_Tex_LoadFromBinary(_PackFolder, aFilename, _TexName, false);
|
||||
if (_Node) {
|
||||
DynOS_Tex_Activate(_Node, true);
|
||||
}
|
||||
}
|
||||
|
||||
bool DynOS_Tex_Get(const char* aTexName, struct TextureInfo* aOutTexInfo) {
|
||||
auto& _DynosCustomTexs = DynosCustomTexs();
|
||||
|
||||
// check custom textures
|
||||
for (s32 i = 0; i < _DynosCustomTexs.Count(); ++i) {
|
||||
if (!strcmp(_DynosCustomTexs[i].first, aTexName)) {
|
||||
auto& _Data = _DynosCustomTexs[i].second->mData;
|
||||
|
||||
// load the texture if it hasn't been yet
|
||||
if (_Data->mRawData.begin() == NULL) {
|
||||
u8 *_RawData = stbi_load_from_memory(_Data->mPngData.begin(), _Data->mPngData.Count(), &_Data->mRawWidth, &_Data->mRawHeight, NULL, 4);
|
||||
_Data->mRawFormat = G_IM_FMT_RGBA;
|
||||
_Data->mRawSize = G_IM_SIZ_32b;
|
||||
_Data->mRawData = Array<u8>(_RawData, _RawData + (_Data->mRawWidth * _Data->mRawHeight * 4));
|
||||
free(_RawData);
|
||||
}
|
||||
|
||||
// translate bit size
|
||||
switch (_Data->mRawSize) {
|
||||
case G_IM_SIZ_8b: aOutTexInfo->bitSize = 8; break;
|
||||
case G_IM_SIZ_16b: aOutTexInfo->bitSize = 16; break;
|
||||
case G_IM_SIZ_32b: aOutTexInfo->bitSize = 32; break;
|
||||
default: return false;
|
||||
}
|
||||
|
||||
//aOutTexInfo->format = _Data->mRawFormat;
|
||||
aOutTexInfo->width = _Data->mRawWidth;
|
||||
aOutTexInfo->height = _Data->mRawHeight;
|
||||
aOutTexInfo->texture = _Data->mRawData.begin();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// check builtin textures
|
||||
//return DynOS_Builtin_Tex_GetFromName(aTexName);
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -2135,30 +2135,6 @@
|
|||
|
||||
<br />
|
||||
|
||||
## [djui_hud_render_texture](#djui_hud_render_texture)
|
||||
|
||||
### Lua Example
|
||||
`djui_hud_render_texture(texInfo, x, y, scaleW, scaleH)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| texInfo | [TextureInfo](structs.md#TextureInfo) |
|
||||
| x | `number` |
|
||||
| y | `number` |
|
||||
| scaleW | `number` |
|
||||
| scaleH | `number` |
|
||||
|
||||
### Returns
|
||||
- None
|
||||
|
||||
### C Prototype
|
||||
`void djui_hud_render_texture(struct TextureInfo* texInfo, f32 x, f32 y, f32 scaleW, f32 scaleH);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [djui_hud_set_color](#djui_hud_set_color)
|
||||
|
||||
### Lua Example
|
||||
|
|
|
@ -706,7 +706,6 @@
|
|||
- [djui_hud_measure_text](functions-3.md#djui_hud_measure_text)
|
||||
- [djui_hud_print_text](functions-3.md#djui_hud_print_text)
|
||||
- [djui_hud_render_rect](functions-3.md#djui_hud_render_rect)
|
||||
- [djui_hud_render_texture](functions-3.md#djui_hud_render_texture)
|
||||
- [djui_hud_set_color](functions-3.md#djui_hud_set_color)
|
||||
- [djui_hud_set_font](functions-3.md#djui_hud_set_font)
|
||||
- [djui_hud_set_resolution](functions-3.md#djui_hud_set_resolution)
|
||||
|
|
|
@ -391,10 +391,10 @@ struct MarioState
|
|||
|
||||
struct TextureInfo
|
||||
{
|
||||
const u8* texture;
|
||||
const u8 bitSize;
|
||||
const u32 width;
|
||||
const u32 height;
|
||||
u8* texture;
|
||||
u8 bitSize;
|
||||
u32 width;
|
||||
u32 height;
|
||||
};
|
||||
|
||||
#define PLAY_MODE_NORMAL 0
|
||||
|
|
|
@ -1,34 +1,34 @@
|
|||
// 0x07000000 - 0x07001000
|
||||
ALIGNED8 static const Texture bbh_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture bbh_seg7_texture_07000000[] = {
|
||||
#include "levels/bbh/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07001800
|
||||
ALIGNED8 static const Texture bbh_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture bbh_seg7_texture_07001000[] = {
|
||||
#include "levels/bbh/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001800 - 0x07002000
|
||||
ALIGNED8 static const Texture bbh_seg7_texture_07001800[] = {
|
||||
ALIGNED8 const Texture bbh_seg7_texture_07001800[] = {
|
||||
#include "levels/bbh/2.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002000 - 0x07003000
|
||||
ALIGNED8 static const Texture bbh_seg7_texture_07002000[] = {
|
||||
ALIGNED8 const Texture bbh_seg7_texture_07002000[] = {
|
||||
#include "levels/bbh/3.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07003000 - 0x07003400
|
||||
ALIGNED8 static const Texture bbh_seg7_texture_07003000[] = {
|
||||
ALIGNED8 const Texture bbh_seg7_texture_07003000[] = {
|
||||
#include "levels/bbh/4.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07003400 - 0x07004400
|
||||
ALIGNED8 static const Texture bbh_seg7_texture_07003400[] = {
|
||||
ALIGNED8 const Texture bbh_seg7_texture_07003400[] = {
|
||||
#include "levels/bbh/5.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07004400 - 0x07004800
|
||||
ALIGNED8 static const Texture bbh_seg7_texture_07004400[] = {
|
||||
ALIGNED8 const Texture bbh_seg7_texture_07004400[] = {
|
||||
#include "levels/bbh/6.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
// 0x07000000 - 0x07000002
|
||||
ALIGNED8 static const Texture bitdw_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture bitdw_seg7_texture_07000000[] = {
|
||||
#include "levels/bitdw/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000800 - 0x07000802
|
||||
ALIGNED8 static const Texture bitdw_seg7_texture_07000800[] = {
|
||||
ALIGNED8 const Texture bitdw_seg7_texture_07000800[] = {
|
||||
#include "levels/bitdw/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07001002
|
||||
ALIGNED8 static const Texture bitdw_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture bitdw_seg7_texture_07001000[] = {
|
||||
#include "levels/bitdw/2.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001800 - 0x07001802
|
||||
ALIGNED8 static const Texture bitdw_seg7_texture_07001800[] = {
|
||||
ALIGNED8 const Texture bitdw_seg7_texture_07001800[] = {
|
||||
#include "levels/bitdw/3.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
// 0x07000000 - 0x07001000
|
||||
ALIGNED8 static const Texture bitfs_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture bitfs_seg7_texture_07000000[] = {
|
||||
#include "levels/bitfs/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07001800
|
||||
ALIGNED8 static const Texture bitfs_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture bitfs_seg7_texture_07001000[] = {
|
||||
#include "levels/bitfs/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001800 - 0x07002000
|
||||
ALIGNED8 static const Texture bitfs_seg7_texture_07001800[] = {
|
||||
ALIGNED8 const Texture bitfs_seg7_texture_07001800[] = {
|
||||
#include "levels/bitfs/2.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
// 0x07000000 - 0x07001000
|
||||
ALIGNED8 static const Texture bits_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture bits_seg7_texture_07000000[] = {
|
||||
#include "levels/bits/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07002000
|
||||
ALIGNED8 static const Texture bits_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture bits_seg7_texture_07001000[] = {
|
||||
#include "levels/bits/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002000 - 0x07002800
|
||||
ALIGNED8 static const Texture bits_seg7_texture_07002000[] = {
|
||||
ALIGNED8 const Texture bits_seg7_texture_07002000[] = {
|
||||
#include "levels/bits/2.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
// 0x07000000 - 0x07000800
|
||||
ALIGNED8 static const Texture bob_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture bob_seg7_texture_07000000[] = {
|
||||
#include "levels/bob/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000800 - 0x07001000
|
||||
ALIGNED8 static const Texture bob_seg7_texture_07000800[] = {
|
||||
ALIGNED8 const Texture bob_seg7_texture_07000800[] = {
|
||||
#include "levels/bob/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07001800
|
||||
ALIGNED8 static const Texture bob_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture bob_seg7_texture_07001000[] = {
|
||||
#include "levels/bob/2.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001800 - 0x07002000
|
||||
ALIGNED8 static const Texture bob_seg7_texture_07001800[] = {
|
||||
ALIGNED8 const Texture bob_seg7_texture_07001800[] = {
|
||||
#include "levels/bob/3.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002000 - 0x07002800
|
||||
ALIGNED8 static const Texture bob_seg7_texture_07002000[] = {
|
||||
ALIGNED8 const Texture bob_seg7_texture_07002000[] = {
|
||||
#include "levels/bob/4.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
// 0x07000000 - 0x07000002
|
||||
ALIGNED8 static const Texture bowser_1_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture bowser_1_seg7_texture_07000000[] = {
|
||||
#include "levels/bowser_1/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07001002
|
||||
ALIGNED8 static const Texture bowser_1_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture bowser_1_seg7_texture_07001000[] = {
|
||||
#include "levels/bowser_1/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001800 - 0x07001802
|
||||
ALIGNED8 static const Texture bowser_1_seg7_texture_07001800[] = {
|
||||
ALIGNED8 const Texture bowser_1_seg7_texture_07001800[] = {
|
||||
#include "levels/bowser_1/2.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// 0x07000000 - 0x07000800
|
||||
ALIGNED8 static const Texture bowser_2_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture bowser_2_seg7_texture_07000000[] = {
|
||||
#include "levels/bowser_2/0.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
// 0x07000000 - 0x07000800
|
||||
ALIGNED8 static const Texture bowser_3_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture bowser_3_seg7_texture_07000000[] = {
|
||||
#include "levels/bowser_3/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000800 - 0x07001000
|
||||
ALIGNED8 static const Texture bowser_3_seg7_texture_07000800[] = {
|
||||
ALIGNED8 const Texture bowser_3_seg7_texture_07000800[] = {
|
||||
#include "levels/bowser_3/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07002000
|
||||
ALIGNED8 static const Texture bowser_3_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture bowser_3_seg7_texture_07001000[] = {
|
||||
#include "levels/bowser_3/2.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -18,12 +18,12 @@ static const Vtx castle_grounds_seg7_vertex_0700C9A8[] = {
|
|||
};
|
||||
|
||||
// 0x0700C9E8 - 0x0700D9E8
|
||||
ALIGNED8 static const Texture castle_grounds_seg7_texture_0700C9E8[] = {
|
||||
ALIGNED8 const Texture castle_grounds_seg7_texture_0700C9E8[] = {
|
||||
#include "levels/castle_grounds/3.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700D9E8 - 0x0700E9E8
|
||||
ALIGNED8 static const Texture castle_grounds_seg7_texture_0700D9E8[] = {
|
||||
ALIGNED8 const Texture castle_grounds_seg7_texture_0700D9E8[] = {
|
||||
#include "levels/castle_grounds/4.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
ALIGNED8 static const Texture castle_grounds_seg7_us_texture_0700EAE8[] = {
|
||||
ALIGNED8 const Texture castle_grounds_seg7_us_texture_0700EAE8[] = {
|
||||
#include "levels/castle_grounds/5.ia8.inc.c"
|
||||
};
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
// 0x07000000 - 0x07001000
|
||||
ALIGNED8 static const Texture castle_grounds_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture castle_grounds_seg7_texture_07000000[] = {
|
||||
#include "levels/castle_grounds/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07002000
|
||||
ALIGNED8 static const Texture castle_grounds_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture castle_grounds_seg7_texture_07001000[] = {
|
||||
#include "levels/castle_grounds/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002000 - 0x07003000
|
||||
ALIGNED8 static const Texture castle_grounds_seg7_texture_07002000[] = {
|
||||
ALIGNED8 const Texture castle_grounds_seg7_texture_07002000[] = {
|
||||
#include "levels/castle_grounds/2.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1300,55 +1300,55 @@ static const Gfx inside_castle_seg7_painting_dl_070235B8[] = {
|
|||
gsSPBranchList(inside_castle_seg7_painting_dl_07023580),
|
||||
};
|
||||
|
||||
ALIGNED8 static const Texture *const inside_castle_seg7_painting_textures_070235C0[] = {
|
||||
ALIGNED8 const Texture *const inside_castle_seg7_painting_textures_070235C0[] = {
|
||||
inside_castle_seg7_texture_0700B800, inside_castle_seg7_texture_0700A800,
|
||||
};
|
||||
|
||||
ALIGNED8 static const Texture *const inside_castle_seg7_painting_textures_070235C8[] = {
|
||||
ALIGNED8 const Texture *const inside_castle_seg7_painting_textures_070235C8[] = {
|
||||
inside_castle_seg7_texture_0700D800, inside_castle_seg7_texture_0700C800,
|
||||
};
|
||||
|
||||
ALIGNED8 static const Texture *const inside_castle_seg7_painting_textures_070235D0[] = {
|
||||
ALIGNED8 const Texture *const inside_castle_seg7_painting_textures_070235D0[] = {
|
||||
inside_castle_seg7_texture_0700F800, inside_castle_seg7_texture_0700E800,
|
||||
};
|
||||
|
||||
ALIGNED8 static const Texture *const inside_castle_seg7_painting_textures_070235D8[] = {
|
||||
ALIGNED8 const Texture *const inside_castle_seg7_painting_textures_070235D8[] = {
|
||||
inside_castle_seg7_texture_07011800, inside_castle_seg7_texture_07010800,
|
||||
};
|
||||
|
||||
ALIGNED8 static const Texture *const inside_castle_seg7_painting_textures_070235E0[] = {
|
||||
ALIGNED8 const Texture *const inside_castle_seg7_painting_textures_070235E0[] = {
|
||||
inside_castle_seg7_texture_07012800, inside_castle_seg7_texture_07013800,
|
||||
};
|
||||
|
||||
ALIGNED8 static const Texture *const inside_castle_seg7_painting_textures_070235E8[] = {
|
||||
ALIGNED8 const Texture *const inside_castle_seg7_painting_textures_070235E8[] = {
|
||||
inside_castle_seg7_texture_07015800, inside_castle_seg7_texture_07014800,
|
||||
};
|
||||
|
||||
ALIGNED8 static const Texture *const inside_castle_seg7_painting_textures_070235F0[] = {
|
||||
ALIGNED8 const Texture *const inside_castle_seg7_painting_textures_070235F0[] = {
|
||||
inside_castle_seg7_texture_07016800,
|
||||
};
|
||||
|
||||
ALIGNED8 static const Texture *const inside_castle_seg7_painting_textures_070235F4[] = {
|
||||
ALIGNED8 const Texture *const inside_castle_seg7_painting_textures_070235F4[] = {
|
||||
inside_castle_seg7_texture_07017000,
|
||||
};
|
||||
|
||||
ALIGNED8 static const Texture *const inside_castle_seg7_painting_textures_070235F8[] = {
|
||||
ALIGNED8 const Texture *const inside_castle_seg7_painting_textures_070235F8[] = {
|
||||
inside_castle_seg7_texture_07018800, inside_castle_seg7_texture_07017800,
|
||||
};
|
||||
|
||||
ALIGNED8 static const Texture *const inside_castle_seg7_painting_textures_07023600[] = {
|
||||
ALIGNED8 const Texture *const inside_castle_seg7_painting_textures_07023600[] = {
|
||||
inside_castle_seg7_texture_0701A800, inside_castle_seg7_texture_07019800,
|
||||
};
|
||||
|
||||
ALIGNED8 static const Texture *const inside_castle_seg7_painting_textures_07023608[] = {
|
||||
ALIGNED8 const Texture *const inside_castle_seg7_painting_textures_07023608[] = {
|
||||
inside_castle_seg7_texture_0701C800, inside_castle_seg7_texture_0701B800,
|
||||
};
|
||||
|
||||
ALIGNED8 static const Texture *const inside_castle_seg7_painting_textures_07023610[] = {
|
||||
ALIGNED8 const Texture *const inside_castle_seg7_painting_textures_07023610[] = {
|
||||
inside_castle_seg7_texture_0701E800, inside_castle_seg7_texture_0701D800,
|
||||
};
|
||||
|
||||
ALIGNED8 static const Texture *const inside_castle_seg7_painting_textures_07023618[] = {
|
||||
ALIGNED8 const Texture *const inside_castle_seg7_painting_textures_07023618[] = {
|
||||
inside_castle_seg7_texture_07020800, inside_castle_seg7_texture_0701F800,
|
||||
};
|
||||
|
||||
|
|
|
@ -1,216 +1,216 @@
|
|||
ALIGNED8 static const Texture texture_castle_light[] = {
|
||||
ALIGNED8 const Texture texture_castle_light[] = {
|
||||
#include "levels/castle_inside/castle_light.ia16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000800 - 0x07001000
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07000800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07000800[] = {
|
||||
#include "levels/castle_inside/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07002000
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07001000[] = {
|
||||
#include "levels/castle_inside/2.ia16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002000 - 0x07003000
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07002000[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07002000[] = {
|
||||
#include "levels/castle_inside/3.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07003000 - 0x07003800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07003000[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07003000[] = {
|
||||
#include "levels/castle_inside/4.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07003800 - 0x07004800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07003800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07003800[] = {
|
||||
#include "levels/castle_inside/5.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07004800 - 0x07005800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07004800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07004800[] = {
|
||||
#include "levels/castle_inside/6.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07005800 - 0x07006000
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07005800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07005800[] = {
|
||||
#include "levels/castle_inside/7.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07006000 - 0x07006800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07006000[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07006000[] = {
|
||||
#include "levels/castle_inside/8.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07006800 - 0x07007000
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07006800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07006800[] = {
|
||||
#include "levels/castle_inside/9.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07007000 - 0x07007800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07007000[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07007000[] = {
|
||||
#include "levels/castle_inside/10.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07007800 - 0x07008000
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07007800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07007800[] = {
|
||||
#include "levels/castle_inside/11.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07008000 - 0x07008800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07008000[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07008000[] = {
|
||||
#include "levels/castle_inside/12.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07008800 - 0x07009000
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07008800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07008800[] = {
|
||||
#include "levels/castle_inside/13.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07009000 - 0x07009800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07009000[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07009000[] = {
|
||||
#include "levels/castle_inside/14.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07009800 - 0x0700A000
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07009800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07009800[] = {
|
||||
#include "levels/castle_inside/15.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700A000 - 0x0700A800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_0700A000[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_0700A000[] = {
|
||||
#include "levels/castle_inside/16.ia16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700A800 - 0x0700B800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_0700A800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_0700A800[] = {
|
||||
#include "levels/castle_inside/17.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700B800 - 0x0700C800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_0700B800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_0700B800[] = {
|
||||
#include "levels/castle_inside/18.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700C800 - 0x0700D800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_0700C800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_0700C800[] = {
|
||||
#include "levels/castle_inside/19.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700D800 - 0x0700E800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_0700D800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_0700D800[] = {
|
||||
#include "levels/castle_inside/20.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700E800 - 0x0700F800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_0700E800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_0700E800[] = {
|
||||
#include "levels/castle_inside/21.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700F800 - 0x07010800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_0700F800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_0700F800[] = {
|
||||
#include "levels/castle_inside/22.rgba16.inc.c"
|
||||
};
|
||||
|
||||
#ifdef VERSION_JP
|
||||
// 0x07010800 - 0x07011800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07010800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07010800[] = {
|
||||
#include "levels/castle_inside/23.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07011800 - 0x0701200
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07011800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07011800[] = {
|
||||
#include "levels/castle_inside/24.rgba16.inc.c"
|
||||
};
|
||||
|
||||
#else
|
||||
// 0x07010800 - 0x07011800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07010800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07010800[] = {
|
||||
#include "levels/castle_inside/23_us.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07011800 - 0x0701200
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07011800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07011800[] = {
|
||||
#include "levels/castle_inside/24_us.rgba16.inc.c"
|
||||
};
|
||||
#endif
|
||||
|
||||
// 0x07012800 - 0x07013800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07012800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07012800[] = {
|
||||
#include "levels/castle_inside/25.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07013800 - 0x07014800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07013800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07013800[] = {
|
||||
#include "levels/castle_inside/26.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07014800 - 0x07015800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07014800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07014800[] = {
|
||||
#include "levels/castle_inside/27.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07015800 - 0x07016800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07015800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07015800[] = {
|
||||
#include "levels/castle_inside/28.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07016800 - 0x07017000
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07016800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07016800[] = {
|
||||
#include "levels/castle_inside/29.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07017000 - 0x07017800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07017000[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07017000[] = {
|
||||
#include "levels/castle_inside/30.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07017800 - 0x07018800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07017800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07017800[] = {
|
||||
#include "levels/castle_inside/31.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07018800 - 0x07019800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07018800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07018800[] = {
|
||||
#include "levels/castle_inside/32.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07019800 - 0x0701A800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07019800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07019800[] = {
|
||||
#include "levels/castle_inside/33.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0701A800 - 0x0701B800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_0701A800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_0701A800[] = {
|
||||
#include "levels/castle_inside/34.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0701B800 - 0x0701C800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_0701B800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_0701B800[] = {
|
||||
#include "levels/castle_inside/35.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0701C800 - 0x0701D800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_0701C800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_0701C800[] = {
|
||||
#include "levels/castle_inside/36.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0701D800 - 0x0701E800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_0701D800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_0701D800[] = {
|
||||
#include "levels/castle_inside/37.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0701E800 - 0x0701F800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_0701E800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_0701E800[] = {
|
||||
#include "levels/castle_inside/38.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0701F800 - 0x07020800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_0701F800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_0701F800[] = {
|
||||
#include "levels/castle_inside/39.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07020800 - 0x07021800
|
||||
ALIGNED8 static const Texture inside_castle_seg7_texture_07020800[] = {
|
||||
ALIGNED8 const Texture inside_castle_seg7_texture_07020800[] = {
|
||||
#include "levels/castle_inside/40.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -5,7 +5,7 @@ static const Lights1 ccm_seg7_lights_07011940 = gdSPDefLights1(
|
|||
);
|
||||
|
||||
// 0x07011958 - 0x07012158
|
||||
ALIGNED8 static const Texture ccm_seg7_texture_07011958[] = {
|
||||
ALIGNED8 const Texture ccm_seg7_texture_07011958[] = {
|
||||
#include "levels/ccm/12.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
|
|
@ -1,59 +1,59 @@
|
|||
// 0x07000000 - 0x07000800
|
||||
ALIGNED8 static const Texture ccm_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture ccm_seg7_texture_07000000[] = {
|
||||
#include "levels/ccm/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000800 - 0x07000900
|
||||
ALIGNED8 static const Texture ccm_seg7_texture_07000800[] = {
|
||||
ALIGNED8 const Texture ccm_seg7_texture_07000800[] = {
|
||||
#include "levels/ccm/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000900 - 0x07001100
|
||||
ALIGNED8 static const Texture ccm_seg7_texture_07000900[] = {
|
||||
ALIGNED8 const Texture ccm_seg7_texture_07000900[] = {
|
||||
#include "levels/ccm/2.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001100 - 0x07001900
|
||||
ALIGNED8 static const Texture ccm_seg7_texture_07001100[] = {
|
||||
ALIGNED8 const Texture ccm_seg7_texture_07001100[] = {
|
||||
#include "levels/ccm/3.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001900 - 0x07002100
|
||||
ALIGNED8 static const Texture ccm_seg7_texture_07001900[] = {
|
||||
ALIGNED8 const Texture ccm_seg7_texture_07001900[] = {
|
||||
#include "levels/ccm/4.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002100 - 0x07002900
|
||||
ALIGNED8 static const Texture ccm_seg7_texture_07002100[] = {
|
||||
ALIGNED8 const Texture ccm_seg7_texture_07002100[] = {
|
||||
#include "levels/ccm/5.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002900 - 0x07003100
|
||||
ALIGNED8 static const Texture ccm_seg7_texture_07002900[] = {
|
||||
ALIGNED8 const Texture ccm_seg7_texture_07002900[] = {
|
||||
#include "levels/ccm/6.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07003100 - 0x07003900
|
||||
ALIGNED8 static const Texture ccm_seg7_texture_07003100[] = {
|
||||
ALIGNED8 const Texture ccm_seg7_texture_07003100[] = {
|
||||
#include "levels/ccm/7.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07003900 - 0x07003B00
|
||||
ALIGNED8 static const Texture ccm_seg7_texture_07003900[] = {
|
||||
ALIGNED8 const Texture ccm_seg7_texture_07003900[] = {
|
||||
#include "levels/ccm/8.ia16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07003B00 - 0x07004300
|
||||
ALIGNED8 static const Texture ccm_seg7_texture_07003B00[] = {
|
||||
ALIGNED8 const Texture ccm_seg7_texture_07003B00[] = {
|
||||
#include "levels/ccm/9.ia16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07004300 - 0x07004B00
|
||||
ALIGNED8 static const Texture ccm_seg7_texture_07004300[] = {
|
||||
ALIGNED8 const Texture ccm_seg7_texture_07004300[] = {
|
||||
#include "levels/ccm/10.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07004B00 - 0x07005300
|
||||
ALIGNED8 static const Texture ccm_seg7_texture_07004B00[] = {
|
||||
ALIGNED8 const Texture ccm_seg7_texture_07004B00[] = {
|
||||
#include "levels/ccm/11.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
// 0x07000000 - 0x07001000
|
||||
ALIGNED8 static const Texture cotmc_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture cotmc_seg7_texture_07000000[] = {
|
||||
#include "levels/cotmc/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07001800
|
||||
ALIGNED8 static const Texture cotmc_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture cotmc_seg7_texture_07001000[] = {
|
||||
#include "levels/cotmc/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001800 - 0x07002000
|
||||
ALIGNED8 static const Texture cotmc_seg7_texture_07001800[] = {
|
||||
ALIGNED8 const Texture cotmc_seg7_texture_07001800[] = {
|
||||
#include "levels/cotmc/2.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002000 - 0x07002800
|
||||
ALIGNED8 static const Texture cotmc_seg7_texture_07002000[] = {
|
||||
ALIGNED8 const Texture cotmc_seg7_texture_07002000[] = {
|
||||
#include "levels/cotmc/3.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002800 - 0x07003000
|
||||
ALIGNED8 static const Texture cotmc_seg7_texture_07002800[] = {
|
||||
ALIGNED8 const Texture cotmc_seg7_texture_07002800[] = {
|
||||
#include "levels/cotmc/4.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
// 0x07000000 - 0x07001000
|
||||
ALIGNED8 static const Texture ddd_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture ddd_seg7_texture_07000000[] = {
|
||||
#include "levels/ddd/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07001800
|
||||
ALIGNED8 static const Texture ddd_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture ddd_seg7_texture_07001000[] = {
|
||||
#include "levels/ddd/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001800 - 0x07002000
|
||||
ALIGNED8 static const Texture ddd_seg7_texture_07001800[] = {
|
||||
ALIGNED8 const Texture ddd_seg7_texture_07001800[] = {
|
||||
#include "levels/ddd/2.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002000 - 0x07003000
|
||||
ALIGNED8 static const Texture ddd_seg7_texture_07002000[] = {
|
||||
ALIGNED8 const Texture ddd_seg7_texture_07002000[] = {
|
||||
#include "levels/ddd/3.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07003000 - 0x07003800
|
||||
ALIGNED8 static const Texture ddd_seg7_texture_07003000[] = {
|
||||
ALIGNED8 const Texture ddd_seg7_texture_07003000[] = {
|
||||
#include "levels/ddd/4.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -10,32 +10,32 @@
|
|||
#include "levels/ending/cake_eu.inc.c"
|
||||
|
||||
// 0x07023000 - 0x07023FFF
|
||||
ALIGNED8 static const Texture cake_end_texture_eu_35[] = {
|
||||
ALIGNED8 const Texture cake_end_texture_eu_35[] = {
|
||||
#include "levels/ending/eu_023000.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07024000 - 0x07024FFF
|
||||
ALIGNED8 static const Texture cake_end_texture_eu_36[] = {
|
||||
ALIGNED8 const Texture cake_end_texture_eu_36[] = {
|
||||
#include "levels/ending/eu_024000.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07025000 - 0x07025FFF
|
||||
ALIGNED8 static const Texture cake_end_texture_eu_37[] = {
|
||||
ALIGNED8 const Texture cake_end_texture_eu_37[] = {
|
||||
#include "levels/ending/eu_025000.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07026000 - 0x07026FFF
|
||||
ALIGNED8 static const Texture cake_end_texture_eu_38[] = {
|
||||
ALIGNED8 const Texture cake_end_texture_eu_38[] = {
|
||||
#include "levels/ending/eu_026000.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07027000 - 0x07027FFF
|
||||
ALIGNED8 static const Texture cake_end_texture_eu_39[] = {
|
||||
ALIGNED8 const Texture cake_end_texture_eu_39[] = {
|
||||
#include "levels/ending/eu_027000.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07028000 - 0x07028FFF
|
||||
ALIGNED8 static const Texture cake_end_texture_eu_40[] = {
|
||||
ALIGNED8 const Texture cake_end_texture_eu_40[] = {
|
||||
#include "levels/ending/eu_028000.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
|
|
@ -501,7 +501,7 @@ UNUSED static const u64 hmc_unused_0 = 0;
|
|||
|
||||
|
||||
// 0x07024CE0 - 0x070254E0
|
||||
ALIGNED8 static const Texture hmc_seg7_texture_07024CE0[] = {
|
||||
ALIGNED8 const Texture hmc_seg7_texture_07024CE0[] = {
|
||||
#include "levels/hmc/7.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
|
|
@ -1,34 +1,34 @@
|
|||
// 0x07000000 - 0x07001000
|
||||
ALIGNED8 static const Texture hmc_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture hmc_seg7_texture_07000000[] = {
|
||||
#include "levels/hmc/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07002000
|
||||
ALIGNED8 static const Texture hmc_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture hmc_seg7_texture_07001000[] = {
|
||||
#include "levels/hmc/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002000 - 0x07003000
|
||||
ALIGNED8 static const Texture hmc_seg7_texture_07002000[] = {
|
||||
ALIGNED8 const Texture hmc_seg7_texture_07002000[] = {
|
||||
#include "levels/hmc/2.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07003000 - 0x07003800
|
||||
ALIGNED8 static const Texture hmc_seg7_texture_07003000[] = {
|
||||
ALIGNED8 const Texture hmc_seg7_texture_07003000[] = {
|
||||
#include "levels/hmc/3.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07003800 - 0x07004000
|
||||
ALIGNED8 static const Texture hmc_seg7_texture_07003800[] = {
|
||||
ALIGNED8 const Texture hmc_seg7_texture_07003800[] = {
|
||||
#include "levels/hmc/4.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07004000 - 0x07004800
|
||||
ALIGNED8 static const Texture hmc_seg7_texture_07004000[] = {
|
||||
ALIGNED8 const Texture hmc_seg7_texture_07004000[] = {
|
||||
#include "levels/hmc/5.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07004800 - 0x07005800
|
||||
ALIGNED8 static const Texture hmc_seg7_texture_07004800[] = {
|
||||
ALIGNED8 const Texture hmc_seg7_texture_07004800[] = {
|
||||
#include "levels/hmc/6.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -2577,12 +2577,12 @@ static const Vtx intro_seg7_vertex_07007DF0[] = {
|
|||
};
|
||||
|
||||
// 0x07007EA0 - 0x07007EA2
|
||||
ALIGNED8 static const Texture intro_seg7_texture_07007EA0[] = {
|
||||
ALIGNED8 const Texture intro_seg7_texture_07007EA0[] = {
|
||||
#include "levels/intro/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x070086A0 - 0x070086A2
|
||||
ALIGNED8 static const Texture intro_seg7_texture_070086A0[] = {
|
||||
ALIGNED8 const Texture intro_seg7_texture_070086A0[] = {
|
||||
#include "levels/intro/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
@ -3335,13 +3335,13 @@ static const Vtx intro_seg7_vertex_0700B460[] = {
|
|||
|
||||
#if defined(VERSION_EU) || defined(VERSION_SH)
|
||||
// 0x0700B4A0 - 0x0700B4A2
|
||||
ALIGNED8 static const Texture intro_seg7_texture_0700B4A0[] = {
|
||||
ALIGNED8 const Texture intro_seg7_texture_0700B4A0[] = {
|
||||
#include "levels/intro/2_eu_copyright.rgba16.inc.c"
|
||||
};
|
||||
|
||||
#else
|
||||
// 0x0700B4A0 - 0x0700B4A2
|
||||
ALIGNED8 static const Texture intro_seg7_texture_0700B4A0[] = {
|
||||
ALIGNED8 const Texture intro_seg7_texture_0700B4A0[] = {
|
||||
#include "levels/intro/2_copyright.rgba16.inc.c"
|
||||
};
|
||||
#endif
|
||||
|
@ -3357,7 +3357,7 @@ ALIGNED8 static const u8 intro_seg7_texture_0700C4A0[] = {
|
|||
};
|
||||
#else
|
||||
// 0x0700C4A0 - 0x0700D4A0
|
||||
ALIGNED8 static const Texture intro_seg7_texture_0700C4A0[] = {
|
||||
ALIGNED8 const Texture intro_seg7_texture_0700C4A0[] = {
|
||||
#include "levels/intro/3_tm.rgba16.inc.c"
|
||||
};
|
||||
#endif
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
// 0x07000000 - 0x07000800
|
||||
ALIGNED8 static const Texture jrb_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture jrb_seg7_texture_07000000[] = {
|
||||
#include "levels/jrb/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000800 - 0x07001800
|
||||
ALIGNED8 static const Texture jrb_seg7_texture_07000800[] = {
|
||||
ALIGNED8 const Texture jrb_seg7_texture_07000800[] = {
|
||||
#include "levels/jrb/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001800 - 0x07002000
|
||||
ALIGNED8 static const Texture jrb_seg7_texture_07001800[] = {
|
||||
ALIGNED8 const Texture jrb_seg7_texture_07001800[] = {
|
||||
#include "levels/jrb/2.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002000 - 0x07002800
|
||||
ALIGNED8 static const Texture jrb_seg7_texture_07002000[] = {
|
||||
ALIGNED8 const Texture jrb_seg7_texture_07002000[] = {
|
||||
#include "levels/jrb/3.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,164 +1,164 @@
|
|||
// 0x07000000 - 0x07000800
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07000000[] = {
|
||||
#include "levels/lll/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000800 - 0x07001000
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07000800[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07000800[] = {
|
||||
#include "levels/lll/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07001800
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07001000[] = {
|
||||
#include "levels/lll/2.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001800 - 0x07002000
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07001800[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07001800[] = {
|
||||
#include "levels/lll/3.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002000 - 0x07002800
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07002000[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07002000[] = {
|
||||
#include "levels/lll/4.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002800 - 0x07003000
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07002800[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07002800[] = {
|
||||
#include "levels/lll/5.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07003000 - 0x07003800
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07003000[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07003000[] = {
|
||||
#include "levels/lll/6.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07003800 - 0x07004000
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07003800[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07003800[] = {
|
||||
#include "levels/lll/7.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07004000 - 0x07004800
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07004000[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07004000[] = {
|
||||
#include "levels/lll/8.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07004800 - 0x07005000
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07004800[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07004800[] = {
|
||||
#include "levels/lll/9.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07005000 - 0x07005800
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07005000[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07005000[] = {
|
||||
#include "levels/lll/10.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07005800 - 0x07006000
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07005800[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07005800[] = {
|
||||
#include "levels/lll/11.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07006000 - 0x07006800
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07006000[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07006000[] = {
|
||||
#include "levels/lll/12.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07006800 - 0x07007000
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07006800[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07006800[] = {
|
||||
#include "levels/lll/13.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07007000 - 0x07007800
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07007000[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07007000[] = {
|
||||
#include "levels/lll/14.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07007800 - 0x07008000
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07007800[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07007800[] = {
|
||||
#include "levels/lll/15.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07008000 - 0x07008800
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07008000[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07008000[] = {
|
||||
#include "levels/lll/16.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07008800 - 0x07009000
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07008800[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07008800[] = {
|
||||
#include "levels/lll/17.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07009000 - 0x07009800
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07009000[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07009000[] = {
|
||||
#include "levels/lll/18.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07009800 - 0x0700A000
|
||||
ALIGNED8 static const Texture lll_seg7_texture_07009800[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_07009800[] = {
|
||||
#include "levels/lll/19.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700A000 - 0x0700A800
|
||||
ALIGNED8 static const Texture lll_seg7_texture_0700A000[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_0700A000[] = {
|
||||
#include "levels/lll/20.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700A800 - 0x0700B000
|
||||
ALIGNED8 static const Texture lll_seg7_texture_0700A800[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_0700A800[] = {
|
||||
#include "levels/lll/21.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700B000 - 0x0700B800
|
||||
ALIGNED8 static const Texture lll_seg7_texture_0700B000[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_0700B000[] = {
|
||||
#include "levels/lll/22.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700B800 - 0x0700C000
|
||||
ALIGNED8 static const Texture lll_seg7_texture_0700B800[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_0700B800[] = {
|
||||
#include "levels/lll/23.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700C000 - 0x0700C800
|
||||
ALIGNED8 static const Texture lll_seg7_texture_0700C000[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_0700C000[] = {
|
||||
#include "levels/lll/24.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700C800 - 0x0700D000
|
||||
ALIGNED8 static const Texture lll_seg7_texture_0700C800[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_0700C800[] = {
|
||||
#include "levels/lll/25.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700D000 - 0x0700D200
|
||||
ALIGNED8 static const Texture lll_seg7_texture_0700D000[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_0700D000[] = {
|
||||
#include "levels/lll/26.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700D200 - 0x0700D400
|
||||
ALIGNED8 static const Texture lll_seg7_texture_0700D200[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_0700D200[] = {
|
||||
#include "levels/lll/27.ia16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700D400 - 0x0700DC00
|
||||
ALIGNED8 static const Texture lll_seg7_texture_0700D400[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_0700D400[] = {
|
||||
#include "levels/lll/28.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700DC00 - 0x0700E400
|
||||
ALIGNED8 static const Texture lll_seg7_texture_0700DC00[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_0700DC00[] = {
|
||||
#include "levels/lll/29.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700E400 - 0x0700EC00
|
||||
ALIGNED8 static const Texture lll_seg7_texture_0700E400[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_0700E400[] = {
|
||||
#include "levels/lll/30.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700EC00 - 0x0700F400
|
||||
ALIGNED8 static const Texture lll_seg7_texture_0700EC00[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_0700EC00[] = {
|
||||
#include "levels/lll/31.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700F400 - 0x0700FC00
|
||||
ALIGNED8 static const Texture lll_seg7_texture_0700F400[] = {
|
||||
ALIGNED8 const Texture lll_seg7_texture_0700F400[] = {
|
||||
#include "levels/lll/32.rgba16.inc.c"
|
||||
};
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,14 +1,14 @@
|
|||
// 0x07000000 - 0x07000002
|
||||
ALIGNED8 static const Texture pss_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture pss_seg7_texture_07000000[] = {
|
||||
#include "levels/pss/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000800 - 0x07000802
|
||||
ALIGNED8 static const Texture pss_seg7_texture_07000800[] = {
|
||||
ALIGNED8 const Texture pss_seg7_texture_07000800[] = {
|
||||
#include "levels/pss/1.ia16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07001002
|
||||
ALIGNED8 static const Texture pss_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture pss_seg7_texture_07001000[] = {
|
||||
#include "levels/pss/2.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
// 0x07000000 - 0x07000800
|
||||
ALIGNED8 static const Texture texture_quarter_flying_carpet[] = {
|
||||
ALIGNED8 const Texture texture_quarter_flying_carpet[] = {
|
||||
#include "levels/rr/quarter_flying_carpet.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000800 - 0x07001800
|
||||
ALIGNED8 static const Texture rr_seg7_texture_07000800[] = {
|
||||
ALIGNED8 const Texture rr_seg7_texture_07000800[] = {
|
||||
#include "levels/rr/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001800 - 0x07002000
|
||||
ALIGNED8 static const Texture rr_seg7_texture_07001800[] = {
|
||||
ALIGNED8 const Texture rr_seg7_texture_07001800[] = {
|
||||
#include "levels/rr/2.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
// 0x07000000 - 0x07000800
|
||||
ALIGNED8 static const Texture sl_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture sl_seg7_texture_07000000[] = {
|
||||
#include "levels/sl/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000800 - 0x07001000
|
||||
ALIGNED8 static const Texture sl_seg7_texture_07000800[] = {
|
||||
ALIGNED8 const Texture sl_seg7_texture_07000800[] = {
|
||||
#include "levels/sl/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07001800
|
||||
ALIGNED8 static const Texture sl_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture sl_seg7_texture_07001000[] = {
|
||||
#include "levels/sl/2.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001800 - 0x07002000
|
||||
ALIGNED8 static const Texture sl_seg7_texture_07001800[] = {
|
||||
ALIGNED8 const Texture sl_seg7_texture_07001800[] = {
|
||||
#include "levels/sl/3.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002000 - 0x07002800
|
||||
ALIGNED8 static const Texture sl_seg7_texture_07002000[] = {
|
||||
ALIGNED8 const Texture sl_seg7_texture_07002000[] = {
|
||||
#include "levels/sl/4.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
// 0x07000000 - 0x07000800
|
||||
ALIGNED8 static const Texture ssl_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture ssl_seg7_texture_07000000[] = {
|
||||
#include "levels/ssl/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000800 - 0x07001000
|
||||
ALIGNED8 static const Texture ssl_seg7_texture_07000800[] = {
|
||||
ALIGNED8 const Texture ssl_seg7_texture_07000800[] = {
|
||||
#include "levels/ssl/1.ia16.inc.c"
|
||||
};
|
||||
|
||||
|
@ -14,21 +14,21 @@ ALIGNED8 const Texture ssl_pyramid_sand[] = {
|
|||
};
|
||||
|
||||
// 0x07001800 - 0x07002000
|
||||
ALIGNED8 static const Texture ssl_seg7_texture_07001800[] = {
|
||||
ALIGNED8 const Texture ssl_seg7_texture_07001800[] = {
|
||||
#include "levels/ssl/3.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002000 - 0x07002800
|
||||
ALIGNED8 static const Texture ssl_seg7_texture_07002000[] = {
|
||||
ALIGNED8 const Texture ssl_seg7_texture_07002000[] = {
|
||||
#include "levels/ssl/4.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002800 - 0x07003800
|
||||
ALIGNED8 static const Texture ssl_seg7_texture_07002800[] = {
|
||||
ALIGNED8 const Texture ssl_seg7_texture_07002800[] = {
|
||||
#include "levels/ssl/5.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07003800 - 0x07004000
|
||||
ALIGNED8 static const Texture ssl_seg7_texture_07003800[] = {
|
||||
ALIGNED8 const Texture ssl_seg7_texture_07003800[] = {
|
||||
#include "levels/ssl/6.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -5,22 +5,22 @@ static const Lights1 ssl_seg7_lights_0700BF90 = gdSPDefLights1(
|
|||
);
|
||||
|
||||
// 0x0700BFA8 - 0x0700C7A8
|
||||
ALIGNED8 static const Texture ssl_seg7_texture_0700BFA8[] = {
|
||||
ALIGNED8 const Texture ssl_seg7_texture_0700BFA8[] = {
|
||||
#include "levels/ssl/8.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700C7A8 - 0x0700D7A8
|
||||
ALIGNED8 static const Texture ssl_seg7_texture_0700C7A8[] = {
|
||||
ALIGNED8 const Texture ssl_seg7_texture_0700C7A8[] = {
|
||||
#include "levels/ssl/9.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700D7A8 - 0x0700E7A8
|
||||
ALIGNED8 static const Texture ssl_seg7_texture_0700D7A8[] = {
|
||||
ALIGNED8 const Texture ssl_seg7_texture_0700D7A8[] = {
|
||||
#include "levels/ssl/10.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x0700E7A8 - 0x0700F7A8
|
||||
ALIGNED8 static const Texture ssl_seg7_texture_0700E7A8[] = {
|
||||
ALIGNED8 const Texture ssl_seg7_texture_0700E7A8[] = {
|
||||
#include "levels/ssl/11.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
// 0x07000000 - 0x07000002
|
||||
ALIGNED8 static const Texture thi_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture thi_seg7_texture_07000000[] = {
|
||||
#include "levels/thi/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000800 - 0x07000802
|
||||
ALIGNED8 static const Texture thi_seg7_texture_07000800[] = {
|
||||
ALIGNED8 const Texture thi_seg7_texture_07000800[] = {
|
||||
#include "levels/thi/1.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
// 0x07000000 - 0x07001000
|
||||
ALIGNED8 static const Texture totwc_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture totwc_seg7_texture_07000000[] = {
|
||||
#include "levels/totwc/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07001800
|
||||
ALIGNED8 static const Texture totwc_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture totwc_seg7_texture_07001000[] = {
|
||||
#include "levels/totwc/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001800 - 0x07002000
|
||||
ALIGNED8 static const Texture totwc_seg7_texture_07001800[] = {
|
||||
ALIGNED8 const Texture totwc_seg7_texture_07001800[] = {
|
||||
#include "levels/totwc/2.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002000 - 0x07002800
|
||||
ALIGNED8 static const Texture totwc_seg7_texture_07002000[] = {
|
||||
ALIGNED8 const Texture totwc_seg7_texture_07002000[] = {
|
||||
#include "levels/totwc/3.ia16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
// 0x07000000 - 0x07000800
|
||||
ALIGNED8 static const Texture ttc_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture ttc_seg7_texture_07000000[] = {
|
||||
#include "levels/ttc/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000800 - 0x07001000
|
||||
ALIGNED8 static const Texture ttc_seg7_texture_07000800[] = {
|
||||
ALIGNED8 const Texture ttc_seg7_texture_07000800[] = {
|
||||
#include "levels/ttc/1.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -545,7 +545,7 @@ static const Gfx ttm_seg7_painting_dl_07012E98[] = {
|
|||
};
|
||||
|
||||
// 0x07012EF8 - 0x07012F78
|
||||
ALIGNED8 static const Texture *const ttm_seg7_painting_textures_07012EF8[] = {
|
||||
ALIGNED8 const Texture *const ttm_seg7_painting_textures_07012EF8[] = {
|
||||
ttm_seg7_texture_07004000, ttm_seg7_texture_07003000,
|
||||
};
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ static const Lights1 ttm_seg7_lights_0702AD18 = gdSPDefLights1(
|
|||
);
|
||||
|
||||
// 0x0702AD30 - 0x0702B530
|
||||
ALIGNED8 static const Texture ttm_seg7_texture_0702AD30[] = {
|
||||
ALIGNED8 const Texture ttm_seg7_texture_0702AD30[] = {
|
||||
#include "levels/ttm/8.rgba16.inc.c"
|
||||
};
|
||||
|
||||
|
|
|
@ -1,39 +1,39 @@
|
|||
// 0x07000000 - 0x07001000
|
||||
ALIGNED8 static const Texture ttm_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture ttm_seg7_texture_07000000[] = {
|
||||
#include "levels/ttm/0.ia16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000800 - 0x07001800
|
||||
ALIGNED8 static const Texture ttm_seg7_texture_07000800[] = {
|
||||
ALIGNED8 const Texture ttm_seg7_texture_07000800[] = {
|
||||
#include "levels/ttm/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07002000
|
||||
ALIGNED8 static const Texture ttm_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture ttm_seg7_texture_07001000[] = {
|
||||
#include "levels/ttm/2.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001800 - 0x07002800
|
||||
ALIGNED8 static const Texture ttm_seg7_texture_07001800[] = {
|
||||
ALIGNED8 const Texture ttm_seg7_texture_07001800[] = {
|
||||
#include "levels/ttm/3.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002000 - 0x07003000
|
||||
ALIGNED8 static const Texture ttm_seg7_texture_07002000[] = {
|
||||
ALIGNED8 const Texture ttm_seg7_texture_07002000[] = {
|
||||
#include "levels/ttm/4.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002800 - 0x07003800
|
||||
ALIGNED8 static const Texture ttm_seg7_texture_07002800[] = {
|
||||
ALIGNED8 const Texture ttm_seg7_texture_07002800[] = {
|
||||
#include "levels/ttm/5.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07003000 - 0x07004000
|
||||
ALIGNED8 static const Texture ttm_seg7_texture_07003000[] = {
|
||||
ALIGNED8 const Texture ttm_seg7_texture_07003000[] = {
|
||||
#include "levels/ttm/6.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07004000 - 0x07005000
|
||||
ALIGNED8 static const Texture ttm_seg7_texture_07004000[] = {
|
||||
ALIGNED8 const Texture ttm_seg7_texture_07004000[] = {
|
||||
#include "levels/ttm/7.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
// 0x07000000 - 0x07000800
|
||||
ALIGNED8 static const Texture vcutm_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture vcutm_seg7_texture_07000000[] = {
|
||||
#include "levels/vcutm/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000800 - 0x07001800
|
||||
ALIGNED8 static const Texture vcutm_seg7_texture_07000800[] = {
|
||||
ALIGNED8 const Texture vcutm_seg7_texture_07000800[] = {
|
||||
#include "levels/vcutm/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001800 - 0x07002800
|
||||
ALIGNED8 static const Texture vcutm_seg7_texture_07001800[] = {
|
||||
ALIGNED8 const Texture vcutm_seg7_texture_07001800[] = {
|
||||
#include "levels/vcutm/2.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002800 - 0x07003000
|
||||
ALIGNED8 static const Texture vcutm_seg7_texture_07002800[] = {
|
||||
ALIGNED8 const Texture vcutm_seg7_texture_07002800[] = {
|
||||
#include "levels/vcutm/3.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
// 0x07000000 - 0x07000800
|
||||
ALIGNED8 static const Texture wdw_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture wdw_seg7_texture_07000000[] = {
|
||||
#include "levels/wdw/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000800 - 0x07001000
|
||||
ALIGNED8 static const Texture wdw_seg7_texture_07000800[] = {
|
||||
ALIGNED8 const Texture wdw_seg7_texture_07000800[] = {
|
||||
#include "levels/wdw/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07001800
|
||||
ALIGNED8 static const Texture wdw_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture wdw_seg7_texture_07001000[] = {
|
||||
#include "levels/wdw/2.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001800 - 0x07002000
|
||||
ALIGNED8 static const Texture wdw_seg7_texture_07001800[] = {
|
||||
ALIGNED8 const Texture wdw_seg7_texture_07001800[] = {
|
||||
#include "levels/wdw/3.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002000 - 0x07002800
|
||||
ALIGNED8 static const Texture wdw_seg7_texture_07002000[] = {
|
||||
ALIGNED8 const Texture wdw_seg7_texture_07002000[] = {
|
||||
#include "levels/wdw/4.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,29 +1,29 @@
|
|||
// 0x07000000 - 0x07000800
|
||||
ALIGNED8 static const Texture wf_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture wf_seg7_texture_07000000[] = {
|
||||
#include "levels/wf/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000800 - 0x07001000
|
||||
ALIGNED8 static const Texture wf_seg7_texture_07000800[] = {
|
||||
ALIGNED8 const Texture wf_seg7_texture_07000800[] = {
|
||||
#include "levels/wf/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001000 - 0x07001800
|
||||
ALIGNED8 static const Texture wf_seg7_texture_07001000[] = {
|
||||
ALIGNED8 const Texture wf_seg7_texture_07001000[] = {
|
||||
#include "levels/wf/2.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001800 - 0x07002000
|
||||
ALIGNED8 static const Texture wf_seg7_texture_07001800[] = {
|
||||
ALIGNED8 const Texture wf_seg7_texture_07001800[] = {
|
||||
#include "levels/wf/3.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002000 - 0x07002800
|
||||
ALIGNED8 static const Texture wf_seg7_texture_07002000[] = {
|
||||
ALIGNED8 const Texture wf_seg7_texture_07002000[] = {
|
||||
#include "levels/wf/4.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07002800 - 0x07002900
|
||||
ALIGNED8 static const Texture wf_seg7_texture_07002800[] = {
|
||||
ALIGNED8 const Texture wf_seg7_texture_07002800[] = {
|
||||
#include "levels/wf/5.ia8.inc.c"
|
||||
};
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
// 0x07000000 - 0x07000800
|
||||
ALIGNED8 static const Texture wmotr_seg7_texture_07000000[] = {
|
||||
ALIGNED8 const Texture wmotr_seg7_texture_07000000[] = {
|
||||
#include "levels/wmotr/0.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000800 - 0x07000C00
|
||||
ALIGNED8 static const Texture wmotr_seg7_texture_07000800[] = {
|
||||
ALIGNED8 const Texture wmotr_seg7_texture_07000800[] = {
|
||||
#include "levels/wmotr/1.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07000C00 - 0x07001400
|
||||
ALIGNED8 static const Texture wmotr_seg7_texture_07000C00[] = {
|
||||
ALIGNED8 const Texture wmotr_seg7_texture_07000C00[] = {
|
||||
#include "levels/wmotr/2.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001400 - 0x07001600
|
||||
ALIGNED8 static const Texture wmotr_seg7_texture_07001400[] = {
|
||||
ALIGNED8 const Texture wmotr_seg7_texture_07001400[] = {
|
||||
#include "levels/wmotr/3.rgba16.inc.c"
|
||||
};
|
||||
|
||||
// 0x07001600 - 0x07001800
|
||||
ALIGNED8 static const Texture wmotr_seg7_texture_07001600[] = {
|
||||
ALIGNED8 const Texture wmotr_seg7_texture_07001600[] = {
|
||||
#include "levels/wmotr/4.rgba16.inc.c"
|
||||
};
|
||||
|
|
|
@ -30,6 +30,7 @@ void init_scene_graph_node_links(struct GraphNode *graphNode, s32 type) {
|
|||
graphNode->next = graphNode;
|
||||
graphNode->parent = NULL;
|
||||
graphNode->children = NULL;
|
||||
graphNode->georef = NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -30,7 +30,7 @@ struct Character gCharacters[CT_MAX] = {
|
|||
.type = CT_MARIO,
|
||||
.name = "Mario",
|
||||
.hudHead = ',',
|
||||
.hudHeadTexture = { .texture = texture_hud_char_mario_head, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.hudHeadTexture = { .texture = (u8*)texture_hud_char_mario_head, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.cameraHudHead = GLYPH_CAM_MARIO_HEAD,
|
||||
.modelId = MODEL_MARIO,
|
||||
.capModelId = MODEL_MARIOS_CAP,
|
||||
|
@ -93,7 +93,7 @@ struct Character gCharacters[CT_MAX] = {
|
|||
.type = CT_LUIGI,
|
||||
.name = "Luigi",
|
||||
.hudHead = '.',
|
||||
.hudHeadTexture = { .texture = texture_hud_char_luigi_head, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.hudHeadTexture = { .texture = (u8*)texture_hud_char_luigi_head, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.cameraHudHead = GLYPH_CAM_LUIGI_HEAD,
|
||||
.modelId = MODEL_LUIGI,
|
||||
.capModelId = MODEL_LUIGIS_CAP,
|
||||
|
@ -156,7 +156,7 @@ struct Character gCharacters[CT_MAX] = {
|
|||
.type = CT_TOAD,
|
||||
.name = "Toad",
|
||||
.hudHead = '/',
|
||||
.hudHeadTexture = { .texture = texture_hud_char_toad_head, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.hudHeadTexture = { .texture = (u8*)texture_hud_char_toad_head, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.cameraHudHead = GLYPH_CAM_TOAD_HEAD,
|
||||
.modelId = MODEL_TOAD_PLAYER,
|
||||
.capModelId = MODEL_TOADS_CAP,
|
||||
|
@ -219,7 +219,7 @@ struct Character gCharacters[CT_MAX] = {
|
|||
.type = CT_WALUIGI,
|
||||
.name = "Waluigi",
|
||||
.hudHead = 'z',
|
||||
.hudHeadTexture = { .texture = texture_hud_char_waluigi_head, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.hudHeadTexture = { .texture = (u8*)texture_hud_char_waluigi_head, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.cameraHudHead = GLYPH_CAM_WALUIGI_HEAD,
|
||||
.modelId = MODEL_WALUIGI,
|
||||
.capModelId = MODEL_WALUIGIS_CAP,
|
||||
|
@ -285,7 +285,7 @@ struct Character gCharacters[CT_MAX] = {
|
|||
.type = CT_WARIO,
|
||||
.name = "Wario",
|
||||
.hudHead = 'x',
|
||||
.hudHeadTexture = { .texture = texture_hud_char_wario_head, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.hudHeadTexture = { .texture = (u8*)texture_hud_char_wario_head, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.cameraHudHead = GLYPH_CAM_WARIO_HEAD,
|
||||
.modelId = MODEL_WARIO,
|
||||
.capModelId = MODEL_WARIOS_CAP,
|
||||
|
|
|
@ -13,15 +13,15 @@ extern Gfx dl_rgba16_text_begin[];
|
|||
extern Gfx dl_rgba16_text_end[];
|
||||
extern Gfx dl_ia_text_begin[];
|
||||
extern Gfx dl_ia_text_end[];
|
||||
extern u8 texture_transition_star_half[];
|
||||
extern u8 texture_transition_circle_half[];
|
||||
extern u8 texture_transition_mario[];
|
||||
extern u8 texture_transition_bowser_half[];
|
||||
extern u8 texture_waterbox_water[];
|
||||
extern u8 texture_waterbox_mist[];
|
||||
extern u8 texture_waterbox_jrb_water[];
|
||||
extern u8 texture_waterbox_unknown_water[];
|
||||
extern u8 texture_waterbox_lava[];
|
||||
extern Texture texture_transition_star_half[];
|
||||
extern Texture texture_transition_circle_half[];
|
||||
extern Texture texture_transition_mario[];
|
||||
extern Texture texture_transition_bowser_half[];
|
||||
extern Texture texture_waterbox_water[];
|
||||
extern Texture texture_waterbox_mist[];
|
||||
extern Texture texture_waterbox_jrb_water[];
|
||||
extern Texture texture_waterbox_unknown_water[];
|
||||
extern Texture texture_waterbox_lava[];
|
||||
extern Gfx dl_proj_mtx_fullscreen[];
|
||||
extern Gfx dl_draw_quad_verts_0123[];
|
||||
extern Gfx dl_screen_transition_end[];
|
||||
|
|
|
@ -29,13 +29,13 @@ extern ALIGNED8 const u8 texture_hud_char_coin[];
|
|||
extern ALIGNED8 const u8 texture_hud_char_star[];
|
||||
|
||||
struct GlobalTextures gGlobalTextures = {
|
||||
.camera = { .texture = texture_hud_char_camera, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.lakitu = { .texture = texture_hud_char_lakitu, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.no_camera = { .texture = texture_hud_char_no_camera, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.arrow_up = { .texture = texture_hud_char_arrow_up, .bitSize = 8, .width = 8, .height = 8 },
|
||||
.arrow_down = { .texture = texture_hud_char_arrow_down, .bitSize = 8, .width = 8, .height = 8 },
|
||||
.coin = { .texture = texture_hud_char_coin, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.star = { .texture = texture_hud_char_star, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.camera = { .texture = (u8*)texture_hud_char_camera, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.lakitu = { .texture = (u8*)texture_hud_char_lakitu, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.no_camera = { .texture = (u8*)texture_hud_char_no_camera, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.arrow_up = { .texture = (u8*)texture_hud_char_arrow_up, .bitSize = 8, .width = 8, .height = 8 },
|
||||
.arrow_down = { .texture = (u8*)texture_hud_char_arrow_down, .bitSize = 8, .width = 8, .height = 8 },
|
||||
.coin = { .texture = (u8*)texture_hud_char_coin, .bitSize = 8, .width = 16, .height = 16 },
|
||||
.star = { .texture = (u8*)texture_hud_char_star, .bitSize = 8, .width = 16, .height = 16 },
|
||||
};
|
||||
|
||||
static void djui_hud_position_translate(f32* x, f32* y) {
|
||||
|
@ -156,7 +156,7 @@ void djui_hud_print_text(const char* message, float x, float y, float scale) {
|
|||
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
|
||||
}
|
||||
|
||||
static void djui_hud_render_texture_raw(const u8* texture, u32 bitSize, u32 width, u32 height, f32 x, f32 y, f32 scaleW, f32 scaleH) {
|
||||
void djui_hud_render_texture_raw(const u8* texture, u32 bitSize, u32 width, u32 height, f32 x, f32 y, f32 scaleW, f32 scaleH) {
|
||||
gDjuiHudUtilsZ += 0.01f;
|
||||
|
||||
// translate position
|
||||
|
@ -204,4 +204,4 @@ void djui_hud_render_rect(f32 x, f32 y, f32 width, f32 height) {
|
|||
|
||||
// pop
|
||||
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,6 +40,7 @@ f32 djui_hud_get_mouse_y(void);
|
|||
f32 djui_hud_measure_text(const char* message);
|
||||
void djui_hud_print_text(const char* message, float x, float y, float scale);
|
||||
void djui_hud_render_texture(struct TextureInfo* texInfo, f32 x, f32 y, f32 scaleW, f32 scaleH);
|
||||
void djui_hud_render_texture_raw(const u8* texture, u32 bitSize, u32 width, u32 height, f32 x, f32 y, f32 scaleW, f32 scaleH);
|
||||
void djui_hud_render_rect(f32 x, f32 y, f32 width, f32 height);
|
||||
|
||||
#endif
|
|
@ -9,6 +9,7 @@
|
|||
#include "audio/external.h"
|
||||
#include "object_fields.h"
|
||||
#include "engine/math_util.h"
|
||||
#include "pc/djui/djui_hud_utils.h"
|
||||
|
||||
bool smlua_functions_valid_param_count(lua_State* L, int expected) {
|
||||
int top = lua_gettop(L);
|
||||
|
@ -83,7 +84,7 @@ int smlua_func_reset_level(lua_State* L) {
|
|||
LOG_LUA_LINE("This function can only be used in single-player");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
if(!smlua_functions_valid_param_count(L, 0)) { return 0; }
|
||||
|
||||
gChangeLevel = gCurrLevelNum;
|
||||
|
@ -184,6 +185,92 @@ int smlua_func_network_send_to(lua_State* L) {
|
|||
network_send_lua_custom(false);
|
||||
}
|
||||
|
||||
//////////////
|
||||
// Textures //
|
||||
//////////////
|
||||
|
||||
int smlua_func_get_texture_info(lua_State* L) {
|
||||
if (!smlua_functions_valid_param_count(L, 1)) { return 0; }
|
||||
|
||||
if (lua_type(L, -1) != LUA_TSTRING) {
|
||||
LOG_LUA_LINE("Invalid type passed to get_texture_info(): %u", lua_type(L, -1));
|
||||
lua_pop(L, 1); // pop value
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct TextureInfo texInfo = { 0 };
|
||||
const char* textureName = smlua_to_string(L, -1);
|
||||
if (!dynos_texture_get(textureName, &texInfo)) {
|
||||
LOG_LUA_LINE("Could not find texture info for '%s'", textureName);
|
||||
return 0;
|
||||
}
|
||||
|
||||
lua_newtable(L);
|
||||
|
||||
lua_pushstring(L, "texture");
|
||||
smlua_push_pointer(L, LVT_U8_P, texInfo.texture);
|
||||
lua_settable(L, -3);
|
||||
|
||||
lua_pushstring(L, "bitSize");
|
||||
lua_pushinteger(L, texInfo.bitSize);
|
||||
lua_settable(L, -3);
|
||||
|
||||
lua_pushstring(L, "width");
|
||||
lua_pushinteger(L, texInfo.width);
|
||||
lua_settable(L, -3);
|
||||
|
||||
lua_pushstring(L, "height");
|
||||
lua_pushinteger(L, texInfo.height);
|
||||
lua_settable(L, -3);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_djui_hud_render_texture(lua_State* L) {
|
||||
if(!smlua_functions_valid_param_count(L, 5)) { return 0; }
|
||||
|
||||
struct TextureInfo tmpTexInfo = { 0 };
|
||||
struct TextureInfo* texInfo = &tmpTexInfo;
|
||||
|
||||
if (smlua_is_cobject(L, 1, LOT_TEXTUREINFO)) {
|
||||
texInfo = (struct TextureInfo*)smlua_to_cobject(L, 1, LOT_TEXTUREINFO);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter 1"); return 0; }
|
||||
} else {
|
||||
int top = lua_gettop(L);
|
||||
lua_pushvalue(L, 1);
|
||||
|
||||
lua_pushstring(L, "texture");
|
||||
lua_gettable(L, top+1);
|
||||
tmpTexInfo.texture = smlua_to_cpointer(L, lua_gettop(L), LVT_U8_P);
|
||||
lua_pop(L, 1);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter 1's 'texture' field"); return 0; }
|
||||
|
||||
tmpTexInfo.bitSize = smlua_get_integer_field(top+1, "bitSize");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter 1's 'bitSize' field"); return 0; }
|
||||
|
||||
tmpTexInfo.width = smlua_get_integer_field(top+1, "width");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter 1's 'width' field"); return 0; }
|
||||
|
||||
tmpTexInfo.height = smlua_get_integer_field(top+1, "height");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter 1's 'height' field"); return 0; }
|
||||
|
||||
lua_settop(L, top);
|
||||
}
|
||||
|
||||
f32 x = smlua_to_number(L, 2);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter 2"); return 0; }
|
||||
f32 y = smlua_to_number(L, 3);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter 3"); return 0; }
|
||||
f32 scaleW = smlua_to_number(L, 4);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter 4"); return 0; }
|
||||
f32 scaleH = smlua_to_number(L, 5);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter 5"); return 0; }
|
||||
|
||||
djui_hud_render_texture_raw(texInfo->texture, texInfo->bitSize, texInfo->width, texInfo->height, x, y, scaleW, scaleH);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//////////
|
||||
// bind //
|
||||
//////////
|
||||
|
@ -201,4 +288,6 @@ void smlua_bind_functions(void) {
|
|||
smlua_bind_function(L, "reset_level", smlua_func_reset_level);
|
||||
smlua_bind_function(L, "network_send", smlua_func_network_send);
|
||||
smlua_bind_function(L, "network_send_to", smlua_func_network_send_to);
|
||||
smlua_bind_function(L, "get_texture_info", smlua_func_get_texture_info);
|
||||
smlua_bind_function(L, "djui_hud_render_texture", smlua_func_djui_hud_render_texture);
|
||||
}
|
||||
|
|
|
@ -7267,25 +7267,6 @@ int smlua_func_djui_hud_render_rect(lua_State* L) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_djui_hud_render_texture(lua_State* L) {
|
||||
if(!smlua_functions_valid_param_count(L, 5)) { return 0; }
|
||||
|
||||
struct TextureInfo* texInfo = (struct TextureInfo*)smlua_to_cobject(L, 1, LOT_TEXTUREINFO);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter 1"); return 0; }
|
||||
f32 x = smlua_to_number(L, 2);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter 2"); return 0; }
|
||||
f32 y = smlua_to_number(L, 3);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter 3"); return 0; }
|
||||
f32 scaleW = smlua_to_number(L, 4);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter 4"); return 0; }
|
||||
f32 scaleH = smlua_to_number(L, 5);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter 5"); return 0; }
|
||||
|
||||
djui_hud_render_texture(texInfo, x, y, scaleW, scaleH);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_djui_hud_set_color(lua_State* L) {
|
||||
if(!smlua_functions_valid_param_count(L, 4)) { return 0; }
|
||||
|
||||
|
@ -16585,7 +16566,6 @@ void smlua_bind_functions_autogen(void) {
|
|||
smlua_bind_function(L, "djui_hud_measure_text", smlua_func_djui_hud_measure_text);
|
||||
smlua_bind_function(L, "djui_hud_print_text", smlua_func_djui_hud_print_text);
|
||||
smlua_bind_function(L, "djui_hud_render_rect", smlua_func_djui_hud_render_rect);
|
||||
smlua_bind_function(L, "djui_hud_render_texture", smlua_func_djui_hud_render_texture);
|
||||
smlua_bind_function(L, "djui_hud_set_color", smlua_func_djui_hud_set_color);
|
||||
smlua_bind_function(L, "djui_hud_set_font", smlua_func_djui_hud_set_font);
|
||||
smlua_bind_function(L, "djui_hud_set_resolution", smlua_func_djui_hud_set_resolution);
|
||||
|
|
|
@ -117,6 +117,39 @@ LuaFunction smlua_to_lua_function(lua_State* L, int index) {
|
|||
return luaL_ref(L, LUA_REGISTRYINDEX);
|
||||
}
|
||||
|
||||
bool smlua_is_cobject(lua_State* L, int index, u16 lot) {
|
||||
int top = lua_gettop(L);
|
||||
bool ret = true;
|
||||
|
||||
s32 indexType = lua_type(L, index);
|
||||
if (indexType != LUA_TTABLE) {
|
||||
ret = false;
|
||||
goto result;
|
||||
}
|
||||
|
||||
lua_getfield(L, index, "_lot");
|
||||
if (lua_type(L, -1) != LUA_TNUMBER) {
|
||||
ret = false;
|
||||
goto result;
|
||||
}
|
||||
|
||||
enum LuaObjectType objLot = smlua_to_integer(L, -1);
|
||||
if (!gSmLuaConvertSuccess) {
|
||||
gSmLuaConvertSuccess = true;
|
||||
ret = false;
|
||||
goto result;
|
||||
}
|
||||
|
||||
if (lot != objLot) {
|
||||
ret = false;
|
||||
goto result;
|
||||
}
|
||||
|
||||
result:
|
||||
lua_settop(L, top);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void* smlua_to_cobject(lua_State* L, int index, u16 lot) {
|
||||
s32 indexType = lua_type(L, index);
|
||||
if (indexType == LUA_TNIL) { return NULL; }
|
||||
|
|
|
@ -17,6 +17,7 @@ lua_Integer smlua_to_integer(lua_State* L, int index);
|
|||
lua_Number smlua_to_number(lua_State* L, int index);
|
||||
const char* smlua_to_string(lua_State* L, int index);
|
||||
LuaFunction smlua_to_lua_function(lua_State* L, int index);
|
||||
bool smlua_is_cobject(lua_State* L, int index, u16 lot);
|
||||
void* smlua_to_cobject(lua_State* L, int index, u16 lot);
|
||||
void* smlua_to_cpointer(lua_State* L, int index, u16 lvt);
|
||||
struct LSTNetworkType smlua_to_lnt(lua_State* L, int index);
|
||||
|
|
|
@ -79,16 +79,16 @@ void hud_render_power_meter(s32 health, f32 x, f32 y, f32 width, f32 height) {
|
|||
extern const u8 texture_power_meter_two_segments[];
|
||||
extern const u8 texture_power_meter_one_segments[];
|
||||
static struct TextureInfo sPowerMeterTexturesInfo[] = {
|
||||
{ texture_power_meter_left_side, 8, 32, 64 },
|
||||
{ texture_power_meter_right_side, 8, 32, 64 },
|
||||
{ texture_power_meter_one_segments, 8, 32, 32 },
|
||||
{ texture_power_meter_two_segments, 8, 32, 32 },
|
||||
{ texture_power_meter_three_segments, 8, 32, 32 },
|
||||
{ texture_power_meter_four_segments, 8, 32, 32 },
|
||||
{ texture_power_meter_five_segments, 8, 32, 32 },
|
||||
{ texture_power_meter_six_segments, 8, 32, 32 },
|
||||
{ texture_power_meter_seven_segments, 8, 32, 32 },
|
||||
{ texture_power_meter_full, 8, 32, 32 },
|
||||
{ (u8*)texture_power_meter_left_side, 8, 32, 64 },
|
||||
{ (u8*)texture_power_meter_right_side, 8, 32, 64 },
|
||||
{ (u8*)texture_power_meter_one_segments, 8, 32, 32 },
|
||||
{ (u8*)texture_power_meter_two_segments, 8, 32, 32 },
|
||||
{ (u8*)texture_power_meter_three_segments, 8, 32, 32 },
|
||||
{ (u8*)texture_power_meter_four_segments, 8, 32, 32 },
|
||||
{ (u8*)texture_power_meter_five_segments, 8, 32, 32 },
|
||||
{ (u8*)texture_power_meter_six_segments, 8, 32, 32 },
|
||||
{ (u8*)texture_power_meter_seven_segments, 8, 32, 32 },
|
||||
{ (u8*)texture_power_meter_full, 8, 32, 32 },
|
||||
};
|
||||
djui_hud_render_texture(&sPowerMeterTexturesInfo[0], x, y, width / 64, height / 64);
|
||||
djui_hud_render_texture(&sPowerMeterTexturesInfo[1], x + width / 2, y, width / 64, height / 64);
|
||||
|
|
|
@ -31,7 +31,7 @@ static void mod_activate_bin(struct ModFile* file) {
|
|||
}
|
||||
|
||||
static void mod_activate_col(struct ModFile* file) {
|
||||
// copy geo name
|
||||
// copy col name
|
||||
char colName[64] = { 0 };
|
||||
if (snprintf(colName, 63, "%s", path_basename(file->relativePath)) < 0) {
|
||||
LOG_ERROR("Truncated col name");
|
||||
|
@ -53,8 +53,31 @@ static void mod_activate_col(struct ModFile* file) {
|
|||
dynos_add_collision(file->cachedPath, colName);
|
||||
}
|
||||
|
||||
static void mod_activate_tex(struct ModFile* file) {
|
||||
// copy tex name
|
||||
char texName[64] = { 0 };
|
||||
if (snprintf(texName, 63, "%s", path_basename(file->relativePath)) < 0) {
|
||||
LOG_ERROR("Truncated tex name");
|
||||
return;
|
||||
}
|
||||
|
||||
// remove '.tex'
|
||||
char* g = texName;
|
||||
while (*g != '\0') {
|
||||
if (*g == '.') {
|
||||
*g = '\0';
|
||||
break;
|
||||
}
|
||||
g++;
|
||||
}
|
||||
|
||||
// Add to custom actors
|
||||
LOG_INFO("Activating DynOS tex: '%s', '%s'", file->cachedPath, texName);
|
||||
dynos_add_texture(file->cachedPath, texName);
|
||||
}
|
||||
|
||||
static void mod_activate_lvl(struct Mod* mod, struct ModFile* file) {
|
||||
// copy geo name
|
||||
// copy lvl name
|
||||
char lvlName[64] = { 0 };
|
||||
if (snprintf(lvlName, 63, "%s", path_basename(file->relativePath)) < 0) {
|
||||
LOG_ERROR("Truncated lvl name");
|
||||
|
@ -90,6 +113,9 @@ void mod_activate(struct Mod* mod) {
|
|||
if (str_ends_with(file->relativePath, ".lvl")) {
|
||||
mod_activate_lvl(mod, file);
|
||||
}
|
||||
if (str_ends_with(file->relativePath, ".tex")) {
|
||||
mod_activate_tex(file);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -248,6 +274,44 @@ static bool mod_load_files(struct Mod* mod, char* modName, char* fullPath) {
|
|||
}
|
||||
}
|
||||
|
||||
// deal with textures directory
|
||||
{
|
||||
// concat textures directory
|
||||
char texturesPath[SYS_MAX_PATH] = { 0 };
|
||||
if (!concat_path(texturesPath, fullPath, "textures")) {
|
||||
LOG_ERROR("Could not concat directory '%s' + '%s'", fullPath, "textures");
|
||||
return false;
|
||||
}
|
||||
|
||||
// open textures directory
|
||||
struct dirent* dir = NULL;
|
||||
DIR* d = opendir(texturesPath);
|
||||
if (d) {
|
||||
// iterate mod directory
|
||||
char path[SYS_MAX_PATH] = { 0 };
|
||||
char relativePath[SYS_MAX_PATH] = { 0 };
|
||||
while ((dir = readdir(d)) != NULL) {
|
||||
// sanity check / fill path[]
|
||||
if (!directory_sanity_check(dir, texturesPath, path)) { continue; }
|
||||
if (snprintf(relativePath, SYS_MAX_PATH - 1, "textures/%s", dir->d_name) < 0) {
|
||||
LOG_ERROR("Could not concat textures path!");
|
||||
return false;
|
||||
}
|
||||
|
||||
// only consider tex files
|
||||
if (!str_ends_with(path, ".tex")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// allocate file
|
||||
struct ModFile* file = mod_allocate_file(mod, relativePath);
|
||||
if (file == NULL) { return false; }
|
||||
}
|
||||
|
||||
closedir(d);
|
||||
}
|
||||
}
|
||||
|
||||
// deal with levels directory
|
||||
{
|
||||
// concat levels directory
|
||||
|
|
Loading…
Reference in a new issue