blind commit, please test: use squirrel datatypes
authorMatthias Braun <matze@braunis.de>
Sun, 30 Apr 2006 16:27:33 +0000 (16:27 +0000)
committerMatthias Braun <matze@braunis.de>
Sun, 30 Apr 2006 16:27:33 +0000 (16:27 +0000)
SVN-Revision: 3466

19 files changed:
src/console.cpp
src/object/camera.cpp
src/object/camera.hpp
src/object/display_effect.cpp
src/object/display_effect.hpp
src/object/player.cpp
src/object/player.hpp
src/object/scripted_object.cpp
src/object/scripted_object.hpp
src/object/text_object.cpp
src/object/text_object.hpp
src/script_interface.hpp
src/scripting/serialize.cpp
src/scripting/serialize.hpp
src/scripting/squirrel_util.cpp
src/scripting/squirrel_util.hpp
src/sector.cpp
src/worldmap/sprite_change.cpp
src/worldmap/sprite_change.hpp

index 4cfa874..ee6f843 100644 (file)
@@ -115,7 +115,7 @@ Console::execute_script(const std::string& command)
     }
   }
     
-  int oldtop = sq_gettop(vm); 
+  SQInteger oldtop = sq_gettop(vm); 
   try {
     if(SQ_FAILED(sq_compilebuffer(vm, command.c_str(), command.length(),
                  "", SQTrue)))
@@ -130,7 +130,7 @@ Console::execute_script(const std::string& command)
   } catch(std::exception& e) {
     addLine(e.what());
   }
-  int newtop = sq_gettop(vm);
+  SQInteger newtop = sq_gettop(vm);
   if(newtop < oldtop) {
     log_fatal << "Script destroyed squirrel stack..." << std::endl;
   } else {
index 9edc020..d104769 100644 (file)
@@ -50,14 +50,14 @@ Camera::~Camera()
 }
 
 void
-Camera::expose(HSQUIRRELVM vm, int table_idx)
+Camera::expose(HSQUIRRELVM vm, SQInteger table_idx)
 {
   Scripting::Camera* interface = new Scripting::Camera(this);
   expose_object(vm, table_idx, interface, "Camera", true);
 }
 
 void
-Camera::unexpose(HSQUIRRELVM vm, int table_idx)
+Camera::unexpose(HSQUIRRELVM vm, SQInteger table_idx)
 {
   Scripting::unexpose_object(vm, table_idx, "Camera");
 }
index 16e3203..07a92d0 100644 (file)
@@ -62,8 +62,8 @@ public:
   {
   }
 
-  virtual void expose(HSQUIRRELVM vm, int table_idx);
-  virtual void unexpose(HSQUIRRELVM vm, int table_idx);
+  virtual void expose(HSQUIRRELVM vm, SQInteger table_idx);
+  virtual void unexpose(HSQUIRRELVM vm, SQInteger table_idx);
 
   // shake camera in a direction 1 time
   void shake(float speed, float x, float y);
index 62128b9..88a17d1 100644 (file)
@@ -39,14 +39,14 @@ DisplayEffect::~DisplayEffect()
 }
 
 void
-DisplayEffect::expose(HSQUIRRELVM vm, int table_idx)
+DisplayEffect::expose(HSQUIRRELVM vm, SQInteger table_idx)
 {
   Scripting::DisplayEffect* interface = static_cast<Scripting::DisplayEffect*> (this);
   expose_object(vm, table_idx, interface, "Effect", false);
 }
 
 void
