Hi,
I'm new to this forum but old in "the" game, been playing both DM and CSB since day one.
At the moment I'm fiddling about with a dungeon of my own and I've got a question on how the game handles the shrinking of the graphical objects. I noticed there is only a big version of each object in graphics.dat (except for the walls and floortiles and such things) and only one sideview of things that can be seen from the side (wall hooks, inscriptions, etc). So I guess there must be some kind of mirror and shrink-routine in the game to save diskmemory.
I've been looking around in the CSBwin-sources but it's not that easy to read if you're not acustomed to atari 68000-code. :-) So my question is, is there a certain shrinking-percent that is applied to all objects or are there static sizes for all 3 levels of all objects? And how does the shrinking routine work?
Are these shrink/mirror-images calculated during gameplay or precalculated and saved in memory somehow?
Brilliant site this is, and a brilliant CSB-port, thanks a million!
/chris
Shrink Blit
Moderator: Zyx
Forum rules
Please read the Forum rules and policies before posting. You may
to help finance the hosting costs of this forum.
Please read the Forum rules and policies before posting. You may

- ChristopherReeves
- Neophyte
- Posts: 6
- Joined: Tue Jul 06, 2004 5:13 pm
- Location: Sweden
- Contact:
- Gambit37
- Should eat more pies
- Posts: 13769
- Joined: Wed May 31, 2000 1:57 pm
- Location: Location, Location
- Contact:
Hello, and welcome to the forums! I refuse to make any superman jokes.
The scaling information is held in the graphics dat. Every item has coordinates specified for where it should be drawn and how large. This is all stored in structure 558 of the graphics dat, which can be hex edited and new coordinates and sizes specified. I'm doing just that for my new dungeon...
You need to read Charlatan75's notes that go through this in detail. Check out this thread:
http://www.dungeon-master.com/forum/vie ... hp?t=23191
The scaling information is held in the graphics dat. Every item has coordinates specified for where it should be drawn and how large. This is all stored in structure 558 of the graphics dat, which can be hex edited and new coordinates and sizes specified. I'm doing just that for my new dungeon...
You need to read Charlatan75's notes that go through this in detail. Check out this thread:
http://www.dungeon-master.com/forum/vie ... hp?t=23191
- Paul Stevens
- CSBwin Guru
- Posts: 4322
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
- ChristopherReeves
- Neophyte
- Posts: 6
- Joined: Tue Jul 06, 2004 5:13 pm
- Location: Sweden
- Contact:
Thanks for the quick responses and the help!
I've just had a look at the "Charlatan75"-notes and realized this is really complex.
Sorry for being unclear, I'm not making a new dungeon for an existing game. I've begun a humble attempt at programming something that might turn into a new game using the feel and graphics from DM, not sure I'll go all the way though. But as long as it's funny...
So I'll leave the shrink-routine to it's own fate and extract the different sizes from the charlatan-files and just do my own stretch-routine. It won't look exactly the same but I don't intend to make a perfect clone. That market is flooded with quality already, and probably out of my league by far.

Now, I wish I knew french...
I've just had a look at the "Charlatan75"-notes and realized this is really complex.

Sorry for being unclear, I'm not making a new dungeon for an existing game. I've begun a humble attempt at programming something that might turn into a new game using the feel and graphics from DM, not sure I'll go all the way though. But as long as it's funny...
So I'll leave the shrink-routine to it's own fate and extract the different sizes from the charlatan-files and just do my own stretch-routine. It won't look exactly the same but I don't intend to make a perfect clone. That market is flooded with quality already, and probably out of my league by far.

Now, I wish I knew french...
- ChristopherReeves
- Neophyte
- Posts: 6
- Joined: Tue Jul 06, 2004 5:13 pm
- Location: Sweden
- Contact:
Hello again,
having looked closer at the docs I've noticed that the size definitions for each image object just leaves an index to a table of the objects sizes for distances > 1. Has anyone extracted those values, if not, do you know to what bytes in the graphics file the index points to?
The index from one object to another increases with 2. It seems to me it would require 4 bytes to store info on the remaining two sizes of the objects (2 bytes for width and 2 for height). Any clues?
I've extracted the floor-positioning data for all objects, but the Charlatan notes mention something about a "random-add" or something like that to handle when objects are piled up on each other. Any info on that?
Thanks in advance!
/superman
having looked closer at the docs I've noticed that the size definitions for each image object just leaves an index to a table of the objects sizes for distances > 1. Has anyone extracted those values, if not, do you know to what bytes in the graphics file the index points to?
The index from one object to another increases with 2. It seems to me it would require 4 bytes to store info on the remaining two sizes of the objects (2 bytes for width and 2 for height). Any clues?
I've extracted the floor-positioning data for all objects, but the Charlatan notes mention something about a "random-add" or something like that to handle when objects are piled up on each other. Any info on that?
Thanks in advance!
/superman