summaryrefslogtreecommitdiff
path: root/src/bossMegaGoomba.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bossMegaGoomba.cpp')
-rw-r--r--src/bossMegaGoomba.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/bossMegaGoomba.cpp b/src/bossMegaGoomba.cpp
index a6758f4..0214f60 100644
--- a/src/bossMegaGoomba.cpp
+++ b/src/bossMegaGoomba.cpp
@@ -127,9 +127,6 @@ class daMegaGoomba_c : public dEn_c {
// DECLARE_STATE(Outro);
};
-u8 struct_1[] = { 0, 0, 0, 1, 0xff, 0xff, 0x40, 0, 0, 0, 0xc0, 0, 0, 0, 0, 0 };
-u8 struct_3[] = { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0x3f, 0x2a, 0x7e, 0xfa };
- // last 4 bytes not needed. float for scale
daMegaGoomba_c *daMegaGoomba_c::build() {
void *buffer = AllocFromGameHeap1(sizeof(daMegaGoomba_c));
@@ -316,7 +313,9 @@ void daMegaGoomba_c::setupCollision() {
//POINTLESS WITH GROWTH
this->scale.x = this->scale.y = this->scale.z = 0.666;
- this->collMgr.Init(this, struct_1, 0, struct_3);
+ static const lineSensor_s below(-12 << 12, 12 << 12, 0);
+ static const pointSensor_s adjacent(16 << 12, 16 << 12);
+ this->collMgr.init(this, &below, 0, &adjacent);
char foo = this->_391;
this->pos_delta2.x = 0.0;
@@ -696,13 +695,13 @@ void daMegaGoomba_c::executeState_Walk() {
int ret = SomeStrangeModification(this);
if(ret & 1)
this->speed.y = 0.0;
- u32 bitfield = this->collMgr.bitfield_for_checks;
+ u32 bitfield = this->collMgr.outputMaybe;
if(bitfield & (0x15<<this->direction)) {
this->pos.x = this->last_pos.x;
this->doStateChange(&StateID_Turn);
//this->acState.setField10ToOne();
}
- u32 bitfield2 = this->collMgr.directional_bitfields[this->direction];
+ u32 bitfield2 = this->collMgr.adjacentTileProps[this->direction];
if(bitfield2) {
this->doStateChange(&StateID_Turn);
}
@@ -783,7 +782,7 @@ void daMegaGoomba_c::stunPlayers() {
dStageActor_c *player = GetSpecificPlayerActor(i);
if (player) {
- if (player->collMgr.CollidedWithTile() && player->currentZoneID == currentZoneID) {
+ if (player->collMgr.isOnTopOfTile() && player->currentZoneID == currentZoneID) {
stunPlayer(player, 1);
playerStunned[i] = true;
}