Dink's Gooey GUI
Welcome to the Dink's Gooey GUI weblog, where I'll discuss the Dink interface as well as track my progress as I re-skin it. So to start things off let's check out the terms briefly:
interface
(n.) A boundary across which two independent systems meet and act on or communicate with each other. In computer technology, there are several types of interfaces.
user interface - the keyboard, mouse, menus of a computer system. The user interface allows the user to communicate with the operating system. Also see GUI.
graphic user interface
Abbreviated GUI (pronounced GOO-ee). A program interface that takes advantage of the computer's graphics capabilities to make the program easier to use. Well-designed graphical user interfaces can free the user from learning complex command languages. On the other hand, many users find that they work more effectively with a command-driven interface, especially if they already know the command language.
source: http://www.webopedia.com
When I say interface, I'm talking about the status bar, menus, inventory, hell, let's just say everything that is NOT the window into Dink's world. For now, we'll focus on the status bar:
+++++++++++++++++++++++++++++ Status Bar Discoveries
+++++++++++++++++++++++++++++
Floating Sprites (health bar, counters, icons, magic meter)
+ Using a graphics program, you can modify the size and proportion of the sprites that sit on the status bar: health bar, counters, spell/weapon graphics without ill effects. Open their respective .bmp's and change away!
+ The origin, or registration point for the sprites that sit on the status bar is the pixel in the upper-most left-hand corner. If you change the size of their graphics, they will still be positioned at their origin with respect to the status bar sprite. To illustrate, it's like resizing your browser window by dragging the bottom-right corner. The upper-left corner stays fixed (o.k. so you may use some wacky browser where this doesn't apply, but it's a pretty common phenomenon.)
+ You can't change the position of the registration point of these sprites in relation to the status bar graphic without getting into the dink.exe file. (...says redink1/merlin and I believe them)
+ Some of these sprites can have transparency while others can't. (exception: numbers in the XP meter seem to not have transparency with the exception of the slash between the two stats.)
Sprites that I've found that can have transparency:
+ Level numbers
+ Slash between the XP stats. (still don't get this one. why?)
+ Item/Spell icons
Status Bar Background Sprites
+ You can't modify the size of the three images that make up the main interface background: stat-01, stat-02, and stat-03. If you do make them smaller, the sprites *magically* disappear. Make them bigger and nothing seems to happen, they look the same.
+ These three sprites can't have transparency (that I know of) without getting into the dink.exe file. Tried both white and black.
Magic Meter
+ The bottom and left meter bars move along their long axes in order to achieve the 'metering' of Dink's magic level.
+ The top and right meter bars use some sort of clipping method, instead of movement, to achieve the 'metering.'
Health Meters - No transparency possible that I can find.
+ The Health meters maintain a five pixel space between them, regardless of the size of their bmp's.
Stat Counters
+ The stat sprites are laid out end to end and abut each other regardless of the size of their bmp's. The sprites maintain the origin of the left-most sprite as their group origin.
Level Counter
+ The level counter follows similar rules as the other stat counters. The only interesting exception that I found was that the level number is roughly aligned to it's own center, so that a double digit level will be wider on both sides than a single digit level rather than digits in the 'ones' position staying in the same place like the other stat counters.
interface
(n.) A boundary across which two independent systems meet and act on or communicate with each other. In computer technology, there are several types of interfaces.
user interface - the keyboard, mouse, menus of a computer system. The user interface allows the user to communicate with the operating system. Also see GUI.
graphic user interface
Abbreviated GUI (pronounced GOO-ee). A program interface that takes advantage of the computer's graphics capabilities to make the program easier to use. Well-designed graphical user interfaces can free the user from learning complex command languages. On the other hand, many users find that they work more effectively with a command-driven interface, especially if they already know the command language.
source: http://www.webopedia.com
When I say interface, I'm talking about the status bar, menus, inventory, hell, let's just say everything that is NOT the window into Dink's world. For now, we'll focus on the status bar:
+++++++++++++++++++++++++++++ Status Bar Discoveries
+++++++++++++++++++++++++++++
Floating Sprites (health bar, counters, icons, magic meter)
+ Using a graphics program, you can modify the size and proportion of the sprites that sit on the status bar: health bar, counters, spell/weapon graphics without ill effects. Open their respective .bmp's and change away!
+ The origin, or registration point for the sprites that sit on the status bar is the pixel in the upper-most left-hand corner. If you change the size of their graphics, they will still be positioned at their origin with respect to the status bar sprite. To illustrate, it's like resizing your browser window by dragging the bottom-right corner. The upper-left corner stays fixed (o.k. so you may use some wacky browser where this doesn't apply, but it's a pretty common phenomenon.)
+ You can't change the position of the registration point of these sprites in relation to the status bar graphic without getting into the dink.exe file. (...says redink1/merlin and I believe them)
+ Some of these sprites can have transparency while others can't. (exception: numbers in the XP meter seem to not have transparency with the exception of the slash between the two stats.)
Sprites that I've found that can have transparency:
+ Level numbers
+ Slash between the XP stats. (still don't get this one. why?)
+ Item/Spell icons
Status Bar Background Sprites
+ You can't modify the size of the three images that make up the main interface background: stat-01, stat-02, and stat-03. If you do make them smaller, the sprites *magically* disappear. Make them bigger and nothing seems to happen, they look the same.
+ These three sprites can't have transparency (that I know of) without getting into the dink.exe file. Tried both white and black.
Magic Meter
+ The bottom and left meter bars move along their long axes in order to achieve the 'metering' of Dink's magic level.
+ The top and right meter bars use some sort of clipping method, instead of movement, to achieve the 'metering.'
Health Meters - No transparency possible that I can find.
+ The Health meters maintain a five pixel space between them, regardless of the size of their bmp's.
Stat Counters
+ The stat sprites are laid out end to end and abut each other regardless of the size of their bmp's. The sprites maintain the origin of the left-most sprite as their group origin.
Level Counter
+ The level counter follows similar rules as the other stat counters. The only interesting exception that I found was that the level number is roughly aligned to it's own center, so that a double digit level will be wider on both sides than a single digit level rather than digits in the 'ones' position staying in the same place like the other stat counters.

I have come up with two things: Seth is either a very dumb person or he is a very lazy person, most likely the latter. To make up for his laziness, I have to go out of my way to program the stats without transparency. Dammit.
I think transparency should be where ever possible. For instance, imagine a nice interface without such a hard clean edge all the way around, or you could have one stat, say level, sticking up a bit from the rest of the stat bar. More transparency will stimulate creativity. Yes please, to more transparency.
All good programmers are lazy. Where do you think OOP came from? I think the problem comes in when one doesn't go back and polish up the code.
Interface Update. Coming along really well. Currently working on the inventory screen. Work has slowed down a bit though as I'm not longer the free-wheeling free-lancing pimp I was just a week ago. I'm a contract worker for higher education! Pimp meter falling... ;p
Not really, it's an interesting project with barely enough time in which to complete the objectives. What a concept! Flash Pimp meter rising...
Not really, it's an interesting project with barely enough time in which to complete the objectives. What a concept! Flash Pimp meter rising...