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
7 changes: 7 additions & 0 deletions config/RSBE01_02/splits.txt
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,9 @@ sora/gr/collision/gr_collision_data.cpp:
sora/gr/collision/gr_collision_handle.cpp:
.text start:0x801122E4 end:0x8011234C

sora/gr/gr_path.cpp:
.text start:0x80139570 end:0x80139658

sora/ac/ac_cmd_interpreter.cpp:
.text start:0x80139658 end:0x8013CA1C
.rodata start:0x80409520 end:0x8040964C
Expand Down Expand Up @@ -183,6 +186,10 @@ sora/ft/ft_system.cpp:
.bss start:0x8049EA20 end:0x8049EA30
.sbss start:0x805A0380 end:0x805A0388

sora/nt/d_net_connect.cpp:
.text start:0x8014CC40 end:0x8014CD5C
.data start:0x80460DC8 end:0x80460E00

sora/nt/nt_etc_dwc.cpp:
.text start:0x80150614 end:0x80150CE4
.data start:0x80461070 end:0x804610F8
Expand Down
20 changes: 10 additions & 10 deletions config/RSBE01_02/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4677,7 +4677,7 @@ fn_800C71EC = .text:0x800C71EC; // type:function size:0x9C
fn_800C7288 = .text:0x800C7288; // type:function size:0x9C
fn_800C7324 = .text:0x800C7324; // type:function size:0xEC
create__19muWifiInterfaceTaskFv = .text:0x800C7410; // type:function size:0xDC
fn_800C74EC = .text:0x800C74EC; // type:function size:0x50
netReport__FPCce = .text:0x800C74EC; // type:function size:0x50
fn_800C753C = .text:0x800C753C; // type:function size:0x68
fn_800C75A4 = .text:0x800C75A4; // type:function size:0x10
fn_800C75B4 = .text:0x800C75B4; // type:function size:0x58
Expand Down Expand Up @@ -5945,7 +5945,7 @@ fn_80138CB4 = .text:0x80138CB4; // type:function size:0x224
fn_80138ED8 = .text:0x80138ED8; // type:function size:0x48
fn_80138F20 = .text:0x80138F20; // type:function size:0x300
fn_80139220 = .text:0x80139220; // type:function size:0x350
fn_80139570 = .text:0x80139570; // type:function size:0xE8
relocation__21grFixedPathCollectionFv = .text:0x80139570; // type:function size:0xE8
__ct__16acCmdInterpreterFP44soArrayVector<25acCmdInterpreterStackData,8>lP13acAnimCmdConvPCUcf = .text:0x80139658; // type:function size:0x70
__dt__13acAnimCmdImplFv = .text:0x801396C8; // type:function size:0x40
__dt__16acCmdInterpreterFv = .text:0x80139708; // type:function size:0x40
Expand Down Expand Up @@ -6142,7 +6142,7 @@ fn_801478E8 = .text:0x801478E8; // type:function size:0x44
fn_8014792C = .text:0x8014792C; // type:function size:0x360
fn_80147C8C = .text:0x80147C8C; // type:function size:0x10
fn_80147C9C = .text:0x80147C9C; // type:function size:0x224
fn_80147EC0 = .text:0x80147EC0; // type:function size:0x50
netReport0__FPCce = .text:0x80147EC0; // type:function size:0x50
fn_80147F10 = .text:0x80147F10; // type:function size:0x300
fn_80148210 = .text:0x80148210; // type:function size:0x70
fn_80148280 = .text:0x80148280; // type:function size:0x48
Expand All @@ -6165,8 +6165,8 @@ fn_80149644 = .text:0x80149644; // type:function size:0x1AC
fn_801497F0 = .text:0x801497F0; // type:function size:0xC0
fn_801498B0 = .text:0x801498B0; // type:function size:0x60
fn_80149910 = .text:0x80149910; // type:function size:0x8
fn_80149918 = .text:0x80149918; // type:function size:0x70
fn_80149988 = .text:0x80149988; // type:function size:0x5C
ntAlloc__12DWCAllocTypeFiUlUl = .text:0x80149918; // type:function size:0x70
ntFree__12DWCAllocTypeFiPv = .text:0x80149988; // type:function size:0x5C
fn_801499E4 = .text:0x801499E4; // type:function size:0x68
fn_80149A4C = .text:0x80149A4C; // type:function size:0x54
fn_80149AA0 = .text:0x80149AA0; // type:function size:0x120
Expand Down Expand Up @@ -6213,10 +6213,10 @@ fn_8014CB40 = .text:0x8014CB40; // type:function size:0xC
fn_8014CB4C = .text:0x8014CB4C; // type:function size:0x30
fn_8014CB7C = .text:0x8014CB7C; // type:function size:0x7C
fn_8014CBF8 = .text:0x8014CBF8; // type:function size:0x48
fn_8014CC40 = .text:0x8014CC40; // type:function size:0x8
fn_8014CC48 = .text:0x8014CC48; // type:function size:0x4
_Alloc__FiUl = .text:0x8014CC40; // type:function size:0x8
_Free__FiPv = .text:0x8014CC48; // type:function size:0x4
dNetConnect_Start__Fv = .text:0x8014CC4C; // type:function size:0xEC
fn_8014CD38 = .text:0x8014CD38; // type:function size:0x24
dNetConnect_Finish__Fv = .text:0x8014CD38; // type:function size:0x24
fn_8014CD5C = .text:0x8014CD5C; // type:function size:0x4
fn_8014CD60 = .text:0x8014CD60; // type:function size:0x1C
fn_8014CD7C = .text:0x8014CD7C; // type:function size:0xE4
Expand Down Expand Up @@ -14988,9 +14988,9 @@ fn_803A5C88 = .text:0x803A5C88; // type:function size:0x28
fn_803A5CB0 = .text:0x803A5CB0; // type:function size:0xC0
fn_803A5D70 = .text:0x803A5D70; // type:function size:0xD0
SOInit = .text:0x803A5E40; // type:function size:0x1C8
fn_803A6008 = .text:0x803A6008; // type:function size:0xFC
SOFinish = .text:0x803A6008; // type:function size:0xFC
SOStartupEx = .text:0x803A6104; // type:function size:0x428
fn_803A652C = .text:0x803A652C; // type:function size:0x1B0
SOCleanup = .text:0x803A652C; // type:function size:0x1B0
fn_803A66DC = .text:0x803A66DC; // type:function size:0xC
fn_803A66E8 = .text:0x803A66E8; // type:function size:0x8
fn_803A66F0 = .text:0x803A66F0; // type:function size:0x50
Expand Down
2 changes: 2 additions & 0 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -321,10 +321,12 @@ def MatchingFor(*versions):
Object(Matching, "sora/if/if_adv_task.cpp"),
Object(Matching, "sora/gr/collision/gr_collision_data.cpp"),
Object(Matching, "sora/gr/collision/gr_collision_handle.cpp"),
Object(NonMatching, "sora/gr/gr_path.cpp"),
Object(NonMatching, "sora/ac/ac_cmd_interpreter.cpp"),
Object(Matching, "sora/ac/ac_anim_cmd_impl.cpp"),
Object(Matching, "sora/ac/ac_null.cpp"),
Object(Matching, "sora/ft/ft_system.cpp"),
Object(Matching, "sora/nt/d_net_connect.cpp"),
Object(Matching, "sora/nt/nt_etc_dwc.cpp", extra_cflags=["-RTTI off"]),
Object(Matching, "sora/ad/ad_static_data.cpp"),
Object(Matching, "sora/st/st_data_container.cpp"),
Expand Down
18 changes: 18 additions & 0 deletions src/sora/gr/gr_path.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#include <StaticAssert.h>
#include <gr/gr_path.h>
#include <types.h>

