More fixes
This commit is contained in:
parent
dee0ba15d4
commit
10efa92153
8 changed files with 99 additions and 39 deletions
|
|
@ -126,7 +126,7 @@ void ObjectSetup(void)
|
|||
// HuSprPosSet(group, 1, 288, 240);
|
||||
// HuSprAttrSet(group, 1, HUSPR_ATTR_DISPOFF);
|
||||
HuWinInit(1);
|
||||
BootTitleCreate();
|
||||
//BootTitleCreate();
|
||||
SystemInitF = 1;
|
||||
}
|
||||
else {
|
||||
|
|
@ -167,16 +167,16 @@ void ObjectSetup(void)
|
|||
// TODO PC
|
||||
MGSeqInit();
|
||||
#endif
|
||||
HuWinInit(1);
|
||||
BootTitleCreate();
|
||||
//HuWinInit(1);
|
||||
//BootTitleCreate();
|
||||
// data = HuSprAnimReadFile(TITLE_HUDSON_ANM);
|
||||
// sprite_hudson = HuSprCreate(data, 0, 0);
|
||||
// HuSprGrpMemberSet(group, 1, sprite_hudson);
|
||||
HuSprPosSet(group, 1, 288, 240);
|
||||
HuSprAttrSet(group, 1, HUSPR_ATTR_DISPOFF);
|
||||
while (OSTicksToMilliseconds(OSGetTick() - tick_prev) < 3000) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
//while (OSTicksToMilliseconds(OSGetTick() - tick_prev) < 3000) {
|
||||
// HuPrcVSleep();
|
||||
//}
|
||||
}
|
||||
else {
|
||||
for (i = 0; i < 180; i++) {
|
||||
|
|
@ -209,9 +209,9 @@ void ObjectSetup(void)
|
|||
//group_samp = HuMemDirectMalloc(HEAP_DATA, msmSysGetSampSize(0));
|
||||
//msmSysLoadGroup(0, group_samp, 0);
|
||||
//HuMemDirectFree(group_samp);
|
||||
while (OSTicksToMilliseconds(OSGetTick() - tick_prev) < 3000) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
//while (OSTicksToMilliseconds(OSGetTick() - tick_prev) < 3000) {
|
||||
// HuPrcVSleep();
|
||||
//}
|
||||
}
|
||||
else {
|
||||
for (i = 0; i < 180; i++) {
|
||||
|
|
@ -234,14 +234,14 @@ void ObjectSetup(void)
|
|||
while (WipeStatGet()) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
tick_prev = OSGetTick();
|
||||
if (!SystemInitF) {
|
||||
HuAudSndGrpSetSet(0);
|
||||
SystemInitF = 1;
|
||||
}
|
||||
while (OSTicksToMilliseconds(OSGetTick() - tick_prev) < 1000) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
//tick_prev = OSGetTick();
|
||||
//if (!SystemInitF) {
|
||||
// HuAudSndGrpSetSet(0);
|
||||
// SystemInitF = 1;
|
||||
//}
|
||||
//while (OSTicksToMilliseconds(OSGetTick() - tick_prev) < 1000) {
|
||||
// HuPrcVSleep();
|
||||
//}
|
||||
HuSprAttrSet(group, 0, HUSPR_ATTR_DISPOFF);
|
||||
HuSprAttrSet(group, 1, HUSPR_ATTR_DISPOFF);
|
||||
group_thp = HuSprGrpCreate(1);
|
||||
|
|
@ -249,11 +249,11 @@ void ObjectSetup(void)
|
|||
//HuSprGrpMemberSet(group_thp, 0, sprite_thp);
|
||||
//HuSprPosSet(group_thp, 0, 288, 240);
|
||||
HuWinMesMaxSizeBetGet(win_size, MAKE_MESSID(54, 0), MAKE_MESSID(54, 4));
|
||||
demoWinId = HuWinCreate(-10000, 448 - win_size[1], win_size[0], win_size[1], 0);
|
||||
HuWinMesSpeedSet(demoWinId, 0);
|
||||
HuWinBGTPLvlSet(demoWinId, 0);
|
||||
HuWinPriSet(demoWinId, 10);
|
||||
HuWinAttrSet(demoWinId, 0x800);
|
||||
//demoWinId = HuWinCreate(-10000, 448 - win_size[1], win_size[0], win_size[1], 0);
|
||||
//HuWinMesSpeedSet(demoWinId, 0);
|
||||
//HuWinBGTPLvlSet(demoWinId, 0);
|
||||
//HuWinPriSet(demoWinId, 10);
|
||||
//HuWinAttrSet(demoWinId, 0x800);
|
||||
HuPrcSleep(5);
|
||||
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10);
|
||||
while (WipeStatGet()) {
|
||||
|
|
@ -622,7 +622,7 @@ void ObjectSetup(void)
|
|||
OSReport(">>>>>>>>MSM_SE_SEL_01 %d\n", msmSeGetEntryID(2092, seNo));
|
||||
OSReport(">>>>>>>>SE Num %d\n", msmSeGetNumPlay(0));
|
||||
#endif
|
||||
HuAudSStreamPlay(20);
|
||||
//HuAudSStreamPlay(20);
|
||||
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 30);
|
||||
while (WipeStatGet()) {
|
||||
HuPrcVSleep();
|
||||
|
|
|
|||
|
|
@ -761,7 +761,7 @@ void fn_1_97F8(s32 arg0)
|
|||
temp_r30 = OM_GET_WORK_PTR(temp_r3, unkTemp2);
|
||||
temp_r30->unk00_bit0 = 0;
|
||||
temp_r30->unk4 = arg0;
|
||||
temp_r30->unk_0C = HuMemDirectMallocNum(0, 0x190, MEMORY_DEFAULT_NUM);
|
||||
temp_r30->unk_0C = HuMemDirectMallocNum(0, 20 * sizeof(unkTemp), MEMORY_DEFAULT_NUM);
|
||||
BoardPlayerPosGet(arg0, &sp8);
|
||||
temp_r30->unk8 = (80.0f + sp8.y);
|
||||
memset(temp_r30->unk_0C, 0, 0x190);
|
||||
|
|
|
|||
|
|
@ -157,7 +157,7 @@ void fn_1_9D0C(omObjData *arg0)
|
|||
s32 var_r30;
|
||||
dataCopy2 *temp_r31;
|
||||
|
||||
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x34, MEMORY_DEFAULT_NUM);
|
||||
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(dataCopy2), MEMORY_DEFAULT_NUM);
|
||||
temp_r31 = arg0->data;
|
||||
temp_r31->unk_02 = 5;
|
||||
temp_r31->unk_04 = 0x3C;
|
||||
|
|
@ -318,7 +318,7 @@ void fn_1_A5B0(omObjData *arg0)
|
|||
BoardModelVisibilitySet(lbl_1_bss_D4, 1);
|
||||
BoardModelMotionTimeSet(lbl_1_bss_D4, 110.0f);
|
||||
lbl_1_bss_C8 = temp_r29 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, fn_1_B3C4);
|
||||
temp_r29->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0xC, MEMORY_DEFAULT_NUM);
|
||||
temp_r29->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(Vec), MEMORY_DEFAULT_NUM);
|
||||
temp_r31 = temp_r29->data;
|
||||
lbl_1_bss_C8->work[1] = 1;
|
||||
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_14[1]), "fish", &sp14);
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ void fn_1_6B7C(void)
|
|||
lbl_1_bss_94 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, fn_1_7284);
|
||||
lbl_1_bss_8C = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, fn_1_78A0);
|
||||
lbl_1_bss_90 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, NULL);
|
||||
lbl_1_bss_90->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x14, MEMORY_DEFAULT_NUM);
|
||||
lbl_1_bss_90->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(dataCopy), MEMORY_DEFAULT_NUM);
|
||||
if (lbl_1_bss_78 == NULL) {
|
||||
lbl_1_bss_78 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_EFFECT, 0x00));
|
||||
HuSprAnimLock(lbl_1_bss_78);
|
||||
|
|
|
|||
|
|
@ -3,12 +3,56 @@
|
|||
|
||||
#include <dolphin.h>
|
||||
|
||||
#ifndef _WIN32
|
||||
#include <sys/time.h>
|
||||
#include <unistd.h>
|
||||
#if __APPLE__
|
||||
#include <mach/mach_time.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#if __APPLE__
|
||||
static u64 MachToDolphinNum;
|
||||
static u64 MachToDolphinDenom;
|
||||
#elif _WIN32
|
||||
static LARGE_INTEGER PerfFrequency;
|
||||
#endif
|
||||
|
||||
// Credits: Super Monkey Ball
|
||||
|
||||
#define MEM_SIZE (64 * 1024 * 1024)
|
||||
|
||||
u8 LC_CACHE_BASE[4096];
|
||||
|
||||
static u64 GetGCTicksPerSec()
|
||||
{
|
||||
return 486000000ull;
|
||||
}
|
||||
|
||||
static u64 GetGCTicks()
|
||||
{
|
||||
#if __APPLE__
|
||||
return mach_absolute_time() * MachToDolphinNum / MachToDolphinDenom;
|
||||
#elif __linux__ || __FreeBSD__
|
||||
struct timespec tp;
|
||||
clock_gettime(CLOCK_MONOTONIC, &tp);
|
||||
|
||||
return u64((tp.tv_sec * 1000000000ull) + tp.tv_nsec) * GetGCTicksPerSec() / 1000000000ull;
|
||||
#elif _WIN32
|
||||
LARGE_INTEGER perf;
|
||||
QueryPerformanceCounter(&perf);
|
||||
perf.QuadPart *= GetGCTicksPerSec();
|
||||
perf.QuadPart /= PerfFrequency.QuadPart;
|
||||
return perf.QuadPart;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
void OSInit()
|
||||
{
|
||||
puts("OSInit is a stub");
|
||||
|
|
@ -16,16 +60,25 @@ void OSInit()
|
|||
|
||||
OSSetArenaLo(arena);
|
||||
OSSetArenaHi(arena + MEM_SIZE);
|
||||
|
||||
#if __APPLE__
|
||||
mach_timebase_info_data_t timebase;
|
||||
mach_timebase_info(&timebase);
|
||||
MachToDolphinNum = GetGCTicksPerSec() * timebase.numer;
|
||||
MachToDolphinDenom = 1000000000ull * timebase.denom;
|
||||
#elif _WIN32
|
||||
QueryPerformanceFrequency(&PerfFrequency);
|
||||
#endif
|
||||
}
|
||||
|
||||
OSTime OSGetTime(void)
|
||||
{
|
||||
return 0;
|
||||
return (OSTime)GetGCTicks();
|
||||
}
|
||||
|
||||
OSTick OSGetTick(void)
|
||||
{
|
||||
return 0;
|
||||
return (OSTick)GetGCTicks();
|
||||
}
|
||||
|
||||
u32 OSGetPhysicalMemSize(void)
|
||||
|
|
|
|||
|
|
@ -536,53 +536,53 @@ VIRetraceCallback VISetPostRetraceCallback(VIRetraceCallback callback)
|
|||
|
||||
void GXSetGPMetric(GXPerf0 perf0, GXPerf1 perf1)
|
||||
{
|
||||
puts("GXSetGPMetric is a stub");
|
||||
// puts("GXSetGPMetric is a stub");
|
||||
}
|
||||
|
||||
void GXReadGPMetric(u32 *cnt0, u32 *cnt1)
|
||||
{
|
||||
puts("GXReadGPMetric is a stub");
|
||||
// puts("GXReadGPMetric is a stub");
|
||||
}
|
||||
|
||||
void GXClearGPMetric(void)
|
||||
{
|
||||
puts("GXClearGPMetric is a stub");
|
||||
// puts("GXClearGPMetric is a stub");
|
||||
}
|
||||
|
||||
void GXReadMemMetric(
|
||||
u32 *cp_req, u32 *tc_req, u32 *cpu_rd_req, u32 *cpu_wr_req, u32 *dsp_req, u32 *io_req, u32 *vi_req, u32 *pe_req, u32 *rf_req, u32 *fi_req)
|
||||
{
|
||||
puts("GXReadMemMetric is a stub");
|
||||
// puts("GXReadMemMetric is a stub");
|
||||
}
|
||||
|
||||
void GXClearMemMetric(void)
|
||||
{
|
||||
puts("GXClearMemMetric is a stub");
|
||||
// puts("GXClearMemMetric is a stub");
|
||||
}
|
||||
|
||||
void GXClearVCacheMetric(void)
|
||||
{
|
||||
puts("GXClearVCacheMetric is a stub");
|
||||
// puts("GXClearVCacheMetric is a stub");
|
||||
}
|
||||
|
||||
void GXReadPixMetric(u32 *top_pixels_in, u32 *top_pixels_out, u32 *bot_pixels_in, u32 *bot_pixels_out, u32 *clr_pixels_in, u32 *copy_clks)
|
||||
{
|
||||
puts("GXReadPixMetric is a stub");
|
||||
// puts("GXReadPixMetric is a stub");
|
||||
}
|
||||
|
||||
void GXClearPixMetric(void)
|
||||
{
|
||||
puts("GXClearPixMetric is a stub");
|
||||
// puts("GXClearPixMetric is a stub");
|
||||
}
|
||||
|
||||
void GXSetVCacheMetric(GXVCachePerf attr)
|
||||
{
|
||||
puts("GXSetVCacheMetric is a stub");
|
||||
// puts("GXSetVCacheMetric is a stub");
|
||||
}
|
||||
|
||||
void GXReadVCacheMetric(u32 *check, u32 *miss, u32 *stall)
|
||||
{
|
||||
puts("GXReadVCacheMetric is a stub");
|
||||
// puts("GXReadVCacheMetric is a stub");
|
||||
}
|
||||
|
||||
void GXSetDrawSync(u16 token)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue