1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-08 07:20:16 +00:00

Decompile Player (#387)

* Setup player decomp

* Decompile z_player.c and z_player_lib.c

* Decompile remaining z_player.c functions

* Various player improvements

* Player progress (some non matchings and .data migrated)

* Player progress (reposition data and fix some non matchings)

* Cleanup, improve and document parts of z_player_lib.c/z_player.c

* Fix player renames in z_en_st.c

* Fix missing open/close disps in z_player.c

* Minor player fixes

* Address player comments
This commit is contained in:
Roman971 2020-09-19 03:45:39 +02:00 committed by GitHub
parent b29c268f37
commit 14191307e9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
686 changed files with 16334 additions and 39630 deletions

View file

@ -90,14 +90,15 @@ void func_80ABBBA8(EnNutsball* this, GlobalContext* globalCtx) {
(this->collider.base.acFlags & 2) || (this->collider.base.maskA & 2)) {
// Checking if the player is using a shield that reflects projectiles
// And if so, reflects the projectile on impact
if ((player->currentShield == 1) || ((player->currentShield == 2) && LINK_IS_ADULT)) {
if ((player->currentShield == PLAYER_SHIELD_DEKU) ||
((player->currentShield == PLAYER_SHIELD_HYLIAN) && LINK_IS_ADULT)) {
if ((this->collider.base.atFlags & 2) && (this->collider.base.atFlags & 0x10) &&
(this->collider.base.atFlags & 4)) {
this->collider.base.atFlags &= ~0x16;
this->collider.base.atFlags |= 0x08;
this->collider.body.toucher.flags = 2;
func_800D20CC(&player->mf_A20, &sp4C, 0);
func_800D20CC(&player->shieldMf, &sp4C, 0);
this->actor.posRot.rot.y = sp4C.y + 0x8000;
this->timer = 30;
return;