mirror of
https://github.com/sfall-team/sfall.git
synced 2026-07-27 16:52:34 -07:00
Improved the avi playback function
This commit is contained in:
@@ -68,6 +68,7 @@ WRAP_WATCOM_FUNC1(void, gdialogDisplayMsg, const char*, message)
|
||||
WRAP_WATCOM_FUNC0(long, gmouse_3d_get_mode)
|
||||
WRAP_WATCOM_FUNC1(void, gmouse_3d_set_mode, long, mode)
|
||||
WRAP_WATCOM_FUNC1(long, gmouse_set_cursor, long, picNum)
|
||||
WRAP_WATCOM_FUNC1(long, gsound_background_volume_get_set, long, setVolume)
|
||||
WRAP_WATCOM_FUNC1(Window*, GNW_find, long, winRef)
|
||||
WRAP_WATCOM_FUNC2(long, intface_get_attack, DWORD*, hitMode, DWORD*, isSecondary)
|
||||
WRAP_WATCOM_FUNC0(long, intface_is_item_right_hand)
|
||||
|
||||
@@ -214,6 +214,7 @@
|
||||
#define FO_VAR_stack_offset 0x59E844
|
||||
#define FO_VAR_stat_data 0x51D53C
|
||||
#define FO_VAR_stat_flag 0x66452A
|
||||
#define FO_VAR_subtitles 0x663974
|
||||
#define FO_VAR_sWindows 0x6727B0
|
||||
#define FO_VAR_Tag_ 0x5708B0
|
||||
#define FO_VAR_tag_skill 0x668070
|
||||
|
||||
+162
-73
File diff suppressed because it is too large
Load Diff
@@ -47,6 +47,11 @@ public:
|
||||
static void SetHeadTex(IDirect3DTexture9* tex, int width, int height, int xoff, int yoff, int showHighlight);
|
||||
static void SetHeadTechnique();
|
||||
static void SetDefaultTechnique();
|
||||
|
||||
static void ShowMovieFrame();
|
||||
static void SetMovieTexture(IDirect3DTexture9* tex);
|
||||
|
||||
static bool PlayAviMovie;
|
||||
};
|
||||
|
||||
extern IDirect3D9* d3d9;
|
||||
@@ -55,9 +60,6 @@ extern IDirect3DDevice9* d3d9Device;
|
||||
int _stdcall GetShaderVersion();
|
||||
|
||||
void RefreshGraphics();
|
||||
void GetFalloutWindowInfo(DWORD* width, DWORD* height, HWND* window);
|
||||
|
||||
void SetMovieTexture(void* tex);
|
||||
void _stdcall PlayMovieFrame();
|
||||
HWND GetFalloutWindowInfo(RECT* rect);
|
||||
|
||||
}
|
||||
|
||||
+277
-171
File diff suppressed because it is too large
Load Diff
+10
-6
@@ -84,13 +84,13 @@ __declspec(naked) void FakeDirectDrawEnumerateW() {
|
||||
_asm jmp [ddraw.DirectDrawEnumerateW];
|
||||
}
|
||||
|
||||
//__declspec(naked) void FakeDllCanUnloadNow() {
|
||||
// _asm jmp [ddraw.DllCanUnloadNow];
|
||||
//}
|
||||
__declspec(naked) void FakeDllCanUnloadNow() {
|
||||
_asm jmp [ddraw.DllCanUnloadNow];
|
||||
}
|
||||
|
||||
//__declspec(naked) void FakeDllGetClassObject() {
|
||||
// _asm jmp [ddraw.DllGetClassObject];
|
||||
//}
|
||||
__declspec(naked) void FakeDllGetClassObject() {
|
||||
_asm jmp [ddraw.DllGetClassObject];
|
||||
}
|
||||
|
||||
__declspec(naked) void FakeGetDDSurfaceLocal() {
|
||||
_asm jmp [ddraw.GetDDSurfaceLocal];
|
||||
@@ -111,3 +111,7 @@ __declspec(naked) void FakeRegisterSpecialCase() {
|
||||
__declspec(naked) void FakeReleaseDDThreadLock() {
|
||||
_asm jmp [ddraw.ReleaseDDThreadLock];
|
||||
}
|
||||
|
||||
__declspec(naked) void FakeSetAppCompatData() {
|
||||
_asm jmp [ddraw.SetAppCompatData];
|
||||
}
|
||||
|
||||
+6
-4
@@ -16,13 +16,15 @@ DirectDrawEnumerateA = FakeDirectDrawEnumerateA @12
|
||||
DirectDrawEnumerateExA = FakeDirectDrawEnumerateExA @13
|
||||
DirectDrawEnumerateExW = FakeDirectDrawEnumerateExW @14
|
||||
DirectDrawEnumerateW = FakeDirectDrawEnumerateW @15
|
||||
;DllCanUnloadNow = FakeDllCanUnloadNow @16
|
||||
;DllGetClassObject = FakeDllGetClassObject @17
|
||||
DllCanUnloadNow = FakeDllCanUnloadNow PRIVATE
|
||||
DllGetClassObject = FakeDllGetClassObject PRIVATE
|
||||
GetDDSurfaceLocal = FakeGetDDSurfaceLocal @18
|
||||
GetOLEThunkData = FakeGetOLEThunkData @19
|
||||
GetSurfaceFromDC = FakeGetSurfaceFromDC @20
|
||||
RegisterSpecialCase = FakeRegisterSpecialCase @21
|
||||
ReleaseDDThreadLock = FakeReleaseDDThreadLock @22
|
||||
SetAppCompatData = FakeSetAppCompatData @23
|
||||
|
||||
DirectDrawCreat2 = FakeDirectDrawCreate2
|
||||
DirectInputCreateA = FakeDirectInputCreate
|
||||
; sfall override
|
||||
DirectDrawCreat2 = FakeDirectDrawCreate2 @24
|
||||
DirectInputCreateA = FakeDirectInputCreate @25
|
||||
|
||||
+3
-2
@@ -353,13 +353,14 @@ static bool LoadOriginalDll(DWORD dwReason) {
|
||||
ddraw.DirectDrawEnumerateExA = GetProcAddress(ddraw.dll, "DirectDrawEnumerateExA");
|
||||
ddraw.DirectDrawEnumerateExW = GetProcAddress(ddraw.dll, "DirectDrawEnumerateExW");
|
||||
ddraw.DirectDrawEnumerateW = GetProcAddress(ddraw.dll, "DirectDrawEnumerateW");
|
||||
//ddraw.DllCanUnloadNow = GetProcAddress(ddraw.dll, "DllCanUnloadNow");
|
||||
//ddraw.DllGetClassObject = GetProcAddress(ddraw.dll, "DllGetClassObject");
|
||||
ddraw.DllCanUnloadNow = GetProcAddress(ddraw.dll, "DllCanUnloadNow");
|
||||
ddraw.DllGetClassObject = GetProcAddress(ddraw.dll, "DllGetClassObject");
|
||||
ddraw.GetDDSurfaceLocal = GetProcAddress(ddraw.dll, "GetDDSurfaceLocal");
|
||||
ddraw.GetOLEThunkData = GetProcAddress(ddraw.dll, "GetOLEThunkData");
|
||||
ddraw.GetSurfaceFromDC = GetProcAddress(ddraw.dll, "GetSurfaceFromDC");
|
||||
ddraw.RegisterSpecialCase = GetProcAddress(ddraw.dll, "RegisterSpecialCase");
|
||||
ddraw.ReleaseDDThreadLock = GetProcAddress(ddraw.dll, "ReleaseDDThreadLock");
|
||||
ddraw.SetAppCompatData = GetProcAddress(ddraw.dll, "SetAppCompatData");
|
||||
}
|
||||
return true;
|
||||
case DLL_PROCESS_DETACH:
|
||||
|
||||
+3
-2
@@ -51,12 +51,13 @@ struct ddrawDll {
|
||||
FARPROC DirectDrawEnumerateA;
|
||||
FARPROC DirectDrawEnumerateExW;
|
||||
FARPROC DirectDrawEnumerateW;
|
||||
//FARPROC DllCanUnloadNow;
|
||||
//FARPROC DllGetClassObject;
|
||||
FARPROC DllCanUnloadNow;
|
||||
FARPROC DllGetClassObject;
|
||||
FARPROC GetDDSurfaceLocal;
|
||||
FARPROC GetOLEThunkData;
|
||||
FARPROC GetSurfaceFromDC;
|
||||
FARPROC RegisterSpecialCase;
|
||||
FARPROC SetAppCompatData;
|
||||
};
|
||||
|
||||
namespace sfall
|
||||
|
||||
Reference in New Issue
Block a user