Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions config/RSBE01_02/rels/sora_melee/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23442,8 +23442,8 @@ fn_27_2C33C4 = .text:0x002C33C4; // type:function size:0x1EC
fn_27_2C35B0 = .text:0x002C35B0; // type:function size:0x9C
fn_27_2C364C = .text:0x002C364C; // type:function size:0x224
fn_27_2C3870 = .text:0x002C3870; // type:function size:0x774
fn_27_2C3FE4 = .text:0x002C3FE4; // type:function size:0x104
fn_27_2C40E8 = .text:0x002C40E8; // type:function size:0x1C
create__13muAdvSealTaskFPC18muAdvSealTaskParamP9gfArchive = .text:0x002C3FE4; // type:function size:0x104
getResourcePackData__13muAdvSealTaskFPPCcPUl = .text:0x002C40E8; // type:function size:0x1C
fn_27_2C4104 = .text:0x002C4104; // type:function size:0x378
fn_27_2C447C = .text:0x002C447C; // type:function size:0x2D4
fn_27_2C4750 = .text:0x002C4750; // type:function size:0x314
Expand Down
5 changes: 5 additions & 0 deletions config/RSBE01_02/rels/sora_scene/splits.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ mo_scene/sora_scene/sc_seal_list.cpp:
.text start:0x00007070 end:0x00007230
.data start:0x000017F0 end:0x000018D8

mo_scene/sora_scene/sc_seal_disp.cpp:
.text start:0x00007230 end:0x000074B4
.rodata start:0x00000018 end:0x00000020
.data start:0x000018D8 end:0x00001920

mo_scene/sora_scene/sc_net_time_result.cpp:
.text start:0x0000C824 end:0x0000C9C4
.data start:0x000040D0 end:0x00004140
Expand Down
14 changes: 7 additions & 7 deletions config/RSBE01_02/rels/sora_scene/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -103,11 +103,11 @@ start__10scSealListFv = .text:0x000070B8; // type:function size:0x68
process__10scSealListFv = .text:0x00007120; // type:function size:0x44
exit__10scSealListFv = .text:0x00007164; // type:function size:0x48
setModule__10scSealListFv = .text:0x000071AC; // type:function size:0x84
fn_1_7230 = .text:0x00007230; // type:function size:0x60
fn_1_7290 = .text:0x00007290; // type:function size:0x4
fn_1_7294 = .text:0x00007294; // type:function size:0xBC
fn_1_7350 = .text:0x00007350; // type:function size:0xBC
fn_1_740C = .text:0x0000740C; // type:function size:0xA8
create__10scSealDispFv = .text:0x00007230; // type:function size:0x60
setModule__10scSealDispFv = .text:0x00007290; // type:function size:0x4
start__10scSealDispFv = .text:0x00007294; // type:function size:0xBC
process__10scSealDispFv = .text:0x00007350; // type:function size:0xBC
exit__10scSealDispFv = .text:0x0000740C; // type:function size:0xA8
fn_1_74B4 = .text:0x000074B4; // type:function size:0x48
fn_1_74FC = .text:0x000074FC; // type:function size:0x1CC
fn_1_76C8 = .text:0x000076C8; // type:function size:0x68
Expand Down Expand Up @@ -1035,10 +1035,10 @@ lbl_1_data_189C = .data:0x0000189C; // type:object size:0xC scope:local
__RTTI__10scSealList = .data:0x000018A8; // type:object size:0x8
lbl_1_data_18B0 = .data:0x000018B0; // type:object size:0x28
lbl_1_data_18D8 = .data:0x000018D8; // type:object size:0xB data:string
lbl_1_data_18E8 = .data:0x000018E8; // type:object size:0x18
__vt__10scSealDisp = .data:0x000018E8; // type:object size:0x18
lbl_1_data_1900 = .data:0x00001900; // type:object size:0xB data:string
lbl_1_data_190C = .data:0x0000190C; // type:object size:0xC
lbl_1_data_1918 = .data:0x00001918; // type:object size:0x8
__RTTI__10scSealDisp = .data:0x00001918; // type:object size:0x8
lbl_1_data_1920 = .data:0x00001920; // type:object size:0x88
lbl_1_data_19A8 = .data:0x000019A8; // type:object size:0x18
lbl_1_data_19C0 = .data:0x000019C0; // type:object size:0xE data:string
Expand Down
1 change: 1 addition & 0 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -979,6 +979,7 @@ def MatchingFor(*versions):
Object(Matching, "mo_scene/sora_scene/sc_tutorial.cpp"),
Object(Matching, "mo_scene/sora_scene/sc_staffroll.cpp"),
Object(Matching, "mo_scene/sora_scene/sc_seal_list.cpp"),
Object(Matching, "mo_scene/sora_scene/sc_seal_disp.cpp"),
Object(Matching, "mo_scene/sora_scene/sc_net_time_result.cpp"),
Object(Matching, "mo_scene/sora_scene/sc_adv_selchar.cpp"),
Object(Matching, "mo_scene/sora_scene/sc_adv_diff.cpp"),
Expand Down
66 changes: 66 additions & 0 deletions src/mo_scene/sora_scene/sc_seal_disp.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#include <gf/gf_resource_loader.h>
#include <gf/gf_scene.h>
#include <gf/gf_task.h>
#include <mu/adv/mu_adv_seal.h>
#include <sc/sc_seal_disp.h>
#include <sr/sr_common.h>
#include <types.h>

