mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-21 05:58:59 -04:00
some scene/overlap documentation and fixes
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
#include "d/d_item_data.h"
|
||||
#include "d/d_magma.h"
|
||||
#include "d/d_particle.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "d/d_tree.h"
|
||||
#include "d/d_wood.h"
|
||||
#include "f_op/f_op_scene_mng.h"
|
||||
@@ -487,7 +488,7 @@ int dComIfG_changeOpeningScene(scene_class* i_scene, s16 i_procName) {
|
||||
dComIfGp_getNextStageLayer());
|
||||
dComIfGs_setRestartRoomParam(0);
|
||||
|
||||
fopScnM_ChangeReq(i_scene, i_procName, 0, 30);
|
||||
fopScnM_ChangeReq(i_scene, i_procName, PROC_OVERLAP0, 30);
|
||||
fopScnM_ReRequest(i_procName, 0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
+1
-1
@@ -482,7 +482,7 @@ static BOOL dScnLogo_Draw(dScnLogo_c* i_this) {
|
||||
/* 8022D1DC-8022D21C .text dScnLogo_Execute__FP10dScnLogo_c */
|
||||
static BOOL dScnLogo_Execute(dScnLogo_c* i_this) {
|
||||
if (mDoRst::isReset())
|
||||
fopScnM_ChangeReq(i_this, PROC_LOGO_SCENE, 0, 5);
|
||||
fopScnM_ChangeReq(i_this, PROC_LOGO_SCENE, PROC_OVERLAP0, 5);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -145,10 +145,10 @@ static BOOL dScnMenu_Execute(menu_of_scene_class* i_this) {
|
||||
s16 startCode = (i_this->startCode != 0) ? i_this->startCode - 1 : room->startCode;
|
||||
dComIfGp_setNextStage(room->stageName, startCode, room->roomNo, room->layerNo);
|
||||
if (strcmp(dComIfGp_getNextStageName(), "ENDING") == 0) {
|
||||
fopScnM_ChangeReq(i_this, PROC_ENDING_SCENE, 0, 5);
|
||||
fopScnM_ChangeReq(i_this, PROC_ENDING_SCENE, PROC_OVERLAP0, 5);
|
||||
mDoAud_bgmStop(0x1E);
|
||||
} else {
|
||||
fopScnM_ChangeReq(i_this, PROC_PLAY_SCENE, 0, 5);
|
||||
fopScnM_ChangeReq(i_this, PROC_PLAY_SCENE, PROC_OVERLAP0, 5);
|
||||
dComIfGs_setRestartRoomParam(0);
|
||||
mDoAud_setSceneName(dComIfGp_getNextStageName(), dComIfGp_getNextStageRoomNo(), dComIfGp_getNextStageLayer());
|
||||
}
|
||||
|
||||
+1
-1
@@ -911,7 +911,7 @@ void dScnName_c::changeGameScene() {
|
||||
|
||||
dComIfGs_gameStart();
|
||||
u32 procName = field_0x55f ? PROC_OPEN_SCENE : PROC_PLAY_SCENE;
|
||||
if (fopScnM_ChangeReq(this, procName, 0, 5)) {
|
||||
if (fopScnM_ChangeReq(this, procName, PROC_OVERLAP0, 5)) {
|
||||
g_dComIfG_gameInfo.save.getDan().mStageNo = -1;
|
||||
dComIfGs_setRestartRoomParam(0);
|
||||
mDoAud_setSceneName(dComIfGp_getNextStageName(), dComIfGp_getNextStageRoomNo(), dComIfGp_getNextStageLayer());
|
||||
|
||||
+1
-1
@@ -89,7 +89,7 @@ void dScnOpen_c::changeGameScene() {
|
||||
if (fpcM_GetName(this) == PROC_OPEN2_SCENE) {
|
||||
dComIfG_changeOpeningScene(this, PROC_OPENING2_SCENE);
|
||||
} else {
|
||||
if (fopScnM_ChangeReq(this, PROC_PLAY_SCENE, 0, 5)) {
|
||||
if (fopScnM_ChangeReq(this, PROC_PLAY_SCENE, PROC_OVERLAP0, 5)) {
|
||||
dComIfGs_setRestartRoomParam(0);
|
||||
mDoAud_setSceneName(dComIfGp_getNextStageName(), dComIfGp_getNextStageRoomNo(), dComIfGp_getNextStageLayer());
|
||||
}
|
||||
|
||||
+15
-2
@@ -291,13 +291,26 @@ static int dScnPly_Draw(dScnPly_ply_c* i_this) {
|
||||
|
||||
if (!fopOvlpM_IsPeek() && !dComIfG_resetToOpening(i_this) && fpcM_GetName(i_this) == PROC_PLAY_SCENE) {
|
||||
if (dComIfGp_isEnableNextStage()) {
|
||||
static s16 l_wipeType[] = {0, 0, 16, 17, 18, 1, 2, 1, 3, 3, 4, 4};
|
||||
static s16 l_wipeType[] = {
|
||||
PROC_OVERLAP0,
|
||||
PROC_OVERLAP0,
|
||||
PROC_OVERLAP2,
|
||||
PROC_OVERLAP3,
|
||||
PROC_OVERLAP4,
|
||||
PROC_OVERLAP1,
|
||||
PROC_OVERLAP6,
|
||||
PROC_OVERLAP1,
|
||||
PROC_OVERLAP7,
|
||||
PROC_OVERLAP7,
|
||||
PROC_OVERLAP8,
|
||||
PROC_OVERLAP8,
|
||||
};
|
||||
|
||||
JUT_ASSERT(VERSION_SELECT(997, 1001, 1001),
|
||||
dComIfGp_getNextStageWipe() < ARRAY_SIZE(l_wipeType));
|
||||
|
||||
if (strcmp(dComIfGp_getNextStageName(), "ENDING") == 0) {
|
||||
fopScnM_ChangeReq(i_this, PROC_ENDING_SCENE, 0, 5);
|
||||
fopScnM_ChangeReq(i_this, PROC_ENDING_SCENE, PROC_OVERLAP0, 5);
|
||||
mDoAud_bgmStop(30);
|
||||
} else {
|
||||
fopScnM_ChangeReq(i_this, PROC_PLAY_SCENE, l_wipeType[dComIfGp_getNextStageWipe()], 5);
|
||||
|
||||
+1
-1
@@ -72,7 +72,7 @@ static BOOL dScnTitle_Execute(title_of_scene_class* i_this) {
|
||||
if (fpcM_GetName(i_this) == PROC_ENDING_SCENE) {
|
||||
if (movie->mpCallBack1() == 0) {
|
||||
if (dComIfGs_getClearCount() == 0) {
|
||||
fopScnM_ChangeReq(i_this, PROC_NAMEEX_SCENE, 0, 5);
|
||||
fopScnM_ChangeReq(i_this, PROC_NAMEEX_SCENE, PROC_OVERLAP0, 5);
|
||||
} else {
|
||||
dComIfG_changeOpeningScene(i_this, PROC_OPENING_SCENE);
|
||||
}
|
||||
|
||||
+1
-1
@@ -201,7 +201,7 @@ int createRoomScene(int param_0) {
|
||||
}
|
||||
|
||||
*ptr = param_0;
|
||||
return fopScnM_CreateReq(PROC_ROOM_SCENE, 0x7FFF, 0, (u32)ptr);
|
||||
return fopScnM_CreateReq(PROC_ROOM_SCENE, PROC_INVALID_e, 0, (u32)ptr);
|
||||
}
|
||||
|
||||
/* 80040E38-80040E6C .text checkRoomDisp__20dStage_roomControl_cCFi */
|
||||
|
||||
Reference in New Issue
Block a user