[Scummvm-cvs-logs] SF.net SVN: scummvm: [28993] scummvm/trunk/engines/agi
mthreepwood at users.sourceforge.net
mthreepwood at users.sourceforge.net
Thu Sep 20 23:55:37 CEST 2007
Revision: 28993
http://scummvm.svn.sourceforge.net/scummvm/?rev=28993&view=rev
Author: mthreepwood
Date: 2007-09-20 14:55:37 -0700 (Thu, 20 Sep 2007)
Log Message:
-----------
cleanup to readObj and readRoom
Modified Paths:
--------------
scummvm/trunk/engines/agi/preagi_winnie.cpp
scummvm/trunk/engines/agi/preagi_winnie.h
Modified: scummvm/trunk/engines/agi/preagi_winnie.cpp
===================================================================
--- scummvm/trunk/engines/agi/preagi_winnie.cpp 2007-09-20 21:55:15 UTC (rev 28992)
+++ scummvm/trunk/engines/agi/preagi_winnie.cpp 2007-09-20 21:55:37 UTC (rev 28993)
@@ -57,19 +57,20 @@
winnie_event = false;
}
-void Winnie::readRoom(int iRoom, uint8 *buffer, int buflen) {
+uint32 Winnie::readRoom(int iRoom, uint8 *buffer) {
char szFile[256] = {0};
sprintf(szFile, IDS_WTP_PATH_ROOM, iRoom);
Common::File file;
if (!file.open(szFile))
- return;
+ return 0;
uint32 filelen = file.size();
memset(buffer, 0, sizeof(buffer));
file.read(buffer, filelen);
file.close();
+ return filelen;
}
-int Winnie::readObj(int iObj, uint8 *buffer, int buflen) {
+uint32 Winnie::readObj(int iObj, uint8 *buffer) {
char szFile[256] = {0};
sprintf(szFile, IDS_WTP_PATH_OBJ, iObj);
Common::File file;
@@ -404,7 +405,7 @@
WTP_OBJ_HDR hdr;
uint8 *buffer = (uint8 *)malloc(2048);
- readObj(iObj, buffer, 2048);
+ readObj(iObj, buffer);
memcpy(&hdr, buffer, sizeof(hdr));
_vm->printStrXOR((char *)(buffer + hdr.ofsStr[iStr] - IDI_WTP_OFS_OBJ));
@@ -417,9 +418,9 @@
uint8 *roomdata = (uint8 *)malloc(4096);
uint8 *objdata = (uint8 *)malloc(2048);
- readRoom(iRoom, roomdata, 4096);
+ readRoom(iRoom, roomdata);
memcpy(&roomhdr, roomdata, sizeof(WTP_ROOM_HDR));
- readObj(iObj, objdata, 2048);
+ readObj(iObj, objdata);
memcpy(&objhdr, objdata, sizeof(WTP_OBJ_HDR));
free(roomdata);
@@ -922,7 +923,7 @@
phase0:
if (!game.nObjMiss && (room == IDI_WTP_ROOM_PICNIC))
room = IDI_WTP_ROOM_PARTY;
- readRoom(room, roomdata, 4096);
+ readRoom(room, roomdata);
memcpy(&hdr, roomdata, sizeof(WTP_ROOM_HDR));
drawRoomPic();
phase1:
@@ -949,7 +950,7 @@
}
}
- delete [] roomdata;
+ free(roomdata);
}
void Winnie::drawPic(const char *szName) {
@@ -970,7 +971,7 @@
_vm->_gfx->doUpdate();
_vm->_system->updateScreen(); // TODO: this should go in the game's main loop
- delete [] buffer;
+ free(buffer);
}
void Winnie::drawObjPic(int iObj, int x0, int y0) {
@@ -980,7 +981,7 @@
if (!iObj)
return;
- int objSize = readObj(iObj, buffer, 2048);
+ uint32 objSize = readObj(iObj, buffer);
memcpy(&objhdr, buffer, sizeof(WTP_OBJ_HDR));
_vm->_picture->setOffset(x0, y0);
@@ -990,7 +991,7 @@
_vm->_gfx->doUpdate();
_vm->_system->updateScreen();
- delete [] buffer;
+ free(buffer);
}
void Winnie::drawRoomPic() {
@@ -1004,7 +1005,7 @@
_vm->_system->updateScreen(); // TODO: this should go in the game's main loop
// read room picture
- readRoom(room, buffer, 4096);
+ readRoom(room, buffer);
memcpy(&roomhdr, buffer, sizeof(WTP_ROOM_HDR));
// draw room picture
@@ -1016,7 +1017,7 @@
// draw object picture
drawObjPic(iObj, IDI_WTP_PIC_X0 + roomhdr.objX, IDI_WTP_PIC_Y0 + roomhdr.objY);
- delete [] buffer;
+ free(buffer);
}
void Winnie::clrMenuSel(int *iSel, int fCanSel[]) {
@@ -1030,7 +1031,7 @@
WTP_ROOM_HDR hdr;
uint8 *buffer = (uint8 *)malloc(4096);
- readRoom(iRoom, buffer, 4096);
+ readRoom(iRoom, buffer);
memcpy(&hdr, buffer, sizeof(hdr));
_vm->printStrXOR((char *)(buffer + hdr.ofsStr[iStr - 1] - IDI_WTP_OFS_ROOM));
@@ -1054,14 +1055,14 @@
uint8 *buffer = (uint8 *)malloc(sizeof(WTP_SAVE_GAME));
memcpy(buffer, &game, sizeof(WTP_SAVE_GAME));
writeSaveGame(buffer);
- delete [] buffer;
+ free(buffer);
}
void Winnie::loadGame() {
uint8 *buffer = (uint8 *)malloc(sizeof(WTP_SAVE_GAME));
readSaveGame(buffer);
memcpy(&game, buffer, sizeof(WTP_SAVE_GAME));
- delete [] buffer;
+ free(buffer);
}
void Winnie::readSaveGame(uint8 *buffer) {
Modified: scummvm/trunk/engines/agi/preagi_winnie.h
===================================================================
--- scummvm/trunk/engines/agi/preagi_winnie.h 2007-09-20 21:55:15 UTC (rev 28992)
+++ scummvm/trunk/engines/agi/preagi_winnie.h 2007-09-20 21:55:37 UTC (rev 28993)
@@ -314,7 +314,7 @@
void intro();
void drawPic(const char*);
void gameLoop();
- void readRoom(int, uint8*, int);
+ uint32 readRoom(int, uint8*);
void drawRoomPic();
int parser(int, int, uint8*);
int getObjInRoom(int);
@@ -328,7 +328,7 @@
void printRoomStr(int, int);
void inventory();
void printObjStr(int, int);
- int readObj(int, uint8*, int);
+ uint32 readObj(int, uint8*);
void takeObj(int);
void dropObj(int);
bool isRightObj(int, int, int*);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list