Albion graphics (PC/DOS)
-
Darkfox
- VVIP member

- Posts: 688
- Joined: Fri Jul 04, 2003 6:11 pm
- Has thanked: 33 times
- Been thanked: 16 times
Albion graphics (PC/DOS)
A little PC RPG from the past. I've been tinkering with it a little, some tools support the archiving (Game Extractor and XLD Extractor) I found that some graphics are ILBM and were easily viewable and editable until I figured out that most other graphics are of a format that seems to be raw uncompressed though I can't find out much else than view it in Texturefinder.
Here are a couple extracted from the monster graphic archive. My issue however is that I fear there is no palettes which are stored in a separate archive. Still, could extract them but it might give trial and error unless I can figure out where it tells which palettes they use. :/
Here are a couple extracted from the monster graphic archive. My issue however is that I fear there is no palettes which are stored in a separate archive. Still, could extract them but it might give trial and error unless I can figure out where it tells which palettes they use. :/
You do not have the required permissions to view the files attached to this post.
- Deniz Oezmen
- VIP member

- Posts: 185
- Joined: Mon Aug 28, 2006 2:07 pm
- Has thanked: 1 time
- Been thanked: 14 times
- Contact:
You feared correctly, there do not seem to be any palettes in these files, but only raw image data. The format:
uint16 {2} - Width
uint16 {2} - Height
uint16 {2} - Unknown
char {X} - Width * Height bytes of image data
This structure is repeated until the file ends, i.e. there are multiple graphics in each file.
I don't know what the "Unknown" value is supposed to be. It seems to be constant throughout each file (though I haven't checked each instance). If you're lucky, it is some sort of palette ID ...
uint16 {2} - Width
uint16 {2} - Height
uint16 {2} - Unknown
char {X} - Width * Height bytes of image data
This structure is repeated until the file ends, i.e. there are multiple graphics in each file.
I don't know what the "Unknown" value is supposed to be. It seems to be constant throughout each file (though I haven't checked each instance). If you're lucky, it is some sort of palette ID ...
-
Darkfox
- VVIP member

- Posts: 688
- Joined: Fri Jul 04, 2003 6:11 pm
- Has thanked: 33 times
- Been thanked: 16 times
I had thoughts of that. As each resource is not named but instead numbered dependent on their position inside the XLD library. Give or take 2 files there are between 56 and 54 palettes.
Edit: Giving the height and width of each graphic is very good news as it'll save needing those. If the unknown one is indeed the palette ID then it will be a walk in the park it would seem if that is the case. I have attached the palette library and the extracted content of it or at least what seems to be as I've had no means to test it's accuracy other than with the pictures file and with xmidi music.
Edit: Giving the height and width of each graphic is very good news as it'll save needing those. If the unknown one is indeed the palette ID then it will be a walk in the park it would seem if that is the case. I have attached the palette library and the extracted content of it or at least what seems to be as I've had no means to test it's accuracy other than with the pictures file and with xmidi music.
You do not have the required permissions to view the files attached to this post.
- Deniz Oezmen
- VIP member

- Posts: 185
- Joined: Mon Aug 28, 2006 2:07 pm
- Has thanked: 1 time
- Been thanked: 14 times
- Contact:
- Deniz Oezmen
- VIP member

- Posts: 185
- Joined: Mon Aug 28, 2006 2:07 pm
- Has thanked: 1 time
- Been thanked: 14 times
- Contact:
I'm afraid the value stands for something else. Let me revise the specification:
uint16 {2} - Width
uint16 {2} - Height
byte {1} - Unknown (usually zero, maybe three-byte height value?)
byte {1} - Number of frames/sprites
char {X} - Width * Height bytes of image data
So this additional header value seems to indicate the number of graphics (or frames) within a single file, which is a bit odd, but fits nonetheless.
The palette files do not seem to carry any other information than colour data, though I'm not entirely sure which format is used.
uint16 {2} - Width
uint16 {2} - Height
byte {1} - Unknown (usually zero, maybe three-byte height value?)
byte {1} - Number of frames/sprites
char {X} - Width * Height bytes of image data
So this additional header value seems to indicate the number of graphics (or frames) within a single file, which is a bit odd, but fits nonetheless.
The palette files do not seem to carry any other information than colour data, though I'm not entirely sure which format is used.
-
Darkfox
- VVIP member

- Posts: 688
- Joined: Fri Jul 04, 2003 6:11 pm
- Has thanked: 33 times
- Been thanked: 16 times
Probably because the game has to recognize how many frames are for a monster. Hmmmm...
Well shoot, I wonder if I can find anything within the script.
Edit: By the way, when you say your not entirely sure what format is used you mean with the palette or what? The left problem would be to figure out how the image is associated with the palette?
Well shoot, I wonder if I can find anything within the script.
Edit: By the way, when you say your not entirely sure what format is used you mean with the palette or what? The left problem would be to figure out how the image is associated with the palette?
-
Darkfox
- VVIP member

