diff options
author | Torbjörn Andersson | 2003-11-08 15:47:51 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2003-11-08 15:47:51 +0000 |
commit | 688c80b0620ae5765355a4048864bb3de84ebf74 (patch) | |
tree | 497d8efc73b08f5a4d58c45c52b7a6bafa1975ff /sword2/sync.cpp | |
parent | b04ddef7506bfa08527da9e79040c583fb765b2e (diff) | |
download | scummvm-rg350-688c80b0620ae5765355a4048864bb3de84ebf74.tar.gz scummvm-rg350-688c80b0620ae5765355a4048864bb3de84ebf74.tar.bz2 scummvm-rg350-688c80b0620ae5765355a4048864bb3de84ebf74.zip |
Moved more stuff into classes, changed some static allocation to dynamic,
and removed some of the references to global variables.
At this point I believe everything in the main game engine has been moved
into classes - not necessarily the correct ones, but still... However,
there is some stuff in the driver directory that need to be taken care of
as well.
svn-id: r11207
Diffstat (limited to 'sword2/sync.cpp')
-rw-r--r-- | sword2/sync.cpp | 40 |
1 files changed, 12 insertions, 28 deletions
diff --git a/sword2/sync.cpp b/sword2/sync.cpp index 659cf4a6ff..3e24fcc741 100644 --- a/sword2/sync.cpp +++ b/sword2/sync.cpp @@ -27,31 +27,15 @@ namespace Sword2 { -typedef struct { - uint32 id; - uint32 sync; -} _sync_unit; - -// there wont be many will there. probably 2 at most i reckon -#define MAX_syncs 10 - -static _sync_unit sync_list[MAX_syncs]; - -void Init_sync_system(void) { - // set list to 0's - for (int j = 0; j < MAX_syncs; j++) - sync_list[j].id = 0; -} - int32 Logic::fnSendSync(int32 *params) { // params: 0 sync's recipient // 1 sync value for (int i = 0; i < MAX_syncs; i++) { - if (sync_list[i].id == 0) { + if (_syncList[i].id == 0) { debug(5, " %d sending sync %d to %d", ID, params[1], params[0]); - sync_list[i].id = params[0]; - sync_list[i].sync = params[1]; + _syncList[i].id = params[0]; + _syncList[i].sync = params[1]; return IR_CONT; } } @@ -63,27 +47,27 @@ int32 Logic::fnSendSync(int32 *params) { return IR_CONT; } -void Clear_syncs(uint32 id) { +void Logic::clearSyncs(uint32 id) { // clear any syncs registered for this id // call this just after the id has been processed // there could in theory be more than one sync waiting for us so // clear the lot for (int i = 0; i < MAX_syncs; i++) { - if (sync_list[i].id == id) { + if (_syncList[i].id == id) { debug(5, "removing sync %d for %d", i, id); - sync_list[i].id = 0; + _syncList[i].id = 0; } } } -bool Get_sync(void) { +bool Logic::getSync(void) { // check for a sync waiting for this character // - called from system code eg. from inside fnAnim(), to see if // animation to be quit for (int i = 0; i < MAX_syncs; i++) { - if (sync_list[i].id == ID) { + if (_syncList[i].id == ID) { // means sync found return true; } @@ -100,9 +84,9 @@ int32 Logic::fnGetSync(int32 *params) { // params: none for (int i = 0; i < MAX_syncs; i++) { - if (sync_list[i].id == ID) { + if (_syncList[i].id == ID) { // return sync value waiting - RESULT = sync_list[i].sync; + RESULT = _syncList[i].sync; return IR_CONT; } } @@ -120,10 +104,10 @@ int32 Logic::fnWaitSync(int32 *params) { debug(5, "fnWaitSync: %d waits", ID); for (int i = 0; i < MAX_syncs; i++) { - if (sync_list[i].id == ID) { + if (_syncList[i].id == ID) { // return sync value waiting debug(5, "fnWaitSync: go"); - RESULT = sync_list[i].sync; + RESULT = _syncList[i].sync; return IR_CONT; } } |