[Scummvm-cvs-logs] CVS: scummvm/saga console.cpp,1.12,1.13 scene.cpp,1.33,1.34 script_mod.h,1.5,1.6 sthread.cpp,1.19,1.20 sthread.h,1.6,1.7 xref.txt,1.3,1.4
Eugene Sandulenko
sev at users.sourceforge.net
Wed Aug 11 18:12:02 CEST 2004
Update of /cvsroot/scummvm/scummvm/saga
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29540
Modified Files:
console.cpp scene.cpp script_mod.h sthread.cpp sthread.h
xref.txt
Log Message:
Launch scene start script.
Index: console.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/console.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- console.cpp 10 Aug 2004 19:00:30 -0000 1.12
+++ console.cpp 12 Aug 2004 01:11:10 -0000 1.13
@@ -245,6 +245,7 @@
va_start(argptr, fmt_str);
ret_val = vsprintf(vsstr_p, fmt_str, argptr);
_vm->_console->addLine(&_scrollback, _lineMax, vsstr_p);
+ debug(0, vsstr_p);
va_end(argptr);
_linePos = 0;
Index: scene.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/scene.cpp,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -d -r1.33 -r1.34
--- scene.cpp 11 Aug 2004 23:42:02 -0000 1.33
+++ scene.cpp 12 Aug 2004 01:11:10 -0000 1.34
@@ -949,7 +949,17 @@
_vm->_anim->play(0, 0);
if (_desc.startScriptNum > 0) {
+ R_SCRIPT_THREAD *_startScriptThread;
+
debug(0, "Starting start script #%d", _desc.startScriptNum);
+
+ _startScriptThread= STHREAD_Create();
+ if (_startScriptThread == NULL) {
+ _vm->_console->print("Thread creation failed.");
+ break;
+ }
+ STHREAD_Execute(_startScriptThread, _desc.startScriptNum);
+ STHREAD_completeThread();
}
debug(0, "Scene started");
Index: script_mod.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/script_mod.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- script_mod.h 1 Aug 2004 22:48:40 -0000 1.5
+++ script_mod.h 12 Aug 2004 01:11:10 -0000 1.6
@@ -49,6 +49,7 @@
int STHREAD_HoldSem(R_SEMAPHORE *sem);
int STHREAD_ReleaseSem(R_SEMAPHORE *sem);
int STHREAD_DebugStep();
+void STHREAD_completeThread(void);
} // End of namespace Saga
Index: sthread.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sthread.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- sthread.cpp 10 Aug 2004 18:31:33 -0000 1.19
+++ sthread.cpp 12 Aug 2004 01:11:11 -0000 1.20
@@ -95,6 +95,11 @@
return R_SUCCESS;
}
+void STHREAD_completeThread(void) {
+ for (int i = 0; i < 40 && (ys_dll_head(_vm->_script->threadList()) != NULL); i++)
+ STHREAD_ExecThreads(0);
+}
+
int STHREAD_SetEntrypoint(R_SCRIPT_THREAD *thread, int ep_num) {
R_SCRIPT_BYTECODE *bytecode;
int max_entrypoint;
@@ -218,11 +223,13 @@
}
saved_offset = thread->i_offset;
- debug(2, "Executing thread offset: %lu", thread->i_offset);
+
MemoryReadStream readS(GetReadPtr(thread), GetReadLen(thread));
in_char = readS.readByte();
+ debug(0, "Executing thread offset: %lu (%x)", thread->i_offset, in_char);
+
switch (in_char) {
// Align (ALGN)
case 0x01:
Index: sthread.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sthread.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- sthread.h 2 Aug 2004 16:20:35 -0000 1.6
+++ sthread.h 12 Aug 2004 01:11:11 -0000 1.7
@@ -30,7 +30,7 @@
namespace Saga {
-#define STHREAD_DEF_INSTR_COUNT 7
+#define STHREAD_DEF_INSTR_COUNT 8
struct R_SEMAPHORE {
int hold_count;
Index: xref.txt
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/xref.txt,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- xref.txt 11 Aug 2004 18:02:03 -0000 1.3
+++ xref.txt 12 Aug 2004 01:11:11 -0000 1.4
@@ -46,3 +46,8 @@
resInfo->entryScript _desc.sceneScriptNum
resInfo->preScript _desc.startScriptNum
resInfo->backgroundMusic _desc.musicRN
+
+Interp.c
+========
+ dispatchThreads() STHREAD_ExecThreads()
+ runThread() STHREAD_completeThread()
More information about the Scummvm-git-logs
mailing list