diff options
Diffstat (limited to 'backends/gp32/portdefs.h')
-rw-r--r-- | backends/gp32/portdefs.h | 251 |
1 files changed, 150 insertions, 101 deletions
diff --git a/backends/gp32/portdefs.h b/backends/gp32/portdefs.h index 57d1c66f7f..dd5a844a93 100644 --- a/backends/gp32/portdefs.h +++ b/backends/gp32/portdefs.h @@ -1,7 +1,8 @@ /* ScummVM - Scumm Interpreter * Copyright (C) 2001 Ludvig Strigeus - * Copyright (C) 2001/2002 The ScummVM project - * Copyright (C) 2002 ph0x (GP32 port) + * Copyright (C) 2001/2004 The ScummVM project + * Copyright (C) 2002 Ph0x - GP32 Backend + * Copyright (C) 2003/2004 DJWillis - GP32 Backend * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -16,109 +17,157 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Header$ + * */ - -//#define __size_t // SDK hack? - #include <stdio.h> - #include <stdlib.h> - #include <string.h> - #include <stdarg.h> - #include <ctype.h> - - -extern "C" { - #include "gpfont.h" - #include "gpfont_port.h" - #include "gpgraphic.h" - #include "gpmm.h" - #include "gpmem.h" - #include "gpos_def.h" - #include "gpstdio.h" - #include "gpstdlib.h" - #include "gpdef.h" - //#include "defines.h" -} - -#undef byte // SDK hack? - +#ifndef PORTDEFS_H +#define PORTDEFS_H + +// Prevents error trying to call main() twice from within the program ;-). +#ifndef REAL_MAIN + #define main scummvm_main +#endif /* REAL_MAIN */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <stdarg.h> +#include <math.h> +#include <time.h> +#include <cctype> + +//?? +//#include <math.h> +//#include <time.h> + +// GP32 SDK Includes +#include <gpfont.h> +#include <gpfont16.h> +#include <gpfont_port.h> +#include <gpgraphic.h> +#include <gpgraphic16.h> +#include <gpmm.h> +#include <gpmem.h> +#include <gpos_def.h> +#include <gpstdio.h> +#include <gpstdlib.h> +#include <gpdef.h> + +#define size_t long unsigned int // SDK hack + +// Undefine SDK defs. + +#undef byte +#undef malloc +#undef calloc +#undef free + +#undef stderr +#undef stdout +#undef stdin + +// Redefine SDK defs. typedef unsigned char u8; typedef signed char s8; typedef unsigned short u16; typedef short s16; typedef unsigned int u32; -typedef int s32; - - extern int gpprintf(const char *fmt, ...); - #define printf gpprintf - - extern void *gpmalloc(size_t size); - extern void *gpcalloc(size_t nitems, size_t size); - extern void gpfree(void *block); - extern char *gpstrdup(const char *s); - - #define malloc gpmalloc - #define calloc gpcalloc //gm_calloc - #define free gpfree - /*#define memset gm_memset - #define memcopy gm_memcopy - - #define strcpy gm_strcpy // uncomment? - #define strncpy gm_strncpy - #define strcat gm_strcat - #define sprintf gm_sprintf*/ - #define strdup gpstrdup - - #define assert(e) ((e) ? 0 : (printf("!AS: " #e " (%s, %d)\n", __FILE__, __LINE__))) - #define ASSERT assert - - #define ENDLESSLOOP while (1) - - - #define FILE F_HANDLE - extern FILE *fstderr; - extern FILE *fstdout; - extern FILE *fstdin; - - #define stderr fstderr - #define stdout fstdout - #define stdin fstdin - - extern FILE *gpfopen(const char *filename, const char *mode); - extern int gpfclose(FILE *stream); - extern int gpfseek(FILE *stream, long offset, int whence); - extern size_t gpfread(void *ptr, size_t size, size_t n, FILE *stream); - extern size_t gpfwrite(const void *ptr, size_t size, size_t n, FILE*stream); - extern long gpftell(FILE *stream); - extern void gpclearerr(FILE *stream); - extern int gpfeof(FILE *stream); - extern char *gpfgets(char *s, int n, FILE *stream); - extern int gpfflush(FILE *stream); - - #define fopen gpfopen - #define fclose gpfclose - #define fseek gpfseek - #define fread gpfread - #define fwrite gpfwrite - #define ftell gpftell - #define clearerr gpclearerr - #define feof gpfeof - #define fgets gpfgets - - extern int gpfprintf(FILE *stream, const char *fmt, ...); - #define fprintf gpfprintf - #define fflush gpfflush - - extern void gpexit(int code); - #define exit gpexit - //#define error printf - - extern time_t gptime(time_t *timer); - #define time gptime - #define MARK printf("MARK: %s, %s, %d", __FILE__, __FUNCTION__, __LINE__); - - extern void *gpmemset (void *s, int c, size_t n); - extern void *gpmemcpy (void *dest, const void *src, size_t n); - //#define memset gpmemset - //#define memcpy gpmemcpy - +typedef int s32; +typedef int time_t; + +extern int gpprintf(const char *fmt, ...); +#define printf gpprintf + +extern void *gpmalloc(size_t size); +extern void *gpcalloc(size_t nitems, size_t size); +extern void gpfree(void *block); +extern char *gpstrdup(const char *s); + +#define malloc gpmalloc +#define calloc gpcalloc //gm_calloc +//#define calloc gm_calloc +#define free gpfree + +// #define memset gm_memset +// #define memcopy gm_memcopy +// +// #define strcpy gm_strcpy // uncomment? +// #define strncpy gm_strncpy +// #define strcat gm_strcat +// #define sprintf gm_sprintf + +#define strdup gpstrdup + +#define assert(e) ((e) ? 0 : (printf("!AS: " #e " (%s, %d)\n", __FILE__, __LINE__))) +#define ASSERT assert + +#define ENDLESSLOOP while (1) + +#define FILE F_HANDLE +extern FILE *fstderr; +extern FILE *fstdout; +extern FILE *fstdin; + +#define stderr fstderr +#define stdout fstdout +#define stdin fstdin + +extern FILE *gpfopen(const char *filename, const char *mode); +extern int gpfclose(FILE *stream); +extern int gpfseek(FILE *stream, long offset, int whence); +extern size_t gpfread(void *ptr, size_t size, size_t n, FILE *stream); +extern size_t gpfwrite(const void *ptr, size_t size, size_t n, FILE*stream); +extern long gpftell(FILE *stream); +extern void gpclearerr(FILE *stream); +extern int gpfeof(FILE *stream); +extern char *gpfgets(char *s, int n, FILE *stream); +extern int gpfflush(FILE *stream); +extern char gpfgetc(FILE *stream); + +#define fopen gpfopen +#define fclose gpfclose +#define fseek gpfseek +#define fread gpfread +#define fwrite gpfwrite +#define ftell gpftell + +#undef clearerr +#define clearerr gpclearerr + +#undef feof +#define feof gpfeof +#define fgets gpfgets +#define fgetc gpfgetc +#define getc gpfgetc + +extern int gpfprintf(FILE *stream, const char *fmt, ...); +#define fprintf gpfprintf +#define fflush gpfflush + +extern void gpexit(int code); +#define exit gpexit +//#define error printf + +//extern time_t gptime(time_t *timer); +//#define time gptime + +// MARK Debug Point. +#define MARK printf("MARK: %s, %s, %d", __FILE__, __FUNCTION__, __LINE__); + +extern void *gpmemset (void *s, int c, size_t n); +extern void *gpmemcpy (void *dest, const void *src, size_t n); +//#define memset gpmemset +//#define memcpy gpmemcpy + +// Missing stuff +int stricmp(const char *string1, const char *string2); +int strnicmp(const char *string1, const char *string2, int len); +inline float sin(float) { return 0; } +inline float cos(float) { return 0; } +inline float sqrt(float) { return 0; } +inline float atan2(float, float) { return 0; } + +// EOF +#endif /* PORTDEFS_H */ |