Cleanup movie_lib.h

See #42
This commit is contained in:
Alexander Batalov 2022-06-19 14:21:01 +03:00
parent 7796fcd6a8
commit ce0f7f8091
2 changed files with 207 additions and 294 deletions

View File

@ -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;

View File

@ -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 */