Merge branch 'master' of https://github.com/Reonu/HackerSM64 into puppycamera2

This commit is contained in:
Reonu
2021-08-08 15:05:28 +01:00
39 changed files with 184 additions and 199 deletions

View File

@@ -5,39 +5,39 @@ const GeoLayout chilly_chief_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0, 0x7333),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 75, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 146, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, chilly_chief_seg6_dl_06002B30),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chilly_chief_seg6_dl_06002B30),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, -75, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, -75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 146, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, chilly_chief_seg6_dl_06002BC8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chilly_chief_seg6_dl_06002BC8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chilly_chief_seg6_dl_06002D88),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, chilly_chief_seg6_dl_06002C60),
GEO_ANIMATED_PART(4, 0, 0, 0, chilly_chief_seg6_dl_06003010),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chilly_chief_seg6_dl_06002C60),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, chilly_chief_seg6_dl_06003010),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
@@ -51,39 +51,39 @@ const GeoLayout chilly_chief_big_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0, 0xE666),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 75, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 146, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, chilly_chief_seg6_dl_06002B30),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chilly_chief_seg6_dl_06002B30),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, -75, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, -75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 146, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, chilly_chief_seg6_dl_06002BC8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chilly_chief_seg6_dl_06002BC8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chilly_chief_seg6_dl_06002EF0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, chilly_chief_seg6_dl_06002C60),
GEO_ANIMATED_PART(4, 0, 0, 0, chilly_chief_seg6_dl_06003010),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chilly_chief_seg6_dl_06002C60),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, chilly_chief_seg6_dl_06003010),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View File

@@ -13,7 +13,6 @@ UNUSED static const u64 binid_0 = 0;
#include "wiggler_body/model.inc.c"
#include "wiggler_body/anims/data.inc.c"
#include "wiggler_body/geo.inc.c"
#include "wiggler_body/anims/table.inc.c"
#include "wiggler_head/model.inc.c"

View File

@@ -8,6 +8,7 @@
#include "group11.h"
#include "bubba/geo.inc.c"
#include "wiggler_body/geo.inc.c"
#include "wiggler_head/geo.inc.c"
#include "lakitu_enemy/geo.inc.c"
#include "spiny_egg/geo.inc.c"

View File

@@ -10,7 +10,6 @@
#include "chillychief/model.inc.c"
#include "chillychief/anims/data.inc.c"
#include "chillychief/geo.inc.c"
#include "chillychief/anims/table.inc.c"
UNUSED static const u64 binid_0 = 0;

View File

@@ -7,4 +7,5 @@
#include "common1.h"
#include "group16.h"
#include "chillychief/geo.inc.c"
#include "moneybag/geo.inc.c"

View File

@@ -14,7 +14,6 @@ UNUSED static const u64 binid_0 = 0;
#include "manta/model.inc.c"
#include "manta/anims/data.inc.c"
#include "manta/geo.inc.c"
#include "manta/anims/table.inc.c"
UNUSED static const u64 binid_1 = 1;

View File

@@ -8,5 +8,6 @@
#include "group4.h"
#include "clam_shell/geo.inc.c"
#include "manta/geo.inc.c"
#include "sushi/geo.inc.c"
#include "unagi/geo.inc.c"

View File

@@ -2,56 +2,56 @@
const GeoLayout manta_seg5_geo_05008D14[] = {
GEO_SCALE(0, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05006750),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, manta_seg5_dl_05006750),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 440, 220, 6, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 440, 220, 6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05005358),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, manta_seg5_dl_05005358),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 220, 0, 0, manta_seg5_dl_050055A8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 220, 0, 0, manta_seg5_dl_050055A8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 180, 0, 0, manta_seg5_dl_05005768),
GEO_ANIMATED_PART(LAYER_OPAQUE, 180, 0, 0, manta_seg5_dl_05005768),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 440, -220, 6, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 440, -220, 6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05005C38),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, manta_seg5_dl_05005C38),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 220, 0, 0, manta_seg5_dl_05005E88),
GEO_ANIMATED_PART(LAYER_OPAQUE, 220, 0, 0, manta_seg5_dl_05005E88),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 180, 0, 0, manta_seg5_dl_05006048),
GEO_ANIMATED_PART(LAYER_OPAQUE, 180, 0, 0, manta_seg5_dl_05006048),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05006C08),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, manta_seg5_dl_05006C08),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 168, 0, 0, manta_seg5_dl_05006B70),
GEO_ANIMATED_PART(LAYER_OPAQUE, 168, 0, 0, manta_seg5_dl_05006B70),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 236, 0, 0, manta_seg5_dl_05006B08),
GEO_ANIMATED_PART(1, 236, 0, 0, manta_seg5_dl_05004E90),
GEO_ANIMATED_PART(LAYER_OPAQUE, 236, 0, 0, manta_seg5_dl_05006B08),
GEO_ANIMATED_PART(LAYER_OPAQUE, 236, 0, 0, manta_seg5_dl_05004E90),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 688, 120, -6, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 688, 120, -6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05005038),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, manta_seg5_dl_05005038),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 668, 170, 6, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 668, 170, 6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05004DB8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, manta_seg5_dl_05004DB8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 688, -120, -6, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 688, -120, -6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05005918),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, manta_seg5_dl_05005918),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 668, -170, 6, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 668, -170, 6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05004A70),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, manta_seg5_dl_05004A70),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View File

