aboutsummaryrefslogtreecommitdiff
path: root/engines/access/room.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/access/room.cpp')
-rw-r--r--engines/access/room.cpp34
1 files changed, 12 insertions, 22 deletions
diff --git a/engines/access/room.cpp b/engines/access/room.cpp
index 3ff4d66337..90ef3470db 100644
--- a/engines/access/room.cpp
+++ b/engines/access/room.cpp
@@ -174,8 +174,7 @@ void Room::loadRoomData(const byte *roomData) {
_vm->_sound->freeMusic();
if (roomInfo._musicFile._fileNum != -1) {
- _vm->_sound->_music = _vm->_files->loadFile(roomInfo._musicFile._fileNum,
- roomInfo._musicFile._subfile);
+ _vm->_sound->_music = _vm->_files->loadFile(roomInfo._musicFile);
_vm->_sound->_midiSize = _vm->_files->_filesize;
_vm->_sound->midiPlay();
_vm->_sound->_musicRepeat = true;
@@ -200,16 +199,14 @@ void Room::loadRoomData(const byte *roomData) {
// Load script data
_vm->_scripts->freeScriptData();
if (roomInfo._scriptFile._fileNum != -1) {
- const byte *data = _vm->_files->loadFile(roomInfo._scriptFile._fileNum,
- roomInfo._scriptFile._subfile);
+ const byte *data = _vm->_files->loadFile(roomInfo._scriptFile);
_vm->_scripts->setScript(data, _vm->_files->_filesize);
}
// Load animation data
_vm->_animation->freeAnimationData();
if (roomInfo._animFile._fileNum != -1) {
- byte *data = _vm->_files->loadFile(roomInfo._animFile._fileNum,
- roomInfo._animFile._subfile);
+ byte *data = _vm->_files->loadFile(roomInfo._animFile);
_vm->_animation->loadAnimations(data, _vm->_files->_filesize);
}
@@ -726,31 +723,25 @@ RoomInfo::RoomInfo(const byte *data, int gameType) {
else
_estIndex = -1;
- _musicFile._fileNum = stream.readSint16LE();
- _musicFile._subfile = stream.readUint16LE();
+ _musicFile.load(stream);
_scaleH1 = stream.readByte();
_scaleH2 = stream.readByte();
_scaleN1 = stream.readByte();
- _playFieldFile._fileNum = stream.readSint16LE();
- _playFieldFile._subfile = stream.readUint16LE();
+ _playFieldFile.load(stream);
for (byte cell = stream.readByte(); cell != 0xff; cell = stream.readByte()) {
CellIdent ci;
ci._cell = cell;
- ci._fileNum = stream.readSint16LE();
- ci._subfile = stream.readUint16LE();
+ ci.load(stream);
_cells.push_back(ci);
}
- _scriptFile._fileNum = stream.readSint16LE();
- _scriptFile._subfile = stream.readUint16LE();
- _animFile._fileNum = stream.readSint16LE();
- _animFile._subfile = stream.readUint16LE();
+ _scriptFile.load(stream);
+ _animFile.load(stream);
_scaleI = stream.readByte();
_scrollThreshold = stream.readByte();
- _paletteFile._fileNum = stream.readSint16LE();
- _paletteFile._subfile = stream.readUint16LE();
+ _paletteFile.load(stream);
if (_paletteFile._fileNum == -1) {
_startColor = _numColors = 0;
} else {
@@ -760,10 +751,9 @@ RoomInfo::RoomInfo(const byte *data, int gameType) {
for (int16 v = stream.readSint16LE(); v != -1; v = stream.readSint16LE()) {
ExtraCell ec;
- ec._vidTable = v;
- ec._vidTable1 = stream.readSint16LE();
- ec._vidSTable = stream.readSint16LE();
- ec._vidSTable1 = stream.readSint16LE();
+ ec._vid._fileNum = v;
+ ec._vid._subfile = stream.readSint16LE();
+ ec._vidSound.load(stream);
_extraCells.push_back(ec);
}