data dirs renamed
[k8-i-v-a-n.git] / Doc / Obsolete / ChangeLog.040
blob4a41928a5259473130e8fb3ad855630ade54e230
1 ------------------------------------------------------------------------------------
3 >>> NOTICE!!! <<<
5 This file contains SPOILERS, which might ruin your IVAN experience totally. The file
6 is also provided AS IS and is probably completely unreadable.
8 ------------------------------------------------------------------------------------
10 December 10 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
12         * Kobolds tweaked
13         * Added Spoiler etc warning to ChangeLog
15 December 10 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
17         * Menu.pcx looks a bit clearer
19 December 10 2002 Timo Kiviluoto <sonor@phpoint.fi>
21         * Outlook tweaks
23 December 10 2002 Timo Kiviluoto <sonor@phpoint.fi>
25         * Added a terrible gum solution to fix the unicorns kicking
27 December 10 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
29         * Sophos' bad pray effect changed (now works!)
30         * Dipping in frozen fountains no longer works
31         * Snakes are a bit slower
32         * Fixed last problems (I feel like an optimist) in makefile generation.
33         * NEWS updated
34         
35 December 10 2002 Timo Kiviluoto <sonor@phpoint.fi>
37         * Overall difficulty lowered by 33%
38         * Fixed one typo
40 December 10 2002 Timo Kiviluoto <sonor@phpoint.fi>
42         * Whips' durability descriptions are no longer shown in the inventory screen
43         * Price balancing
44         * Increased the force kicks give to items when sending them to flight
45         * Kicking chests now prints less "THUMP"s
46         * Tweaked the lock breaking algorithm of chests
47         * Corrected two bugs in the wand of locking code
48         * The game no longer crashes when Atavus or Cruentus destroys a chest
49         * Added some information about genetrix vesana's origin to Kaethos's replies
51 December 10 2002 Timo Kiviluoto <sonor@phpoint.fi>
53         * Wishing for a (special) boot or gauntlet now yields a pair
54         * Loricatus can now change the material of two identical gauntlets/boots
55           if they are placed to both hands simultaneously before praying
56         * Item-affecting scrolls now handle gauntlets/boots as pairs, so for
57           example a scroll of enchant armor will give the +1 bonus to both items
58         * Zapping chargeless wands and bananas no longer trains perception, since
59           this could be abused
60         * Valpurus's Justifier and the Shirt of the Golden Eagle can no longer be
61           enchanted further under any circumstances (why wouldn't Petrus have done it
62           already?)
63         * There is now a chance of failure if one tries to enchant items beyound +5
65 December 10 2002 Timo Kiviluoto <sonor@phpoint.fi>
67         * Praying to Loricatus while wielding a corpse no longer crashes
68         * Added unique replies for patrol guards
69         * Patrol guards now use helmets of piercing perception and rings of infravision
70         * Moving is now 25% faster when panicked
71         * All guard and dark knight configurations look now different
72         * The graphics files of IVAN are now much cleaner
74 December 9 2002 Timo Kiviluoto <sonor@phpoint.fi>
76         * Bats' bite strength decreased a bit
77         * Snakes can no longer open doors
78         * ToHitValues of thrown items increased
79         * Food in cans (and cans made of food) no longer spoil
80         * Worthless food now spoils even in shops
81         * All food now spoils in abandonned shops
82         * Carnivorous plants now drop kiwis
83         * Increased the possibility of food items
84         * The camera now updates a little earlier on right and bottom borders
85         * README updated
87 December 9 2002 Timo Kiviluoto <sonor@phpoint.fi>
89         * Added license info to the main menu
90         * Corrected a bug in the ass corpse emitation
91         * BoolQuestion now doesn't interpret enter as "yes"
92         * Wisdom now increases your ability to deal with gods
94 December 9 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
96         * README updated again
98 December 9 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
100         * README updated
102 December 9 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
104         * Corrected fatal mistake in Makefile.am (thank Valpurus that I caught this before we release)
105         * Adjusted color of flaming sword.
106         * Added BoolQuestion confirmation for appling wands.
107         * License changed to GPL.
109 December 9 2002 Timo Kiviluoto <sonor@phpoint.fi>
111         * Fixed the Foul Iron Penetrating Light of Death Bug
112         * Added "Please send bug report..." message to aborts
113         * Wands that have run out of charges are now worth nothing
114         * Corrected probably all gcc warnings
115         * Corrected a bug in innermost SpillFluid() function that caused fluid to
116           appear on the ground with a slight delay
117         * Panicked monsters are now much better in escaping along long tunnels
118         * Dipping wielded items is now possible
119         * Corrected a typo in potions' break message
120         * Zombie flesh is now initially spoiled
121         * Pick-axes are now more sturdy
122         * Digging consumes henceforth more NP
123         * Floating eye picture added to char.pcx by Kahvi
124         * I had to decrease the ambient light of New Attnam, since otherwise lanterns
125           would not have been visible there, which certainly would have looked like a bug
127 December 9 2002 Timo Kiviluoto <sonor@phpoint.fi>
129         * Cloaks and rings of invisibility can no more be wished, since they were so
130           much more powerful than any other wishable items
131         * Charisma now affects shop prices (both buying and selling)
132         * Dealing with shopkeepers now trains charisma
133         * Drinking ommel urine is now eeevil
134         * Go command is now disabled if confuse state is active
135         * Reading when confused is no longer very buggy and abusable
136         * Stethoscope info is now somewhat more useful
137         * Since killing the enner beast is so difficult, I added a horn of fear to its
138           inventory as a reward for the trouble
139         * Petrus and priests can now cure poison
140         * Petrus's and angels' heal counters now work correctly even if the player is not
141           always on the same level as they
142         * "Single weapon skills" have been renamed as "accustomizations"
143         * Bear traps now occasionally break
144         * Corrected a fatal bug that caused a crash if a monster killed by a bear trap was
145           resurrected
146         * Polymorphing when caught in a bear trap no longer crashes when the polymorph ends
147         * Corrected a memory leak in the book shelf code
148         * Digging and exploding a book shelf now works a little more correctly
150 December 9 2002 Timo Kiviluoto <sonor@phpoint.fi>
152         * Removed the Mega-Monstrous Equipment of Cursed Hands Bug Named IVAN's Doom -5
153         * Destroyed the Infamous Infralight Eating Bug Fiend Covered With Blood -3
154         * Corrected a memory leak in the wall breaking/stone creation code
155         * Petrus no longer starts slaughtering everyone in Attnam when a kamikaze dwarf
156           explodes near him
157         * _Lots_ of smaller bugs fixed
158         * BoolQuestion now interprets enter as "yes", not as the default answer
159         * Corpses of unique monsters now use a definite article
160         * AskKeyPress is now called upon bear trap and mine activation
161         * Alignment is once again shown in the player name over the message panel
162         * High score entries now show if the player was killed by a polymorphed monster
163         * Reading now trains intelligence
164         * Legless people no longer step on splinters
166 December 8 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
168         * Not walking (eg carnivorous plants) can't follow player to world map
169         * shopkeepers can no longer follow from level to level
170         * carnivorous plants, genies and bill's wills no longer spill blood 
171         * Bear trap + level change crashes corrected
173 December 7 2002 Timo Kiviluoto <sonor@phpoint.fi>
175         * Confused people no longer try to move against walls; there is no message and
176           no time penalty, so this was a very unclear reason not to accept a key press
177         * Increased nutrition given by Seges
178         * Increased nutrition given by life saving
179         * Seges can now heal the player or cure his poison state if needed
180         * Nefas can now confuse enemies and give the player a pet mistress
181         * Scabies can now polymorph the player
182         * Mithril can no longer be wished; equipment made of it made the game boring,
183           since updating was virtually impossible
184         * Decreased phoenix feather's SV to make the choice between steel and it more interesting
185         * Corrected the possibilities of broken helmets
186         * Decreased the overall difficulty values in the game by 25%
187         * Doubled all monster generation intervals in the game
188         * Decreased (greater) dark frogs' danger modifier a bit
189         * AI will not try to chase enemies seen by ESP anymore (this made angels rather useless)
190         * Throw system remade
191         * Terrain damage system remade
192         * Newton no longer rolls in his grave
193         * Since it was odd that the player could kick down locked stone doors so easily, the doors
194           in the underwater tunnel are now made of wood
195         * Gain all items cheat now drops the items to the ground under the player, so he doesn't
196           have to drop a thousand items to be able to move
197         * Added a fast gum solution to remove the material description of "stone stones"
199 December 06 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
201         * "THUMB" -> "THUMP". Somebody might think it's a funny and somebody might think it's a typo.
202         * Zombies Endurance raised and dextrity and agility lowered to indicate even less brain function
204 December 06 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
206         * Slightly adjusted helmets in favor of "normal" helmets. (it was far too easy to find special helmets and the normal ones were not really needed by player at any point of the game)
207         * Monsters in panic don't follow player from levels
208         * Vesana now leaves a 3 pineapples on the ground when it is killed
210 December 06 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
212         * I mixed to gods in last entry, so now that is fixed...
213         * Cleptia now gives invisibility state if haste is already activated. If even invisibility is active, then it adds time to one of the activated states. 
215 December 05 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
217          * Infuscor's effect changed
218          * Corrected bug with Beartraps and CheckDeath
220 December 5 2002 Timo Kiviluoto <sonor@phpoint.fi>
222         * Corrected a major bug in the score system
223         * Attacking civilians doesn't raise relations to evil gods anymore, but
224           killing does
225         * Full helmets are now used by several monsters formely wearing a normal helmet
227 December 4 2002 Timo Kiviluoto <sonor@phpoint.fi>
229         * Added parasitized state which increases food consumption, can be activated
230           by eating spoiled flesh and cured by healing liquid, antidote and sometimes
231           by vomiting
232         * Decreased poison's effect more
233         * Numerous devirtualizations
234         * Equipment screen now warns about low strength more often
235         * Added horn of bravery and horn of fear items
236         * Added vodka material
237         * Vodka and Valdemar are now explosive
238         * The mistress pain message Hex added (but did not mention) is now occasionally
239           printed if she is hit by the enner beast's scream
240         * Corrected a fatal bug in the chameleon polymorph code
241         * Broken helmet pictures added to item.pcx by Kahvi added modified by me
242         * Ring picture in item.pcx remade by Kahvi
243         * Added full helmet
244         * Helmets can now break
245         * Added troll blood material which acts like weakened healing liquid
246         * Cruentus's pray effect is now better
247         * Shields' BCs have been decreased a bit
248         * Removed the smaller temples of Attnam
249         * Valpurus's pray effect is now a little less superior
250         * Show battle info is henceforth a WMode command
252 December 03 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
254         * weapon and shield info verbalized
255         * Perception increase message changed
256         * Mellis's GoodPrayEffect adjusted to give more often gods
258 December 03 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
260         * chests can now by unlocked from same square with key
261         * anvil added to smithy
262         * digging produces stones
263         
264 December 01 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
266         * "Chest's lock shatters to pieces" -> "The Chest's..."
268 December 3 2002 Timo Kiviluoto <sonor@phpoint.fi>
270         * There's some light in Attnam again
271         * Puppies now have 50% more HP
272         * Tried to optimize script instantiations without noteworthy success
273         * Corrected a bug that prevented NPCs from searching unseen enemies
274         * NPCs normally standing idle now usually return to their home positions after
275           the dangers in the level are eliminated
276         * The smith now belongs to the same team as the other Attnamians
277         * Decreased snake's DangerModifier
278         * Wand of polymorph's effect time was way too low (probably a test I'd forgotten)
279         * Added chameleon which polymorphs all the time and in the rare normal form changes
280           color all the time
281         * Added chameleon flesh which activates the polymorphing state
282         * Mutant ass flesh now also triggers the polymorphing state
283         * Kamikaze dwarves and chameleons now use a special generation system; they both
284           start to appear rarely (frequency 1000) after the player reaches 80 HP
285         * Added IsExtraCoward character database boolean which allows easy adding of
286           civilian AI which panics immediately when an enemy is seen
287         * Petrus's wives, housewives, female slaves/servants and chameleons in their normal
288           form are now extra cowards
289         * Added a special message to Petrus's wives' and housewives' SpecialEnemySightedReaction()
290         * Decreased penalties for eating spoiled bananaflesh and other high NPModifier materials
291         * ESC now works in equipment selection screen correctly
292         * Genetrix vesana, mutant asses and their materials now radiate red light
293         * Corrected a problem that slowed down the game during most actions
294         * Go is no longer 10% slower than manual walking
295         * Added quick keys 'w' and 'W' for wielding items in the right and left arm
296         * Decreased poison's effect a bit
297         * Poison and sound can't sever bodyparts anymore
298         * Tripled healing liquid's effect
299         * Items now break somewhat less often
300         * Items in strong-boxes now take very little damage and almost nothing can break
301           an item inside a strong-box inside another container
302         * Decreased the effect of haste and slow to balance boss battles
304 December 3 2002 Timo Kiviluoto <sonor@phpoint.fi>
306         * Corrected a fatal bug in the monster generation code
307         * Eating spoiled food now yields less messages
308         * Since palm branches are fundamental parts of female slaves/servants, their
309           inhandspics are now drawn using a gum solution function, even though the general
310           system doesn't currently exist
312 December 1 2002 Timo Kiviluoto <sonor@phpoint.fi>
314         * Corrected a design flaw in the state system that occasionally caused odd permanent
315           states to be activated
316         * The counter of the confuse effect of spoiled items was usually rounded to zero so
317           I increased the effect a bit
318         * Esc now works in scroll bar questions
319         * Area around Attnam is now revealed when the game begins and gloomy cave's
320           environment is uncovered when the Elpuri quest is given
321         * Chameleon added to char.pcx by Kahvi
322         * Better helmet added to item.pcx by Kahvi and slightly made smaller by me
323         * Snake's agility decreased
325 December 01 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
327         * quit key changed from q to Q
328         
329 November 30 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
331         * Mommos don't leave corpses but just slime.
332         * Fixed effect for Loricatus.
334 November 30 2002 Timo Kiviluoto <sonor@phpoint.fi>
336         * Decreased exp gain for being burdened/stressed
337         * Decreased endurance exp rate
338         * Loricatus now gives a steel hand instead of a mithril arm and Cruentus an iron one
339           instead of a steel one
340         * Fainting from kobold flesh works again
341         * The game no longer crashes if character wearing a ring of infravision is polymorphed
342         * If needed, the game now asks whether the player wants to wield a weapon which he is
343           too weak to use
344         * Inventory entries of weapons and shields are now more informative
345         * Gravel, moraine, grass and school food can no longer be wished
346         * Integrated Kahvi's new chest pictures
347         * Corrected a bug that sometimes allowed small spoiled corpses to trigger a permanent
348           confused state
350 November 30 2002 Timo Kiviluoto <sonor@phpoint.fi>
352         * Some bones and skulls added to the enner beast level
353         * Skulls severed from skeletons no longer weight eight kilograms
354         * A dying skeleton now always drops a skull if it has a head
355         * Removed the ambient light of Attnam
356         * Added 100 bananas to Hulbo's shop
357         * Reduced the possibility of people stepping on banana peels and the average damage
358           caused by the fall
359         * Elpuri's lair and AI are now a little more interesting
360         * There is now a one-way magic portal in Elpuri's lair which leads to level 7 and
361           is the only way to go for the seekers of the Shirt
362         * It was impossible to correct the bugs in the EnabledMember tracking structure of teams,
363           so I remade the hole system differently
364         * Score calculation code rewritten
365         * High score list no longer behaves oddly if there are no entries
366         * Healing liquid, priests and wands of resurrection may no longer give angels or genies
367           prohibited bodyparts
368         * Gods can again attach old bodyparts (Hex had forgotten the const tag after humanoid's
369           CanCreateBodyPart())
370         * If a bodypart's HPs are at max when endurance is increased, its HPs are set to new max
371         * Killed the Hideous RAM Boulder Monster Spawn Error once and for all!
372         * Destroying a temple no longer *increases* relation to the divine owner
373         * Selling into and buying from chest on store floor works again
374         * The books and scrolls of the library are now inside the shelves
375         * The AI no longer eats spoiled food
376         * Items with different spoil levels are no longer piled together
378 November 30 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
380         * Bugs squashed:
381         -When walking towards locked door there's a bad message: "The closed, locked stone door with triangular lock is locked"
382         -Carnivorous plants can be kicked around.
383         -"The kamikaze dwarf manages to free heself from the bear trap."
384         -slight problem with key msgs corrected
385         * Features added:
386         - Loricatus now changes the material of items that have a StrengthValue that is larger than the strengthvalue of steel
387         - if the item that the player is carrying is steel, then there is a 10 % that he will be rewarded a scroll of repair 
389 November 28 2002 Timo Kiviluoto <sonor@phpoint.fi>
391         * Stats of summoned bodyparts are now more intelligent
392         * The dead are no longer counted when calculating population
393         * Anvil, broken bear trap, large chest and "small" chest added to item.pcx by Kahvi
395 November 28 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
397         * Totally weird and odd bug in charde.cpp.
399 November 28 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
400         * Bugs corrected:
401         - Headless player zombie + Chat.
402         - Seges and others may give genies and angels a groin and legs.
403         - Teleportation state works in the wilderness.
404         - "0 scrolls of wishing dropped"
405         - Destroying shops, libraries, smithies and temples (except the cathedral) with a pick-axe yields no penalties.
406         - The imperialist makes no reaction if the player destroys his golden room completely with pick-axe etc.
408 November 28 2002 Timo Kiviluoto <sonor@phpoint.fi>
410         * A lethal bug in the banana grower encourager's and a minor one in the ostriches'
411           save code corrected
412         * Language fine tuning
414 November 28 2002 Timo Kiviluoto <sonor@phpoint.fi>
416         * Decreased the amount of wolves Silva creates in towns
417         * The fly symbol is a bit clearer now
418         * Banana growers and ostriches now displace any movable creature on the landing
419           platform; if it isn't possible (the creature is a plant or something), they'll
420           attack it
421         * Added yet another silhouette color level; colors of old ones adjusted
422         * Dark frogs and rarely even greater ones appear in fountains (Hex forgot them)
423         * Added ice and snow materials
424         * Added snowy ground & pines and firs covered with snow
425         * Winter has arrived in Attnam
426         * Added new background story
427         * Corrected Decos's female servants' replies
428         * Richel Decos's and the banana growers' replies adjusted heavily
429         * Added new characters: banana grower encourager and Kaethos the village elder
430         * The banana grower encourager now occasionally whips or kicks the passing banana
431           growers
432         * Added new quest artifact: encrypted scroll
433         * Finally added the new starting quest
434         * Elpuri's cave is now hidden until the Player finishes the starting quest
435         * All Petrus's replies rewritten
436         * The archaic English used by Petrus, Haathbar, priests and gods is now more correct
438 November 23 2002 Timo Kiviluoto <sonor@phpoint.fi>
440         * Kahvi's levitation & fly symbol integrated
441         * Added more color levels to the silhouette
443 November 23 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
445         * poisoning and confusion can now be optained by consuming spoled items
447 November 23 2002 Timo Kiviluoto <sonor@phpoint.fi>
449         * Level entering messages and death messages now show the description of the currect
450           dungeon, too
451         * Dropping items in a shop while invisible no longer automatically donates the item
452           but asks whether it should be done
453         * Corrected a bug in the auto reveal feature of New Attnam
455 November 23 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
457         * scroll of repairing added
459 November 22 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
461         * snakes, frogs and spiders sometimes appear from fountains
462         * confuse state
463         * reading activates random state when confused
465 November 23 2002 Timo Kiviluoto <sonor@phpoint.fi>
467         * Corrected a fatal script error that sometimes caused a crash when entering Oree's lair
468         * Hunters now carry bear traps
469         * Invisible New Attnam made almost visible by Kahvi
470         * Almost visible New Attnam made visible by me
471         * Sign's Text wasn't saved at all but now is
472         * The player now learns the layout of New Attnam without any exploration when he begins
473           the game (he has lived there, after all)
474         * Removed the random factor of starting endurance, its effect was too great
475         * Added "none" option to equipment selection menu
476         * Added possibility to select target from equipment when reading item-affecting scrolls
477         * The holy banana of Liukas Vipro no longer spoils
478         * The former value of HasFeet() function comes now from the script
479         * Characters' flesh materials can now be defined in the script
480         * Death messages can now be defined in the script (it uses the same parser as replies)
481         * Reply and death message parser now understands pronouns
482         * Renamed little dog to puppy in order to reduce the Nethack-clone impression of the game
483         * Some devirtualizations
484         * Richel Decos's mansion is now prettier and better guarded
485         * Levitating ostrich picture modified somewhat by me
486         * Ostrich landing site picture added to glterrain.pcx by me
487         * New terrains added: holy tree and ostrich landing site
488         * Added levitating ostriches
489         * Added banana transportation AI for banana growers and levitating ostriches
491 November 21 2002 Timo Kiviluoto <sonor@phpoint.fi>
493         * Water *really* makes gunpowder useless
494         * Selecting a pile in the eat menu doesn't open a scroll bar question
495           anymore
496         * Corpse consumption is now more ergonomic
497         * Item weights are now correctly updated when eating
498         * The player now knows no gods when he begins the game
500 November 21 2002 Timo Kiviluoto <sonor@phpoint.fi>
502         * The default answer of drop and pickup amount question is now the number
503           of items, instead of one
504         * Merka is now the shopkeeper of the dungeon, not one of his guards
505         * AI sight code works (very) little better now
506         * The player can no longer fly over oceans if he has walking creatures
507           in his team
508         * Broken (runed) whips are no longer generated; since the intact ones
509           can't break, they were somewhat odd
510         * The possibilities that items explode or burn (if they can) now depend
511           on the amount of fire/energy damage
512         * Monsters no longer attack the enner beast; its death this way wasn't fun
513         * Reduced the enner beast's damage somewhat
514         * Enner beast's scream now detonates activated mines
515         * Unicorn code is now simpler
516         * Wish parser now asks the player to be more precise if there are more than
517           one equally good matches; this way typos like "wand of clonning" don't
518           yield a wand of polymorph etc. just because NameSingular is correct
519         * It is now possible (and necessary) to specify material when polymorphing
520           into a golem
521         * Leg pictures' MColor 3 is now allocated for boots
522         * Carnivorous plants' color have been adjusted: normal are green, greater blue
523           and the mother is red
524         * Genetrix vesana no longer creates plants around dead members of the player
525           team
526         * Magical whistle effect no longer attemps to teleport dead members of the
527           party
529 November 20 2002 Timo Kiviluoto <sonor@phpoint.fi>
531         * Polymorph state causes polymorph less often (the frequency was ridiculous)
532         * Genetrix vesana level is now easier
533         * Shops are now bigger
534         * Nutrition values decreased
535         * Possibilities of broken bananas decreased greatly
537 November 19 2002 Timo Kiviluoto <sonor@phpoint.fi>
539         * Monster amounts and generation intervals can now be defined in the script
540         * Decreased the monster generation values in the tunnel
541         * The middle level of the tunnel is now twice as long as before
542         * Corrected a fatal bug in the skeleton bodypart severing code
543         * Gcc warning corrections
544         * Fixed the Vicious Endless Dinner Time of Mad Slaves Bug
545         * ApplyExperience() is now called also during actions (I can't understand
546           why there was an if-sentence disabling it...)
547         * Rounding error corrections
548         * More exp balancing
550 November 19 2002 Timo Kiviluoto <sonor@phpoint.fi>
552         * Exp rates quadrupled
553         * Fixed a bug in the battle info screen: it didn't work correctly if a
554           two-handed weapon was too heavy to be used
555         * Animated set of magic portal pictures added to OLTerrain.pcx by me
556         * Added magic portal olterrain
557         * Oree's lair can now only be entered through a magic portal in level 9 and
558           exited via another portal which teleports the player straight to level
559           one but can only be used if he has the Shirt
560         * Changed the layout of Oree's lair a little
561         * The game no longer crashes if the player tries to go down in tunnel end
562           level while WMode is active
563         * Added level teleport WMode command ('|')
564         * Reading in WMode now takes only about one tick
565         * S&R done:
566           * WizardModeActivated() -> WizardModeIsActive()
567           * GetSeeWholeMapCheat() -> SeeWholeMapCheatIsActive()
568           * GetGoThroughWallsCheat() -> GoThroughWallsCheatIsActive()
569         * Increased bone's strength value a little
571 November 18 2002 Timo Kiviluoto <sonor@phpoint.fi>
573         * Practically every battle algorithm has been rewritten
574         * *Lots* of attribute and equipment balancing
575         * Show battle info screen is now very (perhaps even too) informative
576         * Automatic dropping of banana peels via config option is now considered
577           a dexterity action of difficulty one
578         * The smith no longer fixes broken bananas
579         * Gave the smith a mithril hammer, because without it he was completely useless
580         * The "What do you want me to fix?" menu of now shows valpurium swords etc.
581           which cannot actually be fixed, so that the smith can verbally give the precise
582           reason why he can't do it
583         * The smithy now fixes armor, too
584         * Added IsMetal database bool for materials
585         * The smithy now fixes only items made of metal
586         * Added a couple of random mines and bear traps in the artifact vault
587         * Corrected a bug in the code that prevented pets from eating the player's bodyparts
588           that prevented *all* other monsters from eating *any* severed bodyparts
589         * To avoid accidents, an "Are you sure?" question is now asked if the player tries
590           to eat his own severed limb
591         * Scroll of create monster is again destroyed after reading
592         * Magical whistles can no longer be piled
593         * Added summon monster WMode command ('&')
594         * Added runed whip to fill the gap between whip and whip of thievery
595         * Added festring::SearchAndReplace() which searches and replaces
596         * Character chat replies can now be defined from the script
597         * Added DefaultName character database attribute
598         * The following script-placed characters have been named:
599           * Hulbo the shopkeeper (the one in Attnam)
600           * Merka the shopkeeper (the one in Elpuri's Cave)
601           * Haathbar the librarian
602           * Ikiros the smith
603           * Richel Decos the imperialist
604         * It is now possible to add unique monster which are generated at most once
605         * Added DangerModifier which allows monster designers to force certain creatures
606           to be generated earlier or later than they normally would
607         * The following monsters are now unique and more powerful than monsters
608           normally encountered at the time they are generated:
609           * Rondol the kobold patriarch
610           * Guugzamesh the goblin king
611           * Xinroch the skeleton warlord
612           * experiment ZQ-29 the spider silk golem (very rare)
613           * Ur-Khan the orc marshal
614           * Golgor Dhan the grand master dark knight
615           * Sherarax the mistress queen
616         * Valpurium golems are now both rarer and more powerful when they are generated
617         * IsSolid material database boolean renamed as IsGolemMaterial
618         * CreateSolidMaterialConfigurations character database boolean renamed as
619           CreateGolemMaterialConfigurations
620         * Added an alive material called magical air of which Bill's wills and genies are made;
621           this solves the problem with their strengths
622         * Guards are now divided to rookie, veteran, shop and elite configurations
623         * Added Haedlac Galladon VII the master guard to the Cathedral
624         * Added Gorovits family hammer and Gorovits family sickle for Ivan
625         * The imperialist can again fight (he was just overloaded because of that 80 kg golden
626           plate mail :)
627         * Added boot of kicking for the imperialist
628         * Added greater dark frogs, greater light frogs and greater carnivorous plants
629         * Genetrix vesana now has a 1/3 chance to create a greater carnivorous plant instead
630           of a normal one
631         * Genetrix vesana's AI no longer crashes if one of the player team members is at the
632           very edge of the level
633         * Greater frog, greater carnivorous plant and genetrix vesana pictures added
634           to char.pcx by me
635         * Torso picture and head pictures for goblin prince and king added to humanoid.pcx
636           by me
637         * All kobold, goblin and skeleton configurations now look different
638         * Elpuri's cave consists again of 10 levels; while balancing I realised it wasn't
639           too long in the last version and now we have thrice as many monsters to meet and
640           items to collect so I believe shortening was not justified
641         * Added pick-axe to level 9 (fan request)
642         * Displacing is no longer faster than normal moving
643         * Displacing creatures to terrain which they can't walk on is now not allowed
644         * Polymorphing is now a secret state
645         * The player will no longer become hungry if saved by WMode life saving
646         * Mammoths no longer gain insane amounts of endurance experience
647         * Decreased the healing rate of high endurance monsters
648         * Corrected a fatal bug in the armor breaking code
649         * Poison works again
650         * Added "peaballs" to insults
651         * The game now asks for keypress if a worn or wielded item is broken
652         * Messages are again splitted before sending them to history; this way panel
653           scrolling works more conveniently and great amounts of very long messages
654           no longer cause a crash when pressing 'M'
655         * Corrected a bug in the script reading functions that prevented the divide
656           operator '/' from working correctly
657         * Corrected a fatal bug in Mjolak's and flaming sword's hit effects
658         * Added character attributes option to SecretKnowledge
659         * Removed bone support; it was realistic but not fun and slowed down the game
660         * Stacking system GUI improved even more
662 November 12 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
664         * Stacking system's GUI improved
666 November 7 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
668         * Linux version improvements (now seems to function like a proper program)
669         * Genedrix Vesana added to tunnel
670         * Shopkeeper now offers his remaining money if he doesn't afford the full price
672 November 1 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
674         * Belt of carrying added
676 November 1 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
678         * Pets shouldn't eat the player's bodyparts.
679         * Look stretch config option.
680         * If a mine in the inventory is active, it should be displayed somehow.
681         * Artifact vault.
682         * Stethoscope info now shows HP and MaxHP
683         * Daemon flesh is now poisones
684         * Strong box now looks like a strong box (also edited its graphics)
685         
686 October 31 2002 Timo Kiviluoto <sonor@phpoint.fi>
688         * Item strength values are now somewhat more balanced
689         * A few gcc warnings corrected
690         * Many devirtualizations
691         * Kahvi's sign pic now uses only two m-colors, one for the text and another for the rest
692         * Optimized contentscript instantiations by removing the older optimizations that slowed
693           them down
694         * Most inventory initializations are now script's responsibilities
695         * Armor breaks again
696         * Block capacity algorithm remade
697         * Added script support for random squares inside rooms
699 October 29 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
701         * fixed bug: (In Linux) push X-button, then cancel
702         * magical whistle now acts as a normal whistle if used less than 1000 ticks after last use.
703         * Smith added in Attnam
704         * Spoiler warnings to all script files added
705         * Snake corpses are poisones
706         * sign (says "under construction" and IS under construction)
708 October 29 2002 Timo Kiviluoto <sonor@phpoint.fi>
710         * The extremely uninformative battle information of the panel removed
711         * Added show battle info command ('B') which reveals them instead
712         * Item pictures are now shown when looking at people
713         * Worldmap generation is now faster
714         * Added armor of great health which increases endurance but is heavier, clumsier
715           and weaker than plate mail
716         * Invisible monsters seen by infravision are again transparent
717         * Generation modifiers are no longer calculated for monsters that can't be generated
718         * Game balancing:
719           * Body armor now increases head's AV somewhat (let's say it protects the neck)
720           * Body armor's effect on limb AVs increased (now 3/4)
721           * Damage needed for breaking items doubled
722         * New script features:
723           * Items can now be added to character inventories both in dungeon.dat and char.dat
724           * Items can be added to the ground much more conveniently
725           * Chest contents can be defined in the script (even chests inside chests inside chests
726             and so on are possible)
727           * One can now define items in the script that have an arbitrary chance to occur in a
728             given place (inventory, ground, equipment etc.)
730 October 27 2002 Timo Kiviluoto <sonor@phpoint.fi>
732         * Original bodypart system is now a lot better
733         * Resurrection works again correctly
735 October 27 2002 Timo Kiviluoto <sonor@phpoint.fi>
737         * Items in shops or on the cathedral floor no longer spoil
738         * Spoil level is now symbolized by Hex's fly effect
739         * Halved all spoil rates
740         * Fixed a bug that caused the pick up AI of limb-lacking monsters to crash
741         * Corrected a bug in the new random item code that created numerous ghost items
742         * Removed a fatal bug in the block code that resulted in a div by zero
743         * Killed a minor bug in the bodypart attachment code that prevented attribute
744           bonuses from updating correctly
745         * Added flame effect for holy bananas
746         * Tweaked the shape of the jungle island a little
748 October 26 2002 Timo Kiviluoto <sonor@phpoint.fi>
750         * Weapon prices are now correct
751         * S&R:ed "omel" to "ommel"
752         * New materials added: hardened leather, troll hide, nymph hair, ommel hair,
753           angel hair, phoenix feather, golden eagle feather, spider silk and kevlar
754         * Added many new material choices for cloaks, belts, gauntlets and boots
755         * Unarmed, kick and bite THVs decreased
756         * Corrected a problem with lamps that generated names like "oil iron lamp"
757         * Corrected a fatal bug in the spoil code
758         * Intact and broken morning star pictures added to item.pcx by Kahvi
759         * The old starting room moved to the tunnel
760         * Size of Elpuri's cave decreased by three levels
761         * Added scrolls of enchant weapon and armor as a reward to wolf room
762         * Added random item option to script
763         * Most items sold in shops and the library are now random
765 October 24 2002 Timo Kiviluoto <sonor@phpoint.fi>
767         * Inelastic armor now decreases dexterity and/or agility
769 October 18 2002 Timo Kiviluoto <sonor@phpoint.fi>
771         * The danger system now takes haste and slow into account
772         * Monster no longer panic when they die
773         * Weapon weights are now *much* more realistic
774         * New weapons added: hammer, sickle, dagger and short sword
775         * Names of the following weapons modified:
776           * curved two-handed sword -> two-handed scimitar
777           * poleaxe -> halberd
778           * spiked mace -> mace
779         * Whips no longer break
780         * Possibility of enchantment scrolls increased
781         * Some search & replace errors corrected
782         * Messages printed out during a hit are now concatenated
783         * The game now aborts if an obligatory room cannot be placed during generation
784         * Game balance is now completely broken and most damage values insane
786 October 16 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
788         * Added ANTIDOTE effect
789         * Added antidote liquid
790         * "Omle" -> "Omel" because *CLASSIFIED*
791         * added treasure room to Valpuri's cathedral
792         * slightly increased the possiblity of bottles (to get about as much other potions with the new liquid..)  
793         
794 October 15 2002 Timo Kiviluoto <sonor@phpoint.fi>
796         * Sign added to olterrain.pcx by Kahvi
797         * Ostrich added finally to char.pcx by Kahvi! VICTORY!
798         * Strong-box added to item.pcx by Kahvi
799         * Flail head and broken flail added to item.pcx by Kahvi
800           (he had done them months ago but I'd forgotten to commit them)
801         * Fix function added for items, though I didn't test it
802         * Added inline tool function template Recurse() to femath.h,
803           which isn't and probably won't ever be used, but it's guru
805 October 14 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
807         * Compiles again on linux
808         * added imperialist and banana grower classes
809         * added rough outline of New Attnam
810         * added boulder
812 October 6 2002 Timo Kiviluoto <sonor@phpoint.fi>
814         * Underscores now separate the words of all macros in the game
815         * The prices of the items added in the last commit are now sane
817 October 5 2002 Timo Kiviluoto <sonor@phpoint.fi>
819         * Optimized the generation of characters somewhat by disallowing
820           a few unnecessary cache recalculations
821         * Mana is now hidden
822         * Finally added a working equipment attribute bonus system
823         * Added gauntlets of strength and dexterity
824         * Added boots of strength
825         * Boots of speed replaced with boots of agility which increase
826           the attribute instead of hasting the user; this way wands of
827           haste and Cleptia are useful even if the boots are equipped
828         * Added helmets of piercing perception, understanding, brilliance
829           and attractivity
830         * Added DefaultEnchantment database value for items
831         * The game now says "Entering level x" instead of "Generating
832           level x"
834 October 5 2002 Timo Kiviluoto <sonor@phpoint.fi>
836         * Using felist is now perhaps a bit easier
837         * Picking up multiple items is now more convenient
838         * Chest usage is now easier
839         * Chests' StorageVolumes now work correctly
840         * You can no longer earn money by putting things inside a chest
841           in your *own* inventory in a shop
842         * Applying a chest now opens it
843         * Tweaked the placement of the jungle island a little
844         * The librarian now starts with some money so he can buy things
845           from the player even if the latter hasn't yet bought anything
846         * Fixed a bug in New Attnam's entry pos
848 October 05 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
850         * Support for round corners for rooms added
851         * Some rewriting of some really awful code in level.cpp, but not enough...
852         * Started New Attnam (1 % done now or something like that)
854 September 30 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
856         * Gunpower can now get wet
858 September 30 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
860         * Scabies' good effect now doesn't inflict damage upon friends and neutrals
862 September 29 2002 Timo Kiviluoto <sonor@phpoint.fi>
864         * Skull's weapon category changed from MISC to UNCATECORIZED;
865           the former is not a weapon but an inventory category and caused
866           a crash when the skull was wielded
867         * Sparkles and/or flies over transparent pictures are no longer
868           themselves transparent
869         * Camera now works even if the area is smaller than the screen
870         * The underwater tunnel and New Attnam are now placed correctly
871         * worldmap::WhatTerrainIsMostCommonAroundCurrentTerritorySquareIncludingTheSquareItself()
872           and worldmap::SmoothAltitude() optimized somewhat
873         * Corrected the Mysterious Absence of Elpuri on the Busy Screen Bug
875 September 26 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
877         * Added lightning effect to bitmap
878         * Prevented digging with broken pick-axes
880 September 24 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
882         * Now compiles on Linux again
884 September 23 2002 Timo Kiviluoto <sonor@phpoint.fi>
886         * Monster generation *might* be a bit better again
887         * Corrected a minor outlook bug in the equipment pictures around
888           the silhouette
889         * Corrected a minor outlook bug in the equipment screen
890         * Added colored light effects for many monsters and items
892 September 22 2002 Timo Kiviluoto <sonor@phpoint.fi>
894         * Added parentheses around several macros in ivandef.h
895         * Added MakeRGB24(), GetRed24(), GetGreen24() and GetBlue24() inline
896           functions
897         * Renamed old color handling routines to MakeRGB16() etc.
898         * Added rgb24 function to script and renamed rgb to rgb16
899         * Emitation and luminance are 24 bit rgb values; lights may now be
900           colored and they can be mixed dynamically
901         * Note: since rgb elements are in the range 0-255 instead of 0-511,
902           old light values are converted to new ones like this:
903           MakeRGB24(Light / 2, Light / 2, Light / 2)
905 September 17 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
907         * Flies added
908         * Items inside chests carrid by player at death shown
909         * 3 configurations added to chests: small, normal, large
910         * GCC define added to configure.in
911         * StorageVolume moved to script for chests
912         * Added MaxGeneratedContainedItems for chests' parameters
913         * deactivated Scabies temporarily
914         * Fixed msg when trying to put chest into the same chest
916 September 17 2002 Timo Kiviluoto <sonor@phpoint.fi>
918         * Capitalization functions of festring are now more flexible
919         * Added festring::IgnoreCaseFind() which acts like std::string::find() except
920           that it ignores case
921         * Wish parser is no longer case sensitive
922         * Added SoCM alias for scroll of change material
923         * Position script now allows one to select a random squares inside arbitrary
924           rectangles
925         * Added owterrain classes and script entries for New Attnam and the underwater
926           tunnel
927         * Added femath::CompareBits() which allows easy ordering of POD objects
928           (but alignment of structure members must be disabled first!)
929         * The < operators of graphic_id and configid are now more elegant
930         * Saving and loading graphic_id and configid objects is now more elegant
932 September 14 2002 Timo Kiviluoto <sonor@phpoint.fi>
934         * Banana peal is now banana peel (why wasn't this typo noticed before?)
935         * Wands' inventory entry is now correct
936         * Corrected a fatal bug in the lump hit code
937         * Completely black carnivorous plants are no longer generated
938         * Interlevel transportation code is now a lot better
939         * Levels can now have multiple entrances which one may link without restrictions
940         * Names consisting only of spaces are now prohibited, and spaces at the end of
941           names are now discarded
943 September 11 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
945         * The Price of cheap copies of Petrus lowered from 500 to 50. (They aren't THAT sacrate!)
946         * Bone changed from two handed weapon to one handed. I belive so, but might need debate.
947         * Skull added
949 September 10 2002 Timo Kiviluoto <sonor@phpoint.fi>
951         * Corrected lots of warnings given by gcc compilation
952         * The game doesn't generate monsters that can't hurt the player nor can
953           be themselves hurted, like a mammoth against an AV 60 enemy
954         * The same applies to monsters which deal a ton a damage but can also be
955           killed really easily, like skeleton warriors
956         * Armies of monsters of single type are now a lot less common
957         * Attribute decrease due to negative exp is now four times slower than before
958         * Mammoth and buffalo stats tweaked a bit
959         * Attribute system balancing
960         * Valdemar added by Hex
961         * Omle urine is now more powerful
962         * Omle urine messages work now better
963         * Healing liquid doesn't work on non-living bodyparts anymore
964         * Healing liquid effect adjusted
965         * Healing liquid now prints a message when it grows new limbs
966         * Useful potions are now more common
967         * Enchantments can now be defined in the script
968         * Added lots of enchantments for the initial equipment of high level monsters
969         * Pictures of a native village and an entrance to an underwater tunnel added
970           to WTerrain.pcx by Kahvi
971         * Picture of an imperialist added to Humanoid.pcx by Kahvi
972         * Wall with Petrus poster added to OLTerrain.pcx by me
973         * Added some Petrus posters around Attnam
974         * Probably something else, I was nine days without coding and my memory
975           about what I did is dizzy
977 September 07 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
979         * The frequency of suicide dwarfs increased from 1000 to 10000
980         * Kicking locked chests can now shatter the lock
981         * The contained items of a chest now receive 50 % of the physical damaged inflicted to the chest 
982         * Chest's StorageVolume increased from 1000 to 5000 (even bottles couldn't fit inside before)
984 August 30 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
986         * Whistle now sets the waypoint of some creatures to users pos
987         * Displacing monsters that are stuck no longer works
988         * Bug with braking bottles probably fixed
989         
990 August 29 2002 Timo Kiviluoto <sonor@phpoint.fi>
992         * Equipment is now dropped correctly after Sophos teleport a bodypart away
993         * Corrected a bug that caused dogs catching bones to crash
994         * Added "magic whistle" alias for magical whistle
995         * Magical whistle now prints a message when blown
996         * Removed rings of energy and acid resistance, as they were completely useless
997         * Doubled all block values (is this too much?)
998         * Scroll of change material reading can now be cancelled
999         * Bodypart healing is now faster
1000         * Rest command cannot be used anymore if only non-alive bodyparts are hurt
1001         * Rest command is now terminated if only non-alive bodyparts are hurt
1002         * Female slaves again wield palm branches
1003         * Sparkle effect time doesn't anymore need to equal 0 mod 16, and their
1004           position and timing varies depending on class instance
1005         * SparklePos now prefers the middle parts of the picture, since clipping
1006           the sparkle isn't really aesthetic
1007         * Unseen far away stacks can now be 'l'ooked at if SeeWholeMapCheat is active,
1008           and full information about their items is shown
1009         * Corrected a fatal bug that caused the breaking of wielded potions to crash
1010         * Added weapon and armor enchantments (the +x thing)
1011         * Added scrolls of enchant weapon and enchant armor
1012         * '?' screen is now easier to read in WMode
1013         * Corrected a bug that caused incorrect SS levels to be printed in the inventory
1014         * Horn and flail pictures added to Item.pcx by Kahvi
1016 August 27 2002 Timo Kiviluoto <sonor@phpoint.fi>
1018         * Sparkling now works with all items made of sparkling material
1019         * Sparkle effect is now less frequent
1020         * All prices are now more or less correct
1021         * Valpurus now gives a valpurium two-handed sword, not a curved one
1022           (old effect was a bit too powerful...)
1023         * Loricatus now changes things to steel, not mithril (same as above)
1024         * UpdatePictures() is now not called when creating temporary monsters
1025           and equipment for danger calculations
1026         * Iterative UpdatePictures() calls are now less common
1027         * Reduced enner beast's damage by 99.99%
1028         * Kicking works a bit better now
1029         * Wand of locking works again
1030         * Quest artifacts no longer spoil
1031         * Adjusted bear trap damage a little
1032         * Offer values now depend on price
1033         * Cleptia now hastes/slows the player instead of increasing/decreasing
1034           his agility
1035         * Name length is again limited
1036         * Removed bodypart animation structures, as they weren't used and were
1037           already outdated
1038         * The game crashes no more when an item spoils when it's currently being
1039           eaten
1040         * Wolves are now easier
1041         * The dungeon shop now appears before the wolf level
1042         * The dungeon shop has now more useful items for sale
1043         * Vomiting in the world map no longer crashes
1044         * Digging doesn't destroy your weapon anymore if both hands are full
1045         * Decreased difficulty in general
1046         * Probably much that I have forgotten (night coder in a hurry has a poor
1047           memory)
1049 August 22 2002 Timo Kiviluoto <sonor@phpoint.fi>
1051         * Kamikaze dwarves now die in the initial explosion
1052         * Kamikaze dwarves' bodyparts now fly to random directions in the explosion
1053         * The game now prints a "You hear an explosion." message when a square
1054           outside LOS explodes
1055         * Fixed many bugs in StepOnEffects
1056         * Corrected a bug in bananas' volumes
1057         * Experience and nutrion values balanced
1058         * Using the whip of Cleptia is now an evil deed
1059         * Flaming sword's hit message was fixed
1060         * Vermis, Turox and the whip of Cleptia now use a definite article
1061         * Adjusted new artifact weapons' volumes, materials and hit effects
1062         * Hammer, sickle, short sword and dagger added to Item.pcx by Kahvi
1063         * Broken pictures of the following items added to Item.pcx by Kahvi:
1064           hammer, sickle, short sword, dagger, chain mail, shield
1065         * Chain mails and shields may now break
1066         * Corrected an arithmetic error in the ReceiveDamage code
1067         * Inactive mines no longer explode when stepped on
1068         * Inactive mines no longer explode from physical damage, only from fire
1069           and energy
1070         * Mines and bear traps are now automatically dropped upon activation
1071         * Bill's wills and snakes no longer slip on banana peals
1072         * Corrected a bug that caused the "you wake up" message after faint to be
1073           printed twice
1074         * Cured a corpse bug that caused DrinkableSorter to crash
1075         * Oree doesn't "look slower" when he dies and his boots of speed are
1076           dropped to the ground
1077         * Corrected a typo in Oree's death message
1078         * GetNearestFreeSquare calls no longer crash if no free square was found
1079           (usually RandomSquare is used instead)
1080         * Vomit amount is no longer discarded
1081         * Dipping works again
1082         * Severed bodyparts and corpses now bleed for some time
1083         * Weapon poisoning etc. is now only temporary
1084         * Meleeweapons with special hit effects now call meleeweapon::HitEffect(), too
1085         * Broken artifact weapons now don't cause special hit effects
1086         * Whip of Cleptia must be made of material with > 5 flexibility to work
1087         * Kahvi's stethoscope picture integrated
1088         * Elpuri's head is again black
1089         * "Your xxx bleeds (very badly)." message is now replaced with "Your xxx is in
1090           (very bad) condition." if the bodypart is not made of living material
1091         * Golem corpses aren't bloody anymore
1092         * The idol which an NPC wants to become when polymorphing with polycontrol
1093           active now depends on sex (undefined -> mammoth, male -> communist, female ->
1094           mistress queen)
1095         * Polymorphed creatures now drop all equipment they can't use
1096         * The dolphins can now be polymorphed
1097         * AskForKeyPress() now automatically capitalizes its topic
1098         * Starting a new game after drowning doesn't crash anymore
1099         * Ocean's IsWalkable function did not take a const parameter,
1100           which caused seas to become walkable, but this is now fixed
1101         * Corrected the "...it is worth 9085104 gold pieces!" message that appeared
1102           in shops because the price was read from a random RAM address
1103         * The enner beast now screams every turn if panicked
1104         * Fearless creatures panic no more when their bodyparts are severed, and almost
1105           fearless less often
1106         * Block strengths are now shown correctly in the panel
1108 August 18 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1110         * Added sparkle animation cycles
1111         
1112 August 18 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1114         * Wand-system's code shortened by maybe 80 % 
1115         * Wand of cloning added
1117 August 18 2002 Timo Kiviluoto <sonor@phpoint.fi>
1119         * Added item piling
1120         * Removed numerous tests forgotten in the last commit
1121         * One can no longer see weights etc. when looking at far away stacks
1122         * The Obscure Mithril-Handled Wooden Sword Bug corrected
1123         * Fixed some warnings given by gcc compilation
1124         * Corrected a database bug that caused non-living creatures to print
1125           odd messages when running a gcc-compiled binary
1126         * Removed two other simultaneously found bugs concerning non-living
1127           creatures' attributes
1128         * Weapon and armor prices are somewhat more correct now
1130 August 17 2002 Timo Kiviluoto <sonor@phpoint.fi>
1132         * StringQuestion again shows a "Too short!" message when appropriate
1133         * Names and descriptions of several gods changed
1134         * Stack interface is now much simpler and its usage much easier,
1135           as in the following example:
1137           for(stackiterator i = Stack->GetBottom(); i.HasItem(); ++i)
1138                 {
1139                   i->MemberFunctionOfItem();
1140                   item* CurrentItem = *i;
1141                 }
1143         * Corrected an enormous amount of bugs caused by the new item visibility
1144           system
1145         * Added lsquare::GetSideStackOfAdjacentSquare() which allows much
1146           more convenient usage of side stacks
1147         * Description of sidestacks is now shown on the squares above which
1148           they really are (because previously you could "see" lanterns through
1149           walls in lookmode)
1150         * Level-leaving code now works little differently with ESP-monsters
1151           (they must now see the stairs before they can follow the player)
1152         * Panel's level description is now always capitalized
1153         * RaiseStats + ESP works correctly now
1154         * Added "severed" adjective for severed bodyparts
1155         * Item information shown in the inventory screen now depends on category
1156         * festring is now a fully static class, not a namespace, since namespaces
1157           are evil
1158         * festring::IntegerToChar() now calls festring::InstallIntegerMap()
1159           if it hasn't yet been done; manual initialization is thus no more necessary
1160         * Added a couple of festring::SplitString() functions that make line
1161           cutting and chapter managing much easier
1162         * felist now splits lines correctly
1163         * Added ushort Marginal parameter for felist::AddEntry, which makes splitted
1164           lines occasionally better looking
1165         * Corrected an outlook bug in the "You didn't get to the high score list" message
1166         * Poison is now a lot less deadly
1167         * Default outline colors may be a bit less ugly
1168         * Lots of C-style casts converted to reinterpret_casts
1169         * The whip of Cleptia is now derived from whip
1170         * The player now starts with a copper spear and a leather helmet, so that
1171           he would suck a little less
1172         * Stethoscope, skull and scalp pictures added to item.pcx by Kahvi
1173         * Thief picture added to humanoid.pcx by Kahvi
1174         * Critical hit message was not displayed correctly if the player was the hitter
1175           and this was fixed
1176         * Created a more or less consistent system for broken items
1177         * Integrated Kahvi's broken weapon pictures -> all normal weapons and bananas
1178           may now break both when blocking and hitting
1179         * Changing material to air is now prohibited
1180         * Bananas are now derived from meleeweapon so that they can be poisoned
1181         * Food finally spoils
1182         ! Note: Due to spoil system, it is now illegal to send characters and items
1183           to hell in destructors, so be sure delete everything there
1184         * Bone and bread are now organicsubstances so that they can spoil (albeit
1185           slower than other materials)
1186         * Meleeweapons' name now shows if they are dipped into something
1187         * Corrected a few small bugs in the Memorized and MemorizedDecription update
1188           request code
1189         * Resurrection works again
1190         * Prohibited unoriginal bodypart attachment during resurrection since limb
1191           images are not universally compatible
1192         * Duplicating corpses now works
1194 August 11 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1196         * Monsters now panic more or less correctly
1197         * Item info option added to Wizard mode's secret knowledge command
1198         
1199 August 10 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1201         * corrected funny (ok it's not very funny) spelling mistake. The text said before: "...ThOu HaSt SlAuGtHeReD pEtRuS..."
1202         * Added panic. At the moment all monsters panic when their HPs reach 1 which will have to be tweaked.
1204 August 9 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1206         * Added parameter IgnoreVisibility to all stack::DrawContents and their calls
1207         * Tweaked the number of beartraps and mines in level (now 0-4 of each)
1209 August 8 2002 Timo Kiviluoto <sonor@phpoint.fi>
1211         * Carnivorous plants are now longer born inside walls nor over monsters
1212         * StuckTo system works better now, maybe
1213         * Added Duplicate() functions for character and item
1214         * Gauntlets and boots are now generated in pairs
1215         * Monsters pick up and use equipment again
1216         * Added cloak of invisibility
1217         * Invisibility is now taken into account when calculating danger
1219 August 4 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1221         * Msgs of special items corrected
1222         * Success of using Whip of Calamus now depends on players relations to Calamus.
1223         * Wishing for "lamp" gives now an oil lamp
1224         * Headless creatures don't screams
1225         * Backpacks work (-> Suicide dwarfs work)
1226         * GetDeathMessage functions changed to const
1227         * Bug with bitmap::DrawFlames that did funny things to the RAND() function corrected
1228         * Corrected a minor typo in chest
1229         
1230 August 4 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1232         * Bug in poisoned fixed
1233         
1234 August 4 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1236         * Mines and beartraps work well with the new system.
1238 August 4 2002 Timo Kiviluoto <sonor@phpoint.fi>
1240         * Eating is no longer an evil deed
1242 August 4 2002 Timo Kiviluoto <sonor@phpoint.fi>
1244         * Added char* festring::IntegerToChar(long) which is a much faster
1245           variant of the nonstandard itoa
1247 August 3 2002 Timo Kiviluoto <sonor@phpoint.fi>
1249         * SecretKnowledge's defence part now shows block info
1250         * Player can no longer eat scrolls, silver stones etc.
1251         * Eating is no more fatal
1253 August 3 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1255         * CanBeSeen and IsVisible systems merged together to CanBeSeen.
1256         * Added a lot of consts
1257         * Mine and bear trap pretty much recoded.
1259 August 3 2002 Timo Kiviluoto <sonor@phpoint.fi>
1261         * Blocking is no longer possible when fainted
1262         * Shields now affect RelativeDanger
1263         * Blocking now increases weapon skills
1264         * Added SHIELDS weapon skill category
1265         * Added more parameters for hit effects
1266         * Hit effects of gauntlets and boots now work
1267         * Added system for special unarmed and kick effects
1268         * Some S&R done:
1269           * SingleWeaponSkill -> SWeaponSkill
1270           * CategoryWeaponSkill -> CWeaponSkill
1271           * gweaponskill -> cweaponskill (where the dev/null did that g come from?)
1272         * Single weapon skill is now removed correctly when an arm is severed
1274 July 31 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1276         * Added whip of Calamus
1277         * Tweaked items thrown at doors
1278         * Possibly something else (sorry. Bad commit)
1280 July 30 2002 Timo Kiviluoto <sonor@phpoint.fi>
1282         * Mistress hair color now depends on configuration
1283         * All orc configurations look different
1284         * Orc's article is now correct
1286 July 30 2002 Timo Kiviluoto <sonor@phpoint.fi>
1288         * Hostile and neutral NPCs no longer forget weapon skills like the player and
1289           his team
1290         * Corrected a lot of warnings given by the gcc compilation
1291         * Gauntlets and boots now increase unarmed and kicking damage, respectively
1292         * The AI now fights invisible enemies correctly if they have attacked first and
1293           have not moved anywhere
1294         * DodgeValue is now doubled if the hitter can't see the dodger
1295         * ToHitValue is likewise multiplied by two if the hitter is invisible to the
1296           dodger
1297         * Added poison material that has an effect of activating the poisoned state
1298         * RestoreBodyParts() doesn't crash anymore, I think
1299         * Priests, gods, Petrus and angels now detect the original bodypart even if
1300           it is wielded
1301         * Corrected many smaller bugs in Hex's bodypart healing codes
1302         * Fixed a minor bug in the item drop code
1303         * Bodyparts are now randomly rotated, flipped and/or mirrored when severed
1304         * Macros transformed to inline functions:
1305           * GET_RED -> GetRed, GET_GREEN -> GetGreen, GET_BLUE -> GetBlue
1306           * MAKE_RGB -> MakeRGB
1307           * MAKE_SHADE_COL -> MakeShadeColor
1308         * level::CollectCreatures() now test whether the monsters and pets can see
1309           the player, not vice versa like before, which was illogical and made
1310           leaving the dungeon nearly impossible if ESP was active
1311         * Corrected the Colossal Giant of Seven League Legs Bug
1312         * CarryingStrength has now a minimum of one so that effectively 2500 grams
1313           can be carried even without legs
1314         * Blitting no longer crashes when width or height is <= zero after clipping
1315           (this happened occasionally if HP didn't fit onto the panel due to WMode
1316           cheating)
1317         * colorizablebitmap::MaskedBlit() is now clipped, too
1318         * Added move AP cost (MAPC) to the info panel
1319         * Being burderned, stressed or overloaded no longer makes you move faster :)
1320         * Added proper replies for orc and cossack
1321         * Fixed a bug that allowed one to paralyze creatures by talking to them
1322         * Emitation is again calculated correctly after load
1323         * Added item pictures to the equipment menu
1325 July 29 2002 Timo Kiviluoto <sonor@phpoint.fi>
1327         * Added orc, orc slaughterer, orc squad leader, orc officer and orc general
1328         * Added cossack
1329         * Goblins look slightly better over wooden parquet
1330         * Skeletons look slightly better over marble floor
1331         * Corrected a logical error that caused multiple attack style creatures like
1332           mammoths and unicorns to be considered less dangerous than they really were
1334 July 28 2002 Timo Kiviluoto <sonor@phpoint.fi>
1336         * Equipment screen now shows if a weapon is wielded with both hands
1337         * It is now possible to define starting equipment of a character from the datafile
1338         * Added rings of energy, acid and poison resistance
1339         * Added "reload datafiles" WMode command: it is now possible to add characters,
1340           items, terrains and materials at run time!
1341         * Added AttributeBonus character database value, which is a percental value
1342           added to or substracted from all attributes and very useful with configurations
1343         * If a hit does no damage, the game now prints a special message
1344         * Category and single weapon skills can now be set in the datafiles
1345         * Panel and all info commands now show min and max damage instead of the
1346           incomprehensible "attack strength"
1347         * Corrected the rounding errors of the weapon skill screen caused by floating
1348           point arithmetic
1349         * Corrected a fatal bug in the corpse save code
1350         * 17 new character configurations added:
1351                 * rookie, veteran, elite, master and grand master darkknight
1352                 * skeleton warrior and warlord
1353                 * goblin berserker, butcher, prince and king
1354                 * kobold chieftain and lord
1355                 * mistress torturing chief, whip champion, warlady and queen
1357 July 27 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1359         * Added poleaxe named Mjolak 
1360         * Added spear named Vermis 
1361         * Both have currently _BAD_ messages. The system is not ready yet.
1363 July 26 2002 Timo Kiviluoto <sonor@phpoint.fi>
1365         * Added system to estimate the danger of a monster relative to another
1366         * Removed old danger system; it just didn't work
1367         * Monsters generation is at least a little more balanced and less dynamic now
1368         * Corrected a bug in the wizard mode activation code
1369         * Config system is now much simpler
1370         * Corrected a bug in std::map save code
1371         * Added Limit(Value, Minimum, Maximum) inline function to femath.h, which limits Value
1372           to range [Minimum, Maximum] and returns it
1374 July 25 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1376         * Zombies' and skeletons' heads are no longer vital
1377         * Zombies are generated missing some bodyparts
1379 July 25 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1381         * Doors stay closed if closed when broken
1382         * Visual bugs with close in Linux with the X-button corrected
1383         * Skeletons now drop bones instead of bodyparts
1385 July 25 2002 Timo Kiviluoto <sonor@phpoint.fi>
1387         * A really bad memory leak corrected: materials were never destroyed. I'm bottomlessly
1388           ashamed!
1389         * The Ferocius Luxification Bug fixed
1390         * level::Luxify() renamed as level::FiatLux()
1391         * Slot donations work again, maybe
1392         * Danger system is really mad
1394 July 25 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1396         * Flaming sword added
1398 July 24 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1400         * Added special flame effect to bitmaps
1401         * Added flames to bananas ;)
1403 July 24 2002 Timo Kiviluoto <sonor@phpoint.fi>
1405         * Single weapon skill's LevelDownMessage is now printed correctly when the item is
1406           wielded
1407         * Doubled all dodge values
1408         * Added "character defence values" option to SecretKnowledge
1409         * SecretKnowledge now writes the shown information to a file afterwards
1410         * Added CreateSolidMaterialConfigurations character database boolean that can be
1411           used to easily add golem-like monsters
1412         * SecretKnowledge now shows all possible golems as separate entries
1413         * Attack info of nonliving bodyparts is calculated correctly at last
1414         * Strength no longer affects THV, as it made golems far too powerful
1415         * Halved the AP cost of biting
1417 July 24 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1419         * void globalwindowhandler::UpdateTick() changed to return Tick
1421 July 23 2002 Timo Kiviluoto <sonor@phpoint.fi>
1423         * Wishing for "ring of teleport" now works
1424         * The game now asks whether one wants to remove saves when quitting in WMode
1425         * Real save is now removed and autosave is done when WMode is activated, to prevent
1426           the potential abuse of the latter
1428 July 23 2002 Timo Kiviluoto <sonor@phpoint.fi>
1430         * The number of BodyParts and AllowedWeaponSkillCategories cached
1431         * Some S&R done:
1432           * Description() -> GetDescription()
1433           * PersonalPronoun() -> GetPersonalPronoun()
1434           * PossessivePronoun() -> GetPossessivePronoun()
1435           * ObjectPronoun() -> GetObjectPronoun()
1436         * There were some brackets missing in the attribute experience code, which caused them
1437           to be increased and decreased twice as fast as they should; but this has been fixed
1438         * Nonhumanoids' StrengthExperience and AgilityExperience are now correctly initialized
1439           with zero during creation
1441 July 23 2002 Timo Kiviluoto <sonor@phpoint.fi>
1443         * Removed some obsolete and commented code
1444         * Dodge value is now cached
1445         * Optimized weaponskills and regeneration a bit
1447 July 22 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1449         * new Fountain effect: randomly activates a mode temporarily or permanently depending on luck.
1450         * teleporting yourself in Attnam no longer makes all the citizens angry.
1452 July 22 2002 Timo Kiviluoto <sonor@phpoint.fi>
1454         * AnimationController now redraws only the equipment; stats and msg panel are left
1455           untouched
1457 July 22 2002 Timo Kiviluoto <sonor@phpoint.fi>
1459         * BurdenState and all non-trivial attack information is now cached
1460         * Some recently added bugs in TemporaryStateIsActivated(), EquipmentStateIsActivated(),
1461           IsUsingArms(), IsUsingLegs() and IsUsingHead() fixed
1462         * Corrected a fatal bug in the interlevel travel code born due to Hex's search & replace
1463         * Fixed some odd block messages
1464         * Many new bugs included
1466 July 22 2002 Timo Kiviluoto <sonor@phpoint.fi>
1468         * Config screen now shows "disabled" as the autosave interval if it's zero and
1469           "1 turn" if it's one (not "1 turns")
1470         * LOS is now updated immediately when perception is naturally increased;
1471           previously you had to move before the sight range was increased
1472         * RaiseStats and LowerStats cheats now work correctly when one is polymorphed into
1473           a nonhumanoid
1474         * Fixed an AP system bug that caused the AI of stationary monsters (most Attnamians
1475           and carnivorous plants) to be run each tick instead of each turn, thus slowing
1476           down the game considerably
1477         * Corrected the Great Attnamian Blitzkrieg Bug added by the last commit
1479 July 21 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1481         * Consummos bad pray effect works.
1483 July 21 2002 Timo Kiviluoto <sonor@phpoint.fi>
1485         * typeid calls replaced with GetClassId()s, thus making the script error messages of a
1486           gcc compiled binary a bit less bizarre
1487         * Weight and Volume cache system remade
1488         * Equipment no longer increases HP
1489         * Corpses' weights now work
1490         * Emitation cache system added
1491         * Emitation updating is now handled correctly when items are wielded or worn
1492         * Fixed some other light system related minor problems
1493         * If reading is terminated because the light level drops, the game now prints a message
1494           explaining what has happened
1495         * Scroll of create monster creates only one monster again (although I am not positively
1496           sure whether that horde of monsters appearing was a bug or feature...)
1497         * Corrected a bug that caused that caused ESP-seen people on never seen squares to
1498           darken after they were 'l'ooked at
1499         * HP and MaxHP of characters cached
1500         * Master and MaxHP of bodyparts cached
1501         * Added parentheses around the MAKE_RGB macro, because conditional expressions of the form
1502           if(Color == MAKE_RGB(R, G, B)) caused a syntax error without it
1503         * Added a powerful colorized font cache system
1504         * Optimized weaponskill::Tick(), Regenerate functions, MainMaterial handling routines,
1505           gear retrieval functions, and so on...
1507 July 16 2002 Timo Kiviluoto <sonor@phpoint.fi>
1509         * Added rect struct to femath.h which can be easily used to define rectangles in 2D-space
1510         * DO_FILLED_RECTANGLE macros replaced with loops going through a rectangle generated by
1511           femath::CalculateEnvironmentRectangle that uses the mentioned rect structure
1512         * Many key functions (GetBodyPart() etc.) unvirtualized to gain speed
1513         * Equally many small but often called functions moved to headers so that they can be inlined
1514           (though I had to bury my mission of preventing Main's headers from including other Main's
1515           headers)
1516         * Continued Hex's crusade against long lines by adding character::GetStackUnder() and
1517           many xxx::GetNear(L)Square()s (shortcuts of xxx::GetArea/LevelUnder()->Get(L)Square()s)
1518         * Replaced a few statements of the form RAND() % (2^n) with the somewhat faster equivalent
1519           RAND() & (2^n-1) (for instance, RAND() % 2 -> RAND() & 1)
1521 July 15 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1523         * added LevelUnder() to item, character and lterrain
1524         * Replaced code in item, character and lterrain and their derives to use LevelUnder().
1525         * Added GetPos() function to item 
1526         * Added stethoscope 
1527         * Snake is now "lying" not "standin"
1528         * You can no longer engrave when you cannot read.
1530 July 15 2002 Timo Kiviluoto <sonor@phpoint.fi>
1532         * Compiles again under gcc 3.04
1534 July 15 2002 Timo Kiviluoto <sonor@phpoint.fi>
1536         * SecretKnowledge command now offers information about the attack capabilities of every character
1537         * DO_FOR_SQUARES_AROUND macros have been replaced with loops using various GetNeighbourSquare()
1538           functions
1540 July 14 2002 Timo Kiviluoto <sonor@phpoint.fi>
1542         * Angels now carry a holy book of their divine master
1543         * Decreased the brigthness of palette entry 151 by 5 in all m-colored graphics files,
1544           for it conflicted with the transparent color and caused problems with some image editors
1545         * Configuration is now saved even if the game is terminated abnormally
1546         * Corrected the remaining problems of the message history
1547         * Animations now work correctly during faint, reading, digging and similiar automated actions
1548         * Continent number and terrain height are again shown while looking on the world map when
1549           SeeWholeMapCheat is active
1550         * Disabled the FOW on the world map, for IMO it doesn't make sense there (far away forests,
1551           towns and continents are not "seen", after all, they are known to be there, and the
1552           area revealed by moving around there is actually learnt from the natives' speeches etc.)
1553         * LOS range in the wilderness doesn't depend on perception anymore, for reasons explained above
1554         * Optimized the world map draw code greatly
1555         * Modified dungeon LOS so that when walking in darkness, only one square in each direction is
1556           considered seen (it can be touched) and its memorized picture is updated. It was rather odd
1557           that you could "see" darkness really far away before
1559 July 13 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1561         * Added teleport control, teleport randomly and polymorph randomly states
1562         * Added rings for all these new states.
1564 July 13 2002 Timo Kiviluoto <sonor@phpoint.fi>
1566         * Oceans and the dolphin pool are now animated
1567         * Decreased the global frame rate somewhat
1568         * Macro system tweaks
1569         * Corrected a bug in the temporary life saving code
1570         * Reversed the order of the message history
1571         * Corrected some bugs in the message history code, but not all of them
1572         * Corrected a minor problem with database Aliases
1574 July 12 2002 Timo Kiviluoto <sonor@phpoint.fi>
1576         * Corrected many warnings given by gcc 3.04 compilation
1577         * Personal pronouns are now correct while looking at far away people while SeeWholeMapCheat is on
1578         * Dolphins are now rotated and mirrored randomly every turn, which makes them seem more playful
1579         * The second sentence of the kamikaze dwarf hymn message now starts correctly with an uppercase letter
1580         * Macro system is yet again a bit shorter and more elegant
1581         * Removed the unused function definitions of charde.h
1582         * Bodypart pictures of farmers and housewives are again randomized correctly
1583         * The flower color of the carnivorous plant is again randomized correctly
1584         * Adjusted brightness levels of many bodyparts in humanoid.pcx
1585         * Made some tiny corrections to the graphics in humanoid.pcx and char.pcx
1586           (for instance, enner beasts mouth is again black and white, not m-color 1 and white)
1587         * Corrected all buggy bodypart BitmapPoses
1588         * Fixed all IMO ugly bodypart colors
1589         * There was also an attempt to optimize the level generation; as a result it's now somewhat slower
1590         * Stretchblit is now masked (I needed this feature for IGOR 1.20 that now includes a CW-like draw queue system)
1591         * Added colorizablebitmap::Roll(), which is able to simultaneously move the contents of a given rectangle
1592           by an arbitrary amount of pixels horizontally and/or vertically so that the clipped pixels appear on the
1593           opposite side (also needed for IGOR 1.20 as an option)
1594         * Added #defines for the eight direction keys to felibdef.h
1595         * Corrrected a typo in the monster polymorph message
1596         * ESP no longer crashes in the world map
1597         * Air is now transparent and thus are Bill's wills and the unclothed parts of genies, too
1598         * Mommo configs can again be generated
1599         * Added Flexibility material database value and removed the old IsFlexible boolean
1600           (non-living bodyparts now use this as their dexterity or agility and the FormModifiers of
1601           whips and belts are multiplied by it)
1602         * The strengths and agilities of nonhumanoids made of non-living materials are now correct
1603         * Characters with zero strength (eg. Bill's wills) can now move as long as they aren't carrying anything
1604         * Skeletons are no longer considered as bone golems when calculating strengths, dexterity and agility,
1605           for IMO they draw their attributes from the necromantic magic that sustains them, not from the material
1606           (and, it seemed very odd that animated skeletons were thrice as strong as average humans with similiar
1607           skeletons inside them)
1608         * Corrected an extremely fatal bug of utmost deep roots that allowed the player to enter the dolphin
1609           pool of the Cathedral by displacing a pet bat or angel flying over it, even though he couldn't swim
1610           nor float himself
1611         * Added fiber material of which carnivorous plants are now made, instead of leaf (I firmly believe that the
1612           stem is more important than leaves. Someone with a deeper understanding of plant anatomy correct me
1613           if I'm wrong)
1614         * A player controlled carnivorous plant can no longer move
1615         * Banana peal golems are now allowed
1616         * Forced Ivan's plate mail to be made of iron again
1617         * Made a gum solution that allows angels and genies to have leg strengths and be able to carry things around
1618           despite the fact that they don't have legs
1619         * Updated the Docs and moved the older files to the Obsolete directory
1620         * Added some truly ancient files concerning the earliest incarnations of IVAN there, too,
1621           including even holydoc2.jpg, the legendary scanned documentation of RL1!
1622         * Translated the Finnish entries of Small Ideas.txt and Great Ideas.txt.
1623           However, I did not touch Code Improvements.txt, since my English is not good enough to make them as
1624           cryptical and incomprehensible as they are now. There is a notice also in the beginning of the file
1625           explaining this. I didn't alter the entries of NextRelease.txt (former Remember2.txt) either,
1626           since that file is highly temporary and thus a translation would be a waste of time
1627         * Added a bool character::StateIsSecret[] array that makes it possible to add secret states which
1628           are not shown on the panel
1629         * Life saved and lycanthropy states are now secret
1631 July 11 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1633         * Poisoned state added
1634         * spiders, school food and snakes to use the state
1636 July 9 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1638         * Now compiles under gcc 3.1
1640 July 8 2002 Timo Kiviluoto <sonor@phpoint.fi>
1642         * BodyParts() search & replaced with GetBodyParts()
1643         * If SeeWholeMapCheat is active, character look info is now available even if the target can't be seen
1644         * Name functions are now much faster
1645         * New, *yet* faster techniques for string handling are available:
1646           * AddName(String, Case); which is much faster than String += GetName(Case);
1647           * String << AnotherString << Int << CString << Etc; which is much faster than
1648             String += AnotherString + Int + CString + Etc; (you must #include "stdover.h" though)
1649         * Script generated altars again randomize their divine owner correctly
1650         * Attnam's and level 10's altars are again owned correctly
1652 July 8 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1654         * snake added (although it doesn't work)
1655         * angel healing friends fixed.
1657 July 8 2002 Timo Kiviluoto <sonor@phpoint.fi>
1659         * Chest and unicorn look better now
1660         * Corrected The Unicorn of Godly Strength and Speed Spawning Bug
1661         * Decreased the brightness of palette index 148 by seven in all materialcolorized
1662           graphics files (don't ask why)
1664 July 8 2002 Timo Kiviluoto <sonor@phpoint.fi>
1666         * Added CreateDivineConfigurations boolean datavalue to all databases, which can be used
1667           to add new god-dependent characters, items, materials and terrains very easily,
1668           and to define varying attributes and specialities for them. It is now used for
1669           angels, kamikaze dwarves, holy books and altars and reduces their overlapping code a lot,
1670           and unique holy waters for each god and other similiar wonderful features are
1671           a piece of cake with the new system
1672         * Angel, golem and genie graphics have been converted to humanoids by me. (btw, Kahvi is a moron)
1673         * All lterrains have been datafiled to glterra.dat and olterra.dat;
1674           it is now possible to add new terrains without modifying code and blaah blaah
1675         * All glterrains have been converted as configurations of solidterrain and liquidterrain
1676         * Most olterrains have been converted as configurations of wall, decoration and container
1677           (the latter holds the bookcase and is reserved for future use)
1678         * Integrated Kahvi's older looking walls for dungeon rooms
1679         * Finally integrated Kahvi's new chest picture
1680         * AnimationController no longer crashes when a full screen DOS prompt is activated in Windows
1681         * Cheated lookmode wilderness terrain descriptions don't disappear after the first glance anymore
1682         * Added periods at the end of some of Hex's incomplete messages
1683         * Corrected a memory leak in the fluid load code
1684         * Removed the seemingly ever-lasting problems with item's SquareUnder by removing it.
1685           Instead, GetSquareUnder() now passes the request for position to Slot
1686         * The game now aborts if an unrecognized datavalue is found in the datafiles
1687           (previously it just discarded it)
1688         * All script and datafile aborts now print the line number of the respective error
1689         * All low level inputfile aborts (like ReadNumber syntax errors) now print the file name and
1690           the line number of the error (the latter only if it's appropriate, as it isn't for instance
1691           in the case of an unexpected EOF error, since it always happens in the last line)
1692         * If the player isn't able to use certain equipment (usually due to a lost limb),
1693           its slot isn't shown in the panel anymore even as an empty rectangle
1694         * Mine's explosion power now depends on its ContainedMaterial
1695         * Removed more than 1800 lines of obsolete code left commented all around the project
1696           (but I didn't delete anything I wasn't sure to be irrelevant)
1697         * Angel and genie don't have legs nor a groin anymore (what a terrible fate)
1698         * Animation controller loops are now not run while wieving menus
1700 July 6 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1702         * Poison state added.
1703         * Now compiles under GCC 3.1. Again problems with typenames in proto.cpp
1705 July 5 2002 Timo Kiviluoto <sonor@phpoint.fi>
1707         * Temporary states whose counters are zero are now considered permanent intrinsics
1708         * The character database value PermanentStates renamed as ClassStates
1709         * The character data member PermanentState renamed as EquipmentState,
1710           and the associated function names updated as well
1711         * Added BeginStateHandlers and EndStateHandlers that are called always when states
1712           (either temporary, intrinsic or controlled) are activated/deactivated
1713         * Removed the old handler system used only when switching a temporary state on/off
1714         * Simplified the inner structure of the code in such way that haste and slow can now be
1715           in effect simultaneously, but this is represented in the panel as if neither was active
1716         * Added infravision and ESP states
1717         * See invisible state removed, as infravision now confers the same benefits
1718         * HasInfraVision character database value removed
1719         * Added wand of invisibility
1720         * Added ring of infravision
1721         * Added amulet of ESP
1722         * Draw system rewritten completely to make draw functions far more flexible and
1723           easier to use and to remove some duplicate code
1724         * Added transparency effect for invisible creatures sensed by infravision or ESP
1725         * Added object::MaxAlpha() function to make the adding of transparency effects again a bit easier
1726         * Characters seen by infravision or ESP are no longer affected by varying luminance;
1727           instead they are always seen as if the light level was 256
1728         * Corrected a recently-added bug which caused AlterLuminance not to update
1729           MemorizedDescription correctly when the first emitter was added
1730         * Added item::IsVisible(), stack::GetVisibleItems() and stack::GetBottomVisibleItem()
1731           functions which allow the convenient use of hidden items
1732         * Script generated land mines and bear traps are now correctly invisible
1733         * Hidden items are now shown if SeeWholeMapCheat is on
1734         * Added iosystem::ScrollBarQuestion which acts as a graphical version of the normal NumberQuestion
1735         * Contrast can now be set with ScrollBarQuestion and the display is still updated constantly
1736         * Removed the increase and decrease contrast ('b' and 'B') commands
1737         * Separated the eat and drink ('e' and 'D') commands
1738         * Redefined much of the keyboard layout
1739         * Decreased reading times required when WMode is activated
1740         * Skeleton's TotalVolume and FleshMaterial are now correct
1742 July 03 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1744         * Teleporting from a bear trap works ok
1745         * Mine works (except is seen normally)
1747 July 03 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1749         * SDL's key repeat activated
1750         * Pressing a control key during action no longer stops the game until key press.
1751         * Helmet added
1753 June 19 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1755         * Loricatus, Scabies, Cruentus fix players BodyParts (each with their own specialities of course)
1756         * Angels also fix players bodyparts.
1757         * Tweaked the healing methods for the other healing gods for slight elegance in code.
1758         * Some small changes in proto.cpp to make it compile with gcc 3.1 (one typename added).
1760 June 17 2002 Timo Kiviluoto <sonor@phpoint.fi>
1762         * AP system remade: it is now the actions' duty to decrease AP, not Be()'s
1763         * Added read action, thus allowing reading times longer than one turn and
1764           read interupts
1765         * Lookmode's messages and information keys work far better now
1766         * Fixed a minor bug in the lookmode zoom code
1767         * Removed the cursor from the zoom screen (exception: over the player it remains)
1768         * Petrus's PostFix is now shown correctly
1769         * Petrus's wife number 4 is now dumper than the others, since she's blond
1770         * Invisibility and see invisible states added, but they don't work yet
1772 June 16 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1774         * Atavus, Seges and Silva now fix players BodyParts
1776 June 16 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1778         * Priests in altars now attach old arms and legs to their old places. 
1780 June 16 2002 Timo Kiviluoto <sonor@phpoint.fi>
1782         * Added equipment pictures to panel
1783         * The config system of items and characters works now correctly (I think).
1784           This means that one can add new equipment or monsters without touching code at all,
1785           using one of the existing classes as a base
1786         * Converted almost all weapons to configurations of meleeweapon.
1787           Weapons not converted: pickaxe (special, can dig), whip (special, FormModifier depends on material),
1788           Valpurus's Justifier and Neerc Se-Ulb (artifacts, will get animation functions soon)
1789         * Converted chain mail, amulets, rings and boots to configurations of their base classes
1790         * Added possibility to specify config in script in brackets following a classname
1791           (example: Square, Pos 3,1; { Item = boot(BOOTOFSPEED); Times = 2; } adds two boots of speed to square at 3,1)
1792         * Removed the former way to set it
1794 June 15 2002 Timo Kiviluoto <sonor@phpoint.fi>
1796         * Added a new state system that allows both temporary and permanent states
1797         * Added GearStates item database value that allows one to easily add equipment that activate permanent states
1798         * Added PermanentStates character database value that makes it easy to add permanent states to certain races
1799         * Added boot of speed that hastes the user (but you need to have two of them equipped!)
1800         * Added a bug that activates permanent states when the user wields the right piece of equipment, like a boot of speed
1801           (by the way, this bug did already exist with amulets of life saving)
1802         * Monsters are now polymorphed only temporarily in the same way as the player,
1803           so you don't have to kill yourself when that goblin zaps its WoP at your ultra-trained level 8 mistress
1804           (when it someday becomes wise enough to do it)
1805         * Added lycanthropy state that occasionally polymorphs the character into a werewolf (wolf form)
1806         * Werewolf flesh causes lycanthropy now
1807         * Remade werewolf; it is now a human-like creature that is permanently lycanthropic
1808         * Added wish functions for character and CanBeWished and Alias values to its database
1809         * Added polymorph control state
1810         * Added ring of polymorph control
1811         * Added life saving state and made amulet of life saving use it
1812           (this allows very pleased gods to grant temporary life saving, for instance)
1813         * Removed the code that allowed fatness (I just couldn't work out how a gold golem can carry itself)
1814         * Nonhumanoids have now a chance to train their martial skills (unarmed combat, kicking or biting)
1815         * Biting doesn't make bodyparts fly anymore
1816         * Fixed a bug of temporarily hasted/slowed dogs crashing on world map
1817         * The wish parser is again more intelligent as it chooses the item with most correctly specified name parts,
1818           so a wish for "that holy banana thingy" gives the holy banana of Liukas Vipro and not just a banana
1819         * Fixed a bug that caused golems' bodypart materials to be randomized individually,
1820           thus creating fabric legged, stone armed and bone headed golems with wooden torsos etc.
1821         * Hunters are once again one armed
1822         * Added some new booleans to character database: CanUseEquipment, CanKick and CanTalk
1823         * Amulet's article is now correct
1824         * MColor 1 of amulets and cloaks is now used correctly
1825         * Corrected a bug that caused a crash when a flying bodypart ought to hit a legless humanoid
1827 June 15 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1829         * Added beartrap (which probably will need some more tweaking)
1831 June 14 2002 Timo Kiviluoto <sonor@phpoint.fi>
1833         * Pool and LOS codes optimized greatly and character AI (which takes most of the processor time now) somewhat.
1834           As a result running around Attnam with debug on is about 40% faster than before
1835         * Added Roundness database value for items (on scale ]0, 100])
1836         * It is now possible to block attacks with any item,
1837           the possibility depending on size, roundness and To Hit Value and effect depending on StrengthValue
1838         * Shields work correctly: one cannot attack with them and their block chance is doubled
1839         * Doors' LockTypes and BoobyTraps are now saved correctly
1840         * The game doesn't crash anymore when fluid vanishes
1841         * Fixed a bug that caused a delay before the tamed symbol appeared over charmed monsters
1842         * Fixed a minor bug with walls' MemorizedDescriptions
1843         * The key handler *might* be smoother in Linux now
1844         * Gcc 3.1 *might* compile the game with less warnings
1845         * Wand of door creation added
1846         * Added the following bugs:
1847           * Equipment increases HP
1848           * Walls' luminances are not updated when a lantern flies by them
1850 June 11 2002 Timo Kiviluoto <sonor@phpoint.fi>
1852         * The New Attribute System is now working
1853         * Most likely very badly
1854         * Wishing works again and probably better than before, since the spelling rules have been relaxed.
1855           For instance, if one wishes (in WizardMode) for "the holy ultra-powerful broadsword
1856           named "Valpurus's Justifier" that this Perttu-dude carries", the game will instantly know you mean
1857           "holy broadsword "Valpurus's Justifier"", since the three key parts of the name exist somewhere in the wish string
1858         * Also added an alias system that allows one to define alternative names for items used by the wish system
1859         * Panel is now more informative
1860         * Kicking works again
1861         * If a character is armless, he kicks enemies, if also one- or zero-legged, bites them
1862         * Added an AttackStyle attribute to characterdatabase that controls how monsters will attack (with arms, legs and/or head)
1863         * Unicorns, mammoths and buffalos can now both kick and bite their enemies
1864         * If a chest is locked, the chest::Open doesn't ask whether the player wants to put in or take from it
1865         * Chest's contents are now deleted properly
1866         * BoolQuestion's OtherKeyForTrue works again
1867         * Doors can again be opened
1868         * Chests can now be unlocked and locked (well, the latter was in theory sometimes possible before, but only in theory)
1869         * The names of chests, doors and keys show their LockType verbally
1870         * Petrus's face turns correctly red during the Final Battle
1871         * Message history isn't drawn under highscores anymore
1872         * Added a system to determine whether a bodypart is the character's original one
1873         * Gear items emitate light correctly but updating still bugs
1874         * The game asks for key press when a bodypart is severed
1875         * Explosions sever bodyparts and spill blood more correctly
1876         * Polymorphing items works correctly
1877         * Decreased the characters' global possibility to hit weaker bodyparts
1878         * Corrected a bug that caused lights falling during an explosion to crash
1879         * Corrected a bug with doors that caused dummy boobytraps to spawn all the time
1880         * Probably much else that I have forgotten...
1882 June 10 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1884         * Taking and putting things in chests is now handled correctly in special rooms.
1886 June 05 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1888         * Added "show all item here" command to look mode.
1889         * Also fixed some issues with polymorphing chests.
1891 June 04 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1893         * Added mirroring, flipping and rotateing to items too.
1894         
1895 June 02 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1897         * Added chest. It seems to work probably but it can not be sold from a shop yet and the polymorph-code has not been tested, because of crashes in the polymorph code even without polymorphing a chest)
1898         * Cans are now more or less disabled.
1899         
1900 May 31 2002 Timo Kiviluoto <sonor@phpoint.fi>
1902         * Menu version description looks now better and is more informative
1903         * Fade optimization
1904         * DynArray finally eliminated
1905         * Fixed a bug that crashed the game if one died of a food effect or an explosion of a digged door
1906         * Attribute class added but not used yet
1908 May 29 2002 Timo Kiviluoto <sonor@phpoint.fi>
1910         * Datafilezation checking
1911         * IsPolymorphable added to item and char databases
1912         * The Vile Dog Bulimia Bug of Ultimate Damage fixed
1914 May 29 2002 Timo Kiviluoto <sonor@phpoint.fi>
1916         * Corrected a bug in the corpse creation code
1917         * Color tweaks
1918         * Added an alpha blend transparency effect for glass and liquids,
1919           although it's hard to see when objects are so small :(
1920           But if you lay a bottle over a flickering banana, you'll certainly notice it
1922 May 28 2002 Timo Kiviluoto <sonor@phpoint.fi>
1924         * Animations work in the lookmode
1925         * Carpets are visible again
1927 May 27 2002 Timo Kiviluoto <sonor@phpoint.fi>
1929         * Key handler works smoother
1930         * Corrected a bug in the material load code
1931         * All name routines datafiled
1932         * Material configurations datafiled
1933         * Animations work in felists
1934         * Lookmode and highscores are totally ugly and mad :(
1935         * Hex's key code compiles
1936         * MColor brigthnesses standardized with IGOR
1937         * Lots of MColor checking done
1938         * Wall tile graphics changed
1939         * LTerrain divided into two
1940         * Silhouette redrawn by Kahvi
1942 May 27 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1944         * Added library room to Attnam
1945         * Version number now shows in the menu
1947 May 25 2002 Timo Kiviluoto <sonor@phpoint.fi>
1949         * Fountains and default materials work
1951 May 25 2002 Timo Kiviluoto <sonor@phpoint.fi>
1953         * The game doesn't crash when you descend into the dungeon
1954         * Applying a pick-axe to a monster asks whether you want to hit it
1956 May 25 2002 Timo Kiviluoto <sonor@phpoint.fi>
1958         * Bug with bodypart volumes corrected
1959         * A minor bug with skin colors removed
1960         * Ã–rmöpium removed
1961         * Wishing works somehow again
1962         * Even dummies can read if SeeWholeMapCheat is on
1964 May 25 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
1966         * Added a lot of #include <string> s because this is somehow required by Linux's GCC.
1967         * Added tin 
1968         * Added whistle and magical whistle
1969         * Changed Teleport() command to TeleportRandomly() in item, stack and character and made a function called Teleport(vector2d) to character.
1971 May 25 2002 Timo Kiviluoto <sonor@phpoint.fi>
1973         * Database configuration system added
1974         * Pertus's wives (almost) work now
1975         * Added a new innovative super-powerful valuesystem that allows constants to be easily shared between code and script
1976         * Deleted the new innovative super-powerful valuesystem that allowed constants to be easily shared between code and script and caused my gcc to run out of memory
1977           (this is what you get when you plan your code in a Swedish textbook margin)
1978         * Instead added a global script define datafile which understands a format similiar to C/C++ preprocessor language:
1979           project's release compilation time decreased by about 5%
1980         * Names and effects of materials datafiled
1981         * Ultra major structural change problematic enough to become a source for a thousand heroic coding sagas:
1982           All materials converted as configurations of five bases, just for fun!
1983           This allows new materials to be added without changing code at all,
1984           and in addition, project's release compilation time was decreased by about 5%
1985         * "Generating dungeon" messages changed to "Generating <level description>" (thanks to Will Riley for the idea)
1986         * Much search & replace done with boolean variable retrieval names (GetIsPlayer() -> IsPlayer() etc.)
1987         * Corrected the Excruciating All-Devastating Color Bug of Empty Bottles
1988         * Prototype and database security tightened
1989         * Database initialization code rewritten:
1990           project's release compilation time decreased by about 10%
1991         * Most of StaticType()s removed so that Hex cannot make more gum solutions with them
1993 May 22 2002 Timo Kiviluoto <sonor@phpoint.fi>
1995         * Compilation optimizations that certainly didn't optimize anything
1997 May 21 2002 Timo Kiviluoto <sonor@phpoint.fi>
1999         * Major macro system change: database derivation now works
2000         * Item and material datafilezation checked throughoutly
2002 May 20 2002 Timo Kiviluoto <sonor@phpoint.fi>
2004         * Compilation optimizations
2006 May 20 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
2008         * Amulet of life saving added
2009         * game.cpp: Zoom for PositionQuestion added
2011 May 20 2002 Timo Kiviluoto <sonor@phpoint.fi>
2013         * Macro system remade again for everything but character
2015 May 19 2002 Timo Kiviluoto <sonor@phpoint.fi>
2017         * Reading and seeing works again
2019 May 19 2002 Timo Kiviluoto <sonor@phpoint.fi>
2021         * More character macro tweaks
2022         * The game *might* compile now
2024 May 18 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
2026         * Itemde.h converted largely to Script/item.dat
2027         (The current version does NOT compile on Linux)
2029 May 13 2002 Timo Kiviluoto <sonor@phpoint.fi>
2031         * Character macro remade
2033 May 12 2002 Timo Kiviluoto <sonor@phpoint.fi>
2035         * Characters datafiled (mostly)
2036         * The game is still mad
2038 May 12 2002 Timo Kiviluoto <sonor@phpoint.fi>
2040         * The game executes again
2041         * The game is totally mad again
2042         * Polymorph works again, and better than before
2043         * Character database structures added
2044         * Define headers added
2046 May 11 2002 Timo Kiviluoto <sonor@phpoint.fi>
2048         * Price added to item database structure
2050 May 10 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
2052         * Copied the materials to Script/material.dat (however with some problems.)
2053         * Added ring of fire resistance
2055 May 10 2002 Timo Kiviluoto <sonor@phpoint.fi>
2057         * Very lousy item database structures added
2058         * The Ultimate Script Malfunction Error Bug of Underscore Conflict corrected, not maybe
2059         * Many new bug adds
2061 May 10 2002 Timo Kiviluoto <sonor@phpoint.fi>
2063         * The Ultimate Script Malfunction Error Bug of Underscore Conflict corrected, maybe
2065 May 9 2002 Timo Kiviluoto <sonor@phpoint.fi>
2067         * Bug corrections
2069 May 9 2002 Timo Kiviluoto <sonor@phpoint.fi>
2071         * Material database structures added
2073 May 9 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
2075         * Wand of resurrection added
2077 May 9 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
2079         * Animations work now with SDL
2080         * Wand of locking added 
2082 May 7 2002 Timo Kiviluoto <sonor@phpoint.fi>
2084         * Animations work in the DOS port now
2086 May 7 2002 Timo Kiviluoto <sonor@phpoint.fi>
2088         * Heavily modified the material system
2089         * Added animation engine
2090         * Removed much commented outdated code
2091         * Removed many useless string casts
2092         * Added some new operator overloads fro string
2094 May 5 2002 Timo Kiviluoto <sonor@phpoint.fi>
2096         * String and save routine optimizations
2098 May 5 2002 Timo Kiviluoto <sonor@phpoint.fi>
2100         * Most of script code structures and data reading routines remade
2101         * Some template instantiation relocations committed
2102         * Warning corrections
2104 May 3 2002 Timo Kiviluoto <sonor@phpoint.fi>
2106         * Some possible memory leaks prevented
2107         * Eating corpses works again, I think
2108         * The Great Optimized Inventory Bug corrected
2109         * Other bug corrections
2111 2002-05-01  Heikki Sairanen  <heikki.sairanen@phpoint.net>
2113         * Silhouette added to humanoids
2115 May 1 2002 Timo Kiviluoto <sonor@phpoint.fi>
2117         * Bug corrections
2119 May 1 2002 Timo Kiviluoto <sonor@phpoint.fi>
2121         * Warning corrections
2123 May 1 2002 Timo Kiviluoto <sonor@phpoint.fi>
2125         * Monsters can move again
2126         * Some list tweaks
2128 May 1 2002 Timo Kiviluoto <sonor@phpoint.fi>
2130         * Pentagram moved from menu to generation screen
2131         * Proto and macro systems remade
2132         * Some obviously shared virtual functions of proto-using classes made static
2133         * Pool system tweaked
2134         * Damage and material effect system remade
2135         * Many outlook tweaks
2136         * Message screen added to panel
2137         * Remade all question systems (vector, boolquestion, positionquestion, strinquestion, numberquestion etc.)
2138         * Felist tweaks (parameter adds etc.)
2139         * Consume system remade
2140         * Structural change: type removed
2141         * Resistance system added
2142         * Wizard info option to lookmode
2143         * Weight system works correctly and no one can move anymore
2144         * Gear drop on death and bodypart severing works may work correctly (I didn't test it)
2145         * Corpse and death system remade, although special monsters probably bug
2146         * Added a mass of bitmap blit functions with varying amounts of optional vector2d parameters
2147         * More vector2d parameters added elsewhere too, but I don't remember exact places
2148         * Added femath::WeightedRand and new material generation system
2149         * Added ::ReadType that makes loading temporary variables easier
2150         * Many gum solutions removed
2151         * Numerous bugs added
2152         * Regeneration may work (again, I didn't test it)
2153         * etc. etc. etc. etc. etc.
2155 April 26 2002 Timo Kiviluoto <sonor@phpoint.fi>
2157         * Damage system revised
2158         * The Great Ultimate Line of Sight Bug of Doomsday corrected
2160 2002-04-26  Heikki Sairanen  <heikki.sairanen@phpoint.net>
2162         * charde.cpp/h: Added lion, buffalo and carnivorousplant
2163         * charba.cpp, itemde.cpp: Added & marks to functions calls for xSorter functions. (didn't compile with gcc without them)
2165 April 26 2002 Timo Kiviluoto <sonor@phpoint.fi>
2167         * Equipment menu works somehow.
2169 April 25 2002 Timo Kiviluoto <sonor@phpoint.fi>
2171         * Added new action system
2172         * Added Stack sorting
2173         * Remade dig & some other action systems
2174         * Consume system temporarily disabled
2175         * Some bugs corrected and many added
2177 2002-25-25  Heikki Sairanen  <heikki.sairanen@phpoint.net>
2179         * charde.cpp: Added CheckKick(), GetLengthOfOpen(), CheckApply(), CheckOffer() to humanoid also added GetArms(), GetLegs() and GetAPMultiplier()
2180         * charba.cpp: Added the above checks + relevant calls.
2181         * charde.h: (added functions) and tweaked some colors
2182         * charba.cpp: added functions
2184 April 22 2002 Timo Kiviluoto <sonor@phpoint.fi>
2186         * charde.cpp/h: Petrus's "temporary" AddHitMessage finally removed
2187         * felist.cpp: List order bug corrected
2189 April 22 2002 Timo Kiviluoto <sonor@phpoint.fi>
2191         * felist.cpp/h: Added AddEntryToPos
2192         * message.cpp: Messages are now split correctly
2194 2002-04-22  Heikki Sairanen  <heikki.sairanen@phpoint.net>
2196         * AUTHORS: Fixed a small typo
2197         
2198 2002-04-22  Heikki Sairanen  <heikki.sairanen@phpoint.net>
2200         * charde.h: Tweaked bitmap positions and colors for Oree, goblin, skeleton, imp, gibberling, kobold, enner beast and dark knight
2202 April 22 2002 Timo Kiviluoto <sonor@phpoint.fi>
2204         * felist.cpp/h & files with felist calls: Added more parameters (pos and width etc.) for felits
2205         * hscore.cpp: HScore draw uses felist now
2207 April 21 2002 Timo Kiviluoto <sonor@phpoint.fi>
2209         * All libraries united
2211 April 21 2002 Timo Kiviluoto <sonor@phpoint.fi>
2213         * bitmap.cpp/h, colorbit.cpp, graphics.cpp: Subbitmap support added
2214         * colorbit.cpp/h, graphics.cpp: Text shading added
2215         * felist.cpp/h: Added felist support for pictures, entry categories and arrow key selection
2216         * hscore.cpp & all files with felist calls: List colors are now more consistent
2217         * charba.cpp: Added icons for pray menu
2218         * itemba.cpp/h, itemde.h, stack.cpp/h: Added icons and categories for items and added sorter support (which isn't yet used)
2219         * itemde.cpp, slot.cpp, proto.h: Save works once again
2221 April 20 2002 Timo Kiviluoto <sonor@phpoint.fi>
2223         * itemde.cpp/h, slot.cpp/h: gearslot added
2224         * feio.cpp, igraph.cpp/h, main.cpp: New menu backround (by Kahvi) added
2225         * charba.cpp/h, charde.cpp/h: Equipment screen addition prepared
2227 2002-04-20  Heikki Sairanen  <heikki.sairanen@phpoint.net>
2229         * Main/Include/charde.h: Changed all cordinates in bitmap to vector2ds
2230         * Main/Source/charde.cpp: Some changes that relate to the above change
2232 April 19 2002 Timo Kiviluoto <sonor@phpoint.fi>
2234         * itemba.cpp/h, itemde.cpp/h, charba.cpp, charde.cpp: Stack parameter removed from Apply funcs
2236 April 19 2002 Timo Kiviluoto <sonor@phpoint.fi>
2238         * charba.cpp/h, charde.cpp/h, itemde.cpp/h, stack.cpp, slot.cpp/h: Bodyparts are now correctly in characterslots
2240 April 19 2002 Timo Kiviluoto <sonor@phpoint.fi>
2242         * charba.cpp/h, charde.cpp/h, itemba.cpp/h, itemde.cpp/h: Warning corrections
2243         * game.cpp, stack.cpp/h: The game compiles again
2245 April 19 2002 Timo Kiviluoto <sonor@phpoint.fi>
2247         * stack.cpp: Inventory works again
2249 April 19 2002 Timo Kiviluoto <sonor@phpoint.fi>
2251         * Everything changed.
2253 2002-04-18  Heikki Sairanen  <heikki.sairanen@phpoint.net>
2255         * Main/Include/itemde.h: Price of Avatar of Valpuri added. Also added boot, gauntlet, belt, ring and amulet 
2256         * Main/Source/itemde.cpp: Added some generic functions for the added items
2257         * Main/Source/lsquare.cpp: Added tame symbol
2259 2002-04-06 Heikki Sairanen <heikki.sairanen@phpoint.net>
2261         * Main/Include/itemde.h: Added cloak and shield (actually did this a week ago, but didn't commit)
2263 April 13 2002 Timo Kiviluoto <sonor@phpoint.fi>
2265         * Symbol.pcx: battle, tame, peaceful and hostile symbols added by Kahvi
2267 April 6 2002 Timo Kiviluoto <sonor@phpoint.fi>
2269         * Item.pcx: boot added and an error in cloak fixed by Kahvi
2270         * Humanoid.pcx: mistress hair shortened by Kahvi
2272 2002-04-06 Heikki Sairanen  <heikki.sairanen@phpoint.net>
2274         * Main/Source/itemde.cpp (pickaxe::Apply): Added new formula for calulation the length of digging
2275         * FELL/Include/hscore.h: Add changed to return bool telling whether the score got to the list or not
2276         * FELL/Source/hscore.cpp: Add changed to return bool telling whether the score got to the list or not. And if the player doesen't get to the list the result is not drawn in function Draw
2277         * Main/Include/charba.h: Added #defines for hungerlevels and hunger states and added GetHungerState function
2278         * Main/Source/charba.cpp: Added GetHungerState function and changed every reference to the old (bad) hunger level systems to use it.
2279         * Main/Include/materde.h: deleted all CanBeDigged functions
2280         * Main/Include/materba.h: 
2281         * Main/Source/materba.cpp: CanBeDigged now examines the StrengthValues of the materials.
2282         * Main/Source/game.cpp: DrawPanel now draws Satiated and Bloated hunger states also and all hungerstate are calculated by character's GetHungerState function
2285 April 6 2002 Timo Kiviluoto <sonor@phpoint.fi>
2287         * Item.pcx: shield, cloak, gauntlet, belt, amulet and ring added by Kahvi
2289 2002-04-01 (later) Heikki Sairanen <heikki.sairanen@phpoint.net>
2290         * Main/Include/itemba.h: #included lterrade (fountain), added function HasBeenDippedInFountain
2291         * Main/Include/itemde.h: Added function HasBeenDippedInFountain and CanBeDipped to fountain
2292         * Main/Include/lterraba.h: Added functions ReceiveDip and HasDipEffect
2293         * Main/Include/lterrade.h: Added functions ReceiveDip and HasDipEffect to fountain
2294         * Main/Include/roomba.h: Added functions Dip and HasDipHandler
2295         * Main/Source/charba.cpp: Altered Dip function to ask wheter the player wants to dip into a square or to an item in his inventory 
2296         * Main/Source/itemde.cpp: Added HasBeenDippedInFountain for potion
2297         * Main/Source/lsquare.cpp: Put a GetIsPlayer checker on Apply (for the message "You cannot apply that on this"), added function ReceiveDip
2298         * Main/Source/lterrade.cpp: Added ReceiveDip for fountain 
2299         * Main/Source/roomde.cpp: Added Dip for cathedral
2302 2002-04-01 Heikki Sairanen <heikki.sairanen@phpoint.net>
2303         * Main/Include/itemba.h: GetLockType() function added to item (returns 0 for everything else but key)
2304         * Main/Include/itemde.h: Key added
2305         * Main/Include/lterraba.h: Added function ReceiveApply to LTerrain
2306         * Main/Include/lterrade.h: Added define NUMBER_OF_LOCK_TYPES and added lock type for class door
2307         * Main/Include/materde.h: Added copper and bronze
2308         * Main/Source/charde.cpp: *classified*
2309         * Main/Source/itemde.cpp: Added Apply function for key
2310         * Main/Include/lsquare.h:
2311         * Main/Source/lsquare.cpp: Added function ReceiveApply
2312         * Main/Source/lterrade.cpp: Added function ReceiveApply for door
2313         
2315 2002-03-31 Heikki Sairanen <heikki.sairanen@phpoint.net>
2316         * Main/Source/itemde.cpp:
2317         * Main/Include/itemde.h: Added wandofhaste and wandofslow (and their needed funcitons: BeamEffect, Zap)
2318         * Main/Source/charba.cpp: Added states SLOW and HASTE (and their functions: EndX, X
2319         * Main/Include/charba.h: Added the defines for SLOW and HASTE (and upped the STATES counter by two)
2320         
2321 2002-03-30  Heikki Sairanen  <heikki.sairanen@phpoint.net>
2323         * Main/Source/materde.cpp: healingliquid::EatEffect and HitEffect added
2324         * Main/Include/materde.h: healingliquid added
2325         * Main/Include/itemde.h: 
2326         * Main/Source/itemde.cpp: added GeneratePotionMaterials() to bottle for generating half bottles with omle urine and half with healingliquid 
2328 March 30 2002 Timo Kiviluoto <sonor@phpoint.fi>
2330         * Item.pcx: broken weapons (include banana), land mine and set & unset bear traps added by Kahvi
2332 March 29 2002 Timo Kiviluoto <sonor@phpoint.fi>
2334         * Char.pcx: mega-large mammoth added by Kahvi
2335         * Item.pcx: tiny and mega-large corpses added by Kahvi
2337 2002-03-29 Heikki Sairanen <heikki.sairanen@phpoint.net>
2339         * Main/Include/itemde.h: Added mine.
2340         * Main/Source/itemde.cpp: Added functions for mine
2341         * Main/Source/lsquare.cpp: Added a if clause for flying creatures in StepOn function.   
2343 2002-03-25  Heikki Sairanen  <heikki.sairanen@phpoint.net>
2345         * Main/Include/lterraba.h: Added function CreateBoobyTrap that is really an empty function
2347         * Main/Include/lterrade.h: Added function CreateBoobyTrap in door, which is actually used and functions CreateBoobyTrap, ActivateBoobyTrap (also to door)
2349         * Main/Include/script.h (constructor... probably): Added support for AllowBoobyTraps
2351         * Main/Source/script.cpp: Added support for AllowBoobyTraps
2353         * Main/Source/itemde.cpp: Reduced randomness in wandoffireballs
2355         * Main/Source/level.cpp: Boobytraps are now generated one per 5 locked doors
2357         * Script/dungeon.dat: Added parameter AllowBoobyTraps to both dungeon and Attnam.
2359 2002-03-23  Heikki Sairanen  <hex@localhost.localdomain>
2361         * Main/Include/charde.h: Changed ivan class to communist and assigned it the name "Ivan". Also changed Elpuri, Oree and Petrus to get their _name_ from AssignedName
2362         * Main/Source/charba.cpp: character::Save Changed to save AssignedName
2363         
2364         * Main/Include/charba.h (class character): Added functions   Name(), Article() Adjective(), ShowClassName(), CanBeAssignedAName(). For the AssignedNames
2366         * Main/Source/game.cpp: Added the function key to character's AssignName
2368         * Main/Source/charba.cpp (AssignName): Function added
2369         
2370         * Main/Source/game.cpp (PositionQuestion): Function added.
2371         
2372 2002-03-22  Heikki Sairanen  <hex@localhost.localdomain>
2374         * Main/Source/charba.cpp (Look): Deleted odd GetIsPlayer() test
2376 2002-03-22  Heikki Sairanen  <heikki.sairanen@phpoint.net>
2378         * FELL/Include/felist.h (class felist): DrawDescription moved to .cpp to correct an odd Linux bug.
2379         * FELL/Source/felist.cpp:
2381 March 22 2002 Timo Kiviluoto <sonor@phpoint.fi>
2383         * Humanoid.pcx: Some humanoids dismembered by Kahvi
2385 March 21 2002 Timo Kiviluoto <sonor@phpoint.fi>
2387         * GetHitValue() of material and GetArmorValue() of material and item replaced by StrengthValue()
2388           * Modified files:
2389             * stack.cpp
2390             * itemba.cpp
2391               * ushort item::StrengthValue() const added
2392             * itemde.cpp
2393               * ushort bodypart::StrengthValue() const added
2394             * charba.cpp
2395             * charde.cpp
2396             * materba.h
2397               * ushort material::GetHitValue() const removed
2398               * ushort material::GetArmorValue() const removed
2399               * ushort material::StrengthValue() const added
2400             * materde.h
2401               * Numerous ushort xxx::GetHitValue() consts removed
2402               * Numerous ushort xxx::GetArmorValue() consts removed
2403               * Numerous ushort xxx::StrengthValue() consts added
2404             * itemba.h
2405               * uchar item::SurfaceMaterial() const added
2406             * itemde.h
2407               * Some ushort xxx::GetArmorValue() consts removed
2408         * Master data member added to bodypart
2409           * Modified files:
2410                 * itemde.cpp
2411             * itemde.h
2412               * character* bodypart::GetMaster() const 
2413               * void bodypart::SetMaster(character* What)
2414         * StrengthModifier attributes added to items
2415           * Modified files:
2416                 * itemba.cpp
2417             * itemba.h
2418               * ushort item::StrengthModifier() const added
2419                 * itemde.cpp
2420             * itemde.h
2421               * Numerous ushort xxx::StrengthModifier() const added
2422         * IsAlive() attributes added to materials
2423           * Modified files:
2424             * itemde.cpp
2425             * materba.h
2426               * bool material::IsAlive() consts added
2427             * materde.h
2428               * Numerous bool xxx::IsAlive() consts added
2429         * Secret knowledge command partially added
2430           * Modified files:
2431             * game.cpp
2432             * charba.h
2433             * charba.cpp
2434               * bool character::SecretKnowledge() added
2435             * itemba.h
2436               * bool item::AutoInitializable() const added
2437             * itemde.h
2438               * bool bodypart::AutoInitializable() const added
2440 March 17 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
2442          * Graphics/Makefile.am: Human.pcx changed to Humanoid.pcx
2444 March 16 2002 Timo Kiviluoto <sonor@phpoint.fi>
2446         * charde.h: Bodypart color tweaks
2448 March 16 2002 Timo Kiviluoto <sonor@phpoint.fi>
2450         * New bodypart: groin
2451           * Modified files:
2452             * charde.cpp
2453               * ulong humanoid::GroinVolume() const added
2454               * void humanoid::CreateGroin() added
2455               * groin* humanoid::GetGroin() const added
2456               * void humanoid::SetGroin(groin* What) added
2457             * itemde.h
2458               * New class: groin
2459         * Added SpecialType to graphicid. Arms, legs and groin are no more drawn multiple times.
2460           * Modified files:
2461             * worldmap.cpp
2462             * object.cpp
2463             * object.h
2464             * igraph.cpp
2465             * igraph.h
2466               * Some SpecialType definitions added
2467               * graphicid and handling functions updated
2468             * charde.cpp
2469               * return type of leftarm* humanoid::GetRightArm(), rightarm* humanoid::GetLeftArm(), rightleg* humanoid::GetRightLeg() and leftleg* humanoid::GetLeftLeg() changed
2470               * parameter type of humanoid::SetRightArm(rightarm* What), void humanoid::SetLeftArm(leftarm* What), void humanoid::SetRightLeg(rightleg* What) and void humanoid::SetLeftLeg(leftleg* What) changed
2471             * itemde.h
2472               * arm and leg are now abstract
2473               * New classes: rightarm, leftarm, rightleg, leftleg
2474               * virtual uchar xxx::GetSpecialType() consts overrided in rightarm, leftarm, groin, rightleg, leftleg
2475         * Dwarf legs are now drawn correctly
2476           * Modified files:
2477             * itemba.cpp
2478               * void item::DrawToTileBuffer(vector2d Pos) const added
2479             * itemba.h
2480             * charde.cpp
2481               * void dwarf::DrawToTileBuffer() const added
2482         * Werewolves are now drawn correctly
2483           * Modified files:
2484             * charde.cpp
2485               * void humanoid::UpdateBodyPartPictures(bool CallUpdatePicture) added
2486               * void humanoid::UpdateHeadPicture(bool CallUpdatePicture) added
2487               * void humanoid::UpdateTorsoPicture(bool CallUpdatePicture) added
2488               * void humanoid::UpdateRightArmPicture(bool CallUpdatePicture) added
2489               * void humanoid::UpdateLeftArmPicture(bool CallUpdatePicture) added
2490               * void humanoid::UpdateGroinPicture(bool CallUpdatePicture) added
2491               * void humanoid::UpdateRightLegPicture(bool CallUpdatePicture) added
2492               * void humanoid::UpdateLeftLegPicture(bool CallUpdatePicture) added
2493             * charde.h
2494         * charde.cpp: Bug in void humanoid::SetSize(ushort Size) fixed
2495         * charde.h: Bodypart color tweaks
2496         * lsquare.cpp: Extremely rare fatal bug in lsquare::CalculateEmitation() fixed
2498 March 15 2002 Timo Kiviluoto <sonor@phpoint.fi>
2500         * charde.h: Bodypart color tweaks
2501         * Humanoid.pcx: Material color tweaks by Kahvi
2503 March 14 2002 Timo Kiviluoto <sonor@phpoint.fi>
2505         * charde.h: Bodypart color tweaks
2507 March 14 2002 Timo Kiviluoto <sonor@phpoint.fi>
2509         * bitmap.cpp: Added bool DrawSides parameter for bitmap::DrawPolygon
2511 March 14 2002 Timo Kiviluoto <sonor@phpoint.fi>
2513         * Material colors added to humanoid bodyparts. All humanoids are now very ugly.
2514           * Modified files:
2515             * Human.pcx: renamed as Humanoid.pcx and converted to material colors by Kahvi
2516             * object.cpp:
2517               * ushort object::GetMaterialColor0() const added
2518               * ushort object::GetMaterialColor1() const added
2519               * ushort object::GetMaterialColor2() const added
2520               * ushort object::GetMaterialColor3() const added
2521               * Added argument for void object::UpdatePicture(bool RemoveOld), which determines whether old pic will be removed. The func now updates GraphicId based on the preceding functions.
2522             * object.h:
2523               * void object::ColorChangeSpeciality(uchar, bool) removed
2524             * lterrain.h:
2525               * void stairsdown::ColorChangeSpeciality(uchar, bool) removed
2526               * ushort stairsdown::GetMaterialColor1() const added
2527               * void stairsup::ColorChangeSpeciality(uchar, bool) removed
2528               * ushort stairsup::GetMaterialColor1() const added
2529             * itemde.cpp:
2530               * void potion::ColorChangeSpeciality(uchar Index, bool EmptyMaterial) removed
2531               * void bodypart::Save(outputfile& SaveFile) const modified so that Colors are saved
2532               * void bodypart::Load(inputfile& SaveFile) const modified so that Colors are loaded
2533               * void torso::Save(outputfile& SaveFile) const removed
2534               * void torso::Load(inputfile& SaveFile) const removed
2535             * itemde.h:
2536               * torso divided into two childs classes: normaltorso and humanoidtorso
2537               * void bodypart::SetColor(ushort Index, ushort What) added
2538               * ushort xxx::GetMaterialColorxxx() const funcs added here and there
2539             * igraph.h:
2540               * humanoid is now raw type
2541             * charde.cpp:
2542               * All references to complexhumanoid removed
2543               * void humanoid::CreateTorso() added
2544               * All void humanoid::Create<some bodypart>() functions modified to init bodypart colors
2545               * void humanoid::DrawToTileBuffer() const added
2546             * charde.h:
2547               * All references to complexhumanoid removed
2548               * All SetLegType(xxx) and similiar function calls removed from SetDefaultStatses
2549               * uchar xxx::GetHeadType() const added to humanoid and all children
2550               * uchar xxx::GetTorsoType() const added to humanoid and all children
2551               * uchar humanoid::GetRightArmType() const added
2552               * uchar humanoid::GetLeftArmType() const added
2553               * uchar xxx::GetArmType() const added to humanoid and all children
2554               * uchar humanoid::GetRightLegType() added
2555               * uchar humanoid::GetLeftLegType() added
2556               * uchar xxx::GetLegType() const added to humanoid and all children
2557               * ushort humanoid::SkinColor() const added
2558               * ushort humanoid::CapColor() const added
2559               * ushort humanoid::HairColor() const  added
2560               * ushort humanoid::HeadSpecialColor() const added
2561               * ushort humanoid::TorsoMainColor() const added
2562               * ushort humanoid::BeltColor() const added
2563               * ushort humanoid::TorsoSpecialColor() const added
2564               * ushort humanoid::ArmMainColor() const added
2565               * ushort humanoid::ArmSpecialColor() const added
2566               * ushort humanoid::LegMainColor() const added
2567               * ushort humanoid::LegSpecialColor() const added
2568             * charba.cpp:
2569               * Removed argument from void character::CreateTorso(bool Humanoid) and modified it to init torso color
2570             * charba.h:
2571               * AllocBodyParts added as the fourth character constructor parameter
2572               * void character::AllocateBodyPartArray() added
2573         * Ergonomic FeFile modifications:
2574           * save.cpp:
2575             * Fast-to-use long inputfile::ReadNumber() added (affect also config.cpp)
2576           * save.h:
2577             * typedef std::map<std::string, long> valuemap added (affects also script.h)
2578         * godba.cpp: Fatal bug in god::Save and god::Load corrected
2579         * IvanEdit removed from CVS
2580         * LTerrain.pcx: desert, swamp, snow base terrains, three stunt trees, two rocks and boghole added by Kahvi
2582 March 10 2002 Timo Kiviluoto <sonor@phpoint.fi>
2584         * gccblit.s: added alternative gcc asm func names with only one lowline
2586 Friday, March 08 2002 Heikki Sairanen <heikki.sairanen@phpoint.net> 
2587         (however all changes actually coded by Mark Schreiber)
2589         * FeDX/Source/graphics.cpp: ToggleFullScreen for USE_SDL added, 
2590         * FeWin/Source/whandler.cpp: Function globalwindowhandler::ProcessMessage() funcion for SDL changed to call ToggeFullScreen when alt + enter pressed
2592 March 07 2002 Timo Kiviluoto <sonor@phpoint.fi>
2594         * itemde.cpp: Two unused parameter warnings corrected
2595         * lterrade.cpp: Two unused parameter warnings corrected
2596         * entity.cpp: Two unused parameter warnings corrected
2597         * ivandj.mak: Added reference to new files
2598         * ivanmgw.mak: Added reference to new files
2600 March 07 2002 Timo Kiviluoto <sonor@phpoint.fi>
2602         * Unit class added
2603           * This class holds materials. It is derived from entity and is base for object and fluid.
2604           * Modified files:
2605             * object.cpp
2606             * object.h
2607             * fluid.cpp
2608             * fluid.h
2609             * entity.cpp
2610               * see unit.cpp
2611             * entity.h
2612               * see unit.h
2613           * Added files:
2614             * unit.cpp
2615               * unit::unit(bool AddToPool, bool HasBe) added
2616               * unit::~unit() added
2617               * void unit::Save(outputfile& SaveFile) const added
2618               * void unit::Load(inputfile& SaveFile) added
2619               * ushort unit::GetEmitation() const moved here from entity.cpp
2620               * void unit::PreserveMaterial(ushort Index) moved here from entity.cpp
2621               * material* unit::GetMaterial(ushort Index) const moved here from entity.cpp
2622               * ushort unit::GetMaterials() const moved here from entity.cpp
2623             * unit.h
2624               * material* unit::GetMaterial(ushort) const moved here from entity.h
2625               * ushort unit::GetEmitation() const moved here from entity.h
2626               * ushort unit::GetMaterials() const moved here from entity.h
2627               * bitmap* unit::GetPicture() const moved here from entity.h
2628               * void unit::PreserveMaterial(ushort) moved here from entity.h
2629         * Bodyparts added
2630           * These are stored as an array of items in character, although they can't be severed yet :(
2631           * Character is not a unit and so contains materials no more; use bodypart materials from here on.
2632           * Modified files:
2633             * itemde.cpp
2634               * void bodypart::Save(outputfile& SaveFile) const added
2635               * void bodypart::Load(inputfile& SaveFile) added
2636               * void torso::Save(outputfile& SaveFile) const added
2637               * void torso::Load(inputfile& SaveFile) added
2638             * itemde.h
2639               * bodypart abstract class added
2640               * head class changed to bodypart child
2641               * torso class added
2642               * arm class added
2643               * leg class added
2644             * charba.cpp
2645               * void character::CreateBodyParts() added
2646               * material* character::CreateTorsoBone(ulong Volume) const added
2647               * void character::SetSize(ushort Size) added (this sets torso size)
2648               * ushort character::GetSize() const added
2649               * void character::CreateTorso(bool Humanoid) added
2650               * torso* character::GetTorso() const added
2651               * void character::SetTorso(torso* What) added
2652               * void character::SetMaterial(uchar Index, material* NewMaterial) added (this sets bodypart materials)
2653             * charba.h
2654               * see charba.cpp
2655               * character's base class changed to type + entity
2656               * bodypart* GetBodyPart(ushort Index) const added
2657               * void SetBodyPart(ushort Index, bodypart* What) added
2658               * uchar TorsoBonePercentile() const added
2659               * ulong TorsoVolume() const added
2660               * material* CreateTorsoFlesh(ulong) const = 0 added
2661               * ulong TotalVolume() const = 0 added (used by create functions to calculate bodypart volumes)
2662               * uchar BodyParts() const added
2663               * vector2d GetBitmapPos() const = 0 temporarily added
2664               * macro modifications, see charde.h
2665             * charde.cpp
2666               * void humanoid::SetSize(ushort Size) added (this sets bodypart sizes)
2667               * ushort humanoid::GetSize() const added (this calculates humanoid size based on bodypart sizes)
2668               * ulong humanoid::HeadVolume() const added (this and following are used only during construction)
2669               * ulong humanoid::TorsoVolume() const added
2670               * ulong humanoid::ArmVolume() const added
2671               * ulong humanoid::LegVolume() const added
2672               * void humanoid::CreateBodyParts() added
2673               * void humanoid::CreateHead() added
2674               * void humanoid::CreateRightArm() added
2675               * void humanoid::CreateLeftArm() added
2676               * void humanoid::CreateRightLeg() added
2677               * void humanoid::CreateLeftLeg() added
2678               * head* humanoid::GetHead() const added
2679               * void humanoid::SetHead(head* What) added
2680               * arm* humanoid::GetRightArm() const added
2681               * void humanoid::SetRightArm(arm* What) added
2682               * arm* humanoid::GetLeftArm() const added
2683               * void humanoid::SetLeftArm(arm* What) added
2684               * leg* humanoid::GetRightLeg() const added
2685               * void humanoid::SetRightLeg(leg* What) added
2686               * leg* humanoid::GetLeftLeg() added
2687               * void humanoid::SetLeftLeg(leg* What) added
2688             * charde.h
2689               * see charde.cpp
2690               * material* humanoid::CreateHeadFlesh(ulong Volume) const added
2691               * material* humanoid::CreateHeadBone(ulong Volume) const added
2692               * material* humanoid::CreateRightArmFlesh(ulong Volume) const added
2693               * material* humanoid::CreateRightArmBone(ulong Volume) const added
2694               * material* humanoid::CreateLeftArmFlesh(ulong Volume) const added
2695               * material* humanoid::CreateLeftArmBone(ulong Volume) const added
2696               * material* humanoid::CreateArmFlesh(ulong Volume) const added
2697               * material* humanoid::CreateArmBone(ulong Volume) const added
2698               * material* humanoid::CreateRightLegFlesh(ulong Volume) const added
2699               * material* humanoid::CreateRightLegBone(ulong Volume) const added
2700               * material* humanoid::CreateLeftLegFlesh(ulong Volume) const added
2701               * material* humanoid::CreateLeftLegBone(ulong Volume) const added
2702               * material* humanoid::CreateLegFlesh(ulong Volume) const added
2703               * material* humanoid::CreateLegBone(ulong Volume) const added
2704               * material* humanoid::CreateTorsoFlesh(ulong Volume) const added
2705               * uchar humanoid::HeadBonePercentile() const added
2706               * uchar humanoid::TorsoBonePercentile() const added
2707               * uchar humanoid::RightArmBonePercentile() const added
2708               * uchar humanoid::LeftArmBonePercentile() const added
2709               * uchar humanoid::ArmBonePercentile() const added
2710               * uchar humanoid::RightLegBonePercentile() const added
2711               * uchar humanoid::LeftLegBonePercentile() const added
2712               * uchar humanoid::LegBonePercentile() const added
2713               * ulong humanoid::RightArmVolume() const added
2714               * ulong humanoid::LeftArmVolume() const added
2715               * ulong humanoid::RightLegVolume() const added
2716               * ulong humanoid::LeftLegVolume() const added
2717               * uchar humanoid::BodyParts() const added
2718               * nearly infinite amount of ulong xxx::GetDefaultVolume(ushort Index) consts removed
2719               * equally many respective ulong xxx:TotalVolume() consts added
2720               * InitMaterials line removed from macro and class definitions
2721               * nearly infinite amound of material* xxx::CreateTorsoFlesh(ulong Volume) consts added
2722         * Gods prototyped
2723           * They now are derived from type and use the same macro system as characters, items etc.
2724           * Modified files:
2725             * game.cpp
2726               * void game::CreateGods() added
2727             * game.h
2728               * void game::SetGodNumber(uchar What) removed
2729               * uchar game::GetGodNumber() removed
2730               * uchar game::GetGods() added (note: this returns former GetGodNumber() + 1)
2731           * Removed files:
2732             * god.cpp
2733             * god.h
2734           * Added files:
2735             * godba.cpp
2736             * godba.h
2737               * these files are reserved for base god layer routines
2738             * godde.cpp
2739             * godde.h
2740               * these files are reserved for derived gods' routines
2741         * Routine transportation
2742           * Some name routines moved temporarily from object to entity to make them available to the non-object character class
2743           * Routines:
2744             * std::string Name(uchar Case) const
2745             * std::string GetNameSingular() const
2746             * std::string GetNamePlural() const
2747             * std::string NameSingular() const
2748             * std::string NamePlural() const
2749             * std::string object::NameNormal(uchar Case, std::string Article, std::string Adjective) const
2750             * std::string object::NameProperNoun(uchar Case) const
2751           * Modified files:
2752             * object.cpp
2753             * object.h
2754             * entity.cpp
2755             * entity.h
2756         * Name changes
2757           * Modifications:
2758             * typeable -> type
2759             * levelsquare -> lsquare
2760             * worldmapsquare -> wsquare
2761             * groundterrain -> gterrain
2762             * overterrain -> oterrain
2763             * levelterrain -> lterrain
2764             * worldmapterrain -> wterrain
2765             * groundlevelterrain -> glterrain
2766             * overlevelterrain -> olterrain
2767             * groundworldmapterrain -> gwterrain
2768             * overworldmapterrain -> owterrain
2769             * partially capitalized and fully capitalized versions of the preceding
2770             * changed igraph.h's graphics file #define prefixes from G to GR (e.g. GLTERRAIN -> GRLTERRAIN)
2771           * Modified files:
2772             * wterraba.cpp
2773             * wterraba.h
2774             * wterrade.cpp
2775             * wterrade.h
2776             * wsquare.cpp
2777             * wsquare.h
2778             * worldmap.cpp
2779             * worldmap.h
2780             * terra.cpp
2781             * terra.h
2782             * stack.cpp
2783             * stack.h
2784             * square.cpp
2785             * square.h
2786             * script.cpp
2787             * script.h
2788             * roomba.cpp
2789             * roomba.h
2790             * roomde.cpp
2791             * roomde.h
2792             * materba.cpp
2793             * materba.h
2794             * materde.cpp
2795             * lterraba.cpp
2796             * lterraba.h
2797             * lterrade.cpp
2798             * lterrade.h
2799             * level.cpp
2800             * level.h
2801             * itemba.cpp
2802             * itemba.h
2803             * itemde.cpp
2804             * itemde.h
2805             * igraph.h
2806             * game.cpp
2807             * entity.cpp
2808             * entity.h
2809             * cont.cpp
2810             * cont.h
2811             * charba.cpp
2812             * charba.h
2813             * charde.cpp
2814             * dungeon.dat
2815           * Removed files:
2816             * typeable.cpp
2817             * typeable.h
2818           * Added files:
2819             * type.cpp
2820             * type.h
2821         * EntityID removed and ItemID added. Names changed everywhere.
2822           * Modified files:
2823             * itemba.h
2824             * itemba.cpp
2825             * game.h
2826             * game.cpp
2827             * entity.h
2828             * entity.cpp
2829         * itemde.h: Genie possibility increased
2830         * fluid.cpp: Fluid degeneration rate is now lower
2831         * Symbol.pcx: mounted symbol added by Kahvi
2832         * LTerrain.pcx: stunt trees added by Kahvi
2833         * Human.pcx: Cossack added by Kahvi and mistress teared apart by Kahvi
2834         * Char.pcx: raven, lion, carnivorous plant, bison, horse and dragon added by Kahvi
2836 Sunday, March 03 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
2838         * Main/Include/itemba.h: Teleport(stack*) function added
2839         * Main/Include/itemde.h: Wand of Teleportation added
2840         * Main/Include/roomba.h: TeleportSquare function added
2841         * Main/Include/roomde.h: TeleportSquare function added to catedral and shop
2842         * Main/Include/charba.h: Teleport function added
2843         * Main/Include/lsquare.h: Added TeleportEverything
2844         * Main/Source/stack.cpp: Teleport function added
2845         * Main/Source/itemba.cpp: Teleport(stack*) function added, which currently uses Player's character to determine walkability of square. This probably should be still fixed.
2846         * Main/Source/itemde.cpp: Wand of Teleportation added
2847         * Main/Source/lsquare.cpp: Added TeleportEverything
2848         * Main/Source/roomde.cpp: TeleportSquare function added to catedral and shop
2849         * Main/Source/stack.cpp: Teleport function added
2851 Friday, March 01 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
2853         * Main/Source/god.cpp: silva::PrayGoodEffect now also ImpactDamages all items in the level
2854         * Main/Source/charba.cpp: character::Kick() added a burden state checker
2856 Friday, March 01 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
2858         * Main/Source/charba.cpp: Added a burdenstate checker to Hit function 
2859         * Main/Source/lterrade.cpp: Added private function Break() to door to reduce duplicated code.
2860         * Main/Include/lterrade.h: Added function Break() to door
2862 Thursday, February 28 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
2864         * Main/Include/itemde.h: Added scroll of taming
2865         * Main/Source/itemde.cpp: Added scroll of taming
2867 Wednesday, February 27 2002 Heikki Sairanen <heikki.sairanen@phpoint.net>
2869         * Main/Include/Makefile.am: Added entity.h and fluid.h (somehow these changes have been lost from CVS)
2870         * Main/Source/Makefile.am: Added entity.cpp and fluid.cpp (somehow these changes have been lost from CVS)
2871         * Main/Source/itemde.cpp: bananapeals::GetStepOnEffect for fall effect, Wand of Striking added. All BeamEffect functions changed to returing bool that tells the Beam function wheter the beam continues after the square in question.
2872         * Main/Include/lsquare.h: levelsquare::HasBeenHitBy added 
2873         * Main/Source/lsquare.cpp: levelsquare::HasBeenHitBy added
2874         * Main/Include/lterraba.h: overlevelterrain::HasBeenHitBy added
2875         * Main/Include/lterrade.h: door::HasBeenHitBy, brokendoor::HasBeenHitBy added
2876         * Main/Source/lterrade.cpp: door::HasBeenHitBy, brokendoor::HasBeenHitBy. That open or damage the door when an item hits it.
2877         * Main/Include/itemde.h: Wand of strikings color changed from yellow to white. Added Wand of fireballs
2878         * Main/Source/charba.cpp character::WizardMode changed so that the player now receives 5 scrolls of wishing also after activating the wizard mode.