MCPcopy Create free account
hub / github.com/GDRETools/gdsdecomp / get_script_state

Method get_script_state

bytecode/bytecode_base.cpp:299–314  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

297}
298
299Error GDScriptDecomp::get_script_state(const Vector<uint8_t> &p_buffer, ScriptState &r_state) {
300 const uint8_t *buf = p_buffer.ptr();
301 GDSDECOMP_FAIL_COND_V_MSG(p_buffer.size() < 24 || !CHECK_GDSC_HEADER(p_buffer), ERR_INVALID_DATA, "Invalid GDScript tokenizer buffer.");
302 r_state.bytecode_version = decode_uint32(&buf[4]);
303 Error err;
304 if (r_state.bytecode_version >= GDSCRIPT_2_0_VERSION) {
305 err = get_ids_consts_tokens_v2(p_buffer, r_state.identifiers, r_state.constants, r_state.tokens, r_state.lines, r_state.end_lines, r_state.columns);
306 } else {
307 err = get_ids_consts_tokens(p_buffer, r_state.identifiers, r_state.constants, r_state.tokens, r_state.lines, r_state.columns);
308 }
309 if (err) {
310 return err;
311 }
312
313 return OK;
314}
315
316Error GDScriptDecomp::get_ids_consts_tokens(const Vector<uint8_t> &p_buffer, Vector<StringName> &identifiers, Vector<Variant> &constants, Vector<uint32_t> &tokens, HashMap<uint32_t, uint32_t> &lines, HashMap<uint32_t, uint32_t> &columns) {
317 const uint8_t *buf = p_buffer.ptr();

Callers 1

reloadMethod · 0.80

Calls 1

sizeMethod · 0.45

Tested by

no test coverage detected