feuerkraft-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Feuerkraft-CVS] rev 312 - in trunk: data src src/buildings src/input sr


From: Ingo Ruhnke
Subject: [Feuerkraft-CVS] rev 312 - in trunk: data src src/buildings src/input src/scripting
Date: Tue, 09 Dec 2003 01:00:44 +0100

Author: grumbel
Date: 2003-12-09 01:00:42 +0100 (Tue, 09 Dec 2003)
New Revision: 312

Added:
   trunk/src/input/input_manager_custom.cxx
   trunk/src/input/input_manager_custom.hxx
   trunk/src/scripting/clanlib_commands.cxx
   trunk/src/scripting/clanlib_commands.hxx
Modified:
   trunk/data/feuerkraft.scm
   trunk/src/buildings/tower.cxx
   trunk/src/buildings/tower.hxx
   trunk/src/buildings/tower_ai.cxx
   trunk/src/game_session.cxx
   trunk/src/input/Makefile.am
   trunk/src/input/controller.cxx
   trunk/src/input/controller.hxx
   trunk/src/input/input_manager.cxx
   trunk/src/input/input_manager_impl.hxx
   trunk/src/input/input_manager_joystick.cxx
   trunk/src/input/input_manager_joystick.hxx
   trunk/src/input/input_manager_keyboard.cxx
   trunk/src/input/input_manager_keyboard.hxx
   trunk/src/scripting/Makefile.am
   trunk/src/scripting/feuerkraft.i
Log:
- added a customizable input manager

