Fixes and stuff

This commit is contained in:
momo5502 2016-10-01 16:48:18 +02:00
parent ac00a60a25
commit b48df26c14
4 changed files with 51 additions and 5 deletions

View File

@ -34,17 +34,24 @@ namespace Components
return;
}
std::string filename = params[1];
const char* data = Game::LoadModdableRawfile(0, filename.data());
FileSystem::File file(params[1]);
if (file.Exists())
{
Utils::IO::WriteFile("raw/" + file.GetName(), file.GetBuffer());
Logger::Print("File '%s' written to raw!\n", file.GetName().data());
return;
}
const char* data = Game::LoadModdableRawfile(0, file.GetName().data());
if (data)
{
Utils::IO::WriteFile("raw/" + filename, data);
Logger::Print("File '%s' written to raw!\n", filename.data());
Utils::IO::WriteFile("raw/" + file.GetName(), data);
Logger::Print("File '%s' written to raw!\n", file.GetName().data());
}
else
{
Logger::Print("File '%s' does not exist!\n", filename.data());
Logger::Print("File '%s' does not exist!\n", file.GetName().data());
}
});
}

View File

@ -245,6 +245,8 @@ namespace Game
int* gameTypeCount = (int*)0x62E50A0;
gameTypeName_t* gameTypes = (gameTypeName_t*)0x62E50A4;
searchpath_t* fs_searchpaths = (searchpath_t*)0x63D96E0;
XBlock** g_streamBlocks = (XBlock**)0x16E554C;
bool* g_lobbyCreateInProgress = (bool*)0x66C9BC2;

View File

@ -536,6 +536,8 @@ namespace Game
extern int* gameTypeCount;
extern gameTypeName_t* gameTypes;
extern searchpath_t* fs_searchpaths;
extern XBlock** g_streamBlocks;
extern bool* g_lobbyCreateInProgress;

View File

@ -2495,6 +2495,41 @@ namespace Game
DWORD unk;
} PartyData_t;
typedef struct fileInPack_s
{
DWORD idk;
char* name;
DWORD idk2;
} fileInPack_t;
typedef struct
{
char pakFilename[256]; // c:\quake3\baseq3\pak0.pk3
char pakBasename[256]; // pak0
char pakGamename[256]; // baseq3
void* handle; // handle to zip file
int checksum;
int pure_checksum; // checksum for pure
int idk; // ?
int numfiles; // number of files in pk3
int referenced; // referenced file flags
int hashSize; // hash table size (power of 2)
fileInPack_t* *hashTable; // hash table
fileInPack_t* buildBuffer;
} pack_t;
typedef struct {
char path[256]; // c:\quake3
char gamedir[256]; // baseq3
} directory_t;
typedef struct searchpath_s
{
searchpath_s* next;
pack_t* pack;
directory_t* dir;
} searchpath_t;
struct SafeArea
{
int fontHeight;