Sunday, 7 December 2008

TeenAgent Thoughts, Status and TODO

TeenAgent Status:

Currently the following is possible :-

*Viewing room images
*Viewing first static image resource in UNLOGIC.RES
*Viewing the Polish versions CD PROJEKT image from CDLOGO.RES
*Viewing main characters sprites
*Viewing room overlay images
*Viewing inventory item images
*Viewing and using Cursor images (PC or Amiga)
*Listening to music

TeenAgent TODO:

The following needs to be implemented before all the resource files are fully handled :-

*Implement support for animated inventory sprites
-The inventory images are mainly static, however Metropolis decided to animate six of them.
-The inventory images are stored as sprites inside VARIA.RES, specifically in resource number 4.
-The frame numbers for the animated inventory images are as follows :-

7(fan)
14(drunken chainsaw)
47(mouse)
49(nugget)
67(burning paper)
91(bird).

*Implement support for animated Union Logic Logo
-The Union Logic Logo is stored in UNLOGIC.RES, which contains 11 resources.
-The first resource in UNLOGIC.RES is a static image which fills the screen.
-The animated section of this introduction relies on support for resources 2-11.
-The code required is simple as it just cycles through the other resources.

*Implement support for the animated Metropolis/TeenAgent Logo
-This logo requires resource numbers 6,5,9 from VARIA.RES.

*Implement support for the image resources in ONS.RES
-These are apparently sprites.

*Implement support for LAN_000.RES and LAN_500.RES
-These are apparently animations.

*Implement support for sound effects from SAM_SAM.RES
-These form the PC speaker sound effects heard throughout the game.

*Figure out where the font data is, and how to implement this in ScummVM
-I would like to be able to display a few strings in the correct font/font palette

*Figure out how to handle loading of text strings/item descriptions/conversations etc..
-These are stored in the executable which is unfortunately packed with LZEXE 0.91
-This will most likely require an external data file such as with the other engines
-TEEN.DAT will contain strings, cursor image, font etc
-The conversations should not be too hard to handle, however the room items have some extra
data with them.
-I'll need to get benjamin to explain those a little more, perhaps he has
some ideas of how to handle these static resources in a better manner.

*Begin to implement gameplay code
-I would like to fully support all the English PC resources before I attempt to create a room.
-This will mean that I can then show a full room off.

*Figure out how to how to handle Czech, Polish and English demo version strings.
-Im not entierly sure if they are in the same order or not.
-In the demo there is a string to tell you that you have reached the end of the demo.
-This demo string does not appear in the other versions.

*Figure out how to handle the Polish VOICES.RES
-This resource file is in the Polish PC version and the Amiga CD version.
-I plan to support PC Polish before I look at Amiga version.

*Figure out how to correctly load the Amiga version in IDA
-This will allow me to figure out inventory differences.

*Begin to add support for Amiga versions if feasible.
-This will require me to attempt to understand how the Amiga disk dumps work.
-Basic support should be possible since the resources are likely to match in size so I can at least try.
-It may not be worth the extra effort since the ability to dump the disks will
be required.

Thats all for now, I hope the formatting doesnt die.