Modified: trunk/data/feuerkraft.scm
===================================================================
--- trunk/data/feuerkraft.scm   2003-12-08 18:56:28 UTC (rev 311)
+++ trunk/data/feuerkraft.scm   2003-12-09 00:00:42 UTC (rev 312)
@@ -371,10 +371,14 @@
 
 (input-register-callback "key_f2"
                          (lambda ()
-                           (input-use-keyboard)))
+                           (clanlib-set-post-keep-alive-func (lambda ()
+                                                               (display 
"Updating to keyboard\n")
+                                                               
(input-use-keyboard)))))
 (input-register-callback "key_f3"
                          (lambda ()
-                           (input-use-joystick)))
+                           (clanlib-set-post-keep-alive-func (lambda ()
+                                                               (display 
"Updating to joystick\n")
+                                                               
(input-use-joystick)))))
 
 (input-register-callback "mouse_left"
                          (lambda ()

Modified: trunk/src/buildings/tower.cxx
===================================================================
--- trunk/src/buildings/tower.cxx       2003-12-08 18:56:28 UTC (rev 311)
+++ trunk/src/buildings/tower.cxx       2003-12-09 00:00:42 UTC (rev 312)
@@ -47,7 +47,7 @@
 
   steering = 0;
 
-  properties->register_float("orientation", &orientation);
+  Building::properties->register_float("orientation", &orientation);
 }
   
 Tower::~Tower ()

Modified: trunk/src/buildings/tower.hxx
===================================================================
--- trunk/src/buildings/tower.hxx       2003-12-08 18:56:28 UTC (rev 311)
+++ trunk/src/buildings/tower.hxx       2003-12-09 00:00:42 UTC (rev 312)
@@ -22,12 +22,14 @@
 
 #include <ClanLib/Display/sprite.h>
 #include "../energie.hxx"
+#include "../unit.hxx"
 #include "building.hxx"
 
 class Controller;
 class GameWorld;
 
-class Tower : public Building
+class Tower : public Building,
+              public Unit
 {
 private:
   CL_Sprite towerbase;

Modified: trunk/src/buildings/tower_ai.cxx
===================================================================
--- trunk/src/buildings/tower_ai.cxx    2003-12-08 18:56:28 UTC (rev 311)
+++ trunk/src/buildings/tower_ai.cxx    2003-12-09 00:00:42 UTC (rev 312)
@@ -49,7 +49,7 @@
       
       //      float angle = Math::normalize_angle(tower->get_orientation() - 
diff.get_orientation());
       
-      tower->get_properties()->set_float("orientation", diff.get_orientation() 
+ Math::pi);
+      tower->Building::get_properties()->set_float("orientation", 
diff.get_orientation() + Math::pi);
 
       /*if (angle > 0)        controller.set_axis_state(ORIENTATION_AXIS, 
-1.0f);
       else

Modified: trunk/src/game_session.cxx
===================================================================
--- trunk/src/game_session.cxx  2003-12-08 18:56:28 UTC (rev 311)
+++ trunk/src/game_session.cxx  2003-12-09 00:00:42 UTC (rev 312)
@@ -43,6 +43,7 @@
 #include "view.hxx"
 #include "display_manager.hxx"
 #include "buildings/building_type_manager.hxx"
+#include "scripting/clanlib_commands.hxx"
 #include "collision_manager.hxx"
 #include "sexpr_world_reader.hxx"
 #include "guile.hxx"
@@ -234,6 +235,7 @@
   // Exits the loop if ClanLib requests shutdown - for instance if
   // someone closes the window.
   CL_System::keep_alive();
+  clanlib_call_post_keep_alive_func();
   InputManager::update(delta);
 
   // FIXME: Add an input dispatcher here, depending on the

Modified: trunk/src/input/Makefile.am
===================================================================
--- trunk/src/input/Makefile.am 2003-12-08 18:56:28 UTC (rev 311)
+++ trunk/src/input/Makefile.am 2003-12-09 00:00:42 UTC (rev 312)
@@ -7,6 +7,9 @@
   input_manager.hxx \
   input_manager.cxx \
   input_manager_impl.hxx \
+  input_manager_impl.cxx \
+  input_manager_custom.hxx \
+  input_manager_custom.cxx \
   input_manager_joystick.hxx \
   input_manager_joystick.cxx \
   input_manager_keyboard.hxx \

Modified: trunk/src/input/controller.cxx
===================================================================
--- trunk/src/input/controller.cxx      2003-12-08 18:56:28 UTC (rev 311)
+++ trunk/src/input/controller.cxx      2003-12-09 00:00:42 UTC (rev 312)
@@ -98,6 +98,26 @@
     }  
 }
 
+void
+Controller::add_axis_event(AxisName name, float pos)
+{
+  InputEvent event;
+  event.type = AXIS_EVENT;
+  event.axis.name = name;
+  event.axis.pos  = pos;
+  events.push_back(event);
+}
+
+void
+Controller::add_button_event(ButtonName name, bool down)
+{
+  InputEvent event;
+  event.type = BUTTON_EVENT;
+  event.button.name = name;
+  event.button.down = down;
+  events.push_back(event);
+}
+
 InputEventLst
 Controller::get_events() const
 {

Modified: trunk/src/input/controller.hxx
===================================================================
--- trunk/src/input/controller.hxx      2003-12-08 18:56:28 UTC (rev 311)
+++ trunk/src/input/controller.hxx      2003-12-09 00:00:42 UTC (rev 312)
@@ -46,6 +46,9 @@
   void  set_axis_state(AxisName name, float pos);
   void  set_button_state(ButtonName name, bool down);
 
+  void add_axis_event(AxisName name, float pos);
+  void add_button_event(ButtonName name, bool down);
+
   InputEventLst get_events() const;
 };
 

Modified: trunk/src/input/input_manager.cxx
===================================================================
--- trunk/src/input/input_manager.cxx   2003-12-08 18:56:28 UTC (rev 311)
+++ trunk/src/input/input_manager.cxx   2003-12-09 00:00:42 UTC (rev 312)
@@ -25,6 +25,7 @@
 #include "../command_line_arguments.hxx"
 #include "input_manager_joystick.hxx"
 #include "input_manager_keyboard.hxx"
+#include "input_manager_custom.hxx"
 #include "input_manager_impl.hxx"
 #include "input_manager.hxx"
 
@@ -44,6 +45,11 @@
     { 
       impl = arg_impl;
     }
+  else
+    {
+      impl = new InputManagerCustom();
+    }
+  /*
   else if (args->joystick != -1)
     {
       if (args->joystick < CL_Joystick::get_device_count())
@@ -64,6 +70,7 @@
       std::cout << "InputManager: Using keyboard" << std::endl;
       impl = new InputManagerKeyboard();
     }
+  */
 }
 
 void 

Added: trunk/src/input/input_manager_custom.cxx
===================================================================
--- trunk/src/input/input_manager_custom.cxx    2003-12-08 18:56:28 UTC (rev 
311)
+++ trunk/src/input/input_manager_custom.cxx    2003-12-09 00:00:42 UTC (rev 
312)
@@ -0,0 +1,127 @@
+//  $Id$
+//
+//  Pingus - A free Lemmings clone
+//  Copyright (C) 2002 Ingo Ruhnke <address@hidden>
+//
+//  This program is free software; you can redistribute it and/or
+//  modify it under the terms of the GNU General Public License
+//  as published by the Free Software Foundation; either version 2
+//  of the License, or (at your option) any later version.
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+//
+//  You should have received a copy of the GNU General Public License
+//  along with this program; if not, write to the Free Software
+//  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+
+#include <iostream>
+#include <ClanLib/Display/keyboard.h>
+#include <ClanLib/Display/joystick.h>
+#include <ClanLib/Display/display_iostream.h>
+#include <ClanLib/Display/keys.h>
+#include "input_manager_custom.hxx"
+
+InputAxis::InputAxis(CL_InputDevice& dev, int num)
+  : dev(dev), axis_num(num)
+{
+  slots.push_back(dev.sig_axis_move().connect(this, &InputAxis::on_axis_move));
+}
+
+void
+InputAxis::on_axis_move(const CL_InputEvent& event)
+{
+  if (event.id == axis_num)
+    {
+      move(event.axis_pos);
+    }
+}
+
+InputButton::InputButton(CL_InputDevice& dev_, int keycode_)
+  : dev(dev_), keycode(keycode_)
+{
+  slots.push_back(dev.sig_key_down().connect(this, &InputButton::on_key_down));
+  slots.push_back(dev.sig_key_up().connect(this, &InputButton::on_key_up));
+}
+
+void
+InputButton::on_key_down(const CL_InputEvent& event)
+{
+  if (keycode == event.id)
+    {
+      button_down();
+    }
+}
+
+void
+InputButton::on_key_up(const CL_InputEvent& event)
+{
+  if (keycode == event.id)
+    {
+      button_up();
+    }
+}
+
+InputManagerCustom::InputManagerCustom()
+{
+  if (0)
+    {
+      primary_button   = new InputButton(CL_Keyboard::get_device(), CL_KEY_E);
+      secondary_button = new InputButton(CL_Keyboard::get_device(), CL_KEY_P);
+      use_button       = new InputButton(CL_Keyboard::get_device(), CL_KEY_K);
+      menu_button      = new InputButton(CL_Keyboard::get_device(), CL_KEY_A);
+    }
+  else
+    {
+      primary_button   = new InputButton(CL_Joystick::get_device(1), 9);
+      secondary_button = new InputButton(CL_Joystick::get_device(1), 8);
+      use_button       = new InputButton(CL_Joystick::get_device(1), 3);
+      menu_button      = new InputButton(CL_Joystick::get_device(1), 2);
+
+      orientation_axis = new InputAxis(CL_Joystick::get_device(1), 0);
+      accelerate_axis  = new InputAxis(CL_Joystick::get_device(1), 1);
+      strafe_axis      = new InputAxis(CL_Joystick::get_device(1), 2);
+    }
+
+  slots.push_back(primary_button->on_key_down().connect  (this, 
&InputManagerCustom::on_button_down, PRIMARY_FIRE_BUTTON));
+  slots.push_back(secondary_button->on_key_down().connect(this, 
&InputManagerCustom::on_button_down, SECONDARY_FIRE_BUTTON));
+  slots.push_back(use_button->on_key_down().connect      (this, 
&InputManagerCustom::on_button_down, USE_BUTTON));
+
+  slots.push_back(primary_button->on_key_up().connect  (this, 
&InputManagerCustom::on_button_up, PRIMARY_FIRE_BUTTON));
+  slots.push_back(secondary_button->on_key_up().connect(this, 
&InputManagerCustom::on_button_up, SECONDARY_FIRE_BUTTON));
+  slots.push_back(use_button->on_key_up().connect      (this, 
&InputManagerCustom::on_button_up, USE_BUTTON));
+  
+  slots.push_back(orientation_axis->on_move().connect(this, 
&InputManagerCustom::on_axis_move, ORIENTATION_AXIS));
+  slots.push_back(accelerate_axis->on_move().connect(this, 
&InputManagerCustom::on_axis_move, ACCELERATE_AXIS));
+  slots.push_back(strafe_axis->on_move().connect(this, 
&InputManagerCustom::on_axis_move, STRAFE_AXIS));
+}
+
+void
+InputManagerCustom::on_axis_move(float pos, AxisName name)
+{
+  add_axis_event(name, pos);
+  controller.set_axis_state(name, pos);
+}
+
+void
+InputManagerCustom::on_button_up(ButtonName name)
+{
+  add_button_event(name, false);
+  controller.set_button_state(name, false);
+}
+
+void
+InputManagerCustom::on_button_down(ButtonName name)
+{
+  add_button_event(name, true);
+  controller.set_button_state(name, true);
+}
+
+void
+InputManagerCustom::update(float delta)
+{
+}
+
+/* EOF */

