Recently I made the decision to ask jvprat to join the TeenAgent engine team
due to this progress has hit full speed !
We now have full support for the game animations(jvprat) :D
partial inventory support(jvprat) :D
and VERY shoddy walking code(provided by me) :(
The code has also been refactored thanks to jvprat, things are in a much neater state.
The current state can be seen in the following video.
Overall things are looking good for Teen Agent.
Showing posts with label TeenAgent. Show all posts
Showing posts with label TeenAgent. Show all posts
Monday, 2 February 2009
Wednesday, 14 January 2009
Animated Union Logic Software Publishing, Inc Logo
Well I figured out how to implement the static sprites in TeenAgent, and it turns out that these contain many other images that are used for animations,
It allows me to now implement the Union Logic logo fully,
this can be seen here with a comparison of the original/ScummVM
This now also allows me to view all the static sprites held in ONS.RES
which appear to be used in loads of places :D
It allows me to now implement the Union Logic logo fully,
this can be seen here with a comparison of the original/ScummVM
This now also allows me to view all the static sprites held in ONS.RES
which appear to be used in loads of places :D
Friday, 28 November 2008
Cursor Madness!!!!!!
A tiny update with something quite insignificant
Im only updating because it excited me a little bit
johndoe123 managed to find the cursor image data
what I wasnt prepared for was exactly where he found it
I was expecting to find the cursor image stored as a sprite
in one of the resource files, however it was stored hardcoded in the
executable, the most interesting part for me was that I could actually
see it there in the hex, Ive seen strange patterns in hex before but this
was clearly a mouse cursor, you wouldnt notice it unless you knew it was there.
and even then you'd need to focus on it pretty hard.
The image here shows the hex for the cursor from the executable, it also shows the cursor image
in TeenAgent in DOSBox on the left, and on the right you will find the cursor image data in ScummVM and below that the loaded cursor image data running in ScummVM.

The way I created the cursor image in ScummVM replicates the original strucutre of the cursor
image, however it contains no copyrighted material. I borrowed the idea from the AGI engine so
thanks for whoever made it obvious.
For some strange reason the cursor data in the executable shows 0xDF as the shade of gray
I run the game in DOSBox and the cursor loads up however when I load the cursor
image in ScummVM the palette uses 0xDF but the colours in DOSBox and ScummVM do not match
it seems that the cursor loaded in DOSBox is using 0xAE for gray, I have adjusted the palette
in ScummVM but it begs the question, why arent the right colours showing up?
Ive included a swatch to show the differences maybe someone can explain why..
The image below shows the cursor in the current build of the engine.

This may seem very trivial but I think I can finally get some sort of interactivity going soon.
Rob
Im only updating because it excited me a little bit
johndoe123 managed to find the cursor image data
what I wasnt prepared for was exactly where he found it
I was expecting to find the cursor image stored as a sprite
in one of the resource files, however it was stored hardcoded in the
executable, the most interesting part for me was that I could actually
see it there in the hex, Ive seen strange patterns in hex before but this
was clearly a mouse cursor, you wouldnt notice it unless you knew it was there.
and even then you'd need to focus on it pretty hard.
The image here shows the hex for the cursor from the executable, it also shows the cursor image
in TeenAgent in DOSBox on the left, and on the right you will find the cursor image data in ScummVM and below that the loaded cursor image data running in ScummVM.

The way I created the cursor image in ScummVM replicates the original strucutre of the cursor
image, however it contains no copyrighted material. I borrowed the idea from the AGI engine so
thanks for whoever made it obvious.
For some strange reason the cursor data in the executable shows 0xDF as the shade of gray
I run the game in DOSBox and the cursor loads up however when I load the cursor
image in ScummVM the palette uses 0xDF but the colours in DOSBox and ScummVM do not match
it seems that the cursor loaded in DOSBox is using 0xAE for gray, I have adjusted the palette
in ScummVM but it begs the question, why arent the right colours showing up?
Ive included a swatch to show the differences maybe someone can explain why..

The image below shows the cursor in the current build of the engine.

This may seem very trivial but I think I can finally get some sort of interactivity going soon.
Rob
Labels:
metropolis software,
ScummVM,
Teen Agent,
TeenAgent
Tuesday, 2 September 2008
TeenAgent
Im not sure if anybody actually knows about my blog, but I thought I would introduce my new project here, Currently I am looking at the game TeenAgent by metropolis software, Its a point and click adventure game and was the first game produced on CD in Poland. This project is an attempt to implement a TeenAgent engine in ScummVM.
There are two main approaches, the first is that I am currently in discussion with Metropolis about a source code release, they are yet to respond with anything more than 'we will speak to you about this soon' however Im reading into that as 'we are interested and when we get a chance we will sort it out.'
The second approach is through reverse engineering the TeenAgent executable.
I've made a little progress on this and since its my first real x86 reversing project Ive relied on a lot of help from Buddha^, jvprat and salty-horse.
currently I can tell when certain resource files are loaded I have located the pallete functions the file reading function, menu functions for save/load,quit,display ordering info,adjust music volume, adjust sound effects volume, adjust text speed, adjust game speed, adjust hero speed and change graphics mode.(greyscale/colour) I also have a few base functions recognised to control interrupts keyboard input and various other functions which arent really much use in creating the engine, rather I just named them to get them out of the way(so I know what they do and can ignore them for now)
with thanks to salty-horse I am now able to understand the file loading function and locate some of the various resources in VARIA.RES, the task now is to find out what these resources are by looking at the functions they reside in.
I hope to find some code which will allow me to figure out how one of the graphics resources is displayed, that way I can dump a graphics resource from VARIA.RES and write some code to load this in ScummVM that way I will feel like I have achieved something worthwhile.
Heres hoping that the next couple of weeks will bring some visual teenagent sexyness to ScummVM, or at least a start since I go back to university in about three weeks and I wont be able to work on it every day then :(
fingers crossed for a response from Metropolis and double fingers crossed for finding some graphics displaying code and ScummVMifying it.
Rob
There are two main approaches, the first is that I am currently in discussion with Metropolis about a source code release, they are yet to respond with anything more than 'we will speak to you about this soon' however Im reading into that as 'we are interested and when we get a chance we will sort it out.'
The second approach is through reverse engineering the TeenAgent executable.
I've made a little progress on this and since its my first real x86 reversing project Ive relied on a lot of help from Buddha^, jvprat and salty-horse.
currently I can tell when certain resource files are loaded I have located the pallete functions the file reading function, menu functions for save/load,quit,display ordering info,adjust music volume, adjust sound effects volume, adjust text speed, adjust game speed, adjust hero speed and change graphics mode.(greyscale/colour) I also have a few base functions recognised to control interrupts keyboard input and various other functions which arent really much use in creating the engine, rather I just named them to get them out of the way(so I know what they do and can ignore them for now)
with thanks to salty-horse I am now able to understand the file loading function and locate some of the various resources in VARIA.RES, the task now is to find out what these resources are by looking at the functions they reside in.
I hope to find some code which will allow me to figure out how one of the graphics resources is displayed, that way I can dump a graphics resource from VARIA.RES and write some code to load this in ScummVM that way I will feel like I have achieved something worthwhile.
Heres hoping that the next couple of weeks will bring some visual teenagent sexyness to ScummVM, or at least a start since I go back to university in about three weeks and I wont be able to work on it every day then :(
fingers crossed for a response from Metropolis and double fingers crossed for finding some graphics displaying code and ScummVMifying it.
Rob
Subscribe to:
Posts (Atom)
