netpanzer-cvs
[Top][All Lists]
Advanced

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

[netPanzer-CVS] netpanzer/src ChangeLog Lib/2D/Span.cpp Lib/2D/...


From: Matthias Braun
Subject: [netPanzer-CVS] netpanzer/src ChangeLog Lib/2D/Span.cpp Lib/2D/...
Date: Mon, 08 Sep 2003 11:32:06 -0400

CVSROOT:        /cvsroot/netpanzer
Module name:    netpanzer
Branch:         
Changes by:     Matthias Braun <address@hidden> 03/09/08 11:32:05

Modified files:
        src            : ChangeLog 
        src/Lib/2D     : Span.cpp Surface.cpp 
        src/Lib/Particles: CloudParticle2D.cpp 
        src/Lib/View   : View.cpp cInputField.hpp 
        src/NetPanzer/Classes: KeyBinder.cpp KeyBinder.hpp 
                               SelectionBoxSprite.cpp 
                               SelectionBoxSprite.hpp Sprite.cpp 
                               Sprite.hpp WorldInputCmdProcessor.cpp 
        src/NetPanzer/Classes/Units: SpahPanzer.cpp 
        src/NetPanzer/Core/unix: main.cpp 
        src/NetPanzer/Interfaces: GameManager.cpp GameManager.hpp 
                                  KeyboardInterface.cpp 
                                  KeyboardInterface.hpp MapInterface.cpp 
        src/NetPanzer/Interfaces/unix: NetworkClientUnix.cpp 
        src/NetPanzer/Views/Game: AreYouSureResignView.cpp 
                                  ProgressView.cpp WinnerMesgView.cpp 
        src/UILib      : UIDraw.hpp 
        src/UILib/SDL  : SDLDraw.cpp SDLDraw.hpp 

Log message:
        -added some basic music plying support (all files in sfx/music are 
played in
        random order, so simply put some .mp3 or .ogg there)
        -enabled Tile engine code again
        -fixed some bugs in the blitting routines
        -fixed some more small bugs I introduced while porting
        -Added new keyboard handling code
        -fixed lots of code that assumed a key scancode is "only" a char
        -added possibility to switch windows/fullscreen mode on ALT+ENTER

Patches:
Index: netpanzer/src/ChangeLog
diff -u netpanzer/src/ChangeLog:1.9 netpanzer/src/ChangeLog:1.10
--- netpanzer/src/ChangeLog:1.9 Sun Sep  7 16:49:02 2003
+++ netpanzer/src/ChangeLog     Mon Sep  8 11:32:02 2003
@@ -1,3 +1,13 @@
+8-Sep-2003 by Matze Braun
+-added some basic music plying support (all files in sfx/music are played in
+               random order, so simply put some .mp3 or .ogg there)
+-enabled Tile engine code again
+-fixed some bugs in the blitting routines
+-fixed some more small bugs I introduced while porting
+-Added new keyboard handling code
+-fixed lots of code that assumed a key scancode is "only" a char
+-added possibility to switch windows/fullscreen mode on ALT+ENTER
+
 7-Sep-2003 by Matze Braun
 -removed NetMessageLog class (because it only contained shit ;-)
 -slightly changed NetworkServer and NetworkClient interfaces
