Blown Away - The Interactive Game
Technical Analysis and Fan Page

Content for everyone

Technical stuff

Links

YouTube Videos

(German or English)

ANIMDLL.dll

Version 1a (download, full disasm)

BA Retail versions:
1994-10-05 14:32:34
Size: 1686 bytes
MD5 sum: fa91c98711e5d6ba89b5d0cfa438874a

Initial version with following functions:

Version 1b (download, full disasm)

BA Demo and Special Edition:
1994-11-29 15:44:00
Size: 1646
MD5 sum: 4c93de0157eb5ba9c42bf290249a2c3c

Modified functions:

  • UNLOAD_SOUND
    • Returns AX<>0 if there was something available to unload, instead of always returning AX=0 (Is that a change that could be useful for BA retail??)
  • PLAY_SOUND
    • The flag "SND_NODEFAULT" was added to the function call MMSYSTEM.SNDPLAYSOUND, which means if the sound cannot be found, PlaySound returns silently without playing the default sound. (It is very likely that this is a bugfix that would also be useful for the retail BA)

Version 2 (download, full disasm)

Panic in the Park + Waldo 1:
1995-05-10 17:14
Size: 1796 bytes
MD5 sum: 4dd2c6453cb3d5a7fb8a2b7e848a42f2

NOT compatible with Blown Away!

Modified functions:

  • LOAD_SOUND
    • Argument added: BOOL bShowLoadErrorMessage that defines if message "Could not load sound" is shown
  • OPEN_IPMA_DLL
    • Argument added: DWORD fccHandler that gets passed to MSVIDEO.ICOPEN
    • The compressor will receive MSVIDEO.ICSENDMESSAGE(hic, msg=5001h, dw1=argument, dw2=0000:003Ah) instead of MSVIDEO.ICSENDMESSAGE(hic, msg=5001h, dw1=argument, dw2=0000:0022h) (Is that a change that could be useful for BA??)
  • CLOSE_IPMA_DLL
    • The compressor will receive MSVIDEO.ICSENDMESSAGE(hic, msg=5001h, dw1=argument, dw2=0000:003Ah) instead of MSVIDEO.ICSENDMESSAGE(hic, msg=5001h, dw1=argument, dw2=0000:0022h) (Is that a change that could be useful for BA??)
  • TEST_VIDEO_DLL
    • Argument added: DWORD fccHandler that gets passed to MSVIDEO.ICOPEN
    • Argument added: BOOL bCheckVfW to control wheather IV32 gets checked or not
    • Previous behavior: The function checked the codecs vidc:IV32 and then vidc.IPMA.
    • New behavior: The function checks the codecs vidc:IV32 and then vidc:argument1. If argument2 is 0, then the IV32 check will be skipped.

New functions (stubs that always return 0):

Headers

// TODO: Return values unknown
// TODO: Order of arguments and calling convention unknown


// Unknown usage
WORD? FAR PASCAL TIMERDLL_PROC(DWORD unknown);

// Only displays a message box "Test Running" with caption "AnimDLL16" and does nothing else.
WORD? 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(DWORD dwSendMessageDw1, DWORD fccHandler);
#else
WORD? FAR PASCAL OPEN_IPMA_DLL(DWORD dwSendMessageDw1);
#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
WORD? FAR PASCAL TEST_VIDEO_DLL(BOOL bCheckVfW, DWORD fccHandler);
#else
WORD? 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);


© 2020 Daniel Marschall - - www.daniel-marschall.de

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