summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--animtiles.yaml10
-rw-r--r--src/bossSamurshai.cpp1
-rwxr-xr-xsrc/mrsun.cpp6
-rw-r--r--src/shyguy.cpp12
-rw-r--r--src/topman.cpp6
5 files changed, 24 insertions, 11 deletions
diff --git a/animtiles.yaml b/animtiles.yaml
index 879693b..029553e 100644
--- a/animtiles.yaml
+++ b/animtiles.yaml
@@ -21,8 +21,8 @@ hooks:
addr_pal: 0x80087544
data: '3880 1000' # 128 tiles should be enough for anyone
- - name: AnimTileOptimisedCopy
- type: branch_insn
- branch_type: bl
- src_addr_pal: 0x80087AD0
- target_func: 'CopyAnimTile'
+ # - name: AnimTileOptimisedCopy
+ # type: branch_insn
+ # branch_type: bl
+ # src_addr_pal: 0x80087AD0
+ # target_func: 'CopyAnimTile'
diff --git a/src/bossSamurshai.cpp b/src/bossSamurshai.cpp
index 59e8036..12adfeb 100644
--- a/src/bossSamurshai.cpp
+++ b/src/bossSamurshai.cpp
@@ -264,6 +264,7 @@ daSamurshai *daSamurshai::build() {
if (collMgr.isOnTopOfTile()) {
isBouncing = true;
}
+ pos.x = direction ? pos.x + speed.x : pos.x - speed.x;
return true;
}
return false;
diff --git a/src/mrsun.cpp b/src/mrsun.cpp
index 8f8b811..1cdfdc9 100755
--- a/src/mrsun.cpp
+++ b/src/mrsun.cpp
@@ -54,6 +54,7 @@ class daMrSun_c : public dEn_c {
bool collisionCat1_Fireball_E_Explosion(ActivePhysics *apThis, ActivePhysics *apOther);
bool collisionCat2_IceBall_15_YoshiIce(ActivePhysics *apThis, ActivePhysics *apOther);
bool collisionCat13_Hammer(ActivePhysics *apThis, ActivePhysics *apOther);
+ bool collisionCatA_PenguinMario(ActivePhysics *apThis, ActivePhysics *apOther);
bool collisionCat9_RollingObject(ActivePhysics *apThis, ActivePhysics *apOther);
bool collisionCat3_StarPower(ActivePhysics *apThis, ActivePhysics *apOther);
bool collisionCatD_Drill(ActivePhysics *apThis, ActivePhysics *apOther);
@@ -132,7 +133,10 @@ bool daMrSun_c::collisionCat7_GroundPoundYoshi(ActivePhysics *apThis, ActivePhys
DamagePlayer(this, apThis, apOther);
return true;
}
-
+bool daMrSun_c::collisionCatA_PenguinMario(ActivePhysics *apThis, ActivePhysics *apOther) {
+ DamagePlayer(this, apThis, apOther);
+ return true;
+}
void daMrSun_c::dieFall_Execute() {
diff --git a/src/shyguy.cpp b/src/shyguy.cpp
index ee7a1bf..ddd2923 100644
--- a/src/shyguy.cpp
+++ b/src/shyguy.cpp
@@ -219,7 +219,8 @@ daShyGuy *daShyGuy::build() {
if (name == EN_COIN || name == EN_EATCOIN || name == AC_BLOCK_COIN || name == EN_COIN_JUGEM || name == EN_COIN_ANGLE
|| name == EN_COIN_JUMP || name == EN_COIN_FLOOR || name == EN_COIN_VOLT || name == EN_COIN_WIND
- || name == EN_BLUE_COIN || name == EN_COIN_WATER || name == EN_REDCOIN || name == EN_GREENCOIN)
+ || name == EN_BLUE_COIN || name == EN_COIN_WATER || name == EN_REDCOIN || name == EN_GREENCOIN
+ || name == EN_JUMPDAI || name == EN_ITEM)
{ return; }
if (acState.getCurrentState() == &StateID_RealWalk) {
@@ -381,7 +382,8 @@ daShyGuy *daShyGuy::build() {
}
// void daShyGuy::collisionCat2_IceBall_15_YoshiIce(ActivePhysics *apThis, ActivePhysics *apOther) {
- // doStateChange(&StateID_DieFall);
+
+ // dEn_C::collisionCat2_IceBall_15_YoshiIce(apThis, apOther);
// }
// These handle the ice crap
@@ -761,7 +763,11 @@ int daShyGuy::onDraw() {
void daShyGuy::updateModelMatrices() {
// This won't work with wrap because I'm lazy.
- matrix.translation(pos.x, pos.y - 2.0, pos.z);
+
+ if (this->frzMgr._mstate == 1)
+ matrix.translation(pos.x, pos.y, pos.z);
+ else
+ matrix.translation(pos.x, pos.y - 2.0, pos.z);
matrix.applyRotationYXZ(&rot.x, &rot.y, &rot.z);
bodyModel.setDrawMatrix(matrix);
diff --git a/src/topman.cpp b/src/topman.cpp
index 8b99f0d..55123f8 100644
--- a/src/topman.cpp
+++ b/src/topman.cpp
@@ -433,7 +433,8 @@ void daTopman::updateModelMatrices() {
}
void daTopman::executeState_Walk() {
- PlaySound(this, SE_BOSS_JR_CROWN_JR_RIDE); // 5
+ if (!this->isOutOfView())
+ PlaySound(this, SE_BOSS_JR_CROWN_JR_RIDE); // 5
bool ret = calculateTileCollisions();
if (ret) {
@@ -485,7 +486,8 @@ void daTopman::updateModelMatrices() {
}
void daTopman::executeState_Wait() {
- PlaySound(this, SE_BOSS_JR_CROWN_JR_RIDE); // 5
+ if (!this->isOutOfView())
+ PlaySound(this, SE_BOSS_JR_CROWN_JR_RIDE); // 5
bool ret = calculateTileCollisions();
if (ret) {