Added FluffaLuigi's Wario model

This commit is contained in:
MysterD 2022-02-13 21:52:35 -08:00
parent de02ffbf71
commit 6f8714c764
19 changed files with 9278 additions and 7 deletions

View file

@ -79,6 +79,10 @@ ZCUSTOM_DIRS += toad_player
CUSTOM_DIRS += waluigi_cap
ZCUSTOM_DIRS += waluigi
# Add Wario
CUSTOM_DIRS += wario_cap
ZCUSTOM_DIRS += wario
# Actor Files
CUSTOM_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(CUSTOM_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
AMP_CHUCKYA_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(AMP_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))

886
actors/wario/geo.inc.c Normal file
View file

@ -0,0 +1,886 @@
#include "src/game/envfx_snow.h"
const GeoLayout wario_002_switch_opt0_001_switch_opt0_000_switch_opt1_000_switch_001_opt1[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_000_switch_000_displaylist_head_capless_mesh_layer_1_mat_override_Wario_Eyes_Half_Closed_1),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt0_000_switch_opt1_000_switch_001_opt2[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_000_switch_000_displaylist_head_capless_mesh_layer_1_mat_override_Wario_Eyes_Closed_2),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt0_000_switch_opt1_000_switch_001_opt3[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_000_switch_000_displaylist_head_capless_mesh_layer_1_mat_override_Wario_Eyes_Dead_3),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_ArmatureWario_Head_Capless[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_eyes),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_000_switch_000_displaylist_head_capless_mesh_layer_1),
GEO_CLOSE_NODE(),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt0_000_switch_opt1_000_switch_001_opt1),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt0_000_switch_opt1_000_switch_001_opt2),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt0_000_switch_opt1_000_switch_001_opt3),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_ArmatureWario_Left_Hand_Open[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 83, 0, 0, wario_001_switch_000_offset_left_hand_open_mesh_layer_1),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_ArmatureWario_Right_Hand_Open[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 82, 0, 0, wario_001_switch_000_offset_right_hand_open_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_HELD_OBJECT(0, 0, 0, 0, geo_switch_mario_hand_grab_pos),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_ArmatureWario_Right_Hand_Peace[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 82, 0, 0, wario_001_switch_000_offset_right_hand_peace_mesh_layer_1),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_ArmatureWario_Right_Hand_Cap[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 82, 0, 0, wario_001_switch_000_offset_right_hand_cap_mesh_layer_1),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_ArmatureWario_Right_Hand_Wing_Cap[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 82, 0, 0, wario_001_switch_000_offset_right_hand_cap_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, wario_001_switch_000_displaylist_right_hand_cap_wings_mesh_layer_4),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt1_000_switch_opt1_000_switch_001_opt1[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_switch_000_displaylist_head_capless_mesh_layer_1_mat_override_Wario_Eyes_Half_Closed_1),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt1_000_switch_opt1_000_switch_001_opt2[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_switch_000_displaylist_head_capless_mesh_layer_1_mat_override_Wario_Eyes_Closed_2),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt1_000_switch_opt1_000_switch_001_opt3[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_switch_000_displaylist_head_capless_mesh_layer_1_mat_override_Wario_Eyes_Dead_3),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt1_jump_wario_ArmatureWario_Head_Capless[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_eyes),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_switch_000_displaylist_head_capless_mesh_layer_1),
GEO_CLOSE_NODE(),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt1_000_switch_opt1_000_switch_001_opt1),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt1_000_switch_opt1_000_switch_001_opt2),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt1_000_switch_opt1_000_switch_001_opt3),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt1_jump_wario_ArmatureWario_Left_Hand_Open[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 83, 0, 0, wario_001_switch_000_offset_left_hand_open_mesh_layer_1),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt1_jump_wario_ArmatureWario_Right_Hand_Open[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 82, 0, 0, wario_001_switch_000_offset_right_hand_open_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_HELD_OBJECT(0, 0, 0, 0, geo_switch_mario_hand_grab_pos),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt1_jump_wario_ArmatureWario_Right_Hand_Peace[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 82, 0, 0, wario_001_switch_000_offset_right_hand_peace_mesh_layer_1),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt1_jump_wario_ArmatureWario_Right_Hand_Cap[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 82, 0, 0, wario_001_switch_000_offset_right_hand_cap_mesh_layer_1),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt1_jump_wario_ArmatureWario_Right_Hand_Wing_Cap[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 82, 0, 0, wario_001_switch_000_offset_right_hand_cap_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_001_switch_000_displaylist_right_hand_cap_wings_mesh_layer_4),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt1[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_displaylist_head_cap_mesh_layer_1_mat_override_Wario_Eyes_Half_Closed_1),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt2[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_displaylist_head_cap_mesh_layer_1_mat_override_Wario_Eyes_Closed_2),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt3[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_displaylist_head_cap_mesh_layer_1_mat_override_Wario_Eyes_Dead_3),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt1[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, -52, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, wario_000_offset_pelvis_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_move_mario_part_from_parent),
GEO_ASM(0, geo_mario_tilt_torso),
GEO_ROTATION_NODE(LAYER_FORCE, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 90, 0, 0, wario_000_offset_chest_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 158, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_mario_head_rotation),
GEO_ROTATION_NODE(LAYER_FORCE, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_cap_on_off),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_eyes),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_displaylist_head_cap_mesh_layer_1),
GEO_CLOSE_NODE(),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt1),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt2),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt3),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt1_jump_wario_ArmatureWario_Head_Capless),
GEO_CLOSE_NODE(),
GEO_TRANSLATE_ROTATE(LAYER_FORCE, 158, -62, -146, 15, -33, -133),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_mario_rotate_wing_cap_wings),
GEO_ROTATION_NODE(LAYER_FORCE, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_displaylist_right_wing_mesh_layer_4),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_TRANSLATE_ROTATE(LAYER_FORCE, 158, -62, 146, -15, 33, -133),
GEO_OPEN_NODE(),
GEO_ASM(1, geo_mario_rotate_wing_cap_wings),
GEO_ROTATION_NODE(LAYER_FORCE, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_displaylist_left_wing_mesh_layer_4),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 134, -10, 115, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, wario_000_offset_left_upper_arm_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 101, 0, 0, wario_000_offset_left_lower_arm_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(1, geo_switch_mario_hand),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 83, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(1, geo_mario_hand_foot_scaler),
GEO_SCALE(LAYER_FORCE, 65536),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_displaylist_left_hand_fist_mesh_layer_1),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt1_jump_wario_ArmatureWario_Left_Hand_Open),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 135, -10, -116, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, wario_000_offset_right_upper_arm_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 101, 0, 0, wario_000_offset_right_lower_arm_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_hand),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 82, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_mario_hand_foot_scaler),
GEO_SCALE(LAYER_FORCE, 65536),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_displaylist_right_hand_fist_mesh_layer_1),
GEO_CLOSE_NODE(),
GEO_HELD_OBJECT(0, 0, 0, 0, geo_switch_mario_hand_grab_pos),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt1_jump_wario_ArmatureWario_Right_Hand_Open),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt1_jump_wario_ArmatureWario_Right_Hand_Peace),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt1_jump_wario_ArmatureWario_Right_Hand_Cap),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt1_jump_wario_ArmatureWario_Right_Hand_Wing_Cap),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 9, -8, 80, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, wario_000_offset_left_upper_leg_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 52, 0, 0, wario_000_offset_left_lower_leg_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 45, 0, 0, wario_000_offset_left_foot_mesh_layer_1),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 9, -8, -80, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, wario_000_offset_right_upper_leg_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 52, 0, 0, wario_000_offset_right_lower_leg_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 45, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(2, geo_mario_hand_foot_scaler),
GEO_SCALE(LAYER_FORCE, 65536),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_displaylist_right_foot_mesh_layer_1),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt2_jump_wario_ArmatureWario_Head_Capless[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_eyes),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_000_switch_000_displaylist_head_capless_mesh_layer_1_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt2_jump_wario_ArmatureWario_Left_Hand_Open[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 83, 0, 0, wario_001_switch_000_offset_left_hand_open_mesh_layer_1_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt2_jump_wario_ArmatureWario_Right_Hand_Open[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 82, 0, 0, wario_001_switch_000_offset_right_hand_open_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_HELD_OBJECT(0, 0, 0, 0, geo_switch_mario_hand_grab_pos),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt2_jump_wario_ArmatureWario_Right_Hand_Peace[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 82, 0, 0, wario_001_switch_000_offset_right_hand_peace_mesh_layer_1_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt2_jump_wario_ArmatureWario_Right_Hand_Cap[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 82, 0, 0, wario_001_switch_000_offset_right_hand_cap_mesh_layer_1_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt2_jump_wario_ArmatureWario_Right_Hand_Wing_Cap[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 82, 0, 0, wario_001_switch_000_offset_right_hand_cap_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, wario_001_switch_000_displaylist_right_hand_cap_wings_mesh_layer_4_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt2[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, -52, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, wario_000_offset_pelvis_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_move_mario_part_from_parent),
GEO_ASM(0, geo_mario_tilt_torso),
GEO_ROTATION_NODE(LAYER_FORCE, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 90, 0, 0, wario_000_offset_chest_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 158, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_mario_head_rotation),
GEO_ROTATION_NODE(LAYER_FORCE, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_cap_on_off),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_eyes),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_000_displaylist_head_cap_mesh_layer_1_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt2_jump_wario_ArmatureWario_Head_Capless),
GEO_CLOSE_NODE(),
GEO_TRANSLATE_ROTATE(LAYER_FORCE, 158, -62, -146, 15, -33, -133),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_mario_rotate_wing_cap_wings),
GEO_ROTATION_NODE(LAYER_FORCE, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, wario_000_displaylist_right_wing_mesh_layer_4_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_TRANSLATE_ROTATE(LAYER_FORCE, 158, -62, 146, -15, 33, -133),
GEO_OPEN_NODE(),
GEO_ASM(1, geo_mario_rotate_wing_cap_wings),
GEO_ROTATION_NODE(LAYER_FORCE, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, wario_000_displaylist_left_wing_mesh_layer_4_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 134, -10, 115, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, wario_000_offset_left_upper_arm_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 101, 0, 0, wario_000_offset_left_lower_arm_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(1, geo_switch_mario_hand),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 83, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(1, geo_mario_hand_foot_scaler),
GEO_SCALE(LAYER_FORCE, 65536),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_000_displaylist_left_hand_fist_mesh_layer_1_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt2_jump_wario_ArmatureWario_Left_Hand_Open),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 135, -10, -116, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, wario_000_offset_right_upper_arm_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 101, 0, 0, wario_000_offset_right_lower_arm_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_hand),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 82, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_mario_hand_foot_scaler),
GEO_SCALE(LAYER_FORCE, 65536),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_000_displaylist_right_hand_fist_mesh_layer_1_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_HELD_OBJECT(0, 0, 0, 0, geo_switch_mario_hand_grab_pos),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt2_jump_wario_ArmatureWario_Right_Hand_Open),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt2_jump_wario_ArmatureWario_Right_Hand_Peace),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt2_jump_wario_ArmatureWario_Right_Hand_Cap),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt2_jump_wario_ArmatureWario_Right_Hand_Wing_Cap),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 9, -8, 80, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, wario_000_offset_left_upper_leg_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 52, 0, 0, wario_000_offset_left_lower_leg_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 45, 0, 0, wario_000_offset_left_foot_mesh_layer_1_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 9, -8, -80, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, wario_000_offset_right_upper_leg_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 52, 0, 0, wario_000_offset_right_lower_leg_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 45, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(2, geo_mario_hand_foot_scaler),
GEO_SCALE(LAYER_FORCE, 65536),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_000_displaylist_right_foot_mesh_layer_1_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt3_jump_wario_ArmatureWario_Head_Capless[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_eyes),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_switch_000_displaylist_head_capless_mesh_layer_1_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt3_jump_wario_ArmatureWario_Left_Hand_Open[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 83, 0, 0, wario_001_switch_000_offset_left_hand_open_mesh_layer_1_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt3_jump_wario_ArmatureWario_Right_Hand_Open[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 82, 0, 0, wario_001_switch_000_offset_right_hand_open_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_HELD_OBJECT(0, 0, 0, 0, geo_switch_mario_hand_grab_pos),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt3_jump_wario_ArmatureWario_Right_Hand_Peace[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 82, 0, 0, wario_001_switch_000_offset_right_hand_peace_mesh_layer_1_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt3_jump_wario_ArmatureWario_Right_Hand_Cap[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 82, 0, 0, wario_001_switch_000_offset_right_hand_cap_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_001_switch_000_displaylist_right_hand_cap_wings_mesh_layer_4_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt3_jump_wario_ArmatureWario_Right_Hand_Wing_Cap[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 82, 0, 0, wario_001_switch_000_offset_right_hand_cap_mesh_layer_1_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt3[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, -52, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, wario_000_offset_pelvis_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_move_mario_part_from_parent),
GEO_ASM(0, geo_mario_tilt_torso),
GEO_ROTATION_NODE(LAYER_FORCE, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 90, 0, 0, wario_000_offset_chest_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 158, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_mario_head_rotation),
GEO_ROTATION_NODE(LAYER_FORCE, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_cap_on_off),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_eyes),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_displaylist_head_cap_mesh_layer_1_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt3_jump_wario_ArmatureWario_Head_Capless),
GEO_CLOSE_NODE(),
GEO_TRANSLATE_ROTATE(LAYER_FORCE, 158, -62, -146, 15, -33, -133),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_mario_rotate_wing_cap_wings),
GEO_ROTATION_NODE(LAYER_FORCE, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_displaylist_right_wing_mesh_layer_4_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_TRANSLATE_ROTATE(LAYER_FORCE, 158, -62, 146, -15, 33, -133),
GEO_OPEN_NODE(),
GEO_ASM(1, geo_mario_rotate_wing_cap_wings),
GEO_ROTATION_NODE(LAYER_FORCE, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_displaylist_left_wing_mesh_layer_4_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 134, -10, 115, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, wario_000_offset_left_upper_arm_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 101, 0, 0, wario_000_offset_left_lower_arm_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(1, geo_switch_mario_hand),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 83, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(1, geo_mario_hand_foot_scaler),
GEO_SCALE(LAYER_FORCE, 65536),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_displaylist_left_hand_fist_mesh_layer_1_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt3_jump_wario_ArmatureWario_Left_Hand_Open),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 135, -10, -116, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, wario_000_offset_right_upper_arm_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 101, 0, 0, wario_000_offset_right_lower_arm_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_hand),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 82, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_mario_hand_foot_scaler),
GEO_SCALE(LAYER_FORCE, 65536),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_displaylist_right_hand_fist_mesh_layer_1_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_HELD_OBJECT(0, 0, 0, 0, geo_switch_mario_hand_grab_pos),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt3_jump_wario_ArmatureWario_Right_Hand_Open),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt3_jump_wario_ArmatureWario_Right_Hand_Peace),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt3_jump_wario_ArmatureWario_Right_Hand_Cap),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt3_jump_wario_ArmatureWario_Right_Hand_Wing_Cap),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 9, -8, 80, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, wario_000_offset_left_upper_leg_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 52, 0, 0, wario_000_offset_left_lower_leg_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 45, 0, 0, wario_000_offset_left_foot_mesh_layer_1_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 9, -8, -80, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, wario_000_offset_right_upper_leg_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 52, 0, 0, wario_000_offset_right_lower_leg_mesh_layer_1_mat_override_metal_0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 45, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(2, geo_mario_hand_foot_scaler),
GEO_SCALE(LAYER_FORCE, 65536),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_000_displaylist_right_foot_mesh_layer_1_mat_override_metal_0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt1[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_000_displaylist_head_cap_mesh_layer_1_mat_override_Wario_Eyes_Half_Closed_1),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt2[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_000_displaylist_head_cap_mesh_layer_1_mat_override_Wario_Eyes_Closed_2),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt3[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_000_displaylist_head_cap_mesh_layer_1_mat_override_Wario_Eyes_Dead_3),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
const GeoLayout wario_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SHADOW(0, 180, 100),
GEO_OPEN_NODE(),
GEO_SCALE(LAYER_FORCE, 16384),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_mario_set_player_colors),
GEO_ASM(0, geo_mirror_mario_backface_culling),
GEO_ASM(0, geo_mirror_mario_set_alpha),
GEO_SWITCH_CASE(0, geo_switch_mario_stand_run),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_cap_effect),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, -52, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, wario_000_offset_pelvis_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_move_mario_part_from_parent),
GEO_ASM(0, geo_mario_tilt_torso),
GEO_ROTATION_NODE(LAYER_FORCE, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 90, 0, 0, wario_000_offset_chest_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 158, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_mario_head_rotation),
GEO_ROTATION_NODE(LAYER_FORCE, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_cap_on_off),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_eyes),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_000_displaylist_head_cap_mesh_layer_1),
GEO_CLOSE_NODE(),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt1),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt2),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt3),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_BRANCH(1, wario_ArmatureWario_Head_Capless),
GEO_CLOSE_NODE(),
GEO_TRANSLATE_ROTATE(LAYER_FORCE, 158, -62, -146, 15, -33, -133),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_mario_rotate_wing_cap_wings),
GEO_ROTATION_NODE(LAYER_FORCE, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, wario_000_displaylist_right_wing_mesh_layer_4),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_TRANSLATE_ROTATE(LAYER_FORCE, 158, -62, 146, -15, 33, -133),
GEO_OPEN_NODE(),
GEO_ASM(1, geo_mario_rotate_wing_cap_wings),
GEO_ROTATION_NODE(LAYER_FORCE, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, wario_000_displaylist_left_wing_mesh_layer_4),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 134, -10, 115, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, wario_000_offset_left_upper_arm_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 101, 0, 0, wario_000_offset_left_lower_arm_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(1, geo_switch_mario_hand),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 83, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(1, geo_mario_hand_foot_scaler),
GEO_SCALE(LAYER_FORCE, 65536),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_000_displaylist_left_hand_fist_mesh_layer_1),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_BRANCH(1, wario_ArmatureWario_Left_Hand_Open),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 135, -10, -116, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, wario_000_offset_right_upper_arm_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 101, 0, 0, wario_000_offset_right_lower_arm_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_hand),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 82, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_mario_hand_foot_scaler),
GEO_SCALE(LAYER_FORCE, 65536),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_000_displaylist_right_hand_fist_mesh_layer_1),
GEO_CLOSE_NODE(),
GEO_HELD_OBJECT(0, 0, 0, 0, geo_switch_mario_hand_grab_pos),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_BRANCH(1, wario_ArmatureWario_Right_Hand_Open),
GEO_BRANCH(1, wario_ArmatureWario_Right_Hand_Peace),
GEO_BRANCH(1, wario_ArmatureWario_Right_Hand_Cap),
GEO_BRANCH(1, wario_ArmatureWario_Right_Hand_Wing_Cap),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 9, -8, 80, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, wario_000_offset_left_upper_leg_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 52, 0, 0, wario_000_offset_left_lower_leg_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 45, 0, 0, wario_000_offset_left_foot_mesh_layer_1),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 9, -8, -80, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, wario_000_offset_right_upper_leg_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 52, 0, 0, wario_000_offset_right_lower_leg_mesh_layer_1),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 45, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(2, geo_mario_hand_foot_scaler),
GEO_SCALE(LAYER_FORCE, 65536),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_000_displaylist_right_foot_mesh_layer_1),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt1),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt2),
GEO_BRANCH(1, wario_002_switch_opt0_001_switch_opt3),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ASM(1, geo_mirror_mario_backface_culling),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_material_revert_render_settings),
GEO_DISPLAY_LIST(LAYER_ALPHA, wario_material_revert_render_settings),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_material_revert_render_settings),
GEO_CLOSE_NODE(),
GEO_END(),
};

234
actors/wario/geo_header.h Normal file
View file

@ -0,0 +1,234 @@
extern const GeoLayout wario_002_switch_opt0_001_switch_opt0_000_switch_opt1_000_switch_001_opt1[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt0_000_switch_opt1_000_switch_001_opt2[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt0_000_switch_opt1_000_switch_001_opt3[];
extern const GeoLayout wario_ArmatureWario_Head_Capless[];
extern const GeoLayout wario_ArmatureWario_Left_Hand_Open[];
extern const GeoLayout wario_ArmatureWario_Right_Hand_Open[];
extern const GeoLayout wario_ArmatureWario_Right_Hand_Peace[];
extern const GeoLayout wario_ArmatureWario_Right_Hand_Cap[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt1_000_switch_opt1_000_switch_001_opt1[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt1_000_switch_opt1_000_switch_001_opt2[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt1_000_switch_opt1_000_switch_001_opt3[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt1_jump_wario_ArmatureWario_Head_Capless[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt1_jump_wario_ArmatureWario_Left_Hand_Open[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt1_jump_wario_ArmatureWario_Right_Hand_Open[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt1_jump_wario_ArmatureWario_Right_Hand_Peace[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt1_jump_wario_ArmatureWario_Right_Hand_Cap[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt1[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt2[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt3[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt1[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt2_jump_wario_ArmatureWario_Head_Capless[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt2_jump_wario_ArmatureWario_Left_Hand_Open[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt2_jump_wario_ArmatureWario_Right_Hand_Open[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt2_jump_wario_ArmatureWario_Right_Hand_Peace[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt2_jump_wario_ArmatureWario_Right_Hand_Cap[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt2[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt3_jump_wario_ArmatureWario_Head_Capless[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt3_jump_wario_ArmatureWario_Left_Hand_Open[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt3_jump_wario_ArmatureWario_Right_Hand_Open[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt3_jump_wario_ArmatureWario_Right_Hand_Peace[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt3_jump_wario_ArmatureWario_Right_Hand_Cap[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt3[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt1[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt2[];
extern const GeoLayout wario_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt3[];
extern const GeoLayout wario_geo[];
extern Lights1 wario_Wario_Overalls_lights;
extern Lights1 wario_Wario_Cap_lights;
extern Lights1 wario_Wario_Button_lights;
extern Lights1 wario_Wario_Logo_lights;
extern Lights1 wario_Wario_Hair_lights;
extern Lights1 wario_Wario_Eyes_lights;
extern Lights1 wario_Wario_Sideburn_lights;
extern Lights1 wario_Wario_Skin_lights;
extern Lights1 wario_Wario_Mustache_lights;
extern Lights1 wario_Wario_Nose_lights;
extern Lights1 wario_Wario_Mouth_lights;
extern Lights1 wario_Wario_Eyes_Half_Closed_lights;
extern Lights1 wario_Wario_Eyes_Closed_lights;
extern Lights1 wario_Wario_Eyes_Dead_lights;
extern Lights1 wario_Wario_Gloves_lights;
extern Lights1 wario_wings_half_1_lights;
extern Lights1 wario_wings_half_2_lights;
extern Lights1 wario_Wario_Shoes_lights;
extern u8 wario_mario_metal_rgba16[];
extern u8 wario_wario_overalls_button_rgba16[];
extern u8 wario_wario_logo_rgba16[];
extern u8 wario_custom_wario_eyes_center_rgba16[];
extern u8 wario_custom_wario_sideburn_rgba16[];
extern u8 wario_custom_wario_mouth_rgba16[];
extern u8 wario_custom_wario_eyes_half_closed_rgba16[];
extern u8 wario_custom_wario_eyes_closed_rgba16[];
extern u8 wario_custom_wario_eyes_dead_rgba16[];
extern u8 wario_mario_wing_tip_rgba16[];
extern u8 wario_mario_wing_rgba16[];
extern Vtx wario_000_offset_pelvis_mesh_layer_1_vtx_0[76];
extern Gfx wario_000_offset_pelvis_mesh_layer_1_tri_0[];
extern Vtx wario_000_offset_chest_mesh_layer_1_vtx_0[94];
extern Gfx wario_000_offset_chest_mesh_layer_1_tri_0[];
extern Vtx wario_000_offset_chest_mesh_layer_1_vtx_1[31];
extern Gfx wario_000_offset_chest_mesh_layer_1_tri_1[];
extern Vtx wario_000_offset_chest_mesh_layer_1_vtx_2[14];
extern Gfx wario_000_offset_chest_mesh_layer_1_tri_2[];
extern Vtx wario_000_displaylist_head_cap_mesh_layer_1_vtx_0[7];
extern Gfx wario_000_displaylist_head_cap_mesh_layer_1_tri_0[];
extern Vtx wario_000_displaylist_head_cap_mesh_layer_1_vtx_1[47];
extern Gfx wario_000_displaylist_head_cap_mesh_layer_1_tri_1[];
extern Vtx wario_000_displaylist_head_cap_mesh_layer_1_vtx_2[24];
extern Gfx wario_000_displaylist_head_cap_mesh_layer_1_tri_2[];
extern Vtx wario_000_displaylist_head_cap_mesh_layer_1_vtx_3[9];
extern Gfx wario_000_displaylist_head_cap_mesh_layer_1_tri_3[];
extern Vtx wario_000_displaylist_head_cap_mesh_layer_1_vtx_4[12];
extern Gfx wario_000_displaylist_head_cap_mesh_layer_1_tri_4[];
extern Vtx wario_000_displaylist_head_cap_mesh_layer_1_vtx_5[63];
extern Gfx wario_000_displaylist_head_cap_mesh_layer_1_tri_5[];
extern Vtx wario_000_displaylist_head_cap_mesh_layer_1_vtx_6[26];
extern Gfx wario_000_displaylist_head_cap_mesh_layer_1_tri_6[];
extern Vtx wario_000_displaylist_head_cap_mesh_layer_1_vtx_7[40];
extern Gfx wario_000_displaylist_head_cap_mesh_layer_1_tri_7[];
extern Vtx wario_000_displaylist_head_cap_mesh_layer_1_vtx_8[10];
extern Gfx wario_000_displaylist_head_cap_mesh_layer_1_tri_8[];
extern Vtx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_vtx_0[9];
extern Gfx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_tri_0[];
extern Vtx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_vtx_1[12];
extern Gfx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_tri_1[];
extern Vtx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_vtx_2[100];
extern Gfx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_tri_2[];
extern Vtx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_vtx_3[63];
extern Gfx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_tri_3[];
extern Vtx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_vtx_4[26];
extern Gfx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_tri_4[];
extern Vtx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_vtx_5[40];
extern Gfx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_tri_5[];
extern Vtx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_vtx_6[10];
extern Gfx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_tri_6[];
extern Vtx wario_000_displaylist_right_wing_mesh_layer_4_vtx_0[4];
extern Gfx wario_000_displaylist_right_wing_mesh_layer_4_tri_0[];
extern Vtx wario_000_displaylist_right_wing_mesh_layer_4_vtx_1[4];
extern Gfx wario_000_displaylist_right_wing_mesh_layer_4_tri_1[];
extern Vtx wario_000_displaylist_left_wing_mesh_layer_4_vtx_0[4];
extern Gfx wario_000_displaylist_left_wing_mesh_layer_4_tri_0[];
extern Vtx wario_000_displaylist_left_wing_mesh_layer_4_vtx_1[4];
extern Gfx wario_000_displaylist_left_wing_mesh_layer_4_tri_1[];
extern Vtx wario_000_offset_left_upper_arm_mesh_layer_1_vtx_0[31];
extern Gfx wario_000_offset_left_upper_arm_mesh_layer_1_tri_0[];
extern Vtx wario_000_offset_left_lower_arm_mesh_layer_1_vtx_0[16];
extern Gfx wario_000_offset_left_lower_arm_mesh_layer_1_tri_0[];
extern Vtx wario_000_displaylist_left_hand_fist_mesh_layer_1_vtx_0[52];
extern Gfx wario_000_displaylist_left_hand_fist_mesh_layer_1_tri_0[];
extern Vtx wario_001_switch_000_offset_left_hand_open_mesh_layer_1_vtx_0[72];
extern Gfx wario_001_switch_000_offset_left_hand_open_mesh_layer_1_tri_0[];
extern Vtx wario_000_offset_right_upper_arm_mesh_layer_1_vtx_0[28];
extern Gfx wario_000_offset_right_upper_arm_mesh_layer_1_tri_0[];
extern Vtx wario_000_offset_right_lower_arm_mesh_layer_1_vtx_0[16];
extern Gfx wario_000_offset_right_lower_arm_mesh_layer_1_tri_0[];
extern Vtx wario_000_displaylist_right_hand_fist_mesh_layer_1_vtx_0[52];
extern Gfx wario_000_displaylist_right_hand_fist_mesh_layer_1_tri_0[];
extern Vtx wario_001_switch_000_offset_right_hand_open_mesh_layer_1_vtx_0[76];
extern Gfx wario_001_switch_000_offset_right_hand_open_mesh_layer_1_tri_0[];
extern Vtx wario_001_switch_000_offset_right_hand_peace_mesh_layer_1_vtx_0[101];
extern Gfx wario_001_switch_000_offset_right_hand_peace_mesh_layer_1_tri_0[];
extern Vtx wario_001_switch_000_offset_right_hand_cap_mesh_layer_1_vtx_0[57];
extern Gfx wario_001_switch_000_offset_right_hand_cap_mesh_layer_1_tri_0[];
extern Vtx wario_001_switch_000_offset_right_hand_cap_mesh_layer_1_vtx_1[5];
extern Gfx wario_001_switch_000_offset_right_hand_cap_mesh_layer_1_tri_1[];
extern Vtx wario_001_switch_000_offset_right_hand_cap_mesh_layer_1_vtx_2[41];
extern Gfx wario_001_switch_000_offset_right_hand_cap_mesh_layer_1_tri_2[];
extern Vtx wario_001_switch_000_offset_right_hand_cap_mesh_layer_1_vtx_3[10];
extern Gfx wario_001_switch_000_offset_right_hand_cap_mesh_layer_1_tri_3[];
extern Vtx wario_001_switch_000_displaylist_right_hand_cap_wings_mesh_layer_4_vtx_0[8];
extern Gfx wario_001_switch_000_displaylist_right_hand_cap_wings_mesh_layer_4_tri_0[];
extern Vtx wario_001_switch_000_displaylist_right_hand_cap_wings_mesh_layer_4_vtx_1[8];
extern Gfx wario_001_switch_000_displaylist_right_hand_cap_wings_mesh_layer_4_tri_1[];
extern Vtx wario_000_offset_left_upper_leg_mesh_layer_1_vtx_0[22];
extern Gfx wario_000_offset_left_upper_leg_mesh_layer_1_tri_0[];
extern Vtx wario_000_offset_left_lower_leg_mesh_layer_1_vtx_0[12];
extern Gfx wario_000_offset_left_lower_leg_mesh_layer_1_tri_0[];
extern Vtx wario_000_offset_left_foot_mesh_layer_1_vtx_0[37];
extern Gfx wario_000_offset_left_foot_mesh_layer_1_tri_0[];
extern Vtx wario_000_offset_right_upper_leg_mesh_layer_1_vtx_0[22];
extern Gfx wario_000_offset_right_upper_leg_mesh_layer_1_tri_0[];
extern Vtx wario_000_offset_right_lower_leg_mesh_layer_1_vtx_0[22];
extern Gfx wario_000_offset_right_lower_leg_mesh_layer_1_tri_0[];
extern Vtx wario_000_displaylist_right_foot_mesh_layer_1_vtx_0[38];
extern Gfx wario_000_displaylist_right_foot_mesh_layer_1_tri_0[];
extern Gfx mat_wario_Wario_Overalls[];
extern Gfx mat_wario_metal[];
extern Gfx mat_revert_wario_metal[];
extern Gfx mat_wario_Wario_Cap[];
extern Gfx mat_wario_Wario_Button[];
extern Gfx mat_wario_Wario_Logo[];
extern Gfx mat_wario_Wario_Hair[];
extern Gfx mat_wario_Wario_Eyes[];
extern Gfx mat_wario_Wario_Sideburn[];
extern Gfx mat_wario_Wario_Skin[];
extern Gfx mat_wario_Wario_Mustache[];
extern Gfx mat_wario_Wario_Nose[];
extern Gfx mat_wario_Wario_Mouth[];
extern Gfx mat_wario_Wario_Eyes_Half_Closed[];
extern Gfx mat_wario_Wario_Eyes_Closed[];
extern Gfx mat_wario_Wario_Eyes_Dead[];
extern Gfx mat_wario_wing_tip[];
extern Gfx mat_revert_wario_wing_tip[];
extern Gfx mat_wario_wing[];
extern Gfx mat_revert_wario_wing[];
extern Gfx mat_wario_Wario_Gloves[];
extern Gfx mat_wario_wings_half_1[];
extern Gfx mat_revert_wario_wings_half_1[];
extern Gfx mat_wario_wings_half_2[];
extern Gfx mat_revert_wario_wings_half_2[];
extern Gfx mat_wario_Wario_Shoes[];
extern Gfx wario_000_offset_pelvis_mesh_layer_1[];
extern Gfx wario_000_offset_pelvis_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_000_offset_chest_mesh_layer_1[];
extern Gfx wario_000_offset_chest_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_000_displaylist_head_cap_mesh_layer_1[];
extern Gfx wario_000_displaylist_head_cap_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_000_displaylist_head_cap_mesh_layer_1_mat_override_Wario_Eyes_Half_Closed_1[];
extern Gfx wario_000_displaylist_head_cap_mesh_layer_1_mat_override_Wario_Eyes_Closed_2[];
extern Gfx wario_000_displaylist_head_cap_mesh_layer_1_mat_override_Wario_Eyes_Dead_3[];
extern Gfx wario_000_switch_000_displaylist_head_capless_mesh_layer_1[];
extern Gfx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_mat_override_Wario_Eyes_Half_Closed_1[];
extern Gfx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_mat_override_Wario_Eyes_Closed_2[];
extern Gfx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_mat_override_Wario_Eyes_Dead_3[];
extern Gfx wario_000_displaylist_right_wing_mesh_layer_4[];
extern Gfx wario_000_displaylist_right_wing_mesh_layer_4_mat_override_metal_0[];
extern Gfx wario_000_displaylist_left_wing_mesh_layer_4[];
extern Gfx wario_000_displaylist_left_wing_mesh_layer_4_mat_override_metal_0[];
extern Gfx wario_000_offset_left_upper_arm_mesh_layer_1[];
extern Gfx wario_000_offset_left_upper_arm_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_000_offset_left_lower_arm_mesh_layer_1[];
extern Gfx wario_000_offset_left_lower_arm_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_000_displaylist_left_hand_fist_mesh_layer_1[];
extern Gfx wario_000_displaylist_left_hand_fist_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_001_switch_000_offset_left_hand_open_mesh_layer_1[];
extern Gfx wario_001_switch_000_offset_left_hand_open_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_000_offset_right_upper_arm_mesh_layer_1[];
extern Gfx wario_000_offset_right_upper_arm_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_000_offset_right_lower_arm_mesh_layer_1[];
extern Gfx wario_000_offset_right_lower_arm_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_000_displaylist_right_hand_fist_mesh_layer_1[];
extern Gfx wario_000_displaylist_right_hand_fist_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_001_switch_000_offset_right_hand_open_mesh_layer_1[];
extern Gfx wario_001_switch_000_offset_right_hand_open_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_001_switch_000_offset_right_hand_peace_mesh_layer_1[];
extern Gfx wario_001_switch_000_offset_right_hand_peace_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_001_switch_000_offset_right_hand_cap_mesh_layer_1[];
extern Gfx wario_001_switch_000_offset_right_hand_cap_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_001_switch_000_displaylist_right_hand_cap_wings_mesh_layer_4[];
extern Gfx wario_001_switch_000_displaylist_right_hand_cap_wings_mesh_layer_4_mat_override_metal_0[];
extern Gfx wario_000_offset_left_upper_leg_mesh_layer_1[];
extern Gfx wario_000_offset_left_upper_leg_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_000_offset_left_lower_leg_mesh_layer_1[];
extern Gfx wario_000_offset_left_lower_leg_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_000_offset_left_foot_mesh_layer_1[];
extern Gfx wario_000_offset_left_foot_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_000_offset_right_upper_leg_mesh_layer_1[];
extern Gfx wario_000_offset_right_upper_leg_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_000_offset_right_lower_leg_mesh_layer_1[];
extern Gfx wario_000_offset_right_lower_leg_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_000_displaylist_right_foot_mesh_layer_1[];
extern Gfx wario_000_displaylist_right_foot_mesh_layer_1_mat_override_metal_0[];
extern Gfx wario_material_revert_render_settings[];

7515
actors/wario/model.inc.c Normal file

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 547 B

View file

@ -0,0 +1,84 @@
// 0x16000CA4
const GeoLayout warios_cap_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(1, geo_mario_set_player_colors),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_cap_seg3_dl_03022F48),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_cap_seg3_dl_03022F48),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x16000CF0
const GeoLayout warios_metal_cap_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_cap_seg3_dl_03022FF8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_cap_seg3_dl_03022FF8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x16000D3C
const GeoLayout warios_wing_cap_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(1, geo_mario_set_player_colors),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_cap_seg3_dl_03022F48),
GEO_DISPLAY_LIST(LAYER_ALPHA, wario_cap_seg3_dl_030230B0),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_cap_seg3_dl_03023160),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x16000DA8
const GeoLayout warios_winged_metal_cap_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(1, geo_mario_set_player_colors),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, wario_cap_seg3_dl_03022FF8),
GEO_DISPLAY_LIST(LAYER_ALPHA, wario_cap_seg3_dl_03023108),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wario_cap_seg3_dl_03023298),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View file

@ -0,0 +1,422 @@
// Wario Cap (Normal Cap, Metal, Winged, etc)
// 0x0301CF08
static const Lights1 wario_cap_seg3_lights_0301CF08 = gdSPDefLights1(
0x00, 0x46, 0x00,
0x00, 0x8C, 0x00, 0x28, 0x28, 0x28
);
// 0x0301CF20
static const Lights1 wario_cap_seg3_lights_0301CF20 = gdSPDefLights1(
0x00, 0x46, 0x00,
0x00, 0x8C, 0x00, 0x28, 0x28, 0x28
);
// 0x0301CF38
static const Lights1 wario_cap_seg3_lights_0301CF38 = gdSPDefLights1(
0x00, 0x46, 0x00,
0x00, 0x8C, 0x00, 0x28, 0x28, 0x28
);
static const Lights1 wario_cap_seg3_lights_white = gdSPDefLights1(
0x7f, 0x7f, 0x7f,
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"
};
// 0x0301DF50
ALIGNED8 static const u8 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}}},
{{{ 96, 22, 45}, 0, { 1240, 876}, {0x48, 0xa4, 0x31, 0xff}}},
{{{ 71, 101, 113}, 0, { 1028, 148}, {0x55, 0x16, 0x5b, 0xff}}},
{{{ 0, 110, 143}, 0, { 460, 68}, {0x00, 0x34, 0x73, 0xff}}},
{{{ -31, 35, 118}, 0, { 206, 762}, {0xd0, 0x26, 0x6f, 0xff}}},
{{{ -70, 101, 113}, 0, { -106, 158}, {0xab, 0x16, 0x5b, 0xff}}},
{{{ -95, 22, 46}, 0, { -302, 890}, {0xa8, 0xb9, 0x38, 0xff}}},
};
// 0x030227C0
static const Vtx wario_cap_seg3_vertex_030227C0[] = {
{{{ -66, 2, 139}, 0, { 0, 0}, {0xb0, 0xbb, 0x45, 0xff}}},
{{{ 0, 0, 163}, 0, { 0, 0}, {0x00, 0xba, 0x69, 0xff}}},
{{{ -31, 35, 118}, 0, { 0, 0}, {0xd0, 0x26, 0x6f, 0xff}}},
{{{ -32, 17, 109}, 0, { 0, 0}, {0x00, 0x83, 0xf0, 0xff}}},
{{{ 33, 17, 109}, 0, { 0, 0}, {0xfb, 0x84, 0xea, 0xff}}},
{{{ -95, 22, 46}, 0, { 0, 0}, {0xa8, 0xb9, 0x38, 0xff}}},
{{{ -101, 10, -7}, 0, { 0, 0}, {0xd8, 0x89, 0x11, 0xff}}},
{{{ -70, 101, 113}, 0, { 0, 0}, {0xab, 0x16, 0x5b, 0xff}}},
{{{ -135, 70, 23}, 0, { 0, 0}, {0x84, 0x15, 0x10, 0xff}}},
{{{ -125, 38, -45}, 0, { 0, 0}, {0x8d, 0xec, 0xd1, 0xff}}},
{{{ -86, 1, -60}, 0, { 0, 0}, {0xce, 0x8c, 0xf6, 0xff}}},
{{{ -41, 144, 64}, 0, { 0, 0}, {0xdc, 0x79, 0x00, 0xff}}},
{{{ -76, 84, -60}, 0, { 0, 0}, {0xd5, 0x6e, 0xd3, 0xff}}},
{{{ 136, 70, 22}, 0, { 0, 0}, {0x7b, 0x16, 0x10, 0xff}}},
{{{ 71, 101, 113}, 0, { 0, 0}, {0x55, 0x16, 0x5b, 0xff}}},
{{{ 96, 22, 45}, 0, { 0, 0}, {0x48, 0xa4, 0x31, 0xff}}},
};
// 0x030228C0
static const Vtx wario_cap_seg3_vertex_030228C0[] = {
{{{ 42, 144, 64}, 0, { 0, 0}, {0x2b, 0x76, 0x0d, 0xff}}},
{{{ 136, 70, 22}, 0, { 0, 0}, {0x7b, 0x16, 0x10, 0xff}}},
{{{ 76, 84, -60}, 0, { 0, 0}, {0x2a, 0x6c, 0xcf, 0xff}}},
{{{ 103, 10, -6}, 0, { 0, 0}, {0x42, 0x96, 0x12, 0xff}}},
{{{ 126, 38, -46}, 0, { 0, 0}, {0x73, 0xec, 0xd0, 0xff}}},
{{{ 71, 101, 113}, 0, { 0, 0}, {0x55, 0x16, 0x5b, 0xff}}},
{{{ 96, 22, 45}, 0, { 0, 0}, {0x48, 0xa4, 0x31, 0xff}}},
{{{ 67, 2, 139}, 0, { 0, 0}, {0x50, 0xba, 0x44, 0xff}}},
{{{ 33, 17, 109}, 0, { 0, 0}, {0xfb, 0x84, 0xea, 0xff}}},
{{{ 33, 35, 118}, 0, { 0, 0}, {0x30, 0x26, 0x6e, 0xff}}},
{{{ 86, 1, -60}, 0, { 0, 0}, {0x20, 0x86, 0xfe, 0xff}}},
{{{ 0, 0, 163}, 0, { 0, 0}, {0x00, 0xba, 0x69, 0xff}}},
{{{ -31, 35, 118}, 0, { 0, 0}, {0xd0, 0x26, 0x6f, 0xff}}},
{{{ 53, 0, -118}, 0, { 0, 0}, {0x2c, 0xb5, 0xa5, 0xff}}},
{{{ 49, 62, -139}, 0, { 0, 0}, {0x32, 0x49, 0xa6, 0xff}}},
};
// 0x030229B0
static const Vtx wario_cap_seg3_vertex_030229B0[] = {
{{{ -76, 84, -60}, 0, { 0, 0}, {0xd5, 0x6e, 0xd3, 0xff}}},
{{{ -41, 144, 64}, 0, { 0, 0}, {0xdc, 0x79, 0x00, 0xff}}},
{{{ 76, 84, -60}, 0, { 0, 0}, {0x2a, 0x6c, 0xcf, 0xff}}},
{{{ 0, 110, 143}, 0, { 0, 0}, {0x00, 0x34, 0x73, 0xff}}},
{{{ 42, 144, 64}, 0, { 0, 0}, {0x2b, 0x76, 0x0d, 0xff}}},
{{{ -70, 101, 113}, 0, { 0, 0}, {0xab, 0x16, 0x5b, 0xff}}},
{{{ 71, 101, 113}, 0, { 0, 0}, {0x55, 0x16, 0x5b, 0xff}}},
{{{ 49, 62, -139}, 0, { 0, 0}, {0x32, 0x49, 0xa6, 0xff}}},
{{{ 126, 38, -46}, 0, { 0, 0}, {0x73, 0xec, 0xd0, 0xff}}},
{{{ -52, 0, -118}, 0, { 0, 0}, {0xd2, 0x9d, 0xc1, 0xff}}},
{{{ -49, 62, -138}, 0, { 0, 0}, {0xce, 0x1a, 0x8f, 0xff}}},
{{{ 53, 0, -118}, 0, { 0, 0}, {0x2c, 0xb5, 0xa5, 0xff}}},
{{{ -125, 38, -45}, 0, { 0, 0}, {0x8d, 0xec, 0xd1, 0xff}}},
{{{ 86, 1, -60}, 0, { 0, 0}, {0x20, 0x86, 0xfe, 0xff}}},
{{{ -86, 1, -60}, 0, { 0, 0}, {0xce, 0x8c, 0xf6, 0xff}}},
};
// 0x03022AA0
static const Vtx wario_cap_seg3_vertex_03022AA0[] = {
{{{ 86, 1, -60}, 0, { 0, 0}, {0x20, 0x86, 0xfe, 0xff}}},
{{{ -86, 1, -60}, 0, { 0, 0}, {0xce, 0x8c, 0xf6, 0xff}}},
{{{ -52, 0, -118}, 0, { 0, 0}, {0xd2, 0x9d, 0xc1, 0xff}}},
{{{ 33, 17, 109}, 0, { 0, 0}, {0xfb, 0x84, 0xea, 0xff}}},
{{{ -32, 17, 109}, 0, { 0, 0}, {0x00, 0x83, 0xf0, 0xff}}},
{{{ -101, 10, -7}, 0, { 0, 0}, {0xd8, 0x89, 0x11, 0xff}}},
{{{ 96, 22, 45}, 0, { 0, 0}, {0x48, 0xa4, 0x31, 0xff}}},
{{{ 103, 10, -6}, 0, { 0, 0}, {0x42, 0x96, 0x12, 0xff}}},
{{{ 53, 0, -118}, 0, { 0, 0}, {0x2c, 0xb5, 0xa5, 0xff}}},
};
// 0x03022B30 - 0x03022B68
const Gfx wario_cap_seg3_dl_03022B30[] = {
gsSPVertex(wario_cap_seg3_vertex_03022750, 7, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 0, 0x0),
gsSP2Triangles( 3, 5, 4, 0x0, 2, 3, 0, 0x0),
gsSP1Triangle( 5, 6, 4, 0x0),
gsSPEndDisplayList(),
};
// 0x03022B68 - 0x03022CC8
const Gfx wario_cap_seg3_dl_03022B68[] = {
gsSPVertex(wario_cap_seg3_vertex_030227C0, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 1, 0x0),
gsSP2Triangles( 3, 1, 0, 0x0, 3, 5, 6, 0x0),
gsSP2Triangles( 3, 0, 5, 0x0, 5, 7, 8, 0x0),
gsSP2Triangles( 5, 8, 6, 0x0, 0, 2, 5, 0x0),
gsSP2Triangles( 6, 9, 10, 0x0, 8, 9, 6, 0x0),
gsSP2Triangles(11, 8, 7, 0x0, 8, 12, 9, 0x0),
gsSP2Triangles(12, 8, 11, 0x0, 13, 14, 15, 0x0),
gsSPVertex(wario_cap_seg3_vertex_030228C0, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 1, 0x0),
gsSP2Triangles( 4, 2, 1, 0x0, 5, 1, 0, 0x0),
gsSP2Triangles( 1, 6, 3, 0x0, 6, 7, 8, 0x0),
gsSP2Triangles( 9, 7, 6, 0x0, 10, 4, 3, 0x0),
gsSP2Triangles( 9, 11, 7, 0x0, 7, 11, 8, 0x0),
gsSP2Triangles(12, 11, 9, 0x0, 13, 14, 4, 0x0),
gsSPVertex(wario_cap_seg3_vertex_030229B0, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 1, 3, 4, 0x0),
gsSP2Triangles( 5, 3, 1, 0x0, 1, 4, 2, 0x0),
gsSP2Triangles( 4, 3, 6, 0x0, 0, 2, 7, 0x0),
gsSP2Triangles( 8, 7, 2, 0x0, 9, 10, 11, 0x0),
gsSP2Triangles(12, 10, 9, 0x0, 7, 10, 0, 0x0),
gsSP2Triangles(10, 7, 11, 0x0, 0, 10, 12, 0x0),
gsSP2Triangles(11, 8, 13, 0x0, 14, 12, 9, 0x0),
gsSPEndDisplayList(),
};
// 0x03022CC8 - 0x03022D10
const Gfx wario_cap_seg3_dl_03022CC8[] = {
gsSPVertex(wario_cap_seg3_vertex_03022AA0, 9, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 3, 5, 0x0, 7, 6, 5, 0x0),
gsSP2Triangles( 0, 7, 5, 0x0, 0, 5, 1, 0x0),
gsSP1Triangle( 2, 8, 0, 0x0),
gsSPEndDisplayList(),
};
// 0x03022D10 - 0x03022D38
const Gfx wario_cap_seg3_dl_03022D10[] = {
gsSPDisplayList(wario_cap_seg3_dl_03022B68),
gsSPCopyLightEXT(1, 5), //gsSPLight(&wario_cap_seg3_lights_0301CF08.l, 1),
gsSPCopyLightEXT(2, 6), //gsSPLight(&wario_cap_seg3_lights_0301CF08.a, 2),
gsSPDisplayList(wario_cap_seg3_dl_03022CC8),
gsSPEndDisplayList(),
};
// 0x03022D38
static const Vtx wario_cap_seg3_vertex_03022D38[] = {
{{{ 199, 247, -55}, 0, { 990, 0}, {0x59, 0xed, 0x58, 0xff}}},
{{{ 131, 274, 20}, 0, { 0, 0}, {0x59, 0xed, 0x58, 0xff}}},
{{{ 69, 71, 38}, 0, { 0, 2012}, {0x59, 0xed, 0x58, 0xff}}},
{{{ 199, 247, -55}, 0, { 990, 0}, {0x58, 0xee, 0x58, 0xff}}},
{{{ 69, 71, 38}, 0, { 0, 2012}, {0x58, 0xee, 0x58, 0xff}}},
{{{ 138, 44, -37}, 0, { 990, 2012}, {0x58, 0xee, 0x58, 0xff}}},
{{{ -137, 44, -37}, 0, { 990, 2012}, {0xa8, 0xee, 0x58, 0xff}}},
{{{ -68, 71, 38}, 0, { 0, 2012}, {0xa8, 0xee, 0x58, 0xff}}},
{{{ -198, 247, -55}, 0, { 990, 0}, {0xa8, 0xee, 0x58, 0xff}}},
{{{ -68, 71, 38}, 0, { 0, 2012}, {0xa7, 0xed, 0x58, 0xff}}},
{{{ -130, 274, 20}, 0, { 0, 0}, {0xa7, 0xed, 0x58, 0xff}}},
{{{ -198, 247, -55}, 0, { 990, 0}, {0xa7, 0xed, 0x58, 0xff}}},
};
// 0x03022DF8
static const Vtx wario_cap_seg3_vertex_03022DF8[] = {
{{{ 268, 219, -132}, 0, { 990, 0}, {0x59, 0xed, 0x57, 0xff}}},
{{{ 199, 247, -55}, 0, { 0, 0}, {0x59, 0xed, 0x57, 0xff}}},
{{{ 138, 44, -37}, 0, { 0, 2012}, {0x59, 0xed, 0x57, 0xff}}},
{{{ 207, 16, -114}, 0, { 990, 2012}, {0x59, 0xed, 0x57, 0xff}}},
{{{ -206, 16, -114}, 0, { 990, 2012}, {0xa7, 0xed, 0x57, 0xff}}},
{{{ -137, 44, -37}, 0, { 0, 2012}, {0xa7, 0xed, 0x57, 0xff}}},
{{{ -267, 219, -132}, 0, { 990, 0}, {0xa7, 0xed, 0x57, 0xff}}},
{{{ -198, 247, -55}, 0, { 0, 0}, {0xa7, 0xed, 0x57, 0xff}}},
};
// 0x03022E78 - 0x03022EA8
const Gfx wario_cap_seg3_dl_03022E78[] = {
gsSPVertex(wario_cap_seg3_vertex_03022D38, 12, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 9, 10, 11, 0x0),
gsSPEndDisplayList(),
};
// 0x03022EA8 - 0x03022ED8
const Gfx wario_cap_seg3_dl_03022EA8[] = {
gsSPVertex(wario_cap_seg3_vertex_03022DF8, 8, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 5, 7, 6, 0x0),
gsSPEndDisplayList(),
};
// 0x03022ED8 - 0x03022F20
const Gfx wario_cap_seg3_dl_03022ED8[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
gsSPEndDisplayList(),
};
// 0x03022F20 - 0x03022F48
const Gfx wario_cap_seg3_dl_03022F20[] = {
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
gsSPEndDisplayList(),
};
// 0x03022F48 - 0x03022FF8
const Gfx wario_cap_seg3_dl_03022F48[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_0301DF50),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightEXT(1, 5), //gsSPLight(&wario_cap_seg3_lights_0301CF38.l, 1),
gsSPCopyLightEXT(2, 6), //gsSPLight(&wario_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(wario_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPDisplayList(wario_cap_seg3_dl_03022D10),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsDPSetAlphaCompare(G_AC_NONE),
gsDPSetEnvColor(255, 255, 255, 255),
gsSPEndDisplayList(),
};
// 0x03022FF8 - 0x030230B0
const Gfx wario_cap_seg3_dl_03022FF8[] = {
gsDPPipeSync(),
gsSPSetGeometryMode(G_TEXTURE_GEN),
gsDPSetCombineMode(G_CC_MODULATERGBFADE, G_CC_MODULATERGBFADE),
gsDPLoadTextureBlock(wario_cap_seg3_texture_0301CF50, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON),
gsSPLight(&wario_cap_seg3_lights_white.l, 1),
gsSPLight(&wario_cap_seg3_lights_white.a, 2),
gsSPDisplayList(wario_cap_seg3_dl_03022B30),
gsSPDisplayList(wario_cap_seg3_dl_03022B68),
gsSPDisplayList(wario_cap_seg3_dl_03022CC8),
gsDPPipeSync(),
gsSPClearGeometryMode(G_TEXTURE_GEN),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF),
gsDPSetAlphaCompare(G_AC_NONE),
gsDPSetEnvColor(255, 255, 255, 255),
gsSPEndDisplayList(),
};
// 0x030230B0 - 0x03023108
const Gfx wario_cap_seg3_dl_030230B0[] = {
gsSPDisplayList(wario_cap_seg3_dl_03022ED8),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_0301E750),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(wario_cap_seg3_dl_03022E78),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_0301F750),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(wario_cap_seg3_dl_03022EA8),
gsSPDisplayList(wario_cap_seg3_dl_03022F20),
gsSPEndDisplayList(),
};
// 0x03023108 - 0x03023160
const Gfx wario_cap_seg3_dl_03023108[] = {
gsSPDisplayList(wario_cap_seg3_dl_03022ED8),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_03020750),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(wario_cap_seg3_dl_03022E78),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_03021750),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(wario_cap_seg3_dl_03022EA8),
gsSPDisplayList(wario_cap_seg3_dl_03022F20),
gsSPEndDisplayList(),
};
// 0x03023160 - 0x03023298
const Gfx wario_cap_seg3_dl_03023160[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_0301DF50),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightEXT(1, 5), //gsSPLight(&wario_cap_seg3_lights_0301CF38.l, 1),
gsSPCopyLightEXT(2, 6), //gsSPLight(&wario_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(wario_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPDisplayList(wario_cap_seg3_dl_03022D10),
gsDPPipeSync(),
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_0301E750),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(wario_cap_seg3_dl_03022E78),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_0301F750),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(wario_cap_seg3_dl_03022EA8),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
gsDPSetAlphaCompare(G_AC_NONE),
gsDPSetEnvColor(255, 255, 255, 255),
gsSPEndDisplayList(),
};
// 0x03023298 - 0x030233D0
const Gfx wario_cap_seg3_dl_03023298[] = {
gsDPPipeSync(),
gsSPSetGeometryMode(G_TEXTURE_GEN),
gsDPSetCombineMode(G_CC_MODULATERGBFADE, G_CC_MODULATERGBFADE),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_0301CF50),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 6, G_TX_NOLOD),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 64 * 32 - 1, CALC_DXT(64, G_IM_SIZ_16b_BYTES)),
gsDPPipeSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 6, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (64 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON),
gsSPLight(&wario_cap_seg3_lights_white.l, 1),
gsSPLight(&wario_cap_seg3_lights_white.a, 2),
gsSPDisplayList(wario_cap_seg3_dl_03022B30),
gsSPDisplayList(wario_cap_seg3_dl_03022B68),
gsSPDisplayList(wario_cap_seg3_dl_03022CC8),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsSPClearGeometryMode(G_TEXTURE_GEN | G_LIGHTING | G_CULL_BACK),
gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_03020750),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(wario_cap_seg3_dl_03022E78),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_03021750),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(wario_cap_seg3_dl_03022EA8),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
gsDPSetAlphaCompare(G_AC_NONE),
gsDPSetEnvColor(255, 255, 255, 255),
gsSPEndDisplayList(),
};

View file

@ -15,3 +15,10 @@
// waluigi model
#include "waluigi/model.inc.c"
// wario_cap
#include "wario_cap/model.inc.c"
// wario model
#include "wario/model.inc.c"

View file

@ -24,4 +24,27 @@ extern const Gfx waluigi_cap_seg3_dl_03023298[];
// waluigi
#include "actors/waluigi/geo_header.h"
// wario_cap
extern const GeoLayout warios_cap_geo[];
extern const GeoLayout warios_metal_cap_geo[];
extern const GeoLayout warios_wing_cap_geo[];
extern const GeoLayout warios_winged_metal_cap_geo[];
extern const Gfx wario_cap_seg3_dl_03022B30[];
extern const Gfx wario_cap_seg3_dl_03022B68[];
extern const Gfx wario_cap_seg3_dl_03022CC8[];
extern const Gfx wario_cap_seg3_dl_03022D10[];
extern const Gfx wario_cap_seg3_dl_03022E78[];
extern const Gfx wario_cap_seg3_dl_03022EA8[];
extern const Gfx wario_cap_seg3_dl_03022ED8[];
extern const Gfx wario_cap_seg3_dl_03022F20[];
extern const Gfx wario_cap_seg3_dl_03022F48[];
extern const Gfx wario_cap_seg3_dl_03022FF8[];
extern const Gfx wario_cap_seg3_dl_030230B0[];
extern const Gfx wario_cap_seg3_dl_03023108[];
extern const Gfx wario_cap_seg3_dl_03023160[];
extern const Gfx wario_cap_seg3_dl_03023298[];
// wario
#include "actors/wario/geo_header.h"
#endif

View file

@ -10,3 +10,7 @@
#include "waluigi_cap/geo.inc.c" // custom waluigi_cap
#include "waluigi/geo.inc.c"
#include "wario_cap/geo.inc.c"
#include "wario/geo.inc.c"

View file

@ -225,6 +225,10 @@ ALIGNED8 const u8 texture_hud_char_waluigi_head[] = {
#include "textures/segment2/custom_waluigi_head.rgba16.inc.c"
};
ALIGNED8 const u8 texture_hud_char_wario_head[] = {
#include "textures/segment2/custom_wario_head.rgba16.inc.c"
};
ALIGNED8 static const u8 texture_hud_char_star[] = {
#include "textures/segment2/segment2.05C00.rgba16.inc.c"
};
@ -1844,7 +1848,7 @@ const u8 *const main_hud_lut[] = {
texture_hud_char_K, texture_hud_char_L, texture_hud_char_M, texture_hud_char_N,
texture_hud_char_O, texture_hud_char_P, 0x0, texture_hud_char_R,
texture_hud_char_S, texture_hud_char_T, texture_hud_char_U, 0x0,
texture_hud_char_W, 0x0, texture_hud_char_Y, texture_hud_char_waluigi_head,
texture_hud_char_W, texture_hud_char_wario_head, texture_hud_char_Y, texture_hud_char_waluigi_head,
0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0,
@ -2090,7 +2094,7 @@ const u8 *const main_credits_font_lut[] = {
const u8 *const main_hud_camera_lut[] = {
texture_hud_char_camera, texture_hud_char_mario_head, texture_hud_char_lakitu, texture_hud_char_no_camera,
texture_hud_char_arrow_up, texture_hud_char_arrow_down, texture_hud_char_luigi_head, texture_hud_char_toad_head,
texture_hud_char_waluigi_head,
texture_hud_char_waluigi_head, texture_hud_char_wario_head,
};
// If you change the language here, the following Makefile rule also needs to

View file

@ -606,4 +606,10 @@
#define MODEL_WALUIGIS_WING_CAP 0xEF // waluigis_wing_cap_geo
#define MODEL_WALUIGIS_WINGED_METAL_CAP 0xF0 // waluigis_winged_metal_cap_geo
#define MODEL_WARIO 0xF1 // wario_geo
#define MODEL_WARIOS_CAP 0xF2 // warios_cap_geo
#define MODEL_WARIOS_METAL_CAP 0xF3 // warios_metal_cap_geo
#define MODEL_WARIOS_WING_CAP 0xF4 // warios_wing_cap_geo
#define MODEL_WARIOS_WINGED_METAL_CAP 0xF5 // warios_winged_metal_cap_geo
#endif // MODEL_IDS_H

View file

@ -117,7 +117,7 @@ const LevelScript level_main_scripts_entry[] = {
// CUSTOM MODELS BEGIN
LOAD_MODEL_FROM_GEO(MODEL_BUBBLE_PLAYER, water_bomb_geo),
LOAD_MODEL_FROM_GEO(MODEL_BUBBLE_PLAYER, water_bomb_geo),
LOAD_MODEL_FROM_GEO(MODEL_LUIGI, luigi_geo),
LOAD_MODEL_FROM_GEO(MODEL_LUIGIS_CAP, luigis_cap_geo),
@ -136,6 +136,12 @@ const LevelScript level_main_scripts_entry[] = {
LOAD_MODEL_FROM_GEO(MODEL_WALUIGIS_WING_CAP, waluigis_wing_cap_geo),
LOAD_MODEL_FROM_GEO(MODEL_WALUIGIS_WINGED_METAL_CAP, waluigis_winged_metal_cap_geo),
LOAD_MODEL_FROM_GEO(MODEL_WARIO, wario_geo),
LOAD_MODEL_FROM_GEO(MODEL_WARIOS_CAP, warios_cap_geo),
LOAD_MODEL_FROM_GEO(MODEL_WARIOS_METAL_CAP, warios_metal_cap_geo),
LOAD_MODEL_FROM_GEO(MODEL_WARIOS_WING_CAP, warios_wing_cap_geo),
LOAD_MODEL_FROM_GEO(MODEL_WARIOS_WINGED_METAL_CAP, warios_winged_metal_cap_geo),
// CUSTOM MODELS END
FREE_LEVEL_POOL(),

View file

@ -15,11 +15,13 @@ extern Gfx luigi_cap_seg3_dl_03022F48[];
extern Gfx toad_player_dl_cap[];
extern Gfx toad_player_dl_cap_decal[];
extern Gfx waluigi_cap_seg3_dl_03022F48[];
extern Gfx wario_cap_seg3_dl_03022F48[];
extern ALIGNED8 const u8 texture_hud_char_mario_head[];
extern ALIGNED8 const u8 texture_hud_char_luigi_head[];
extern ALIGNED8 const u8 texture_hud_char_toad_head[];
extern ALIGNED8 const u8 texture_hud_char_waluigi_head[];
extern ALIGNED8 const u8 texture_hud_char_wario_head[];
struct Character gCharacters[CT_MAX] = {
[CT_MARIO] = {
@ -36,6 +38,7 @@ struct Character gCharacters[CT_MAX] = {
.capEnemyLayer = LAYER_OPAQUE,
.capEnemyGfx = mario_cap_seg3_dl_03022F48,
.capEnemyDecalGfx = NULL,
.torsoRotMult = 1.0f,
// anim
.animOffsetEnabled = false,
// sounds
@ -98,6 +101,7 @@ struct Character gCharacters[CT_MAX] = {
.capEnemyLayer = LAYER_OPAQUE,
.capEnemyGfx = luigi_cap_seg3_dl_03022F48,
.capEnemyDecalGfx = NULL,
.torsoRotMult = 1.0f,
// anim
.animOffsetEnabled = false,
// sounds
@ -160,6 +164,7 @@ struct Character gCharacters[CT_MAX] = {
.capEnemyLayer = LAYER_TRANSPARENT,
.capEnemyGfx = toad_player_dl_cap,
.capEnemyDecalGfx = toad_player_dl_cap_decal,
.torsoRotMult = 1.0f,
// anim
.animOffsetEnabled = false,
// sounds
@ -222,6 +227,7 @@ struct Character gCharacters[CT_MAX] = {
.capEnemyLayer = LAYER_OPAQUE,
.capEnemyGfx = waluigi_cap_seg3_dl_03022F48,
.capEnemyDecalGfx = NULL,
.torsoRotMult = 1.0f,
// anim
.animOffsetEnabled = true,
.animOffsetLowYPoint = 11,
@ -272,6 +278,69 @@ struct Character gCharacters[CT_MAX] = {
.soundSoLongaBowser = SOUND_LUIGI_SO_LONGA_BOWSER,
.soundImaTired = SOUND_LUIGI_IMA_TIRED,
},
[CT_WARIO] = {
.type = CT_WARIO,
.name = "Wario",
.hudHead = 'x',
.hudHeadTexture = texture_hud_char_wario_head,
.cameraHudHead = GLYPH_CAM_WARIO_HEAD,
.modelId = MODEL_WARIO,
.capModelId = MODEL_WARIOS_CAP,
.capMetalModelId = MODEL_WARIOS_METAL_CAP,
.capWingModelId = MODEL_WARIOS_WING_CAP,
.capMetalWingModelId = MODEL_WARIOS_WINGED_METAL_CAP,
.capEnemyLayer = LAYER_OPAQUE,
.capEnemyGfx = wario_cap_seg3_dl_03022F48,
.capEnemyDecalGfx = NULL,
.torsoRotMult = 3.0f / 5.0f,
// anim
.animOffsetEnabled = true,
// sounds
.soundFreqScale = 0.8f,
.soundYahWahHoo = SOUND_MARIO_YAH_WAH_HOO,
.soundHoohoo = SOUND_MARIO_HOOHOO,
.soundYahoo = SOUND_MARIO_YAHOO,
.soundUh = SOUND_MARIO_UH,
.soundHrmm = SOUND_MARIO_HRMM,
.soundWah2 = SOUND_MARIO_WAH2,
.soundWhoa = SOUND_MARIO_WHOA,
.soundEeuh = SOUND_MARIO_EEUH,
.soundAttacked = SOUND_MARIO_ATTACKED,
.soundOoof = SOUND_MARIO_OOOF,
.soundOoof2 = SOUND_MARIO_OOOF2,
.soundHereWeGo = SOUND_MARIO_HERE_WE_GO,
.soundYawning = SOUND_MARIO_YAWNING,
.soundSnoring1 = SOUND_MARIO_SNORING1,
.soundSnoring2 = SOUND_MARIO_SNORING2,
.soundWaaaooow = SOUND_MARIO_WAAAOOOW,
.soundHaha = SOUND_MARIO_HAHA,
.soundHaha_2 = SOUND_MARIO_HAHA_2,
.soundUh2 = SOUND_MARIO_UH2,
.soundUh2_2 = SOUND_MARIO_UH2_2,
.soundOnFire = SOUND_MARIO_ON_FIRE,
.soundDying = SOUND_MARIO_DYING,
.soundPantingCold = SOUND_MARIO_PANTING_COLD,
.soundPanting = SOUND_MARIO_PANTING,
.soundCoughing1 = SOUND_MARIO_COUGHING1,
.soundCoughing2 = SOUND_MARIO_COUGHING2,
.soundCoughing3 = SOUND_MARIO_COUGHING3,
.soundPunchYah = SOUND_MARIO_PUNCH_YAH,
.soundPunchHoo = SOUND_MARIO_PUNCH_HOO,
.soundMamaMia = SOUND_MARIO_MAMA_MIA,
.soundGroundPoundWah = SOUND_MARIO_GROUND_POUND_WAH,
.soundDrowning = SOUND_MARIO_DROWNING,
.soundPunchWah = SOUND_MARIO_PUNCH_WAH,
.soundYahooWahaYippee = SOUND_MARIO_YAHOO_WAHA_YIPPEE,
.soundDoh = SOUND_MARIO_DOH,
.soundGameOver = SOUND_MARIO_GAME_OVER,
.soundHello = SOUND_MARIO_HELLO,
.soundPressStartToPlay = SOUND_MARIO_PRESS_START_TO_PLAY,
.soundTwirlBounce = SOUND_MARIO_TWIRL_BOUNCE,
.soundSnoring3 = SOUND_MARIO_SNORING3,
.soundSoLongaBowser = SOUND_MARIO_SO_LONGA_BOWSER,
.soundImaTired = SOUND_MARIO_IMA_TIRED,
},
};
enum AnimType {

View file

@ -8,6 +8,7 @@ enum CharacterType {
CT_LUIGI,
CT_TOAD,
CT_WALUIGI,
CT_WARIO,
// must be last
CT_MAX
@ -27,6 +28,7 @@ struct Character {
u8 capEnemyLayer;
Gfx* capEnemyGfx;
Gfx* capEnemyDecalGfx;
f32 torsoRotMult;
// anim
u8 animOffsetEnabled;
f32 animOffsetLowYPoint;

View file

@ -22,6 +22,7 @@ enum CameraHUDLut {
GLYPH_CAM_LUIGI_HEAD,
GLYPH_CAM_TOAD_HEAD,
GLYPH_CAM_WALUIGI_HEAD,
GLYPH_CAM_WARIO_HEAD,
};
// Functions

View file

@ -481,6 +481,10 @@ Gfx* geo_mario_tilt_torso(s32 callContext, struct GraphNode* node, Mat4* mtx) {
struct MarioBodyState* bodyState = &gBodyStates[plrIdx];
s32 action = bodyState->action;
u8 charIndex = gNetworkPlayers[plrIdx].modelIndex;
if (charIndex >= CT_MAX) { charIndex = 0; }
struct Character* character = &gCharacters[charIndex];
if (callContext == GEO_CONTEXT_RENDER) {
struct GraphNodeRotation* rotNode = (struct GraphNodeRotation*) node->next;
@ -488,9 +492,9 @@ Gfx* geo_mario_tilt_torso(s32 callContext, struct GraphNode* node, Mat4* mtx) {
&& action != ACT_RIDING_SHELL_GROUND) {
vec3s_copy(bodyState->torsoAngle, gVec3sZero);
}
rotNode->rotation[0] = bodyState->torsoAngle[1];
rotNode->rotation[1] = bodyState->torsoAngle[2];
rotNode->rotation[2] = bodyState->torsoAngle[0];
rotNode->rotation[0] = bodyState->torsoAngle[1] * character->torsoRotMult;
rotNode->rotation[1] = bodyState->torsoAngle[2] * character->torsoRotMult;
rotNode->rotation[2] = bodyState->torsoAngle[0] * character->torsoRotMult;
if (plrIdx != 0) {
// only interpolate angles for the local player
vec3s_copy(rotNode->prevRotation, rotNode->rotation);

View file

@ -14,7 +14,7 @@
#ifdef DEBUG
#include "pc/lua/smlua.h"
static u8 warpToLevel = LEVEL_WDW;
static u8 warpToLevel = LEVEL_BOB;
static u8 warpToArea = 27;
// warpToArea: 26 = basement
// warpToArea: 27 = upstairs

Binary file not shown.

After

Width:  |  Height:  |  Size: 812 B