OpenTTD Source  20241121-master-g67a0fccfad
SQConvert Namespace Reference

The Squirrel convert routines. More...

Data Structures

struct  Return
 To return a value to squirrel, we use this helper class. More...
 
struct  Return< uint8_t >
 
struct  Return< uint16_t >
 
struct  Return< uint32_t >
 
struct  Return< int8_t >
 
struct  Return< int16_t >
 
struct  Return< int32_t >
 
struct  Return< int64_t >
 
struct  Return< Money >
 
struct  Return< TileIndex >
 
struct  Return< bool >
 
struct  Return< char * >
 
struct  Return< const char * >
 
struct  Return< void * >
 
struct  Return< HSQOBJECT >
 
struct  Return< std::optional< std::string > >
 
struct  Param
 To get a param from squirrel, we use this helper class. More...
 
struct  Param< uint8_t >
 
struct  Param< uint16_t >
 
struct  Param< uint32_t >
 
struct  Param< int8_t >
 
struct  Param< int16_t >
 
struct  Param< int32_t >
 
struct  Param< int64_t >
 
struct  Param< TileIndex >
 
struct  Param< Money >
 
struct  Param< bool >
 
struct  Param< const char * >
 
struct  Param< void * >
 
struct  Param< const std::string & >
 
struct  Param< Array< Titem > && >
 
struct  HelperT
 Helper class to recognize the function type (retval type, args) and use the proper specialization for SQ callback. More...
 
struct  HelperT< Tretval(*)(Targs...)>
 The real C++ caller for functions. More...
 
struct  HelperT< Tretval(Tcls::*)(Targs...)>
 The real C++ caller for methods. More...
 

Functions

template<typename Tcls , typename Tmethod , ScriptType Ttype>
SQInteger DefSQNonStaticCallback (HSQUIRRELVM vm)
 A general template for all non-static method callbacks from Squirrel. More...
 
template<typename Tcls , typename Tmethod , ScriptType Ttype>
SQInteger DefSQAdvancedNonStaticCallback (HSQUIRRELVM vm)
 A general template for all non-static advanced method callbacks from Squirrel. More...
 
template<typename Tcls , typename Tmethod >
SQInteger DefSQStaticCallback (HSQUIRRELVM vm)
 A general template for all function/static method callbacks from Squirrel. More...
 
template<typename Tcls , typename Tmethod >
SQInteger DefSQAdvancedStaticCallback (HSQUIRRELVM vm)
 A general template for all static advanced method callbacks from Squirrel. More...
 
template<typename Tcls >
static SQInteger DefSQDestructorCallback (SQUserPointer p, SQInteger)
 A general template for the destructor of SQ instances. More...
 
template<typename Tcls , typename Tmethod , int Tnparam>
SQInteger DefSQConstructorCallback (HSQUIRRELVM vm)
 A general template to handle creating of instance with any amount of params. More...
 
template<typename Tcls >
SQInteger DefSQAdvancedConstructorCallback (HSQUIRRELVM vm)
 A general template to handle creating of an instance with a complex constructor.
 

Detailed Description

The Squirrel convert routines.

Function Documentation

◆ DefSQAdvancedNonStaticCallback()

template<typename Tcls , typename Tmethod , ScriptType Ttype>
SQInteger SQConvert::DefSQAdvancedNonStaticCallback ( HSQUIRRELVM  vm)
inline

A general template for all non-static advanced method callbacks from Squirrel.

In here the function_proc is recovered, and the SQCall is called that can handle this exact amount of params.

Definition at line 243 of file squirrel_helper.hpp.

References Squirrel::GetInstance().

◆ DefSQAdvancedStaticCallback()

template<typename Tcls , typename Tmethod >
SQInteger SQConvert::DefSQAdvancedStaticCallback ( HSQUIRRELVM  vm)
inline

A general template for all static advanced method callbacks from Squirrel.

In here the function_proc is recovered, and the SQCall is called that can handle this exact amount of params.

Definition at line 305 of file squirrel_helper.hpp.

◆ DefSQConstructorCallback()

template<typename Tcls , typename Tmethod , int Tnparam>
SQInteger SQConvert::DefSQConstructorCallback ( HSQUIRRELVM  vm)
inline

A general template to handle creating of instance with any amount of params.

It creates the instance in C++, and it sets all the needed settings in SQ to register the instance.

Definition at line 338 of file squirrel_helper.hpp.

◆ DefSQDestructorCallback()

template<typename Tcls >
static SQInteger SQConvert::DefSQDestructorCallback ( SQUserPointer  p,
SQInteger   
)
static

A general template for the destructor of SQ instances.

This is needed here as it has to be in the same scope as DefSQConstructorCallback.

Definition at line 325 of file squirrel_helper.hpp.

◆ DefSQNonStaticCallback()

template<typename Tcls , typename Tmethod , ScriptType Ttype>
SQInteger SQConvert::DefSQNonStaticCallback ( HSQUIRRELVM  vm)
inline

A general template for all non-static method callbacks from Squirrel.

In here the function_proc is recovered, and the SQCall is called that can handle this exact amount of params.

Definition at line 201 of file squirrel_helper.hpp.

References Squirrel::GetInstance().

◆ DefSQStaticCallback()

template<typename Tcls , typename Tmethod >
SQInteger SQConvert::DefSQStaticCallback ( HSQUIRRELVM  vm)
inline

A general template for all function/static method callbacks from Squirrel.

In here the function_proc is recovered, and the SQCall is called that can handle this exact amount of params.

Definition at line 281 of file squirrel_helper.hpp.