Index: netpanzer/src/Lib/2D/Span.cpp
diff -u netpanzer/src/Lib/2D/Span.cpp:1.5 netpanzer/src/Lib/2D/Span.cpp:1.6
--- netpanzer/src/Lib/2D/Span.cpp:1.5   Mon Sep  8 08:12:18 2003
+++ netpanzer/src/Lib/2D/Span.cpp       Mon Sep  8 11:32:03 2003
@@ -25,6 +25,7 @@
 //--------------------------------------------------------------------------
 void bltTransSpan(PIX *dRow, const PIX *sRow, int pixelsPerRow)
 {
+       // XXX not needed at the moment
        memcpy(dRow, sRow, pixelsPerRow*sizeof(PIX));
 #if 0
                _asm {
@@ -115,10 +116,9 @@
 {
        if (!allowSpanBlitting) { return; } // Remove for release candidate.
 
-       int idx;
-
-       for(idx=0;idx<pixelsPerRow;idx++) {
-         dRow[idx] = table[ (dRow[idx]<<8)+sRow[idx] ];
+       for(size_t idx=0;idx<pixelsPerRow;idx++) {
+               dRow[idx] = table[ (dRow[idx]<<8)+sRow[idx] ];
+               //dRow[idx] = table[sRow[idx]];
        }
 
 #if 0
@@ -294,12 +294,10 @@
 //--------------------------------------------------------------------------
 void bltLookupSpan(PIX *dRow, int pixelsPerRow, const PIX *table)
 {
-
        if (!allowSpanBlitting) { return; } // Remove for release candidate.
 
-       int idx;
-       for(idx=0;idx<pixelsPerRow;idx++)
-         dRow[idx] = table[dRow[idx]];
+       for(size_t idx=0;idx<pixelsPerRow;idx++)
+               dRow[idx] = table[dRow[idx]];
 
 #if 0
                _asm {
@@ -365,9 +363,12 @@
 } // end bltLookupSpan
 
 //--------------------------------------------------------------------------
-void bltScaleSpan(PIX *dRow, const PIX *sRow, int srcX1FracWithCount, int 
stepAndDecCount, int stepWholePart)
+void bltScaleSpan(PIX *dRow, const PIX *sRow, int srcX1FracWithCount,
+                                 int stepAndDecCount, int stepWholePart)
 {
        if (!allowSpanBlitting) { return; } // Remove for release candidate.
+       // XXX not needed anymore at the moment...
+
        // XXX disabled msvc assembler
 #ifdef MSVC
                _asm {
Index: netpanzer/src/Lib/2D/Surface.cpp
diff -u netpanzer/src/Lib/2D/Surface.cpp:1.11 
netpanzer/src/Lib/2D/Surface.cpp:1.12
--- netpanzer/src/Lib/2D/Surface.cpp:1.11       Mon Sep  8 09:12:02 2003
+++ netpanzer/src/Lib/2D/Surface.cpp    Mon Sep  8 11:32:04 2003
@@ -793,7 +793,8 @@
        {
                for (int col = 0; col < pixelsPerRow; col++)
                {
-                       if (*sPtr != transPix) *dPtr = color;
+                       if (*sPtr != transPix)
+                               *dPtr = color;
                        sPtr++;
                        dPtr++;
                }
@@ -1975,11 +1976,20 @@
        int stepWholePart = xSrcDelta >> 16;
        int srcX1FracWithCount = (srcX1 << 16) | pixelsPerRow;
 
+       float xdelta = float(source.pix.x) / float(max.x - min.x);
        for (int yCount = 0 ; yCount < numRows ; yCount++)
        {
                const PIX *sRow = source.rowPtr(srcY >> 16) + (srcX1 >> 16);
 
-               bltBlendScaleSpan(dRow, sRow, srcX1FracWithCount, 
stepAndDecCount, stepWholePart, table);
+               // bltBlendScaleSpan(dRow, sRow, srcX1FracWithCount, 
stepAndDecCount, stepWholePart, table);
+
+               // XXX: WARNING SLOW CODE
+               float sPos = 0;
+               for(size_t x=0; x<pixelsPerRow; x++) {
+                       dRow[x] = table[ (dRow[x]<<8) + sRow[(size_t) sPos]];
+                       //dRow[x] = table[sRow[(size_t) sPos]];
+                       sPos += xdelta;
+               }
 
                srcY += ySrcDelta;
                dRow += stride;
@@ -2109,7 +2119,7 @@
                */
                // XXX: WARNING SLOW CODE
                float sPos = 0;
-               for(int x=0; x<pixelsPerRow; x++) {
+               for(size_t x=0; x<pixelsPerRow; x++) {
                        dRow[x] = sRow[(size_t) sPos];
                        sPos += xdelta;
                }
@@ -2117,23 +2127,6 @@
                srcY += ySrcDelta;
                dRow += stride;
        }
-}
-
-void Surface::bltScaleTrans(const Surface &source, const iRect &destRect) 
const {
-
-//00401151   mov         dword ptr [edi],edx
-//00401153   add         edi,4
-//main_loop_entrance:
-//00401156   mov         edx,7EFEFEFFh
-//0040115B   mov         eax,dword ptr [ecx]
-//0040115D   add         edx,eax
-//0040115F   xor         eax,0FFh
-//00401162   xor         eax,edx
-//00401164   mov         edx,dword ptr [ecx]
-//00401166   add         ecx,4
-//00401169   test        eax,81010100h
-//0040116E   je          main_loop(0x00401151)
-
 }
 
 // blendRect
Index: netpanzer/src/Lib/Particles/CloudParticle2D.cpp
diff -u netpanzer/src/Lib/Particles/CloudParticle2D.cpp:1.5 
netpanzer/src/Lib/Particles/CloudParticle2D.cpp:1.6
--- netpanzer/src/Lib/Particles/CloudParticle2D.cpp:1.5 Sun Sep  7 16:49:02 2003
+++ netpanzer/src/Lib/Particles/CloudParticle2D.cpp     Mon Sep  8 11:32:04 2003
@@ -15,8 +15,8 @@
 along with this program; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
-
 #include <config.h>
+
 #include "CloudParticle2D.hpp"
 #include "TimerInterface.hpp"
 #include "PackedSurface.hpp"
Index: netpanzer/src/Lib/View/View.cpp
diff -u netpanzer/src/Lib/View/View.cpp:1.6 netpanzer/src/Lib/View/View.cpp:1.7
--- netpanzer/src/Lib/View/View.cpp:1.6 Sun Sep  7 16:49:03 2003
+++ netpanzer/src/Lib/View/View.cpp     Mon Sep  8 11:32:04 2003
@@ -2084,13 +2084,13 @@
 {
        if (selectedInputField >= 0)
        {
-               char shit;
-               while (KeyboardInterface::getChar(&shit))
+               int shit;
+               while (KeyboardInterface::getChar(shit))
                {
                        // Check for extended code.
                        if (shit == 0)
                        {
-                               if (KeyboardInterface::getChar(&shit))
+                               if (KeyboardInterface::getChar(shit))
                                {
                                        
inputFields[selectedInputField].addExtendedChar(shit);
                                } else
Index: netpanzer/src/Lib/View/cInputField.hpp
diff -u netpanzer/src/Lib/View/cInputField.hpp:1.2 
netpanzer/src/Lib/View/cInputField.hpp:1.3
--- netpanzer/src/Lib/View/cInputField.hpp:1.2  Mon Sep  1 16:24:20 2003
+++ netpanzer/src/Lib/View/cInputField.hpp      Mon Sep  8 11:32:04 2003
@@ -18,17 +18,10 @@
 #ifndef __cInputField_hpp__
 #define __cInputField_hpp__
 
-
-#if _MSC_VER > 1000
-       #pragma once
-#endif
-
-
 #include "iXY.hpp"
 #include "iRect.hpp"
 #include "Surface.hpp"
 #include "KeyScanCodeDefs.h"
-
 
 //--------------------------------------------------------------------------
 class cInputFieldString
Index: netpanzer/src/NetPanzer/Classes/KeyBinder.cpp
diff -u netpanzer/src/NetPanzer/Classes/KeyBinder.cpp:1.3 
netpanzer/src/NetPanzer/Classes/KeyBinder.cpp:1.4
--- netpanzer/src/NetPanzer/Classes/KeyBinder.cpp:1.3   Fri Sep  5 22:01:18 2003
+++ netpanzer/src/NetPanzer/Classes/KeyBinder.cpp       Mon Sep  8 11:32:04 2003
@@ -16,14 +16,15 @@
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 #include <config.h>
+
+#include <SDL.h>
 #include "KeyBinder.hpp"
 
 #include <string.h>
 
-
 KeyBinder KEY_BINDER;
 
-bool KeyBinder::locked_key_table[256]; 
+bool KeyBinder::locked_key_table[SDLK_LAST]; 
 
 KeyBinder::KeyBinder( unsigned long key_list_size )
  {
@@ -34,7 +35,7 @@
  {
   unsigned long key_list_index;
 
-  key_list.initialize( key_list_size, 1, 256 );
+  key_list.initialize( key_list_size, 1, SDLK_LAST );
 
   for( key_list_index = 0; key_list_index < key_list_size; key_list_index++ )
    {
@@ -42,7 +43,7 @@
    } // ** for 
  }
 
-KeyBinderElement * KeyBinder::findKeyScanCode( unsigned char key_scan_code )
+KeyBinderElement * KeyBinder::findKeyScanCode(int key_scan_code )
  {
   unsigned long key_list_size;
   unsigned long key_list_index;
@@ -83,20 +84,20 @@
   memset( locked_key_table, 0, sizeof( bool ) );
  }
 
-void KeyBinder::lockKey( unsigned char key_scan_code )
+void KeyBinder::lockKey(int key_scan_code )
  {
   // this is always true, isn't it?
   // assert( key_scan_code < 256 );
   locked_key_table[ key_scan_code ] = true;
  }
 
-void KeyBinder::unlockKey( unsigned char key_scan_code )
+void KeyBinder::unlockKey(int key_scan_code )
  {
   //assert( key_scan_code < 256 );
   locked_key_table[ key_scan_code ] = false;
  }
 
-void KeyBinder::bindAction( unsigned short action_enum, char *action_name, 
unsigned char key_scan_code )
+void KeyBinder::bindAction( unsigned short action_enum, char *action_name, int 
key_scan_code )
  {
   if ( isBound( key_scan_code ) == true )
    return;
@@ -124,7 +125,7 @@
   return( 0 );
  }
 
-bool KeyBinder::isBound( unsigned char key_scan_code )
+bool KeyBinder::isBound(int key_scan_code )
  {
   KeyBinderElement *key_info;
 
@@ -137,7 +138,7 @@
   return( false );
  }
    
-unsigned short KeyBinder::getKeyAction( unsigned char key_scan_code )
+unsigned short KeyBinder::getKeyAction(int key_scan_code )
  {
   KeyBinderElement *key_info;
 
@@ -150,7 +151,7 @@
   return(0);
  }
  
-bool KeyBinder::getKeyAction( unsigned char key_scan_code, char *action_name )
+bool KeyBinder::getKeyAction(int key_scan_code, char *action_name )
  {
   KeyBinderElement *key_info;
 
Index: netpanzer/src/NetPanzer/Classes/KeyBinder.hpp
diff -u netpanzer/src/NetPanzer/Classes/KeyBinder.hpp:1.2 
netpanzer/src/NetPanzer/Classes/KeyBinder.hpp:1.3
--- netpanzer/src/NetPanzer/Classes/KeyBinder.hpp:1.2   Mon Sep  1 16:24:20 2003
+++ netpanzer/src/NetPanzer/Classes/KeyBinder.hpp       Mon Sep  8 11:32:04 2003
@@ -23,45 +23,41 @@
 #include "KeyScanCodeDefs.h"
 
 class KeyBinderElement
- {
-  public:
-   unsigned short action_enum;
-   char action_name[32];
-   unsigned char key_scan_code;
- };
+{
+public:
+       unsigned short action_enum;
+       char action_name[32];
+       int key_scan_code;
+};
 
 class KeyBinder
- {
-  protected:
-   static bool locked_key_table[256]; 
+{
+protected:
+       static bool locked_key_table[SDLK_LAST]; 
 
-   ArrayGrowableTemplate< KeyBinderElement > key_list;
+       ArrayGrowableTemplate< KeyBinderElement > key_list;
 
-   KeyBinderElement * findKeyScanCode( unsigned char key_scan_code );
-   KeyBinderElement * findActionName( char *action_name );
-    
- 
-  public:
-   
-   KeyBinder() { }
-   KeyBinder( unsigned long key_list_size );
+       KeyBinderElement * findKeyScanCode( int key_scan_code );
+       KeyBinderElement * findActionName( char *action_name );
+public:
+       KeyBinder() { }
+       KeyBinder( unsigned long key_list_size );
 
-   void initialize( unsigned long key_list_size );
-   static void staticInitialize( void );
+       void initialize( unsigned long key_list_size );
+       static void staticInitialize( void );
 
-   void lockKey( unsigned char key_scan_code );
-   void unlockKey( unsigned char key_scan_code );
+       void lockKey(int key_scan_code);
+       void unlockKey(int key_scan_code);
    
-   void bindAction( unsigned short action_enum, char *action_name, unsigned 
char key_scan_code );
-   unsigned char getActionKey( unsigned short action_enum );
-   unsigned char getActionKey( char *action_name );
+       void bindAction(unsigned short action_enum, char *action_name, int 
key_scan_code );
+       unsigned char getActionKey( unsigned short action_enum );
+       unsigned char getActionKey( char *action_name );
    
-   bool isBound( unsigned char key_scan_code );
+   bool isBound(int key_scan_code );
    
-   unsigned short getKeyAction( unsigned char key_scan_code );
-   bool getKeyAction( unsigned char key_scan_code, char *action_name );
-            
- };
+   unsigned short getKeyAction(int key_scan_code );
+   bool getKeyAction(int key_scan_code, char *action_name );
+};
 
 extern KeyBinder KEY_BINDER;
 
Index: netpanzer/src/NetPanzer/Classes/SelectionBoxSprite.cpp
diff -u netpanzer/src/NetPanzer/Classes/SelectionBoxSprite.cpp:1.3 
netpanzer/src/NetPanzer/Classes/SelectionBoxSprite.cpp:1.4
--- netpanzer/src/NetPanzer/Classes/SelectionBoxSprite.cpp:1.3  Fri Sep  5 
22:01:18 2003
+++ netpanzer/src/NetPanzer/Classes/SelectionBoxSprite.cpp      Mon Sep  8 
11:32:04 2003
@@ -21,7 +21,7 @@
 
 Surface UNIT_FLAGS_SURFACE;
 
-bool SelectionBoxSprite::isVisible( Recti &world_win )
+bool SelectionBoxSprite::isVisible(const Recti &world_win) const
  {      
   if (
       (world_win.contains( world_pos + selection_area.min ) && (visible == 
true ) ) ||
@@ -33,7 +33,7 @@
  }
 
 
-void SelectionBoxSprite::blit( Surface *surface, Recti &world_win )
+void SelectionBoxSprite::blit( Surface *surface, const Recti &world_win )
  {
   PointXYi min_abs, max_abs;
   
Index: netpanzer/src/NetPanzer/Classes/SelectionBoxSprite.hpp
diff -u netpanzer/src/NetPanzer/Classes/SelectionBoxSprite.hpp:1.2 
netpanzer/src/NetPanzer/Classes/SelectionBoxSprite.hpp:1.3
--- netpanzer/src/NetPanzer/Classes/SelectionBoxSprite.hpp:1.2  Mon Sep  1 
16:24:20 2003
+++ netpanzer/src/NetPanzer/Classes/SelectionBoxSprite.hpp      Mon Sep  8 
11:32:04 2003
@@ -43,9 +43,9 @@
      box_state = on_off;
     }
   
-   virtual bool isVisible( Recti &world_win );
+   virtual bool isVisible(const Recti &world_win ) const;
     
-   virtual void blit( Surface *surface, Recti &world_win );
+   virtual void blit( Surface *surface, const Recti &world_win );
  
  };
 
Index: netpanzer/src/NetPanzer/Classes/Sprite.cpp
diff -u netpanzer/src/NetPanzer/Classes/Sprite.cpp:1.3 
netpanzer/src/NetPanzer/Classes/Sprite.cpp:1.4
--- netpanzer/src/NetPanzer/Classes/Sprite.cpp:1.3      Fri Sep  5 22:01:18 2003
+++ netpanzer/src/NetPanzer/Classes/Sprite.cpp  Mon Sep  8 11:32:04 2003
@@ -40,7 +40,7 @@
   setData( data, xPix, yPix, numFrames );
  }
 
-bool SpriteSurface::isVisible( Recti &world_win )
+bool SpriteSurface::isVisible(const Recti &world_win ) const
  {
   long min_x;
   long min_y;
@@ -77,11 +77,12 @@
   */
  }
 
-void SpriteSurface::blit( Surface *surface, Recti &world_win )
+void SpriteSurface::blit( Surface *surface, const Recti &world_win )
  {
   PointXYi blit_offset;
 
   blit_offset = (world_pos + attach_offset) - world_win.min; 
+  printf("NormalSpriteBlit %d %d\n", blit_offset.x, blit_offset.y);
   bltTrans( *surface, blit_offset.x, blit_offset.y );
  }
 
@@ -101,7 +102,7 @@
        drawMode   = SOLID;
  }
 
-bool SpritePacked::isVisible( Recti &world_win )
+bool SpritePacked::isVisible(const Recti &world_win ) const
  {
   long min_x;
   long min_y;
@@ -138,7 +139,7 @@
   */
  }
 
-void SpritePacked::blit( Surface *surface, Recti &world_win )
+void SpritePacked::blit( Surface *surface, const Recti &world_win )
  {
   PointXYi blit_offset;
 
Index: netpanzer/src/NetPanzer/Classes/Sprite.hpp
diff -u netpanzer/src/NetPanzer/Classes/Sprite.hpp:1.2 
netpanzer/src/NetPanzer/Classes/Sprite.hpp:1.3
--- netpanzer/src/NetPanzer/Classes/Sprite.hpp:1.2      Mon Sep  1 16:24:20 2003
+++ netpanzer/src/NetPanzer/Classes/Sprite.hpp  Mon Sep  8 11:32:04 2003
@@ -44,7 +44,7 @@
      world_pos = worldPos;
        }
 
-   virtual bool isVisible(const Recti &world_win ) { return( false ); }
+   virtual bool isVisible(const Recti &world_win ) const = 0;
  
    inline void setWorldPos( int x, int y )
     {
@@ -76,15 +76,15 @@
         Sprite::height = height;
        }
        
-   inline unsigned char getHeight( void )
-    {
-     return( height );
-       }
+   inline unsigned char getHeight() const
+   {
+          return( height );
+   }
   
-   inline void setVisiblity( bool visible )
-    {
-        Sprite::visible = visible;
-       } 
+   inline void setVisiblity(bool visible)
+   {
+          Sprite::visible = visible;
+   } 
 
    inline void attachSprite( Sprite *sprite, const PointXYi &attach )
        {
@@ -100,7 +100,7 @@
      iterator->next = sprite; 
        }
   
-  virtual void blit( Surface *surface, const Recti &world_win ) { }
+  virtual void blit( Surface *surface, const Recti &world_win ) = 0;
   
   inline void blitAll( Surface *surface, const Recti &world_win )
    {
@@ -166,10 +166,9 @@
         attach_offset.y = 0;
        } 
       
-   virtual bool isVisible( Recti &world_win );
-
-   virtual void blit( Surface *surface, Recti &world_win );
+   virtual bool isVisible(const Recti &world_win ) const;
 
+   virtual void blit( Surface *surface, const Recti &world_win );
  };
 
 class SpritePacked : public PackedSurface, public Sprite
@@ -237,10 +236,9 @@
         attach_offset.y = 0;
        } 
 
-   virtual bool isVisible( Recti &world_win );
+   virtual bool isVisible(const Recti &world_win ) const;
 
-   virtual void blit( Surface *surface, Recti &world_win );
-    
- };
+   virtual void blit( Surface *surface, const Recti &world_win );
+};
 
 #endif // ** _SPRITE_HPP
Index: netpanzer/src/NetPanzer/Classes/Units/SpahPanzer.cpp
diff -u netpanzer/src/NetPanzer/Classes/Units/SpahPanzer.cpp:1.3 
netpanzer/src/NetPanzer/Classes/Units/SpahPanzer.cpp:1.4
--- netpanzer/src/NetPanzer/Classes/Units/SpahPanzer.cpp:1.3    Fri Sep  5 
22:01:19 2003
+++ netpanzer/src/NetPanzer/Classes/Units/SpahPanzer.cpp        Mon Sep  8 
11:32:04 2003
@@ -16,6 +16,7 @@
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 #include <config.h>
+
 #include "SpahPanzer.hpp"
 #include "UnitProfileInterface.hpp"
 #include "Gdatstct.hpp"
Index: netpanzer/src/NetPanzer/Classes/WorldInputCmdProcessor.cpp
diff -u netpanzer/src/NetPanzer/Classes/WorldInputCmdProcessor.cpp:1.8 
netpanzer/src/NetPanzer/Classes/WorldInputCmdProcessor.cpp:1.9
--- netpanzer/src/NetPanzer/Classes/WorldInputCmdProcessor.cpp:1.8      Sat Sep 
 6 18:31:20 2003
+++ netpanzer/src/NetPanzer/Classes/WorldInputCmdProcessor.cpp  Mon Sep  8 
11:32:04 2003
@@ -1002,14 +1002,14 @@
  }
 
 bool WorldInputCmdProcessor::getConsoleInputString( char *input_string )
- {
-  char key_char;
-  while (KeyboardInterface::getChar(&key_char))
+{
+  int key_char;
+  while (KeyboardInterface::getChar(key_char))
    {
     // Check for extended code.
        if (key_char == 0)
         {
-         if (KeyboardInterface::getChar(&key_char))
+         if (KeyboardInterface::getChar(key_char))
           {
            ConsoleInterface::addExtendedChar(key_char);
            if ((key_char == SDLK_RETURN) )
Index: netpanzer/src/NetPanzer/Core/unix/main.cpp
diff -u netpanzer/src/NetPanzer/Core/unix/main.cpp:1.6 
netpanzer/src/NetPanzer/Core/unix/main.cpp:1.7
--- netpanzer/src/NetPanzer/Core/unix/main.cpp:1.6      Mon Sep  8 08:12:19 2003
+++ netpanzer/src/NetPanzer/Core/unix/main.cpp  Mon Sep  8 11:32:04 2003
@@ -24,6 +24,7 @@
 #include "Log.hpp"
 #include "GameManager.hpp"
 #include "MouseInterface.hpp"
+#include "KeyboardInterface.hpp"
 #include "cMouse.hpp"
 
 bool HandleSDLEvents();
@@ -31,6 +32,7 @@
 int main(int argc, char** argv)
 {
        SDL_Init(SDL_INIT_TIMER);
+       SDL_EnableUNICODE(1);
        srand(time(0));
 #ifdef __USE_SVID
        // the STL functions seem to use the 48er versions of the random 
generator
@@ -71,6 +73,7 @@
 {
        static SDL_Event event;
 
+       KeyboardInterface::sampleKeyboard();
        while(SDL_PollEvent(&event)) {
                switch (event.type) {
                        case SDL_QUIT:
@@ -107,6 +110,27 @@
                                                
cMouse::clearButtonMask(!MMOUSE_BUTTON_MASK);
                                                break;
                                }
+                               break;
+                       case SDL_KEYDOWN:
+                       {
+                               
KeyboardInterface::keyPressed(event.key.keysym.sym);
+                               char c = event.key.keysym.unicode & 0x7F;
+                               // XXX This is not optimal... we should find 
another way to
+                               // differentiate normal chars and special 
keys...
+                               if ( (c >= 'a' && c <= 'z') || (c >= '0' && 
c<='9')
+                                       || (c>= 'A' && c <= 'Z') || c == '_' || 
c=='.'
+                                       || c==' ') {
+                                       KeyboardInterface::putChar(c);
+                               } else {
+                                       // it's not a normal char put the 0 
into the char buffer to
+                                       // indicate extended chars...
+                                       KeyboardInterface::putChar(0);
+                                       
KeyboardInterface::putChar(event.key.keysym.sym);
+                               }
+                               break;
+                       }
+                       case SDL_KEYUP:
+                               
KeyboardInterface::keyReleased(event.key.keysym.sym);
                                break;
                }
        }
Index: netpanzer/src/NetPanzer/Interfaces/GameManager.cpp
diff -u netpanzer/src/NetPanzer/Interfaces/GameManager.cpp:1.25 
netpanzer/src/NetPanzer/Interfaces/GameManager.cpp:1.26
--- netpanzer/src/NetPanzer/Interfaces/GameManager.cpp:1.25     Mon Sep  8 
08:12:19 2003
+++ netpanzer/src/NetPanzer/Interfaces/GameManager.cpp  Mon Sep  8 11:32:04 2003
@@ -189,18 +189,8 @@
        LOG( ( "Setting Default Video Sub-system" ) );
   
        current_video_mode_res = PointXYi(640,480); 
-
-#ifdef _DEBUG
-       //current_mode_flags = VIDEO_MODE_WINDOWED;
-       current_mode_flags = VIDEO_MODE_DOUBLE_BUFFER;
-       //current_mode_flags = VIDEO_MODE_TRIPLE_BUFFER;
-#else
-       //current_mode_flags = VIDEO_MODE_WINDOWED;
-       current_mode_flags = VIDEO_MODE_DOUBLE_BUFFER;
-       //current_mode_flags = VIDEO_MODE_TRIPLE_BUFFER;
-#endif
-
-       setVideoMode(current_video_mode_res);
+       // don't go fullscreen for now
+       setVideoMode(current_video_mode_res, false);
        loadPalette("wads/netp.act");
 }
 
@@ -304,7 +294,7 @@
 }
 
 // ******************************************************************
-void GameManager::setVideoMode( PointXYi mode_res )
+void GameManager::setVideoMode(const PointXYi& mode_res, bool fullscreen)
 {
        if(!Screen->isDisplayModeAvailable( mode_res.x, mode_res.y, 8 ))
                throw Exception("desired Video mode not available.");
@@ -312,8 +302,8 @@
        previous_video_mode_res = current_video_mode_res;
        current_video_mode_res = mode_res;
 
-       if (!Screen->setVideoMode(current_video_mode_res.x, 
current_video_mode_res.y,
-                                                       8, current_mode_flags))
+       if (!Screen->setVideoMode(current_video_mode_res.x,
+                               current_video_mode_res.y, 8, fullscreen))
                throw Exception("failed to set video mode.");
                
        WorldViewInterface::setCameraSize( current_video_mode_res.x, 
current_video_mode_res.y );
@@ -326,7 +316,7 @@
 
 void GameManager::restorePreviousVideoMode()
 {
-       setVideoMode( previous_video_mode_res );
+       setVideoMode(previous_video_mode_res, Screen->isFullScreen());
 }
 
 void GameManager::drawTextCenteredOnScreen(const char *string, PIX color)
@@ -343,30 +333,30 @@
 // ******************************************************************
 
 void GameManager::increaseDisplayResolution()
- {
-  PointXYi new_mode;
+{
+       PointXYi new_mode;
   
-  drawTextCenteredOnScreen("Changing Resolution", Color::white);
+       drawTextCenteredOnScreen("Changing Resolution", Color::white);
 
-  GameConfig::setNextGameScreenResolution();
+       GameConfig::setNextGameScreenResolution();
   
-  drawTextCenteredOnScreen("Changing Resolution", Color::white);
+       drawTextCenteredOnScreen("Changing Resolution", Color::white);
 
-  new_mode = GameConfig::getGameScreenResolutionSize();
+       new_mode = GameConfig::getGameScreenResolutionSize();
 
-  setVideoMode(new_mode);
+       setVideoMode(new_mode, Screen->isFullScreen());
     
-  previous_video_mode_res = current_video_mode_res;
-  current_video_mode_res = new_mode;
+       previous_video_mode_res = current_video_mode_res;
+       current_video_mode_res = new_mode;
 
-  WorldViewInterface::setCameraSize( current_video_mode_res.x, 
current_video_mode_res.y );
-  FRAME_BUFFER.create(current_video_mode_res.x, current_video_mode_res.y, 
current_video_mode_res.x, 1 );
-  screen.createNoAlloc(current_video_mode_res);   
-  gameView.setSize( current_video_mode_res );
-  Desktop::checkViewPositions();
-  ConsoleInterface::setToSurfaceSize( current_video_mode_res );
+       WorldViewInterface::setCameraSize( current_video_mode_res.x, 
current_video_mode_res.y );
+       FRAME_BUFFER.create(current_video_mode_res.x, current_video_mode_res.y, 
current_video_mode_res.x, 1 );
+       screen.createNoAlloc(current_video_mode_res);   
+       gameView.setSize( current_video_mode_res );
+       Desktop::checkViewPositions();
+       ConsoleInterface::setToSurfaceSize( current_video_mode_res );
 
-  loadPalette( "wads/netp.act" );
+       loadPalette( "wads/netp.act" );
        
   ConsoleInterface::postMessage( "Screen Resolution :  %d  x  %d", 
current_video_mode_res.x, current_video_mode_res.y );
 }
@@ -385,7 +375,7 @@
 
   new_mode = GameConfig::getGameScreenResolutionSize();
 
-  setVideoMode(new_mode);
+  setVideoMode(new_mode, Screen->isFullScreen());
     
   previous_video_mode_res = current_video_mode_res;
   current_video_mode_res = new_mode;
@@ -627,7 +617,7 @@
 
 void GameManager::processSystemKeys()
 {
-       unsigned char scan_code;
+       int scan_code;
 
        if (Desktop::getVisible("GameView"))
        {
@@ -767,6 +757,22 @@
                                        decreaseDisplayResolution();
                                }  
                        }
+
+                       if (KeyboardInterface::getKeyPressed( SDLK_RETURN ) == 
true)
+                       {
+                               setVideoMode(current_video_mode_res, 
!Screen->isFullScreen());
+
+                               // TODO: put all this video mode change stuff 
in an own function
+                               WorldViewInterface::setCameraSize( 
current_video_mode_res.x, current_video_mode_res.y );
+                               FRAME_BUFFER.create(current_video_mode_res.x, 
current_video_mode_res.y, current_video_mode_res.x, 1 );
+                               screen.createNoAlloc(current_video_mode_res);   
+                               gameView.setSize( current_video_mode_res );
+                               Desktop::checkViewPositions();
+                               ConsoleInterface::setToSurfaceSize( 
current_video_mode_res );    
+                               loadPalette("wads/netp.act"); 
+                               ConsoleInterface::postMessage("Fullscreen : %s",
+                                               Screen->isFullScreen() ? "yes" 
: "no" );
+                       }
                }
 
                if (KeyboardInterface::getKeyPressed(SDLK_F2))
@@ -1923,7 +1929,7 @@
 // ******************************************************************
 void GameManager::inputLoop()
  {
-  KeyboardInterface::sampleKeyboard();
+  //KeyboardInterface::sampleKeyboard();
 
   processSystemKeys();
 
Index: netpanzer/src/NetPanzer/Interfaces/GameManager.hpp
diff -u netpanzer/src/NetPanzer/Interfaces/GameManager.hpp:1.3 
netpanzer/src/NetPanzer/Interfaces/GameManager.hpp:1.4
--- netpanzer/src/NetPanzer/Interfaces/GameManager.hpp:1.3      Fri Sep  5 
19:01:50 2003
+++ netpanzer/src/NetPanzer/Interfaces/GameManager.hpp  Mon Sep  8 11:32:04 2003
@@ -176,7 +176,7 @@
 
        static void processSystemMessage( NetMessage *message );
 
-       static void setVideoMode( PointXYi mode_res );
+       static void setVideoMode(const PointXYi& newmode, bool fullscreen);
        static void     restorePreviousVideoMode();
    
        static void increaseDisplayResolution();
Index: netpanzer/src/NetPanzer/Interfaces/KeyboardInterface.cpp
diff -u netpanzer/src/NetPanzer/Interfaces/KeyboardInterface.cpp:1.4 
netpanzer/src/NetPanzer/Interfaces/KeyboardInterface.cpp:1.5
--- netpanzer/src/NetPanzer/Interfaces/KeyboardInterface.cpp:1.4        Fri Sep 
 5 22:01:19 2003
+++ netpanzer/src/NetPanzer/Interfaces/KeyboardInterface.cpp    Mon Sep  8 
11:32:04 2003
@@ -15,10 +15,8 @@
 along with this program; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
-#ifdef USE_SDL
 #include <config.h>
-#include <SDL.h>
-#endif
+
 #ifdef WIN32
 #include <windows.h>
 #include "DirectInput.hpp"
@@ -26,19 +24,35 @@
 
 #include "KeyboardInterface.hpp"
 
-char KeyboardInterface::key_table[256];
-char KeyboardInterface::previous_key_state[256];
+bool KeyboardInterface::key_table[SDLK_LAST];
+bool KeyboardInterface::previous_key_state[SDLK_LAST];
 
-char KeyboardInterface::char_buffer[ _CHAR_BUFFER_SIZE ];
+int KeyboardInterface::char_buffer[ _CHAR_BUFFER_SIZE ];
 unsigned long KeyboardInterface::char_buffer_front = 0;
 unsigned long KeyboardInterface::char_buffer_rear = 0;
 
 void KeyboardInterface::sampleKeyboard()
 {
-#ifdef WIN32
-       memcpy(previous_key_state, key_table, 256 * sizeof(char));
-       
+       memcpy(previous_key_state, key_table, sizeof(key_table));
+#ifdef WIN32   
        DirectInput::getKeyboardState(key_table);
 #endif
 }
 
+void KeyboardInterface::keyPressed(int scancode) {
+       key_table[scancode] = true;
+}
+
+void KeyboardInterface::keyReleased(int scancode) {
+       key_table[scancode] = false;
+}
+
+bool KeyboardInterface::getKeyPressed(int scanCode)
+{
+       if (
+                       KeyboardInterface::getKeyState(scanCode) == true &&
+                       KeyboardInterface::getPrevKeyState(scanCode) == false)
+               return true;
+
+       return false;
+}
Index: netpanzer/src/NetPanzer/Interfaces/KeyboardInterface.hpp
diff -u netpanzer/src/NetPanzer/Interfaces/KeyboardInterface.hpp:1.3 
netpanzer/src/NetPanzer/Interfaces/KeyboardInterface.hpp:1.4
--- netpanzer/src/NetPanzer/Interfaces/KeyboardInterface.hpp:1.3        Fri Sep 
 5 21:44:45 2003
+++ netpanzer/src/NetPanzer/Interfaces/KeyboardInterface.hpp    Mon Sep  8 
11:32:04 2003
@@ -18,6 +18,7 @@
 #ifndef _KEYBOARDINTERFACE_HPP
 #define _KEYBOARDINTERFACE_HPP
 
+#include <SDL.h>
 #include <string.h>
 
 #define _CHAR_BUFFER_SIZE 256
@@ -26,73 +27,59 @@
 class KeyboardInterface 
 {
 protected:
-       static char key_table[256];
-       static char previous_key_state[256];
-       static char char_buffer[ _CHAR_BUFFER_SIZE ];
+       static bool key_table[SDLK_LAST];
+       static bool previous_key_state[SDLK_LAST];
+       static int char_buffer[ _CHAR_BUFFER_SIZE ];
        static unsigned long char_buffer_front;
        static unsigned long char_buffer_rear;
 
 public:
        static void clearKeyTable()
        {
-               memset(&key_table[0], 0, 256);
-               memset(&previous_key_state[0], 0, 256);
+               memset(key_table, 0, sizeof(key_table));
+               memset(previous_key_state, 0, sizeof(previous_key_state));
        }
 
        static void sampleKeyboard();
+       static void keyPressed(int scancode);
+       static void keyReleased(int scancode);
 
-       static bool getKeyPressed(unsigned char scanCode)
-       {
-               if (
-                               KeyboardInterface::getKeyState(scanCode) == 
true &&
-                               KeyboardInterface::getPrevKeyState(scanCode) == 
false)
-               {
-                       return true;
-               }
+       static bool getKeyPressed(int scanCode);
 
-               return false;
+       static inline bool getKeyState(int scan_code)
+       {
+               return key_table[scan_code];
        }
 
-       static inline bool getKeyState( unsigned char scan_code )
+       static inline bool getPrevKeyState(int scan_code)
        {
-               if ( key_table[ scan_code ] & 0x80 )
-                       return true;
-   
-               return false;
+               return previous_key_state[scan_code];
        }
 
-   static inline bool getPrevKeyState( unsigned char scan_code )
-   {
-          if ( previous_key_state[ scan_code ] & 0x80 )
-                  return true;
-   
-          return false;
-   }
-
-   static inline void flushCharBuffer( void )
+   static inline void flushCharBuffer()
    {
           char_buffer_front = 0;
           char_buffer_rear = 0;
    }
 
-   static inline bool getChar( char *c )
+   static inline bool getChar(int &c)
    {
           if ( char_buffer_front == char_buffer_rear )
                   return false;
 
           char_buffer_front = ( char_buffer_front + 1 ) & _CHAR_BUFFER_MOD;
-          *c = char_buffer[ char_buffer_front ];     
+          c = char_buffer[ char_buffer_front ];     
     
           return true;
    }
 
-   static inline void putChar( char c )
+   static inline void putChar(int c)
    {
           char_buffer[ (char_buffer_rear + 1) & _CHAR_BUFFER_MOD ] = c;
           char_buffer_rear = (char_buffer_rear + 1) & _CHAR_BUFFER_MOD;
    }
 
-   static inline void putChar( char c, int times )
+   static inline void putChar(int c, int times)
    {
           while( times != 0 )
           {
Index: netpanzer/src/NetPanzer/Interfaces/MapInterface.cpp
diff -u netpanzer/src/NetPanzer/Interfaces/MapInterface.cpp:1.4 
netpanzer/src/NetPanzer/Interfaces/MapInterface.cpp:1.5
--- netpanzer/src/NetPanzer/Interfaces/MapInterface.cpp:1.4     Sat Sep  6 
11:39:25 2003
+++ netpanzer/src/NetPanzer/Interfaces/MapInterface.cpp Mon Sep  8 11:32:04 2003
@@ -124,7 +124,7 @@
  }
 */
 
-void MapInterface::generateMappingTable( void )
+void MapInterface::generateMappingTable()
  {
   unsigned short tile_count;
   unsigned long  map_size;
@@ -165,30 +165,27 @@
  
  }
 
-void MapInterface::buildMiniMapSurface( void )
- {
-  unsigned long map_x_size, x_index;
-  unsigned long map_y_size, y_index;
-  MapElementType map_value;
-  unsigned char  avg_color;
-
-  map_x_size = main_map.getXsize();
-  map_y_size = main_map.getYsize();
-  mini_map_surface.create( map_x_size, map_y_size );
-
-  for( y_index = 0; y_index < map_y_size; y_index++ )
-   {
-    for ( x_index = 0; x_index < map_x_size; x_index++ )
-     {
-      map_value = main_map.mapValue( x_index, y_index );
-      avg_color = tile_set.getAverageTileColor( map_value );
-      mini_map_surface._putPixel( x_index, y_index, (PIX) avg_color );
-
-     } // ** for x_index
-   
-   } // ** for y_index   
- 
- }
+void MapInterface::buildMiniMapSurface()
+{
+       unsigned long map_x_size, x_index;
+       unsigned long map_y_size, y_index;
+       MapElementType map_value;
+       unsigned char  avg_color;
+
+       map_x_size = main_map.getXsize();
+       map_y_size = main_map.getYsize();
+       mini_map_surface.create( map_x_size, map_y_size );
+
+       for( y_index = 0; y_index < map_y_size; y_index++ )
+       {
+               for ( x_index = 0; x_index < map_x_size; x_index++ )
+               {
+                       map_value = main_map.mapValue( x_index, y_index );
+                       avg_color = tile_set.getAverageTileColor( map_value );
+                       mini_map_surface._putPixel( x_index, y_index, (PIX) 
avg_color );
+               } // ** for x_index
+       } // ** for y_index   
+}
 
 unsigned char MapInterface::getMovementValue( PointXYi map_loc )
  {
Index: netpanzer/src/NetPanzer/Interfaces/unix/NetworkClientUnix.cpp
diff -u netpanzer/src/NetPanzer/Interfaces/unix/NetworkClientUnix.cpp:1.4 
netpanzer/src/NetPanzer/Interfaces/unix/NetworkClientUnix.cpp:1.5
--- netpanzer/src/NetPanzer/Interfaces/unix/NetworkClientUnix.cpp:1.4   Sun Sep 
 7 14:45:12 2003
+++ netpanzer/src/NetPanzer/Interfaces/unix/NetworkClientUnix.cpp       Mon Sep 
 8 11:32:05 2003
@@ -103,6 +103,14 @@
   
 void NetworkClientUnix::sendMessage(NetMessage *message, size_t size, int 
flags)
 {
+       if ( connection_type == _connection_loop_back )
+       {
+               memmove( net_packet.data, (void *) message, size  );
+               net_packet.packet_size = (unsigned short) size;
+               loop_back_recv_queue.enqueue( net_packet );
+               return;
+       }
+               
        if(!clientsocket)
                return;
 
Index: netpanzer/src/NetPanzer/Views/Game/AreYouSureResignView.cpp
diff -u netpanzer/src/NetPanzer/Views/Game/AreYouSureResignView.cpp:1.6 
netpanzer/src/NetPanzer/Views/Game/AreYouSureResignView.cpp:1.7
--- netpanzer/src/NetPanzer/Views/Game/AreYouSureResignView.cpp:1.6     Sat Sep 
 6 11:39:25 2003
+++ netpanzer/src/NetPanzer/Views/Game/AreYouSureResignView.cpp Mon Sep  8 
11:32:05 2003
@@ -15,9 +15,8 @@
 along with this program; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
-
-
 #include <config.h>
+
 #include "AreYouSureResignView.hpp"
 #include "Desktop.hpp"
 #include "DDHardSurface.hpp"
@@ -31,7 +30,6 @@
 #include "VisualsView.hpp"
 #include "InterfaceView.hpp"
 
-
 //---------------------------------------------------------------------------
 static void bYES()
 {
@@ -49,7 +47,7 @@
        //----------------------
 
        // Swap to the menu resolution.
-       GameManager::setVideoMode(iXY(640, 480));
+       GameManager::setVideoMode(iXY(640, 480), false);
 
        GameManager::drawTextCenteredOnScreen("Loading Main View...", 
Color::white);
 
Index: netpanzer/src/NetPanzer/Views/Game/ProgressView.cpp
diff -u netpanzer/src/NetPanzer/Views/Game/ProgressView.cpp:1.7 
netpanzer/src/NetPanzer/Views/Game/ProgressView.cpp:1.8
--- netpanzer/src/NetPanzer/Views/Game/ProgressView.cpp:1.7     Sun Sep  7 
16:49:03 2003
+++ netpanzer/src/NetPanzer/Views/Game/ProgressView.cpp Mon Sep  8 11:32:05 2003
@@ -202,7 +202,7 @@
  {
   if ( Desktop::getView("ProgressView")->getVisible() == false )
    {
-    GameManager::setVideoMode(iXY(640, 480));
+    GameManager::setVideoMode(iXY(640, 480), false);
 
     GameManager::drawTextCenteredOnScreen("Sec...", Color::white);
 
Index: netpanzer/src/NetPanzer/Views/Game/WinnerMesgView.cpp
diff -u netpanzer/src/NetPanzer/Views/Game/WinnerMesgView.cpp:1.6 
netpanzer/src/NetPanzer/Views/Game/WinnerMesgView.cpp:1.7
--- netpanzer/src/NetPanzer/Views/Game/WinnerMesgView.cpp:1.6   Sat Sep  6 
11:39:25 2003
+++ netpanzer/src/NetPanzer/Views/Game/WinnerMesgView.cpp       Mon Sep  8 
11:32:05 2003
@@ -60,7 +60,7 @@
        //----------------------
 
        // Swap to the menu resolution.
-       GameManager::setVideoMode(iXY(640, 480));
+       GameManager::setVideoMode(iXY(640, 480), false);
 
        GameManager::drawTextCenteredOnScreen("Loading Main View...", 
Color::white);
 
Index: netpanzer/src/UILib/SDL/SDLDraw.cpp
diff -u netpanzer/src/UILib/SDL/SDLDraw.cpp:1.7 
netpanzer/src/UILib/SDL/SDLDraw.cpp:1.8
--- netpanzer/src/UILib/SDL/SDLDraw.cpp:1.7     Mon Sep  8 08:12:19 2003
+++ netpanzer/src/UILib/SDL/SDLDraw.cpp Mon Sep  8 11:32:05 2003
@@ -45,9 +45,10 @@
 {
 }
 
-bool SDLDraw::setVideoMode(DWORD width, DWORD height, DWORD bpp, BYTE 
mode_flags)
+bool SDLDraw::setVideoMode(DWORD width, DWORD height, DWORD bpp, bool 
fullscreen)
 {
-       Uint32 flags = 0 /* SDL_FULLSCREEN | SDL_DOUBLEBUF */;
+       Uint32 flags = 0;
+       flags |= fullscreen ? SDL_FULLSCREEN : 0;
        FrontBuffer = SDL_SetVideoMode(width, height, bpp, flags);
        if(FrontBuffer==NULL)
                return false;
@@ -121,3 +122,9 @@
 
        SDL_SetColors(FrontBuffer, c, 0, 256);
 }
+
+bool SDLDraw::isFullScreen() const
+{
+       return FrontBuffer->flags & SDL_FULLSCREEN;
+}
+
Index: netpanzer/src/UILib/SDL/SDLDraw.hpp
diff -u netpanzer/src/UILib/SDL/SDLDraw.hpp:1.3 
netpanzer/src/UILib/SDL/SDLDraw.hpp:1.4
--- netpanzer/src/UILib/SDL/SDLDraw.hpp:1.3     Sat Sep  6 07:04:15 2003
+++ netpanzer/src/UILib/SDL/SDLDraw.hpp Mon Sep  8 11:32:05 2003
@@ -36,7 +36,7 @@
   
        bool initialize();
        void shutdown();
-       bool setVideoMode(DWORD width, DWORD height, DWORD bpp, BYTE 
mode_flags);
+       bool setVideoMode(DWORD width, DWORD height, DWORD bpp, bool 
fullscreen);
        bool isDisplayModeAvailable(int width, int height, int bpp);
        bool lockDoubleBuffer(BYTE **DoubleBuffer);
        bool unlockDoubleBuffer();
@@ -45,6 +45,8 @@
        void restoreAll();
        bool copyDoubleBufferandFlip();
        void setPalette(RGBColor *color);
+
+       virtual bool isFullScreen() const;
 }; // end DirectDraw
 
 #endif // end __UIDraw_hpp__
Index: netpanzer/src/UILib/UIDraw.hpp
diff -u netpanzer/src/UILib/UIDraw.hpp:1.6 netpanzer/src/UILib/UIDraw.hpp:1.7
--- netpanzer/src/UILib/UIDraw.hpp:1.6  Mon Sep  8 08:12:19 2003
+++ netpanzer/src/UILib/UIDraw.hpp      Mon Sep  8 11:32:05 2003
@@ -21,12 +21,6 @@
 
 #include "RGBColor.hpp"
 
-enum { VIDEO_MODE_WINDOWED          = 0x01,
-       VIDEO_MODE_TRIPLE_BUFFER     = 0x02,
-       VIDEO_MODE_DOUBLE_BUFFER     = 0x04,
-       VIDEO_MODE_AUTO_FBUFFER      = 0x08,
-          VIDEO_MODE_FORCE_MODE_SWITCH = 0x10, };
-
 // DirectDraw class declarations
 //---------------------------------------------------------------------------
 class UIDraw
@@ -40,7 +34,7 @@
        
        virtual bool initialize() = 0;
        virtual void shutdown() = 0;
-       virtual bool setVideoMode(DWORD width, DWORD height, DWORD bpp, BYTE 
mode_flags) = 0;
+       virtual bool setVideoMode(DWORD width, DWORD height, DWORD bpp, bool 
fullscreen) = 0;
        virtual bool isDisplayModeAvailable(int width, int height, int bpp) = 0;
        virtual bool lockDoubleBuffer(unsigned char **DoubleBuffer) = 0;
        virtual bool unlockDoubleBuffer() = 0;
@@ -49,6 +43,8 @@
        virtual void restoreAll()=0;
        virtual bool copyDoubleBufferandFlip()=0;
        virtual void setPalette(RGBColor *color)=0;
+
+       virtual bool isFullScreen() const = 0;
 
        inline int getWidth() const
        { return curWidth; }




reply via email to

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