Code:
Premise:
Allegro 5 is the main lib.
All Allegro 4 stuff is handled by Allegro Legacy, linked to AG5
CLassic Quests play in a background running process of ZC 3.xx (Legacy Environment)
on top of ZC4 (New Environment).
New quests run entirely on new environment.
No emulation is needed, now do new quests need to maintain compatibility with
legacy quests, as the old software runs invisible over the new, with inout and video
output being translated.
INPUT VIDEO bitmap +-----------------> Display
----- ------------------------
V ^ Modern Audio Output +-------> System Audio Devices
V ^ +---------+-----------
V ^ | ^
V ^ ^
V ^ ^
+---------+-+<<<<<<<<<+-------------------------------
| | | Legacy Audio and RAM Bitmaps |
| Allegro | ------+-------------------------
| 5 | ^
| Library | --------+--------- -------------
| +<<<----+ Allegro Legacy +->**<-+ ALLEGRO 4 | * Linked via AL
| | ---------+---+---- -------------
------------- | ^
^ | ^
| | ^
| | |-----------------
^ |---+ RAM Bitmaps |
| --------->>>>>>+ | | Old Quest Data |
| | Read Into* V | ------------------
------+---+---- -+--+---+---------
| ZC Rerwite | | Zelda Classic |
| Engine | | ZQuest |
------+-------- --------+---------
^ ^
^ ^
------------- ^
| New Type | ^
------------- ^
^ ^
------+-------- ------+-----------
| Quest Type |=====>>>+ OLD QUEST TYPE |
--------------- ------------------
*Old quest read into ZC4, loads classic ZC3 engine in the baqckground.
This background layer pipes new input in