mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-03-21 17:55:13 -05:00
Document Frontier scenes (#880)
This commit is contained in:
parent
007753a5d0
commit
7dca5b4f47
|
|
@ -3,7 +3,24 @@
|
|||
|
||||
#include "overlay104/struct_ov104_0223C4CC_decl.h"
|
||||
|
||||
int ov104_0222EA90(int param0, int param1);
|
||||
enum FrontierSceneParam {
|
||||
FR_SCENE_BGMODE = 0,
|
||||
FR_SCENE_SCRIPT_ID,
|
||||
FR_SCENE_BANK_ID,
|
||||
FR_SCENE_BGM_ID,
|
||||
FR_SCENE_SCREEN_SIZE,
|
||||
FR_SCENE_NARC_ID,
|
||||
FR_SCENE_TILEMAP_IDX,
|
||||
FR_SCENE_TILES_IDX,
|
||||
FR_SCENE_PLTT_IDX,
|
||||
FR_SCENE_SUB_TILEMAP_IDX,
|
||||
FR_SCENE_SUB_TILES_IDX,
|
||||
FR_SCENE_SUB_PLTT_IDX,
|
||||
FR_SCENE_FLAG_1,
|
||||
FR_SCENE_FLAG_2,
|
||||
};
|
||||
|
||||
int GetFrontierSceneValue(int scene, enum FrontierSceneParam sceneParam);
|
||||
void ov104_0222EB8C(UnkStruct_ov104_0223C4CC *param0, void **param1, int param2);
|
||||
void ov104_0222EBA4(UnkStruct_ov104_0223C4CC *param0, void **param1, int param2);
|
||||
|
||||
|
|
|
|||
|
|
@ -155,11 +155,11 @@ static void ov104_0222E82C(UnkStruct_ov104_022320B4 *param0, u16 param1, u32 *pa
|
|||
|
||||
static void ov104_0222E830(u8 **param0, MessageLoader **param1, int param2, int heapID)
|
||||
{
|
||||
int v0 = ov104_0222EA90(param2, 1);
|
||||
int v1 = ov104_0222EA90(param2, 2);
|
||||
int scriptID = GetFrontierSceneValue(param2, FR_SCENE_SCRIPT_ID);
|
||||
int bankID = GetFrontierSceneValue(param2, FR_SCENE_BANK_ID);
|
||||
|
||||
*param0 = NARC_AllocAndReadWholeMemberByIndexPair(NARC_INDEX_FRONTIER__SCRIPT__FR_SCRIPT, v0, heapID);
|
||||
*param1 = MessageLoader_Init(MSG_LOADER_LOAD_ON_DEMAND, NARC_INDEX_MSGDATA__PL_MSG, v1, heapID);
|
||||
*param0 = NARC_AllocAndReadWholeMemberByIndexPair(NARC_INDEX_FRONTIER__SCRIPT__FR_SCRIPT, scriptID, heapID);
|
||||
*param1 = MessageLoader_Init(MSG_LOADER_LOAD_ON_DEMAND, NARC_INDEX_MSGDATA__PL_MSG, bankID, heapID);
|
||||
}
|
||||
|
||||
void ov104_0222E86C(UnkStruct_ov104_022320B4 *param0, int param1, int heapID)
|
||||
|
|
@ -169,8 +169,8 @@ void ov104_0222E86C(UnkStruct_ov104_022320B4 *param0, int param1, int heapID)
|
|||
int v2, v3;
|
||||
MessageLoader *v4;
|
||||
|
||||
v2 = ov104_0222EA90(param0->unk_52, 2);
|
||||
v3 = ov104_0222EA90(param1, 2);
|
||||
v2 = GetFrontierSceneValue(param0->unk_52, FR_SCENE_BANK_ID);
|
||||
v3 = GetFrontierSceneValue(param1, FR_SCENE_BANK_ID);
|
||||
|
||||
if (v2 == v3) {
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
#include "overlay104/ov104_0222EA90.h"
|
||||
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "generated/sdat.h"
|
||||
#include "generated/text_banks.h"
|
||||
|
||||
#include "overlay104/ov104_0223C164.h"
|
||||
#include "overlay104/ov104_0223D9E4.h"
|
||||
|
|
@ -13,27 +15,67 @@
|
|||
|
||||
#include "res/field/frontier_scripts/fr_script.naix.h"
|
||||
|
||||
// TODO Replace and remove these once frontier_bg.narc is unpacked
|
||||
#define BATTLE_FACTORY_TILES 0
|
||||
#define BATTLE_FACTORY_BATTLE_ROOM_TILEMAP 1
|
||||
#define BATTLE_FACTORY_CORRIDOR_TILEMAP 2
|
||||
#define BATTLE_FACTORY_CORRIDOR_FLOOR_TILEMAP 3
|
||||
#define BATTLE_HALL_BATTLE_ROOM_TILES 14
|
||||
#define BATTLE_HALL_CORRIDOR_TILES 16
|
||||
#define BATTLE_HALL_CORRIDOR_TILEMAP 17
|
||||
#define BATTLE_HALL_BATTLE_ROOM_LIGHTS_TILES 19
|
||||
#define BATTLE_HALL_BATTLE_ROOM_TILEMAP 20
|
||||
#define BATTLE_HALL_BATTLE_ROOM_LIGHTS_TILEMAP 22
|
||||
#define BATTLE_CASTLE_CORRIDOR_TILES 25
|
||||
#define BATTLE_CASTLE_CORRIDOR_TILEMAP 26
|
||||
#define BATTLE_CASTLE_BATTLE_ROOM_TILES 29
|
||||
#define BATTLE_CASTLE_BATTLE_ROOM_TILEMAP 30
|
||||
#define BATTLE_CASTLE_BATTLE_ROOM_CURTAINS_TILEMAP 33
|
||||
#define BATTLE_TOWER_TILES 45
|
||||
#define BATTLE_TOWER_MULTI_BATTLE_ROOM_TILEMAP 46
|
||||
#define BATTLE_TOWER_MULTI_CORRIDOR_TILEMAP 47
|
||||
#define BATTLE_TOWER_MULTI_CORRIDOR_FG_TILEMAP 48
|
||||
#define BATTLE_TOWER_BATTLE_ROOM_TILEMAP 49
|
||||
#define BATTLE_TOWER_CORRIDOR_TILEMAP 50
|
||||
#define BATTLE_TOWER_CORRIDOR_FG_TILEMAP 51
|
||||
#define BATTLE_ARCADE_BATTLE_ROOM_TILEMAP 52
|
||||
#define BATTLE_ARCADE_BATTLE_ROOM_TILES 54
|
||||
#define BATTLE_ARCADE_CORRIDOR_TILEMAP 55
|
||||
#define BATTLE_ARCADE_CORRIDOR_TILES 56
|
||||
#define BATTLE_ARCADE_BATTLE_ROOM_HP_SCREEN_TILEMAP 57
|
||||
#define BATTLE_ARCADE_BATTLE_ROOM_HP_SCREEN_TILES 89
|
||||
#define BATTLE_FACTORY_PLTT 129
|
||||
#define BATTLE_HALL_BATTLE_ROOM_PLTT 131
|
||||
#define BATTLE_HALL_CORRIDOR_PLTT 132
|
||||
#define BATTLE_HALL_BATTLE_ROOM_LIGHTS_PLTT 133
|
||||
#define BATTLE_CASTLE_CORRIDOR_PLTT 135
|
||||
#define BATTLE_CASTLE_BATTLE_ROOM_PLTT 140
|
||||
#define BATTLE_TOWER_PLTT 141
|
||||
#define BATTLE_ARCADE_BATTLE_ROOM_PLTT 142
|
||||
#define BATTLE_ARCADE_CORRIDOR_PLTT 143
|
||||
#define BATTLE_ARCADE_BATTLE_ROOM_HP_SCREEN_PLTT 169
|
||||
|
||||
typedef void (*UnkFuncPtr_ov104_0223F394)(UnkStruct_ov104_0223C4CC *, void **);
|
||||
|
||||
typedef struct {
|
||||
int unk_00;
|
||||
typedef struct FrontierScene {
|
||||
GXBGMode bgMode;
|
||||
UnkFuncPtr_ov104_0223F394 unk_04;
|
||||
UnkFuncPtr_ov104_0223F394 unk_08;
|
||||
u16 unk_0C;
|
||||
u16 unk_0E;
|
||||
u16 unk_10;
|
||||
u16 unk_12;
|
||||
u16 scriptID;
|
||||
u16 textBankID;
|
||||
u16 bgmID;
|
||||
u16 screenSize;
|
||||
u16 narcID;
|
||||
u16 unk_16;
|
||||
u16 unk_18;
|
||||
u16 unk_1A;
|
||||
u16 unk_1C;
|
||||
u16 unk_1E;
|
||||
u16 unk_20;
|
||||
u16 tilemapIdx;
|
||||
u16 tilesIdx;
|
||||
u16 plttIdx;
|
||||
u16 subTilemapIdx;
|
||||
u16 subTilesIdx;
|
||||
u16 subPlttIdx;
|
||||
u8 unk_22;
|
||||
u8 unk_23;
|
||||
u8 unk_24[2];
|
||||
} UnkStruct_ov104_0223F394;
|
||||
u16 unused;
|
||||
} FrontierScene;
|
||||
|
||||
static void ov104_0222EBBC(UnkStruct_ov104_0223C4CC *param0, void **param1);
|
||||
static void ov104_0222EBCC(UnkStruct_ov104_0223C4CC *param0, void **param1);
|
||||
|
|
@ -52,346 +94,346 @@ static void ov104_0222ECA0(UnkStruct_ov104_0223C4CC *param0, void **param1);
|
|||
static void ov104_0222ECAC(UnkStruct_ov104_0223C4CC *param0, void **param1);
|
||||
static void ov104_0222ECE4(UnkStruct_ov104_0223C4CC *param0, void **param1);
|
||||
|
||||
static const UnkStruct_ov104_0223F394 Unk_ov104_0223F394[] = {
|
||||
static const FrontierScene sFrontierScenes[] = {
|
||||
{
|
||||
GX_BGMODE_0,
|
||||
.bgMode = GX_BGMODE_0,
|
||||
ov104_0222EBBC,
|
||||
ov104_0222EBCC,
|
||||
0x4,
|
||||
0xCC,
|
||||
0x444,
|
||||
0x3,
|
||||
.textBankID = 204,
|
||||
.bgmID = SEQ_BF_TOWWER,
|
||||
.screenSize = BG_SCREEN_SIZE_512x256,
|
||||
.narcID = NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG,
|
||||
0x1,
|
||||
0x0,
|
||||
0x81,
|
||||
0x3,
|
||||
0x0,
|
||||
0x81,
|
||||
0x0,
|
||||
0x1,
|
||||
.tilemapIdx = BATTLE_FACTORY_BATTLE_ROOM_TILEMAP,
|
||||
.tilesIdx = BATTLE_FACTORY_TILES,
|
||||
.plttIdx = BATTLE_FACTORY_PLTT,
|
||||
.subTilemapIdx = BATTLE_FACTORY_CORRIDOR_FLOOR_TILEMAP,
|
||||
.subTilesIdx = BATTLE_FACTORY_TILES,
|
||||
.subPlttIdx = BATTLE_FACTORY_PLTT,
|
||||
.unk_22 = 0,
|
||||
.unk_23 = 1,
|
||||
},
|
||||
{
|
||||
GX_BGMODE_0,
|
||||
.bgMode = GX_BGMODE_0,
|
||||
NULL,
|
||||
NULL,
|
||||
0x0,
|
||||
0xCC,
|
||||
0x444,
|
||||
0x3,
|
||||
.textBankID = 0xCC,
|
||||
.bgmID = SEQ_BF_TOWWER,
|
||||
.screenSize = BG_SCREEN_SIZE_512x256,
|
||||
.narcID = NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG,
|
||||
0x2,
|
||||
0x0,
|
||||
0x81,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0x0,
|
||||
0x1,
|
||||
.tilemapIdx = BATTLE_FACTORY_CORRIDOR_TILEMAP,
|
||||
.tilesIdx = BATTLE_FACTORY_TILES,
|
||||
.plttIdx = BATTLE_FACTORY_PLTT,
|
||||
.subTilemapIdx = -1,
|
||||
.subTilesIdx = -1,
|
||||
.subPlttIdx = -1,
|
||||
.unk_22 = 0,
|
||||
.unk_23 = 1,
|
||||
},
|
||||
{
|
||||
GX_BGMODE_0,
|
||||
.bgMode = GX_BGMODE_0,
|
||||
NULL,
|
||||
NULL,
|
||||
0x5,
|
||||
0xCE,
|
||||
0x444,
|
||||
0x3,
|
||||
.textBankID = 206,
|
||||
.bgmID = SEQ_BF_TOWWER,
|
||||
.screenSize = BG_SCREEN_SIZE_512x256,
|
||||
.narcID = NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG,
|
||||
0x1,
|
||||
0x0,
|
||||
0x81,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0x0,
|
||||
0x1,
|
||||
.tilemapIdx = BATTLE_FACTORY_BATTLE_ROOM_TILEMAP,
|
||||
.tilesIdx = BATTLE_FACTORY_TILES,
|
||||
.plttIdx = BATTLE_FACTORY_PLTT,
|
||||
.subTilemapIdx = -1,
|
||||
.subTilesIdx = -1,
|
||||
.subPlttIdx = -1,
|
||||
.unk_22 = 0,
|
||||
.unk_23 = 1,
|
||||
},
|
||||
{
|
||||
GX_BGMODE_5,
|
||||
.bgMode = GX_BGMODE_5,
|
||||
ov104_0222EC5C,
|
||||
ov104_0222EC70,
|
||||
frontier_scripts_battle_factory,
|
||||
0x16D,
|
||||
0x4AB,
|
||||
0x4,
|
||||
.scriptID = frontier_scripts_battle_factory,
|
||||
.textBankID = TEXT_BANK_UNK_0365,
|
||||
.bgmID = SEQ_PL_BF_FACTORY,
|
||||
.screenSize = BG_SCREEN_SIZE_512x512,
|
||||
.narcID = NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG,
|
||||
0x2,
|
||||
0x0,
|
||||
0x81,
|
||||
0x3,
|
||||
0x0,
|
||||
0x81,
|
||||
0x1,
|
||||
0x0,
|
||||
.tilemapIdx = BATTLE_FACTORY_CORRIDOR_TILEMAP,
|
||||
.tilesIdx = BATTLE_FACTORY_TILES,
|
||||
.plttIdx = BATTLE_FACTORY_PLTT,
|
||||
.subTilemapIdx = BATTLE_FACTORY_CORRIDOR_FLOOR_TILEMAP,
|
||||
.subTilesIdx = BATTLE_FACTORY_TILES,
|
||||
.subPlttIdx = BATTLE_FACTORY_PLTT,
|
||||
.unk_22 = 1,
|
||||
.unk_23 = 0,
|
||||
},
|
||||
{
|
||||
GX_BGMODE_5,
|
||||
.bgMode = GX_BGMODE_5,
|
||||
ov104_0222EC74,
|
||||
ov104_0222EC8C,
|
||||
frontier_scripts_battle_factory,
|
||||
0x16D,
|
||||
0x4AB,
|
||||
0x1,
|
||||
.scriptID = frontier_scripts_battle_factory,
|
||||
.textBankID = TEXT_BANK_UNK_0365,
|
||||
.bgmID = SEQ_PL_BF_FACTORY,
|
||||
.screenSize = BG_SCREEN_SIZE_256x256,
|
||||
.narcID = NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG,
|
||||
0x1,
|
||||
0x0,
|
||||
0x81,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0x1,
|
||||
0x1,
|
||||
.tilemapIdx = BATTLE_FACTORY_BATTLE_ROOM_TILEMAP,
|
||||
.tilesIdx = BATTLE_FACTORY_TILES,
|
||||
.plttIdx = BATTLE_FACTORY_PLTT,
|
||||
.subTilemapIdx = -1,
|
||||
.subTilesIdx = -1,
|
||||
.subPlttIdx = -1,
|
||||
.unk_22 = 1,
|
||||
.unk_23 = 1,
|
||||
},
|
||||
{
|
||||
GX_BGMODE_5,
|
||||
.bgMode = GX_BGMODE_5,
|
||||
NULL,
|
||||
NULL,
|
||||
frontier_scripts_battle_tower_corridor,
|
||||
0x130,
|
||||
0x444,
|
||||
0x4,
|
||||
.scriptID = frontier_scripts_battle_tower_corridor,
|
||||
.textBankID = TEXT_BANK_BATTLE_TOWER,
|
||||
.bgmID = SEQ_BF_TOWWER,
|
||||
.screenSize = BG_SCREEN_SIZE_512x512,
|
||||
.narcID = NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG,
|
||||
0x32,
|
||||
0x2D,
|
||||
0x8D,
|
||||
0x33,
|
||||
0x2D,
|
||||
0x8D,
|
||||
0x1,
|
||||
0x1,
|
||||
.tilemapIdx = BATTLE_TOWER_CORRIDOR_TILEMAP,
|
||||
.tilesIdx = BATTLE_TOWER_TILES,
|
||||
.plttIdx = BATTLE_TOWER_PLTT,
|
||||
.subTilemapIdx = BATTLE_TOWER_CORRIDOR_FG_TILEMAP,
|
||||
.subTilesIdx = BATTLE_TOWER_TILES,
|
||||
.subPlttIdx = BATTLE_TOWER_PLTT,
|
||||
.unk_22 = 1,
|
||||
.unk_23 = 1,
|
||||
},
|
||||
{
|
||||
GX_BGMODE_5,
|
||||
.bgMode = GX_BGMODE_5,
|
||||
NULL,
|
||||
NULL,
|
||||
frontier_scripts_battle_tower_corridor_multi,
|
||||
0x130,
|
||||
0x444,
|
||||
0x4,
|
||||
.scriptID = frontier_scripts_battle_tower_corridor_multi,
|
||||
.textBankID = TEXT_BANK_BATTLE_TOWER,
|
||||
.bgmID = SEQ_BF_TOWWER,
|
||||
.screenSize = BG_SCREEN_SIZE_512x512,
|
||||
.narcID = NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG,
|
||||
0x2F,
|
||||
0x2D,
|
||||
0x8D,
|
||||
0x30,
|
||||
0x2D,
|
||||
0x8D,
|
||||
0x1,
|
||||
0x1,
|
||||
.tilemapIdx = BATTLE_TOWER_MULTI_CORRIDOR_TILEMAP,
|
||||
.tilesIdx = BATTLE_TOWER_TILES,
|
||||
.plttIdx = BATTLE_TOWER_PLTT,
|
||||
.subTilemapIdx = BATTLE_TOWER_MULTI_CORRIDOR_FG_TILEMAP,
|
||||
.subTilesIdx = BATTLE_TOWER_TILES,
|
||||
.subPlttIdx = BATTLE_TOWER_PLTT,
|
||||
.unk_22 = 1,
|
||||
.unk_23 = 1,
|
||||
},
|
||||
{
|
||||
GX_BGMODE_5,
|
||||
.bgMode = GX_BGMODE_5,
|
||||
NULL,
|
||||
NULL,
|
||||
frontier_scripts_battle_tower_battle_room,
|
||||
0x131,
|
||||
0x444,
|
||||
0x1,
|
||||
.scriptID = frontier_scripts_battle_tower_battle_room,
|
||||
.textBankID = TEXT_BANK_BATTLE_TOWER_BATTLE_ROOM,
|
||||
.bgmID = SEQ_BF_TOWWER,
|
||||
.screenSize = BG_SCREEN_SIZE_256x256,
|
||||
.narcID = NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG,
|
||||
0x31,
|
||||
0x2D,
|
||||
0x8D,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0x1,
|
||||
0x1,
|
||||
.tilemapIdx = BATTLE_TOWER_BATTLE_ROOM_TILEMAP,
|
||||
.tilesIdx = BATTLE_TOWER_TILES,
|
||||
.plttIdx = BATTLE_TOWER_PLTT,
|
||||
.subTilemapIdx = -1,
|
||||
.subTilesIdx = -1,
|
||||
.subPlttIdx = -1,
|
||||
.unk_22 = 1,
|
||||
.unk_23 = 1,
|
||||
},
|
||||
{
|
||||
GX_BGMODE_5,
|
||||
.bgMode = GX_BGMODE_5,
|
||||
NULL,
|
||||
NULL,
|
||||
frontier_scripts_battle_tower_multi_battle_room,
|
||||
0x132,
|
||||
0x444,
|
||||
0x1,
|
||||
.scriptID = frontier_scripts_battle_tower_multi_battle_room,
|
||||
.textBankID = TEXT_BANK_BATTLE_TOWER_MULTI_BATTLE_ROOM,
|
||||
.bgmID = SEQ_BF_TOWWER,
|
||||
.screenSize = BG_SCREEN_SIZE_256x256,
|
||||
.narcID = NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG,
|
||||
0x2E,
|
||||
0x2D,
|
||||
0x8D,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0x1,
|
||||
0x1,
|
||||
.tilemapIdx = BATTLE_TOWER_MULTI_BATTLE_ROOM_TILEMAP,
|
||||
.tilesIdx = BATTLE_TOWER_TILES,
|
||||
.plttIdx = BATTLE_TOWER_PLTT,
|
||||
.subTilemapIdx = -1,
|
||||
.subTilesIdx = -1,
|
||||
.subPlttIdx = -1,
|
||||
.unk_22 = 1,
|
||||
.unk_23 = 1,
|
||||
},
|
||||
{
|
||||
GX_BGMODE_5,
|
||||
.bgMode = GX_BGMODE_5,
|
||||
NULL,
|
||||
NULL,
|
||||
frontier_scripts_battle_hall,
|
||||
0x225,
|
||||
0x4A8,
|
||||
0x1,
|
||||
.scriptID = frontier_scripts_battle_hall,
|
||||
.textBankID = TEXT_BANK_UNK_0549,
|
||||
.bgmID = SEQ_PL_BF_STAGE,
|
||||
.screenSize = BG_SCREEN_SIZE_256x256,
|
||||
.narcID = NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG,
|
||||
0x11,
|
||||
0x10,
|
||||
0x84,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0x1,
|
||||
0x1,
|
||||
.tilemapIdx = BATTLE_HALL_CORRIDOR_TILEMAP,
|
||||
.tilesIdx = BATTLE_HALL_CORRIDOR_TILES,
|
||||
.plttIdx = BATTLE_HALL_CORRIDOR_PLTT,
|
||||
.subTilemapIdx = -1,
|
||||
.subTilesIdx = -1,
|
||||
.subPlttIdx = -1,
|
||||
.unk_22 = 1,
|
||||
.unk_23 = 1,
|
||||
},
|
||||
{
|
||||
GX_BGMODE_5,
|
||||
.bgMode = GX_BGMODE_5,
|
||||
ov104_0222EBD8,
|
||||
ov104_0222EC0C,
|
||||
frontier_scripts_battle_hall,
|
||||
0x225,
|
||||
0x4A8,
|
||||
0x4,
|
||||
.scriptID = frontier_scripts_battle_hall,
|
||||
.textBankID = TEXT_BANK_UNK_0549,
|
||||
.bgmID = SEQ_PL_BF_STAGE,
|
||||
.screenSize = BG_SCREEN_SIZE_512x512,
|
||||
.narcID = NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG,
|
||||
0x14,
|
||||
0xE,
|
||||
0x83,
|
||||
0x16,
|
||||
0x13,
|
||||
0x85,
|
||||
0x1,
|
||||
0x1,
|
||||
.tilemapIdx = BATTLE_HALL_BATTLE_ROOM_TILEMAP,
|
||||
.tilesIdx = BATTLE_HALL_BATTLE_ROOM_TILES,
|
||||
.plttIdx = BATTLE_HALL_BATTLE_ROOM_PLTT,
|
||||
.subTilemapIdx = BATTLE_HALL_BATTLE_ROOM_LIGHTS_TILEMAP,
|
||||
.subTilesIdx = BATTLE_HALL_BATTLE_ROOM_LIGHTS_TILES,
|
||||
.subPlttIdx = BATTLE_HALL_BATTLE_ROOM_LIGHTS_PLTT,
|
||||
.unk_22 = 1,
|
||||
.unk_23 = 1,
|
||||
},
|
||||
{
|
||||
GX_BGMODE_5,
|
||||
.bgMode = GX_BGMODE_5,
|
||||
NULL,
|
||||
NULL,
|
||||
frontier_scripts_battle_castle,
|
||||
0xC8,
|
||||
0x4A9,
|
||||
0x4,
|
||||
.scriptID = frontier_scripts_battle_castle,
|
||||
.textBankID = TEXT_BANK_BATTLE_CASTLE2,
|
||||
.bgmID = SEQ_PL_BF_CASTLE,
|
||||
.screenSize = BG_SCREEN_SIZE_512x512,
|
||||
.narcID = NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG,
|
||||
0x1A,
|
||||
0x19,
|
||||
0x87,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0x1,
|
||||
0x1,
|
||||
.tilemapIdx = BATTLE_CASTLE_CORRIDOR_TILEMAP,
|
||||
.tilesIdx = BATTLE_CASTLE_CORRIDOR_TILES,
|
||||
.plttIdx = BATTLE_CASTLE_CORRIDOR_PLTT,
|
||||
.subTilemapIdx = -1,
|
||||
.subTilesIdx = -1,
|
||||
.subPlttIdx = -1,
|
||||
.unk_22 = 1,
|
||||
.unk_23 = 1,
|
||||
},
|
||||
{
|
||||
GX_BGMODE_5,
|
||||
.bgMode = GX_BGMODE_5,
|
||||
ov104_0222ECAC,
|
||||
ov104_0222ECE4,
|
||||
frontier_scripts_battle_castle,
|
||||
0xC8,
|
||||
0x4A9,
|
||||
0x1,
|
||||
.scriptID = frontier_scripts_battle_castle,
|
||||
.textBankID = TEXT_BANK_BATTLE_CASTLE2,
|
||||
.bgmID = SEQ_PL_BF_CASTLE,
|
||||
.screenSize = BG_SCREEN_SIZE_256x256,
|
||||
.narcID = NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG,
|
||||
0x1E,
|
||||
0x1D,
|
||||
0x8C,
|
||||
0x21,
|
||||
0x1D,
|
||||
0x8C,
|
||||
0x1,
|
||||
0x1,
|
||||
.tilemapIdx = BATTLE_CASTLE_BATTLE_ROOM_TILEMAP,
|
||||
.tilesIdx = BATTLE_CASTLE_BATTLE_ROOM_TILES,
|
||||
.plttIdx = BATTLE_CASTLE_BATTLE_ROOM_PLTT,
|
||||
.subTilemapIdx = BATTLE_CASTLE_BATTLE_ROOM_CURTAINS_TILEMAP,
|
||||
.subTilesIdx = BATTLE_CASTLE_BATTLE_ROOM_TILES,
|
||||
.subPlttIdx = BATTLE_CASTLE_BATTLE_ROOM_PLTT,
|
||||
.unk_22 = 1,
|
||||
.unk_23 = 1,
|
||||
},
|
||||
{
|
||||
GX_BGMODE_5,
|
||||
.bgMode = GX_BGMODE_5,
|
||||
NULL,
|
||||
NULL,
|
||||
frontier_scripts_battle_castle,
|
||||
0xC8,
|
||||
0x4A9,
|
||||
0x1,
|
||||
.scriptID = frontier_scripts_battle_castle,
|
||||
.textBankID = TEXT_BANK_BATTLE_CASTLE2,
|
||||
.bgmID = SEQ_PL_BF_CASTLE,
|
||||
.screenSize = BG_SCREEN_SIZE_256x256,
|
||||
.narcID = NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG,
|
||||
0x1C,
|
||||
0x1B,
|
||||
0x88,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0x1,
|
||||
0x1,
|
||||
.tilemapIdx = 28,
|
||||
.tilesIdx = 27,
|
||||
.plttIdx = 136,
|
||||
.subTilemapIdx = -1,
|
||||
.subTilesIdx = -1,
|
||||
.subPlttIdx = -1,
|
||||
.unk_22 = 1,
|
||||
.unk_23 = 1,
|
||||
},
|
||||
{
|
||||
GX_BGMODE_5,
|
||||
.bgMode = GX_BGMODE_5,
|
||||
ov104_0222EC90,
|
||||
ov104_0222ECA0,
|
||||
frontier_scripts_unknown_10,
|
||||
0xF,
|
||||
0x444,
|
||||
0x1,
|
||||
.scriptID = frontier_scripts_unknown_10,
|
||||
.textBankID = TEXT_BANK_UNK_0015,
|
||||
.bgmID = SEQ_BF_TOWWER,
|
||||
.screenSize = BG_SCREEN_SIZE_256x256,
|
||||
.narcID = NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG,
|
||||
0x80,
|
||||
0x7F,
|
||||
0xAC,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0x1,
|
||||
0x1,
|
||||
.tilemapIdx = 128,
|
||||
.tilesIdx = 127,
|
||||
.plttIdx = 172,
|
||||
.subTilemapIdx = -1,
|
||||
.subTilesIdx = -1,
|
||||
.subPlttIdx = -1,
|
||||
.unk_22 = 1,
|
||||
.unk_23 = 1,
|
||||
},
|
||||
{
|
||||
GX_BGMODE_5,
|
||||
.bgMode = GX_BGMODE_5,
|
||||
ov104_0222EC18,
|
||||
ov104_0222EC1C,
|
||||
frontier_scripts_battle_arcade,
|
||||
0x219,
|
||||
0x4A7,
|
||||
0x1,
|
||||
.scriptID = frontier_scripts_battle_arcade,
|
||||
.textBankID = TEXT_BANK_UNK_0537,
|
||||
.bgmID = SEQ_PL_BF_ROULETTE,
|
||||
.screenSize = BG_SCREEN_SIZE_256x256,
|
||||
.narcID = NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG,
|
||||
0x37,
|
||||
0x38,
|
||||
0x8F,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0xffff,
|
||||
0x1,
|
||||
0x1,
|
||||
.tilemapIdx = BATTLE_ARCADE_CORRIDOR_TILEMAP,
|
||||
.tilesIdx = BATTLE_ARCADE_CORRIDOR_TILES,
|
||||
.plttIdx = BATTLE_ARCADE_CORRIDOR_PLTT,
|
||||
.subTilemapIdx = -1,
|
||||
.subTilesIdx = -1,
|
||||
.subPlttIdx = -1,
|
||||
.unk_22 = 1,
|
||||
.unk_23 = 1,
|
||||
},
|
||||
{
|
||||
GX_BGMODE_5,
|
||||
.bgMode = GX_BGMODE_5,
|
||||
ov104_0222EC20,
|
||||
ov104_0222EC58,
|
||||
frontier_scripts_battle_arcade,
|
||||
0x219,
|
||||
0x4A7,
|
||||
0x4,
|
||||
.scriptID = frontier_scripts_battle_arcade,
|
||||
.textBankID = TEXT_BANK_UNK_0537,
|
||||
.bgmID = SEQ_PL_BF_ROULETTE,
|
||||
.screenSize = BG_SCREEN_SIZE_512x512,
|
||||
.narcID = NARC_INDEX_RESOURCE__ENG__FRONTIER_GRAPHIC__FRONTIER_BG,
|
||||
0x34,
|
||||
0x36,
|
||||
0x8E,
|
||||
0x39,
|
||||
0x59,
|
||||
0xA9,
|
||||
0x1,
|
||||
0x1,
|
||||
.tilemapIdx = BATTLE_ARCADE_BATTLE_ROOM_TILEMAP,
|
||||
.tilesIdx = BATTLE_ARCADE_BATTLE_ROOM_TILES,
|
||||
.plttIdx = BATTLE_ARCADE_BATTLE_ROOM_PLTT,
|
||||
.subTilemapIdx = BATTLE_ARCADE_BATTLE_ROOM_HP_SCREEN_TILEMAP,
|
||||
.subTilesIdx = BATTLE_ARCADE_BATTLE_ROOM_HP_SCREEN_TILES,
|
||||
.subPlttIdx = BATTLE_ARCADE_BATTLE_ROOM_HP_SCREEN_PLTT,
|
||||
.unk_22 = 1,
|
||||
.unk_23 = 1,
|
||||
},
|
||||
};
|
||||
|
||||
int ov104_0222EA90(int param0, int param1)
|
||||
int GetFrontierSceneValue(int scene, enum FrontierSceneParam sceneParam)
|
||||
{
|
||||
switch (param1) {
|
||||
case 0:
|
||||
return Unk_ov104_0223F394[param0].unk_00;
|
||||
case 1:
|
||||
return Unk_ov104_0223F394[param0].unk_0C;
|
||||
case 2:
|
||||
return Unk_ov104_0223F394[param0].unk_0E;
|
||||
case 3:
|
||||
return Unk_ov104_0223F394[param0].unk_10;
|
||||
case 4:
|
||||
return Unk_ov104_0223F394[param0].unk_12;
|
||||
case 5:
|
||||
return Unk_ov104_0223F394[param0].narcID;
|
||||
case 6:
|
||||
return Unk_ov104_0223F394[param0].unk_16;
|
||||
case 7:
|
||||
return Unk_ov104_0223F394[param0].unk_18;
|
||||
case 8:
|
||||
return Unk_ov104_0223F394[param0].unk_1A;
|
||||
case 9:
|
||||
return Unk_ov104_0223F394[param0].unk_1C;
|
||||
case 10:
|
||||
return Unk_ov104_0223F394[param0].unk_1E;
|
||||
case 11:
|
||||
return Unk_ov104_0223F394[param0].unk_20;
|
||||
case 12:
|
||||
return Unk_ov104_0223F394[param0].unk_22;
|
||||
case 13:
|
||||
return Unk_ov104_0223F394[param0].unk_23;
|
||||
switch (sceneParam) {
|
||||
case FR_SCENE_BGMODE:
|
||||
return sFrontierScenes[scene].bgMode;
|
||||
case FR_SCENE_SCRIPT_ID:
|
||||
return sFrontierScenes[scene].scriptID;
|
||||
case FR_SCENE_BANK_ID:
|
||||
return sFrontierScenes[scene].textBankID;
|
||||
case FR_SCENE_BGM_ID:
|
||||
return sFrontierScenes[scene].bgmID;
|
||||
case FR_SCENE_SCREEN_SIZE:
|
||||
return sFrontierScenes[scene].screenSize;
|
||||
case FR_SCENE_NARC_ID:
|
||||
return sFrontierScenes[scene].narcID;
|
||||
case FR_SCENE_TILEMAP_IDX:
|
||||
return sFrontierScenes[scene].tilemapIdx;
|
||||
case FR_SCENE_TILES_IDX:
|
||||
return sFrontierScenes[scene].tilesIdx;
|
||||
case FR_SCENE_PLTT_IDX:
|
||||
return sFrontierScenes[scene].plttIdx;
|
||||
case FR_SCENE_SUB_TILEMAP_IDX:
|
||||
return sFrontierScenes[scene].subTilemapIdx;
|
||||
case FR_SCENE_SUB_TILES_IDX:
|
||||
return sFrontierScenes[scene].subTilesIdx;
|
||||
case FR_SCENE_SUB_PLTT_IDX:
|
||||
return sFrontierScenes[scene].subPlttIdx;
|
||||
case FR_SCENE_FLAG_1:
|
||||
return sFrontierScenes[scene].unk_22;
|
||||
case FR_SCENE_FLAG_2:
|
||||
return sFrontierScenes[scene].unk_23;
|
||||
}
|
||||
|
||||
GF_ASSERT(0);
|
||||
|
|
@ -400,15 +442,15 @@ int ov104_0222EA90(int param0, int param1)
|
|||
|
||||
void ov104_0222EB8C(UnkStruct_ov104_0223C4CC *param0, void **param1, int param2)
|
||||
{
|
||||
if (Unk_ov104_0223F394[param2].unk_04 != NULL) {
|
||||
Unk_ov104_0223F394[param2].unk_04(param0, param1);
|
||||
if (sFrontierScenes[param2].unk_04 != NULL) {
|
||||
sFrontierScenes[param2].unk_04(param0, param1);
|
||||
}
|
||||
}
|
||||
|
||||
void ov104_0222EBA4(UnkStruct_ov104_0223C4CC *param0, void **param1, int param2)
|
||||
{
|
||||
if (Unk_ov104_0223F394[param2].unk_08 != NULL) {
|
||||
Unk_ov104_0223F394[param2].unk_08(param0, param1);
|
||||
if (sFrontierScenes[param2].unk_08 != NULL) {
|
||||
sFrontierScenes[param2].unk_08(param0, param1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -179,7 +179,7 @@ UnkStruct_ov104_0223C4CC *ov104_0223C2D4(UnkStruct_0209B75C *param0)
|
|||
GXLayers_TurnBothDispOn();
|
||||
GXLayers_EngineAToggleLayers(GX_PLANEMASK_OBJ, 1);
|
||||
GXLayers_EngineBToggleLayers(GX_PLANEMASK_OBJ, 1);
|
||||
Sound_SetSceneAndPlayBGM(SOUND_SCENE_FIELD, ov104_0222EA90(v2, 3), 1);
|
||||
Sound_SetSceneAndPlayBGM(SOUND_SCENE_FIELD, GetFrontierSceneValue(v2, FR_SCENE_BGM_ID), 1);
|
||||
|
||||
RenderControlFlags_SetAutoScrollFlags(AUTO_SCROLL_ENABLED);
|
||||
RenderControlFlags_SetCanABSpeedUpPrint(FALSE);
|
||||
|
|
@ -384,7 +384,7 @@ static void ov104_0223C798(UnkStruct_ov104_0223C4CC *param0)
|
|||
int v0;
|
||||
UnkStruct_ov104_02230BE4 *v1 = sub_0209B970(param0->unk_08);
|
||||
|
||||
v0 = ov104_0222EA90(v1->unk_24, 12);
|
||||
v0 = GetFrontierSceneValue(v1->unk_24, FR_SCENE_FLAG_1);
|
||||
|
||||
switch (v0) {
|
||||
case 0:
|
||||
|
|
@ -393,7 +393,7 @@ static void ov104_0223C798(UnkStruct_ov104_0223C4CC *param0)
|
|||
ov63_0222D228(param0->unk_24, ¶m0->unk_1C);
|
||||
}
|
||||
|
||||
if ((param0->unk_28 != NULL) && (ov104_0222EA90(v1->unk_24, 13) == 1)) {
|
||||
if ((param0->unk_28 != NULL) && (GetFrontierSceneValue(v1->unk_24, FR_SCENE_FLAG_2) == 1)) {
|
||||
ov63_0222D228(param0->unk_28, ¶m0->unk_1C);
|
||||
}
|
||||
break;
|
||||
|
|
@ -416,7 +416,7 @@ static void ov104_0223C7EC(UnkStruct_ov104_0223C4CC *param0)
|
|||
Bg_ScheduleScroll(param0->unk_00, 3, 0, v0);
|
||||
Bg_ScheduleScroll(param0->unk_00, 3, 3, v1);
|
||||
|
||||
if ((ov104_0222EA90(v2->unk_24, 9) != 0xffff) && (ov104_0222EA90(v2->unk_24, 13) == 1)) {
|
||||
if ((GetFrontierSceneValue(v2->unk_24, FR_SCENE_SUB_TILEMAP_IDX) != 0xffff) && (GetFrontierSceneValue(v2->unk_24, FR_SCENE_FLAG_2) == 1)) {
|
||||
Bg_ScheduleScroll(param0->unk_00, 2, 0, v0);
|
||||
Bg_ScheduleScroll(param0->unk_00, 2, 3, v1);
|
||||
}
|
||||
|
|
@ -443,7 +443,7 @@ static void ov104_0223C8E8(UnkStruct_ov104_0223C4CC *param0)
|
|||
|
||||
static void ov104_0223C948(BgConfig *param0, int param1)
|
||||
{
|
||||
int v0 = ov104_0222EA90(param1, 0);
|
||||
GXBGMode bgMode = GetFrontierSceneValue(param1, FR_SCENE_BGMODE);
|
||||
GXLayers_DisableEngineALayers();
|
||||
|
||||
{
|
||||
|
|
@ -476,7 +476,7 @@ static void ov104_0223C948(BgConfig *param0, int param1)
|
|||
GX_BG0_AS_3D
|
||||
};
|
||||
|
||||
v2.mainBgMode = v0;
|
||||
v2.mainBgMode = bgMode;
|
||||
SetAllGraphicsModes(&v2);
|
||||
}
|
||||
|
||||
|
|
@ -525,23 +525,22 @@ static void ov104_0223C948(BgConfig *param0, int param1)
|
|||
.mosaic = FALSE,
|
||||
},
|
||||
};
|
||||
u16 v4;
|
||||
|
||||
if (v0 == GX_BGMODE_0) {
|
||||
if (bgMode == GX_BGMODE_0) {
|
||||
v3[1].colorMode = GX_BG_COLORMODE_16;
|
||||
v3[2].colorMode = GX_BG_COLORMODE_16;
|
||||
v3[1].bgExtPltt = GX_BG_EXTPLTT_01;
|
||||
v3[2].bgExtPltt = GX_BG_EXTPLTT_01;
|
||||
}
|
||||
|
||||
v4 = ov104_0222EA90(param1, 4);
|
||||
v3[2].screenSize = v4;
|
||||
u16 screenSize = GetFrontierSceneValue(param1, FR_SCENE_SCREEN_SIZE);
|
||||
v3[2].screenSize = screenSize;
|
||||
|
||||
if (ov104_0222EA90(param1, 9) != 0xffff) {
|
||||
v3[1].screenSize = v4;
|
||||
if (GetFrontierSceneValue(param1, FR_SCENE_SUB_TILEMAP_IDX) != 0xffff) {
|
||||
v3[1].screenSize = screenSize;
|
||||
}
|
||||
|
||||
if (v0 == GX_BGMODE_0) {
|
||||
if (bgMode == GX_BGMODE_0) {
|
||||
Bg_InitFromTemplate(param0, BG_LAYER_MAIN_1, &v3[0], 0);
|
||||
Bg_ClearTilemap(param0, BG_LAYER_MAIN_1);
|
||||
Bg_SetOffset(param0, BG_LAYER_MAIN_1, 0, 0);
|
||||
|
|
@ -651,16 +650,16 @@ static void ov104_0223CC74(UnkStruct_ov104_0223C4CC *param0, int param1, const T
|
|||
};
|
||||
int v1;
|
||||
|
||||
v0.narcID = ov104_0222EA90(param1, 5);
|
||||
v0.unk_09 = ov104_0222EA90(param1, 6);
|
||||
v1 = ov104_0222EA90(param1, 12);
|
||||
v0.narcID = GetFrontierSceneValue(param1, FR_SCENE_NARC_ID);
|
||||
v0.unk_09 = GetFrontierSceneValue(param1, FR_SCENE_TILEMAP_IDX);
|
||||
v1 = GetFrontierSceneValue(param1, FR_SCENE_FLAG_1);
|
||||
|
||||
if (v1 == 0) {
|
||||
param0->unk_24 = ov63_0222D1C0(SpriteSystem_GetRenderer(param0->unk_34.unk_00), param0->unk_00, &v0, HEAP_ID_94);
|
||||
}
|
||||
|
||||
if (ov104_0222EA90(param1, 9) != 0xffff) {
|
||||
v0.unk_09 = ov104_0222EA90(param1, 9);
|
||||
if (GetFrontierSceneValue(param1, FR_SCENE_SUB_TILEMAP_IDX) != 0xffff) {
|
||||
v0.unk_09 = GetFrontierSceneValue(param1, FR_SCENE_SUB_TILEMAP_IDX);
|
||||
v0.unk_01 = 2;
|
||||
v0.unk_03 = (GX_BG_SCRBASE_0x0800);
|
||||
v0.unk_04 = (GX_BG_CHARBASE_0x20000);
|
||||
|
|
@ -678,57 +677,51 @@ static void ov104_0223CC74(UnkStruct_ov104_0223C4CC *param0, int param1, const T
|
|||
ov63_0222BD50(param0->unk_18, Unk_ov104_022413D8);
|
||||
|
||||
{
|
||||
u32 narcID;
|
||||
NARC *v3;
|
||||
int v4 = ov104_0222EA90(param1, 0);
|
||||
GXBGMode bgMode = GetFrontierSceneValue(param1, FR_SCENE_BGMODE);
|
||||
|
||||
narcID = ov104_0222EA90(param1, 5);
|
||||
v3 = NARC_ctor(narcID, HEAP_ID_94);
|
||||
u32 narcID = GetFrontierSceneValue(param1, FR_SCENE_NARC_ID);
|
||||
NARC *narc = NARC_ctor(narcID, HEAP_ID_94);
|
||||
|
||||
Graphics_LoadTilesToBgLayerFromOpenNARC(v3, ov104_0222EA90(param1, 7), param0->unk_00, 3, 0, 0, 1, HEAP_ID_94);
|
||||
Graphics_LoadTilesToBgLayerFromOpenNARC(narc, GetFrontierSceneValue(param1, FR_SCENE_TILES_IDX), param0->unk_00, 3, 0, 0, 1, HEAP_ID_94);
|
||||
|
||||
if (v4 == GX_BGMODE_0) {
|
||||
PaletteData_LoadBufferFromFileStart(param0->unk_04, narcID, ov104_0222EA90(param1, 8), 94, 0, (10 - 0 + 1) * 0x20, 0 * 16);
|
||||
if (bgMode == GX_BGMODE_0) {
|
||||
PaletteData_LoadBufferFromFileStart(param0->unk_04, narcID, GetFrontierSceneValue(param1, FR_SCENE_PLTT_IDX), 94, 0, (10 - 0 + 1) * 0x20, 0 * 16);
|
||||
} else {
|
||||
NNSG2dPaletteData *v5;
|
||||
void *v6;
|
||||
NNSG2dPaletteData *plttData;
|
||||
|
||||
v6 = Graphics_GetPlttDataFromOpenNARC(v3, ov104_0222EA90(param1, 8), &v5, HEAP_ID_94);
|
||||
DC_FlushRange(v5->pRawData, v5->szByte);
|
||||
void *pltt = Graphics_GetPlttDataFromOpenNARC(narc, GetFrontierSceneValue(param1, FR_SCENE_PLTT_IDX), &plttData, HEAP_ID_94);
|
||||
DC_FlushRange(plttData->pRawData, plttData->szByte);
|
||||
|
||||
GX_BeginLoadBGExtPltt();
|
||||
GX_LoadBGExtPltt(v5->pRawData, 0x6000, 0x2000);
|
||||
GX_LoadBGExtPltt(plttData->pRawData, 0x6000, 0x2000);
|
||||
GX_EndLoadBGExtPltt();
|
||||
|
||||
Heap_Free(v6);
|
||||
Heap_Free(pltt);
|
||||
}
|
||||
|
||||
PaletteData_FillBufferRange(param0->unk_04, 0, 2, 0x0, 0, 1);
|
||||
Graphics_LoadTilemapToBgLayerFromOpenNARC(v3, ov104_0222EA90(param1, 6), param0->unk_00, 3, 0, 0, 1, HEAP_ID_94);
|
||||
Graphics_LoadTilemapToBgLayerFromOpenNARC(narc, GetFrontierSceneValue(param1, FR_SCENE_TILEMAP_IDX), param0->unk_00, 3, 0, 0, 1, HEAP_ID_94);
|
||||
|
||||
if (ov104_0222EA90(param1, 9) != 0xffff) {
|
||||
Graphics_LoadTilesToBgLayerFromOpenNARC(v3, ov104_0222EA90(param1, 10), param0->unk_00, 2, 0, 0, 1, HEAP_ID_94);
|
||||
Graphics_LoadTilemapToBgLayerFromOpenNARC(v3, ov104_0222EA90(param1, 9), param0->unk_00, 2, 0, 0, 1, HEAP_ID_94);
|
||||
if (GetFrontierSceneValue(param1, FR_SCENE_SUB_TILEMAP_IDX) != 0xffff) {
|
||||
Graphics_LoadTilesToBgLayerFromOpenNARC(narc, GetFrontierSceneValue(param1, FR_SCENE_SUB_TILES_IDX), param0->unk_00, 2, 0, 0, 1, HEAP_ID_94);
|
||||
Graphics_LoadTilemapToBgLayerFromOpenNARC(narc, GetFrontierSceneValue(param1, FR_SCENE_SUB_TILEMAP_IDX), param0->unk_00, 2, 0, 0, 1, HEAP_ID_94);
|
||||
|
||||
if (v4 == GX_BGMODE_0) {
|
||||
(void)0;
|
||||
} else {
|
||||
NNSG2dPaletteData *v7;
|
||||
void *v8;
|
||||
if (bgMode != GX_BGMODE_0) {
|
||||
NNSG2dPaletteData *plttData;
|
||||
|
||||
v8 = Graphics_GetPlttDataFromOpenNARC(v3, ov104_0222EA90(param1, 11), &v7, HEAP_ID_94);
|
||||
DC_FlushRange(v7->pRawData, v7->szByte);
|
||||
void *pltt = Graphics_GetPlttDataFromOpenNARC(narc, GetFrontierSceneValue(param1, FR_SCENE_SUB_PLTT_IDX), &plttData, HEAP_ID_94);
|
||||
DC_FlushRange(plttData->pRawData, plttData->szByte);
|
||||
|
||||
GX_BeginLoadBGExtPltt();
|
||||
GX_LoadBGExtPltt(v7->pRawData, 0x4000, 0x2000);
|
||||
GX_LoadBGExtPltt(plttData->pRawData, 0x4000, 0x2000);
|
||||
GX_EndLoadBGExtPltt();
|
||||
|
||||
Heap_Free(v8);
|
||||
Heap_Free(pltt);
|
||||
}
|
||||
}
|
||||
|
||||
Bg_ScheduleTilemapTransfer(param0->unk_00, 3);
|
||||
NARC_dtor(v3);
|
||||
NARC_dtor(narc);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user