parent
7796fcd6a8
commit
ce0f7f8091
331
src/movie_lib.cc
331
src/movie_lib.cc
|
@ -10,14 +10,97 @@
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
typedef struct STRUCT_6B3690 {
|
||||
void* field_0;
|
||||
int field_4;
|
||||
int field_8;
|
||||
} STRUCT_6B3690;
|
||||
|
||||
#pragma pack(2)
|
||||
typedef struct Mve {
|
||||
char sig[20];
|
||||
short field_14;
|
||||
short field_16;
|
||||
short field_18;
|
||||
int field_1A;
|
||||
} Mve;
|
||||
#pragma pack()
|
||||
|
||||
typedef struct STRUCT_4F6930 {
|
||||
int field_0;
|
||||
MovieReadProc* readProc;
|
||||
STRUCT_6B3690 field_8;
|
||||
int fileHandle;
|
||||
int field_18;
|
||||
SDL_Surface* field_24;
|
||||
SDL_Surface* field_28;
|
||||
int field_2C;
|
||||
unsigned char* field_30;
|
||||
unsigned char* field_34;
|
||||
unsigned char field_38;
|
||||
unsigned char field_39;
|
||||
unsigned char field_3A;
|
||||
unsigned char field_3B;
|
||||
int field_3C;
|
||||
int field_40;
|
||||
int field_44;
|
||||
int field_48;
|
||||
int field_4C;
|
||||
int field_50;
|
||||
} STRUCT_4F6930;
|
||||
|
||||
static void _MVE_MemInit(STRUCT_6B3690* a1, int a2, void* a3);
|
||||
static void _MVE_MemFree(STRUCT_6B3690* a1);
|
||||
static void _do_nothing_2(SDL_Surface* a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9);
|
||||
static int _sub_4F4B5();
|
||||
static int _ioReset(int fileHandle);
|
||||
static void* _ioRead(int size);
|
||||
static void* _MVE_MemAlloc(STRUCT_6B3690* a1, unsigned int a2);
|
||||
static unsigned char* _ioNextRecord();
|
||||
static void _sub_4F4DD();
|
||||
static int _MVE_rmHoldMovie();
|
||||
static int _syncWait();
|
||||
static void _MVE_sndPause();
|
||||
static int _syncInit(int a1, int a2);
|
||||
static void _syncReset(int a1);
|
||||
static int _MVE_sndConfigure(int a1, int a2, int a3, int a4, int a5, int a6);
|
||||
static void _MVE_syncSync();
|
||||
static void _MVE_sndReset();
|
||||
static void _MVE_sndSync();
|
||||
static int _syncWaitLevel(int a1);
|
||||
static void _CallsSndBuff_Loc(unsigned char* a1, int a2);
|
||||
static int _MVE_sndAdd(unsigned char* dest, unsigned char** src_ptr, int a3, int a4, int a5);
|
||||
static void _MVE_sndResume();
|
||||
static int _nfConfig(int a1, int a2, int a3, int a4);
|
||||
static bool movieLockSurfaces();
|
||||
static void movieUnlockSurfaces();
|
||||
static void movieSwapSurfaces();
|
||||
static void _sfShowFrame(int a1, int a2, int a3);
|
||||
static void _do_nothing_(int a1, int a2, unsigned short* a3);
|
||||
static void _SetPalette_1(int a1, int a2);
|
||||
static void _SetPalette_(int a1, int a2);
|
||||
static void _palMakeSynthPalette(int a1, int a2, int a3, int a4, int a5, int a6);
|
||||
static void _palLoadPalette(unsigned char* palette, int a2, int a3);
|
||||
static void _syncRelease();
|
||||
static void _ioRelease();
|
||||
static void _MVE_sndRelease();
|
||||
static void _nfRelease();
|
||||
static void _frLoad(STRUCT_4F6930* a1);
|
||||
static void _frSave(STRUCT_4F6930* a1);
|
||||
static void _MVE_frClose(STRUCT_4F6930* a1);
|
||||
static int _MVE_sndDecompM16(unsigned short* a1, unsigned char* a2, int a3, int a4);
|
||||
static int _MVE_sndDecompS16(unsigned short* a1, unsigned char* a2, int a3, int a4);
|
||||
static void _nfPkConfig();
|
||||
static void _nfPkDecomp(unsigned char* buf, unsigned char* a2, int a3, int a4, int a5, int a6);
|
||||
|
||||
// 0x51EBD8
|
||||
int dword_51EBD8 = 0;
|
||||
static int dword_51EBD8 = 0;
|
||||
|
||||
// 0x51EBDC
|
||||
int dword_51EBDC = 4;
|
||||
static int dword_51EBDC = 4;
|
||||
|
||||
// 0x51EBE0
|
||||
unsigned short word_51EBE0[256] = {
|
||||
static unsigned short word_51EBE0[256] = {
|
||||
// clang-format off
|
||||
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
|
||||
0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
|
||||
|
@ -55,55 +138,55 @@ unsigned short word_51EBE0[256] = {
|
|||
};
|
||||
|
||||
// 0x51EDE4
|
||||
int _sync_active = 0;
|
||||
static int _sync_active = 0;
|
||||
|
||||
// 0x51EDE8
|
||||
int _sync_late = 0;
|
||||
static int _sync_late = 0;
|
||||
|
||||
// 0x51EDEC
|
||||
int _sync_FrameDropped = 0;
|
||||
static int _sync_FrameDropped = 0;
|
||||
|
||||
#ifdef HAVE_DSOUND
|
||||
// 0x51EDF0
|
||||
LPDIRECTSOUND gMovieLibDirectSound = NULL;
|
||||
static LPDIRECTSOUND gMovieLibDirectSound = NULL;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_DSOUND
|
||||
// 0x51EDF4
|
||||
LPDIRECTSOUNDBUFFER gMovieLibDirectSoundBuffer = NULL;
|
||||
static LPDIRECTSOUNDBUFFER gMovieLibDirectSoundBuffer = NULL;
|
||||
#endif
|
||||
|
||||
// 0x51EDF8
|
||||
int gMovieLibVolume = 0;
|
||||
static int gMovieLibVolume = 0;
|
||||
|
||||
// 0x51EDFC
|
||||
int gMovieLibPan = 0;
|
||||
static int gMovieLibPan = 0;
|
||||
|
||||
// 0x51EE08
|
||||
MovieShowFrameProc* _sf_ShowFrame = _do_nothing_2;
|
||||
static MovieShowFrameProc* _sf_ShowFrame = _do_nothing_2;
|
||||
|
||||
// 0x51EE0C
|
||||
int dword_51EE0C = 1;
|
||||
static int dword_51EE0C = 1;
|
||||
|
||||
// TODO: There is a default function (not yet implemented).
|
||||
//
|
||||
// 0x51EE14
|
||||
void (*_pal_SetPalette)(unsigned char*, int, int) = NULL;
|
||||
static void (*_pal_SetPalette)(unsigned char*, int, int) = NULL;
|
||||
|
||||
// 0x51EE18
|
||||
int _rm_hold = 0;
|
||||
static int _rm_hold = 0;
|
||||
|
||||
// 0x51EE1C
|
||||
int _rm_active = 0;
|
||||
static int _rm_active = 0;
|
||||
|
||||
// 0x51EE20
|
||||
bool dword_51EE20 = false;
|
||||
static bool dword_51EE20 = false;
|
||||
|
||||
// 0x51F018
|
||||
int dword_51F018[256];
|
||||
static int dword_51F018[256];
|
||||
|
||||
// 0x51F418
|
||||
unsigned short word_51F418[256] = {
|
||||
static unsigned short word_51F418[256] = {
|
||||
// clang-format off
|
||||
0xF8F8, 0xF8F9, 0xF8FA, 0xF8FB, 0xF8FC, 0xF8FD, 0xF8FE, 0xF8FF,
|
||||
0xF800, 0xF801, 0xF802, 0xF803, 0xF804, 0xF805, 0xF806, 0xF807,
|
||||
|
@ -141,7 +224,7 @@ unsigned short word_51F418[256] = {
|
|||
};
|
||||
|
||||
// 0x51F618
|
||||
unsigned short word_51F618[256] = {
|
||||
static unsigned short word_51F618[256] = {
|
||||
// clang-format off
|
||||
0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x0108,
|
||||
0x0109, 0x010A, 0x010B, 0x010C, 0x010D, 0x010E, 0x0208, 0x0209,
|
||||
|
@ -179,7 +262,7 @@ unsigned short word_51F618[256] = {
|
|||
};
|
||||
|
||||
// 0x51F818
|
||||
unsigned int _$$R0053[16] = {
|
||||
static unsigned int _$$R0053[16] = {
|
||||
// clang-format off
|
||||
0xC3C3C3C3, 0xC3C3C1C3, 0xC3C3C3C1, 0xC3C3C1C1, 0xC1C3C3C3, 0xC1C3C1C3, 0xC1C3C3C1, 0xC1C3C1C1,
|
||||
0xC3C1C3C3, 0xC3C1C1C3, 0xC3C1C3C1, 0xC3C1C1C1, 0xC1C1C3C3, 0xC1C1C1C3, 0xC1C1C3C1, 0xC1C1C1C1,
|
||||
|
@ -187,7 +270,7 @@ unsigned int _$$R0053[16] = {
|
|||
};
|
||||
|
||||
// 0x51F858
|
||||
unsigned int _$$R0004[256] = {
|
||||
static unsigned int _$$R0004[256] = {
|
||||
// clang-format off
|
||||
0xC3C3C3C3, 0xC3C3C2C3, 0xC3C3C1C3, 0xC3C3C5C3, 0xC3C3C3C2, 0xC3C3C2C2, 0xC3C3C1C2, 0xC3C3C5C2,
|
||||
0xC3C3C3C1, 0xC3C3C2C1, 0xC3C3C1C1, 0xC3C3C5C1, 0xC3C3C3C5, 0xC3C3C2C5, 0xC3C3C1C5, 0xC3C3C5C5,
|
||||
|
@ -225,7 +308,7 @@ unsigned int _$$R0004[256] = {
|
|||
};
|
||||
|
||||
// 0x51FC58
|
||||
unsigned int _$$R0063[256] = {
|
||||
static unsigned int _$$R0063[256] = {
|
||||
// clang-format off
|
||||
0xE3C3E3C3, 0xE3C7E3C3, 0xE3C1E3C3, 0xE3C5E3C3, 0xE7C3E3C3, 0xE7C7E3C3, 0xE7C1E3C3, 0xE7C5E3C3,
|
||||
0xE1C3E3C3, 0xE1C7E3C3, 0xE1C1E3C3, 0xE1C5E3C3, 0xE5C3E3C3, 0xE5C7E3C3, 0xE5C1E3C3, 0xE5C5E3C3,
|
||||
|
@ -263,180 +346,180 @@ unsigned int _$$R0063[256] = {
|
|||
};
|
||||
|
||||
// 0x6B3660
|
||||
int dword_6B3660;
|
||||
static int dword_6B3660;
|
||||
|
||||
#ifdef HAVE_DSOUND
|
||||
// 0x6B3668
|
||||
DSBCAPS stru_6B3668;
|
||||
static DSBCAPS stru_6B3668;
|
||||
#endif
|
||||
|
||||
// 0x6B367C
|
||||
int _sf_ScreenWidth;
|
||||
static int _sf_ScreenWidth;
|
||||
|
||||
// 0x6B3680
|
||||
int dword_6B3680;
|
||||
static int dword_6B3680;
|
||||
|
||||
// 0x6B3684
|
||||
int _rm_FrameDropCount;
|
||||
static int _rm_FrameDropCount;
|
||||
|
||||
// 0x6B3688
|
||||
int _snd_buf;
|
||||
static int _snd_buf;
|
||||
|
||||
// 0x6B3690
|
||||
STRUCT_6B3690 _io_mem_buf;
|
||||
static STRUCT_6B3690 _io_mem_buf;
|
||||
|
||||
// 0x6B369C
|
||||
int _io_next_hdr;
|
||||
static int _io_next_hdr;
|
||||
|
||||
// 0x6B36A0
|
||||
int dword_6B36A0;
|
||||
static int dword_6B36A0;
|
||||
|
||||
// 0x6B36A4
|
||||
int dword_6B36A4;
|
||||
static int dword_6B36A4;
|
||||
|
||||
// 0x6B36A8
|
||||
int _rm_FrameCount;
|
||||
static int _rm_FrameCount;
|
||||
|
||||
// 0x6B36AC
|
||||
int _sf_ScreenHeight;
|
||||
static int _sf_ScreenHeight;
|
||||
|
||||
// 0x6B36B0
|
||||
int dword_6B36B0;
|
||||
static int dword_6B36B0;
|
||||
|
||||
// 0x6B36B8
|
||||
unsigned char _palette_entries1[768];
|
||||
static unsigned char _palette_entries1[768];
|
||||
|
||||
// 0x6B39B8
|
||||
MallocProc* gMovieLibMallocProc;
|
||||
static MallocProc* gMovieLibMallocProc;
|
||||
|
||||
// 0x6B39BC
|
||||
int (*_rm_ctl)();
|
||||
static int (*_rm_ctl)();
|
||||
|
||||
// 0x6B39C0
|
||||
int _rm_dx;
|
||||
static int _rm_dx;
|
||||
|
||||
// 0x6B39C4
|
||||
int _rm_dy;
|
||||
static int _rm_dy;
|
||||
|
||||
// 0x6B39C8
|
||||
int _gSoundTimeBase;
|
||||
static int _gSoundTimeBase;
|
||||
|
||||
// 0x6B39CC
|
||||
int _io_handle;
|
||||
static int _io_handle;
|
||||
|
||||
// 0x6B39D0
|
||||
int _rm_len;
|
||||
static int _rm_len;
|
||||
|
||||
// 0x6B39D4
|
||||
FreeProc* gMovieLibFreeProc;
|
||||
static FreeProc* gMovieLibFreeProc;
|
||||
|
||||
// 0x6B39D8
|
||||
int _snd_comp;
|
||||
static int _snd_comp;
|
||||
|
||||
// 0x6B39DC
|
||||
unsigned char* _rm_p;
|
||||
static unsigned char* _rm_p;
|
||||
|
||||
// 0x6B39E0
|
||||
int dword_6B39E0[60];
|
||||
static int dword_6B39E0[60];
|
||||
|
||||
// 0x6B3AD0
|
||||
int _sync_wait_quanta;
|
||||
static int _sync_wait_quanta;
|
||||
|
||||
// 0x6B3AD4
|
||||
int dword_6B3AD4;
|
||||
static int dword_6B3AD4;
|
||||
|
||||
// 0x6B3AD8
|
||||
int _rm_track_bit;
|
||||
static int _rm_track_bit;
|
||||
|
||||
// 0x6B3ADC
|
||||
int _sync_time;
|
||||
static int _sync_time;
|
||||
|
||||
// 0x6B3AE0
|
||||
MovieReadProc* gMovieLibReadProc;
|
||||
static MovieReadProc* gMovieLibReadProc;
|
||||
|
||||
// 0x6B3AE4
|
||||
int dword_6B3AE4;
|
||||
static int dword_6B3AE4;
|
||||
|
||||
// 0x6B3AE8
|
||||
int dword_6B3AE8;
|
||||
static int dword_6B3AE8;
|
||||
|
||||
// 0x6B3CEC
|
||||
int dword_6B3CEC;
|
||||
static int dword_6B3CEC;
|
||||
|
||||
// 0x6B3CF0
|
||||
int dword_6B3CF0;
|
||||
static int dword_6B3CF0;
|
||||
|
||||
// 0x6B3CF4
|
||||
int dword_6B3CF4;
|
||||
static int dword_6B3CF4;
|
||||
|
||||
// 0x6B3CF8
|
||||
int dword_6B3CF8;
|
||||
static int dword_6B3CF8;
|
||||
|
||||
// 0x6B3CFC
|
||||
int _mveBW;
|
||||
static int _mveBW;
|
||||
|
||||
// 0x6B3D00
|
||||
int dword_6B3D00;
|
||||
static int dword_6B3D00;
|
||||
|
||||
// 0x6B3D04
|
||||
int dword_6B3D04;
|
||||
static int dword_6B3D04;
|
||||
|
||||
// 0x6B3D08
|
||||
int dword_6B3D08;
|
||||
static int dword_6B3D08;
|
||||
|
||||
// 0x6B3D0C
|
||||
unsigned char _pal_tbl[768];
|
||||
static unsigned char _pal_tbl[768];
|
||||
|
||||
// 0x6B400C
|
||||
unsigned char byte_6B400C;
|
||||
static unsigned char byte_6B400C;
|
||||
|
||||
// 0x6B400D
|
||||
unsigned char byte_6B400D;
|
||||
static unsigned char byte_6B400D;
|
||||
|
||||
// 0x6B400E
|
||||
int dword_6B400E;
|
||||
static int dword_6B400E;
|
||||
|
||||
// 0x6B4012
|
||||
int dword_6B4012;
|
||||
static int dword_6B4012;
|
||||
|
||||
// 0x6B4016
|
||||
unsigned char byte_6B4016;
|
||||
static unsigned char byte_6B4016;
|
||||
|
||||
// 0x6B4017
|
||||
int dword_6B4017;
|
||||
static int dword_6B4017;
|
||||
|
||||
// 0x6B401B
|
||||
int dword_6B401B;
|
||||
static int dword_6B401B;
|
||||
|
||||
// 0x6B401F
|
||||
int dword_6B401F;
|
||||
static int dword_6B401F;
|
||||
|
||||
// 0x6B4023
|
||||
int dword_6B4023;
|
||||
static int dword_6B4023;
|
||||
|
||||
// 0x6B4027
|
||||
int dword_6B4027;
|
||||
static int dword_6B4027;
|
||||
|
||||
// 0x6B402B
|
||||
int dword_6B402B;
|
||||
static int dword_6B402B;
|
||||
|
||||
// 0x6B402F
|
||||
int _mveBH;
|
||||
static int _mveBH;
|
||||
|
||||
// 0x6B4033
|
||||
unsigned char* gMovieDirectDrawSurfaceBuffer1;
|
||||
static unsigned char* gMovieDirectDrawSurfaceBuffer1;
|
||||
|
||||
// 0x6B4037
|
||||
unsigned char* gMovieDirectDrawSurfaceBuffer2;
|
||||
static unsigned char* gMovieDirectDrawSurfaceBuffer2;
|
||||
|
||||
// 0x6B403B
|
||||
int dword_6B403B;
|
||||
static int dword_6B403B;
|
||||
|
||||
// 0x6B403F
|
||||
int dword_6B403F;
|
||||
static int dword_6B403F;
|
||||
|
||||
SDL_Surface* gMovieSdlSurface1;
|
||||
SDL_Surface* gMovieSdlSurface2;
|
||||
static SDL_Surface* gMovieSdlSurface1;
|
||||
static SDL_Surface* gMovieSdlSurface2;
|
||||
|
||||
// 0x4F4800
|
||||
void movieLibSetMemoryProcs(MallocProc* mallocProc, FreeProc* freeProc)
|
||||
|
@ -452,7 +535,7 @@ void movieLibSetReadProc(MovieReadProc* readProc)
|
|||
}
|
||||
|
||||
// 0x4F4890
|
||||
void _MVE_MemInit(STRUCT_6B3690* a1, int a2, void* a3)
|
||||
static void _MVE_MemInit(STRUCT_6B3690* a1, int a2, void* a3)
|
||||
{
|
||||
if (a3 == NULL) {
|
||||
return;
|
||||
|
@ -466,7 +549,7 @@ void _MVE_MemInit(STRUCT_6B3690* a1, int a2, void* a3)
|
|||
}
|
||||
|
||||
// 0x4F48C0
|
||||
void _MVE_MemFree(STRUCT_6B3690* a1)
|
||||
static void _MVE_MemFree(STRUCT_6B3690* a1)
|
||||
{
|
||||
if (a1->field_8 && gMovieLibFreeProc != NULL) {
|
||||
gMovieLibFreeProc(a1->field_0);
|
||||
|
@ -538,7 +621,7 @@ void _MVE_sfCallbacks(MovieShowFrameProc* proc)
|
|||
}
|
||||
|
||||
// 0x4F4A00
|
||||
void _do_nothing_2(SDL_Surface* a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9)
|
||||
static void _do_nothing_2(SDL_Surface* a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -549,7 +632,7 @@ void movieLibSetPaletteEntriesProc(void (*fn)(unsigned char*, int, int))
|
|||
}
|
||||
|
||||
// 0x4F4B50
|
||||
int _sub_4F4B5()
|
||||
static int _sub_4F4B5()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
@ -612,7 +695,7 @@ int _MVE_rmPrepMovie(int fileHandle, int a2, int a3, char a4)
|
|||
}
|
||||
|
||||
// 0x4F4C90
|
||||
int _ioReset(int stream)
|
||||
static int _ioReset(int stream)
|
||||
{
|
||||
Mve* mve;
|
||||
|
||||
|
@ -647,7 +730,7 @@ int _ioReset(int stream)
|
|||
// Reads data from movie file.
|
||||
//
|
||||
// 0x4F4D00
|
||||
void* _ioRead(int size)
|
||||
static void* _ioRead(int size)
|
||||
{
|
||||
void* buf;
|
||||
|
||||
|
@ -660,7 +743,7 @@ void* _ioRead(int size)
|
|||
}
|
||||
|
||||
// 0x4F4D40
|
||||
void* _MVE_MemAlloc(STRUCT_6B3690* a1, unsigned int a2)
|
||||
static void* _MVE_MemAlloc(STRUCT_6B3690* a1, unsigned int a2)
|
||||
{
|
||||
void* ptr;
|
||||
|
||||
|
@ -687,7 +770,7 @@ void* _MVE_MemAlloc(STRUCT_6B3690* a1, unsigned int a2)
|
|||
}
|
||||
|
||||
// 0x4F4DA0
|
||||
unsigned char* _ioNextRecord()
|
||||
static unsigned char* _ioNextRecord()
|
||||
{
|
||||
unsigned char* buf;
|
||||
|
||||
|
@ -702,7 +785,7 @@ unsigned char* _ioNextRecord()
|
|||
}
|
||||
|
||||
// 0x4F4DD0
|
||||
void _sub_4F4DD()
|
||||
static void _sub_4F4DD()
|
||||
{
|
||||
if (dword_51EE20) {
|
||||
return;
|
||||
|
@ -714,7 +797,7 @@ void _sub_4F4DD()
|
|||
}
|
||||
|
||||
// 0x4F4E20
|
||||
int _MVE_rmHoldMovie()
|
||||
static int _MVE_rmHoldMovie()
|
||||
{
|
||||
if (!_rm_hold) {
|
||||
_MVE_sndPause();
|
||||
|
@ -725,7 +808,7 @@ int _MVE_rmHoldMovie()
|
|||
}
|
||||
|
||||
// 0x4F4E40
|
||||
int _syncWait()
|
||||
static int _syncWait()
|
||||
{
|
||||
int result;
|
||||
|
||||
|
@ -743,7 +826,7 @@ int _syncWait()
|
|||
}
|
||||
|
||||
// 0x4F4EA0
|
||||
void _MVE_sndPause()
|
||||
static void _MVE_sndPause()
|
||||
{
|
||||
#ifdef HAVE_DSOUND
|
||||
if (gMovieLibDirectSoundBuffer != NULL) {
|
||||
|
@ -1036,7 +1119,7 @@ LABEL_5:
|
|||
}
|
||||
|
||||
// 0x4F54F0
|
||||
int _syncInit(int a1, int a2)
|
||||
static int _syncInit(int a1, int a2)
|
||||
{
|
||||
int v2;
|
||||
|
||||
|
@ -1056,14 +1139,14 @@ int _syncInit(int a1, int a2)
|
|||
}
|
||||
|
||||
// 0x4F5540
|
||||
void _syncReset(int a1)
|
||||
static void _syncReset(int a1)
|
||||
{
|
||||
_sync_active = 1;
|
||||
_sync_time = -1000 * compat_timeGetTime() + a1;
|
||||
}
|
||||
|
||||
// 0x4F5570
|
||||
int _MVE_sndConfigure(int a1, int a2, int a3, int a4, int a5, int a6)
|
||||
static int _MVE_sndConfigure(int a1, int a2, int a3, int a4, int a5, int a6)
|
||||
{
|
||||
#ifdef HAVE_DSOUND
|
||||
DSBUFFERDESC dsbd;
|
||||
|
@ -1117,7 +1200,7 @@ int _MVE_sndConfigure(int a1, int a2, int a3, int a4, int a5, int a6)
|
|||
}
|
||||
|
||||
// 0x4F56C0
|
||||
void _MVE_syncSync()
|
||||
static void _MVE_syncSync()
|
||||
{
|
||||
if (_sync_active) {
|
||||
while (((_sync_time + 1000 * compat_timeGetTime()) & 0x80000000) != 0) {
|
||||
|
@ -1126,7 +1209,7 @@ void _MVE_syncSync()
|
|||
}
|
||||
|
||||
// 0x4F56F0
|
||||
void _MVE_sndReset()
|
||||
static void _MVE_sndReset()
|
||||
{
|
||||
#ifdef HAVE_DSOUND
|
||||
if (gMovieLibDirectSoundBuffer != NULL) {
|
||||
|
@ -1138,7 +1221,7 @@ void _MVE_sndReset()
|
|||
}
|
||||
|
||||
// 0x4F5720
|
||||
void _MVE_sndSync()
|
||||
static void _MVE_sndSync()
|
||||
{
|
||||
#ifdef HAVE_DSOUND
|
||||
DWORD dwCurrentPlayCursor;
|
||||
|
@ -1285,7 +1368,7 @@ void _MVE_sndSync()
|
|||
}
|
||||
|
||||
// 0x4F59B0
|
||||
int _syncWaitLevel(int a1)
|
||||
static int _syncWaitLevel(int a1)
|
||||
{
|
||||
int v2;
|
||||
int result;
|
||||
|
@ -1305,7 +1388,7 @@ int _syncWaitLevel(int a1)
|
|||
}
|
||||
|
||||
// 0x4F5A00
|
||||
void _CallsSndBuff_Loc(unsigned char* a1, int a2)
|
||||
static void _CallsSndBuff_Loc(unsigned char* a1, int a2)
|
||||
{
|
||||
#ifdef HAVE_DSOUND
|
||||
int v2;
|
||||
|
@ -1373,7 +1456,7 @@ void _CallsSndBuff_Loc(unsigned char* a1, int a2)
|
|||
}
|
||||
|
||||
// 0x4F5B70
|
||||
int _MVE_sndAdd(unsigned char* dest, unsigned char** src_ptr, int a3, int a4, int a5)
|
||||
static int _MVE_sndAdd(unsigned char* dest, unsigned char** src_ptr, int a3, int a4, int a5)
|
||||
{
|
||||
int v5;
|
||||
int v7;
|
||||
|
@ -1440,12 +1523,12 @@ int _MVE_sndAdd(unsigned char* dest, unsigned char** src_ptr, int a3, int a4, in
|
|||
}
|
||||
|
||||
// 0x4F5CA0
|
||||
void _MVE_sndResume()
|
||||
static void _MVE_sndResume()
|
||||
{
|
||||
}
|
||||
|
||||
// 0x4F5CB0
|
||||
int _nfConfig(int a1, int a2, int a3, int a4)
|
||||
static int _nfConfig(int a1, int a2, int a3, int a4)
|
||||
{
|
||||
if (gMovieSdlSurface1 != NULL) {
|
||||
SDL_FreeSurface(gMovieSdlSurface1);
|
||||
|
@ -1510,7 +1593,7 @@ int _nfConfig(int a1, int a2, int a3, int a4)
|
|||
}
|
||||
|
||||
// 0x4F5E60
|
||||
bool movieLockSurfaces()
|
||||
static bool movieLockSurfaces()
|
||||
{
|
||||
if (gMovieSdlSurface1 != NULL && gMovieSdlSurface2 != NULL) {
|
||||
if (SDL_LockSurface(gMovieSdlSurface1) != 0) {
|
||||
|
@ -1530,14 +1613,14 @@ bool movieLockSurfaces()
|
|||
}
|
||||
|
||||
// 0x4F5EF0
|
||||
void movieUnlockSurfaces()
|
||||
static void movieUnlockSurfaces()
|
||||
{
|
||||
SDL_UnlockSurface(gMovieSdlSurface1);
|
||||
SDL_UnlockSurface(gMovieSdlSurface2);
|
||||
}
|
||||
|
||||
// 0x4F5F20
|
||||
void movieSwapSurfaces()
|
||||
static void movieSwapSurfaces()
|
||||
{
|
||||
SDL_Surface* tmp = gMovieSdlSurface2;
|
||||
gMovieSdlSurface2 = gMovieSdlSurface1;
|
||||
|
@ -1545,7 +1628,7 @@ void movieSwapSurfaces()
|
|||
}
|
||||
|
||||
// 0x4F5F40
|
||||
void _sfShowFrame(int a1, int a2, int a3)
|
||||
static void _sfShowFrame(int a1, int a2, int a3)
|
||||
{
|
||||
int v3;
|
||||
int v4;
|
||||
|
@ -1598,12 +1681,12 @@ void _sfShowFrame(int a1, int a2, int a3)
|
|||
}
|
||||
|
||||
// 0x4F6080
|
||||
void _do_nothing_(int a1, int a2, unsigned short* a3)
|
||||
static void _do_nothing_(int a1, int a2, unsigned short* a3)
|
||||
{
|
||||
}
|
||||
|
||||
// 0x4F6090
|
||||
void _SetPalette_1(int a1, int a2)
|
||||
static void _SetPalette_1(int a1, int a2)
|
||||
{
|
||||
if (!dword_6B4027) {
|
||||
_pal_SetPalette(_pal_tbl, a1, a2);
|
||||
|
@ -1611,7 +1694,7 @@ void _SetPalette_1(int a1, int a2)
|
|||
}
|
||||
|
||||
// 0x4F60C0
|
||||
void _SetPalette_(int a1, int a2)
|
||||
static void _SetPalette_(int a1, int a2)
|
||||
{
|
||||
if (!dword_6B4027) {
|
||||
_pal_SetPalette(_palette_entries1, a1, a2);
|
||||
|
@ -1619,7 +1702,7 @@ void _SetPalette_(int a1, int a2)
|
|||
}
|
||||
|
||||
// 0x4F60F0
|
||||
void _palMakeSynthPalette(int a1, int a2, int a3, int a4, int a5, int a6)
|
||||
static void _palMakeSynthPalette(int a1, int a2, int a3, int a4, int a5, int a6)
|
||||
{
|
||||
int i;
|
||||
int j;
|
||||
|
@ -1642,7 +1725,7 @@ void _palMakeSynthPalette(int a1, int a2, int a3, int a4, int a5, int a6)
|
|||
}
|
||||
|
||||
// 0x4F6210
|
||||
void _palLoadPalette(unsigned char* palette, int a2, int a3)
|
||||
static void _palLoadPalette(unsigned char* palette, int a2, int a3)
|
||||
{
|
||||
memcpy(_pal_tbl + 3 * a2, palette, 3 * a3);
|
||||
}
|
||||
|
@ -1659,7 +1742,7 @@ void _MVE_rmEndMovie()
|
|||
}
|
||||
|
||||
// 0x4F6270
|
||||
void _syncRelease()
|
||||
static void _syncRelease()
|
||||
{
|
||||
_sync_active = 0;
|
||||
}
|
||||
|
@ -1674,18 +1757,18 @@ void _MVE_ReleaseMem()
|
|||
}
|
||||
|
||||
// 0x4F6370
|
||||
void _ioRelease()
|
||||
static void _ioRelease()
|
||||
{
|
||||
_MVE_MemFree(&_io_mem_buf);
|
||||
}
|
||||
|
||||
// 0x4F6380
|
||||
void _MVE_sndRelease()
|
||||
static void _MVE_sndRelease()
|
||||
{
|
||||
}
|
||||
|
||||
// 0x4F6390
|
||||
void _nfRelease()
|
||||
static void _nfRelease()
|
||||
{
|
||||
if (gMovieSdlSurface1 != NULL) {
|
||||
SDL_FreeSurface(gMovieSdlSurface1);
|
||||
|
@ -1699,7 +1782,7 @@ void _nfRelease()
|
|||
}
|
||||
|
||||
// 0x4F6550
|
||||
void _frLoad(STRUCT_4F6930* a1)
|
||||
static void _frLoad(STRUCT_4F6930* a1)
|
||||
{
|
||||
gMovieLibReadProc = a1->readProc;
|
||||
_io_mem_buf.field_0 = a1->field_8.field_0;
|
||||
|
@ -1724,7 +1807,7 @@ void _frLoad(STRUCT_4F6930* a1)
|
|||
}
|
||||
|
||||
// 0x4F6610
|
||||
void _frSave(STRUCT_4F6930* a1)
|
||||
static void _frSave(STRUCT_4F6930* a1)
|
||||
{
|
||||
STRUCT_6B3690* ptr;
|
||||
|
||||
|
@ -1752,7 +1835,7 @@ void _frSave(STRUCT_4F6930* a1)
|
|||
}
|
||||
|
||||
// 0x4F6930
|
||||
void _MVE_frClose(STRUCT_4F6930* a1)
|
||||
static void _MVE_frClose(STRUCT_4F6930* a1)
|
||||
{
|
||||
STRUCT_4F6930 v1;
|
||||
|
||||
|
@ -1768,7 +1851,7 @@ void _MVE_frClose(STRUCT_4F6930* a1)
|
|||
}
|
||||
|
||||
// 0x4F697C
|
||||
int _MVE_sndDecompM16(unsigned short* a1, unsigned char* a2, int a3, int a4)
|
||||
static int _MVE_sndDecompM16(unsigned short* a1, unsigned char* a2, int a3, int a4)
|
||||
{
|
||||
int i;
|
||||
int v8;
|
||||
|
@ -1787,7 +1870,7 @@ int _MVE_sndDecompM16(unsigned short* a1, unsigned char* a2, int a3, int a4)
|
|||
}
|
||||
|
||||
// 0x4F69AD
|
||||
int _MVE_sndDecompS16(unsigned short* a1, unsigned char* a2, int a3, int a4)
|
||||
static int _MVE_sndDecompS16(unsigned short* a1, unsigned char* a2, int a3, int a4)
|
||||
{
|
||||
int i;
|
||||
unsigned short v4;
|
||||
|
@ -1812,7 +1895,7 @@ int _MVE_sndDecompS16(unsigned short* a1, unsigned char* a2, int a3, int a4)
|
|||
}
|
||||
|
||||
// 0x4F731D
|
||||
void _nfPkConfig()
|
||||
static void _nfPkConfig()
|
||||
{
|
||||
int* ptr;
|
||||
int v1;
|
||||
|
@ -1842,7 +1925,7 @@ void _nfPkConfig()
|
|||
}
|
||||
|
||||
// 0x4F7359
|
||||
void _nfPkDecomp(unsigned char* a1, unsigned char* a2, int a3, int a4, int a5, int a6)
|
||||
static void _nfPkDecomp(unsigned char* a1, unsigned char* a2, int a3, int a4, int a5, int a6)
|
||||
{
|
||||
int v49;
|
||||
unsigned char* dest;
|
||||
|
|
170
src/movie_lib.h
170
src/movie_lib.h
|
@ -6,140 +6,11 @@
|
|||
|
||||
#include <SDL.h>
|
||||
|
||||
typedef struct STRUCT_6B3690 {
|
||||
void* field_0;
|
||||
int field_4;
|
||||
int field_8;
|
||||
} STRUCT_6B3690;
|
||||
|
||||
#pragma pack(2)
|
||||
typedef struct Mve {
|
||||
char sig[20];
|
||||
short field_14;
|
||||
short field_16;
|
||||
short field_18;
|
||||
int field_1A;
|
||||
} Mve;
|
||||
#pragma pack()
|
||||
|
||||
typedef bool MovieReadProc(int fileHandle, void* buffer, int count);
|
||||
typedef void(MovieShowFrameProc)(SDL_Surface*, int, int, int, int, int, int, int, int);
|
||||
|
||||
typedef struct STRUCT_4F6930 {
|
||||
int field_0;
|
||||
MovieReadProc* readProc;
|
||||
STRUCT_6B3690 field_8;
|
||||
int fileHandle;
|
||||
int field_18;
|
||||
SDL_Surface* field_24;
|
||||
SDL_Surface* field_28;
|
||||
int field_2C;
|
||||
unsigned char* field_30;
|
||||
unsigned char* field_34;
|
||||
unsigned char field_38;
|
||||
unsigned char field_39;
|
||||
unsigned char field_3A;
|
||||
unsigned char field_3B;
|
||||
int field_3C;
|
||||
int field_40;
|
||||
int field_44;
|
||||
int field_48;
|
||||
int field_4C;
|
||||
int field_50;
|
||||
} STRUCT_4F6930;
|
||||
|
||||
extern int dword_51EBD8;
|
||||
extern int dword_51EBDC;
|
||||
extern unsigned short word_51EBE0[256];
|
||||
extern int _sync_active;
|
||||
extern int _sync_late;
|
||||
extern int _sync_FrameDropped;
|
||||
#ifdef HAVE_DSOUND
|
||||
extern LPDIRECTSOUND gMovieLibDirectSound;
|
||||
extern LPDIRECTSOUNDBUFFER gMovieLibDirectSoundBuffer;
|
||||
#endif
|
||||
extern int gMovieLibVolume;
|
||||
extern int gMovieLibPan;
|
||||
extern MovieShowFrameProc* _sf_ShowFrame;
|
||||
extern int dword_51EE0C;
|
||||
extern void (*_pal_SetPalette)(unsigned char*, int, int);
|
||||
extern int _rm_hold;
|
||||
extern int _rm_active;
|
||||
extern bool dword_51EE20;
|
||||
extern int dword_51F018[256];
|
||||
extern unsigned short word_51F418[256];
|
||||
extern unsigned short word_51F618[256];
|
||||
extern unsigned int _$$R0053[16];
|
||||
extern unsigned int _$$R0004[256];
|
||||
extern unsigned int _$$R0063[256];
|
||||
|
||||
extern int dword_6B3660;
|
||||
#ifdef HAVE_DSOUND
|
||||
extern DSBCAPS stru_6B3668;
|
||||
#endif
|
||||
extern int _sf_ScreenWidth;
|
||||
extern int dword_6B3680;
|
||||
extern int _rm_FrameDropCount;
|
||||
extern int _snd_buf;
|
||||
extern STRUCT_6B3690 _io_mem_buf;
|
||||
extern int _io_next_hdr;
|
||||
extern int dword_6B36A0;
|
||||
extern int dword_6B36A4;
|
||||
extern int _rm_FrameCount;
|
||||
extern int _sf_ScreenHeight;
|
||||
extern int dword_6B36B0;
|
||||
extern unsigned char _palette_entries1[768];
|
||||
extern MallocProc* gMovieLibMallocProc;
|
||||
extern int (*_rm_ctl)();
|
||||
extern int _rm_dx;
|
||||
extern int _rm_dy;
|
||||
extern int _gSoundTimeBase;
|
||||
extern int _io_handle;
|
||||
extern int _rm_len;
|
||||
extern FreeProc* gMovieLibFreeProc;
|
||||
extern int _snd_comp;
|
||||
extern unsigned char* _rm_p;
|
||||
extern int dword_6B39E0[60];
|
||||
extern int _sync_wait_quanta;
|
||||
extern int dword_6B3AD4;
|
||||
extern int _rm_track_bit;
|
||||
extern int _sync_time;
|
||||
extern MovieReadProc* gMovieLibReadProc;
|
||||
extern int dword_6B3AE4;
|
||||
extern int dword_6B3AE8;
|
||||
extern int dword_6B3CEC;
|
||||
extern int dword_6B3CF0;
|
||||
extern int dword_6B3CF4;
|
||||
extern int dword_6B3CF8;
|
||||
extern int _mveBW;
|
||||
extern int dword_6B3D00;
|
||||
extern int dword_6B3D04;
|
||||
extern int dword_6B3D08;
|
||||
extern unsigned char _pal_tbl[768];
|
||||
extern unsigned char byte_6B400C;
|
||||
extern unsigned char byte_6B400D;
|
||||
extern int dword_6B400E;
|
||||
extern int dword_6B4012;
|
||||
extern unsigned char byte_6B4016;
|
||||
extern int dword_6B4017;
|
||||
extern int dword_6B401B;
|
||||
extern int dword_6B401F;
|
||||
extern int dword_6B4023;
|
||||
extern int dword_6B4027;
|
||||
extern int dword_6B402B;
|
||||
extern int _mveBH;
|
||||
extern unsigned char* gMovieDirectDrawSurfaceBuffer1;
|
||||
extern unsigned char* gMovieDirectDrawSurfaceBuffer2;
|
||||
extern int dword_6B403B;
|
||||
extern int dword_6B403F;
|
||||
|
||||
extern SDL_Surface* gMovieSdlSurface1;
|
||||
extern SDL_Surface* gMovieSdlSurface2;
|
||||
|
||||
void movieLibSetMemoryProcs(MallocProc* mallocProc, FreeProc* freeProc);
|
||||
void movieLibSetReadProc(MovieReadProc* readProc);
|
||||
void _MVE_MemInit(STRUCT_6B3690* a1, int a2, void* a3);
|
||||
void _MVE_MemFree(STRUCT_6B3690* a1);
|
||||
#ifdef HAVE_DSOUND
|
||||
void movieLibSetDirectSound(LPDIRECTSOUND ds);
|
||||
#endif
|
||||
|
@ -147,54 +18,13 @@ void movieLibSetVolume(int volume);
|
|||
void movieLibSetPan(int pan);
|
||||
void _MVE_sfSVGA(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9);
|
||||
void _MVE_sfCallbacks(MovieShowFrameProc* proc);
|
||||
void _do_nothing_2(SDL_Surface* a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9);
|
||||
void movieLibSetPaletteEntriesProc(void (*fn)(unsigned char*, int, int));
|
||||
int _sub_4F4B5();
|
||||
void _MVE_rmCallbacks(int (*fn)());
|
||||
void _sub_4F4BB(int a1);
|
||||
void _MVE_rmFrameCounts(int* a1, int* a2);
|
||||
int _MVE_rmPrepMovie(int fileHandle, int a2, int a3, char a4);
|
||||
int _ioReset(int fileHandle);
|
||||
void* _ioRead(int size);
|
||||
void* _MVE_MemAlloc(STRUCT_6B3690* a1, unsigned int a2);
|
||||
unsigned char* _ioNextRecord();
|
||||
void _sub_4F4DD();
|
||||
int _MVE_rmHoldMovie();
|
||||
int _syncWait();
|
||||
void _MVE_sndPause();
|
||||
int _MVE_rmStepMovie();
|
||||
int _syncInit(int a1, int a2);
|
||||
void _syncReset(int a1);
|
||||
int _MVE_sndConfigure(int a1, int a2, int a3, int a4, int a5, int a6);
|
||||
void _MVE_syncSync();
|
||||
void _MVE_sndReset();
|
||||
void _MVE_sndSync();
|
||||
int _syncWaitLevel(int a1);
|
||||
void _CallsSndBuff_Loc(unsigned char* a1, int a2);
|
||||
int _MVE_sndAdd(unsigned char* dest, unsigned char** src_ptr, int a3, int a4, int a5);
|
||||
void _MVE_sndResume();
|
||||
int _nfConfig(int a1, int a2, int a3, int a4);
|
||||
bool movieLockSurfaces();
|
||||
void movieUnlockSurfaces();
|
||||
void movieSwapSurfaces();
|
||||
void _sfShowFrame(int a1, int a2, int a3);
|
||||
void _do_nothing_(int a1, int a2, unsigned short* a3);
|
||||
void _SetPalette_1(int a1, int a2);
|
||||
void _SetPalette_(int a1, int a2);
|
||||
void _palMakeSynthPalette(int a1, int a2, int a3, int a4, int a5, int a6);
|
||||
void _palLoadPalette(unsigned char* palette, int a2, int a3);
|
||||
void _MVE_rmEndMovie();
|
||||
void _syncRelease();
|
||||
void _MVE_ReleaseMem();
|
||||
void _ioRelease();
|
||||
void _MVE_sndRelease();
|
||||
void _nfRelease();
|
||||
void _frLoad(STRUCT_4F6930* a1);
|
||||
void _frSave(STRUCT_4F6930* a1);
|
||||
void _MVE_frClose(STRUCT_4F6930* a1);
|
||||
int _MVE_sndDecompM16(unsigned short* a1, unsigned char* a2, int a3, int a4);
|
||||
int _MVE_sndDecompS16(unsigned short* a1, unsigned char* a2, int a3, int a4);
|
||||
void _nfPkConfig();
|
||||
void _nfPkDecomp(unsigned char* buf, unsigned char* a2, int a3, int a4, int a5, int a6);
|
||||
|
||||
#endif /* MOVIE_LIB_H */
|
||||
|
|
Loading…
Reference in New Issue