pingus-cvs
[Top][All Lists]
Advanced

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

[Pingus-CVS] r3914 - in trunk/pingus/src: . display editor screen worldo


From: grumbel at BerliOS
Subject: [Pingus-CVS] r3914 - in trunk/pingus/src: . display editor screen worldobjs
Date: Sun, 27 Jul 2008 16:20:14 +0200

Author: grumbel
Date: 2008-07-27 16:20:12 +0200 (Sun, 27 Jul 2008)
New Revision: 3914

Modified:
   trunk/pingus/src/display/scene_context.cpp
   trunk/pingus/src/display/scene_context.hpp
   trunk/pingus/src/editor/editor_screen.cpp
   trunk/pingus/src/font_test_screen.cpp
   trunk/pingus/src/font_test_screen.hpp
   trunk/pingus/src/graphic_context_state.cpp
   trunk/pingus/src/screen/screen_manager.cpp
   trunk/pingus/src/screen/screen_manager.hpp
   trunk/pingus/src/worldobjs/surface_background.cpp
Log:
Some more float/int cleanup

Modified: trunk/pingus/src/display/scene_context.cpp
===================================================================
--- trunk/pingus/src/display/scene_context.cpp  2008-07-27 14:16:02 UTC (rev 
3913)
+++ trunk/pingus/src/display/scene_context.cpp  2008-07-27 14:20:12 UTC (rev 
3914)
@@ -79,7 +79,7 @@
 
 /** Translate the drawing context */
 void
