feat: Switch from default sq stack parsing to NoNut

This commit is contained in:
AURUMVORXX
2024-11-04 14:57:54 +03:00
parent 965c65147f
commit 3f477f5a32
6 changed files with 91 additions and 89 deletions

View File

@@ -13,6 +13,7 @@ namespace nonut
public: public:
static void registerFunction(String funcName, const SQFUNCTION func, size_t funcSize) static void registerFunction(String funcName, const SQFUNCTION func, size_t funcSize)
{ {
HSQUIRRELVM vm = Sqrat::DefaultVM::Get();
const auto top = sq_gettop(vm); const auto top = sq_gettop(vm);
sq_pushroottable(vm); sq_pushroottable(vm);
sq_pushstring(vm, funcName.c_str(), funcName.length()); sq_pushstring(vm, funcName.c_str(), funcName.length());

View File

@@ -15,7 +15,4 @@ namespace nonut
constexpr SQObject SQ_NULL{ OT_NULL }; constexpr SQObject SQ_NULL{ OT_NULL };
} }
namespace nonut::g2o{}
namespace g2o = nonut::g2o;
#endif // CORE_COMMONHEADER_H_ #endif // CORE_COMMONHEADER_H_

View File

@@ -1,6 +1,8 @@
#ifndef NONUT_CORE_USER_DATA_H #ifndef NONUT_CORE_USER_DATA_H
#define NONUT_CORE_USER_DATA_H #define NONUT_CORE_USER_DATA_H
#include <sqapi.h>
namespace nonut namespace nonut
{ {
class UserData class UserData

View File

@@ -18,7 +18,7 @@ namespace nonut
std::is_same_v<T, Bool*> || std::is_same_v<T, Bool*> ||
std::is_same_v<T, Int*> || std::is_same_v<T, Int*> ||
std::is_same_v<T, Float*> || std::is_same_v<T, Float*> ||
std::is_same_v<T, SQChar**> || std::is_same_v<T, const SQChar**> ||
std::is_same_v<T, HSQOBJECT*> || std::is_same_v<T, HSQOBJECT*> ||
std::is_same_v<T, SQUserPointer*>, std::is_same_v<T, SQUserPointer*>,
"Not supported return type"); "Not supported return type");
@@ -29,7 +29,7 @@ namespace nonut
sq_getinteger(vm, idx, outPtr); sq_getinteger(vm, idx, outPtr);
if constexpr (std::is_same_v<T, Float*>) if constexpr (std::is_same_v<T, Float*>)
sq_getfloat(vm, idx, outPtr); sq_getfloat(vm, idx, outPtr);
if constexpr (std::is_same_v<T, SQChar**>) if constexpr (std::is_same_v<T, const SQChar**>)
sq_getstring(vm, idx, outPtr); sq_getstring(vm, idx, outPtr);
if constexpr (std::is_same_v<T, HSQOBJECT*>) if constexpr (std::is_same_v<T, HSQOBJECT*>)
{ {

View File

@@ -1,5 +1,6 @@
#include <sqapi.h> #include <sqapi.h>
#include <pybind11/embed.h> #include <pybind11/embed.h>
#include "NoNut/core/Utils.h"
#include "sqcontainers.h" #include "sqcontainers.h"
#include "sqevents.h" #include "sqevents.h"
@@ -30,9 +31,9 @@ SQInteger sq_onTime(HSQUIRRELVM vm)
{ {
SQInteger day, hour, min; SQInteger day, hour, min;
sq_getinteger(vm, 2, &day); nonut::sqGetValue(vm, 2, &day);
sq_getinteger(vm, 3, &hour); nonut::sqGetValue(vm, 3, &hour);
sq_getinteger(vm, 4, &min); nonut::sqGetValue(vm, 4, &min);
py::dict kwargs = py::dict("day"_a=day, "hour"_a=hour, "min"_a=min); py::dict kwargs = py::dict("day"_a=day, "hour"_a=hour, "min"_a=min);
g2o.attr("callEvent")("onTime", **kwargs); g2o.attr("callEvent")("onTime", **kwargs);
@@ -42,8 +43,8 @@ SQInteger sq_onTime(HSQUIRRELVM vm)
SQInteger sq_onBan(HSQUIRRELVM vm) SQInteger sq_onBan(HSQUIRRELVM vm)
{ {
SQObject obj; HSQOBJECT obj;
sq_getstackobj(vm, 2, &obj); nonut::sqGetValue(vm, 2, &obj);
Sqrat::Table banData = Sqrat::Table(obj, vm); Sqrat::Table banData = Sqrat::Table(obj, vm);
py::dict kwargs = sqParseTable(banData); py::dict kwargs = sqParseTable(banData);
@@ -54,8 +55,8 @@ SQInteger sq_onBan(HSQUIRRELVM vm)
SQInteger sq_onUnban(HSQUIRRELVM vm) SQInteger sq_onUnban(HSQUIRRELVM vm)
{ {
SQObject obj; HSQOBJECT obj;
sq_getstackobj(vm, 2, &obj); nonut::sqGetValue(vm, 2, &obj);
Sqrat::Table banData = Sqrat::Table(obj, vm); Sqrat::Table banData = Sqrat::Table(obj, vm);
py::dict kwargs = sqParseTable(banData); py::dict kwargs = sqParseTable(banData);

View File

@@ -1,5 +1,6 @@
#include <sqapi.h> #include <sqapi.h>
#include <pybind11/embed.h> #include <pybind11/embed.h>
#include "NoNut/core/Utils.h"
#include "sqevents.h" #include "sqevents.h"
namespace py = pybind11; namespace py = pybind11;
@@ -11,10 +12,10 @@ SQInteger sq_onPlayerChangeColor(HSQUIRRELVM vm)
{ {
SQInteger playerid, r, g, b; SQInteger playerid, r, g, b;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getinteger(vm, 3, &r); nonut::sqGetValue(vm, 3, &r);
sq_getinteger(vm, 4, &g); nonut::sqGetValue(vm, 4, &g);
sq_getinteger(vm, 5, &b); nonut::sqGetValue(vm, 5, &b);
py::dict kwargs = py::dict("playerid"_a=playerid, "r"_a=r, "g"_a=g, "b"_a=b); py::dict kwargs = py::dict("playerid"_a=playerid, "r"_a=r, "g"_a=g, "b"_a=b);
g2o.attr("callEvent")("onPlayerChangeColor", **kwargs); g2o.attr("callEvent")("onPlayerChangeColor", **kwargs);
@@ -26,9 +27,9 @@ SQInteger sq_onPlayerChangeFocus(HSQUIRRELVM vm)
{ {
SQInteger playerid, oldFocusId, newFocusId; SQInteger playerid, oldFocusId, newFocusId;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getinteger(vm, 3, &oldFocusId); nonut::sqGetValue(vm, 3, &oldFocusId);
sq_getinteger(vm, 4, &newFocusId); nonut::sqGetValue(vm, 4, &newFocusId);
py::dict kwargs = py::dict("playerid"_a=playerid, "oldFocusId"_a=oldFocusId, "newFocusId"_a=newFocusId); py::dict kwargs = py::dict("playerid"_a=playerid, "oldFocusId"_a=oldFocusId, "newFocusId"_a=newFocusId);
g2o.attr("callEvent")("onPlayerChangeFocus", **kwargs); g2o.attr("callEvent")("onPlayerChangeFocus", **kwargs);
@@ -40,9 +41,9 @@ SQInteger sq_onPlayerChangeHealth(HSQUIRRELVM vm)
{ {
SQInteger playerid, oldHP, newHP; SQInteger playerid, oldHP, newHP;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getinteger(vm, 3, &oldHP); nonut::sqGetValue(vm, 3, &oldHP);
sq_getinteger(vm, 4, &newHP); nonut::sqGetValue(vm, 4, &newHP);
py::dict kwargs = py::dict("playerid"_a=playerid, "oldHP"_a=oldHP, "newHP"_a=newHP); py::dict kwargs = py::dict("playerid"_a=playerid, "oldHP"_a=oldHP, "newHP"_a=newHP);
g2o.attr("callEvent")("onPlayerChangeHealth", **kwargs); g2o.attr("callEvent")("onPlayerChangeHealth", **kwargs);
@@ -54,9 +55,9 @@ SQInteger sq_onPlayerChangeMana(HSQUIRRELVM vm)
{ {
SQInteger playerid, oldMP, newMP; SQInteger playerid, oldMP, newMP;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getinteger(vm, 3, &oldMP); nonut::sqGetValue(vm, 3, &oldMP);
sq_getinteger(vm, 4, &newMP); nonut::sqGetValue(vm, 4, &newMP);
py::dict kwargs = py::dict("playerid"_a=playerid, "oldMP"_a=oldMP, "newMP"_a=newMP); py::dict kwargs = py::dict("playerid"_a=playerid, "oldMP"_a=oldMP, "newMP"_a=newMP);
g2o.attr("callEvent")("onPlayerChangeMana", **kwargs); g2o.attr("callEvent")("onPlayerChangeMana", **kwargs);
@@ -68,9 +69,9 @@ SQInteger sq_onPlayerChangeMaxHealth(HSQUIRRELVM vm)
{ {
SQInteger playerid, oldMaxHP, newMaxHP; SQInteger playerid, oldMaxHP, newMaxHP;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getinteger(vm, 3, &oldMaxHP); nonut::sqGetValue(vm, 3, &oldMaxHP);
sq_getinteger(vm, 4, &newMaxHP); nonut::sqGetValue(vm, 4, &newMaxHP);
py::dict kwargs = py::dict("playerid"_a=playerid, "oldMaxHP"_a=oldMaxHP, "newMaxHP"_a=newMaxHP); py::dict kwargs = py::dict("playerid"_a=playerid, "oldMaxHP"_a=oldMaxHP, "newMaxHP"_a=newMaxHP);
g2o.attr("callEvent")("onPlayerChangeMaxHealth", **kwargs); g2o.attr("callEvent")("onPlayerChangeMaxHealth", **kwargs);
@@ -82,9 +83,9 @@ SQInteger sq_onPlayerChangeMaxMana(HSQUIRRELVM vm)
{ {
SQInteger playerid, oldMaxMP, newMaxMP; SQInteger playerid, oldMaxMP, newMaxMP;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getinteger(vm, 3, &oldMaxMP); nonut::sqGetValue(vm, 3, &oldMaxMP);
sq_getinteger(vm, 4, &newMaxMP); nonut::sqGetValue(vm, 4, &newMaxMP);
py::dict kwargs = py::dict("playerid"_a=playerid, "oldMaxMP"_a=oldMaxMP, "newMaxMP"_a=newMaxMP); py::dict kwargs = py::dict("playerid"_a=playerid, "oldMaxMP"_a=oldMaxMP, "newMaxMP"_a=newMaxMP);
g2o.attr("callEvent")("onPlayerChangeMaxMana", **kwargs); g2o.attr("callEvent")("onPlayerChangeMaxMana", **kwargs);
@@ -96,9 +97,9 @@ SQInteger sq_onPlayerChangeWeaponMode(HSQUIRRELVM vm)
{ {
SQInteger playerid, oldWeaponMode, newWeaponMode; SQInteger playerid, oldWeaponMode, newWeaponMode;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getinteger(vm, 3, &oldWeaponMode); nonut::sqGetValue(vm, 3, &oldWeaponMode);
sq_getinteger(vm, 4, &newWeaponMode); nonut::sqGetValue(vm, 4, &newWeaponMode);
py::dict kwargs = py::dict("playerid"_a=playerid, "oldWeaponMode"_a=oldWeaponMode, "newWeaponMode"_a=newWeaponMode); py::dict kwargs = py::dict("playerid"_a=playerid, "oldWeaponMode"_a=oldWeaponMode, "newWeaponMode"_a=newWeaponMode);
g2o.attr("callEvent")("onPlayerChangeWeaponMode", **kwargs); g2o.attr("callEvent")("onPlayerChangeWeaponMode", **kwargs);
@@ -109,12 +110,12 @@ SQInteger sq_onPlayerChangeWeaponMode(HSQUIRRELVM vm)
SQInteger sq_onPlayerChangeWorld(HSQUIRRELVM vm) SQInteger sq_onPlayerChangeWorld(HSQUIRRELVM vm)
{ {
SQInteger playerid; SQInteger playerid;
const SQChar* world; const SQChar* world = nullptr;
const SQChar* waypoint; const SQChar* waypoint = nullptr;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getstring(vm, 3, &world); nonut::sqGetValue(vm, 3, &world);
sq_getstring(vm, 4, &waypoint); nonut::sqGetValue(vm, 4, &waypoint);
py::dict kwargs = py::dict("playerid"_a=playerid, "world"_a=world, "waypoint"_a=waypoint); py::dict kwargs = py::dict("playerid"_a=playerid, "world"_a=world, "waypoint"_a=waypoint);
g2o.attr("callEvent")("onPlayerChangeWorld", **kwargs); g2o.attr("callEvent")("onPlayerChangeWorld", **kwargs);
@@ -130,9 +131,9 @@ SQInteger sq_onPlayerCommand(HSQUIRRELVM vm)
const SQChar* command; const SQChar* command;
const SQChar* params; const SQChar* params;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getstring(vm, 3, &command); nonut::sqGetValue(vm, 3, &command);
sq_getstring(vm, 4, &params); nonut::sqGetValue(vm, 4, &params);
py::dict kwargs = py::dict("playerid"_a=playerid, "command"_a=command, "params"_a=params); py::dict kwargs = py::dict("playerid"_a=playerid, "command"_a=command, "params"_a=params);
g2o.attr("callEvent")("onPlayerCommand", **kwargs); g2o.attr("callEvent")("onPlayerCommand", **kwargs);
@@ -144,8 +145,8 @@ SQInteger sq_onPlayerDead(HSQUIRRELVM vm)
{ {
SQInteger playerid, killerid; SQInteger playerid, killerid;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getinteger(vm, 3, &killerid); nonut::sqGetValue(vm, 3, &killerid);
py::dict kwargs = py::dict("playerid"_a=playerid, "killerid"_a=killerid); py::dict kwargs = py::dict("playerid"_a=playerid, "killerid"_a=killerid);
g2o.attr("callEvent")("onPlayerDead", **kwargs); g2o.attr("callEvent")("onPlayerDead", **kwargs);
@@ -157,8 +158,8 @@ SQInteger sq_onPlayerDisconnect(HSQUIRRELVM vm)
{ {
SQInteger playerid, reason; SQInteger playerid, reason;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getinteger(vm, 3, &reason); nonut::sqGetValue(vm, 3, &reason);
py::dict kwargs = py::dict("playerid"_a=playerid, "reason"_a=reason); py::dict kwargs = py::dict("playerid"_a=playerid, "reason"_a=reason);
g2o.attr("callEvent")("onPlayerDisconnect", **kwargs); g2o.attr("callEvent")("onPlayerDisconnect", **kwargs);
@@ -171,8 +172,8 @@ SQInteger sq_onPlayerEnterWorld(HSQUIRRELVM vm)
SQInteger playerid; SQInteger playerid;
const SQChar* world; const SQChar* world;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getstring(vm, 3, &world); nonut::sqGetValue(vm, 3, &world);
py::dict kwargs = py::dict("playerid"_a=playerid, "world"_a=world); py::dict kwargs = py::dict("playerid"_a=playerid, "world"_a=world);
g2o.attr("callEvent")("onPlayerEnterWorld", **kwargs); g2o.attr("callEvent")("onPlayerEnterWorld", **kwargs);
@@ -184,7 +185,7 @@ SQInteger sq_onPlayerJoin(HSQUIRRELVM vm)
{ {
SQInteger playerid; SQInteger playerid;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
py::dict kwargs = py::dict("playerid"_a=playerid); py::dict kwargs = py::dict("playerid"_a=playerid);
g2o.attr("callEvent")("onPlayerJoin", **kwargs); g2o.attr("callEvent")("onPlayerJoin", **kwargs);
@@ -197,8 +198,8 @@ SQInteger sq_onPlayerMessage(HSQUIRRELVM vm)
SQInteger playerid; SQInteger playerid;
const SQChar* message; const SQChar* message;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getstring(vm, 3, &message); nonut::sqGetValue(vm, 3, &message);
py::dict kwargs = py::dict("playerid"_a=playerid, "message"_a=message); py::dict kwargs = py::dict("playerid"_a=playerid, "message"_a=message);
g2o.attr("callEvent")("onPlayerMessage", **kwargs); g2o.attr("callEvent")("onPlayerMessage", **kwargs);
@@ -210,9 +211,9 @@ SQInteger sq_onPlayerMobInteract(HSQUIRRELVM vm)
{ {
SQInteger playerid, from, to; SQInteger playerid, from, to;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getinteger(vm, 3, &from); nonut::sqGetValue(vm, 3, &from);
sq_getinteger(vm, 3, &to); nonut::sqGetValue(vm, 3, &to);
py::dict kwargs = py::dict("playerid"_a=playerid, "from"_a=from, "to"_a = to); py::dict kwargs = py::dict("playerid"_a=playerid, "from"_a=from, "to"_a = to);
g2o.attr("callEvent")("onPlayerMobInteract", **kwargs); g2o.attr("callEvent")("onPlayerMobInteract", **kwargs);
@@ -224,7 +225,7 @@ SQInteger sq_onPlayerRespawn(HSQUIRRELVM vm)
{ {
SQInteger playerid; SQInteger playerid;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
py::dict kwargs = py::dict("playerid"_a=playerid); py::dict kwargs = py::dict("playerid"_a=playerid);
g2o.attr("callEvent")("onPlayerRespawn", **kwargs); g2o.attr("callEvent")("onPlayerRespawn", **kwargs);
@@ -237,8 +238,8 @@ SQInteger sq_onPlayerShoot(HSQUIRRELVM vm)
SQInteger playerid; SQInteger playerid;
const SQChar* munition; const SQChar* munition;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getstring(vm, 3, &munition); nonut::sqGetValue(vm, 3, &munition);
py::dict kwargs = py::dict("playerid"_a=playerid, "munition"_a=munition); py::dict kwargs = py::dict("playerid"_a=playerid, "munition"_a=munition);
g2o.attr("callEvent")("onPlayerShoot", **kwargs); g2o.attr("callEvent")("onPlayerShoot", **kwargs);
@@ -251,8 +252,8 @@ SQInteger sq_onPlayerSpellCast(HSQUIRRELVM vm)
SQInteger playerid; SQInteger playerid;
const SQChar* instance; const SQChar* instance;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getstring(vm, 3, &instance); nonut::sqGetValue(vm, 3, &instance);
py::dict kwargs = py::dict("playerid"_a=playerid, "instance"_a=instance); py::dict kwargs = py::dict("playerid"_a=playerid, "instance"_a=instance);
g2o.attr("callEvent")("onPlayerSpellCast", **kwargs); g2o.attr("callEvent")("onPlayerSpellCast", **kwargs);
@@ -265,8 +266,8 @@ SQInteger sq_onPlayerSpellSetup(HSQUIRRELVM vm)
SQInteger playerid; SQInteger playerid;
const SQChar* instance; const SQChar* instance;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getstring(vm, 3, &instance); nonut::sqGetValue(vm, 3, &instance);
py::dict kwargs = py::dict("playerid"_a=playerid, "instance"_a=instance); py::dict kwargs = py::dict("playerid"_a=playerid, "instance"_a=instance);
g2o.attr("callEvent")("onPlayerSpellSetup", **kwargs); g2o.attr("callEvent")("onPlayerSpellSetup", **kwargs);
@@ -279,8 +280,8 @@ SQInteger sq_onPlayerTeleport(HSQUIRRELVM vm)
SQInteger playerid; SQInteger playerid;
const SQChar* vobName; const SQChar* vobName;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getstring(vm, 3, &vobName); nonut::sqGetValue(vm, 3, &vobName);
py::dict kwargs = py::dict("playerid"_a=playerid, "vobName"_a=vobName); py::dict kwargs = py::dict("playerid"_a=playerid, "vobName"_a=vobName);
g2o.attr("callEvent")("onPlayerTeleport", **kwargs); g2o.attr("callEvent")("onPlayerTeleport", **kwargs);
@@ -294,9 +295,9 @@ SQInteger sq_onPlayerToggleFaceAni(HSQUIRRELVM vm)
const SQChar* aniName; const SQChar* aniName;
SQBool toggle; SQBool toggle;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getstring(vm, 3, &aniName); nonut::sqGetValue(vm, 3, &aniName);
sq_getbool(vm, 4, &toggle); nonut::sqGetValue(vm, 4, &toggle);
py::dict kwargs = py::dict("playerid"_a=playerid, "vobName"_a=aniName, "toggle"_a = toggle); py::dict kwargs = py::dict("playerid"_a=playerid, "vobName"_a=aniName, "toggle"_a = toggle);
g2o.attr("callEvent")("onPlayerToggleFaceAni", **kwargs); g2o.attr("callEvent")("onPlayerToggleFaceAni", **kwargs);
@@ -311,8 +312,8 @@ SQInteger sq_onPlayerEquipAmulet(HSQUIRRELVM vm)
SQInteger playerid; SQInteger playerid;
const SQChar* instance; const SQChar* instance;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getstring(vm, 3, &instance); nonut::sqGetValue(vm, 3, &instance);
py::dict kwargs = py::dict("playerid"_a=playerid, "instance"_a=instance); py::dict kwargs = py::dict("playerid"_a=playerid, "instance"_a=instance);
g2o.attr("callEvent")("onPlayerEquipAmulet", **kwargs); g2o.attr("callEvent")("onPlayerEquipAmulet", **kwargs);
@@ -325,8 +326,8 @@ SQInteger sq_onPlayerEquipArmor(HSQUIRRELVM vm)
SQInteger playerid; SQInteger playerid;
const SQChar* instance; const SQChar* instance;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getstring(vm, 3, &instance); nonut::sqGetValue(vm, 3, &instance);
py::dict kwargs = py::dict("playerid"_a=playerid, "instance"_a=instance); py::dict kwargs = py::dict("playerid"_a=playerid, "instance"_a=instance);
g2o.attr("callEvent")("onPlayerEquipArmor", **kwargs); g2o.attr("callEvent")("onPlayerEquipArmor", **kwargs);
@@ -339,8 +340,8 @@ SQInteger sq_onPlayerEquipBelt(HSQUIRRELVM vm)
SQInteger playerid; SQInteger playerid;
const SQChar* instance; const SQChar* instance;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getstring(vm, 3, &instance); nonut::sqGetValue(vm, 3, &instance);
py::dict kwargs = py::dict("playerid"_a=playerid, "instance"_a=instance); py::dict kwargs = py::dict("playerid"_a=playerid, "instance"_a=instance);
g2o.attr("callEvent")("onPlayerEquipBelt", **kwargs); g2o.attr("callEvent")("onPlayerEquipBelt", **kwargs);
@@ -353,9 +354,9 @@ SQInteger sq_onPlayerEquipHandItem(HSQUIRRELVM vm)
SQInteger playerid, hand; SQInteger playerid, hand;
const SQChar* instance; const SQChar* instance;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getinteger(vm, 3, &hand); nonut::sqGetValue(vm, 3, &hand);
sq_getstring(vm, 4, &instance); nonut::sqGetValue(vm, 4, &instance);
py::dict kwargs = py::dict("playerid"_a=playerid, "hand"_a = hand, "instance"_a=instance); py::dict kwargs = py::dict("playerid"_a=playerid, "hand"_a = hand, "instance"_a=instance);
g2o.attr("callEvent")("onPlayerEquipHandItem", **kwargs); g2o.attr("callEvent")("onPlayerEquipHandItem", **kwargs);
@@ -368,8 +369,8 @@ SQInteger sq_onPlayerEquipHelmet(HSQUIRRELVM vm)
SQInteger playerid; SQInteger playerid;
const SQChar* instance; const SQChar* instance;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getstring(vm, 3, &instance); nonut::sqGetValue(vm, 3, &instance);
py::dict kwargs = py::dict("playerid"_a=playerid, "instance"_a=instance); py::dict kwargs = py::dict("playerid"_a=playerid, "instance"_a=instance);
g2o.attr("callEvent")("onPlayerEquipHelmet", **kwargs); g2o.attr("callEvent")("onPlayerEquipHelmet", **kwargs);
@@ -382,8 +383,8 @@ SQInteger sq_onPlayerEquipMeleeWeapon(HSQUIRRELVM vm)
SQInteger playerid; SQInteger playerid;
const SQChar* instance; const SQChar* instance;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getstring(vm, 3, &instance); nonut::sqGetValue(vm, 3, &instance);
py::dict kwargs = py::dict("playerid"_a=playerid, "instance"_a=instance); py::dict kwargs = py::dict("playerid"_a=playerid, "instance"_a=instance);
g2o.attr("callEvent")("onPlayerEquipMeleeWeapon", **kwargs); g2o.attr("callEvent")("onPlayerEquipMeleeWeapon", **kwargs);
@@ -396,8 +397,8 @@ SQInteger sq_onPlayerEquipRangedWeapon(HSQUIRRELVM vm)
SQInteger playerid; SQInteger playerid;
const SQChar* instance; const SQChar* instance;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getstring(vm, 3, &instance); nonut::sqGetValue(vm, 3, &instance);
py::dict kwargs = py::dict("playerid"_a=playerid, "instance"_a=instance); py::dict kwargs = py::dict("playerid"_a=playerid, "instance"_a=instance);
g2o.attr("callEvent")("onPlayerEquipRangedWeapon", **kwargs); g2o.attr("callEvent")("onPlayerEquipRangedWeapon", **kwargs);
@@ -410,9 +411,9 @@ SQInteger sq_onPlayerEquipRing(HSQUIRRELVM vm)
SQInteger playerid, hand; SQInteger playerid, hand;
const SQChar* instance; const SQChar* instance;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getinteger(vm, 3, &hand); nonut::sqGetValue(vm, 3, &hand);
sq_getstring(vm, 4, &instance); nonut::sqGetValue(vm, 4, &instance);
py::dict kwargs = py::dict("playerid"_a=playerid, "hand"_a = hand, "instance"_a=instance); py::dict kwargs = py::dict("playerid"_a=playerid, "hand"_a = hand, "instance"_a=instance);
g2o.attr("callEvent")("onPlayerEquipRing", **kwargs); g2o.attr("callEvent")("onPlayerEquipRing", **kwargs);
@@ -425,8 +426,8 @@ SQInteger sq_onPlayerEquipShield(HSQUIRRELVM vm)
SQInteger playerid; SQInteger playerid;
const SQChar* instance; const SQChar* instance;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getstring(vm, 3, &instance); nonut::sqGetValue(vm, 3, &instance);
py::dict kwargs = py::dict("playerid"_a=playerid, "instance"_a=instance); py::dict kwargs = py::dict("playerid"_a=playerid, "instance"_a=instance);
g2o.attr("callEvent")("onPlayerEquipShield", **kwargs); g2o.attr("callEvent")("onPlayerEquipShield", **kwargs);
@@ -439,9 +440,9 @@ SQInteger sq_onPlayerEquipSpell(HSQUIRRELVM vm)
SQInteger playerid, slotId; SQInteger playerid, slotId;
const SQChar* instance; const SQChar* instance;
sq_getinteger(vm, 2, &playerid); nonut::sqGetValue(vm, 2, &playerid);
sq_getinteger(vm, 3, &slotId); nonut::sqGetValue(vm, 3, &slotId);
sq_getstring(vm, 4, &instance); nonut::sqGetValue(vm, 4, &instance);
py::dict kwargs = py::dict("playerid"_a=playerid, "slotId"_a = slotId, "instance"_a=instance); py::dict kwargs = py::dict("playerid"_a=playerid, "slotId"_a = slotId, "instance"_a=instance);
g2o.attr("callEvent")("onPlayerEquipSpell", **kwargs); g2o.attr("callEvent")("onPlayerEquipSpell", **kwargs);