aboutsummaryrefslogtreecommitdiff
path: root/sword2/sync.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sword2/sync.cpp')
-rw-r--r--sword2/sync.cpp198
1 files changed, 72 insertions, 126 deletions
diff --git a/sword2/sync.cpp b/sword2/sync.cpp
index 6611a80c3a..7d3c6adfd9 100644
--- a/sword2/sync.cpp
+++ b/sword2/sync.cpp
@@ -17,165 +17,111 @@
* $Header$
*/
-//------------------------------------------------------------------------------------
-#include <stdio.h>
-
#include "stdafx.h"
-//#include "src\driver96.h"
-#include "console.h"
#include "debug.h"
#include "defs.h"
#include "interpreter.h"
-#include "memory.h"
-#include "object.h"
#include "sync.h"
-//------------------------------------------------------------------------------------
-typedef struct
-{
- uint32 id;
- uint32 sync;
-} _sync_unit; //haaaaaaaa
-
-#define MAX_syncs 10 //there wont be many will there. probably 2 at most i reckon
-
-
-_sync_unit sync_list[MAX_syncs];
-
-//------------------------------------------------------------------------------------
-void Init_sync_system(void) //Tony27Nov96
-{
-//set list to 0's
-
- uint32 j;
+typedef struct {
+ uint32 id;
+ uint32 sync;
+} _sync_unit; // haaaaaaaa
+// there wont be many will there. probably 2 at most i reckon
+#define MAX_syncs 10
- for (j=0;j<MAX_syncs;j++)
- sync_list[j].id=0;
-
+_sync_unit sync_list[MAX_syncs];
+void Init_sync_system(void) { // Tony27Nov96
+ // set list to 0's
+ for (int j = 0; j < MAX_syncs; j++)
+ sync_list[j].id = 0;
}
-//------------------------------------------------------------------------------------
-int32 FN_send_sync(int32 *params) //Tony27Nov96
-{
-//param 0 sync's recipient
-//param 1 sync value
-
-
- uint32 current_sync=0;
+int32 FN_send_sync(int32 *params) { // Tony27Nov96
+ //param 0 sync's recipient
+ //param 1 sync value
- if (sync_list[current_sync].id)
- {
- do
- current_sync++;
- while(sync_list[current_sync].id); //zip along until we find a free slot
-
+ for (int i = 0; i < MAX_syncs; i++) {
+ if (sync_list[i].id == 0) {
+ // Zdebug(" %d sending sync %d to %d", ID, params[1], params[0]);
+ sync_list[i].id = params[0];
+ sync_list[i].sync = params[1];
+ return IR_CONT;
+ }
}
-// Zdebug(" %d sending sync %d to %d", ID, params[1], params[0]);
-
+ // The original code didn't even check for this condition, so maybe
+ // it should be a fatal error?
- sync_list[current_sync].id=params[0];
- sync_list[current_sync].sync=params[1];
-
-
-
- return(IR_CONT);
+ warning("No free sync slot");
+ return IR_CONT;
}
-//------------------------------------------------------------------------------------
-void Clear_syncs(uint32 id) //Tony27Nov96
-{
-//clear any syncs registered for this id
-//call this just after the id has been processed
- uint32 j;
+void Clear_syncs(uint32 id) { // Tony27Nov96
+ // 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
-
-//there could in theory be more than one sync waiting for us so clear the lot
-
- for (j=0;j<MAX_syncs;j++)
- if (sync_list[j].id==id)
- { //Zdebug("removing sync %d for %d", j, id);
- sync_list[j].id=0;
+ for (int i = 0; i < MAX_syncs; i++) {
+ if (sync_list[i].id == id) {
+ // Zdebug("removing sync %d for %d", i, id);
+ sync_list[i].id = 0;
}
-
-
+ }
}
-//------------------------------------------------------------------------------------
-uint32 Get_sync(void) //Tony27Nov96
-{
- // check for a sync waiting for this character
- // - called from system code eg. from inside FN_anim(), to see if animation to be quit
-
- uint32 j;
-
-
- for (j=0;j<MAX_syncs;j++)
- if (sync_list[j].id == ID)
- return(1); //means sync found Tony12July97
-
-// return(sync_list[j].sync); //return sync value waiting
-
+uint32 Get_sync(void) { // Tony27Nov96
+ // check for a sync waiting for this character
+ // - called from system code eg. from inside FN_anim(), to see if
+ // animation to be quit
- return(0); //no sync found
+ for (int i = 0; i < MAX_syncs; i++) {
+ if (sync_list[i].id == ID) {
+ // means sync found Tony12July97
+ return 1;
+ }
+ }
+ // no sync found
+ return 0;
}
-//------------------------------------------------------------------------------------
-int32 FN_get_sync(int32 *params) //Tony27Nov96
-{
-// check for a sync waiting for this character
-// - called from script
-//params none
-
-
- uint32 j;
-
-
- for (j=0;j<MAX_syncs;j++)
- if (sync_list[j].id == ID) {
- RESULT=sync_list[j].sync;
- return(IR_CONT); //return sync value waiting
+int32 FN_get_sync(int32 *params) { // Tony27Nov96
+ // check for a sync waiting for this character
+ // - called from script
+ // params none
+
+ for (int i = 0; i < MAX_syncs; i++) {
+ if (sync_list[i].id == ID) {
+ // return sync value waiting
+ RESULT = sync_list[i].sync;
+ return IR_CONT;
}
+ }
- RESULT=0;
-
- // if (params); what is the point of this... khalek
-
- return(IR_CONT); //no sync found
-
+ // no sync found
+ RESULT = 0;
+ return IR_CONT;
}
-//------------------------------------------------------------------------------------
-int32 FN_wait_sync(int32 *params) //Tony27Nov96
-{
-//keep calling until a sync recieved
-
-//params none
-
- uint32 j;
+int32 FN_wait_sync(int32 *params) { // Tony27Nov96
+ // keep calling until a sync recieved
+ // params none
- j=ID;
+ // Zdebug("%d waits", ID);
-
-// Zdebug("%d waits", ID);
-
-
- for (j=0;j<MAX_syncs;j++) {
- if (sync_list[j].id == ID) {
- RESULT=sync_list[j].sync;
+ for (int i = 0; i < MAX_syncs; i++) {
+ if (sync_list[i].id == ID) {
+ // return sync value waiting
//Zdebug(" go");
- return(IR_CONT); //return sync value waiting
+ RESULT = sync_list[i].sync;
+ return IR_CONT;
}
}
- // if (params); // what is the point of this... - khalek
-
- return(IR_REPEAT); //back again next cycle
-
+ // back again next cycle
+ return IR_REPEAT;
}
-//------------------------------------------------------------------------------------
-//------------------------------------------------------------------------------------
-