[Scummvm-cvs-logs] CVS: scummvm/saga events.cpp,1.17,1.18 ihnm_introproc.cpp,1.13,1.14 ihnm_introproc.h,1.2,1.3 input.cpp,1.7,1.8 ite_introproc.cpp,1.17,1.18 ite_introproc.h,1.4,1.5 render.cpp,1.27,1.28 saga.cpp,1.40,1.41 saga.h,1.30,1.31 scene.cpp,1.25,1.26 scene.h,1.6,1.7 sdebug.cpp,1.13,1.14 sprite.cpp,1.17,1.18 scene_mod.h,1.7,NONE

Eugene Sandulenko sev at users.sourceforge.net
Wed Aug 4 13:30:02 CEST 2004


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

Modified Files:
	events.cpp ihnm_introproc.cpp ihnm_introproc.h input.cpp 
	ite_introproc.cpp ite_introproc.h render.cpp saga.cpp saga.h 
	scene.cpp scene.h sdebug.cpp sprite.cpp 
Removed Files:
	scene_mod.h 
Log Message:
Move SCENE_* to class.


Index: events.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/events.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- events.cpp	3 Aug 2004 00:40:15 -0000	1.17
+++ events.cpp	4 Aug 2004 20:28:57 -0000	1.18
@@ -31,7 +31,7 @@
 
 #include "saga/animation.h"
 #include "saga/console_mod.h"
-#include "saga/scene_mod.h"
+#include "saga/scene.h"
 #include "saga/interface_mod.h"
 #include "saga/text.h"
 #include "saga/palanim_mod.h"
