Advertisement
Guest User

C::B MingW-W64 Compatability Patch

a guest
Apr 1st, 2010
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 49.43 KB | None | 0 0
  1. Index: src/include/scripting/sqplus/sqplus.h
  2. ===================================================================
  3. --- src/include/scripting/sqplus/sqplus.h   (revision 6198)
  4. +++ src/include/scripting/sqplus/sqplus.h   (working copy)
  5. @@ -1,6 +1,6 @@
  6.  // SqPlus.h
  7.  // Created by John Schultz 9/05/05, major update 10/05/05.
  8. -// Template function call design from LuaPlusCD by Joshua C. Jensen,
  9. +// Template function call design from LuaPlusCD by Joshua C. Jensen,
  10.  // inspired by luabind which was inspired by boost::python.
  11.  // Const argument, const member functions, and Mac OS-X changes by Simon Michelmore.
  12.  // DECLARE_INSTANCE_TYPE_NAME changes by Ben (Project5) from http://www.squirrel-lang.org/forums/.
  13. @@ -23,7 +23,7 @@
  14.    #endif
  15.  #endif
  16.  #include <memory.h>
  17. -#if defined(_MSC_VER) || defined(__BORLANDC__)
  18. +#if defined(_MSC_VER) || defined(__BORLANDC__)
  19.    #include <tchar.h>
  20.    #ifndef UNICODE
  21.      #define SCSNPRINTF _snprintf
  22. @@ -50,13 +50,13 @@
  23.  #include "squirrel.h"
  24.  
  25.  // C::B patch: so it builds on 64bit, ecapsulate bool/int/float using Squirrel types
  26. -#ifndef _WINDEF_
  27. -  typedef SQInteger BOOL;
  28. -  typedef SQInteger INT;
  29. -  typedef SQFloat   FLOAT;
  30. +//#ifndef _WINDEF_
  31. +  typedef SQInteger CBBOOL;
  32. +  typedef SQInteger CBINT;
  33. +  typedef SQFloat   CBFLOAT;
  34.    #define TRUE 1
  35.    #define FALSE 0
  36. -#endif
  37. +//#endif
  38.  
  39.  #include "SquirrelObject.h"
  40.  #include "SquirrelVM.h"
  41. @@ -177,18 +177,18 @@
  42.  // === Common Variable Types ===
  43.  
  44.  template<>
  45. -struct TypeInfo<INT> {
  46. +struct TypeInfo<CBINT> {
  47.    const SQChar * typeName;
  48.    TypeInfo() : typeName(sqT("int")) {}
  49. -  enum {TypeID=VAR_TYPE_INT,Size=sizeof(INT)};
  50. +  enum {TypeID=VAR_TYPE_INT,Size=sizeof(CBINT)};
  51.    operator ScriptVarType() { return ScriptVarType(TypeID); }
  52.  };
  53.  
  54.  template<>
  55. -struct TypeInfo<FLOAT> {
  56. +struct TypeInfo<CBFLOAT> {
  57.    const SQChar * typeName;
  58.    TypeInfo() : typeName(sqT("float")) {}
  59. -  enum {TypeID=VAR_TYPE_FLOAT,Size=sizeof(FLOAT)};
  60. +  enum {TypeID=VAR_TYPE_FLOAT,Size=sizeof(CBFLOAT)};
  61.    operator ScriptVarType() { return ScriptVarType(TypeID); }
  62.  };
  63.  
  64. @@ -310,7 +310,7 @@
  65.        SquirrelObject root = SquirrelVM::GetRootTable();
  66.        root.SetValue(SQ_PLUS_TYPE_TABLE,typeTable);
  67.      } // if
  68. -    typeTable.SetValue(INT((size_t)copyFunc),typeName);
  69. +    typeTable.SetValue(CBINT((size_t)copyFunc),typeName);
  70.  #endif
  71.    }
  72.  };
  73. @@ -318,7 +318,7 @@
  74.  typedef VarRef * VarRefPtr;
  75.  
  76.  // Internal use only.
  77. -inline void getVarNameTag(SQChar * buff,INT maxSize,const SQChar * scriptName) {
  78. +inline void getVarNameTag(SQChar * buff,CBINT maxSize,const SQChar * scriptName) {
  79.  //  assert(maxSize > 3);
  80.  #if 1
  81.    SQChar * d = buff;
  82. @@ -374,7 +374,7 @@
  83.    case VAR_TYPE_CONST_STRING:
  84.      break;
  85.    default:
  86. -    throw SquirrelError(sqT("validateConstantType(): type must be INT, FLOAT, BOOL, or CONST CHAR *."));
  87. +    throw SquirrelError(sqT("validateConstantType(): type must be CBINT, CBFLOAT, CBBOOL, or CONST CHAR *."));
  88.    } // case
  89.  } // validateConstantType
  90.  
  91. @@ -407,7 +407,7 @@
  92.    createTableSetGetHandlers(so);
  93.  } // BindVariable
  94.  
  95. -// === Bind a constant by value: INT, FLOAT, BOOL, or CONST CHAR * (for tables only (not classes)) ===
  96. +// === Bind a constant by value: CBINT, CBFLOAT, CBBOOL, or CONST CHAR * (for tables only (not classes)) ===
  97.  
  98.  template<typename T>
  99.  void BindConstant(SquirrelObject & so,T constant,const SQChar * scriptVarName) {
  100. @@ -461,10 +461,10 @@
  101.  /////////// BEGIN Generalized Class/Struct Instance Support //////////////
  102.  //////////////////////////////////////////////////////////////////////////
  103.  
  104. -//BOOL CreateNativeClassInstance(HSQUIRRELVM v,const SQChar * classname,SQUserPointer ud,SQRELEASEHOOK hook); // In SquirrelBindingUtils.cpp.
  105. +//CBBOOL CreateNativeClassInstance(HSQUIRRELVM v,const SQChar * classname,SQUserPointer ud,SQRELEASEHOOK hook); // In SquirrelBindingUtils.cpp.
  106.  
  107.  // Create native class instance and leave on stack.
  108. -inline BOOL CreateConstructNativeClassInstance(HSQUIRRELVM v,const SQChar * className) {
  109. +inline CBBOOL CreateConstructNativeClassInstance(HSQUIRRELVM v,const SQChar * className) {
  110.    SQInteger oldtop = sq_gettop(v);
  111.    sq_pushroottable(v);
  112.    sq_pushstring(v,className,-1);
  113. @@ -476,7 +476,7 @@
  114.    sq_remove(v,-3); // Remove the root table.
  115.    sq_push(v,1);    // Push the 'this'.
  116.  #else // Kamaitati's change. 5/28/06 jcs.
  117. -  sq_remove(v,-2); // Remove the root table.
  118. +  sq_remove(v,-2); // Remove the root table.
  119.    sq_pushroottable(v); // Push the 'this'.
  120.  #endif
  121.    if (SQ_FAILED(sq_call(v,1,SQTrue,SQ_CALL_RAISE_ERROR))) { // Call ClassName(): creates new instance and calls constructor (instead of sq_createinstance() where constructor is not called).
  122. @@ -490,7 +490,7 @@
  123.  
  124.  // Create new instance, copy 'classToCopy', and store result on stack.
  125.  template<typename T>
  126. -inline BOOL CreateCopyInstance(const SQChar * className,const T & classToCopy) {
  127. +inline CBBOOL CreateCopyInstance(const SQChar * className,const T & classToCopy) {
  128.    HSQUIRRELVM v = SquirrelVM::GetVMPtr();
  129.    if (!CreateConstructNativeClassInstance(v,className)) {
  130.      return FALSE;
  131. @@ -1232,7 +1232,7 @@
  132.  //    SQUserPointer calleeType = ClassType<Callee>::type();
  133.  //    if (typetag != calleeType) {
  134.  //      SquirrelObject typeTable = so.GetValue(SQ_CLASS_OBJECT_TABLE_NAME);
  135. -//      instance = (Callee *)typeTable.GetUserPointer(INT((size_t)ClassType<Callee>::type())); // <TODO> 64-bit compatible version.
  136. +//      instance = (Callee *)typeTable.GetUserPointer(CBINT((size_t)ClassType<Callee>::type())); // <TODO> 64-bit compatible version.
  137.  //      if (!instance) {
  138.  //        return sq_throwerror(v,sqT("Invalid Instance Type"));
  139.  //      } // if
  140. @@ -1263,7 +1263,7 @@
  141.  //    SQUserPointer calleeType = ClassType<Callee>::type();
  142.  //    if (typetag != calleeType) {
  143.  //      SquirrelObject typeTable = so.GetValue(SQ_CLASS_OBJECT_TABLE_NAME);
  144. -//      instance = (Callee *)typeTable.GetUserPointer(INT((size_t)ClassType<Callee>::type())); // <TODO> 64-bit compatible version.
  145. +//      instance = (Callee *)typeTable.GetUserPointer(CBINT((size_t)ClassType<Callee>::type())); // <TODO> 64-bit compatible version.
  146.  //      if (!instance) {
  147.  //        return sq_throwerror(v,sqT("Invalid Instance Type"));
  148.  //      } // if
  149. @@ -1580,8 +1580,8 @@
  150.  template<typename T>
  151.  struct ReleaseClassPtrPtr {
  152.    static SQInteger release(SQUserPointer up,SQInteger size) {
  153. -    if (up) {
  154. -      T ** self = (T **)up;
  155. +    if (up) {
  156. +      T ** self = (T **)up;
  157.        delete *self;
  158.      } // if
  159.      return 0;
  160. @@ -1591,15 +1591,15 @@
  161.  template<typename T>
  162.  struct ReleaseClassPtr {
  163.    static SQInteger release(SQUserPointer up,SQInteger size) {
  164. -    if (up) {
  165. -      T * self = (T *)up;
  166. +    if (up) {
  167. +      T * self = (T *)up;
  168.        delete self;
  169.      } // if
  170.      return 0;
  171.    } // release
  172.  };
  173.  
  174. -BOOL CreateClass(HSQUIRRELVM v,SquirrelObject & newClass,SQUserPointer classType,const SQChar * name,const SQChar * baseName=0);
  175. +CBBOOL CreateClass(HSQUIRRELVM v,SquirrelObject & newClass,SQUserPointer classType,const SQChar * name,const SQChar * baseName=0);
  176.  
  177.  #define SQ_ANCESTOR_CLASS_INDEX sqT("__ci")
  178.  
  179. @@ -1610,28 +1610,28 @@
  180.    StackHandler sa(v);
  181.    HSQOBJECT ho = sa.GetObjectHandle(1); // OT_INSTANCE
  182.    SquirrelObject instance(ho);
  183. -  INT classIndex = instance.GetValue(SQ_ANCESTOR_CLASS_INDEX).ToInteger();
  184. +  CBINT classIndex = instance.GetValue(SQ_ANCESTOR_CLASS_INDEX).ToInteger();
  185.    if (classIndex == -1) { // Is this the most-derived C/C++ class? If so, create all ancestors (if present).
  186.  
  187.      SquirrelObject newObjectTable = SquirrelVM::CreateTable();                 // 11/2/05: Create a new table for this instance.
  188. -    newObjectTable.SetUserPointer(INT((size_t)ClassType<T>::type()),newClass); // <TODO> 64-bit compatible version.
  189. +    newObjectTable.SetUserPointer(CBINT((size_t)ClassType<T>::type()),newClass); // <TODO> 64-bit compatible version.
  190.      instance.SetValue(SQ_CLASS_OBJECT_TABLE_NAME,newObjectTable);
  191.  
  192.      SquirrelObject classHierArray = instance.GetValue(SQ_CLASS_HIER_ARRAY);
  193. -    INT count = classHierArray.Len();
  194. +    CBINT count = classHierArray.Len();
  195.      if (count > 1) { // This will be true when more than one C/C++ class is in the hierarchy.
  196.        --count; // Skip the most-derived class.
  197. -      for (INT i=0; i < count; i++) {
  198. +      for (CBINT i=0; i < count; i++) {
  199.  #ifdef CPP_STYLE_INHERITANCE // Kamaitati's changes for C++ inheritance support. jcs 5/28/06
  200.          SquirrelObject so = classHierArray.GetValue(i);
  201.          sq_pushobject(v,so.GetObjectHandle());
  202.          SQUserPointer typeTag;
  203.          sq_gettypetag(v,-1,&typeTag);
  204. -        newObjectTable.SetUserPointer(INT(size_t(typeTag)),newClass);
  205. -        sq_poptop(v);
  206. +        newObjectTable.SetUserPointer(CBINT(size_t(typeTag)),newClass);
  207. +        sq_poptop(v);
  208.  #else
  209.          instance.SetValue(SQ_ANCESTOR_CLASS_INDEX,i); // Store ancestor class index for recursive constructor calls to come.
  210. -        INT top = sq_gettop(v);
  211. +        CBINT top = sq_gettop(v);
  212.          SquirrelObject so = classHierArray.GetValue(i); // Need to create UserData struct: store pointer to class, set release hook.
  213.          SquirrelObject func = so.GetValue(sqT("constructor"));
  214.          sq_pushobject(v,func.GetObjectHandle());
  215. @@ -1645,9 +1645,9 @@
  216.    } else { // Ancestor: Construct class and set release hook.
  217.  
  218.      SquirrelObject objectTable = instance.GetValue(SQ_CLASS_OBJECT_TABLE_NAME); // 11/2/05: Get the existing object table.
  219. -    objectTable.SetUserPointer(INT((size_t)ClassType<T>::type()),newClass);     // <TODO> 64-bit compatible version.
  220. +    objectTable.SetUserPointer(CBINT((size_t)ClassType<T>::type()),newClass);     // <TODO> 64-bit compatible version.
  221.  
  222. -    INT top = sq_gettop(v);
  223. +    CBINT top = sq_gettop(v);
  224.      T ** ud = (T **)sq_newuserdata(v,sizeof(T *)); // Create UserData and push onto stack.
  225.      *ud = newClass;
  226.      // C::B patch: Disable releasing of objects (due to private/protected dtors) (Note: This is evil, but no other possibility found.)
  227. @@ -1828,7 +1828,7 @@
  228.  #include "SqPlusConst.h"
  229.  #endif
  230.  
  231. -  // Register a constant (read-only in script, passed by value (only INT, FLOAT, or BOOL types)).
  232. +  // Register a constant (read-only in script, passed by value (only CBINT, CBFLOAT, or CBBOOL types)).
  233.    template<typename ConstantType>
  234.    SQClassDef & constant(ConstantType constant,const SQChar * name) {
  235.      RegisterInstanceConstant(newClass,ClassType<TClassType>::type(),constant,name);
  236. @@ -1853,8 +1853,10 @@
  237.  inline void Push(HSQUIRRELVM v,unsigned int value)   { sq_pushinteger(v,value); }
  238.  inline void Push(HSQUIRRELVM v,long value)           { sq_pushinteger(v,value); }
  239.  inline void Push(HSQUIRRELVM v,unsigned long value)  { sq_pushinteger(v,value); }
  240. -inline void Push(HSQUIRRELVM v,double value)         { sq_pushfloat(v,(FLOAT)value); }
  241. -inline void Push(HSQUIRRELVM v,float value)          { sq_pushfloat(v,(FLOAT)value); }
  242. +inline void Push(HSQUIRRELVM v,long long value)      { sq_pushinteger(v,value); }
  243. +inline void Push(HSQUIRRELVM v,unsigned long long value)  { sq_pushinteger(v,value); }
  244. +inline void Push(HSQUIRRELVM v,double value)         { sq_pushfloat(v,(CBFLOAT)value); }
  245. +inline void Push(HSQUIRRELVM v,float value)          { sq_pushfloat(v,(CBFLOAT)value); }
  246.  inline void Push(HSQUIRRELVM v,const SQChar * value) { sq_pushstring(v,value,-1); }
  247.  inline void Push(HSQUIRRELVM v,const SquirrelNull &) { sq_pushnull(v); }
  248.  inline void Push(HSQUIRRELVM v,SQFUNCTION value)     { sq_pushuserpointer(v,(void*)value); }
  249. @@ -1885,6 +1887,8 @@
  250.  inline bool    Match(TypeWrapper<unsigned int>,HSQUIRRELVM v,SQInteger idx)   { return sq_gettype(v,idx) == OT_INTEGER; }
  251.  inline bool    Match(TypeWrapper<long>,HSQUIRRELVM v,SQInteger idx)           { return sq_gettype(v,idx) == OT_INTEGER; }
  252.  inline bool    Match(TypeWrapper<unsigned long>,HSQUIRRELVM v,SQInteger idx)  { return sq_gettype(v,idx) == OT_INTEGER; }
  253. +inline bool    Match(TypeWrapper<long long>,HSQUIRRELVM v,SQInteger idx)           { return sq_gettype(v,idx) == OT_INTEGER; }
  254. +inline bool    Match(TypeWrapper<unsigned long long>,HSQUIRRELVM v,SQInteger idx)  { return sq_gettype(v,idx) == OT_INTEGER; }
  255.  inline bool    Match(TypeWrapper<float>,HSQUIRRELVM v,SQInteger idx)          { SQInteger type = sq_gettype(v,idx); return type == OT_FLOAT; }
  256.  inline bool    Match(TypeWrapper<double>,HSQUIRRELVM v,SQInteger idx)         { SQInteger type = sq_gettype(v,idx); return type == OT_FLOAT; }
  257.  inline bool    Match(TypeWrapper<const SQChar *>,HSQUIRRELVM v,SQInteger idx) { return sq_gettype(v,idx) == OT_STRING; }
  258. @@ -1894,16 +1898,18 @@
  259.  
  260.  inline void           Get(TypeWrapper<void>,HSQUIRRELVM v,int)                {}
  261.  inline bool           Get(TypeWrapper<bool>,HSQUIRRELVM v,SQInteger idx)            { SQBool b; SQPLUS_CHECK_GET(sq_getbool(v,idx,&b)); return b != 0; }
  262. -inline char           Get(TypeWrapper<char>,HSQUIRRELVM v,SQInteger idx)            { INT i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return static_cast<char>(i); }
  263. -inline unsigned char  Get(TypeWrapper<unsigned char>,HSQUIRRELVM v,SQInteger idx)   { INT i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return static_cast<unsigned char>(i); }
  264. -inline short          Get(TypeWrapper<short>,HSQUIRRELVM v,SQInteger idx)           { INT i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return static_cast<short>(i); }
  265. -inline unsigned short  Get(TypeWrapper<unsigned short>,HSQUIRRELVM v,SQInteger idx)  { INT i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return static_cast<unsigned short>(i); }
  266. -inline int            Get(TypeWrapper<int>,HSQUIRRELVM v,SQInteger idx)             { INT i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return i; }
  267. -inline unsigned int   Get(TypeWrapper<unsigned int>,HSQUIRRELVM v,SQInteger idx)    { INT i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return static_cast<unsigned int>(i); }
  268. -inline long           Get(TypeWrapper<long>,HSQUIRRELVM v,SQInteger idx)            { INT i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return static_cast<long>(i); }
  269. -inline unsigned long  Get(TypeWrapper<unsigned long>,HSQUIRRELVM v,SQInteger idx)   { INT i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return static_cast<unsigned long>(i); }
  270. -inline float          Get(TypeWrapper<float>,HSQUIRRELVM v,SQInteger idx)           { FLOAT f; SQPLUS_CHECK_GET(sq_getfloat(v,idx,&f)); return f; }
  271. -inline double         Get(TypeWrapper<double>,HSQUIRRELVM v,SQInteger idx)          { FLOAT f; SQPLUS_CHECK_GET(sq_getfloat(v,idx,&f)); return static_cast<double>(f); }
  272. +inline char           Get(TypeWrapper<char>,HSQUIRRELVM v,SQInteger idx)            { CBINT i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return static_cast<char>(i); }
  273. +inline unsigned char  Get(TypeWrapper<unsigned char>,HSQUIRRELVM v,SQInteger idx)   { CBINT i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return static_cast<unsigned char>(i); }
  274. +inline short          Get(TypeWrapper<short>,HSQUIRRELVM v,SQInteger idx)           { CBINT i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return static_cast<short>(i); }
  275. +inline unsigned short  Get(TypeWrapper<unsigned short>,HSQUIRRELVM v,SQInteger idx)  { CBINT i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return static_cast<unsigned short>(i); }
  276. +inline int            Get(TypeWrapper<int>,HSQUIRRELVM v,SQInteger idx)             { CBINT i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return i; }
  277. +inline unsigned int   Get(TypeWrapper<unsigned int>,HSQUIRRELVM v,SQInteger idx)    { CBINT i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return static_cast<unsigned int>(i); }
  278. +inline long           Get(TypeWrapper<long>,HSQUIRRELVM v,SQInteger idx)            { CBINT i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return static_cast<long>(i); }
  279. +inline unsigned long  Get(TypeWrapper<unsigned long>,HSQUIRRELVM v,SQInteger idx)   { CBINT i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return static_cast<unsigned long>(i); }
  280. +inline long long      Get(TypeWrapper<long long>,HSQUIRRELVM v,SQInteger idx)            { CBINT i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return static_cast<long long>(i); }
  281. +inline unsigned long long Get(TypeWrapper<unsigned long long>,HSQUIRRELVM v,SQInteger idx)   { CBINT i; SQPLUS_CHECK_GET(sq_getinteger(v,idx,&i)); return static_cast<unsigned long long>(i); }
  282. +inline float          Get(TypeWrapper<float>,HSQUIRRELVM v,SQInteger idx)           { CBFLOAT f; SQPLUS_CHECK_GET(sq_getfloat(v,idx,&f)); return f; }
  283. +inline double         Get(TypeWrapper<double>,HSQUIRRELVM v,SQInteger idx)          { CBFLOAT f; SQPLUS_CHECK_GET(sq_getfloat(v,idx,&f)); return static_cast<double>(f); }
  284.  inline const SQChar * Get(TypeWrapper<const SQChar *>,HSQUIRRELVM v,SQInteger idx)  { const SQChar * s; SQPLUS_CHECK_GET(sq_getstring(v,idx,&s)); return s; }
  285.  inline SquirrelNull   Get(TypeWrapper<SquirrelNull>,HSQUIRRELVM v,SQInteger idx)    { (void)v, (void)idx; return SquirrelNull();  }
  286.  inline void *         Get(TypeWrapper<void *>,HSQUIRRELVM v,SQInteger idx)          { SQUserPointer p; SQPLUS_CHECK_GET(sq_getuserpointer(v,idx,&p)); return p; }
  287. Index: src/include/scripting/sqplus/SquirrelBindingsUtils.h
  288. ===================================================================
  289. --- src/include/scripting/sqplus/SquirrelBindingsUtils.h    (revision 6198)
  290. +++ src/include/scripting/sqplus/SquirrelBindingsUtils.h    (working copy)
  291. @@ -103,7 +103,7 @@
  292.  
  293.  
  294.  #define _DECL_NATIVE_CONSTRUCTION(classname,cppclass) \
  295. -   BOOL push_##classname(cppclass &quat); \
  296. +   CBBOOL push_##classname(cppclass &quat); \
  297.     SquirrelObject new_##classname(cppclass &quat);
  298.  
  299.  #define _IMPL_NATIVE_CONSTRUCTION(classname,cppclass) \
  300. @@ -115,7 +115,7 @@
  301.     } \
  302.     return 0; \
  303.  } \
  304. -BOOL push_##classname(cppclass &quat) \
  305. +CBBOOL push_##classname(cppclass &quat) \
  306.  { \
  307.     cppclass *newquat = new cppclass; \
  308.     *newquat = quat; \
  309. @@ -141,11 +141,11 @@
  310.     return 1; \
  311.  }
  312.  
  313. -BOOL CreateStaticClass(HSQUIRRELVM v,SquirrelClassDecl *cd);
  314. -BOOL CreateStaticNamespace(HSQUIRRELVM v,ScriptNamespaceDecl *sn);
  315. -BOOL CreateClass(HSQUIRRELVM v,SquirrelClassDecl *cd);
  316. -BOOL InitScriptClasses(HSQUIRRELVM v);
  317. -BOOL CreateNativeClassInstance(HSQUIRRELVM v,const SQChar *classname,SQUserPointer ud,SQRELEASEHOOK hook);
  318. +CBBOOL CreateStaticClass(HSQUIRRELVM v,SquirrelClassDecl *cd);
  319. +CBBOOL CreateStaticNamespace(HSQUIRRELVM v,ScriptNamespaceDecl *sn);
  320. +CBBOOL CreateClass(HSQUIRRELVM v,SquirrelClassDecl *cd);
  321. +CBBOOL InitScriptClasses(HSQUIRRELVM v);
  322. +CBBOOL CreateNativeClassInstance(HSQUIRRELVM v,const SQChar *classname,SQUserPointer ud,SQRELEASEHOOK hook);
  323.  
  324.  #endif // SQUIRREL_BINDINGS_UTILS_H
  325.  
  326. Index: src/include/scripting/sqplus/SquirrelObject.h
  327. ===================================================================
  328. --- src/include/scripting/sqplus/SquirrelObject.h   (revision 6198)
  329. +++ src/include/scripting/sqplus/SquirrelObject.h   (working copy)
  330. @@ -1,6 +1,8 @@
  331.  #ifndef _SQUIRREL_OBJECT_H_
  332.  #define _SQUIRREL_OBJECT_H_
  333.  
  334. +
  335. +
  336.  class SquirrelObject
  337.  {
  338.     friend class SquirrelVM;
  339. @@ -14,48 +16,48 @@
  340.     void AttachToStackObject(SQInteger idx);
  341.    void Reset(void); // Release (any) reference and reset _o.
  342.    SquirrelObject Clone();
  343. -   BOOL SetValue(const SquirrelObject &key,const SquirrelObject &val);
  344. -  
  345. -   BOOL SetValue(SQInteger key,const SquirrelObject &val);
  346. -   BOOL SetValue(INT key,bool b); // Compiler treats SQBool as INT.
  347. -   BOOL SetValue(INT key,INT n);
  348. -   BOOL SetValue(INT key,FLOAT f);
  349. -   BOOL SetValue(INT key,const SQChar *s);
  350. +   CBBOOL SetValue(const SquirrelObject &key,const SquirrelObject &val);
  351.  
  352. -   BOOL SetValue(const SQChar *key,const SquirrelObject &val);
  353. -   BOOL SetValue(const SQChar *key,bool b);
  354. -   BOOL SetValue(const SQChar *key,INT n);
  355. -   BOOL SetValue(const SQChar *key,FLOAT f);
  356. -   BOOL SetValue(const SQChar *key,const SQChar *s);
  357. +   CBBOOL SetValue(SQInteger key,const SquirrelObject &val);
  358. +   CBBOOL SetValue(CBINT key,bool b); // Compiler treats SQBool as CBINT.
  359. +   CBBOOL SetValue(CBINT key,CBINT n);
  360. +   CBBOOL SetValue(CBINT key,CBFLOAT f);
  361. +   CBBOOL SetValue(CBINT key,const SQChar *s);
  362.  
  363. -  BOOL SetUserPointer(const SQChar * key,SQUserPointer up);
  364. +   CBBOOL SetValue(const SQChar *key,const SquirrelObject &val);
  365. +   CBBOOL SetValue(const SQChar *key,bool b);
  366. +   CBBOOL SetValue(const SQChar *key,CBINT n);
  367. +   CBBOOL SetValue(const SQChar *key,CBFLOAT f);
  368. +   CBBOOL SetValue(const SQChar *key,const SQChar *s);
  369. +
  370. +  CBBOOL SetUserPointer(const SQChar * key,SQUserPointer up);
  371.    SQUserPointer GetUserPointer(const SQChar * key);
  372. -  BOOL SetUserPointer(INT key,SQUserPointer up);
  373. -  SQUserPointer GetUserPointer(INT key);
  374. +  CBBOOL SetUserPointer(CBINT key,SQUserPointer up);
  375. +  SQUserPointer GetUserPointer(CBINT key);
  376.  
  377. -  BOOL NewUserData(const SQChar * key,INT size,SQUserPointer * typetag=0);
  378. -  BOOL GetUserData(const SQChar * key,SQUserPointer * data,SQUserPointer * typetag=0);
  379. -  BOOL RawGetUserData(const SQChar * key,SQUserPointer * data,SQUserPointer * typetag=0);
  380. +  CBBOOL NewUserData(const SQChar * key,CBINT size,SQUserPointer * typetag=0);
  381. +  CBBOOL GetUserData(const SQChar * key,SQUserPointer * data,SQUserPointer * typetag=0);
  382. +  CBBOOL RawGetUserData(const SQChar * key,SQUserPointer * data,SQUserPointer * typetag=0);
  383.  
  384.    // === BEGIN Arrays ===
  385.  
  386. -  BOOL ArrayResize(INT newSize);
  387. -  BOOL ArrayExtend(INT amount);
  388. -  BOOL ArrayReverse(void);
  389. +  CBBOOL ArrayResize(CBINT newSize);
  390. +  CBBOOL ArrayExtend(CBINT amount);
  391. +  CBBOOL ArrayReverse(void);
  392.    SquirrelObject ArrayPop(SQBool returnPoppedVal=SQTrue);
  393.  
  394.    void ArrayAppend(const SquirrelObject &o);
  395.  
  396.    template<typename T>
  397. -  BOOL ArrayAppend(T item);
  398. +  CBBOOL ArrayAppend(T item);
  399.  
  400.    // === END Arrays ===
  401.  
  402. -   BOOL SetInstanceUP(SQUserPointer up);
  403. -   BOOL IsNull() const;
  404. +   CBBOOL SetInstanceUP(SQUserPointer up);
  405. +   CBBOOL IsNull() const;
  406.     SQInteger IsNumeric() const;
  407.     SQInteger Len() const;
  408. -   BOOL SetDelegate(SquirrelObject &obj);
  409. +   CBBOOL SetDelegate(SquirrelObject &obj);
  410.     SquirrelObject GetDelegate();
  411.     const SQChar* ToString();
  412.     bool ToBool();
  413. @@ -63,37 +65,37 @@
  414.     SQFloat ToFloat();
  415.     SQUserPointer GetInstanceUP(SQUserPointer tag) const;
  416.     SquirrelObject GetValue(const SQChar *key) const;
  417. -   BOOL Exists(const SQChar *key) const;
  418. -   FLOAT GetFloat(const SQChar *key) const;
  419. -   INT GetInt(const SQChar *key) const;
  420. +   CBBOOL Exists(const SQChar *key) const;
  421. +   CBFLOAT GetFloat(const SQChar *key) const;
  422. +   CBINT GetInt(const SQChar *key) const;
  423.     const SQChar *GetString(const SQChar *key) const;
  424.     bool GetBool(const SQChar *key) const;
  425. -   SquirrelObject GetValue(INT key) const;
  426. -   FLOAT GetFloat(INT key) const;
  427. -   INT GetInt(INT key) const;
  428. -   const SQChar *GetString(INT key) const;
  429. -   bool GetBool(INT key) const;
  430. +   SquirrelObject GetValue(CBINT key) const;
  431. +   CBFLOAT GetFloat(CBINT key) const;
  432. +   CBINT GetInt(CBINT key) const;
  433. +   const SQChar *GetString(CBINT key) const;
  434. +   bool GetBool(CBINT key) const;
  435.     SquirrelObject GetAttributes(const SQChar *key = NULL);
  436.     SQObjectType GetType();
  437.     HSQOBJECT & GetObjectHandle(){return _o;}
  438. -   BOOL BeginIteration();
  439. -   BOOL Next(SquirrelObject &key,SquirrelObject &value);
  440. +   CBBOOL BeginIteration();
  441. +   CBBOOL Next(SquirrelObject &key,SquirrelObject &value);
  442.     void EndIteration();
  443.  
  444. -  BOOL GetTypeTag(SQUserPointer * typeTag);
  445. +  CBBOOL GetTypeTag(SQUserPointer * typeTag);
  446.  
  447.    // === Get the type name of item/object through string key in a table or class. Returns NULL if the type name is not set (not an SqPlus registered type).
  448.    const SQChar * GetTypeName(const SQChar * key);
  449. -  // === Get the type name of item/object through INT key in a table or class. Returns NULL if the type name is not set (not an SqPlus registered type).
  450. -  const SQChar * GetTypeName(INT key);
  451. +  // === Get the type name of item/object through CBINT key in a table or class. Returns NULL if the type name is not set (not an SqPlus registered type).
  452. +  const SQChar * GetTypeName(CBINT key);
  453.    // === Get the type name of this object, else return NULL if not an SqPlus registered type.
  454.    const SQChar * GetTypeName(void);
  455.  
  456.  
  457.  private:
  458. -   BOOL GetSlot(const SQChar *name) const;
  459. -  BOOL RawGetSlot(const SQChar *name) const;
  460. -   BOOL GetSlot(INT key) const;
  461. +   CBBOOL GetSlot(const SQChar *name) const;
  462. +  CBBOOL RawGetSlot(const SQChar *name) const;
  463. +   CBBOOL GetSlot(CBINT key) const;
  464.     HSQOBJECT _o;
  465.  };
  466.  
  467. @@ -159,7 +161,7 @@
  468.         }
  469.         return NULL;
  470.     }
  471. -   BOOL GetBool(SQInteger idx)
  472. +   CBBOOL GetBool(SQInteger idx)
  473.     {
  474.         SQBool ret;
  475.         if(idx > 0 && idx <= _top) {
  476. @@ -175,7 +177,7 @@
  477.         }
  478.         return -1;
  479.     }
  480. -  
  481. +
  482.     SQInteger GetParamCount() {
  483.         return _top;
  484.     }
  485. @@ -184,12 +186,12 @@
  486.         sq_pushstring(v,s,-1);
  487.         return 1;
  488.     }
  489. -   SQInteger Return(FLOAT f)
  490. +   SQInteger Return(CBFLOAT f)
  491.     {
  492.         sq_pushfloat(v,f);
  493.         return 1;
  494.     }
  495. -   SQInteger Return(INT i)
  496. +   SQInteger Return(CBINT i)
  497.     {
  498.         sq_pushinteger(v,i);
  499.         return 1;
  500. Index: src/include/scripting/sqplus/SquirrelVM.h
  501. ===================================================================
  502. --- src/include/scripting/sqplus/SquirrelVM.h   (revision 6198)
  503. +++ src/include/scripting/sqplus/SquirrelVM.h   (working copy)
  504. @@ -30,16 +30,16 @@
  505.  public:
  506.      // C::B patch: Add additional initilisation flags
  507.     static void Init(SquirrelInitFlags flags = sqifAll);
  508. -   static BOOL IsInitialized(){return _VM == NULL?FALSE:TRUE;}
  509. +   static CBBOOL IsInitialized(){return _VM == NULL?FALSE:TRUE;}
  510.     static void Shutdown();
  511.     static void Cleanup();
  512. -   static BOOL Update(); //debugger and maybe GC later
  513. +   static CBBOOL Update(); //debugger and maybe GC later
  514.     static SquirrelObject CompileScript(const SQChar *s);
  515.     static SquirrelObject CompileBuffer(const SQChar *s,const SQChar * debugInfo=sqT("console_buffer"));
  516.     static SquirrelObject RunScript(const SquirrelObject &o,SquirrelObject *_this = NULL);
  517.     static void PrintFunc(HSQUIRRELVM v,const SQChar* s,...);
  518. -   static BOOL BeginCall(const SquirrelObject &func);
  519. -   static BOOL BeginCall(const SquirrelObject &func,SquirrelObject &_this);
  520. +   static CBBOOL BeginCall(const SquirrelObject &func);
  521. +   static CBBOOL BeginCall(const SquirrelObject &func,SquirrelObject &_this);
  522.     static void PushParam(const SquirrelObject &o);
  523.     static void PushParam(const SQChar *s);
  524.     static void PushParam(SQInteger n);
  525. @@ -48,7 +48,7 @@
  526.     static void PushParamNull();
  527.     static SquirrelObject EndCall();
  528.     static SquirrelObject CreateString(const SQChar *s);
  529. -   static SquirrelObject CreateTable();   
  530. +   static SquirrelObject CreateTable();
  531.     static SquirrelObject CreateArray(SQInteger size);
  532.     static SquirrelObject CreateInstance(SquirrelObject &oclass); // oclass is an existing class. Create an 'instance' (OT_INSTANCE) of oclass.
  533.     static SquirrelObject CreateFunction(SQFUNCTION func);
  534. @@ -73,13 +73,13 @@
  535.      _root = vmSys._root;
  536.    } // SetVMSys
  537.  
  538. -  static void PushValue(INT val) {
  539. +  static void PushValue(CBINT val) {
  540.      sq_pushinteger(_VM,val);
  541.    } // PushValue
  542. -  static void PushValue(FLOAT val) {
  543. +  static void PushValue(CBFLOAT val) {
  544.      sq_pushfloat(_VM,val);
  545.    } // PushValue
  546. -  static void PushValue(bool val) { // Compiler treats SQBool as INT.
  547. +  static void PushValue(bool val) { // Compiler treats SQBool as CBINT.
  548.      sq_pushbool(_VM,val);
  549.    } // PushValue
  550.    static void PushValue(SQChar * val) {
  551. @@ -112,10 +112,10 @@
  552.  };
  553.  
  554.  template<typename T>
  555. -inline BOOL SquirrelObject::ArrayAppend(T item) {
  556. +inline CBBOOL SquirrelObject::ArrayAppend(T item) {
  557.    sq_pushobject(SquirrelVM::_VM,GetObjectHandle());
  558.    SquirrelVM::PushValue(item);
  559. -  BOOL res = sq_arrayappend(SquirrelVM::_VM,-2) == SQ_OK;
  560. +  CBBOOL res = sq_arrayappend(SquirrelVM::_VM,-2) == SQ_OK;
  561.    sq_pop(SquirrelVM::_VM,1);
  562.    return res;
  563.  } // ArrayAppend
  564. Index: src/plugins/debuggergdb/breakpointsdlg.cpp
  565. ===================================================================
  566. --- src/plugins/debuggergdb/breakpointsdlg.cpp  (revision 6198)
  567. +++ src/plugins/debuggergdb/breakpointsdlg.cpp  (working copy)
  568. @@ -109,7 +109,7 @@
  569.             m_pList->SetItem(m_pList->GetItemCount() - 1, 1, bp->filename);
  570.             m_pList->SetItem(m_pList->GetItemCount() - 1, 2, wxString::Format(_T("%d"), bp->line + 1));
  571.          }
  572. -        m_pList->SetItemData(m_pList->GetItemCount() - 1, (long)bp);
  573. +        m_pList->SetItemData(m_pList->GetItemCount() - 1, (wxIntPtr)bp);
  574.      }
  575.      m_pList->SetColumnWidth(0, wxLIST_AUTOSIZE);
  576.      m_pList->SetColumnWidth(1, wxLIST_AUTOSIZE);
  577. Index: src/sdk/newfromtemplatedlg.cpp
  578. ===================================================================
  579. --- src/sdk/newfromtemplatedlg.cpp  (revision 6198)
  580. +++ src/sdk/newfromtemplatedlg.cpp  (working copy)
  581. @@ -188,7 +188,7 @@
  582.     cat->SetSelection(0);
  583.  }
  584.  
  585. -int wxCALLBACK SortTemplates(long item1, long item2, long sortData)
  586. +int wxCALLBACK SortTemplates(long item1, long item2, wxIntPtr sortData)
  587.  {
  588.      ListItemData* data1 = reinterpret_cast<ListItemData*>(item1);
  589.      ListItemData* data2 = reinterpret_cast<ListItemData*>(item2);
  590. @@ -243,7 +243,7 @@
  591.                  int index = list->InsertItem(0, plugin->GetTitle(w), idx);
  592.                  if (index != -1)
  593.                  {
  594. -                    list->SetItemData(index, (long)(new ListItemData(0, plugin, w)));
  595. +                    list->SetItemData(index, (wxIntPtr)(new ListItemData(0, plugin, w)));
  596.                      // if the script exists in the user's configuration, mark that it's been customized
  597.                      wxString script = ConfigManager::GetFolder(sdDataUser) + _T("/templates/wizard/") + plugin->GetScriptFilename(w);
  598.                      if (wxFileExists(script))
  599. Index: src/sdk/pluginsconfigurationdlg.cpp
  600. ===================================================================
  601. --- src/sdk/pluginsconfigurationdlg.cpp (revision 6198)
  602. +++ src/sdk/pluginsconfigurationdlg.cpp (working copy)
  603. @@ -34,7 +34,7 @@
  604.  
  605.  #include "pluginsconfigurationdlg.h" // class's header file
  606.  
  607. -int wxCALLBACK sortByTitle(long item1, long item2, long sortData)
  608. +int wxCALLBACK sortByTitle(long item1, long item2, wxIntPtr sortData)
  609.  {
  610.      const PluginElement* elem1 = (const PluginElement*)item1;
  611.      const PluginElement* elem2 = (const PluginElement*)item2;
  612. @@ -136,7 +136,7 @@
  613.          list->SetItem(idx, 1, elem->info.version);
  614.          list->SetItem(idx, 2, elem->plugin->IsAttached() ? _("Yes") : _("No"));
  615.          list->SetItem(idx, 3, UnixFilename(elem->fileName));
  616. -        list->SetItemData(idx, (long)elem);
  617. +        list->SetItemData(idx, (wxIntPtr)elem);
  618.  
  619.          if (!elem->plugin->IsAttached())
  620.              list->SetItemTextColour(idx, wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT));
  621. Index: src/sdk/projectfileoptionsdlg.cpp
  622. ===================================================================
  623. --- src/sdk/projectfileoptionsdlg.cpp   (revision 6198)
  624. +++ src/sdk/projectfileoptionsdlg.cpp   (working copy)
  625. @@ -23,6 +23,7 @@
  626.      #include <wx/file.h>
  627.      #include <wx/checklst.h>
  628.      #include <wx/stattext.h>
  629. +    #include <wx/sizer.h>
  630.  #endif
  631.  
  632.  #if (__WXMSW__)
  633. Index: src/sdk/scripting/sqplus/SqPlus.cpp
  634. ===================================================================
  635. --- src/sdk/scripting/sqplus/SqPlus.cpp (revision 6198)
  636. +++ src/sdk/scripting/sqplus/SqPlus.cpp (working copy)
  637. @@ -42,7 +42,7 @@
  638.      SQUserPointer typetag; instance.GetTypeTag(&typetag);
  639.      if (typetag != vr->instanceType) {
  640.        SquirrelObject typeTable = instance.GetValue(SQ_CLASS_OBJECT_TABLE_NAME);
  641. -      up = (unsigned char *)typeTable.GetUserPointer(INT((size_t)vr->instanceType)); // <TODO> 64-bit compatible version.
  642. +      up = (unsigned char *)typeTable.GetUserPointer(CBINT((size_t)vr->instanceType)); // <TODO> 64-bit compatible version.
  643.        if (!up) {
  644.          throw SquirrelError(sqT("Invalid Instance Type"));
  645.        } // if
  646. @@ -68,16 +68,16 @@
  647.      throw SquirrelError(msg.s);
  648.    } // if
  649.    switch (vr->type) {
  650. -  case TypeInfo<INT>::TypeID: {
  651. -    INT * val = (INT *)data; // Address
  652. +  case TypeInfo<CBINT>::TypeID: {
  653. +    CBINT * val = (CBINT *)data; // Address
  654.      if (val) {
  655.        *val = sa.GetInt(3);
  656.        return sa.Return(*val);
  657.      } // if
  658.      break;
  659.    } // case
  660. -  case TypeInfo<FLOAT>::TypeID: {
  661. -    FLOAT * val = (FLOAT *)data; // Address
  662. +  case TypeInfo<CBFLOAT>::TypeID: {
  663. +    CBFLOAT * val = (CBFLOAT *)data; // Address
  664.      if (val) {
  665.        *val = sa.GetFloat(3);
  666.        return sa.Return(*val);
  667. @@ -136,26 +136,26 @@
  668.  
  669.  static SQInteger getVar(StackHandler & sa,VarRef * vr,void * data) {
  670.    switch (vr->type) {
  671. -  case TypeInfo<INT>::TypeID: {
  672. +  case TypeInfo<CBINT>::TypeID: {
  673.      if (!(vr->access & VAR_ACCESS_CONSTANT)) {
  674. -      INT * val = (INT *)data; // Address
  675. +      CBINT * val = (CBINT *)data; // Address
  676.        if (val) {
  677.          return sa.Return(*val);
  678.        } // if
  679.      } else {
  680. -      INT * val = (INT *)&data; // Constant value
  681. +      CBINT * val = (CBINT *)&data; // Constant value
  682.        return sa.Return(*val);
  683.      } // if
  684.      break;
  685.    } // case
  686. -  case TypeInfo<FLOAT>::TypeID: {
  687. +  case TypeInfo<CBFLOAT>::TypeID: {
  688.      if (!(vr->access & VAR_ACCESS_CONSTANT)) {
  689. -      FLOAT * val = (FLOAT *)data; // Address
  690. +      CBFLOAT * val = (CBFLOAT *)data; // Address
  691.        if (val) {
  692.          return sa.Return(*val);
  693.        } // if
  694.      } else {
  695. -      FLOAT * val = (FLOAT *)&data; // Constant value
  696. +      CBFLOAT * val = (CBFLOAT *)&data; // Constant value
  697.        return sa.Return(*val);
  698.      } // if
  699.      break;
  700. @@ -259,7 +259,7 @@
  701.  
  702.  // === Classes ===
  703.  
  704. -BOOL CreateClass(HSQUIRRELVM v,SquirrelObject & newClass,SQUserPointer classType,const SQChar * name,const SQChar * baseName) {
  705. +CBBOOL CreateClass(HSQUIRRELVM v,SquirrelObject & newClass,SQUserPointer classType,const SQChar * name,const SQChar * baseName) {
  706.    // C::B patch: Comment out unused variable
  707.    //SQInteger n = 0;
  708.    SQInteger oldtop = sq_gettop(v);
  709. Index: src/sdk/scripting/sqplus/SquirrelBindingsUtils.cpp
  710. ===================================================================
  711. --- src/sdk/scripting/sqplus/SquirrelBindingsUtils.cpp  (revision 6198)
  712. +++ src/sdk/scripting/sqplus/SquirrelBindingsUtils.cpp  (working copy)
  713. @@ -2,7 +2,7 @@
  714.  
  715.  
  716.  
  717. -BOOL CreateStaticNamespace(HSQUIRRELVM v,ScriptNamespaceDecl *sn)
  718. +CBBOOL CreateStaticNamespace(HSQUIRRELVM v,ScriptNamespaceDecl *sn)
  719.  {
  720.     SQInteger n = 0;
  721.     sq_pushroottable(v);
  722. @@ -52,11 +52,11 @@
  723.     }
  724.     sq_createslot(v,-3);
  725.     sq_pop(v,1);
  726. -  
  727. +
  728.     return TRUE;
  729.  }
  730.  
  731. -BOOL CreateClass(HSQUIRRELVM v,SquirrelClassDecl *cd)
  732. +CBBOOL CreateClass(HSQUIRRELVM v,SquirrelClassDecl *cd)
  733.  {
  734.     SQInteger n = 0;
  735.     SQInteger oldtop = sq_gettop(v);
  736. @@ -97,7 +97,7 @@
  737.     return TRUE;
  738.  }
  739.  
  740. -BOOL CreateNativeClassInstance(HSQUIRRELVM v,const SQChar *classname,SQUserPointer ud,SQRELEASEHOOK hook)
  741. +CBBOOL CreateNativeClassInstance(HSQUIRRELVM v,const SQChar *classname,SQUserPointer ud,SQRELEASEHOOK hook)
  742.  {
  743.     SQInteger oldtop = sq_gettop(v);
  744.     sq_pushroottable(v);
  745. Index: src/sdk/scripting/sqplus/SquirrelObject.cpp
  746. ===================================================================
  747. --- src/sdk/scripting/sqplus/SquirrelObject.cpp (revision 6198)
  748. +++ src/sdk/scripting/sqplus/SquirrelObject.cpp (working copy)
  749. @@ -80,7 +80,7 @@
  750.     _o = t;
  751.  }
  752.  
  753. -BOOL SquirrelObject::SetDelegate(SquirrelObject &obj)
  754. +CBBOOL SquirrelObject::SetDelegate(SquirrelObject &obj)
  755.  {
  756.     if(obj.GetType() == OT_TABLE ||
  757.         obj.GetType() == OT_NULL) {
  758. @@ -114,12 +114,12 @@
  759.     return ret;
  760.  }
  761.  
  762. -BOOL SquirrelObject::IsNull() const
  763. +CBBOOL SquirrelObject::IsNull() const
  764.  {
  765.     return sq_isnull(_o);
  766.  }
  767.  
  768. -BOOL SquirrelObject::IsNumeric() const
  769. +CBBOOL SquirrelObject::IsNumeric() const
  770.  {
  771.     return sq_isnumeric(_o);
  772.  }
  773. @@ -136,7 +136,7 @@
  774.  }
  775.  
  776.  #define _SETVALUE_INT_BEGIN \
  777. -   BOOL ret = FALSE; \
  778. +   CBBOOL ret = FALSE; \
  779.     SQInteger top = sq_gettop(SquirrelVM::_VM); \
  780.     sq_pushobject(SquirrelVM::_VM,_o); \
  781.     sq_pushinteger(SquirrelVM::_VM,key);
  782. @@ -148,44 +148,44 @@
  783.     sq_settop(SquirrelVM::_VM,top); \
  784.     return ret;
  785.  
  786. -BOOL SquirrelObject::SetValue(INT key,const SquirrelObject &val)
  787. +CBBOOL SquirrelObject::SetValue(CBINT key,const SquirrelObject &val)
  788.  {
  789.     _SETVALUE_INT_BEGIN
  790.     sq_pushobject(SquirrelVM::_VM,val._o);
  791.     _SETVALUE_INT_END
  792.  }
  793.  
  794. -BOOL SquirrelObject::SetValue(INT key,INT n)
  795. +CBBOOL SquirrelObject::SetValue(CBINT key,CBINT n)
  796.  {
  797.     _SETVALUE_INT_BEGIN
  798.     sq_pushinteger(SquirrelVM::_VM,n);
  799.     _SETVALUE_INT_END
  800.  }
  801.  
  802. -BOOL SquirrelObject::SetValue(INT key,FLOAT f)
  803. +CBBOOL SquirrelObject::SetValue(CBINT key,CBFLOAT f)
  804.  {
  805.     _SETVALUE_INT_BEGIN
  806.     sq_pushfloat(SquirrelVM::_VM,f);
  807.     _SETVALUE_INT_END
  808.  }
  809.  
  810. -BOOL SquirrelObject::SetValue(INT key,const SQChar *s)
  811. +CBBOOL SquirrelObject::SetValue(CBINT key,const SQChar *s)
  812.  {
  813.     _SETVALUE_INT_BEGIN
  814.     sq_pushstring(SquirrelVM::_VM,s,-1);
  815.     _SETVALUE_INT_END
  816.  }
  817.  
  818. -BOOL SquirrelObject::SetValue(INT key,bool b)
  819. +CBBOOL SquirrelObject::SetValue(CBINT key,bool b)
  820.  {
  821.     _SETVALUE_INT_BEGIN
  822.     sq_pushbool(SquirrelVM::_VM,b);
  823.     _SETVALUE_INT_END
  824.  }
  825.  
  826. -BOOL SquirrelObject::SetValue(const SquirrelObject &key,const SquirrelObject &val)
  827. +CBBOOL SquirrelObject::SetValue(const SquirrelObject &key,const SquirrelObject &val)
  828.  {
  829. -   BOOL ret = FALSE;
  830. +   CBBOOL ret = FALSE;
  831.     SQInteger top = sq_gettop(SquirrelVM::_VM);
  832.     sq_pushobject(SquirrelVM::_VM,_o);
  833.     sq_pushobject(SquirrelVM::_VM,key._o);
  834. @@ -198,7 +198,7 @@
  835.  }
  836.  
  837.  #define _SETVALUE_STR_BEGIN \
  838. -   BOOL ret = FALSE; \
  839. +   CBBOOL ret = FALSE; \
  840.     SQInteger top = sq_gettop(SquirrelVM::_VM); \
  841.     sq_pushobject(SquirrelVM::_VM,_o); \
  842.     sq_pushstring(SquirrelVM::_VM,key,-1);
  843. @@ -210,35 +210,35 @@
  844.     sq_settop(SquirrelVM::_VM,top); \
  845.     return ret;
  846.  
  847. -BOOL SquirrelObject::SetValue(const SQChar *key,const SquirrelObject &val)
  848. +CBBOOL SquirrelObject::SetValue(const SQChar *key,const SquirrelObject &val)
  849.  {
  850.     _SETVALUE_STR_BEGIN
  851.     sq_pushobject(SquirrelVM::_VM,val._o);
  852.     _SETVALUE_STR_END
  853.  }
  854.  
  855. -BOOL SquirrelObject::SetValue(const SQChar *key,INT n)
  856. +CBBOOL SquirrelObject::SetValue(const SQChar *key,CBINT n)
  857.  {
  858.     _SETVALUE_STR_BEGIN
  859.     sq_pushinteger(SquirrelVM::_VM,n);
  860.     _SETVALUE_STR_END
  861.  }
  862.  
  863. -BOOL SquirrelObject::SetValue(const SQChar *key,FLOAT f)
  864. +CBBOOL SquirrelObject::SetValue(const SQChar *key,CBFLOAT f)
  865.  {
  866.     _SETVALUE_STR_BEGIN
  867.     sq_pushfloat(SquirrelVM::_VM,f);
  868.     _SETVALUE_STR_END
  869.  }
  870.  
  871. -BOOL SquirrelObject::SetValue(const SQChar *key,const SQChar *s)
  872. +CBBOOL SquirrelObject::SetValue(const SQChar *key,const SQChar *s)
  873.  {
  874.     _SETVALUE_STR_BEGIN
  875.     sq_pushstring(SquirrelVM::_VM,s,-1);
  876.     _SETVALUE_STR_END
  877.  }
  878.  
  879. -BOOL SquirrelObject::SetValue(const SQChar *key,bool b)
  880. +CBBOOL SquirrelObject::SetValue(const SQChar *key,bool b)
  881.  {
  882.     _SETVALUE_STR_BEGIN
  883.     sq_pushbool(SquirrelVM::_VM,b);
  884. @@ -247,7 +247,7 @@
  885.  
  886.  // === BEGIN User Pointer, User Data ===
  887.  
  888. -BOOL SquirrelObject::SetUserPointer(const SQChar * key,SQUserPointer up) {
  889. +CBBOOL SquirrelObject::SetUserPointer(const SQChar * key,SQUserPointer up) {
  890.    _SETVALUE_STR_BEGIN
  891.    sq_pushuserpointer(SquirrelVM::_VM,up);
  892.    _SETVALUE_STR_END
  893. @@ -263,13 +263,13 @@
  894.    return ret;
  895.  } // SquirrelObject::GetUserPointer
  896.  
  897. -BOOL SquirrelObject::SetUserPointer(INT key,SQUserPointer up) {
  898. +CBBOOL SquirrelObject::SetUserPointer(CBINT key,SQUserPointer up) {
  899.    _SETVALUE_INT_BEGIN
  900.    sq_pushuserpointer(SquirrelVM::_VM,up);
  901.    _SETVALUE_INT_END
  902.  } // SquirrelObject::SetUserPointer
  903.  
  904. -SQUserPointer SquirrelObject::GetUserPointer(INT key) {
  905. +SQUserPointer SquirrelObject::GetUserPointer(CBINT key) {
  906.    SQUserPointer ret = NULL;
  907.    if (GetSlot(key)) {
  908.      sq_getuserpointer(SquirrelVM::_VM,-1,&ret);
  909. @@ -281,7 +281,7 @@
  910.  
  911.  // === User Data ===
  912.  
  913. -BOOL SquirrelObject::NewUserData(const SQChar * key,INT size,SQUserPointer * typetag) {
  914. +CBBOOL SquirrelObject::NewUserData(const SQChar * key,CBINT size,SQUserPointer * typetag) {
  915.    _SETVALUE_STR_BEGIN
  916.    sq_newuserdata(SquirrelVM::_VM,size);
  917.    if (typetag) {
  918. @@ -290,8 +290,8 @@
  919.    _SETVALUE_STR_END
  920.  } // SquirrelObject::NewUserData
  921.  
  922. -BOOL SquirrelObject::GetUserData(const SQChar * key,SQUserPointer * data,SQUserPointer * typetag) {
  923. -  BOOL ret = false;
  924. +CBBOOL SquirrelObject::GetUserData(const SQChar * key,SQUserPointer * data,SQUserPointer * typetag) {
  925. +  CBBOOL ret = false;
  926.    if (GetSlot(key)) {
  927.      sq_getuserdata(SquirrelVM::_VM,-1,data,typetag);
  928.      sq_pop(SquirrelVM::_VM,1);
  929. @@ -301,8 +301,8 @@
  930.    return ret;
  931.  } // SquirrelObject::GetUserData
  932.  
  933. -BOOL SquirrelObject::RawGetUserData(const SQChar * key,SQUserPointer * data,SQUserPointer * typetag) {
  934. -  BOOL ret = false;
  935. +CBBOOL SquirrelObject::RawGetUserData(const SQChar * key,SQUserPointer * data,SQUserPointer * typetag) {
  936. +  CBBOOL ret = false;
  937.    if (RawGetSlot(key)) {
  938.      sq_getuserdata(SquirrelVM::_VM,-1,data,typetag);
  939.      sq_pop(SquirrelVM::_VM,1);
  940. @@ -316,23 +316,23 @@
  941.  
  942.  // === BEGIN Arrays ===
  943.  
  944. -BOOL SquirrelObject::ArrayResize(INT newSize) {
  945. +CBBOOL SquirrelObject::ArrayResize(CBINT newSize) {
  946.  //  SQInteger top = sq_gettop(SquirrelVM::_VM);
  947.    sq_pushobject(SquirrelVM::_VM,GetObjectHandle());
  948. -  BOOL res = sq_arrayresize(SquirrelVM::_VM,-1,newSize) == SQ_OK;
  949. +  CBBOOL res = sq_arrayresize(SquirrelVM::_VM,-1,newSize) == SQ_OK;
  950.    sq_pop(SquirrelVM::_VM,1);
  951.  //  sq_settop(SquirrelVM::_VM,top);
  952.    return res;
  953.  } // SquirrelObject::ArrayResize
  954.  
  955. -BOOL SquirrelObject::ArrayExtend(INT amount) {
  956. +CBBOOL SquirrelObject::ArrayExtend(CBINT amount) {
  957.    SQInteger newLen = Len()+amount;
  958.    return ArrayResize(newLen);
  959.  } // SquirrelObject::ArrayExtend
  960.  
  961. -BOOL SquirrelObject::ArrayReverse(void) {
  962. +CBBOOL SquirrelObject::ArrayReverse(void) {
  963.    sq_pushobject(SquirrelVM::_VM,GetObjectHandle());
  964. -  BOOL res = sq_arrayreverse(SquirrelVM::_VM,-1) == SQ_OK;
  965. +  CBBOOL res = sq_arrayreverse(SquirrelVM::_VM,-1) == SQ_OK;
  966.    sq_pop(SquirrelVM::_VM,1);
  967.    return res;
  968.  } // SquirrelObject::ArrayReverse
  969. @@ -357,19 +357,19 @@
  970.     return _o._type;
  971.  }
  972.  
  973. -BOOL SquirrelObject::GetSlot(INT key) const
  974. +CBBOOL SquirrelObject::GetSlot(CBINT key) const
  975.  {
  976.     sq_pushobject(SquirrelVM::_VM,_o);
  977.     sq_pushinteger(SquirrelVM::_VM,key);
  978.     if(SQ_SUCCEEDED(sq_get(SquirrelVM::_VM,-2))) {
  979.         return TRUE;
  980.     }
  981. -  
  982. +
  983.     return FALSE;
  984.  }
  985.  
  986.  
  987. -SquirrelObject SquirrelObject::GetValue(INT key)const
  988. +SquirrelObject SquirrelObject::GetValue(CBINT key)const
  989.  {
  990.     SquirrelObject ret;
  991.     if(GetSlot(key)) {
  992. @@ -380,9 +380,9 @@
  993.     return ret;
  994.  }
  995.  
  996. -FLOAT SquirrelObject::GetFloat(INT key) const
  997. +CBFLOAT SquirrelObject::GetFloat(CBINT key) const
  998.  {
  999. -   FLOAT ret = 0.0f;
  1000. +   CBFLOAT ret = 0.0f;
  1001.     if(GetSlot(key)) {
  1002.         sq_getfloat(SquirrelVM::_VM,-1,&ret);
  1003.         sq_pop(SquirrelVM::_VM,1);
  1004. @@ -391,9 +391,9 @@
  1005.     return ret;
  1006.  }
  1007.  
  1008. -INT SquirrelObject::GetInt(INT key) const
  1009. +CBINT SquirrelObject::GetInt(CBINT key) const
  1010.  {
  1011. -   INT ret = 0;
  1012. +   CBINT ret = 0;
  1013.     if(GetSlot(key)) {
  1014.         sq_getinteger(SquirrelVM::_VM,-1,&ret);
  1015.         sq_pop(SquirrelVM::_VM,1);
  1016. @@ -402,7 +402,7 @@
  1017.     return ret;
  1018.  }
  1019.  
  1020. -const SQChar *SquirrelObject::GetString(INT key) const
  1021. +const SQChar *SquirrelObject::GetString(CBINT key) const
  1022.  {
  1023.     const SQChar *ret = NULL;
  1024.     if(GetSlot(key)) {
  1025. @@ -413,7 +413,7 @@
  1026.     return ret;
  1027.  }
  1028.  
  1029. -bool SquirrelObject::GetBool(INT key) const
  1030. +bool SquirrelObject::GetBool(CBINT key) const
  1031.  {
  1032.     SQBool ret = FALSE;
  1033.     if(GetSlot(key)) {
  1034. @@ -424,9 +424,9 @@
  1035.     return ret?true:false;
  1036.  }
  1037.  
  1038. -BOOL SquirrelObject::Exists(const SQChar *key) const
  1039. +CBBOOL SquirrelObject::Exists(const SQChar *key) const
  1040.  {
  1041. -   BOOL ret = FALSE;
  1042. +   CBBOOL ret = FALSE;
  1043.     if(GetSlot(key)) {
  1044.         ret = TRUE;
  1045.     }
  1046. @@ -436,18 +436,18 @@
  1047.  ////////////////////////////////////////////////////////////////////////////////
  1048.  ///////////////////////////////////////////////////////////////////////////////
  1049.  
  1050. -BOOL SquirrelObject::GetSlot(const SQChar *name) const
  1051. +CBBOOL SquirrelObject::GetSlot(const SQChar *name) const
  1052.  {
  1053.     sq_pushobject(SquirrelVM::_VM,_o);
  1054.     sq_pushstring(SquirrelVM::_VM,name,-1);
  1055.     if(SQ_SUCCEEDED(sq_get(SquirrelVM::_VM,-2))) {
  1056.         return TRUE;
  1057.     }
  1058. -  
  1059. +
  1060.     return FALSE;
  1061.  }
  1062.  
  1063. -BOOL SquirrelObject::RawGetSlot(const SQChar *name) const {
  1064. +CBBOOL SquirrelObject::RawGetSlot(const SQChar *name) const {
  1065.    sq_pushobject(SquirrelVM::_VM,_o);
  1066.    sq_pushstring(SquirrelVM::_VM,name,-1);
  1067.    if(SQ_SUCCEEDED(sq_rawget(SquirrelVM::_VM,-2))) {
  1068. @@ -467,9 +467,9 @@
  1069.     return ret;
  1070.  }
  1071.  
  1072. -FLOAT SquirrelObject::GetFloat(const SQChar *key) const
  1073. +CBFLOAT SquirrelObject::GetFloat(const SQChar *key) const
  1074.  {
  1075. -   FLOAT ret = 0.0f;
  1076. +   CBFLOAT ret = 0.0f;
  1077.     if(GetSlot(key)) {
  1078.         sq_getfloat(SquirrelVM::_VM,-1,&ret);
  1079.         sq_pop(SquirrelVM::_VM,1);
  1080. @@ -478,9 +478,9 @@
  1081.     return ret;
  1082.  }
  1083.  
  1084. -INT SquirrelObject::GetInt(const SQChar *key) const
  1085. +CBINT SquirrelObject::GetInt(const SQChar *key) const
  1086.  {
  1087. -   INT ret = 0;
  1088. +   CBINT ret = 0;
  1089.     if(GetSlot(key)) {
  1090.         sq_getinteger(SquirrelVM::_VM,-1,&ret);
  1091.         sq_pop(SquirrelVM::_VM,1);
  1092. @@ -523,7 +523,7 @@
  1093.     return up;
  1094.  }
  1095.  
  1096. -BOOL SquirrelObject::SetInstanceUP(SQUserPointer up)
  1097. +CBBOOL SquirrelObject::SetInstanceUP(SQUserPointer up)
  1098.  {
  1099.     if(!sq_isinstance(_o)) return FALSE;
  1100.     sq_pushobject(SquirrelVM::_VM,_o);
  1101. @@ -548,7 +548,7 @@
  1102.     return ret;
  1103.  }
  1104.  
  1105. -BOOL SquirrelObject::BeginIteration()
  1106. +CBBOOL SquirrelObject::BeginIteration()
  1107.  {
  1108.     if(!sq_istable(_o) && !sq_isarray(_o) && !sq_isclass(_o))
  1109.         return FALSE;
  1110. @@ -557,7 +557,7 @@
  1111.     return TRUE;
  1112.  }
  1113.  
  1114. -BOOL SquirrelObject::Next(SquirrelObject &key,SquirrelObject &val)
  1115. +CBBOOL SquirrelObject::Next(SquirrelObject &key,SquirrelObject &val)
  1116.  {
  1117.     if(SQ_SUCCEEDED(sq_next(SquirrelVM::_VM,-2))) {
  1118.         key.AttachToStackObject(-2);
  1119. @@ -568,7 +568,7 @@
  1120.     return FALSE;
  1121.  }
  1122.  
  1123. -BOOL SquirrelObject::GetTypeTag(SQUserPointer * typeTag) {
  1124. +CBBOOL SquirrelObject::GetTypeTag(SQUserPointer * typeTag) {
  1125.    if (SQ_SUCCEEDED(sq_getobjtypetag(&_o,typeTag))) {
  1126.      return TRUE;
  1127.    } // if
  1128. @@ -593,7 +593,7 @@
  1129.  #endif
  1130.  } // SquirrelObject::GetTypeName
  1131.  
  1132. -const SQChar * SquirrelObject::GetTypeName(INT key) {
  1133. +const SQChar * SquirrelObject::GetTypeName(CBINT key) {
  1134.    SquirrelObject so = GetValue(key);
  1135.    if (so.IsNull()) return NULL;
  1136.    return so.GetTypeName();
  1137. @@ -606,7 +606,7 @@
  1138.      if (typeTable.IsNull()) {
  1139.        return NULL; // Not compiled with SQ_SUPPORT_INSTANCE_TYPE_INFO enabled.
  1140.      } // if
  1141. -    return typeTable.GetString(INT((size_t)typeTag));
  1142. +    return typeTable.GetString(CBINT((size_t)typeTag));
  1143.    } // if
  1144.    return NULL;
  1145.  } // SquirrelObject::GetTypeName
  1146. Index: src/sdk/scripting/sqplus/SquirrelVM.cpp
  1147. ===================================================================
  1148. --- src/sdk/scripting/sqplus/SquirrelVM.cpp (revision 6198)
  1149. +++ src/sdk/scripting/sqplus/SquirrelVM.cpp (working copy)
  1150. @@ -53,7 +53,7 @@
  1151.     //TODO error handler, compiler error handler
  1152.  }
  1153.  
  1154. -BOOL SquirrelVM::Update()
  1155. +CBBOOL SquirrelVM::Update()
  1156.  {
  1157.     //update remote debugger
  1158.     return TRUE;
  1159. @@ -136,7 +136,7 @@
  1160.  }
  1161.  
  1162.  
  1163. -BOOL SquirrelVM::BeginCall(const SquirrelObject &func)
  1164. +CBBOOL SquirrelVM::BeginCall(const SquirrelObject &func)
  1165.  {
  1166.     if(_CallState != -1)
  1167.         return FALSE;
  1168. @@ -146,7 +146,7 @@
  1169.     return TRUE;
  1170.  }
  1171.  
  1172. -BOOL SquirrelVM::BeginCall(const SquirrelObject &func,SquirrelObject &_this)
  1173. +CBBOOL SquirrelVM::BeginCall(const SquirrelObject &func,SquirrelObject &_this)
  1174.  {
  1175.     if(_CallState != -1)
  1176.         throw SquirrelError(sqT("call already initialized"));
  1177. Index: src/sdk/wxscintilla/include/wx/wxscintilla.h
  1178. ===================================================================
  1179. --- src/sdk/wxscintilla/include/wx/wxscintilla.h    (revision 6198)
  1180. +++ src/sdk/wxscintilla/include/wx/wxscintilla.h    (working copy)
  1181. @@ -2208,7 +2208,11 @@
  1182.  
  1183.  //----------------------------------------------------------------------
  1184.  
  1185. -typedef long wxIntPtr; // FIXME: back-port from wx29 (svn) to wx289
  1186. +#if defined(WIN64) || defined(_WIN64)
  1187. +  typedef long long wxIntPtr; // We use WX29 to Build Native C::B X64
  1188. +#else
  1189. +  typedef long wxIntPtr; // FIXME: back-port from wx29 (svn) to wx289
  1190. +#endif
  1191.  
  1192.  typedef wxIntPtr (* wxSciFnDirect) (wxIntPtr ptr, unsigned int iMessage,
  1193.                                      wxUIntPtr wParam, wxIntPtr lParam);
  1194. Index: src/sdk/wxscintilla/src/wxscintilla.cpp
  1195. ===================================================================
  1196. --- src/sdk/wxscintilla/src/wxscintilla.cpp (revision 6198)
  1197. +++ src/sdk/wxscintilla/src/wxscintilla.cpp (working copy)
  1198. @@ -1114,7 +1114,7 @@
  1199.  // Define a set of character that when typed cancel the auto-completion list.
  1200.  void wxScintilla::AutoCompStops (const wxString& characterSet)
  1201.  {
  1202. -    SendMsg(SCI_AUTOCSTOPS, 0, (long)(const char*)wx2sci(characterSet));
  1203. +    SendMsg(SCI_AUTOCSTOPS, 0, (wxIntPtr)(const char*)wx2sci(characterSet));
  1204.  }
  1205.  
  1206.  // Change the separator character in the string setting up an auto-completion list.
  1207. @@ -1810,7 +1810,7 @@
  1208.  // Show a call tip containing a definition near position pos.
  1209.  void wxScintilla::CallTipShow (int pos, const wxString& definition)
  1210.  {
  1211. -    SendMsg(SCI_CALLTIPSHOW, pos, (long)(const char*)wx2sci(definition));
  1212. +    SendMsg(SCI_CALLTIPSHOW, pos, (wxIntPtr)(const char*)wx2sci(definition));
  1213.  }
  1214.  
  1215.  // Remove the call tip from the screen.
  1216. Index: src/src/crashhandler.cpp
  1217. ===================================================================
  1218. --- src/src/crashhandler.cpp    (revision 6198)
  1219. +++ src/src/crashhandler.cpp    (working copy)
  1220. @@ -91,8 +91,13 @@
  1221.          return EXCEPTION_CONTINUE_SEARCH;
  1222.  
  1223.      wxString buf;
  1224. +    #if defined(WIN64) || defined(_WIN64)
  1225. +    buf.Printf(_("The application encountered a crash at address %llu.\n\n"),
  1226. +               (unsigned long long) ExceptionInfo->ContextRecord->Rip);
  1227. +    #else
  1228.      buf.Printf(_("The application encountered a crash at address %u.\n\n"),
  1229.                 (unsigned int) ExceptionInfo->ContextRecord->Eip);
  1230. +    #endif
  1231.  
  1232.      if(EditorFilesNotSaved)
  1233.      {
  1234. @@ -113,7 +118,11 @@
  1235.          break;
  1236.  
  1237.          case IDIGNORE:
  1238. +        #if defined(WIN64) || defined(_WIN64)
  1239. +        ExceptionInfo->ContextRecord->Rip += 2;
  1240. +        #else
  1241.          ExceptionInfo->ContextRecord->Eip += 2;
  1242. +        #endif
  1243.          return EXCEPTION_CONTINUE_EXECUTION;
  1244.          break;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement