mirror of
https://github.com/Ragora/T2-CPP.git
synced 2026-01-20 18:44:45 +00:00
109 lines
2.7 KiB
C++
109 lines
2.7 KiB
C++
#pragma once
|
|
|
|
void initT2Api();
|
|
|
|
|
|
//api stuff
|
|
|
|
typedef unsigned int U32;
|
|
typedef int S32;
|
|
typedef float F32;
|
|
|
|
typedef unsigned int dsize_t;
|
|
|
|
//for addvariable
|
|
#define TypeS32 1
|
|
#define TypeBool 3
|
|
#define TypeF32 5
|
|
|
|
|
|
//dshit
|
|
inline dsize_t dStrlen(const char *str)
|
|
{
|
|
return (dsize_t)strlen(str);
|
|
}
|
|
|
|
class Namespace {
|
|
const char* mName;
|
|
};
|
|
|
|
|
|
|
|
class SimObject{
|
|
SimObject* group;
|
|
const char* objectName; //04h: objectName
|
|
SimObject* nextNameObject; //8
|
|
SimObject* nextManagerNameObject; //c
|
|
SimObject* nextIdObject; //10h: nextIdObject
|
|
U32 stuff; //14
|
|
U32 mFlags; //18h
|
|
U32 mNotifyList; //actually a pointer
|
|
U32 mId; //20h: mId
|
|
//more stuff
|
|
};
|
|
|
|
class SimIdDictionary
|
|
{
|
|
enum
|
|
{
|
|
DefaultTableSize = 4096,
|
|
TableBitMask = 4095
|
|
};
|
|
SimObject *table[DefaultTableSize];
|
|
};
|
|
extern SimIdDictionary* gIdDictionary;
|
|
|
|
class Point3F
|
|
{
|
|
public:
|
|
F32 x;
|
|
F32 y;
|
|
F32 z;
|
|
};
|
|
|
|
|
|
//GuiTSCtrl
|
|
class GuiTSCtrl {};
|
|
class HoverVehicle {};
|
|
void GuiTSCtrl_project(GuiTSCtrl *obj, const Point3F &pt, Point3F *dest); //fake
|
|
|
|
|
|
namespace Sim {
|
|
extern SimObject* (*findObject)(U32 id);
|
|
}
|
|
|
|
|
|
//console
|
|
|
|
typedef const char * (*StringCallback)(SimObject *obj, S32 argc, const char *argv[]);
|
|
typedef S32 (*IntCallback)(SimObject *obj, S32 argc, const char *argv[]);
|
|
typedef F32 (*FloatCallback)(SimObject *obj, S32 argc, const char *argv[]);
|
|
typedef void (*VoidCallback)(SimObject *obj, S32 argc, const char *argv[]);
|
|
typedef bool (*BoolCallback)(SimObject *obj, S32 argc, const char *argv[]);
|
|
|
|
|
|
extern void (*someTest)(void);
|
|
//functions
|
|
namespace Con{
|
|
|
|
extern char * (*getReturnBuffer)(U32 bufferSize);
|
|
|
|
extern void (*addMethodB)(const char *nsName, const char *name, BoolCallback cb, const char *usage, S32 minArgs, S32 maxArgs);
|
|
extern void (*addMethodS)(const char *nsName, const char *name, StringCallback cb, const char *usage, S32 minArgs, S32 maxArgs);
|
|
|
|
extern bool (*addVariable)(const char *name, S32 t, void *dp);
|
|
|
|
extern void (*printf)(const char* fmt,...);
|
|
extern void (*errorf)(U32 type, const char* fmt,...);
|
|
|
|
extern const char * (*getVariable)(const char *name);
|
|
extern const char * (*execute)(S32 argc, const char *argv[]);
|
|
extern const char * (*executef)(S32 argc, ...);
|
|
extern const char * (*executem)(SimObject *object, S32 argc, const char *argv[]);
|
|
extern const char * (*evaluate)(const char* string, bool echo, const char *fileName, bool cf);
|
|
}
|
|
|
|
//d-util
|
|
extern int (*dSscanf)(const char *buffer, const char *format, ...);
|
|
extern int (*dSprintf)(char *buffer, dsize_t bufferSize, const char *format, ...);
|
|
extern bool (*dAtob)(const char *str); |