-DisplayEffect::unexpose(HSQUIRRELVM vm, int table_idx)
+DisplayEffect::unexpose(HSQUIRRELVM vm, SQInteger table_idx)
 {
   try {
     Scripting::unexpose_object(vm, table_idx, "Effect");
index 0a858b7..017daff 100644 (file)
@@ -31,8 +31,8 @@ public:
     DisplayEffect();
     virtual ~DisplayEffect();
 
-    void expose(HSQUIRRELVM vm, int table_idx);
-    void unexpose(HSQUIRRELVM vm, int table_idx);
+    void expose(HSQUIRRELVM vm, SQInteger table_idx);
+    void unexpose(HSQUIRRELVM vm, SQInteger table_idx);
 
     void update(float elapsed_time);
     void draw(DrawingContext& context);
index 59b7d57..3d33ce7 100644 (file)
@@ -153,14 +153,14 @@ Player::init()
 }
 
 void
-Player::expose(HSQUIRRELVM vm, int table_idx)
+Player::expose(HSQUIRRELVM vm, SQInteger table_idx)
 {
   Scripting::Player* interface = static_cast<Scripting::Player*> (this);
   Scripting::expose_object(vm, table_idx, interface, "Tux", false);
 }
 
 void
-Player::unexpose(HSQUIRRELVM vm, int table_idx)
+Player::unexpose(HSQUIRRELVM vm, SQInteger table_idx)
 {
   Scripting::unexpose_object(vm, table_idx, "Tux");
 }
index f113104..3d7a239 100644 (file)
@@ -123,8 +123,8 @@ public:
   Player(PlayerStatus* player_status);
   virtual ~Player();
 
-  virtual void expose(HSQUIRRELVM vm, int table_idx);
-  virtual void unexpose(HSQUIRRELVM vm, int table_idx);
+  virtual void expose(HSQUIRRELVM vm, SQInteger table_idx);
+  virtual void unexpose(HSQUIRRELVM vm, SQInteger table_idx);
 
   void set_controller(Controller* controller);
   Controller* get_controller()
index 67ca8b1..feace6c 100644 (file)
@@ -66,14 +66,14 @@ ScriptedObject::~ScriptedObject()
 }
 
 void
-ScriptedObject::expose(HSQUIRRELVM vm, int table_idx)
+ScriptedObject::expose(HSQUIRRELVM vm, SQInteger table_idx)
 {
   Scripting::ScriptedObject* interface = static_cast<Scripting::ScriptedObject*> (this);
   expose_object(vm, table_idx, interface, name, false);
 }
 
 void
-ScriptedObject::unexpose(HSQUIRRELVM vm, int table_idx)
+ScriptedObject::unexpose(HSQUIRRELVM vm, SQInteger table_idx)
 {
   Scripting::unexpose_object(vm, table_idx, name);
 }
index e1bc666..5bebd0c 100644 (file)
@@ -35,8 +35,8 @@ public:
   ScriptedObject(const lisp::Lisp& lisp);
   virtual ~ScriptedObject();
 
-  virtual void expose(HSQUIRRELVM vm, int table_idx);
-  virtual void unexpose(HSQUIRRELVM vm, int table_idx);
+  virtual void expose(HSQUIRRELVM vm, SQInteger table_idx);
+  virtual void unexpose(HSQUIRRELVM vm, SQInteger table_idx);
 
   void update(float elapsed_time);
   void draw(DrawingContext& context);
index acf48dd..ef591ee 100644 (file)
@@ -39,14 +39,14 @@ TextObject::~TextObject()
 }
 
 void
-TextObject::expose(HSQUIRRELVM vm, int table_idx)
+TextObject::expose(HSQUIRRELVM vm, SQInteger table_idx)
 {
   Scripting::Text* interface = static_cast<Scripting::Text*> (this);
   Scripting::expose_object(vm, table_idx, interface, "Text", false);
 }
 
 void
-TextObject::unexpose(HSQUIRRELVM vm, int table_idx)
+TextObject::unexpose(HSQUIRRELVM vm, SQInteger table_idx)
 {
   Scripting::unexpose_object(vm, table_idx, "Text");
 }
index 46337ec..c324e83 100644 (file)
@@ -34,8 +34,8 @@ public:
   TextObject();
   virtual ~TextObject();
 
