You've already forked HackerSM64
mirror of
https://github.com/HackerN64/HackerSM64.git
synced 2026-01-21 10:35:32 -08:00
Compare commits
116 Commits
develop/2.
...
develop/2.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
882c9d781e | ||
|
|
7353db562c | ||
|
|
82e0fdf391 | ||
|
|
88ac68be53 | ||
|
|
c4d0df7c1d | ||
|
|
95b21c5195 | ||
|
|
e6c6a8b691 | ||
|
|
1fe6bc0c57 | ||
|
|
0761d2fdec | ||
|
|
1fb29f9340 | ||
|
|
fa3fc8dac9 | ||
|
|
3731f9209f | ||
|
|
941207b50f | ||
|
|
bd83b07625 | ||
|
|
e02659d23d | ||
|
|
117ae7339b | ||
|
|
a4e297747a | ||
|
|
17e4f7b811 | ||
|
|
1e0e6803ad | ||
|
|
b518acfc7d | ||
|
|
dc0d6c698c | ||
|
|
41dc7217be | ||
|
|
33b70550e8 | ||
|
|
5f694b9333 | ||
|
|
199486a299 | ||
|
|
8a0547550d | ||
|
|
4744c9cd7f | ||
|
|
643e6a7a64 | ||
|
|
2c52e0699d | ||
|
|
9e30c865fc | ||
|
|
16fdf6299a | ||
|
|
d5b4190fe2 | ||
|
|
cc683d2415 | ||
|
|
bfdae60182 | ||
|
|
f0509d42f8 | ||
|
|
bb5ad7835a | ||
|
|
04210115ec | ||
|
|
be01f6c5d2 | ||
|
|
3a526ef10f | ||
|
|
23ea8b0130 | ||
|
|
be58ea7396 | ||
|
|
09ca176cb9 | ||
|
|
aaa2250c29 | ||
|
|
98a413af23 | ||
|
|
dbfb89d19c | ||
|
|
9aab0fd00c | ||
|
|
4fe3d3f606 | ||
|
|
33d7f63156 | ||
|
|
a5df7ffedf | ||
|
|
1ed0a72b94 | ||
|
|
9cee1eed3c | ||
|
|
c97839cd34 | ||
|
|
0b6417a467 | ||
|
|
04d832154c | ||
|
|
d19ec64310 | ||
|
|
ec318df0a6 | ||
|
|
1d2c50eda8 | ||
|
|
11d7f84db1 | ||
|
|
66828dab80 | ||
|
|
e27ba77533 | ||
|
|
2d23771587 | ||
|
|
f396d89b42 | ||
|
|
d63bb4d3fc | ||
|
|
508fe3958c | ||
|
|
a73531aa41 | ||
|
|
eed1293624 | ||
|
|
5d12ebffc1 | ||
|
|
16ebce4ccc | ||
|
|
578e70ed4c | ||
|
|
be3294399e | ||
|
|
3c17702b4d | ||
|
|
f98b8b8dc5 | ||
|
|
2988324b93 | ||
|
|
2436072bcd | ||
|
|
a1ec042d13 | ||
|
|
171d08dae2 | ||
|
|
e3243cb917 | ||
|
|
656c72ac91 | ||
|
|
590084fd6a | ||
|
|
d4c7a58e28 | ||
|
|
ab9f3279f4 | ||
|
|
c78624db2f | ||
|
|
69330d30ec | ||
|
|
e9dd49478f | ||
|
|
11fb0377fc | ||
|
|
d08afdef68 | ||
|
|
3ea3c1fb3c | ||
|
|
a6676efee3 | ||
|
|
2222429d9d | ||
|
|
d7b63e82ed | ||
|
|
8e6b62547f | ||
|
|
12e6c855b3 | ||
|
|
c7115d4a2c | ||
|
|
5ea50a7b69 | ||
|
|
fc093b9fdb | ||
|
|
4b651cc174 | ||
|
|
7fe7f6b083 | ||
|
|
d1b0bad2fd | ||
|
|
c330431603 | ||
|
|
df051e3ad3 | ||
|
|
5e992b540a | ||
|
|
168293d3bc | ||
|
|
f9cbf8f59c | ||
|
|
ee96ec7417 | ||
|
|
da9e796457 | ||
|
|
d7503663a0 | ||
|
|
e2c0fe02ab | ||
|
|
57d7529bce | ||
|
|
6e9df1f812 | ||
|
|
d118c79ce4 | ||
|
|
d755fb4931 | ||
|
|
786a569ed7 | ||
|
|
0ff4147366 | ||
|
|
b340408c4f | ||
|
|
76809f51f6 | ||
|
|
e176d806d7 |
@@ -21,7 +21,7 @@ This is a fork of the ultrasm64 repo by CrashOveride which includes the followin
|
||||
- **Fazana**: PuppyLib, ucode swapping, audio load time optimisations (with Arctic), general hacker qol improvements, visual debug
|
||||
- **Reonu**: Starting the project/repo, widescreen, reonucam, various defines for hacker QoL
|
||||
- **JoshDuMan**: Decomp guy, general assistance
|
||||
- **Arceveti**: Silhouette, shadow optimisation, better hanging, breath meter, 4 controller support
|
||||
- **Arceveti**: Silhouette, shadow optimizations, better hanging, breath meter, painting objects, 4 controller support, implementation of frameperfection's rounded corners fix, naming most unknowns, various hacker QOL improvements, and various optimizations/fixes
|
||||
- **axollyon**: Console testing, bugfixes, idea-guying, and had a hand in silhouettes
|
||||
- **Wiseguy**: World scale reimplementation, silhouette, graph node optimisations, instant input patch, cake screen fix, segmented code support, and various optimizations/fixes
|
||||
- **Kaze**: Graph node optimisations, automatic optimal collision distance
|
||||
|
||||
@@ -226,6 +226,9 @@ extern const Gfx mushroom_1up_seg3_dl_0302A660[];
|
||||
// number
|
||||
extern const GeoLayout number_geo[];
|
||||
|
||||
// painting
|
||||
extern const GeoLayout painting_geo[];
|
||||
|
||||
// pebble
|
||||
extern const Gfx pebble_seg3_dl_0301CB00[];
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "leaves/geo.inc.c"
|
||||
#include "mario_cap/geo.inc.c"
|
||||
#include "number/geo.inc.c"
|
||||
#include "painting/geo.inc.c"
|
||||
#include "mushroom_1up/geo.inc.c"
|
||||
#include "star/geo.inc.c"
|
||||
#include "dirt/geo.inc.c"
|
||||
|
||||
9
actors/painting/geo.inc.c
Normal file
9
actors/painting/geo.inc.c
Normal file
@@ -0,0 +1,9 @@
|
||||
#include "game/paintings.h"
|
||||
|
||||
const GeoLayout painting_geo[] = {
|
||||
GEO_CULLING_RADIUS(2000),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_ASM(0, geo_painting_draw),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_END(),
|
||||
};
|
||||
649
bin/segment2.c
649
bin/segment2.c
File diff suppressed because it is too large
Load Diff
539
bin/segment2/paintings.c.in
Normal file
539
bin/segment2/paintings.c.in
Normal file
File diff suppressed because it is too large
Load Diff
@@ -8,6 +8,7 @@
|
||||
#include "game/behavior_actions.h"
|
||||
#include "game/mario_actions_cutscene.h"
|
||||
#include "game/mario_misc.h"
|
||||
#include "game/paintings.h"
|
||||
#include "game/object_helpers.h"
|
||||
#include "game/debug.h"
|
||||
#include "menu/file_select.h"
|
||||
@@ -2227,16 +2228,6 @@ const BehaviorScript bhvWaterLevelPillar[] = {
|
||||
END_LOOP(),
|
||||
};
|
||||
|
||||
const BehaviorScript bhvDddWarp[] = {
|
||||
BEGIN(OBJ_LIST_SURFACE),
|
||||
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
|
||||
SET_FLOAT(oCollisionDistance, 30000),
|
||||
BEGIN_LOOP(),
|
||||
CALL_NATIVE(bhv_ddd_warp_loop),
|
||||
CALL_NATIVE(load_object_collision_model),
|
||||
END_LOOP(),
|
||||
};
|
||||
|
||||
const BehaviorScript bhvMoatGrills[] = {
|
||||
BEGIN(OBJ_LIST_SURFACE),
|
||||
#ifdef UNLOCK_ALL
|
||||
@@ -3494,6 +3485,15 @@ const BehaviorScript bhvUnlockDoorStar[] = {
|
||||
END_LOOP(),
|
||||
};
|
||||
|
||||
const BehaviorScript bhvPainting[] = {
|
||||
BEGIN(OBJ_LIST_LEVEL),
|
||||
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
|
||||
CALL_NATIVE(bhv_painting_init),
|
||||
BEGIN_LOOP(),
|
||||
CALL_NATIVE(bhv_painting_loop),
|
||||
END_LOOP(),
|
||||
};
|
||||
|
||||
const BehaviorScript bhvInstantActiveWarp[] = {
|
||||
BREAK(),
|
||||
};
|
||||
|
||||
@@ -173,7 +173,6 @@ extern const BehaviorScript bhvBowserKeyUnlockDoor[];
|
||||
extern const BehaviorScript bhvBowserKeyCourseExit[];
|
||||
extern const BehaviorScript bhvInvisibleObjectsUnderBridge[];
|
||||
extern const BehaviorScript bhvWaterLevelPillar[];
|
||||
extern const BehaviorScript bhvDddWarp[];
|
||||
extern const BehaviorScript bhvMoatGrills[];
|
||||
extern const BehaviorScript bhvClockMinuteHand[];
|
||||
extern const BehaviorScript bhvClockHourHand[];
|
||||
@@ -294,6 +293,7 @@ extern const BehaviorScript bhvYellowBall[];
|
||||
extern const BehaviorScript bhvMario[];
|
||||
extern const BehaviorScript bhvToadMessage[];
|
||||
extern const BehaviorScript bhvUnlockDoorStar[];
|
||||
extern const BehaviorScript bhvPainting[];
|
||||
extern const BehaviorScript bhvInstantActiveWarp[];
|
||||
extern const BehaviorScript bhvAirborneWarp[];
|
||||
extern const BehaviorScript bhvHardAirKnockBackWarp[];
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/**
|
||||
* Enables some mechanics that change behavior depending on hardcoded level numbers.
|
||||
* TODO: separate this into separate defines, behavior params, or make these mechanics otherwise dynamic.
|
||||
*/
|
||||
*/
|
||||
// #define ENABLE_VANILLA_LEVEL_SPECIFIC_CHECKS
|
||||
|
||||
/**
|
||||
|
||||
@@ -1837,6 +1837,7 @@ typedef union {
|
||||
/*
|
||||
* Macros to assemble the graphics display list
|
||||
*/
|
||||
#define SIZEOF_GFX_CMD(_cmd) sizeof((Gfx[]){gs##_cmd})
|
||||
|
||||
/*
|
||||
* DMA macros
|
||||
|
||||
@@ -46,7 +46,7 @@ enum LevelCommands {
|
||||
/*0x24*/ LEVEL_CMD_PLACE_OBJECT,
|
||||
/*0x25*/ LEVEL_CMD_INIT_MARIO,
|
||||
/*0x26*/ LEVEL_CMD_CREATE_WARP_NODE,
|
||||
/*0x27*/ LEVEL_CMD_CREATE_PAINTING_WARP_NODE,
|
||||
/*0x27*/ LEVEL_CMD_27,
|
||||
/*0x28*/ LEVEL_CMD_CREATE_INSTANT_WARP,
|
||||
/*0x29*/ LEVEL_CMD_LOAD_AREA,
|
||||
/*0x2A*/ LEVEL_CMD_UNLOAD_AREA,
|
||||
@@ -112,6 +112,8 @@ enum WarpCheckpointFlags {
|
||||
WARP_CHECKPOINT = (1 << 7), // 0x80
|
||||
};
|
||||
|
||||
#define WARP_DEST_LEVEL_NUM_MASK 0x7F
|
||||
|
||||
// Head defines
|
||||
enum GoddardScene {
|
||||
REGULAR_FACE = 0x2,
|
||||
@@ -363,8 +365,12 @@ enum GoddardScene {
|
||||
CMD_BBBB(LEVEL_CMD_CREATE_WARP_NODE, 0x08, id, destLevel), \
|
||||
CMD_BBBB(destArea, destNode, flags, 0x00)
|
||||
|
||||
// Backwards compatibility:
|
||||
#define PAINTING_WARP_NODE(id, destLevel, destArea, destNode, flags) \
|
||||
CMD_BBBB(LEVEL_CMD_CREATE_PAINTING_WARP_NODE, 0x08, id, destLevel), \
|
||||
WARP_NODE(id, destLevel, destArea, destNode, flags)
|
||||
|
||||
#define CMD27(id, destLevel, destArea, destNode, flags) \
|
||||
CMD_BBBB(LEVEL_CMD_27, 0x08, id, destLevel), \
|
||||
CMD_BBBB(destArea, destNode, flags, 0x00)
|
||||
|
||||
#define INSTANT_WARP(index, destArea, displaceX, displaceY, displaceZ) \
|
||||
|
||||
@@ -550,6 +550,8 @@
|
||||
#define MODEL_SILVER_COIN_NO_SHADOW 0xE3 // silver_coin_no_shadow_geo
|
||||
#endif
|
||||
|
||||
#define MODEL_PAINTING 0xE4
|
||||
|
||||
// Menu Models (overwrites Level Geometry IDs)
|
||||
#define MODEL_MAIN_MENU_MARIO_SAVE_BUTTON MODEL_LEVEL_GEOMETRY_03 // main_menu_geo_0001D0
|
||||
#define MODEL_MAIN_MENU_RED_ERASE_BUTTON MODEL_LEVEL_GEOMETRY_04 // main_menu_geo_000290
|
||||
|
||||
@@ -1861,6 +1861,7 @@ typedef union {
|
||||
/*
|
||||
* Macros to assemble the graphics display list
|
||||
*/
|
||||
#define SIZEOF_GFX_CMD(_cmd) sizeof((Gfx[]){gs##_cmd})
|
||||
|
||||
/*
|
||||
* DMA macros
|
||||
|
||||
@@ -2062,10 +2062,11 @@ enum oActionsSnowmansBottom {
|
||||
#define WATER_BOMB_ACT_EXPLODE 0x3
|
||||
|
||||
/* TTC Painting Clock Arm */
|
||||
/* oAction */
|
||||
#define CLOCK_ARM_ACT_CHECK_DEFAULT 0x0
|
||||
#define CLOCK_ARM_ACT_MOVING 0x1
|
||||
#define CLOCK_ARM_ACT_STOP 0x2
|
||||
enum oActionsTTCPaintingClockArm {
|
||||
TTC_PAINTING_CLOCK_ARM_WAIT,
|
||||
TTC_PAINTING_CLOCK_ARM_ACT_MOVING,
|
||||
TTC_PAINTING_CLOCK_ARM_ACT_STOPPED,
|
||||
};
|
||||
|
||||
/* TTC rotating solid */
|
||||
/* oBehParams2ndByte */
|
||||
|
||||
@@ -1255,6 +1255,15 @@
|
||||
#define /*0x0FC*/ oYoshiChosenHome OBJECT_FIELD_S32(0x1D)
|
||||
#define /*0x100*/ oYoshiTargetYaw OBJECT_FIELD_S32(0x1E)
|
||||
|
||||
/* Painting */
|
||||
#define /*0x0F4*/ oPaintingImage OBJECT_FIELD_CVPTR(0x1B)
|
||||
#define /*0x0F8*/ oPaintingRippleAnimation OBJECT_FIELD_CVPTR(0x1C)
|
||||
#define /*0x0FC*/ oPaintingCurrRippleMag OBJECT_FIELD_F32(0x1D)
|
||||
#define /*0x100*/ oPaintingRipplePosX OBJECT_FIELD_F32(0x1E)
|
||||
#define /*0x104*/ oPaintingRipplePosY OBJECT_FIELD_F32(0x1F)
|
||||
#define /*0x108*/ oPaintingRippleTimer OBJECT_FIELD_S32(0x20)
|
||||
#define /*0x10C*/ oPaintingStoredAction OBJECT_FIELD_S32(0x21)
|
||||
|
||||
|
||||
/*Custom general defines:
|
||||
|
||||
|
||||
@@ -231,20 +231,12 @@ enum SurfaceTypes {
|
||||
#define INSTANT_WARP_INDEX_START 0x00 // Equal and greater than Surface 0x1B
|
||||
#define INSTANT_WARP_INDEX_STOP 0x04 // Less than Surface 0x1F
|
||||
|
||||
#define SURFACE_IS_NEW_WATER(cmd) (((cmd) == SURFACE_NEW_WATER) || ((cmd) == SURFACE_NEW_WATER_BOTTOM))
|
||||
#define SURFACE_IS_QUICKSAND(cmd) ((((cmd) >= SURFACE_SHALLOW_QUICKSAND) && ((cmd) <= SURFACE_MOVING_QUICKSAND)) || ((cmd) == SURFACE_INSTANT_MOVING_QUICKSAND))
|
||||
#define SURFACE_IS_NOT_HARD(cmd) (((cmd) != SURFACE_HARD) && !((cmd) >= SURFACE_HARD_SLIPPERY && ((cmd) <= SURFACE_HARD_NOT_SLIPPERY)))
|
||||
#define SURFACE_IS_PAINTING_WOBBLE(cmd) (((cmd) >= SURFACE_PAINTING_WOBBLE_A6) && ((cmd) <= SURFACE_PAINTING_WOBBLE_D2))
|
||||
#define SURFACE_IS_PAINTING_WOBBLE_LEFT(cmd) ((((cmd) - SURFACE_PAINTING_WOBBLE_A6) % 3) == 0)
|
||||
#define SURFACE_IS_PAINTING_WOBBLE_MIDDLE(cmd) ((((cmd) - SURFACE_PAINTING_WOBBLE_A7) % 3) == 0)
|
||||
#define SURFACE_IS_PAINTING_WOBBLE_RIGHT(cmd) ((((cmd) - SURFACE_PAINTING_WOBBLE_A8) % 3) == 0)
|
||||
#define SURFACE_IS_PAINTING_WARP(cmd) (((cmd) >= SURFACE_PAINTING_WARP_D3) && ((cmd) < SURFACE_WOBBLING_WARP)) // skips SURFACE_WOBBLING_WARP
|
||||
#define SURFACE_IS_PAINTING_WARP_LEFT(cmd) ((((cmd) - SURFACE_PAINTING_WARP_D3 ) % 3) == 0)
|
||||
#define SURFACE_IS_PAINTING_WARP_MIDDLE(cmd) ((((cmd) - SURFACE_PAINTING_WARP_D4 ) % 3) == 0)
|
||||
#define SURFACE_IS_PAINTING_WARP_RIGHT(cmd) ((((cmd) - SURFACE_PAINTING_WARP_D5 ) % 3) == 0)
|
||||
#define SURFACE_IS_INSTANT_WARP(cmd) (((cmd) >= SURFACE_INSTANT_WARP_1B) && ((cmd) < SURFACE_INSTANT_WARP_1B + INSTANT_WARP_INDEX_STOP))
|
||||
#define SURFACE_IS_WARP(cmd) (((cmd) == SURFACE_LOOK_UP_WARP) || ((cmd) == SURFACE_WOBBLING_WARP) || SURFACE_IS_PAINTING_WARP(cmd) || SURFACE_IS_INSTANT_WARP(cmd))
|
||||
#define SURFACE_IS_UNSAFE(cmd) (((cmd) == SURFACE_BURNING) || SURFACE_IS_QUICKSAND(cmd) || SURFACE_IS_WARP(cmd))
|
||||
#define SURFACE_IS_NEW_WATER(cmd) (((cmd) == SURFACE_NEW_WATER) || ((cmd) == SURFACE_NEW_WATER_BOTTOM))
|
||||
#define SURFACE_IS_QUICKSAND(cmd) ((((cmd) >= SURFACE_SHALLOW_QUICKSAND) && ((cmd) <= SURFACE_MOVING_QUICKSAND)) || ((cmd) == SURFACE_INSTANT_MOVING_QUICKSAND))
|
||||
#define SURFACE_IS_NOT_HARD(cmd) (((cmd) != SURFACE_HARD) && !((cmd) >= SURFACE_HARD_SLIPPERY && ((cmd) <= SURFACE_HARD_NOT_SLIPPERY)))
|
||||
#define SURFACE_IS_INSTANT_WARP(cmd) (((cmd) >= SURFACE_INSTANT_WARP_1B) && ((cmd) <= (SURFACE_INSTANT_WARP_1B + INSTANT_WARP_INDEX_STOP)))
|
||||
#define SURFACE_IS_WARP(cmd) (((cmd) == SURFACE_LOOK_UP_WARP) || SURFACE_IS_INSTANT_WARP(cmd))
|
||||
#define SURFACE_IS_UNSAFE(cmd) (((cmd) == SURFACE_BURNING) || ((cmd) == SURFACE_DEATH_PLANE) || SURFACE_IS_QUICKSAND(cmd) || SURFACE_IS_WARP(cmd))
|
||||
|
||||
enum SurfaceClass {
|
||||
SURFACE_CLASS_DEFAULT,
|
||||
|
||||
@@ -24,6 +24,28 @@
|
||||
#define SCREEN_CENTER_X (SCREEN_WIDTH / 2)
|
||||
#define SCREEN_CENTER_Y (SCREEN_HEIGHT / 2)
|
||||
|
||||
typedef union {
|
||||
struct PACKED {
|
||||
/*0x00*/ u32 sign : 1;
|
||||
/*0x00*/ u32 exponent : 8;
|
||||
/*0x01*/ u32 mantissa : 23;
|
||||
}; /*0x04*/
|
||||
s32 asS32;
|
||||
u32 asU32;
|
||||
f32 asF32;
|
||||
} IEEE754_f32; /*0x04*/
|
||||
|
||||
typedef union {
|
||||
struct PACKED {
|
||||
/*0x00*/ u64 sign : 1;
|
||||
/*0x00*/ u64 exponent : 11;
|
||||
/*0x01*/ u64 mantissa : 52;
|
||||
}; /*0x08*/
|
||||
s64 asS64;
|
||||
u64 asU64;
|
||||
f64 asF64;
|
||||
} IEEE754_f64; /*0x08*/
|
||||
|
||||
struct Config {
|
||||
f32 audioFrequency;
|
||||
#ifdef WIDE
|
||||
@@ -444,6 +466,7 @@ struct MarioState {
|
||||
/*0xC0*/ f32 quicksandDepth;
|
||||
/*0xC4*/ f32 windGravity;
|
||||
// -- HackerSM64 MarioState fields begin --
|
||||
struct Object *paintingObj; // The painting Mario is currently entering.
|
||||
#ifdef BREATH_METER
|
||||
s16 breath;
|
||||
u8 breathCounter;
|
||||
|
||||
@@ -48,8 +48,6 @@ const GeoLayout castle_geo_000FD0[] = {
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07032FC0),
|
||||
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07033158),
|
||||
GEO_ASM( 0, geo_painting_update),
|
||||
GEO_ASM(PAINTING_ID(0, 1), geo_painting_draw),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_RETURN(),
|
||||
};
|
||||
@@ -61,8 +59,6 @@ const GeoLayout castle_geo_001000[] = {
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07034D88),
|
||||
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07035178),
|
||||
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07035288),
|
||||
GEO_ASM( 0, geo_painting_update),
|
||||
GEO_ASM(PAINTING_ID(2, 1), geo_painting_draw),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_RETURN(),
|
||||
};
|
||||
@@ -77,8 +73,6 @@ const GeoLayout castle_geo_001038[] = {
|
||||
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_07037DE8),
|
||||
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, dl_castle_aquarium_light),
|
||||
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07038350),
|
||||
GEO_ASM( 0, geo_painting_update),
|
||||
GEO_ASM(PAINTING_ID(3, 1), geo_painting_draw),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_RETURN(),
|
||||
};
|
||||
@@ -89,10 +83,8 @@ const GeoLayout castle_geo_001088[] = {
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_0703A6C8),
|
||||
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_0703A808),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_070234C0),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07023520),
|
||||
GEO_ASM( 0, geo_painting_update),
|
||||
GEO_ASM(PAINTING_ID(1, 1), geo_painting_draw),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_ccm_fake_painting_1),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_ccm_fake_painting_2),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_RETURN(),
|
||||
};
|
||||
@@ -172,8 +164,6 @@ const GeoLayout castle_geo_001200[] = {
|
||||
GEO_ASM( 0, geo_exec_inside_castle_light),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07032FC0),
|
||||
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07033158),
|
||||
GEO_ASM( 0, geo_painting_update),
|
||||
GEO_ASM(PAINTING_ID(0, 1), geo_painting_draw),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_RETURN(),
|
||||
};
|
||||
@@ -191,8 +181,6 @@ const GeoLayout castle_geo_001260[] = {
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07034D88),
|
||||
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07035178),
|
||||
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07035288),
|
||||
GEO_ASM( 0, geo_painting_update),
|
||||
GEO_ASM(PAINTING_ID(2, 1), geo_painting_draw),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_RETURN(),
|
||||
};
|
||||
@@ -213,8 +201,6 @@ const GeoLayout castle_geo_0012C8[] = {
|
||||
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_07037DE8),
|
||||
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, dl_castle_aquarium_light),
|
||||
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07038350),
|
||||
GEO_ASM( 0, geo_painting_update),
|
||||
GEO_ASM(PAINTING_ID(3, 1), geo_painting_draw),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_RETURN(),
|
||||
};
|
||||
@@ -231,10 +217,8 @@ const GeoLayout castle_geo_001348[] = {
|
||||
GEO_ASM( 0, geo_exec_inside_castle_light),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_0703A6C8),
|
||||
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_0703A808),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_070234C0),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07023520),
|
||||
GEO_ASM( 0, geo_painting_update),
|
||||
GEO_ASM(PAINTING_ID(1, 1), geo_painting_draw),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_ccm_fake_painting_1),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_ccm_fake_painting_2),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_RETURN(),
|
||||
};
|
||||
|
||||
@@ -14,9 +14,6 @@ const GeoLayout castle_geo_001578[] = {
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07043028),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07043B48),
|
||||
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07043CD8),
|
||||
GEO_ASM( 0, geo_painting_update),
|
||||
GEO_ASM(PAINTING_ID(8, 1), geo_painting_draw),
|
||||
GEO_ASM(PAINTING_ID(10, 1), geo_painting_draw),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_RETURN(),
|
||||
};
|
||||
@@ -28,8 +25,6 @@ const GeoLayout castle_geo_0015B8[] = {
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_0704A0E8),
|
||||
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_0704A2E0),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_0704AA98),
|
||||
GEO_ASM( 0, geo_painting_update),
|
||||
GEO_ASM(PAINTING_ID(12, 1), geo_painting_draw),
|
||||
GEO_ASM( 0, geo_render_mirror_mario),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_RETURN(),
|
||||
@@ -40,9 +35,6 @@ const GeoLayout castle_geo_0015F8[] = {
|
||||
GEO_NODE_START(),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_0704C7D8),
|
||||
GEO_ASM( 0, geo_painting_update),
|
||||
GEO_ASM(PAINTING_ID(9, 1), geo_painting_draw),
|
||||
GEO_ASM(PAINTING_ID(13, 1), geo_painting_draw),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_RETURN(),
|
||||
};
|
||||
@@ -55,8 +47,6 @@ const GeoLayout castle_geo_001628[] = {
|
||||
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07051678),
|
||||
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_070519C8),
|
||||
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_07051B60),
|
||||
GEO_ASM( 0, geo_painting_update),
|
||||
GEO_ASM(PAINTING_ID(11, 1), geo_painting_draw),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_RETURN(),
|
||||
};
|
||||
@@ -80,9 +70,6 @@ const GeoLayout castle_geo_001690[] = {
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07043028),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07043B48),
|
||||
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07043CD8),
|
||||
GEO_ASM( 0, geo_painting_update),
|
||||
GEO_ASM(PAINTING_ID(8, 1), geo_painting_draw),
|
||||
GEO_ASM(PAINTING_ID(10, 1), geo_painting_draw),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_RETURN(),
|
||||
};
|
||||
@@ -97,10 +84,6 @@ const GeoLayout castle_geo_0016D8[] = {
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_0704A0E8),
|
||||
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_0704A2E0),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_0704AA98),
|
||||
GEO_ASM( 0, geo_painting_update),
|
||||
GEO_ASM(PAINTING_ID(8, 1), geo_painting_draw),
|
||||
GEO_ASM(PAINTING_ID(10, 1), geo_painting_draw),
|
||||
GEO_ASM(PAINTING_ID(12, 1), geo_painting_draw),
|
||||
GEO_ASM( 0, geo_render_mirror_mario),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_RETURN(),
|
||||
@@ -114,11 +97,6 @@ const GeoLayout castle_geo_001740[] = {
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07043B48),
|
||||
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07043CD8),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_0704C7D8),
|
||||
GEO_ASM( 0, geo_painting_update),
|
||||
GEO_ASM(PAINTING_ID(8, 1), geo_painting_draw),
|
||||
GEO_ASM(PAINTING_ID(9, 1), geo_painting_draw),
|
||||
GEO_ASM(PAINTING_ID(10, 1), geo_painting_draw),
|
||||
GEO_ASM(PAINTING_ID(13, 1), geo_painting_draw),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_RETURN(),
|
||||
};
|
||||
@@ -134,10 +112,6 @@ const GeoLayout castle_geo_001798[] = {
|
||||
GEO_DISPLAY_LIST(LAYER_ALPHA, inside_castle_seg7_dl_07051678),
|
||||
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_070519C8),
|
||||
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, inside_castle_seg7_dl_07051B60),
|
||||
GEO_ASM( 0, geo_painting_update),
|
||||
GEO_ASM(PAINTING_ID(8, 1), geo_painting_draw),
|
||||
GEO_ASM(PAINTING_ID(10, 1), geo_painting_draw),
|
||||
GEO_ASM(PAINTING_ID(11, 1), geo_painting_draw),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_RETURN(),
|
||||
};
|
||||
@@ -153,8 +127,6 @@ const GeoLayout castle_geo_001800[] = {
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_070558D0),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_070572A0),
|
||||
GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07057F00),
|
||||
GEO_ASM( 0, geo_painting_update),
|
||||
GEO_ASM(PAINTING_ID(11, 1), geo_painting_draw),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_RETURN(),
|
||||
};
|
||||
|
||||
@@ -134,20 +134,20 @@ const Collision inside_castle_seg7_area_3_collision[] = {
|
||||
COL_VERTEX(358, -1074, 2202),
|
||||
COL_VERTEX(461, -1074, 2253),
|
||||
COL_VERTEX(410, -1074, 2253),
|
||||
COL_VERTEX(3866, -1074, 2406),
|
||||
COL_VERTEX(3866, -1074, 1587),
|
||||
COL_VERTEX(5530, -1074, 2406),
|
||||
COL_VERTEX(5530, -1074, 1587),
|
||||
COL_VERTEX(3456, -1074, 2406),
|
||||
COL_VERTEX(3456, -1074, 1587),
|
||||
COL_VERTEX(6605, -1074, 2406),
|
||||
COL_VERTEX(6605, -1074, 1587),
|
||||
COL_VERTEX(3456, -1074, 2406),
|
||||
COL_VERTEX(3456, -1074, 1587),
|
||||
COL_VERTEX(-3225, -1177, -1177),
|
||||
COL_VERTEX(-3225, -1177, -1074),
|
||||
COL_VERTEX(-3225, -1177, -665),
|
||||
COL_VERTEX(-3225, -1177, -1043),
|
||||
COL_VERTEX(5530, -255, 1587),
|
||||
COL_VERTEX(6605, -255, 1587),
|
||||
COL_VERTEX(3533, -255, 2406),
|
||||
COL_VERTEX(3533, -255, 1587),
|
||||
COL_VERTEX(5530, -255, 2406),
|
||||
COL_VERTEX(6605, -255, 2406),
|
||||
COL_VERTEX(3533, -1074, 2406),
|
||||
COL_VERTEX(3533, -1074, 1587),
|
||||
COL_VERTEX(3482, -1074, 1638),
|
||||
@@ -2523,91 +2523,3 @@ const Collision inside_castle_seg7_area_3_collision[] = {
|
||||
COL_WATER_BOX(2, 5786, -1330, 8038, 410, -1228),
|
||||
COL_END(),
|
||||
};
|
||||
|
||||
// 0x070775B4 - 0x0707768C
|
||||
const Collision inside_castle_seg7_collision_ddd_warp[] = {
|
||||
COL_INIT(),
|
||||
COL_VERTEX_INIT(0x12),
|
||||
COL_VERTEX(3866, -1074, 1587),
|
||||
COL_VERTEX(3487, -1074, 1864),
|
||||
COL_VERTEX(3866, -1074, 1864),
|
||||
COL_VERTEX(3487, -1074, 1587),
|
||||
COL_VERTEX(3487, -1074, 2135),
|
||||
COL_VERTEX(3866, -1074, 2135),
|
||||
COL_VERTEX(3487, -1074, 2406),
|
||||
COL_VERTEX(3866, -1074, 2406),
|
||||
COL_VERTEX(5939, -1074, 1587),
|
||||
COL_VERTEX(5530, -1074, 1587),
|
||||
COL_VERTEX(5530, -1074, 1864),
|
||||
COL_VERTEX(5939, -1074, 1864),
|
||||
COL_VERTEX(5530, -1074, 2135),
|
||||
COL_VERTEX(5939, -1074, 2135),
|
||||
COL_VERTEX(5530, -1074, 2406),
|
||||
COL_VERTEX(5939, -1074, 2406),
|
||||
COL_VERTEX(3456, -1074, 1587),
|
||||
COL_VERTEX(3456, -1074, 2406),
|
||||
COL_TRI_INIT(SURFACE_DEFAULT, 8),
|
||||
COL_TRI(3, 16, 17),
|
||||
COL_TRI(3, 17, 6),
|
||||
COL_TRI(8, 9, 10),
|
||||
COL_TRI(8, 10, 11),
|
||||
COL_TRI(11, 10, 12),
|
||||
COL_TRI(11, 12, 13),
|
||||
COL_TRI(13, 12, 14),
|
||||
COL_TRI(13, 14, 15),
|
||||
COL_TRI_INIT(SURFACE_PAINTING_WARP_E8, 2),
|
||||
COL_TRI(0, 1, 2),
|
||||
COL_TRI(0, 3, 1),
|
||||
COL_TRI_INIT(SURFACE_PAINTING_WARP_E9, 2),
|
||||
COL_TRI(2, 1, 4),
|
||||
COL_TRI(2, 4, 5),
|
||||
COL_TRI_INIT(SURFACE_PAINTING_WARP_EA, 2),
|
||||
COL_TRI(5, 6, 7),
|
||||
COL_TRI(5, 4, 6),
|
||||
COL_TRI_STOP(),
|
||||
COL_END(),
|
||||
};
|
||||
|
||||
// 0x0707768C - 0x07077764
|
||||
const Collision inside_castle_seg7_collision_ddd_warp_2[] = {
|
||||
COL_INIT(),
|
||||
COL_VERTEX_INIT(0x12),
|
||||
COL_VERTEX(5939, -1074, 1587),
|
||||
COL_VERTEX(5560, -1074, 1864),
|
||||
COL_VERTEX(5939, -1074, 1864),
|
||||
COL_VERTEX(5560, -1074, 1587),
|
||||
COL_VERTEX(5560, -1074, 2135),
|
||||
COL_VERTEX(5939, -1074, 2135),
|
||||
COL_VERTEX(5560, -1074, 2406),
|
||||
COL_VERTEX(5939, -1074, 2406),
|
||||
COL_VERTEX(5530, -1074, 1587),
|
||||
COL_VERTEX(5530, -1074, 2406),
|
||||
COL_VERTEX(3866, -1074, 1864),
|
||||
COL_VERTEX(3456, -1074, 2135),
|
||||
COL_VERTEX(3866, -1074, 2135),
|
||||
COL_VERTEX(3456, -1074, 2406),
|
||||
COL_VERTEX(3866, -1074, 2406),
|
||||
COL_VERTEX(3456, -1074, 1864),
|
||||
COL_VERTEX(3866, -1074, 1587),
|
||||
COL_VERTEX(3456, -1074, 1587),
|
||||
COL_TRI_INIT(SURFACE_DEFAULT, 8),
|
||||
COL_TRI(8, 9, 6),
|
||||
COL_TRI(8, 6, 3),
|
||||
COL_TRI(10, 11, 12),
|
||||
COL_TRI(12, 13, 14),
|
||||
COL_TRI(12, 11, 13),
|
||||
COL_TRI(10, 15, 11),
|
||||
COL_TRI(16, 15, 10),
|
||||
COL_TRI(16, 17, 15),
|
||||
COL_TRI_INIT(SURFACE_PAINTING_WARP_E8, 2),
|
||||
COL_TRI(0, 1, 2),
|
||||
COL_TRI(0, 3, 1),
|
||||
COL_TRI_INIT(SURFACE_PAINTING_WARP_E9, 2),
|
||||
COL_TRI(2, 4, 5),
|
||||
COL_TRI(2, 1, 4),
|
||||
COL_TRI_INIT(SURFACE_PAINTING_WARP_EA, 2),
|
||||
COL_TRI(5, 4, 6),
|
||||
COL_TRI(5, 6, 7),
|
||||
COL_TRI_STOP(),
|
||||
COL_END(),
|
||||
};
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user