Color

for kMoria, iRogue, and iLarn

How do I set colors in kMoria?

Color in kMoria is documented on its own page.

How do I set colors in iRogue or iLarn?

(Or, "I turned on the color preference, but I don't see any colors yet!")

Color in these games is completely user-defined. It will take a little work on your part, unless you want to use one of the color schemes that someone else has written (available at the end of this page.)

First, three requirements must be met

Version
You must have a version of the game that supports color.
iRogue versions prior to 0.45 do not support color.
iLarn versions prior to 0.25 do not support color.
Hardware
Obviously you will also need a color PalmOS device (or an emulator with a color ROM).
Preferences
You must go to the Preferences screen of your game, which has a bunch of checkboxes. You will see a "Color" checkbox, if your OS thinks that it can support color. It will be unchecked by default. You should check it if you want color to be on.
If you want the background color of the screen to be black (instead of "white") you should also check the "Invert" checkbox.

Definition Memo

Ok, now you are ready for the hard part. You must write a Memo (you know, those things in the MemoPad application) that will tell the game what colors you want to see. The title of the memo will be <game>-RGB, e.g. "iRogue-RGB" or "iLarn-RGB".

Here is a very short memo to test the color in iRogue. (You can use this same test in iLarn: just write iLarn-RGB in place of iRogue-RGB.)

  1. Go to MemoPad.
  2. Hit the New button to start a new Memo.
  3. Write iRogue-RGB
  4. Write the "newline" Graffiti (./) to start a new line.
  5. Write @ ff0000
  6. Write the "newline" Graffiti (./) to start a new line.

Your memo looks like this:
iRogue-RGB
@ ff0000

Now start playing the game. If you have the color preference turned on, your '@' should be red now. If it is not, you have a problem that this page is not going to help you with (send me email).

Ok, it worked, now what?

The game will expect each line in the <game>-RGB memo to tell it how to color some particular symbol.

So far, your memo has only one line, which says to color the '@' red. For each symbol whose color you want to set, you will add a line to that memo.

What do you mean, "ff0000 is red"

There are many ways to describe a color. The way that we will be using is this: a six-digit hexadecimal number, where the first two digits say how much "red" to add, the middle two digits are how much "green", and the last two digits are how much "blue".

Hexadecimal? The digits you can use in a hexadecimal number are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f. (or A,B,C,D,E,F. Upper or lower case is ok.)

Suppose you have a room with equal amounts of red, green, and blue light bulbs, and this number is going to tell you what bulbs to turn on.
000000 is no red, no green, and no blue. That means no lights are turned on and you get a pitch BLACK room.
ffffff is the highest number you can have. All the lights are on and you get more-or-less WHITE light.
ff0000 tells you to turn on only the red lights and leave the others off. This makes the room fairly bright but it's all RED.
00ff00 tells you to turn on all the green lights and leave the others off. Green.
0000ff tells you to turn on all the blue lights and leave the others off. Blue.
ffff00 .. turn on all the red and all the green, and you get YELLOW. Surprise.
ff00ff .. red and blue. Magenta.
00ffff .. green and blue. Cyan.

Enlightenment

Now you understand what that number means, or else you are tired of hearing about it and want to get on with the game. If you would like to see some virtual "paint chips" that are labeled with their numbers, there is a nice page at another site with colors by value (arranged form light to dark) or by hue (arranged by color). Note: these same colors might tend to look lighter or darker on your PalmOS device, but you'll at least get some idea.

So take a look at your game screen. Decide what colors you would like the walls and so on to be. Then add some lines to your memo. Continuing the iRogue-RGB example,

# 000099
- 000099
| 000099

Anything that you write after the number, up to the end of the line, will be ignored for your convenience. So you could write:

@ ff0000 This sentence is ignored!
# 000099 ...corridors are dark blue
- 000099 these are horizontal walls
| 000099 and vertical walls

If you write a very long comment, it may take up several rows of text in the MemoPad, but I am sure you know that it is not a new line until you write that Graffiti newline character (or hit Return or Enter, whatever it's called, on your keyboard, or whatever). So, do not forget to do that, even at the end of a long remark, or you'll wonder why the symbol in your next definition isn't getting colored.

You can colorize any number of monsters and objects, also, and it does not matter what order your lines are in. Anything that you do not colorize will remain black.

S 00ff00 this monster is green
f 999999 this monster is gray
! 990000 dark red potion
? cc00cc purple scroll

Exceptions

All the things that I have said so far are general and apply to iRogue or iLarn. Different games may use the same symbols to mean different things. This is one reason to have separate memos which can define some of the same symbols to have different colors in different games. There are other little quirks that the different games have, which I will cover in this section.

... in iRogue

The symbol that represents food is the "degrees" symbol. You can write a "degrees" symbol if you know how (just look in the Graffiti Help), but if you don't want to learn how, you can write a colon ":" instead. Either one will work.

iRogue-RGB
...
: 009900 green food

I will also mention, although no one cares, that iRogue really uses an emdash for horizontal walls and not the shorter '-' character, but you can use a '-' and it will work. Honk if you know what an emdash is.

If you're not interested in iLarn, skip down.

... in iLarn

There are two oddities to cover in iLarn, represented in the last two lines of this example,

iLarn-RGB
@ ff0000 You are red...
# 000099 ...walls are dark blue
G 00ff00 this kind of monster is green
D_ ffff00 doors are yellow
D 999999 all dragons are gray

D_ ? Where did that underscore come from?
Well. If you have been playing iLarn for a while, you might have noticed that objects like scrolls, potions, doors, fountains, thrones, etc., are drawn in white-on-black, and that some letters (which are monsters when they are black-on-white) do double duty as objects (when you see them as white-on-black). If you want to set the color of an object like a door, and its symbol is a letter (A to Z, a to z), put an underscore _ right after the letter and iLarn will know you mean a door rather than a dragon.
These are the letters that are used for objects: ABCDEFHLMOPSTVcfostu

D = all dragons? I want to make red dragons red and green dragons green! Yeah, I was expecting that. If you write just "D 999999" (or whatever color), all dragons will be that color. But you can also individually colorize some or all of the six kinds of dragons ('b'ronze, 'g'reen, 's'ilver, 'p'latinum, 'r'ed, in no particular order; as it happens, 'w'hite dragons are represented by a different character, d, already). Just make an additional line with "D" followed by the initial letter of the particular kind of dragon. Here's an example to make red dragons red, green dragons green, and all other dragons gray.

D 999999 dragons are gray by default
Dr ff0000 red dragons are bright red
Dg 00cc00 green dragons are medium-green

You can define colors for Db, Ds, and Dp too, but I am too lazy to make this example any longer.

When you're done with all that

If you create a set of colors that you are particularly proud of, either for white-background or black-background, you can send the text file to me for credited inclusion in the .zip file for that game.

Sample color scheme memos

iRogue - just paste the contents of the text file into a Memo entitled iRogue_RGB.

iLarn - just paste the contents of the text file into a Memo entitled iLarn_RGB. Make your own and send it in so that I can get rid of the following: