2019-08-25 00:46:40 -04:00
|
|
|
// lll_floating_wood_piece.c.inc
|
|
|
|
|
|
|
|
void bhv_lll_wood_piece_loop(void) {
|
|
|
|
if (o->oTimer == 0)
|
|
|
|
o->oPosY -= 100.0f;
|
2020-06-02 12:44:34 -04:00
|
|
|
o->oPosY += sins(o->oLllWoodPieceOscillationTimer) * 3.0f;
|
|
|
|
o->oLllWoodPieceOscillationTimer += 0x400;
|
2019-08-25 00:46:40 -04:00
|
|
|
if (o->parentObj->oAction == 2)
|
2020-03-01 22:42:52 -05:00
|
|
|
obj_mark_for_deletion(o);
|
2019-08-25 00:46:40 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
void bhv_lll_floating_wood_bridge_loop(void) {
|
|
|
|
struct Object *sp3C;
|
|
|
|
s32 i;
|
|
|
|
switch (o->oAction) {
|
|
|
|
case 0:
|
|
|
|
if (o->oDistanceToMario < 2500.0f) {
|
|
|
|
for (i = 1; i < 4; i++) {
|
|
|
|
sp3C = spawn_object_relative(0, (i - 2) * 300, 0, 0, o, MODEL_LLL_WOOD_BRIDGE,
|
|
|
|
bhvLllWoodPiece);
|
2020-06-02 12:44:34 -04:00
|
|
|
sp3C->oLllWoodPieceOscillationTimer = i * 4096;
|
2019-08-25 00:46:40 -04:00
|
|
|
}
|
|
|
|
o->oAction = 1;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case 1:
|
|
|
|
if (o->oDistanceToMario > 2600.0f)
|
|
|
|
o->oAction = 2;
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
o->oAction = 0;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|