mirror of
https://github.com/JezuzLizard/T4SP-Server-Plugin.git
synced 2025-07-03 17:51:51 +00:00
The decomp is compiling!
This commit is contained in:
191
src/codsrc/clientscript/cscr_parsetree.cpp
Normal file
191
src/codsrc/clientscript/cscr_parsetree.cpp
Normal file
@ -0,0 +1,191 @@
|
||||
#include <stdinc.hpp>
|
||||
#include "clientscript_public.hpp"
|
||||
|
||||
namespace codsrc
|
||||
{
|
||||
// Decomp Status: Tested, Completed
|
||||
void Scr_InitAllocNode(game::scriptInstance_t inst)
|
||||
{
|
||||
game::HunkUser* nodeUser;
|
||||
|
||||
assert(!game::g_allocNodeUser[inst]);
|
||||
|
||||
nodeUser = game::Hunk_UserCreate(0x10000, "Scr_InitAllocNode", false, true, false, 7);
|
||||
game::g_allocNodeUser[inst] = nodeUser;
|
||||
}
|
||||
|
||||
// Restored function
|
||||
game::sval_u* Scr_AllocNode(game::scriptInstance_t inst, int size)
|
||||
{
|
||||
assert(game::g_allocNodeUser[inst]);
|
||||
|
||||
return (game::sval_u*)game::Hunk_UserAlloc(game::g_allocNodeUser[inst], 4 * size, 4);
|
||||
}
|
||||
|
||||
// Decomp Status: Tested, Completed
|
||||
game::sval_u node0()
|
||||
{
|
||||
game::sval_u result;
|
||||
|
||||
result.node = game::Scr_AllocNode(*game::gInst, 1);
|
||||
result.node[0].intValue = game::ENUM_NOP;
|
||||
return result;
|
||||
}
|
||||
|
||||
// Decomp Status: Tested, Completed
|
||||
game::sval_u node1(game::scr_enum_t type, game::sval_u val1)
|
||||
{
|
||||
game::sval_u result;
|
||||
|
||||
result.node = game::Scr_AllocNode(*game::gInst, 2);
|
||||
result.node[0].intValue = type;
|
||||
result.node[1].node = val1.node;
|
||||
return result;
|
||||
}
|
||||
|
||||
// Decomp Status: Tested, Completed
|
||||
game::sval_u node2(game::scr_enum_t type, game::sval_u val1, game::sval_u val2)
|
||||
{
|
||||
game::sval_u result;
|
||||
|
||||
result.node = game::Scr_AllocNode(*game::gInst, 3);
|
||||
result.node[0].intValue = type;
|
||||
result.node[1].node = val1.node;
|
||||
result.node[2].node = val2.node;
|
||||
return result;
|
||||
}
|
||||
|
||||
// Decomp Status: Tested, Completed
|
||||
game::sval_u node3(game::scr_enum_t type, game::sval_u val1, game::sval_u val2, game::sval_u val3)
|
||||
{
|
||||
game::sval_u result;
|
||||
|
||||
result.node = game::Scr_AllocNode(*game::gInst,4);
|
||||
result.node[0].intValue = type;
|
||||
result.node[1].node = val1.node;
|
||||
result.node[2].node = val2.node;
|
||||
result.node[3].node = val3.node;
|
||||
return result;
|
||||
}
|
||||
|
||||
// Decomp Status: Tested, Completed
|
||||
game::sval_u node4(game::scr_enum_t type, game::sval_u val1, game::sval_u val2, game::sval_u val3, game::sval_u val4)
|
||||
{
|
||||
game::sval_u result;
|
||||
|
||||
result.node = game::Scr_AllocNode(*game::gInst, 5);
|
||||
result.node[0].intValue = type;
|
||||
result.node[1].node = val1.node;
|
||||
result.node[2].node = val2.node;
|
||||
result.node[3].node = val3.node;
|
||||
result.node[4].node = val4.node;
|
||||
return result;
|
||||
}
|
||||
|
||||
// Decomp Status: Tested, Completed
|
||||
game::sval_u node5(game::scr_enum_t type, game::sval_u val1, game::sval_u val2, game::sval_u val3, game::sval_u val4, game::sval_u val5)
|
||||
{
|
||||
game::sval_u result;
|
||||
|
||||
result.node = game::Scr_AllocNode(*game::gInst, 6);
|
||||
result.node[0].intValue = type;
|
||||
result.node[1].node = val1.node;
|
||||
result.node[2].node = val2.node;
|
||||
result.node[3].node = val3.node;
|
||||
result.node[4].node = val4.node;
|
||||
result.node[5].node = val5.node;
|
||||
return result;
|
||||
}
|
||||
|
||||
// Decomp Status: Tested, Completed
|
||||
game::sval_u node6(game::sval_u val1, game::sval_u val2, game::sval_u val3, game::sval_u val4, game::sval_u val5, game::sval_u val6)
|
||||
{
|
||||
game::sval_u result;
|
||||
|
||||
result.node = game::Scr_AllocNode(*game::gInst, 7);
|
||||
result.node[0].intValue = game::ENUM_thread;
|
||||
result.node[1].node = val1.node;
|
||||
result.node[2].node = val2.node;
|
||||
result.node[3].node = val3.node;
|
||||
result.node[4].node = val4.node;
|
||||
result.node[5].node = val5.node;
|
||||
result.node[6].node = val6.node;
|
||||
return result;
|
||||
}
|
||||
|
||||
// Decomp Status: Tested, Completed
|
||||
game::sval_u node7(game::sval_u val1, game::sval_u val2, game::sval_u val3, game::sval_u val4, game::sval_u val5, game::sval_u val6, game::sval_u val7)
|
||||
{
|
||||
game::sval_u result;
|
||||
|
||||
result.node = game::Scr_AllocNode(*game::gInst, 8);
|
||||
result.node[0].intValue = game::ENUM_if_else;
|
||||
result.node[1].node = val1.node;
|
||||
result.node[2].node = val2.node;
|
||||
result.node[3].node = val3.node;
|
||||
result.node[4].node = val4.node;
|
||||
result.node[5].node = val5.node;
|
||||
result.node[6].node = val6.node;
|
||||
result.node[7].node = val7.node;
|
||||
return result;
|
||||
}
|
||||
|
||||
// Decomp Status: Tested, Completed
|
||||
game::sval_u node8(game::sval_u val1, game::sval_u val2, game::sval_u val3, game::sval_u val4, game::sval_u val5, game::sval_u val6, game::sval_u val7, game::sval_u val8)
|
||||
{
|
||||
game::sval_u result;
|
||||
|
||||
result.node = game::Scr_AllocNode(*game::gInst, 9);
|
||||
result.node[0].intValue = game::ENUM_for;
|
||||
result.node[1].node = val1.node;
|
||||
result.node[2].node = val2.node;
|
||||
result.node[3].node = val3.node;
|
||||
result.node[4].node = val4.node;
|
||||
result.node[5].node = val5.node;
|
||||
result.node[6].node = val6.node;
|
||||
result.node[7].node = val7.node;
|
||||
result.node[8].node = val8.node;
|
||||
return result;
|
||||
}
|
||||
|
||||
// Decomp Status: Tested, Completed
|
||||
game::sval_u linked_list_end(game::sval_u val1)
|
||||
{
|
||||
game::sval_u* node;
|
||||
game::sval_u result;
|
||||
|
||||
node = game::Scr_AllocNode(*game::gInst, 2);
|
||||
node[0].node = val1.node;
|
||||
node[1].stringValue = 0;
|
||||
result.node = game::Scr_AllocNode(*game::gInst, 2);
|
||||
result.node[0].node = node;
|
||||
result.node[1].node = node;
|
||||
return result;
|
||||
}
|
||||
|
||||
// Decomp Status: Tested, Completed
|
||||
game::sval_u prepend_node(game::sval_u val1, game::sval_u val2)
|
||||
{
|
||||
game::sval_u* node;
|
||||
|
||||
node = game::Scr_AllocNode(*game::gInst, 2);
|
||||
node[0] = val1;
|
||||
node[1] = *val2.node;
|
||||
val2.node->node = node;
|
||||
return val2;
|
||||
}
|
||||
|
||||
// Decomp Status: Tested, Completed
|
||||
game::sval_u append_node(game::sval_u val1, game::sval_u val2)
|
||||
{
|
||||
game::sval_u* node;
|
||||
|
||||
node = game::Scr_AllocNode(*game::gInst, 2);
|
||||
node[0] = val2;
|
||||
node[1].stringValue = 0;
|
||||
val1.node[1].node[1].stringValue = (unsigned int)node;
|
||||
val1.node[1].node = node;
|
||||
return val1;
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user