diff options
| author | Baoulettes <perlouzerie@hotmail.fr> | 2022-07-06 02:46:21 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-05 20:46:21 -0400 |
| commit | 2fbdd056eda61dfbf6e26624c850505a2de04e23 (patch) | |
| tree | fb44b58c3fc53c2884356a64086045b94a6c2e4d /soh/src/code | |
| parent | 1ad2931f80395d87e10a9c85da8ed3b7648826be (diff) | |
3D Drops & Projectiles update (#548)
* Fix remaining rupee and keys
* fix tabs -> spaces
* more fix about tabs -> spaces
* Better up <-> down mouvement for hearts
* remove useless comment
Diffstat (limited to 'soh/src/code')
| -rw-r--r-- | soh/src/code/z_en_item00.c | 50 |
1 files changed, 39 insertions, 11 deletions
diff --git a/soh/src/code/z_en_item00.c b/soh/src/code/z_en_item00.c index 27e2b6f50..160dcfe30 100644 --- a/soh/src/code/z_en_item00.c +++ b/soh/src/code/z_en_item00.c @@ -389,15 +389,31 @@ void EnItem00_Init(Actor* thisx, GlobalContext* globalCtx) { break; case ITEM00_SMALL_KEY: this->unk_158 = 0; - Actor_SetScale(&this->actor, 0.03f); - this->scale = 0.03f; - yOffset = 350.0f; + if (CVar_GetS32("gNewDrops", 0) !=0) { + Actor_SetScale(&this->actor, 0.3f); + this->scale = 0.3f; + yOffset = 50.0f; + shadowScale = 0.5f; + this->actor.world.rot.x = 0x4000; + } else { + Actor_SetScale(&this->actor, 0.03f); + this->scale = 0.03f; + yOffset = 350.0f; + } break; case ITEM00_HEART_PIECE: this->unk_158 = 0; - yOffset = 650.0f; - Actor_SetScale(&this->actor, 0.02f); - this->scale = 0.02f; + if (CVar_GetS32("gNewDrops", 0) !=0) { + Actor_SetScale(&this->actor, 0.5f); + this->scale = 0.5f; + yOffset = 50.0f; + shadowScale = 0.5f; + this->actor.world.rot.x = 0x4000; + } else { + yOffset = 650.0f; + Actor_SetScale(&this->actor, 0.02f); + this->scale = 0.02f; + } break; case ITEM00_HEART: if (CVar_GetS32("gNewDrops", 0) !=0) { @@ -711,7 +727,7 @@ void func_8001DFC8(EnItem00* this, GlobalContext* globalCtx) { (this->actor.params == ITEM00_ARROWS_MEDIUM) || (this->actor.params == ITEM00_ARROWS_LARGE) || (this->actor.params == ITEM00_BOMBS_A) || (this->actor.params == ITEM00_BOMBS_B) || (this->actor.params == ITEM00_NUTS) || (this->actor.params == ITEM00_STICK) || - (this->actor.params == ITEM00_MAGIC_SMALL) || (this->actor.params == ITEM00_SEEDS) || + (this->actor.params == ITEM00_MAGIC_SMALL) || (this->actor.params == ITEM00_SEEDS) || (this->actor.params == ITEM00_SMALL_KEY) || (this->actor.params == ITEM00_MAGIC_LARGE) || (this->actor.params == ITEM00_HEART) || (this->actor.params == ITEM00_BOMBS_SPECIAL)) { this->actor.shape.rot.y = DroppedItemRot; } @@ -738,7 +754,11 @@ void func_8001DFC8(EnItem00* this, GlobalContext* globalCtx) { } if (this->actor.params == ITEM00_HEART_PIECE) { - this->actor.shape.yOffset = Math_SinS(this->actor.shape.rot.y) * 150.0f + 850.0f; + if (CVar_GetS32("gNewDrops", 0) !=0) { + this->actor.shape.yOffset = Math_SinS(this->actor.shape.rot.y) * 20.0f + 50.0f; + } else { + this->actor.shape.yOffset = Math_SinS(this->actor.shape.rot.y) * 150.0f + 850.0f; + } } Math_SmoothStepToF(&this->actor.speedXZ, 0.0f, 1.0f, 0.5f, 0.0f); @@ -891,7 +911,7 @@ void EnItem00_Update(Actor* thisx, GlobalContext* globalCtx) { s32 pad; if (CVar_GetS32("gNewDrops", 0) !=0) { //Update 3D Model rotation on frame update :) - DroppedItemRot += 100; + DroppedItemRot += 250; } if (this->unk_15A > 0) { @@ -1131,7 +1151,11 @@ void EnItem00_Draw(Actor* thisx, GlobalContext* globalCtx) { } break; case ITEM00_HEART_PIECE: - EnItem00_DrawHeartPiece(this, globalCtx); + if (CVar_GetS32("gNewDrops", 0) !=0) { + GetItem_Draw(globalCtx, GID_HEART_PIECE); + } else { + EnItem00_DrawHeartPiece(this, globalCtx); + } break; case ITEM00_HEART_CONTAINER: EnItem00_DrawHeartContainer(this, globalCtx); @@ -1217,7 +1241,11 @@ void EnItem00_Draw(Actor* thisx, GlobalContext* globalCtx) { break; } case ITEM00_SMALL_KEY: - EnItem00_DrawCollectible(this, globalCtx); + if (CVar_GetS32("gNewDrops", 0) !=0) { + GetItem_Draw(globalCtx, GID_KEY_SMALL); + } else { + EnItem00_DrawCollectible(this, globalCtx); + } break; case ITEM00_SHIELD_DEKU: GetItem_Draw(globalCtx, GID_SHIELD_DEKU); |
