Added type checking for __custom functions
[supertux.git] / src / scripting / functions.hpp
index fe5c656..3cff6f9 100644 (file)
 
 #ifndef SCRIPTING_API
 #define __suspend
-#define __custom
+#define __custom(x)
 #include <string>
-#include "player_status.hpp"
 #endif
 
 namespace Scripting
 {
 
 /**
- * Display the value of the argument. This is usefull for inspecting tables.
+ * Display the value of the argument. This is useful for inspecting tables.
  */
-SQInteger display(HSQUIRRELVM vm) __custom;
+SQInteger display(HSQUIRRELVM vm) __custom("t.");
 
 /**
  * Displays contents of the current stack
@@ -43,7 +42,7 @@ void print_stacktrace(HSQUIRRELVM vm);
 /**
  * returns the currently running thread
  */
-SQInteger get_current_thread(HSQUIRRELVM vm) __custom;
+SQInteger get_current_thread(HSQUIRRELVM vm) __custom("t");
 
 /**
  * Display a text file and scrolls it over the screen (on next screenswitch)
@@ -88,6 +87,12 @@ void fadeout_screen(float seconds);
 void shrink_screen(float dest_x, float dest_y, float seconds);
 
 /**
+ * Aborts any kind of previous screen fade; the screenchange will happen
+ * anyway.
+ */
+void abort_screenfade();
+
+/**
  * Translate a text into the users language (by looking it up in the .po
  * files)
  */
@@ -105,6 +110,11 @@ void import(HSQUIRRELVM v, const std::string& filename);
 void save_state();
 
 /**
+ * Update worldmap from worldmap state (state.world variable)
+ */
+void update_worldmap();
+
+/**
  * enable/disable drawing of collision rectangles
  */
 void debug_collrects(bool enable);
@@ -112,7 +122,7 @@ void debug_collrects(bool enable);
 /**
  * enable/disable drawing of fps
  */
-void debug_draw_fps(bool enable);
+void debug_show_fps(bool enable);
 
 /**
  * enable/disable drawing of non-solid layers
@@ -130,6 +140,11 @@ void play_music(const std::string& musicfile);
 void play_sound(const std::string& soundfile);
 
 /**
+ *  Set the game_speed
+ */
+void set_game_speed(float speed);
+
+/**
  * speeds Tux up
  */
 void grease();
@@ -140,7 +155,12 @@ void grease();
 void invincible();
 
 /**
- * recall Tux's invincibility
+ * makes Tux a ghost, i.e. lets him float around and through solid objects
+ */
+void ghost();
+
+/**
+ * recall Tux's invincibility and ghost status
  */
 void mortal();
 
@@ -165,6 +185,11 @@ void gotoend();
 void camera();
 
 /**
+ * adjust gamma
+ */
+void set_gamma(float gamma);
+
+/**
  * exit the game
  */
 void quit();
@@ -177,4 +202,3 @@ int rand();
 }
 
 #endif
-