diff options
author | D G Turner | 2012-07-16 14:06:27 +0100 |
---|---|---|
committer | D G Turner | 2012-07-16 14:06:27 +0100 |
commit | 28c3aa3024e37e4c7921665863981973c6455eae (patch) | |
tree | 1a0e565ac40f4b94d0158334f940e5e8ac5ddd70 /engines/teenagent | |
parent | dad5258c793ade7fd02aea4cbce489ab3d7e1833 (diff) | |
download | scummvm-rg350-28c3aa3024e37e4c7921665863981973c6455eae.tar.gz scummvm-rg350-28c3aa3024e37e4c7921665863981973c6455eae.tar.bz2 scummvm-rg350-28c3aa3024e37e4c7921665863981973c6455eae.zip |
TEENAGENT: Migrate two more dseg regions to symbolic addresses.
Diffstat (limited to 'engines/teenagent')
-rw-r--r-- | engines/teenagent/resources.h | 7 | ||||
-rw-r--r-- | engines/teenagent/scene.cpp | 6 | ||||
-rw-r--r-- | engines/teenagent/teenagent.cpp | 6 |
3 files changed, 12 insertions, 7 deletions
diff --git a/engines/teenagent/resources.h b/engines/teenagent/resources.h index e1540f8500..7426b45248 100644 --- a/engines/teenagent/resources.h +++ b/engines/teenagent/resources.h @@ -31,7 +31,7 @@ struct ADGameDescription; namespace TeenAgent { -// Code Segment Addresses +// Code Segment Addresses (Read Only) // Intro function : 0x024c const uint16 csAddr_intro = 0x024c; // Display Message function : 0xa055 @@ -40,6 +40,8 @@ const uint16 csAddr_displayMsg = 0xa055; const uint16 csAddr_rejectMsg = 0xa4d6; // Data Segment Addresses +// Cursor Graphic 8*12px : 0x00da to 0x0139 (Read Only) +const uint16 dsAddr_cursor = 0x00da; // Reject Messages Address Pointers : (4 * 2-byte) = 0x339e to 0x33a5 const uint16 dsAddr_rejectMsg = 0x339e; @@ -47,6 +49,9 @@ const uint16 dsAddr_rejectMsg = 0x339e; const uint16 dsAddr_saveState = 0x6478; const uint16 saveStateSize = 0x777a; +// Current Music Id Playing : 0xdb90 +const uint16 dsAddr_currentMusic = 0xdb90; + class Resources { public: void deinit(); diff --git a/engines/teenagent/scene.cpp b/engines/teenagent/scene.cpp index fdb0acb59d..6bcc606df5 100644 --- a/engines/teenagent/scene.cpp +++ b/engines/teenagent/scene.cpp @@ -413,8 +413,8 @@ void Scene::init(int id, const Common::Point &pos) { // check music int now_playing = _vm->music->getId(); - if (now_playing != _vm->res->dseg.get_byte(0xdb90)) - _vm->music->load(_vm->res->dseg.get_byte(0xdb90)); + if (now_playing != _vm->res->dseg.get_byte(dsAddr_currentMusic)) + _vm->music->load(_vm->res->dseg.get_byte(dsAddr_currentMusic)); _vm->_system->copyRectToScreen(background.pixels, background.pitch, 0, 0, background.w, background.h); setPalette(0); @@ -1065,7 +1065,7 @@ bool Scene::processEventQueue() { case SceneEvent::kPlayMusic: debugC(0, kDebugScene, "setting music %u", current_event.music); _vm->setMusic(current_event.music); - _vm->res->dseg.set_byte(0xdb90, current_event.music); + _vm->res->dseg.set_byte(dsAddr_currentMusic, current_event.music); current_event.clear(); break; diff --git a/engines/teenagent/teenagent.cpp b/engines/teenagent/teenagent.cpp index bf626e2aff..08c436bf25 100644 --- a/engines/teenagent/teenagent.cpp +++ b/engines/teenagent/teenagent.cpp @@ -248,7 +248,7 @@ Common::Error TeenAgentEngine::loadGameState(int slot) { inventory->activate(false); inventory->reload(); - setMusic(res->dseg.get_byte(0xdb90)); + setMusic(res->dseg.get_byte(dsAddr_currentMusic)); int id = res->dseg.get_byte(0xb4f3); uint16 x = res->dseg.get_word(0x64af), y = res->dseg.get_word(0x64b1); @@ -542,7 +542,7 @@ Common::Error TeenAgentEngine::run() { init(); - CursorMan.pushCursor(res->dseg.ptr(0x00da), 8, 12, 0, 0, 1); + CursorMan.pushCursor(res->dseg.ptr(dsAddr_cursor), 8, 12, 0, 0, 1); syncSoundSettings(); @@ -1042,7 +1042,7 @@ void TeenAgentEngine::setMusic(byte id) { debugC(0, kDebugMusic, "starting music %u", id); if (id != 1) // intro music - *res->dseg.ptr(0xdb90) = id; + res->dseg.set_byte(dsAddr_currentMusic, id); if (_gameDescription->flags & ADGF_CD) { byte track2cd[] = {7, 2, 0, 9, 3, 6, 8, 10, 4, 5, 11}; |