mirror of
https://github.com/JezuzLizard/T4SP-Server-Plugin.git
synced 2025-04-19 13:12:53 +00:00
Verified
This commit is contained in:
parent
78b82978bc
commit
d976434e38
@ -312,14 +312,6 @@ nlohmann::json print_statement_ast(game::scriptInstance_t inst, game::sval_u val
|
|||||||
|
|
||||||
switch (val.node[0].type)
|
switch (val.node[0].type)
|
||||||
{
|
{
|
||||||
case game::ENUM_local_variable:
|
|
||||||
case game::ENUM_prof_begin:
|
|
||||||
case game::ENUM_prof_end:
|
|
||||||
case game::ENUM_animation:
|
|
||||||
answer["name"] = game::SL_ConvertToString(val.node[1].stringValue, inst);
|
|
||||||
answer["sourcePos"] = val.node[2].sourcePosValue;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case game::ENUM_array_variable:
|
case game::ENUM_array_variable:
|
||||||
answer["expr"] = print_statement_ast(inst, val.node[1]);
|
answer["expr"] = print_statement_ast(inst, val.node[1]);
|
||||||
answer["index"] = print_statement_ast(inst, val.node[2]);
|
answer["index"] = print_statement_ast(inst, val.node[2]);
|
||||||
@ -343,10 +335,12 @@ nlohmann::json print_statement_ast(game::scriptInstance_t inst, game::sval_u val
|
|||||||
case game::ENUM_far_function:
|
case game::ENUM_far_function:
|
||||||
answer["filename"] = game::SL_ConvertToString(val.node[1].stringValue, inst);
|
answer["filename"] = game::SL_ConvertToString(val.node[1].stringValue, inst);
|
||||||
answer["threadName"] = game::SL_ConvertToString(val.node[2].stringValue, inst);
|
answer["threadName"] = game::SL_ConvertToString(val.node[2].stringValue, inst);
|
||||||
|
answer["sourcePos"] = val.node[3].sourcePosValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case game::ENUM_local_function:
|
case game::ENUM_local_function:
|
||||||
answer["threadName"] = game::SL_ConvertToString(val.node[1].stringValue, inst);
|
answer["threadName"] = game::SL_ConvertToString(val.node[1].stringValue, inst);
|
||||||
|
answer["sourcePos"] = val.node[2].sourcePosValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case game::ENUM_function:
|
case game::ENUM_function:
|
||||||
@ -503,7 +497,6 @@ nlohmann::json print_statement_ast(game::scriptInstance_t inst, game::sval_u val
|
|||||||
answer["sourcePos"] = val.node[3].sourcePosValue;
|
answer["sourcePos"] = val.node[3].sourcePosValue;
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
auto ifStatBlock = val.node[4].block;
|
auto ifStatBlock = val.node[4].block;
|
||||||
ifStatBlock = ifStatBlock;
|
ifStatBlock = ifStatBlock;
|
||||||
}
|
}
|
||||||
@ -517,7 +510,6 @@ nlohmann::json print_statement_ast(game::scriptInstance_t inst, game::sval_u val
|
|||||||
answer["elseSourcePos"] = val.node[5].sourcePosValue;
|
answer["elseSourcePos"] = val.node[5].sourcePosValue;
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
auto ifBlock = val.node[6].block;
|
auto ifBlock = val.node[6].block;
|
||||||
auto elseBlock = val.node[7].block;
|
auto elseBlock = val.node[7].block;
|
||||||
ifBlock = ifBlock;
|
ifBlock = ifBlock;
|
||||||
@ -560,6 +552,7 @@ nlohmann::json print_statement_ast(game::scriptInstance_t inst, game::sval_u val
|
|||||||
answer["expr2"] = print_statement_ast(inst, val.node[2]);
|
answer["expr2"] = print_statement_ast(inst, val.node[2]);
|
||||||
answer["expr1SourcePos"] = val.node[3].sourcePosValue;
|
answer["expr1SourcePos"] = val.node[3].sourcePosValue;
|
||||||
answer["expr2SourcePos"] = val.node[4].sourcePosValue;
|
answer["expr2SourcePos"] = val.node[4].sourcePosValue;
|
||||||
|
answer["sourcePos"] = val.node[5].sourcePosValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case game::ENUM_binary:
|
case game::ENUM_binary:
|
||||||
@ -627,6 +620,64 @@ nlohmann::json print_statement_ast(game::scriptInstance_t inst, game::sval_u val
|
|||||||
answer["waitSourcePos"] = val.node[4].sourcePosValue;
|
answer["waitSourcePos"] = val.node[4].sourcePosValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
case game::ENUM_switch:
|
||||||
|
answer["expr"] = print_statement_ast(inst, val.node[1]);
|
||||||
|
|
||||||
|
answer["stmtlist"] = nlohmann::json::array();
|
||||||
|
for (i = 0, node = val.node[2].node->node[1].node;
|
||||||
|
node;
|
||||||
|
node = node[1].node, i++)
|
||||||
|
{
|
||||||
|
answer["stmtlist"][i] = print_statement_ast(inst, *node);
|
||||||
|
}
|
||||||
|
|
||||||
|
answer["sourcePos"] = val.node[3].sourcePosValue;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case game::ENUM_default:
|
||||||
|
answer["sourcePos"] = val.node[1].sourcePosValue;
|
||||||
|
|
||||||
|
{
|
||||||
|
auto breakBlock = val.node[2].block;
|
||||||
|
breakBlock = breakBlock;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case game::ENUM_case:
|
||||||
|
answer["expr"] = print_statement_ast(inst, val.node[1]);
|
||||||
|
answer["sourcePos"] = val.node[2].sourcePosValue;
|
||||||
|
|
||||||
|
{
|
||||||
|
auto caseBlock = val.node[3].block;
|
||||||
|
caseBlock = caseBlock;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case game::ENUM_waittillmatch:
|
||||||
|
answer["obj"] = print_statement_ast(inst, val.node[1]);
|
||||||
|
|
||||||
|
answer["exprlist"] = nlohmann::json::array();
|
||||||
|
for (i = 0, node = val.node[2].node->node[1].node;
|
||||||
|
node;
|
||||||
|
node = node[1].node, i++)
|
||||||
|
{
|
||||||
|
answer["exprlist"][i]["expr"] = print_statement_ast(inst, *node->node);
|
||||||
|
answer["exprlist"][i]["sourcePos"] = node->node[1].sourcePosValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
answer["sourcePos"] = val.node[3].sourcePosValue;
|
||||||
|
answer["waitSourcePos"] = val.node[4].sourcePosValue;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case game::ENUM_local_variable:
|
||||||
|
case game::ENUM_prof_begin:
|
||||||
|
case game::ENUM_prof_end:
|
||||||
|
case game::ENUM_animation:
|
||||||
|
answer["name"] = game::SL_ConvertToString(val.node[1].stringValue, inst);
|
||||||
|
answer["sourcePos"] = val.node[2].sourcePosValue;
|
||||||
|
break;
|
||||||
|
|
||||||
case game::ENUM_begin_developer_thread:
|
case game::ENUM_begin_developer_thread:
|
||||||
case game::ENUM_end_developer_thread:
|
case game::ENUM_end_developer_thread:
|
||||||
case game::ENUM_undefined:
|
case game::ENUM_undefined:
|
||||||
@ -642,6 +693,7 @@ nlohmann::json print_statement_ast(game::scriptInstance_t inst, game::sval_u val
|
|||||||
case game::ENUM_break:
|
case game::ENUM_break:
|
||||||
case game::ENUM_continue:
|
case game::ENUM_continue:
|
||||||
case game::ENUM_animtree:
|
case game::ENUM_animtree:
|
||||||
|
case game::ENUM_breakpoint:
|
||||||
answer["sourcePos"] = val.node[1].sourcePosValue;
|
answer["sourcePos"] = val.node[1].sourcePosValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -650,6 +702,7 @@ nlohmann::json print_statement_ast(game::scriptInstance_t inst, game::sval_u val
|
|||||||
case game::ENUM_call_expression:
|
case game::ENUM_call_expression:
|
||||||
case game::ENUM_call_expression_statement:
|
case game::ENUM_call_expression_statement:
|
||||||
case game::ENUM_expression:
|
case game::ENUM_expression:
|
||||||
|
case game::ENUM_statement:
|
||||||
answer["expr"] = print_statement_ast(inst, val.node[1]);
|
answer["expr"] = print_statement_ast(inst, val.node[1]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -666,32 +719,23 @@ nlohmann::json print_statement_ast(game::scriptInstance_t inst, game::sval_u val
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case game::ENUM_NOP:
|
case game::ENUM_NOP:
|
||||||
case game::ENUM_program:
|
case game::ENUM_program: // unk
|
||||||
case game::ENUM_unknown_variable:
|
case game::ENUM_unknown_variable: // unk
|
||||||
case game::ENUM_local_variable_frozen:
|
case game::ENUM_local_variable_frozen: // unk, debugger?
|
||||||
case game::ENUM_unknown_field:
|
case game::ENUM_unknown_field: // unk
|
||||||
case game::ENUM_field_variable_frozen:
|
case game::ENUM_field_variable_frozen: // unk, debugger?
|
||||||
case game::ENUM_self_frozen:
|
case game::ENUM_self_frozen: // unk, debugger?
|
||||||
case game::ENUM_include:
|
case game::ENUM_include: // handled
|
||||||
case game::ENUM_self_field:
|
case game::ENUM_self_field: // debugger
|
||||||
case game::ENUM_object:
|
case game::ENUM_object: // debugger
|
||||||
case game::ENUM_precachetree:
|
case game::ENUM_precachetree: // unk
|
||||||
case game::ENUM_local:
|
case game::ENUM_local: // unk
|
||||||
case game::ENUM_statement:
|
case game::ENUM_bad_expression: // unk
|
||||||
case game::ENUM_bad_expression:
|
case game::ENUM_bad_statement: // unk
|
||||||
case game::ENUM_bad_statement:
|
case game::ENUM_argument: // unk
|
||||||
case game::ENUM_argument:
|
case game::ENUM_thread_object: // unk
|
||||||
case game::ENUM_thread_object:
|
case game::ENUM_vector: // unk
|
||||||
case game::ENUM_vector:
|
case game::ENUM_breakon: // debugger unk 2 vals 1 pos
|
||||||
case game::ENUM_breakon:
|
|
||||||
case game::ENUM_breakpoint:
|
|
||||||
|
|
||||||
case game::ENUM_waittillmatch:
|
|
||||||
|
|
||||||
case game::ENUM_switch:
|
|
||||||
case game::ENUM_case:
|
|
||||||
case game::ENUM_default:
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user