1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-10 17:00:19 +00:00

Decompile ovl_Door_Warp1 (#949)

* Initial progress on Door_Warp1

* Fix merge

* More work on Door_Warp1

* Decompile most of Door_Warp1

* 2 more functions OK

* All decompiled, 3 nonmatching

* Tiny improvements, fix several warnings

* Remove commented GLOBAL_ASM lines

* Fix

* Fix merge

* Two more matches

* Some docs

* More docs

* Use generated reloc under NON_MATCHING

* Fix accesses in ru1

* Add break and add limbs and dlists for the skeleton to the object xml

* Comment values for enums

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>

* boolean returns for flag checking functions

Co-authored-by: louist103 <35883445+louist103@users.noreply.github.com>

* Named more loop variables i and named DoorWarp1_FloatPlayer

* Last function matched thanks to Roman

* Some further suggestions

* Fix

Co-authored-by: Thar0 <maximilianc64@gmail.com>
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
Co-authored-by: louist103 <35883445+louist103@users.noreply.github.com>
This commit is contained in:
Tharo 2021-09-12 16:10:10 +01:00 committed by GitHub
parent e31e35658d
commit eccfd2efbf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
62 changed files with 1139 additions and 4711 deletions

View file

@ -8,6 +8,7 @@
#include "objects/object_sst/object_sst.h"
#include "objects/gameplay_keep/gameplay_keep.h"
#include "overlays/actors/ovl_Bg_Sst_Floor/z_bg_sst_floor.h"
#include "overlays/actors/ovl_Door_Warp1/z_door_warp1.h"
#define FLAGS 0x00000435
@ -289,7 +290,7 @@ void BossSst_Init(Actor* thisx, GlobalContext* globalCtx2) {
this->actor.shape.rot.y = 0;
if (Flags_GetClear(globalCtx, globalCtx->roomCtx.curRoom.num)) {
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_DOOR_WARP1, ROOM_CENTER_X, ROOM_CENTER_Y,
ROOM_CENTER_Z + 400.0f, 0, 0, 0, -1);
ROOM_CENTER_Z + 400.0f, 0, 0, 0, WARP_DUNGEON_ADULT);
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_ITEM_B_HEART, ROOM_CENTER_X, ROOM_CENTER_Y,
ROOM_CENTER_Z - 200.0f, 0, 0, 0, 0);
Actor_Kill(&this->actor);
@ -1188,7 +1189,7 @@ void BossSst_HeadFinish(BossSst* this, GlobalContext* globalCtx) {
}
} else if (this->effects[0].alpha == 0) {
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_DOOR_WARP1, ROOM_CENTER_X, ROOM_CENTER_Y, ROOM_CENTER_Z, 0,
0, 0, -1);
0, 0, WARP_DUNGEON_ADULT);
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_ITEM_B_HEART,
(Math_SinS(this->actor.shape.rot.y) * 200.0f) + ROOM_CENTER_X, ROOM_CENTER_Y,
Math_CosS(this->actor.shape.rot.y) * 200.0f + ROOM_CENTER_Z, 0, 0, 0, 0);