mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-11-25 05:25:14 +00:00
adding option to disable draw distance
This commit is contained in:
parent
0ec63e46ac
commit
c98a263cf4
15 changed files with 74 additions and 1 deletions
8
Makefile
8
Makefile
|
@ -27,6 +27,8 @@ COMPILER ?= ido
|
||||||
|
|
||||||
# Disable better camera by default
|
# Disable better camera by default
|
||||||
BETTERCAMERA ?= 0
|
BETTERCAMERA ?= 0
|
||||||
|
# Disable no drawing distance by default
|
||||||
|
NODRAWINGDISTANCE ?= 0
|
||||||
|
|
||||||
# Build for Emscripten/WebGL
|
# Build for Emscripten/WebGL
|
||||||
TARGET_WEB ?= 0
|
TARGET_WEB ?= 0
|
||||||
|
@ -449,6 +451,12 @@ CC_CHECK += -DBETTERCAMERA
|
||||||
CFLAGS += -DBETTERCAMERA
|
CFLAGS += -DBETTERCAMERA
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Check for no drawing distance option
|
||||||
|
ifeq ($(NODRAWINGDISTANCE),1)
|
||||||
|
CC_CHECK += -DNODRAWINGDISTANCE
|
||||||
|
CFLAGS += -DNODRAWINGDISTANCE
|
||||||
|
endif
|
||||||
|
|
||||||
ASFLAGS := -I include -I $(BUILD_DIR) $(VERSION_ASFLAGS)
|
ASFLAGS := -I include -I $(BUILD_DIR) $(VERSION_ASFLAGS)
|
||||||
|
|
||||||
ifeq ($(TARGET_WEB),1)
|
ifeq ($(TARGET_WEB),1)
|
||||||
|
|
|
@ -987,11 +987,15 @@ void cur_obj_update(void) {
|
||||||
} else if ((objFlags & OBJ_FLAG_COMPUTE_DIST_TO_MARIO) && gCurrentObject->collisionData == NULL) {
|
} else if ((objFlags & OBJ_FLAG_COMPUTE_DIST_TO_MARIO) && gCurrentObject->collisionData == NULL) {
|
||||||
if (!(objFlags & OBJ_FLAG_ACTIVE_FROM_AFAR)) {
|
if (!(objFlags & OBJ_FLAG_ACTIVE_FROM_AFAR)) {
|
||||||
// If the object has a render distance, check if it should be shown.
|
// If the object has a render distance, check if it should be shown.
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
if (distanceFromMario > gCurrentObject->oDrawingDistance) {
|
if (distanceFromMario > gCurrentObject->oDrawingDistance) {
|
||||||
// Out of render distance, hide the object.
|
// Out of render distance, hide the object.
|
||||||
gCurrentObject->header.gfx.node.flags &= ~GRAPH_RENDER_ACTIVE;
|
gCurrentObject->header.gfx.node.flags &= ~GRAPH_RENDER_ACTIVE;
|
||||||
gCurrentObject->activeFlags |= ACTIVE_FLAG_FAR_AWAY;
|
gCurrentObject->activeFlags |= ACTIVE_FLAG_FAR_AWAY;
|
||||||
} else if (gCurrentObject->oHeldState == HELD_FREE) {
|
} else if (gCurrentObject->oHeldState == HELD_FREE) {
|
||||||
|
#else
|
||||||
|
if (distanceFromMario <= gCurrentObject->oDrawingDistance && gCurrentObject->oHeldState == HELD_FREE) {
|
||||||
|
#endif
|
||||||
// In render distance (and not being held), show the object.
|
// In render distance (and not being held), show the object.
|
||||||
gCurrentObject->header.gfx.node.flags |= GRAPH_RENDER_ACTIVE;
|
gCurrentObject->header.gfx.node.flags |= GRAPH_RENDER_ACTIVE;
|
||||||
gCurrentObject->activeFlags &= ~ACTIVE_FLAG_FAR_AWAY;
|
gCurrentObject->activeFlags &= ~ACTIVE_FLAG_FAR_AWAY;
|
||||||
|
|
|
@ -789,9 +789,13 @@ void load_object_collision_model(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
if (marioDist < gCurrentObject->oDrawingDistance) {
|
if (marioDist < gCurrentObject->oDrawingDistance) {
|
||||||
|
#endif
|
||||||
gCurrentObject->header.gfx.node.flags |= GRAPH_RENDER_ACTIVE;
|
gCurrentObject->header.gfx.node.flags |= GRAPH_RENDER_ACTIVE;
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
} else {
|
} else {
|
||||||
gCurrentObject->header.gfx.node.flags &= ~GRAPH_RENDER_ACTIVE;
|
gCurrentObject->header.gfx.node.flags &= ~GRAPH_RENDER_ACTIVE;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,6 +107,7 @@ void bhv_butterfly_loop(void) {
|
||||||
butterfly_act_return_home();
|
butterfly_act_return_home();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
set_object_visibility(o, 3000);
|
set_object_visibility(o, 3000);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,9 @@ static void chain_chomp_act_uninitialized(void) {
|
||||||
struct ChainSegment *segments;
|
struct ChainSegment *segments;
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
if (o->oDistanceToMario < 3000.0f) {
|
if (o->oDistanceToMario < 3000.0f) {
|
||||||
|
#endif
|
||||||
segments = mem_pool_alloc(gObjectMemoryPool, 5 * sizeof(struct ChainSegment));
|
segments = mem_pool_alloc(gObjectMemoryPool, 5 * sizeof(struct ChainSegment));
|
||||||
if (segments != NULL) {
|
if (segments != NULL) {
|
||||||
// Each segment represents the offset of a chain part to the pivot.
|
// Each segment represents the offset of a chain part to the pivot.
|
||||||
|
@ -81,7 +83,9 @@ static void chain_chomp_act_uninitialized(void) {
|
||||||
cur_obj_unhide();
|
cur_obj_unhide();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -359,10 +363,12 @@ static void chain_chomp_act_move(void) {
|
||||||
f32 maxDistToPivot;
|
f32 maxDistToPivot;
|
||||||
|
|
||||||
// Unload chain if mario is far enough
|
// Unload chain if mario is far enough
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
if (o->oChainChompReleaseStatus == CHAIN_CHOMP_NOT_RELEASED && o->oDistanceToMario > 4000.0f) {
|
if (o->oChainChompReleaseStatus == CHAIN_CHOMP_NOT_RELEASED && o->oDistanceToMario > 4000.0f) {
|
||||||
o->oAction = CHAIN_CHOMP_ACT_UNLOAD_CHAIN;
|
o->oAction = CHAIN_CHOMP_ACT_UNLOAD_CHAIN;
|
||||||
o->oForwardVel = o->oVelY = 0.0f;
|
o->oForwardVel = o->oVelY = 0.0f;
|
||||||
} else {
|
} else {
|
||||||
|
#endif
|
||||||
cur_obj_update_floor_and_walls();
|
cur_obj_update_floor_and_walls();
|
||||||
|
|
||||||
switch (o->oChainChompReleaseStatus) {
|
switch (o->oChainChompReleaseStatus) {
|
||||||
|
@ -446,7 +452,9 @@ static void chain_chomp_act_move(void) {
|
||||||
o->oGravity = -4.0f;
|
o->oGravity = -4.0f;
|
||||||
o->oChainChompTargetPitch = -0x3000;
|
o->oChainChompTargetPitch = -0x3000;
|
||||||
}
|
}
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -184,17 +184,23 @@ void bhv_coin_formation_loop(void) {
|
||||||
s32 bitIndex;
|
s32 bitIndex;
|
||||||
switch (o->oAction) {
|
switch (o->oAction) {
|
||||||
case 0:
|
case 0:
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
if (o->oDistanceToMario < 2000.0f) {
|
if (o->oDistanceToMario < 2000.0f) {
|
||||||
|
#endif
|
||||||
for (bitIndex = 0; bitIndex < 8; bitIndex++) {
|
for (bitIndex = 0; bitIndex < 8; bitIndex++) {
|
||||||
if (!(o->oCoinUnkF4 & (1 << bitIndex)))
|
if (!(o->oCoinUnkF4 & (1 << bitIndex)))
|
||||||
spawn_coin_in_formation(bitIndex, o->oBehParams2ndByte);
|
spawn_coin_in_formation(bitIndex, o->oBehParams2ndByte);
|
||||||
}
|
}
|
||||||
o->oAction++;
|
o->oAction++;
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
if (o->oDistanceToMario > 2100.0f)
|
if (o->oDistanceToMario > 2100.0f)
|
||||||
o->oAction++;
|
o->oAction++;
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
o->oAction = 0;
|
o->oAction = 0;
|
||||||
|
|
|
@ -42,7 +42,9 @@ void fish_act_spawn(void) {
|
||||||
* If the current level is Secret Aquarium, ignore this requirement.
|
* If the current level is Secret Aquarium, ignore this requirement.
|
||||||
* Fish moves at random with a max-range of 700.0f.
|
* Fish moves at random with a max-range of 700.0f.
|
||||||
*/
|
*/
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
if (o->oDistanceToMario < minDistToMario || gCurrLevelNum == LEVEL_SA) {
|
if (o->oDistanceToMario < minDistToMario || gCurrLevelNum == LEVEL_SA) {
|
||||||
|
#endif
|
||||||
for (i = 0; i < schoolQuantity; i++) {
|
for (i = 0; i < schoolQuantity; i++) {
|
||||||
fishObject = spawn_object(o, model, bhvFish);
|
fishObject = spawn_object(o, model, bhvFish);
|
||||||
fishObject->oBehParams2ndByte = o->oBehParams2ndByte;
|
fishObject->oBehParams2ndByte = o->oBehParams2ndByte;
|
||||||
|
@ -50,7 +52,9 @@ void fish_act_spawn(void) {
|
||||||
obj_translate_xyz_random(fishObject, 700.0f);
|
obj_translate_xyz_random(fishObject, 700.0f);
|
||||||
}
|
}
|
||||||
o->oAction = FISH_ACT_ACTIVE;
|
o->oAction = FISH_ACT_ACTIVE;
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -78,7 +78,9 @@ void bhv_goomba_triplet_spawner_update(void) {
|
||||||
// If mario is close enough and the goombas aren't currently loaded, then
|
// If mario is close enough and the goombas aren't currently loaded, then
|
||||||
// spawn them
|
// spawn them
|
||||||
if (o->oAction == GOOMBA_TRIPLET_SPAWNER_ACT_UNLOADED) {
|
if (o->oAction == GOOMBA_TRIPLET_SPAWNER_ACT_UNLOADED) {
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
if (o->oDistanceToMario < 3000.0f) {
|
if (o->oDistanceToMario < 3000.0f) {
|
||||||
|
#endif
|
||||||
// The spawner is capable of spawning more than 3 goombas, but this
|
// The spawner is capable of spawning more than 3 goombas, but this
|
||||||
// is not used in the game
|
// is not used in the game
|
||||||
dAngle =
|
dAngle =
|
||||||
|
@ -98,11 +100,13 @@ void bhv_goomba_triplet_spawner_update(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
o->oAction += 1;
|
o->oAction += 1;
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
}
|
}
|
||||||
} else if (o->oDistanceToMario > 4000.0f) {
|
} else if (o->oDistanceToMario > 4000.0f) {
|
||||||
// If mario is too far away, enter the unloaded action. The goombas
|
// If mario is too far away, enter the unloaded action. The goombas
|
||||||
// will detect this and unload themselves
|
// will detect this and unload themselves
|
||||||
o->oAction = GOOMBA_TRIPLET_SPAWNER_ACT_UNLOADED;
|
o->oAction = GOOMBA_TRIPLET_SPAWNER_ACT_UNLOADED;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -73,14 +73,18 @@ void heave_ho_act_3(void) {
|
||||||
|
|
||||||
void heave_ho_act_0(void) {
|
void heave_ho_act_0(void) {
|
||||||
cur_obj_set_pos_to_home();
|
cur_obj_set_pos_to_home();
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
if (find_water_level(o->oPosX, o->oPosZ) < o->oPosY && o->oDistanceToMario < 4000.0f) {
|
if (find_water_level(o->oPosX, o->oPosZ) < o->oPosY && o->oDistanceToMario < 4000.0f) {
|
||||||
|
#endif
|
||||||
cur_obj_become_tangible();
|
cur_obj_become_tangible();
|
||||||
cur_obj_unhide();
|
cur_obj_unhide();
|
||||||
o->oAction = 1;
|
o->oAction = 1;
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
} else {
|
} else {
|
||||||
cur_obj_become_intangible();
|
cur_obj_become_intangible();
|
||||||
cur_obj_hide();
|
cur_obj_hide();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void (*sHeaveHoActions[])(void) = { heave_ho_act_0, heave_ho_act_1, heave_ho_act_2, heave_ho_act_3 };
|
void (*sHeaveHoActions[])(void) = { heave_ho_act_0, heave_ho_act_1, heave_ho_act_2, heave_ho_act_3 };
|
||||||
|
|
|
@ -295,10 +295,14 @@ void king_bobomb_move(void) {
|
||||||
cur_obj_move_using_fvel_and_gravity();
|
cur_obj_move_using_fvel_and_gravity();
|
||||||
cur_obj_call_action_function(sKingBobombActions);
|
cur_obj_call_action_function(sKingBobombActions);
|
||||||
exec_anim_sound_state(sKingBobombSoundStates);
|
exec_anim_sound_state(sKingBobombSoundStates);
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
if (o->oDistanceToMario < 5000.0f)
|
if (o->oDistanceToMario < 5000.0f)
|
||||||
|
#endif
|
||||||
cur_obj_enable_rendering();
|
cur_obj_enable_rendering();
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
else
|
else
|
||||||
cur_obj_disable_rendering();
|
cur_obj_disable_rendering();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void bhv_king_bobomb_loop(void) {
|
void bhv_king_bobomb_loop(void) {
|
||||||
|
|
|
@ -151,7 +151,9 @@ static void pokey_act_uninitialized(void) {
|
||||||
s32 i;
|
s32 i;
|
||||||
s16 partModel;
|
s16 partModel;
|
||||||
|
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
if (o->oDistanceToMario < 2000.0f) {
|
if (o->oDistanceToMario < 2000.0f) {
|
||||||
|
#endif
|
||||||
partModel = MODEL_POKEY_HEAD;
|
partModel = MODEL_POKEY_HEAD;
|
||||||
|
|
||||||
for (i = 0; i < 5; i++) {
|
for (i = 0; i < 5; i++) {
|
||||||
|
@ -170,7 +172,9 @@ static void pokey_act_uninitialized(void) {
|
||||||
o->oPokeyNumAliveBodyParts = 5;
|
o->oPokeyNumAliveBodyParts = 5;
|
||||||
o->oPokeyBottomBodyPartSize = 1.0f;
|
o->oPokeyBottomBodyPartSize = 1.0f;
|
||||||
o->oAction = POKEY_ACT_WANDER;
|
o->oAction = POKEY_ACT_WANDER;
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -185,9 +189,11 @@ static void pokey_act_wander(void) {
|
||||||
|
|
||||||
if (o->oPokeyNumAliveBodyParts == 0) {
|
if (o->oPokeyNumAliveBodyParts == 0) {
|
||||||
obj_mark_for_deletion(o);
|
obj_mark_for_deletion(o);
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
} else if (o->oDistanceToMario > 2500.0f) {
|
} else if (o->oDistanceToMario > 2500.0f) {
|
||||||
o->oAction = POKEY_ACT_UNLOAD_PARTS;
|
o->oAction = POKEY_ACT_UNLOAD_PARTS;
|
||||||
o->oForwardVel = 0.0f;
|
o->oForwardVel = 0.0f;
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
treat_far_home_as_mario(1000.0f);
|
treat_far_home_as_mario(1000.0f);
|
||||||
cur_obj_update_floor_and_walls();
|
cur_obj_update_floor_and_walls();
|
||||||
|
|
|
@ -180,7 +180,11 @@ void bhv_snufit_loop(void) {
|
||||||
void bhv_snufit_balls_loop(void) {
|
void bhv_snufit_balls_loop(void) {
|
||||||
// If far from Mario or in a different room, despawn.
|
// If far from Mario or in a different room, despawn.
|
||||||
if ((o->activeFlags & ACTIVE_FLAG_IN_DIFFERENT_ROOM)
|
if ((o->activeFlags & ACTIVE_FLAG_IN_DIFFERENT_ROOM)
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
|| (o->oTimer != 0 && o->oDistanceToMario > 1500.0f)) {
|
|| (o->oTimer != 0 && o->oDistanceToMario > 1500.0f)) {
|
||||||
|
#else
|
||||||
|
|| (o->oTimer != 0)) {
|
||||||
|
#endif
|
||||||
obj_mark_for_deletion(o);
|
obj_mark_for_deletion(o);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -54,9 +54,11 @@ static void triplet_butterfly_act_init(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void triplet_butterfly_act_wander(void) {
|
static void triplet_butterfly_act_wander(void) {
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
if (o->oDistanceToMario > 1500.0f) {
|
if (o->oDistanceToMario > 1500.0f) {
|
||||||
obj_mark_for_deletion(o);
|
obj_mark_for_deletion(o);
|
||||||
} else {
|
} else {
|
||||||
|
#endif
|
||||||
approach_f32_ptr(&o->oTripletButterflySpeed, 8.0f, 0.5f);
|
approach_f32_ptr(&o->oTripletButterflySpeed, 8.0f, 0.5f);
|
||||||
if (o->oTimer < 60) {
|
if (o->oTimer < 60) {
|
||||||
o->oTripletButterflyTargetYaw = cur_obj_angle_to_home();
|
o->oTripletButterflyTargetYaw = cur_obj_angle_to_home();
|
||||||
|
@ -82,7 +84,9 @@ static void triplet_butterfly_act_wander(void) {
|
||||||
|
|
||||||
obj_move_pitch_approach(o->oTripletButterflyTargetPitch, 400);
|
obj_move_pitch_approach(o->oTripletButterflyTargetPitch, 400);
|
||||||
cur_obj_rotate_yaw_toward(o->oTripletButterflyTargetYaw, random_linear_offset(400, 800));
|
cur_obj_rotate_yaw_toward(o->oTripletButterflyTargetYaw, random_linear_offset(400, 800));
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void triplet_butterfly_act_activate(void) {
|
static void triplet_butterfly_act_activate(void) {
|
||||||
|
|
|
@ -38,19 +38,27 @@ void bhv_bubble_cannon_barrel_loop(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void water_bomb_cannon_act_0(void) {
|
void water_bomb_cannon_act_0(void) {
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
if (o->oDistanceToMario < 2000.0f) {
|
if (o->oDistanceToMario < 2000.0f) {
|
||||||
|
#endif
|
||||||
spawn_object(o, MODEL_CANNON_BARREL, bhvCannonBarrelBubbles);
|
spawn_object(o, MODEL_CANNON_BARREL, bhvCannonBarrelBubbles);
|
||||||
cur_obj_unhide();
|
cur_obj_unhide();
|
||||||
|
|
||||||
o->oAction = 1;
|
o->oAction = 1;
|
||||||
o->oMoveAnglePitch = o->oWaterCannonUnkFC = 0x1C00;
|
o->oMoveAnglePitch = o->oWaterCannonUnkFC = 0x1C00;
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void water_bomb_cannon_act_1(void) {
|
void water_bomb_cannon_act_1(void) {
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
if (o->oDistanceToMario > 2500.0f) {
|
if (o->oDistanceToMario > 2500.0f) {
|
||||||
o->oAction = 2;
|
o->oAction = 2;
|
||||||
} else if (o->oBehParams2ndByte == 0) {
|
} else if (o->oBehParams2ndByte == 0) {
|
||||||
|
#else
|
||||||
|
if (o->oBehParams2ndByte == 0) {
|
||||||
|
#endif
|
||||||
if (o->oWaterCannonUnkF4 != 0) {
|
if (o->oWaterCannonUnkF4 != 0) {
|
||||||
o->oWaterCannonUnkF4 -= 1;
|
o->oWaterCannonUnkF4 -= 1;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -35,7 +35,9 @@ void whirpool_orient_graph(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void bhv_whirlpool_loop(void) {
|
void bhv_whirlpool_loop(void) {
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
if (o->oDistanceToMario < 5000.0f) {
|
if (o->oDistanceToMario < 5000.0f) {
|
||||||
|
#endif
|
||||||
o->header.gfx.node.flags &= ~GRAPH_RENDER_INVISIBLE;
|
o->header.gfx.node.flags &= ~GRAPH_RENDER_INVISIBLE;
|
||||||
|
|
||||||
// not sure if actually an array
|
// not sure if actually an array
|
||||||
|
@ -52,10 +54,12 @@ void bhv_whirlpool_loop(void) {
|
||||||
whirpool_orient_graph();
|
whirpool_orient_graph();
|
||||||
|
|
||||||
o->oFaceAngleYaw += 0x1F40;
|
o->oFaceAngleYaw += 0x1F40;
|
||||||
|
#ifndef NODRAWINGDISTANCE
|
||||||
} else {
|
} else {
|
||||||
o->header.gfx.node.flags |= GRAPH_RENDER_INVISIBLE;
|
o->header.gfx.node.flags |= GRAPH_RENDER_INVISIBLE;
|
||||||
gEnvFxBubbleConfig[ENVFX_STATE_PARTICLECOUNT] = 0;
|
gEnvFxBubbleConfig[ENVFX_STATE_PARTICLECOUNT] = 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
cur_obj_play_sound_1(SOUND_ENV_WATER);
|
cur_obj_play_sound_1(SOUND_ENV_WATER);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue