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 :-

14(drunken chainsaw)
67(burning paper)

*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.

1 comment:

Vladimir D. Dimitrov said...

Hey, is it possible to export sprites from the res files, or how did U done it, cus I am trying to figure it out for a quite long now.
I was mostly interested by character sprites, because me, my brother and one friend, were a fans of the game a bit while ago, and wanted to make some continuation. Something like homebrew, but we are struggling with obtaining of the sprites, because it won't be nothing near the original without the Mark character :/
if you know how to extract them or happen to have the files, pls
contact me