mirror of
https://github.com/Xeeynamo/sotn-decomp.git
synced 2024-11-23 13:09:44 +00:00
parent
eff7109db4
commit
1117ef0af1
@ -71,7 +71,7 @@ SetStep = 0x80194DF8;
|
||||
InitializeEntity = 0x80194EC8;
|
||||
CheckFieldCollision = 0x80195114;
|
||||
GetPlayerCollisionWith = 0x8019526C;
|
||||
func_8018CAB0 = 0x80195668;
|
||||
PrizeDropFall = 0x80195668;
|
||||
func_8018CB34 = 0x801956EC;
|
||||
CollectHeart = 0x80195848;
|
||||
CollectGold = 0x801958C8;
|
||||
|
@ -22,7 +22,7 @@ UpdateStageEntities = 0x0923ac50;
|
||||
EntitySoulStealOrb = 0x0923b780;
|
||||
EntityEnemyBlood = 0x0923bce0;
|
||||
BlitChar = 0x0923c3d0;
|
||||
func_8018CAB0 = 0x0923c988;
|
||||
PrizeDropFall = 0x0923c988;
|
||||
func_8018CB34 = 0x0923ca60;
|
||||
CollectHeart = 0x0923cbe0;
|
||||
CollectGold = 0x0923cc80;
|
||||
|
@ -51,7 +51,7 @@ UnkCollisionFunc = 0x801973E4;
|
||||
CheckFieldCollision = 0x8019750C;
|
||||
GetPlayerCollisionWith = 0x80197664;
|
||||
ReplaceBreakableWithItemDrop = 0x801979A8;
|
||||
func_8018CAB0 = 0x80197A60;
|
||||
PrizeDropFall = 0x80197A60;
|
||||
func_8018CB34 = 0x80197AE4;
|
||||
CollectHeart = 0x80197C40;
|
||||
CollectGold = 0x80197CC0;
|
||||
|
@ -110,7 +110,7 @@ UnkCollisionFunc = 0x801C8634;
|
||||
CheckFieldCollision = 0x801C875C;
|
||||
GetPlayerCollisionWith = 0x801C88B4;
|
||||
ReplaceBreakableWithItemDrop = 0x801C8BF8;
|
||||
func_8018CAB0 = 0x801C8CB0;
|
||||
PrizeDropFall = 0x801C8CB0;
|
||||
func_8018CB34 = 0x801C8D34;
|
||||
CollectHeart = 0x801C8E90;
|
||||
CollectGold = 0x801C8F10;
|
||||
|
@ -1,6 +1,7 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
#include "common.h"
|
||||
#include "stage.h"
|
||||
|
||||
INCLUDE_ASM("boss/rbo3/nonmatchings/us", func_801A7D64);
|
||||
|
||||
@ -138,7 +139,7 @@ INCLUDE_ASM("boss/rbo3/nonmatchings/us", GetPlayerCollisionWith);
|
||||
|
||||
INCLUDE_ASM("boss/rbo3/nonmatchings/us", ReplaceBreakableWithItemDrop);
|
||||
|
||||
INCLUDE_ASM("boss/rbo3/nonmatchings/us", func_8018CAB0);
|
||||
#include "../../st/prize_drop_fall.h"
|
||||
|
||||
INCLUDE_ASM("boss/rbo3/nonmatchings/us", func_8018CB34);
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
// e_collect
|
||||
|
||||
INCLUDE_ASM("st/cen/nonmatchings/e_collect", func_8018CAB0);
|
||||
#include "../prize_drop_fall.h"
|
||||
|
||||
INCLUDE_ASM("st/cen/nonmatchings/e_collect", func_8018CB34);
|
||||
|
||||
|
@ -142,23 +142,7 @@ static u8* g_ExplosionAnimations[] = {
|
||||
// from another file
|
||||
extern u16 g_InitializeData0[];
|
||||
|
||||
static void func_8018CAB0(void) {
|
||||
if (g_CurrentEntity->velocityY >= 0) {
|
||||
g_CurrentEntity->ext.equipItemDrop.fallSpeed +=
|
||||
g_CurrentEntity->ext.equipItemDrop.gravity;
|
||||
g_CurrentEntity->velocityX =
|
||||
g_CurrentEntity->ext.equipItemDrop.fallSpeed;
|
||||
if (g_CurrentEntity->velocityX == FIX(1) ||
|
||||
g_CurrentEntity->velocityX == FIX(-1)) {
|
||||
g_CurrentEntity->ext.equipItemDrop.gravity =
|
||||
-g_CurrentEntity->ext.equipItemDrop.gravity;
|
||||
}
|
||||
}
|
||||
|
||||
if (g_CurrentEntity->velocityY < FIX(0.25)) {
|
||||
g_CurrentEntity->velocityY += FIX(0.125);
|
||||
}
|
||||
}
|
||||
#include "prize_drop_fall.h"
|
||||
|
||||
static void func_8018CB34(u16 arg0) {
|
||||
Collider collider;
|
||||
@ -192,7 +176,7 @@ static void func_8018CB34(u16 arg0) {
|
||||
} else {
|
||||
if (!(collider.effects & EFFECT_NOTHROUGH)) {
|
||||
MoveEntity();
|
||||
func_8018CAB0();
|
||||
PrizeDropFall();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -414,7 +398,7 @@ void EntityPrizeDrop(Entity* self) {
|
||||
self->ext.equipItemDrop.aliveTimer = 0x60;
|
||||
self->step++;
|
||||
} else {
|
||||
func_8018CAB0();
|
||||
PrizeDropFall();
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
|
@ -1,7 +1,8 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
#include "common.h"
|
||||
#include "stage.h"
|
||||
|
||||
INCLUDE_ASM("st/no0/nonmatchings/e_collect", func_8018CAB0);
|
||||
#include "../prize_drop_fall.h"
|
||||
|
||||
INCLUDE_ASM("st/no0/nonmatchings/e_collect", func_8018CB34);
|
||||
|
||||
|
18
src/st/prize_drop_fall.h
Normal file
18
src/st/prize_drop_fall.h
Normal file
@ -0,0 +1,18 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
static void PrizeDropFall(void) {
|
||||
if (g_CurrentEntity->velocityY >= 0) {
|
||||
g_CurrentEntity->ext.equipItemDrop.fallSpeed +=
|
||||
g_CurrentEntity->ext.equipItemDrop.gravity;
|
||||
g_CurrentEntity->velocityX =
|
||||
g_CurrentEntity->ext.equipItemDrop.fallSpeed;
|
||||
if (g_CurrentEntity->velocityX == FIX(1) ||
|
||||
g_CurrentEntity->velocityX == FIX(-1)) {
|
||||
g_CurrentEntity->ext.equipItemDrop.gravity =
|
||||
-g_CurrentEntity->ext.equipItemDrop.gravity;
|
||||
}
|
||||
}
|
||||
|
||||
if (g_CurrentEntity->velocityY < FIX(0.25)) {
|
||||
g_CurrentEntity->velocityY += FIX(0.125);
|
||||
}
|
||||
}
|
@ -6,7 +6,7 @@ void HitDetection(void);
|
||||
void CreateEntityWhenInHorizontalRange(LayoutEntity*);
|
||||
void func_8018A520(s16);
|
||||
void UpdateRoomPosition(void);
|
||||
void func_8018CAB0(void);
|
||||
void PrizeDropFall(void);
|
||||
void InitRoomEntities(s32 objLayoutId);
|
||||
void PlaySfxPositional(u16);
|
||||
void BottomCornerText(u8*, u8);
|
||||
|
@ -98,23 +98,7 @@ static s8 c_HeartPrizes[] = {1, 5};
|
||||
static s32 g_ExplosionYVelocities[] = {
|
||||
FIX(-1.0), FIX(-1.5), FIX(-1.5), FIX(-1.5), FIX(-3.0)};
|
||||
|
||||
static void func_8018CAB0(void) {
|
||||
if (g_CurrentEntity->velocityY >= 0) {
|
||||
g_CurrentEntity->ext.equipItemDrop.fallSpeed +=
|
||||
g_CurrentEntity->ext.equipItemDrop.gravity;
|
||||
g_CurrentEntity->velocityX =
|
||||
g_CurrentEntity->ext.equipItemDrop.fallSpeed;
|
||||
if (g_CurrentEntity->velocityX == FIX(1) ||
|
||||
g_CurrentEntity->velocityX == FIX(-1)) {
|
||||
g_CurrentEntity->ext.equipItemDrop.gravity =
|
||||
-g_CurrentEntity->ext.equipItemDrop.gravity;
|
||||
}
|
||||
}
|
||||
|
||||
if (g_CurrentEntity->velocityY < FIX(0.25)) {
|
||||
g_CurrentEntity->velocityY += FIX(0.125);
|
||||
}
|
||||
}
|
||||
#include "../prize_drop_fall.h"
|
||||
|
||||
static void func_8018CB34(u16 arg0) {
|
||||
Collider collider;
|
||||
@ -151,7 +135,7 @@ static void func_8018CB34(u16 arg0) {
|
||||
|
||||
if (!(collider.effects & EFFECT_NOTHROUGH)) {
|
||||
MoveEntity();
|
||||
func_8018CAB0();
|
||||
PrizeDropFall();
|
||||
}
|
||||
}
|
||||
|
||||
@ -350,7 +334,7 @@ void EntityPrizeDrop(Entity* self) {
|
||||
self->ext.equipItemDrop.aliveTimer = 0x60;
|
||||
self->step++;
|
||||
} else {
|
||||
func_8018CAB0();
|
||||
PrizeDropFall();
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
|
Loading…
Reference in New Issue
Block a user