[Scummvm-cvs-logs] CVS: scummvm/saga interface.cpp,1.12,1.13 saga.cpp,1.29,1.30 saga.h,1.20,1.21 script.cpp,1.11,1.12 script_mod.h,1.3,1.4 sdata.cpp,1.8,1.9 sdata.h,1.3,1.4 sfuncs.cpp,1.8,1.9 sthread.cpp,1.11,1.12

Joost Peters joostp at users.sourceforge.net
Sun Aug 1 12:54:09 CEST 2004


Update of /cvsroot/scummvm/scummvm/saga
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18568/saga

Modified Files:
	interface.cpp saga.cpp saga.h script.cpp script_mod.h 
	sdata.cpp sdata.h sfuncs.cpp sthread.cpp 
Log Message:
move SDATA_* into seperate class


Index: interface.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/interface.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- interface.cpp	1 Aug 2004 11:48:53 -0000	1.12
+++ interface.cpp	1 Aug 2004 19:53:29 -0000	1.13
@@ -37,6 +37,7 @@
 
 #include "interface_mod.h"
 #include "interface.h"
+#include "sdata.h"
 
 namespace Saga {
 
@@ -496,7 +497,7 @@
 	if (object_flags & R_OBJECT_NORMAL) {
 		if (OBJECTMAP_GetEPNum(object_num, &script_num) == R_SUCCESS) {
 			// Set active verb in script module
-			SDATA_PutWord(4, 4, I_VerbData[IfModule.active_verb].s_verb);
+			_vm->_sdata->putWord(4, 4, I_VerbData[IfModule.active_verb].s_verb);
 
 			// Execute object script if present
 			if (script_num != 0) {

Index: saga.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/saga.cpp,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- saga.cpp	1 Aug 2004 13:34:20 -0000	1.29
+++ saga.cpp	1 Aug 2004 19:53:29 -0000	1.30
@@ -49,6 +49,7 @@
 #include "isomap_mod.h"
 #include "script_mod.h"
 #include "scene_mod.h"
+#include "sdata.h"
 #include "sndres.h"
 #include "sprite_mod.h"
 #include "text_mod.h"
@@ -159,6 +160,7 @@
 	OBJECTMAP_Init();
 	ISOMAP_Init();
 	SCRIPT_Init();
+	_sdata = new SData();
 	INTERFACE_Init(); // requires script module
 	ACTOR_Init();
 
@@ -249,6 +251,7 @@
 	delete _render;
 	delete _actionMap;
 	delete _sndRes;
+	delete _sdata;
 	// Shutdown system modules */
 	delete _music;
 	delete _sound;

Index: saga.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/saga.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- saga.h	1 Aug 2004 11:48:53 -0000	1.20
+++ saga.h	1 Aug 2004 19:53:29 -0000	1.21
@@ -44,6 +44,7 @@
 class Render;
 class ActionMap;
 class Gfx;
+class SData;
 
 using Common::MemoryReadStream;
 
@@ -93,7 +94,8 @@
 	Render *_render;
 	ActionMap *_actionMap;
 	Gfx *_gfx;
-
+	SData *_sdata;
+	
 private:
 	int decodeBGImageRLE(const byte *inbuf, size_t inbuf_len, byte *outbuf, size_t outbuf_len);
 	int flipImage(byte *img_buf, int columns, int scanlines);

Index: script.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/script.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- script.cpp	1 Aug 2004 11:48:53 -0000	1.11
+++ script.cpp	1 Aug 2004 19:53:29 -0000	1.12
@@ -125,11 +125,6 @@
 	// Initialize script submodules
 	ScriptModule.thread_list = ys_dll_create();
 
-	if (SDATA_Init() != R_SUCCESS) {
-		free(ScriptModule.script_lut);
-		return R_FAILURE;
-	}
-
 	ScriptModule.initialized = 1;
 	return R_SUCCESS;
 }

Index: script_mod.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/script_mod.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- script_mod.h	1 May 2004 14:05:10 -0000	1.3
+++ script_mod.h	1 Aug 2004 19:53:29 -0000	1.4
@@ -48,12 +48,6 @@
 int SCRIPT_Shutdown();
 int SCRIPT_Load(int script_num);
 int SCRIPT_Free();
-int SDATA_GetWord(int n_buf, int n_word, SDataWord_T *data);
-int SDATA_PutWord(int n_buf, int n_word, SDataWord_T data);
-int SDATA_SetBit(int n_buf, SDataWord_T n_bit, int bitstate);
-int SDATA_GetBit(int n_buf, SDataWord_T n_bit, int *bitstate);
-int SDATA_ReadWordS(SDataWord_T word);
-uint16 SDATA_ReadWordU(SDataWord_T word);
 R_SCRIPT_THREAD *STHREAD_Create();
 int STHREAD_Execute(R_SCRIPT_THREAD *thread, int ep_num);
 int STHREAD_ExecThreads(int msec);

Index: sdata.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sdata.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- sdata.cpp	1 Aug 2004 11:48:53 -0000	1.8
+++ sdata.cpp	1 Aug 2004 19:53:29 -0000	1.9
@@ -31,34 +31,33 @@
 
 namespace Saga {
 
-int SDATA_Init() {
+SData::SData() {
 	unsigned int i;
 	void *alloc_ptr;
 
-	debug(0, "Initializing script data buffers.");
+	debug(0, "Initializing script data buffers");
 	for (i = 0; i < R_SCRIPT_DATABUF_NUM; i++) {
 		alloc_ptr = malloc(sizeof *ScriptModule.data_buf[0]);
 		if (alloc_ptr == NULL) {
-			warning("Error allocating memory for script data buffer %d", i);
-			return R_MEM;
+			error("Couldn't allocate memory for script data buffer %d", i);
 		}
 
 		ScriptModule.data_buf[i] = (R_SCRIPT_DATABUF *)alloc_ptr;
 		alloc_ptr = calloc(R_SCRIPT_DATABUF_LEN, sizeof(SDataWord_T));
 
 		if (alloc_ptr == NULL) {
-			warning("Error allocating memory for script data buffer %d", i);
-			return R_MEM;
+			error("Couldn't allocate memory for script data buffer %d", i);
 		}
 
 		ScriptModule.data_buf[i]->len = R_SCRIPT_DATABUF_LEN;
 		ScriptModule.data_buf[i]->data = (SDataWord_T *)alloc_ptr;
 	}
+}
 
-	return R_SUCCESS;
+SData::~SData() {
 }
 
-int SDATA_GetWord(int n_buf, int n_word, SDataWord_T * data) {
+int SData::getWord(int n_buf, int n_word, SDataWord_T *data) {
 	if ((n_buf < 0) || (n_buf >= R_SCRIPT_DATABUF_NUM)) {
 		return R_FAILURE;
 	}
@@ -76,7 +75,7 @@
 	return R_SUCCESS;
 }
 
-int SDATA_PutWord(int n_buf, int n_word, SDataWord_T data) {
+int SData::putWord(int n_buf, int n_word, SDataWord_T data) {
 	if ((n_buf < 0) || (n_buf >= R_SCRIPT_DATABUF_NUM)) {
 		return R_FAILURE;
 	}
@@ -90,7 +89,7 @@
 	return R_SUCCESS;
 }
 
-int SDATA_SetBit(int n_buf, SDataWord_T n_bit, int bitstate) {
+int SData::setBit(int n_buf, SDataWord_T n_bit, int bitstate) {
 	int n_word;
 	int n_bitpos;
 
@@ -118,7 +117,7 @@
 	return R_SUCCESS;
 }
 
-int SDATA_GetBit(int n_buf, SDataWord_T n_bit, int *bitstate) {
+int SData::getBit(int n_buf, SDataWord_T n_bit, int *bitstate) {
 	int n_word;
 	int n_bitpos;
 
@@ -142,7 +141,7 @@
 	return R_SUCCESS;
 }
 
-int SDATA_ReadWordS(SDataWord_T word) {
+int SData::readWordS(SDataWord_T word) {
 	uint16 u_int = word;
 	int s_int;
 
@@ -155,7 +154,7 @@
 	return s_int;
 }
 
-uint16 SDATA_ReadWordU(SDataWord_T word) {
+uint16 SData::readWordU(SDataWord_T word) {
 	uint16 u_int = (uint16) word;
 
 	return u_int;

Index: sdata.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sdata.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- sdata.h	1 May 2004 14:34:00 -0000	1.3
+++ sdata.h	1 Aug 2004 19:53:29 -0000	1.4
@@ -31,7 +31,18 @@
 #define R_SCRIPT_DATABUF_NUM 5
 #define R_SCRIPT_DATABUF_LEN 1024
 
-int SDATA_Init();
+class SData {
+public:	
+	SData();
+	~SData();
+	
+	int getWord(int n_buf, int n_word, SDataWord_T *data);
+	int putWord(int n_buf, int n_word, SDataWord_T data);
+	int setBit(int n_buf, SDataWord_T n_bit, int bitstate);
+	int getBit(int n_buf, SDataWord_T n_bit, int *bitstate);
+	int readWordS(SDataWord_T word);
+	uint16 readWordU(SDataWord_T word);
+};
 
 } // End of namespace Saga
 

Index: sfuncs.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sfuncs.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- sfuncs.cpp	1 Aug 2004 11:48:53 -0000	1.8
+++ sfuncs.cpp	1 Aug 2004 19:53:29 -0000	1.9
@@ -126,7 +126,7 @@
 	int time;
 
 	SSTACK_Pop(thread->stack, &time_param);
-	time = SDATA_ReadWordU(time_param);
+	time = _vm->_sdata->readWordU(time_param);
 	thread->sleep_time = time * 10;
 	return R_SUCCESS;
 }
@@ -173,15 +173,15 @@
 	SSTACK_Pop(thread->stack, &x_parm);
 	SSTACK_Pop(thread->stack, &y_parm);
 
-	actor_id = SDATA_ReadWordS(actor_parm);
+	actor_id = _vm->_sdata->readWordS(actor_parm);
 	actor_idx = ACTOR_GetActorIndex(actor_id);
 	if (actor_idx < 0) {
 		CON_Print(S_WARN_PREFIX "SF.08: Actor id 0x%X not found.", actor_id);
 		return R_FAILURE;
 	}
 
-	pt.x = SDATA_ReadWordS(x_parm);
-	pt.y = SDATA_ReadWordS(y_parm);
+	pt.x = _vm->_sdata->readWordS(x_parm);
+	pt.y = _vm->_sdata->readWordS(y_parm);
 
 	ACTOR_WalkTo(actor_idx, &pt, 0, &thread->sem);
 
@@ -207,8 +207,8 @@
 	SSTACK_Pop(thread->stack, &actor_parm);
 	SSTACK_Pop(thread->stack, &orient_parm);
 
-	actor_id = SDATA_ReadWordS(actor_parm);
-	orientation = SDATA_ReadWordS(orient_parm);
+	actor_id = _vm->_sdata->readWordS(actor_parm);
+	orientation = _vm->_sdata->readWordS(orient_parm);
 	actor_idx = ACTOR_GetActorIndex(actor_id);
 	if (actor_idx < 0) {
 		CON_Print(S_WARN_PREFIX "SF.08: Actor id 0x%X not found.", actor_id);
@@ -270,8 +270,8 @@
 	SSTACK_Pop(thread->stack, &frame_parm);
 	SSTACK_Pop(thread->stack, &unk_parm);
 
-	frame_count = SDATA_ReadWordS(frame_parm);
-	anim_id = SDATA_ReadWordS(anim_id_parm);
+	frame_count = _vm->_sdata->readWordS(frame_parm);
+	anim_id = _vm->_sdata->readWordS(anim_id_parm);
 
 	if (_vm->_anim->play(anim_id, 0) != R_SUCCESS) {
 		CON_Print(S_WARN_PREFIX "SF.26: Anim::play() failed. Anim id: %u\n", anim_id);
@@ -298,7 +298,7 @@
 	SSTACK_Pop(thread->stack, &x_parm);
 	SSTACK_Pop(thread->stack, &y_parm);
 
-	actor_id = SDATA_ReadWordS(actor_parm);
+	actor_id = _vm->_sdata->readWordS(actor_parm);
 	actor_idx = ACTOR_GetActorIndex(actor_id);
 	if (actor_idx < 0) {
 		CON_Print(S_WARN_PREFIX "SF.08: Actor id 0x%X not found.",
@@ -306,8 +306,8 @@
 		return R_FAILURE;
 	}
 
-	pt.x = SDATA_ReadWordS(x_parm);
-	pt.y = SDATA_ReadWordS(y_parm);
+	pt.x = _vm->_sdata->readWordS(x_parm);
+	pt.y = _vm->_sdata->readWordS(y_parm);
 	ACTOR_WalkTo(actor_idx, &pt, 0, NULL);
 
 	return R_SUCCESS;
@@ -337,9 +337,9 @@
 	SSTACK_Pop(thread->stack, &x_parm);
 	SSTACK_Pop(thread->stack, &y_parm);
 
-	actor_id = SDATA_ReadWordS(actor_parm);
-	pt.x = SDATA_ReadWordS(x_parm);
-	pt.y = SDATA_ReadWordS(y_parm);
+	actor_id = _vm->_sdata->readWordS(actor_parm);
+	pt.x = _vm->_sdata->readWordS(x_parm);
+	pt.y = _vm->_sdata->readWordS(y_parm);
 
 	if (!ACTOR_ActorExists(actor_id)) {
 		result = ACTOR_Create(actor_id, pt.x, pt.y);
@@ -380,14 +380,14 @@
 	SSTACK_Pop(thread->stack, &y_parm);
 	SSTACK_Pop(thread->stack, &unk_parm);
 
-	actor_idx = ACTOR_GetActorIndex(SDATA_ReadWordS(actor_parm));
+	actor_idx = ACTOR_GetActorIndex(_vm->_sdata->readWordS(actor_parm));
 	if (actor_idx < 0) {
 		CON_Print(S_WARN_PREFIX "SF.36: Actor id 0x%X not found.", (int)actor_parm);
 		return R_FAILURE;
 	}
 
-	pt.x = SDATA_ReadWordS(x_parm);
-	pt.y = SDATA_ReadWordS(y_parm);
+	pt.x = _vm->_sdata->readWordS(x_parm);
+	pt.y = _vm->_sdata->readWordS(y_parm);
 
 #if 1
 	ACTOR_WalkTo(actor_idx, &pt, 0, NULL);
@@ -419,8 +419,8 @@
 	SSTACK_Pop(thread->stack, &unk1_parm);
 	SSTACK_Pop(thread->stack, &action_parm);
 	SSTACK_Pop(thread->stack, &unk2_parm);
-	actor_id = SDATA_ReadWordS(actor_parm);
-	action = SDATA_ReadWordS(action_parm);
+	actor_id = _vm->_sdata->readWordS(actor_parm);
+	action = _vm->_sdata->readWordS(action_parm);
 	actor_idx = ACTOR_GetActorIndex(actor_id);
 
 	if (ACTOR_SetAction(actor_idx, action, ACTION_NONE) != R_SUCCESS) {
@@ -452,8 +452,8 @@
 	SSTACK_Pop(thread->stack, &action_parm);
 	SSTACK_Pop(thread->stack, &unk1_parm);
 
-	actor_id = SDATA_ReadWordS(actor_parm);
-	action = SDATA_ReadWordS(action_parm);
+	actor_id = _vm->_sdata->readWordS(actor_parm);
+	action = _vm->_sdata->readWordS(action_parm);
 	actor_idx = ACTOR_GetActorIndex(actor_id);
 
 	if (ACTOR_SetAction(actor_idx, action, ACTION_NONE) != R_SUCCESS) {
@@ -484,9 +484,9 @@
 	SSTACK_Pop(thread->stack, &anim2_parm);
 	SSTACK_Pop(thread->stack, &tframes_parm);
 	SSTACK_Pop(thread->stack, &unk_parm);
-	tframes = SDATA_ReadWordS(tframes_parm);
-	anim_id1 = SDATA_ReadWordU(anim1_parm);
-	anim_id2 = SDATA_ReadWordU(anim2_parm);
+	tframes = _vm->_sdata->readWordS(tframes_parm);
+	anim_id1 = _vm->_sdata->readWordU(anim1_parm);
+	anim_id2 = _vm->_sdata->readWordU(anim2_parm);
 
 	if (_vm->_anim->link(anim_id1, anim_id2) != R_SUCCESS) {
 		CON_Print(S_WARN_PREFIX "SF.41: Anim::link() failed. (%u->%u)\n", anim_id1, anim_id2);
@@ -530,10 +530,10 @@
 	SSTACK_Pop(thread->stack, &action_parm);
 	SSTACK_Pop(thread->stack, &unknown_parm);
 
-	actor_id = SDATA_ReadWordS(actor_parm);
-	pt.x = SDATA_ReadWordS(x_parm);
-	pt.y = SDATA_ReadWordS(y_parm);
-	action_state = SDATA_ReadWordU(action_parm);
+	actor_id = _vm->_sdata->readWordS(actor_parm);
+	pt.x = _vm->_sdata->readWordS(x_parm);
+	pt.y = _vm->_sdata->readWordS(y_parm);
+	action_state = _vm->_sdata->readWordU(action_parm);
 
 	if (!ACTOR_ActorExists(actor_id)) {
 		result = ACTOR_Create(actor_id, pt.x, pt.y);

Index: sthread.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sthread.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- sthread.cpp	1 Aug 2004 11:48:53 -0000	1.11
+++ sthread.cpp	1 Aug 2004 19:53:29 -0000	1.12
@@ -265,26 +265,26 @@
 		case 0x0B:
 			n_buf = readS->readByte();
 			param1 = (SDataWord_T)readS->readUint16LE();
-			SDATA_GetBit(n_buf, param1, &bitstate);
+			_vm->_sdata->getBit(n_buf, param1, &bitstate);
 			SSTACK_Push(thread->stack, bitstate);
 			break;
 			// Get word (GETW)
 		case 0x0C:
 			n_buf = readS->readByte();
 			param1 = readS->readUint16LE();
-			SDATA_GetWord(n_buf, param1, &data);
+			_vm->_sdata->getWord(n_buf, param1, &data);
 			SSTACK_Push(thread->stack, data);
 			break;
 			// Modify flag (MODF)
 		case 0x0F:
 			n_buf = readS->readByte();
 			param1 = (SDataWord_T)readS->readUint16LE();
-			bitstate = SDATA_ReadWordU(param1);
+			bitstate = _vm->_sdata->readWordU(param1);
 			SSTACK_Top(thread->stack, &data);
 			if (bitstate) {
-				SDATA_SetBit(n_buf, data, 1);
+				_vm->_sdata->setBit(n_buf, data, 1);
 			} else {
-				SDATA_SetBit(n_buf, data, 0);
+				_vm->_sdata->setBit(n_buf, data, 0);
 			}
 			break;
 			// Put word (PUTW)
@@ -292,18 +292,18 @@
 			n_buf = readS->readByte();
 			param1 = (SDataWord_T)readS->readUint16LE();
 			SSTACK_Top(thread->stack, &data);
-			SDATA_PutWord(n_buf, param1, data);
+			_vm->_sdata->putWord(n_buf, param1, data);
 			break;
 			// Modify flag and pop (MDFP)
 		case 0x13:
 			n_buf = readS->readByte();
 			param1 = (SDataWord_T)readS->readUint16LE();
 			SSTACK_Pop(thread->stack, &param1);
-			bitstate = SDATA_ReadWordU(param1);
+			bitstate = _vm->_sdata->readWordU(param1);
 			if (bitstate) {
-				SDATA_SetBit(n_buf, param1, 1);
+				_vm->_sdata->setBit(n_buf, param1, 1);
 			} else {
-				SDATA_SetBit(n_buf, param1, 0);
+				_vm->_sdata->setBit(n_buf, param1, 0);
 			}
 			break;
 			// Put word and pop (PTWP)
@@ -311,7 +311,7 @@
 			n_buf = readS->readByte();
 			param1 = (SDataWord_T)readS->readUint16LE();
 			SSTACK_Top(thread->stack, &data);
-			SDATA_PutWord(n_buf, param1, data);
+			_vm->_sdata->putWord(n_buf, param1, data);
 			break;
 
 // CONTROL INSTRUCTIONS    





More information about the Scummvm-git-logs mailing list