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

Create Macros for Cutscene Data (#63)

* Added additional (potentially unused) fields to macros, now builds OK

* Ran formatter, attempted better macro formatting

* Formatted unknown fields as hex, further cleanups

* Rename and prefix macros, use command base macros, format cutscenes with indents

* Move command macros into a new file and include it globally

* Generate cutscene command macros for Bg_Toki_Swd, Cleanups

* Rename CS_TEXTBOX commands to CS_TEXT, fix typo ic command_macros_base.h

* Introduce CS_CMD_CONTINUE and CS_CMD_STOP

* Remove apparently redundant arguments in certain commands, include the values in the macros directly

* Re-add cutscene terminator destination enum values to example cutscene data

* Format what should be floats as hex, Change actorAnim to actorAction

* Allow floating-point representation of values in cutscene data (asm-processor hack)

* Include cutscene commands only where necessary, documentation fixes

* Rename actor actions to npc actions, separate player action from npc actions

* Remove PlayerActionIDs for now as relevant information on it is not yet decompiled

* Generate cutscene data for en_ru1, remove apparent redundancies in CS_LIGHTING and CS_PLAY/STOP/FADE_BGM commands, relax static requirement in asm-processor CutsceneData float conversion
This commit is contained in:
Tharo 2020-05-20 12:37:28 +01:00 committed by GitHub
parent 2bccbe7679
commit 43dfaa7518
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 1538 additions and 506 deletions

View file

@ -211,7 +211,7 @@ void func_809B0994(EnAni* this, GlobalContext* globalCtx) {
GenericAnimationHeader* objSegFrameCount = &D_060070F0.genericHeader;
AnimationHeader* objSegChangeAnime = &D_060070F0;
if (globalCtx->csCtx.actorActions[0]->action == 4) {
if (globalCtx->csCtx.npcActions[0]->action == 4) {
SkelAnime_ChangeAnim(&this->skelAnime, objSegChangeAnime, 1.0f, 0.0f,
(f32)SkelAnime_GetFrameCount(objSegFrameCount), 2, -4.0f);
this->unk_2AA += 1;
@ -229,7 +229,7 @@ void func_809B0A6C(EnAni* this, GlobalContext* globalCtx) {
if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
this->skelAnime.animCurrentFrame = 0.0f;
}
if (globalCtx->csCtx.actorActions[0]->action == 2) {
if (globalCtx->csCtx.npcActions[0]->action == 2) {
SkelAnime_ChangeAnim(&this->skelAnime, &D_060067B8, 1.0f, 0.0f,
SkelAnime_GetFrameCount(&D_060067B8.genericHeader), 2, 0.0f);
this->actor.shape.shadowDrawFunc = NULL;
@ -245,7 +245,7 @@ void EnAni_Update(Actor* thisx, GlobalContext* globalCtx) {
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider);
Actor_MoveForward(&this->actor);
func_8002E4B4(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
if ((globalCtx->csCtx.state != 0) && (globalCtx->csCtx.actorActions[0] != NULL)) {
if ((globalCtx->csCtx.state != 0) && (globalCtx->csCtx.npcActions[0] != NULL)) {
switch (this->unk_2AA) {
case 0:
func_809B0A6C(this, globalCtx);