scSealDisp* scSealDisp::create() {
return new (Heaps::GlobalMode) scSealDisp("scSealDisp");
}

void scSealDisp::setModule() { }

static const muAdvSealTaskParam g_TaskParam = { 0x1000000, 0 };

void scSealDisp::start() {
const char* path;
u32 size;

m_archive = new (Heaps::MenuResource) gfArchive;
m_loader = new (Heaps::MenuResource) gfResourceLoader;
muAdvSealTask::getResourcePackData(&path, &size);
m_loader->loadResourceMemSizeOrder(Heaps::MenuResource, path, m_archive, size);
m_state = 0;
}

s32 scSealDisp::process() {
switch (m_state) {
case 0:
if (m_loader->isLoaded()) {
muAdvSealTaskParam param = g_TaskParam;
m_task = muAdvSealTask::create(&param, m_archive);
m_state = 1;
}
break;
case 1:
if (m_task && m_task->unk40) {
gfSceneManager* mgr = gfSceneManager::getInstance();
mgr->unk1 = 0;
mgr->processStep = 2;
m_state = -1;
}
break;
default:
break;
}
return 0;
}

s32 scSealDisp::exit() {
if (m_task) {
m_task->exit();
m_task = nullptr;
}
if (m_archive) {
delete m_archive;
m_archive = nullptr;
}
if (m_loader) {
delete m_loader;
m_loader = nullptr;
}
m_state = -1;
return 0;
}
6 changes: 3 additions & 3 deletions src/sora/gf/gf_resource_loader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ void* gfResourceLoader::load(HeapType heapTy, const char* path, gfArchive* archi
m_rsrcPtr = gfHeapManager::alloc(heapTy, m_allocSize);
m_compressedRsrcPtr = static_cast<char*>(m_rsrcPtr) + m_allocSize - gfFileIO::getFileSize(path);
if (m_doCachedRead) {
readRequestCached(path, m_compressedRsrcPtr, 0, 0);
m_handle.readRequestCached(path, m_compressedRsrcPtr, 0, 0);
} else {
readRequest(path, m_compressedRsrcPtr, 0, 0);
m_handle.readRequest(path, m_compressedRsrcPtr, 0, 0);
}
m_heapTy = heapTy;
m_isLoaded = false;
Expand All @@ -34,7 +34,7 @@ bool gfResourceLoader::isLoaded() {
if (m_isLoaded == true) {
return true;
}
if (!isReady()) {
if (!m_handle.isReady()) {
return false;
}
m_rsrcSize = CXGetUncompressedSize(m_compressedRsrcPtr);
Expand Down
Loading