Add yyac code

This commit is contained in:
ineed bots
2023-09-11 17:18:53 -06:00
parent 6627aff577
commit 2c922da647
8 changed files with 2127 additions and 14 deletions

View File

@ -19,4 +19,9 @@ namespace game
void yy_flush_buffer(yy_buffer_state* result, void* call_addr = yy_flush_buffer());
inline void* ScriptParse() { return CALL_ADDR(0x0, 0x69D710); }
void ScriptParse(scriptInstance_t a1, sval_u* parseData, void* call_addr = ScriptParse());
FILE* yy_load_buffer_state();
void yy_fatal_error(const char* err);
void* yy_flex_realloc(void* ptr, unsigned int size);
void yy_init_buffer(yy_buffer_state* b, FILE* file);
}

View File

@ -1,5 +1,5 @@
#include <stdinc.hpp>
//#include "codsrc/clientscript/cscr_yacc.hpp"
#include "codsrc/clientscript/cscr_yacc.hpp"
namespace game
{
@ -70,4 +70,24 @@ namespace game
add esp, 0x4;
}
}
FILE* yy_load_buffer_state()
{
return codsrc::yy_load_buffer_state();
}
void yy_fatal_error(const char* err)
{
codsrc::yy_fatal_error(err);
}
void* yy_flex_realloc(void* ptr, unsigned int size)
{
return codsrc::yy_flex_realloc(ptr, size);
}
void yy_init_buffer(yy_buffer_state* b, FILE* file)
{
codsrc::yy_init_buffer(b, file);
}
}

View File

@ -31,7 +31,7 @@
//#define RE_CSCR_STRINGLIST_USE_WRAPPERS
//#define RE_CSCR_VARIABLE_USE_WRAPPERS
//#define RE_CSCR_VM_USE_WRAPPERS
#define RE_CSCR_YACC_USE_WRAPPERS
//#define RE_CSCR_YACC_USE_WRAPPERS
//#define DISABLE_RE_CSCR_YACC
//#define DISABLE_RE_CSCR_COMPILER

View File

@ -28,6 +28,14 @@ namespace game
WEAK symbol<void(char* Destination, const char* Source, size_t Count)>I_strncpyz{ 0x0, 0x7AA9C0 };
WEAK symbol<_iobuf* ()>__iob_func{ 0x0, 0x7AE0DE };
WEAK symbol<size_t(const void* Buffer, size_t ElementSize, size_t ElementCount, FILE* Stream)>_fwrite{ 0x0, 0x7ACBDA };
WEAK symbol<int(const char* const Buffer, const char* const Format, ...)>_sscanf{ 0x0, 0x7AB559 };
WEAK symbol<int(FILE* const Stream, const char* const Format, ...)>_fprintf{ 0x0, 0x7AE406 };
WEAK symbol<void(int Code)>_exit{ 0x0, 0x7AC431 };
WEAK symbol<void* (void* Block, size_t Size)>_realloc{ 0x0, 0x7AECAC };
WEAK symbol<void* (size_t Size)>Z_TryMalloc{ 0x0, 0x7AAD36 };
inline void* I_strncmp_ADDR() { return CALL_ADDR(0x0, 0x5F6A40); }
int I_strncmp(const char* str1, const char* str2, int len, void* call_addr = I_strncmp_ADDR());