[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
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm resource.cpp,1.233,1.234 script.cpp,1.164,1.165 script_v6.cpp,1.366,1.367 script_v6he.cpp,2.81,2.82 scumm.cpp,1.110,1.111 scumm.h,1.435,1.436
- Next message: [Scummvm-cvs-logs] CVS: scummvm/saga saga.cpp,1.30,1.31 saga.h,1.21,1.22 scene.cpp,1.18,1.19 script.cpp,1.12,1.13 script.h,1.6,1.7 script_mod.h,1.4,1.5 sdata.cpp,1.9,1.10 sdebug.cpp,1.6,1.7 sthread.cpp,1.12,1.13
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
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, ¶m1);
- 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
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm resource.cpp,1.233,1.234 script.cpp,1.164,1.165 script_v6.cpp,1.366,1.367 script_v6he.cpp,2.81,2.82 scumm.cpp,1.110,1.111 scumm.h,1.435,1.436
- Next message: [Scummvm-cvs-logs] CVS: scummvm/saga saga.cpp,1.30,1.31 saga.h,1.21,1.22 scene.cpp,1.18,1.19 script.cpp,1.12,1.13 script.h,1.6,1.7 script_mod.h,1.4,1.5 sdata.cpp,1.9,1.10 sdebug.cpp,1.6,1.7 sthread.cpp,1.12,1.13
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list