typedef grFixedPath::UnkClass UnkClass;

// NONMATCHING regswap
void grFixedPathCollection::relocation() {
m_paths = m_pathData;
u32 offset = 0;
u32 count = m_count;
UnkClass* data = reinterpret_cast<UnkClass*>(m_paths + m_count);
for (u32 i = 0; i != count; i++) {
grFixedPath* p = &m_paths[i];
p->m_data = data + offset;
offset += p->m_offsetToNextEntry;
}
}
41 changes: 41 additions & 0 deletions src/sora/nt/d_net_connect.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#include <cstring>
#include <mu/wifi/mu_wifi_interface.h>
#include <nt/d_net_connect.h>
#include <nt/nt_match.h>
#include <revolution/SO/SOBasic.h>
#include <types.h>

static void* _Alloc(int p1, u32 p2) {
return DWCAllocType::ntAlloc(p1, p2, 32);
}

static void _Free(int p1, void* p2) {
DWCAllocType::ntFree(p1, p2);
}

s32 dNetConnect_Start() {
netReport("SOInit() ");
SOInitInfo info;
std::memset(&info, 0, sizeof(SOInitInfo));
info.allocator = _Alloc;
info.dealloc = _Free;
int err = SOInit(&info);
if (err) {
netReport0("failed (%d)\n", err);
return err;
}
netReport0("success\n");
netReport("SOStartup() ");
err = SOStartupEx(180000);
if (err) {
netReport0("failed (%d)\n", err);
return err;
}
netReport0("success\n");
return err;
}

void dNetConnect_Finish() {
SOCleanup();
SOFinish();
}