-  void expose(HSQUIRRELVM vm, int table_idx);
-  void unexpose(HSQUIRRELVM vm, int table_idx);
+  void expose(HSQUIRRELVM vm, SQInteger table_idx);
+  void unexpose(HSQUIRRELVM vm, SQInteger table_idx);
 
   void set_text(const std::string& text);
   void set_font(const std::string& name);
index 2cc4222..6122670 100644 (file)
@@ -32,8 +32,8 @@ public:
   virtual ~ScriptInterface()
   {}
   
-  virtual void expose(HSQUIRRELVM vm, int table_idx) = 0;
-  virtual void unexpose(HSQUIRRELVM vm, int table_idx) = 0;
+  virtual void expose(HSQUIRRELVM vm, SQInteger table_idx) = 0;
+  virtual void unexpose(HSQUIRRELVM vm, SQInteger table_idx) = 0;
 };
 
 #endif
index 1aee22a..9ed5d23 100644 (file)
@@ -30,7 +30,7 @@
 namespace Scripting
 {
 
-void load_squirrel_table(HSQUIRRELVM vm, int table_idx, const lisp::Lisp* lisp)
+void load_squirrel_table(HSQUIRRELVM vm, SQInteger table_idx, const lisp::Lisp* lisp)
 {
   using namespace lisp;
 
@@ -92,27 +92,27 @@ void save_squirrel_table(HSQUIRRELVM vm, int table_idx, lisp::Writer& writer)
 
     switch(sq_gettype(vm, -1)) {
       case OT_INTEGER: {
-        int val;
+        SQInteger val;
         sq_getinteger(vm, -1, &val);
-        writer.write_int(key, val);
+        writer.write_int(key, static_cast<int> (val));
         break;
       }
       case OT_FLOAT: {
-        float val;
+        SQFloat val;
         sq_getfloat(vm, -1, &val);
-        writer.write_float(key, val);
+        writer.write_float(key, static_cast<float> (val));
         break;
       }
       case OT_BOOL: {
         SQBool val;
         sq_getbool(vm, -1, &val);
-        writer.write_bool(key, val);
+        writer.write_bool(key, val == SQTrue);
         break;
       }
       case OT_STRING: {
-        const char* str;
+        const SQChar* str;
         sq_getstring(vm, -1, &str);
-        writer.write_string(key, str);
+        writer.write_string(key, reinterpret_cast<const char*> (str));
         break;
       }
       case OT_TABLE: {
index 14fc068..3e9142a 100644 (file)
@@ -28,8 +28,8 @@
 namespace Scripting
 {
 
-  void save_squirrel_table(HSQUIRRELVM vm, int table_idx, lisp::Writer& writer);
-  void load_squirrel_table(HSQUIRRELVM vm, int table_idx, const lisp::Lisp* lisp);
+  void save_squirrel_table(HSQUIRRELVM vm, SQInteger table_idx, lisp::Writer& writer);
+  void load_squirrel_table(HSQUIRRELVM vm, SQInteger table_idx, const lisp::Lisp* lisp);
 
 }
 
index 664e548..1617056 100644 (file)
@@ -135,7 +135,7 @@ void update_debugger()
 #endif
 }
 
-std::string squirrel2string(HSQUIRRELVM v, int i)
+std::string squirrel2string(HSQUIRRELVM v, SQInteger i)
 {
   std::ostringstream os;
   switch(sq_gettype(v, i))
@@ -153,19 +153,19 @@ std::string squirrel2string(HSQUIRRELVM v, int i)
       break;
     }
     case OT_INTEGER: {
-      int val;
+      SQInteger val;
       sq_getinteger(v, i, &val);
       os << val;
       break;
     }
     case OT_FLOAT: {
-      float val;
+      SQFloat val;
       sq_getfloat(v, i, &val);
       os << val;
       break;
     }
     case OT_STRING: {
-      const char* val;
+      const SQChar* val;
       sq_getstring(v, i, &val);
       os << "\"" << val << "\"";
       break;    
@@ -258,19 +258,19 @@ void print_squirrel_stack(HSQUIRRELVM v)
                 printf("null");        
                 break;
             case OT_INTEGER: {
-                int val;
+                SQInteger val;
                 sq_getinteger(v, i, &val);
                 printf("integer (%d)", val);
                 break;
             }
             case OT_FLOAT: {
-                float val;
+                SQFloat val;
                 sq_getfloat(v, i, &val);
                 printf("float (%f)", val);
                 break;
             }
             case OT_STRING: {
-                const char* val;
+                const SQChar* val;
                 sq_getstring(v, i, &val);
                 printf("string (%s)", val);
                 break;    
@@ -337,7 +337,7 @@ void compile_and_run(HSQUIRRELVM vm, std::istream& in,
 {
   compile_script(vm, in, sourcename);
   
-  int oldtop = sq_gettop(vm);
+  SQInteger oldtop = sq_gettop(vm);
 
   try {
     sq_pushroottable(vm);
index f7cbf65..874bb8e 100644 (file)
@@ -35,7 +35,7 @@ namespace Scripting
   void exit_squirrel();
   void update_debugger();
 
-  std::string squirrel2string(HSQUIRRELVM vm, int i);
+  std::string squirrel2string(HSQUIRRELVM vm, SQInteger i);
   void print_squirrel_stack(HSQUIRRELVM vm);
 
   HSQOBJECT create_thread(HSQUIRRELVM vm);
@@ -48,7 +48,7 @@ namespace Scripting
                        const std::string& sourcename);
 
   template<typename T>
-  void expose_object(HSQUIRRELVM v, int table_idx, T* object,
+  void expose_object(HSQUIRRELVM v, SQInteger table_idx, T* object,
                      const std::string& name, bool free = false)
   {
     sq_pushstring(v, name.c_str(), -1);
@@ -65,7 +65,7 @@ namespace Scripting
     }
   }
 
-  static inline void unexpose_object(HSQUIRRELVM v, int table_idx,
+  static inline void unexpose_object(HSQUIRRELVM v, SQInteger table_idx,
                                      const std::string& name)
   {
     sq_pushstring(v, name.c_str(), name.length());
index 295c57d..1df58d4 100644 (file)
@@ -710,7 +710,7 @@ Sector::try_unexpose(GameObject* object)
   ScriptInterface* interface = dynamic_cast<ScriptInterface*> (object);
   if(interface != NULL) {
     HSQUIRRELVM vm = Scripting::global_vm;
-    int oldtop = sq_gettop(vm);
+    SQInteger oldtop = sq_gettop(vm);
     sq_pushobject(vm, sector_table);
     try {
       interface->unexpose(vm, -1);
index 2516ad6..9ac536e 100644 (file)
@@ -1,8 +1,7 @@
 //  $Id$
 //
 //  SuperTux
-//  Copyright (C) 2004 Ingo Ruhnke <grumbel@gmx.de>
-//  Copyright (C) 2006 Christoph Sommer <christoph.sommer@2006.expires.deltadevelopment.de>
+//  Copyright (C) 2006 Matthias Braun <matze@braunis.de>
 //
 //  This program is free software; you can redistribute it and/or
 //  modify it under the terms of the GNU General Public License
index 354e32c..7bf2f8c 100644 (file)
@@ -1,8 +1,7 @@
 //  $Id$
 //
 //  SuperTux
-//  Copyright (C) 2004 Ingo Ruhnke <grumbel@gmx.de>
-//  Copyright (C) 2006 Christoph Sommer <christoph.sommer@2006.expires.deltadevelopment.de>
+//  Copyright (C) 2006 Matthias Braun <matze@braunis.de>
 //
 //  This program is free software; you can redistribute it and/or
 //  modify it under the terms of the GNU General Public License