Added: trunk/src/input/input_manager_custom.hxx
===================================================================
--- trunk/src/input/input_manager_custom.hxx    2003-12-08 18:56:28 UTC (rev 
311)
+++ trunk/src/input/input_manager_custom.hxx    2003-12-09 00:00:42 UTC (rev 
312)
@@ -0,0 +1,99 @@
+//  $Id$
+// 
+//  Pingus - A free Lemmings clone
+//  Copyright (C) 2002 Ingo Ruhnke <address@hidden>
+//
+//  This program is free software; you can redistribute it and/or
+//  modify it under the terms of the GNU General Public License
+//  as published by the Free Software Foundation; either version 2
+//  of the License, or (at your option) any later version.
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+// 
+//  You should have received a copy of the GNU General Public License
+//  along with this program; if not, write to the Free Software
+//  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+
+#ifndef HEADER_INPUT_MANAGER_CUSTOM_HXX
+#define HEADER_INPUT_MANAGER_CUSTOM_HXX
+
+#include <ClanLib/Display/input_device.h>
+#include <ClanLib/Display/input_event.h>
+#include "input_event.hxx"
+#include "input_manager_impl.hxx"
+
+class InputAxis
+{
+private:
+  CL_InputDevice dev;
+  int axis_num;
+
+  std::vector<CL_Slot> slots;
+  CL_Signal_v1<float> move;  
+public:
+  InputAxis() {}
+  InputAxis(CL_InputDevice& dev, int num);
+  
+  void on_axis_move(const CL_InputEvent& event); 
+
+  void update(float delta) {}
+
+  CL_Signal_v1<float>& on_move() { return move; }
+};
+
+class InputButton
+{
+private:
+  CL_InputDevice dev;
+  int keycode;
+
+  std::vector<CL_Slot> slots;
+  CL_Signal_v0 button_down;
+  CL_Signal_v0 button_up;
+public:
+  InputButton() {}
+  InputButton(CL_InputDevice& dev, int keycode);
+  
+  void on_key_down(const CL_InputEvent& event);
+  void on_key_up(const CL_InputEvent& event);
+
+  void update(float delta) {}
+
+  CL_Signal_v0& on_key_down() { return button_down; }
+  CL_Signal_v0& on_key_up()   { return button_up; }
+};
+
+/** */
+class InputManagerCustom : public InputManagerImpl
+{
+private:
+  std::vector<CL_Slot> slots;
+
+  InputButton* primary_button;
+  InputButton* secondary_button;
+  InputButton* use_button;
+  InputButton* menu_button;
+
+  InputAxis* orientation_axis;
+  InputAxis* accelerate_axis;
+  InputAxis* strafe_axis;
+
+public:
+  InputManagerCustom();
+  
+  void update(float delta);
+
+  void on_button_up(ButtonName name);
+  void on_button_down(ButtonName name);
+  void on_axis_move(float pos, AxisName name);
+private:
+  InputManagerCustom (const InputManagerCustom&);
+  InputManagerCustom& operator= (const InputManagerCustom&);
+};
+
+#endif
+
+/* EOF */

Modified: trunk/src/input/input_manager_impl.hxx
===================================================================
--- trunk/src/input/input_manager_impl.hxx      2003-12-08 18:56:28 UTC (rev 
311)
+++ trunk/src/input/input_manager_impl.hxx      2003-12-09 00:00:42 UTC (rev 
312)
@@ -20,18 +20,28 @@
 #ifndef HEADER_INPUT_MANAGER_IMPL_HXX
 #define HEADER_INPUT_MANAGER_IMPL_HXX
 
