From 531fa21af1e223595f87495f4588a70e17280687 Mon Sep 17 00:00:00 2001 From: Kawe Mazidjatari <48657826+Mauler125@users.noreply.github.com> Date: Mon, 16 Sep 2024 13:37:08 +0200 Subject: [PATCH] VScript: add structures for closure and function proto --- src/vscript/CMakeLists.txt | 2 ++ .../languages/squirrel_re/include/sqclosure.h | 13 +++++++++++++ .../languages/squirrel_re/include/sqfuncproto.h | 15 +++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 src/vscript/languages/squirrel_re/include/sqclosure.h create mode 100644 src/vscript/languages/squirrel_re/include/sqfuncproto.h diff --git a/src/vscript/CMakeLists.txt b/src/vscript/CMakeLists.txt index 42c1c61f..0dd7ae95 100644 --- a/src/vscript/CMakeLists.txt +++ b/src/vscript/CMakeLists.txt @@ -46,6 +46,8 @@ add_sources( SOURCE_GROUP "Squirrel_RE/include" "languages/squirrel_re/include/sqstdaux.h" "languages/squirrel_re/include/sqstring.h" "languages/squirrel_re/include/sqclass.h" + "languages/squirrel_re/include/sqclosure.h" + "languages/squirrel_re/include/sqfuncproto.h" "languages/squirrel_re/include/sqtable.h" "languages/squirrel_re/include/squirrel.h" "languages/squirrel_re/include/sqvm.h" diff --git a/src/vscript/languages/squirrel_re/include/sqclosure.h b/src/vscript/languages/squirrel_re/include/sqclosure.h new file mode 100644 index 00000000..4dc61a23 --- /dev/null +++ b/src/vscript/languages/squirrel_re/include/sqclosure.h @@ -0,0 +1,13 @@ +/* see copyright notice in squirrel.h */ +#ifndef _SQCLOSURE_H_ +#define _SQCLOSURE_H_ + +struct SQClosure : public SQCollectable +{ +public: + char gap_40[16]; + SQObjectPtr _function; +}; +static_assert(offsetof(SQClosure, _function) == 0x50); + +#endif //_SQCLOSURE_H_ diff --git a/src/vscript/languages/squirrel_re/include/sqfuncproto.h b/src/vscript/languages/squirrel_re/include/sqfuncproto.h new file mode 100644 index 00000000..fbe436a7 --- /dev/null +++ b/src/vscript/languages/squirrel_re/include/sqfuncproto.h @@ -0,0 +1,15 @@ +/* see copyright notice in squirrel.h */ +#ifndef _SQFUNCPROTO_H_ +#define _SQFUNCPROTO_H_ + +#include "sqobject.h" + +struct SQFunctionProto : public SQRefCounted +{ + char gap[32]; + SQObjectPtr _sourcename; + SQObjectPtr _funcname; +}; +static_assert(offsetof(SQFunctionProto, _sourcename) == 0x48); + +#endif // _SQFUNCPROTO_H_