@@ -4,9 +4,9 @@ const GeoLayout wiggler_body_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
@@ -14,23 +14,23 @@ const GeoLayout wiggler_body_geo[] = {
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, -31, 0, 51, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, -31, 0, 51, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, wiggler_seg5_dl_0500BE98),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, wiggler_seg5_dl_0500BE98),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 39, 0, 0, wiggler_seg5_dl_0500BE10),
GEO_ANIMATED_PART(LAYER_OPAQUE, 39, 0, 0, wiggler_seg5_dl_0500BE10),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 41, 0, 0, wiggler_seg5_dl_0500BCB8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 41, 0, 0, wiggler_seg5_dl_0500BCB8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, -31, 0, -49, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, -31, 0, -49, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, wiggler_seg5_dl_0500C100),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, wiggler_seg5_dl_0500C100),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 39, 0, 0, wiggler_seg5_dl_0500C078),
GEO_ANIMATED_PART(LAYER_OPAQUE, 39, 0, 0, wiggler_seg5_dl_0500C078),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 41, 0, 0, wiggler_seg5_dl_0500BF20),
GEO_ANIMATED_PART(LAYER_OPAQUE, 41, 0, 0, wiggler_seg5_dl_0500BF20),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View File

@@ -3507,7 +3507,7 @@ UNUSED static const u64 behavior_data_unused_0 = 0;
const BehaviorScript bhvMario[] = {
BEGIN(OBJ_LIST_PLAYER),
SET_INT(oIntangibleTimer, 0),
OR_INT(oFlags, OBJ_FLAG_0100),
OR_INT(oFlags, OBJ_FLAG_PLAYER),
OR_INT(oUnk94, 0x0001),
SET_HITBOX(/*Radius*/ 37, /*Height*/ 160),
BEGIN_LOOP(),
@@ -3631,7 +3631,7 @@ const BehaviorScript bhvMenuButton[] = {
const BehaviorScript bhvMenuButtonManager[] = {
BEGIN(OBJ_LIST_LEVEL),
OR_INT(oFlags, (OBJ_FLAG_SET_THROW_MATRIX_FROM_TRANSFORM | OBJ_FLAG_0020 | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
OR_INT(oFlags, (OBJ_FLAG_SET_THROW_MATRIX_FROM_TRANSFORM | OBJ_FLAG_UPDATE_TRANSFORM_FOR_THROW_MATRIX | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
CALL_NATIVE(bhv_menu_button_manager_init),
BEGIN_LOOP(),
SET_INT(oIntangibleTimer, 0),
@@ -4828,7 +4828,7 @@ const BehaviorScript bhvHidden1upInPoleSpawner[] = {
const BehaviorScript bhvControllablePlatform[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, (OBJ_FLAG_SET_THROW_MATRIX_FROM_TRANSFORM | OBJ_FLAG_0020 | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
OR_INT(oFlags, (OBJ_FLAG_SET_THROW_MATRIX_FROM_TRANSFORM | OBJ_FLAG_UPDATE_TRANSFORM_FOR_THROW_MATRIX | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
LOAD_COLLISION_DATA(hmc_seg7_collision_controllable_platform),
SET_HOME(),
CALL_NATIVE(bhv_controllable_platform_init),

View File

@@ -28,23 +28,23 @@
#define RESPAWN_INFO_DONT_RESPAWN 0xFF
/* oFlags */
#define OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE (1 << 0) // 0x00000001
#define OBJ_FLAG_MOVE_XZ_USING_FVEL (1 << 1) // 0x00000002
#define OBJ_FLAG_MOVE_Y_WITH_TERMINAL_VEL (1 << 2) // 0x00000004
#define OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW (1 << 3) // 0x00000008
#define OBJ_FLAG_SET_FACE_ANGLE_TO_MOVE_ANGLE (1 << 4) // 0x00000010
#define OBJ_FLAG_0020 (1 << 5) // 0x00000020
#define OBJ_FLAG_COMPUTE_DIST_TO_MARIO (1 << 6) // 0x00000040
#define OBJ_FLAG_ACTIVE_FROM_AFAR (1 << 7) // 0x00000080
#define OBJ_FLAG_0100 (1 << 8) // 0x00000100
#define OBJ_FLAG_TRANSFORM_RELATIVE_TO_PARENT (1 << 9) // 0x00000200
#define OBJ_FLAG_HOLDABLE (1 << 10) // 0x00000400
#define OBJ_FLAG_SET_THROW_MATRIX_FROM_TRANSFORM (1 << 11) // 0x00000800
#define OBJ_FLAG_1000 (1 << 12) // 0x00001000
#define OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO (1 << 13) // 0x00002000
#define OBJ_FLAG_PERSISTENT_RESPAWN (1 << 14) // 0x00004000
#define OBJ_FLAG_8000 (1 << 15) // 0x00008000
#define OBJ_FLAG_30 (1 << 30) // 0x40000000
#define OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE (1 << 0) // 0x00000001
#define OBJ_FLAG_MOVE_XZ_USING_FVEL (1 << 1) // 0x00000002
#define OBJ_FLAG_MOVE_Y_WITH_TERMINAL_VEL (1 << 2) // 0x00000004
#define OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW (1 << 3) // 0x00000008
#define OBJ_FLAG_SET_FACE_ANGLE_TO_MOVE_ANGLE (1 << 4) // 0x00000010
#define OBJ_FLAG_UPDATE_TRANSFORM_FOR_THROW_MATRIX (1 << 5) // 0x00000020
#define OBJ_FLAG_COMPUTE_DIST_TO_MARIO (1 << 6) // 0x00000040
#define OBJ_FLAG_ACTIVE_FROM_AFAR (1 << 7) // 0x00000080
#define OBJ_FLAG_PLAYER (1 << 8) // 0x00000100
#define OBJ_FLAG_TRANSFORM_RELATIVE_TO_PARENT (1 << 9) // 0x00000200
#define OBJ_FLAG_HOLDABLE (1 << 10) // 0x00000400
#define OBJ_FLAG_SET_THROW_MATRIX_FROM_TRANSFORM (1 << 11) // 0x00000800
#define OBJ_FLAG_1000 (1 << 12) // 0x00001000
#define OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO (1 << 13) // 0x00002000
#define OBJ_FLAG_PERSISTENT_RESPAWN (1 << 14) // 0x00004000
#define OBJ_FLAG_8000 (1 << 15) // 0x00008000
#define OBJ_FLAG_HITBOX_WAS_SET (1 << 30) // 0x40000000
/* oHeldState */
#define HELD_FREE 0

View File

@@ -17,9 +17,6 @@
// Whether the node type has a function pointer of type GraphNodeFunc
#define GRAPH_NODE_TYPE_FUNCTIONAL 0x100
// Type used for Bowser and an unused geo function in obj_behaviors.c
#define GRAPH_NODE_TYPE_400 0x400
// The discriminant for different types of geo nodes
#define GRAPH_NODE_TYPE_ROOT 0x001
#define GRAPH_NODE_TYPE_ORTHO_PROJECTION 0x002

View File

@@ -98,8 +98,7 @@ void bobomb_act_chase_mario(void) {
}
void bobomb_act_launched(void) {
s16 collisionFlags = 0;
collisionFlags = object_step();
s16 collisionFlags = object_step();
if ((collisionFlags & OBJ_COL_FLAG_GROUNDED) == OBJ_COL_FLAG_GROUNDED)
o->oAction = BOBOMB_ACT_EXPLODE; /* bit 0 */
}
@@ -203,7 +202,7 @@ void bobomb_thrown_loop(void) {
o->header.gfx.node.flags &= ~GRAPH_RENDER_INVISIBLE;
o->oHeldState = 0;
o->oFlags &= ~0x8; /* bit 3 */
o->oFlags &= ~OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW; /* bit 3 */
o->oForwardVel = 25.0;
o->oVelY = 20.0;
o->oAction = BOBOMB_ACT_LAUNCHED;

View File

@@ -11,10 +11,8 @@ void bhv_big_boulder_init(void) {
}
void boulder_act_1(void) {
s16 sp1E;
sp1E = object_step_without_floor_orient();
if ((sp1E & 0x09) == 0x01 && o->oVelY > 10.0f) {
s16 collisionFlags = object_step_without_floor_orient();
if ((collisionFlags & OBJ_COL_FLAGS_LANDED) == OBJ_COL_FLAG_GROUNDED && o->oVelY > 10.0f) {
cur_obj_play_sound_2(SOUND_GENERAL_GRINDEL_ROLL);
spawn_mist_particles();
}

View File

@@ -29,19 +29,19 @@ void small_breakable_box_spawn_dust(void) {
}
void small_breakable_box_act_move(void) {
s16 sp1E = object_step();
s16 collisionFlags = object_step();
obj_attack_collided_from_other_object(o);
if (sp1E == 1)
if (collisionFlags == OBJ_COL_FLAG_GROUNDED)
cur_obj_play_sound_2(SOUND_GENERAL_BOX_LANDING_2);
if (sp1E & 1) {
if (collisionFlags & OBJ_COL_FLAG_GROUNDED) {
if (o->oForwardVel > 20.0f) {
cur_obj_play_sound_2(SOUND_ENV_SLIDING);
small_breakable_box_spawn_dust();
}
}
if (sp1E & 2) {
if (collisionFlags & OBJ_COL_FLAG_HIT_WALL) {
spawn_mist_particles();
spawn_triangle_break_particles(20, MODEL_DIRT_ANIMATION, 0.7f, 3);
obj_spawn_yellow_coins(o, 3);
@@ -49,7 +49,7 @@ void small_breakable_box_act_move(void) {
o->activeFlags = ACTIVE_FLAG_DEACTIVATED;
}
obj_check_floor_death(sp1E, sObjFloor);
obj_check_floor_death(collisionFlags, sObjFloor);
}
void breakable_box_small_released_loop(void) {
@@ -106,7 +106,7 @@ void breakable_box_small_get_thrown(void) {
cur_obj_enable_rendering();
o->header.gfx.node.flags &= ~GRAPH_RENDER_INVISIBLE;
o->oHeldState = 0;
o->oFlags &= ~0x08;
o->oFlags &= ~OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW;
o->oForwardVel = 40.0f;
o->oVelY = 20.0f;
o->oBreakableBoxSmallReleased = 1;

View File

@@ -64,7 +64,7 @@ void bully_check_mario_collision(void) {
o->oInteractStatus &= ~INT_STATUS_INTERACTED;
o->oAction = BULLY_ACT_KNOCKBACK;
o->oFlags &= ~0x8; /* bit 3 */
o->oFlags &= ~OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW; /* bit 3 */
cur_obj_init_animation(3);
o->oBullyMarioCollisionAngle = o->oMoveAngleYaw;
}
@@ -98,7 +98,7 @@ void bully_act_knockback(void) {
if (o->oForwardVel < 10.0 && (s32) o->oVelY == 0) {
o->oForwardVel = 1.0;
o->oBullyKBTimerAndMinionKOCounter++;
o->oFlags |= 0x8; /* bit 3 */
o->oFlags |= OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW; /* bit 3 */
o->oMoveAngleYaw = o->oFaceAngleYaw;
obj_turn_toward_object(o, gMarioObject, 16, 1280);
} else
@@ -113,7 +113,7 @@ void bully_act_knockback(void) {
void bully_act_back_up(void) {
if (o->oTimer == 0) {
o->oFlags &= ~0x8; /* bit 3 */
o->oFlags &= ~OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW; /* bit 3 */
o->oMoveAngleYaw += 0x8000;
}
@@ -128,13 +128,13 @@ void bully_act_back_up(void) {
if (o->oTimer == 15) {
o->oMoveAngleYaw = o->oFaceAngleYaw;
o->oFlags |= 0x8; /* bit 3 */
o->oFlags |= OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW; /* bit 3 */
o->oAction = BULLY_ACT_PATROL;
}
}
void bully_backup_check(s16 collisionFlags) {
if (!(collisionFlags & 0x8) && o->oAction != BULLY_ACT_KNOCKBACK) /* bit 3 */
if (!(collisionFlags & OBJ_COL_FLAG_NO_Y_VEL) && o->oAction != BULLY_ACT_KNOCKBACK) /* bit 3 */
{
o->oPosX = o->oBullyPrevX;
o->oPosZ = o->oBullyPrevZ;
@@ -346,10 +346,10 @@ void bhv_big_bully_with_minions_loop(void) {
case BULLY_ACT_ACTIVATE_AND_FALL:
collisionFlags = object_step();
if ((collisionFlags & 0x9) == 0x9) /* bits 0 and 3 */
if ((collisionFlags & OBJ_COL_FLAGS_LANDED) == OBJ_COL_FLAGS_LANDED) /* bits 0 and 3 */
o->oAction = BULLY_ACT_PATROL;
if (collisionFlags == 1) {
if (collisionFlags == OBJ_COL_FLAG_GROUNDED) {
cur_obj_play_sound_2(SOUND_OBJ_THWOMP);
set_camera_shake_from_point(SHAKE_POS_SMALL, o->oPosX, o->oPosY, o->oPosZ);
spawn_mist_particles();

View File

@@ -118,11 +118,11 @@ void cap_scale_vertically(void) {
}
void wing_vanish_cap_act_0(void) {
s16 sp1E;
s16 collisionFlags;
o->oFaceAngleYaw += o->oForwardVel * 128.0f;
sp1E = object_step();
if (sp1E & 0x01) {
collisionFlags = object_step();
if (collisionFlags & OBJ_COL_FLAG_GROUNDED) {
cap_check_quicksand();
if (o->oVelY != 0.0f) {
o->oCapUnkF4 = 1;
@@ -161,11 +161,11 @@ void bhv_metal_cap_init(void) {
}
void metal_cap_act_0(void) {
s16 sp1E;
s16 collisionFlags;
o->oFaceAngleYaw += o->oForwardVel * 128.0f;
sp1E = object_step();
if (sp1E & 0x01)
collisionFlags = object_step();
if (collisionFlags & OBJ_COL_FLAG_GROUNDED)
cap_check_quicksand();
}
@@ -220,12 +220,12 @@ void normal_cap_set_save_flags(void) {
}
void normal_cap_act_0(void) {
s16 sp1E;
s16 collisionFlags;
o->oFaceAngleYaw += o->oForwardVel * 128.0f;
o->oFaceAnglePitch += o->oForwardVel * 80.0f;
sp1E = object_step();
if (sp1E & 0x01) {
collisionFlags = object_step();
if (collisionFlags & OBJ_COL_FLAG_GROUNDED) {
cap_check_quicksand();
if (o->oVelY != 0.0f) {

View File

@@ -6,7 +6,7 @@ struct DoorAction
s32 action;
};
static struct DoorAction sDoorActions[] = { { 0x40000, 3 }, { 0x80000, 4 }, { 0x10000, 1 }, { 0x20000, 2 }, { -1, 0 }, };
static struct DoorAction sDoorActions[] = { { INT_STATUS_WARP_DOOR_PULLED, 3 }, { INT_STATUS_WARP_DOOR_PUSHED, 4 }, { INT_STATUS_DOOR_PULLED, 1 }, { INT_STATUS_DOOR_PUSHED, 2 }, { -1, 0 }, };
static s32 sDoorOpenSounds[] = { SOUND_GENERAL_OPEN_WOOD_DOOR, SOUND_GENERAL_OPEN_IRON_DOOR };

View File

@@ -113,8 +113,8 @@ void exclamation_box_spawn_contents(struct Struct802C0DF0 *a0, u8 a1) {
sp1C->oForwardVel = 3.0f;
sp1C->oMoveAngleYaw = gMarioObject->oMoveAngleYaw;
o->oBehParams |= a0->unk2 << 24;
if (a0->model == 122)
o->oFlags |= 0x4000;
if (a0->model == MODEL_STAR)
o->oFlags |= OBJ_FLAG_PERSISTENT_RESPAWN;
break;
}
a0++;

View File

@@ -35,7 +35,7 @@ void bhv_fire_piranha_plant_init(void) {
obj_set_hitbox(o, &sFirePiranhaPlantHitbox);
if ((u16)(o->oBehParams >> 16) != 0) {
o->oFlags |= 0x00004000;
o->oFlags |= OBJ_FLAG_PERSISTENT_RESPAWN;
o->oHealth = 1;
if (o->oBehParams & 0x0000FF00) {

Some files were not shown because too many files have changed in this diff Show More