+#include "controller.hxx"
 #include "input_event.hxx"
 
 /** */
 class InputManagerImpl
 {
+protected:
+  Controller controller;
+  InputEventLst events;
+
 public:
   InputManagerImpl() {}
+  virtual ~InputManagerImpl() {}
 
   virtual void update(float delta) =0;
-  virtual InputEventLst get_events() =0;
-  virtual Controller get_controller() =0;
-  virtual void clear() =0;
+  
+  InputEventLst get_events();
+  Controller get_controller();
+  void clear();
+
+  void add_axis_event(AxisName name, float pos);
+  void add_button_event(ButtonName name, bool down);
 private:
   InputManagerImpl(const InputManagerImpl&);
   InputManagerImpl& operator=(const InputManagerImpl&);

Modified: trunk/src/input/input_manager_joystick.cxx
===================================================================
--- trunk/src/input/input_manager_joystick.cxx  2003-12-08 18:56:28 UTC (rev 
311)
+++ trunk/src/input/input_manager_joystick.cxx  2003-12-09 00:00:42 UTC (rev 
312)
@@ -122,24 +122,4 @@
                               dev.get_keycode(3));
 }
 
-InputEventLst
-InputManagerJoystick::get_events()
-{
-  InputEventLst old_events = events;
-  return old_events;
-}
-
-Controller
-InputManagerJoystick::get_controller()
-{
-  controller.events = events;
-  return controller;
-}
-
-void
-InputManagerJoystick::clear()
-{
-  events.clear();
-}
-
 /* EOF */

Modified: trunk/src/input/input_manager_joystick.hxx
===================================================================
--- trunk/src/input/input_manager_joystick.hxx  2003-12-08 18:56:28 UTC (rev 
311)
+++ trunk/src/input/input_manager_joystick.hxx  2003-12-09 00:00:42 UTC (rev 
312)
@@ -34,9 +34,6 @@
 private:
   CL_InputDevice dev;
 
-  Controller controller;
-  InputEventLst events;
-
   CL_SlotContainer slots;
   
   void on_axis_move(const CL_InputEvent& event);
@@ -51,9 +48,7 @@
   virtual ~InputManagerJoystick();
 
   void update(float delta);
-  InputEventLst get_events();
-  Controller get_controller();
-  void clear();
+
 private:
   InputManagerJoystick (const InputManagerJoystick&);
   InputManagerJoystick& operator= (const InputManagerJoystick&);

Modified: trunk/src/input/input_manager_keyboard.cxx
===================================================================
--- trunk/src/input/input_manager_keyboard.cxx  2003-12-08 18:56:28 UTC (rev 
311)
+++ trunk/src/input/input_manager_keyboard.cxx  2003-12-09 00:00:42 UTC (rev 
312)
@@ -147,24 +147,4 @@
                               CL_Keyboard::get_keycode(CL_KEY_E));
 }
 
-InputEventLst
-InputManagerKeyboard::get_events()
-{
-  InputEventLst old_events = events;
-  return old_events;
-}
-
-Controller
-InputManagerKeyboard::get_controller()
-{
-  controller.events = events;
-  return controller;
-}
-
-void
-InputManagerKeyboard::clear()
-{
-  events.clear();
-}
-
 /* EOF */

