mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
This patch removes a lot of old code. Context is now exclusively grabbed from the CSquirrelVM instance. This patch also comes with a few new types: SQArray and SQTable! The implementation also allows pushing Vector3D's on the stack, but these are handled slightly differently.. The largest field in tagSQObjectValue is 8 bytes, Vector3D is 12 bytes unaligned, but the tagSQObjectValue field in the tagSQObject struct is aligned to a 8 byte boundary while the field prior is only 4 bytes, Vector3D starts right after the type field in the tagSQObject (at the padding) to keep the whole structure the same size, therefore a new field has been added in between the padding (_pad) with a simple Vector3D accessor. Also added a hook to allow registering proper script enums.
58 lines
1.9 KiB
CMake
58 lines
1.9 KiB
CMake
cmake_minimum_required( VERSION 3.16 )
|
|
add_module( "lib" "vscript" "vpc" ${FOLDER_CONTEXT} TRUE TRUE )
|
|
|
|
start_sources()
|
|
|
|
add_sources( SOURCE_GROUP "Private"
|
|
"vscript.cpp"
|
|
"vscript.h"
|
|
)
|
|
|
|
add_sources( SOURCE_GROUP "Squirrel_RE"
|
|
"languages/squirrel_re/vsquirrel.cpp"
|
|
"languages/squirrel_re/vsquirrel.h"
|
|
)
|
|
|
|
add_sources( SOURCE_GROUP "Squirrel_RE/squirrel"
|
|
"languages/squirrel_re/squirrel/sqapi.cpp"
|
|
"languages/squirrel_re/squirrel/sqdebug.cpp"
|
|
#"languages/squirrel_re/squirrel/sqcompiler.cpp"
|
|
"languages/squirrel_re/squirrel/sqfuncstate.cpp"
|
|
#"languages/squirrel_re/squirrel/sqlexer.cpp"
|
|
"languages/squirrel_re/squirrel/sqobject.cpp"
|
|
"languages/squirrel_re/squirrel/sqstring.cpp"
|
|
"languages/squirrel_re/squirrel/sqtable.cpp"
|
|
"languages/squirrel_re/squirrel/sqmem.cpp"
|
|
"languages/squirrel_re/squirrel/sqvm.cpp"
|
|
)
|
|
|
|
add_sources( SOURCE_GROUP "Squirrel_RE/sqstdlib"
|
|
"languages/squirrel_re/sqstdlib/sqstdaux.cpp"
|
|
)
|
|
|
|
add_sources( SOURCE_GROUP "Squirrel_RE/include"
|
|
"languages/squirrel_re/vsquirrel.cpp"
|
|
"languages/squirrel_re/vsquirrel.h"
|
|
#"languages/squirrel_re/include/sqcompiler.h"
|
|
"languages/squirrel_re/include/sqfuncstate.h"
|
|
#"languages/squirrel_re/include/sqlexer.h"
|
|
"languages/squirrel_re/include/sqarray.h"
|
|
"languages/squirrel_re/include/squtils.h"
|
|
"languages/squirrel_re/include/sqobject.h"
|
|
"languages/squirrel_re/include/sqopcodes.h"
|
|
"languages/squirrel_re/include/sqstate.h"
|
|
"languages/squirrel_re/include/sqstdaux.h"
|
|
"languages/squirrel_re/include/sqstring.h"
|
|
"languages/squirrel_re/include/sqtable.h"
|
|
"languages/squirrel_re/include/squirrel.h"
|
|
"languages/squirrel_re/include/sqvm.h"
|
|
)
|
|
|
|
add_sources( SOURCE_GROUP "Public"
|
|
"${ENGINE_SOURCE_DIR}/public/vscript/ivscript.h"
|
|
)
|
|
|
|
end_sources()
|
|
|
|
target_include_directories( ${PROJECT_NAME} PRIVATE "${ENGINE_SOURCE_DIR}/vscript/languages/squirrel_re/include/" )
|