aboutsummaryrefslogtreecommitdiff
path: root/backends/gp32/gp32std_file.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/gp32/gp32std_file.cpp')
-rw-r--r--backends/gp32/gp32std_file.cpp256
1 files changed, 0 insertions, 256 deletions
diff --git a/backends/gp32/gp32std_file.cpp b/backends/gp32/gp32std_file.cpp
deleted file mode 100644
index eb0d71c61d..0000000000
--- a/backends/gp32/gp32std_file.cpp
+++ /dev/null
@@ -1,256 +0,0 @@
-/* ScummVM - Scumm Interpreter
- * Copyright (C) 2001-2006 The ScummVM project
- * Copyright (C) 2002 Ph0x - GP32 Backend
- * Copyright (C) 2003/2004 DJWillis - GP32 Backend
- * Copyright (C) 2005 Won Star - GP32 Backend
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $URL$
- * $Id$
- *
- */
-
-
-#include "stdafx.h"
-#include "common/scummsys.h"
-//#include "graphics/scaler.h"
-#include "common/system.h"
-#include "backends/intern.h"
-
-#include "gp32std.h"
-#include "gp32std_file.h"
-
-FILE *gp_stderr = NULL;
-FILE *gp_stdout = NULL;
-FILE *gp_stdin = NULL;
-
-// Cache Idea / Code borrowed from the ps2 port
-//#define USE_CACHE
-
-//////////////////
-//File functions
-
-GPFILE *gp_fopen(const char *fileName, const char *openMode) {
- //FIXME: allocation, mode
- uint32 mode;
- GPFILE *file;
- ERR_CODE err;
- char tempPath[256];
-
- if (!strchr(fileName, '.')) {
- sprintf(tempPath, "%s.", fileName);
- fileName = tempPath;
- }
-
- file = new GPFILE;
-
-// NP("%s(\"%s\", \"%s\")", __FUNCTION__, fileName, openMode);
-
- // FIXME add binary/text support
- if (tolower(openMode[0]) == 'r') {
- mode = OPEN_R;
- GpFileGetSize(fileName, &file->fileSize);
- err = GpFileOpen(fileName, mode, &file->handle);
- } else if (tolower(openMode[0]) == 'w') {
- file->fileSize = 0;
- mode = OPEN_W;
- err = GpFileCreate(fileName, ALWAYS_CREATE, &file->handle);
- } else if (tolower(openMode[0]) == 'a') {
- warning("We do not support 'a' file open mode.");
- delete file;
- return NULL;
- } else {
- error("wrong file mode");
- }
-
- if (!file) {
- error("%s: cannot create FILE structure", __FUNCTION__);
- }
-
- if (err) {
- printf("gp_gopen(): IO error %d", err);
- delete file;
- return NULL;
- }
-
- file->mode = mode;
- file->cachePos = 0;
- file->bytesInCache = 0;
-
- return file;
-}
-
-int gp_fclose(GPFILE *stream) {
- if (!stream) {
- //warning("closing null file");
- return 1;
- }
-
-/* if (*(uint32 *)((char *)stream - sizeof(uint32)) == 0x4321) {
- debug(0, "Double closing", __FUNCTION__);
- return 1;
- }
-*/
-
-#ifdef USE_CACHE
- if (stream->cachePos && stream->mode == OPEN_W) {
- GpFileWrite(stream->handle, (char *)stream->cacheData, stream->cachePos); // flush cache
- stream->cachePos = 0;
- }
-#endif
-
- ERR_CODE err = GpFileClose(stream->handle);
- delete stream;
-
- return err;
-}
-
-int gp_fseek(GPFILE *stream, long offset, int whence) {
- switch (whence) {
- case SEEK_SET:
- whence = FROM_BEGIN;
- break;
- case SEEK_CUR:
- whence = FROM_CURRENT;
- break;
- case SEEK_END:
- whence = FROM_END;
- break;
- }
- return GpFileSeek(stream->handle, whence, offset, (long *)&stream->filePos); //FIXME?
-}
-
-size_t gp_fread(void *ptr, size_t size, size_t n, GPFILE *stream) {
- ulong readcount = 0;
- int len = size * n;
-
-#ifdef USE_CACHE
- uint8 *dest = (uint8 *)ptr;
-
- while (len && (stream->filePos != stream->fileSize)) {
- if (stream->cachePos <= filePos && filePos < stream->cachePos + stream->bytesInCache) {
- uint32 startPos = (stream->cacheBufOffs + (stream->filePos - stream->cachePos)) % FCACHE_SIZE;
- uint32 copyLen = stream->bytesInCache - (stream->filePos - stream->cachePos);
- if (copyLen > len)
- copyLen = len;
- if (startPos + copyLen > FCACHE_SIZE)
- copyLen = FCACHE_SIZE - startPos;
-
- memcpy(dest, cacheData + startPos, copyLen);
-
- filePos += copyLen;
- dest += copyLen;
- len -= copyLen;
- } else {
-#endif
- ERR_CODE err = GpFileRead(stream->handle, ptr, len, &readcount);
-
-#ifdef USE_CACHE
- stream->filePos += len;
- }
- }
-#endif
-
- return readcount / size; //FIXME?
-}
-
-size_t gp_fwrite(const void *ptr, size_t size, size_t n, GPFILE *stream) {
- int len = size * n;
-
- if (!stream) {
- //warning("writing to null file");
- return 0;
- }
-
-#ifdef USE_CACHE
- if (stream->cachePos + len < FCACHE_SIZE) {
- memcpy(stream->cacheData + stream->cachePos, ptr, len);
- stream->cachePos += len;
- } else {
- if (stream->cachePos) {
- GpFileWrite(stream->handle, stream->cacheData, stream->cachePos); // flush cache
- stream->cachePos = 0;
- }
-
-#endif
- ERR_CODE err = GpFileWrite(stream->handle, ptr, len);
- if (!err)
- return n;
- else
- return -err;
-#ifdef USE_CACHE
- }
-#endif
- return 0;
-}
-
-//FIXME? use standard func
-long gp_ftell(GPFILE *stream) {
- ulong pos = 0;
- ERR_CODE err = GpFileSeek(stream->handle, FROM_CURRENT, 0, (long*)&pos);
- return pos;
-}
-
-void gp_clearerr(GPFILE *stream)
-{
-}
-
-int gp_feof(GPFILE *stream) {
- return gp_ftell(stream) >= stream->fileSize;
-}
-
-char gp_fgetc(GPFILE *stream) {
- char c[1];
-
- gp_fread(&c[0], 1, 1, stream);
- return c[0];
-}
-
-char *gp_fgets(char *s, int n, GPFILE *stream) {
- int i = 0;
-
- while (!gp_feof(stream) && i < n) {
- gp_fread(&s[i], 1, 1, stream);
- if (s[i] == '\n') {
- s[i + 1] = 0;
- return s;
- }
- i++;
- }
- if (gp_feof(stream))
- return NULL;
- else
- return s;
-}
-
-int gp_fprintf(GPFILE *stream, const char *fmt, ...) {
- char s[256];
- va_list marker;
-
- va_start(marker, fmt);
- vsnprintf(s, 256, fmt, marker);
- va_end(marker);
-
- return gp_fwrite(s, 1, strlen(s), stream);
-}
-
-int gp_fflush(GPFILE *stream) {
- return 0;
-}
-
-int gp_ferror(GPFILE *stream) {
- return 0;
-}