aboutsummaryrefslogtreecommitdiff
path: root/engines/drascula/drascula.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2008-06-09 10:11:42 +0000
committerFilippos Karapetis2008-06-09 10:11:42 +0000
commita353776f2fd2d8627812d674d80ccb5910c48006 (patch)
tree175cadba45a09b9fc23e37898d1985055ee9ae55 /engines/drascula/drascula.cpp
parent280a7c4c229c14984f97a8e27b1a681b4c2476bb (diff)
downloadscummvm-rg350-a353776f2fd2d8627812d674d80ccb5910c48006.tar.gz
scummvm-rg350-a353776f2fd2d8627812d674d80ccb5910c48006.tar.bz2
scummvm-rg350-a353776f2fd2d8627812d674d80ccb5910c48006.zip
- drascula.dat is now read completely
- Removed the rest of the game static data (staticdata.h) - Some naming convention fixes (added underscore to some shared variables) - Renamed objeto -> object svn-id: r32628
Diffstat (limited to 'engines/drascula/drascula.cpp')
-rw-r--r--engines/drascula/drascula.cpp118
1 files changed, 66 insertions, 52 deletions
diff --git a/engines/drascula/drascula.cpp b/engines/drascula/drascula.cpp
index 42663313d0..c300066f4f 100644
--- a/engines/drascula/drascula.cpp
+++ b/engines/drascula/drascula.cpp
@@ -269,7 +269,7 @@ bool DrasculaEngine::runCurrentChapter() {
int soc = 0;
for (n = 0; n < 6; n++) {
soc = soc + CHARACTER_WIDTH;
- frameX[n] = soc;
+ _frameX[n] = soc;
}
}
@@ -755,6 +755,7 @@ void DrasculaEngine::hipo_sin_nadie(int counter){
bool DrasculaEngine::loadDrasculaDat() {
Common::File in;
+ int i;
in.open("drascula.dat");
@@ -792,92 +793,105 @@ bool DrasculaEngine::loadDrasculaDat() {
_charMapSize = in.readUint16BE();
_charMap = (CharInfo *)malloc(sizeof(CharInfo) * _charMapSize);
-
- for (int i = 0; i < _charMapSize; i++) {
+ for (i = 0; i < _charMapSize; i++) {
_charMap[i].inChar = in.readByte();
_charMap[i].mappedChar = in.readUint16BE();
_charMap[i].charType = in.readByte();
}
_itemLocationsSize = in.readUint16BE();
- for (int i = 0; i < _itemLocationsSize; i++) {
- in.readUint16BE();
- in.readUint16BE();
+ _itemLocations = (ItemLocation *)malloc(sizeof(ItemLocation) * _itemLocationsSize);
+ for (i = 0; i < _itemLocationsSize; i++) {
+ _itemLocations[i].x = in.readUint16BE();
+ _itemLocations[i].y = in.readUint16BE();
}
- _xPolSize = in.readUint16BE();
- for (int i = 0; i < _xPolSize; i++) {
- in.readUint16BE();
- in.readUint16BE();
+ _polXSize = in.readUint16BE();
+ _polX = (int *)malloc(sizeof(int) * _polXSize);
+ _polY = (int *)malloc(sizeof(int) * _polXSize);
+ for (i = 0; i < _polXSize; i++) {
+ _polX[i] = in.readUint16BE();
+ _polY[i] = in.readUint16BE();
}
_verbBarXSize = in.readUint16BE();
- for (int i = 0; i < _verbBarXSize; i++) {
- in.readUint16BE();
+ _verbBarX = (int *)malloc(sizeof(int) * _verbBarXSize);
+ for (i = 0; i < _verbBarXSize; i++) {
+ _verbBarX[i] = in.readUint16BE();
}
_x1dMenuSize = in.readUint16BE();
- for (int i = 0; i < _x1dMenuSize; i++) {
- in.readUint16BE();
- in.readUint16BE();
+ _x1d_menu = (int *)malloc(sizeof(int) * _x1dMenuSize);
+ _y1d_menu = (int *)malloc(sizeof(int) * _x1dMenuSize);
+ for (i = 0; i < _x1dMenuSize; i++) {
+ _x1d_menu[i] = in.readUint16BE();
+ _y1d_menu[i] = in.readUint16BE();
}
_frameXSize = in.readUint16BE();
- for (int i = 0; i < _frameXSize; i++) {
- in.readUint16BE();
+ _frameX = (int *)malloc(sizeof(int) * _frameXSize);
+ for (i = 0; i < _frameXSize; i++) {
+ _frameX[i] = in.readUint16BE();
}
_candleXSize = in.readUint16BE();
- for (int i = 0; i < _candleXSize; i++) {
- in.readUint16BE();
- in.readUint16BE();
+ _candleX = (int *)malloc(sizeof(int) * _candleXSize);
+ _candleY = (int *)malloc(sizeof(int) * _candleXSize);
+ for (i = 0; i < _candleXSize; i++) {
+ _candleX[i] = in.readUint16BE();
+ _candleY[i] = in.readUint16BE();
}
_pianistXSize = in.readUint16BE();
- for (int i = 0; i < _pianistXSize; i++) {
- in.readUint16BE();
+ _pianistX = (int *)malloc(sizeof(int) * _pianistXSize);
+ for (i = 0; i < _pianistXSize; i++) {
+ _pianistX[i] = in.readUint16BE();
}
_drunkXSize = in.readUint16BE();
- for (int i = 0; i < _drunkXSize; i++) {
- in.readUint16BE();
+ _drunkX = (int *)malloc(sizeof(int) * _drunkXSize);
+ for (i = 0; i < _drunkXSize; i++) {
+ _drunkX[i] = in.readUint16BE();
}
_roomPreUpdatesSize = in.readUint16BE();
- for (int i = 0; i < _roomPreUpdatesSize; i++) {
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
+ _roomPreUpdates = (RoomUpdate *)malloc(sizeof(RoomUpdate) * _roomPreUpdatesSize);
+ for (i = 0; i < _roomPreUpdatesSize; i++) {
+ _roomPreUpdates[i].roomNum = in.readUint16BE();
+ _roomPreUpdates[i].flag = in.readUint16BE();
+ _roomPreUpdates[i].flagValue = in.readUint16BE();
+ _roomPreUpdates[i].sourceX = in.readUint16BE();
+ _roomPreUpdates[i].sourceY = in.readUint16BE();
+ _roomPreUpdates[i].destX = in.readUint16BE();
+ _roomPreUpdates[i].destY = in.readUint16BE();
+ _roomPreUpdates[i].width = in.readUint16BE();
+ _roomPreUpdates[i].height = in.readUint16BE();
+ _roomPreUpdates[i].type = in.readUint16BE();
}
_roomUpdatesSize = in.readUint16BE();
- for (int i = 0; i < _roomUpdatesSize; i++) {
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
+ _roomUpdates = (RoomUpdate *)malloc(sizeof(RoomUpdate) * _roomUpdatesSize);
+ for (i = 0; i < _roomUpdatesSize; i++) {
+ _roomUpdates[i].roomNum = in.readUint16BE();
+ _roomUpdates[i].flag = in.readUint16BE();
+ _roomUpdates[i].flagValue = in.readUint16BE();
+ _roomUpdates[i].sourceX = in.readUint16BE();
+ _roomUpdates[i].sourceY = in.readUint16BE();
+ _roomUpdates[i].destX = in.readUint16BE();
+ _roomUpdates[i].destY = in.readUint16BE();
+ _roomUpdates[i].width = in.readUint16BE();
+ _roomUpdates[i].height = in.readUint16BE();
+ _roomUpdates[i].type = in.readUint16BE();
}
_roomActionsSize = in.readUint16BE();
- for (int i = 0; i < _roomActionsSize; i++) {
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
- in.readUint16BE();
+ _roomActions = (RoomTalkAction *)malloc(sizeof(RoomTalkAction) * _roomActionsSize);
+ for (i = 0; i < _roomActionsSize; i++) {
+ _roomActions[i].room = in.readUint16BE();
+ _roomActions[i].chapter = in.readUint16BE();
+ _roomActions[i].action = in.readUint16BE();
+ _roomActions[i].objectID = in.readUint16BE();
+ _roomActions[i].speechID = in.readUint16BE();
}
_numLangs = in.readUint16BE();