Mercurial > sdl-ios-xcode
changeset 288:2f5a6062db86
Updated for Watcom C++ and LCC compilers
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 28 Feb 2002 00:28:26 +0000 |
parents | e4bd0cf95506 |
children | 77b6110c797d |
files | include/begin_code.h src/video/SDL_stretch.c test/testsprite.c |
diffstat | 3 files changed, 25 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/include/begin_code.h Wed Feb 27 16:15:34 2002 +0000 +++ b/include/begin_code.h Thu Feb 28 00:28:26 2002 +0000 @@ -67,7 +67,7 @@ packing set to an alternate value, say for loading structures from disk. The packing is reset to the previous value in close_code.h */ -#if defined(_MSC_VER) || defined(__MWERKS__) || defined(__WATCOMC__) || defined(__BORLANDC__) +#if defined(_MSC_VER) || defined(__MWERKS__) || defined(__BORLANDC__) #ifdef _MSC_VER #pragma warning(disable: 4103) #endif @@ -86,8 +86,12 @@ #define SDL_INLINE_OKAY #else /* Add any special compiler-specific cases here */ -#if defined(_MSC_VER) || defined(__BORLANDC__) +#if defined(_MSC_VER) || defined(__BORLANDC__) || \ + defined(__DMC__) || defined(__SC__) || \ + defined(__WATCOMC__) || defined(__LCC__) +#ifndef __inline__ #define __inline__ __inline +#endif #define SDL_INLINE_OKAY #else #if !defined(__MRC__) && !defined(_SGI_SOURCE) @@ -106,3 +110,11 @@ #define __inline__ #endif +/* Apparently this is needed by several Windows compilers */ +#ifndef NULL +#ifdef __cplusplus +#define NULL 0 +#else +#define NULL ((void *)0) +#endif +#endif /* NULL */
--- a/src/video/SDL_stretch.c Wed Feb 27 16:15:34 2002 +0000 +++ b/src/video/SDL_stretch.c Thu Feb 28 00:28:26 2002 +0000 @@ -39,8 +39,9 @@ into the general blitting mechanism. */ -#if (defined(WIN32) && !defined(__FREEBCC__) && !defined(_M_ALPHA) && !defined(_WIN32_WCE)) || \ - defined(i386) && defined(__GNUC__) && defined(USE_ASMBLIT) +#if (defined(WIN32) && !defined(_M_ALPHA) && !defined(_WIN32_WCE) && \ + !defined(__WATCOMC__) && !defined(__LCC__) && !defined(__FREEBCC__)) || \ + (defined(i386) && defined(__GNUC__) && defined(USE_ASMBLIT)) #define USE_ASM_STRETCH #endif
--- a/test/testsprite.c Wed Feb 27 16:15:34 2002 +0000 +++ b/test/testsprite.c Thu Feb 28 00:28:26 2002 +0000 @@ -1,4 +1,3 @@ - /* Simple program: Move N sprites around on the screen as fast as possible */ #include <stdio.h> @@ -18,6 +17,7 @@ SDL_Rect *positions; SDL_Rect *velocities; int sprites_visible; +Uint16 sprite_w, sprite_h; int LoadSprite(SDL_Surface *screen, char *file) { @@ -66,12 +66,12 @@ position = &positions[i]; velocity = &velocities[i]; position->x += velocity->x; - if ( (position->x < 0) || (position->x >= screen->w) ) { + if ( (position->x < 0) || (position->x >= (screen->w - sprite_w)) ) { velocity->x = -velocity->x; position->x += velocity->x; } position->y += velocity->y; - if ( (position->y < 0) || (position->y >= screen->h) ) { + if ( (position->y < 0) || (position->y >= (screen->h - sprite_w)) ) { velocity->y = -velocity->y; position->y += velocity->y; } @@ -209,10 +209,12 @@ sprite_rects += numsprites; velocities = sprite_rects; sprite_rects += numsprites; + sprite_w = sprite->w; + sprite_h = sprite->h; srand(time(NULL)); for ( i=0; i<numsprites; ++i ) { - positions[i].x = rand()%screen->w; - positions[i].y = rand()%screen->h; + positions[i].x = rand()%(screen->w - sprite_w); + positions[i].y = rand()%(screen->h - sprite_h); positions[i].w = sprite->w; positions[i].h = sprite->h; velocities[i].x = 0; @@ -285,5 +287,6 @@ printf("%2.2f frames per second\n", ((double)frames*1000)/(now-then)); } + SDL_Quit(); return(0); }