- Posts: 688
- Joined: Fri Jul 04, 2003 6:11 pm
- Has thanked: 33 times
- Been thanked: 16 times
Ok this might be a longshot...
It is possible that in these two libraries, the monster graphics and the monster data that other than giving monster stats and their attacks may at the beginning of each entry tell each monster's image AND palette.
http://download.yousendit.com/4A0371DF6FCAC111
It's the best lead I could think of.
Edit: Also I think the palettes are in IFF format. The game tends to use IFF in both the music and those graphics that are ILBMs. Does this carry over into the palettes as well?
Edit 2: Eh if it is all too hard I'm fine with trial and error. If it helps any I could extract an image then compare it to a screenshot. I managed to match an image while playing the game to one extracted from a library. A character profile picture.
http://download.yousendit.com/4A0371DF6FCAC111
It's the best lead I could think of.
Edit: Also I think the palettes are in IFF format. The game tends to use IFF in both the music and those graphics that are ILBMs. Does this carry over into the palettes as well?
Edit 2: Eh if it is all too hard I'm fine with trial and error. If it helps any I could extract an image then compare it to a screenshot. I managed to match an image while playing the game to one extracted from a library. A character profile picture.
- Deniz Oezmen
- VIP member

- Posts: 185
- Joined: Mon Aug 28, 2006 2:07 pm
- Has thanked: 1 time
- Been thanked: 14 times
- Contact:
Re: Ok this might be a longshot...
Quite possible, but hard to say. There are many values within the character files looking quite alike. You would have to compare all of those files manually to find the position of the releavant information. At the same time, you would have to take a look at the graphics to match the graphics and the character sheets. I hope you know the game well.Darkfox wrote:It is possible that in these two libraries, the monster graphics and the monster data that other than giving monster stats and their attacks may at the beginning of each entry tell each monster's image AND palette.
Regarding the palettes: I was just confused by the fact that the palette files are only 576 bytes in size and not 768 bytes, as standard RGB palettes with 256 colours would be. Most probably, though, there are simply 64 reserved colours (for menus or backgrounds), such that there are only 192 colours for the other graphics left. Thus, as 192 * 3 = 576, it seems reasonable to me that the palettes are indeed uncompressed RGB (or BGR or whatever) values. You still would need to find out which are the reserved values, though.
-
Darkfox
- VVIP member

- Posts: 688
- Joined: Fri Jul 04, 2003 6:11 pm
- Has thanked: 33 times
- Been thanked: 16 times
I know the game well enough to convert the sounds to standard wav and the music is xmidis. But you do mean making comparisons to the ingame graphics to the extracted ones yes?
I think the easiest right now would be comparing the full body profile images. Maybe that would help figure things out better?
I think the easiest right now would be comparing the full body profile images. Maybe that would help figure things out better?
- Deniz Oezmen
- VIP member

- Posts: 185
- Joined: Mon Aug 28, 2006 2:07 pm
- Has thanked: 1 time
- Been thanked: 14 times
- Contact:
Yes. If you could find out which graphics belong to which character sheet files (at least some examples), you might find the system used to match these files.Darkfox wrote:But you do mean making comparisons to the ingame graphics to the extracted ones yes?
(That's why I wrote that you need to know the game -- as far as I can see, there are names in the character files; this information would pose a possible way to get some matches.)
Sounds good.Darkfox wrote:I think the easiest right now would be comparing the full body profile images. Maybe that would help figure things out better?
-
Darkfox
- VVIP member

- Posts: 688
- Joined: Fri Jul 04, 2003 6:11 pm
- Has thanked: 33 times
- Been thanked: 16 times
Alright, these are the comparisons I have made thus far. With the exception of equipment boxes which are separate images everything matches up perfectly (I could not get rid of them without hacking the game). I can do the same with monsters though it's difficult because the game likes to zoom since it uses a 3D system similar to games like Doom.
Edit: I'm also going to see if I can figure out monster graphics. It'll be easier in the game's built-in debug mode.
Edit: I'm also going to see if I can figure out monster graphics. It'll be easier in the game's built-in debug mode.
You do not have the required permissions to view the files attached to this post.
-
Darkfox
- VVIP member

- Posts: 688
- Joined: Fri Jul 04, 2003 6:11 pm
- Has thanked: 33 times
- Been thanked: 16 times
OK, as I said I'd do I did, I had to hack monster group 2 (the one automatically loaded by Producer Mode when pressing Alt+F8) and got all information I could get on the monster Fear 1. What I got was:
Monster 1 is "Fear 1" and it uses graphic graphic 1 and seemingly palette 24 or palette 6 however I could not find this present in the monster data sadly. it also uses transparency table 24 and tactical icon 13.
I have managed to make a modifier for each monster group and can go through each monster one by one.
Monster 2 is "Brogg 1", it uses monster graphic 4, tactical icon 16 and there is still mention of palette 24 which could be a shared palette for monsters.
I'll attach all my findings with screenshots below, how is this?
Monster 1 is "Fear 1" and it uses graphic graphic 1 and seemingly palette 24 or palette 6 however I could not find this present in the monster data sadly. it also uses transparency table 24 and tactical icon 13.
I have managed to make a modifier for each monster group and can go through each monster one by one.
Monster 2 is "Brogg 1", it uses monster graphic 4, tactical icon 16 and there is still mention of palette 24 which could be a shared palette for monsters.
I'll attach all my findings with screenshots below, how is this?
You do not have the required permissions to view the files attached to this post.
- Deniz Oezmen
- VIP member

- Posts: 185
- Joined: Mon Aug 28, 2006 2:07 pm
- Has thanked: 1 time
- Been thanked: 14 times
- Contact:
Good work!Darkfox wrote:I'll attach all my findings with screenshots below, how is this?
You are right, however, that there does not seem to be an indicator of the palette in the data files. These values might even be hard-coded ...
By the way: These are the palette files (6 and 24, respectively), when read as RGB data. Looks somehow sensible to me, though I'm not yet sure.
You do not have the required permissions to view the files attached to this post.

