mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 11:26:18 -04:00
set up fake iso system class
This commit is contained in:
parent
7661301b5f
commit
379622b70b
|
@ -252,8 +252,13 @@ set(RUNTIME_SOURCE
|
|||
overlord/jak2/streamlist.cpp
|
||||
overlord/jak2/vag.cpp
|
||||
overlord/jak3/start.cpp
|
||||
overlord/jak3/iso_fake.cpp
|
||||
overlord/jak3/iso.cpp
|
||||
overlord/jak3/overlord.cpp
|
||||
overlord/jak3/pagemanager.cpp
|
||||
overlord/jak3/ramdisk.cpp
|
||||
overlord/jak3/sbank.cpp
|
||||
overlord/jak3/srpc.cpp
|
||||
overlord/jak3/ssound.cpp
|
||||
overlord/jak3/vblank_handler.cpp
|
||||
runtime.cpp
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#pragma once
|
||||
|
||||
#include "game/overlord/jak3/iso.h"
|
||||
#include "game/overlord/jak3/iso_structs.h"
|
||||
#include "game/overlord/jak3/overlord.h"
|
||||
|
||||
|
@ -11,9 +12,8 @@ class CBaseFile {
|
|||
virtual EIsoStatus SyncRead() = 0;
|
||||
virtual void Close() = 0;
|
||||
|
||||
/* unk return values */
|
||||
/* unk return values */
|
||||
virtual void Unk1() = 0;
|
||||
virtual void Unk2() = 0;
|
||||
};
|
||||
} // namespace jak3
|
||||
|
||||
|
|
|
@ -2,7 +2,11 @@
|
|||
|
||||
#include <cstring>
|
||||
|
||||
#include "common/log/log.h"
|
||||
|
||||
#include "game/common/dgo_rpc_types.h"
|
||||
#include "game/overlord/jak3/basefilesystem.h"
|
||||
#include "game/overlord/jak3/iso_fake.h"
|
||||
|
||||
namespace jak3 {
|
||||
using namespace iop;
|
||||
|
@ -12,6 +16,27 @@ static ISO_LoadDGO s_LoadDGO;
|
|||
int s_nSyncMbx;
|
||||
CBaseFileSystem* g_pFileSystem;
|
||||
MsgPacket s_MsgPacket_NotOnStackSync[2];
|
||||
RPC_Dgo_Cmd s_aISO_RPCBuf[1];
|
||||
|
||||
static void* RPC_DGO(u32 fno, void* data, int size) {
|
||||
lg::error("RPC_DGO UNIMPLEMENTED");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
static u32 DGOThread() {
|
||||
sceSifQueueData dq;
|
||||
sceSifServeData serve;
|
||||
|
||||
CpuDisableIntr();
|
||||
sceSifInitRpc(0);
|
||||
sceSifSetRpcQueue(&dq, GetThreadId());
|
||||
sceSifRegisterRpc(&serve, 0xfab3, RPC_DGO, s_aISO_RPCBuf, sizeof(s_aISO_RPCBuf), nullptr, nullptr,
|
||||
&dq);
|
||||
CpuEnableIntr();
|
||||
sceSifRpcLoop(&dq);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* COMPLETE */
|
||||
void InitDriver() {
|
||||
|
@ -47,6 +72,7 @@ int InitISOFS(const char* fs_mode, const char* loading_sceeen) {
|
|||
|
||||
memset(&s_LoadDGO, 0, sizeof(s_LoadDGO));
|
||||
s_nISOInitFlag = 1;
|
||||
g_pFileSystem = &g_FakeISOCDFileSystem;
|
||||
|
||||
return s_nISOInitFlag;
|
||||
}
|
||||
|
|
|
@ -21,4 +21,5 @@ struct ISO_Msg : ISO_Hdr {};
|
|||
|
||||
struct ISO_LoadDGO : ISO_Msg {};
|
||||
|
||||
int InitISOFS(const char* fs_mode, const char* loading_sceeen);
|
||||
} // namespace jak3
|
||||
|
|
36
game/overlord/jak3/iso_fake.cpp
Normal file
36
game/overlord/jak3/iso_fake.cpp
Normal file
|
@ -0,0 +1,36 @@
|
|||
#include "iso_fake.h"
|
||||
|
||||
namespace jak3 {
|
||||
CFakeISOCDFileSystem g_FakeISOCDFileSystem;
|
||||
|
||||
int CFakeISOCDFileSystem::Init() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void CFakeISOCDFileSystem::PollDrive() {}
|
||||
|
||||
const ISOFileDef* CFakeISOCDFileSystem::Find(const char* name) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const ISOFileDef* CFakeISOCDFileSystem::FindIN(const char* name) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
int CFakeISOCDFileSystem::GetLength(const ISOFileDef* def) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int CFakeISOCDFileSystem::Open(const ISOFileDef* def, int offset, EFileComp mode) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int CFakeISOCDFileSystem::OpenWad(const ISOFileDef* def, int offset) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
VagDirEntryJak3* CFakeISOCDFileSystem::FindVagFile(const char* name) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
} // namespace jak3
|
35
game/overlord/jak3/iso_fake.h
Normal file
35
game/overlord/jak3/iso_fake.h
Normal file
|
@ -0,0 +1,35 @@
|
|||
#ifndef ISO_FAKE_H_
|
||||
#define ISO_FAKE_H_
|
||||
|
||||
#include "basefile.h"
|
||||
#include "basefilesystem.h"
|
||||
|
||||
#include "game/overlord/jak3/iso.h"
|
||||
|
||||
namespace jak3 {
|
||||
class CFakeISOCDFileSystem : public CBaseFileSystem {
|
||||
int Init() override;
|
||||
void PollDrive() override;
|
||||
const ISOFileDef* Find(const char* name) override;
|
||||
const ISOFileDef* FindIN(const char* name) override;
|
||||
int GetLength(const ISOFileDef* def) override;
|
||||
int Open(const ISOFileDef* def, int offset, EFileComp mode) override;
|
||||
int OpenWad(const ISOFileDef* def, int offset) override;
|
||||
VagDirEntryJak3* FindVagFile(const char* name) override;
|
||||
};
|
||||
|
||||
class CFakeISOCDFile : public CBaseFile {
|
||||
EIsoStatus BeginRead(ISOBuffer*) override;
|
||||
EIsoStatus SyncRead() override;
|
||||
void Close() override;
|
||||
|
||||
/* unk return values */
|
||||
void Unk1() override;
|
||||
void Unk2() override;
|
||||
};
|
||||
|
||||
extern CFakeISOCDFileSystem g_FakeISOCDFileSystem;
|
||||
|
||||
} // namespace jak3
|
||||
|
||||
#endif // ISO_FAKE_H_
|
|
@ -24,7 +24,7 @@ struct VagDirJak3 {
|
|||
u32 version;
|
||||
u32 count;
|
||||
VagDirEntryJak3 entries[0];
|
||||
} dir;
|
||||
};
|
||||
|
||||
struct VagDirEntry {};
|
||||
|
||||
|
|
|
@ -23,7 +23,8 @@ u32 Thread_Server() {
|
|||
CpuDisableIntr();
|
||||
sceSifInitRpc(0);
|
||||
sceSifSetRpcQueue(&dq, GetThreadId());
|
||||
sceSifRegisterRpc(&serve, 0xfab2, RPC_Ramdisk, gRamDisk_RPCBUF, nullptr, nullptr, &dq);
|
||||
sceSifRegisterRpc(&serve, 0xfab2, RPC_Ramdisk, gRamDisk_RPCBUF, sizeof(gRamDisk_RPCBUF), nullptr,
|
||||
nullptr, &dq);
|
||||
CpuEnableIntr();
|
||||
sceSifRpcLoop(&dq);
|
||||
|
||||
|
|
|
@ -30,7 +30,8 @@ u32 Thread_Player() {
|
|||
CpuDisableIntr();
|
||||
sceSifInitRpc(0);
|
||||
sceSifSetRpcQueue(&dq, GetThreadId());
|
||||
sceSifRegisterRpc(&serve, 0xfab0, RPC_Player, s_anSRPC_PlayerBuf, nullptr, nullptr, &dq);
|
||||
sceSifRegisterRpc(&serve, 0xfab0, RPC_Player, s_anSRPC_PlayerBuf, sizeof(s_anSRPC_PlayerBuf),
|
||||
nullptr, nullptr, &dq);
|
||||
CpuEnableIntr();
|
||||
sceSifRpcLoop(&dq);
|
||||
|
||||
|
@ -44,7 +45,8 @@ u32 Thread_Loader() {
|
|||
CpuDisableIntr();
|
||||
sceSifInitRpc(0);
|
||||
sceSifSetRpcQueue(&dq, GetThreadId());
|
||||
sceSifRegisterRpc(&serve, 0xfab1, RPC_Loader, s_anSRPC_LoaderBuf, nullptr, nullptr, &dq);
|
||||
sceSifRegisterRpc(&serve, 0xfab1, RPC_Loader, s_anSRPC_LoaderBuf, sizeof(s_anSRPC_LoaderBuf),
|
||||
nullptr, nullptr, &dq);
|
||||
CpuEnableIntr();
|
||||
sceSifRpcLoop(&dq);
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <cstdio>
|
||||
#include <cstring>
|
||||
|
||||
#include "iso.h"
|
||||
#include "overlord.h"
|
||||
#include "ramdisk.h"
|
||||
#include "sbank.h"
|
||||
|
@ -70,7 +71,7 @@ int start_overlord(int argc, const char* const* argp) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
//CDvdDriver::Initialize(&g_DvdDriver);
|
||||
// CDvdDriver::Initialize(&g_DvdDriver);
|
||||
InitISOFS(argp[1], argp[2]);
|
||||
|
||||
StartThread(g_nServerThreadID, 0);
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
|
||||
#include "common/common_types.h"
|
||||
|
||||
#ifdef OS_POSIX
|
||||
#include <unistd.h>
|
||||
|
||||
|
@ -78,6 +79,7 @@
|
|||
#include "game/overlord/jak2/stream.h"
|
||||
#include "game/overlord/jak2/streamlist.h"
|
||||
#include "game/overlord/jak2/vag.h"
|
||||
#include "game/overlord/jak3/overlord.h"
|
||||
#include "game/system/Deci2Server.h"
|
||||
#include "game/system/iop_thread.h"
|
||||
#include "sce/deci2.h"
|
||||
|
@ -323,9 +325,11 @@ void iop_runner(SystemThreadInterface& iface, GameVersion version) {
|
|||
jak1::start_overlord_wrapper(iop.overlord_argc, iop.overlord_argv, &complete);
|
||||
break;
|
||||
case GameVersion::Jak2:
|
||||
case GameVersion::Jak3: // TODO: jak3 using jak2's overlord.
|
||||
jak2::start_overlord_wrapper(iop.overlord_argc, iop.overlord_argv, &complete);
|
||||
break;
|
||||
case GameVersion::Jak3:
|
||||
jak3::start_overlord_wrapper(iop.overlord_argc, iop.overlord_argv, &complete);
|
||||
break;
|
||||
default:
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue