Move pMovie into local data structures
This commit is contained in:
parent
d8024d4d26
commit
fb1704780b
|
@ -80,7 +80,6 @@ static int init_subtitles(const char *filename);
|
|||
static subtitle Subtitles[MAX_SUBTITLES];
|
||||
static int Num_subtitles;
|
||||
static char *subtitle_raw_data;
|
||||
static MVESTREAM_ptr_t pMovie;
|
||||
|
||||
class RunSubtitles
|
||||
{
|
||||
|
@ -263,6 +262,7 @@ struct movie : ignore_window_pointer_t
|
|||
int result, aborted;
|
||||
int frame_num;
|
||||
int paused;
|
||||
MVESTREAM_ptr_t pMovie;
|
||||
};
|
||||
|
||||
static window_event_result show_pause_message(window *wind,const d_event &event, const unused_window_userdata_t *)
|
||||
|
@ -344,7 +344,7 @@ static window_event_result MovieHandler(window *wind,const d_event &event, movie
|
|||
case EVENT_WINDOW_DRAW:
|
||||
if (!m->paused)
|
||||
{
|
||||
m->result = MVE_rmStepMovie(pMovie.get());
|
||||
m->result = MVE_rmStepMovie(m->pMovie.get());
|
||||
if (m->result)
|
||||
{
|
||||
window_close(wind);
|
||||
|
@ -426,7 +426,7 @@ int RunMovie(char *filename, int hires_flag, int must_have,int dx,int dy)
|
|||
MVE_sfCallbacks(MovieShowFrame);
|
||||
MVE_palCallbacks(MovieSetPalette);
|
||||
|
||||
if (MVE_rmPrepMovie(pMovie, (void *)filehndl, dx, dy, track)) {
|
||||
if (MVE_rmPrepMovie(m.pMovie, (void *)filehndl, dx, dy, track)) {
|
||||
Int3();
|
||||
SDL_FreeRW(filehndl);
|
||||
window_close(wind);
|
||||
|
@ -443,7 +443,7 @@ int RunMovie(char *filename, int hires_flag, int must_have,int dx,int dy)
|
|||
|
||||
Assert(m.aborted || m.result == MVE_ERR_EOF); ///movie should be over
|
||||
|
||||
pMovie.reset();
|
||||
m.pMovie.reset();
|
||||
|
||||
SDL_FreeRW(filehndl); // Close Movie File
|
||||
if (reshow)
|
||||
|
@ -463,7 +463,7 @@ int RunMovie(char *filename, int hires_flag, int must_have,int dx,int dy)
|
|||
|
||||
|
||||
//returns 1 if frame updated ok
|
||||
int RotateRobot()
|
||||
int RotateRobot(MVESTREAM_ptr_t &pMovie)
|
||||
{
|
||||
int err;
|
||||
|
||||
|
@ -490,14 +490,14 @@ int RotateRobot()
|
|||
}
|
||||
|
||||
|
||||
void DeInitRobotMovie(void)
|
||||
void DeInitRobotMovie(MVESTREAM_ptr_t &pMovie)
|
||||
{
|
||||
pMovie.reset();
|
||||
SDL_FreeRW(RoboFile); // Close Movie File
|
||||
}
|
||||
|
||||
|
||||
int InitRobotMovie(const char *filename)
|
||||
int InitRobotMovie(const char *filename, MVESTREAM_ptr_t &pMovie)
|
||||
{
|
||||
if (GameArg.SysNoMovies)
|
||||
return 0;
|
||||
|
|
|
@ -27,6 +27,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
#define _MOVIE_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
#include "d2x-rebirth/libmve/mvelib.h"
|
||||
|
||||
#define MOVIE_ABORT_ON 1
|
||||
#define MOVIE_ABORT_OFF 0
|
||||
|
@ -45,9 +46,9 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
|
||||
extern int PlayMovie(const char *subtitles, const char *filename, int allow_abort);
|
||||
extern int PlayMovies(int num_files, const char *filename[], int graphmode, int allow_abort);
|
||||
extern int InitRobotMovie(const char *filename);
|
||||
extern int RotateRobot();
|
||||
extern void DeInitRobotMovie(void);
|
||||
int InitRobotMovie(const char *filename, MVESTREAM_ptr_t &pMovie);
|
||||
int RotateRobot(MVESTREAM_ptr_t &pMovie);
|
||||
void DeInitRobotMovie(MVESTREAM_ptr_t &pMovie);
|
||||
|
||||
// find and initialize the movie libraries
|
||||
void init_movies();
|
||||
|
|
|
@ -461,6 +461,7 @@ struct briefing : ignore_window_pointer_t
|
|||
#if defined(DXX_BUILD_DESCENT_II)
|
||||
int got_z;
|
||||
int hum_channel, printing_channel;
|
||||
MVESTREAM_ptr_t pMovie;
|
||||
#endif
|
||||
std::unique_ptr<char[]> text;
|
||||
const char *message;
|
||||
|
@ -732,7 +733,7 @@ static int briefing_process_char(briefing *br)
|
|||
br->robot_canv.reset();
|
||||
#if defined(DXX_BUILD_DESCENT_II)
|
||||
if (br->robot_playing) {
|
||||
DeInitRobotMovie();
|
||||
DeInitRobotMovie(br->pMovie);
|
||||
br->robot_playing=0;
|
||||
}
|
||||
#endif
|
||||
|
@ -751,12 +752,12 @@ static int briefing_process_char(briefing *br)
|
|||
kludge=*br->message++;
|
||||
spinRobotName[2]=kludge; // ugly but proud
|
||||
|
||||
br->robot_playing=InitRobotMovie(spinRobotName);
|
||||
br->robot_playing=InitRobotMovie(spinRobotName, br->pMovie);
|
||||
|
||||
// gr_remap_bitmap_good( &grd_curcanv->cv_bitmap, pal, -1, -1 );
|
||||
|
||||
if (br->robot_playing) {
|
||||
RotateRobot();
|
||||
RotateRobot(br->pMovie);
|
||||
set_briefing_fontcolor (br);
|
||||
}
|
||||
#endif
|
||||
|
@ -1165,7 +1166,7 @@ static void init_new_page(briefing *br)
|
|||
#if defined(DXX_BUILD_DESCENT_II)
|
||||
if (br->robot_playing)
|
||||
{
|
||||
DeInitRobotMovie();
|
||||
DeInitRobotMovie(br->pMovie);
|
||||
br->robot_playing=0;
|
||||
}
|
||||
#endif
|
||||
|
@ -1323,7 +1324,7 @@ static void free_briefing_screen(briefing *br)
|
|||
#if defined(DXX_BUILD_DESCENT_II)
|
||||
if (br->robot_playing)
|
||||
{
|
||||
DeInitRobotMovie();
|
||||
DeInitRobotMovie(br->pMovie);
|
||||
br->robot_playing=0;
|
||||
}
|
||||
#endif
|
||||
|
@ -1524,7 +1525,7 @@ static window_event_result briefing_handler(window *wind,const d_event &event, b
|
|||
show_animated_bitmap(br);
|
||||
#if defined(DXX_BUILD_DESCENT_II)
|
||||
if (br->robot_playing)
|
||||
RotateRobot();
|
||||
RotateRobot(br->pMovie);
|
||||
#endif
|
||||
if (br->robot_num != -1)
|
||||
show_spinning_robot_frame(br, br->robot_num);
|
||||
|
|
Loading…
Reference in a new issue