Merge branch 'master' into jgrpp
Bump savegame for water regions for ship pathfinder Use ring_buffer for ShipPathCache
This commit is contained in:
9
src/3rdparty/squirrel/include/squirrel.h
vendored
9
src/3rdparty/squirrel/include/squirrel.h
vendored
@@ -361,6 +361,15 @@ void sq_setdebughook(HSQUIRRELVM v);
|
||||
#define sq_isweakref(o) ((o)._type==OT_WEAKREF)
|
||||
#define sq_type(o) ((o)._type)
|
||||
|
||||
/* Limit the total number of ops that can be consumed by an operation */
|
||||
struct SQOpsLimiter {
|
||||
SQOpsLimiter(HSQUIRRELVM v, SQInteger ops, const char *label);
|
||||
~SQOpsLimiter();
|
||||
private:
|
||||
HSQUIRRELVM _v;
|
||||
SQInteger _ops;
|
||||
};
|
||||
|
||||
/* deprecated */
|
||||
#define sq_createslot(v,n) sq_newslot(v,n,SQFalse)
|
||||
|
||||
|
13
src/3rdparty/squirrel/squirrel/sqapi.cpp
vendored
13
src/3rdparty/squirrel/squirrel/sqapi.cpp
vendored
@@ -1322,3 +1322,16 @@ void sq_free(void *p,SQUnsignedInteger size)
|
||||
SQ_FREE(p,size);
|
||||
}
|
||||
|
||||
SQOpsLimiter::SQOpsLimiter(HSQUIRRELVM v, SQInteger ops, const char *label) : _v(v)
|
||||
{
|
||||
this->_ops = v->_ops_till_suspend_error_threshold;
|
||||
if (this->_ops == INT64_MIN) {
|
||||
v->_ops_till_suspend_error_threshold = v->_ops_till_suspend - ops;
|
||||
v->_ops_till_suspend_error_label = label;
|
||||
}
|
||||
}
|
||||
|
||||
SQOpsLimiter::~SQOpsLimiter()
|
||||
{
|
||||
this->_v->_ops_till_suspend_error_threshold = this->_ops;
|
||||
}
|
||||
|
Reference in New Issue
Block a user