[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[netPanzer-CVS] netpanzer/src DirectX/DDraw/DirectDraw.cpp Dire...
From: |
Tyler Nielsen |
Subject: |
[netPanzer-CVS] netpanzer/src DirectX/DDraw/DirectDraw.cpp Dire... |
Date: |
Sun, 07 Sep 2003 22:44:23 -0400 |
CVSROOT: /cvsroot/netpanzer
Module name: netpanzer
Branch:
Changes by: Tyler Nielsen <address@hidden> 03/09/07 22:44:23
Modified files:
src/DirectX/DDraw: DirectDraw.cpp DirectDrawglobals.hpp
src/Lib/2D : Span.cpp
src/NetPanzer/Interfaces: GameManager.cpp
src/NetPanzer/Port: Wrldsprt.cpp blitters.cpp
src/UILib : UIDraw.hpp
src/UILib/SDL : SDLDraw.cpp
Log message:
Changed gets calls into fgets (removed linker warning)
Removed global variable DBUFFER_WIDTH, replaced it with a
Screen->getWidth() call
Changed all _asm in blitter.cpp, changed most _asm in Span.cpp
Patches:
Index: netpanzer/src/DirectX/DDraw/DirectDraw.cpp
diff -u netpanzer/src/DirectX/DDraw/DirectDraw.cpp:1.5
netpanzer/src/DirectX/DDraw/DirectDraw.cpp:1.6
--- netpanzer/src/DirectX/DDraw/DirectDraw.cpp:1.5 Sat Sep 6 07:04:14 2003
+++ netpanzer/src/DirectX/DDraw/DirectDraw.cpp Sun Sep 7 22:44:22 2003
@@ -46,8 +46,6 @@
unsigned char *DOUBLE_BUFFER = 0;
-unsigned long DBUFFER_WIDTH;
-unsigned long DBUFFER_HEIGHT;
unsigned long DBUFFER_VIEW_WIDTH;
unsigned long DBUFFER_VIEW_HEIGHT;
unsigned long X_CLIP_OFS;
@@ -390,7 +388,9 @@
{
result = fullScreenSurfaceInitialization(width, height, bpp,
modeFlags);
}
-
+ curWidth = width;
+ curHeight = height;
+ curBPP = bpp;
return( result );
} // end setVideoMode
Index: netpanzer/src/DirectX/DDraw/DirectDrawglobals.hpp
diff -u netpanzer/src/DirectX/DDraw/DirectDrawglobals.hpp:1.4
netpanzer/src/DirectX/DDraw/DirectDrawglobals.hpp:1.5
--- netpanzer/src/DirectX/DDraw/DirectDrawglobals.hpp:1.4 Sat Sep 6
07:04:14 2003
+++ netpanzer/src/DirectX/DDraw/DirectDrawglobals.hpp Sun Sep 7 22:44:22 2003
@@ -23,8 +23,6 @@
#if 0
extern DirectDraw DDraw;
-extern unsigned long DBUFFER_WIDTH;
-extern unsigned long DBUFFER_HEIGHT;
extern unsigned long DBUFFER_VIEW_WIDTH;
extern unsigned long DBUFFER_VIEW_HEIGHT;
extern unsigned long X_CLIP_OFS;
Index: netpanzer/src/Lib/2D/Span.cpp
diff -u netpanzer/src/Lib/2D/Span.cpp:1.3 netpanzer/src/Lib/2D/Span.cpp:1.4
--- netpanzer/src/Lib/2D/Span.cpp:1.3 Fri Sep 5 22:01:18 2003
+++ netpanzer/src/Lib/2D/Span.cpp Sun Sep 7 22:44:22 2003
@@ -25,9 +25,8 @@
//--------------------------------------------------------------------------
void bltTransSpan(PIX *dRow, const PIX *sRow, int pixelsPerRow)
{
-
- // XXX msvc assembler disabled...
-#ifdef MSVC
+ memcpy(dRow, sRow, pixelsPerRow*sizeof(PIX));
+#if 0
_asm {
mov edi, [dRow]
mov esi, [sRow]
@@ -116,8 +115,13 @@
{
if (!allowSpanBlitting) { return; } // Remove for release candidate.
- // XXX disable msvc assembler
-#ifdef MSVC
+ int idx;
+
+ for(idx=0;idx<pixelsPerRow;idx++) {
+ dRow[idx] = table[ (dRow[idx]<<8)+sRow[idx] ];
+ }
+
+#if 0
_asm {
mov edi, [dRow]
mov esi, [sRow]
@@ -293,8 +297,12 @@
if (!allowSpanBlitting) { return; } // Remove for release candidate.
- // XXX disabled msvc assembler
-#ifdef MSVC
+ int idx;
+
+ for(idx=0;idx<pixelsPerRow;idx++)
+ dRow[idx] = table[dRow[idx]];
+
+#if 0
_asm {
mov edi, [dRow]
mov ecx, [pixelsPerRow]
@@ -361,7 +369,6 @@
void bltScaleSpan(PIX *dRow, const PIX *sRow, int srcX1FracWithCount, int
stepAndDecCount, int stepWholePart)
{
if (!allowSpanBlitting) { return; } // Remove for release candidate.
-
// XXX disabled msvc assembler
#ifdef MSVC
_asm {
Index: netpanzer/src/NetPanzer/Interfaces/GameManager.cpp
diff -u netpanzer/src/NetPanzer/Interfaces/GameManager.cpp:1.23
netpanzer/src/NetPanzer/Interfaces/GameManager.cpp:1.24
--- netpanzer/src/NetPanzer/Interfaces/GameManager.cpp:1.23 Sun Sep 7
14:45:12 2003
+++ netpanzer/src/NetPanzer/Interfaces/GameManager.cpp Sun Sep 7 22:44:22 2003
@@ -1692,13 +1692,13 @@
printf( "Map Name <%s> : ", GameConfig::getGameMapName() );
fflush(stdout);
- gets(input_str);
+ fgets(input_str, 256, stdin);
if ( strlen(input_str) > 0 )
{ GameConfig::setGameMapName( input_str ); }
printf( "Players <%d> : ", GameConfig::GetNumberPlayers() );
fflush(stdout);
- gets(input_str);
+ fgets(input_str, 256, stdin);
if ( strlen(input_str) > 0 )
{
short players;
@@ -1708,7 +1708,7 @@
printf( "Units <%d> : ", GameConfig::GetNumberUnits() );
fflush(stdout);
- gets(input_str);
+ fgets(input_str, 256, stdin);
if ( strlen(input_str) > 0 )
{
short units;
@@ -1726,7 +1726,7 @@
printf( "(3) Time Limit \n" );
printf( "Choose : " );
fflush(stdout);
- gets(input_str);
+ fgets(input_str, 256, stdin);
sscanf( input_str, "%d", &game_type );
} while( (game_type < 1) && (game_type > 3) );
@@ -1737,7 +1737,7 @@
GameConfig::SetGameType(_gametype_objective);
printf( "Outpost Occupation <%.0f %%> : ",
GameConfig::getObjectiveOccuapationPercentage() );
fflush(stdout);
- gets(input_str);
+ fgets(input_str, 256, stdin);
if ( strlen(input_str) > 0 )
{
float percent;
@@ -1751,7 +1751,7 @@
GameConfig::SetGameType(_gametype_fraglimit);
printf( "Frag Limit <%d> frags : ", GameConfig::GetFragLimit() );
fflush(stdout);
- gets(input_str);
+ fgets(input_str, 256, stdin);
if ( strlen(input_str) > 0 )
{
int frags;
@@ -1765,7 +1765,7 @@
GameConfig::SetGameType(_gametype_timelimit);
printf( "Time Limit <%d> minutes: ", GameConfig::GetTimeLimit() );
fflush(stdout);
- gets(input_str);
+ fgets(input_str, 256, stdin);
if ( strlen(input_str) > 0 )
{
int time_limit;
@@ -1778,13 +1778,13 @@
printf( "PowerUps <NO> (Y/N) : " );
fflush(stdout);
- gets(input_str);
+ fgets(input_str, 256, stdin);
if ( strcasecmp( "y", input_str ) == 0 )
{ GameConfig::setPowerUpState(true); }
printf( "Server Name <Dedicated Server> :" );
fflush(stdout);
- gets(input_str);
+ fgets(input_str, 256, stdin);
if ( strlen(input_str) > 0 )
{ GameConfig::SetPlayerName( input_str ); }
else
Index: netpanzer/src/NetPanzer/Port/Wrldsprt.cpp
diff -u netpanzer/src/NetPanzer/Port/Wrldsprt.cpp:1.5
netpanzer/src/NetPanzer/Port/Wrldsprt.cpp:1.6
--- netpanzer/src/NetPanzer/Port/Wrldsprt.cpp:1.5 Sat Sep 6 07:04:15 2003
+++ netpanzer/src/NetPanzer/Port/Wrldsprt.cpp Sun Sep 7 22:44:22 2003
@@ -127,7 +127,7 @@
//WorldViewInterface::getViewStart( 640, 480, &view_start_x, &view_start_y );
- frame_offset = ((y - (view_start_y)) * DBUFFER_WIDTH) + (x - (view_start_x))
+ OFFSET_TO_VIEW;
+ frame_offset = ((y - (view_start_y)) * Screen->getWidth()) + (x -
(view_start_x)) + OFFSET_TO_VIEW;
Screen->lockDoubleBuffer( &double_buffer );
@@ -143,7 +143,7 @@
x_size = (bbox_x2 - select_x_cut) - (bbox_x1 + select_x_cut);
y_size = (bbox_y2 - select_y_cut) - (bbox_y1 + select_y_cut);
- //frame_offset = ((y - (SCREEN_Y)) * DBUFFER_WIDTH) + (x - (SCREEN_X)) +
OFFSET_TO_VIEW;
+ //frame_offset = ((y - (SCREEN_Y)) * Screen->getWidth()) + (x -
(SCREEN_X)) + OFFSET_TO_VIEW;
//blit_selector_square( x_size, y_size, frame_offset, DOUBLE_BUFFER);
}
@@ -293,7 +293,7 @@
//WorldViewInterface::getViewStart( 640, 480, &view_start_x, &view_start_y );
- frame_offset = ((y - (view_start_y)) * DBUFFER_WIDTH) + (x - (view_start_x))
+ OFFSET_TO_VIEW;
+ frame_offset = ((y - (view_start_y)) * Screen->getWidth()) + (x -
(view_start_x)) + OFFSET_TO_VIEW;
frame_data = anim->data + (anim->frame_size * frame_counter) + (direct *
anim->direct_size);
@@ -309,7 +309,7 @@
x_size = (bbox_x2 - select_x_cut) - (bbox_x1 + select_x_cut);
y_size = (bbox_y2 - select_y_cut) - (bbox_y1 + select_y_cut);
- frame_offset = ((y - (view_start_y)) * DBUFFER_WIDTH) + (x -
(view_start_x)) + OFFSET_TO_VIEW;
+ frame_offset = ((y - (view_start_y)) * Screen->getWidth()) + (x -
(view_start_x)) + OFFSET_TO_VIEW;
blit_selector_square( x_size, y_size, frame_offset, double_buffer );
}
Index: netpanzer/src/NetPanzer/Port/blitters.cpp
diff -u netpanzer/src/NetPanzer/Port/blitters.cpp:1.4
netpanzer/src/NetPanzer/Port/blitters.cpp:1.5
--- netpanzer/src/NetPanzer/Port/blitters.cpp:1.4 Sat Sep 6 07:04:15 2003
+++ netpanzer/src/NetPanzer/Port/blitters.cpp Sun Sep 7 22:44:22 2003
@@ -19,6 +19,8 @@
#include <assert.h>
#include "blitters.h"
#include "codewiz.hpp"
+#include <string.h>
+#include "UIDraw.hpp"
void blit_partial_xy( unsigned char *tile_ptr,unsigned char *buffer_ptr,short
y_size,short x_size)
{
@@ -27,8 +29,16 @@
assert(y_size > 0);
assert(x_size > 0);
- // XXX disabled msvc assembler
-#ifdef MSVC
+ int y;
+
+// XXX 32 should be at least a define, but probably a variable. Pass in class
instead of data pointer.
+ for(y=0; y<y_size; y++) {
+ memcpy(buffer_ptr, tile_ptr, x_size);
+ buffer_ptr += Screen->getWidth()-x_size;
+ tile_ptr += 32-x_size;
+ }
+
+#if 0
__asm
{
mov esi,tile_ptr;
@@ -95,8 +105,14 @@
void blit_partial_y( unsigned char *tile_ptr, unsigned char *buffer_ptr, short
y_size)
{
- // XXX disabled msvc assembler
-#ifdef MSVC
+ int y;
+ // XXX remove 'magic' 32
+ for(y=0; y<y_size; y++) {
+ memcpy(tile_ptr, buffer_ptr, 32);
+ tile_ptr += 32;
+ buffer_ptr += Screen->getWidth()-32;
+ }
+#if 0
__asm
{
mov esi,tile_ptr;
@@ -167,9 +183,18 @@
void general_blitter( unsigned char x_size, unsigned char y_size, unsigned
long frame_offset,
unsigned char *buffer_ptr, unsigned char *dbuffer_ptr )
{
+ int x,y;
+ dbuffer_ptr += frame_offset;
+ for(y=0; y<y_size; y++) {
+ for(x=0; x<x_size; x++) {
+ if(buffer_ptr[x] != 0)
+ dbuffer_ptr[x]=buffer_ptr[x];
+ }
+ buffer_ptr += Screen->getWidth()-x_size;
+ dbuffer_ptr += Screen->getWidth()-x_size;
+ }
- // XXX disabled msvc assembler
-#ifdef MSVC
+#if 0
__asm
{
mov ebx,0
@@ -219,8 +244,18 @@
void blit_selector_square( unsigned char x_size, unsigned char y_size,
unsigned long frame_offset, unsigned char
*dbuffer_ptr )
{
- // XXX disabled msvc assembler
-#ifdef MSVC
+ int y;
+ const char color = 0x47;
+ dbuffer_ptr += frame_offset;
+ memset(dbuffer_ptr, color, x_size); //top
+ dbuffer_ptr += Screen->getWidth()-x_size;
+ for(y = 1; y < (y_size-1); y++) {
+ dbuffer_ptr[0] = color; //left
+ dbuffer_ptr[x_size-1] = color; //right
+ dbuffer_ptr += Screen->getWidth()-x_size;
+ }
+ memset(dbuffer_ptr, color, x_size); //bottom
+#if 0
__asm
{
mov ebx,0
Index: netpanzer/src/UILib/SDL/SDLDraw.cpp
diff -u netpanzer/src/UILib/SDL/SDLDraw.cpp:1.5
netpanzer/src/UILib/SDL/SDLDraw.cpp:1.6
--- netpanzer/src/UILib/SDL/SDLDraw.cpp:1.5 Sat Sep 6 13:28:08 2003
+++ netpanzer/src/UILib/SDL/SDLDraw.cpp Sun Sep 7 22:44:22 2003
@@ -19,8 +19,6 @@
#include "SDLDraw.hpp"
// XXX fixme, need sensefull values here
-unsigned long DBUFFER_WIDTH;
-unsigned long DBUFFER_HEIGHT;
unsigned long DBUFFER_VIEW_WIDTH;
unsigned long DBUFFER_VIEW_HEIGHT;
unsigned long X_CLIP_OFS;
@@ -52,6 +50,10 @@
if(FrontBuffer==NULL)
return false;
+ curWidth = width;
+ curHeight = height;
+ curBPP = bpp;
+
// let's scare the mouse :)
SDL_ShowCursor(SDL_DISABLE);
// and set a window title
Index: netpanzer/src/UILib/UIDraw.hpp
diff -u netpanzer/src/UILib/UIDraw.hpp:1.4 netpanzer/src/UILib/UIDraw.hpp:1.5
--- netpanzer/src/UILib/UIDraw.hpp:1.4 Sat Sep 6 07:04:15 2003
+++ netpanzer/src/UILib/UIDraw.hpp Sun Sep 7 22:44:22 2003
@@ -31,6 +31,9 @@
//---------------------------------------------------------------------------
class UIDraw
{
+protected:
+ int curWidth, curHeight, curBPP;
+
public:
virtual bool initialize() = 0;
virtual void shutdown() = 0;
@@ -43,6 +46,10 @@
virtual void restoreAll()=0;
virtual bool copyDoubleBufferandFlip()=0;
virtual void setPalette(RGBColor *color)=0;
+
+ int getWidth(void) { return curWidth; }
+ int getHeight(void) { return curHeight; }
+ int getBPP(void) { return curBPP; }
}; // end DirectDraw
// XXX some global vars, these should be avoided or at least moved inside the
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [netPanzer-CVS] netpanzer/src DirectX/DDraw/DirectDraw.cpp Dire...,
Tyler Nielsen <=