If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Aviation Adventure

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Aviation Adventure

Developer: Knowledge Adventure
Platforms: DOS, Windows, Mac OS Classic
Released internationally: 1994


SourceIcon.png This game has uncompiled source code.
TextIcon.png This game has unused text.
Carts.png This game has revisional differences.


An educational game about aviation... and kludges.

Uncompiled source code

Game assets are packed in the archive aviation, which can be extracted with a QuickBMS script.

Interactivity is defined in .PAC files, which are a binary representation of .ACE source files. While the original retail build (dated 1994-11-08) only contains .PAC files, OEM builds (dated 1994-12-15 and later) also contain the corresponding .ACE files.

Unseen Text

When objects in a screen are interacted with the mouse, a text balloon usually pops up. However, there are some balloon objects that are created but never shown, apparently to work around rendering issues. These are defined in several files:

MAIN/MAIN.ACE

Make a balloon of "I really hate stupid palette tricks and I don't
believe that they've fixed it" using system's notePen at 320,240.

PLANEREF/PLANEREF.ACE

Make a balloon of "HI THERE.  THIS IS A MUCH LONGER NOTE SO THAT I DON'T GET AS MUCH FLICKERING IN THE DAMN PALETTE!" using system's notePen at 320,240.

LAB/LABMENU.ACE

// the following is a kludge to try to improve performance
Make a balloon of "I'm not David Letterman and I don't like stupid palette tricks!"
using system's notepen at 0,0.

LAB/LAB.ACE

// the following is a kluge to try to improve performance
// Make a burgundy rectangle from 0,0 to 640,1.  // more stupid palette tricks!
Make a balloon of "I am still not David Letterman and I'm not impressed by stupid palette tricks!"
using system's notepen at 0,0.

MAGICDEM/MAGICDEM.ACE

Make a balloon of "I hate stupid palette tricks so very, very much!!!" using notepen at 320,240.

MAIN/MAIN.ACE

Make a textbox named kludge of eng\text\kludge.txt using clickPen
  from 0,0 to 320,240.

MAIN/ENG/TEXT/KLUDGE.TXT

This is a kludgie textbox to stop palette flashing.

Debug functions

Elementary, my dear Cactus.
This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: Handlers for these commands are likely implemented in the acer.exe interpreter. Figure out the binary format for these commands, then patch them in one of the .PAC files.

Some commented out keybinds to trigger debug functions:

MAIN/MAIN.ACE

[---------------------------------------
// DEBUG!
When keyed by the F3 key,
Print "Be patient...".
Report memcache use.

When keyed by the F4 key,
Print "Be patient...".
Report mempool use.

When keyed by the F5 key,
Collect garbage.

When keyed by the F6 key,
Print "mempool:".
Check mempool integrity.
Print "OK".

When keyed by the F7 key,
Print "memcache:".
Check memcache integrity.
Print "OK".

When keyed by the F8 key,
Turn tracing on.

When keyed by the F9 key,
Turn tracing off.

When keyed by the F11 key,
Print "mempool used:".
Print the number of mempool bytes used.
Print "mempool unused:".
Print the number of mempool bytes unused.
Print "file handles unused:".
Print the number of unused file handles.

When keyed by the F12 key,
Print "Be patient...".
Report mempool things.
--------------------------------------------------------]

Revisional Differences

The installation screen was updated in OEM versions, featuring cleaner logos and no copyright text. The original retail version screen was still included but left unused, using a different filename (instimgx.bmp instead of the used instimg.bmp).

Retail OEM
AviationAdventure-InstallRetail.png AviationAdventure-InstallOEM.png

The title screen was updated in OEM versions, clarifying how to start the game, while also implementing the Adventurers biographies.

Retail OEM
AviationAdventure-AdventurersRetail.png AviationAdventure-AdventurersOEM.png