[Scummvm-cvs-logs] CVS: scummvm/saga animation.cpp,1.9,1.10 events.cpp,1.12,1.13 input.cpp,1.3,1.4 music.h,1.7,1.8 render.cpp,1.13,1.14 render.h,1.8,1.9 saga.cpp,1.22,1.23 saga.h,1.16,1.17 scene.cpp,1.12,1.13 sndres.cpp,1.15,1.16 render_mod.h,1.6,NONE

Eugene Sandulenko sev at users.sourceforge.net
Sat Jul 31 16:01:12 CEST 2004


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

Modified Files:
	animation.cpp events.cpp input.cpp music.h render.cpp render.h 
	saga.cpp saga.h scene.cpp sndres.cpp 
Removed Files:
	render_mod.h 
Log Message:
Objectize render.cpp


Index: animation.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/animation.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- animation.cpp	31 Jul 2004 19:10:47 -0000	1.9
+++ animation.cpp	31 Jul 2004 23:00:48 -0000	1.10
@@ -29,7 +29,7 @@
 #include "console_mod.h"
 #include "game_mod.h"
 #include "events_mod.h"
-#include "render_mod.h"
+#include "render.h"
 
 #include "animation.h"
 
@@ -180,7 +180,7 @@
 
 	GAME_GetDisplayInfo(&disp_info);
 
-	RENDER_GetBufferInfo(&buf_info);
+	_vm->_render->getBufferInfo(&buf_info);
 	display_buf = buf_info.r_bg_buf;
 
 	anim = AnimInfo.anim_tbl[anim_id];

Index: events.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/events.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- events.cpp	31 Jul 2004 13:34:43 -0000	1.12
+++ events.cpp	31 Jul 2004 23:00:48 -0000	1.13
@@ -36,7 +36,7 @@
 #include "interface_mod.h"
 #include "text_mod.h"
 #include "palanim_mod.h"
-#include "render_mod.h"
+#include "render.h"
 #include "game_mod.h"
 #include "sndres.h"
 #include "music.h"
@@ -174,7 +174,7 @@
 	case R_TRANSITION_EVENT:
 		switch (event->op) {
 		case EVENT_DISSOLVE:
-			RENDER_GetBufferInfo(&buf_info);
+			_vm->_render->getBufferInfo(&buf_info);
 			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);
@@ -251,7 +251,7 @@
 
 				back_buf = GFX_GetBackBuffer();
 
-				RENDER_GetBufferInfo(&rbuf_info);
+				_vm->_render->getBufferInfo(&rbuf_info);
 				SCENE_GetBGInfo(&bginfo);
 
 				bg_pt.x = bginfo.bg_x;

Index: input.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/input.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- input.cpp	25 Jun 2004 20:01:31 -0000	1.3
+++ input.cpp	31 Jul 2004 23:00:48 -0000	1.4
@@ -26,7 +26,7 @@
 #include "saga/actor_mod.h"
 #include "saga/console_mod.h"
 #include "saga/interface_mod.h"
-#include "saga/render_mod.h"
+#include "saga/render.h"
 #include "saga/scene_mod.h"
 #include "saga/script_mod.h"
 
@@ -81,16 +81,16 @@
 				INTERFACE_Draw();
 				break;
 			case 282: // F1
-				RENDER_ToggleFlag(RF_SHOW_FPS);
+				_vm->_render->toggleFlag(RF_SHOW_FPS);
 				break;
 			case 283: // F2
-				RENDER_ToggleFlag(RF_PALETTE_TEST);
+				_vm->_render->toggleFlag(RF_PALETTE_TEST);
 				break;
 			case 284: // F3
-				RENDER_ToggleFlag(RF_TEXT_TEST);
+				_vm->_render->toggleFlag(RF_TEXT_TEST);
 				break;
 			case 285: // F4
-				RENDER_ToggleFlag(RF_OBJECTMAP_TEST);
+				_vm->_render->toggleFlag(RF_OBJECTMAP_TEST);
 				break;
 			case 9: // Tab
 				STHREAD_DebugStep();
@@ -102,7 +102,7 @@
 				break;
 			case 19:  // pause
 			case 112: // p
-				RENDER_ToggleFlag(RF_RENDERPAUSE);
+				_vm->_render->toggleFlag(RF_RENDERPAUSE);
 				break;
 			case 27: // Esc
 				// Skip to next scene skip target

Index: music.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/music.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- music.h	29 May 2004 21:04:44 -0000	1.7
+++ music.h	31 Jul 2004 23:00:48 -0000	1.8
@@ -106,7 +106,6 @@
 
 private:
 
-	SagaEngine *_vm;
 	SoundMixer *_mixer;
 
 	MusicPlayer *_player;

Index: render.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/render.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- render.cpp	31 Jul 2004 12:37:36 -0000	1.13
+++ render.cpp	31 Jul 2004 23:00:48 -0000	1.14
@@ -40,21 +40,17 @@
 #include "actionmap_mod.h"
 #include "objectmap_mod.h"
 
-#include "render_mod.h"
 #include "render.h"
 
 namespace Saga {
 
-static R_RENDER_MODULE RenderModule;
-static OSystem *_system;
-
 const char *test_txt = "The quick brown fox jumped over the lazy dog. She sells sea shells down by the sea shore.";
 
-int RENDER_Register() {
+int Render::reg(void) {
 	return R_SUCCESS;
 }
 
-int RENDER_Init(OSystem *system) {
+Render::Render(OSystem *system) : _system(system), _initialized(false) {
 	R_GAME_DISPLAYINFO disp_info;
 	int tmp_w, tmp_h, tmp_bytepp;
 
@@ -62,19 +58,19 @@
 	GAME_GetDisplayInfo(&disp_info);
 
 	if (GFX_Init(system, disp_info.logical_w, disp_info.logical_h) != R_SUCCESS) {
-		return R_FAILURE;
+		return;
 	}
 
 	// Initialize FPS timer callback
-	g_timer->installTimerProc(&RENDER_FpsTimer, 1000, _vm);
+	g_timer->installTimerProc(&fpsTimerCallback, 1000000, this);
 
 	// Create background buffer 
-	RenderModule.r_bg_buf_w = disp_info.logical_w;
-	RenderModule.r_bg_buf_h = disp_info.logical_h;
-	RenderModule.r_bg_buf = (byte *)calloc(disp_info.logical_w, disp_info.logical_h);
+	_bg_buf_w = disp_info.logical_w;
+	_bg_buf_h = disp_info.logical_h;
+	_bg_buf = (byte *)calloc(disp_info.logical_w, disp_info.logical_h);
 
-	if (RenderModule.r_bg_buf == NULL) {
-		return R_MEM;
+	if (_bg_buf == NULL) {
+		return;
 	}
 
 	// Allocate temp buffer for animation decoding, 
@@ -83,25 +79,30 @@
 	tmp_h = disp_info.logical_h + 4; // BG unbanking requres extra rows
 	tmp_bytepp = 1;
 
-	RenderModule.r_tmp_buf = (byte *)calloc(1, tmp_w * tmp_h * tmp_bytepp);
-	if (RenderModule.r_tmp_buf == NULL) {
-
-		free(RenderModule.r_bg_buf);
-		return R_MEM;
+	_tmp_buf = (byte *)calloc(1, tmp_w * tmp_h * tmp_bytepp);
+	if (_tmp_buf == NULL) {
+		free(_bg_buf);
+		return;
 	}
 
-	RenderModule.r_tmp_buf_w = tmp_w;
-	RenderModule.r_tmp_buf_h = tmp_h;
+	_tmp_buf_w = tmp_w;
+	_tmp_buf_h = tmp_h;
 
-	RenderModule.r_backbuf_surface = GFX_GetBackBuffer();
+	_backbuf_surface = GFX_GetBackBuffer();
 
-	_system = system;
-	RenderModule.initialized = 1;
+	_initialized = true;
+}
 
-	return R_SUCCESS;
+Render::~Render(void) {
+	free(_bg_buf);
+	free(_tmp_buf);
 }
 
-int RENDER_DrawScene() {
+bool Render::initialized() {
+	return _initialized;
+}
+
+int Render::drawScene() {
 	R_SURFACE *backbuf_surface;
 	R_GAME_DISPLAYINFO disp_info;
 	R_SCENE_INFO scene_info;
@@ -111,13 +112,13 @@
 	int fps_width;
 	R_POINT mouse_pt;
 
-	if (!RenderModule.initialized) {
+	if (!_initialized) {
 		return R_FAILURE;
 	}
 
-	RenderModule.r_framecount++;
+	_framecount++;
 
-	backbuf_surface = RenderModule.r_backbuf_surface;
+	backbuf_surface = _backbuf_surface;
 
 	// Get mouse coordinates
 	mouse_pt = SYSINPUT_GetMousePos();
@@ -131,7 +132,7 @@
 	SCENE_Draw(backbuf_surface);
 
 	// Display scene maps, if applicable
-	if (RENDER_GetFlags() & RF_OBJECTMAP_TEST) {
+	if (getFlags() & RF_OBJECTMAP_TEST) {
 		OBJECTMAP_Draw(backbuf_surface, &mouse_pt, GFX_GetWhite(), GFX_GetBlack());
 		ACTIONMAP_Draw(backbuf_surface, GFX_MatchColor(R_RGB_RED));
 	}
@@ -148,15 +149,15 @@
 	SYSINPUT_ProcessInput();
 
 	// Display rendering information
-	if (RenderModule.r_flags & RF_SHOW_FPS) {
-		sprintf(txt_buf, "%d", RenderModule.r_fps);
+	if (_flags & RF_SHOW_FPS) {
+		sprintf(txt_buf, "%d", _fps);
 		fps_width = FONT_GetStringWidth(SMALL_FONT_ID, txt_buf, 0, FONT_NORMAL);
 		FONT_Draw(SMALL_FONT_ID, backbuf_surface, txt_buf, 0, backbuf_surface->buf_w - fps_width, 2,
 					GFX_GetWhite(), GFX_GetBlack(), FONT_OUTLINE);
 	}
 
 	// Display "paused game" message, if applicable
-	if (RenderModule.r_flags & RF_RENDERPAUSE) {
+	if (_flags & RF_RENDERPAUSE) {
 		int msg_len = strlen(R_PAUSEGAME_MSG);
 		int msg_w = FONT_GetStringWidth(BIG_FONT_ID, R_PAUSEGAME_MSG, msg_len, FONT_OUTLINE);
 		FONT_Draw(BIG_FONT_ID, backbuf_surface, R_PAUSEGAME_MSG, msg_len,
@@ -168,13 +169,13 @@
 	INTERFACE_Update(&mouse_pt, UPDATE_MOUSEMOVE);
 
 	// Display text formatting test, if applicable
-	if (RenderModule.r_flags & RF_TEXT_TEST) {
+	if (_flags & RF_TEXT_TEST) {
 		TEXT_Draw(MEDIUM_FONT_ID, backbuf_surface, test_txt, mouse_pt.x, mouse_pt.y,
 				GFX_GetWhite(), GFX_GetBlack(), FONT_OUTLINE | FONT_CENTERED);
 	}
 
 	// Display palette test, if applicable
-	if (RenderModule.r_flags & RF_PALETTE_TEST) {
+	if (_flags & RF_PALETTE_TEST) {
 		GFX_DrawPalette(backbuf_surface);
 	}
 
@@ -188,47 +189,49 @@
 	return R_SUCCESS;
 }
 
-unsigned int RENDER_GetFrameCount() {
-	return RenderModule.r_framecount;
+unsigned int Render::getFrameCount() {
+	return _framecount;
 }
 
-unsigned int RENDER_ResetFrameCount() {
-	unsigned int framecount = RenderModule.r_framecount;
+unsigned int Render::resetFrameCount() {
+	unsigned int framecount = _framecount;
 
-	RenderModule.r_framecount = 0;
+	_framecount = 0;
 
 	return framecount;
 }
 
-void RENDER_FpsTimer(void *refCon) {
-	RenderModule.r_fps = RenderModule.r_framecount;
-	RenderModule.r_framecount = 0;
+void Render::fpsTimerCallback(void *refCon) {
+	((Render *)refCon)->fpsTimer();
+}
 
-	return;
+void Render::fpsTimer(void) {
+	_fps = _framecount;
+	_framecount = 0;
 }
 
-unsigned int RENDER_GetFlags() {
-	return RenderModule.r_flags;
+unsigned int Render::getFlags() {
+	return _flags;
 }
 
-void RENDER_SetFlag(unsigned int flag) {
-	RenderModule.r_flags |= flag;
+void Render::setFlag(unsigned int flag) {
+	_flags |= flag;
 }
 
-void RENDER_ToggleFlag(unsigned int flag) {
-	RenderModule.r_flags ^= flag;
+void Render::toggleFlag(unsigned int flag) {
+	_flags ^= flag;
 }
 
-int RENDER_GetBufferInfo(R_BUFFER_INFO *r_bufinfo) {
+int Render::getBufferInfo(R_BUFFER_INFO *r_bufinfo) {
 	assert(r_bufinfo != NULL);
 
-	r_bufinfo->r_bg_buf = RenderModule.r_bg_buf;
-	r_bufinfo->r_bg_buf_w = RenderModule.r_bg_buf_w;
-	r_bufinfo->r_bg_buf_h = RenderModule.r_bg_buf_h;
+	r_bufinfo->r_bg_buf = _bg_buf;
+	r_bufinfo->r_bg_buf_w = _bg_buf_w;
+	r_bufinfo->r_bg_buf_h = _bg_buf_h;
 
-	r_bufinfo->r_tmp_buf = RenderModule.r_tmp_buf;
-	r_bufinfo->r_tmp_buf_w = RenderModule.r_tmp_buf_w;
-	r_bufinfo->r_tmp_buf_h = RenderModule.r_tmp_buf_h;
+	r_bufinfo->r_tmp_buf = _tmp_buf;
+	r_bufinfo->r_tmp_buf_w = _tmp_buf_w;
+	r_bufinfo->r_tmp_buf_h = _tmp_buf_h;
 
 	return R_SUCCESS;
 }

Index: render.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/render.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- render.h	2 May 2004 15:44:19 -0000	1.8
+++ render.h	31 Jul 2004 23:00:48 -0000	1.9
@@ -26,37 +26,68 @@
 #ifndef SAGA_RENDER_H_
 #define SAGA_RENDER_H_
 
-namespace Saga {
+#include "saga/sprite_mod.h"
 
-// Render module CVAR defaults
-#define R_FULLSCREEN_DEFAULT 0
-#define R_DOUBLERES_DEFAULT  1
-#define R_HICOLOR_DEFAULT    1
+namespace Saga {
 
 #define R_PAUSEGAME_MSG "PAWS GAME"
+enum RENDER_FLAGS {
+	RF_SHOW_FPS = 0x01,
+	RF_PALETTE_TEST = 0x02,
+	RF_TEXT_TEST = 0x04,
+	RF_OBJECTMAP_TEST = 0x08,
+	RF_RENDERPAUSE = 0x10,
+	RF_GAMEPAUSE = 0x20
+};
 
-struct R_RENDER_MODULE {
-	int initialized;
-
-	// Module data
-	R_SURFACE *r_backbuf_surface;
-
+struct R_BUFFER_INFO {
 	byte *r_bg_buf;
 	int r_bg_buf_w;
 	int r_bg_buf_h;
 	byte *r_tmp_buf;
 	int r_tmp_buf_w;
 	int r_tmp_buf_h;
+};
 
-	R_SPRITELIST *r_test_sprite;
+class Render {
+public:
+	int reg(void);
+	Render(OSystem *system);
+	~Render(void);
+	bool initialized();
+	int drawScene(void);
+	unsigned int getFlags(void);
+	void setFlag(unsigned int);
+	void toggleFlag(unsigned int);
+	unsigned int getFrameCount(void);
+	unsigned int resetFrameCount(void);
+	int getBufferInfo(R_BUFFER_INFO *);
 
-	unsigned int r_fps;
-	unsigned int r_framecount;
-	unsigned int r_flags;
-	int r_mode;
-};
+private:
+	static void fpsTimerCallback(void *refCon);
+	void fpsTimer(void);
 
-void RENDER_FpsTimer(void *refCon);
+	SagaEngine *_vm;
+	OSystem *_system;
+	bool _initialized;
+
+	// Module data
+	R_SURFACE *_backbuf_surface;
+
+	byte *_bg_buf;
+	int _bg_buf_w;
+	int _bg_buf_h;
+	byte *_tmp_buf;
+	int _tmp_buf_w;
+	int _tmp_buf_h;
+
+	R_SPRITELIST *_test_sprite;
+
+	unsigned int _fps;
+	unsigned int _framecount;
+	unsigned int _flags;
+	int _mode;
+};
 
 } // End of namespace Saga
 

Index: saga.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/saga.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- saga.cpp	31 Jul 2004 13:34:43 -0000	1.22
+++ saga.cpp	31 Jul 2004 23:00:48 -0000	1.23
@@ -37,7 +37,7 @@
 #include "timer.h"
 
 #include "rscfile_mod.h"
-#include "render_mod.h"
+#include "render.h"
 #include "actor_mod.h"
 #include "animation.h"
 #include "console_mod.h"
@@ -117,10 +117,8 @@
 	// Register engine modules
 	CON_Register(); // Register console cvars first
 
-	RENDER_Register();
 	GAME_Register();
 
-	_anim->reg();
 	ACTIONMAP_Register();
 	OBJECTMAP_Register();
 	SCRIPT_Register();
@@ -196,7 +194,8 @@
 	}
 
 	// Initialize graphics
-	if (RENDER_Init(_system) != R_SUCCESS) {
+	_render = new Render(_system);
+	if (!_render->initialized()) {
 		return;
 	}
 
@@ -206,6 +205,9 @@
 		debug(0, "Sound disabled.");
 	}
 
+	_render->reg();
+	_anim->reg();
+
 	SYSTIMER_ResetMSCounter();
 
 	// Begin Main Engine Loop
@@ -213,7 +215,7 @@
 	SCENE_Start();
 
 	for (;;) {
-		if (RENDER_GetFlags() & RF_RENDERPAUSE) {
+		if (_render->getFlags() & RF_RENDERPAUSE) {
 			// Freeze time while paused
 			SYSTIMER_ResetMSCounter();
 		} else {
@@ -226,7 +228,7 @@
 			STHREAD_ExecThreads(msec);
 		}
 		// Per frame processing
-		RENDER_DrawScene();
+		_render->drawScene();
 		SYSTIMER_Sleep(0);
 	}
 }
@@ -242,6 +244,7 @@
 	CVAR_Shutdown();
 	EVENT_Shutdown();
 
+	delete _render;
 	delete _sndRes;
 	// Shutdown system modules */
 	delete _music;

Index: saga.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/saga.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- saga.h	31 Jul 2004 20:50:34 -0000	1.16
+++ saga.h	31 Jul 2004 23:00:48 -0000	1.17
@@ -42,6 +42,7 @@
 class Sound;
 class Music;
 class Anim;
+class Render;
 
 using Common::MemoryReadStream;
 
@@ -69,6 +70,7 @@
 	Sound *_sound;
 	Music *_music;
 	Anim *_anim;
+	Render *_render;
 
 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.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- scene.cpp	31 Jul 2004 13:49:26 -0000	1.12
+++ scene.cpp	31 Jul 2004 23:00:48 -0000	1.13
@@ -38,7 +38,7 @@
 #include "script_mod.h"
 #include "objectmap_mod.h"
 #include "palanim_mod.h"
-#include "render_mod.h"
+#include "render.h"
 #include "rscfile_mod.h"
 #include "text_mod.h"
 
@@ -725,7 +725,7 @@
 
 	assert(SceneModule.init);
 
-	RENDER_GetBufferInfo(&buf_info);
+	_vm->_render->getBufferInfo(&buf_info);
 	GAME_GetDisplayInfo(&disp_info);
 
 	bg_pt.x = 0;

Index: sndres.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sndres.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- sndres.cpp	27 Jun 2004 21:30:33 -0000	1.15
+++ sndres.cpp	31 Jul 2004 23:00:48 -0000	1.16
@@ -36,7 +36,7 @@
 
 namespace Saga {
 
-SndRes::SndRes(SagaEngine *vm) {
+SndRes::SndRes(SagaEngine *vm) : _vm(vm) {
 	int result;
 
 	/* Load sound module resource file contexts */
@@ -53,7 +53,6 @@
 	// Grab sound resource information for the current game
 	GAME_GetSoundInfo(&_snd_info);
 
-	_vm = vm;
 	_init = 1;
 }
 

--- render_mod.h DELETED ---





More information about the Scummvm-git-logs mailing list