[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pingus-CVS] CVS: Games/Pingus/src/input controller.cxx,1.3,1.4 controll
From: |
torangan |
Subject: |
[Pingus-CVS] CVS: Games/Pingus/src/input controller.cxx,1.3,1.4 controller.hxx,1.3,1.4 |
Date: |
10 Jul 2002 17:28:15 -0000 |
Update of /usr/local/cvsroot/Games/Pingus/src/input
In directory dark:/tmp/cvs-serv26121
Modified Files:
controller.cxx controller.hxx
Log Message:
intermediate commit with corrected includes
Index: controller.cxx
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/src/input/controller.cxx,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- controller.cxx 10 Jul 2002 16:15:59 -0000 1.3
+++ controller.cxx 10 Jul 2002 17:28:13 -0000 1.4
@@ -19,8 +19,8 @@
#include "../xml_helper.hxx"
#include "../pingus_error.hxx"
-#include "action_axis_event.hxx"
#include "axis.hxx"
+#include "axis_event.hxx"
#include "axis_factory.hxx"
#include "button.hxx"
#include "button_event.hxx"
@@ -29,8 +29,8 @@
#include "dummy_axis.hxx"
#include "dummy_button.hxx"
#include "dummy_pointer.hxx"
-#include "move_event.hxx"
#include "pointer.hxx"
+#include "pointer_event.hxx"
#include "pointer_factory.hxx"
namespace Input
@@ -39,7 +39,13 @@
armageddon_button(0), escape_button(0),
fast_forward_button(0), pause_button(0),
primary_button(0),
secondary_button(0),
- scroll_modifier(0),
action_axis(0)
+ scroll_modifier(0),
action_axis(0),
+ std_pointer_x(0),
std_pointer_y(0),
+ scr_pointer_x(0),
scr_pointer_y(0),
+
armageddon_pressed(false), escape_pressed(false),
+
fast_forward_pressed(false), pause_pressed(false),
+
primary_pressed(false), secondary_pressed(false),
+
scroll_modifier_pressed(false)
{
xmlDocPtr doc = xmlParseFile(configfile.c_str());
@@ -108,37 +114,61 @@
if (!standard_pointer)
standard_pointer = new DummyPointer;
+ else
+ {
+ std_pointer_x = standard_pointer->get_x_pos();
+ std_pointer_y = standard_pointer->get_y_pos();
+ }
if (!scroll_pointer)
scroll_pointer = new DummyPointer;
+ else
+ {
+ scr_pointer_x = scroll_pointer->get_x_pos();
+ scr_pointer_y = scroll_pointer->get_y_pos();
+ }
if (!armageddon_button)
armageddon_button = new DummyButton;
+ else
+ armageddon_pressed = armageddon_button->is_pressed();
if (!escape_button)
escape_button = new DummyButton;
+ else
+ escape_pressed = escape_button->is_pressed();
if (!fast_forward_button)
fast_forward_button = new DummyButton;
+ else
+ fast_forward_pressed = fast_forward_button->is_pressed();
if (!pause_button)
pause_button = new DummyButton;
+ else
+ pause_pressed = pause_button -> is_pressed();
if (!primary_button)
primary_button = new DummyButton;
+ else
+ primary_pressed = primary_button->is_pressed();
if (!secondary_button)
secondary_button = new DummyButton;
+ else
+ secondary_pressed = secondary_button->is_pressed();
if (!scroll_modifier)
scroll_modifier = new DummyButton;
+ else
+ scroll_modifier_pressed = scroll_modifier->is_pressed();
if (!action_axis)
action_axis = new DummyAxis;
}
void
- Controller::create_action_buttons(xmlNodePtr cur)
+ Controller::create_action_buttons (xmlNodePtr cur)
{
cur = cur->children;
@@ -158,6 +188,43 @@
cur = cur->next;
}
+ }
+
+ void
+ Controller::update (float delta)
+ {
+ standard_pointer ->update(delta);
+ scroll_pointer ->update(delta);
+ armageddon_button ->update(delta);
+ escape_button ->update(delta);
+ fast_forward_button->update(delta);
+ pause_button ->update(delta);
+ primary_button ->update(delta);
+ secondary_button ->update(delta);
+ scroll_modifier ->update(delta);
+
+ if (std_pointer_x != standard_pointer->get_x_pos() || std_pointer_y !=
standard_pointer->get_y_pos())
+ {
+ if ( ! scroll_modifier_pressed)
+ {
+ std_pointer_x = standard_pointer->get_x_pos();
+ std_pointer_y = standard_pointer->get_y_pos();
+
+ events.push_back(new PointerEvent(standard, std_pointer_x,
std_pointer_y));
+ }
+ else
+ {
+ scr_pointer_x = standard_pointer->get_x_pos();
+ scr_pointer_y = standard_pointer->get_y_pos();
+
+ scroll_pointer->set_pos(scr_pointer_x, scr_pointer_y);
+ standard_pointer->set_pos(std_pointer_x, std_pointer_y);
+
+ events.push_back(new PointerEvent(scroll, scr_pointer_x,
scr_pointer_y));
+ }
+ }
+
+
}
}
Index: controller.hxx
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/src/input/controller.hxx,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- controller.hxx 10 Jul 2002 16:15:59 -0000 1.3
+++ controller.hxx 10 Jul 2002 17:28:13 -0000 1.4
@@ -52,10 +52,16 @@
std::list<Event*> events;
+ float std_pointer_x, std_pointer_y, scr_pointer_x, scr_pointer_y;
+ bool armageddon_pressed, escape_pressed, fast_forward_pressed,
pause_pressed,
+ primary_pressed, secondary_pressed, scroll_modifier_pressed;
+
public:
explicit Controller (const std::string& configfile);
std::list<Event*>& get_events ();
+
+ void update(float delta);
private:
void create_action_buttons(xmlNodePtr cur);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pingus-CVS] CVS: Games/Pingus/src/input controller.cxx,1.3,1.4 controller.hxx,1.3,1.4,
torangan <=
- Prev by Date:
[Pingus-CVS] CVS: Games/Pingus/src/input Makefile.am,1.12,1.13
- Next by Date:
[Pingus-CVS] CVS: Games/Pingus/src/input controller.cxx,1.4,1.5 controller.hxx,1.4,1.5
- Previous by thread:
[Pingus-CVS] CVS: Games/Pingus/src/input Makefile.am,1.12,1.13
- Next by thread:
[Pingus-CVS] CVS: Games/Pingus/src/input controller.cxx,1.4,1.5 controller.hxx,1.4,1.5
- Index(es):