-SceneContext::translate(float x, float y)
+SceneContext::translate(int x, int y)
 {
   impl->color.translate(x, y);
   impl->light.translate(x, y);

Modified: trunk/pingus/src/display/scene_context.hpp
===================================================================
--- trunk/pingus/src/display/scene_context.hpp  2008-07-27 14:16:02 UTC (rev 
3913)
+++ trunk/pingus/src/display/scene_context.hpp  2008-07-27 14:20:12 UTC (rev 
3914)
@@ -54,7 +54,7 @@
   DrawingContext& highlight();
 
   /** Translate the drawing context */
-  void translate(float x, float y);
+  void translate(int x, int y);
 
   /** Set the rotation of the drawing context */
   void rotate(float angel);

Modified: trunk/pingus/src/editor/editor_screen.cpp
===================================================================
--- trunk/pingus/src/editor/editor_screen.cpp   2008-07-27 14:16:02 UTC (rev 
3913)
+++ trunk/pingus/src/editor/editor_screen.cpp   2008-07-27 14:20:12 UTC (rev 
3914)
@@ -250,8 +250,8 @@
     {
       case Input::SCROLLER_EVENT_TYPE:
         viewport->set_scroll_pos(viewport->get_scroll_pos() -
-                                 Vector2i(event.scroll.x_delta,
-                                          event.scroll.y_delta));
+                                 
Vector2i(static_cast<int>(event.scroll.x_delta),
+                                          
static_cast<int>(event.scroll.y_delta)));
         break;
 
       default:

Modified: trunk/pingus/src/font_test_screen.cpp
===================================================================
--- trunk/pingus/src/font_test_screen.cpp       2008-07-27 14:16:02 UTC (rev 
3913)
+++ trunk/pingus/src/font_test_screen.cpp       2008-07-27 14:20:12 UTC (rev 
3914)
@@ -26,8 +26,6 @@
 
 FontTestScreen::FontTestScreen(const Pathname& fontfile)
   : Screen(Display::get_size()),
-    scrollx(0),
-    scrolly(0),
     dark(true)
 {
   std::cout << "### Loading font file: " << fontfile << std::endl;
@@ -55,7 +53,7 @@
   gc.print_left(Fonts::chalk_large, Vector2i(10, 10), "Pingus - Font Test");
 
   gc.push_modelview();
-  gc.translate(scrollx, scrolly);
+  gc.translate(scroll.x, scroll.y);
 
   for(int i = 0; i < 256; ++i)
     {
@@ -109,8 +107,8 @@
         break;
             
       case Input::SCROLLER_EVENT_TYPE:
-        scrollx += event.scroll.x_delta;
-        scrolly += event.scroll.y_delta;
+        scroll.x += static_cast<int>(event.scroll.x_delta);
+        scroll.y += static_cast<int>(event.scroll.y_delta);
         break;
           
       default:

Modified: trunk/pingus/src/font_test_screen.hpp
===================================================================
--- trunk/pingus/src/font_test_screen.hpp       2008-07-27 14:16:02 UTC (rev 
3913)
+++ trunk/pingus/src/font_test_screen.hpp       2008-07-27 14:20:12 UTC (rev 
3914)
@@ -26,8 +26,7 @@
 private:
   Font font;
   Font reference;
-  float scrollx;
-  float scrolly;
+  Vector2i scroll;
   bool  dark;
 public:
   FontTestScreen(const Pathname& fontfile);

Modified: trunk/pingus/src/graphic_context_state.cpp
===================================================================
--- trunk/pingus/src/graphic_context_state.cpp  2008-07-27 14:16:02 UTC (rev 
3913)
+++ trunk/pingus/src/graphic_context_state.cpp  2008-07-27 14:20:12 UTC (rev 
3914)
@@ -21,11 +21,8 @@
 class GraphicContextStateImpl
 {
 public:
-  Rect rect;
-  
+  Rect rect; 
   Vector2i offset;
-  float zoom;
-  float rotation;
 
   bool have_limit;
   Rect limit;
@@ -36,8 +33,6 @@
 {
   impl->rect       = Rect(Vector2i(0,0), Size(Display::get_width(), 
Display::get_height()));
   impl->offset     = Vector2i(0,0);
-  impl->zoom       = 1.0f;
-  impl->rotation   = 0;
   impl->have_limit = false;
 }
 
@@ -46,8 +41,6 @@
 {  
   impl->rect       = Rect(Vector2i(0,0), Size(w, h));
   impl->offset     = Vector2i(0,0); 
-  impl->zoom       = 1.0f;
-  impl->rotation   = 0;
   impl->have_limit = false;
 }
 
@@ -56,8 +49,6 @@
 {
   impl->rect       = rect;
   impl->offset     = Vector2i(0,0); 
-  impl->zoom       = 1.0f;
-  impl->rotation   = 0;
   impl->have_limit = false;  
 }
 
@@ -113,42 +104,39 @@
 Rect
 GraphicContextState::get_clip_rect()
 {
-  return Rect(Vector2i(int(-impl->offset.x),
-                       int(-impl->offset.y)),
-              Size(int(get_width()  / impl->zoom),
-                   int(get_height() / impl->zoom)));
+  return Rect(-impl->offset, impl->rect.get_size());
 }
 
 void
 GraphicContextState::set_pos(const Vector2i& pos)
 {
-  impl->offset.x = -pos.x + (get_width()/2  / impl->zoom);
-  impl->offset.y = -pos.y + (get_height()/2 / impl->zoom);
+  impl->offset.x = -pos.x + (get_width()/2);
+  impl->offset.y = -pos.y + (get_height()/2);
 
   if (impl->have_limit)
     {
       if (-impl->offset.x < impl->limit.left)
         {
-          impl->offset.x = (float)-(impl->limit.left);
+          impl->offset.x = -(impl->limit.left);
         }
       else if (-impl->offset.x + get_width() > impl->limit.right)
         {
           if (impl->limit.right - impl->limit.left > get_width())
-            impl->offset.x = (float)-(impl->limit.right - get_width());
+            impl->offset.x = -(impl->limit.right - get_width());
           else
-            impl->offset.x = (float)-(impl->limit.left);
+            impl->offset.x = -(impl->limit.left);
         }
 
       if (-impl->offset.y < impl->limit.top)
         {
-          impl->offset.y = (float)-(impl->limit.top);
+          impl->offset.y = -(impl->limit.top);
         }
       else if (-impl->offset.y + get_height() > impl->limit.bottom)
         {
           if (impl->limit.bottom - impl->limit.top > get_height())
-            impl->offset.y = (float)-(impl->limit.bottom - get_height());
+            impl->offset.y = -(impl->limit.bottom - get_height());
           else
-            impl->offset.y = (float)-(impl->limit.top);
+            impl->offset.y = -(impl->limit.top);
         }
     }
 }
@@ -156,29 +144,19 @@
 Vector2i
 GraphicContextState::get_pos() const
 {
-  return Vector2i(-impl->offset.x + (get_width()/2  / impl->zoom),
-                  -impl->offset.y + (get_height()/2  / impl->zoom));
+  return Vector2i(-impl->offset.x + (get_width()/2),
+                  -impl->offset.y + (get_height()/2));
 }
 
 Vector2i
 GraphicContextState::screen2world(const Vector2i& pos_) const
 {
-  Vector2i pos(float(pos_.x - impl->rect.left),
-               float(pos_.y - impl->rect.top));
+  Vector2i pos(pos_.x - impl->rect.left,
+               pos_.y - impl->rect.top);
 
-  float sa = Math::sin(-impl->rotation/180.0f*Math::pi);
-  float ca = Math::cos(-impl->rotation/180.0f*Math::pi);
-
-  float dx = pos.x - (float)get_width()/2;
-  float dy = pos.y - (float)get_height()/2;
-
-  pos.x = get_width()/2  + (ca * dx - sa * dy);
-  pos.y = get_height()/2 + (sa * dx + ca * dy);
-
-  Vector2i p((float(pos.x) / impl->zoom) - impl->offset.x, 
-             (float(pos.y) / impl->zoom) - impl->offset.y);
-
-  return p;
+  return pos
+    - Vector2i(impl->rect.left, impl->rect.top) 
+    - impl->offset;
 }
 
 int

Modified: trunk/pingus/src/screen/screen_manager.cpp
===================================================================
--- trunk/pingus/src/screen/screen_manager.cpp  2008-07-27 14:16:02 UTC (rev 
3913)
+++ trunk/pingus/src/screen/screen_manager.cpp  2008-07-27 14:20:12 UTC (rev 
3914)
@@ -244,7 +244,8 @@
   for(std::vector<Input::Event>::const_iterator i = events.begin(); i != 
events.end(); ++i)
     {
       if (i->type == Input::POINTER_EVENT_TYPE && i->pointer.name == 
Input::STANDARD_POINTER)
-        mouse_pos = Vector2f(i->pointer.x, i->pointer.y);                 
+        mouse_pos = Vector2i(static_cast<int>(i->pointer.x),
+                             static_cast<int>(i->pointer.y)); 
 
       last_screen->update(*i);
       if (last_screen != get_current_screen())

Modified: trunk/pingus/src/screen/screen_manager.hpp
===================================================================
--- trunk/pingus/src/screen/screen_manager.hpp  2008-07-27 14:16:02 UTC (rev 
3913)
+++ trunk/pingus/src/screen/screen_manager.hpp  2008-07-27 14:20:12 UTC (rev 
3914)
@@ -55,7 +55,7 @@
       or replaced) */
   std::vector<ScreenPtr> screens;
 
-  Vector2f mouse_pos;
+  Vector2i mouse_pos;
 
   bool record_input;
   bool playback_input;

Modified: trunk/pingus/src/worldobjs/surface_background.cpp
===================================================================
--- trunk/pingus/src/worldobjs/surface_background.cpp   2008-07-27 14:16:02 UTC 
(rev 3913)
+++ trunk/pingus/src/worldobjs/surface_background.cpp   2008-07-27 14:20:12 UTC 
(rev 3914)
@@ -155,8 +155,7 @@
           x < world->get_width();
           x += bg_sprite.get_width())
         {
-          gc.color().draw(bg_sprite, Vector3f(x - offset.x, 
-                                              y - offset.y, pos.z));
+          gc.color().draw(bg_sprite, Vector2i(x - offset.x, y - offset.y), 
pos.z);
         }
     }
 }





reply via email to

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