Modified: trunk/src/input/input_manager_keyboard.hxx
===================================================================
--- trunk/src/input/input_manager_keyboard.hxx  2003-12-08 18:56:28 UTC (rev 
311)
+++ trunk/src/input/input_manager_keyboard.hxx  2003-12-09 00:00:42 UTC (rev 
312)
@@ -31,9 +31,6 @@
 class InputManagerKeyboard : public InputManagerImpl
 {
 private:
-  Controller controller;
-  InputEventLst events;
-
   CL_SlotContainer slots;
   
   void on_key_event(const CL_InputEvent& event);
@@ -46,9 +43,6 @@
   virtual ~InputManagerKeyboard();
 
   void update(float delta);
-  InputEventLst get_events();
-  Controller get_controller();
-  void clear();
 private:
   InputManagerKeyboard (const InputManagerKeyboard&);
   InputManagerKeyboard& operator= (const InputManagerKeyboard&);

Modified: trunk/src/scripting/Makefile.am
===================================================================
--- trunk/src/scripting/Makefile.am     2003-12-08 18:56:28 UTC (rev 311)
+++ trunk/src/scripting/Makefile.am     2003-12-09 00:00:42 UTC (rev 312)
@@ -7,6 +7,8 @@
  ai_vehicle_commands.hxx \
  building_commands.cxx   \
  building_commands.hxx   \
+ clanlib_commands.hxx    \
+ clanlib_commands.cxx    \
  comm_commands.cxx       \
  comm_commands.hxx       \
  display_commands.hxx    \

Added: trunk/src/scripting/clanlib_commands.cxx
===================================================================
--- trunk/src/scripting/clanlib_commands.cxx    2003-12-08 18:56:28 UTC (rev 
311)
+++ trunk/src/scripting/clanlib_commands.cxx    2003-12-09 00:00:42 UTC (rev 
312)
@@ -0,0 +1,49 @@
+//  $Id$
+//
+//  Pingus - A free Lemmings clone
+//  Copyright (C) 2002 Ingo Ruhnke <address@hidden>
+//
+//  This program is free software; you can redistribute it and/or
+//  modify it under the terms of the GNU General Public License
+//  as published by the Free Software Foundation; either version 2
+//  of the License, or (at your option) any later version.
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+//
+//  You should have received a copy of the GNU General Public License
+//  along with this program; if not, write to the Free Software
+//  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+
+#include "clanlib_commands.hxx"
+
+SCM post_keep_alive_func = SCM_BOOL_F;
+
+SCM  clanlib_get_post_keep_alive_func()
+{
+  return post_keep_alive_func;
+}
+
+void clanlib_set_post_keep_alive_func(SCM func)
+{
+  if (post_keep_alive_func != func)
+    {
+      if (post_keep_alive_func != SCM_BOOL_F)
+        scm_gc_unprotect_object(post_keep_alive_func);
+
+      post_keep_alive_func = func;
+      scm_gc_protect_object(post_keep_alive_func);
+    }  
+}
+
+void clanlib_call_post_keep_alive_func()
+{
+  if (post_keep_alive_func != SCM_BOOL_F)
+    {
+      gh_call0(post_keep_alive_func);
+    }
+}
+
+/* EOF */

Added: trunk/src/scripting/clanlib_commands.hxx
===================================================================
--- trunk/src/scripting/clanlib_commands.hxx    2003-12-08 18:56:28 UTC (rev 
311)
+++ trunk/src/scripting/clanlib_commands.hxx    2003-12-09 00:00:42 UTC (rev 
312)
@@ -0,0 +1,31 @@
+//  $Id$
+// 
+//  Pingus - A free Lemmings clone
+//  Copyright (C) 2002 Ingo Ruhnke <address@hidden>
+//
+//  This program is free software; you can redistribute it and/or
+//  modify it under the terms of the GNU General Public License
+//  as published by the Free Software Foundation; either version 2
+//  of the License, or (at your option) any later version.
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+// 
+//  You should have received a copy of the GNU General Public License
+//  along with this program; if not, write to the Free Software
+//  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+
+#ifndef HEADER_CLANLIB_COMMANDS_HXX
+#define HEADER_CLANLIB_COMMANDS_HXX
+
+#include <guile/gh.h>
+
+SCM  clanlib_get_post_keep_alive_func();
+void clanlib_set_post_keep_alive_func(SCM func);
+void clanlib_call_post_keep_alive_func();
+
+#endif
+
+/* EOF */

Modified: trunk/src/scripting/feuerkraft.i
===================================================================
--- trunk/src/scripting/feuerkraft.i    2003-12-08 18:56:28 UTC (rev 311)
+++ trunk/src/scripting/feuerkraft.i    2003-12-09 00:00:42 UTC (rev 312)
@@ -17,6 +17,7 @@
 #include "vehicle_commands.hxx"
 #include "game_commands.hxx"
 #include "debug_commands.hxx"
+#include "clanlib_commands.hxx"
 %}
 
 %include "ai_vehicle_commands.hxx"
@@ -36,5 +37,6 @@
 %include "vehicle_commands.hxx"
 %include "game_commands.hxx"
 %include "debug_commands.hxx"
+%include "clanlib_commands.hxx"
 
 /* EOF */
\ No newline at end of file





reply via email to

[Prev in Thread] Current Thread [Next in Thread]