Teen Agent
Moderator: ScummVM Team
- sanguinehearts
- Posts: 378
- Joined: Mon Oct 31, 2005 12:42 am
- Location: Hampshire, United Kingdom
Nice update
we shall see what comes of this.
Id quite like to get a look at the source code, and perhaps I could help with some tidying up etc
It would be great if someone could find the time to initiate conversation about this. I guess it might be difficult to find a ScummVM developer who doesnt already have their hands in the guts of Tinsel though.
We will see what further contact with them brings.
we shall see what comes of this.
Id quite like to get a look at the source code, and perhaps I could help with some tidying up etc
It would be great if someone could find the time to initiate conversation about this. I guess it might be difficult to find a ScummVM developer who doesnt already have their hands in the guts of Tinsel though.
We will see what further contact with them brings.
- sanguinehearts
- Posts: 378
- Joined: Mon Oct 31, 2005 12:42 am
- Location: Hampshire, United Kingdom
Hello sofox, I was reading through the #scummvm channel logs and read that you mentioned you were interested in reverse engineering Teen Agent, Im not sure if you made any progress.
I also decided that it would be an interesting project to work on, and since starting have discovered a little bit of information.
The English Executable was found to be 'PACKED'.
The packing method is commonly known as
LZEXE v0.91 or v1.00a (EXE).
Under Windows this compression can be removed easily using the X-TRACT utility by Pablo Carboni.
If you are not a windows user then I am sure there are other tools which can be used to decompress.
I found that IDA wouldnt load the executable correctly due to the compression used, however once it had been removed it appeared to load correctly.
External files:-
SOUNDSET.EXE - Utility to set up audio hardware - produces 'SOUND.SET' This utility is also packed using the same compression.
SOUND.SET - Audio settings(sound device)
For now the Sound files can be ignored as they hold little significance(sound data is held in the resources)
*.SAV - Saved game positions.
*.RES - Various game resources
Now I then decided to do some work using DOSBox and its debugger, this debugger is very useful as it lists the external files called when they are called.
it means I can identify some of the resource files a little better
SOUND.SET - this is loaded to set up sound.
UNLOGIC.RES - this resource is loaded to display the Union Logic Software Publishing logo at the start of the game, This file gets called many times to display the various movements of this logo.
LAN_500.RES - loaded during conversations
LAN_000.RES - loaded after conversations finish, also loaded when entering a new area.
VARIA.RES - Called when displaying metropolis/teenagent logo
also called to change actor behaviour(like leaving mark until he puts his hands in his pockets, and then called again to reset mark into user mode) this behaviour can also be seen when speaking to the head of the RGB
This file also gets called when quitting the game, it stores some plain text which is then output to the DOS command window about ordering the game. finally I noted that this file was used when displaying the inventory.
ADVERT.RES - This file is solely used to display the ordering info which can be accessed from the save/load screen.
TEENAGE0.SAV - This file is a save slot, I noticed that the save/load routine runs a check for the files TEENAGE0.SAV-TEENAGE9.SAV, if one of these files exists then that file is checked to get the save game name which is stored as a string in the save file header.
so far this is all I have been able to ascertain I am currently working on locating the file loading routine which will be vital in moving further with the disassembly. sadly the game executable contains no function names, If it does use fopen() for the file loading I hope it will be identical to other game disassemblies allowing me to simply name the function correctly.
Sofox: If your interested then drop me a private message and we can discuss tactics.
I also decided that it would be an interesting project to work on, and since starting have discovered a little bit of information.
The English Executable was found to be 'PACKED'.
The packing method is commonly known as
LZEXE v0.91 or v1.00a (EXE).
Under Windows this compression can be removed easily using the X-TRACT utility by Pablo Carboni.
If you are not a windows user then I am sure there are other tools which can be used to decompress.
I found that IDA wouldnt load the executable correctly due to the compression used, however once it had been removed it appeared to load correctly.
External files:-
SOUNDSET.EXE - Utility to set up audio hardware - produces 'SOUND.SET' This utility is also packed using the same compression.
SOUND.SET - Audio settings(sound device)
For now the Sound files can be ignored as they hold little significance(sound data is held in the resources)
*.SAV - Saved game positions.
*.RES - Various game resources
Now I then decided to do some work using DOSBox and its debugger, this debugger is very useful as it lists the external files called when they are called.
it means I can identify some of the resource files a little better
SOUND.SET - this is loaded to set up sound.
UNLOGIC.RES - this resource is loaded to display the Union Logic Software Publishing logo at the start of the game, This file gets called many times to display the various movements of this logo.
LAN_500.RES - loaded during conversations
LAN_000.RES - loaded after conversations finish, also loaded when entering a new area.
VARIA.RES - Called when displaying metropolis/teenagent logo
also called to change actor behaviour(like leaving mark until he puts his hands in his pockets, and then called again to reset mark into user mode) this behaviour can also be seen when speaking to the head of the RGB
This file also gets called when quitting the game, it stores some plain text which is then output to the DOS command window about ordering the game. finally I noted that this file was used when displaying the inventory.
ADVERT.RES - This file is solely used to display the ordering info which can be accessed from the save/load screen.
TEENAGE0.SAV - This file is a save slot, I noticed that the save/load routine runs a check for the files TEENAGE0.SAV-TEENAGE9.SAV, if one of these files exists then that file is checked to get the save game name which is stored as a string in the save file header.
so far this is all I have been able to ascertain I am currently working on locating the file loading routine which will be vital in moving further with the disassembly. sadly the game executable contains no function names, If it does use fopen() for the file loading I hope it will be identical to other game disassemblies allowing me to simply name the function correctly.
Sofox: If your interested then drop me a private message and we can discuss tactics.
- sanguinehearts
- Posts: 378
- Joined: Mon Oct 31, 2005 12:42 am
- Location: Hampshire, United Kingdom
- sanguinehearts
- Posts: 378
- Joined: Mon Oct 31, 2005 12:42 am
- Location: Hampshire, United Kingdom
- sanguinehearts
- Posts: 378
- Joined: Mon Oct 31, 2005 12:42 am
- Location: Hampshire, United Kingdom
I had assumed that actually, after asking in the channel a couple of times whether anyone had contacted them. I'll make it clear to them again when I speak to them next that I am not a member of the ScummVM team. I hope thats good enough for them.
as further proof that the game was made freeware it can actually still be obtained from an archive of the metropolis site. Im assuming that I shouldnt provide links anyway, however you should be able to find a link online to where it used to be hosted, the web archive can help you from there.
as further proof that the game was made freeware it can actually still be obtained from an archive of the metropolis site. Im assuming that I shouldnt provide links anyway, however you should be able to find a link online to where it used to be hosted, the web archive can help you from there.
- sanguinehearts
- Posts: 378
- Joined: Mon Oct 31, 2005 12:42 am
- Location: Hampshire, United Kingdom
Unfortunately without word from metropolis directly about how they went about the freewaring process its a little uncertain about whether its legal to download or not, when I begin discussion with Metropolis again I will ascertain the actual 'freeware' status simply because metropolis arent the only people with rights to the game. Union Logic probably also hold some rights to the game.
It would be sensible to remove that download link until its been verified as legally freeware.
basically it could be the case that Metropolis just put the game up for download as freeware without consulting the publishers.
obviously its only fair to find this out before download links appear.
It would be sensible to remove that download link until its been verified as legally freeware.
basically it could be the case that Metropolis just put the game up for download as freeware without consulting the publishers.
obviously its only fair to find this out before download links appear.
- sanguinehearts
- Posts: 378
- Joined: Mon Oct 31, 2005 12:42 am
- Location: Hampshire, United Kingdom
I managed to locate an original shareware copy of the game on floppy disk,sadly it only includes the first 'episode' however it comes with a license which explicitly states that it may be electronically distributed.
anyway I have uploaded it here and it should be alright until we ascertain the 'freeware' status of the full game.
TeenAgent Shareware
anyway I have uploaded it here and it should be alright until we ascertain the 'freeware' status of the full game.
TeenAgent Shareware
Last edited by sanguinehearts on Tue Sep 02, 2008 5:29 pm, edited 1 time in total.