mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-12-08 18:36:00 +03:00
Compare commits
No commits in common. "eed536042d0f15a5cf4affe09f21209d7d0c7133" and "6c5c560dc785153a550d535da3e9fcbae576617b" have entirely different histories.
eed536042d
...
6c5c560dc7
File diff suppressed because it is too large
Load Diff
@ -6,11 +6,9 @@
|
|||||||
|
|
||||||
struct lua_State;
|
struct lua_State;
|
||||||
|
|
||||||
#define NUM_SCRIPT_FUNCTIONS_GAME 310
|
|
||||||
#define NUM_SCRIPT_FUNCTIONS_CAMERA 22
|
#define NUM_SCRIPT_FUNCTIONS_CAMERA 22
|
||||||
|
|
||||||
namespace GameScript {
|
namespace GameScript {
|
||||||
extern FrameScript_Method s_ScriptFunctions_Game[NUM_SCRIPT_FUNCTIONS_GAME];
|
|
||||||
extern FrameScript_Method s_ScriptFunctions_Camera[NUM_SCRIPT_FUNCTIONS_CAMERA];
|
extern FrameScript_Method s_ScriptFunctions_Camera[NUM_SCRIPT_FUNCTIONS_CAMERA];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -156,12 +156,7 @@ void FrameScript_CreateEvents(const char* names[], uint32_t count) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void FrameScript_Destroy() {
|
void FrameScript_Destroy() {
|
||||||
lua_close(FrameScript::s_context);
|
// TODO
|
||||||
FrameScript::s_context = nullptr;
|
|
||||||
luaM_freePool(FrameScript::s_mempool);
|
|
||||||
FrameScript::s_mempool = nullptr;
|
|
||||||
FrameScript::s_scriptEventsHash.Clear();
|
|
||||||
FrameScript::s_scriptEvents.Clear();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void FrameScript_Execute(const char* source, const char* filename, const char* a3) {
|
void FrameScript_Execute(const char* source, const char* filename, const char* a3) {
|
||||||
|
|||||||
@ -272,10 +272,9 @@ int32_t FrameXML_CreateFrames(const char* tocPath, const char* a2, MD5_CTX* md5,
|
|||||||
tocData = tocData + 3;
|
tocData = tocData + 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
CStatus frameStatus;
|
CStatus v21;
|
||||||
char tocLine[1024];
|
char tocLine[1024];
|
||||||
char tocEntryPath[260];
|
char tocEntryPath[260];
|
||||||
int32_t v25 = 0;
|
|
||||||
|
|
||||||
do {
|
do {
|
||||||
SStrTokenize(&tocData, tocLine, 1024, "\r\n", 0);
|
SStrTokenize(&tocData, tocLine, 1024, "\r\n", 0);
|
||||||
@ -308,7 +307,7 @@ int32_t FrameXML_CreateFrames(const char* tocPath, const char* a2, MD5_CTX* md5,
|
|||||||
|
|
||||||
*v12 = 0;
|
*v12 = 0;
|
||||||
|
|
||||||
FrameXML_ProcessFile(tocEntryPath, a2, md5, &frameStatus);
|
FrameXML_ProcessFile(tocEntryPath, a2, md5, &v21);
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
// if (s_progressCallback && s_progressFiles < s_progressTotal) {
|
// if (s_progressCallback && s_progressFiles < s_progressTotal) {
|
||||||
@ -325,11 +324,13 @@ int32_t FrameXML_CreateFrames(const char* tocPath, const char* a2, MD5_CTX* md5,
|
|||||||
|
|
||||||
SFile::Unload(tocBuffer);
|
SFile::Unload(tocBuffer);
|
||||||
|
|
||||||
if (FrameXML::s_debugLevel > 0 || v25 > 0) {
|
// TODO
|
||||||
frameStatus.Prepend(STATUS_INFO, "** Loading table of contents %s", v5);
|
// if (s_debugLevel > 0 || v25 > 0) {
|
||||||
}
|
// v21.Prepend(STATUS_INFO, "** Loading table of contents %s", v5);
|
||||||
|
// }
|
||||||
|
|
||||||
status->Add(frameStatus);
|
// TODO
|
||||||
|
// status->Add(v21);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -416,7 +417,7 @@ int32_t FrameXML_ProcessFile(const char* filePath, const char* a2, MD5_CTX* md5,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
CStatus fileStatus;
|
CStatus unkStatus;
|
||||||
|
|
||||||
XMLNode* node = XMLTree_GetRoot(tree)->m_child;
|
XMLNode* node = XMLTree_GetRoot(tree)->m_child;
|
||||||
|
|
||||||
@ -427,8 +428,6 @@ int32_t FrameXML_ProcessFile(const char* filePath, const char* a2, MD5_CTX* md5,
|
|||||||
// Should come from some kind of Lua headers
|
// Should come from some kind of Lua headers
|
||||||
const char* lua_tainted = nullptr;
|
const char* lua_tainted = nullptr;
|
||||||
|
|
||||||
int32_t v34 = 0;
|
|
||||||
|
|
||||||
while (node) {
|
while (node) {
|
||||||
// <Include>
|
// <Include>
|
||||||
if (!SStrCmpI(node->GetName(), "Include", 0x7FFFFFFFu)) {
|
if (!SStrCmpI(node->GetName(), "Include", 0x7FFFFFFFu)) {
|
||||||
@ -449,9 +448,9 @@ int32_t FrameXML_ProcessFile(const char* filePath, const char* a2, MD5_CTX* md5,
|
|||||||
SStrCopy(v27, v14, 260);
|
SStrCopy(v27, v14, 260);
|
||||||
}
|
}
|
||||||
|
|
||||||
FrameXML_ProcessFile(v27, a2, md5, &fileStatus);
|
FrameXML_ProcessFile(v27, a2, md5, &unkStatus);
|
||||||
} else {
|
} else {
|
||||||
fileStatus.Add(STATUS_ERROR, "Element 'Include' without file attribute");
|
unkStatus.Add(STATUS_ERROR, "Element 'Include' without file attribute");
|
||||||
}
|
}
|
||||||
// <Script>
|
// <Script>
|
||||||
} else if (!SStrCmpI(node->GetName(), "Script", 0x7FFFFFFFu)) {
|
} else if (!SStrCmpI(node->GetName(), "Script", 0x7FFFFFFFu)) {
|
||||||
@ -474,7 +473,7 @@ int32_t FrameXML_ProcessFile(const char* filePath, const char* a2, MD5_CTX* md5,
|
|||||||
SStrCopy(v27, v16, 260);
|
SStrCopy(v27, v16, 260);
|
||||||
}
|
}
|
||||||
|
|
||||||
FrameScript_ExecuteFile(v27, a2, md5, &fileStatus);
|
FrameScript_ExecuteFile(v27, a2, md5, &unkStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
char* v19 = node->m_body;
|
char* v19 = node->m_body;
|
||||||
@ -491,22 +490,22 @@ int32_t FrameXML_ProcessFile(const char* filePath, const char* a2, MD5_CTX* md5,
|
|||||||
CSimpleFont* font = CSimpleFont::GetFont(fontName, 1);
|
CSimpleFont* font = CSimpleFont::GetFont(fontName, 1);
|
||||||
font->LoadXML(node, status);
|
font->LoadXML(node, status);
|
||||||
} else {
|
} else {
|
||||||
fileStatus.Add(STATUS_WARNING, "Unnamed font node at top level");
|
unkStatus.Add(STATUS_WARNING, "Unnamed font node at top level");
|
||||||
}
|
}
|
||||||
// Everything else (frame nodes)
|
// Everything else (frame nodes)
|
||||||
} else {
|
} else {
|
||||||
const char* v22 = node->GetAttributeByName("virtual");
|
const char* v22 = node->GetAttributeByName("virtual");
|
||||||
|
|
||||||
if (!v22 || SStrCmpI(v22, "true", 0x7FFFFFFFu)) {
|
if (!v22 || SStrCmpI(v22, "true", 0x7FFFFFFFu)) {
|
||||||
FrameXML_CreateFrame(node, nullptr, &fileStatus);
|
FrameXML_CreateFrame(node, nullptr, &unkStatus);
|
||||||
CLayoutFrame::ResizePending();
|
CLayoutFrame::ResizePending();
|
||||||
} else {
|
} else {
|
||||||
const char* v23 = node->GetAttributeByName("name");
|
const char* v23 = node->GetAttributeByName("name");
|
||||||
|
|
||||||
if (v23 && *v23) {
|
if (v23 && *v23) {
|
||||||
FrameXML_StoreHashNode(node, v23, lua_tainted, &fileStatus);
|
FrameXML_StoreHashNode(node, v23, lua_tainted, &unkStatus);
|
||||||
} else {
|
} else {
|
||||||
fileStatus.Add(STATUS_WARNING, "Unnamed virtual node at top level");
|
unkStatus.Add(STATUS_WARNING, "Unnamed virtual node at top level");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -516,11 +515,13 @@ int32_t FrameXML_ProcessFile(const char* filePath, const char* a2, MD5_CTX* md5,
|
|||||||
|
|
||||||
XMLTree_Free(tree);
|
XMLTree_Free(tree);
|
||||||
|
|
||||||
if (FrameXML::s_debugLevel > 0 || v34 > 0) {
|
// TODO
|
||||||
fileStatus.Prepend(STATUS_INFO, "++ Loading file %s", v5);
|
// if (s_debugLevel > 0 || v34 > 0) {
|
||||||
}
|
// unkStatus.Prepend(STATUS_INFO, "++ Loading file %s", v5);
|
||||||
|
// }
|
||||||
|
|
||||||
status->Add(fileStatus);
|
// TODO
|
||||||
|
// status->Unk8(unkStatus);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -612,11 +613,3 @@ int32_t FrameXML_GuessNumFiles(const char* data) {
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t FrameXML_GetDebugLevel() {
|
|
||||||
return FrameXML::s_debugLevel;
|
|
||||||
}
|
|
||||||
|
|
||||||
void FrameXML_SetDebugLevel(int32_t level) {
|
|
||||||
FrameXML::s_debugLevel = level;
|
|
||||||
}
|
|
||||||
|
|||||||
@ -54,8 +54,4 @@ void FrameXML_StoreHashNode(XMLNode* node, const char* name, const char* a3, CSt
|
|||||||
|
|
||||||
int32_t FrameXML_GuessNumFiles(const char* data);
|
int32_t FrameXML_GuessNumFiles(const char* data);
|
||||||
|
|
||||||
int32_t FrameXML_GetDebugLevel();
|
|
||||||
|
|
||||||
void FrameXML_SetDebugLevel(int32_t level);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -30,25 +30,6 @@ void* luaM_initPool() {
|
|||||||
return pools;
|
return pools;
|
||||||
}
|
}
|
||||||
|
|
||||||
void luaM_freePool(void* ptr) {
|
|
||||||
if (!ptr) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
MemPool** pools = reinterpret_cast<MemPool**>(ptr);
|
|
||||||
|
|
||||||
for (uint32_t i = 0; i < 9; ++i) {
|
|
||||||
MemPool* pool = pools[i];
|
|
||||||
if (pool) {
|
|
||||||
// Is the sub_8556E0(pool) a desturctor?
|
|
||||||
pool->~MemPool();
|
|
||||||
SMemFree(pool, __FILE__, __LINE__, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SMemFree(pools, __FILE__, __LINE__, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void* luaM_reallocPool(void* ud, void* ptr, size_t osize, size_t nsize) {
|
void* luaM_reallocPool(void* ud, void* ptr, size_t osize, size_t nsize) {
|
||||||
void* result; // eax
|
void* result; // eax
|
||||||
signed int v5; // esi
|
signed int v5; // esi
|
||||||
|
|||||||
@ -4,7 +4,6 @@
|
|||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
|
||||||
void* luaM_initPool();
|
void* luaM_initPool();
|
||||||
void luaM_freePool(void* ptr);
|
|
||||||
void* luaM_reallocPool(void* ud, void* ptr, size_t osize, size_t nsize);
|
void* luaM_reallocPool(void* ud, void* ptr, size_t osize, size_t nsize);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -24,16 +24,6 @@ void CStatus::Add(STATUS_TYPE severity, const char* format, ...) {
|
|||||||
va_end(args);
|
va_end(args);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CStatus::Prepend(STATUS_TYPE severity, const char* format, ...) {
|
|
||||||
// TODO
|
|
||||||
// Remove temporary console debug logging
|
|
||||||
va_list args;
|
|
||||||
va_start(args, format);
|
|
||||||
vprintf(format, args);
|
|
||||||
printf("\n");
|
|
||||||
va_end(args);
|
|
||||||
}
|
|
||||||
|
|
||||||
CStatus& GetGlobalStatusObj() {
|
CStatus& GetGlobalStatusObj() {
|
||||||
return CStatus::s_errorList;
|
return CStatus::s_errorList;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,7 +27,6 @@ class CStatus {
|
|||||||
// Member functions
|
// Member functions
|
||||||
void Add(const CStatus&);
|
void Add(const CStatus&);
|
||||||
void Add(STATUS_TYPE, const char*, ...);
|
void Add(STATUS_TYPE, const char*, ...);
|
||||||
void Prepend(STATUS_TYPE, const char*, ...);
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
STORM_EXPLICIT_LIST(CStatus::STATUSENTRY, link) statusList;
|
STORM_EXPLICIT_LIST(CStatus::STATUSENTRY, link) statusList;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user