@@ -174,7 +174,7 @@
 		switch (event->op) {
 		case EVENT_DISSOLVE:
 			_vm->_render->getBufferInfo(&buf_info);
-			SCENE_GetBGInfo(&bg_info);
+			_vm->_scene->getBGInfo(&bg_info);
 			TRANSITION_Dissolve(buf_info.r_bg_buf, buf_info.r_bg_buf_w, buf_info.r_bg_buf_h,
 								buf_info.r_bg_buf_w, bg_info.bg_buf, bg_info.bg_p, 0, event_pc);
 			break;
@@ -226,7 +226,7 @@
 		case EVENT_REMOVE:
 			{
 				R_SCENE_INFO scene_info;
-				SCENE_GetInfo(&scene_info);
+				_vm->_scene->getInfo(&scene_info);
 				_vm->textDeleteEntry(scene_info.text_list, (R_TEXTLIST_ENTRY *)event->data);
 			}
 			break;
@@ -246,12 +246,12 @@
 			R_BUFFER_INFO rbuf_info;
 			R_POINT bg_pt;
 
-			if (SCENE_GetMode() == R_SCENE_MODE_NORMAL) {
+			if (_vm->_scene->getMode() == R_SCENE_MODE_NORMAL) {
 
 				back_buf = _vm->_gfx->getBackBuffer();
 
 				_vm->_render->getBufferInfo(&rbuf_info);
-				SCENE_GetBGInfo(&bginfo);
+				_vm->_scene->getBGInfo(&bginfo);
 
 				bg_pt.x = bginfo.bg_x;
 				bg_pt.y = bginfo.bg_y;
@@ -260,7 +260,7 @@
 								bginfo.bg_buf, bginfo.bg_w, bginfo.bg_h, NULL, &bg_pt);
 				if (event->param == SET_PALETTE) {
 					PALENTRY *pal_p;
-					SCENE_GetBGPal(&pal_p);
+					_vm->_scene->getBGPal(&pal_p);
 					_vm->_gfx->setPalette(back_buf, pal_p);
 				}
 			}
@@ -278,7 +278,7 @@
 	case R_SCENE_EVENT:
 		switch (event->op) {
 		case EVENT_END:
-			SCENE_Next();
+			_vm->_scene->nextScene();
 			return R_EVENT_BREAK;
 			break;
 		default:

Index: ihnm_introproc.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/ihnm_introproc.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- ihnm_introproc.cpp	3 Aug 2004 00:40:15 -0000	1.13
+++ ihnm_introproc.cpp	4 Aug 2004 20:28:57 -0000	1.14
@@ -31,7 +31,6 @@
 #include "saga/cvar_mod.h"
 #include "saga/events_mod.h"
 #include "saga/rscfile_mod.h"
-#include "saga/scene_mod.h"
 #include "saga/palanim_mod.h"
 
 #include "saga/scene.h"
@@ -39,6 +38,11 @@
 
 namespace Saga {
 
+int IHNM_IntroMovieProc1(int param, R_SCENE_INFO *scene_info);
+int IHNM_IntroMovieProc2(int param, R_SCENE_INFO *scene_info);
+int IHNM_IntroMovieProc3(int param, R_SCENE_INFO *scene_info);
+int IHNM_HateProc(int param, R_SCENE_INFO *scene_info);
+
 R_SCENE_RESLIST IHNM_IntroMovie1RL[] = {
 	{30, SAGA_BG_IMAGE, 0, 0} ,
 	{31, SAGA_ANIM_1, 0, 0}
@@ -97,7 +101,7 @@
 	n_introscenes = ARRAYSIZE(IHNM_IntroList);
 
 	for (i = 0; i < n_introscenes; i++) {
-		SCENE_Queue(&IHNM_IntroList[i]);
+		_vm->_scene->queueScene(&IHNM_IntroList[i]);
 	}
 
 	return R_SUCCESS;
@@ -159,7 +163,7 @@
 		q_event = EVENT_Chain(q_event, &event);
 
 		// Fade in from black to the scene background palette
-		SCENE_GetBGPal(&pal);
+		_vm->_scene->getBGPal(&pal);
 
 		event.type = R_CONTINUOUS_EVENT;
 		event.code = R_PAL_EVENT;
@@ -219,7 +223,7 @@
 		q_event = EVENT_Chain(q_event, &event);
 
 		// Fade in from black to the scene background palette
-		SCENE_GetBGPal(&pal);
+		_vm->_scene->getBGPal(&pal);
 
 		event.type = R_CONTINUOUS_EVENT;
 		event.code = R_PAL_EVENT;

Index: ihnm_introproc.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/ihnm_introproc.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- ihnm_introproc.h	1 May 2004 09:19:35 -0000	1.2
+++ ihnm_introproc.h	4 Aug 2004 20:28:57 -0000	1.3
@@ -23,8 +23,8 @@
 
 // Intro sequence scene procedures header file
 
-#ifndef SAGA_ITE_INTRO_H_
-#define SAGA_ITE_INTRO_H_
+#ifndef SAGA_IHNM_INTRO_H_
+#define SAGA_IHNM_INTRO_H_
 
 namespace Saga {
 
@@ -33,6 +33,8 @@
 #define R_IHNM_DGLOGO_TIME     8000
 #define R_IHNM_TITLE_TIME      16000
 
+int IHNM_StartProc();
+
 } // End of namespace Saga
 
 #endif

Index: input.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/input.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- input.cpp	2 Aug 2004 15:47:42 -0000	1.7
+++ input.cpp	4 Aug 2004 20:28:57 -0000	1.8
@@ -27,7 +27,7 @@
 #include "saga/console_mod.h"
 #include "saga/interface_mod.h"
 #include "saga/render.h"
-#include "saga/scene_mod.h"
+#include "saga/scene.h"
 #include "saga/script_mod.h"
 
 namespace Saga {
@@ -106,7 +106,7 @@
 				break;
 			case 27: // Esc
 				// Skip to next scene skip target
-				SCENE_Skip();
+				_vm->_scene->skipScene();
 				break;
 			default:
 				break;

Index: ite_introproc.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/ite_introproc.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- ite_introproc.cpp	3 Aug 2004 00:40:15 -0000	1.17
+++ ite_introproc.cpp	4 Aug 2004 20:28:57 -0000	1.18
@@ -34,7 +34,6 @@
 #include "saga/font.h"
 #include "saga/game_mod.h"
 #include "saga/rscfile_mod.h"
-#include "saga/scene_mod.h"
 #include "saga/sndres.h"
 #include "saga/text.h"
 #include "saga/palanim_mod.h"
@@ -45,6 +44,17 @@
 
 namespace Saga {
 
+int ITE_IntroAnimProc(int param, R_SCENE_INFO *scene_info);
+int ITE_IntroCave1Proc(int param, R_SCENE_INFO *scene_info);
+int ITE_IntroCave2Proc(int param, R_SCENE_INFO *scene_info);
+int ITE_IntroCave3Proc(int param, R_SCENE_INFO *scene_info);
+int ITE_IntroCave4Proc(int param, R_SCENE_INFO *scene_info);
+int ITE_IntroValleyProc(int param, R_SCENE_INFO *scene_info);
+int ITE_IntroTreeHouseProc(int param, R_SCENE_INFO *scene_info);
+int ITE_IntroFairePathProc(int param, R_SCENE_INFO *scene_info);
+int ITE_IntroFaireTentProc(int param, R_SCENE_INFO *scene_info);
+int initialScene(int param, R_SCENE_INFO *scene_info);
+
 static R_INTRO_DIALOGUE IntroDiag[] = {
 	{
 		CAVE_VOICE_0, "intro1a",
@@ -135,7 +145,7 @@
 	n_introscenes = ARRAYSIZE(ITE_IntroList);
 
 	for (i = 0; i < n_introscenes; i++) {
-		SCENE_Queue(&ITE_IntroList[i]);
+		_vm->_scene->queueScene(&ITE_IntroList[i]);
 	}
 
 	GAME_GetSceneInfo(&gs_desc);
@@ -145,7 +155,7 @@
 	first_scene.scene_skiptarget = 1;
 	first_scene.scene_proc = initialScene;
 
-	SCENE_Queue(&first_scene);
+	_vm->_scene->queueScene(&first_scene);
 
 	return R_SUCCESS;
 }
@@ -258,7 +268,7 @@
 		q_event = EVENT_Chain(q_event, &event);
 
 		// Fade in from black to the scene background palette
-		SCENE_GetBGPal(&pal);
+		_vm->_scene->getBGPal(&pal);
 		event.type = R_CONTINUOUS_EVENT;
 		event.code = R_PAL_EVENT;
 		event.op = EVENT_BLACKTOPAL;
@@ -987,4 +997,81 @@
 	return 0;
 }
 
+int initialScene(int param, R_SCENE_INFO *scene_info) {
+	R_EVENT event;
+	R_EVENT *q_event;
+	int delay_time = 0;
+	static PALENTRY current_pal[R_PAL_ENTRIES];
+	PALENTRY *pal;
+
+	switch (param) {
+	case SCENE_BEGIN:
+		_vm->_music->stop();
+		_vm->_sound->stopVoice();
+
+		// Fade palette to black from intro scene
+		_vm->_gfx->getCurrentPal(current_pal);
+
+		event.type = R_CONTINUOUS_EVENT;
+		event.code = R_PAL_EVENT;
+		event.op = EVENT_PALTOBLACK;
+		event.time = 0;
+		event.duration = PALETTE_FADE_DURATION;
+		event.data = current_pal;
+
+		delay_time += PALETTE_FADE_DURATION;
+
+		q_event = EVENT_Queue(&event);
+
+		// Activate user interface
+		event.type = R_ONESHOT_EVENT;
+		event.code = R_INTERFACE_EVENT;
+		event.op = EVENT_ACTIVATE;
+		event.time = 0;
+
+		q_event = EVENT_Chain(q_event, &event);
+
+		// Set first scene background w/o changing palette
+		event.type = R_ONESHOT_EVENT;
+		event.code = R_BG_EVENT;
+		event.op = EVENT_DISPLAY;
+		event.param = NO_SET_PALETTE;
+		event.time = 0;
+
+		q_event = EVENT_Chain(q_event, &event);
+
+		// Fade in to first scene background palette
+		_vm->_scene->getBGPal(&pal);
+
+		event.type = R_CONTINUOUS_EVENT;
+		event.code = R_PAL_EVENT;
+		event.op = EVENT_BLACKTOPAL;
+		event.time = delay_time;
+		event.duration = PALETTE_FADE_DURATION;
+		event.data = pal;
+
+		q_event = EVENT_Chain(q_event, &event);
+
+		event.code = R_PALANIM_EVENT;
+		event.op = EVENT_CYCLESTART;
+		event.time = 0;
+
+		q_event = EVENT_Chain(q_event, &event);
+
+		_vm->_anim->setFlag(0, ANIM_LOOP);
+		_vm->_anim->play(0, delay_time);
+
+		debug(0, "Scene started");
+		break;
+	case SCENE_END:
+		break;
+	default:
+		warning("Scene::initialScene(): Illegal scene procedure parameter");
+		break;
+	}
+
+	return 0;
+}
+
+
 } // End of namespace Saga

Index: ite_introproc.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/ite_introproc.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- ite_introproc.h	1 May 2004 13:04:31 -0000	1.4
+++ ite_introproc.h	4 Aug 2004 20:28:57 -0000	1.5
@@ -75,6 +75,8 @@
 	int font_id;
 };
 
+int ITE_StartProc();
+
 } // End of namespace Saga
 
 #endif				/* SAGA_ITE_INTRO_H_ */

Index: render.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/render.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- render.cpp	3 Aug 2004 01:07:34 -0000	1.27
+++ render.cpp	4 Aug 2004 20:28:57 -0000	1.28
@@ -31,7 +31,7 @@
 #include "saga/font.h"
 #include "saga/game_mod.h"
 #include "saga/interface_mod.h"
-#include "saga/scene_mod.h"
+#include "saga/scene.h"
 #include "saga/text.h"
 
 #include "saga/actionmap.h"
@@ -126,13 +126,13 @@
 	// Get mouse coordinates
 	mouse_pt = SYSINPUT_GetMousePos();
 
-	SCENE_GetBGInfo(&bg_info);
+	_vm->_scene->getBGInfo(&bg_info);
 	GAME_GetDisplayInfo(&disp_info);
 	bg_pt.x = 0;
 	bg_pt.y = 0;
 
 	// Display scene background
-	SCENE_Draw(backbuf_surface);
+	_vm->_scene->draw(backbuf_surface);
 
 	// Display scene maps, if applicable
 	if (getFlags() & RF_OBJECTMAP_TEST) {
@@ -144,7 +144,7 @@
 	_vm->_actor->drawList();
 
 	// Draw queued text strings
-	SCENE_GetInfo(&scene_info);
+	_vm->_scene->getInfo(&scene_info);
 
 	_vm->textDrawList(scene_info.text_list, backbuf_surface);
 

Index: saga.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/saga.cpp,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -d -r1.40 -r1.41
--- saga.cpp	4 Aug 2004 18:07:57 -0000	1.40
+++ saga.cpp	4 Aug 2004 20:28:57 -0000	1.41
@@ -48,7 +48,7 @@
 #include "saga/isomap.h"
 #include "saga/script.h"
 #include "saga/script_mod.h"
-#include "saga/scene_mod.h"
+#include "saga/scene.h"
 #include "saga/sdata.h"
 #include "saga/sndres.h"
 #include "saga/sprite.h"
@@ -109,7 +109,6 @@
 	CON_Register(); // Register console cvars first
 
 	GAME_Register();
-	SCENE_Register();
 
 	_soundEnabled = 1;
 	_musicEnabled = 1;
@@ -148,8 +147,9 @@
 	_sdata = new SData();
 	INTERFACE_Init(); // requires script module
 	_actor = new Actor(this);
+	_scene = new Scene(this);
 
-	if (SCENE_Init() != R_SUCCESS) {
+	if (!_scene->initialized()) {
 		warning("Couldn't initialize scene module");
 		return;
 	}
@@ -194,6 +194,7 @@
 		debug(0, "Sound disabled.");
 	}
 
+	_scene->reg();
 	_actor->reg();
 	_script->reg();
 	_render->reg();
@@ -205,7 +206,7 @@
 
 	// Begin Main Engine Loop
 
-	SCENE_Start();
+	_scene->startScene();
 	uint32 currentTicks;
 
 	for (;;) {
@@ -235,7 +236,7 @@
 }
 
 void SagaEngine::shutdown() {
-	SCENE_Shutdown();
+	delete _scene;
 	delete _actor;
 	delete _script;
 	delete _sprite;

Index: saga.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/saga.h,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- saga.h	4 Aug 2004 18:07:57 -0000	1.30
+++ saga.h	4 Aug 2004 20:28:57 -0000	1.31
@@ -54,6 +54,7 @@
 class Actor;
 class Font;
 class Sprite;
+class Scene;
 
 using Common::MemoryReadStream;
 
@@ -110,6 +111,7 @@
 	Actor *_actor;
 	Font *_font;
 	Sprite *_sprite;
+	Scene *_scene;
 	
 private:
 	int decodeBGImageRLE(const byte *inbuf, size_t inbuf_len, byte *outbuf, size_t outbuf_len);

Index: scene.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/scene.cpp,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- scene.cpp	3 Aug 2004 00:40:15 -0000	1.25
+++ scene.cpp	4 Aug 2004 20:28:57 -0000	1.26
@@ -43,22 +43,27 @@
 #include "saga/sound.h"
 #include "saga/music.h"
 
-#include "saga/scene_mod.h"
 #include "saga/scene.h"
+#include "saga/ite_introproc.h"
+#include "saga/ihnm_introproc.h"
 
 namespace Saga {
 
-static R_SCENE_MODULE SceneModule;
[...1109 lines suppressed...]
-	default:
-		warning("Illegal scene procedure parameter");
-		break;
-	}
-
-	return 0;
+static void CF_sceneinfo(int argc, char *argv[], void *refCon) {
+	((Scene *)refCon)->sceneInfoCmd(argc, argv);
 }
 
 int defaultScene(int param, R_SCENE_INFO *scene_info) {
@@ -952,7 +900,7 @@
 	case SCENE_END:
 		break;
 	default:
-		warning("Illegal scene procedure parameter");
+		warning("Scene::defaultScene(): Illegal scene procedure parameter");
 		break;
 	}
 

Index: scene.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/scene.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- scene.h	1 Aug 2004 09:15:12 -0000	1.6
+++ scene.h	4 Aug 2004 20:28:57 -0000	1.7
@@ -26,8 +26,40 @@
 #ifndef SAGA_SCENE_H
 #define SAGA_SCENE_H
 
+#include "saga/text.h"
+
 namespace Saga {
 
+enum R_SCENE_MODES {
+	R_SCENE_MODE_INVALID,
+	R_SCENE_MODE_NORMAL,
+	R_SCENE_MODE_ISO
+};
+
+struct SCENE_ZINFO {
+	int begin_slope;
+	int end_slope;
+
+};
+
+struct SCENE_BGINFO {
+	int bg_x;
+	int bg_y;
+	int bg_w;
+	int bg_h;
+	int bg_p;
+	byte *bg_buf;
+	size_t bg_buflen;
+};
+
+struct R_SCENE_INFO {
+	SCENE_ZINFO z_info;
+	SCENE_BGINFO bg_info;
+	R_TEXTLIST *text_list;
+};
+
+typedef int (R_SCENE_PROC) (int, R_SCENE_INFO *);
+
 #define PALETTE_FADE_DURATION 1000
 
 enum SCENE_LOAD_FLAGS {
@@ -111,63 +143,66 @@
 	int scene_skiptarget;
 };
 
-struct R_SCENE_MODULE {
-	int init;
-	R_RSCFILE_CONTEXT *scene_ctxt;
-	int *scene_lut;
-	int scene_count;
-	int scene_max;
-	YS_DL_LIST *scene_queue;
-	int first_scene;
-	int scene_loaded;
-	int scene_mode;
-	int scene_number;
-	int scene_rn;
-	int in_game;
-	int load_desc;
-	R_SCENE_DESC desc;
-	int reslist_loaded;
-	int reslist_entries;
-	R_SCENE_RESLIST *reslist;
-	int anim_entries;
-	YS_DL_LIST *anim_list;
-	R_SCENE_PROC *scene_proc;
-	R_TEXTLIST *text_list;
-	SCENE_IMAGE bg;
-	SCENE_IMAGE bg_mask;
-};
+class Scene {
+ public:
+	Scene(SagaEngine *vm);
+	~Scene();
+	int reg();
 
-int SCENE_Queue(R_SCENE_QUEUE * scene_queue);
-int SCENE_ClearQueue(void);
+	int startScene();
+	int nextScene();
+	int skipScene();
+	int endScene();
+	int queueScene(R_SCENE_QUEUE *scene_queue);
+	int draw(R_SURFACE *);
+	int getMode();
+	int getBGMaskInfo(int *w, int *h, byte **buf, size_t *buf_len);
+	int isBGMaskPresent(void);
+	int getBGInfo(SCENE_BGINFO *bginfo);
+	int getZInfo(SCENE_ZINFO *zinfo);
+	int getBGPal(PALENTRY **pal);
+	int getInfo(R_SCENE_INFO *si);
 
-int SCENE_Load(int scene, int load_flag, R_SCENE_PROC scene_proc, R_SCENE_DESC *);
-int LoadSceneDescriptor(uint32 res_number);
-int LoadSceneResourceList(uint32 res_number);
-int ProcessSceneResources();
-void CF_scenechange(int argc, char *argv[], void *refCon);
-void CF_sceneinfo(int argc, char *argv[], void *refCon);
+	int clearSceneQueue(void);
+	int changeScene(int scene_num);
 
-int IHNM_StartProc();
+	bool initialized() { return _initialized; }
 
-int initialScene(int param, R_SCENE_INFO *scene_info);
-int defaultScene(int param, R_SCENE_INFO *scene_info);
+	void sceneInfoCmd(int argc, char *argv[]);
+	void sceneChangeCmd(int argc, char *argv[]);
 
-int ITE_StartProc();
-int ITE_IntroAnimProc(int param, R_SCENE_INFO *scene_info);
-int ITE_IntroCave1Proc(int param, R_SCENE_INFO *scene_info);
-int ITE_IntroCave2Proc(int param, R_SCENE_INFO *scene_info);
-int ITE_IntroCave3Proc(int param, R_SCENE_INFO *scene_info);
-int ITE_IntroCave4Proc(int param, R_SCENE_INFO *scene_info);
-int ITE_IntroValleyProc(int param, R_SCENE_INFO *scene_info);
-int ITE_IntroTreeHouseProc(int param, R_SCENE_INFO *scene_info);
-int ITE_IntroFairePathProc(int param, R_SCENE_INFO *scene_info);
-int ITE_IntroFaireTentProc(int param, R_SCENE_INFO *scene_info);
+ private:
+	int loadScene(int scene, int load_flag, R_SCENE_PROC scene_proc, R_SCENE_DESC *);
+	int loadSceneDescriptor(uint32 res_number);
+	int loadSceneResourceList(uint32 res_number);
+	int processSceneResources();
 
-int IHNM_StartProc();
-int IHNM_IntroMovieProc1(int param, R_SCENE_INFO *scene_info);
-int IHNM_IntroMovieProc2(int param, R_SCENE_INFO *scene_info);
-int IHNM_IntroMovieProc3(int param, R_SCENE_INFO *scene_info);
-int IHNM_HateProc(int param, R_SCENE_INFO *scene_info);
+ private:
+	SagaEngine *_vm;
+	bool _initialized;
+
+	R_RSCFILE_CONTEXT *_sceneContext;
+	int *_sceneLUT;
+	int _sceneCount;
+	int _sceneMax;
+	YS_DL_LIST *_sceneQueue;
+	int _firstScene;
+	bool _sceneLoaded;
+	int _sceneMode;
+	int _sceneNumber;
+	int _sceneResNum;
+	bool _inGame;
+	bool _loadDesc;
+	R_SCENE_DESC _desc;
+	int _resListEntries;
+	R_SCENE_RESLIST *_resList;
+	int _animEntries;
+	YS_DL_LIST *_animList;
+	R_SCENE_PROC *_sceneProc;
+	R_TEXTLIST *_textList;
+	SCENE_IMAGE _bg;
+	SCENE_IMAGE _bgMask;
+};
 
 } // End of namespace Saga
 

Index: sdebug.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sdebug.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- sdebug.cpp	3 Aug 2004 00:40:16 -0000	1.13
+++ sdebug.cpp	4 Aug 2004 20:28:57 -0000	1.14
@@ -27,7 +27,7 @@
 #include "saga/gfx.h"
 #include "saga/console_mod.h"
 #include "saga/text.h"
-#include "saga/scene_mod.h"
+#include "saga/scene.h"
 #include "saga/font.h"
 
 #include "saga/script.h"
@@ -48,7 +48,7 @@
 	int i;
 	R_SCENE_INFO si;
 
-	SCENE_GetInfo(&si);
+	_vm->_scene->getInfo(&si);
 
 	disp_buf[0] = 0;
 

Index: sprite.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sprite.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- sprite.cpp	3 Aug 2004 01:12:08 -0000	1.17
+++ sprite.cpp	4 Aug 2004 20:28:57 -0000	1.18
@@ -26,7 +26,7 @@
 
 #include "saga/game_mod.h"
 #include "saga/gfx.h"
-#include "saga/scene_mod.h"
+#include "saga/scene.h"
 #include "saga/rscfile_mod.h"
 
 #include "saga/text.h"
@@ -288,7 +288,7 @@
 		return R_FAILURE;
 	}
 
-	if (!SCENE_IsBGMaskPresent()) {
+	if (!_vm->_scene->isBGMaskPresent()) {
 		return draw(ds, sprite_list, sprite_num, spr_x, spr_y);
 	}
 
@@ -317,7 +317,7 @@
 	sprite_data_p = sprite_p + readS.pos();
 
 	// Create actor Z occlusion LUT
-	SCENE_GetZInfo(&zinfo);
+	_vm->_scene->getZInfo(&zinfo);
 
 	e_slope = zinfo.end_slope;
 
@@ -327,7 +327,7 @@
 
 	actor_z = spr_y;
 
-	SCENE_GetBGMaskInfo(&mask_w, &mask_h, &mask_buf, &mask_buf_len);
+	_vm->_scene->getBGMaskInfo(&mask_w, &mask_h, &mask_buf, &mask_buf_len);
 
 	spr_src_rect.left = 0;
 	spr_src_rect.top = 0;

--- scene_mod.h DELETED ---





More information about the Scummvm-git-logs mailing list