Content for everyone
Technical stuff
Links
YouTube Videos
|
ANIMDLL.dllVersion 1a (download, full disasm)BA Retail versions: 1994-10-05 14:32:34 Size: 1686 bytes MD5 sum: fa91c98711e5d6ba89b5d0cfa438874a Initial version with the following functions:
Version 1b (download, full disasm)BA Demo and Special Edition: 1994-11-29 15:44:00 Size: 1646 MD5 sum: 4c93de0157eb5ba9c42bf290249a2c3c This DLL is fully compatible with the retail version and has small improvements. Therefore it should be used instead of the original DLL of October 1994. Modified functions:
Version 2 (download, full disasm)Panic in the Park + Waldo 1: 1995-05-10 17:14 Size: 1796 bytes MD5 sum: 4dd2c6453cb3d5a7fb8a2b7e848a42f2 This DLL is NOT compatible with Blown Away and vice versa! Modified functions:
New functions (stubs that always return 0):
C-style Headers// TODO: Return values unknown // TODO: Order of arguments and calling convention unknown // PIP = "Panic in the Park" // otherwise, "Blown Away" #define PIP typedef tagIPMA_CONFIG_DATA { DWORD fccSignature; // "SUGR" set by game. Can also be "IPMA" #ifdef PIP // Unknown data structure. Size: 3Ah (including signature) #else // Unknown data structure. Size: 22h (including signature) #endif } IPMA_CONFIG_DATA; // Possibly a TIMERPROC as required by the WinAPI function SetTimer, listens to nIDEvent = 'ANIM'. VOID CALLBACK TIMERDLL_PROC(HWND hWnd, UINT uMsg, UINT_PTR nIDEvent, DWORD dwTime); // Only displays a message box "Test Running" with caption "AnimDLL16" and does nothing else. // Returns the result of MessageBox() int FAR PASCAL TIMERDLL_TEST(); // Loads a sound file and returns a memory handle #ifdef PIP HGLOBAL FAR PASCAL LOAD_SOUND(LPSTR pszFileName, BOOL bShowErrorMsg); #else HGLOBAL FAR PASCAL LOAD_SOUND(LPSTR pszFileName); #endif // Unloads a sound identified by a memory handle WORD? FAR PASCAL UNLOAD_SOUND(HGLOBAL hMem); // Plays a sound identified by a memory handle WORD? FAR PASCAL PLAY_SOUND(HGLOBAL hMem, BOOL bLoop); // Opens the codec #ifdef PIP WORD? FAR PASCAL OPEN_IPMA_DLL(IPMA_CONFIG_DATA* configData, DWORD fccHandler); #else WORD? FAR PASCAL OPEN_IPMA_DLL(IPMA_CONFIG_DATA* configData); #endif // Closes the codec WORD? FAR PASCAL CLOSE_IPMA_DLL(DWORD dwSendMessageDw1); // Checks if the codecs "IV32" (requires Video for Windows) and "IPMA" (requires game setup) are installed. #ifdef PIP #define CHECKMODE_VFW 1 #define CHECKMODE_SECONDARY 2 #define CHECKMODE_BOTH CHECKMODE_VFW|CHECKMODE_SECONDARY BOOL FAR PASCAL TEST_VIDEO_DLL(DWORD dwCheckMode, DWORD fccHandlerSecondary); #else BOOL FAR PASCAL TEST_VIDEO_DLL(); #endif #ifdef PIP // Unknown usage. It always returns 0. WORD? FAR PASCAL INIT_FLI(); // Unknown usage. It always returns 0. WORD? FAR PASCAL END_FLI(); // Unknown usage. It always returns 0. WORD? FAR PASCAL PLAY_FLI(WORD unknown1, WORD unknown2); // Unknown usage. It always returns 0. WORD? FAR PASCAL STATUS_FLI(WORD unknown1); // Unknown usage. It always returns 0. WORD? FAR PASCAL STOP_FLI(WORD unknown1); #endif // WEP is the Windows Exit Procedure. // It always returns the value 1. WORD? FAR PASCAL WEP(BOOL fSystemExit); |
Please also see my pages for other Imagination Pilots games: Blown Away | Panic in the Park | Waldo at the Circus | Waldo Exploring Geography | Eraser Turnabout | Virtual K'Nex |