aboutsummaryrefslogtreecommitdiff
path: root/saga
diff options
context:
space:
mode:
authorJonathan Gray2004-08-01 09:15:12 +0000
committerJonathan Gray2004-08-01 09:15:12 +0000
commit69cf6a070a927ef17932f6d4303460ed5e867668 (patch)
tree41688373bca39bc587cfb5ff47e8610a7d0d64e2 /saga
parent5833e67076fa17130d720cc1765893034f721fce (diff)
downloadscummvm-rg350-69cf6a070a927ef17932f6d4303460ed5e867668.tar.gz
scummvm-rg350-69cf6a070a927ef17932f6d4303460ed5e867668.tar.bz2
scummvm-rg350-69cf6a070a927ef17932f6d4303460ed5e867668.zip
move sceneproc.cpp/h into scene.cpp/h
svn-id: r14416
Diffstat (limited to 'saga')
-rw-r--r--saga/ite_introproc.cpp2
-rw-r--r--saga/module.mk1
-rw-r--r--saga/scene.cpp122
-rw-r--r--saga/scene.h6
-rw-r--r--saga/sceneproc.cpp159
-rw-r--r--saga/sceneproc.h35
6 files changed, 125 insertions, 200 deletions
diff --git a/saga/ite_introproc.cpp b/saga/ite_introproc.cpp
index b9fbe2d678..2055b19a50 100644
--- a/saga/ite_introproc.cpp
+++ b/saga/ite_introproc.cpp
@@ -143,7 +143,7 @@ int ITE_StartProc() {
first_scene.load_flag = BY_SCENE;
first_scene.scene_n = gs_desc.first_scene;
first_scene.scene_skiptarget = 1;
- first_scene.scene_proc = InitialSceneProc;
+ first_scene.scene_proc = initialScene;
SCENE_Queue(&first_scene);
diff --git a/saga/module.mk b/saga/module.mk
index 7069cc7631..2dddc1ba44 100644
--- a/saga/module.mk
+++ b/saga/module.mk
@@ -24,7 +24,6 @@ MODULE_OBJS = \
saga/rscfile.o \
saga/saga.o \
saga/scene.o \
- saga/sceneproc.o \
saga/script.o \
saga/sdata.o \
saga/sdebug.o \
diff --git a/saga/scene.cpp b/saga/scene.cpp
index 18b470374c..0e00aa9264 100644
--- a/saga/scene.cpp
+++ b/saga/scene.cpp
@@ -39,6 +39,8 @@
#include "render.h"
#include "rscfile_mod.h"
#include "text_mod.h"
+#include "sound.h"
+#include "music.h"
#include "scene_mod.h"
#include "scene.h"
@@ -302,7 +304,7 @@ int SCENE_Change(int scene_num) {
}
SCENE_End();
- SCENE_Load(scene_num, BY_SCENE, DefaultSceneProc, NULL);
+ SCENE_Load(scene_num, BY_SCENE, defaultScene, NULL);
return R_SUCCESS;
}
@@ -476,7 +478,7 @@ int SCENE_Load(int scene_num, int load_flag, R_SCENE_PROC scene_proc, R_SCENE_DE
SceneModule.scene_loaded = 1;
if (scene_proc == NULL) {
- SceneModule.scene_proc = DefaultSceneProc;
+ SceneModule.scene_proc = defaultScene;
} else {
SceneModule.scene_proc = scene_proc;
}
@@ -840,4 +842,120 @@ void CF_sceneinfo(int argc, char *argv[], void *refCon) {
CON_Print(fmt, "Music R#", SceneModule.desc.music_rn);
}
+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
+ 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
+ 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, "InitialSceneproc(): Scene started");
+ break;
+ case SCENE_END:
+ break;
+ default:
+ warning("Illegal scene procedure parameter");
+ break;
+ }
+
+ return 0;
+}
+
+int defaultScene(int param, R_SCENE_INFO *scene_info) {
+ R_EVENT event;
+
+ switch (param) {
+ case SCENE_BEGIN:
+ // Set scene background
+ event.type = R_ONESHOT_EVENT;
+ event.code = R_BG_EVENT;
+ event.op = EVENT_DISPLAY;
+ event.param = SET_PALETTE;
+ event.time = 0;
+
+ EVENT_Queue(&event);
+
+ // Activate user interface
+ event.type = R_ONESHOT_EVENT;
+ event.code = R_INTERFACE_EVENT;
+ event.op = EVENT_ACTIVATE;
+ event.time = 0;
+
+ EVENT_Queue(&event);
+
+ // Begin palette cycle animation if present
+ event.type = R_ONESHOT_EVENT;
+ event.code = R_PALANIM_EVENT;
+ event.op = EVENT_CYCLESTART;
+ event.time = 0;
+
+ EVENT_Queue(&event);
+ break;
+ case SCENE_END:
+ break;
+ default:
+ warning("Illegal scene procedure parameter");
+ break;
+ }
+
+ return 0;
+}
+
} // End of namespace Saga
diff --git a/saga/scene.h b/saga/scene.h
index ddf0371706..2a168bfecc 100644
--- a/saga/scene.h
+++ b/saga/scene.h
@@ -28,6 +28,8 @@
namespace Saga {
+#define PALETTE_FADE_DURATION 1000
+
enum SCENE_LOAD_FLAGS {
BY_RESOURCE = 0,
BY_SCENE,
@@ -147,8 +149,8 @@ void CF_sceneinfo(int argc, char *argv[], void *refCon);
int IHNM_StartProc();
-int InitialSceneProc(int param, R_SCENE_INFO *scene_info);
-int DefaultSceneProc(int param, R_SCENE_INFO *scene_info);
+int initialScene(int param, R_SCENE_INFO *scene_info);
+int defaultScene(int param, R_SCENE_INFO *scene_info);
int ITE_StartProc();
int ITE_IntroAnimProc(int param, R_SCENE_INFO *scene_info);
diff --git a/saga/sceneproc.cpp b/saga/sceneproc.cpp
deleted file mode 100644
index dc0e4f1685..0000000000
--- a/saga/sceneproc.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-/* ScummVM - Scumm Interpreter
- * Copyright (C) 2004 The ScummVM project
- *
- * The ReInherit Engine is (C)2000-2003 by Daniel Balsom.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * $Header$
- *
- */
-
-// Initial and default scene procedures
-
-#include "saga.h"
-#include "yslib.h"
-
-#include "gfx_mod.h"
-#include "animation.h"
-#include "events_mod.h"
-#include "scene_mod.h"
-#include "palanim_mod.h"
-#include "sound.h"
-#include "music.h"
-
-#include "scene.h"
-#include "sceneproc.h"
-
-namespace Saga {
-
-int InitialSceneProc(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
- 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
- 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, "InitialSceneproc(): Scene started");
- break;
- case SCENE_END:
- break;
- default:
- warning("Illegal scene procedure parameter");
- break;
- }
-
- return 0;
-}
-
-int DefaultSceneProc(int param, R_SCENE_INFO *scene_info) {
- R_EVENT event;
-
- switch (param) {
- case SCENE_BEGIN:
- // Set scene background
- event.type = R_ONESHOT_EVENT;
- event.code = R_BG_EVENT;
- event.op = EVENT_DISPLAY;
- event.param = SET_PALETTE;
- event.time = 0;
-
- EVENT_Queue(&event);
-
- // Activate user interface
- event.type = R_ONESHOT_EVENT;
- event.code = R_INTERFACE_EVENT;
- event.op = EVENT_ACTIVATE;
- event.time = 0;
-
- EVENT_Queue(&event);
-
- // Begin palette cycle animation if present
- event.type = R_ONESHOT_EVENT;
- event.code = R_PALANIM_EVENT;
- event.op = EVENT_CYCLESTART;
- event.time = 0;
-
- EVENT_Queue(&event);
- break;
- case SCENE_END:
- break;
- default:
- warning("Illegal scene procedure parameter");
- break;
- }
-
- return 0;
-}
-
-} // End of namespace Saga
-
diff --git a/saga/sceneproc.h b/saga/sceneproc.h
deleted file mode 100644
index 153f2eddd9..0000000000
--- a/saga/sceneproc.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* ScummVM - Scumm Interpreter
- * Copyright (C) 2004 The ScummVM project
- *
- * The ReInherit Engine is (C)2000-2003 by Daniel Balsom.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * $Header$
- *
- */
-
-// Initial and default scene procedures header file
-
-#ifndef SAGA_SCENEPROC_H
-#define SAGA_SCENEPROC_H
-
-namespace Saga {
-
-#define PALETTE_FADE_DURATION 1000
-
-} // End of namespace Saga
-
-#endif