2010-12-11 Gordon McNutt * scripts/nazghul.iss: Updated version number and URL. Changed the program name to haxima. 2010-08-27 Gordon McNutt * src/Party.cpp, src/cmd.c, src/node.c, src/node.h, src/place.c, src/player.cpp, src/session.c, src/status.c: Fixed all the warnings related to strict aliasing and type punning. We now compile warning-free with gcc 4.4.4. 2010-08-26 Gordon McNutt * src/map.h, src/menus.c, src/menus.h, src/nazghul.c, src/object.c, src/object.h, src/occ.c, src/occ.h, src/place.c, src/place.h, src/player.cpp, src/player.h, src/sched.c, src/sched.h, src/scheme.c, src/screen.c, src/screen.h, src/session.c, src/session.h, src/sky.c, src/sound.c, src/sound.h, src/species.c, src/species.h, src/sprite.c, src/sprite.h, src/status.c, src/status.h, src/terrain.c, src/terrain.h, src/terrain_editor.c, src/terrain_map.c, src/terrain_map.h, src/tree.c, src/tree.h, src/vehicle.cpp, src/vehicle.h, src/vmask.c, src/ztats_container_pane.c, src/ztats_container_pane.h, src/Arms.cpp, src/Arms.h, src/Being.cpp, src/Being.h, src/Field.cpp, src/Field.h, src/Missile.cpp, src/Missile.h, src/Party.cpp, src/ascii.c, src/astar.c, src/cfg.c, src/cfg.h, src/character.cpp, src/character.h, src/clock.c, src/clock.h, src/closure.c, src/closure.h, src/cmd.c, src/cmd.h, src/cmdwin.c, src/cmdwin.h, src/common.c, src/common.h, src/console.c, src/console.h, src/conv.c, src/ctrl.c, src/debug.c, src/debug.h, src/dice.c, src/dice.h, src/dimensions.c, src/dtable.c, src/dtable.h, src/effect.c, src/effect.h, src/factions.h, src/file.c, src/file.h, src/foogod.c, src/foogod.h, src/images.c, src/images.h, src/kern.c, src/kern_intvar.c, src/kern_intvar.h, src/log.c, src/log.h, src/los.c, src/los.h, src/magic.c, src/magic.h, src/map.c: Fixed compiler warnings related to const vs non-const char pointers 2010-03-08 Gordon McNutt * src/menus.c: Don't load the demo if the player has a saved game. In this case he probably just wants to Journey Onward with minimal delay. 2009-10-19 kaypy * worlds/haxima-1.002/start-new-game.scm: game version number incremented * src/kern.c: kern.c gets USE_QUESTS from ../config.h, the same way USE_SKILLS works * win32/config.h, win32/readme.txt: tweaks to win32 build 2009-10-17 Gordon McNutt * src/Makefile.am, COPYING, NEWS, AUTHORS: Update for 0.7.0 release 2009-10-10 Gordon McNutt * doc/USERS_GUIDE: Added CTRL-E)val to the USERS_GUIDE with an example string for teleporting the player. * src/cmd.c: CTRL-E)val now gives a prompt. * worlds/haxima-1.002/deric.scm, worlds/haxima-1.002/edward.scm, worlds/haxima-1.002/nate.scm, worlds/haxima-1.002/quests-data-static.scm, worlds/haxima-1.002/quests-data.scm, worlds/haxima-1.002/quests-mech.scm, worlds/haxima-1.002/tbl.scm: Bandit quest log stuff now done. * src/cmd.c, src/cmd.h, src/ctrl.c, src/event.c, src/event.h, src/session.c, src/session.h: Added CTRL-E to developer mode. This will let you enter a Scheme expression in the cmdwin and then the kernel will evaluate it. I will not be responsible for the results. 2009-10-04 Gordon McNutt * doc/USERS_GUIDE: Corrected some spell listings * worlds/haxima-1.002/tools.scm: Shortened the time it takes to pick locks * worlds/haxima-1.002/skills.scm: Reshuffled skills so that wanderer will get pickpocket eventually; also removed butcher from the lists since there isn't a lot one can do with it yet. * worlds/haxima-1.002/naz.scm: Made NPC's level depend on number of player party members * worlds/haxima-1.002/disarm-trap.scm: Disarm skill depended on wrong ability * worlds/haxima-1.002/glasdrin.scm: Made the Stewardess's chest invisible (to justify the MAN's hint about Wis Quas), and removed the magic lock and burn trap (I see no need to make it the most-protected chest in the game). 2009-10-03 Gordon McNutt * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm: Made the Disarm Traps spell fallible. Bonus is the average of magical and thiefly abilities. 2009-10-02 Gordon McNutt * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm: An Sanct (Unlock Mundane) can now fail. Caster's bonus is the average of white-magic and thief abilities * worlds/haxima-1.002/potions.scm: Changed stats potions as per kaypy's suggestion. Chance and degree of working now drops as base stat increases. 2009-10-01 kaypy * worlds/haxima-1.002/necromancer.scm: necromancer conv changes with warritrix status * worlds/haxima-1.002/lost-halls-mech.scm, worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/quests-data.scm: can no longer find warritrix before quest * worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/quests-data-static.scm, worlds/haxima-1.002/steward.scm: a ream of quest debugging * worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/steward.scm: convs tweaked to delay warritrix mission 2009-09-29 Gordon McNutt * src/console.c, src/console.h, src/player.cpp: Fixed a crasher that occurred when a console color push/pop crossed a newline boundary * worlds/haxima-1.002/species.scm: Gave bats vision radius 19 since they may attack the player when he's in the voidship * worlds/haxima-1.002/runes.scm: Fixed a crasher when getting the warritrix rune 2009-09-29 kaypy * worlds/haxima-1.002/quests-data.scm: purged a duplicate entry * worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/quests-data.scm, worlds/haxima-1.002/runes.scm, worlds/haxima-1.002/warritrix.scm: using quest-data-complete preferentially * worlds/haxima-1.002/quests-mech.scm: A bunch more documentation Added a quest-data-complete method 2009-09-28 kaypy * worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/jeffreys.scm: A bunch more triggers for Warritrix info updates * worlds/haxima-1.002/quests-data-static.scm, worlds/haxima-1.002/quests-data.scm: Some quest documentation 2009-09-27 kaypy * worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/necromancer.scm, worlds/haxima-1.002/quests-data-static.scm, worlds/haxima-1.002/steward.scm, worlds/haxima-1.002/warritrix.scm: Wise quests pass 1- linked in results of find-in-files: wise * worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/quests-data-static.scm, worlds/haxima-1.002/quests-data.scm: Placeholder quest entries for all of the wise 2009-09-26 kaypy * worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/quests-data-static.scm, worlds/haxima-1.002/quests-data.scm, worlds/haxima-1.002/quests-mech.scm, worlds/haxima-1.002/quests.png, worlds/haxima-1.002/sprites.scm: Partial work toward tracking the players progress at finding the various wise * worlds/library/artwork/hirespeople/paladin.xcf, worlds/haxima-1.002/hirespeople.png, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/statue-of-justice.scm, worlds/haxima-1.002/valus.scm: Added a bedraggled version of the paladin sprite for those in disgrace * worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/player.scm, worlds/haxima-1.002/quests-data-static.scm, worlds/haxima-1.002/quests-data.scm, worlds/haxima-1.002/statue-of-justice.scm, worlds/haxima-1.002/warritrix.scm: Convert and fix glasdrin convs 2009-09-25 Gordon McNutt * worlds/haxima-1.002/skills.scm: Jump should span at least one tile 2009-09-22 Gordon McNutt * src/character.cpp: X)amine was showing the names of un-met NPC's * worlds/haxima-1.002/runes.scm: Fixed a crasher when picking up runes * worlds/haxima-1.002/effects.scm: Think I finally got the slimes tuned right. * worlds/haxima-1.002/sounds.scm: Fixed path to ballad.ogg 2009-09-18 kaypy * win32/Makefile: added terrain editor to win32 2009-09-18 Gordon McNutt * src/session.c: Fix for problem starting new game on x86_64 2009-09-16 Gordon McNutt * worlds/haxima-1.002/effects.scm: Tuning slime split probability * worlds/haxima-1.002/spells.scm: Added royal cape as an ingredient to all the ward spells * worlds/haxima-1.002/slywan.scm: Change slywan's alignment directly to avoid 'Slyway is charmed' log message * worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/tooth.scm: Added grease to merchandise of earl and tooth * worlds/haxima-1.002/books.scm: Added royal cape to the books on ward spells 2009-09-15 Gordon McNutt * src/Being.cpp: Fixed a hang on rendezvous * worlds/haxima-1.002/music/Makefile.am: Fixed music installation 2009-09-13 Gordon McNutt * worlds/haxima-1.002/skills.scm: Tuning skills * worlds/haxima-1.002/quests-data-static.scm: Fixed some typos in the quest text * worlds/haxima-1.002/potions.scm: Decided that gain-stats potions are rare enough that they shouldn't fail * worlds/haxima-1.002/pitfalls.scm: Fixed a cut-and-paste that prevents the Arm Trap skill from working * worlds/haxima-1.002/edward.scm: Fixed typo in conv * worlds/haxima-1.002/nate.scm: Nate responds to NAME keyword * worlds/haxima-1.002/lia.scm: Made some scrolls cheaper * worlds/haxima-1.002/shroom.scm: Shroom responds to queries about royal cape * worlds/haxima-1.002/anaxes.scm, worlds/haxima-1.002/fing.scm, worlds/haxima-1.002/tim.scm: Some characters shouldn't respond to the 'common folk' keywords * worlds/haxima-1.002/ability.scm: Ratlings summon more critters * src/ztats.c, src/kern.c: Fixed a crasher due to the quest pane not removing itself during session teardown * worlds/haxima-1.002/effects.scm: Fixed a bug that prevented ensnare from being removed * src/map.c: Xray works in total darkness 2009-09-12 Gordon McNutt * src/Party.cpp: Fixed a crasher that occurred after talking to party members in wilderness mode 2009-09-09 Gordon McNutt * worlds/haxima-1.002/start-new-game.scm: Removed reference to florinth * worlds/haxima-1.002/quests-data-static.scm: Grammatical error * worlds/haxima-1.002/shard.scm: Removed refs to florinth * worlds/haxima-1.002/gen.scm: Removed some spaces and uppercases words 2009-08-30 kaypy * worlds/haxima-1.002/books.scm, worlds/haxima-1.002/chanticleer.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/player.scm, worlds/haxima-1.002/quests-data-static.scm, worlds/haxima-1.002/quests-data.scm, worlds/haxima-1.002/runes.scm, worlds/haxima-1.002/silas.scm, worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/steward.scm: First pass at warritrix and absalot rune quest info 2009-08-22 Gordon McNutt * configure.ac: Turned on skills and quests by default 2009-08-21 Gordon McNutt * worlds/haxima-1.002/arms.scm: Fix for 1843026: vial slimes set to user's faction 2009-06-24 Gordon McNutt * src/ascii.c, src/common.h, src/dimensions.c, src/player.cpp, src/vehicle.cpp, src/wind.c, worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/vehicles.scm: Fix for 1900156: Has anyone seen East or South winds for a while? Haxima: o In cast-wind-change don't allow HERE o Alway ensure at least 10 turns on a wind change spell o For ships switched tailwind to be better than crosswind Kernel: o Log to the console whenever the wind shifts o Change wind directions to be 8-way instead of 4-way (changed vehicle code to accomodate) o Make wind widget wide enough for longest string o Log player party movement cost in developer mode 2009-06-23 Gordon McNutt * src/cmd.c: Fix for 1900157: kern_ui_select_party_member() unconditionally uses cmdwin_pop() after calling select_party_member(), but in cases where there is only one party member there was nothing to pop. Now there is. * worlds/haxima-1.002/runes.scm: Fix for crasher when picking up certain runes * src/character.cpp, src/play.c: Fix for 2129810: added some explanatory log messages * win32/Makefile, win32/config.h: Fix for 2360126: applied patch 2009-06-21 Gordon McNutt * src/map.c: Fix for 2364311: avoid divide-by-zero error * worlds/haxima-1.002/npc-types.scm: Fix for 2364368: added sleep immunity to demons (incl Nossifer) * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/effects.scm: Fix for 2398446: added list of acid-immune weapon types * worlds/haxima-1.002/alchemist.scm: Fix for 2404468: reworded 'search' to be 'probe' * worlds/haxima-1.002/alchemist.scm: Fix for 2404478: reworded a statement * worlds/haxima-1.002/640x480_splash.png, worlds/haxima-1.002/splash.png: Fix for 2466986: removed version number from splash images * worlds/haxima-1.002/gamestart-mech.scm: Fix for 2467008: make the blue gate in the character creation map black 2009-04-11 kaypy * worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/ghertie.scm, worlds/haxima-1.002/gholet.scm, worlds/haxima-1.002/henry.scm, worlds/haxima-1.002/jewelry.scm, worlds/haxima-1.002/jorn.scm, worlds/haxima-1.002/meaney.scm, worlds/haxima-1.002/oscar.scm, worlds/haxima-1.002/quests-data-static.scm, worlds/haxima-1.002/quests-data.scm, worlds/haxima-1.002/runes.scm, worlds/haxima-1.002/the-man.scm: pirate rune quest and subquests I think I have tested most of the paths through this, but it gets a touch baroque and thus could use more playtesting * worlds/haxima-1.002/gamestart.scm, worlds/haxima-1.002/start-new-game.scm: moved cheating tweaks into gamestart where they can tweak more * worlds/haxima-1.002/effects.scm: added a generalized on-death method * worlds/haxima-1.002/kobj.scm, worlds/haxima-1.002/powers.scm: added an ifc for objects that need a callback when obtained via odd means such as pickpocketing (basically, anything that doesnt go via ifc-get ought to trigger ifc-receive instead) 2009-04-09 kaypy * src/map.c: Rounding tweak for viewscreens with even numbers of tiles * src/closure.h: gcc didnt like repeated identifier 2008-12-12 Gordon McNutt * worlds/haxima-1.002/newterrain.png, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm: Added another tombstone 2008-12-11 Gordon McNutt * worlds/haxima-1.002/newterrain.png, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm: Added a tombstone 2008-12-08 Gordon McNutt * src/event.c, src/terrain_editor.c: Engine changes: o The terrain editor UI now has two status panes: the terrain palette and a list of commands. 2008-12-04 Gordon McNutt * src/map.c: Fixed mouse-clicking on the map while zoomed out 2008-12-01 Gordon McNutt * worlds/haxima-1.002/start-new-game.scm: Accidentally committed my test version of this earlier, restoring it. * src/terrain_editor.c, src/terrain_map.c, src/terrain_map.h: Added undo (ctrl-z) and redo (ctrl-r) commands to terrain editor 2008-11-30 Gordon McNutt * src/terrain.c, src/terrain.h: Removed dead code * src/terrain.c, src/terrain.h: Removed the current terrain index and quick entries from the palette struct and terrain code (moved to terrain editor on my last commit) * src/terrain_editor.c: Part 1 of moving the current terrain and quick terrain settings from the palette struct to the terrain editor code * src/terrain_editor.c: Terrain editor now correctly handles dragging the mouse to paint * worlds/haxima-1.002/florinth.scm: The great and wicked city of Florinth. Now mostly blank. * src/cmd.c, src/cmd.h, src/map.c, src/status.c, src/terrain.c, src/terrain.h, src/terrain_editor.c: Engine changes: o Terrain editor now displays the terrain pallete in a scrolling status window. Clicking on a terrain selects it for "painting". * src/Makefile.am, src/cmd.c, src/cmd.h, src/terrain_editor.c, src/terrain_editor.h: Engine changes: o Moved code for terrain editing from cmd.c to newly created terrain_editor.c. * src/status.c, src/status.h: Changed a comment and removed some dead code 2008-11-29 Gordon McNutt * src/terrain.h, src/terrain.c: Engine changes: o Terrain palette entries are now listed in two ways: by glyph lookup (the old way, which helps load maps faster) and now by the order in which things are added to the palette (the even older way, which allows the map editor to list them in the same order as the script) * worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/start-new-game.scm: Changes to haxima: o (mk-dungeon-level ...) now binds rooms in diagonal directions. * src/character.cpp, src/common.c, src/place.c, src/place.h: Engine changes: o After exiting to wilderness, the party is positioned on the tile adjacent to the town in the exit direction. We'll see how this goes. 2008-11-28 Gordon McNutt * worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/start-new-game.scm: Forgot the island on my last commit. * worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/start-new-game.scm: Extended the Shard. Added new island. 2008-11-25 Gordon McNutt * src/character.cpp, src/character.h: Prompt the user to abort a task on damage. Allow them to ignore damage. * worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/skills.scm: Another attempt to tune skill level requirements * worlds/haxima-1.002/effects.scm: Removed some debug * worlds/haxima-1.002/powers.scm: Pickpocket rolls to succeed before showing target inventory * worlds/haxima-1.002/skills.scm: Made lockpicking a passive skill * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/pitfalls.scm, worlds/haxima-1.002/skills.scm, worlds/haxima-1.002/tools.scm: Changes to haxima: o Arming traps now entails some risk o Tweaked stealth mode rolls * scripts/dice_rolls.pl: Perl script for computing dice roll probablities with 2 dice 2008-11-24 kaypy * worlds/haxima-1.002/abe.scm, worlds/haxima-1.002/quests-data.scm, worlds/haxima-1.002/runes.scm: void temple rune quest upgraded * worlds/haxima-1.002/abe.scm, worlds/haxima-1.002/angriss-lair.scm, worlds/haxima-1.002/angriss.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/kama.scm, worlds/haxima-1.002/quests-data-static.scm, worlds/haxima-1.002/quests-data.scm, worlds/haxima-1.002/runes.scm, worlds/haxima-1.002/warritrix.scm: spider rune quest upgraded angriss' lair location given by description (sextant coords from goblins just seemed wierd) * worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/special.scm: moving angriss' lair a little (to a more readily describably location) 2008-11-23 Gordon McNutt * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/skills.scm: Changes to haxima: o Added a "stuck" effect that works like ensnare but rolls against thiefly ability o Wriggle now has a very good chance of getting stuck. 2008-11-23 kaypy * worlds/haxima-1.002/quests-data.scm, worlds/haxima-1.002/runes.scm: fire sea rune quest (such as it is) upgraded * worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/quests-data-static.scm, worlds/haxima-1.002/quests-data.scm, worlds/haxima-1.002/runes.scm: kurpolis rune quest upgraded * worlds/haxima-1.002/quest-sys.scm: quest-set-icon! fixed 2008-11-23 Gordon McNutt * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/pitfalls.scm: Changes to haxima: o Using pitfalls entails some risk. Roll against thiefly ability. This is the arm trap skill. 2008-11-23 kaypy * worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/quests-data.scm, worlds/haxima-1.002/quests-mech.scm: a batch of subquests (although they wont all be set at once for much longer) * worlds/haxima-1.002/conv.scm: typo * worlds/haxima-1.002/runestones.png, worlds/haxima-1.002/sprites.scm: runestone group sprite * worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/quests-data-static.scm, worlds/haxima-1.002/quests-data.scm: dragons blood quest upgraded * worlds/haxima-1.002/quest-sys.scm, worlds/haxima-1.002/ztats-quest-ui.scm: tweaked quest-status callback. Also made the display routine actually invoke it 2008-11-23 Gordon McNutt * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/skills.scm: Changes to haxima: o Reduced fatigue time o Added warrior skill sets o Jump now causes fatigue and is blocked by it o Tuned jump range o Bugfix: can't sprint through people or impassable terrain * worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/disarm-trap.scm, worlds/haxima-1.002/door.scm, worlds/haxima-1.002/skills.scm, worlds/haxima-1.002/the-man.scm: Changes to haxima: o Removed mana cost for skills. o Removed ap cost for some skills (replacing with multi-turn tasks) o Removed the "detect trap" skill. Use existing s)earch command instead, thiefly ability already used to roll for success. Magic detect trap left as-is (no trip chance). o Modified the "disarm trap" skill to be multi-turn o When describing doors and chests, disarmed traps are annotated * worlds/haxima-1.002/game.scm: Revised canonical difficulty classes 2008-11-22 kaypy * worlds/haxima-1.002/quest-sys.scm, worlds/haxima-1.002/quests-mech.scm, worlds/haxima-1.002/ztats-quest-ui.scm: support for subquests * worlds/haxima-1.002/gregor.scm: 'if' glitch decapitalization 2008-11-20 Gordon McNutt * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/skills.scm: Changes to haxima: o Added simple fatigue effect o Sprint causes fatigue o Fatigue prevents sprint * src/cmd.c, src/result.h: Engine changes: o New result code: not-now * worlds/haxima-1.002/skills.scm: Fixing some errors; not sure what I was testing before my last commit * worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/scrolls.scm, worlds/haxima-1.002/skills.scm: Changes to haxima: o Added two new ability calculators for strength-based acrobatics and dexterity-based acrobatics. o The sprint skill now uses strength-based acrobatics to compute max range. * worlds/haxima-1.002/tools.scm: Time to pick a lock depends on dc 2008-11-19 Gordon McNutt * src/character.cpp, src/ctrl.c, src/foogod.c, src/foogod.h, src/player.cpp: Foogod title bar now shows party movement mode and active party member * worlds/haxima-1.002/conv.scm: No need to *lie* about the directions * worlds/haxima-1.002/tools.scm: Using picklocks now takes multiple turns * worlds/haxima-1.002/conv.scm: Made default directions somewhat helpful * worlds/library/artwork/creatures/chicken.xcf: Changes to chicken art * src/character.cpp: Was passing the gob incorrectly to the task procedure * src/cmd.c, src/cmd.h: Can't quit while engaged in a task 2008-11-18 Gordon McNutt * worlds/haxima-1.002/powers.scm: Charm only hurts diplomacy on failure against a non-immune target * worlds/haxima-1.002/effects.scm: Paralyzed party members cannot rendezvous in follow mode 2008-11-17 Gordon McNutt * src/player.cpp: Can't rendezvous to exit if a party member is charmed * src/character.cpp: o NPC's now (in addition to PC's) log messages when they start, end or abort a task. o setPlayerControlled(false) (ie, charm) cancels tasks o Fixed an extra space char in describe(); made spacing consistent; changed "a LX" to "an LX" * worlds/haxima-1.002/creatures.png, worlds/haxima-1.002/gregors-hut.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/scrolls.png, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/trigrave.scm: Chickens * worlds/library/artwork/creatures/chicken.xcf: Chicken * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/scrolls.png, worlds/haxima-1.002/scrolls.scm, worlds/haxima-1.002/spells.png, worlds/haxima-1.002/spells.scm: Decided to go ahead and incorporate my test scroll as a new spell: Rel Xen Quas or Beastly Illusion will charm it's target with faction-monster, making decent folk attack them. Not sure if it's useful. Also tweaked some of the spell sprites to make party effect sprites more consistent with Vas An Nox. * worlds/haxima-1.002/scrolls.scm: Added a scroll to test charm on oneself * worlds/haxima-1.002/effects.scm: Modified the charm effect to use kern-char-set-player-controlled as well as changing the target's current faction * src/character.cpp, src/cmd.c: Changed setPlayerControlled for charm; it tries to do the right thing for party control when in solo or follow mode * src/object.c: Removed some dead code 2008-11-16 Gordon McNutt * src/character.cpp: Death and sleep cancel tasks * src/cmd.c: Loitering disabled while any party member is engaged in a task * src/character.cpp: Only save AP debt; a positive would be carried over as an unwarranted ap bonus when the game restarts * src/character.cpp: Removed some old debug * src/player.cpp: Party cannot exit to wilderness while one or more is engaged in a task 2008-11-16 kaypy * worlds/haxima-1.002/tbl.scm: added is-tbl? check also, lisp if syntax is a cruel abuse upon generations of innocent coders * worlds/haxima-1.002/alchemist.scm: "find out about runes" quest upgraded (missed a file) * worlds/haxima-1.002/abe.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/quests-data-static.scm, worlds/haxima-1.002/quests-data.scm: "find out about runes" quest upgraded * worlds/haxima-1.002/naz.scm: removed some debugging messages * worlds/haxima-1.002/quests-mech.scm: alter quest feedback to prevent colour glitches 2008-11-16 Gordon McNutt * worlds/haxima-1.002/tools.scm: Added a special object to test multi-turn tasks. * src/object.c, src/object.h, src/player.cpp, src/character.cpp, src/character.h, src/cmd.c, src/kern.c: This set of changes is a second pass at implementing multi-turn tasks. It is far from well-tested and I'm certain it breaks the charm effect. But the basics of task starting, completing, aborting and saving/reloading are functional, and the party control management that goes along with it. Tasks in wilderness are not supported yet. Canceling tasks are accomplished by setting the PC to solo mode (the player will be prompted to confirm). o Added kern-char-task-begin, -end, -continue and -abort. o Added corresponding methods to the Character class o Ripped a bunch of code out of setCurrentFaction that was used to implement charm, but was munging things up now, and which probably never belonged there in the first place. o Similarly I tore out the code I recently put in setControlMode, for similar reasons. o Had to touch a few other places to prevent code from overriding the PC control mode while it was engaged in the task. 2008-11-16 kaypy * worlds/haxima-1.002/abe.scm: tweaks to Abe's conv 2008-11-15 Gordon McNutt * src/escape.c, src/escape.h: Might need these to build after my last commit. * src/Makefile.am, src/character.cpp, src/cmd.c, src/cmd.h, src/ctrl.c, src/kern.c, src/play.c, src/player.cpp: Added an ESC interrupt menu. This allows the user to take some action when the active PC is stuck with a high AP debt. The intention is to use this for multi-turn tasks as well. 2008-11-14 Gordon McNutt * src/conv.c: Another bug fixed in keyword highlighting: fen comes before fens 2008-11-13 Gordon McNutt * src/conv.c: Short keywords that appeared with punctuation after them were not getting highlighted * src/kern.c: Bug introduced on my last commit: don't register NIL conversations * src/conv.c, src/conv.h, src/kern.c, src/scheme-private.h, src/scheme.c: Processing conversation keywords is now done lazily, when a conversation is entered the first time. This fixes a bug where in some save files the file containing a conversation is loaded after the character that uses it. * worlds/haxima-1.002/gregor.scm: End conv if Gregor kills Nate when Nate is speaker * worlds/haxima-1.002/gregor.scm: Changed who shoots the deathball 2008-11-13 kaypy * worlds/haxima-1.002/deric.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/gwen.scm, worlds/haxima-1.002/mouse.scm, worlds/haxima-1.002/quests-data-static.scm, worlds/haxima-1.002/quests-data.scm, worlds/haxima-1.002/quests-mech.scm, worlds/haxima-1.002/runes.scm, worlds/haxima-1.002/thiefs_den.scm, worlds/haxima-1.002/traps_1.scm, worlds/haxima-1.002/traps_2.scm, worlds/haxima-1.002/traps_3.scm, worlds/haxima-1.002/traps_4.scm: thief quest upgraded * worlds/haxima-1.002/hackle.scm: swapping allcaps for colour highlight * worlds/haxima-1.002/chanticleer.scm: typo 2008-11-13 Gordon McNutt * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/skills.scm, worlds/haxima-1.002/tools.scm: Reverted lockpicking and unlock spells; removed unlock as a skill * worlds/haxima-1.002/demo.scm: Renamed the Gate Portal as Demo Scene to make the starting console message clear that the player is watching a demo * src/kern.c: kern.c includes config.h so the quest status page will work when configured. * worlds/haxima-1.002/gregor.scm: Gregor kills Nate. Cleaned up his conv a bit, too. * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/quest-talk-to.scm: Getting rid of obsolete quest file * src/conv.c: Bugfix: short keywords not getting detected in some cases * worlds/haxima-1.002/ini.scm: For Ini, 'deep' was a keyword but he gave the default reply unless he was flagged as ready to join the party. I added an alternate default reply so it doesn't look like a bug. * scripts/RELEASE_CHECKOFF: Some updated notes 2008-11-12 Gordon McNutt * worlds/haxima-1.002/camping-map.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/npc-types.scm: Changes to haxima: o The camping ambush was still being added via the obsolete kern-set-camping-proc. Fixed it to use kern-add-hook. o Fixed the statue curse: same problem. Now uses kern-rm-hook as well. o Reverted faction-glasdrin to be its own value so that the exile curse won't affect the player in all cities. Fixed the glasdrin guard spawn pts to spawn guards specific to glasdrin so they will enforce the exile curse. * src/kern.c, src/session.c, src/session.h: Engine: o Session no longer saves its hooks. All session hooks are either being loaded on startup via script files or via effects. Saving them was just causing them to be added multiple times on reload. o Added kern-rm-hook and session_rm_sym_hook. To be removed, a hook proc must have been a symbol. * worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/skills.scm, worlds/haxima-1.002/tools.scm: Changes to haxima: o Picklocks are no longer u)sable, the player must y)use the picklock skill o Breaking lockpicks is done in the skill based on critical failure o First pass at level requirements for wrogue skills * src/cmd.c, src/ctrl.c, src/result.h: Engine: o Added #include to enable skills if configured o Added a new result code: critical failure o Colorized reporting of result codes in the console 2008-11-11 kaypy * worlds/haxima-1.002/sounds.scm, worlds/haxima-1.002/music/Lute-and-recorder-ballad.ogg, worlds/haxima-1.002/music/Minuet-like-Mozart.ogg, worlds/haxima-1.002/music/ballad.ogg, worlds/haxima-1.002/music/bassoons-and-harpsichord.ogg, worlds/haxima-1.002/music/double-trios.ogg, worlds/haxima-1.002/music/dragon-quest.ogg, worlds/haxima-1.002/music/dragon-slayer.ogg, worlds/haxima-1.002/music/fair-camelot.ogg, worlds/haxima-1.002/music/game-music2.ogg, worlds/haxima-1.002/music/harpsichord-piece.ogg, worlds/haxima-1.002/music/into-battle.ogg, worlds/haxima-1.002/music/medieval-quest.ogg, worlds/haxima-1.002/music/minstrel-dance.ogg, worlds/haxima-1.002/music/music.scm, worlds/haxima-1.002/music/plainchant-recorder-trio.ogg, worlds/haxima-1.002/music/wind-trio.ogg: Lets try Ogg music 2008-11-11 Gordon McNutt * worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/door.scm, worlds/haxima-1.002/powers.scm: Changes to haxima: o Locked and magically locked doors and chests have a difficulty class. Currently everything defaults to "normal". o The lock and magic unlock powers roll to succeed. * worlds/haxima-1.002/statue-of-justice.scm: Status of Justice's name is known to player * worlds/haxima-1.002/game.scm: Removed some commented-out code; added some generic difficulty class values; changed glasdrin faction to match normal men (otherwise guards in glasdrin won't attack if you assault the populace or get exiled by the statue) 2008-11-10 Gordon McNutt * src/conv.c: Maybe I should at least *compile* my changes before checking them in. * src/conv.c: Fixed crasher if unknown NPC initiaites conversation with player * worlds/haxima-1.002/gamestart.scm: Statue names are automatically known to player * worlds/haxima-1.002/gamestart-statues.scm: Gave the starting statues some personality. 2008-11-09 Gordon McNutt * src/nazghul.c: Removed some dead code * COPYING, src/ascii.c, src/cmd.c, src/ctrl.c, src/images.c, src/images.h, src/map.c, src/menus.c, src/play.c, src/screen.h, src/screen_dims.h, src/sprite.c, worlds/haxima-1.002/kern-init.scm: I did not get all of Eero's 16bpp patch applied. He sent me some new patches, which are applied now. * src/character.cpp, src/cmd.c, src/combat.c, src/conv.c, src/kern.c, src/log.c, src/log.h, src/nazghul.c, src/player.cpp: Added log_banner(), which provides a consistent format for especially notable log messages. Converted some existing messages over to use it. * src/scheme.c: Fixing a crash that may occur when a hook procedure loads a file. * configure.ac: Bumped version to 0.7.0 on trunk for next time * configure.ac: Bumped version to 0.6.2 for next time * NEWS: Updated NEWS * src/character.cpp, src/character.h, src/conv.c, src/kern.c: In conversations, the NPC's name is not printed until the player queries NAME * NEWS: Added a few more changes to NEWS * src/Makefile.am: Removed bitfield.h from source list * NEWS: Updated NEWS for 0.6.1 release * worlds/haxima-1.002/bart.scm: Removed duplicate word in conv 2008-11-09 kaypy * worlds/haxima-1.002/game.scm: uses kern-set-start-proc to initiate hotfix * worlds/haxima-1.002/game.scm: hotfix for saves with voidgap/deeps bug. still needs hook code in kern 2008-11-08 kaypy * worlds/haxima-1.002/powers.scm: pullling in spell fixes * worlds/haxima-1.002/voidgap-passage.scm: pulling in fix from 1.4 * worlds/haxima-1.002/scrolls.scm: pull in scroll fixes * worlds/haxima-1.002/necromancer.scm: pulled in conversation fix from 1.16 * worlds/haxima-1.002/naz.scm: pulled in some fixes and stuff I will need for save update * worlds/haxima-1.002/mouse.scm: pulled in conversation fix from 1.19 * worlds/haxima-1.002/enchanter.scm: pulled in spelling fix from 1.25 2008-11-08 Gordon McNutt * worlds/haxima-1.002/fields.scm: Ported over chance to avoid sleep fields so that permanent sleep fields are not unavoidably lethal to one-man parties * worlds/haxima-1.002/effects.scm: Ported over fix for FR 2216959- prevent multiple protection spells on one character. * worlds/haxima-1.002/silas.scm: Ported over fix for Silas not giving the player a clue about the final rune 2008-11-08 kaypy * worlds/haxima-1.002/silas.scm: silas is more forthcoming about the final rune * worlds/haxima-1.002/powers.scm: undo cone tweak- had undesirable side effects * worlds/haxima-1.002/powers.scm: fixed poison wind and sleep wind spells. tweaked cone display * worlds/haxima-1.002/fields.scm: sleep fields have a slight avoidance chance, so a character stuck in a permanent sleep field will have a chance to get out eventually * src/kern.c: (kern-script-version) with no arguments returns current version 2008-11-08 Gordon McNutt * configure.ac: Bumped version to 0.6.1 in prep for next release * src/Makefile.am, src/nazghul.c, src/nazghul.h, src/screen.c: Merged over Eero's 16bpp patch 2008-11-07 kaypy * worlds/haxima-1.002/effects.scm: quickfix for FR 2216959- prevent multiple protection spells on one character. * worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/quests-data-static.scm: adding quest update notifications tweaked order of quest completion * worlds/haxima-1.002/quests-mech.scm: bug fixing in quest callbacks * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/start-new-game.scm: moved quest-ui flag to somewhere it doesnt break reloads * worlds/haxima-1.002/enchanter.scm: use quest complete with notification * worlds/haxima-1.002/quests-mech.scm: quest notifications used wrong loading type for refreshing questlist on save load * worlds/haxima-1.002/quests-data-static.scm: bugfix- unmatched quotes * worlds/haxima-1.002/ztats-quest-ui.scm: disable quest ui based on script side tag * worlds/haxima-1.002/start-new-game.scm: added script side quest interface disabling * worlds/haxima-1.002/quests-mech.scm: added procedure to reload quests-data to refresh quest info mechanisms to handle postponing experience granted for partial completion of unassigned quests * worlds/haxima-1.002/quests-data.scm: quest data should now be created/expanded as necessary for out of date save games, provided they load quests-data.scm in the first place 2008-10-29 kaypy * worlds/haxima-1.002/quests-data-static.scm: Passing a function a bunch of arguments and passing it a list containing those arguments are not the same thing. It is important to remember this. 2008-10-29 Gordon McNutt * src/cmd.c: Bugfix: if you hit ESC when selecting a guard for camping it would deref a null pointer when checking if the guard was dead 2008-10-26 kaypy * worlds/haxima-1.002/quests-data-static.scm, worlds/haxima-1.002/quests-mech.scm, worlds/haxima-1.002/start-new-game.scm: Separated out static quest data from quest utilities * worlds/haxima-1.002/ztats-quest-ui.scm: Second pass at fixing quest description listing- Scrolling now respects lower limit of description text * worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/ztats-quest-ui.scm: First pass at fixing quest description listing- No longer draws over bottom of display when overlong * src/event.c, src/kern.c, src/ztats.c: Tweaks to menu controls * worlds/haxima-1.002/quests-data.scm: Quests should now all use the kern-ui-paginate-text function to lay out text nicely * src/kern.c: Added a kern function that takes a list of lines of text and returns them in a paginated format. 2008-10-12 Gordon McNutt * configure.ac, src/kern.c: Disabling the quest UI by default, since it's still half-baked. Developers may enable it with a configure option: ./configure --with-quests Or by editing config.h: #define USE_QUESTS This does *not* effectively disable quests, however. Some conversation scripts are broken, apparently because they can't get quest data. * src/ctrl.c, configure.ac, src/cmd.c: Disabling the Y)use command (and hence skills) by default, in preparation for the next release, since skills are still half-baked. For developers, there is now a configure option to enable them: ./configure --with-skills Or, if you do not use configure, add this to config.h: #define USE_SKILLS 1 2008-10-06 kaypy * scripts/retab.html: A javascript app that handles lining up those tables like in arms.scm nicely * worlds/library/artwork/terrain/city.xcf: Larger set of buildings * worlds/library/artwork/terrain/towns.xcf: Some higher res collections of houses 2008-10-05 kaypy * worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/sprites.scm: Some towns use the new tower icons * worlds/haxima-1.002/bigobjects.png: a bunch of stuff hadnt worked quite right with the towers (mostly scaling had been set to nearest pixel, rather than antialiasing) * worlds/library/artwork/terrain/tower.xcf: saved at right resolution this time. * worlds/haxima-1.002/bigobjects.png: big tower sprites * worlds/library/artwork/terrain/tower.xcf: tower, intact or ruined, with optional town 2008-09-27 kaypy * INSTALL: Added a few of the more recent libraries to the requirements list Some additional instructions for cvs builds and a pointer to the win32 instructions 2008-09-26 kaypy * worlds/haxima-1.002/quests-mech.scm, worlds/haxima-1.002/quests-data.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/books.scm: inital quest to go meet the enchanter * worlds/haxima-1.002/kobj.scm: signal-kobj now safely ignores inputs to non-present ifcs * worlds/haxima-1.002/start-new-game.scm: start was a little off-center * worlds/haxima-1.002/tbl.scm: tbls were not roundtripping to savefiles correctly also tightened specifications of tbl-append * worlds/haxima-1.002/nossifer.scm, worlds/haxima-1.002/quests-mech.scm: additional 'whereami' text after talking to N * worlds/haxima-1.002/quest-sys.scm, worlds/haxima-1.002/quests-mech.scm: quests kept in order of in progress/complete/failed fixed some bugs resulting from unexpected behaviour of pair? function 2008-09-24 kaypy * worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/abe.scm: removed now redundant quest update calls * worlds/haxima-1.002/quests-mech.scm, worlds/haxima-1.002/quests-data.scm: updating prebuild quests can trigger status update hook * worlds/haxima-1.002/ztats-quest-ui.scm: quest list ui colored based on completion state * worlds/haxima-1.002/quest-sys.scm: quest completion includes failure option * worlds/haxima-1.002/tbl.scm: mechanism to preload a tbl when building it 2008-09-22 kaypy * worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/quests-mech.scm, worlds/haxima-1.002/quest-sys.scm, worlds/haxima-1.002/quests-data.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/gamestart-mech.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/books.scm, worlds/haxima-1.002/abe.scm: Uses optional tags rather title for quest lookups Reconciles active and pregenerated quests after reload 2008-09-21 Gordon McNutt * worlds/haxima-1.002/quests-mech.scm: Spelling fix 2008-09-15 kaypy * worlds/haxima-1.002/quest-sys.scm, worlds/haxima-1.002/quests-data.scm, worlds/haxima-1.002/quests-mech.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/abe.scm: More detail on the 'Where am I?' quest * worlds/haxima-1.002/ztats-quest-ui.scm: Cleaned out some superflouous debugging printlns * worlds/haxima-1.002/books.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/quests-data.scm, worlds/haxima-1.002/ztats-quest-ui.scm: A few more quests started Prev patches had broken zstats-quest-ui up/down controls * worlds/haxima-1.002/quests-mech.scm, worlds/haxima-1.002/quests.png, worlds/haxima-1.002/quests-data.scm, worlds/haxima-1.002/tbl.scm, worlds/haxima-1.002/ztats-quest-ui.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/quest-sys.scm, worlds/haxima-1.002/quest-talk-to.scm, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/gamestart-mech.scm: quests reenabled quests have icons quests can be removed from the log entirely quests can be retrieved by title (assuming uniqueness, otherwise will get the first one) a databank of not-yet-assigned quests is available, but not mandatory- Im thinking this is useful for quests that may have changes before the player recieves them added some initial cases 2008-09-13 kaypy * worlds/haxima-1.002/quest-sys.scm, worlds/haxima-1.002/ztats-quest-ui.scm: quests take a list of strings for description, to allow longer, wrapped descriptions. * src/sprite.h, src/sprite.c, src/kern.c: Added a mechanism to directly paint a sprite in a sdl_rect. Intended for use with scripted UI panels 2008-06-08 Gordon McNutt * src/conv.c, src/conv.h, src/menus.c, src/nazghul.c, src/sound.c, src/sound.h: Added a menu option for keyword highlighting * worlds/haxima-1.002/start-new-game.scm: Added version number to new game script * src/session.h, src/session.c, src/ascii.h, src/kern.c, src/play.c: Added support for script version number. If a session fails to load, check the version number and report it to the player. * configure.ac: Bumped the version number. Added min script version number. * src/screen.c: Moved the screen's temp buf off the stack * src/session.c: Fixed some crashes that occur on a load error. session_del() should not assume the player has been loaded, and session_load() was double-deallocating the scheme instance. * src/play.c: On load error, print 'error' in red * src/scheme.c: Reverting my last changes to this file; they caused a double-deallocation 2008-06-07 Gordon McNutt * src/foogod.c: bugfix: don't assume the cfg contains progress-bar-image-filename * src/menus.c: Bugfix: sometimes error popup was blank * src/nazghul.c: Using the primitive error dialog window for library init errors early in startup. * src/terrain.c, src/scheme.c, src/sprite.c, src/Being.h, src/character.cpp, src/kern.c, src/Being.cpp: Fixed some leaks; attempted to fix some other complaints from valgrind * worlds/haxima-1.002/ztats-quest-ui.scm: Fixing a bug in my last commit 2008-06-06 kaypy * win32/readme.txt: Updated based on latest attempt to compile the system from scratch 2008-06-06 Gordon McNutt * worlds/haxima-1.002/game.scm: Turning off the quest ui stuff for now * worlds/haxima-1.002/ztats-quest-ui.scm: Changed quest ui to expect the player party gob to be a table * worlds/haxima-1.002/quest-sys.scm, worlds/haxima-1.002/quest-talk-to.scm: Changed conv check hooks to expect the player party gob to be a table * src/conv.c, src/sprite.c: Checking in turned-off portrait test code. * src/status.c, src/applet.h: Added optional get_desired_height call for applets * src/kern.c, src/object.c, src/object.h: Added kern-set-portrait * src/scheme.c: Fixed a bug where a comment at the end of a loaded file could choke the interpreter 2008-05-31 Gordon McNutt * src/Makefile.am, src/bitset.h, src/conv.c, src/conv.h, src/kern.c: Kernel changes: o Keywords which have already been used in a conversation are highlighted gray. Unused keywords are highlighted magenta. The engine "remembers" used keywords until the next time the game is loaded. In other words, it does not save this info as part of the session save file. * worlds/haxima-1.002/gregor.scm: Removed colorizing markup now that keywords can be automatically highlighted * src/kern.c, src/object.c, src/object.h, src/character.cpp, src/cmd.c, src/conv.c, src/conv.h: Conversation keyword highlighting * src/log.c: Added some brackets to an if 2008-05-30 Gordon McNutt * worlds/haxima-1.002/demo.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/minimal-game.scm, worlds/haxima-1.002/minimal-start.scm, worlds/haxima-1.002/monsters.png, worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/tutorial.scm: Fixed main game to work with my recent changes 2008-05-27 Gordon McNutt * worlds/haxima-1.002/sounds.scm, src/scheme-private.h, src/session.c, src/session.h, worlds/haxima-1.002/camping-map.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/minimal-game.scm, worlds/haxima-1.002/minimal-start.scm, worlds/haxima-1.002/quest-talk-to.scm, src/closure.c, src/kern.c: Kernel changes: o Moved the scm macros from kern.c to scheme-private.h for everyone to enjoy o Removed some duplicate macros from closure.c o Changed kern-add-hook to expect a symbol for the handler o Added session_hook_id_to_str and session_str_to_hook_id o session now saves the registered hook handlers (except for new_game_start_hook, which needs to be a special case for now at least) Haxima changes: o Had to update all the kern-add-hook calls to match the kernel changes o Finally got my prototype quest offer to be persistent across sessions, remove itself when accepted, and in general work the way I want it to. 2008-05-26 Gordon McNutt * worlds/haxima-1.002/minimal-start.scm: Experimental end-of-conv hook that will run multiple handlers; prototyping quest offers to run as handlers and remove themselves when accepted * worlds/haxima-1.002/tbl.scm: Added tbl-rm! and tbl-for-each-val * src/kern.c: Added kern-define, for preserving scheme variables across sessions 2008-05-25 Gordon McNutt * src/kern.c: Fixed a crasher in the new unpack_rect fx * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/minimal-game.scm, worlds/haxima-1.002/minimal-start.scm, src/closure.c, src/closure.h, src/gob.c, src/kern.c, src/session.c, src/session.h, src/session_hooks.h, src/session_queries.h, worlds/haxima-1.002/demo.scm, src/Makefile.am, src/character.cpp: Kernel changes: o Split session hooks and queries up into separate tables. o Hooks can have multiple handlers. Running the hooks does not return a value. o Queries only have one handler and return an int. Haxima changes: o Fixed the query registration as per the kernel changes. o Random experimental stuff in minimal-*.scm * worlds/haxima-1.002/enchanter.scm: Spelling fix 2008-05-23 Gordon McNutt * worlds/haxima-1.002/minimal-game.scm, worlds/haxima-1.002/minimal-start.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/quest-sys.scm, worlds/haxima-1.002/quest-talk-to.scm, worlds/haxima-1.002/tbl.scm, worlds/haxima-1.002/ztats-quest-ui.scm, src/conv.c, src/session_hooks.h: Kernel changes: o Added conv_end_hook Haxima changes: o Re-implemented player gob in minimal game as a table. o Changed quest stuff accordingly 2008-05-21 Gordon McNutt * worlds/haxima-1.002/quest-talk-to.scm, worlds/haxima-1.002/minimal-start.scm, worlds/haxima-1.002/quest-sys.scm, worlds/haxima-1.002/minimal-game.scm: Haxima changes: o Added a simplified talk-to quest which just awards xp when complete. * worlds/haxima-1.002/minimal-game.scm, worlds/haxima-1.002/minimal-start.scm, worlds/haxima-1.002/quest-sys.scm, worlds/haxima-1.002/quest-talk-to.scm: Haxima changes: o Had to change the quest ctor to require symbols instead of raw procedures. This was necessary to support saving quests as part of the object's gob (closures can't be saved). o Added a proc for the conv_start_hook o Talk-to quests can now be completed. 2008-05-20 Gordon McNutt * worlds/haxima-1.002/ztats-quest-ui.scm, worlds/haxima-1.002/minimal-start.scm, worlds/haxima-1.002/sounds.scm, worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/tutorial.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/minimal-game.scm, worlds/haxima-1.002/camping-map.scm, worlds/haxima-1.002/demo.scm, src/session.h, src/session_hooks.h, src/menus.c, src/play.c, src/session.c, src/conv.c, src/kern.c, src/character.cpp, src/closure.c, src/closure.h, src/combat.c, src/Makefile.am: Kernel changes: o Consolidated all of our ad-hoc session hook procedures (camping, start game, change music, query combat attributes, etc) into one table. This means they can re-use the same code to load, run and clean them up, instead of having to cut-and-paste them. There's also a new session_hooks.h file where all of the hooks need only be declared once. After adding your hook there, you just need to write the code to call it from someplace in the kernel source (a one-line change). o Added a conv_start_hook (for talk-to quests). Haxima changes: o Replaced all the new-obsolete kern calls with kern-add-hook. Note: the changed kern calls are not ones needed by saved games, only by the new game startup scripts, so this should not break save-game compatibility. 2008-05-19 Gordon McNutt * worlds/haxima-1.002/minimal-game.scm, worlds/haxima-1.002/minimal-start.scm: Adding a very simple but fast-loading game for development and test 2008-05-18 Gordon McNutt * src/kern.c, worlds/haxima-1.002/ztats-quest-ui.scm: Exported ASCII_H to the script as kern-ascii-h * src/quest.h, src/Makefile.am, src/quest.c: Removed old prototype quest stuff * worlds/haxima-1.002/ztats-quest-ui.scm, src/applet.h, src/kern.c, src/ztats.c: Kernel changes: o Changed kern-event-push/pop-keyhandler to kern-event-run-keyhandler o Removed the unused "stop" operation from the applet struct o Added kern-screen-erase and kern-screen-update Haxima changes: o Added quest viewer applet for individual quest details * src/ztats.h, worlds/haxima-1.002/ztats-quest-ui.scm, src/status.h, src/ztats.c, src/macros.h, src/status.c, src/cmd.c, src/kern.c, src/applet.h, src/Makefile.am: Kernel changes: o Added an applet struct o Added statusRunApplet and statusGetCurrentApplet o Added a "select" operation to the ztats panes o Converted the ztats UI to run as an applet Haxima changes: o Modified quest log ui to implement a nop "select" proc 2008-05-17 Gordon McNutt * src/cmd.c, src/event.c, src/event.h, src/kern.c, src/status.c, src/ztats.c, src/ztats_pane.h: Kernel changes: o eventPopKeyHandler now returns the keyhandler that was popped o added kern-event-push-keyhandler o added kern-event-pop-keyhandler o added a 'select' operation to the ztats_pane o added eventRunKeyHandler to manage all the boilerplate of pushing/running/popping key handlers * src/event.h, src/kern.c, src/event.c: Fix for bug [ 1734069 ] pathfinder confused by diagonal gaps. The pathfinder was written so that if the character could get one tile away from the destination then this was good enough. This is ok for for combat pathfinding and following the leader; but for commuting it's not ok when the last step is impassable, because the character needs to actually get there or it will keep trying to commute over and over. I added a new pathfinding flag to indicate that "adjacent is NOT ok", and set this flag for commuting. 2008-05-16 Gordon McNutt * worlds/haxima-1.002/ztats-quest-ui.scm: Got the quest log listing pane to scroll properly * worlds/haxima-1.002/game.scm: Added scroll directions * worlds/haxima-1.002/naz.scm: Added some rect and incr/decr utilities * src/status.h: Ensure enum (which must be in synch with script) starts at zero 2008-05-15 Gordon McNutt * worlds/haxima-1.002/ztats-quest-ui.scm, src/kern.c: kernel passes ztats ui dimension rect as a list back to scheme; added kern-screen-shade * worlds/haxima-1.002/quest-sys.scm, worlds/haxima-1.002/quest-talk-to.scm, worlds/haxima-1.002/ztats-quest-ui.scm, src/kern.c: Kernel changes: o kern-screen-print expects the rect arg to be a list now Script changes: o ztats-quest-ui.scm was ...updated to match kern-screen-print ...modified to print all the quests attached to the party o quest-sys.scm prints a console msg when a quest is assigned * worlds/haxima-1.002/naz.scm: Added two new utilities: repeat and string-lower * worlds/haxima-1.002/game.scm: Load the quest files * src/kern.c: kern-obj-get-place returns NIL if the object has a NULL place * worlds/haxima-1.002/ztats-quest-ui.scm: Display a little bit about current quests * worlds/haxima-1.002/quest-talk-to.scm: Added basic talk-to quest type * worlds/haxima-1.002/quest-sys.scm: Added basic quest type * worlds/haxima-1.002/sounds.scm: Changed music-on-combat-change to check for a null location (fixes a crashed when we start the game on the world map) * worlds/haxima-1.002/naz.scm: Added some more utilities, and changed player-member-loc to check for a null location * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/ztats-quest-ui.scm: Added ztats-quest-ui.scm, which implements a stub for a quest log ztats pane. * src/kern.c: Added kern-ztats-add-pane, kern-ztats-set-title and kern-screen-print. * src/gob.c: Just a todo comment 2008-05-14 Gordon McNutt * src/ztats_spells.h, src/ztats_reagents.c, src/ztats_reagents.h, src/ztats_spells.c, src/ztats_pm.h, src/ztats_pm.c, src/ztats_misc.h, src/ztats_pane.c, src/ztats_pane.h, src/ztats_items.c, src/ztats_items.h, src/ztats_misc.c, src/ztats_container_pane.h, src/ztats_container_pane.c, src/ztats_arms.c, src/ztats_arms.h, src/ztats.h, src/ztats.c, src/quest.h, src/status.c, src/status.h, src/player.h, src/quest.c, src/kern.c, src/player.cpp, src/Makefile.am, src/Party.cpp, src/Party.h: Rewrote ztats UI. * src/sound.h: Fixed a c++ name-mangling compile error that cropped up out of the blue * src/sound.c: Fixed what looks like an = vs == bug * src/combat.c: Removed some dead code 2008-05-10 Gordon McNutt * configure.ac, worlds/haxima-1.002/Makefile.am, worlds/haxima-1.002/music/Makefile.am: Andreas Bauer's fix for the music installation 2008-04-06 kaypy * worlds/haxima-1.002/mouse.scm: fix for 1934040- kat/thud will no longer talk after betraying you. 2008-03-17 kaypy * worlds/haxima-1.002/voidgap-passage.scm: fix for 1916322- the voidgap dungeon setup wrote some garbage over the endless deepness setup 2008-03-02 kaypy * src/menus.c, src/nazghul.c, src/play.c, src/sound.c, src/sound.h: music-volume setting (unfortunately doesnt work on midi!) better handling of music loading errors * src/menus.c: Added music credits to title page 2008-03-01 kaypy * worlds/haxima-1.002/void-temple.scm, worlds/haxima-1.002/voidgap-passage.scm, worlds/haxima-1.002/westpass.scm, worlds/haxima-1.002/abandoned-cellar.scm, worlds/haxima-1.002/abandoned-farm.scm, worlds/haxima-1.002/absalot.scm, worlds/haxima-1.002/altar-room.scm, worlds/haxima-1.002/ancient-derelict.scm, worlds/haxima-1.002/angriss-lair.scm, worlds/haxima-1.002/ankh-shrine.scm, worlds/haxima-1.002/bandit-hideout.scm, worlds/haxima-1.002/bole.scm, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/combat-maps.scm, worlds/haxima-1.002/crypt.scm, worlds/haxima-1.002/dank-cave.scm, worlds/haxima-1.002/eastpass.scm, worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/endless-deeps.scm, worlds/haxima-1.002/engineers-hut.scm, worlds/haxima-1.002/fire_sea.scm, worlds/haxima-1.002/forsaken-prison.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/green-tower-lower.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/gregors-hut.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/kraken-lakes.scm, worlds/haxima-1.002/kun.scm, worlds/haxima-1.002/lich-tomb.scm, worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/mans-hideout.scm, worlds/haxima-1.002/merciful-death.scm, worlds/haxima-1.002/moongate-clearing.scm, worlds/haxima-1.002/mushroom-cave.scm, worlds/haxima-1.002/necromancers-lair.scm, worlds/haxima-1.002/old-absalot.scm, worlds/haxima-1.002/old-mine.scm, worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/poor-house.scm, worlds/haxima-1.002/prison.scm, worlds/haxima-1.002/road_to_absalot.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/slimy-cavern.scm, worlds/haxima-1.002/thiefs_den.scm, worlds/haxima-1.002/traps_1.scm, worlds/haxima-1.002/traps_2.scm, worlds/haxima-1.002/traps_3.scm, worlds/haxima-1.002/traps_4.scm, worlds/haxima-1.002/treasury.scm, worlds/haxima-1.002/trigrave.scm: Add music data to all the places * worlds/haxima-1.002/game.scm: Init music hooks * worlds/haxima-1.002/pseudorandom-map.scm: Music compatible random maps content freezing * worlds/haxima-1.002/statue-of-justice.scm: Typo in text * worlds/haxima-1.002/gamestart-statues.scm: Fixed spelling Statues respond to abbreviated stat names * worlds/haxima-1.002/naz.scm: Method to retrieve location of player party members (which occasionally differs from the location of the player party) * worlds/haxima-1.002/sounds.scm: Utility methods for tracking music in and out of combat (+ transitions) for different places * worlds/haxima-1.002/music/wind-trio.mid, worlds/haxima-1.002/music/Lute-and-recorder-ballad.mid, worlds/haxima-1.002/music/Minuet-like-Mozart.mid, worlds/haxima-1.002/music/ballad.mid, worlds/haxima-1.002/music/bassoons-and-harpsichord.mid, worlds/haxima-1.002/music/credits.txt, worlds/haxima-1.002/music/double-trios.mid, worlds/haxima-1.002/music/dragon-quest.mid, worlds/haxima-1.002/music/dragon-slayer.mid, worlds/haxima-1.002/music/fair-camelot.mid, worlds/haxima-1.002/music/game-music2.mid, worlds/haxima-1.002/music/harpsichord-piece.mid, worlds/haxima-1.002/music/into-battle.mid, worlds/haxima-1.002/music/medieval-quest.mid, worlds/haxima-1.002/music/minstrel-dance.mid, worlds/haxima-1.002/music/music.scm, worlds/haxima-1.002/music/plainchant-recorder-trio.mid: Added Jim Paterson's midi music (the zip on the ftp site says we have permission) * src/kern.c, src/session.c, src/session.h: Hooks for game start and for changes in combat state * src/combat.c: Entering combat map sets combat state _after_ participants are positioned (helps with combat state change hook) 2008-02-23 kaypy * src/character.cpp, src/combat.c, src/place.c: Combat.state is more proactive abour tracking changes * src/sound.c: accepts a full path, so you can point it at your local mp3s if you want 2008-02-21 kaypy * worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/sounds.scm, src/sound.c, src/sound.h, src/kern.c, src/play.c, src/session.c, src/session.h: First pass at shuffle play music * src/sound.c: Music seems to work, for sufficiently hacky values of 'work' 2008-02-04 kaypy * worlds/haxima-1.002/gamestart-mech.scm, worlds/haxima-1.002/gamestart-statues.scm, worlds/haxima-1.002/gamestart.scm: working statue char creation * worlds/haxima-1.002/start-new-game.scm: initial stats tweaked 2008-02-03 kaypy * worlds/haxima-1.002/bigobjects.png, worlds/haxima-1.002/gamestart-mech.scm, worlds/haxima-1.002/gamestart-statues.scm, worlds/haxima-1.002/gamestart.scm, worlds/haxima-1.002/sprites.scm: First pass at statue/conversation based character generation Not yet functional * worlds/haxima-1.002/fields.scm, worlds/haxima-1.002/sfx.png: Added acid fields (I just needed something yellow, really) 2008-01-13 Gordon McNutt * src/session.c: Fixed a 3k leak that happened on quit 2008-01-12 Gordon McNutt * src/play.c: Bugfix: reloading a game with a start-proc would not run the start-proc, which might result in a crash 2007-12-30 kaypy * src/sound.c: more paranoid memory handling removed music for the moment 2007-12-10 Gordon McNutt * src/cmd.c, src/status.c, src/status.h: y)use ui now scrolls like everything else 2007-12-09 sglasby * worlds/haxima-1.002/kern-init.scm: Added a new config value for the progress bar image file. * src/foogod.c: Changed foogod_load_progress_bar_sprites() to load a distinct file, rather than load the image from an inline XPM. (A rather strange problem, perhaps associated with an oddly-build RPM of SDL_image came up for OpenSUSE, so it seems better to use a PNG.) * worlds/haxima-1.002/progress_bar_image.png: The progress bar sprite pieces, as a PNG file. (There was a problem under at least one compilation environment, with loading this image as an inline XPM.) * worlds/haxima-1.002/tetzl.scm, worlds/haxima-1.002/the-man.scm, worlds/haxima-1.002/thorald.scm, worlds/haxima-1.002/thud.scm, worlds/haxima-1.002/tim.scm, worlds/haxima-1.002/tooth.scm, worlds/haxima-1.002/valus.scm, worlds/haxima-1.002/warritrix.scm, worlds/haxima-1.002/zane.scm: Added various comments. * worlds/haxima-1.002/silas.scm, worlds/haxima-1.002/slywan.scm, worlds/haxima-1.002/steward.scm: Added some comments. 2007-12-08 Gordon McNutt * worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/statue-of-justice.scm, worlds/haxima-1.002/steward.scm, worlds/haxima-1.002/valus.scm: Added asides for Ini * src/kern.c: Oops. status.c doesn't like NULL containers. * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/skills.scm: Pickpocket can fail (with consequences) * worlds/haxima-1.002/skills.scm, worlds/haxima-1.002/statue-of-justice.scm, src/cmd.c, src/kern.c, src/status.c, src/status.h: kern-ui-select-item now takes a kchar arg and browses *their* inventory, instead of being hardcoded to the player. The pickpocket skill exploits this. * src/terrain.c: Performance tweak for looking up terrains in palettes * configure.ac: Sam's changes to configure.ac for SDL_Mixer 2007-12-07 Gordon McNutt * worlds/haxima-1.002/skills.scm: Oops. Didn't see the multiplier on my last. Also added basic pickpocket skill. * worlds/haxima-1.002/skills.scm: Skills use the base-skill-ap variable * worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/tools.png: Shiny new chest sprites * worlds/library/artwork/furniture/chest.xcf: Art for new chest sprites * worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/keys.scm, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/steward.scm, worlds/haxima-1.002/tools.png, worlds/haxima-1.002/tools.scm: Locked and magically locked chests with some ugly sprites for same. 2007-12-06 Gordon McNutt * worlds/haxima-1.002/statue-of-justice.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/effects.png, worlds/haxima-1.002/effects.scm: Finished the 'curse of unrest' effect. The SOJ in glasdrin uses it. * src/kern.c: NPC party ambush direction was not random * src/combat.c: Introducing a party into combat that did not come from the world map (or someplace) caused a crash * src/Being.cpp: Turned off some debug 2007-12-05 sglasby * worlds/haxima-1.002/selene.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/roland.scm, worlds/haxima-1.002/patch.scm: Added some comments. * worlds/haxima-1.002/oscar.scm: Corrected some comments. * worlds/haxima-1.002/oscar.scm, worlds/haxima-1.002/patch.scm, worlds/haxima-1.002/melvin.scm, worlds/haxima-1.002/meaney.scm, worlds/haxima-1.002/may.scm: Various comments regarding description and location, etc. 2007-12-05 Gordon McNutt * src/ascii.c, src/images.c, src/images.h, src/screen.c, src/screen.h, src/sprite.c: Eero's 16-bit patch * src/status.c: Tab cleanup and removed a dead function * src/Makefile.am, src/map.c, src/menus.c, src/play.c, src/cmd.c, src/ctrl.c, src/nazghul.c, src/nazghul.h: Eero's cleanup patch * src/nazghul.h: file nazghul.h was added on branch release_0_6_0_rc2_maint on 2008-11-08 04:30:15 +0000 * src/combat.c: Turned off some debug * src/screen_dims.h: Eero's patch for n800 screen size (kern-init.scm already patched) 2007-12-04 Gordon McNutt * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/statue-of-justice.scm: A start on the statue curses * src/foogod.c: Show extra effects on the party (currently unused, see Party::addEffect for why) * src/kern.c: kern-char-set-sched 2007-12-03 kaypy * worlds/haxima-1.002/scrolls.scm: feature 1843033 scrolls explicitly labelled * worlds/haxima-1.002/scrolls.scm: fix for 1843001 scrolls fail in wilderness combat 2007-12-03 Gordon McNutt * worlds/haxima-1.002/statue-of-justice.scm, worlds/haxima-1.002/valus.scm, worlds/haxima-1.002/books.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/prison.scm: Replacement for the Stewardess * worlds/haxima-1.002/shroom.scm: Minor conv fix 2007-12-01 Gordon McNutt * worlds/haxima-1.002/zones.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/janice.scm, worlds/haxima-1.002/jeffreys.scm: Replacement for Jeffries. * worlds/haxima-1.002/conv.scm: Tweaked generic glasdrin reply to JEFF * worlds/haxima-1.002/jeffreys.scm: Jeffries becomes a vagabond in Kun after the trial * worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/steward.scm: Oops. Broke some things on my last commit. Also, updated generic glasdrin conv. * worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/player.scm, worlds/haxima-1.002/statue-of-justice.scm, worlds/haxima-1.002/steward.scm, worlds/haxima-1.002/warritrix.scm: Added another player flag for the trial of glasdrin being over. 2007-11-29 Gordon McNutt * worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/skills.scm, worlds/haxima-1.002/species.scm: Implemented butchering as an example crafting skill. You'll need a deer. Currently these aren't autogenerated anywhere. * src/ctrl.c: Turned on y)use * worlds/haxima-1.002/occs.scm: Added preliminary crafting ability to occs * worlds/haxima-1.002/occs.scm: Fixed what looks like a bug in dexterity defense * worlds/haxima-1.002/kern-init.scm: Added 880x640 splash from Eero's 16bit patch * worlds/haxima-1.002/steward.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/player.scm: Jeffreys and Stewardess act guilty after player finds Warritrix * worlds/haxima-1.002/zones.scm: Bug in holy grail table settings 2007-11-28 Gordon McNutt * worlds/haxima-1.002/start-new-game.scm: Removed redefinitions of stuff in player.scm * worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/warritrix.scm: Added a gob for the player party. * src/player.cpp: Player party object now saves its gob 2007-11-27 Gordon McNutt * src/foogod.c: Improved progress bar sprite * worlds/haxima-1.002/newterrain.png: Put the SOJ on a pedastal * src/object.c, src/status.c: Fixing a bug I found by accidentally reloading a new game. Normally this is not possible, I had a weird case. It still doesn't work do to that, there are more bugs. * worlds/haxima-1.002/newterrain.png: Should have checked in the new image with the new statue sprite * worlds/haxima-1.002/statue-of-justice.scm: Fixed a typo in the xamine * worlds/haxima-1.002/game.scm: Fixed the dtable problem I created last time I committed this file * worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/statue-of-justice.scm: Changed SOJ's sprite * worlds/library/artwork/terrain/headless_statue_with_sword.xcf: New statue sprite * worlds/haxima-1.002/game.scm: This should have gone in with my last batch of glasdrin changes 2007-11-26 kaypy * worlds/haxima-1.002/luximene.scm: correction to schedule comment * worlds/haxima-1.002/naz.scm: pick-loc checks for valid target locations * worlds/haxima-1.002/books.scm: some typos in journal * worlds/haxima-1.002/necromancer.scm: fix for 1838195- necromancer now checks you have the skull 2007-11-26 Gordon McNutt * worlds/haxima-1.002/the-man.scm, worlds/haxima-1.002/warritrix.scm: Fixed up some conversation bits * worlds/haxima-1.002/the-man.scm, worlds/haxima-1.002/warritrix.scm: Trading names between the MAN and the Warritrix. * worlds/haxima-1.002/angela.scm, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/jess.scm, worlds/haxima-1.002/patch.scm, worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/statue-of-justice.scm, worlds/haxima-1.002/steward.scm: The SOJ now exiles the player if he accuses without evidence 2007-11-25 Gordon McNutt * worlds/haxima-1.002/angela.scm, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/patch.scm, worlds/haxima-1.002/statue-of-justice.scm: Stewardess now punished when convicted. The townsfolk of glasdrin are now all armed. * worlds/haxima-1.002/angela.scm, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/jess.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/patch.scm, worlds/haxima-1.002/statue-of-justice.scm, worlds/haxima-1.002/steward.scm: The status of justice in glasdrin will now hold a trial * src/cmd.c, src/cmd.h, src/kern.c: Added kern-ui-select-item * src/Being.cpp: If an NPC is using a cached path, and the next step is occupied, it discards the cached path so it will recompute next time * src/status.c: Renamed a function 2007-11-24 Gordon McNutt * worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/statue-of-justice.scm, worlds/haxima-1.002/terrains.scm: Added statue of justice (doesn't do much yet) 2007-11-23 Gordon McNutt * worlds/haxima-1.002/books.scm, worlds/haxima-1.002/glasdrin.scm: Added Stewardess's Journal 2007-11-21 Gordon McNutt * src/foogod.c: Made the progress bar purty. * src/foogod.c, src/session.c: The progress bar code generated in the save files is now a pretty good match to actual load times. Not perfect, but probably good enough. * worlds/haxima-1.002/tutorial.scm: Added progress bar to tutorial 2007-11-20 Gordon McNutt * worlds/haxima-1.002/start-new-game.scm: Progress bar now pretty good for start-new-game * worlds/haxima-1.002/game.scm: Pulled progress bar stuff out of generic file * src/menus.c, src/play.c, src/session.c, src/session.h, src/kern.c, src/foogod.c: Game-saving code generates (imperfect) progress bar info; delay switching foogod window back to normal so the complete progress bar is visible for a little bit of time * worlds/haxima-1.002/books.scm: Fixed mismatched parenthesis 2007-11-20 kaypy * worlds/haxima-1.002/arms.scm: projectile weapons use missile sound * worlds/haxima-1.002/ifc.scm, src/object.h, src/object.c, src/ctrl.c: callback on weapon just before attack 2007-11-20 sglasby * worlds/haxima-1.002/kathryn.scm, worlds/haxima-1.002/lia.scm, worlds/haxima-1.002/luximene.scm: Checking references to places and such. Added notes on who and where the various characters are. * worlds/haxima-1.002/kalcifax.scm: Added some notes on who and where Kalcifax is. * worlds/haxima-1.002/kama.scm, worlds/haxima-1.002/gen.scm: Added some notes to Kama on who and where he is. Added some detail to a cultural interest shared by Gen and Kama. * worlds/haxima-1.002/books.scm: Added a book related to an interest of Gen's. 2007-11-20 Gordon McNutt * worlds/haxima-1.002/demo.scm: progress bar for demo * worlds/haxima-1.002/game.scm: Use progress bar (weakly; works ok for demo but not calibrated right for new or loaded games * src/status.c, src/nazghul.c, src/foogod.c, src/foogod.h, src/kern.c: Progress bar 2007-11-19 sglasby * worlds/haxima-1.002/jones.scm, worlds/haxima-1.002/jorn.scm, worlds/haxima-1.002/jess.scm, worlds/haxima-1.002/joel.scm, worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/jake.scm, worlds/haxima-1.002/jeffreys.scm: Checking place references and such. Added notes regarding the who and where NPCs are / are at. * worlds/haxima-1.002/ghertie.scm, worlds/haxima-1.002/gholet.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/hackle.scm, worlds/haxima-1.002/henry.scm: Checking for consistency in place references and such. Added some comments regarding the what and where that NPCs are / are at. * worlds/haxima-1.002/gen.scm: Added some missing responses for Goblin root words. Added a few composite words related to character types, and to make the ability to get Gen to join less subtle. Grouped/organized some keywords to keep the Goblin language responses together. Added notes regarding the type and location of Gen. 2007-11-18 sglasby * worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/fing.scm: Checking location references and such. Removed some duplicate definitions of a constant for Trigrave inn prices. Added comments for NPCs type and location. * worlds/haxima-1.002/bart.scm, worlds/haxima-1.002/bill.scm, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/dennis.scm, worlds/haxima-1.002/deric.scm, worlds/haxima-1.002/doris.scm, worlds/haxima-1.002/douglas.scm, worlds/haxima-1.002/edward.scm: Checking references to places and such. Adding suitable comments as to what (species, gender, profession) an NPC is, and where (what zone) they are at. Removed some duplicate instances of a trigrave inn price constant. * worlds/haxima-1.002/abe.scm, worlds/haxima-1.002/abigail.scm, worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/alex.scm, worlds/haxima-1.002/amy.scm, worlds/haxima-1.002/anaxes.scm, worlds/haxima-1.002/angela.scm, worlds/haxima-1.002/angriss.scm, worlds/haxima-1.002/anne.scm: Double-checking place references and such, added comments where needed in regards to what (species, gender, profession) is and where (what zone) the NPC may be found. 2007-11-18 kaypy * worlds/haxima-1.002/ability.scm: npcs use same cone attack as PCs * worlds/haxima-1.002/powers.scm: cleaned up, debugged and enhanced cone attacks * worlds/haxima-1.002/fireblast.wav, worlds/haxima-1.002/sounds.scm: fireblast sound for cone spells 2007-11-18 Gordon McNutt * worlds/haxima-1.002/demon-gate.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/talking-ankh.scm, worlds/haxima-1.002/ankh-shrine.scm: Changed the end-game map to match the demo map 2007-11-18 kaypy * worlds/haxima-1.002/demo.scm: one word: oops * worlds/haxima-1.002/demo.scm: passive-ai no longer includes std-ai: the beggar was moving off when hit by stray fields * worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/ability.scm: collateral check for lightning bolt * worlds/haxima-1.002/powers.scm: various bugs in collateral damage routine fixed * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/powers.scm: collateral check added to fireball 2007-11-18 Gordon McNutt * worlds/haxima-1.002/demo.scm: Final (famous last words) changes to the demo maps. Just undid Kris's blending, probably. * worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/terrains.scm: Added a non-los blocking version of t_trees 2007-11-18 kaypy * worlds/haxima-1.002/demo.scm: blended aging terrains * worlds/haxima-1.002/demo.scm: ai tweaks deer in 'ages passed' sound effect for closing gate display refreshes & pauses when npcs are added * worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/sprite-sets.scm: deer sprite 2007-11-17 Gordon McNutt * worlds/haxima-1.002/demo.scm: More aging of the demo scene. * worlds/haxima-1.002/demo.scm: Started the accelerated aging process on the demo scene * worlds/haxima-1.002/demo.scm: Demo: sprites animate during pauses; player gets a chance to see that the altars are glowing, not the runes * worlds/haxima-1.002/ability.scm: NPC wizards may now cast flame wind and lightning. Watch out. * worlds/haxima-1.002/powers.scm: Renamed a parameter to make it clear that it is a LOCATION and not a kernel object * src/kern.c: Fixed a debug statement * worlds/haxima-1.002/demo.scm: Added some special effects to the part where the wise close the gate 2007-11-17 kaypy * worlds/haxima-1.002/creatures.png, worlds/library/artwork/creatures/deer.xcf: first pass at a deer 2007-11-17 Gordon McNutt * worlds/haxima-1.002/demo.scm: Changes to demo scene: o The sprites of the wise are non-random o Added random traveler sprites, depending on profession o Sparsed the travelers even more o Repaint the screen for each loot item the beggar picks up 2007-11-17 kaypy * src/character.cpp, src/character.h: character uses object sprites, rather than having a second local sprite * worlds/haxima-1.002/demo.scm: more line end problems beggar is more indestructable beggar cleans up loot and exits * worlds/haxima-1.002/demo.scm: reinforcements wander around for a bit instead of immediately exitting * worlds/haxima-1.002/demo.scm: guards exit after the wise leave * worlds/haxima-1.002/demo.scm: tweaked traveler ratios wise have variety of appearances human reinforcements appear in more timely fashion runes are collected asynchronously map tweaked * worlds/haxima-1.002/demo.scm: fixeed line endings 2007-11-17 Gordon McNutt * worlds/haxima-1.002/demo.scm: Kris's improvements to the demo scene: another demon wave and reinforcements to repel them. * src/menus.c, worlds/haxima-1.002/demo.scm: When the demo is done the main menu goes back to the splash screen. At that point the player can opt to show the demo again. 2007-11-17 kaypy * worlds/haxima-1.002/powers.scm: clone spell more effective sleep spell tweaked 2007-11-17 Gordon McNutt * worlds/haxima-1.002/demon-gate.scm, src/kern.c: Made kern-end-game more general by moving messages to the script * src/menus.c: Demo only starts automatically the first time the main menu comes up after starting the program. After that the option to play it appears in the menu. 2007-11-16 kaypy * worlds/haxima-1.002/lightning.wav, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/sounds.scm: added lightning sound fixed some bugs in field wall behaviour * worlds/haxima-1.002/demo.scm: uses altar-on-grass sprites centers view nicely in reduced size mode 2007-11-16 Gordon McNutt * scripts/blendmap.pl: Blender can handle 3-wide glyphs now * worlds/haxima-1.002/demo.scm: Blended the demo map. * src/kern.c, src/map.c, src/map.h: Adding kern-map-blit-image, which isn't currently used anywhere, or planned to be used, but I already wrote and tested the code so might as well commit it. * worlds/haxima-1.002/demo.scm: More tweaks to the demo scene * worlds/haxima-1.002/effects.scm: No more 'poison field immune to poison' messages 2007-11-16 kaypy * src/ctrl.c, src/Being.cpp: fix for 1822685- adds AP cost to handling mechs by bumping into them 2007-11-16 Gordon McNutt * worlds/haxima-1.002/demo.scm, worlds/haxima-1.002/gold_frame.png, worlds/haxima-1.002/haximatext.png: Added a frame around the demo scene 2007-11-15 Gordon McNutt * worlds/haxima-1.002/demo.scm, worlds/haxima-1.002/haximatext.png: Added the logo above the demo. Started tweaking the demo map. 2007-11-15 kaypy * src/place.c: virtual cost of nasty tiles scaled to AP_per_turn * src/Being.cpp: npcs reevaluate their options before crossing nasty tiles * worlds/haxima-1.002/sfx.png, worlds/haxima-1.002/sprites.scm: transparent field sprites * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm: remaining field spells use wall effect * worlds/haxima-1.002/moon.scm: dimming the moons a trifle- night is awfully well lit * src/kern.c: mmode set if kern-mk-field-type removed some debugging 2007-11-14 kaypy * worlds/haxima-1.002/powers.scm: field walls are 'solid', with extra diagonal blocking cells that cost 1/2 * worlds/library/artwork/logos/haximatext.svg: vector form of the haxima text * worlds/library/artwork/logos/haximasplashbig.xcf, worlds/library/artwork/logos/haximasplashsmall.xcf: layered versions of the splash screens 2007-11-14 Gordon McNutt * worlds/haxima-1.002/demo.scm: Demo scene script now runs to completion. 2007-11-13 Gordon McNutt * worlds/haxima-1.002/demo.scm: In the intro scene the wise now appear and walk to the altars 2007-11-13 kaypy * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm: in flam grav now uses first pass at wall style field spells * worlds/haxima-1.002/powers.scm: most missile spells have sound applied * worlds/haxima-1.002/boom.wav, worlds/haxima-1.002/combat-maps.scm, worlds/haxima-1.002/moongate-clearing.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/sounds.scm, worlds/haxima-1.002/swish.wav: some more sound added: swishes and bangs fo magical projectiles a first pass at some changing music tracks (but I still dont have uploadable music tracks to change...) 2007-11-13 Gordon McNutt * worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/demo.scm: Pulled game.scm inline into demo.scm and trimmed it to speed up demo loading. * worlds/haxima-1.002/terrains.scm: removed obsolete terrain-blender calls * src/kern.c: Added kern-log-flush 2007-11-12 kaypy * win32/Makefile, win32/config.h, win32/configure, win32/haxima.ico, win32/readme.txt, win32/res.rc, win32/src_config.h: First pass at including 'everything you need to make win32 builds go' 2007-11-11 kaypy * src/sound.c: cleaning up old code * src/combat.c, src/combat.h, src/player.cpp, src/session.c: fix for 1829927- reset combat state between games * worlds/haxima-1.002/sprites.scm: alters have cobblestone background * worlds/haxima-1.002/terrains.scm: altars have boulder passability * nazghul.nsi: 0.6.0 installer * worlds/haxima-1.002/sounds.scm, worlds/haxima-1.002/tools.scm, worlds/haxima-1.002/gong.wav: clocks chime on the hour * src/kern.c, src/clock.c, src/clock.h: kern call to get clock ticks 2007-11-10 Gordon McNutt * src/menus.c: Got rid of initial splash/demo flicker * worlds/haxima-1.002/kern-init.scm: Turning on the demo scene. To turn off just comment out the relevant line in kern-init.scm. * worlds/haxima-1.002/demo.scm: Updated the demo scene a bit * src/menus.c, src/place.c: Kernel support for running a demo in the map viewer while processing the main menu * src/session.h: Added a demo-mode flag to the session struct * src/map.c: Removed another old debug statement * src/kern.c: Added kern-char-set-control-mode so that a player character may be forced into using an AI * src/common.c, src/character.cpp: Removing some old debug 2007-11-10 kaypy * src/sound.c: Slight fade out when switching tracks * worlds/haxima-1.002/sounds.scm: Will play background music if insertmusic.mid is added (or the file is tweaked to point elsewhere) * src/sound.h, src/kern.c, src/sound.c: First pass at music playing * src/place.c: Removed some debugging cruft * src/sound.c, src/sound.h: Does most of the sound effects stuff again, but is rather buggy 2007-11-09 kaypy * src/sound.c: Converting sound to SDL_Mixer 2007-11-09 Gordon McNutt * worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/demo.scm: Started on a demo scene for the main menu * worlds/haxima-1.002/silas.scm: Minor typographical change 2007-11-08 kaypy * worlds/haxima-1.002/sounds.scm, worlds/haxima-1.002/tools.scm, worlds/haxima-1.002/enchanters-tower-mech.scm, worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/wind_1a.wav: some tweaks to the sound winds whistling through the brundegardt peaks * worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/dog_9.wav: tweaked ai to add sound effects as a 'free action'- wolves will bark at random intervals * src/kern.c: kern api call for plaing a oneoff sound 'at a location' * src/sound.c: minor tweak- maximum volume for oneoff sound completely separated from repeating volumes. * src/sound.c: ambient sounds fade out nicely as the player moves away (it was a touch jerky previously) * worlds/haxima-1.002/gregors-hut.scm, worlds/haxima-1.002/river.wav, worlds/haxima-1.002/sounds.scm: general purpose "add some ambient noise here" object created burbling river added to Gregors Hut as example 2007-11-06 kaypy * worlds/haxima-1.002/ticktock.wav: a better clock sound * src/sound.c: was not properly checking for repeated sounds- it only checked up to the first free slot. Now it checks all * worlds/haxima-1.002/sounds.scm, worlds/haxima-1.002/ticktock.wav, worlds/haxima-1.002/tools.scm: first pass at a clock ticking. pity the wav sucks * src/kern.c, src/place.c, src/place.h, src/sound.c, src/sound.h: first pass at ambient sound * src/sound.c: sound uses larger buffer to prevent glitches 2007-11-04 kaypy * worlds/haxima-1.002/lost-halls.scm: Missing dungeon sprite 2007-11-03 kaypy * AUTHORS: Update for 0.6.0 * ChangeLog: update for 0.6.0 * scripts/cvstochangelog.pl: script to generate changelog from cvs log dump 2007-11-02 Gordon McNutt * scripts/RELEASE_CHECKOFF: Added a few notes for clariication 2007-11-02 kaypy * worlds/haxima-1.002/potions.scm: some potions did not have right ap cost * NEWS: changes for 0.6.0 2007-11-02 Kris Parker * NEWS: changes for 0.6.0 * worlds/haxima-1.002/potions.scm: some potions did not have right ap cost 2007-11-02 Gordon McNutt * scripts/RELEASE_CHECKOFF: Added a few notes for clariication 2007-11-01 Kris Parker * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/powers.scm: a few area where treating an object as a character could cause crashes * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/roland.scm, worlds/haxima-1.002/start-new-game.scm: added 'prisoner' faction, so that rolands captors dont try to kill him until he gets out * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/species.scm: gints use their own mmode so that they are not considered to be flying 2007-10-30 Kris Parker * worlds/haxima-1.002/demon-gate.scm: demongate triggers off a slight delay rather than off the player's action prevents the UI doing wackyness to Nos' conversation "You have opened the way, and served your purpose well. Now, receive your reward... - ok!" * worlds/haxima-1.002/spells.png, worlds/haxima-1.002/spells.scm: use smoke icon for bet ylem hur spell 2007-10-30 Gordon McNutt * worlds/haxima-1.002/arms.png, worlds/haxima-1.002/arms.scm: Smoke bombs have their own sprite now * worlds/haxima-1.002/books.scm: Added In Nox Por to the starter magic book. I don't see how one can make it through Brundegardt without it. * worlds/haxima-1.002/meaney.scm: Meaney will heal any time (no shop hours) * worlds/haxima-1.002/moongate-clearing.scm: Looks like t_spell_book_force_magick_123 doesn't exist anymore. 2007-10-29 Kris Parker * src/combat.c: previous patch had ... undesirable ... side effects * src/combat.c: fix for 1821991: combat critters will be generated in substandard (eg hazardous) positions if nice positions are not available * src/magic.c: adjusted magic objtype to spell routine to work with new spell names 2007-10-29 Gordon McNutt * worlds/haxima-1.002/gregor.scm: Removed a lot of the newlines from Gregor's conv. Sorry, but I have a very strong opinion about the way it looks. 2007-10-28 Kris Parker * src/kern.c: kern_place_is_visible was unreliable in temporary combat maps * worlds/haxima-1.002/moon.scm, worlds/haxima-1.002/start-new-game.scm: moon positions reset, eclipse disabled * worlds/haxima-1.002/moons.png: gave the moons a slight shadow, so you can see a difference between 'new moon' and 'moon is on the other side of the planet' * worlds/haxima-1.002/npc-types.scm: fixed incorrect object type in accursed loot * worlds/haxima-1.002/powers.scm: fix for 1815725: gem now centers view before scrying * worlds/haxima-1.002/shard.scm: tweaked moongate destinations- the first gate you run across will take you to the enchanters tower * worlds/haxima-1.002/terrains.scm: swamp terrain effect was broken 2007-10-28 Gordon McNutt * worlds/haxima-1.002/kalcifax.scm: Updated Kalcifax's conv to match the moongate change 2007-10-27 Sam Glasby * worlds/haxima-1.002/abandoned-farm.scm: Added a spellbook (curses), which belonged to Ilya's mother. * worlds/haxima-1.002/angriss-lair.scm: Added two spellbooks to the meat locker - Force magick (battle) - White magick 2 * worlds/haxima-1.002/books.scm: Added the rest of the currently-planned spellbooks. Checked them in a saved game, may still need some upcasing of spell runes and other minor tweaks. Next, it will be needful to place at least one copy of each somewhere in the game. (And better yet, more than one of at least the lesser / common ones.) * worlds/haxima-1.002/brundegardt.scm: Added two of the new spellbooks in loot areas. - The Divination spellbook, near the Eye - The Deadly Winds spellbook, in the griffin nest. * worlds/haxima-1.002/enchanters-tower.scm: Added various spellbooks to the treasuries and library. The Enchanter has rather a lot of spellbooks, naturally. * worlds/haxima-1.002/fire_sea.scm, worlds/haxima-1.002/necromancers-lair.scm: Missed arg 2 of some kern-mk-obj calls. * worlds/haxima-1.002/fire_sea.scm: Added two spellbooks to the dragon hoard - Misc enchantment - Greater illusion Added a spellbook in the lava in the fire slime chamber - Deadly Winds * worlds/haxima-1.002/game.scm: Trivial formatting change, did not merge for some reason. * worlds/haxima-1.002/mans-hideout.scm: Added two of the new spellbooks in the TOOLS room. - The lesser illusions book - The force magick / mechanisms book * worlds/haxima-1.002/necromancers-lair.scm: Added various spellbooks to the library. * worlds/haxima-1.002/old-absalot.scm: Added some suitable spellbooks to Silas's chest. * worlds/haxima-1.002/road_to_absalot.scm: Added a spellbook in the Fire Bridge - Force magick (matter) * worlds/haxima-1.002/thiefs_den.scm: Added a few spellbooks (doubtless "collected") to the thief's den. - Lesser illusion - Force magick (fields) - Force magick (matter) * worlds/haxima-1.002/treasury.scm: Added three spellbooks to the treasury. - Force magick (high magick) - Greater illusions - Gates 2007-10-27 Kris Parker * doc/users_guide.html: updated spell list in manual 2007-10-26 Sam Glasby * worlds/haxima-1.002/books.scm: Added spellbooks for white magic, force magic, necromancy. Various others planned, as per notes in: ftp://ftp.haxima.org/other/dev_notes/spell_book_notes.txt These will need to be placed in the world in sensible places. Note that the scheme for these books is such that some books overlap, and contain some of the same spells, this is purposeful, as they have themes. * worlds/haxima-1.002/spells.scm: Spelling change for consistency. 2007-10-26 Kris Parker * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/fields.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/spells.scm: smoke spell dispell magic spell * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/spells.scm: single target sleep spell 2007-10-26 Gordon McNutt * src/ctrl.c: Fixed a typo that caused some garbage in the cmdwin while attacking * worlds/haxima-1.002/arms.scm: Smoke only drifts in wind on the surface combat maps * worlds/haxima-1.002/tim.scm: Fixed grammar in Tim's conv 2007-10-25 Sam Glasby * worlds/haxima-1.002/spells.scm: The Vision spell was too high Circle to be at all practical. The reagent costs (nightshade + mandrake) are 8..11 + 8..11 gold, whereas you can buy a gem for 10..20 gold. It may be sensible to increase gem prices as well, but lowering the Circle of this spell will at least make this more accessible, and less costly in MP. * worlds/haxima-1.002/spells.scm: Lined up the spell table again a bit, and fixed a typo with Summon Slime. * worlds/haxima-1.002/spells.scm: Changed spell names to include an English name, as well as the spell runes. (No point in being obscure, and many/most players will not know the the entire list by heart, by runes alone.) Some formatting, lined up the spell table. 2007-10-25 Gordon McNutt * src/character.cpp: When party members in follow mode move, the map is marked dirty but not repainted. * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/powers.scm: Fixed a bug in In Nox Por. Added some messages around poisoning. 2007-10-24 Kris Parker * worlds/haxima-1.002/arms.scm: reverting flaming oil to dropping fire field * worlds/haxima-1.002/powers.scm: teleport range was borked by previous patch 2007-10-24 Gordon McNutt * src/ctrl.c, src/event.c, src/skill.c, src/skill_set.c, src/skill_set_entry.c, src/templ.c: Check config.h for HAVE_MALLOC_H * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/terrains.scm: Reverted my forest visibility change (when Sam and Kris both agree I know I better listen). Added a forest terrain which is opaque, and fixed a couple of the town maps where I know opaque forest was presumed during the design. 2007-10-23 Tim Douglas * src/skill.c, src/skill_set.c, src/skill_set_entry.c, src/templ.c: check to see if malloc.h exists before including it -- fixes OSX build 2007-10-23 Kris Parker * src/character.cpp: save actual AP per turn rather than adjusted value * worlds/haxima-1.002/powers.scm: telekinesis range was borked by previous patch 2007-10-23 Gordon McNutt * worlds/haxima-1.002/game.scm: Inflated the base AP values to reduce the armour penalty * worlds/haxima-1.002/start-new-game.scm: Changed the moon starting positions and phases so that there is not an eclipse early in the first day and the player won't be given the opportunity to unwittingly teleport off to the Engineer's Hut on the first day. * worlds/haxima-1.002/terrains.scm: Making the basic forest type opaque, because we still have some town-scale maps that rely on forest to conceal hidden things 2007-10-22 Kris Parker * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/lost-halls-mech.scm, worlds/haxima-1.002/voidgap-mech.scm: commented out random dungeon checking feedback * worlds/haxima-1.002/powers.scm: gave all powers a return code 2007-10-22 Gordon McNutt * worlds/haxima-1.002/game.scm: Reverted to one-move-per-turn (I think) * worlds/haxima-1.002/pseudorandom-map.scm: Commented-out debug printlns * worlds/haxima-1.002/roland.scm: Fixed Roland to work with pathfinding changes 2007-10-21 Sam Glasby * src/cmd.c: Improved cmd_save_current_place() by using file_open_in_save_dir() rather than fopen(). * src/cmd.c, src/cmd.h, src/ctrl.c, src/event.h: Added an edit-mode command CTRL-O which invokes cmd_save_current_place(), terrain_map_save(). This is not finished yet, it lacks UI code to select a save file name. (Currently saves to '_test_save_place' in the current directory.) * src/cmd.c: Added some command help to the Terraform command. * src/cmd.c: Changed the Terraform status text for the copy / set-pen command. Added a Terraform status text for the flood-fill command. * src/session.c, src/session.h: Added a couple of prototypes to enable a save-single-thing function to be defined elsewhere. Also, where does Session->indent get initialized? It looks like we may be relying on the compiler initializing it to 0. * src/terrain_map.c: Added some comments to the output of terrain_map_composite_save() to aid manual editing of composite maps. 2007-10-20 Sam Glasby * worlds/haxima-1.002/shard.scm: Added some comments to aid manual editing of the shard map. 2007-10-19 Kris Parker * worlds/haxima-1.002/conv.scm: (aside) returns true if something is said, so you can stick a bunch of them in an (or) block * worlds/haxima-1.002/conv.scm: (aside) was glitchy in the case of null or not present speakers * worlds/haxima-1.002/voidgap-mech.scm, worlds/haxima-1.002/voidgap-passage.scm: fortified the dungeon entrance (its too close to town to be plausibly unguarded) toned the dungeon down a fair bit 2007-10-19 Gordon McNutt * src/character.cpp, src/kern.c, src/kern_intvar.c, src/object.c, src/object.h, src/place.c, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/tutorial.scm: Improvements to kraken o Added a 'submerged' flag for objects o Submerged object sprites are alpha-blended on the map o Submerged objects get a bonus to defense (set by the script) o Kraken submerge when coursing toward their target but surface to attack or chomp o Kraken will submerge and flee if they can't chomp their way to their target 2007-10-18 Sam Glasby * worlds/haxima-1.002/luximene.scm: Added responses for Luximene for the WISE and the ACCUrsed. (The default responses presume a knowledge of contemporary events, and did not fit.) * worlds/haxima-1.002/necromancer.scm: Enhanced some of the Necromancer's responses related to the main quest, including some synonyms. Added to the response for HEALTH. 2007-10-18 Kris Parker * worlds/haxima-1.002/powers.scm: blink range clamped * worlds/haxima-1.002/shard.scm: world map rearranged to put void temple just out of teleport range of voidgap * worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/voidgap-mech.scm, worlds/haxima-1.002/voidgap-passage.scm: added new random dungeon "Tunnels to Voidgap" 2007-10-18 Gordon McNutt * src/character.cpp, src/cursor.cpp: The camera follows the cursor or any player characters if they move off-screen * src/cmd.c: The . key now means HERE when the player is prompted for a direction, like the 5 on the numeric keypad. 2007-10-17 Sam Glasby * worlds/haxima-1.002/abe.scm: Enhanced Abe's responses related to the RUNEs, including a more explicit reference to RUNE when speaking of the KEYs to the Demon Gate. * worlds/haxima-1.002/bandit-hideout.scm, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/mans-hideout.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/special.scm: Updated all of the "hidden" places on the shard map to match the angriss-lair implementation, by which a step trigger is used to mark the location of the once-hidden place when the player finds the exact location. * worlds/haxima-1.002/books.scm: Minor formatting in the starting spellbooks. Added some emphasis to the letter from the Enchanter. * worlds/haxima-1.002/gregor.scm: Updated various responses. Added some more synonyms. Gregor gives clearer directions about how to reach the Enchanter. Colorized many important keywords as RED, and certain important non-keywords as GREEN. * worlds/haxima-1.002/the-man.scm: Added a response about the Accursed. Added a synonym for Rogue / Wrogue. 2007-10-17 Gordon McNutt * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/game.scm: Smoke now drifts in the wind * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/fields.scm: Changes to smoke: o Changed smoke from a field type to a regular object type o Smoke now dissipates after a random interval o Smoke is now at the projectile layer, so it is rendered over most other objects (it is semi-transparent) * worlds/haxima-1.002/terrains.scm: x)amine shows translation for runic signs (SF feature request) 2007-10-16 Kris Parker * src/object.c: disabling end of turn spam * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/powers.scm: magic missile uses its own projectile rather than regular arrow * worlds/haxima-1.002/lost-halls-mech.scm: Misplaced rock * worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/zane.scm: typos 2007-10-16 Gordon McNutt * src/Being.cpp, src/astar.c, src/astar.h, src/cmd.c, src/cmd.h, src/ctrl.c, src/event.c, src/event.h, src/kern.c, src/map.h, src/place.c, src/status.c, src/status.h, worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/bill.scm, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/henry.scm, worlds/haxima-1.002/jake.scm, worlds/haxima-1.002/jess.scm, worlds/haxima-1.002/jim.scm, worlds/haxima-1.002/jones.scm, worlds/haxima-1.002/lia.scm, worlds/haxima-1.002/may.scm, worlds/haxima-1.002/melvin.scm, worlds/haxima-1.002/miggs.scm, worlds/haxima-1.002/moon.scm, worlds/haxima-1.002/moons.png, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/roland.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/tooth.scm, worlds/haxima-1.002/zane.scm: Changes to the merchant system. o Saying 'buy' or 'sell' may jump directly to the buy and sell menus. o Merchants now give a "sales pitch" on every item they sell. o Merchants may give more feedback if the player does or does not buy anything. * src/kern.c: Re-added kern-los-invalidate, but now it takes no args and just flushes all cached vmasks * src/object.c: Fixed bug where LOS was still blocked when smoke evaporated * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/fields.scm, worlds/haxima-1.002/sprites.scm: Added smoke bombs. * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/spells.scm: Changes to low and mid-level summoning spells o Switched the order of In Bet Xen (now L2) and Kal Xen (now L5) o In Bet Xen and Kal Xen each now summon different critters depending on the caster's power * worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/tooth.scm: A couple of merchants will trade in smoke bombs * worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/powers.scm: We had two versions of terrain-ok-for-field. Removed one duplicate and fixed the remaining one to work if the location is off-map. * worlds/haxima-1.002/npc-types.scm: Fixed a bug in loot drops (using var instead of tag) and added smoke bombs to wrogue loot. 2007-10-13 Gordon McNutt * worlds/haxima-1.002/hackle.scm: Tweaks to the Hackle/Mesmeme discussion 2007-10-11 Kris Parker * src/kern.c: added kern-missile-fire-to-max * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/spells.scm: lightning bolt spell added * worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/traps_4.scm: slightly easier labyrinth of burning glass * worlds/haxima-1.002/spells.png, worlds/haxima-1.002/spells.scm: lightning spell icon 2007-10-11 Gordon McNutt * src/play.c: Undoing a fix I did earlier. This supposed fix seems to cause a hang when the party exits from combat after a reload. I can't reproduce the original problem after undoing the fix. * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/spells.png, worlds/haxima-1.002/spells.scm: Implemented feature request 1622424, Vas An Nox 2007-10-10 Gordon McNutt * src/map.c: Lights outside the map view now cast light into the view. * src/scheme.c: Bugfix: loaded files ending in a comment with no newline would cause the next valid line to be discarded 2007-10-09 Kris Parker * src/object.c: fading of movement sounds is linear rather than asymptotic * src/sound.c: first step to better sound: sound does not replay if it is already being played 2007-10-08 Sam Glasby * src/Arms.cpp, src/Arms.h, src/character.cpp, src/cmd.c, src/common.h, src/ctrl.c, src/kern.c, src/play.c, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/game.scm: - There is some cleanup in game.scm (AP values not used and so forth) which remains, some of these should be scrapped, and some will be useful as guidelines for setting other values. I rather imagine that further drafts will be needed before the system is tuned in a satisfactory way. In the meantime, the AP-per-round and AP costs in (game.scm arms.scm) should produce interesting results. I recommend experimentation with the AP values, there are many possibilities... * src/status.c: Various tweaks to status displays. - Now shows range, AP cost, AP mod - Ztats page contents reordered a bit. 2007-10-08 Kris Parker * worlds/haxima-1.002/abe.scm, worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/alex.scm, worlds/haxima-1.002/angela.scm, worlds/haxima-1.002/anne.scm, worlds/haxima-1.002/bart.scm, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/deric.scm, worlds/haxima-1.002/doris.scm, worlds/haxima-1.002/edward.scm, worlds/haxima-1.002/fing.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/gregors-hut.scm, worlds/haxima-1.002/henry.scm, worlds/haxima-1.002/jess.scm, worlds/haxima-1.002/joel.scm, worlds/haxima-1.002/jones.scm, worlds/haxima-1.002/lia.scm, worlds/haxima-1.002/may.scm, worlds/haxima-1.002/melvin.scm, worlds/haxima-1.002/miggs.scm, worlds/haxima-1.002/necromancer.scm, worlds/haxima-1.002/oscar.scm, worlds/haxima-1.002/patch.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/slywan.scm, worlds/haxima-1.002/steward.scm, worlds/haxima-1.002/the-man.scm, worlds/haxima-1.002/trigrave.scm: most npcs now have some sort of equipment * worlds/haxima-1.002/abe.scm, worlds/haxima-1.002/abigail.scm, worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/alex.scm, worlds/haxima-1.002/amy.scm, worlds/haxima-1.002/anaxes.scm, worlds/haxima-1.002/angela.scm, worlds/haxima-1.002/angriss.scm, worlds/haxima-1.002/anne.scm, worlds/haxima-1.002/bart.scm, worlds/haxima-1.002/bill.scm, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/dennis.scm, worlds/haxima-1.002/deric.scm, worlds/haxima-1.002/doris.scm, worlds/haxima-1.002/douglas.scm, worlds/haxima-1.002/edward.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/fing.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/ghertie.scm, worlds/haxima-1.002/gholet.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/gregors-hut.scm, worlds/haxima-1.002/hackle.scm, worlds/haxima-1.002/henry.scm, worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/jake.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/jess.scm, worlds/haxima-1.002/joel.scm, worlds/haxima-1.002/jones.scm, worlds/haxima-1.002/jorn.scm, worlds/haxima-1.002/kalcifax.scm, worlds/haxima-1.002/kama.scm, worlds/haxima-1.002/kathryn.scm, worlds/haxima-1.002/lia.scm, worlds/haxima-1.002/luximene.scm, worlds/haxima-1.002/may.scm, worlds/haxima-1.002/meaney.scm, worlds/haxima-1.002/melvin.scm, worlds/haxima-1.002/mesmeme.scm, worlds/haxima-1.002/miggs.scm, worlds/haxima-1.002/mouse.scm, worlds/haxima-1.002/nate.scm, worlds/haxima-1.002/necromancer.scm, worlds/haxima-1.002/nossifer.scm, worlds/haxima-1.002/oscar.scm, worlds/haxima-1.002/patch.scm, worlds/haxima-1.002/road_to_absalot.scm, worlds/haxima-1.002/roland.scm, worlds/haxima-1.002/selene.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/silas.scm, worlds/haxima-1.002/slywan.scm, worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/steward.scm, worlds/haxima-1.002/talking-ankh.scm, worlds/haxima-1.002/tetzl.scm, worlds/haxima-1.002/the-man.scm, worlds/haxima-1.002/thorald.scm, worlds/haxima-1.002/thud.scm, worlds/haxima-1.002/tim.scm, worlds/haxima-1.002/tooth.scm, worlds/haxima-1.002/trigrave.scm, worlds/haxima-1.002/tutorial.scm, worlds/haxima-1.002/warritrix.scm, worlds/haxima-1.002/zane.scm: removed the 'armour based' speed values from individual characters, now that modifications based on actual armour can be used instead * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/game.scm: centralized speed settings into 3 values in game.scm, with everything else normalized off those * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/skills.scm, worlds/haxima-1.002/spells.scm: centralized speed settings into values in game.scm, with everything else normalized off those 2007-10-07 Sam Glasby * src/Makefile.am, src/kern_intvar.c, src/kern_intvar.h: Adding a facility for the script to store a hash of "name" => integer values, for the purpose of declaring policy via script which otherwise might require hard-coded constants in common.h or similar. The first use of this feature will be to replace the use of the constant NAZGHUL_BASE_ACTION_POINTS, so that the Action Point costs for various actions are entirely controlled by the script. (Movement and attack AP costs are already in game.scm arms.scm, but some half dozen actions require that the kernal know some AP cost to use.) The API for kern_intvar is nearly identical to that for cfg.c cfg.h, save that integers are stored. A seperate hash is used, as the data stored is of a per-session nature, rather than a global-for-all-games config nature. This data is not currently saved, but a function kern_intvar_save() is provided. 2007-10-07 Kris Parker * src/combat.c, src/player.cpp, src/player.h: party stops loitering when attacked in world map * src/player.cpp: party loitering check moved after turn start. loitering in the wilderness was accumulating AP otherwise... * worlds/haxima-1.002/vehicles.scm: onramps now cascade trigger to avoid appearance of 'half ramps' 2007-10-07 Gordon McNutt * src/kern.c: Workaround for bug 1808708: if the player is kamping on a ship, a pirate ambush will abort kamping and switch back to the wilderness view. * worlds/haxima-1.002/camping-map.scm, worlds/haxima-1.002/loc.scm, worlds/haxima-1.002/naz.scm: Changed the script adjacency-checking to use diagonals. This fixes the problem I saw where pirates could not pathfind in the wilderness to ambush the player. That problem only occurred if the pirates ended up diagonal to the player. This would have affected other npc party types as well. 2007-10-06 Kris Parker * src/Party.cpp, src/Party.h: added command for a party to absorb its members ap debt * src/ctrl.c: player party absorbs members ap debt as required party AP is displayed in cmdwin prompt for now * src/ctrl.c, src/object.c, src/place.c: moved bump ifc behaviour to ctrl, with the handle behaviour fixed incorrect bump callback * src/player.cpp: player gets diagonal movement costs * worlds/haxima-1.002/camping-map.scm: camping checks for passability before allowing npc parties to attack * worlds/haxima-1.002/lost-halls-mech.scm, worlds/haxima-1.002/lost-halls.scm: stairs portal based on bump rather than step * worlds/haxima-1.002/npc-types.scm: quick'n'nasty 'add loot drops' by dint of tweaking the standard drops from stock npcs * worlds/haxima-1.002/portals.scm, worlds/haxima-1.002/road_to_absalot.scm: portal based on bump rather than step- can be used as virtual edge tile * worlds/haxima-1.002/tutorial_town.scm: diagonal entrances 2007-10-06 Gordon McNutt * src/combat.c: Unlogged bugfix: pirate ship could end up on wrong side of map depending on whom was attacking whom * src/kern.c: Fix for bug 1612006: pirates disembark before ambushing the campsite * src/macros.h: Added normalize() macro * src/play.c: Unlogged bugfix: assert in combat if you reload during combat and immediately camp. Needed to reset the combat state on reload. * worlds/haxima-1.002/camping-map.scm: During camping, an ambushing npc party will now move toward the player. This way a pirate ambush will leave the ship next to the shore. * worlds/haxima-1.002/naz.scm: can-pathfind? proc checks adjacency first; the kernel pathfinding code returns null in this case, which is not to be confused with being unable to produce a path * worlds/haxima-1.002/powers.scm: Gate spell checks for passability 2007-10-05 Kris Parker * src/player.cpp: player party checks for diagonal movement between impassable terrains * src/player.cpp: enable diagonal entrances to towns * worlds/haxima-1.002/absalot.scm, worlds/haxima-1.002/ancient-derelict.scm, worlds/haxima-1.002/bandit-hideout.scm, worlds/haxima-1.002/bole.scm, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/eastpass.scm, worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/engineers-hut.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/kun.scm, worlds/haxima-1.002/moongate-clearing.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/poor-house.scm, worlds/haxima-1.002/road_to_absalot.scm, worlds/haxima-1.002/tutorial_town.scm, worlds/haxima-1.002/void-temple.scm, worlds/haxima-1.002/westpass.scm: diagonal entrances * worlds/haxima-1.002/arms.scm: incorrect cannon projectile * worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm: secret in natural rock * worlds/haxima-1.002/road_to_absalot.scm: cleaned up natural rock walls * worlds/haxima-1.002/shard.scm: deep water removed from near merciful death to prevent pirate ships from being spawned there * worlds/library/artwork/terrain/nrockwall.xcf: hires natural rock wall terrains 2007-10-04 Kris Parker * worlds/haxima-1.002/effects.scm: fix for 1807516: logic error in conditional damage was only affecting non-beings 2007-10-04 Gordon McNutt * src/Being.cpp, src/astar.c, src/character.cpp, src/place.c, src/place.h: Fix for bug [ 1734069 ] pathfinder confused by diagonal gaps. The pathfinder was written so that if the character could get one tile away from the destination then this was good enough. This is ok for for combat pathfinding and following the leader; but for commuting it's not ok when the last step is impassable, because the character needs to actually get there or it will keep trying to commute over and over. I added a new pathfinding flag to indicate that "adjacent is NOT ok", and set this flag for commuting. * worlds/haxima-1.002/douglas.scm: Douglas notices Mesmeme in the player's party * worlds/haxima-1.002/hackle.scm: Hackle notices Mesmeme in the player party * worlds/haxima-1.002/kama.scm: When kama joins it improves player relations with forest goblins 2007-10-02 Kris Parker * worlds/haxima-1.002/fire_sea.scm, worlds/haxima-1.002/forsaken-prison.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/green-tower-lower.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/kraken-lakes.scm, worlds/haxima-1.002/lost-halls-mech.scm, worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/mans-hideout.scm, worlds/haxima-1.002/mushroom-cave.scm, worlds/haxima-1.002/old-absalot.scm, worlds/haxima-1.002/old-mine.scm, worlds/haxima-1.002/prison.scm, worlds/haxima-1.002/road_to_absalot.scm: natural rock * worlds/haxima-1.002/meaney.scm: missing space in "come back during business hours" text * worlds/haxima-1.002/silas.scm: fixed missing 'dennis' conversation element 2007-10-02 Gordon McNutt * src/object.c, src/object.h, src/player.cpp, src/session.h, src/sprite.c, src/status.c: Fix for bug 1632199 (An Tym animations). This breaks up the "synchronized dancing" sprites and causes only player-controlled objects to be animated during Time Stop. 2007-09-22 Kris Parker * worlds/haxima-1.002/door.scm: fix for 1800347 door LOS glitches 2007-09-22 Gordon McNutt * src/kern.c, src/session.c, src/session.h, src/terrain.h: Moved terrains to their own list on load; first step toward showing a terrain palette 2007-09-20 Kris Parker * scripts/blenddat.txt, scripts/unblenddat.txt: updated with newer terrains * scripts/mergemap.pl: merge more resistant to formatting issues * scripts/palette.txt: dense/light trees added 2007-09-20 Gordon McNutt * worlds/haxima-1.002/necromancer.scm: When meeting the Necromancer, if the Luximene quest has been offered but not completed, then he checks if the player has the skull. 2007-09-09 Kris Parker * worlds/haxima-1.002/ankh-shrine.scm, worlds/haxima-1.002/dank-cave.scm, worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/endless-deeps.scm: natural rock * worlds/haxima-1.002/newterrain.png: some black areas added to natural rock terrain to make is not quite so jarring when it appears without proper edging 2007-09-01 Kris Parker * worlds/haxima-1.002/brundegardt.scm: natural rock * worlds/haxima-1.002/naz.scm: misplaced bracket in evade was causing ai to jam also re-allowed diagonal evasion 2007-08-26 Kris Parker * worlds/haxima-1.002/ability.scm: scale up ability ap costs * worlds/haxima-1.002/angriss-lair.scm: natural rock in angriss' lair * worlds/haxima-1.002/arms.scm: projectiles have at least obj-ifc. nil ifcs do bad stuff * worlds/haxima-1.002/powers.scm: fix for 1781344 Crash on kill with VAS FLAM spell 2007-08-19 Kris Parker * src/map.c: support for weapons that always fire to max range 2007-08-04 Kris Parker * worlds/template/kern-init.scm, worlds/template/start-new-game.scm, worlds/template/gfx/640x480_splash.png, worlds/template/gfx/addons.png, worlds/template/gfx/adornments.png, worlds/template/gfx/arms.png, worlds/template/gfx/bigobjects.png, worlds/template/gfx/bodies.png, worlds/template/gfx/books.png, worlds/template/gfx/cannon.wav, worlds/template/gfx/charset.png, worlds/template/gfx/clothes.png, worlds/template/gfx/cursor.png, worlds/template/gfx/damage.wav, worlds/template/gfx/effects.png, worlds/template/gfx/enter_moongate.wav, worlds/template/gfx/food.png, worlds/template/gfx/frame.png, worlds/template/gfx/hirespeople.png, worlds/template/gfx/horse.wav, worlds/template/gfx/humanoids.png, worlds/template/gfx/jewelry.png, worlds/template/gfx/map.png, worlds/template/gfx/money.png, worlds/template/gfx/monsters.png, worlds/template/gfx/moons.png, worlds/template/gfx/newfolkas.png, worlds/template/gfx/newfolks.png, worlds/template/gfx/newmonst.png, worlds/template/gfx/newterrain.png, worlds/template/gfx/occlogos.png, worlds/template/gfx/pitfalls.png, worlds/template/gfx/potions.png, worlds/template/gfx/reagents.png, worlds/template/gfx/rowing.wav, worlds/template/gfx/rune.png, worlds/template/gfx/runestones.png, worlds/template/gfx/scrolls.png, worlds/template/gfx/sfx.png, worlds/template/gfx/shapes.png, worlds/template/gfx/ship.png, worlds/template/gfx/signs.png, worlds/template/gfx/special.png, worlds/template/gfx/spells.png, worlds/template/gfx/splash.png, worlds/template/gfx/tools.png, worlds/template/gfx/tower.png, worlds/template/gfx/walk.wav, worlds/template/lib/ability.scm, worlds/template/lib/ai.scm, worlds/template/lib/arms.scm, worlds/template/lib/beds.scm, worlds/template/lib/bim.scm, worlds/template/lib/blendterrains.scm, worlds/template/lib/books.scm, worlds/template/lib/bridge.scm, worlds/template/lib/camping-map.scm, worlds/template/lib/cast-ui.scm, worlds/template/lib/combat-maps.scm, worlds/template/lib/containers.scm, worlds/template/lib/conv.scm, worlds/template/lib/door.scm, worlds/template/lib/drawbridge.scm, worlds/template/lib/edge-spawn.scm, worlds/template/lib/effects.scm, worlds/template/lib/fields.scm, worlds/template/lib/food.scm, worlds/template/lib/game.scm, worlds/template/lib/gate-guard.scm, worlds/template/lib/generic-mech.scm, worlds/template/lib/hidden.scm, worlds/template/lib/ifc.scm, worlds/template/lib/init.scm, worlds/template/lib/items.scm, worlds/template/lib/jewelry.scm, worlds/template/lib/keys.scm, worlds/template/lib/kobj.scm, worlds/template/lib/landslide.scm, worlds/template/lib/lever.scm, worlds/template/lib/loc.scm, worlds/template/lib/main-menu.scm, worlds/template/lib/mimic.scm, worlds/template/lib/money.scm, worlds/template/lib/monster-generator.scm, worlds/template/lib/moon.scm, worlds/template/lib/moongate.scm, worlds/template/lib/naz.scm, worlds/template/lib/npc-types.scm, worlds/template/lib/objs.scm, worlds/template/lib/occs.scm, worlds/template/lib/palette.scm, worlds/template/lib/parties.scm, worlds/template/lib/pitfalls.scm, worlds/template/lib/portals.scm, worlds/template/lib/portcullis.scm, worlds/template/lib/potions.scm, worlds/template/lib/powers.scm, worlds/template/lib/pre-entry-hooks.scm, worlds/template/lib/prices.scm, worlds/template/lib/pseudorandom-map.scm, worlds/template/lib/reagents.scm, worlds/template/lib/runes.scm, worlds/template/lib/scrolls.scm, worlds/template/lib/skills.scm, worlds/template/lib/sounds.scm, worlds/template/lib/special.scm, worlds/template/lib/species.scm, worlds/template/lib/spells.scm, worlds/template/lib/spider.scm, worlds/template/lib/sprite-sets.scm, worlds/template/lib/sprites.scm, worlds/template/lib/step.scm, worlds/template/lib/tblit.scm, worlds/template/lib/terrain-to-ptype.scm, worlds/template/lib/terrains.scm, worlds/template/lib/timer.scm, worlds/template/lib/tools.scm, worlds/template/lib/town-entry.scm, worlds/template/lib/traps.scm, worlds/template/lib/troll.scm, worlds/template/lib/vehicles.scm, worlds/template/lib/weather-vane.scm, worlds/template/lib/wind-bridge.scm, worlds/template/lib/yellow-slime.scm, worlds/template/people/sample-char.scm, worlds/template/places/sample.scm, worlds/template/places/world.scm, worlds/template/places/zones.scm: First pass at a minimal template for new games 2007-07-22 Kris Parker * src/Arms.cpp, src/Missile.cpp, src/Missile.h, src/kern.c, src/map.c, src/map.h: Everything necessary for weapons that always fire to their maximum range, except for the map animation code, which is still disabled because it crashes if it goes off the map. * worlds/haxima-1.002/arms.scm: compatibility with fixed range weapons option 2007-07-16 Kris Parker * src/Arms.cpp, src/Arms.h, src/Missile.cpp, src/Missile.h, src/common.h, src/kern.c, worlds/haxima-1.002/arms.scm: Separated out MissileType from ArmsType, since they have a close approximation of nothing in common. * src/Missile.cpp, src/Missile.h, src/map.c: MissileTypes can now use the Enter ifc for custom handling of each tile they pass over 2007-07-08 Kris Parker * src/status.c: reformatted * src/status.c: Reverting to a working version while I try to figure out a way to make it work AND do what we want 2007-07-06 Kris Parker * src/Arms.cpp, src/Arms.h, src/kern.c, src/map.c: support for beam projectiles * worlds/haxima-1.002/arms.scm: stun wand uses beam attack * worlds/haxima-1.002/sfx.png, worlds/haxima-1.002/sprites.scm: lightning bolt sprite * worlds/library/artwork/effects/heart.xcf, worlds/library/artwork/effects/lightning.xcf: some sfx graphics 2007-07-05 Kris Parker * src/kern.c: new kern methods: kern-place-is-combat-map kern-obj-get-hp * worlds/haxima-1.002/ability.scm: tweaked kraken deck chomp * worlds/haxima-1.002/sfx.png: spikier hit sprites 2007-07-03 Kris Parker * src/cmd.c, src/cmd.h, src/kern.c: visibility based effects respect lighting levels * src/kern.c, src/map.c, src/map.h: kern-map-flash-sprite: manually bring up a sprite flash (like the damage flash, but with an arbitary sprite) * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/powers.scm: charm & turn undead spells use flash effect and visibility based reporting * worlds/haxima-1.002/powers.scm: some glitches in turn undead fixed * worlds/haxima-1.002/sfx.png, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm: a couple of sprites for flash sprite effects * worlds/haxima-1.002/species.scm: ghosts are undead! 2007-07-02 Kris Parker * src/kern.c: kern-place-is-visible? checks for whether a location can be seen * worlds/haxima-1.002/naz.scm: msg-log-visible displays a message if a given location is visible 2007-07-01 Sam Glasby * src/status.c: Fencepost error with tt not being refreshed after nn was updated, could have led to painting one tile beyond the bottom bounds of a Status window. * src/status.c: Added support for Status entries with a height other than 2 text lines (2 * ASCII_H). Reorganized the Arms stats (displayed in Ready, Ztats, etc) and added information on Range and Action Points required. The new layout groups attack-related and defense-related Arms stats together, and has more obvious labels. (The new layout is also 3 lines high, hence the previous change.) Updated some other Status mode titles. (The Ztats header for party member pages is still not working quite right; the new title displays upon initial Ztats display, but not after paging back and forth. Presumably it is being re-initialized somewhere.) Some minor formatting, typos fixed in comments, and notes on the units used for "line" (TILE_H vs ASCII_H units) in various places. 2007-07-01 Kris Parker * worlds/haxima-1.002/arms.scm: arms action points now proportionally defined * worlds/haxima-1.002/blendterrains.scm, worlds/haxima-1.002/newterrain.png, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/slimy-cavern.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm: slimy cavern uses natural stone walls (experimental) * worlds/haxima-1.002/hirespeople.png, worlds/haxima-1.002/sprites.scm, worlds/library/artwork/hirespeople/sleeper.xcf: hires sleeping humanoid 2007-06-30 Kris Parker * worlds/haxima-1.002/abandoned-farm.scm, worlds/haxima-1.002/bole.scm, worlds/haxima-1.002/door.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/gregors-hut.scm: doors and windows use correct wall type * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/shapes.png: transparency effects for moongates * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/door.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/slimy-cavern.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm: rejigged doors to use composite sprites rather than combinatorial door explosion * worlds/haxima-1.002/arms.png, worlds/haxima-1.002/arms.scm: animated slime potion * worlds/haxima-1.002/arms.png, worlds/haxima-1.002/arms.scm: animated prismatic bolt, oil potion * worlds/haxima-1.002/blendterrains.scm, worlds/haxima-1.002/books.scm, worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/tools.scm: separated off hills pclass from forest plass as they should affect missiles differently changed vhard to v-hard for clarity added s-hard difficulty * worlds/haxima-1.002/combat-maps.scm: variable obacity forest terrains use forest combat map * worlds/haxima-1.002/door.scm, worlds/haxima-1.002/poor-house.scm: added some new door types * worlds/haxima-1.002/game.scm: reduced forest obstructivity to be more in line with its opacity * worlds/haxima-1.002/game.scm: sfast changed to s-fast * worlds/haxima-1.002/gamestart-mech.scm: one-off messages do not trigger for npcs * worlds/haxima-1.002/shard.scm: added some irregularity to forrest visibility near green tower 2007-06-29 Kris Parker * src/common.c, src/common.h, src/map.c, src/sprite.c, src/sprite.h: Support for 8 way missile sprites * src/map.c, src/map.h: Simplified and sped up missile animations * worlds/haxima-1.002/arms.png, worlds/haxima-1.002/arms.scm: separate arrow/bolt on ground sprites directional spear sprite * worlds/haxima-1.002/arms.png, worlds/haxima-1.002/arms.scm: Added diagonal arrow and bolt sprites * worlds/haxima-1.002/arms.scm: enabled magic sword animations magic axe uses alternate return mmode * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/game.scm: Returning animation for magic axe Cannon has greater terrain penetration * worlds/haxima-1.002/palette.scm: another &*%^$ forgotten checkin 2007-06-28 Kris Parker * src/Being.cpp, src/Being.h, src/character.cpp, src/character.h: NPCs kick player out of bed more sanely * src/map.c, src/map.h, src/sprite.c, src/sprite.h: support for animated projectiles * worlds/haxima-1.002/arms.png, worlds/haxima-1.002/arms.scm: magic axe tumbles in flight 2007-06-27 Kris Parker * worlds/haxima-1.002/sprites.scm: Cannon Sprites The obligatory "Kris was too dumb to check this in the first time" checkin 2007-06-26 Kris Parker * src/Arms.cpp, src/kern.c: kern-fire-missile had stopped triggering hit-loc events added kern-armstype-fire-in-direction * worlds/haxima-1.002/ancient-derelict.scm, worlds/haxima-1.002/merciful-death.scm, worlds/haxima-1.002/terrains.scm: upgraded ancient derelict and merciful death * worlds/haxima-1.002/arms.scm: cannon object * worlds/haxima-1.002/arms.scm: temp-ifc needed to be updated to reflect advanced hit-loc ifc * worlds/haxima-1.002/terrains.scm: ship terrains in table is-deck updated * worlds/haxima-1.002/vehicles.scm: added working cannons to voidship combat map * worlds/haxima-1.002/vehicles.scm: added working cannons to ship combat map * worlds/haxima-1.002/vehicles.scm: cleaning up 2007-06-25 Kris Parker * worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/zones.scm: upgraded barts boat 2007-06-24 Sam Glasby * src/character.cpp: Repaint map after each (visible) NPC move. This improves the appearance when an NPC makes multiple tiles of movement on one turn. (Before, such characters seemed to "blink" into the new position.) * worlds/haxima-1.002/effects.scm: Added a message when a character fails to resist paralysis, losing his turn. * worlds/haxima-1.002/terrains.scm: Added a small glow to t_deep_lava, to improve the ambience of the dragons lair entrance chamber. 2007-06-24 Kris Parker * worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/ship.png, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/vehicles.scm: support for objects in turnable vehicles combat maps vehicle boarding ramps only available when terrain is suitable vehicles have steering wheels again * worlds/haxima-1.002/ship.png, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/vehicles.scm: improved voidship forgotten checkin for enemy vehicle compatibility 2007-06-23 Kris Parker * src/combat.c: Enemy vehicles now use new combat map scheme * src/combat.c, src/combat.h, src/kern.c, src/vehicle.h, worlds/haxima-1.002/loc.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/pseudorandom-map.scm, worlds/haxima-1.002/ship.png, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/vehicles.scm: First pass at scheme based vehicle maps 2007-06-21 Sam Glasby * worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/bill.scm, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/jim.scm, worlds/haxima-1.002/lia.scm, worlds/haxima-1.002/may.scm, worlds/haxima-1.002/melvin.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/tooth.scm, worlds/haxima-1.002/zane.scm: - Added various items to merchants which seemed lacking. - Minor price tweaks on some items. - The Engineer now sells various devices (crossbows, sextans, chronometers) - The Alchemist now sells some additional potions, some at exorbitant rates. - Various types of bows and crossbows are available from merchants, also spiked helm and shield. * worlds/haxima-1.002/books.scm, worlds/haxima-1.002/moongate-clearing.scm: Defined a couple of books with low-level spells, added them to the start area. * worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/jones.scm, worlds/haxima-1.002/tooth.scm: Tidied up indentation in shop inventories. Made t_arrow and t_bolt more consistently available. * worlds/haxima-1.002/gamestart-mech.scm: Added some feedback in the stats-setting mechanism. It would be nicer to print a message mentioning only the stat(s) changed upon stepping on one of the special tiles, but that would require restructuring how the mechanisms work. * worlds/haxima-1.002/gamestart.scm: Added the full variety of melee / missile / thrown weapons and armor / shield, to the quick-start equipment for test purposes. * worlds/haxima-1.002/moongate-clearing.scm: Modest increase to the starting gear. 2007-06-18 Kris Parker * src/combat.c, src/kern.c, src/terrain.h, worlds/haxima-1.002/combat-maps.scm: first pass at scheme based combat maps 2007-06-16 Kris Parker * src/player.cpp: One of the new comments was causing the savegame to crash when reloading (Dont ask me why comments in scheme can break things, but they seem to be able to...) * worlds/haxima-1.002/effects.scm: fire/lightning do not effect regular objects for the moment (it wasnt having any in game effect, and the graphic effects were occuring in places they oughtnt) 2007-06-13 Kris Parker * worlds/haxima-1.002/arms.scm: getting the rest of the missile drops happening some cleanups in the ifc routine * worlds/haxima-1.002/arms.scm: ifc builder for missiles that should have a chance of being retrieved 2007-06-10 Sam Glasby * src/kern.c: Fixed a typo: obj_decc_ref vs obj_dec_ref. * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/species.scm: Comprehensive review / changes to Action Point costs for weapons and unarmed attacks. Added new types of bows and crossbows. Added magic axe (returns when thrown) -- should perhaps print a message? Added thrown rocks (This is not quite perfect yet, only one species-native weapon at a time is supported, so how does a character get one? Perhaps add 99 of them into party inventory in start-new-game.scm, but that seems a bit inelegant.) Tweaked damage values for a few weapons to improve their usefullness, such as 2H weapons, thrown spear, and axe. Secondary weapons (spiked helm and spiked shield) have very low AP cost for their minor attacks. AP costs for dual-weapon-wielding still needs review. Some changes to beast/monster native weapons (small fast t_F_fangs and great toothy f_G_fangs, with various AP costs). * worlds/haxima-1.002/arms.scm: Changed default AP cost for attacks to 75, such that "speed-human" is sufficient for 2 attacks per round (or 3 tiles of "norm" movement). Also, canonicalized the +to-hit for t_sling_4 (missed it in the previous checkin). 2007-06-10 Kris Parker * src/kern.c: added an obj_inc_ref pair to kernel methods that can result in a move() (and hence to scheme callbacks with potentially destructive results) 2007-06-09 Sam Glasby * src/place.c: Minor formatting change when saving edge_entrance info. * worlds/haxima-1.002/arms.scm: Untabified various tables for consistency in formatting. Tidied some columns. Canonicalized some values like "0" --> "+0" and "2" --> "+2". 2007-06-09 Kris Parker * src/Being.cpp, src/ctrl.c: Critters stop trying to keep wandering around if they are killed by an energy field * src/Party.cpp: npc parties try to avoid harmful terrains when diagonally attacking * src/combat.c: Combat maps grab tiles that are adjactent (based on dx/dy) instead of what the parties happen to be on. Means npc diagonal attacks dont give such wierd results * src/object.c: fix for 1713270: objects now trigger sense updates on removal * worlds/haxima-1.002/powers.scm: added a "put field here" generic command that applies procs as appropriate and allows field to momentarily be placed eg over water, but they will vanish immediately after (somehow the first attempt only committed the stuff that *uses* the command...) 2007-06-08 Kris Parker * src/kern.c: fields use mmodes * worlds/haxima-1.002/species.scm: species speeds now defined relative to nominal human speed 2007-06-08 Gordon McNutt * src/Makefile.am: Added missing objectfreezer files to build list * src/cmd.c: Bugfix for [ 1632199 ] An Tym bugs 2007-06-05 Kris Parker * src/character.cpp: if custom speed is 0, default to species speed * src/object.c: end of turn messages now check target is a being * worlds/haxima-1.002/kobj.scm, worlds/haxima-1.002/npc-types.scm: generic npcs use species speed moving "can drop" function to kobj.scm * worlds/haxima-1.002/powers.scm: added a "put field here" generic command that applies procs as appropriate and allows field to momentarily be placed eg over water, but they will vanish immediately after 2007-06-04 Sam Glasby * src/character.cpp, src/character.h, src/kern.c, src/object.c, src/species.c: Added per-character Action Points per round, in addition to the existing Species-specific AP/round which stock characters inherit. These changes require corresponding changes in the .scm, specifically, a new parameter passed to kern-mk-char. (AP_per_turn aka spd, after the mp arg and before the lvl arg) The corresponding changes in the .scm files are in the next checkin. * src/ctrl.c: Removed the ESC-to-exit-combat keybinding. With ESC used for both exit-from-UI-things and exit-combat-map, it was wasy to accidentally exit combat, leaving loot behind. Now, a message is printed in that case, mentioning both means of exiting the combat map (the '<' command, and walking off the map edge). * worlds/haxima-1.002/abe.scm, worlds/haxima-1.002/abigail.scm, worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/alex.scm, worlds/haxima-1.002/amy.scm, worlds/haxima-1.002/anaxes.scm, worlds/haxima-1.002/angela.scm, worlds/haxima-1.002/angriss.scm, worlds/haxima-1.002/anne.scm, worlds/haxima-1.002/bart.scm, worlds/haxima-1.002/bill.scm, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/dennis.scm, worlds/haxima-1.002/deric.scm, worlds/haxima-1.002/doris.scm, worlds/haxima-1.002/douglas.scm, worlds/haxima-1.002/edward.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/fing.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/ghertie.scm, worlds/haxima-1.002/gholet.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/gregors-hut.scm, worlds/haxima-1.002/hackle.scm, worlds/haxima-1.002/henry.scm, worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/jake.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/jess.scm, worlds/haxima-1.002/joel.scm, worlds/haxima-1.002/jones.scm, worlds/haxima-1.002/jorn.scm, worlds/haxima-1.002/kalcifax.scm, worlds/haxima-1.002/kama.scm, worlds/haxima-1.002/kathryn.scm, worlds/haxima-1.002/lia.scm, worlds/haxima-1.002/luximene.scm, worlds/haxima-1.002/may.scm, worlds/haxima-1.002/meaney.scm, worlds/haxima-1.002/melvin.scm, worlds/haxima-1.002/mesmeme.scm, worlds/haxima-1.002/miggs.scm, worlds/haxima-1.002/mouse.scm, worlds/haxima-1.002/nate.scm, worlds/haxima-1.002/necromancer.scm, worlds/haxima-1.002/nossifer.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/oscar.scm, worlds/haxima-1.002/patch.scm, worlds/haxima-1.002/road_to_absalot.scm, worlds/haxima-1.002/roland.scm, worlds/haxima-1.002/selene.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/silas.scm, worlds/haxima-1.002/slywan.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/steward.scm, worlds/haxima-1.002/talking-ankh.scm, worlds/haxima-1.002/tetzl.scm, worlds/haxima-1.002/the-man.scm, worlds/haxima-1.002/thorald.scm, worlds/haxima-1.002/thud.scm, worlds/haxima-1.002/tim.scm, worlds/haxima-1.002/tooth.scm, worlds/haxima-1.002/trigrave.scm, worlds/haxima-1.002/tutorial.scm, worlds/haxima-1.002/warritrix.scm, worlds/haxima-1.002/zane.scm: Script changes to match engine changes which add per-character Action Points per round (spd) to match the per-Species value which stock characters inherit. The values defined (largely in game.scm and species.scm) will need a lot of balancing. For the moment, values which result in multiple tiles of movement per round are set, so that the feature can be seen and tuned. 2007-06-04 Kris Parker * src/kern.c: tweak to error messages * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/powers.scm: prismatic gaze updated to use mostly powers based effects. This still doesnt solve the problem in bug 1687641, either its taken care of in the cast-ui phase, or the field spells can screw up too... * worlds/haxima-1.002/blendterrains.scm: tree corners had wrong pclass * worlds/haxima-1.002/game.scm: shoals were set to walking passable while I was testing drowning code and accidently got checked in 2007-06-03 Sam Glasby * src/angband.c: Trivial formatting change in OPAQUE and VISIBLE macros. 2007-06-01 Kris Parker * worlds/haxima-1.002/blendterrains.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/wind-bridge.scm: chasm effect moved to wind-bridge code rather than terrain objects marked "do not drop" for water or space * worlds/haxima-1.002/npc-types.scm: generic npcs will not drop objects on forbidden terrains 2007-05-27 Sam Glasby * src/character.cpp, src/player.cpp, src/sprite.c: Appended some text in saved games to label things. 2007-05-26 Kris Parker * src/character.cpp: fix for bug with npcs not using missile weapons 2007-05-25 Kris Parker * worlds/haxima-1.002/arms.scm: thrown weapons need a separate projectile type now. arms.scm wasnt giving them one, so it crashed whenever they were used... 2007-05-24 Kris Parker * src/Arms.cpp, src/Arms.h, src/Missile.cpp, src/Missile.h, src/object.c, src/object.h: ObjectType now has moment mode implemented * src/cmd.c, src/ptable.h: drop checks object mmode * src/kern.c: other object types use object mmode * src/kern.c: added kern-obj-get-movecost method- gets movement cost for a given object:pclass * worlds/haxima-1.002/arms.scm: projectiles and ammo separated in scm * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/ifc.scm: mmodes for objects added * worlds/haxima-1.002/arms.scm: Separating ammo (on the ground or in inventory) from missiles (projectile in flight) * worlds/haxima-1.002/fields.scm, worlds/haxima-1.002/game.scm: mmodes for fields added * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/terrains.scm: added separate pclass for checking general canfly/canswim statuses * worlds/haxima-1.002/npc-types.scm: can-fly check based on can-fly pclass 2007-05-23 Kris Parker * src/Arms.cpp, src/Arms.h, src/character.cpp, src/kern.c: Separating ammo (on the ground or in inventory) from missiles (projectile in flight) 2007-05-22 Kris Parker * worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/runes.scm: fix for bug 1720802: to make a one-off trigger on pickup, you can create a dummy object, and have its get-ifc swap in the real one (which doesnt have the pickup effect) 2007-05-21 Kris Parker * worlds/haxima-1.002/blendterrains.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/terrains.scm: you now only fall into chasms or void if you are actually on a square with the space pclass hence if you bump into a chasm square you are just blocked, but if it opens up beneath you then you are gone * worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/terrains.scm: fixed mountain terrains vs missile passibility in griffon peak 2007-05-20 Kris Parker * src/cmd.c: ap for readying weapons revised, ap debt limit for equipping in combat * src/cmd.c: ap for getting objects revised, ap debt limit for getting large stacks in combat * worlds/haxima-1.002/arms.scm: ap for readying weapons revised, ap debt limit for equipping in combat improved shield defense somewhat * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/species.scm: many 'fast' critters should have reduced movement cost rather than extra AP * worlds/haxima-1.002/naz.scm: ap for getting objects revised 2007-05-19 Kris Parker * src/ctrl.c: switching from solo to roundrobin doesnt end your turn * src/ctrl.c, src/kern.c: experimental dual-weapon ap mod. we may reverse it later, but I need to do more changes to those files, and this way its a separate cvs entry * worlds/haxima-1.002/arms.scm: flaming sword ap fixed * worlds/haxima-1.002/books.scm, worlds/haxima-1.002/enchanters-tower-mech.scm, worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/keys.scm, worlds/haxima-1.002/potions.scm, worlds/haxima-1.002/scrolls.scm, worlds/haxima-1.002/special.scm, worlds/haxima-1.002/tools.scm: usable item ap fixes * worlds/haxima-1.002/pseudorandom-map.scm: upgrades to random dungeons for lost halls. should have been checked in way back. oops * worlds/haxima-1.002/shard.scm: link shard to new lost halls 2007-05-18 Kris Parker * src/Missile.cpp: missile obstruction probability changed to percentile rather than d20 * src/cmd.c: mix now takes a long time. ideally, you wouldnt get the spell until afterwards, but that'd be more complex * src/cmd.c: spells use ap as defined in spell list rather than hardcoded function * src/common.h: base action points now 50 * src/kern.c: allow kern-place-set-neighbor to remove neighbors using null argument * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/start-new-game.scm: base action points now 50 missile obstruction probability changed to percentile rather than d20 * worlds/haxima-1.002/ini.scm: ini gives more information about the lost halls * worlds/haxima-1.002/lost-halls-mech.scm, worlds/haxima-1.002/lost-halls.scm: pseudorandomificated version of the lost halls * worlds/haxima-1.002/spells.scm: spell ap cost: 25+25/level 2007-05-15 Kris Parker * src/Missile.cpp, src/Party.cpp, src/character.cpp, src/kern.c, src/place.c, src/place.h, src/player.cpp: mechs now affect movement costs for their tiles. this did terrible, terrible things to the AI, but it seems to work again now. 2007-05-14 Sam Glasby * src/angband.c: Added some commentary in check_ray_set() related to the diagonal LOS artifact removal. 2007-05-12 Kris Parker * src/Arms.cpp, src/Arms.h, src/Missile.cpp, src/Missile.h, src/kern.c, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/game.scm: first pass at using terrain passibility for missile obstruction * worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/terrains.scm: added some variable density forests/trees 2007-05-10 Kris Parker * src/Arms.cpp, src/ctrl.c: workaround for glitchyness with null objects in hooks Better handling for obtructions when firing at empty tiles * src/Missile.cpp: partially opaque terrain partially blocks missiles * src/dice.c, src/dice.h: can access dice routines with numeric values instead of strings if needed * worlds/haxima-1.002/blendterrains.scm, worlds/haxima-1.002/terrains.scm: partial opacity tweaked and extended blended terrains match their base terrains opacities 2007-05-08 Kris Parker * worlds/haxima-1.002/blendterrains.scm, worlds/haxima-1.002/terrains.scm: swamp now allows double avoidance check flyers can still get poisoned, but have better chances than walkers swamp will only trigger when the target is about to get a turn- poison is otherwise too lethal on the worldmap * worlds/haxima-1.002/blendterrains.scm, worlds/haxima-1.002/terrains.scm: blended lava terrain passability fixed wall torches somewhat less lethal wilderness scale lava terrain gives avoidance chance * worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/powers.scm: mkdice routine made more generally available * worlds/haxima-1.002/terrains.scm: cleaned out some debugging 2007-05-07 Kris Parker * worlds/haxima-1.002/arms.scm: flaming sword now does fire damage * worlds/haxima-1.002/arms.scm: doom staff fireballs slowly use mana, plus some other extra effects 2007-05-06 Kris Parker * src/Arms.cpp, src/Arms.h, src/Missile.cpp, src/Missile.h, src/ctrl.c, src/kern.c, src/object.c, src/object.h: More detail available for weapon callbacks- now has user, target, whether it hit, and whether it did damage. Callbacks on melee weapons should hopefully work, too, although I havent tested it. * worlds/haxima-1.002/arms.scm: More detail available for weapon callbacks 2007-05-03 Kris Parker * src/character.cpp: bug 1710622 added guard clauses to prevent dead people from getting synchronized or introduced * worlds/haxima-1.002/scrolls.scm: bug 1666217 scrolls now use their own context checking (for the important ones anyway, Ill deal with the rest some other time) 2007-05-01 Kris Parker * src/Being.cpp: fix for 1700846: check for zero length paths even in impassable path regeneration * worlds/haxima-1.002/arms.scm: slime potion was using directional sprite type without having directional sprite images. 2007-04-29 Kris Parker * worlds/haxima-1.002/newterrain.png, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm: hiresed rock wall, rock secret added rock window * worlds/library/artwork/terrain/rockwall.xcf: hires rock wall and associated terrains 2007-03-29 Kris Parker * src/objectfreezer.c: a few checks for null before doing stuff on potentially empty trees * src/objectfreezer.c, src/objectfreezer.h, src/session.c: objects in the freezer need to be manually start() ed since they arent in the regular Session->data_objects list 2007-03-27 Kris Parker * src/objectfreezer.c: copy lookup keys to prevent them being eaten by the garbage collector * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/endless-deeps.scm, worlds/haxima-1.002/pseudorandom-map.scm: pseudorandom maps now use objectfreezer to remember room contents 2007-03-25 Kris Parker * src/kern.c, src/objectfreezer.c, src/objectfreezer.h, src/session.c, src/session.h: renamed objectfreezer methods to match rest of codebase objectfreezer should no longer leak like a ruptured colander * src/kern.c: kern-obj-thaw-at handles locating object correctly * src/objectfreezer.c, src/objectfreezer.h, src/session.c, src/session.h: object freezer now works across save files 2007-03-24 Kris Parker * src/kern.c, src/objectfreezer.c, src/objectfreezer.h, src/session.h: first pass at object freezer at this stage can store objects for current session only (no save/load) 2007-03-18 Kris Parker * worlds/haxima-1.002/portcullis.scm, worlds/haxima-1.002/traps_3_mechs.scm: Fix for 1682961: gave portcullises a separate handler for remote open/close events. It looks like they are only used by traps_3. 2007-03-14 Gordon McNutt * src/Missile.cpp, src/angband.c: Kernel changes: o Bugfix: bushes were blocking missiles, because their transparency was recently changed to be somewhere between transparent and opaque. The missile code was interpreting anything non-transparent as opaque. Come to think of it, this might not be quite what is wanted yet, because missiles (which use bresenham) will fly further than los (which uses highly optimized ray-casting) through semi-opaque terrain. * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/powers.scm: Haxima changes: o powers-resurrect checks if target is really dead o cast-ui-dospell-nolos lets effect determine result code o cleaned up some debug printlns 2007-03-13 Gordon McNutt * src/cmd.c, src/result.h, worlds/haxima-1.002/potions.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/start-new-game.scm: Kernel changes: o Added new result codes to kernel o Result evaluation uses a lookup table now instead of a switch statement Haxima changes: o Fixed a couple of potion result codes o Fixed the heal power result codes * worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/runes.scm: Haxima changes: o Fixed result codes for using runes. 2007-03-12 Gordon McNutt * src/cmd.c, src/screen.c, worlds/haxima-1.002/books.scm, worlds/haxima-1.002/items.scm, worlds/haxima-1.002/keys.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/potions.scm, worlds/haxima-1.002/scrolls.scm, worlds/haxima-1.002/tools.scm: Kernel changes: o 'use' now checks the return value of closure calls and log the results to the console (exactly like 'yuse') Haxima changes: o All the item procedures now return one of the standard result-* codes. 2007-03-11 Gordon McNutt * src/cmd.c, src/object.c, src/object.h, worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/fields.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/skills.scm, worlds/haxima-1.002/tools.png, worlds/haxima-1.002/tools.scm: Kernel changes: o All the ObjectType methods that invoke closure_exec() now pass the result back to their caller. Haxima changes: o Added new tool: rope & hook o Added passive Reach skill for wrogues, which employs the rope & hook 2007-03-10 Gordon McNutt * src/screen.c: Added debug routines to dump some SDL types 2007-03-08 Gordon McNutt * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/occs.scm: Haxima changes: o As the wrogue advances he can do more challenging things while in stealth mode. * worlds/haxima-1.002/effects.scm: Haxima changes: o The torch effect removes the stealth effect. 2007-03-07 Gordon McNutt * src/cmd.c, src/ctrl.c, src/kern.c, src/object.h, worlds/haxima-1.002/effects.scm: Kernel changes: o Added a bunch of foo-done hooks, where 'foo' is a character action that should probably kick the character out of stealth mode. Haxima changes: o Stealth effect removed when character attacks, gets, drops, uses, yuses, opens, handles, mixes or casts. * src/effect.c, src/effect.h, src/kern.c, src/object.c, src/session.c: Undoing the multi-hook effect stuff. Not necessary, cumbersome, and doesn't even work. 2007-03-06 Gordon McNutt * src/character.cpp, src/closure.c, src/closure.h, src/effect.h, src/kern.c, src/object.c, src/object.h, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/skills.scm: First part of Stealth skill: character is invisible until mana runs out or it moves. 2007-03-02 Gordon McNutt * src/Makefile.am, src/angband.c, src/character.cpp, src/character.h, src/effect.c, src/effect.h, src/kern.c, src/object.c, src/object.h, worlds/haxima-1.002/effects.scm: Changed hook id's from strings to bits. This is to allow an effects to run on multiple hooks, a prerequisite of the rogue's Hide skill and its advanced forms (Sneak and Invisibility). These changes are lightly tested so far (I tried a torch). 2007-02-25 Gordon McNutt * src/cmd.c, src/cmd.h: Consolidated some more of the targeting functions 2007-02-22 Gordon McNutt * src/angband.c, src/place.c, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/terrains.scm: Added variable-depth LOS. 2007-02-20 Gordon McNutt * worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/skills.scm: Haxima changes: o Added wrogue skill: Disarm Trap. Works on chests and doors. 2007-02-19 Gordon McNutt * src/cmd.c: Fixed new h)andle crash * src/kern.c, src/scheme-private.h, src/scheme.c, src/scheme.h, src/session.c, worlds/haxima-1.002/mouse.scm: Fixing last currently known memory leak. This also ensures that if a Scheme variable refers to a destructible kernel object then the variable continues to refer to a valid memory location in the kernel, even if the world object is killed or "destroyed" (destroyed in a game sense, not a memory management sense). Caveat: this protection only applies to Scheme variables created via tagging an object (ie, kern-mk-char and kern-tag). Kernel changes: o Scheme interpreter now supports a "custom finalizer" provided by the kernel. Scheme cells may be flagged to invoke this when they are gc'd. o The kern_mk_char and kern_tag -- which define Scheme variables to refer to destructible kernel objects -- flag the reference and add an incremental ref count to the referred object. o The custom finalizer decrements the extra refcount. o To prevent reference cycles (which do exist) between the kernel and interpreter from causing a leak on session teardown, the scheme cleanup function unprotects all cells before running the final gc. Haxima changes: o Removed the hack in mouse.scm which manually added an extra refcount to Thud and Kathryn. This hack caused these objects to leak. The above changes render this unnecessary. * src/scheme.c, src/session.c: Replaced the big memory leak with a small one 2007-02-18 Gordon McNutt * src/cmd.c, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/skills.scm, worlds/haxima-1.002/tools.png, worlds/haxima-1.002/tools.scm: Kernel changes: o Yuse checks for tools and materials o Yuse consumes materials o Yuse UI shows material available o Yuse UI show lack of tools or material in red; avail in green Haxima changes: o Added grease o Wriggle skill requires 1 grease * worlds/haxima-1.002/skills.scm: Sprint adds yusers current ap to extend range 2007-02-16 Gordon McNutt * src/cmd.c, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/portcullis.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/skills.scm, worlds/haxima-1.002/terrains.scm: Added Wriggle skill. Kernel changes: o Removed obsolete comment Haxima changes: o Added new movement mode: "wriggle" o Added new passability class: "bars" o Changed portculli and windows to have pclass "bars" * src/kern.c, src/place.c, src/place.h, worlds/haxima-1.002/loc.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/skills.scm: At long, long, last... SPRINT IS FINISHED!!! Kernel changes: o Added kern-place-apply-tile-effects Haxima changes: o Sprint now moves the yuser and applies tile effects along the way 2007-02-14 Gordon McNutt * src/kern.c, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/skills.scm: Kernel changes: o Added kern-place-get-movement-cost Haxima changes: o Added (line x1 y1 x2 y2); returns a line as a list of (x.y) pairs o Sprint destination targeting now accounts for movement cost 2007-02-07 Gordon McNutt * scripts/ANNOUNCEMENT, scripts/RELEASE_CHECKOFF, src/kern.c, src/templ.c, src/templ.h, worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/skills.scm: Some progress on Sprint: UI now builds a template of tiles for radius and LOS. 2007-02-04 Kris Parker * src/character.cpp, src/place.h: direction when moving of edge of map is determined by location relative to map rather than direction of last move * src/place.c: removed a bunch of debugging output from the previous fix (oops) * src/place.c: fix for 1634496: diagonal movement now only checks neighbors for passability, rather than actually attempting to move onto them. 2007-02-04 Gordon McNutt * src/Makefile.am, src/cmd.c, src/cmd.h, src/cursor.cpp, src/cursor.h, src/list.h, src/templ.c, src/templ.h: Step 1 of a new targeting ui function. This will replace the existing select_target and its kin when I'm completely done. The new function will allow spells to auto-target friends, foes, or whatever; it will also enable some of the UI enhancements I want for the Sprint skill. 2007-02-03 Kris Parker * worlds/haxima-1.002/endless-deeps-mech.scm: tweaked random paramters- dungeon was not being very connected. also centred checked area properly * worlds/haxima-1.002/endless-deeps.scm: special rooms are marked as not connecting to the dungeon * worlds/haxima-1.002/pseudorandom-map.scm: fixed problem with checking algorithm a lot of cleaning up 2007-01-30 Kris Parker * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/endless-deeps.scm: endless deeps are checked for cohesion on first entry only * worlds/haxima-1.002/pseudorandom-map.scm: cohesion checking now creates new links based on an input factory function 2007-01-30 Gordon McNutt * src/object.c, src/status.c: Adding action points to status display. Kind of useless right now. 2007-01-29 Kris Parker * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/pseudorandom-map.scm: cleaned out cohesion debugging output. set up checking in endless deeps 2007-01-29 Gordon McNutt * src/cmd.c, src/kern.c, src/skill.h, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/pitfalls.scm, worlds/haxima-1.002/skills.scm: Added support for "passive skills". Y)use does not apply to passive skills. They are meant to be used by other parts of the script to check if a character has a certain skill. For example, the 'use handler in the pitfall objects (beartrap and caltrops) now checks if a character has the passive "arm trap" skill. * src/object.c: Merged over set-ttl 0 bugfix * src/object.c: Should have tested that last fix. NOW the set-ttl 0 bug is fixed. * src/object.c: Fixed a (kern-obj-set-ttl kobj 0) crasher 2007-01-28 Kris Parker * worlds/haxima-1.002/humanoids.png, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/sprites.scm, worlds/library/artwork/humanoids/nixiesword.xcf: nixie with sword * worlds/haxima-1.002/pseudorandom-map.scm: works once somewhere prototype of random map linking * worlds/library/artwork/humanoids/nixiespear.xcf: one spear nixie water subsprite was backwards 2007-01-28 Gordon McNutt * src/kern.c, worlds/haxima-1.002/powers.scm: Jumping now checks for blocking corner terrain at distance 1. 2007-01-27 Kris Parker * worlds/haxima-1.002/humanoids.png, worlds/library/artwork/humanoids/nixiespear.xcf: nixie with spear * worlds/haxima-1.002/humanoids.png, worlds/library/artwork/humanoids/nixieciv.xcf: tweaked nixie * worlds/haxima-1.002/pseudorandom-map.scm: "ugly but it works" prototype of random dungeon continuity testing. (doesnt yet fix unlinked areas) 2007-01-27 Gordon McNutt * src/cmd.c, src/kern.c, src/skill.h, worlds/haxima-1.002/skills.scm: Skills now have a "wilderness ok" flag. If the flag is not set the skill can't be used in the wilderness. 2007-01-26 Kris Parker * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/endless-deeps.scm, worlds/haxima-1.002/pseudorandom-map.scm: random map links now contain passability data (for continuity testing) * worlds/haxima-1.002/fing.scm, worlds/haxima-1.002/humanoids.png, worlds/haxima-1.002/sprites.scm, worlds/library/artwork/humanoids/nixieciv.xcf: first pass at hires nixies 2007-01-26 Gordon McNutt * ChangeLog, Makefile.am, NEWS, haxima.desktop, worlds/haxima-1.002/abe.scm, worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/anaxes.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/hackle.scm, worlds/haxima-1.002/kalcifax.scm, worlds/haxima-1.002/melvin.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/steward.scm: Merging over icons, desktop and typo fixes from 0.5.6-rc2 * doc/USERS_GUIDE, doc/users_guide.html, worlds/haxima-1.002/books.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/necromancer.scm, worlds/haxima-1.002/reagents.scm: Merging over 2nd typo fix from 0.5.6-rc2 * doc/USERS_GUIDE, doc/users_guide.html, worlds/haxima-1.002/books.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/necromancer.scm, worlds/haxima-1.002/reagents.scm, worlds/haxima-1.002/shroom.scm: Applied mwinterrowd's 2nd typos patch * worlds/haxima-1.002/abe.scm, worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/anaxes.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/hackle.scm, worlds/haxima-1.002/kalcifax.scm, worlds/haxima-1.002/melvin.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/steward.scm: Applying mwinterrowd's first typos patch 2007-01-25 Kris Parker * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/endless-deeps.scm, worlds/haxima-1.002/pseudorandom-map.scm: improvements to random dungeon hardlink storage * worlds/haxima-1.002/endless-deeps.scm, worlds/haxima-1.002/pseudorandom-map.scm: hooks in hardlinks reenabled 2007-01-23 Janne Johansson * doc/GAME_RULES, doc/MAP_HACKERS_GUIDE, doc/USERS_GUIDE, doc/world_building/sound_sample_media.txt: various nitpicks in docs and spelling fixes 2007-01-22 Gordon McNutt * Makefile.am: Added icons and .desktop to distro list * haxima.desktop: file haxima.desktop was initially added on branch release_0_5_5_maint. * haxima.desktop: Added icons and .desktop file * worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/skills.scm: Added Detect Trap as a skill 2007-01-21 Kris Parker * src/scheme.c: save file support for vectors 2007-01-21 Gordon McNutt * src/character.cpp, src/character.h, src/kern.c, src/object.c, src/object.h, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/loc.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/skills.scm: Added Jump skill 2007-01-20 Gordon McNutt * src/ascii.c, src/ascii.h, src/cmd.c, src/screen.c: screenPrint now ignores the special control characters when figuring out how big strings are * src/cmd.c, src/kern.c, src/status.c: Kernel changes: o kern_mk_skill_set checks for null skill o Y)use skill listings now show required tools and material o scrolling skills was not advancing selection o Tweaked color format in skill listing 2007-01-19 Gordon McNutt * ChangeLog, NEWS, configure.ac: Final update for 0.5.6-rc1 2007-01-16 Kris Parker * worlds/haxima-1.002/endless-deeps-mech.scm: endless deeps uses random prng seeds to vary from game to game. Unfortunately, this can result in them not being particularly endless, or even being particularly not endless * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/endless-deeps.scm, worlds/haxima-1.002/pseudorandom-map.scm: z coordinate added to random dungeons. 2007-01-16 Gordon McNutt * src/Container.cpp, src/Container.h, src/cmd.c, src/object.h, src/scheme.c, src/status.c, src/status.h: Some minor code cleanup and yet another experimental status browser function. 2007-01-15 Kris Parker * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/pseudorandom-map.scm: slightly simpler syntax for random dungeon hardlink hooks * worlds/haxima-1.002/endless-deeps.scm, worlds/haxima-1.002/pseudorandom-map.scm: store customisable hardlink function, and actual hardlink data 2007-01-13 Kris Parker * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/pseudorandom-map.scm: hooks added to allow random map templates to add objects as well as terrain 2007-01-13 Gordon McNutt * src/cmd.c, src/skill.h, worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/door.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/skills.scm: Y)using the unlock skill now works. 2007-01-12 Gordon McNutt * configure.ac, src/cmd.c, src/cmd.h, src/ctrl.c, src/kern.c, src/node.c, src/node.h, src/occ.c, src/occ.h, src/scheme.c, src/scheme.h, src/session.c, src/skill.c, src/skill.h, src/skill_set.c, src/skill_set_entry.c, src/skill_set_entry.h, src/species.h, src/status.c, src/status.h, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/skills.scm: y)use now shows occupation skills in the status browser 2007-01-10 Gordon McNutt * src/Makefile.am, src/cfg.c, src/kern.c, src/repstr.c, src/repstr.h, src/session.h, src/skill.c, src/skill.h, src/skill_set.c, src/skill_set.h, src/skill_set_entry.c, src/skill_set_entry.h: More skill groundwork 2007-01-09 Gordon McNutt * src/cmd.c: Updated built-in help with k)amp and l)oiter * src/kern.c, src/place.c, src/play.c, src/session.c, src/skill.h: More bugfixes from 0.5.5 maintenance branch; mixed in with some skill stuff unfortunately * src/kern.c: One last tweak to get that time accel thing re-loading properly * src/kern.c, src/session.c: Bugfix for [ 1629974 ] loitering in wilderness uses too much food. Addendum to the previous fix. Saving/loading the floating-point time acceleration value was not done properly, causing it to be zero on reload and wreaking havoc. * src/nazghul.c, src/play.c: Moved the 'welcome to' with the version info to the initial startup (not the game load) * src/object.c, src/player.cpp, src/session.h: Merged bugfix from 0.5.5 maintenance branch * src/object.c, src/player.cpp, src/session.h: Bugfix for [ 1629974 ] loitering in wilderness uses too much food. Loitering for 1 hour was actually using up almost 32 hours. Time acceleration was set to a value appropriate for one hour at town scale, not wilderness scale. To make the values work out for wilderness scale I had to change time acceleration to be a floating point and fix a few type casts. * src/place.c, src/play.c: Bugfix for [ 1624247 ] Delayed victory messages Combat status is now checked after every object executes. Seems inefficient but I'm not noticing any performance hit. 2007-01-06 Kris Parker * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/endless-deeps.scm, worlds/haxima-1.002/pseudorandom-map.scm: prng parameters now in random map parameter object * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/endless-deeps.scm, worlds/haxima-1.002/pseudorandom-map.scm: terrain templates now in random map parameter object * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/pseudorandom-map.scm: blitstats construction formalized 2007-01-06 Gordon McNutt * scripts/RELEASE_CHECKOFF: Updated some notes on post-release maintenance * src/kern.c, src/object.c, src/object.h, src/place.c, worlds/haxima-1.002/demon-gate.scm, worlds/haxima-1.002/powers.scm: Merged bugfix from 0.5.5 maintenance branch * src/kern.c, src/object.c, src/object.h, src/place.c, worlds/haxima-1.002/demon-gate.scm: Bugfix for [ 1622833 ] Killing Nossifer with time stopped. Added a new object attribute: ignoreTimeStop. The object which checks for end-of-game has this attribute set. * worlds/haxima-1.002/powers.scm: Fix for [ 1629421 ] unusual fireball behavior vs. lich. Fixed a parenthesis error in power.scm. 2007-01-05 Kris Parker * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/endless-deeps.scm, worlds/haxima-1.002/pseudorandom-map.scm: blitstats stored in map params * worlds/haxima-1.002/npc-types.scm: minor glitch- wrong sprite for deeps troll geomancer 2007-01-05 Gordon McNutt * src/place.c: Merging bugfix from 0.5.5. maintenance branch * src/place.c: Bugfix for [ 1627495 ] crash when dying in tutorial cave There was a case where place_exec() would return w/o decrementing a refcount on the player party, triggering an assert in session_del(). 2007-01-04 Kris Parker * worlds/haxima-1.002/endless-deeps.scm, worlds/haxima-1.002/pseudorandom-map.scm: beginning to shift random map data into structures suitable for runtime storage 2007-01-04 Gordon McNutt * worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/green-tower-lower.scm, worlds/haxima-1.002/kama.scm, worlds/haxima-1.002/moongate.scm: Merging bug fixes from 0.5.5 maintenance branch * worlds/haxima-1.002/alchemist.scm: Fix for [ 1626202 ] Alchemist and the passage into Absalot. Fixed some logic bugs in the Alkie's conversation. * worlds/haxima-1.002/green-tower-lower.scm, worlds/haxima-1.002/kama.scm: Fix for [ 1626207 ] Releasing Kama from prison. Instead of pathfinding, Kama's jail door is now tagged and stored in Kama's gob so he can check its state directly. * worlds/haxima-1.002/moongate.scm: Fix for [ 1622837 ] Loopback moongate doesn't stay. Iff the source and destination gates are the same don't set the destination gate sprite to "closed" after showing the animation. 2007-01-03 Gordon McNutt * src/character.cpp: Merging in NPC inventory count fix from 0.5.5 maintenance branch * src/character.cpp: Bugfix for [ 1623756 ] Jorn has too many magical items The code which arms NPC's was putting on and taking off different pieces of equipment to try them out. Every time it took it off it incremented the inventory counter, but it wasn't decrementing it when it put things on, so the counts were messed up on all NPC's who arm themselves. 2007-01-02 Kris Parker * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/pseudorandom-map.scm: changed namespace for generic random dungeon code * worlds/haxima-1.002/pseudorandom-map.scm: notes of room linkages added 2007-01-01 Kris Parker * worlds/haxima-1.002/bigobjects.png, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/sprites.scm, worlds/library/artwork/monsters/dragonsleep.xcf: sprite for sleeping dragon * worlds/haxima-1.002/bigobjects.png, worlds/haxima-1.002/monsters.png, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/sprites.scm: dragon sprites used * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/pseudorandom-map.scm, worlds/haxima-1.002/start-new-game.scm: refactored generic random map code from the endless deeps to pseudorandom-map.scm * worlds/library/artwork/monsters/dragon.xcf: new attempt at dragon sprite 2007-01-01 Gordon McNutt * scripts/RELEASE_CHECKOFF, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/fields.scm, worlds/haxima-1.002/portcullis.scm: Merging bugfixes from maintenance branch to main trunk * worlds/haxima-1.002/Makefile.am: Fixing the missing-distro-files problem once and for all. * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/fields.scm: Fix for 1622430: "Undead beings aren't immune to sleep fields". Field immunity was just messed up in general. Also fixed 1623757: "Items can get poisoned". Poison wasn't checking that it was being applied to a character. 2006-12-31 Gordon McNutt * configure.ac: Added the png link fix on the 0.5.6 branch * src/Party.cpp: If an NPC party tries to make a diagonal attack it selects a passable adjacent square to attack from instead. * src/astar.c, src/astar.h, src/place.c: Turned on diagonal movement for NPC pathfinding * src/astar.c, src/character.cpp, src/common.c, src/ctrl.c, src/place.c, src/place.h: Turning on diagonal movement for player characters only. Can't move through pinched corners. * src/character.cpp, src/effect.c, src/kern.c, src/map.c, src/occ.c, src/session.c: Fixed some memory leaks reported by a profiler. Thanks to Eero for giving me a report. * src/cmd.c, src/kern.c, src/object.c, src/object.h, worlds/haxima-1.002/ifc.scm, worlds/haxima-1.002/jewelry.scm, worlds/haxima-1.002/runes.scm, worlds/haxima-1.002/special.scm, worlds/haxima-1.002/start-new-game.scm: Quest items can be tagged special, so they won't get dropped in temporary combat maps and lost forever. * src/cmd.c: Added direction prompt to d)rop * src/cmd.c: Added a quantity prompt to d)rop * src/cmd.c, src/status.c: Drop now respects readied arms * src/cmd.c, src/cmd.h, src/ctrl.c, src/menus.c, src/status.c, src/status.h, worlds/haxima-1.002/spells.scm: Initial cut at a D)rop command * worlds/haxima-1.002/Makefile.am: Added the 640x480 splash fix on the 0.5.6 branch * worlds/haxima-1.002/portcullis.scm: Bugfix 1622407: o)pen works on portcullises 2006-12-30 Gordon McNutt * src/Makefile.am, src/kern.c, src/session.c, src/session.h, src/skill.c, src/skill.h, worlds/haxima-1.002/Makefile.am, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/skills.scm: Started adding code to support skills * src/cmd.c: Bugfix: clicking on close window multiple times caused an endless loop 2006-12-23 Gordon McNutt * worlds/haxima-1.002/Makefile.am: Missing small-screen splash in distro 2006-12-20 Gordon McNutt * scripts/RELEASE_CHECKOFF: Added instructions for uploading releases for release maintainers 2006-12-17 Gordon McNutt * configure.ac: Added check for libpng 2006-12-15 Gordon McNutt * AUTHORS, ChangeLog, NEWS, configure.ac, doc/USERS_GUIDE: Final changes before release * scripts/ANNOUNCEMENT: Adding a file for boilerplate release announcements * scripts/RELEASE_CHECKOFF: Some tweaks to the release checkoff list * worlds/haxima-1.002/Makefile.am: The spell image file needs to be in the install * worlds/haxima-1.002/spells.png, worlds/haxima-1.002/spells.scm: Added all the spell sprites * worlds/haxima-1.002/start-new-game.scm: Fixing the start file 2006-12-14 Gordon McNutt * src/cmd.c, src/kern.c, src/magic.c, src/magic.h, src/status.c, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/start-new-game.scm: Spells ready to show sprites in status browser; other spell stats now shown 2006-12-13 Gordon McNutt * src/cmd.c: C)ast now shows how many mixtures are remaining * src/cmd.c: M)ix command now shows how many of that spell are already mixed before the player begins reagent selection * src/cmd.c: G)et and S)earch now use up standard AP * src/cmd.c: Disable '>' when standing over a town to prevent abuse * src/map.c: Bugfix: with fast critters sometimes the damage flash on their victim would appear to happen before they moved * src/vmask.c: Bugfix: one more time for that pernicious LOS bug; using the place pointer instead of it's name in the hash key 2006-12-12 Kris Parker * worlds/haxima-1.002/humanoids.png: lich sprite added * worlds/haxima-1.002/monsters.png, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/sprites.scm: gazer sprites used * worlds/haxima-1.002/sprites.scm: lich sprite used * worlds/library/spritenotes.txt: old sprite notes I never got around to cvsing in * worlds/library/artwork/humanoids/lich.xcf: lich sprite * worlds/library/artwork/monsters/gazer.xcf, worlds/library/artwork/monsters/gazersleep.xcf: gazer sprites 2006-12-11 Kris Parker * worlds/haxima-1.002/humanoids.png, worlds/library/artwork/humanoids/skeletonarcher.xcf, worlds/library/artwork/humanoids/spearskeleton.xcf: skeleton spearthrower and skeleton archer icons * worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/sprites.scm: skeleton sprites upgraded 2006-12-10 Kris Parker * doc/users_guide.html: Graphical foogod symbols added * worlds/haxima-1.002/humanoids.png: warrior skeleton sprite * worlds/haxima-1.002/humanoids.png, worlds/library/artwork/humanoids/deadarcher.xcf: deadarcher- floating armour, with bow * worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/sprites.scm: craven archers use new icon * worlds/library/artwork/humanoids/skeleton.xcf, worlds/library/artwork/humanoids/swordskeleton.xcf: generic and warrior skeletons * worlds/library/artwork/monsters/dragon.xcf: Attempt at a dragon. 2006-12-10 Gordon McNutt * ChangeLog: Updated * doc/USERS_GUIDE: Updated text USERS_GUIDE to reflect changes in foogod window icons * src/combat.c, src/ctrl.c, src/pinfo.h, src/player.h: Attempting to fix the sporadic camping-on-fireplace bug. Looks like it was caused by an unitialized and obsolete flag. Removing the flag * src/ctrl.c: Re-initialize the list of suggested targets for every attack cycle; should fix rare assert on line 663 * src/foogod.c, src/foogod.h, src/kern.c, src/object.c, src/session.c, src/session.h, worlds/haxima-1.002/effects.png, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/sprites.scm: Replaced cryptic letters with cryptic icons to show global effects in the foogod window * worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/npc-types.scm: Nixies shouldn't have torches * worlds/haxima-1.002/arms.scm: Reducing the range of the doom staff by 1 * worlds/haxima-1.002/arms.scm: Extending range of prismatic gaze by 1; Mesmeme a bit too underpowered in the late game * worlds/haxima-1.002/conv.scm: People in Oparine ought to know where it is * worlds/haxima-1.002/dennis.scm: Dennis replies to keyword Selene * worlds/haxima-1.002/effects.scm: Removed fizzle from prismatic attack; there are enough failure cases already * worlds/haxima-1.002/engineer.scm: Grammatical tweak to conv * worlds/haxima-1.002/naz.scm: Added make-allies * worlds/haxima-1.002/road_to_absalot.scm: What we need are a few more zorns * worlds/haxima-1.002/silas.scm: A few more tweaks to Silas * worlds/haxima-1.002/silas.scm: Improvements to Silas's conversation * worlds/haxima-1.002/tblit.scm: Annoying debug removed * worlds/haxima-1.002/the-man.scm: Spell recipe was wrong * worlds/haxima-1.002/void-temple.scm: Wisps were not appearing 2006-12-09 Kris Parker * src/Party.cpp, src/Party.h, src/object.c, src/place.c: fix for examine crashing on parties linebreaks in examine * src/cmd.c, src/cmd.h: added cardinal direction keyhandler for attack command * worlds/haxima-1.002/ai.scm: wisps use light * worlds/haxima-1.002/ancient-derelict.scm: loot on anchient derelict * worlds/haxima-1.002/bigobjects.png, worlds/haxima-1.002/sprites.scm, worlds/library/artwork/humanoids/balron.xcf: bigger balron icon * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/npc-types.scm: moved alternate alignment critters to npc-types * worlds/haxima-1.002/road_to_absalot.scm: tweaks to absalot: alignment fixes lava edging removed too easy way through fort 2006-12-09 Gordon McNutt * src/Party.cpp: On detailed x)amine a party describes its members * worlds/haxima-1.002/anaxes.scm: Forgot to add Lich's blood to Anaxes's drops * worlds/haxima-1.002/anaxes.scm, worlds/haxima-1.002/books.scm, worlds/haxima-1.002/silas.scm: Fixed loot and lich effects for Anaxes * worlds/haxima-1.002/parties.scm: More corrections to plural party names * worlds/haxima-1.002/parties.scm: Fixed some plural party names 2006-12-08 Kris Parker * src/map.c: missile fire should now have less wierdness with obstructions * worlds/haxima-1.002/books.scm, worlds/haxima-1.002/enchanters-tower.scm: added bet flam hur spellbook * worlds/haxima-1.002/enchanters-tower-mech.scm: fix for mirror based crash * worlds/haxima-1.002/endless-deeps.scm: corpse loot fixed * worlds/haxima-1.002/luximene.scm: added lichs blood to luxs inventory 2006-12-07 Kris Parker * worlds/haxima-1.002/enchanters-tower-mech.scm: enchanters' oddly reflecting mirrors activate in timely fashion 2006-12-07 Gordon McNutt * src/character.cpp: Bugfix: dead characters could give a 'wakes up' message when camping * src/cmd.c: Print a snarky message if the player selects a dead character to guard the camp * src/effect.h, src/status.c: Converted some magic numbers to named constants; fixed a ztats bug which caused multiple effects to be listed offset from column 0 * src/kern.c: Added (kern-ticks-per-turn) * src/player.cpp: Bugfix: dead party members starving * worlds/haxima-1.002/effects.scm: Poison now permanent, so it doesn't wear off with 2 hours of camping. Poison and disease both apply more damage per turn in the wilderness than at town scale. * worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/treasury.scm: Bugfix: bad chest list 2006-12-06 Gordon McNutt * src/cmd.c: Bugfix: when mixing, the number mixed flashes without a - separator; annoying * src/player.cpp, src/session.c: Bugfix: assert when quitting while aboard a vehicle 2006-12-04 Gordon McNutt * src/ctrl.c: Adjusted console printout for attack verbage * worlds/haxima-1.002/chanticleer.scm: Fixed the hint about where to find the Lost Halls * worlds/haxima-1.002/effects.scm: Fixed typo in generic-burn * worlds/haxima-1.002/effects.scm: Removed superfluous console message for paralysis * worlds/haxima-1.002/enchanters-tower-mech.scm: Protect against evaluating tags on startup before they are declared * worlds/haxima-1.002/spells.scm: Tweak to format, moved Kal Xen Nox down with the other L8 spells 2006-12-03 Kris Parker * worlds/haxima-1.002/640x480_splash.png, worlds/haxima-1.002/splash.png: Updated splash screens (now use a more up to date version of the logo, doesnt scale screenshot part of smaller splash) 2006-12-03 Gordon McNutt * src/Container.cpp, src/Container.h, src/character.cpp, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/jones.scm, worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/portals.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/traps_1.scm, worlds/haxima-1.002/traps_2.scm, worlds/haxima-1.002/traps_3.scm, worlds/haxima-1.002/traps_4.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Increased time that Thief's Door in Bole is open o Added (floor ...) to a few more spots in powers.scm Kernel changes: o When an NPC unreadies arms they are put back into personal inventory (fixes acid on NPC's) o Bugfix: NPC's with their "force drop" flag set would drop their inventories, which are now abstract containers and don't function well as physical objects. They now drop their contents directly instead. * worlds/haxima-1.002/alchemist.scm: Raised price of invisibility potion back up again * worlds/haxima-1.002/arms.png, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/species.scm: Haxima changes: o Raised back up the price of precision instruments. o Added prismatic_gaze as a natural weapon for gazers. * worlds/haxima-1.002/conv.scm: Grammar fix * worlds/haxima-1.002/effects.scm: Tweaks to console messages for burn and lightning effects * worlds/haxima-1.002/game.scm: Raising scroll prices back up a bit more 2006-12-02 Gordon McNutt * src/menus.c: Tweaked credits * src/nazghul.c, worlds/haxima-1.002/kern-init.scm: Haxima changes: o Updated kern-init.scm to reflect kernel changes. Kernel changes: o Support a different splash screen for each supported screen dimension. * src/nazghul.c: Splash screen width computed wrong * src/player.cpp, worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/books.scm, worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/tooth.scm, worlds/haxima-1.002/zane.scm: Haxima changes: o Shroom opens shop earlier o Price deflation on potions, scrolls and misc items. o Added an in-game spell book for reference Kernel changes: o Time accelerated faster now while sleeping in town or k)amping * worlds/haxima-1.002/640x480_splash.png, worlds/haxima-1.002/kern-init.scm: Added the small splash image file * worlds/haxima-1.002/deric.scm, worlds/haxima-1.002/edward.scm: Haxima changes: o Tweaks to Edward to handle cases where the Wanderer is dead or not the party leader. o If player took Nate straight to jail Deric would not re-assign ranger. * worlds/haxima-1.002/engineers-hut.scm, worlds/haxima-1.002/gamestart.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/necromancers-lair.scm, worlds/haxima-1.002/old-absalot.scm, worlds/haxima-1.002/prison.scm, worlds/haxima-1.002/trigrave.scm, worlds/haxima-1.002/tutorial_town.scm: Haxima changes: o Shroom opens shop earlier o Price deflation on potions, scrolls and misc items. o Added an in-game spell book for reference o Converted some more chests from (list (list ...) ...) to '(( ...) ...) format. o Tweaked Zane's schedule zones Kernel changes: o Time accelerated faster now while sleeping in town or k)amping 2006-12-01 Kris Parker * doc/users_guide.html: tweaked html manual * worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/npc-types.scm: removed light from several non tool using or dark appreciating critters * worlds/haxima-1.002/cast-ui.scm: fix for resurect spell in town 2006-12-01 Gordon McNutt * src/character.cpp, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/edward.scm, worlds/haxima-1.002/naz.scm: Haxima changes: o Edward won't take Nate out of the party if he's the only living member. o If the only living party member talks to his/her/itself, and asks his/her/itself to leave, it will give itself some excuse not to. Kernel changes: o Bugfix: if the current party leader was removed while in follow mode, the new leader was not re-evaluated, and the kernel continued to try and use the ex-member as the leader, causing a crash. o When a party member leaves he/she/it unreadies all weapons instead of removing them from party inventory. * worlds/haxima-1.002/ancient-derelict.scm, worlds/haxima-1.002/angriss.scm, worlds/haxima-1.002/bill.scm, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/edward.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/endless-deeps.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/gate-guard.scm, worlds/haxima-1.002/gholet.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/jorn.scm, worlds/haxima-1.002/kathryn.scm, worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/meaney.scm, worlds/haxima-1.002/merciful-death.scm, worlds/haxima-1.002/mouse.scm, worlds/haxima-1.002/nate.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/poor-house.scm, worlds/haxima-1.002/trigrave.scm, worlds/haxima-1.002/zane.scm: Haxima changes: o Fixed the broken chests that used mk-content and add-content. At least, I fixed the one or two I've tested thus far. * worlds/haxima-1.002/brundegardt.scm: Haxima changes: o Removed door left stranded after my last map tweaks to Brundegardt. * worlds/haxima-1.002/brundegardt.scm: Weather vane was falling into the chasm... 2006-11-30 Gordon McNutt * src/Missile.cpp, src/ctrl.c, src/ctrl.h, src/foogod.c, src/kern.c, src/player.cpp, src/player.h, src/session.c, src/session.h, src/vehicle.cpp, worlds/haxima-1.002/thorald.scm, worlds/haxima-1.002/tutorial.scm: Haxima changes: o Bugfix: tutorial crashed on load because of my changes last night to the kernel. NPC party creation using (mk-npc-party ...) must be held off until after (kern-mk-player ...). o Thorald in the tutorial responds to 'mixi' as well as 'mix' with instruction on mixing spells. Kernel changes: o Bugfix: vehicle save code was incorrect; resulted in a null object. o Bugfix: last night's kernel changes broke reload. Fixed this by moving the global player_party variable into a field of the global session struct (down to one global variable now, yee-haa!). Added a player_party macro which references this field for backwards-compatibility. * worlds/haxima-1.002/brundegardt.scm: Tweaked the brundegardt fortress map again * worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/camping-map.scm, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/terrain-to-ptype.scm: Haxima changes: o Removed some debug spew. o Tweaked brundegardt fortress map * worlds/haxima-1.002/gregor.scm: Tweaked Gregor's conv 2006-11-29 Gordon McNutt * src/character.cpp, src/foogod.c, src/nazghul.c, src/object.c, src/place.c, src/play.c, src/player.cpp, src/player.h, src/session.c, src/status.c, src/vmask.c: Risky kernel change that should fix the LOS bug for real. It also partially cleans up a big memory leak I've been ignoring since I added the main menu loop. The gist of it is I know destroy the current session before falling back to the main loop. This fixes the LOS bug by removing all the player-controlled beings, and hence their map views. The LOS bug was caused by a leftover map view from the previous session remaining active. I expect to find a few more (maybe a lot more) bugs after this change that are related to improper cleanup. Stand bye for asserts and seg faults. If it's too bad I'll back this out and workaround the LOS bug with an evil hack instead. * worlds/haxima-1.002/Makefile.am: Forgot to add a file to the distro list * worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/landslide.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm: Added landslide to slope of Griffin Peak * worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/terrain-to-ptype.scm: Added griffin parties to wilderness encounters * worlds/haxima-1.002/wind-bridge.scm: Wind bridge now delays two turns before rotating 2006-11-28 Gordon McNutt * worlds/haxima-1.002/door.scm, worlds/haxima-1.002/traps.scm: Haxima changes: o S)earching doors now has some chance of detecting or tripping traps. o Tweaked the difficulty stats on detecting/fumbling traps * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/npc-types.scm: Haxima changes: o Organized the effects a bit. o When a sludge kraken dies it takes all its tentacles with it. * worlds/haxima-1.002/splash.png: Changed splash screen 2006-11-27 Gordon McNutt * src/character.cpp, src/cmd.c, src/cmd.h, src/ctrl.c, src/kern.c, src/object.c, src/object.h, src/place.c, src/player.cpp, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/hidden.scm, worlds/haxima-1.002/ifc.scm, worlds/haxima-1.002/rune.png, worlds/haxima-1.002/traps.scm: S)earch now detects traps on chests, with a chance of setting them off. Doors do NOT support this yet. Haxima changes: o Containers implement the search ifc and roll to detect or trigger traps o Traps triggered by a s)earch are removed o Containers implement the describe ifc and list their detected traps Kernel changes: o Reworked code for describing objects to support a hook for custom descriptions o Added kern-log-begin/continue/end 2006-11-26 Kris Parker * worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/mans-hideout.scm, worlds/haxima-1.002/potions.scm, worlds/haxima-1.002/thiefs_den.scm: standardising on unabbreviated t_invisibility_potion. Mixing t_invisibility_potion and t_inv_potion was causing reusable chests * worlds/haxima-1.002/bandit-hideout.scm: bandit stockade blended * worlds/haxima-1.002/brundegardt.scm: blended new areas. Added some minor encounters to empty areas * worlds/haxima-1.002/brundegardt.scm: 2 chests failing due to contents typos * worlds/haxima-1.002/combat-maps.scm: combat maps blended * worlds/haxima-1.002/food.scm: typo: s/wind/wine * worlds/haxima-1.002/mans-hideout.scm: I think this fixes the man's chests * worlds/haxima-1.002/potions.scm: removed total stats message on stat potions 2006-11-26 Gordon McNutt * src/ctrl.c: Kernel changes: o Auto-targeting now respects LOS. * worlds/haxima-1.002/Makefile.am, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/pitfalls.scm: Haxima changes: o Some files missing from Makefile.am o Fixed typo in Gregor's conv o Only pitfalls (eg caltrops) planted by player will affect NPC's * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/addons.png, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm: Improvements to one of the brundegardt dungeon rooms: o Sludge kraken tentacles chomp deck into sludge shallows o Added sludge shallows (passable to most things) o Sludge krakens summon a few more tentacles * worlds/haxima-1.002/bandit-hideout.scm: Removing some caltrops * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/wind-bridge.scm: Haxima changes: o Chasms are now *very* unsafe for non-flying, non-abstract objects * worlds/haxima-1.002/npc-types.scm: Rangers now use the ranger occupation 2006-11-25 Kris Parker * src/map.c: Removed clock from map (these days its possible to get the time in-game) * worlds/haxima-1.002/enchanters-tower.scm: fixed script error after reload: mk-hidden must use 'object not object * worlds/haxima-1.002/gamestart.scm: Reverting to diagonal pillars in startup room * worlds/haxima-1.002/kalcifax.scm: Revert kalcifax to regular wizard sprite due to that bug with the mirrors and composite sprites * worlds/haxima-1.002/necromancer.scm, worlds/haxima-1.002/silas.scm: Some other sprites I'd missed earlier 2006-11-25 Gordon McNutt * src/cmd.c: When camping underground resting until sunrise is no longer an option * src/cmd.c, src/conv.c, src/conv.h, src/kern.c: Minor feature enhancement: player and npc names highlighted in conversation * src/menus.c: Changed localtime_r to localtime for Mingw portability * src/nazghul.c: Flushing the vmask cache before starting a game to fix LOS bugs * src/nazghul.c, src/play.c: Closing the window now exits the program instead of dropping back to the main menu * worlds/haxima-1.002/Makefile.am, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/deric.scm, worlds/haxima-1.002/edward.scm, worlds/haxima-1.002/gamestart.scm, worlds/haxima-1.002/map.png, worlds/haxima-1.002/moongate-clearing.scm, worlds/haxima-1.002/nate.scm: Misc tweaks and fixes * worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/treasury.scm: Bugfix: mk-treasure-chest needed to use a quoted list * worlds/haxima-1.002/kathryn.scm: Permanent fix for Kathryn's response to 'scroll' * worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/tools.scm: Sextant and In Wis both report location as [x= y=] 2006-11-24 Gordon McNutt * src/astar.c, src/ctrl.c: Disabling diagonal movement * src/character.cpp, src/character.h, src/ctrl.c: Seems like every year I have to fix this bug again: Bill and Sue have both readied flaming oil. There are two in party inventory. Bill throws, leaving only one, but ostensibly he and Sue both still have the weapon readied. This is a crash waiting to happen. This time I fixed it by forcing Bill to unready, but allowing Sue to remain readied. * src/character.cpp: Fixed another annoying must-be-in-follow-mode message when player is alone * src/cmd.c: Bugfix: opening doors was not decrementing action points * src/kern.c: Bugfix: kern-obj-get-name would (sometimes?) crash if the object had a null name * src/kern.c, src/map.c, worlds/haxima-1.002/Makefile.am, worlds/haxima-1.002/addons.png, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/eye-of-brune.scm, worlds/haxima-1.002/sprites.scm: kernel: o Added kern-image-load o Added kern-image-free o Moved kern-map-set-image haxima: o Added Eye of Brune to Brundegardt tower * src/menus.c: Disabling the L)oad Game menu option. J)ourney Onward now works like L)oad Game, with the most recently saved game always highlighted at the top by default for quick access. If there is only one saved game then it just launches it without showing the menu. * worlds/haxima-1.002/Makefile.am, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/tim.scm, worlds/haxima-1.002/troll.scm: Haxima changes: o Trolls now hostile to generic monsters but less hostile to forest goblins. o Finished adding NPC's to Griffin peaks and Brundegardt tower. * worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/sprites.scm: Started adding Griffins to the peak * worlds/haxima-1.002/anaxes.scm, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/nate.scm, worlds/haxima-1.002/start-new-game.scm: Tweaks to brundegardt * worlds/haxima-1.002/arms.scm: Buffed slings a bit 2006-11-23 Kris Parker * worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/books.scm, worlds/haxima-1.002/douglas.scm, worlds/haxima-1.002/luximene.scm, worlds/haxima-1.002/oscar.scm, worlds/haxima-1.002/thorald.scm, worlds/haxima-1.002/warritrix.scm: typo fixes for bug 1591311 * worlds/haxima-1.002/bole.scm: bole grove reblended * worlds/haxima-1.002/bole.scm: lake at bole reblended * worlds/haxima-1.002/kathryn.scm: quick fix for bug 1601241: kathryn automatically goes to "dont have one". Otherwise it pulls the scroll from *your* inventory * worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/sprites.scm: some sprite tweaks 2006-11-23 Gordon McNutt * src/kern.c, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/tools.scm: kernel: o Added kern-get-wind o Added kern-place-add-on-entry-hook o Moved facing support from Vehicle subclass up to base Object class haxima: o Added a weather vane o Added a wind bridge * worlds/haxima-1.002/Makefile.am, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/door.scm, worlds/haxima-1.002/items.scm, worlds/haxima-1.002/keys.scm: Added doors-with-unique-keys * worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/start-new-game.scm: Haxima changes: o Filled out Brundegardt tower levels 1, 2 and 3. 2006-11-22 Kris Parker * scripts/palette.txt: tweaks to maptoxpm palette * worlds/haxima-1.002/monsters.png: quick n dirty griffon cub * worlds/library/artwork/monsters/egg.xcf: egg sprite * worlds/library/artwork/monsters/griffoncub.xcf: old griffon sprite on bigger template to scale down by 0.66 2006-11-22 Gordon McNutt * src/kern.c, src/object.c, src/object.h, src/sprite.c, src/sprite.h, src/vehicle.cpp, src/vehicle.h, worlds/haxima-1.002/addons.png, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/portcullis.scm, worlds/haxima-1.002/sprites.scm, worlds/library/artwork/monsters/kraken.xcf: kernel: o Added kern-get-wind o Added kern-place-add-on-entry-hook o Moved facing support from Vehicle subclass up to base Object class haxima: o Added a weather vane o Added a wind bridge * worlds/haxima-1.002/Makefile.am, worlds/haxima-1.002/weather-vane.scm, worlds/haxima-1.002/wind-bridge.scm: Adding files * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/addons.png, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/monsters.png, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/start-new-game.scm: Sprites for ratling NPC's 2006-11-20 Gordon McNutt * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/addons.png, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/sprites.scm: Added Great Kraken 2006-11-18 Gordon McNutt * worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm: Haxima changes: o New npc: carabids (stone-munching beetles) o Added objects to a few more brundegardt rooms * worlds/library/artwork/monsters/kraken.xcf: Added new kraken image 2006-11-17 Gordon McNutt * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/start-new-game.scm: Haxima changes: o Ratlings fear snakes o Snakes eat rats and ratlings 2006-11-16 Gordon McNutt * worlds/haxima-1.002/Makefile.am, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/mimic.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/species.scm: Haxima changes: o Added mimic npc type o Added objects to Brundegardt Keep * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/species.scm: Haxima changes: o Added ratling npc types (currently borrowing the forest goblin sprites) o Added objects to Ratling Warren 2006-11-15 Kris Parker * worlds/haxima-1.002/monsters.png, worlds/library/artwork/monsters/griffon.xcf: griffon sprite 2006-11-15 Gordon McNutt * worlds/haxima-1.002/brundegardt.scm: Tweaks to dungeon rooms * worlds/haxima-1.002/brundegardt.scm: Added a bunch of rooms to Brundegardt 2006-11-14 Gordon McNutt * src/character.cpp, src/kern.c, src/species.c, src/species.h, worlds/haxima-1.002/species.scm: kernel: o Added an armor dice bonus to the species struct, for scaly and chitinous critters. haxima: o Updated to match kernel change. * worlds/haxima-1.002/anaxes.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/nate.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm: Haxima changes: o Started on another room for Brundegardt o Started adding the Carabid NPC type o Tweaked some conversations related to the Brundegardt quest 2006-11-13 Kris Parker * worlds/haxima-1.002/humanoids.png, worlds/library/artwork/humanoids/ratling.xcf: draft ratling * worlds/haxima-1.002/monsters.png, worlds/library/artwork/monsters/beetle.xcf: an attempt at a beetle * worlds/library/artwork/monsters/beetle.xcf: minor update 2006-11-13 Gordon McNutt * worlds/haxima-1.002/Makefile.am, worlds/haxima-1.002/anaxes.scm, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/conv.scm: Haxima changes: o Added a procedure for interjecting party member comments in a conversation o Added Anaxes o Made the Cave Shrine map * worlds/haxima-1.002/brundegardt.scm: Expanding Brundegardt 2006-11-12 Gordon McNutt * worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/portals.scm, worlds/haxima-1.002/traps_1.scm: Haxima changes: o Made riddles slightly more general o First pass at Entrance to Brundegart 2006-11-11 Kris Parker * worlds/haxima-1.002/hirespeople.png, worlds/haxima-1.002/hirespeople.png, worlds/library/artwork/hirespeople/generic.xcf, worlds/library/artwork/hirespeople/old_ranger.xcf, worlds/library/artwork/hirespeople/ranger_captain.xcf: Minor consistency tweaks 2006-11-11 Gordon McNutt * worlds/haxima-1.002/moongate-clearing.scm, worlds/haxima-1.002/start-new-game.scm: Haxima changes: o Doubled starting reagents o Restored start-of-game to release state 2006-11-10 Gordon McNutt * src/object.c: Fixed a recently-introduced bug in Object::setOnMap() that caused an assert in combat_exit(). * src/scheme.c: Hubert Maier's patch for Amiga OS * worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/edward.scm: Expanded Edward's conversation * worlds/haxima-1.002/edward.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/hirespeople.png, worlds/haxima-1.002/sprites.scm, worlds/library/artwork/hirespeople/generic.xcf: artwork: o Added some layers to the generic sprite haxima: o Added an old townsman sprite, changed Gregor and Edward to use it 2006-11-09 Gordon McNutt * worlds/haxima-1.002/deric.scm, worlds/haxima-1.002/hirespeople.png, worlds/haxima-1.002/nate.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/start-new-game.scm, worlds/library/artwork/hirespeople/ranger_captain.xcf: Added a sprite for Ranger Captain. Deric now uses it. * worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/hirespeople.png, worlds/haxima-1.002/sprites.scm, worlds/library/artwork/hirespeople/old_ranger.xcf: Added an old ranger sprite. Gen uses it now. 2006-11-06 Gordon McNutt * src/character.h, src/object.c, worlds/haxima-1.002/abigail.scm, worlds/haxima-1.002/bandit-hideout.scm, worlds/haxima-1.002/books.scm, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/deric.scm, worlds/haxima-1.002/door.scm, worlds/haxima-1.002/doris.scm, worlds/haxima-1.002/edward.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/green-tower-lower.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/moongate-clearing.scm, worlds/haxima-1.002/nate.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/step.scm, worlds/haxima-1.002/traps.scm, worlds/haxima-1.002/zones.scm: The Bandit quest (new quest for L1 players) is now pretty much done. 2006-11-04 Gordon McNutt * worlds/haxima-1.002/bandit-hideout.scm, worlds/haxima-1.002/books.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/deric.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/nate.scm, worlds/haxima-1.002/naz.scm: Haxima changes: o Deric gives player the bandit quest o Added some generic ranger guards to Green Tower o Player can recruit a generic ranger for the bandit quest o Added Nate, the bandit leader 2006-11-03 Gordon McNutt * src/character.cpp, src/cursor.cpp, src/kern.c, src/object.c, src/object.h: Fixed Object::relocate() to distinguish between avoiding step triggers, sense triggers, and both. 2006-11-02 Kris Parker * src/object.c: sense/step mechanisms need to be double checked after hooks are called since they may be destroyed in the process * worlds/library/artwork/humanoids/demon.xcf: v2 demon 2006-11-02 Gordon McNutt * src/Container.cpp, src/cmd.c, src/object.c, src/object.h, src/place.c, src/place.h, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/moongate-clearing.scm, worlds/haxima-1.002/pitfalls.png, worlds/haxima-1.002/pitfalls.scm, worlds/haxima-1.002/slimy-cavern.scm, worlds/haxima-1.002/traps.scm: Kernel changes: o Fixed inventory saving/loading (recently broken) o Fixed a bug that applied effects multiple time on startup (broken for a while but I didn't know it) Haxima changes: o Fixed saving from new game (recently broken) o Fixed saving traps (recently broken) o Fixed invisibility on pitfalls o Pitfalls (caltrops and beartraps) can now be picked up and re-used * worlds/haxima-1.002/pitfalls.png: Slightly better sprites for the caltrops and beartrap 2006-11-01 Kris Parker * worlds/library/artwork/humanoids/demon.xcf: Demon icon: first attempt 2006-11-01 Gordon McNutt * worlds/haxima-1.002/Makefile.am: Adding pitfalls.scm/png to the install list 2006-10-31 Kris Parker * worlds/haxima-1.002/humanoids.png, worlds/library/artwork/humanoids/headless.xcf: headless icon 2006-10-31 Gordon McNutt * src/Attic/tile.c, src/Attic/tile.h: Removing unused files * worlds/haxima-1.002/bandit-hideout.scm, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/pitfalls.png, worlds/haxima-1.002/pitfalls.scm, worlds/haxima-1.002/traps.scm: Added caltrops and a beartrap 2006-10-30 Kris Parker * worlds/haxima-1.002/humanoids.png: troll geomancer icon * worlds/haxima-1.002/humanoids.png, worlds/library/artwork/humanoids/trollfighter.xcf, worlds/library/artwork/humanoids/trollmage.xcf: troll icon 2006-10-30 Gordon McNutt * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/door.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/traps.scm: Haxima changes: o Wis Sanct now lists the type of trap(s) attached to a chest or mechanism. o An Sancy Ylem lists the type of trap(s) being disarmed. o After a trap is detected with Wis Sanct, the chance of disarming it is greatly improved. 2006-10-29 Kris Parker * worlds/haxima-1.002/Makefile.am, worlds/haxima-1.002/bart.scm, worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/jake.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/roland.scm, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm: sprite updates * worlds/haxima-1.002/bigobjects.png, worlds/haxima-1.002/humanoids.png: giants updated * worlds/library/artwork/humanoids/giant.xcf: hairier giant * worlds/library/artwork/humanoids/giantmage.xcf: giant mage 2006-10-29 Gordon McNutt * src/Container.cpp, src/Container.h, src/cmd.c, src/kern.c, worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/tutorial.scm: THIS WILL BREAK ALL SAVED GAMES! Kernel changes: o Stripped trap support from the Container class. Containers should only be used for abstract inventory "objects" now. o Removed kern-obj-is-trapped? and kern-obj-rm-trap. These are done in the script now. o Changed kern-mk-container to kern-mk-inventory and removed the type and trap parms. Haxima changes: o Modified code as necessary to deal with the above. * worlds/haxima-1.002/Makefile.am, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/gamestart.scm, worlds/haxima-1.002/moongate-clearing.scm, worlds/haxima-1.002/Attic/player.scm, worlds/haxima-1.002/slimy-cavern.scm, worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/traps.scm: Haxima changes: o Moved trap routines to their own file in traps.scm o Removed the obsolete player.scm file o Modified the character creation place: now that diagonal movement works the player could miss the name prompt o Changed all the places that refer directly to kern-mk-container to use one of the wrapper functions in container.scm * worlds/haxima-1.002/angriss.scm, worlds/haxima-1.002/bandit-hideout.scm, worlds/haxima-1.002/bill.scm, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/gate-guard.scm, worlds/haxima-1.002/gholet.scm, worlds/haxima-1.002/jorn.scm, worlds/haxima-1.002/kathryn.scm, worlds/haxima-1.002/luximene.scm, worlds/haxima-1.002/meaney.scm, worlds/haxima-1.002/mouse.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/slywan.scm, worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/zane.scm: Haxima changes: o Changed everything to use the new-style containers. Character inventories should be the only things that use the kernel Container class now. * worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/door.scm, worlds/haxima-1.002/traps.scm: Traps now implemented via a script object, instead of just a closure, so they can keep some state 2006-10-28 Gordon McNutt * src/menus.c, src/menus.h, src/nazghul.c: The function which displays the error message when the kernel can't find the config files no longer uses sleep(); instead it lets the user close the window normally. 2006-10-27 Kris Parker * worlds/haxima-1.002/bigobjects.png: area for 40x40 icons * worlds/haxima-1.002/humanoids.png, worlds/library/artwork/humanoids/cgoblinfighter.xcf, worlds/library/artwork/humanoids/cgoblinmage.xcf, worlds/library/artwork/humanoids/cgoblinslinger.xcf, worlds/library/artwork/humanoids/fgoblinarcher.xcf, worlds/library/artwork/humanoids/fgoblinfighter.xcf, worlds/library/artwork/humanoids/fgoblinmage.xcf: lots of goblins * worlds/library/artwork/humanoids/cgoblinciv.xcf: cave goblin paler * worlds/library/artwork/humanoids/giant.xcf: meaner, hairier giant. Think it still needs more hair tho 2006-10-27 Gordon McNutt * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/door.scm, worlds/haxima-1.002/powers.scm: Traps on doors now removable via An Sanct Ylem. * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/door.scm, worlds/haxima-1.002/ifc.scm, worlds/haxima-1.002/powers.scm: Traps on doors now detectable via Wis Sanct. 2006-10-25 Gordon McNutt * worlds/haxima-1.002/bandit-hideout.scm, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/door.scm, worlds/haxima-1.002/ifc.scm, worlds/haxima-1.002/start-new-game.scm: Traps can now be added to chests or doors. * worlds/haxima-1.002/bandit-hideout.scm, worlds/haxima-1.002/containers.scm: Added ability to attach traps to the new container implementation. An unlimited number of traps is supported. Removing, detecting and disarming traps is not yet supported. * worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/start-new-game.scm: ;;---------------------------------------------------------------------------- ;; Containers - objects that contain stuff ;;---------------------------------------------------------------------------- ;;---------------------------------------------------------------------------- ;; Local Procedures ;;---------------------------------------------------------------------------- (define (add-content quantity type) (list quantity type)) (define (mk-contents . contents) (filter notnull? contents)) (define (roll-100 prob) (>= prob (modulo (random-next) 100))) (define (roll-q dice type) (add-content (kern-dice-roll dice) type)) (define (roll-to-add prob dice type) (if (roll-100 prob) (roll-q dice type) nil)) ;;---------------------------------------------------------------------------- ;; Container Types ;;---------------------------------------------------------------------------- (mk-obj-type 't_chest "chest" s_chest layer-container nil) ;;---------------------------------------------------------------------------- ;; Container Constructors ;;---------------------------------------------------------------------------- (define (mk-chest trap contents) ;;(println "mk-chest: " trap contents) (kern-mk-container t_chest trap contents)) ;; mk-treasure-chest -- returns a chest with 1-10 random object types (define (mk-treasure-chest) (kern-mk-container t_chest nil (mk-treasure-list (+ 1 (modulo (random-next) 9))))) ;;---------------------------------------------------------------------------- ;; Corpse -- not really a container, if you search it then it sort of acts like ;; opening a container ;;---------------------------------------------------------------------------- (define (corpse-mk loot) (list loot)) (define (corpse-loot corpse) (car corpse)) (define (corpse-set-loot! corpse val) (set-car! corpse val)) (define (corpse-loot-entry-q loot) (car loot)) (define (corpse-loot-entry-type loot) (eval (cadr loot))) (define (corpse-search kobj) (let* ((corpse (kobj-gob-data kobj)) (loot (corpse-loot corpse))) (if (not (null? loot)) (let ((loc (kern-obj-get-location kobj))) (map (lambda (entry) (kern-obj-put-at (kern-mk-obj (corpse-loot-entry-type entry) (corpse-loot-entry-q entry)) loc)) loot) (corpse-set-loot! corpse nil))))) (define corpse-ifc (ifc nil (method 'search corpse-search))) (mk-obj-type 't_corpse "corpse" s_corpse layer-item corpse-ifc) (define (mk-corpse) (bind (kern-mk-obj t_corpse 1) (corpse-mk nil))) ;; mk-corpse2 -- loot: a list of (quantity type) lists (define (mk-corpse2 loot) (bind (kern-mk-obj t_corpse 1) (corpse-mk loot))) (define (mk-corpse-with-loot) (mk-corpse2 (mk-quoted-treasure-list (+ 1(modulo (random-next) 3))))) ;;---------------------------------------------------------------------------- ;; This next section is an experimental new container type. It attempts to ;; bypass the kernel's built-in Container class and implement everything in the ;; script as a normal kernel Object that responds to the 'open signal the same ;; way a kernel Container would respond to the open command. ;; ;; This currently works. The next step is to implement the ability to add (and ;; remove or disable) traps on a container. The means of doing so will be ;; implemented here in the script, so the kernel won't need to know about ;; trapped containers when this all works, and the kernel's Container class can ;; be stripped back to a basic Inventory class. ;; Define the gob structure and procedures. The contents should be a single ;; quoted list, for example: ;; ;; '((t_sword 1) ;; (t_arrow 5) ;; (t_torch 2))) ;; ;; Using the quotes is not only cleaner in the declarations, it automatically ;; ensures that the contents are safe to save and reload as part of the gob ;; because they are stored in the gob merely as symbols. ;; ;; Each container has a (often empty) list of traps, where each trap is the ;; symbol for a procedure of the form (foo ). The symbol is ;; used instead of the actual procedure so that the list of traps can be saved ;; and re-loaded. ;; (define (mk-container contents) (list 'container contents nil)) (define (is-container? gob) (eq? (car gob) 'container)) (define (container-contents gob) (car (cdr gob))) (define (container-traps gob) (car (cdr (cdr gob)))) (define (container-set-traps! gob traps) (set-car! (cdr (cdr gob)) traps)) (define (content-type content) (car content)) (define (content-quantity content) (cadr content)) (define (container-add-trap! gob trap) (container-set-traps! gob (cons trap (container-traps gob)))) ;; This is the heart of the implementation. This procedure runs when the ;; container object gets the 'open signal, which is sent by the kernel in ;; response to the player's o)pen command followed by selection of this ;; object. It expects kobj to be a kernel object which is bound to a container ;; gob following the above format (the constructors further down illustrate how ;; to create such an object). ;; ;; Opening the container creates objects based on the types and quantities ;; listed in the container's content list and deposits these objects on the ;; ground where the container is. Then it removes the container, which likely ;; results in its destruction. ;; ;; Before opening this applies all the traps attached to the container. Note ;; that the self-destruct trap, as currently implemented, does not work as ;; expected, because it relies on the removal of the container from the map as ;; a means of destroying it; and that is not sufficient here. (define (kcontainer-open kobj kchar) (let ((container (kobj-gob-data kobj)) (loc (kern-obj-get-location kobj)) (thief-dice (string-append "1d" (number->string (occ-ability-thief kchar)))) ) (println container) ;; Applying traps can destroy both kobj and kchar (kern-obj-inc-ref kobj) (kern-obj-inc-ref kchar) ;; Apply traps (map (lambda (trap) (let ((roll (kern-dice-roll "1d20")) (bonus (kern-dice-roll thief-dice))) (println trap " roll:" roll "+" bonus) (cond ((or (= roll 20) (> (+ roll bonus) 20)) (kern-log-msg (kern-obj-get-name kchar) " avoids a trap!")) (else (kern-log-msg (kern-obj-get-name kchar) " trips a trap!") (apply (eval trap) (list kchar kobj)))))) (container-traps container)) ;; Spill contents (map (lambda (content) (println content) (let ((newobj (kern-mk-obj (eval (content-type content)) (content-quantity content)))) (kern-obj-put-at newobj loc))) (container-contents container)) ;; Remove the container from the map (kern-obj-remove kobj) ;; Done with references (kern-obj-dec-ref kobj) (kern-obj-dec-ref kchar) )) ;; This interface binds the 'open signal to our open procedure above. (define container-ifc (ifc '() (method 'open kcontainer-open))) ;; This constructor makes new types of objects that conform to the container ;; interface above. An example of usage is below, where I make a new chest ;; type. (define (mk-container-type tag name sprite) (mk-obj-type tag name sprite layer-mechanism container-ifc)) ;; Test it out. First, make a new chest type. (mk-container-type 't_chest2 "chest" s_chest) ;; Define a constructor for an object of the new chest type. Example usage: ;; ;; (put (mk-chest2 '((t_sword 1) ;; (t_arrow 5) ;; (t_torch 2))) ;; 5 8) ;; ;; * Note the use of a quoted list. ;; (define (mk-chest2 ktype-q-pairs) (bind (kern-mk-obj t_chest2 1) (mk-container ktype-q-pairs))) (define (chest2-add-trap kobj trap) (container-add-trap! (kobj-gob-data kobj) trap)) 2006-10-24 Gordon McNutt * worlds/haxima-1.002/bandit-hideout.scm, worlds/haxima-1.002/containers.scm: Started a new implementation of container objects (like chests) that will be done entirely in the script. This is a preliminary step to adding traps on doors and other non-container mechanisms. 2006-10-23 Gordon McNutt * src/object.c, worlds/haxima-1.002/Makefile.am, worlds/haxima-1.002/bandit-hideout.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/step.scm: Kernel changes: o Bugfix: the crosshair object was triggering sense mechanisms Haxima changes: o Started a new entry-level quest dungeon for L1 players 2006-10-21 Gordon McNutt * src/ascii.c, src/status.c: Fixed some compiler errors and warnings that occur with newer versions of g++ * worlds/haxima-1.002/start-new-game.scm: I keep forgetting to undo my test changes to start-new-game.scm... 2006-10-20 Gordon McNutt * src/cmd.c, src/cmdwin.c: Fixed some command error messages that were only being printed to the cmdwin, where they were promptly erased before the player could read them 2006-10-15 Kris Parker * worlds/library/artwork/humanoids/cgoblinciv.xcf: basic cave goblin * worlds/library/artwork/humanoids/deadknight.xcf: Deathknight glow effects tweaked * worlds/library/artwork/humanoids/fgoblinciv.xcf: smaller goblin * worlds/library/artwork/humanoids/giant.xcf: draft giant/ettin 2006-10-14 Kris Parker * worlds/library/artwork/humanoids/fgoblinciv.xcf: first attempt at forest goblins 2006-10-14 Gordon McNutt * src/map.c, src/sprite.c: Added initial support for giant sprites. 2006-10-13 Kris Parker * worlds/haxima-1.002/hirespeople.png: tonights icons in 32x32 * worlds/library/artwork/hirespeople/beggar.xcf: beggar icon * worlds/library/artwork/hirespeople/child.xcf, worlds/library/artwork/hirespeople/generic.xcf: child icon added. generic townsman cleaned up * worlds/library/artwork/hirespeople/fencer.xcf: the companion_bard icon isnt used anywhere according to grep. (probably too generic looking). Anyway, Ive put together this 2 weapon fencer to get rid of the gaping hole in my icons page * worlds/library/artwork/hirespeople/fighter.xcf, worlds/library/artwork/hirespeople/paladin.xcf: fighter/paladin given shoulderguards * worlds/library/artwork/hirespeople/jester.xcf: jester icon * worlds/library/artwork/hirespeople/knight.xcf: knight icon * worlds/library/artwork/hirespeople/minstrel.xcf: minstrel icon * worlds/library/artwork/humanoids/deadknight.xcf: animated armour icon 2006-10-12 Kris Parker * worlds/haxima-1.002/hirespeople.png, worlds/library/artwork/hirespeople/fatwoman.xcf: fat woman sprite * worlds/haxima-1.002/hirespeople.png, worlds/library/artwork/hirespeople/lady.xcf: lady sprite * worlds/haxima-1.002/hirespeople.png, worlds/library/artwork/hirespeople/cloackedf.xcf, worlds/library/artwork/hirespeople/rmage.xcf, worlds/library/artwork/hirespeople/rogue.xcf, worlds/library/artwork/hirespeople/roguef.xcf, worlds/library/artwork/hirespeople/xbowman.xcf: more sprites 2006-10-11 Kris Parker * worlds/haxima-1.002/hirespeople.png, worlds/library/artwork/hirespeople/avatar.xcf, worlds/library/artwork/hirespeople/shopkeep.xcf, worlds/library/artwork/hirespeople/shopkeepf.xcf: new: female shopkeeper, avatar shopkeeper now uses mages body weight, instead of fighters 2006-10-10 Kris Parker * worlds/haxima-1.002/hirespeople.png, worlds/library/artwork/hirespeople/druid.xcf: new druid icon * worlds/haxima-1.002/hirespeople.png: shepherd icon replaced * worlds/haxima-1.002/hirespeople.png: initial batch of highres people icons * worlds/library/artwork/hirespeople/enchanter.xcf, worlds/library/artwork/hirespeople/fighter.xcf, worlds/library/artwork/hirespeople/generic.xcf, worlds/library/artwork/hirespeople/mage.xcf, worlds/library/artwork/hirespeople/necromancer.xcf, worlds/library/artwork/hirespeople/paladin.xcf, worlds/library/artwork/hirespeople/pikeman.xcf, worlds/library/artwork/hirespeople/ranger.xcf, worlds/library/artwork/hirespeople/shopkeep.xcf, worlds/library/artwork/hirespeople/silas.xcf, worlds/library/artwork/hirespeople/tinker.xcf, worlds/library/artwork/hirespeople/wanderer.xcf: initial batch of highres icon working files * worlds/library/artwork/hirespeople/shepherd.xcf: shepherd icon 2006-10-06 Gordon McNutt * src/ascii.c, src/images.c, src/nazghul.c, src/screen.c: Added a C source code XPM to provide a set of "emergency" ASII images. These are used to display a crude error message in a window if nazghul encounters an error during or before it can load the basic init script. 2006-10-04 Gordon McNutt * src/cmd.c, src/cmd.h, src/conv.c, src/conv.h, src/menus.c, src/sched.c, src/sched.h: o Bugfix: the filename prompt from the Save Game menu allowed invalid and undesirable characters for filenames o Bugfix: t)alking to an NPC when hostiles present caused assert o Bugfix: deleting a saved game with a non-existent save file caused assert o Bugfix: entering '%' during conversation caused a crash o Bugfix: entering '^' during conversation caused error messages and problems with text colors 2006-10-03 Gordon McNutt * src/character.cpp, src/character.h, src/ctrl.c: Improved fleeing by another notch. Fleeing NPC's in town or wilderness combat now attempt to pathfind to the nearest edge. Failing that, they fall back on evasion. Failing that, they fall back on fighting. 2006-10-02 Gordon McNutt * src/astar.h, src/character.cpp, src/character.h, src/ctrl.c: o Improved the algorithm used by NPCs to flee. It now uses the basic adaptvie evasion algorithm where it tries to run away from current hostile positions. If a fleeing NPC gets stuck it doesn't just sit there helplessly, but will turn and fight. More improvements are planned. 2006-10-01 Gordon McNutt * src/character.cpp, src/sched.h: o Bugfix: "angry townfolk wont move or attack past their assigned locations, making them pretty much sitting ducks". If hostiles are present, the schedule is ignored and the AI run instead. * src/cmd.c, src/result.h, worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/powers.scm: o Added a new result code from spells: result-no-hostiles o The area effect sleep spell now returns result-no-hostiles if there are none, so the console can tell the player why his sleep spell has no effect in town. 2006-09-30 Gordon McNutt * doc/USERS_GUIDE, src/astar.c, src/cmd.c: o Pathfinding code now uses diagonals o Made the '5' key on the keypad mean "select" in the movecursor function o When buying/selling, reverted foogod window to show party gold instead of UI hints * src/character.cpp: o Bugfix: t)alk auto-targeting broken. I don't think it was actually broken. Anyway, I can't reproduce it now. But I did fix something similar: when reloading a saved game NPC's are no longer teleported to the upper left corner of their appointment rectangle if they are already in the rectangle. Without this NPC's could get stacked on the same tile on reload, making the auto-targeting appear to "stick" on a character when it was actually cycling over the characters hidden below it. * src/cmd.c: Tying to cast non-existend spells results in a None Mixed! error, so player cannot guess at spells without mixing them * src/cmd.c, worlds/haxima-1.002/scrolls.png, worlds/haxima-1.002/scrolls.scm: Kernel changes: o Bugfix: x)amine with x-ray no longer says "Can't see!" Haxima changes: o Added a Wis An Ylem (x-ray) scroll and sprite. * src/cmd.c, src/combat.c, src/menus.c: o Bugfix: NPC's attacking on diagonal hit assert o When showing saved game screen screen shots, moved the "SCREEN SHOT" text higher so the center is visible. * src/cmd.c, src/ctrl.c, src/menus.c: o Added diagonal movement using number keypad. o Made the '5' key on the keypad mean "select" in most menus. o Bugfix: cmdwin prompts had extra '-' in camping command * src/object.c: o Workaround: for [SF 1564243], crash on reload. The root cause is improper order of destruction of objects. A good fix would use reference counts to control that, but implementing it would probably add lots of new bugs, so I'm too chicken to do it right now. I've logged a feature request to address this when I'm feeling more courageous (or when this workaround proves to be insufficient). * worlds/haxima-1.002/goblin-kingdoms.scm: Added some corpses to troll's den 2006-09-29 Gordon McNutt * src/menus.c, src/status.c, src/status.h: Page up/down and Home/end now work with the saved game menus and other string or generic lists * src/nazghul.c: When the game ends it falls back to the main menu. * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/goblin-kingdoms.scm: o Bugfix: fireball spell was being cast on the caster, not the target o Added more combatants to the Goblin Crossroads dungeon room battle o Added loot chests to the Shamans Grove dungeon room * worlds/haxima-1.002/ai.scm: Removing some debug * worlds/haxima-1.002/roland.scm, worlds/haxima-1.002/slimy-cavern.scm, worlds/haxima-1.002/start-new-game.scm: Added more loot to Roland's cave 2006-09-28 Gordon McNutt * src/menus.c, src/status.c, src/status.h: Added a delete command to the load/save menus so players can delete saved games they don't want anymore. * src/menus.c: N)ew Game is now always top on the Save Game menu, and current saved game is always next 2006-09-27 Gordon McNutt * src/menus.c, src/status.c, src/status.h: Hacked-in hotkeys for the main menus 2006-09-26 Kris Parker * worlds/haxima-1.002/Makefile.am: updated makefile 2006-09-26 Gordon McNutt * src/ascii.c, src/cmd.c, src/cmd.h, src/foogod.c, src/foogod.h, src/kern.c, src/menus.c: The foogod window now has a hint mode, where it can show UI hints * src/cmd.c: Only one AP taken per mix command * worlds/haxima-1.002/charset.png: Added symbols for sideways arrows 2006-09-25 Gordon McNutt * src/map.c, src/map.h, src/menus.c, src/nazghul.c, src/play.c: Saved-game screenshots implemented, not fully tested yet 2006-09-24 Kris Parker * worlds/haxima-1.002/enchanters-tower-mech.scm, worlds/haxima-1.002/enchanters-tower.scm: more wierdness for enchy's new lab * worlds/haxima-1.002/enchanters-tower-mech.scm, worlds/haxima-1.002/enchanters-tower.scm: Enchanters tower expanded * worlds/haxima-1.002/tools.scm: clocks are impassable * worlds/haxima-1.002/tools.scm: gems work with new spell system added invisible object based wall 2006-09-24 Gordon McNutt * src/map.c, src/map.h, src/menus.c, src/screen.c, src/screen.h: o Added screenCapture(), which will save some or all of the current screen to a PNG file. o Saved-game screenshots partially implemented. Saving a game creates a screenshot of the map named after the save file. The screenshots aren't yet shown in the load/save menus. 2006-09-23 Gordon McNutt * src/list.h, src/menus.c: o Re-organized the code that handles saved games to use a struct. o The saved games are now presented in order sorted by save time, youngest first. * src/menus.c, src/menus.h: o Menus now cache the saved game list instead of re-evaluating the script every time for the save/load menus. o When a game is saved, the saved name becomes the new "current" game. o The current game is always listed at the top of the load/save list and is highlighted by default for quick access. Other saves continue to be listed in timestamp order, oldest last. 2006-09-22 Kris Parker * worlds/haxima-1.002/powers.scm: field spells have variable duration 2006-09-22 Gordon McNutt * src/Party.cpp, src/cmd.c, src/kern.c, src/menus.c, src/status.c, src/status.h: Generic and string lists now specify titles in the status UI * src/menus.c: The filename for the currently loaded game is marked with an '*' in the load and save menus. 2006-09-21 Kris Parker * src/object.c: fixed crash due to my last "fix" using obj_dec_ref too often 2006-09-21 Gordon McNutt * doc/MAP_HACKERS_GUIDE: Added some basic map-editing instructions * src/cmd.c, src/menus.c, src/nazghul.c: Dates now added to save game menu * src/dimensions.c, src/dimensions.h: Bugfix: STAT_W was counting the frame boundaries * src/menus.c: Bugfix: after choosing from the Load Saved Game menu, it would repaint but your selection would have not data * src/menus.c: Added dates to the Load Saved Game menu options * worlds/haxima-1.002/Makefile.am: Bugfix: some new files missing in the install list * worlds/haxima-1.002/scrolls.scm: Temp hack to keep saved games working with old scroll names 2006-09-20 Kris Parker * src/clock.c, src/clock.h, src/status.c: effects display allows remaining duration and unknown duration * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/spells.scm: spell cleanups * worlds/haxima-1.002/effects.scm: another attempt at a light spell 2006-09-20 Gordon McNutt * src/menus.c, src/menus.h, src/scheme.c: Journey Onward now loads most recently saved game. Load Game lets the player pick from available saved games. 2006-09-19 Kris Parker * src/object.c: fixed crash in ifc sense handling when cutscene deleted mech * worlds/haxima-1.002/cast-ui.scm: vas rel por reinstated 2006-09-18 Kris Parker * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/books.scm, worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/mans-hideout.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/scrolls.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/thiefs_den.scm, worlds/haxima-1.002/tooth.scm: most spells debugged 2006-09-18 Gordon McNutt * worlds/haxima-1.002/adornments.png, worlds/haxima-1.002/arms.png, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/sprites.scm: o Moved paper-doll staff (and glow) to arms.png o Added paper-doll halberd 2006-09-17 Kris Parker * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/arms.png, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/spells.scm: new spell- web * worlds/haxima-1.002/books.scm, worlds/haxima-1.002/enchanters-tower.scm: a spellbook for one of the new spells * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm: spell bug fixes * worlds/haxima-1.002/tools.png, worlds/haxima-1.002/tools.scm: book shelf object 2006-09-16 Kris Parker * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/spells.scm: more spell updating ... level 8! * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/spells.scm: more spell updating 7 2006-09-16 Gordon McNutt * doc/MAP_HACKERS_GUIDE, src/kern.c, src/object.c, src/sprite.c, src/sprite.h, worlds/haxima-1.002/arms.scm: Kernel changes: o Added kern-sprite-blit-over to allow layered non-composite sprites. 0 Bugfix when reloading a game that involves type gobs. Haxima changes: o Made the staff "ready" sprite be blitted instead of composite. This preserves its glow effect across a ready/unready cycle. * src/kern.c, src/sprite.c, src/sprite.h, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/species.scm: Kernel changes: o Added kern-sprite-strip-decorations to facilitate rebuilding decorated sprites Haxima changes: o Changed the slot ordering for species to follow the rendering order for paper dolls. o Fixed the ready/unready effect hooks to rebuild the character's sprite if it supports a paper-doll. o Modified the staff arms type to store the paper-doll staff sprite in the type gob. * src/kern.c, src/sprite.c, src/sprite.h: Got rid of kern-sprite-tint; apply-matrix is better * worlds/haxima-1.002/naz.scm: Made a version of mk-composite-sprite which doesn't clone the base sprite 2006-09-15 Kris Parker * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/spells.scm: more spell updating * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/spells.scm: more spell updating 6 * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/spells.scm: more spell updating 5 * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/spells.scm: more spell updating 4 2006-09-14 Kris Parker * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/spells.scm: more spell updating * worlds/haxima-1.002/sprites.scm: fixed sprites off by one 2006-09-13 Gordon McNutt * doc/MAP_HACKERS_GUIDE: Cleaned up the introduction * doc/MAP_HACKERS_GUIDE: Added docs for kern-type-set/get-gob and comments about object types and gobs * src/Party.cpp, src/character.cpp, src/closure.c, src/closure.h, src/ctrl.c, src/object.c, src/object.h, src/place.c: o Object hooks now run with variable argument lists. * src/character.cpp, src/kern.c, src/object.c, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/start-new-game.scm: Kernel changes: o Changed kern-obj-type-set/get-gob to kern-type-set/get-gob o Added Scheme-to-kernel conversions for the ready/unready hook names o Bugfix: character was using a bad format arg for runHook() call Haxima changes: o Added a placeholder ready and unready effect that just print the equipment name and the affected slot. * src/character.cpp, src/kern.c, src/object.c: o Character's now run the "ready" and "unready" hooks o Added kern-obj-type-set/get-gob 2006-09-12 Kris Parker * worlds/haxima-1.002/tools.scm: fixed mirror/clock pclass being lost on reload 2006-09-12 Gordon McNutt * src/character.cpp, src/closure.c, src/closure.h, src/object.c, src/object.h, src/sprite.c: A few preliminary changes needed for the READY/UNREADY hooks * src/scheme.c: Fixed the 'mismatched parenthesis: -1' error emitted by scheme when a file ends in ) 2006-09-11 Gordon McNutt * worlds/haxima-1.002/adornments.png, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/kalcifax.scm, worlds/haxima-1.002/sprites.scm: o Added a staff and a staff glow sprite for wizards. * worlds/haxima-1.002/adornments.png, worlds/haxima-1.002/kalcifax.scm, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm: o Added some humanoid hair sprites. * worlds/haxima-1.002/bodies.png, worlds/haxima-1.002/clothes.png, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/kalcifax.scm, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/start-new-game.scm: o Added two more frames to the body and the robe template sprites. o Added a mantle sprite to wear over robes. 2006-09-10 Kris Parker * src/character.cpp, src/character.h, src/cmd.c, src/object.c, src/object.h, src/place.c, src/place.h: first pass at detailed xamine * src/kern.c: added kern-stdout-msg to log to stdout * src/object.c, src/object.h: new standard ifc: 'sense' to detect all incoming/outgoing objects * worlds/haxima-1.002/addons.png: switch icon symetry fixed so they dont move when flipped * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/spells.scm: more spell sorting * worlds/haxima-1.002/ifc.scm, worlds/haxima-1.002/tools.scm: clocks xamineable * worlds/haxima-1.002/ifc.scm, worlds/haxima-1.002/step.scm: sense ifc scheme implementation * worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/tools.png, worlds/haxima-1.002/tools.scm: improved mirror 2006-09-10 Gordon McNutt * doc/MAP_HACKERS_GUIDE: Time to start updating this * src/Missile.cpp, src/character.cpp, src/kern.c, src/object.c, src/sprite.c, src/sprite.h, worlds/haxima-1.002/Makefile.am, worlds/haxima-1.002/adornments.png, worlds/haxima-1.002/bodies.png, worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/clothes.png, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/step.scm, worlds/haxima-1.002/tools.scm: Kernel changes: o Objects now save their custom sprites, if they have any, by generating a kern-obj-set-sprite call. o Objects now use a 'let' block when saving themselves. o Cloned sprites now take an optional tag. If none is provided their tag is set to NULL. o Composite sprites now save themselves. o Added kern-sprite-apply-matrix, which will apply a color-correction matrix to a sprite in order to change its color scheme. Haxima changes: o Calls to kern-sprite-clone update to pass the tag. o Added 3 new sprite sets for paper doll development (bodies, adornments and clothes). o Added an example call to kern-sprite-apply-matrix which turns a gray robe blue. o The enchanter now uses a paper doll sprite. o The sensor object now takes its target as a tag so it can save/reload. o The mirror object now takes its background sprite as a tag so it can save/reload properly. * src/sprite.c, worlds/haxima-1.002/bodies.png, worlds/haxima-1.002/clothes.png, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/start-new-game.scm: Kernel changes: o Fixed a bug in sprite_apply_matrix. Only the first frame of multi-frame sprites was being processed correctly. Also added some minor speed hacks. Haxima changes: o Added another animation frame to the body and robe sprites. * worlds/haxima-1.002/start-new-game.scm: Oops. Didn't mean to check in this file on the last commit. 2006-09-06 Gordon McNutt * src/sprite.c: o Tinted sprites now use caching to improve rendering speed. * src/sprite.c: Added sprite_new_internal() to pave the way for optimized tinted sprites * src/sprite.c: Fixed faded sprites to work with new RGBA images 2006-09-05 Gordon McNutt * src/Missile.cpp, src/cmdwin.c, src/kern.c, src/map.c, src/nazghul.c, src/object.c, src/place.c, src/play.c, src/player.cpp, src/screen.c, src/sky.c, src/sprite.c, src/sprite.h, src/status.c, src/Attic/tile.c, src/vehicle.cpp: o Cleanup: changed sprite API to consistently use underscores instead of mixed-case. * src/Party.cpp, src/character.cpp, src/cmd.c, src/cmd.h, src/ctrl.c, src/kern.c, src/place.c, src/player.cpp, src/session.c, src/sky.c, src/sprite.c, src/sprite.h, src/vehicle.cpp: o Made the sprite definition hidden outside of sprite.c. o Removed the cmdDumpPalette function as a result of the above. I don't think anyone uses it anymore. * src/sprite.c: o Cleanup: removed obsolete references to palettized surfaces from sprite.c. 2006-09-03 Gordon McNutt * src/cmd.c, src/cmd.h, src/kern.c: Added the a)ttack cursor movement shortcut keys to t)alk and targeted spells. * src/kern.c, src/sprite.c, src/sprite.h: Initial (and very inefficient) cut at sprite-tinting. * worlds/haxima-1.002/spells.scm: Bugfix in grav por 2006-09-01 Kris Parker * worlds/haxima-1.002/absalot.scm, worlds/haxima-1.002/bole.scm, worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/endless-deeps.scm, worlds/haxima-1.002/engineers-hut.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/gregors-hut.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/portals.scm: Added many clocks * worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/tools.scm: New furniture- mirrors 2006-08-31 Kris Parker * worlds/haxima-1.002/abandoned-farm.scm, worlds/haxima-1.002/tools.scm: Broken clock available. Example at abandoned farm * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/spells.scm: 1st circle spells with split off ui and caster stats * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/tools.scm: Clock faces show approximate time 2006-08-30 Kris Parker * worlds/haxima-1.002/tools.png, worlds/haxima-1.002/tools.scm: clock icon v3 2006-08-29 Kris Parker * worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/trigrave.scm: A few clocks added to the world. * worlds/haxima-1.002/tools.png, worlds/haxima-1.002/tools.scm: Not entirely happy with the icon yet, but heres a clock town feature 2006-08-28 Kris Parker * doc/null.gif, doc/users_guide.html: 2nd pass at manual. * doc/users_guide.html, scripts/tocinator.pl: autogenerated table of contents for manual * doc/users_guide.html: Manual setup notes added as comment 2006-08-27 Kris Parker * doc/users_guide.html: First pass at html manual. Still a fair amount of cleaning up needed * src/clock.c, src/clock.h, src/cmd.c: at gives vague description rather than accurate time * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/shapes.png: alpha tweaks * worlds/haxima-1.002/arms.png, worlds/haxima-1.002/potions.png: arms and potion sprites alphanated * worlds/haxima-1.002/books.png, worlds/haxima-1.002/food.png, worlds/haxima-1.002/jewelry.png: transparent shadows * worlds/haxima-1.002/effects.png: Global effects (timestop, quicken, antimagic) given effect icons * worlds/haxima-1.002/tools.png, worlds/haxima-1.002/tools.scm: added an in-game clock 2006-08-27 Gordon McNutt * src/ascii.c, src/screen.c, worlds/haxima-1.002/charset.png: Support for 32 bit-per-pixel colored text added to ascii.c. Screen bits-per-pixel changed to 32, and charset.png updated to the 32 PNGA version. * src/cmd.c: Fixed a couple of bugs in X)amine caused by recent cursor-movement changes * src/images.c: Transparent blitting now works for images with an alpha channel. * src/screen.c: Hack to support scaling images with alpha channel. * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/books.png, worlds/haxima-1.002/food.png, worlds/haxima-1.002/jewelry.png, worlds/haxima-1.002/money.png, worlds/haxima-1.002/moons.png, worlds/haxima-1.002/newfolks.png, worlds/haxima-1.002/newmonst.png, worlds/haxima-1.002/newterrain.png, worlds/haxima-1.002/reagents.png, worlds/haxima-1.002/rune.png, worlds/haxima-1.002/runestones.png, worlds/haxima-1.002/scrolls.png, worlds/haxima-1.002/shapes.png, worlds/haxima-1.002/special.png, worlds/haxima-1.002/tools.png: Updated images to John's RGBA versions * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/start-new-game.scm: Moved max-health to game.scm so it will be defined even for saved games 2006-08-26 Kris Parker * src/Party.cpp, src/Party.h, src/combat.c, src/player.cpp: characters at top of party list move first and are placed further into maps on entry 2006-08-26 Gordon McNutt * src/Makefile.am, src/screen_dims.h: Forgot to add a new file on my last * src/ascii.h, src/cfg.c, src/cfg.h, src/character.cpp, src/cmd.c, src/cmd.h, src/ctrl.c, src/dimensions.c, src/kern.c, src/menus.c, src/menus.h, src/nazghul.c, src/sound.c, src/sound.h, src/status.c: o Added a Settings menu to change the screen size and turn sound on and off. This is accessible from the startup menu or via the F10 key. o Changed the way the status browser handles generic list selection. Instead of always switching to tall mode it sets its height based on the number of entries in the list. 2006-08-24 Kris Parker * src/cmdwin.c: cmdwin_vpush now +1 vs nullpointers 2006-08-20 Kris Parker * doc/USERS_GUIDE, worlds/haxima-1.002/arms.scm: all weapons bonusized * scripts/blenddat.txt: re-blending rivers was broken * src/Arms.cpp, src/Arms.h, src/kern.c, worlds/haxima-1.002/arms.scm: bonus modifiers shifted out to arms.scm * src/Arms.cpp, src/Arms.h, src/character.cpp, src/character.h, src/ctrl.c: Instead of using fixed bonus modifiers, combat now queries them from weapons (which use fixed bonus modifiers- sigh) * worlds/haxima-1.002/arms.scm: melee weapon bonuses set 2006-08-20 Gordon McNutt * doc/USERS_GUIDE, src/Missile.cpp, src/Party.cpp, src/character.cpp, src/cmd.c, src/cmd.h, src/kern.c, src/object.c, src/player.cpp, src/vehicle.cpp, src/vehicle.h, worlds/haxima-1.002/bart.scm, worlds/haxima-1.002/edge-spawn.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/prices.scm, worlds/haxima-1.002/terrain-to-ptype.scm: o You can now sink empty ships with cannons. o You can sell surplus ships to Bart in Oparine. o You can name your ship when you board. Unnamed deserted ships will disappear from the map after some time has passed. o Tweaked down the sea monster encounters. Monotonous. o Temporary NPC parties weren't saving their time-to-live, so on reload they were permanent, meaning they accumulated until the player encountered them. * src/cmd.c: Pressing a digit followed by the arrow key will make the cursor jump that distance when targeting * src/cmd.c, src/cmd.h, src/ctrl.c, src/kern.c: Added shortcut keys for moving attack cursor * src/ctrl.c: Targeting self for attack switches weapons 2006-08-19 Kris Parker * src/character.cpp: (x % 0) does nasty things to the system, so adding one to base attack/defense bonus. * src/character.cpp: groupExitTo calling closure_exec with NULL caused crash * src/character.cpp, src/character.h, src/ctrl.c, src/kern.c, src/session.c, src/session.h, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/occs.scm: First pass at stats affecting combat 2006-08-19 Gordon McNutt * src/Party.cpp, src/cmd.c, src/cmdwin.c, src/cmdwin.h, src/conv.c, src/ctrl.c, src/kern.c, src/menus.c, src/player.cpp, src/status.c, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/jess.scm: Re-wrote the cmdwin API and updated callers * src/closure.c: Another way to fix closure_exec(0) * src/closure.c: closure_exec() now coerces returned floating-point values to ints * src/cmd.c, src/event.c, src/event.h: Mouse targeting done * src/cmd.c, src/event.c, src/map.c, src/map.h: Initial hack at mouse targeting * src/cmdwin.c: cmdwin now right-justifies if string is too long to fit in window * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/kraken-lakes.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/shapes.png, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm: Added dirt and gravel terrain * worlds/haxima-1.002/arms.png, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/potions.png, worlds/haxima-1.002/potions.scm: Added some potion sprites * worlds/haxima-1.002/arms.scm: Needs some polish, but I had to add Vial of Slimes before I forgot about it * worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/tooth.scm: Vials of slime 2006-08-17 Kris Parker * worlds/haxima-1.002/ability.scm: Ok, the fireball now mostly does what I want, but its awfally hacky 2006-08-16 Kris Parker * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/arms.scm: first pass at more interesting fireball * worlds/haxima-1.002/potions.scm: missing '+' in stat potions 2006-08-15 Kris Parker * src/character.cpp, src/character.h, src/kern.c, src/object.c, src/object.h: added kern-obj-inflict-damage- damage stuff with diplomatic and xp side effects * src/cmd.c, src/player.cpp, src/player.h: Equipment sort on R)eady occurs before and after selection, rather that interrupt the ui * src/kern.c: Added kern-init-random reseed rng based on time till script starts * src/status.c: Ready listing shows available quantity of weapons, not total quantity * worlds/haxima-1.002/ability.scm: magic missiles gives xp/annoys target * worlds/haxima-1.002/game.scm: Reseeds rng on script start * worlds/haxima-1.002/spells.scm: Cleaned out some debugging stuff left in by accident 2006-08-14 Kris Parker * src/cmd.c: Confirmation for quit without saving 2006-08-14 Gordon McNutt * src/Container.cpp, src/Container.h, src/cmd.c, src/cmdwin.c: U)sed and R)eadied items get moved to the top of the inventory list 2006-08-13 Kris Parker * worlds/haxima-1.002/trigrave.scm: fixed ai typo 2006-08-13 Gordon McNutt * doc/USERS_GUIDE, worlds/haxima-1.002/books.scm: Added the L)oiter command to the docs * doc/USERS_GUIDE: Updated section on status codes * doc/USERS_GUIDE: Fixed up the comments around saving and quitting * src/Makefile.am, src/cmd.c, src/cmd.h, src/common.c, src/common.h, src/ctrl.c, src/file.c, src/file.h, src/images.c, src/menus.c, src/nazghul.c, src/scheme.c, src/session.c, src/sound.c: Part 1 of some cleanup; consolidating file utility functions * src/Makefile.am, src/cmd.c, src/cmd.h, src/ctrl.c, src/kern.c, src/menus.c, src/menus.h, src/nazghul.c, src/node.c, src/node.h, src/play.c, src/session.c, worlds/haxima-1.002/kern-init.scm: Initial cut at multiple save games * src/character.cpp, src/kern.c, worlds/haxima-1.002/abe.scm, worlds/haxima-1.002/abigail.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/alex.scm, worlds/haxima-1.002/amy.scm, worlds/haxima-1.002/angela.scm, worlds/haxima-1.002/anne.scm, worlds/haxima-1.002/bart.scm, worlds/haxima-1.002/bill.scm, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/deric.scm, worlds/haxima-1.002/doris.scm, worlds/haxima-1.002/douglas.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/fing.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/gregors-hut.scm, worlds/haxima-1.002/hackle.scm, worlds/haxima-1.002/henry.scm, worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/jake.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/jess.scm, worlds/haxima-1.002/joel.scm, worlds/haxima-1.002/jones.scm, worlds/haxima-1.002/kalcifax.scm, worlds/haxima-1.002/lia.scm, worlds/haxima-1.002/may.scm, worlds/haxima-1.002/meaney.scm, worlds/haxima-1.002/melvin.scm, worlds/haxima-1.002/mesmeme.scm, worlds/haxima-1.002/miggs.scm, worlds/haxima-1.002/moongate-clearing.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/necromancer.scm, worlds/haxima-1.002/oscar.scm, worlds/haxima-1.002/patch.scm, worlds/haxima-1.002/roland.scm, worlds/haxima-1.002/selene.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/slywan.scm, worlds/haxima-1.002/steward.scm, worlds/haxima-1.002/the-man.scm, worlds/haxima-1.002/thud.scm, worlds/haxima-1.002/tooth.scm, worlds/haxima-1.002/trigrave.scm, worlds/haxima-1.002/zane.scm: Feature request filled: NPC's as light sources * src/character.cpp, src/character.h, src/cmd.c, src/cmd.h, src/ctrl.c, src/file.c, src/player.cpp, src/player.h: Hacked in a L)oiter command to pass time * src/cmd.c, src/file.c, src/file.h, src/menus.c, src/nazghul.c, src/play.c, src/scheme.c, src/scheme.h, src/session.c, src/session.h: Cleanup 2: everyplace is now using the same common file access functions * worlds/haxima-1.002/gamestart-mech.scm, worlds/haxima-1.002/gamestart.scm, worlds/haxima-1.002/moongate.scm, worlds/haxima-1.002/start-new-game.scm: Bugfix: subtle bug when saving/reloading from the character creation room 2006-08-12 Kris Parker * worlds/haxima-1.002/occs.scm: First pass at combat occ-abilities * worlds/haxima-1.002/potions.scm: Testing stuff enhanced 2006-08-12 Gordon McNutt * src/status.c: Bug in ztats showing items in use * worlds/haxima-1.002/Makefile.am: Some new files needed to be added so they will get installed with make install 2006-08-10 Kris Parker * worlds/haxima-1.002/newfolks.png, worlds/haxima-1.002/shapes.png: Fixed some of the more excessive graphics glitches (perforated paladins, pink rats, etc) 2006-08-08 Kris Parker * src/character.cpp, src/status.c: character::getXpForLevel(1) now returns 0 creating characters with 0 xp now gives them min xp for their level creating characters with -ve xp now gives them random xp appropriate for their level * src/status.c: XP and Lvl labels were on wrong screens * worlds/haxima-1.002/abe.scm, worlds/haxima-1.002/abigail.scm, worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/alex.scm, worlds/haxima-1.002/amy.scm, worlds/haxima-1.002/angela.scm, worlds/haxima-1.002/angriss.scm, worlds/haxima-1.002/anne.scm, worlds/haxima-1.002/bart.scm, worlds/haxima-1.002/bill.scm, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/dennis.scm, worlds/haxima-1.002/deric.scm, worlds/haxima-1.002/doris.scm, worlds/haxima-1.002/douglas.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/fing.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/ghertie.scm, worlds/haxima-1.002/gholet.scm, worlds/haxima-1.002/gregors-hut.scm, worlds/haxima-1.002/hackle.scm, worlds/haxima-1.002/henry.scm, worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/jake.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/jess.scm, worlds/haxima-1.002/joel.scm, worlds/haxima-1.002/jones.scm, worlds/haxima-1.002/jorn.scm, worlds/haxima-1.002/kalcifax.scm, worlds/haxima-1.002/kama.scm, worlds/haxima-1.002/kathryn.scm, worlds/haxima-1.002/lia.scm, worlds/haxima-1.002/luximene.scm, worlds/haxima-1.002/may.scm, worlds/haxima-1.002/meaney.scm, worlds/haxima-1.002/melvin.scm, worlds/haxima-1.002/mesmeme.scm, worlds/haxima-1.002/miggs.scm, worlds/haxima-1.002/moongate-clearing.scm, worlds/haxima-1.002/mouse.scm, worlds/haxima-1.002/necromancer.scm, worlds/haxima-1.002/nossifer.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/oscar.scm, worlds/haxima-1.002/patch.scm, worlds/haxima-1.002/road_to_absalot.scm, worlds/haxima-1.002/roland.scm, worlds/haxima-1.002/selene.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/silas.scm, worlds/haxima-1.002/slywan.scm, worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/steward.scm, worlds/haxima-1.002/tetzl.scm, worlds/haxima-1.002/the-man.scm, worlds/haxima-1.002/thorald.scm, worlds/haxima-1.002/thud.scm, worlds/haxima-1.002/tooth.scm, worlds/haxima-1.002/trigrave.scm, worlds/haxima-1.002/warritrix.scm, worlds/haxima-1.002/zane.scm: Megapatch no 2: Most characters have random appropriate xp. All characters start at max hp/mp * worlds/haxima-1.002/abe.scm, worlds/haxima-1.002/abigail.scm, worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/alex.scm, worlds/haxima-1.002/angela.scm, worlds/haxima-1.002/anne.scm, worlds/haxima-1.002/bill.scm, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/dennis.scm, worlds/haxima-1.002/deric.scm, worlds/haxima-1.002/doris.scm, worlds/haxima-1.002/douglas.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/fing.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/gholet.scm, worlds/haxima-1.002/hackle.scm, worlds/haxima-1.002/henry.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/jess.scm, worlds/haxima-1.002/joel.scm, worlds/haxima-1.002/jones.scm, worlds/haxima-1.002/jorn.scm, worlds/haxima-1.002/kalcifax.scm, worlds/haxima-1.002/lia.scm, worlds/haxima-1.002/may.scm, worlds/haxima-1.002/meaney.scm, worlds/haxima-1.002/melvin.scm, worlds/haxima-1.002/miggs.scm, worlds/haxima-1.002/mouse.scm, worlds/haxima-1.002/necromancer.scm, worlds/haxima-1.002/oscar.scm, worlds/haxima-1.002/patch.scm, worlds/haxima-1.002/roland.scm, worlds/haxima-1.002/selene.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/slywan.scm, worlds/haxima-1.002/steward.scm, worlds/haxima-1.002/tetzl.scm, worlds/haxima-1.002/the-man.scm, worlds/haxima-1.002/tooth.scm, worlds/haxima-1.002/trigrave.scm: mega stats tweakage. Not that the player will notice, but *I* will know that everyone hv unique stats 2006-08-07 Kris Parker * src/character.cpp: Character::setLevel now sets experience appropriate for the new level rather than the old one * src/status.c: Status window now reads HP: MP: XP:(<+ percent>%) 2006-08-07 Gordon McNutt * src/status.c: Changed XP to LVL 2006-08-06 Kris Parker * src/ascii.c, src/screen.c, src/screen.h: Text uses muted versions of colours * src/character.cpp: isAttackTargetInRange(NULL) now returns true * src/character.cpp, src/character.h, src/cmd.c, src/ctrl.c, src/kern.c, src/player.cpp, src/status.c: arms and weapons enumerations in Character now use an external interation index (allows multiple simultaneous enumeration) * src/effect.c, src/kern.c: icon support added to kern-mk-effect * src/images.c: image load error to stderr not stdout * worlds/haxima-1.002/cursor.png: nicer blue spinner * worlds/haxima-1.002/cursor.png: placeholder cursor.png * worlds/haxima-1.002/effects.png: added paralysis * worlds/haxima-1.002/effects.png: first attempt at effect icons * worlds/haxima-1.002/effects.scm: effect spites use s_whatever instead of 's_whatever * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/sprites.scm: most effects should now have icons * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm: First few effect sprites set * worlds/haxima-1.002/gamestart-mech.scm, worlds/haxima-1.002/gamestart.scm: character creation area * worlds/haxima-1.002/potions.scm: some booster potions for rapid playtesting * worlds/haxima-1.002/sprites.scm: fixed incrementing tile_number in effect sprites * worlds/haxima-1.002/start-new-game.scm: uses character creation area 2006-08-06 Gordon McNutt * src/effect.c, src/kern.c, src/status.c: Comment/formatting changes only * src/effect.h: Added a field for a status icon to the effect struct * src/kern.c, src/status.c: Added effect icons to the party status viewer * src/kern.c: kern_mk_effect must load sprites as pointers (not closures) or it throws a type error * src/status.c: Status now uses a set of standardized colors * src/status.c: Replaced the status code with the effect icon in the ztats view of the character effects * src/status.c: Added mini-icons to the party view for readied weapons 2006-08-05 Kris Parker * worlds/haxima-1.002/spells.scm: new spell: burning hands (bet flam hur) * worlds/haxima-1.002/spells.scm: wind spells now fire at arbitary angles 2006-08-05 Gordon McNutt * src/Makefile.am: Removed frame.h 2006-08-02 Gordon McNutt * src/character.cpp, src/place.c, src/place.h: Fixed player party members not pathfinding over step triggers * src/character.cpp, src/player.cpp: Starvation is now a bit more serious * src/cmd.c: Spells with a cost of 1 were not using any action points when cast * worlds/haxima-1.002/moongate.scm: Fixed the problem where destination moongates remained open * worlds/haxima-1.002/nossifer.scm: Made Nossifer immune to charm * worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/start-new-game.scm: Undead now immune to sleep and magic kill (in addition to fire, poison and disease) * worlds/haxima-1.002/species.scm: Increased the vision radius of sea creatures so they will close with the player on sea/land or sea/ship combat maps * worlds/haxima-1.002/spells.scm: Added success/failure messages to spells that use contest-of-skill 2006-08-01 Gordon McNutt * src/character.cpp: When a PC tries to step off the edge of a map the code checks for a neighboring place before it checks for a parent (this is opposite of what it used to be). This allows towns to have side-exits to dungeon rooms (or other towns). * worlds/haxima-1.002/bill.scm, worlds/haxima-1.002/bole.scm: Fixed up Bill's conv to match the change in the dryad location * worlds/haxima-1.002/bole.scm: Moved the dryad in Bole to a separate place accessible via a side-exit from Bole 2006-07-31 Gordon McNutt * src/character.cpp, src/foogod.c, src/kern.c, src/play.c, src/player.cpp, src/player.h, src/session.c, src/session.h: Fixed saving, loading and general behavior of the turn counter in the foogod window * src/foogod.c: Fixed a bug introduced with turn count changes; starting nazghul with no save game arg would cause a crash * worlds/haxima-1.002/hackle.scm: Fixed endless loop in Hackle's heal conversation when player alone * worlds/haxima-1.002/mushroom-cave.scm, worlds/haxima-1.002/npc-types.scm: Yellow slimes no longer divide into green slimes. 2006-07-30 Gordon McNutt * src/Container.h, src/Party.cpp, src/dimensions.c, src/nazghul.c, src/status.c: Small overhaul of the status viewer code. This includes a partial fix for SF Bug: [ 1518735 ] ztats - AC, by adding armament stats to all the relevant viewer windows. * src/ascii.c, src/character.cpp, src/character.h, src/status.c, worlds/haxima-1.002/books.scm: Removed AC from the status display. Modified the color-control syntax: ^c+= pushes the current color but doesn't change it, ^c+ pushes the current color and sets the new current color to . * src/ascii.c, src/ascii.h, src/ctrl.c, src/screen.c, src/screen.h, src/session.c, src/status.c, worlds/haxima-1.002/books.scm, worlds/haxima-1.002/gregor.scm: Added support for colorized text. A few places in the code and the game scripts were tweaked to test and demonstrate usage. * src/character.cpp, src/character.h, src/cmd.c, src/ctrl.c, src/effect.c, src/effect.h, src/status.c, worlds/haxima-1.002/effects.scm: More fiddling with the stat UI. It's getting downright chatty now. * src/status.c: Added species and occupation to character stat UI 2006-07-29 Gordon McNutt * src/common.h, src/event.c, src/nazghul.c, src/play.c, src/play.h, src/session.c: Moved some more global variables into the new cfg env. * src/common.h, src/dimensions.c, src/dimensions.h, src/nazghul.c, src/screen.c: Cleaned up the SCREEN_BPP stuff. For now it's hard-coded to 16 in screen.c. * src/dimensions.c, src/dimensions.h, src/nazghul.c: Changed the -m (map size) option to -r (screen res). dimensions.c now converts the desired screen res to a map size that will accomodate it. 2006-07-27 Gordon McNutt * src/nazghul.c, src/session.c, worlds/haxima-1.002/bakup.scm, worlds/haxima-1.002/kern-init.scm: Moved more stuff to the new cfg 2006-07-26 Gordon McNutt * src/Makefile.am, src/ascii.c, src/ascii.h, src/cfg.c, src/cfg.h, src/cmdwin.c, src/common.h, src/foogod.c, src/images.c, src/kern.c, src/nazghul.c, src/scheme.c, src/screen.c, src/screen.h, src/session.c, src/session.h, src/sound.c, worlds/haxima-1.002/Makefile.am, worlds/haxima-1.002/kern-init.scm, worlds/haxima-1.002/moongate.scm: This adds support for a general kernel initialization script. Early in startup, right after parsing the command-line args, the kernel will attempt to load INCLUDE_DIR/"kern-init.scm" to initialize itself enough to present the main menu. This is done through the new kern-set-cfg/kern-get-cfg procedure calls, and the new cfg.[ch] module, which basically provides a setenv/getenv-type feature. Currently only a couple of values are in kern-init.scm, but I hope to migrate more currently-hard-coded stuff out there in the days ahead. Beyond that, the ability to load/save an options.scm file will enable us to have persistent user options (eg, map viewer size and sound settings). * src/nazghul.c, worlds/haxima-1.002/Makefile.am: Had to add some files to the install process; fixed a warning about the missing init script 2006-07-24 Kris Parker * worlds/haxima-1.002/spells.scm: spells updated to use occ abilities 2006-07-23 Gordon McNutt * src/scheme.h: USE_TRACING should be off by default; must have committed it by mistake * src/status.c, src/vmask.c: Minor indentation and comment cleanup 2006-07-22 Gordon McNutt * doc/USERS_GUIDE: Added a note about food consumption * doc/USERS_GUIDE: Added info on effects and an appendix for weapons and armor spoilers to the user's guide * src/angband.c: Fixed the LOS bugs related to map viewer sizes < 19x19 * src/map.c: Minor comment cleanup * worlds/haxima-1.002/arms.scm: Melee and projectile weapons were adding an armor bonus instead of a deflection bonus 2006-07-16 Gordon McNutt * src/nazghul.c: The show-all-terrain option was missing from the -h(elp) command option 2006-07-11 Gordon McNutt * src/Makefile.am, src/Party.cpp, src/common.c, src/common.h, src/console.c, src/dimensions.c, src/dimensions.h, src/map.c, src/nazghul.c, src/sky.c, src/status.c, src/status.h, src/vmask.h: Just committed a CVS change to allow a smaller UI. In common.h, uncomment the //#define CONFIG_11X11_MAP line, recompile, and the screen will be 736x400. I've only done some limited testing but things look surprisingly good. There might be a line-of-sight bug and the splash screen needs some tweaks. Need to test some more and figure out how to do this automatically and dynamically so rebuilds aren't required. By reducing the console width from 42 to 30 characters the screen could be 640x400, which will satisfy the 640x480 crowd at least. 2006-07-10 Gordon McNutt * src/common.h, src/screen.c: Smaller UI. In common.h, uncomment the //#define CONFIG_11X11_MAP line, recompile, and the screen will be 736x400. 2006-07-09 Gordon McNutt * src/Being.cpp, src/Being.h: Patch from Eero Tamminen for link error under Suse 9.1 2006-07-08 Kris Parker * src/kern.c: added kern-get-total-minutes for numeric clock access * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/spells.scm: circle 1 spells based on character abilities * worlds/haxima-1.002/occs.scm: fixed problem with getting abilities for chars without occs * worlds/haxima-1.002/roland.scm: roland now a warrior 2006-07-07 Gordon McNutt * worlds/haxima-1.002/lia.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/zane.scm: Brought Shroom's prices inline with other reagent-sellers; reduced prices on more expensive reagents with all sellers 2006-07-03 Kris Parker * src/play.c: synchs place to reset sleepers on reload * worlds/haxima-1.002/effects.scm: sleep effect reactivates on reload * worlds/haxima-1.002/effects.scm: spawned off slimes are less powerful than thier 'parent's 2006-07-02 Kris Parker * worlds/haxima-1.002/mouse.scm: Thud had escaped down the wrong branch of an if/else. Now recaptured. Also, now goes beserk back in town if not present (or is this too evil?) Note that this file still crashes if t or k are dead 2006-07-02 Gordon McNutt * src/character.cpp: Fix for kern-char-leave-player where kchar is not in party; call is benignly ignored * worlds/haxima-1.002/kathryn.scm, worlds/haxima-1.002/moongate.scm, worlds/haxima-1.002/mouse.scm: Cleaned up logic in mouse.scm. Modified kathryn.scm such that if Kathryn joins, and Thud is alive, then Thud automatically joins. This simplifies some of the logic in mouse.scm. 2006-07-01 Kris Parker * src/kern.c, src/occ.c, src/occ.h: added gob facilities to occupations * worlds/haxima-1.002/occs.scm: occ data for magical ability (theyre just meaningless numbers till the spells get revamped tho) * worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/tools.scm: lockpicking based on occ gobs 2006-07-01 Gordon McNutt * src/cmd.c, src/map.c, src/map.h: bugfix for [ 1475928 ]: look works in complete darkness. Using the lightmap, if no light is hitting a tile then x)amine won't report it. Changed the wording of x)amine to say "can't see!" regardless if the reason is out-of-LOS or too dark. * src/occ.c: Occ destructor deletes its optional gob * src/play.c: bugfix for [ 1475929 ]: sleeping npcs wake on reloads * worlds/haxima-1.002/spells.scm: The big list of spells doesn't need to be permanent once it's registered in the kernel; takes up memory, slows down gc, etc 2006-06-30 Roberto Amorim * scripts/nazghul.iss: Adding the Inno Setup script file used to generate the Windows installer 2006-06-30 Gordon McNutt * AUTHORS, ChangeLog, NEWS: Final changes before 0.5.4 release * doc/USERS_GUIDE: Minor change to save/load notes * scripts/RELEASE_CHECKOFF: Added another note 2006-06-29 Gordon McNutt * src/kern.c: Added kern-char-is-dead? * src/player.cpp: Dead party members were eating rations * worlds/haxima-1.002/abigail.scm, worlds/haxima-1.002/angriss.scm, worlds/haxima-1.002/lia.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/zane.scm: o Reduced reagent prices o Bugfix: Angriss would accept dead party members, caused a crash * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/species.scm: o Slime attacks increased slightly. o NPC party generator, when determining how big to make the NPC party, doesn't count dead member's as part of the player party size count o Gazers given fangs as a natural weapon (instead of nothing) * worlds/haxima-1.002/game.scm: Renamed a variable 2006-06-28 Kris Parker * worlds/haxima-1.002/mouse.scm: stray bracket removed 2006-06-28 Gordon McNutt * configure.ac: Bumped the version number * src/map.c: Put the clock display back on the map viewer since there is no other way to tell time yet in haxima * src/player.cpp: Camping in town took more time than player specified * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/hackle.scm, worlds/haxima-1.002/ilya.scm, worlds/haxima-1.002/necromancer.scm, worlds/haxima-1.002/zones.scm: o Necromancer used generic response when asked about himself. o People in Glasdrin couldn't give directions to Glasdrin. o Ilya and Gregor were eating in the ULC of the kitchen. Gregor lacked a complete schedule. o Dropped sling damage by a point. * worlds/haxima-1.002/mouse.scm: Thud was not getting removed if he was dead but Kathryn was alive * worlds/haxima-1.002/naz.scm: Fixed the set-level procedure to simply call kern-char-set-level. It was trying to set the hp and mp, too, but doing it incorrectly by not accounting for custom mp and hp bonuses. This causes the Wanderer to start with 11/41 hit points, making him wolf-meat. 2006-06-25 Kris Parker * nazghul.nsi, nazinst.ico: upgraded w32 installer * scripts/nazghulrun.au3: compilable version of w32 save file backup script 2006-06-25 Gordon McNutt * src/Makefile.am, src/closure.c, src/event.c, src/kern.c, src/opdefines.h, src/scheme-private.h, src/scheme.c, src/scheme.h, src/session.c, src/session.h: Reverted scheme interpreter to previous version (w/o garbage collector changes). I don't want to change something fundamental like the garbage collector so soon before a release, and I want to do it differently anyway. * worlds/haxima-1.002/Makefile.am: Added some missing files to Makefile.am. * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm: Added sludge terrain. I think we need some sludge. 2006-06-24 Kris Parker * src/factions.h: Quick fix for bug 1462932: checks for same faction in harm_relations. make_hostile isnt given a similar check since that is only used in party-party attacks (and hence not player triggerable) 2006-06-15 Gordon McNutt * src/Makefile.am, src/character.cpp, src/closure.c, src/event.c, src/kern.c, src/opdefines.h, src/play.c, src/scheme-private.h, src/scheme.c, src/scheme.h, src/session.c, src/session.h: Fixing [ 1451252 ] Followers get stuck in follow mode. character::move now checks for PC's trying to spin in follow mode. character::exec now passes the flag to ignore companions to the pathfinding routine; I think it used to do this and removing it was an early (bad) attempt to fix this bug. Also updating the Scheme garbage collector to use a new algorithm with less latency. * src/character.cpp: Fixing [ 1460699 ] kama wanders while sleeping. In character::exec() it now checks for sleeping as an activity like eating and doesn't move. 2006-05-28 Kris Parker * src/cmd.c: No longer allows (and crashes on) diagonal wilderness (a)ttacks * worlds/haxima-1.002/ai.scm: the kraken ai needed to default to the kernel mode in a few more cases * worlds/haxima-1.002/game.scm: Added pclass-waterboulder, for boulders embedded in water terrain 2006-04-25 Kris Parker * scripts/blenddat.txt, scripts/palette.txt: new terrains in terrain blending scripts * src/kern.c: mechanisms to retrieve unmodified stats added * worlds/haxima-1.002/ai.scm: kraken will now default to kernel ai if no targets visible (rather than just sitting there) * worlds/haxima-1.002/blendterrains.scm, worlds/haxima-1.002/newterrain.png, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/signs.png, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm: a few new terrains: signs for character creation + new boulders * worlds/haxima-1.002/kraken-lakes.scm, worlds/haxima-1.002/slimy-cavern.scm: added boulders-in-water to maps * worlds/haxima-1.002/tools.scm: dex helps pick locks 2006-04-17 Kris Parker * worlds/haxima-1.002/ai.scm: Fix for: krakens poisoning themselves on swamps and chomping decks players are standing on 2006-04-17 Gordon McNutt * worlds/haxima-1.002/ai.scm: Fixing krakens to not pursue invisible foes 2006-04-14 Kris Parker * src/cmd.c, src/conv.c, src/conv.h: The kern-conv-get-reply and kern-conv-get-string commands now use our isprintable check 2006-04-13 Kris Parker * src/character.cpp, src/character.h, src/kern.c: read/write access to character str/dex/int 2006-04-10 Kris Parker * scripts/blenddat.txt, scripts/blendmap.pl, scripts/palette.txt: More terrain blending working. (Ongoing tweaks while blending new maps) * scripts/blendmap.pl: Documentation is your friend. It reduces the next person to use your softwares desire to murder you brutally * worlds/haxima-1.002/abandoned-farm.scm, worlds/haxima-1.002/absalot.scm, worlds/haxima-1.002/ancient-derelict.scm, worlds/haxima-1.002/angriss-lair.scm, worlds/haxima-1.002/bole.scm, worlds/haxima-1.002/dank-cave.scm, worlds/haxima-1.002/eastpass.scm, worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/engineers-hut.scm, worlds/haxima-1.002/fire_sea.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/gregors-hut.scm, worlds/haxima-1.002/kraken-lakes.scm, worlds/haxima-1.002/kun.scm, worlds/haxima-1.002/lich-tomb.scm, worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/mans-hideout.scm, worlds/haxima-1.002/merciful-death.scm, worlds/haxima-1.002/moongate-clearing.scm, worlds/haxima-1.002/mushroom-cave.scm, worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/poor-house.scm, worlds/haxima-1.002/road_to_absalot.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/slimy-cavern.scm, worlds/haxima-1.002/talking-ankh.scm, worlds/haxima-1.002/trigrave.scm, worlds/haxima-1.002/void-temple.scm, worlds/haxima-1.002/westpass.scm: Maps use blended terrains * worlds/haxima-1.002/blendterrains.scm, worlds/haxima-1.002/combat-maps.scm, worlds/haxima-1.002/newterrain.png, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm: Support for blended terrains 2006-04-09 Kris Parker * scripts/blenddat.txt, scripts/blendmap.pl, scripts/unblenddat.txt: Blending much more advanced and now handles most terrain types * scripts/blendmap.pl: Updated the help somewhat 2006-04-05 Kris Parker * doc/USERS_GUIDE: Fixed ingredients in 'Mix' tutorial, and made it a better fit to the actual game interface * worlds/haxima-1.002/conv.scm: Typo in basic-engi 2006-03-29 Gordon McNutt * src/Being.cpp, src/Being.h, src/character.cpp: Bugfix: followers get stuck in follow mode. They were switching places with one another over and over in an attempt to reach the party leader. The option to ignore companions is a flag passed to the pathfinding algorithm, in the case of follow mode I no longer pass that flag, so followers will pathfind around one another instead of switching places. 2006-03-28 Gordon McNutt * src/conv.c: Bugfix: [1451180] Shift key adds letters in conversation The new isprintable(char c) function which replaced libc's isprint was declared to take a char arg. Some values like 304 (the value for the left shift key on my system), when downcast to 8 bits, fell into the 32-127 range and were declared printable. Fixed this by changing to isprintable(int c). 2006-03-23 Kris Parker * scripts/blenddat.txt, scripts/blendmap.pl: Blends more terrain types 2006-03-22 Kris Parker * scripts/blenddat.txt, scripts/blendmap.pl, scripts/splitmap.pl: New toys: pre-rendered terrain blending, and splitting large maps down to tiles for composites * worlds/haxima-1.002/shard.scm: Added mountains south of eastpass 2006-03-21 Kris Parker * scripts/maptoxpm.pl, scripts/mergemap.pl, scripts/xpmtomap.pl: Added some map editting scripts * scripts/palette.txt: Belatedly added palette data for map scripts 2006-03-19 Gordon McNutt * src/character.cpp: Bugfix: wait on NPC bed (awake), when NPC tries to kick you out of bed we get an assert because the player is not sleeping. Fixed this by having the NPC check that the player is asleep first. Otherwise it waits for the player to leave. 2006-03-18 Kris Parker * worlds/haxima-1.002/ilya.scm: Ilya now gives correct directions to farm * worlds/haxima-1.002/ini.scm: Gave ini appropriate xp for level * worlds/haxima-1.002/jake.scm, worlds/haxima-1.002/zones.scm: Jake&Percival no longer sleepwalk * worlds/haxima-1.002/mesmeme.scm: Mesmeme can now be asked to leave 2006-03-16 Kris Parker * worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/endless-deeps.scm, worlds/haxima-1.002/trigrave.scm: Dragon quest rune is now in Kurpolis deeps * worlds/haxima-1.002/amy.scm: Amy mentioned the accursed, but didnt provide any information on them. Now you get some gossip. * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/lever.scm, worlds/haxima-1.002/mans-hideout.scm, worlds/haxima-1.002/sprites.scm: Hidden lever now searchable * worlds/haxima-1.002/terrains.scm: Less specific water naming 2006-03-14 Kris Parker * worlds/haxima-1.002/gen.scm: Gen now has appropriate xp for his level 2006-03-13 Kris Parker * worlds/haxima-1.002/alchemist.scm: Alchemist remembers completed quests 2006-03-12 Kris Parker * worlds/haxima-1.002/kraken-lakes.scm, worlds/haxima-1.002/start-new-game.scm: Linked in endless deeps level * worlds/haxima-1.002/r2a_mech.scm, worlds/haxima-1.002/road_to_absalot.scm: road to absalot now works after save/reload (oops) 2006-03-12 Gordon McNutt * worlds/haxima-1.002/warritrix.scm: Fixed up the Warritrix's conversation 2006-03-11 Gordon McNutt * src/common.h, src/nazghul.c, src/play.c, src/screen.c, src/status.c: Some minor cleanup, and a fix for the status display, which wasn't showing a title on startup. * src/kern.c: Composite maps were not getting blended. It's not sufficient to blend the sub-maps, because they're edges aren't blended and it makes their seams visible in the composite map. 2006-03-10 Gordon McNutt * src/Being.cpp, src/object.c: Workaround for [ 1114054 ] messages for off-screen NPC's getting printed: While the pathfinding code attempts to handle a mechanism it disables console messages. This prevents mechanism scripts from printing to the console when NPC's handle them during normal pathfinding. 2006-03-08 Kris Parker * worlds/haxima-1.002/endless-deeps-mech.scm: Added more critters to the deeps * worlds/haxima-1.002/endless-deeps-mech.scm: New random templates: lava and swamp * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/endless-deeps.scm: Initial upload of third garrison and endless deeps * worlds/haxima-1.002/joel.scm: Joel still had the old paladins in the tunnel plot. 2006-03-08 Gordon McNutt * src/cmd.c: If the player handles a nameless mech the console prints "Fyodor handles a hidden mechanism". Ie, nameless is assumed to mean "hidden". A hack, so if the assumption becomes unwieldy we'll have to add some more support for different types of "hidden-ness". 2006-03-07 Kris Parker * worlds/haxima-1.002/keep.scm: Alternative treasure room access 2006-03-07 Gordon McNutt * src/cmd.c: [ 1437442 ] t)alk targets invisible people. Now it doesn't. * worlds/haxima-1.002/abigail.scm, worlds/haxima-1.002/addons.png, worlds/haxima-1.002/doris.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/lever.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/zones.scm: Fix for [ 1434216 ] where's abigail? Added Abigail character. 2006-03-06 Gordon McNutt * src/Makefile.am, src/blender.h, src/combat.c, src/kern.c: The terrain blenders are now run on automatically-generated combat maps. * src/play.c, src/session.c, src/wind.c, src/wind.h: Fix for [ 1429543 ] wind not updated on load session_load() now calls windRepaint(). Also, added windSave() since I noticed that the wind direction was not getting saved. session_save() now calls it. * worlds/haxima-1.002/combat-maps.scm: Fix for [ 1431953 ] bad default combat map with blended terrain The case for all existing blended terrains has been fixed by assigning a combat map to each of them. This will have to be done for all future blended terrains as well as they are added. 2006-02-25 Kris Parker * worlds/haxima-1.002/spells.scm: Fix for invisibility spells not using up scrolls (they probaby didnt use reagents either) 2006-02-25 Gordon McNutt * src/object.h, src/player.cpp, src/player.h: Fix for [ 1429541 ] extra ship on town entry Added a check to see if the player was in a vehicle when trying to move onto a subplace. If so, denied. * worlds/haxima-1.002/alchemist.scm: A few stylistic tweaks to Alchemist's conv * worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm: Restoring a few things that were accidentally removed 2006-02-24 Kris Parker * worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/newterrain.png, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/road_to_absalot.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm: Added path through road to absalot to match Alchemists lich quest 2006-02-23 Gordon McNutt * src/character.cpp: Fix for [ 1425039 ] Solo mode + possession = lockup The charm works by setting a being's current faction to the caster's. Character::setCurrentFaction() already checks if the character is a party member, I added another check to see if the character was in solo mode, and if so to set the party mode to follow. Also found a bug where unreadyAll() was calling player_party->unrefInventoryObject(arms) after unready() already did, causing some oddities in the player inventory. 2006-02-22 Gordon McNutt * src/place.c: Turning off some noise debug * src/place.c: Fix for 1425025: abuse of party moded + save game. Fixed this by addressing the order in which objects are saved in the current place. Previously, they were saved by tile order, so in addition to what the bug report noted you could get some other odd things. Now, they're saved in turn list order, and the current object is always saved at the head of the list. This ensures that on reload the object which saved the game begins the turn order and the place then continues executing objects in the original order. 2006-02-18 Kris Parker * worlds/haxima-1.002/spells.scm: Blink spells now only work withing LOS * worlds/haxima-1.002/spells.scm: Blink spells will no longer transport the caster onto an impassable terrain 2006-02-18 Gordon McNutt * src/cmd.c: Aborting a spell should not cost mana 2006-02-17 Kris Parker * worlds/haxima-1.002/engineer.scm: Quests now require component quantities as in the voidship plans. TODO: grammer on 'we still need X' messages needs work 2006-02-17 Janne Johansson * src/ascii.c: uninitialized nitpickings. shuts gcc4 up 2006-02-17 Gordon McNutt * src/ascii.c: Got rid of some dead code I noticed thanks to Janne's last patch * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/npc-types.scm: Demons (and Nossifer) now immune to kill spell * worlds/haxima-1.002/nossifer.scm: Fix for 1425031: spelling/grammer errors in nossifer.scm. Fixed as suggested. 2006-02-15 Gordon McNutt * scripts/RELEASE_CHECKOFF, src/Being.cpp, src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/ctrl.c, src/event.c, src/kern.c, src/object.c, src/object.h, src/species.c, src/species.h, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/species.scm: Fix for bug [ 1423898 ]: immobile critters. Critters like dryads and hydras are supposed to be stationary. Early efforts to make this happen using the movement modes and passability masks didn't work, so I did it in their AI's. But this allowed their NPC parties to move on the map. With this change a species may have a "stationary" flag. Any member of that species, and any party which contains a living member of that species, will not move on the map, although they will attack the player normally. 2006-02-14 Gordon McNutt * src/character.cpp: Fix for 1421524: abuse of solo mode/rendezvous. If hostiles are around, solo mode party member's no longer instantly pathfind to the party leader when the player enters Follow mode. * src/closure.c, src/map.c, src/scheme.c, src/tick.c, src/tick.h: Changes for 64bit compilation based on Jason Tibbs patch * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm: Fix for 1423370: fire slimes divide into green slimes. Changed the slime-split effect to be a generic split effect. It now has its own gob which specifies the npc type tag to use to create the clone. Had to modify the generic npc constructor in npc-types.scm to expect some effects to specify a gob ctor and parms. 2006-02-12 Gordon McNutt * src/place.c, src/play.c: Added a performance optimization: the pathfinding algorithm now makes a quick check to see if the target is surrounded by impassible terrain. If so, it aborts early. Makes all the difference for cases like sea creatures trying to pathfind to the player party in the middle of dry land. 2006-02-11 Kris Parker * worlds/haxima-1.002/newterrain.png: Added corner pieces for light forest. Also some plains corners without the shore effect 2006-02-11 Gordon McNutt * src/event.c, src/event.h, src/nazghul.c: Fixed missing keystrokes by adding a backlog queue in event.c. Not the dramatic improvement I was hoping for, unfortunately. * worlds/haxima-1.002/effects.scm: Bomb traps no longer self-destrruct * worlds/haxima-1.002/kama.scm: After joining once, Kama gives coords to Angriss in response to RUKA 2006-02-10 Kris Parker * worlds/haxima-1.002/newterrain.png: Added: High resolution mountains & forests Hill edge effects for blended terrain * worlds/haxima-1.002/sprites.scm: Added sprite definitions for hires mountains/forest * worlds/haxima-1.002/tools.png: Updated sextant 2006-02-10 Gordon McNutt * worlds/haxima-1.002/Makefile.am, worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/merciful-death.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/tools.png, worlds/haxima-1.002/tools.scm: Added a sextant 2006-02-09 Kris Parker * worlds/haxima-1.002/rune.png: Uploaded 'Etched' look for runic sign text 2006-02-09 Gordon McNutt * worlds/haxima-1.002/spells.scm: Removed LAT and LONG from in-wis verbage, as Tristan points out these are backwards 2006-02-08 Gordon McNutt * src/Missile.cpp, src/kern.c, src/object.c, src/terrain_map.c, src/terrain_map.h: Arrows on the ground were spinning whenever anyone shot an arrow; similar for other ammo types * src/kern.c, src/session.c, src/session.h: Added kern-mk-blender, creates a terrain blender which is automatically applied to all maps as they are created * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/gregors-hut.scm, worlds/haxima-1.002/hidden.scm, worlds/haxima-1.002/newterrain.png, worlds/haxima-1.002/old-absalot.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/terrains.scm: Searching for the S rune revealed it, but the player couldn't see it and might assume that searching for it put it in his inventory. This change adds the notion of a 'hidden' object which, when searched, becomes a normal visible object. This is done via a wrapper object which responds to the 'search' signal by creating the hidden object. * worlds/haxima-1.002/green-tower.scm: Moved the lever in GT * worlds/haxima-1.002/gregors-hut.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/terrains.scm: Converted kern-terrain-map blend calls to kern-mk-blender 2006-02-06 Gordon McNutt * src/kern.c, src/terrain_map.c, src/terrain_map.h: Added kern-terrain-map-blend * src/kern.c, src/sprite.c, src/sprite.h: Added ability to 'decorate' sprites with other sprites, making layered sprites * worlds/haxima-1.002/gregors-hut.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/terrains.scm: Blending shard and gregor's hut maps * worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm: Added some shore sprites and shore terrains based on Kris Parker's work * worlds/haxima-1.002/newterrain.png: Terrain pieces 2006-02-05 Gordon McNutt * AUTHORS, BUGS, ChangeLog, INSTALL, NEWS, configure.ac, scripts/RELEASE_CHECKOFF: Preparing for 0.5.3 release * INSTALL: Updated instructions on running the game * doc/USERS_GUIDE: Updated for new install * src/combat.c, src/kern.c, src/place.c, src/place.h, src/session.c, src/terrain_map.c, src/terrain_map.h: Added ref counting for terrain maps * src/kern.c, src/place.c, src/place.h: Added kern-place-set/get-terrain-map * worlds/haxima-1.002/Makefile.am: Wrong filename * worlds/haxima-1.002/effects.scm: Bugfix from Bernhard Link: faction-wood-spider is nowehere defined, use faction-spider 2006-02-04 Gordon McNutt * src/character.cpp, src/cmd.c, src/player.cpp, src/player.h: Bugfix: if the script called kern-char-unready on a PC it would mess up the player party inventory counts, could cause an assert in status.c * worlds/haxima-1.002/Makefile.am, worlds/haxima-1.002/addons.png, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/tower.png: Added Kris Parker's new tower sprite and the activated altar sprite * worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm: Bugfix: hydra's weren't appearing on wilderness combat maps * worlds/haxima-1.002/arms.scm: Balance: fireballs no longer drop fire fields where they hit * worlds/haxima-1.002/engineer.scm: Fixed typo * worlds/haxima-1.002/newmonst.png, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/sprites.scm: Added Kris Parker's new gint mage sprite * worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/species.scm: Fixed dragons, hydras and lichs to drop blood using normal drop; prevents them from dropping on the wilderness * worlds/haxima-1.002/npc-types.scm: Kris Parker's change: add loot to accursed npc types * worlds/haxima-1.002/shard.scm: Changed Fens to use shallow water to keep out the pirate ships from getting spawned 2006-02-03 Gordon McNutt * src/nazghul.c: Added -I and -G to the command-line help * src/nazghul.c, worlds/haxima-1.002/Makefile.am: Removed hard-coded haxima.scm from the kernel. It now assumes the more generic start-new-game.scm is the file to load to start a new game * worlds/haxima-1.002/Attic/haxima.scm: Moved from here * worlds/haxima-1.002/npc-types.scm: Accursed Templar should use human knight sprite * worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/spider.scm: o Spiders were still dropping loot in wilderness, converted them to use standard loot-drop which fixes this o Fire slimes were supposed to drop flaming oils as loot, fixed that * worlds/haxima-1.002/start-new-game.scm: Replacement for haxima.scm * worlds/haxima-1.002/tooth.scm, worlds/haxima-1.002/zones.scm: Fixed Gregor and Tooth's sleeping locations 2006-02-02 Gordon McNutt * AUTHORS, BUGS, ChangeLog, NEWS: *** empty log message *** * Makefile.am, Attic/PRESS_RELEASE, m4/Makefile.am, src/Makefile.am, worlds/Makefile.am, worlds/haxima-1.002/Makefile.am: Bernhard Link's patch to add maintainer-clean as a target to the makefiles * autogen.sh, configure.ac: Bernhard Link's configure patch * nazghul.nsi: Windows installer will bundle .bat files * scripts/RELEASE_CHECKOFF: Updates made on last release * src/cmdwin.c, src/console.c, src/nazghul.c: Bernhard Link's debug patch to create .console and .cmdwin iff DEBUG is defined * src/common.c, src/common.h, src/images.c, src/nazghul.c, src/scheme.c, src/session.c, src/sound.c, worlds/haxima-1.002/Makefile.am: Bernhard Link's patch to add -I and -G options * src/nazghul.c: Bernhard Link's usage patch * src/play.c, src/sky.c: Last submit broke new game startup; also previous eclipse code made new game startup all dark (which looks really cool, but was wrong) * src/play.c: Bugfix: nazghul junk (where junk was not a valid load file) caused a segfault * worlds/haxima-1.002/Makefile.am: Install newfolks.png * worlds/haxima-1.002/Makefile.am: Bernhard Link's patch: don't install Makefile.am, do install newmonst.png * worlds/haxima-1.002/ability.scm: Disarm now drops the target's weapon on the ground at his feet 2006-02-01 Gordon McNutt * nazghul.nsi: Nullsoft installer script for windows * src/Party.cpp, src/Party.h, src/character.cpp, src/cmd.c, src/cmd.h, src/combat.c, src/ctrl.c, src/event.c, src/foogod.c, src/kern.c, src/nazghul.c, src/place.c, src/play.c, src/sky.c: G)et now always scoops up everything * worlds/haxima-1.002/books.scm, worlds/haxima-1.002/luximene.scm, worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/potions.scm: Misc bugfixes * worlds/haxima-1.002/newfolks.png, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm: Adding Kris Parker's new player character sprites 2006-01-31 Gordon McNutt * worlds/haxima-1.002/kama.scm: Bugfix: ask Kama to rejoin after he leaves and he just points at the door * worlds/haxima-1.002/roland.scm: Bugfix: after leaving, Roland couldn't rejoin 2006-01-29 Gordon McNutt * AUTHORS: Recorded new sprites from Kris Parker * worlds/haxima-1.002/arms.scm: Tweaked armour defense * worlds/haxima-1.002/chester.scm: Bumped price of plate * worlds/haxima-1.002/kama.scm, worlds/haxima-1.002/newmonst.png, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm: Added Kris Parker's new goblin sprites * worlds/haxima-1.002/npc-types.scm: Bugfix: troll loot not using tags * worlds/haxima-1.002/shroom.scm: Typo in conv 2006-01-28 Gordon McNutt * src/kern.c, src/object.c, src/object.h: Adding better support for irregular plural names * src/object.c: Takes care of a few more plural name cases * src/sky.c, src/sky.h: Added eclipse * worlds/haxima-1.002/food.scm: Fixed plural food names * worlds/haxima-1.002/Attic/haxima.scm: Kris Parker's improved astronomy * worlds/haxima-1.002/money.scm: Using singular name for coin * worlds/haxima-1.002/moons.png: New transparent moon sprites * worlds/haxima-1.002/naz.scm: Drunken staggering checks for an occupant 2006-01-27 Janne Johansson * src/terrain_map.c: no sub-optimizations, just the fix. Sorry for borking my first few commits * src/terrain_map.c: merging two types of fixes isn't good. sorry for the bad commit * src/terrain_map.c: remove warning about possible use of h2,w2 initialized 2006-01-27 Gordon McNutt * worlds/haxima-1.002/Attic/haxima.scm: Implemented Kris Parker's recommended changes to the opening sequence in the moongate clearing * worlds/haxima-1.002/moongate.scm: Increasing the brightness of moongates * worlds/haxima-1.002/roland.scm: Roland now uses the human knight sprite 2006-01-26 Gordon McNutt * ChangeLog, NEWS, scripts/RELEASE_CHECKOFF: *** empty log message *** * src/nazghul.c: Added Janne to the credits for his patches * worlds/haxima-1.002/Makefile.am: Added some missing files to the list 2006-01-25 Gordon McNutt * AUTHORS: Updated AUTHORS to reflect recent submissions * doc/USERS_GUIDE, src/cmd.c, src/cmd.h, src/ctrl.c, worlds/haxima-1.002/books.scm: Applied patch from Tim Douglas to fix H)elp command; added ctrl-q)quit q/o saving at his suggestion * src/terrain_map.c: Applying patch from Janne Johansson for compiler warning * worlds/haxima-1.002/mouse.scm, worlds/haxima-1.002/naz.scm: Promoted some generally useful code from mouse.scm to naz.scm * worlds/haxima-1.002/naz.scm: Bugfix: purchasing a cure service from a healer didn't work 2006-01-24 Gordon McNutt * configure.ac: Patch from Janne Johansson * src/character.cpp, src/map.c, src/scheme.c: Adding casts to double for calls to pow() and sqrt() * src/map.c, src/nazghul.c: Got rid of getop_long and a few old options I don't want to support any more * src/nazghul.c: Patch from Janne Johansson for Sun compiler * src/sprite.h: Removed some obsolete code 2006-01-23 Gordon McNutt * src/screen.c: Bugfix: when zoomed out, transparency shows up as magenta * worlds/haxima-1.002/arms.scm: Arms balance tweaking * worlds/haxima-1.002/edge-spawn.scm, worlds/haxima-1.002/terrain-to-ptype.scm: Reworked edge spawning to make it easier to tune * worlds/haxima-1.002/species.scm: Increased dragon HP 2006-01-22 Gordon McNutt * src/Party.cpp: Bugfix (1411788): NPC parties getting into towns and dungeons * src/ascii.c, src/ascii.h, src/screen.c: Added support for colored console text; nothing using it yet but it does work * src/character.cpp: Doubled XP required for level advancement * src/cmd.c: Casting spells gives XP * src/combat.c: Bugfix: NPC attacks while on (but not aboard) ship * src/ctrl.c, worlds/haxima-1.002/books.scm: Changed quit-without-saving keybinding from ctrl-Q to ctrl-S * src/nazghul.c: Added Steve Riberty to art credits for new rune sprites * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/food.png, worlds/haxima-1.002/reagents.png, worlds/haxima-1.002/runestones.png, worlds/haxima-1.002/shapes.png, worlds/haxima-1.002/signs.png, worlds/haxima-1.002/special.png, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/tools.png: Added transparency to all sprites * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/food.png, worlds/haxima-1.002/shapes.png: From Kris, added transparency to some more sprites * worlds/haxima-1.002/ai.scm: Bugfix: use-ranged-spells not returning #f when it didn't cast anything, cause dryads to walk * worlds/haxima-1.002/bole.scm, worlds/haxima-1.002/town-entry.scm: Bugfix: Bole's inn-room door was not being locked on town re-entry * worlds/haxima-1.002/conv.scm: Oparine townsfolk now give directions to Green Tower * worlds/haxima-1.002/dank-cave.scm: Bugfix: ladder up from Dank Cave led to wrong location * worlds/haxima-1.002/enchanter.scm: Enchanter was using generic response to ENCH keyword * worlds/haxima-1.002/kathryn.scm: Bugfix: Kathryn not giving player her Wis Quas scroll upon join * worlds/haxima-1.002/monster-generator.scm: Removed some obsolete code * worlds/haxima-1.002/npc-types.scm: Craven archers now armed with daggers for when they run out of ammo * worlds/haxima-1.002/oparine.scm: Fixed some signs and terrain * worlds/haxima-1.002/palette.scm: Bugfix: alchemy sign confused with arms shop sign * worlds/haxima-1.002/scrolls.scm: Canceling u)se scroll was using up scroll * worlds/haxima-1.002/thiefs_den.scm: Removing unthiefly treasure from Thief's Den * worlds/haxima-1.002/traps_3.scm: Bugfix: spawn points in Fun with Levers weren't getting triggered 2006-01-19 Gordon McNutt * src/character.h, src/combat.h, src/kern.c, src/object.h, src/play.c, src/player.h, src/status.c, src/status.h, src/tree.h: Fixed all -pedantic warnings over which I have control (ie, not in SDL headers) * src/cmd.c: Fixing an access-after-deleted bug in mixing spells * src/cmd.c: Renamed getchar to cmd_getchar to avoid collision on openBSD * worlds/haxima-1.002/runes.scm, worlds/haxima-1.002/runestones.png, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm: New rune stone sprites courtesy of Steve Riberdy 2006-01-18 Gordon McNutt * src/Container.cpp, src/Field.cpp, src/Makefile.am, src/astar.c, src/closure.c, src/cmd.c, src/combat.c, src/ctrl.c, src/dice.c, src/dtable.c, src/kern.c, src/map.c, src/object.c, src/place.c, src/scheme.c, src/session.c, src/sky.c, src/sound.c, src/species.c, src/terrain.c, src/vmask.c: Kernel changes: o Added -Wall for CFLAGS as well as CXXFLAGS o Fixed all the -Wall compilation warnings o Bugfix: when t)alking and a person was nearby, target origin started on person instead of player * src/ascii.c, src/character.cpp, src/event.c, src/nazghul.c, src/player.cpp, src/sprite.c: Some -Wall compiler warning fixes * src/cmd.c, src/ctrl.c: Removed old Ctrl-S command to save terrain map; unnecessary now that terrain maps are saved along with the rest of the game, and harmful in that some distros don't have a writable /tmp/ * src/place.c: Kernel changes: o Bugfix: terrain effects (like fire) were being applied to monster generator objects * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/edge-spawn.scm, worlds/haxima-1.002/fire_sea.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrain-to-ptype.scm: Haxima changes: o New NPC type: fire slimes 2006-01-17 Gordon McNutt * src/conv.c: Fix for assert in ascii.c 2006-01-16 Gordon McNutt * worlds/haxima-1.002/angriss.scm, worlds/haxima-1.002/kraken-lakes.scm, worlds/haxima-1.002/road_to_absalot.scm, worlds/haxima-1.002/special.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/tooth.scm: Misc. fixes provided by Roland Hautz * worlds/haxima-1.002/npc-types.scm: NPC's no longer drop loot on the wilderness map * worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/shapes.png, worlds/haxima-1.002/sprites.scm: Added Kris Parker's human knight sprite 2006-01-11 Gordon McNutt * worlds/haxima-1.002/gen.scm: Haxima changes: o Gen needed some bufs since he can potentially become a player party member * worlds/haxima-1.002/runes.scm: Haxima changes: o Bugfix: g)et didn't work with Runes on the ground 2006-01-10 Gordon McNutt * src/ascii.c: Kernel changes: o asciiPaint() now maps unrecognized chars to '?' and bleats a warning. This is to help debug the assert(c>=' ') in SF bug 1399049. * src/cmd.c: Kernel changes: o Bugfix: SF 1114048: selling itesm - list updated improperly. Actually, list was just getting built improperly from the get-go. 2006-01-09 Gordon McNutt * worlds/haxima-1.002/absalot.scm, worlds/haxima-1.002/bole.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/kalcifax.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/kun.scm, worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/signs.png, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/trigrave.scm: Haxima changes: o Added some "sign" sprites 2006-01-08 Gordon McNutt * scripts/RELEASE_CHECKOFF: Added comment about windows text files * worlds/haxima-1.002/angriss-lair.scm, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/treasury.scm: Haxima changes: o Bugfix: auto-generated corpses were saving improperly, causing null objects to be in them on reload * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/moongate-clearing.scm: Haxima changes: o Bugfix: old entrance to slimy cavern still in moongate clearing o Bugfix: +4 iron helm stats were wrong * worlds/haxima-1.002/books.scm, worlds/haxima-1.002/kathryn.scm, worlds/haxima-1.002/shard.scm: Haxima changes: o Bugfix: kathryn's letter was defined in kathryn.scm, which might not be loaded before the letter is referenced in the script. o Bugfix: found a part of the wilderness map that was incorrectly impassable * worlds/haxima-1.002/mouse.scm: Haxima changes: o Bugfix: if Kathrn in party but Thud alive and not in party, crash when player encounters the Mouse * worlds/haxima-1.002/spells.scm: Haxima changes: o Bugfix: some spells like In Ex Por would be consumed even if the player aborted without selecting a target (In Sanct, Sanct and An Ex Por were also affected) 2006-01-08 Andreas Bauer * configure.ac: *** empty log message *** 2006-01-07 Gordon McNutt * scripts/RELEASE_CHECKOFF, src/Party.cpp, worlds/haxima-1.002/edge-spawn.scm: Making sure the last few fixes were committed * src/Party.cpp, src/character.cpp, src/character.h, src/object.c, src/object.h, src/player.cpp, worlds/haxima-1.002/items.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/spider.scm: Haxima changes: o Bugfix: spider's sometimes dropped piles of spider silk with zero (0) objects in them o Bugfix: cannon-killing a large gint party cuases a crash. Someone in the party was dropping a healing potion. When a healing potion execs it looks for a nearby Being to put itself into its inventory. On the wilderness, it was finding the gint party, and trying to call a Character method on a Party object. Crash! * src/character.cpp, src/player.cpp, src/player.h: Kernel changes: o Bugfix: if a party member died it's readied items were lost. * worlds/haxima-1.002/luximene.scm: Haxima changes: o Bugfix: error in the script when the Necromancer summoned Luximene. o Added more stuff to Luximene's conversation * worlds/haxima-1.002/shard.scm: Haxima changes: o Bugfix: moongate near Glasdrin was positioned over an impassable mountain * worlds/haxima-1.002/shroom.scm: Bugfix: shroom's trade conv broken by typo 2006-01-05 Gordon McNutt * src/Party.cpp: Kernel changes: o Bugfix: Party::save() was not saving one of the arguments to kern-party-set-vehicle, this caused a bad save file when the player saved with pirates somewhere on the map 2006-01-04 Gordon McNutt * doc/USERS_GUIDE: doc changes 2006-01-04 Andreas Bauer * worlds/haxima-1.002/Makefile.am: Initial. 2006-01-03 Andreas Bauer * Makefile.am, configure.ac, src/Makefile.am, worlds/Makefile.am: Added haxima to build system. 2005-12-31 Gordon McNutt * doc/USERS_GUIDE: Minor edits to USERS_GUIDE * worlds/haxima-1.002/lich-tomb.scm: Fixed ladder up in Lich's Tomb, was referring to old Keep Crypt 2005-12-30 Gordon McNutt * AUTHORS, BUGS, Attic/Makefile.in, Attic/configure, doc/USERS_GUIDE, scripts/RELEASE_CHECKOFF, scripts/ghul-test-install, worlds/Makefile.am: USERS_GUIDE, Makefile.in and misc other final tweaks * src/character.cpp, src/character.h, src/cmd.c, src/combat.c, src/nazghul.c, src/player.cpp, src/vmask.c: Kernel changes: o Reduced action point cost for PC spell-casting by 1/2 o Changed the main menu order: Journey Onward is always first if it's applicable o If a party member dies it unreadies all of its arms o The X)amine command shows the XY coords only in Developer Mode o Turned off switching to round-robin mode on entrance to a hostile place. Just feels weird during play. o Added a user confirmation check before over-writing an existing saved game when "Start New Game" is selected * src/character.cpp, src/cmd.c, src/map.c, src/tick.c: Kernel changes: o Reduced action point cost for PC spell-casting by 1/2 * worlds/haxima-1.002/abe.scm, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/addons.png, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/amy.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/bole.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/doris.scm, worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/eastpass.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/hackle.scm, worlds/haxima-1.002/ilya.scm, worlds/haxima-1.002/kathryn.scm, worlds/haxima-1.002/lia.scm, worlds/haxima-1.002/moongate.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/oscar.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/spider.scm, worlds/haxima-1.002/traps_2.scm, worlds/haxima-1.002/tutorial_town.scm, worlds/haxima-1.002/tutorial_wilderness.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Bugfix: various spells needed some maintenance o Bugfix: scrolls misspelled in Lia's shop script o Bugfix: queen spider's would cast web spew when out of range o Tweaked some loot drops o Increased starting player HP but reduced HP gain per level * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/loc.scm, worlds/haxima-1.002/moon.scm, worlds/haxima-1.002/moongate.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/terrain-to-ptype.scm: Haxima changes: o Bugfix: various spells needed some maintenance * worlds/haxima-1.002/special.png: A couple of new images I forgot to check in. * worlds/haxima-1.002/thorald.scm: Adding tutorial NPC to repository 2005-12-29 Gordon McNutt * INSTALL, README: Updated the README and INSTALL files. * src/Missile.cpp, src/Party.cpp, src/character.cpp, src/character.h, src/cmd.c, src/combat.c, src/ctrl.c, src/effect.c, src/foogod.c, src/kern.c, src/list.h, src/map.c, src/nazghul.c, src/object.c, src/place.c, src/play.c, src/player.cpp, src/player.h, src/scheme.c, src/session.c, src/session.h, src/status.c, src/vmask.c, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/tools.scm, worlds/haxima-1.002/tutorial.scm, worlds/haxima-1.002/tutorial_cave.scm, worlds/haxima-1.002/tutorial_town.scm, worlds/haxima-1.002/tutorial_wilderness.scm: Haxima changes: o Finished the tutorial. Kernel changes: o Reverted most of my last changes since they made reload unstable. o Main menu does not loop (big memory leak if it does) * src/ctrl.c, src/nazghul.c: Kernel changes: o Made the terraform and zoom commands available only with the --developer option on the command line * worlds/haxima-1.002/abe.scm, worlds/haxima-1.002/books.scm, worlds/haxima-1.002/edge-spawn.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/jorn.scm, worlds/haxima-1.002/necromancer.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/roland.scm, worlds/haxima-1.002/zane.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Misc tweaks to the scripts * worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/tutorial.scm, worlds/haxima-1.002/tutorial_town.scm: Haxima changes: o Conversation tweaks. * worlds/haxima-1.002/shard.scm: Haxima changes: o Paved a road from Trigrave north to the Fen 2005-12-28 Gordon McNutt * src/Missile.cpp, src/Party.cpp, src/character.cpp, src/character.h, src/cmd.c, src/combat.c, src/ctrl.c, src/effect.c, src/foogod.c, src/kern.c, src/list.h, src/map.c, src/nazghul.c, src/object.c, src/place.c, src/play.c, src/player.cpp, src/player.h, src/scheme.c, src/session.c, src/session.h, src/status.c, src/vmask.c, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/tutorial.scm, worlds/haxima-1.002/tutorial_town.scm: Haxima changes: o Added tutorial.scm to provide a walkthrough of the basic commands (unfinished) Kernel changes: o Added tutorial to the main menu o Made the global player party into the session struct. o Changed the way the player party is allocated/freed * src/character.cpp, src/nazghul.c, src/play.c, src/session.h, src/status.c, src/status.h, worlds/haxima-1.002/main-menu.scm, worlds/haxima-1.002/slywan.scm: Haxima changes: o Added main-menu.scm to support main menu UI Kernel changes: o Added main menu UI. If no load file is specified to nazghul it will show a menu allowing the user to select a new game or to journey onward. o Quit&Save now falls back to the main menu UI. * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/jake.scm, worlds/haxima-1.002/kun.scm, worlds/haxima-1.002/kun.scm, worlds/haxima-1.002/kun.scm, worlds/haxima-1.002/mesmeme.scm, worlds/haxima-1.002/mesmeme.scm, worlds/haxima-1.002/slimy-cavern.scm, worlds/haxima-1.002/slywan.scm, worlds/haxima-1.002/slywan.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/tetzl.scm, worlds/haxima-1.002/tooth.scm, worlds/haxima-1.002/tooth.scm, worlds/haxima-1.002/zones.scm, worlds/haxima-1.002/zones.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o More stuff in new town 2005-12-27 Gordon McNutt * src/ctrl.c, src/map.c: Kernel changes: o Bugfix: projectile animation speed varied from host to host * worlds/haxima-1.002/abe.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/jake.scm, worlds/haxima-1.002/kun.scm, worlds/haxima-1.002/mesmeme.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added extra town & some NPCs * worlds/haxima-1.002/amy.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/ilya.scm, worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/kalcifax.scm, worlds/haxima-1.002/kama.scm, worlds/haxima-1.002/roland.scm: Haxima changes: o Tweaked Ilya's conv * worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Reworked Oparine 2005-12-26 Gordon McNutt * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/ancient-derelict.scm, worlds/haxima-1.002/luximene.scm, worlds/haxima-1.002/special.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/vehicles.scm: Haxima changes: o Added some sprites for a couple of special items * worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/prison.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/special.scm: Haxima changes: o Modified the wilderness map. * worlds/haxima-1.002/combat-maps.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/terrains.scm: Haxima changes: o Added lava bridge combat map o Added mountain combat map * worlds/haxima-1.002/crypt.scm, worlds/haxima-1.002/green-tower-lower.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/kama.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Reworked Green Tower Lower * worlds/haxima-1.002/dank-cave.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/special.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/step.scm: Haxima changes: o Populated Dank Cave o Fixed In Quas Corp spell * worlds/haxima-1.002/effects.scm: Haxima changes: o Bugfix: sleep effect did not wake up victim when it expired * worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/prison.scm, worlds/haxima-1.002/tools.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Reworked Glasdrin Prison. 2005-12-25 Gordon McNutt * src/Being.cpp, src/Being.h, src/character.cpp, src/character.h, src/kern.c: Kernel changes: o Bugfix: charm an NPC and try Z)tats on the NPC's turn => crash. I fixed this by tearing out the kernel implementation of "charm" and replacing it with a simple faction change. Finished implementing the notion of "current" vs "base" faction. * worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/dank-cave.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/nossifer.scm: Haxima changes: o Changed the way the charm effect is implemented. 2005-12-24 Gordon McNutt * src/Party.cpp, src/Party.h, src/character.cpp, src/kern.c: Kernel changes: o Bugfix: hang if a character joins the player when already in the player party * src/character.cpp, src/ctrl.c, src/kern.c: Kernel changes: o Character::clone() now clones readied items, too * src/kern.c, src/player.cpp, worlds/haxima-1.002/amy.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/kama.scm: Haxima changes: o NPC's who will join now check if they are already in player party when asked to join again (safe if they don't this just fixes the messages) o Added LEAVe to conversations so the player can dismiss party members if he wants to. Kernel changes: o Bugfix: if an npc left and rejoined the game would hang. * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/altar-room.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/spells.scm: Haxima changes: o bugfix: after loading a saved game, killing a wizard resulted in script errors because the wizard loot list wasn't using tags o Added summon-demon ability for warlocks o Added turn-invisible ability for demons o Populated Altar Room o Fixed In Quas Xen spell * worlds/haxima-1.002/amy.scm, worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/kalcifax.scm: Haxima changes: o NPC's who will join now check if they are already in player party when asked to join again (safe if they don't this just fixes the messages) * worlds/haxima-1.002/amy.scm, worlds/haxima-1.002/poor-house.scm: Haxima changes: o Added Amy * worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/kama.scm: Haxima changes: o Changed Kama's occupations * worlds/haxima-1.002/roland.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/slimy-cavern.scm: Haxima changes: o Moved slimy cave o Altered Roland's conv 2005-12-23 Gordon McNutt * doc/USERS_GUIDE, src/kern.c, worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/jim.scm, worlds/haxima-1.002/miggs.scm, worlds/haxima-1.002/spells.scm: Haxima changes: o Added Wis Sanct, detect trap o Added An Sanct Ylem, disarm trap Kernel changes: o Added kern-obj-is-container? o Added kern-obj-is-trapped? o Added kern-obj-remove-trap * worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/bill.scm, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/henry.scm, worlds/haxima-1.002/jim.scm, worlds/haxima-1.002/jones.scm, worlds/haxima-1.002/kathryn.scm, worlds/haxima-1.002/lia.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/potions.scm, worlds/haxima-1.002/potions.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/zane.scm: Haxima changes: o Added effects for potions of dragon's, hydra's and lich's blood o Added a couple of new "hidden" spells * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/terrain-to-ptype.scm, worlds/haxima-1.002/vehicles.scm: Haxima changes: o Added pirate NPC parties o Tuned ship cannon damage 2005-12-22 Gordon McNutt * src/character.cpp, src/kern.c, src/place.c, src/place.h, worlds/haxima-1.002/angela.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/town-entry.scm, worlds/haxima-1.002/Attic/trigrave-entry.scm, worlds/haxima-1.002/trigrave.scm: Haxima changes: o Fixed inn room doors in all the towns. On entry to a town all inn room doors are locked. Kernel changes: o Bugfix: NPC's with multi-place schedules might start in the wrong town. o Previously a place's on-entry hook would only support one hook fx, now it will support a list of them. * src/kern.c, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/angela.scm, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/fields.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/kalcifax.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/patch.scm, worlds/haxima-1.002/prison.scm, worlds/haxima-1.002/steward.scm, worlds/haxima-1.002/town-entry.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Redid Glasdrin's map to reduce the size and number of guards. Kernel changes: o Performance improvement: added kern-obj-is-field?. The is-field? procedure in the script was the bottleneck causing too-frequent garbage collection cycles in places with lots of combatant NPC's (like guards). This change reduces gc frequency in Glasdrin by almost 300%. * src/sprite.c, src/sprite.h, src/vehicle.cpp: Kernel changes: o Bugfix: if two ships were both visible, their sprites would always have the same facing even if the ships didn't. The sprites were in lockstep. 2005-12-22 Andreas Bauer * ChangeLog, configure.ac: configure.ac: test for SDL_image 2005-12-21 Gordon McNutt * src/character.cpp, src/character.h, src/object.c, src/session.h, worlds/haxima-1.002/abe.scm, worlds/haxima-1.002/jewelry.png, worlds/haxima-1.002/jewelry.scm, worlds/haxima-1.002/kalcifax.scm, worlds/haxima-1.002/runes.scm, worlds/haxima-1.002/thiefs_den.scm, worlds/haxima-1.002/traps_4.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Fixed a few NPC schedules o Added some missing files Kernel changes: o NPC's now kick the player out of their bed * src/cmd.c, src/common.c, src/common.h, src/ctrl.c, worlds/haxima-1.002/edge-spawn.scm, worlds/haxima-1.002/Attic/haxima.scm: Haxima changes: o Restoring a few test values to real game values Kernel changes: o Build error fix: renamed log2 to logBase2. Apparently log2 conflicts with newer versions of math.h. * worlds/haxima-1.002/books.scm, worlds/haxima-1.002/jim.scm, worlds/haxima-1.002/npc-types.scm: Haxima changes: o Converted all (pertinent) npc types to use the new treasure drop system. o Changed price of morning stars in Trigrave. 2005-12-20 Gordon McNutt * src/character.cpp, src/object.c, src/object.h, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/terrain-to-ptype.scm: Haxima changes: o Added L1 nixies without ranged weapons o Added a new treasure drop effect Kernel changes: o Added a new on-death hook * worlds/haxima-1.002/edge-spawn.scm, worlds/haxima-1.002/parties.scm: Haxima changes: o Bugfix: npc party generation had a bug where it wouldn't generate rare party types 2005-12-19 Gordon McNutt * src/place.c: Kernel changes: o Bugfix: if combat was initiated over a town, on exit the town would be removed from the map. Of, if the player saved during that combat, the save file would crash when loaded. * worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrain-to-ptype.scm: Haxima changes: o Added some npc and npc party types 2005-12-18 Gordon McNutt * src/character.cpp, worlds/haxima-1.002/camping-map.scm, worlds/haxima-1.002/edge-spawn.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/luximene.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/terrain-to-ptype.scm: Haxima changes: o Wilderness combat tuning Kernel changes: o Advancement tuning 2005-12-17 Gordon McNutt * src/character.cpp, src/cmd.c, src/kern.c, src/player.cpp, src/player.h, worlds/haxima-1.002/ankh-shrine.scm, worlds/haxima-1.002/demon-gate.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/nossifer.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/talking-ankh.scm, worlds/haxima-1.002/terrains.scm: Haxima changes: o Fixed up end-game Kernel changes: o Added kern-end-game to gracefully end the game when it is over * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/books.scm, worlds/haxima-1.002/dennis.scm, worlds/haxima-1.002/nossifer.scm, worlds/haxima-1.002/old-absalot.scm, worlds/haxima-1.002/selene.scm, worlds/haxima-1.002/silas.scm: Haxima changes: o Altered Accursed NPC conversations to streamline the plot * worlds/haxima-1.002/absalot.scm, worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/joel.scm, worlds/haxima-1.002/road_to_absalot.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/tools.png, worlds/haxima-1.002/tools.scm: Haxima changes: o Rearranged dungeons on road to absalot o Added Joel, a shepherd o Added Gate to Absalot on wilderness map o Added a pick (new tool) * worlds/haxima-1.002/combat-maps.scm: Haxima changes: o Fixed up bridge combat maps & camping map * worlds/haxima-1.002/combat-maps.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/naz.scm: Haxima changes: o Improved the wilderness combat maps * worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/Attic/haxima.scm: Haxima changes: o Updates to Enchanter's conv * worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/road_to_absalot.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/tools.scm: Haxima changes: o Added Tower of Absalot 2005-12-16 Gordon McNutt * worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/crypt.scm, worlds/haxima-1.002/deric.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/green-tower-lower.scm, worlds/haxima-1.002/hackle.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/lia.scm, worlds/haxima-1.002/necromancer.scm, worlds/haxima-1.002/necromancers-lair.scm, worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/shard.scm: Haxima changes: o Added Necromancer's cave to the map o Moved Crypt from Keep to level below GTL * worlds/haxima-1.002/ancient-derelict.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/special.scm: Haxima changes: o Added an ancient derelict * worlds/haxima-1.002/chanticleer.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/crypt.scm, worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/gwen.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/special.scm, worlds/haxima-1.002/the-man.scm: Haxima changes: o Moved the location of Lost Halls o Tweaked some conversations * worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/warritrix.scm: Haxima changes: o Added ghost of Warritrix o Fixed randomly-generated corpses to use same argument scheme as containers * worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/green-tower-lower.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/kama.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/warritrix.scm: Haxima changes: o Added Bet Por (single-character teleport) and Vas Por (whole-party teleport) * worlds/haxima-1.002/fire_sea.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/road_to_absalot.scm, worlds/haxima-1.002/shard.scm: Haxima changes: o Moved Fire Sea to its own dungeon 2005-12-14 Gordon McNutt * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/engineers-hut.scm, worlds/haxima-1.002/fire_sea.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/moongate.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/old-absalot.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/void-temple.scm: Haxima changes: o Misc tweaks here and there 2005-12-13 Gordon McNutt * src/character.cpp, src/kern.c, src/place.c, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/deric.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/green-tower-lower.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/jorn.scm, worlds/haxima-1.002/keep_crypt_mech.scm, worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/luximene.scm, worlds/haxima-1.002/meaney.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added Kama to GTL o Tweaked Gen's conv Kernel changes: o Bugfix: broke character saving when I added saving of the force-drop flag * src/kern.c, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/angriss-lair.scm, worlds/haxima-1.002/angriss.scm, worlds/haxima-1.002/shroom.scm: Haxima changes: o Changed Angriss to be L20 o Changed web-spew to use 1/2 level (not 100%) Kernel changes: o Bugfix: misplace "g" in kern.c caused broke kern-map-repaint * src/play.c, src/session.c, worlds/haxima-1.001/shard.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/shard.scm: Haxima changes: o Added the moons & moongates Kernel changes: o Bugfix: the sun and moon weren't appearing in the sky window when the game first started. As soon as the player took a turn they would appear. Needed to call sky_advance() as soon as the current Place was established to force a repaint of the sky window. * src/player.cpp, worlds/haxima-1.002/kraken-lakes.scm: *** empty log message *** * worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/kalcifax.scm, worlds/haxima-1.002/kama.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added Kalcifax, the wandering mage 2005-12-11 Gordon McNutt * src/character.cpp, src/character.h, src/cmd.c, src/kern.c, src/status.c, worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/edge-spawn.scm, worlds/haxima-1.002/ghertie.scm: Haxima changes: o And more conversation tweaks Kernel changes: o New feature: when buying/selling, the quantity the player currently owns is shown in brackets. o Annoyance fix: on reload, shopkeepers had to goto the top left corner of their appointed area before they were done "commuting". Until then they would not buy or sell. 2005-12-10 Gordon McNutt * src/character.cpp, worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/chanticleer.scm, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/edge-spawn.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/silas.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/spider.scm: Haxima changes: o More conversation tweaks Kernel changes: o Player can now switch places with non-hostile non-party members (as well as party members). This helps the "blocked in the hallway" syndrome. o Bugfix: paralysis was having no effect on player character's in follow mode. * src/cmd.c, src/ctrl.c, src/kern.c, worlds/haxima-1.002/angela.scm, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/gate-guard.scm, worlds/haxima-1.002/gholet.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/meaney.scm, worlds/haxima-1.002/patch.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/the-man.scm: Haxima changes: o And more conversation tweaks Kernel changes: o New feature: if a player character has no saved target, and the player gives it the a)ttack command, the crosshair will start on the nearest hostile instead of on the PC. This should somewhat reduce the risk of carpal tunnel. o Did something similar for the t)alk command. o Bugfix: kern_blit_map() was not flushing the vmask cache, causing LOS problems when terrain-altering mechanisms were handled 2005-12-08 Gordon McNutt * doc/USERS_GUIDE, src/character.cpp, src/place.c, src/place.h, worlds/haxima-1.002/alex.scm, worlds/haxima-1.002/anne.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/bole.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/douglas.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/fire_sea.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/jones.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/potions.scm, worlds/haxima-1.002/special.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/spells.scm: Haxima changes: o Bugfix: the gate guard in Paladin's Hold wasn't getting cleaned up on respawn, causing an ever-increasing population of gate guards cluttering up the hallway o Added ladder between Kraken Lakes and Fire Sea level o Bugfix: species' on-death closures weren't getting registered o Bugfix: the potion sprite set had a bug that made the newer potions have no sprite Kernel changes: o Bugfix: Character::save() was saving intelligence and dexterity as the return values from getIntelligence() and getDexterity(), which add the species values. This causes characters to grow in intelligence and dexterity with each save/load cycle. o Bugfix: circularly-connected places weren't saving their neighborliness relationship correctly, resulting in some places getting isolated. 2005-12-07 Gordon McNutt * src/cmd.c, src/ctrl.c, worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/bart.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/food.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/jess.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/steward.scm: Haxima changes: o Tweaked the world map a bit so that Glasdrin may be reached by land. o Added to some conversations Kernel changes: o ui_trade() no longer automatically puts the bought item in inventory if the item has a 'buy hook. o Giving player characters a damage bonus. 2005-12-06 Gordon McNutt * doc/USERS_GUIDE, src/cmd.c, src/combat.c, src/ctrl.c, src/kern.c, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/bole.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/eastpass.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/jim.scm, worlds/haxima-1.002/kathryn.scm, worlds/haxima-1.002/melvin.scm, worlds/haxima-1.002/miggs.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/reagents.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/thud.scm, worlds/haxima-1.002/traps_3.scm, worlds/haxima-1.002/trigrave.scm, worlds/haxima-1.002/westpass.scm: Doc changes: o Added a list of the effect codes shown in the status window for party members to the USERS GUISE Haxima changes: o Minor bugfixes to scripts and maps Kernel changes: o R)eady command now prompts for party member when in follow mode o Added highlight boxes to X)amine command 2005-12-04 Gordon McNutt * src/Being.cpp, src/Being.h, src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/kern.c: Kernel changes: o Moved the name member of the Character class up to the Being class and made it private. Moved mut/acc up there as well so now the Party class can enjoy all the benefits of having its very own name. Equality to all the classes! o Added kern-being-set-name so the script can name parties * src/Party.cpp, src/kern.c, src/map.c, src/object.c, src/object.h, src/place.c: Kernel changes: o Added optional time-to-live (TTL) count on objects. If set, the count decrements every time the object gets a turn. When the count expires if the player is not in LOS the object is removed from the game. o Added kern-obj-set-ttl for the script * src/Party.cpp, src/Party.h, src/ctrl.c, src/kern.c, src/object.c, src/player.cpp, src/player.h: Kernel changes: o Cleaned up NPC parties, eliminating the PartyType class and lots of other useless leftovers. Will be much easier to make NPC parties now from the script, more like making NPC characters now. * src/cmd.c, src/combat.c, src/kern.c: Kernel changes: o Added kern-obj-set-conv * src/combat.c, src/map.c, src/place.c, src/session.c: Kernel changes: o Finally fixed a noxious intermittent bug that's been haunting me for months: LOS getting messed up. Turns out it would only happen with reloads, due to map subplaces not getting deleted, resulting in player character's not getting deleted and hence not removing their views before the next session starts. Philosophically, this comes from mixing persistent state (internal to map.c in this case) with per-session state. Learn from my mistakes, kiddies. * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/Attic/gregors-hut-zones.scm, worlds/haxima-1.002/gregors-hut.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/moongate-clearing.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/terrain-to-ptype.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added a bunch more wilderness party types o Named all the wilderness party types * worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/edge-spawn.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/moongate-clearing.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/terrain-to-ptype.scm: Haxima changes: o Added Westpass, a ranger camp that guards a mountain pass * worlds/haxima-1.002/books.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/gwen.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/meaney.scm, worlds/haxima-1.002/miggs.scm, worlds/haxima-1.002/Attic/moongate-clearing-zones.scm, worlds/haxima-1.002/moongate-clearing.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Miscellaneous stuff while testing early game playability. * worlds/haxima-1.002/edge-spawn.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/step.scm, worlds/haxima-1.002/terrain-to-ptype.scm: Haxima changes: o Added new wilderness NPC party generator 2005-12-03 Gordon McNutt * src/character.cpp, src/cmd.c, src/ctrl.c, src/dtable.c, src/dtable.h, src/factions.h, src/place.c, src/screen.c, src/screen.h, src/session.h: Kernel changes: o Prompt player before attacking non-hostiles (already had this in party mode, but looks like it was lost a while ago in town mode) o The x)amine command now shows diplomacy status of other beings o Commands that select characters on the map now show hostile's with a red box around them, allies with green, and neutrals with yellow. Hopefully this and the last change will keep newbies from trying to fist Gregor to death when they start the game. * src/kern.c, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/fire_sea.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/loc.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/spells.scm: Haxima changes: o Populated Fire Sea with a dragon. One is probably enough. Kernel changes: o Bugfix: in a previous checkin I accidentally screwed up kern-terrain-get-pclass; looks like I was trying to add kern-terrain-blocks-los? or something and got them mixed up o Added kern-terrain-blocks-los? (since I already had an implementation) * src/map.c, src/map.h, src/object.c, src/place.c, src/play.c, src/scheme-private.h, src/session.c, src/session.h: Kernel changes: o Added mapSetSelected() so that the currently selected player character will show up brightly even in dark rooms (but will not light up its surroundings) o If reload fails the console message reflects an error (it was always declaring success) o When the player changes places the turn is ended (the place_exec loop exits). Otherwise, until the turn is over if somebody shoots an arrow or takes damage the animations are shown in the viewer for the NEW place. * worlds/haxima-1.002/alex.scm, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/douglas.scm, worlds/haxima-1.002/forsaken-prison.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added and populated Watchpoint dungeon room o Moved ladder between first and second level of Kurpolis o Populated Forsaken Prison dungeon room o Tweaked some maps and convs 2005-12-02 Gordon McNutt * src/character.cpp, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/absalot.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/fire_sea.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/spells.scm: Haxima changes: o Populated Fire Bridge o Added enslave ability for gazers o Added narcotize ability for gazers o Tweaked tremor spell o Added corrupted halberdier and crossbowman NPC types o Added ladder to Absalot Kernel changes: o Bugfix: charm was not working right 2005-11-30 Gordon McNutt * doc/USERS_GUIDE, src/kern.c, worlds/haxima-1.002/fire_sea.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/spells.scm: Haxima changes: o Populated Rivulets of Fire dungeon room o Added telekinesis spell Kernel changes: o Added kern-obj-is-mech? to support telekinesis spell 2005-11-29 Gordon McNutt * src/character.cpp, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/kraken-lakes.scm, worlds/haxima-1.002/loc.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/special.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/step.scm, worlds/haxima-1.002/terrains.scm: Haxima changes: o Added chomp-deck ability for krakens o Added step spawn points (again... newer version) o Finished adding monsters to the Deepness o Fixed a bug in the acid effect o Added kraken, sea serpent and hydra AI Kernel changes: o When characters advance a level they get full hp and mana restoration o Character::setLevel() also sets XP for that level 2005-11-28 Gordon McNutt * src/cmd.c, src/kern.c, src/player.cpp, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/kraken-lakes.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/yellow-slime.scm: Haxima changes: o Added acid effect and acid bolt (untested) o Finished Pools Kernel changes: o Casting spells dec's action points * src/cmd.c, src/cmd.h, src/ctrl.c, src/object.c, src/object.h, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/fields.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/lich-tomb.scm, worlds/haxima-1.002/luximene.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/necromancer.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/terrains.scm: Haxima changes: o Added fire immunity o Skeletons immune to fire and poison o Finished Lich's Tomb Kernel changes: o Added a nil hook for effects like fire immunity which don't do anything other than exist * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/occs.scm: Haxima changes: o Added Craven Archer NPC type o Finished Death Knight Keep * worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/treasury.scm: Haxima changes: o Added lost treasury 2005-11-27 Gordon McNutt * src/Being.cpp, src/cmd.c, src/ctrl.c, src/kern.c, src/place.c, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/spells.scm: Haxima changes: o Finished Great Hall o Fixed Vas Flam and Grav Por spells o Fixed player missile spells to go through the abilities layer once target selected, makes missile spell code more common Kernel changes: o kern_fire_missile was causing double hits o Compressed some combat console verbage * worlds/haxima-1.002/alex.scm, worlds/haxima-1.002/jones.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Finished Paladin's Hold 2005-11-26 Gordon McNutt * worlds/haxima-1.002/anne.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/gate-guard.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/step.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Modified gate guards a bit o Mostly finished up Paladin's Hold 2005-11-25 Gordon McNutt * src/common.h, src/place.c, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/old-mine.scm, worlds/haxima-1.002/tools.scm: Haxima changes: o Added some ghosts to the Old Mine o Added wind traps which blow out torches o Seperated torch-light effect from generic light effect o Bugfix: effect removal procedures should not call kern-obj-remove-effect, or endless recursion results. Kernel changes: o Reduced MIN_PLAYER_LIGHT from 128 to 8, so that torches become a bit more important. * worlds/haxima-1.002/food.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/old-mine.scm: Haxima changes: o Finished Old Mine 2005-11-23 Gordon McNutt * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/douglas.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/old-mine.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/troll.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Finished Goblin Kingdoms 2005-11-21 Gordon McNutt * src/Being.cpp, src/ctrl.c, worlds/haxima-1.002/abandoned-cellar.scm, worlds/haxima-1.002/abandoned-farm.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/engineers-hut.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/keep_crypt_mech.scm, worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/merciful-death.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/mushroom-cave.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/poor-house.scm, worlds/haxima-1.002/slimy-cavern.scm: Haxima changes: o Added guard-pt, a special case of spawn-pt, for guards o Changed re-spawn time from one hour and one minute to one day Kernel changes: o Finally fixed the "FIXME: use Being::pathfindTo" messages coming from ctrl.c o When the party leader switches from Follow mode to Round Robin mode he no longer forfeits his own turn. * src/cmd.c, worlds/haxima-1.002/abandoned-cellar.scm, worlds/haxima-1.002/abandoned-farm.scm, worlds/haxima-1.002/addons.png, worlds/haxima-1.002/Attic/af-entry.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/angriss-lair.scm, worlds/haxima-1.002/angriss.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/engineers-hut.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/mushroom-cave.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/poor-house.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/Attic/slimy-cavern-entry.scm, worlds/haxima-1.002/slimy-cavern.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/sprites.scm: Haxima changes: o All NPC types added Kernel changes: o Bugfix: if a chest was on a mech which could not be opened, trying to open the chest would have no effect. * worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/anne.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/douglas.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added Douglas and Anne to the Entrance to Kurpolis 2005-11-19 Gordon McNutt * src/character.cpp, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/bill.scm, worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/keep_crypt_mech.scm, worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/merciful-death.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/species.scm: Haxima changes: o Converted/added ranger, skeletal spear-thrower and skeletal warrior types to new npc format o Bugfix: skeletons had no limbs Kernel changes: o When NPC's are choosing arms they now consider the defense and to-hit values. Attack, defense and armor are given more weight than to-hit. * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/loc.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm: Haxima changes: o Added the teleport ability for NPC's o Added a cave goblin priest NPC type 2005-11-18 Gordon McNutt * src/character.cpp, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/arms.png, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/species.scm: Haxima changes: o Split ork faction and species into cave goblin and forest goblin o Converted some existing goblin npc types into forest goblin hunters and stalkers, and cave goblin slingers and berserkers. o Added an axe weapon type o Modified most of the Goblin Kingdom dungeons to use the new monster spawning method Kernel changes: o Bugfix: crash in Character::setTarget(). Mis-handling the targets refcount in a corner case. 2005-11-17 Gordon McNutt * src/clock.c, src/clock.h, src/ctrl.c, src/kern.c, src/place.c, src/player.cpp, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm: Haxima changes: o Added the new monster-spawning system for dungeon rooms. This is much simpler than the previous monster generator systems, at the cost of some features which weren't much used. Kernel changes: o Moved the place on-entry hook invocation to the place_enter() function o kern-get-time now returns the year, month, week and day as well as the hour and minute 2005-11-16 Gordon McNutt * worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/kobj.scm, worlds/haxima-1.002/loc.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/troll.scm: Haxima changes: o Started consolidating the NPC gobs 2005-11-14 Gordon McNutt * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/spider.scm: Haxima changes: o Added forest goblin shaman * worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/jorn.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/species.scm: Haxima changes: o Made curried wrapper for kern-mk-species o Reorg'd species.scm into table format like arms.scm (make balance easier) o Made curried wrapper for kern-mk-occ o Reorg'd occ.scm into table format (balancing easier) 2005-10-31 Gordon McNutt * worlds/haxima-1.002/altar-room.scm, worlds/haxima-1.002/dank-cave.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/kraken-lakes.scm, worlds/haxima-1.002/lich-tomb.scm, worlds/haxima-1.002/old-mine.scm: Haxima changes: o Added Old Mine map o Added Lich Tomb map o Added Altar Room map o Added Dank Cave map 2005-10-30 Gordon McNutt * worlds/haxima-1.002/fire_sea.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/kraken-lakes.scm, worlds/haxima-1.002/tblit.scm: Haxima changes: o Added maps for 4th level of Kurpolis * worlds/haxima-1.002/forsaken-prison.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/mans-hideout.scm: Haxima changes: o Added Forsaken Prison map * worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/kraken-lakes.scm: Haxima changes: o Added Kraken Lakes level & its maps * worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/keep.scm: Haxima changes: o Added Death Knight's Hold * worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/tblit.scm: Haxima changes: o Added Treasury room 2005-10-29 Gordon McNutt * worlds/haxima-1.002/Attic/goblin-battle.scm, worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/Attic/grey-goblin-village.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/Attic/kurpolis.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/Attic/troll-den.scm: Haxima changes: o Re-organized the source for the first level of Kurpolis o Modifed the entrance to Kurpolis to be more entrance-y * worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/Attic/keep_crypt.scm, worlds/haxima-1.002/shard.scm: Haxima changes: o Added Paladin's Hold * worlds/haxima-1.002/goblin-kingdoms.scm, worlds/haxima-1.002/Attic/haxima.scm: Haxima changes: o Added Shaman's Grove map 2005-10-28 Gordon McNutt * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/nossifer.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/talking-ankh.scm: Haxima changes: o Added Nossifer 2005-10-25 Gordon McNutt * worlds/haxima-1.002/ankh-shrine.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/silas.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/talking-ankh.scm, worlds/haxima-1.002/terrains.scm: Haxima changes: o Added Ankh Shrine o Added talking ankh 2005-10-24 Gordon McNutt * worlds/haxima-1.002/dennis.scm, worlds/haxima-1.002/kathryn.scm, worlds/haxima-1.002/old-absalot.scm, worlds/haxima-1.002/selene.scm, worlds/haxima-1.002/silas.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added Selene o Added Dennis 2005-10-23 Gordon McNutt * worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/old-absalot.scm, worlds/haxima-1.002/silas.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added Silas 2005-10-22 Gordon McNutt * worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/items.scm, worlds/haxima-1.002/luximene.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/necromancer.scm, worlds/haxima-1.002/necromancers-lair.scm, worlds/haxima-1.002/special.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added Necromancer o Added Luximene 2005-10-21 Gordon McNutt * worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/gholet.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/jorn.scm, worlds/haxima-1.002/meaney.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added Jorn, Ghertie's first mate 2005-10-20 Gordon McNutt * src/Container.cpp, src/Container.h, src/kern.c, src/terrain_map.c, worlds/haxima-1.002/gholet.scm, worlds/haxima-1.002/prison.scm: Haxima changes: o Added NPC Gholet Kernel changes: o Bugfix: if script called kern-obj-remove-from-inventory with a count arg greater than the numer available to remove we'd assert in Container::takeOut. Replaced the assert with return false and emit a warning to the console. 2005-10-19 Gordon McNutt * worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/jess.scm, worlds/haxima-1.002/prison.scm: Haxima changes: o Added Sam's Prison Chamber map as a prison below Glasdrin 2005-10-18 Gordon McNutt * worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/meaney.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/poor-house.scm, worlds/haxima-1.002/the-man.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added Meaney, one of Ghertie's ex-crew 2005-10-17 Gordon McNutt * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/door.scm, worlds/haxima-1.002/ghertie.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/poor-house.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added Poor House * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/ghertie.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/naz.scm: Haxima changes: o Added Ghertie's Quest. 2005-10-16 Gordon McNutt * src/cmd.c, src/kern.c, src/player.cpp, worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/engineers-hut.scm, worlds/haxima-1.002/shard.scm: Haxima changes: o Tweaked the maps a bit around the Engineer's Hut o A few fixes to the Engineer's conversation Kernel changes: o Bugfix: if reloading a game saved while on board a vehicle, upon disembarking the vehicle would be inadvertently destroyed. Needed to add a ref_inc on load to prevent this. o Characters that were sleeping due to a spell would still respond with a conversation (unlike characters sleeping due to their schedule telling them to). Since "sleep" is a concept known to the kernel I added a check for it. o Bugfix: sleeping party members shouldn't be able to rendezvous * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/ghertie.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/mans-hideout.scm, worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/the-man.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added the MAN o Tweaked Ghertie's conversation 2005-10-13 Gordon McNutt * worlds/haxima-1.002/engineer.scm, worlds/haxima-1.002/engineers-hut.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/vehicles.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added engineer o Added voidship * worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/shard.scm: Haxima changes: o Put Lost Halls on the wilderness map * worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/spells.scm: Haxima changes: o Sprinkled lost halls with corpse loot o Bugfix: wind spells were broken, calling kern-being-is-hostile? on non-being objects; caused a crash 2005-10-12 Gordon McNutt * src/kern.c, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/special.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/spider.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/troll.scm: Haxima changes: o Bugfix: mongen2 exec was not evaluating kern-char-get-location, caused monster generation to fail with a script error o Bugfix: bog was poisoning non-being objects and emitting the noxious "Noxious fumes!" message o Added Gint npc type o Added monster generators to Lost Halls Kernel changes: o Bugfix: kern_char_get_occ was not returning sc->NIL for null occs 2005-10-11 Gordon McNutt * src/character.cpp, src/cmd.c, src/common.c, src/common.h, src/kern.c, src/object.c, src/object.h, src/place.c, src/place.h, worlds/haxima-1.002/angriss-lair.scm, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/ifc.scm, worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/objs.scm: Haxima changes: o Added searchable corpses with loot Kernel changes: o Added a hook for 'search' on objects 2005-10-10 Gordon McNutt * src/character.cpp, src/kern.c, worlds/haxima-1.002/angriss-lair.scm, worlds/haxima-1.002/angriss.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/fields.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/special.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/spider.scm, worlds/haxima-1.002/terrains.scm: Haxima changes: o Added Angriss and finished her lair Kernel changes: o Added kern-conv-begin, so npc's can initiate conversation with the player * worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/naz.scm: Haxima changes: o Broke up the Lost Halls dungeon into dungeon rooms o Added some procs to simplify dungeon room creation 2005-10-07 Gordon McNutt * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/addons.png, worlds/haxima-1.002/angriss-lair.scm, worlds/haxima-1.002/angriss.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/ilya.scm, worlds/haxima-1.002/mouse.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/spider.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm: Haxima changes: o Almost done with Angriss lair o Added Angriss; mostly done o Implemented web-spew as an ability 2005-10-05 Gordon McNutt * worlds/haxima-1.002/angriss-lair.scm, worlds/haxima-1.002/fields.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/special.scm, worlds/haxima-1.002/spider.scm, worlds/haxima-1.002/step.scm, worlds/haxima-1.002/terrains.scm: Haxima changes: o Added most of Angriss's Lair 2005-10-04 Gordon McNutt * src/cmd.c, src/kern.c, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/merciful-death.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/portals.scm, worlds/haxima-1.002/raise-merciful-death.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/terrains.scm: Haxima changes: o Added the wreck of the Merciful Death o Added Vas Uus Ylem spell Kernel changes: o Added place-add-subplace o Bugfix: if a spell closure returned no-effect cmdCastSpell would call log_end() twice and assert in log.c 2005-10-03 Gordon McNutt * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/fire_sea.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm: Haxima changes: o Added deep lava sprite and terrain type o Added Rune of Wisdom o Reverted boulders to being impassable * worlds/haxima-1.002/fields.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/old-absalot.scm: Haxima changes: o Added permanent versions of all energy fields o Dispell field spell will now worn on spider webs o Added Rune of Skill * worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/void-temple.scm: Haxima changes: o Added void temple o Added Rune of Discretion 2005-10-02 Gordon McNutt * worlds/haxima-1.002/absalot.scm, worlds/haxima-1.002/door.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/old-absalot.scm, worlds/haxima-1.002/shard.scm: Haxima changes: o Put Absalot on the main map o Added mechs and... other stuff to Old Absalot * worlds/haxima-1.002/absalot.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/old-absalot.scm: Haxima changes: o Added maps for Absalot and Old Absalot * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/engineers-hut.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/vehicles.scm: Haxima changes: o Added map and objects for the Engineer's Hut * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/lever.scm, worlds/haxima-1.002/mans-hideout.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/tblit.scm: Haxima changes: o Added map and objects for the MAN's Hidedout * worlds/haxima-1.002/earl.scm: Haxima changes: o Earl sells shovels * worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/tools.png, worlds/haxima-1.002/tools.scm, worlds/haxima-1.002/trigrave.scm: Haxima changes: o Added support for buried objects and a shovel o Added Rune of Power * worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/necromancers-lair.scm: Haxima changes: o Added map and objects for the Necromancers Lair 2005-09-30 Gordon McNutt * src/cmd.c, src/common.h, src/object.c, src/object.h, worlds/haxima-1.002/food.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/jeffreys.scm, worlds/haxima-1.002/jess.scm: Haxima changes: o Added Jeffries to Glasdrin o Fixed buying alcohol to add drunkuness effect (previously picking up alcohol from the ground would do this, but not buying it) Kernel changes: o Cut back turns per hour from 60 to 20 so time will pass more quickly o Added support for the 'buy hook to object types (to support alcohol purchases) 2005-09-29 Gordon McNutt * worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/shapes.png, worlds/haxima-1.002/zones.scm: Haxima changes: o Added guard generators to Glasdrin * worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/ini.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added Ini, a paladin of Glasdrin 2005-09-28 Gordon McNutt * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/patch.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/steward.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added Victoria, ruler of Glasdrin o Added a female ruler sprite 2005-09-27 Gordon McNutt * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/jess.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added Chester, arms dealer, to Glasdrin 2005-09-26 Gordon McNutt * src/ctrl.c, src/map.c, src/map.h, src/place.c, src/play.c, src/scheme-private.h: Kernel changes: o Increased scheme CELL_SEGSIZE from 5,000 to 40,000. This reduced the frequency of garbage collection cycles and improves responsiveness. It also dramatically improves the load time. o Reduced scheme CELL_NSEGMENT from 20 to 10. Since the total size was increased with the above change I'm reverting the change I made to this earlier when scheme was running out of memory. It isn't necessary now. o Added a REPAINT_IF_OLD flag to map updates made solely for animation purposes. The intention is to cut back on unnecessary map repaints in cases where the map was recently repainted due to player actions. Should also eliminate the "dancing sprite" effect which occurs after animation repaints are held off for short periods during special effects like map jitter or map flash. * worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/henry.scm, worlds/haxima-1.002/jess.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added Jess, barkeep, to Glasdrin 2005-09-25 Gordon McNutt * src/cmd.c, src/kern.c, src/kern.c, worlds/haxima-1.002/angela.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/patch.scm, worlds/haxima-1.002/prices.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/zones.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Map tweaks to Glasdrin o Added doc Patch to Glasdrin o Added npc healer scripts Kernel changes: o kern_ui_select_party_member now cleans up cmdwin 2005-09-24 Gordon McNutt * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/keep.scm, worlds/haxima-1.002/Attic/keep_crypt.scm, worlds/haxima-1.002/keep_crypt_mech.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/objs.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/sprites.scm: Haxima changes: o Added Crypt dungeon room 2005-09-23 Gordon McNutt * src/kern.c, worlds/haxima-1.002/bart.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/prices.scm, worlds/haxima-1.002/shard.scm: Haxima changes: o Added Bart the shipwright to Oparine; player can now buy ships o Bugfix: the dungeons kurpolis and mushroom cave needed to be designated by tags, not raw variables, in their mk-dungeon calls Kernel changes: o kern-place-get-vehicle * worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/doris.scm, worlds/haxima-1.002/fing.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/lia.scm, worlds/haxima-1.002/may.scm, worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added Lia, reagent-seller of Oparine o Added Fing, a nixie of Oparine * worlds/haxima-1.002/fing.scm, worlds/haxima-1.002/ghertie.scm, worlds/haxima-1.002/henry.scm, worlds/haxima-1.002/lia.scm, worlds/haxima-1.002/oparine.scm: Haxima changes: o Added Ghertie to Oparine 2005-09-22 Gordon McNutt * worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/henry.scm, worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/oscar.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added Henry the barkeep to Oparine * worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/gwen.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/oscar.scm, worlds/haxima-1.002/prices.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added Oscar the Innkeeper to Oparine 2005-09-21 Gordon McNutt * worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/potions.png, worlds/haxima-1.002/potions.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added the Alchemist o Added three new (inert) potion types: dragon's blood, hydra's blood and lich's blood 2005-09-20 Gordon McNutt * worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added the Alchemist shop to Oparine o Set zones for Oparine 2005-09-19 Gordon McNutt * src/kern.c, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/naz.scm: Haxima changes: o Added end of first quest and start of main quest to enchanter's conv Kernel changes: o Added kern-char-add-experience 2005-09-18 Gordon McNutt * src/character.cpp, src/character.h, src/kern.c, worlds/haxima-1.002/books.png, worlds/haxima-1.002/books.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/kathryn.scm, worlds/haxima-1.002/mouse.scm, worlds/haxima-1.002/portals.scm, worlds/haxima-1.002/thud.scm, worlds/haxima-1.002/traps_1.scm: Haxima changes: o Finished testing/tweaks to Kathryn/Thud/Thief scenario Kernel changes: o Added kern-char-force-drop and relevant support. With this, the scripter can indicate that he wants a particular character to always drop their chest (as opposed to dropping it based on a probability) 2005-09-17 Gordon McNutt * src/character.cpp, src/kern.c, src/object.c, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/kathryn.scm, worlds/haxima-1.002/mouse.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/thud.scm: Haxima changes: o Bugfix: when warping in Thud and Kathryn their schedules are reset to null o Added spell-sword-ai, Kathryn uses it Kernel changes: o Added kern-char-set-schedule o Bugfix: if a character is eating and the schedule is set to NULL then the character will be stuck eating (and doing nothing else!). * src/kern.c, src/player.cpp, worlds/haxima-1.002/mouse.scm, worlds/haxima-1.002/naz.scm: Haxima changes: o Bugfix: when losing gold or food console message said eg, "You lose -500 gold". Got rid of the negative sign in these messages. Kernel changes: o Scaled back the thief's conversation in accordance with some plot changes o Bugfix: kobj-get was printing eg, "Jack gets a beer" even when Jack didn't really get the beer (because Jack lacked a container in which to put the beer) 2005-09-15 Gordon McNutt * src/character.cpp, src/character.h, src/kern.c, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/mouse.scm, worlds/haxima-1.002/naz.scm: Haxima changes: o Added Mouse, the Accursed Thief; not fully tested yet o kobj-get checks if kern-obj-put-into succeeded (it won't for npc's with no container) Kernel changes: o Added Character::leavePlayer() to remove player party members o Added kern-char-leave-player o kern-obj-remove uses Object::remove() now instead of place_remove_object() o kern-obj-put-into now returns bool 2005-09-13 Gordon McNutt * src/cmd.c, src/object.c, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/food.scm, worlds/haxima-1.002/Attic/haxima.scm: Haxima changes: o Added Thief's Den o Added rune types Kernel changes: o Added simple critical hits: if (20 <= (1d20 + log2(lvl))) then the defender's armor is ignored. o Disarming traps is now (20 <= (1d20 + log2(dex) + log2(lvl))) * src/cmd.c, src/common.c, src/common.h, src/ctrl.c, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/bole.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/portals.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/traps_1.scm, worlds/haxima-1.002/traps_2.scm, worlds/haxima-1.002/traps_3.scm: Haxima changes: o Added final trap level to Thief's ladder, it's quite evil IMHO o Arranged riddles in first trap level to be serial and different o Tweaked some armor/weapon values Kernel changes: o Added simple critical hits: if (20 <= (1d20 + log2(lvl))) then the defender's armor is ignored. o Disarming traps is now (20 <= (1d20 + log2(dex) + log2(lvl))) 2005-09-11 Gordon McNutt * src/character.cpp, src/character.h, src/cmd.c, src/ctrl.c, src/ctrl.h, src/kern.c, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm: Haxima changes: o Added mk-edge-gen, which creates a v2 monster generator that doesn't care if the player is in LOS. Intended for edge-of-map or over-portal generators, where it doesn't look odd for an npc to suddenly appear. o Bugfix: vampiric-touch might destroy it's victim then try to print its name. Uses refcount now. Kernel changes: o Character level added as a bonus to to-hit and to-def o Bugfix: was not calculating attacker's to-hit penalty from armor o Bugfix: could h)andle invisible mechs when not revealed * src/character.cpp, src/cmd.c, src/kern.c, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/items.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/potions.scm: Haxima changes: o vampiric touch damage limited to victim's hp o Mana and healing potions on the ground will check for an adjacent npc that wants them. If the npc does not have an action point debt it will automatically get the potion, losing an action point in the process. This idea comes from Ray Dillinger's discussion of "Displaced Actions". This way npc's don't have to know about potions and search for them every turn. Since potions are rarer than npc's and quickly picked up, it's more efficient to have the potion search for npcs! o bugfix: death knights of insufficient level were using disease touch Kernel changes: o Bugfix: on reload a character's readied arms were also added to its inventory, causing a double count of readied items. o Bugfix: kern_obj_remove_from_inventory was doing nothing on non-player-controlled characters (because Character::takeOut was doing nothing) * src/character.cpp, src/character.h, src/cmd.c, src/kern.c, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/spells.scm: Haxima changes: o Added ability.scm for special NPC abilities o Death knights use Disease Touch and Vampiric Touch o Death knights drink mana potions Kernel changes: o Added Character::setMana o Added kern-char-get-max-mana o Added kern-char-set-hp o Added kern-char-set-mana o Added kern-type-get-name o Bugfix: kern_ui_select_party_member not printing a "-" in the cmdwin * src/ctrl.c, src/kern.c, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/occs.scm: Haxima changes: o Added disarm ability at L3 o Guard AI attempts to disarm foes Kernel changes: o Added kern-char-get-readied-weapons o Added kern-char-unready o Added more verbose combat spewage 2005-09-10 Gordon McNutt * src/character.cpp, src/character.h, src/kern.c, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/npc-types.scm: Haxima changes: o death-knight generator in great hall sets level to 1d8 (test of kernel changes) Kernel changes: o Added Character::setLevel o Added kern-char-set-level o Descriptions of characters via x)amine now show their level * src/ctrl.c, worlds/haxima-1.002/gate-guard.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/loc.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/mushroom-cave.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/Attic/slimy-cavern-entry.scm, worlds/haxima-1.002/spider.scm, worlds/haxima-1.002/troll.scm, worlds/haxima-1.002/yellow-slime.scm: Haxima changes: o Added step version of mongen2 o Bugfix: where yellow slimes summoned green slimes I forgot to remove a parameter passed to the spell, caused a crash Kernel changes: o ctrl.c -- ctrl_idle() now checks return value of AI closure. The closure should return true iff it handled the turn. If it returns false then control falls through to the standard kernel AI. This allows magic users or creatures with special ability to test if they want to do something unique, and if not then to go ahead with the generic AI. * src/kern.c, worlds/haxima-1.002/Attic/goblin-battle.scm, worlds/haxima-1.002/Attic/grey-goblin-village.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/slimy-cavern.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/tools.scm, worlds/haxima-1.002/Attic/troll-den.scm: Haxima changes: o Upgraded all monster generators to mongen2 o Upgraded mk-green-slime to be mk-gen-step o Fixed torches o With the kernel change below got rid of all the spurious "Noxious fumes!" messages which occur in boggy places when slimes are around Kernel changes: o kern_obj_add_effect propogates back the result of obj->addEffect() so the script can check if the effect was actually applied 2005-09-08 Gordon McNutt * src/Container.h, src/character.cpp, src/cmd.c, src/common.h, src/kern.c, src/map.c, src/map.h, src/object.c, src/place.c, src/session.c, src/session.h, worlds/haxima-1.002/combat-maps.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/portcullis.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/tblit.scm: Haxima changes: o Added dungeon room: Thief's Ladder III o Added Death Knight npc type o Added halberdier guard npc type o Added crossbow guard npc type Kernel changes: o Added hard-coded probabilities to drop items and chests instead of dropping all the time. Less litter. o When an object gets hit it flashes a damage sprite o Bugfix: in the rare occasions when more than one being occupies the same tile the X)amine command was only showing one of them 2005-09-07 Gordon McNutt * worlds/haxima-1.002/bim.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/ifc.scm, worlds/haxima-1.002/lever.scm, worlds/haxima-1.002/traps_2.scm, worlds/haxima-1.002/traps_3.scm, worlds/haxima-1.002/traps_3_mechs.scm: Haxima changes: o Added dungeon room Thief's Ladder II 2005-09-06 Gordon McNutt * worlds/haxima-1.002/bim.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/portals.scm, worlds/haxima-1.002/portcullis.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/traps_1.scm, worlds/haxima-1.002/traps_2.scm: Haxima changes: o Added dungeon room Thief's Ladder II 2005-09-05 Gordon McNutt * src/clock.c, src/clock.h, src/cmd.c, src/foogod.c, src/kern.c, src/object.c, worlds/haxima-1.002/bill.scm, worlds/haxima-1.002/bole.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/deric.scm, worlds/haxima-1.002/doris.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/gwen.scm, worlds/haxima-1.002/hackle.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/kathryn.scm, worlds/haxima-1.002/may.scm, worlds/haxima-1.002/melvin.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/portals.scm, worlds/haxima-1.002/shroom.scm: Haxima changes: o Added Melvin of Bole o Added Hackle of Bole o Added Thief's Door (destination not correct yet) Kernel changes: o Added kern-get-time to return time-of-day as (hours . minutes) o Effects on generic objects now saved/loaded o Bugfix: Reveal was not shown in status window * worlds/haxima-1.002/bill.scm, worlds/haxima-1.002/bole.scm, worlds/haxima-1.002/hackle.scm, worlds/haxima-1.002/Attic/haxima.scm: Haxima changes: o Map cleanup in Bole o Conversation tweaks in Bole * worlds/haxima-1.002/bole.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/portals.scm, worlds/haxima-1.002/traps_1.scm: Haxima changes: o Added dungeon room Thief's Ladder I o Wired up Thief's Door destination o Added riddle mechanism 2005-09-03 Gordon McNutt * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/chanticleer.scm, worlds/haxima-1.002/food.scm, worlds/haxima-1.002/miggs.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/trigrave.scm: Haxima changes: o Added Miggs, tavern-keeper of Trigrave o Added a fat townswoman sprite 2005-09-02 Gordon McNutt * worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/food.png, worlds/haxima-1.002/food.scm, worlds/haxima-1.002/ifc.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/trigrave.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added a "drunk" effect for alcoholic beverages 2005-09-01 Gordon McNutt * src/Container.cpp, src/cmd.c, src/kern.c, worlds/haxima-1.002/arms.png, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/chanticleer.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/gwen.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/jim.scm, worlds/haxima-1.002/scrolls.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/Attic/trigrave-zones.scm, worlds/haxima-1.002/trigrave.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Added a stun wand o Maintenance on Trigrave conversations o Added Earl's chest Kernel changes: o Containers now save/reload effects on them o The 'open' command no longer works on invisible containers and mechs (unless Reveal is in effect) * worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/trigrave.scm: Haxima changes: o Added a stun wand o Maintenance on Trigrave conversations 2005-08-28 Gordon McNutt * worlds/haxima-1.002/camping-map.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/potions.scm, worlds/haxima-1.002/scrolls.scm, worlds/haxima-1.002/zane.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Removed all the guards and mongens from Enchanter's Tower o Added magically locked doors, treasure and beds to ET o Added Enchanter to ET 2005-08-25 Gordon McNutt * src/character.cpp, src/ctrl.c, src/dtable.h, src/kern.c, src/object.c, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/gate-guard.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/zane.scm: Kernel changes: o Added kern-being-is-ally? o Added kern-being-get-visible-allies o Added kern-char-get-level o Bugfix: dtable_are_allies() was referencing the value for hostiles, not allies o Tweaked XP needed for advancement down a little; level 2 now occurs at 32XP o NPC's with ranged weapons will try and move away from foes who are blocking them Haxima changes: o Added slime and skeleton generators to enchanter's tower o Enchanter's gate guards will summon rangers when they see hostiles o Gate guards will also cast dispell undead if they see skeletons 2005-08-24 Gordon McNutt * worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/gate-guard.scm: Haxima changes: o Gate guards now pathfind to their posts. 2005-08-23 Gordon McNutt * configure.ac, src/kern.c, src/nazghul.c, src/session.c, worlds/haxima-1.002/bim.scm, worlds/haxima-1.002/bole.scm, worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/gate-guard.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/ifc.scm, worlds/haxima-1.002/kathryn.scm, worlds/haxima-1.002/kobj.scm, worlds/haxima-1.002/may.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/Attic/spawnpoint.scm, worlds/haxima-1.002/splash.png, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/timer.scm: Build changes: o Bumped version to 0.5 Kernel changes: o Changed location where kernel looks for splash image to be the current directory o Erasing screen before painting frame for first time to get rid of residual splash image Haxima changes: o Minor conversation cleanup o Added gate-guard.scm o Added gate guards to enchanters tower o Updated splash image o Added a generic timer mech; originally I planned to use this with gate guards but didn't need it. Since these will probably prove to be useful for other things I'm adding the file to CVS (but not loading it on startup). * src/character.cpp, src/kern.c, src/place.c, src/place.h: Kernel changes: o Bugfix: npc's no longer try to shoot at targets through walls. The Character::canSee() method now checks LOS * worlds/haxima-1.002/Attic/af-entry.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/Attic/slimy-cave-entry.scm, worlds/haxima-1.002/Attic/slimy-cavern-entry.scm, worlds/haxima-1.002/species.scm: Haxima changes: o Consistently named all the "is-species?" type procedures * worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/gate-guard.scm, worlds/haxima-1.002/Attic/haxima.scm: Haxima changes: o Added green slime generator to enchanter's tower o Gate guards now close their gates when hostiles are visible 2005-08-21 Gordon McNutt * src/character.cpp, src/ctrl.c, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/gregors-hut.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/ilya.scm, worlds/haxima-1.002/shard.scm: Kernel changes: o Bugfix: ctrl_do_attack() was referring to the target after it could have been destroyed, causing an assert Haxima changes: o Repositioned Gregor's Hut o Repositioned Abandoned Farm o Some conversation cleanup * worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/terrains.scm: Haxima changes: o Added Oparine 2005-08-20 Gordon McNutt * worlds/haxima-1.002/glasdrin.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/shard.scm: Haxima changes: o Added Glasdrin 2005-08-11 Gordon McNutt * worlds/haxima-1.002/enchanters-tower.scm: Haxima changes: o Tweaks to enchtwr 2005-08-10 Gordon McNutt * worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Reworked enchanter's tower into something smaller 2005-08-09 Gordon McNutt * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/npc-types.scm: Haxima changes: o Added Troll Den dungeon room o Fixed troll boulder-throwing o Tweaked troll npc type equipment * worlds/haxima-1.002/bill.scm, worlds/haxima-1.002/bole.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/kathryn.scm, worlds/haxima-1.002/may.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/thud.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Ported Bole and existing occupants 2005-08-08 Gordon McNutt * src/kern.c, src/scheme.c, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/Attic/goblin-battle.scm, worlds/haxima-1.002/Attic/grey-goblin-village.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/Attic/troll-den.scm, worlds/haxima-1.002/troll.scm: Haxima changes: o Added Troll Den dungeon room o Fixed troll boulder-throwing 2005-08-07 Gordon McNutt * src/character.cpp, src/common.h, src/kern.c, src/place.c, src/place.h, worlds/haxima-1.001/enchanters-tower.scm, worlds/haxima-1.002/addons.png, worlds/haxima-1.002/Attic/grey-goblin-village.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/Attic/kurpolis.scm, worlds/haxima-1.002/mushroom-cave.scm, worlds/haxima-1.002/portals.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/sprites.scm: Kernel changes: o At long last, after no end of polite requests from Sam, implemented u5-style "adjacent" dungeon rooms, where stepping off the map edge of one dungeon will land you in a neighboring room. It should work with towns and, for all I know, wilderness zones, too (but stepping off the edge of a wilderness combat map will still take you back to the wilderness). Haxima changes: o Added two stub dungeon rooms o Fixed the entrance to the mushroom cave to use an auto-entrance portal; this is the recommended way for all wilderness dungeon entrances (at some point in the past I must have removed the party E)nter command... don't recall when or why) * src/character.cpp, src/player.cpp, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/Attic/save.scm: Kernel changes: o Bugfix: with the recent multi-place schedule changes, when an NPC with a schedule joins the player party it must be removed from the list of NPC's with schedule, otherwise on entry to a town the kernel will try and move it to its appointment, resulting in crashes or missing party members. * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/doris.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/gwen.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/sprites.scm: Haxima changes: o Added Doris to Green Tower o Added a female townsman sprite * worlds/haxima-1.002/deric.scm, worlds/haxima-1.002/green-tower.scm: Haxima changes: o Added Deric to Green Tower * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/Attic/goblin-battle.scm, worlds/haxima-1.002/Attic/grey-goblin-village.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/Attic/kurpolis.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/species.scm: Haxima changes: o Added dungeon room: Goblin Village o Added dungeon room: Goblin Battle 2005-08-06 Gordon McNutt * src/character.cpp, src/kern.c, src/place.c, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/mushroom-cave.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/reagents.png, worlds/haxima-1.002/reagents.scm, worlds/haxima-1.002/Attic/save.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/species.scm: Kernel changes: o Bugfix: x)amine crashed when a monster generator was examined after loading a saved game. Fix is a hack: objects w/o names are assumed to be intentionally never-visible. Haxima changes: o Ported mushroom cave from ghulscript o Ported Shroom's mushroom quest from ghulscript * src/place.c, worlds/haxima-1.002/green-tower-lower.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/portcullis.scm, worlds/haxima-1.002/Attic/save.scm: Kernel changes: o Bugfix: if two chests were stacked on the same tile with nothing else then x)amine would only report one; this was generally true of any objects that had the same ObjectType Haxima changes: o Mechanisms and other objects added to Green Tower o Added Green Tower Lower and its mechanisms * src/play.c, src/vmask.c, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/potions.scm, worlds/haxima-1.002/roland.scm, worlds/haxima-1.002/Attic/save.scm, worlds/haxima-1.002/Attic/sched.scm, worlds/haxima-1.002/shroom.scm: Kernel changes: o Added call to vmask_flush_all in the reload function in an attempt to fix the remembered-vmask problem on reload; had no visible effect but I think we need Haxima changes: o Added Shroom to Green Tower * worlds/haxima-1.002/books.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/Attic/save.scm: Haxima changes: o Added Gen to Green Tower 2005-08-05 Gordon McNutt * worlds/haxima-1.002/door.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/green-tower.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/Attic/save.scm, worlds/haxima-1.002/shard.scm: Haxima changes: o Added Green Tower; map is there but most objects and NPCs still have to be ported from the old ghulscript * worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/Attic/save.scm, worlds/haxima-1.002/shard.scm: Haxima changes: o Finished fining-in the wilderness map 2005-08-04 Gordon McNutt * worlds/haxima-1.002/addons.png, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/Attic/save.scm, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm: Haxima changes: o Created a "stars" terrain type and sprite o Filled in "void" part of wilderness map with stars * worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/Attic/save.scm, worlds/haxima-1.002/shard.scm: Haxima changes: o More work on the wilderness map * worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/Attic/save.scm, worlds/haxima-1.002/shard.scm: Haxima changes: o Began to fine-in the area around the shrine * worlds/haxima-1.002/shard.scm: Haxima changes: o Finished roughing out the wilderness map 2005-08-03 Gordon McNutt * src/Party.cpp, src/kern.c, src/terrain_map.c, src/terrain_map.h, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/Attic/save.scm, worlds/haxima-1.002/shard.scm: Kernel changes: o Added composite maps o Bugfix: failing to create characters in Party::createMembers() resulted in an infinite loop. It now bails out gracefully if this fails. Haxima changes: o Modified shard.scm to create a composite map for the wilderness o Removed more references to deleted object types in npc-types.scm * src/cmd.c, worlds/haxima-1.002/Attic/save.scm, worlds/haxima-1.002/shard.scm: Kernel changes: o Bugfix: infinite loop in terrain-fill function if starting point has same terrain type as the fill Haxima changes: o Expanded shard map to 128x96, 60% roughed-in 2005-08-02 Gordon McNutt * Attic/Makefile.in, src/Party.cpp, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/Attic/save.scm: Bugfix: crash if an npc factory references an invalid object * src/heap.h: Cleaned up header 2005-08-01 Gordon McNutt * src/character.cpp, src/combat.c, src/common.h, src/ctrl.c, src/object.c, src/player.cpp, src/player.h: Kernel changes: o +5 XP to the whole party on combat victory o Moved some of the AI stuff to prepare for more AI changes 2005-07-30 Gordon McNutt * src/status.c: bugfix: spells without sprites would crash in ztats; now check for a null sprite. I'm not going to invest in sprites for spells since they never appear outside of inventory. * worlds/haxima-1.002/abandoned-cellar.scm, worlds/haxima-1.002/abandoned-farm.scm, worlds/haxima-1.002/addons.png, worlds/haxima-1.002/Attic/af-entry.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/arms.png, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/bakup.scm, worlds/haxima-1.002/beds.scm, worlds/haxima-1.002/bim.scm, worlds/haxima-1.002/books.png, worlds/haxima-1.002/books.scm, worlds/haxima-1.002/bridge.scm, worlds/haxima-1.002/camping-map.scm, worlds/haxima-1.002/cannon.wav, worlds/haxima-1.002/chanticleer.scm, worlds/haxima-1.002/charset.png, worlds/haxima-1.002/combat-maps.scm, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/damage.wav, worlds/haxima-1.002/door.scm, worlds/haxima-1.002/drawbridge.scm, worlds/haxima-1.002/earl.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/enchanter.scm, worlds/haxima-1.002/enchanters-tower-zones.scm, worlds/haxima-1.002/enchanters-tower.scm, worlds/haxima-1.002/enter_moongate.wav, worlds/haxima-1.002/fields.scm, worlds/haxima-1.002/food.png, worlds/haxima-1.002/food.scm, worlds/haxima-1.002/frame.png, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/generic-mech.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/Attic/gregors-hut-zones.scm, worlds/haxima-1.002/gregors-hut.scm, worlds/haxima-1.002/gwen.scm, worlds/haxima-1.002/Attic/haxima.scm, worlds/haxima-1.002/horse.wav, worlds/haxima-1.002/ifc.scm, worlds/haxima-1.002/ilya.scm, worlds/haxima-1.002/init.scm, worlds/haxima-1.002/items.scm, worlds/haxima-1.002/jim.scm, worlds/haxima-1.002/kobj.scm, worlds/haxima-1.002/lever.scm, worlds/haxima-1.002/loc.scm, worlds/haxima-1.002/lost-halls.scm, worlds/haxima-1.002/money.png, worlds/haxima-1.002/money.scm, worlds/haxima-1.002/monster-generator.scm, worlds/haxima-1.002/moon.scm, worlds/haxima-1.002/Attic/moongate-clearing-zones.scm, worlds/haxima-1.002/moongate-clearing.scm, worlds/haxima-1.002/moongate.scm, worlds/haxima-1.002/moons.png, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/objs.scm, worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/palette.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/Attic/player.scm, worlds/haxima-1.002/portals.scm, worlds/haxima-1.002/portcullis.scm, worlds/haxima-1.002/potions.png, worlds/haxima-1.002/potions.scm, worlds/haxima-1.002/pre-entry-hooks.scm, worlds/haxima-1.002/reagents.png, worlds/haxima-1.002/reagents.scm, worlds/haxima-1.002/roland.scm, worlds/haxima-1.002/rowing.wav, worlds/haxima-1.002/rune.png, worlds/haxima-1.002/Attic/save.scm, worlds/haxima-1.002/Attic/sched.scm, worlds/haxima-1.002/scrolls.png, worlds/haxima-1.002/scrolls.scm, worlds/haxima-1.002/shapes.png, worlds/haxima-1.002/shard.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/Attic/slimy-cave-entry.scm, worlds/haxima-1.002/Attic/slimy-cavern-entry.scm, worlds/haxima-1.002/slimy-cavern-zones.scm, worlds/haxima-1.002/slimy-cavern.scm, worlds/haxima-1.002/sounds.scm, worlds/haxima-1.002/Attic/spawnpoint.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/spider.scm, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/tblit.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/tools.png, worlds/haxima-1.002/tools.scm, worlds/haxima-1.002/Attic/trigrave-entry.scm, worlds/haxima-1.002/Attic/trigrave-zones.scm, worlds/haxima-1.002/trigrave.scm, worlds/haxima-1.002/troll.scm, worlds/haxima-1.002/urt.scm, worlds/haxima-1.002/vehicles.scm, worlds/haxima-1.002/walk.wav, worlds/haxima-1.002/yellow-slime.scm, worlds/haxima-1.002/zane.scm: New stripped-down haxima 2005-05-29 Gordon McNutt * src/astar.h, src/cmd.c, src/cursor.cpp, src/cursor.h, src/map.c, src/place.c, src/place.h: Kernel changes: o The cursor feature now shades the region which is out of cursor range. I believe this feature was originally suggested by Sam. o Added a fast circle-drawing routine to map.c but decided not to use it for now. 2005-05-28 Gordon McNutt * src/character.cpp, worlds/haxima-1.001/enchanters-tower-zones.scm, worlds/haxima-1.001/enchanters-tower.scm, worlds/haxima-1.001/gregor.scm, worlds/haxima-1.001/gregors-hut-zones.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/zane.scm: Part 3 of changes to allow character schedules to span multiple places Kernel changes: o Bugfixes Haxima changes: o Gregors now splits his time between his hut and the moongate clearing (first multi-place schedule) * src/character.cpp, src/character.h, src/place.c, src/play.c, src/sched.c, src/sched.h, src/session.c, src/session.h: Part 2 of changes to allow character schedules to span multiple places Kernel changes: o Added a list for characters with schedules to the session struct o Modified Character::setSchedule() to add itself to the list if the schedule is not null o Modified Character destructor to remove itself from the list if it was put on it o Added Character::introduce() method to drop an npc onto the map if it needs to come in on the current hour. Currently it just drops the npc onto its appointment. o Modifed Character::commuting to handle off-place destinations as a special case. Currently it just teleports them out to their destination. o Modified the play loop to check for characters that need to be introduced on the hour. * src/cmd.c, src/cmd.h, src/ctrl.c, src/event.c, src/event.h: Kernel changes: o Consolidated some of the movecursor functions in cmd.c 2005-05-27 Gordon McNutt * scripts/RELEASE_CHECKOFF, scripts/ghul-indent, src/character.cpp, src/kern.c, src/object.c, src/sched.c, src/sched.h, worlds/haxima-1.001/chanticleer.scm, worlds/haxima-1.001/enchanters-tower-zones.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/gregors-hut-zones.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/trigrave-zones.scm: Part 1 of changes to allow character schedules to span multiple places Kernel changes: o Modified kern-mk-sched to specify a place for each schedule entry o Added place_sym and place to struct appt (sched.h) o Added sched_get_appointment(), passing in the time; this resolves the scheme place varname to the kernel place structure o Modified Character::synchronize() to use sched_get_appointment() and to get the place from the appointment instead of itself Haxima changes: o Modified all scheme appointments to specify the place 2005-04-21 Gordon McNutt * src/Attic/agent.c: Bugfix: manually unreadying items readied by the agent 2005-03-16 Gordon McNutt * src/Attic/agent.c, src/Attic/agent.h: nazbot_br changes: o Added type_is_usable() o Added actor_use_item() o Removed unimplemented function declarations from agent.h * worlds/haxima-1.001/Attic/atf.scm, worlds/haxima-1.001/Attic/map-3.scm: Changed map-3.scm to have the steal-item quest 2005-03-12 Gordon McNutt * src/Attic/agent.c, src/Attic/agent.h, src/Attic/beowulf.c, src/nazghul.c, src/session.h, worlds/haxima-1.001/Attic/map-1.scm, worlds/haxima-1.001/Attic/map-2.scm, worlds/haxima-1.001/Attic/map-3.scm: Kernel changes: o agent_quit() requires the actor as an arg now (so it can evaluate the final score) o main() now returns the agent score if the agent accomplished the goal and zero otherwise o Added two new fields to the session struct for the agent score and success flag Script changes: o Added three new startup games for agent training: map-1.scm, map-2.scm and map-3.scm. These are all 32x32 single-map games and re-use existing maps. * worlds/haxima-1.001/Attic/atf.scm: Added health and mana potions suitable for a bot (no selection ui) * worlds/haxima-1.001/Attic/map-1.scm: file map-1.scm was initially added on branch nazbot_br. * worlds/haxima-1.001/Attic/map-2.scm: file map-2.scm was initially added on branch nazbot_br. * worlds/haxima-1.001/Attic/map-3.scm: file map-3.scm was initially added on branch nazbot_br. 2005-03-05 Gordon McNutt * src/Attic/agent.c, src/cmd.c, worlds/haxima-1.001/Attic/atf.scm: Kernel changes: o actor_readied() and actor_attack_being() account for the species weapon, if any * src/Attic/agent.c, src/Attic/agent.h, src/Attic/beowulf.c: Had to pull spell mixing back out -- spell casting is so interactive that this feature will probably have to wait until next time. Added functions to get current hit and mana points. * src/Attic/beowulf.c, worlds/haxima-1.001/Attic/arena.scm, worlds/haxima-1.001/Attic/atf.scm: Script changes: o Added mk-map, a wrapper to simplify making places Kernel changes: o Added beowulf_move to standardize the door-opening strategy for all movement 2005-03-04 Gordon McNutt * src/Attic/agent.c, src/Attic/agent.h, src/Attic/beowulf.c, worlds/haxima-1.001/Attic/arena.scm: Added actor_mix to the agent interface for mixing spells 2005-03-03 Gordon McNutt * src/Attic/agent.c, src/Attic/agent.h, src/Attic/beowulf.c: Removed more functions from the agent interface * src/Attic/agent.c, src/Attic/agent.h, src/Attic/beowulf.c: More cleanup of agent interface; removed some functions I decided I didn't want in the interface * src/Attic/agent.c, src/Attic/agent.h, src/Attic/beowulf.c, src/kern.c: More docs and cleanup to the agent interface 2005-03-01 Gordon McNutt * src/Attic/agent.c, src/Attic/agent.h, src/Attic/beowulf.c, src/kern.c, worlds/haxima-1.001/Attic/arena.scm, worlds/haxima-1.001/Attic/atf.scm: Kernel changes: o Implemented goal-checking for KILL_ALL_MONSTERS o Split actor_eval into actor_eval and actor_accomplished_goal * src/Attic/agent.c, worlds/haxima-1.001/Attic/atf.scm: Kernel changes: o Implemented goal-checking for ESCAPE_DUNGEON * src/Attic/agent.h: nazbot_br changes: o adding comments to document agent.h 2005-02-19 Gordon McNutt * src/Attic/agent.c, src/Attic/agent.h, src/kern.c, src/session.c, src/session.h, worlds/haxima-1.001/Attic/atf.scm, worlds/haxima-1.001/items.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/images/dgervais/dg_commodities.trans.png: Kernel changes: o Added kern_agent_set_goal o Implemented goal-checking for GOAL_STEAL_ITEM Image changes: o Modified a copy of dgervais glowing grail sprite to pulsate 2005-02-18 Gordon McNutt * src/Attic/agent.c, src/Attic/agent.h, src/Attic/beowulf.c, src/closure.c, src/kern.c, src/session.h, worlds/haxima-1.001/Attic/arena.scm, worlds/haxima-1.001/Attic/atf.scm: Kernel changes: o Added actor_eval o Added kern_set_agent_eval_weights Bot changes: o Bugfix: beowulf_rearm did not clear the rearm flag when it had no arms, causing it to get stuck trying to rearm Script changes: o Added gold to arena.scm o atf.scm calls kern-set-agent-eval-weights 2005-02-16 Gordon McNutt * src/Attic/beowulf.c: ifdefined-out unfinished code * worlds/haxima-1.001/Attic/arena.scm: file arena.scm was initially added on branch nazbot_br. * worlds/haxima-1.001/Attic/arena.scm, worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/enchanters-tower.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/palette.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/terrains.scm, worlds/haxima-1.001/images/gmcnutt/features2.png: making sure nazbot_br is checked in * worlds/haxima-1.001/Attic/atf.scm: file atf.scm was initially added on branch nazbot_br. * worlds/haxima-1.001/Attic/atf.scm: The agent training framework start file 2005-02-15 Gordon McNutt * AUTHORS, BUGS, ChangeLog, INSTALL, Attic/aclocal.m4, scripts/RELEASE_CHECKOFF, scripts/ghul-test-install, src/nazghul.c, src/play.c, worlds/haxima-1.001/images/gmcnutt/features2.png: Kernel changes: o using PACKAGE_VERSION from config.h now * Attic/Makefile.in, Attic/configure, scripts/RELEASE_CHECKOFF, src/object.c: Kernel changes: o removed some noisy debug 2005-02-12 Gordon McNutt * src/Attic/agent.c, src/Attic/agent.h, src/Attic/beowulf.c: nazbot_br changes: o bot quits when nothing left to explore * src/Attic/agent.c, src/Attic/agent.h, src/Attic/beowulf.c, src/character.cpp, src/knapsack.h: nazbot_br changes: o bot rearms itself when it gets some loot o bot opens doors 2005-02-09 Gordon McNutt * src/Attic/agent.c, src/Attic/agent.h, src/Attic/beowulf.c: nazbot_br changes: o player bot opens chests and picks up items 2005-02-08 Gordon McNutt * src/Attic/agent.c, src/Attic/agent.h, src/Attic/beowulf.c, src/character.cpp: nazbot_br changes: o player bot pursues and attacks hostiles in LOS 2005-02-06 Gordon McNutt * src/Attic/agent.c, src/Attic/agent.h, src/Attic/beowulf.c: nazbot_br changes: o agent keeps track of where it has seen hostiles, loot, or hazardous terrain * src/Attic/agent.c, src/Attic/agent.h, src/Attic/beowulf.c, src/kern.c, src/map.c, src/object.c, src/place.c, src/place.h: nazbot_br changes: o agent will try and explore the entire map, keeping track of where it has been and where it could not find a path to 2005-02-06 Andreas Bauer * configure.ac: Sun Feb 6 12:23:20 CET 2005 Andreas Bauer * configure.ac: AC_CONFIG_HEADERS, use [] around file name * configure.ac: increase program version number to 0.4.0 2005-02-05 Gordon McNutt * src/Makefile.am, src/Attic/agent.c, src/Attic/agent.h, src/Attic/beowulf.c, src/Attic/beowulf.h, src/character.cpp, src/character.h, src/ctrl.c: nazbot_br changes: o agents can now keep state on their actors, one agent per actor o characters now keep a pointer to their agent o ctrl allocates an agent when needed o characters destroy agents when they are destroyed o beowulf agent ifc placed behind generic agent ifc * src/Makefile.am, src/Attic/agent.c, src/Attic/agent.h, src/Attic/beowulf.c, src/ctrl.c, src/ctrl.h, src/nazghul.c, src/play.c: The ';' key now toggles the player bot on/off * src/Attic/agent.c: file agent.c was initially added on branch nazbot_br. * src/Attic/agent.c, src/Attic/agent.h, src/Attic/beowulf.c: nazbot_br changes: o agent can move around randomly * src/Attic/agent.h: file agent.h was initially added on branch nazbot_br. * src/Attic/beowulf.c: file beowulf.c was initially added on branch nazbot_br. * src/Attic/beowulf.h: file beowulf.h was initially added on branch nazbot_br. * src/nazghul.c: Added --bot switch 2005-02-02 Gordon McNutt * src/character.cpp, src/nazghul.c, src/object.c: Kernel changes: o Bugfix: crash when printing the name of the player party's inventory o Bugfix: crash when exiting a place after a player party member's last target died due to extenuating circumstances (ie fire field) * worlds/haxima-1.001/enchanters-tower.scm: Added some missing script files 2005-01-30 Andreas Bauer * ChangeLog, Makefile.am, autogen.sh, configure.ac, m4/Makefile.am, m4/sdl.m4: Sun Jan 30 17:50:58 CET 2005 Andreas Bauer * m4/sdl.m4: new * configure.ac: modify check for SDL library 2005-01-28 Gordon McNutt * AUTHORS: Filled out AUTHORS based on ChangeLog * BUGS, ChangeLog, Attic/RELEASE_NOTES, Attic/configure, Attic/configure.in, doc/USERS_GUIDE, scripts/RELEASE_CHECKOFF, src/cmd.c, src/nazghul.c, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/moongate-clearing.scm: Pre-release checkin: o updated version number o put startup scripts at defaults 2005-01-27 Gordon McNutt * worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/chanticleer.scm, worlds/haxima-1.001/containers.scm, worlds/haxima-1.001/gwen.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/jim.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/trigrave.scm, worlds/haxima-1.001/images/mixed/mine-32x32.png: Haxima changes o Fixed some deficiencies in the Trigrave conversations. 2005-01-26 Gordon McNutt * doc/USERS_GUIDE, src/astar.c, src/character.cpp, src/kern.c, src/place.c, worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/enchanters-tower-zones.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/occs.scm, worlds/haxima-1.001/zane.scm: Kernel changes: o Increased max depth of pathfinding since it wasn't enough for the 65x65 Enchanter's Tower o Fixed a lurking bug where we could overwrite an array boundary if an NPC had over 100 items in their container o Improved NPC self-arming alg by ignoring items with zero heuristic value Haxima changes: o Added Zane, a ranger who hangs out at the Enchanter's Tower * worlds/haxima-1.001/conv.scm, worlds/haxima-1.001/earl.scm, worlds/haxima-1.001/spells.scm, worlds/haxima-1.001/zane.scm: Haxima changes o Zane trades in some reagents and potions o Removed some reagents from Earl's shop o Added the "Sanct Nox" spell which grants temporary immunity to poison 2005-01-25 Gordon McNutt * src/cmd.c: Kernel changes: o Implemented feature request [ 1071337 ] Rest until sunrise * src/ctrl.c: Kernel changes: o Implemented feature request [ 1071364 ] Automatically open doors by walking into them. Didn't implement auto-lockpicking since the kernel can't tell a door from a lever (the kernel doesn't know what a door or a lockpick is, or that they are related). Bummer. * src/ctrl.c: Kernel changes: o Implemented feature request [ 1074366 ] Leave combat map with Esc after victory * src/status.c: Kernel changes: o Implemented feature request [ 1074387 ] Page up/down keys should always work in item menus. * worlds/haxima-1.001/earl.scm, worlds/haxima-1.001/gwen.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/jim.scm: Haxima changes o Modified the shopkeeper's dialogues to indicate what time they open, as per feature request [ 1074389 ]. * worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/spells.scm: Haxima changes o Implemented feature request [ 1074364 ] Resurrected characters should be asleep 2005-01-23 Gordon McNutt * ChangeLog, src/place.c, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/spider.scm: Haxima changes: o Rebalanced movement costs and speeds to improve performance in the Abandoned Farm and the Lost Halls. o Simplified spider egg execution to speedup performance * ChangeLog, src/ctrl.c, src/dtable.c, src/dtable.h, src/effect.c, src/effect.h, src/factions.h, src/kern.c, src/object.c, worlds/haxima-1.001/Attic/class-bak.scm, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/shard.scm, worlds/haxima-1.001/spells.scm: Kernel changes: o Fixed [ 1106462 ] An Xen Bet o Changed diplomacy table from being stack-based to a simple increment/decrement o Added another function to effects: restart, to be used specifically when restoring effects on a reload Haxima changes: o Added the An Xen Bet spell as mentioned in Ilya's conv * worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/monster-generator.scm, worlds/haxima-1.001/npc-types.scm: Haxima o Refactored doors to make it easier to add new types. o Added a windowed door to Roland's cell o Added a few new keywords to Roland's conversation o Added images and sprites for a windowed door * worlds/haxima-1.001/haxima.scm: Haxima changes o More work on enchanter's tower * worlds/haxima-1.001/palette.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/terrains.scm, worlds/haxima-1.001/images/gmcnutt/features2.png: Haxima changes o More work on enchanter's tower o Added a brazier sprite & terrain type 2005-01-22 Gordon McNutt * src/Arms.cpp, src/Party.cpp, src/character.cpp, src/cmd.c, src/combat.c, src/kern.c, src/object.c, src/object.h, src/place.c, src/play.c, src/player.cpp, src/player.h, src/session.c, worlds/haxima-1.001/abandoned-cellar.scm, worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/food.scm, worlds/haxima-1.001/gen.scm, worlds/haxima-1.001/ilya.scm, worlds/haxima-1.001/money.scm, worlds/haxima-1.001/moongate.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/objs.scm, worlds/haxima-1.001/spells.scm: Kernel changes: o obj_dec_ref now destroys an object at zero counts o removed kern_obj_destroy o added kern_obj_inc_ref & kern_obj_dec_ref o most objects now destroyed by ref counts instead of explicit calls to delete o fixed 1065888: "refcount targets" Haxima changes: o More work on Enchanter's Tower o changes on par with kern_* api changes * src/Container.cpp, src/place.c: Kernel changes: o Fixed [ 1107183 ] get from top of stack * src/character.cpp, src/kern.c: Kernel changes: o Fixed 1065895 "bow vanishes": NPC characters automatically unready their weapons when they run out of ammo. But the weapon was not "mirrored" in the NPC's inventory container. Now it is. * worlds/haxima-1.001/door.scm: Haxima changes: o Added doors, minor tweaks to Enchanter's Tower 2005-01-22 Andreas Bauer * COPYING, ChangeLog: Remove nazghul/examples/data/images/.xvpics. 2005-01-21 Gordon McNutt * src/cmd.c: Kernel changes: o Added a "fill" command to terrain editing mode Haxima changes: o More work on Enchanter's Tower * src/ctrl.c: Bugfix: \n in cmdwin_print caused crash * src/session.c, worlds/haxima-1.001/session.scm: Kernel changes: o Fixed 1067142 "Session->camping_proc corrupted" Haxima changes: o Fixed crash when opening the troll corpse in abandoned cellar (it was created as an object instead of a container) 2005-01-20 Gordon McNutt * src/cmd.c, src/cmd.h, src/ctrl.c, src/terrain.c, src/terrain.h, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/road.scm, worlds/haxima-1.001/sprites.scm: Kernel changes: o In terraform mode, holding down CTRL while pressing the arrow keys paints continuously. o Also in terraform mode, pressing 'c' (for C)opy) will set the terrain "pen" to be the terrain type beneath the cursor. Haxima changes: o Second draft of Enchanter's Tower main floor map 2005-01-19 Gordon McNutt * src/player.cpp: Fix for 1071359: "Camp: setting a watch means certain death". The guard was not properly waking up companions, and not exiting guard mode, either. In unguarded ambushes party members do wake up at random as intended so that should be good as well. 2005-01-18 Gordon McNutt * src/cmd.h, src/ctrl.c, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/items.scm, worlds/haxima-1.001/money.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/shard.scm: Fix for bug 1074739 "Spelling errors" * src/kern.c, worlds/haxima-1.001/haxima.scm: Fix for bug 1074360 "Crash when using picklocks on objects". kern_type_get_gifc() was not checking for a NULL gifc before dereferencing it. * src/kern.c, worlds/haxima-1.001/gwen.scm, worlds/haxima-1.001/haxima.scm: Fix for bug 1074371 "Inn prices lower than advertised". Modified kern_conv_say to take integer args as well as strings. Room price now single-sourced in a scheme variable. * worlds/haxima-1.001/door.scm: Fix for bug 1074370 "Occupied doors should stay open". Modified the door-close proc to check if the tile is occupied. If not, the door remains with a pending timeout of 1, which will continue to try and close the door on consecutive exec cycles. 2005-01-17 Gordon McNutt * Attic/Makefile.in, src/cmd.c: Fix for bug 1074739 "Spelling errors" 2004-12-11 Andreas Bauer * AUTHORS, ChangeLog, Makefile.am, Attic/Makefile.in, NEWS, Attic/RELEASE_NOTES, Attic/acinclude.m4, Attic/aclocal.m4, autogen.sh, Attic/config.guess, Attic/config.sub, Attic/configure, configure.ac, Attic/configure.in, Attic/depcomp, Attic/install-sh, Attic/ltmain.sh, Attic/missing, Attic/mkinstalldirs, m4/ChangeLog, m4/Makefile.am, m4/acinclude.m4, src/Makefile.am, src/Attic/Makefile.in, worlds/Attic/Makefile.in: Changed build system to GNU-compliant scheme. 2004-12-04 Gordon McNutt * AUTHORS: file AUTHORS was initially added on branch gmcnutt_scheme. * AUTHORS, ChangeLog, Attic/Makefile.in, Attic/aclocal.m4, Attic/configure, Attic/configure.in, src/Attic/Makefile.in, worlds/haxima-1.001/ilya.scm: This incorporates Andreas Bauer's patch for configure.in. Developers should probably upgrade their build tools to the latest versions: automake -- 1.7.9 aclocal -- 1.7.9 autoconf -- 2.59 If you have trouble try this: aclocal autoconf ./configure And if you STILL have trouble try automake and repeat. After that I don't know any more than you do. * ChangeLog: file ChangeLog was initially added on branch gmcnutt_scheme. 2004-11-21 Gordon McNutt * src/character.cpp, src/kern.c, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/lost-halls.scm, worlds/haxima-1.001/monster-generator.scm, worlds/haxima-1.001/npc-types.scm, worlds/haxima-1.001/terrains.scm, worlds/haxima-1.001/troll.scm: Haxima changes: o Added more monster generators to Lost Halls o Characters can now climb over boulders but they might slip and fall (with damage) Kernel changes: o Added kern-obj-get-dir * worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/lost-halls.scm, worlds/haxima-1.001/monster-generator.scm, worlds/haxima-1.001/npc-types.scm: Haxima changes: o Added monster generators for dungeons/towns o Put a troll generator in the lost halls 2004-11-20 Gordon McNutt * src/cmd.c, src/cmd.h, src/kern.c, worlds/haxima-1.001/chanticleer.scm, worlds/haxima-1.001/door.scm, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/haxima.scm: Haxima changes: o Reduced destructiveness of flaming oil o Filled in some holes in Chanticleer's conversation Kernel changes: o Added kern-conv-get-amount * worlds/haxima-1.001/door.scm, worlds/haxima-1.001/roland.scm, worlds/haxima-1.001/slimy-cavern.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/images/mixed/mine-32x32.png: Haxima o Refactored doors to make it easier to add new types. o Added a windowed door to Roland's cell o Added a few new keywords to Roland's conversation o Added images and sprites for a windowed door 2004-11-19 Gordon McNutt * src/Party.cpp, src/Party.h, src/closure.c, src/kern.c, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/roland.scm: Haxima changes: o Roland now greets the player as soon as he can see any player party members Kernel changes: o Added kern-party-get-members 2004-11-18 Gordon McNutt * src/ctrl.c, worlds/haxima-1.001/ai.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/npc-types.scm, worlds/haxima-1.001/roland.scm, worlds/haxima-1.001/troll.scm: Haxima changes: o Fixed bandit taunts to run only once per bandit o Added (lame) troll taunts o Roland now offers to join more prominently Kernel changes: o Moved mode-change commands above the check for action points (if the party leader is paralyzed the player can exit Follow mode so the other party members don't stand around like drooling idiots while they get whaled on) 2004-11-16 Gordon McNutt * src/Party.cpp, src/character.cpp, src/character.h, src/kern.c, src/play.c, worlds/haxima-1.001/effects.scm: More stuff to get NPC creation all in one sock. Haxima changes: o Changed slime-split effect to use mk-green-slime instead of kern-obj-clone and removed call to obsolete slime-init Kernel changes: o Removed kern-init-stock-char from the API, only kern-mk-char should be used from now on. o Removed Character::initItems() o Updated Character::initStock() in light of other changes * src/kern.c, src/occ.c, src/occ.h, worlds/haxima-1.001/af-entry.scm, worlds/haxima-1.001/npc-types.scm, worlds/haxima-1.001/occs.scm, worlds/haxima-1.001/troll.scm: More stuff to get NPC creation all in one sock. Haxima changes: o Bugfix: trolls didn't have their ai set and couldn't pick up rocks because they had no container o Updated all calls to kern-mk-occ to reflect changes in the occ struct. Kernel changes: o Removed the container and item stuff from the occupation data structure; character inventories are always initialized now via their script constructors. o Update kern-mk-occ to remove the obsolete arguments 2004-11-14 Gordon McNutt * Attic/RELEASE_NOTES, src/Container.cpp, src/Party.cpp, src/Party.h, src/character.cpp, src/closure.c, src/kern.c, src/scheme.c, src/scheme.h, worlds/haxima-1.001/abandoned-cellar.scm, worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/containers.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/gregors-hut-zones.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/ilya.scm, worlds/haxima-1.001/monster-generator.scm, worlds/haxima-1.001/npc-types.scm, worlds/haxima-1.001/objs.scm, worlds/haxima-1.001/occs.scm, worlds/haxima-1.001/parties.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/spells.scm, worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/troll.scm: More refactoring for npc type cleanup. Haxima changes: o Modify kern_mk_party_type: remove the occupation and ai and replace them with a npc type factory closure o Fixup all script references to kern-mk-party-type o Convert all uses of kern-mk-stock-char to kern-mk-char (add npc type factories) Kernel changes: o Modify GroupInfo for PartyType: remove occ and ai and replace them with an npc factory closure o Modify PartyType::addGroup to reflect these changes o Modify PartyType::~PartyType to reflect these changes o Modify Party::createMembers to use the closure instead of calling o Character::initStock() o Modify closure_exec to return a foreign func as a void * 2004-11-08 Gordon McNutt * src/Party.cpp, src/Party.h, src/kern.c, src/scheme.c, src/session.c: Step 1 1/2 of refactoring for new npc type factories 2004-11-06 Gordon McNutt * doc/engine_extension_and_design/ENGINE_CLEANUP, doc/engine_extension_and_design/ENGINE_DESIGN_NOTES, src/Container.cpp, src/Party.cpp, src/character.cpp, src/closure.c, src/closure.h, src/kern.c, src/occ.c, src/occ.h, src/place.c, src/session.c, worlds/haxima-1.001/haxima.scm: Fixed one nasty crash on reload; more still lurking 2004-11-02 Gordon McNutt * doc/engine_extension_and_design/ENGINE_CLEANUP, doc/engine_extension_and_design/ENGINE_DESIGN_NOTES: New doc files 2004-11-01 Gordon McNutt * src/combat.c, src/common.c, src/common.h, src/player.cpp, src/player.h, src/session.c, src/sound.c, src/sprite.c, src/sprite.h: Removed some obsolete code; added call to SDL_CloseAudio on exit (when sound is used) * src/object.c: Bugfix: uninitialized string in ObjectType class caused intermittent crash on reload 2004-10-28 Sam Glasby * worlds/haxima-1.001/images/dgervais/dg_weapons.trans.png: Fixed the eldritch blade (left of the flaming sword). The second animation frame was offset 1 pixel to the right. 2004-10-25 Gordon McNutt * BUGS, Attic/RELEASE_NOTES, Attic/configure.in, doc/USERS_GUIDE, src/character.cpp, src/nazghul.c, worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/earl.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/occs.scm, worlds/haxima-1.001/roland.scm, worlds/haxima-1.001/scrolls.scm, worlds/haxima-1.001/slimy-cavern.scm, worlds/haxima-1.001/spells.scm: Haxima changes: o Roland now does a pathfinding test when asked to join o Roland now (again) states his fealty to Lord Froederick when asked to join o Added a resurrection scroll; put one in starter chest; can by more in trigrave o Change Roland's level to 3 o Added equipment for Roland o Reduced count of flaming oil for bandits o Reduced range of xbow o Roland mentions that he will JOIN Kernel changes: o Special message now printed when a party member dies * Attic/Makefile.in, Attic/configure, scripts/RELEASE_CHECKOFF, worlds/haxima-1.001/haxima.scm: Final checkin before release 2004-10-24 Gordon McNutt * src/kern.c, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/roland.scm: Haxima changes: o Roland now does a pathfinding test when asked to join o Roland now (again) states his fealty to Lord Froederick when asked to join * worlds/haxima-1.001/ai.scm, worlds/haxima-1.001/items.scm, worlds/haxima-1.001/scrolls.scm: Adding a missed file * worlds/haxima-1.001/combat-maps.scm, worlds/haxima-1.001/palette.scm, worlds/haxima-1.001/shard.scm, worlds/haxima-1.001/terrains.scm, worlds/haxima-1.001/images/mixed/mine-32x32.png: Haxima changes: o Added combat maps for east-west bridges and roads * worlds/haxima-1.001/items.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/occs.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/images/gmcnutt/features2.png: *** empty log message *** 2004-10-23 Gordon McNutt * src/character.cpp, src/character.cpp, src/character.h, src/kern.c, src/object.c, worlds/haxima-1.001/gregors-hut.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/roland.scm, worlds/haxima-1.001/session.scm, worlds/haxima-1.001/trigrave.scm: Kernel changes: o Bugfix: crash on reload due to double-deallocation of convs * src/cmd.c, src/cmd.h, src/ctrl.c, src/play.c, worlds/haxima-1.001/haxima.scm: Haxima changes: o Added a hint about the shrine cave in the startup script. Kernel changes: o Added a "help" command bound to '?' * worlds/haxima-1.001/camping-map.scm, worlds/haxima-1.001/haxima.scm: Haxima changes: o Saved games now have wilderness ambushes * worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/naz.scm: Haxima changes: o Removed the "L" from status for light effects * worlds/haxima-1.001/game.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/parties.scm, worlds/haxima-1.001/roland.scm, worlds/haxima-1.001/species.scm: Haxima changes: o Switched the bandits to use the generic script ai o Added taunts to the generic ai 2004-10-22 Gordon McNutt * src/Party.cpp, src/player.cpp: Kernel changes: o Fixed some bugs that appeared when an NPC joined the player party * src/closure.c, worlds/haxima-1.001/camping-map.scm, worlds/haxima-1.001/earl.scm, worlds/haxima-1.001/gwen.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/objs.scm, worlds/haxima-1.001/occs.scm: Haxima changes: o Adde reagents and potions to the Trigrave Dry Goods store o Added a chance of getting healing potions from bandits Kernel changes: o Bugfix: broke entry to trigrave with recent changes 2004-10-21 Gordon McNutt * src/Being.cpp, src/Being.h, src/Container.cpp, src/Field.cpp, src/Party.cpp, src/character.cpp, src/character.h, src/closure.c, src/closure.h, src/ctrl.c, src/effect.c, src/kern.c, src/object.c, src/place.c, src/session.c, src/session.h, src/sky.c, src/terrain.c, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/kobj.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/roland.scm, worlds/haxima-1.001/slimy-cavern-zones.scm, worlds/haxima-1.001/slimy-cavern.scm: Haxima changes: o Modified pathfind to use the new kern-being-pathfind-to o Added an ai for roland which will have him try to escape; once escaped it reverts to the default kernel ai Kernel changes: o Moved Character::pathfindTo up to Being::pathfindTo o Added kern-being-pathfind-to o Added kern-char-set-ai o Changed all closure_del() to closure_unref(); closures must be destoryed via ref counts (otherwise setting the closure to null from within the closure might cause scheme to gc it before we can extract the return value in closure_exec) * src/kern.c, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/roland.scm: Haxima changes: o Roland will join the player once freed Kernel changes: o Added kern-char-join-player (still has some bugs) * worlds/haxima-1.001/roland.scm, worlds/haxima-1.001/slimy-cavern.scm: Haxima changes: o Started on Roland, a prisoner in the slime cave. 2004-10-20 Gordon McNutt * src/Party.cpp, src/character.cpp, src/character.h, src/combat.c, src/combat.h, src/kern.c, src/play.c, src/player.cpp, src/session.c, src/session.h, worlds/haxima-1.001/af-entry.scm, worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/camping-map.scm, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/spells.scm, worlds/haxima-1.001/spider.scm: Haxima changes: o Added the camping map o Added a camping hook to generate ambushes while the player is camping in the wilderness Kernel changes: o Added kern-ambush-while-camping o Changed kern-obj-is-char? to kern-obj-is-being? o Changed kern-char-is-hostile? to kern-being-is-hostile? o Added a camping_proc hook to the session o Modified the main loop to invoke the session's camping_proc every turn when the player is camping * src/character.cpp, src/character.h, src/common.h, src/kern.c, src/player.cpp, src/status.c, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/scrolls.scm, worlds/haxima-1.001/session.scm: Haxima changes: o Parameters to kern-mk-player changed (due to removal of rest credits) o Doubled the light per torch Kernel changes: o Ripped out rest credits * worlds/haxima-1.001/earl.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/lost-halls.scm, worlds/haxima-1.001/portals.scm, worlds/haxima-1.001/shard.scm: Haxima changes: o Added lost-halls.scm, a port of Sam's ork cave from the old ghulscript o Added a mine entrance as an auto-portal 2004-10-19 Gordon McNutt * src/character.cpp, src/character.h, src/cmd.c, src/common.h, src/ctrl.c, src/kern.c, src/occ.h, src/species.h, worlds/haxima-1.001/occs.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/troll.scm: These changes polish up the experience/advancement system a bit. Haxima changes: o Set experience levels for all existing species and occs Kernel changes: o Got rid of wasElevated and setElevated methods in Character class o Added getExperienceValue method to Character class o Added xpval fields to species and occ structs o Removed addExperience in cmdOpen for traps o Removed addExperience for attacks o Added addExperience for kills o Got rid of hard-coded XP values in common.h o Added a console message when any Character gains a level o Added a mapFlash when a player-controlled Character gains a level 2004-10-18 Gordon McNutt * src/kern.c, src/object.c, worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/jim.scm, worlds/haxima-1.001/monster-generator.scm, worlds/haxima-1.001/occs.scm, worlds/haxima-1.001/parties.scm, worlds/haxima-1.001/shard.scm: Haxima changes: o Added a bandit generator by the river o Monster and ambush generators invisible o Added a bandit occupation o Added a bandit gang npc party type Kernel changes: o kern-obj-set-visible now returns the object o NPC parties were not wandering; fixed them * src/place.c, worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/monster-generator.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/session.scm, worlds/haxima-1.001/shard.scm, worlds/haxima-1.001/slimy-cavern.scm, worlds/haxima-1.001/species.scm: Haxima changes: o Tweaked the moongate clearing map to make the northeast cave more obvious o Added a bandit party waiting just outside the shrine o Added some bandits to the back of the slimy cave o Commented-out the "advanced items" chests o Added a sling type and put one in the starter chest o Gave the slime's acid spray a sprite o Removed one slime generator from the Slimy Cave and moved the other; also gave it a target location other than its own where slimes appear from o Added a faction for outlaws (so they will fight with monsters) o Rebalanced slime damage o Reduced default movement speed to 1 to prevent NPCs from jumping around erratically in town * worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/earl.scm, worlds/haxima-1.001/trigrave-zones.scm, worlds/haxima-1.001/trigrave.scm: Haxima changes: o Added Earl, proprieter of the Trigrave general store * worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/trigrave.scm, worlds/haxima-1.001/images/gmcnutt/features2.png: Changed Chanticleer's sprite 2004-10-17 Gordon McNutt * src/ctrl.c, src/kern.c, worlds/haxima-1.001/monster-generator.scm: Haxima changes: o Made an ambush generator constructor o Changed spider generators from party generators to ambush generators Kernel changes: o Added kern-begin-combat to support ambushes * src/kern.c, src/scheme.c, worlds/haxima-1.001/monster-generator.scm, worlds/haxima-1.001/shard.scm: Haxima changes: o The ambush generators now monitor a region of the map Kernel changes: o Added kern-get-player to return a reference to the player party o kern-begin-combat now uses the correct orientation for ambushes * src/kern.c, worlds/haxima-1.001/combat-maps.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/terrains.scm: Haxima changes: o Ported over the old ghulscript combat maps for grass, forest and hills Kernel changes: o Added kern-terrain-set-combat-map * src/sched.c, src/sched.h, worlds/haxima-1.001/chanticleer.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/gwen.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/ifc.scm, worlds/haxima-1.001/shard.scm, worlds/haxima-1.001/trigrave-zones.scm, worlds/haxima-1.001/trigrave.scm: Haxima changes: o Expanded Chanticleer's conversation and added him to trigrave o Renamed the inn and tweaked some torch placement o Added more beds Kernel changes: o Added an activity for "drunk" (yes, I need to get these activities out of the kernel...) * worlds/haxima-1.001/shard.scm: Haxima changes: o Added roads (as terrains, not features) to the shard surface. 2004-10-16 Sam Glasby * worlds/haxima-1.001/P_terrain_test.scm, worlds/haxima-1.001/abandoned-cellar.scm, worlds/haxima-1.001/abandoned-farm.scm, worlds/haxima-1.001/bakup.scm, worlds/haxima-1.001/camping-map.scm, worlds/haxima-1.001/gregors-hut.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/palette.scm, worlds/haxima-1.001/session.scm, worlds/haxima-1.001/slimy-cavern.scm, worlds/haxima-1.001/terrains.scm, worlds/haxima-1.001/trigrave.scm, worlds/haxima-1.001/vehicles.scm: Palette cleanup. Changing pal_expanded to have all glyphs be 2 characters wide. Added non-LOS-blocking versions of various terrains. 2004-10-16 Gordon McNutt * src/astar.c, src/astar.h, src/character.cpp, src/character.h, src/kern.c, src/player.cpp, worlds/haxima-1.001/door.scm, worlds/haxima-1.001/gwen.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/ifc.scm, worlds/haxima-1.001/session.scm, worlds/haxima-1.001/trigrave-entry.scm, worlds/haxima-1.001/trigrave.scm: o Bugfix: hard to get large parties through doors. Fixed this with two fairly significant changes to character pathfinding. One change is that characters now cache their paths so they can reuse them on subsequent turns if their target destination has not changed. The second change is that by default they pathfind through mechanisms. If they come to an impassable tile they check for a mechanism and if it can be handled. If so, they handle it. This takes care of doors. If the tile is still impassable they find a new path around it. * src/character.cpp, src/character.h, src/kern.c, src/object.c, src/object.h, src/player.cpp, src/player.h, worlds/haxima-1.001/beds.scm, worlds/haxima-1.001/food.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/gwen.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/money.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/trigrave.scm: Haxima changes: o Added an object type for gold coins o Fixed a bug in getting food (it was ignoring the object count) o Gave the player some starting gold in the supplies chest o Changed the innkeeper so that when she is eating she won't engage in business Engine changes: o Added an addGold method analogous to the existing addFood methods * src/kern.c, src/play.c, src/player.cpp, src/session.c, src/session.h: Engine changes: o Time runs faster when sleeping and camping * worlds/haxima-1.001/spells.scm: Haxima changes: o Torches weren't getting removed from inventory when they were used. 2004-10-15 Gordon McNutt * src/cmd.c: o Bugfix: opening corpses on doors. Fixed this by adding a selection dialog to cmdGet. Used whenever a container and a mech are found on the same tile. We'll probably want to extend it to handle an arbitrary number of targets but for now its fixed at just the two. * worlds/haxima-1.001/chanticleer.scm: Start of a new character * worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/troll.scm: Eliminated the spider corpses * worlds/haxima-1.001/troll.scm: Bugfix: accidentally checked in a partial change 2004-10-14 Gordon McNutt * worlds/haxima-1.001/gwen.scm, worlds/haxima-1.001/trigrave-zones.scm, worlds/haxima-1.001/trigrave.scm: Put the innkeeper into trigrave * worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/trigrave.scm, worlds/haxima-1.001/images/gmcnutt/features2.png: Added a new sprite: gray-robed humanoid (for Gwen the Innkeeper of Trigrave) 2004-10-13 Gordon McNutt * doc/USERS_GUIDE, src/kern.c, worlds/haxima-1.001/spells.scm: Bugfix: webs getting dropped on impassable terrain * src/combat.c, src/kern.c, src/place.c, src/scheme.c, src/terrain_map.c, src/terrain_map.h: Bugfix: ship maps getting saved multiple times * src/scheme-private.h: Increased memory for scheme allocator (running out when reloading in session.scm) * worlds/haxima-1.001/camping-map.scm, worlds/haxima-1.001/session.scm: Bugfix: broke save/reload in session.scm with my last map-saving fix; this fixes it * worlds/haxima-1.001/gwen.scm: Minor change to conv * worlds/haxima-1.001/gwen.scm: New character started 2004-10-12 Gordon McNutt * README: Changed the reference to INSTALL and USERS_GUIDE to the top where people can find it easier * worlds/haxima-1.001/jim.scm, worlds/haxima-1.001/Attic/john_iron.scm, worlds/haxima-1.001/trigrave-zones.scm, worlds/haxima-1.001/trigrave.scm: Changed the blacksmith in trigrave 2004-10-11 Gordon McNutt * src/Container.cpp: Bugfix: save/reload gives extra weapons. Readied items were being saved twice. * worlds/haxima-1.001/Attic/john_iron.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/trigrave-zones.scm, worlds/haxima-1.001/trigrave.scm: Added a blacksmith to trigrave * worlds/haxima-1.001/monster-generator.scm, worlds/haxima-1.001/parties.scm, worlds/haxima-1.001/shard.scm: Added some basic random encounter generators to the wilderness 2004-10-10 Gordon McNutt * BUGS, INSTALL, Attic/Makefile.in, README, Attic/RELEASE_NOTES, Attic/configure, Attic/configure.in, doc/USERS_GUIDE, scripts/RELEASE_CHECKOFF, src/kern.c, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/shard.scm, worlds/haxima-1.001/trigrave.scm: Added (unpopulated) town: Trigrave * src/Attic/Makefile.in, src/nazghul.c, src/player.cpp: Bugfix: segfault when saving games started with the --sound 0 option * src/scheme.c: Patch from Tim Douglas to fix compile error on Max OS X v10.3.5 2004-10-09 Sam Glasby * worlds/haxima-1.001/P_terrain_test.scm, worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/moongate-clearing.scm: Added many new arms and armor types, and added instances into the game. * worlds/haxima-1.001/P_terrain_test.scm: Removed _map (a test/example of some kind). * worlds/haxima-1.001/moongate-clearing.scm: Fixed up some width/alignment issues due to width-1 boulder glyphs within the map. * worlds/haxima-1.001/objs.scm: Added some new chest types. * worlds/haxima-1.001/reagents.scm: Fixed their order. Commented out a 'bloodmoss' type which seemed to be a duplicate. 2004-10-09 Gordon McNutt * src/Arms.cpp, src/Arms.h, src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/combat.c, src/event.c, src/kern.c, src/nazghul.c, src/object.c, src/object.h, src/player.cpp, src/player.h, src/sound.c, src/sound.h, src/species.c, src/species.h, src/vehicle.cpp, src/vehicle.h, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/sounds.scm: o Sounds are now loaded as kernel objects. This change is intended to eliminate the lag when playing sounds under windows. 2004-10-07 Gordon McNutt * Attic/Makefile.in, src/Attic/Makefile.in: Fixing a borken Makefile.in (hopefully) * Attic/depcomp, src/Makefile.am, src/Attic/Makefile.in, src/nazghul.c, src/play.c, src/tick.c, src/tick.h: o Bugfix: tick generation is paused while loading/reloading. In the process of fixing this I tore the existing tick code out of nazghul.c and put it in its own tick.c. Added routines to pause and resume tick generation. * src/cmd.c, src/cmd.h: Fixed the CTRL- keys used by the T)erraform command to use UNICODE so it will work on non-US keyboards * src/cmd.c, src/cmd.h, src/ctrl.c, src/event.h: Karl Garrison's patch to dump terrain sprites as one BMP per frame * worlds/haxima-1.001/sounds/cannon.wav, worlds/haxima-1.001/sounds/damage.wav, worlds/haxima-1.001/sounds/enter_moongate.wav, worlds/haxima-1.001/sounds/horse.wav, worlds/haxima-1.001/sounds/rowing.wav, worlds/haxima-1.001/sounds/walk.wav: New sound files from Sam 2004-10-06 Gordon McNutt * src/character.cpp, src/character.h, src/cmd.c, src/player.cpp: o Bugfix: N)ew Order when the leader is one member and a dead or incapacitated member is the other would effectively hang the system when in follow mode. With this change incapacitated members cannot be selected as the party leader. * src/cmd.c: Fixed: opening a chest describes everything on the tile, not just the contents * src/ctrl.c: o UI change. If the player has just one party member and he uses the A)ttack command the party will not switch out of follow mode. This way the camera remains centered on the character. * src/gob.c, src/object.c, src/scheme.c: Fixed a memory leak. Wasn't freeing the hook entries on the hook lists maintained by objects. * src/map.c, src/nazghul.c: Bugfix: on some redhat systems we would crash on exit (even without sound enabled) * src/sound.c: Corrected the copyright notice at the top of this file * worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/haxima.scm: Rebalanced slimes * worlds/haxima-1.001/terrains.scm: Made bogs exude poisonous fumes again 2004-10-05 Gordon McNutt * src/event.c: Removed #ifdefs for UNICODE * src/event.c: Bugfix: UNICODE changes broke Page Up/Down, now fixed for US keyboards (unsure about others) * src/nazghul.c, src/Attic/splash.png: Added splash screen on startup * src/Attic/splash.png: Removed extra copy of splash image file * src/terrain_map.c: o Bugfix: saving/reloading on win32. The problem was in terrain_map_save, where the tiles were being saved as printf("%02s", tag). On windows it printed the leading zero, on linux not. Removed the zero and all is well. Not sure why I had a zero there to begin with. * worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/moongate.scm: o Fixed the long delays in the opening cut scene. These were not unique to win32. During the port I had to change usleep to SDL_Delay, which takes a longer unit of time as an argument. * worlds/haxima-1.001/images/gmcnutt/splash.png: Adding splash image. 2004-10-04 Gordon McNutt * src/ctrl.c, src/event.c, src/event.h: o Converted to UNICODE for keypresses. * src/ctrl.c, src/object.c, src/player.cpp, worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/slimy-cavern.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/spells.scm: Added slime to the Slimy Cavern * worlds/haxima-1.001/effects.scm: Bugfix: when paralysis wore off it allowed the player to attack while ensnared * worlds/haxima-1.001/slimy-cavern.scm: Fixed load error in slimy-cave.scm due to a missing (unnecessary) file 2004-10-03 Gordon McNutt * Attic/RELEASE_NOTES, Attic/configure, Attic/configure.in, Attic/depcomp, scripts/RELEASE_CHECKOFF, src/Party.cpp, src/character.cpp, src/cmd.c, src/common.c, src/ctrl.c, src/images.c, src/kern.c, src/map.c, src/nazghul.c, src/scheme.c, src/scheme.h, src/screen.c, src/session.c, src/wind.c: Changes needed to compile and run under win32 * Attic/depcomp: file depcomp was initially added on branch gmcnutt_scheme. * worlds/haxima-1.001/abandoned-cellar.scm, worlds/haxima-1.001/bridge.scm, worlds/haxima-1.001/gregors-hut.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/ilya.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/portals.scm, worlds/haxima-1.001/scrolls.scm, worlds/haxima-1.001/slimy-cavern.scm: o Added a cave entrance to moongate-clearing o Added torches to the warchest o Added a troll and troll corpse to abandoned-cellar 2004-10-02 Gordon McNutt * BUGS, COPYING, INSTALL, Attic/RELEASE_NOTES, Attic/configure, Attic/configure.in, doc/USERS_GUIDE, scripts/RELEASE_CHECKOFF, src/ctrl.c, src/nazghul.c, src/place.c, src/play.c, worlds/haxima-1.001/haxima.scm: Last-minute tweaks for release * worlds/haxima-1.001/abandoned-farm.scm, worlds/haxima-1.001/ilya.scm, worlds/haxima-1.001/pre-entry-hooks.scm, worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/troll.scm: o Bugfix: Entering green tower from session.scm was crashing due to an out-of-date entry procedure. o Bugfix: could not complete puska quest due to invalid scheme proc in ilya's code 2004-10-01 Gordon McNutt * src/status.c: o UI change: added a "Misc" pane to the inventory UI. Objects which don't fall into any of the other categories (readyable, usable, mixable or castable) are displayed here. * worlds/haxima-1.001/abandoned-cellar.scm, worlds/haxima-1.001/ilya.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/images/gmcnutt/features2.png: o Finished implementing the puska quest 2004-09-30 Gordon McNutt * scripts/RELEASE_CHECKOFF, src/cmd.c, src/kern.c, src/place.c, src/play.c, src/player.cpp, src/scheme.c, src/session.h: o Bugfix: LOS on reload was messed up. On reload, the current place was locked so it did not get cleaned up => any objects in the place did not get cleaned up => player characters did not get destroyed => they did not remove their map views => in the new session, the old map views were still hanging around, contributing to player LOS. * src/character.cpp, src/place.c, src/scheme.c: o Added an assert to ensure that the kernel has released all of its references to scheme cells when we tear down the scheme session. This assert currently fires on reload. That's because we tear down the scheme session before we tear down the player's current place, and there are bound to be objects in that place that still reference gobs. I'm checking this in so I can continue to debug it on another machine. 2004-09-29 Gordon McNutt * src/kern.c, src/scheme.c, src/scheme.h, worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/troll.scm: o Added gc protection to various places in kern.c where it's necessary to allocate more than one cell before returning to scheme. This fixes the annoying "*** script error ***" messages that appeared intermittently. 2004-09-28 Gordon McNutt * worlds/haxima-1.001/abandoned-cellar.scm: New place file 2004-09-27 Gordon McNutt * Attic/Makefile.in, Attic/aclocal.m4, Attic/configure, src/Being.h, src/Party.h, src/cmd.c, src/kern.c, src/object.c, src/place.c, src/play.c, src/vmask.c, src/vmask.h, worlds/Attic/Makefile.in, worlds/haxima-1.001/abandoned-farm.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/spider.scm: o Bugfix: 'evade' now checks terrain for passability before trying to move there. This prevents spiders from killing themselves on wall torches. o Performance: spider eggs now use kern-fold-rect when searching for disturbances. o Bugfix: the vmask cache was not keeping count of its entries. o Added vmask_flush_all() o Bugfix: some destructors were not declared virtual as they should have been. 2004-09-26 Gordon McNutt * src/kern.c, src/scheme.c, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/troll.scm: Various experiments with improving AI performance 2004-09-25 Gordon McNutt * src/Being.cpp, src/Being.h, src/Party.cpp, src/character.cpp, src/combat.c, src/node.c, src/node.h, src/object.c, src/object.h, src/place.c, src/player.cpp: o Converted the Party class's member list field from an embedded list to a wrapper list; likewise for the hook in the Character class * src/character.cpp, src/kern.c, src/map.c, worlds/haxima-1.001/session.scm, worlds/haxima-1.001/spells.scm, worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/troll.scm, worlds/haxima-1.001/yellow-slime.scm: o Fixed a couple of places where a callback function was not initialized properly. This is a bug introduced *after* 0.3.0. o Various fixes to get session.scm working again. * src/ctrl.c, src/event.c, src/kern.c, src/map.c, src/place.c: Added kern_place_get_beings, a kernel filter for kern_place_get_objects, which speeds up the ai's noticeably * src/kern.c, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/troll.scm: Improving performance. Added kern-being-get-visible-hostiles, which is a kernel implementation of the all-visible-hostiles scheme procedure. The scheme version ran in about 27 ms on my machine, the kernel version takes less than 1 ms. Virtually every AI uses this procedure on every turn. 2004-09-24 Gordon McNutt * src/event.c: Numeric keypad now returns numbers when NUMLOCK enabled 2004-09-23 Gordon McNutt * Makefile.am, Attic/Makefile.in: Bugfix: removed examples as a source directory for make * src/Field.cpp, src/Field.h, src/Makefile.am, src/Attic/Makefile.in, src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/combat.c, src/ctrl.c, src/node.c, src/node.h, src/object.c, src/object.h, src/place.c, src/place.h, src/play.c, src/player.cpp, src/player.h: Replaced embedded turn_list with wrapper node list * src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/node.h, src/player.cpp: o Converted the Party class's member list field from an embedded list to a wrapper list; likewise for the hook in the Character class * src/character.cpp, src/character.h: Removed an obsolete list field from the Character class * src/combat.c, src/ctrl.c, src/node.c, src/object.c, src/object.h, src/place.c, src/place.h: o Fixed a few bugs in the new turn_list code and enabled it. * src/place.c, src/place.h: Removed some obsolete lists from the place structure * worlds/haxima-1.001/spider.scm: Turned off debug spew from spider.scm 2004-09-22 Gordon McNutt * src/combat.c, src/ctrl.c, src/node.c, src/node.h, src/place.c, src/place.h: More invisible changes to fix the offset warnings * src/combat.c: Added yet more unused functions to combat (preparing to fix the list warnings) * src/ctrl.c, src/event.c: o Bugfix: NUMLOCK prevents ctrl key from working properly. This was due to use of an '==' operator where an '&' operator belonged. o Added debug output to help debug problems with other people's keyboards. 2004-09-21 Gordon McNutt * src/combat.c: Added new (unused) function * src/list.h: Removed some dead code * src/object.c, src/object.h: Removed the obsolete list field from the ObjectType class 2004-09-20 Gordon McNutt * worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/spider.scm: o Trolls now pick up boulder ammo dropped on the ground. o Fixed a script error causing an invalid location. * worlds/haxima-1.001/ilya.scm: Fixed some minor bugs in Ilya's conversation. 2004-09-19 Gordon McNutt * Attic/RELEASE_NOTES, scripts/RELEASE_CHECKOFF, src/character.cpp, src/kern.c, src/object.h, src/species.c, src/species.h, worlds/haxima-1.001/reagents.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/troll.scm, worlds/haxima-1.001/images/gmcnutt/features2.png: o Added a field to species: on_death which is a script closure that expects the character as a parm o Fixued up kern_mk_species to expect the other parm. o character::kill() calls the species on_death closure _before_ removing the object (so the on-death proc can get the final coordinates of the character) o Modified all the kern-mk-species calls to specify nil (by default) for their death closure o Createed an on-death proc for spiders which creates a corpse container and puts a random amount of spider silk in it o Modified the spider kern-mk-species call to specify the on-death proc o Changed the sprites for the spider corpse and the spider silk reagent. * src/kern.c, src/vmask.c, worlds/haxima-1.001/spells.scm: o Bugfix: kern_in_los was computing the y-component of the vmask coordinates incorrectly due to a typo. * worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/images/gmcnutt/features2.png: o Queen spider animation fixed up a bit o Added a queen spider corpse 2004-09-18 Gordon McNutt * BUGS, INSTALL, Makefile.am, Attic/Makefile.in, Attic/RELEASE_NOTES, Attic/configure, Attic/configure.in, scripts/RELEASE_CHECKOFF, scripts/ghul-test-install, src/Makefile.am, src/Attic/Makefile.in, src/kern.c, src/nazghul.c, src/object.c, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/images/gmcnutt/features2.png: Pre-release tweaks and changes * worlds/haxima-1.001/abandoned-farm.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/images/gmcnutt/features2.png: Added a queen spider * worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/naz.scm: Paralysis prevents struggling against ensnare 2004-09-16 Gordon McNutt * src/character.cpp, src/object.c, worlds/haxima-1.001/loc.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/spells.scm, worlds/haxima-1.001/spider.scm: o Spiders now use a vampiric melee attack which drains hp from their targets and heals them of damage. o Added a web-spew skill for spiders. They can shoot webs similar to a wind spell for a limited range. With these two changes spiders are almost an even match for trolls. o Bugfix: effects added to the keystroke-hook were not being removed properly for NPC's. * worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/spider.scm: Added a paralysis skill for spiders. Interaction with ensnare not optimal yet. 2004-09-15 Gordon McNutt * src/dtable.c, src/kern.c: dtable defaults now set in dtable_new(), not kern_mk_dtable() * src/effect.h, src/kern.c, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/loc.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/troll.scm: o Added kern-obj-get-effects o Spiders now attack foes that are disabled (sleeping or ensnared) * worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/troll.scm: Webs break when somebody struggles free 2004-09-13 Gordon McNutt * src/character.cpp, src/kern.c, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/scrolls.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/spells.scm: o Spiders now immune to the ensnare effect (caused by webs) o Using scrolls no longer consumes the scroll if the usage method returns nil (so a user can ESC out of some usages) * src/ctrl.c, src/kern.c, src/object.c, src/object.h, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/scrolls.scm, worlds/haxima-1.001/spider.scm: o Added kern-obj-get-name o Added a new hook that runs while processing a user keystroke in character mode. o Modified the web ensnare effect to use the keystroke hook. Now when a user character is ensnared it works like Adom: the user has to keep hitting a key to "struggle" against the web until he finally breaks free. * src/kern.c, src/object.c, src/object.h, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/fields.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/reagents.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/troll.scm, worlds/haxima-1.001/images/gmcnutt/features2.png: Added spider webs 2004-09-12 Gordon McNutt * src/Arms.cpp, src/Arms.h, src/Missile.cpp, src/kern.c, worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/session.scm: Kernel arms types no longer refer to field types. Cases where arms create fields are now all handled in the script. * src/Missile.cpp, src/kern.c, src/object.c, src/object.h, worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/items.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/scrolls.scm: Changed missile interface * src/ctrl.c: Added base 1d20 for to-hit on all attacks (as per new combat system rules) * src/map.c: Bugfix: missiles with off-screen targets were animating wrong * worlds/haxima-1.001/abandoned-farm.scm, worlds/haxima-1.001/loc.scm, worlds/haxima-1.001/shard.scm, worlds/haxima-1.001/troll.scm: Bugfix for troll picking up boulder * worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/images/gmcnutt/features2.png: Added a sprite to distinguish between loose boulders (objects) and terrain boulders * worlds/haxima-1.001/arms.scm: Thrown boulders now convert back to boulder terrain when they hit * worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/ifc.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/occs.scm, worlds/haxima-1.001/scrolls.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/spells.scm, worlds/haxima-1.001/troll.scm, worlds/haxima-1.001/images/dgervais/dg_readable-32x32.png: Added our first usable spell scroll and put a few in the startup warchest * worlds/haxima-1.001/ifc.scm, worlds/haxima-1.001/scrolls.scm: Cleanup of scroll code. Trivial now to add spell scrolls. * worlds/haxima-1.001/troll.scm: Trolls pay 2 turns worth of action points for ripping up boulders 2004-09-11 Gordon McNutt * src/character.cpp, src/kern.c, worlds/haxima-1.001/loc.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/troll.scm: o More refactoring around the troll AI. * worlds/haxima-1.001/abandoned-farm.scm, worlds/haxima-1.001/af-entry.scm, worlds/haxima-1.001/shard.scm: Moved the abandoned farm * worlds/haxima-1.001/af-entry.scm, worlds/haxima-1.001/naz.scm: Changed spider spawn points in the abandoned farm 2004-09-10 Gordon McNutt * src/character.cpp, src/kern.c, src/place.c, src/place.h: o Fixed a bug related to NPC characters exiting the map via a kern-obj-move call. * worlds/haxima-1.001/loc.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/troll.scm: o Trolls now pick up boulder ammo dropped on the ground. o Fixed a script error causing an invalid location. 2004-09-09 Sam Glasby * src/cmd.c, src/event.h: Working on polish and new features for the Terraform UI. * src/terrain.c: Fixed palette_print() and palette_entry_print() to emit Scheme. Also keeping track of palette->widest_glyph again. * src/terrain.h: Minor cleanup (removed some junk). * src/terrain_map.c: Changed terrain_map_print() to emit Scheme maps. * src/terrain_map.c: Fixed an ASCII diagram which got screwed up by an automatic code indenter or similar. * worlds/haxima-1.001/palette.scm: Re-generated palette with palette_print(). Works great, with added comments. 2004-09-08 Gordon McNutt * src/Container.cpp, src/Container.h, src/character.cpp, src/character.h, src/kern.c, src/player.cpp: Characters now save/load their personal containers * worlds/haxima-1.001/abandoned-farm.scm, worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/gregor.scm, worlds/haxima-1.001/gregors-hut.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/loc.scm, worlds/haxima-1.001/monster-generator.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/shard.scm, worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/troll.scm: Trolls cannot evade diagonally now * worlds/haxima-1.001/troll.scm: Started a refactor of troll ammo-hunting alg to accomodate loose boulder objects lying on the ground (their fellow trolls usually drop a few when they die 2004-09-07 Gordon McNutt * src/Container.cpp, src/character.cpp, src/character.h, src/kern.c, worlds/haxima-1.001/loc.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/troll.scm: o Created a specialized AI for trolls. This one prefers to fight at range and will pick up nearby boulders and use them as ammo. It will also flee (using the braindead legacy flee code in the kernel). 2004-09-04 Gordon McNutt * src/character.cpp, src/character.h, src/kern.c, src/object.c, src/object.h, src/player.cpp, src/player.h, worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/troll.scm: o Translated the original C combat AI into Scheme. Tested it with trolls. This is supposed to offer a reasonable starting point for making custom combat AI's in scheme. 2004-09-02 Sam Glasby * doc/world_building/advancement.rogue.txt, doc/world_building/advancement.warrior.txt, doc/world_building/advancement.wizard.txt, doc/world_building/advancement.wright.txt, doc/world_building/being_tile_media.txt, doc/world_building/music_loop_media.txt, doc/world_building/sound_sample_media.txt, doc/world_building/town_scale_tile_media.txt, doc/world_building/wilderness_scale_tile_media.txt: Transcribing various notes. 2004-09-02 Gordon McNutt * src/ctrl.c, src/location.h, src/player.cpp, src/Attic/tile.c, src/Attic/tile.h, worlds/haxima-1.001/abandoned-farm.scm, worlds/haxima-1.001/af-entry.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/troll.scm: o Added a spider "class" in scheme o Added a monster generator in the Abandoned Farm to keep it populated with warring trolls and spiders 2004-09-01 Sam Glasby * doc/world_building/being_tile_media.txt, doc/world_building/being_tile_media.txt, doc/world_building/music_loop_media.txt, doc/world_building/sound_sample_media.txt, doc/world_building/town_scale_tile_media.txt, doc/world_building/wilderness_scale_tile_media.txt: Added some files. * worlds/haxima-1.001/P_terrain_test.scm: Added end-of-line comments to map lines with the Y coordinate. 2004-09-01 Gordon McNutt * src/character.cpp, src/player.cpp: Forcing the player to follow mode when a single-member party wants to exit a small-scale place and it isn't in follow mode. Convenience feature. * worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/shard.scm, worlds/haxima-1.001/sprites.scm: Expanded world map to alpha release size * worlds/haxima-1.001/shard.scm: *** empty log message *** 2004-08-28 Gordon McNutt * BUGS, src/Container.cpp, src/cmd.c, src/object.c, src/place.c, src/place.h: o Bugfix: getting certain items like a poison bolt would lock/crash the engine o Bugfix: getting piles of items was emitting one message per item in the pile 2004-08-26 Sam Glasby * worlds/haxima-1.001/P_terrain_test.scm, worlds/haxima-1.001/arms.scm: Changed various sprites to new hi-res sprites. Added some objects to the Terrain Test. * worlds/haxima-1.001/P_terrain_test.scm, worlds/haxima-1.001/food.scm, worlds/haxima-1.001/objs.scm: Replacing ss_angband sprites with the new higher resolution sprites. * worlds/haxima-1.001/images/kgabbert/new_terrains.png: Added a boulder-on-grass sprite (for use as a terrain) in addition to the boulder sprite (with FF00FF for a terrain feature). 2004-08-26 Gordon McNutt * src/kern.c, src/status.c, src/status.h: Added kern-ui-select-from-list * src/place.c: Fixed some item count reporting when examing around * worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/food.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/items.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/troll.scm: Added more stuff to the start place * worlds/haxima-1.001/gregor.scm: Tweaked gregor's conv * worlds/haxima-1.001/gregor.scm: Fixed a bug in gregor's conv * worlds/haxima-1.001/items.scm: Added to the in-game user's manual * worlds/haxima-1.001/session.scm: Renamed a potion type 2004-08-25 Sam Glasby * worlds/haxima-1.001/P_terrain_test.scm, worlds/haxima-1.001/scenery.scm, worlds/haxima-1.001/sprite-sets.scm, worlds/haxima-1.001/sprites.scm: Added ss_kg_potions_1 and ss_kg_potions_2 to the Sprite Gallery. 2004-08-25 Gordon McNutt * src/common.h, src/play.c: Reduced rate of time * worlds/haxima-1.001/gregor.scm: Added a bit more to Gregor's conversation * worlds/haxima-1.001/gregor.scm: New file * worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/session.scm: Added Gregor to the start place 2004-08-24 Sam Glasby * worlds/haxima-1.001/P_terrain_test.scm, worlds/haxima-1.001/scenery.scm, worlds/haxima-1.001/sprites.scm: Added ss_dg_commodities to the sprite gallery. * worlds/haxima-1.001/haxima.scm: Added the Terrain Test and the Sprite Gallery to the shard surface for test purposes. 2004-08-24 Gordon McNutt * worlds/haxima-1.001/haxima.scm: Simplified startup script for development * worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/moongate-clearing.scm: More changes to moongate clearing * worlds/haxima-1.001/images/sglasby/rune_font_8x16.png: Fattening up the run sprites 2004-08-23 Gordon McNutt * Attic/Makefile.in, examples/Makefile.in, examples/data/images/frame_pieces.png, src/kern.c, src/place.c, src/place.h, src/play.c, src/player.cpp, src/session.c, src/sprite.c, src/sprite.h, worlds/haxima-1.001/P_terrain_test.scm, worlds/haxima-1.001/abandoned-farm.scm, worlds/haxima-1.001/gregors-hut.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/session.scm: You can now specify coordinates for edge entrances to places * src/character.cpp, src/kern.c, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/images/gmcnutt/features2.png: Tweaked the startup scene a bit * src/character.cpp, src/kern.c, src/nazghul.c, src/play.c, src/player.cpp, src/session.c, src/session.h, src/sprite.c, src/terrain_map.c, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/moongate-clearing.scm: Added a startup scene * src/kern.c, src/Attic/moongate.c, src/Attic/moongate.h, src/nazghul.c, src/play.c, src/play.h, src/player.cpp, src/player.h, src/session.c, src/session.h, src/wq.c, src/wq.h: o Cleaned up the work queues a bit. * worlds/haxima-1.001/haxima.scm: Added an optional startup script * worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/session.scm: Polishing up the maps a bit * worlds/haxima-1.001/moongate-clearing.scm: Tweaks to Moongate Clearing map 2004-08-21 Gordon McNutt * src/cmd.c, src/log.c, src/log.h: o Added log_flush() * src/ctrl.c: Setting Follow mode will not end the party leader's turn * worlds/haxima-1.001/abandoned-farm.scm, worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/troll.scm: Added a basic no-frills troll * worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/gregors-hut.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/occs.scm, worlds/haxima-1.001/troll.scm: o Increased troll vision radius o Changed default action points required by weapons to be the number of action points per turn for humans o Bugfix: needed to kern-load ilya.scm from gregors-hut.scm 2004-08-20 Sam Glasby * worlds/haxima-1.001/P_terrain_test.scm, worlds/haxima-1.001/scenery.scm, worlds/haxima-1.001/sprites.scm: Added sprites, scenery objects, and sprite gallery chambers for: - ss_dg_tools - ss_dg_readable 2004-08-19 Sam Glasby * worlds/haxima-1.001/P_terrain_test.scm, worlds/haxima-1.001/scenery.scm, worlds/haxima-1.001/sprites.scm: Fixing some arrow/bolt sprites. One arrow and two bolts are still glowing the wrong color (plus wrong fletching) Two bolts are moving 1 px Left/Right as they animate. * worlds/haxima-1.001/P_terrain_test.scm, worlds/haxima-1.001/scenery.scm, worlds/haxima-1.001/sprites.scm: Fixed numbering of some arrow/bolt sprites. * worlds/haxima-1.001/P_terrain_test.scm, worlds/haxima-1.001/scenery.scm: Added weapon sprites, put them in the Sprite Gallery. * worlds/haxima-1.001/images/dgervais/dg_weapons.trans.png: Fixed the top-left magic arrow (red glowing, was blue glowing) 2004-08-19 Gordon McNutt * src/character.cpp, src/character.h, src/kern.c, src/species.c, src/species.h, worlds/haxima-1.001/gregors-hut.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/session.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/tests/basic-party.scm, worlds/haxima-1.001/tests/char-enter.save.mstr, worlds/haxima-1.001/tests/char-enter.scm, worlds/haxima-1.001/tests/char-get.save.mstr, worlds/haxima-1.001/tests/char-get.scm, worlds/haxima-1.001/tests/char-handle.save.mstr, worlds/haxima-1.001/tests/char-handle.scm, worlds/haxima-1.001/tests/char-kamp.save.mstr, worlds/haxima-1.001/tests/char-kamp.scm, worlds/haxima-1.001/tests/char-new-order-1.save.mstr, worlds/haxima-1.001/tests/char-new-order-1.scm, worlds/haxima-1.001/tests/char-new-order-2.save.mstr, worlds/haxima-1.001/tests/char-new-order-2.scm, worlds/haxima-1.001/tests/char-new-order-3.save.mstr, worlds/haxima-1.001/tests/char-new-order-3.scm, worlds/haxima-1.001/tests/char-open.console.mstr, worlds/haxima-1.001/tests/char-open.save.mstr, worlds/haxima-1.001/tests/char-open.scm, worlds/haxima-1.001/tests/char-ready.save.mstr, worlds/haxima-1.001/tests/char-ready.scm, worlds/haxima-1.001/tests/char-search.console.mstr, worlds/haxima-1.001/tests/char-search.save.mstr, worlds/haxima-1.001/tests/char-search.scm, worlds/haxima-1.001/tests/char-talk.save.mstr, worlds/haxima-1.001/tests/char-talk.scm, worlds/haxima-1.001/tests/char-use.save.mstr, worlds/haxima-1.001/tests/char-use.scm, worlds/haxima-1.001/tests/char-xamine-ztats-at-pass.save.mstr, worlds/haxima-1.001/tests/char-xamine-ztats-at-pass.scm, worlds/haxima-1.001/tests/cmdwin-1.save.mstr, worlds/haxima-1.001/tests/cmdwin-2.save.mstr, worlds/haxima-1.001/tests/cmdwin-3.save.mstr, worlds/haxima-1.001/tests/console-at.save.mstr, worlds/haxima-1.001/tests/console-board.save.mstr, worlds/haxima-1.001/tests/console-examine.console.mstr, worlds/haxima-1.001/tests/console-examine.save.mstr, worlds/haxima-1.001/tests/console-party-attack.save.mstr, worlds/haxima-1.001/tests/console-party-cast.console.mstr, worlds/haxima-1.001/tests/console-party-cast.save.mstr, worlds/haxima-1.001/tests/console-party-fire.save.mstr, worlds/haxima-1.001/tests/console-party-get.save.mstr, worlds/haxima-1.001/tests/console-party-handle.save.mstr, worlds/haxima-1.001/tests/console-party-mix.save.mstr, worlds/haxima-1.001/tests/console-pass.save.mstr, worlds/haxima-1.001/tests/console-terraform.console.mstr, worlds/haxima-1.001/tests/console-terraform.save.mstr, worlds/haxima-1.001/tests/dtable-1.save.mstr, worlds/haxima-1.001/tests/dtable-1.scm, worlds/haxima-1.001/tests/dtable-2.save.mstr, worlds/haxima-1.001/tests/dtable-2.scm, worlds/haxima-1.001/tests/eternal-sleep.save.mstr, worlds/haxima-1.001/tests/eternal-sleep.scm, worlds/haxima-1.001/tests/factions-1.save.mstr, worlds/haxima-1.001/tests/factions-1.scm, worlds/haxima-1.001/tests/mech-1.save.mstr, worlds/haxima-1.001/tests/mech-1.scm, worlds/haxima-1.001/tests/mech-2.scm, worlds/haxima-1.001/tests/party-at.scm, worlds/haxima-1.001/tests/party-new-order-2.scm, worlds/haxima-1.001/tests/party-new-order-3.scm, worlds/haxima-1.001/tests/party-open.scm, worlds/haxima-1.001/tests/party-ready.scm, worlds/haxima-1.001/tests/party-search.scm, worlds/haxima-1.001/tests/party-talk.scm, worlds/haxima-1.001/tests/place-to-place-1.scm, worlds/haxima-1.001/tests/rendezvous-ap-lag.scm, worlds/haxima-1.001/tests/session.scm, worlds/haxima-1.001/tests/test-map-1.scm, worlds/haxima-1.001/tests/tfeat-1.save.mstr, worlds/haxima-1.001/tests/tfeat-1.scm, worlds/haxima-1.001/tests/wrap-1.save.mstr, worlds/haxima-1.001/tests/wrap-2.save.mstr: o Removed the damage, defend, armor and (I forgot the other one) mod fields in the character class and species struct. They've never been used and I doubt we'll miss them. Simplifies character and species creation to remove them. 2004-08-18 Sam Glasby * worlds/haxima-1.001/P_terrain_test.scm, worlds/haxima-1.001/sprites.scm: Fixed some mis-numbered sprites in ss_dg_wearable. * worlds/haxima-1.001/P_terrain_test.scm: Some polish on the wearable items gallery. * worlds/haxima-1.001/P_terrain_test.scm, worlds/haxima-1.001/scenery.scm: Added scenery objects for all tiles in ss_dg_wearable and placed them in a new chamber in the Sprite Gallery. * worlds/haxima-1.001/moongate-clearing.scm: Added a sprite for the moongate-clearing. * worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/images/kgabbert/new_terrains.png: Added new s_deep and s_shoals. 2004-08-18 Gordon McNutt * src/cmd.c, src/cmd.h, src/kern.c, src/log.c, worlds/haxima-1.001/ilya.scm: o Added kern-conv-get-reply to directly query the player in a conversation. * src/kern.c, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/gregors-hut-zones.scm, worlds/haxima-1.001/gregors-hut.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/ilya.scm, worlds/haxima-1.001/shroom.scm: o kern-mk-sched now expects the "zone" rectangle of a schedule entry to be a list. o Gave Ilya a schedule that demonstrates how to use named zones to fill out the place for a schedule entry. Reference gregors-hut-zones.scm. * worlds/haxima-1.001/abandoned-farm.scm, worlds/haxima-1.001/haxima.scm: Added Ilya's abandoned homestead 2004-08-17 Sam Glasby * worlds/haxima-1.001/sprite-sets.scm: Added various sprite sheets containing tiles from David Gervais and Kevin Gabbert. * worlds/haxima-1.001/sprites.scm: Added some notes (arrow/bolt tiles to fix) * worlds/haxima-1.001/sprites.scm: Finished ss_dg_weapons. * worlds/haxima-1.001/sprites.scm: Fixed amulets * worlds/haxima-1.001/sprites.scm: Adding weapon sprites. * worlds/haxima-1.001/sprites.scm: Adding sprites for ss_dg_weapons. * worlds/haxima-1.001/sprites.scm: Added sprite bindings for ss_dg_wearable. 2004-08-17 Gordon McNutt * src/cmd.c, src/scheme-private.h, src/scheme.c, src/scheme.h, src/session.c: Added file and line number reporting to scheme errors * src/factions.h: Added missing file. * worlds/haxima-1.001/game.scm, worlds/haxima-1.001/gregors-hut.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/ilya.scm: Added Ilya to Gregor's Hut * worlds/haxima-1.001/session.scm: Removed references to Gregor's Hut. 2004-08-16 Gordon McNutt * worlds/haxima-1.001/game.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/moon.scm, worlds/haxima-1.001/moongate-clearing.scm, worlds/haxima-1.001/occs.scm, worlds/haxima-1.001/pre-entry-hooks.scm, worlds/haxima-1.001/session.scm: Added some script files for haxima 2004-08-15 Gordon McNutt * src/Being.cpp, src/Being.h, src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/cmd.c, src/combat.c, src/common.h, src/conv.c, src/conv.h, src/ctrl.c, src/dtable.h, src/kern.c, src/object.c, src/object.h, src/place.c, src/place.h, src/player.cpp, src/player.h, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/tests/basic-party.scm, worlds/haxima-1.001/tests/char-enter.save.mstr, worlds/haxima-1.001/tests/char-enter.scm, worlds/haxima-1.001/tests/char-get.save.mstr, worlds/haxima-1.001/tests/char-get.scm, worlds/haxima-1.001/tests/char-handle.save.mstr, worlds/haxima-1.001/tests/char-handle.scm, worlds/haxima-1.001/tests/char-kamp.save.mstr, worlds/haxima-1.001/tests/char-kamp.scm, worlds/haxima-1.001/tests/char-new-order-1.save.mstr, worlds/haxima-1.001/tests/char-new-order-1.scm, worlds/haxima-1.001/tests/char-new-order-2.save.mstr, worlds/haxima-1.001/tests/char-new-order-2.scm, worlds/haxima-1.001/tests/char-new-order-3.save.mstr, worlds/haxima-1.001/tests/char-new-order-3.scm, worlds/haxima-1.001/tests/char-open.save.mstr, worlds/haxima-1.001/tests/char-open.scm, worlds/haxima-1.001/tests/char-ready.save.mstr, worlds/haxima-1.001/tests/char-ready.scm, worlds/haxima-1.001/tests/char-search.save.mstr, worlds/haxima-1.001/tests/char-search.scm, worlds/haxima-1.001/tests/char-talk.save.mstr, worlds/haxima-1.001/tests/char-talk.scm, worlds/haxima-1.001/tests/char-use.save.mstr, worlds/haxima-1.001/tests/char-use.scm, worlds/haxima-1.001/tests/char-xamine-ztats-at-pass.save.mstr, worlds/haxima-1.001/tests/char-xamine-ztats-at-pass.scm, worlds/haxima-1.001/tests/cmdwin-1.save.mstr, worlds/haxima-1.001/tests/cmdwin-2.save.mstr, worlds/haxima-1.001/tests/cmdwin-3.save.mstr, worlds/haxima-1.001/tests/console-at.save.mstr, worlds/haxima-1.001/tests/console-attack.save.mstr, worlds/haxima-1.001/tests/console-board.save.mstr, worlds/haxima-1.001/tests/console-examine.save.mstr, worlds/haxima-1.001/tests/console-exit.save.mstr, worlds/haxima-1.001/tests/console-party-attack.save.mstr, worlds/haxima-1.001/tests/console-party-cast.save.mstr, worlds/haxima-1.001/tests/console-party-fire.save.mstr, worlds/haxima-1.001/tests/console-party-get.save.mstr, worlds/haxima-1.001/tests/console-party-handle.save.mstr, worlds/haxima-1.001/tests/console-party-kamp.save.mstr, worlds/haxima-1.001/tests/console-party-mix.save.mstr, worlds/haxima-1.001/tests/console-pass.save.mstr, worlds/haxima-1.001/tests/console-terraform.save.mstr, worlds/haxima-1.001/tests/dtable-1.save.mstr, worlds/haxima-1.001/tests/dtable-1.scm, worlds/haxima-1.001/tests/dtable-2.save.mstr, worlds/haxima-1.001/tests/dtable-2.scm, worlds/haxima-1.001/tests/empty-party.scm, worlds/haxima-1.001/tests/eternal-sleep.save.mstr, worlds/haxima-1.001/tests/eternal-sleep.scm, worlds/haxima-1.001/tests/factions-1.save.mstr, worlds/haxima-1.001/tests/factions-1.scm, worlds/haxima-1.001/tests/mech-1.save.mstr, worlds/haxima-1.001/tests/mech-1.scm, worlds/haxima-1.001/tests/mech-2.save.mstr, worlds/haxima-1.001/tests/mech-2.scm, worlds/haxima-1.001/tests/party-at.save.mstr, worlds/haxima-1.001/tests/party-at.scm, worlds/haxima-1.001/tests/party-new-order-1.save.mstr, worlds/haxima-1.001/tests/party-new-order-1.scm, worlds/haxima-1.001/tests/party-new-order-2.save.mstr, worlds/haxima-1.001/tests/party-new-order-2.scm, worlds/haxima-1.001/tests/party-new-order-3.save.mstr, worlds/haxima-1.001/tests/party-new-order-3.scm, worlds/haxima-1.001/tests/party-open.save.mstr, worlds/haxima-1.001/tests/party-open.scm, worlds/haxima-1.001/tests/party-ready.save.mstr, worlds/haxima-1.001/tests/party-ready.scm, worlds/haxima-1.001/tests/party-search.save.mstr, worlds/haxima-1.001/tests/party-search.scm, worlds/haxima-1.001/tests/party-talk.save.mstr, worlds/haxima-1.001/tests/party-talk.scm, worlds/haxima-1.001/tests/place-to-place-1.console.mstr, worlds/haxima-1.001/tests/place-to-place-1.save.mstr, worlds/haxima-1.001/tests/place-to-place-1.scm, worlds/haxima-1.001/tests/rendezvous-ap-lag.save.mstr, worlds/haxima-1.001/tests/rendezvous-ap-lag.scm, worlds/haxima-1.001/tests/session.scm, worlds/haxima-1.001/tests/tfeat-1.save.mstr, worlds/haxima-1.001/tests/tfeat-1.scm, worlds/haxima-1.001/tests/wrap-1.save.mstr, worlds/haxima-1.001/tests/wrap-2.save.mstr: o Removed all references to the obsolete alignment system. Converted everything to use factions. o Tore out all the faction stack stuff related to characters (if any managed to get checked in). Parties have a base faction that is set when they are created and never changed after that. Characters have a base faction and a temporary faction which is used by the charm effect. It's very much the same as before, but a bug was fixed where if a charm effect expired it would remove a different, currently active charm effect. o Cleaned up old obsolete structures in conv.h o Character::useAmmo is now non-virtual and it takes the weapon as an argument. Fixes a bug found when yellow slimes tried to use their acid spray. * src/character.cpp, src/cmd.c, src/ctrl.c, src/kern.c, src/log.c, src/log.h, src/object.c, src/object.h, src/result.h, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/monster-generator.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/Attic/player.scm, worlds/haxima-1.001/session.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/spells.scm: o Charm and confuse now seem to be functioning normally again. This concludes the implementation of the new diplomacy system. * worlds/haxima-1.001/session.scm: Updated kern-mk-player to be compatible with recent changes 2004-08-13 Gordon McNutt * src/Being.cpp, src/Being.h, src/Party.cpp, src/character.cpp, src/common.h, src/kern.c, src/player.cpp, src/player.h, src/session.c, worlds/haxima-1.001/session.scm, worlds/haxima-1.001/tests/basic-party.scm, worlds/haxima-1.001/tests/char-enter.save.mstr, worlds/haxima-1.001/tests/char-enter.scm, worlds/haxima-1.001/tests/char-get.save.mstr, worlds/haxima-1.001/tests/char-get.scm, worlds/haxima-1.001/tests/char-handle.save.mstr, worlds/haxima-1.001/tests/char-handle.scm, worlds/haxima-1.001/tests/char-kamp.save.mstr, worlds/haxima-1.001/tests/char-kamp.scm, worlds/haxima-1.001/tests/char-new-order-1.save.mstr, worlds/haxima-1.001/tests/char-new-order-1.scm, worlds/haxima-1.001/tests/char-new-order-2.save.mstr, worlds/haxima-1.001/tests/char-new-order-2.scm, worlds/haxima-1.001/tests/char-new-order-3.save.mstr, worlds/haxima-1.001/tests/char-new-order-3.scm, worlds/haxima-1.001/tests/char-open.save.mstr, worlds/haxima-1.001/tests/char-open.scm, worlds/haxima-1.001/tests/char-ready.save.mstr, worlds/haxima-1.001/tests/char-ready.scm, worlds/haxima-1.001/tests/char-search.save.mstr, worlds/haxima-1.001/tests/char-search.scm, worlds/haxima-1.001/tests/char-talk.save.mstr, worlds/haxima-1.001/tests/char-talk.scm, worlds/haxima-1.001/tests/char-use.save.mstr, worlds/haxima-1.001/tests/char-use.scm, worlds/haxima-1.001/tests/char-xamine-ztats-at-pass.save.mstr, worlds/haxima-1.001/tests/char-xamine-ztats-at-pass.scm, worlds/haxima-1.001/tests/cmdwin-1.save.mstr, worlds/haxima-1.001/tests/cmdwin-2.save.mstr, worlds/haxima-1.001/tests/cmdwin-3.save.mstr, worlds/haxima-1.001/tests/console-at.save.mstr, worlds/haxima-1.001/tests/console-attack.console.mstr, worlds/haxima-1.001/tests/console-attack.save.mstr, worlds/haxima-1.001/tests/console-board.save.mstr, worlds/haxima-1.001/tests/console-examine.save.mstr, worlds/haxima-1.001/tests/console-exit.save.mstr, worlds/haxima-1.001/tests/console-party-attack.save.mstr, worlds/haxima-1.001/tests/console-party-cast.save.mstr, worlds/haxima-1.001/tests/console-party-fire.save.mstr, worlds/haxima-1.001/tests/console-party-get.save.mstr, worlds/haxima-1.001/tests/console-party-handle.save.mstr, worlds/haxima-1.001/tests/console-party-kamp.save.mstr, worlds/haxima-1.001/tests/console-party-mix.save.mstr, worlds/haxima-1.001/tests/console-pass.save.mstr, worlds/haxima-1.001/tests/console-terraform.save.mstr, worlds/haxima-1.001/tests/dtable-1.save.mstr, worlds/haxima-1.001/tests/dtable-1.scm, worlds/haxima-1.001/tests/dtable-2.save.mstr, worlds/haxima-1.001/tests/dtable-2.scm, worlds/haxima-1.001/tests/eternal-sleep.save.mstr, worlds/haxima-1.001/tests/eternal-sleep.scm, worlds/haxima-1.001/tests/mech-1.save.mstr, worlds/haxima-1.001/tests/mech-1.scm, worlds/haxima-1.001/tests/mech-2.save.mstr, worlds/haxima-1.001/tests/mech-2.scm, worlds/haxima-1.001/tests/party-at.save.mstr, worlds/haxima-1.001/tests/party-at.scm, worlds/haxima-1.001/tests/party-new-order-1.save.mstr, worlds/haxima-1.001/tests/party-new-order-1.scm, worlds/haxima-1.001/tests/party-new-order-2.save.mstr, worlds/haxima-1.001/tests/party-new-order-2.scm, worlds/haxima-1.001/tests/party-new-order-3.save.mstr, worlds/haxima-1.001/tests/party-new-order-3.scm, worlds/haxima-1.001/tests/party-open.save.mstr, worlds/haxima-1.001/tests/party-open.scm, worlds/haxima-1.001/tests/party-ready.save.mstr, worlds/haxima-1.001/tests/party-ready.scm, worlds/haxima-1.001/tests/party-search.save.mstr, worlds/haxima-1.001/tests/party-search.scm, worlds/haxima-1.001/tests/party-talk.save.mstr, worlds/haxima-1.001/tests/party-talk.scm, worlds/haxima-1.001/tests/place-to-place-1.save.mstr, worlds/haxima-1.001/tests/place-to-place-1.scm, worlds/haxima-1.001/tests/rendezvous-ap-lag.save.mstr, worlds/haxima-1.001/tests/rendezvous-ap-lag.scm, worlds/haxima-1.001/tests/session.scm, worlds/haxima-1.001/tests/tfeat-1.save.mstr, worlds/haxima-1.001/tests/tfeat-1.scm, worlds/haxima-1.001/tests/wrap-1.save.mstr, worlds/haxima-1.001/tests/wrap-2.save.mstr: o Adding a new party member automatically pushes the party's faction onto the new member's faction stack. o Added kern-party-add-member to the script API; in the initial load-file it's best to use this instead of listing the members within the player party declaration since it automatically updates each member's faction stack. * src/common.h, src/kern.c, worlds/haxima-1.001/tests/factions-1.cmdwin.mstr, worlds/haxima-1.001/tests/factions-1.console.mstr, worlds/haxima-1.001/tests/factions-1.rec, worlds/haxima-1.001/tests/factions-1.save.mstr, worlds/haxima-1.001/tests/factions-1.scm, worlds/haxima-1.001/tests/list: o Exported all the being faction methods to the script (kern-being-push-faction, etc). 2004-08-12 Gordon McNutt * src/Being.cpp, src/Being.h, src/Makefile.am, src/Attic/Makefile.in, src/Party.cpp, src/Party.h, src/character.h, src/dtable.c, src/dtable.h, src/hstack.c, src/hstack.h, src/kern.c, src/session.c, src/session.h, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/session.scm, worlds/haxima-1.001/tests/basic-time.scm, worlds/haxima-1.001/tests/char-enter.save.mstr, worlds/haxima-1.001/tests/char-get.save.mstr, worlds/haxima-1.001/tests/char-handle.save.mstr, worlds/haxima-1.001/tests/char-kamp.save.mstr, worlds/haxima-1.001/tests/char-new-order-1.save.mstr, worlds/haxima-1.001/tests/char-new-order-2.save.mstr, worlds/haxima-1.001/tests/char-new-order-3.save.mstr, worlds/haxima-1.001/tests/char-open.save.mstr, worlds/haxima-1.001/tests/char-ready.save.mstr, worlds/haxima-1.001/tests/char-search.save.mstr, worlds/haxima-1.001/tests/char-talk.save.mstr, worlds/haxima-1.001/tests/char-use.save.mstr, worlds/haxima-1.001/tests/char-xamine-ztats-at-pass.save.mstr, worlds/haxima-1.001/tests/cmdwin-1.save.mstr, worlds/haxima-1.001/tests/cmdwin-2.save.mstr, worlds/haxima-1.001/tests/cmdwin-3.save.mstr, worlds/haxima-1.001/tests/console-at.save.mstr, worlds/haxima-1.001/tests/console-attack.console.mstr, worlds/haxima-1.001/tests/console-attack.save.mstr, worlds/haxima-1.001/tests/console-board.save.mstr, worlds/haxima-1.001/tests/console-examine.save.mstr, worlds/haxima-1.001/tests/console-exit.save.mstr, worlds/haxima-1.001/tests/console-party-attack.save.mstr, worlds/haxima-1.001/tests/console-party-cast.save.mstr, worlds/haxima-1.001/tests/console-party-fire.save.mstr, worlds/haxima-1.001/tests/console-party-get.save.mstr, worlds/haxima-1.001/tests/console-party-handle.save.mstr, worlds/haxima-1.001/tests/console-party-kamp.save.mstr, worlds/haxima-1.001/tests/console-party-mix.save.mstr, worlds/haxima-1.001/tests/console-pass.save.mstr, worlds/haxima-1.001/tests/console-terraform.save.mstr, worlds/haxima-1.001/tests/dtable-1.save.mstr, worlds/haxima-1.001/tests/dtable-1.scm, worlds/haxima-1.001/tests/dtable-2.save.mstr, worlds/haxima-1.001/tests/dtable-2.scm, worlds/haxima-1.001/tests/eternal-sleep.save.mstr, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/mech-1.save.mstr, worlds/haxima-1.001/tests/mech-2.save.mstr, worlds/haxima-1.001/tests/mech-2.scm, worlds/haxima-1.001/tests/party-at.save.mstr, worlds/haxima-1.001/tests/party-new-order-1.save.mstr, worlds/haxima-1.001/tests/party-new-order-2.save.mstr, worlds/haxima-1.001/tests/party-new-order-3.save.mstr, worlds/haxima-1.001/tests/party-open.save.mstr, worlds/haxima-1.001/tests/party-ready.save.mstr, worlds/haxima-1.001/tests/party-search.save.mstr, worlds/haxima-1.001/tests/party-talk.save.mstr, worlds/haxima-1.001/tests/place-to-place-1.save.mstr, worlds/haxima-1.001/tests/rendezvous-ap-lag.save.mstr, worlds/haxima-1.001/tests/session.scm, worlds/haxima-1.001/tests/tfeat-1.save.mstr, worlds/haxima-1.001/tests/tfeat-1.scm, worlds/haxima-1.001/tests/wrap-1.save.mstr, worlds/haxima-1.001/tests/wrap-2.save.mstr: o Handles are now saved and loaded with elements of an hstack. 2004-08-11 Gordon McNutt * src/dtable.c, src/dtable.h, src/hstack.c, src/hstack.h, src/kern.c, src/macros.h, src/session.c, worlds/haxima-1.001/tests/dtable-1.save.mstr, worlds/haxima-1.001/tests/dtable-1.scm, worlds/haxima-1.001/tests/dtable-2.cmdwin.mstr, worlds/haxima-1.001/tests/dtable-2.console.mstr, worlds/haxima-1.001/tests/dtable-2.rec, worlds/haxima-1.001/tests/dtable-2.save.mstr, worlds/haxima-1.001/tests/dtable-2.scm: o Saving/loading stack-based diplomacy table. o Added kern_dtable_push/pop to the script API. o Consolidated the kern_dtable_* functions into a common function to eliminate redundant error-checking. 2004-08-10 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/dtable.c, src/dtable.h, src/hstack.c, src/hstack.h: Converted diplomacy table to be a table of stacks instead of a table of integers * src/Makefile.am, src/Attic/Makefile.in, src/dtable.c, src/dtable.h, src/kern.c, src/place.c, src/session.c, src/session.h, worlds/haxima-1.001/P_terrain_test.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/scenery.scm, worlds/haxima-1.001/session.scm, worlds/haxima-1.001/tests/basic-time.scm, worlds/haxima-1.001/tests/char-enter.save.mstr, worlds/haxima-1.001/tests/char-enter.scm, worlds/haxima-1.001/tests/char-get.save.mstr, worlds/haxima-1.001/tests/char-handle.save.mstr, worlds/haxima-1.001/tests/char-kamp.save.mstr, worlds/haxima-1.001/tests/char-new-order-1.save.mstr, worlds/haxima-1.001/tests/char-new-order-2.save.mstr, worlds/haxima-1.001/tests/char-new-order-3.save.mstr, worlds/haxima-1.001/tests/char-open.save.mstr, worlds/haxima-1.001/tests/char-ready.save.mstr, worlds/haxima-1.001/tests/char-search.save.mstr, worlds/haxima-1.001/tests/char-talk.save.mstr, worlds/haxima-1.001/tests/char-use.save.mstr, worlds/haxima-1.001/tests/char-xamine-ztats-at-pass.save.mstr, worlds/haxima-1.001/tests/cmdwin-1.save.mstr, worlds/haxima-1.001/tests/cmdwin-2.save.mstr, worlds/haxima-1.001/tests/cmdwin-3.save.mstr, worlds/haxima-1.001/tests/console-at.save.mstr, worlds/haxima-1.001/tests/console-attack.save.mstr, worlds/haxima-1.001/tests/console-board.save.mstr, worlds/haxima-1.001/tests/console-examine.save.mstr, worlds/haxima-1.001/tests/console-exit.save.mstr, worlds/haxima-1.001/tests/console-party-attack.save.mstr, worlds/haxima-1.001/tests/console-party-cast.save.mstr, worlds/haxima-1.001/tests/console-party-fire.save.mstr, worlds/haxima-1.001/tests/console-party-get.save.mstr, worlds/haxima-1.001/tests/console-party-handle.save.mstr, worlds/haxima-1.001/tests/console-party-kamp.save.mstr, worlds/haxima-1.001/tests/console-party-mix.save.mstr, worlds/haxima-1.001/tests/console-pass.save.mstr, worlds/haxima-1.001/tests/console-terraform.save.mstr, worlds/haxima-1.001/tests/eternal-sleep.save.mstr, worlds/haxima-1.001/tests/mech-1.save.mstr, worlds/haxima-1.001/tests/mech-2.save.mstr, worlds/haxima-1.001/tests/mech-2.scm, worlds/haxima-1.001/tests/party-at.save.mstr, worlds/haxima-1.001/tests/party-new-order-1.save.mstr, worlds/haxima-1.001/tests/party-new-order-2.save.mstr, worlds/haxima-1.001/tests/party-new-order-3.save.mstr, worlds/haxima-1.001/tests/party-open.save.mstr, worlds/haxima-1.001/tests/party-ready.save.mstr, worlds/haxima-1.001/tests/party-search.save.mstr, worlds/haxima-1.001/tests/party-talk.save.mstr, worlds/haxima-1.001/tests/place-to-place-1.cmdwin.mstr, worlds/haxima-1.001/tests/place-to-place-1.console.mstr, worlds/haxima-1.001/tests/place-to-place-1.rec, worlds/haxima-1.001/tests/place-to-place-1.save.mstr, worlds/haxima-1.001/tests/place-to-place-1.scm, worlds/haxima-1.001/tests/place-to-place-1.scm.cmdwin.mstr, worlds/haxima-1.001/tests/place-to-place-1.scm.console.mstr, worlds/haxima-1.001/tests/place-to-place-1.scm.rec, worlds/haxima-1.001/tests/place-to-place-1.scm.save.mstr, worlds/haxima-1.001/tests/rendezvous-ap-lag.save.mstr, worlds/haxima-1.001/tests/session.scm, worlds/haxima-1.001/tests/tfeat-1.save.mstr, worlds/haxima-1.001/tests/tfeat-1.scm, worlds/haxima-1.001/tests/wrap-1.save.mstr, worlds/haxima-1.001/tests/wrap-2.save.mstr: o Bugfix: in party mode exit to another small-scale place with no coordinates matching those you just came from. Causes an assert. Problem was place_exec() was assuming that if the object was still on-map after its turn it was on the SAME map as before its turn. Removed the assumption, added a regression test to catch this again (place-to-place-1). o Added the new dtable (diplomacy table) implementation and the ability to load/save it. Otherwise not used for anything yet. o Moved the scenery definitions in P_terrain_test to a file loaded by game.scm. Needed this to fix a save/reload problem. * src/dtable.c, src/dtable.h, src/kern.c, worlds/haxima-1.001/tests/dtable-1.cmdwin.mstr, worlds/haxima-1.001/tests/dtable-1.console.mstr, worlds/haxima-1.001/tests/dtable-1.rec, worlds/haxima-1.001/tests/dtable-1.save.mstr, worlds/haxima-1.001/tests/dtable-1.scm, worlds/haxima-1.001/tests/list: Exported dtable API to script and added tests 2004-08-07 Gordon McNutt * src/combat.c, src/vmask.h: Bugfix: LOS in wilderness combat or zoom-in was sometimes wrong because of stale entries in the vmask cache. Solution was to invalidate all vmasks for the combat place upon exit from wilderness combat. * src/object.c, src/object.h, src/player.cpp, src/vmask.c, worlds/haxima-1.001/tests/char-enter.console.mstr, worlds/haxima-1.001/tests/char-enter.save.mstr, worlds/haxima-1.001/tests/char-use.save.mstr, worlds/haxima-1.001/tests/console-attack.console.mstr, worlds/haxima-1.001/tests/console-party-kamp.console.mstr, worlds/haxima-1.001/tests/console-party-kamp.save.mstr, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/rendezvous-ap-lag.cmdwin.mstr, worlds/haxima-1.001/tests/rendezvous-ap-lag.console.mstr, worlds/haxima-1.001/tests/rendezvous-ap-lag.rec, worlds/haxima-1.001/tests/rendezvous-ap-lag.save.mstr, worlds/haxima-1.001/tests/rendezvous-ap-lag.scm: o Bugfix: after a rendezvous exit party members would be immobile for a few turns upon entry to another place. This was due to an action point debt incurred during the rendezvous. Fixed this by zeroing out the action point debt during a rendezvous so it doesn't carry over to new places. * src/place.c, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/tests/eternal-sleep.cmdwin.mstr, worlds/haxima-1.001/tests/eternal-sleep.console.mstr, worlds/haxima-1.001/tests/eternal-sleep.rec, worlds/haxima-1.001/tests/eternal-sleep.save.mstr, worlds/haxima-1.001/tests/eternal-sleep.scm, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/mech-2.save.mstr: o Bugfix: if your only party member steps on a permanent sleep field at town scale then they will never wake up. The fix was to apply per-tile effects to objects _after_ they have a chance to take their turn. 2004-08-06 Gordon McNutt * src/character.cpp, src/cmd.c, src/cmd.h, src/ctrl.c, src/player.cpp, worlds/haxima-1.001/tests/char-kamp.cmdwin.mstr, worlds/haxima-1.001/tests/char-kamp.console.mstr, worlds/haxima-1.001/tests/char-kamp.rec, worlds/haxima-1.001/tests/char-kamp.save.mstr, worlds/haxima-1.001/tests/char-kamp.scm, worlds/haxima-1.001/tests/list: o Added character-mode M)ix command o Cleaned up console messages for character K)amp command o Bugfix: party now wakes up in follow mode after kamping in town; must be in follow mode before kamping. * src/cmd.c, src/ctrl.c, src/player.h, worlds/haxima-1.001/tests/char-new-order-1.cmdwin.mstr, worlds/haxima-1.001/tests/char-new-order-1.console.mstr, worlds/haxima-1.001/tests/char-new-order-1.rec, worlds/haxima-1.001/tests/char-new-order-1.save.mstr, worlds/haxima-1.001/tests/char-new-order-1.scm, worlds/haxima-1.001/tests/char-new-order-2.cmdwin.mstr, worlds/haxima-1.001/tests/char-new-order-2.console.mstr, worlds/haxima-1.001/tests/char-new-order-2.rec, worlds/haxima-1.001/tests/char-new-order-2.save.mstr, worlds/haxima-1.001/tests/char-new-order-2.scm, worlds/haxima-1.001/tests/char-new-order-3.cmdwin.mstr, worlds/haxima-1.001/tests/char-new-order-3.console.mstr, worlds/haxima-1.001/tests/char-new-order-3.rec, worlds/haxima-1.001/tests/char-new-order-3.save.mstr, worlds/haxima-1.001/tests/char-new-order-3.scm, worlds/haxima-1.001/tests/char-use.scm, worlds/haxima-1.001/tests/list: Added N)ew Order command to character mode * src/cmd.c, src/ctrl.c, worlds/haxima-1.001/tests/char-open.cmdwin.mstr, worlds/haxima-1.001/tests/char-open.console.mstr, worlds/haxima-1.001/tests/char-open.rec, worlds/haxima-1.001/tests/char-open.save.mstr, worlds/haxima-1.001/tests/char-open.scm, worlds/haxima-1.001/tests/char-search.cmdwin.mstr, worlds/haxima-1.001/tests/char-search.console.mstr, worlds/haxima-1.001/tests/char-search.rec, worlds/haxima-1.001/tests/char-search.save.mstr, worlds/haxima-1.001/tests/char-search.scm, worlds/haxima-1.001/tests/char-talk.cmdwin.mstr, worlds/haxima-1.001/tests/char-talk.console.mstr, worlds/haxima-1.001/tests/char-talk.rec, worlds/haxima-1.001/tests/char-talk.save.mstr, worlds/haxima-1.001/tests/char-talk.scm, worlds/haxima-1.001/tests/char-use.cmdwin.mstr, worlds/haxima-1.001/tests/char-use.console.mstr, worlds/haxima-1.001/tests/char-use.rec, worlds/haxima-1.001/tests/char-use.save.mstr, worlds/haxima-1.001/tests/char-use.scm, worlds/haxima-1.001/tests/char-use.scm.cmdwin.mstr, worlds/haxima-1.001/tests/char-use.scm.console.mstr, worlds/haxima-1.001/tests/char-use.scm.rec, worlds/haxima-1.001/tests/list: Cleaned up console messages for character search, talk, open and use commands 2004-08-05 Sam Glasby * doc/engine_extension_and_design/README, doc/engine_extension_and_design/Attic/README~, doc/engine_extension_and_design/my_TODO.2004.05.05.txt: Added a dir engine_extension_and_design. Added a README for that dir. Added some documents therein. * doc/engine_extension_and_design/Attic/README~: Backup file got added by mistake. * worlds/haxima-1.001/terrains.scm: Added a dir for world_building_notes. Added a README in that directory. Added various documents therein. * worlds/haxima-1.001/world_building_notes/2004.02.19.design_notes.various.txt, worlds/haxima-1.001/world_building_notes/2004.03.28.character_advancement.txt, worlds/haxima-1.001/world_building_notes/2004.05.27.world_building.txt, worlds/haxima-1.001/world_building_notes/2004.06.02.world_building.txt, worlds/haxima-1.001/world_building_notes/2004.06.30.design_notes.conversations_and_NPCs.txt, worlds/haxima-1.001/world_building_notes/2004.07.08.design_notes.various.txt, worlds/haxima-1.001/world_building_notes/2004.07.08.terrain_palettes.txt: Added variout files to world_building_notes/. * worlds/haxima-1.001/world_building_notes/README: Added a README for the world_building_notes dir. 2004-08-05 Gordon McNutt * src/Party.cpp, src/Party.h, src/cmd.c, src/conv.c, src/conv.h, src/ctrl.c, src/kern.c, src/object.c, src/object.h, src/status.c, src/status.h, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/party-talk.cmdwin.mstr, worlds/haxima-1.001/tests/party-talk.console.mstr, worlds/haxima-1.001/tests/party-talk.rec, worlds/haxima-1.001/tests/party-talk.save.mstr, worlds/haxima-1.001/tests/party-talk.scm, worlds/haxima-1.001/tests/party-talk.scm.cmdwin.mstr, worlds/haxima-1.001/tests/party-talk.scm.console.mstr, worlds/haxima-1.001/tests/party-talk.scm.rec, worlds/haxima-1.001/tests/party-talk.scm.save.mstr: o Extended status api to support selecting from a generic list o Rearranged the impl of conversation a bit o Party::getConversation() now prompts the player with a list of members who have conversations. o Talking to a party in the wilderness now works with the above changes. Currently, however, the only party with members who might have conversations is the player's own party. * src/character.cpp, src/cmd.c, src/ctrl.c, src/player.cpp, worlds/haxima-1.001/tests/char-enter.cmdwin.mstr, worlds/haxima-1.001/tests/char-enter.console.mstr, worlds/haxima-1.001/tests/char-enter.rec, worlds/haxima-1.001/tests/char-enter.save.mstr, worlds/haxima-1.001/tests/char-enter.scm, worlds/haxima-1.001/tests/char-get.cmdwin.mstr, worlds/haxima-1.001/tests/char-get.console.mstr, worlds/haxima-1.001/tests/char-get.rec, worlds/haxima-1.001/tests/char-get.save.mstr, worlds/haxima-1.001/tests/char-get.scm, worlds/haxima-1.001/tests/char-handle.cmdwin.mstr, worlds/haxima-1.001/tests/char-handle.console.mstr, worlds/haxima-1.001/tests/char-handle.rec, worlds/haxima-1.001/tests/char-handle.save.mstr, worlds/haxima-1.001/tests/char-handle.scm, worlds/haxima-1.001/tests/char-ready.cmdwin.mstr, worlds/haxima-1.001/tests/char-ready.console.mstr, worlds/haxima-1.001/tests/char-ready.rec, worlds/haxima-1.001/tests/char-ready.save.mstr, worlds/haxima-1.001/tests/char-ready.scm, worlds/haxima-1.001/tests/char-xamine-ztats-at-pass.cmdwin.mstr, worlds/haxima-1.001/tests/char-xamine-ztats-at-pass.console.mstr, worlds/haxima-1.001/tests/char-xamine-ztats-at-pass.rec, worlds/haxima-1.001/tests/char-xamine-ztats-at-pass.save.mstr, worlds/haxima-1.001/tests/char-xamine-ztats-at-pass.scm, worlds/haxima-1.001/tests/cmdwin-1.console.mstr, worlds/haxima-1.001/tests/console-at.console.mstr, worlds/haxima-1.001/tests/console-attack.console.mstr, worlds/haxima-1.001/tests/console-examine.console.mstr, worlds/haxima-1.001/tests/console-exit.console.mstr, worlds/haxima-1.001/tests/console-party-get.console.mstr, worlds/haxima-1.001/tests/console-party-kamp.console.mstr, worlds/haxima-1.001/tests/console-terraform.console.mstr, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/mech-1.console.mstr, worlds/haxima-1.001/tests/mech-2.console.mstr, worlds/haxima-1.001/tests/tfeat-1.console.mstr: Cleaned up console messages for a bunch of character commands * src/cmd.c, src/status.c, worlds/haxima-1.001/tests/console-at.console.mstr, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/party-at.cmdwin.mstr, worlds/haxima-1.001/tests/party-at.console.mstr, worlds/haxima-1.001/tests/party-at.rec, worlds/haxima-1.001/tests/party-at.save.mstr, worlds/haxima-1.001/tests/party-at.scm: Cleaned up console messages for party U)se and @ commands * src/ctrl.c, worlds/haxima-1.001/tests/console-party-attack.console.mstr, worlds/haxima-1.001/tests/console-party-fire.console.mstr, worlds/haxima-1.001/tests/console-pass.console.mstr, worlds/haxima-1.001/tests/party-at.console.mstr: Removed an extra EOL for the party Pass command 2004-08-04 Sam Glasby * src/images.c: Added improved error logging on IMG_Load() in response to a Mac OS X bug. * worlds/haxima-1.001/images/kgabbert/kg_potions_1.trans.png, worlds/haxima-1.001/images/kgabbert/kg_potions_2.trans.png: Added 2 tilesheets of potions from Kevin. Potion artwork based on art from David Gervais. Some arrangement by Sam Glasby. 2004-08-04 Gordon McNutt * src/Party.cpp, src/cmd.c, src/kern.c, src/log.c, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/tests/console-party-get.console.mstr, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/mech-1.save.mstr, worlds/haxima-1.001/tests/mech-2.save.mstr, worlds/haxima-1.001/tests/party-new-order-1.save.mstr, worlds/haxima-1.001/tests/party-new-order-2.save.mstr, worlds/haxima-1.001/tests/party-new-order-3.save.mstr, worlds/haxima-1.001/tests/party-open.cmdwin.mstr, worlds/haxima-1.001/tests/party-open.console.mstr, worlds/haxima-1.001/tests/party-open.rec, worlds/haxima-1.001/tests/party-open.save.mstr, worlds/haxima-1.001/tests/party-open.scm, worlds/haxima-1.001/tests/test-map-1.scm, worlds/haxima-1.001/tests/tfeat-1.console.mstr: o Added kern-log-msg o Cleaned up console output related to party mode O)pen command o Revisited console output related to party mode G)et command and reduced the verbosity * src/Party.h, src/cmd.c, src/cmd.h, src/ctrl.c, src/status.c, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/party-open.console.mstr, worlds/haxima-1.001/tests/party-ready.cmdwin.mstr, worlds/haxima-1.001/tests/party-ready.console.mstr, worlds/haxima-1.001/tests/party-ready.rec, worlds/haxima-1.001/tests/party-ready.save.mstr, worlds/haxima-1.001/tests/party-ready.scm, worlds/haxima-1.001/tests/party-ready.scm.cmdwin.mstr, worlds/haxima-1.001/tests/party-ready.scm.console.mstr, worlds/haxima-1.001/tests/party-ready.scm.rec, worlds/haxima-1.001/tests/party-ready.scm.save.mstr: o Bugfix: ready-arms stat window scrolled off-screen in some cases. o Cleaned up console output related to party mode R)eady command * src/cmd.c, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/party-search.cmdwin.mstr, worlds/haxima-1.001/tests/party-search.console.mstr, worlds/haxima-1.001/tests/party-search.rec, worlds/haxima-1.001/tests/party-search.save.mstr, worlds/haxima-1.001/tests/party-search.scm: Cleaned up console messages related to the party S)earch command 2004-08-03 Sam Glasby * worlds/haxima-1.001/P_terrain_test.scm: Tidied up the Sprite Gallery (chamber 1, missiles) * worlds/haxima-1.001/P_terrain_test.scm, worlds/haxima-1.001/sprite-sets.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/images/dgervais/dg_missiles.trans.png: Arranged the arrows in ss_dg_missiles, added them all to the Sprite Gallery. * worlds/haxima-1.001/sprite-sets.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/images/dgervais/dg_commodities.trans.png: Added ss_dg_commodities. * worlds/haxima-1.001/images/dgervais/dg_commodities.trans.png, worlds/haxima-1.001/images/dgervais/dg_missiles.trans.png, worlds/haxima-1.001/images/dgervais/dg_potions.trans.png, worlds/haxima-1.001/images/dgervais/dg_readable.trans.png, worlds/haxima-1.001/images/dgervais/dg_tools.trans.png, worlds/haxima-1.001/images/dgervais/dg_weapons.trans.png, worlds/haxima-1.001/images/dgervais/dg_wearable_items.trans.png: Added various transparency-containing tile sheets. Original tiles by David Gervais. Tile sheet organization by Sam Glasby. Transparency and animation frames by Kevin Gabbert. * worlds/haxima-1.001/images/dgervais/dg_tools.trans.png: Torches slightly misaligned, moved them into their frames. * worlds/haxima-1.001/images/dgervais/dg_weapons.trans.png: Added black to inside whip loop. 2004-08-03 Gordon McNutt * src/Party.cpp, src/Party.h, src/cmd.c, src/list.h, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/party-new-order-1.cmdwin.mstr, worlds/haxima-1.001/tests/party-new-order-1.console.mstr, worlds/haxima-1.001/tests/party-new-order-1.rec, worlds/haxima-1.001/tests/party-new-order-1.save.mstr, worlds/haxima-1.001/tests/party-new-order-1.scm, worlds/haxima-1.001/tests/party-new-order-2.cmdwin.mstr, worlds/haxima-1.001/tests/party-new-order-2.console.mstr, worlds/haxima-1.001/tests/party-new-order-2.rec, worlds/haxima-1.001/tests/party-new-order-2.save.mstr, worlds/haxima-1.001/tests/party-new-order-2.scm, worlds/haxima-1.001/tests/party-new-order-3.cmdwin.mstr, worlds/haxima-1.001/tests/party-new-order-3.console.mstr, worlds/haxima-1.001/tests/party-new-order-3.rec, worlds/haxima-1.001/tests/party-new-order-3.save.mstr, worlds/haxima-1.001/tests/party-new-order-3.scm: o Bugfix: New Order didn't work for parties with more than 2 members o Cleaned up console output related to party mode N)ew Order command. * src/character.cpp, src/cmd.c, src/ctrl.c, worlds/haxima-1.001/tests/cmdwin-2.console.mstr, worlds/haxima-1.001/tests/console-attack.console.mstr, worlds/haxima-1.001/tests/console-exit.console.mstr, worlds/haxima-1.001/tests/console-party-get.console.mstr, worlds/haxima-1.001/tests/console-party-kamp.cmdwin.mstr, worlds/haxima-1.001/tests/console-party-kamp.console.mstr, worlds/haxima-1.001/tests/console-party-kamp.rec, worlds/haxima-1.001/tests/console-party-kamp.save.mstr, worlds/haxima-1.001/tests/console-party-kamp.scm, worlds/haxima-1.001/tests/console-party-kamp.scm.cmdwin.mstr, worlds/haxima-1.001/tests/console-party-kamp.scm.console.mstr, worlds/haxima-1.001/tests/console-party-kamp.scm.rec, worlds/haxima-1.001/tests/console-party-kamp.scm.save.mstr, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/mech-1.console.mstr, worlds/haxima-1.001/tests/mech-2.console.mstr, worlds/haxima-1.001/tests/tfeat-1.console.mstr: Cleaned up console messages for party mode K)amp command * src/cmd.c, worlds/haxima-1.001/tests/console-party-cast.console.mstr, worlds/haxima-1.001/tests/console-party-mix.cmdwin.mstr, worlds/haxima-1.001/tests/console-party-mix.console.mstr, worlds/haxima-1.001/tests/console-party-mix.rec, worlds/haxima-1.001/tests/console-party-mix.save.mstr, worlds/haxima-1.001/tests/console-party-mix.scm, worlds/haxima-1.001/tests/list: Cleaned up console messages for party mode M)ix command * src/place.c, src/ptable.h, worlds/haxima-1.001/bim.scm, worlds/haxima-1.001/drawbridge.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/lever.scm, worlds/haxima-1.001/portcullis.scm, worlds/haxima-1.001/stone-lantern.scm, worlds/haxima-1.001/tests/cmdwin-1.console.mstr, worlds/haxima-1.001/tests/cmdwin-1.save.mstr, worlds/haxima-1.001/tests/cmdwin-2.save.mstr, worlds/haxima-1.001/tests/cmdwin-3.save.mstr, worlds/haxima-1.001/tests/console-at.save.mstr, worlds/haxima-1.001/tests/console-attack.console.mstr, worlds/haxima-1.001/tests/console-attack.save.mstr, worlds/haxima-1.001/tests/console-board.save.mstr, worlds/haxima-1.001/tests/console-examine.console.mstr, worlds/haxima-1.001/tests/console-examine.save.mstr, worlds/haxima-1.001/tests/console-exit.save.mstr, worlds/haxima-1.001/tests/console-party-attack.save.mstr, worlds/haxima-1.001/tests/console-party-fire.save.mstr, worlds/haxima-1.001/tests/console-party-handle.cmdwin.mstr, worlds/haxima-1.001/tests/console-party-handle.console.mstr, worlds/haxima-1.001/tests/console-party-handle.rec, worlds/haxima-1.001/tests/console-party-handle.save.mstr, worlds/haxima-1.001/tests/console-party-handle.scm, worlds/haxima-1.001/tests/console-party-handle.scm.cmdwin.mstr, worlds/haxima-1.001/tests/console-party-handle.scm.console.mstr, worlds/haxima-1.001/tests/console-party-handle.scm.rec, worlds/haxima-1.001/tests/console-pass.save.mstr, worlds/haxima-1.001/tests/console-terraform.save.mstr, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/mech-1.save.mstr, worlds/haxima-1.001/tests/mech-2.save.mstr, worlds/haxima-1.001/tests/session.scm: o Bugfix: the (new) drawbridge terrain feature was always passable. o Cleaned up console output related to party mode H)andle command. * worlds/haxima-1.001/tests/console-party-cast.cmdwin.mstr, worlds/haxima-1.001/tests/console-party-cast.console.mstr, worlds/haxima-1.001/tests/console-party-cast.save.mstr, worlds/haxima-1.001/tests/console-party-cast.scm.cmdwin.mstr, worlds/haxima-1.001/tests/console-party-cast.scm.console.mstr, worlds/haxima-1.001/tests/console-party-cast.scm.save.mstr, worlds/haxima-1.001/tests/console-party-get.cmdwin.mstr, worlds/haxima-1.001/tests/console-party-get.console.mstr, worlds/haxima-1.001/tests/console-party-get.save.mstr: Adding missing master files * worlds/haxima-1.001/tests/console-party-cast.rec, worlds/haxima-1.001/tests/console-party-cast.scm, worlds/haxima-1.001/tests/console-party-get.rec, worlds/haxima-1.001/tests/console-party-get.scm, worlds/haxima-1.001/tests/test-map-1.scm: More missing test files 2004-08-02 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/Party.cpp, src/Party.h, src/Attic/Portal.cpp, src/Attic/Portal.h, src/character.cpp, src/character.h, src/cmd.c, src/combat.c, src/ctrl.c, src/kern.c, src/object.h, src/place.c, src/place.h, src/play.c, src/player.cpp, src/player.h, src/session.c: o Removed the obsolete Portal class. o Removed the E)nter command in party mode because 1. It's implementation was obsolete 2. It's usefulness is questionable 3. It will be easy to add back when we need it * src/Party.cpp, src/cmd.c, worlds/haxima-1.001/tests/console-party-fire.cmdwin.mstr, worlds/haxima-1.001/tests/console-party-fire.console.mstr, worlds/haxima-1.001/tests/console-party-fire.rec, worlds/haxima-1.001/tests/console-party-fire.save.mstr, worlds/haxima-1.001/tests/console-party-fire.scm, worlds/haxima-1.001/tests/list: Cleaned up the F)ire command * src/cmd.c, src/player.cpp, worlds/haxima-1.001/tests/cmdwin-1.save.mstr, worlds/haxima-1.001/tests/cmdwin-2.save.mstr, worlds/haxima-1.001/tests/cmdwin-3.save.mstr, worlds/haxima-1.001/tests/console-at.save.mstr, worlds/haxima-1.001/tests/console-attack.console.mstr, worlds/haxima-1.001/tests/console-attack.save.mstr, worlds/haxima-1.001/tests/console-board.save.mstr, worlds/haxima-1.001/tests/console-examine.save.mstr, worlds/haxima-1.001/tests/console-exit.save.mstr, worlds/haxima-1.001/tests/console-party-attack.save.mstr, worlds/haxima-1.001/tests/console-party-fire.save.mstr, worlds/haxima-1.001/tests/console-pass.save.mstr, worlds/haxima-1.001/tests/console-terraform.save.mstr, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/session.scm: Cleaned up console messages for party G)et command 2004-08-01 Sam Glasby * worlds/haxima-1.001/P_terrain_test.scm: Rearranged some missiles. * worlds/haxima-1.001/P_terrain_test.scm: Added all missile sprites to the Sprite Gallery. * worlds/haxima-1.001/images/dgervais/dg_commodities-32x32.png, worlds/haxima-1.001/images/dgervais/dg_readable-32x32.png, worlds/haxima-1.001/images/dgervais/dg_tools-32x32.png, worlds/haxima-1.001/images/dgervais/dg_weapons-32x32.png: Various reorganizations, etc. * worlds/haxima-1.001/images/dgervais/dg_potions-32x32.png: Fixed a draggo. * worlds/haxima-1.001/images/dgervais/dg_weapons-32x32.png: Added a blank tile for the "magic mace with red glow" animation frame. 2004-08-01 Gordon McNutt * src/Arms.cpp, src/character.cpp, src/cmd.c, src/combat.c, src/ctrl.c, src/magic.c, src/magic.h, src/player.cpp, worlds/haxima-1.001/session.scm, worlds/haxima-1.001/spells.scm, worlds/haxima-1.001/tests/cmdwin-1.save.mstr, worlds/haxima-1.001/tests/cmdwin-2.console.mstr, worlds/haxima-1.001/tests/cmdwin-2.save.mstr, worlds/haxima-1.001/tests/cmdwin-3.console.mstr, worlds/haxima-1.001/tests/cmdwin-3.save.mstr, worlds/haxima-1.001/tests/console-at.save.mstr, worlds/haxima-1.001/tests/console-attack.console.mstr, worlds/haxima-1.001/tests/console-attack.save.mstr, worlds/haxima-1.001/tests/console-board.cmdwin.mstr, worlds/haxima-1.001/tests/console-board.console.mstr, worlds/haxima-1.001/tests/console-board.rec, worlds/haxima-1.001/tests/console-board.save.mstr, worlds/haxima-1.001/tests/console-board.scm, worlds/haxima-1.001/tests/console-examine.save.mstr, worlds/haxima-1.001/tests/console-exit.console.mstr, worlds/haxima-1.001/tests/console-exit.save.mstr, worlds/haxima-1.001/tests/console-party-attack.cmdwin.mstr, worlds/haxima-1.001/tests/console-party-attack.console.mstr, worlds/haxima-1.001/tests/console-party-attack.rec, worlds/haxima-1.001/tests/console-party-attack.save.mstr, worlds/haxima-1.001/tests/console-party-attack.scm, worlds/haxima-1.001/tests/console-pass.save.mstr, worlds/haxima-1.001/tests/console-terraform.save.mstr, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/mech-1.save.mstr, worlds/haxima-1.001/tests/mech-2.save.mstr, worlds/haxima-1.001/tests/session.scm, worlds/haxima-1.001/tests/tfeat-1.save.mstr, worlds/haxima-1.001/tests/wrap-1.save.mstr, worlds/haxima-1.001/tests/wrap-2.save.mstr: Updated console messages on all party spells up through C)ast * src/log.h: Adding missing file 2004-07-31 Sam Glasby * worlds/haxima-1.001/P_terrain_test.scm: Added a Sprite Gallery place, accessible via a portal in the Terrain Test. * worlds/haxima-1.001/portals.scm: Revised some documentation. Added a new portal type t_perm_gate and a constructor mk-perm-gate. * worlds/haxima-1.001/portals.scm: Added documentation. * worlds/haxima-1.001/portals.scm: Indentation. * worlds/haxima-1.001/sprite-sets.scm: Added ss_dg_missiles. * worlds/haxima-1.001/sprites.scm: Temporarily changed multi-facing missiles to multi-frame, so that the graphics can be seen in context in the sprite gallery. * worlds/haxima-1.001/images/dgervais/dg_commodities-32x32.png, worlds/haxima-1.001/images/dgervais/dg_missiles-32x32.png, worlds/haxima-1.001/images/dgervais/dg_potions-32x32.png, worlds/haxima-1.001/images/dgervais/dg_readable-32x32.png, worlds/haxima-1.001/images/dgervais/dg_tools-32x32.png, worlds/haxima-1.001/images/dgervais/dg_weapons-32x32.png: Adding various tilesheets (tiles courtesy of David Gervais). * worlds/haxima-1.001/images/dgervais/dg_missiles-32x32.png: Re-arranged the arrows slightly. * worlds/haxima-1.001/images/dgervais/dg_missiles-32x32.png: Re-organized, added animation frames. 2004-07-31 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/character.cpp, src/cmd.c, src/cmdwin.c, src/ctrl.c, src/log.c, src/nazghul.c, src/object.c, src/place.c, src/player.cpp, src/sky.h, worlds/haxima-1.001/session.scm, worlds/haxima-1.001/tests/cmdwin-1.cmdwin.mstr, worlds/haxima-1.001/tests/cmdwin-1.console.mstr, worlds/haxima-1.001/tests/cmdwin-2.cmdwin.mstr, worlds/haxima-1.001/tests/cmdwin-2.console.mstr, worlds/haxima-1.001/tests/cmdwin-3.cmdwin.mstr, worlds/haxima-1.001/tests/cmdwin-3.console.mstr, worlds/haxima-1.001/tests/console-at.cmdwin.mstr, worlds/haxima-1.001/tests/console-at.console.mstr, worlds/haxima-1.001/tests/console-at.rec, worlds/haxima-1.001/tests/console-at.save.mstr, worlds/haxima-1.001/tests/console-at.scm, worlds/haxima-1.001/tests/console-attack.cmdwin.mstr, worlds/haxima-1.001/tests/console-attack.console.mstr, worlds/haxima-1.001/tests/console-attack.rec, worlds/haxima-1.001/tests/console-attack.save.mstr, worlds/haxima-1.001/tests/console-attack.scm, worlds/haxima-1.001/tests/console-attack.scm.cmdwin.mstr, worlds/haxima-1.001/tests/console-attack.scm.console.mstr, worlds/haxima-1.001/tests/console-attack.scm.rec, worlds/haxima-1.001/tests/console-examine.cmdwin.mstr, worlds/haxima-1.001/tests/console-examine.console.mstr, worlds/haxima-1.001/tests/console-examine.rec, worlds/haxima-1.001/tests/console-examine.save.mstr, worlds/haxima-1.001/tests/console-examine.scm, worlds/haxima-1.001/tests/console-exit.cmdwin.mstr, worlds/haxima-1.001/tests/console-exit.console.mstr, worlds/haxima-1.001/tests/console-exit.rec, worlds/haxima-1.001/tests/console-exit.save.mstr, worlds/haxima-1.001/tests/console-exit.scm, worlds/haxima-1.001/tests/console-pass.cmdwin.mstr, worlds/haxima-1.001/tests/console-pass.console.mstr, worlds/haxima-1.001/tests/console-pass.rec, worlds/haxima-1.001/tests/console-pass.save.mstr, worlds/haxima-1.001/tests/console-pass.scm, worlds/haxima-1.001/tests/console-terraform.cmdwin.mstr, worlds/haxima-1.001/tests/console-terraform.console.mstr, worlds/haxima-1.001/tests/console-terraform.rec, worlds/haxima-1.001/tests/console-terraform.save.mstr, worlds/haxima-1.001/tests/console-terraform.scm, worlds/haxima-1.001/tests/console-terraform.scm.cmdwin.mstr, worlds/haxima-1.001/tests/console-terraform.scm.console.mstr, worlds/haxima-1.001/tests/console-terraform.scm.rec, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/mech-1.console.mstr, worlds/haxima-1.001/tests/mech-2.console.mstr, worlds/haxima-1.001/tests/runall, worlds/haxima-1.001/tests/testexec, worlds/haxima-1.001/tests/tfeat-1.console.mstr, worlds/haxima-1.001/tests/wrap-1.cmdwin.mstr, worlds/haxima-1.001/tests/wrap-1.console.mstr, worlds/haxima-1.001/tests/wrap-2.cmdwin.mstr, worlds/haxima-1.001/tests/wrap-2.console.mstr: Console rework started * src/cmd.c, src/console.c, src/log.c, src/play.c, src/player.cpp, worlds/haxima-1.001/tests/cmdwin-1.console.mstr, worlds/haxima-1.001/tests/cmdwin-2.console.mstr, worlds/haxima-1.001/tests/cmdwin-3.console.mstr, worlds/haxima-1.001/tests/console-at.console.mstr, worlds/haxima-1.001/tests/console-attack.console.mstr, worlds/haxima-1.001/tests/console-examine.console.mstr, worlds/haxima-1.001/tests/console-exit.console.mstr, worlds/haxima-1.001/tests/console-pass.console.mstr, worlds/haxima-1.001/tests/console-terraform.console.mstr, worlds/haxima-1.001/tests/mech-1.console.mstr, worlds/haxima-1.001/tests/mech-2.console.mstr, worlds/haxima-1.001/tests/tfeat-1.console.mstr, worlds/haxima-1.001/tests/wrap-1.console.mstr, worlds/haxima-1.001/tests/wrap-2.console.mstr: o Cleaned up entrance messages o Cleaned up saving/reloading messages in party mode 2004-07-30 Gordon McNutt * worlds/haxima-1.001/stone-lantern.scm: Added a missing file 2004-07-29 Sam Glasby * worlds/haxima-1.001/sprite-sets.scm: Added ss_dg_wearable tilesheet. * worlds/haxima-1.001/images/dgervais/dg_angband_enhanced-32x32.png: Added the David Gervais enhanced 32x32 Angband tileset. * worlds/haxima-1.001/images/dgervais/dg_wearable_items-32x32.png: A tile sheet containing tiles for wearable items: - Hats, helms, crown - Amulets - Rings - Cloaks - Robes - Shields - Armor (leather, chain, plate) 2004-07-28 Sam Glasby * worlds/haxima-1.001/P_terrain_test.scm: Terrain test pattern for screenshots, etc. * worlds/haxima-1.001/P_terrain_test.scm, worlds/haxima-1.001/session.scm: Added the Terrain Test place, preparatory for terrain/palette work. * worlds/haxima-1.001/sprites.scm: Added sprites from ss_kg_terrain and ss_kg_roads. Fixed some typos. 2004-07-28 Gordon McNutt * worlds/Makefile.am: Adding missing file 2004-07-27 Gordon McNutt * src/astar.c, src/astar.h, src/ctrl.c, src/place.c, src/player.cpp: o Fixed one bug related to death-in-ship-by-cannon. o Worked around another bug hiding behind it. I didn't root cause it, and suspect it's related to double-deallocation or overwriting an allocated buffer, because it asserts in malloc(). But I don't see any immediate cause and don't want to spend a lot of time on it at this point. * worlds/haxima-1.001/tests/cmdwin-1.console.mstr, worlds/haxima-1.001/tests/cmdwin-1.save.mstr, worlds/haxima-1.001/tests/cmdwin-2.save.mstr, worlds/haxima-1.001/tests/cmdwin-3.save.mstr: Remastered some tests to reflect a change in a sprite name 2004-07-26 Sam Glasby * src/cmd.c: Fixed a SIGSEGV on invocation of cmdTerraform(). I think we fixed this one before. It must not have made it to CVS. * src/common.h: Removed a duplicate #define for PLACE_ID. * worlds/haxima-1.001/sprite-sets.scm: Added the kgabbert/ roads and terrains sprite sheets. Added formatting + comments. * worlds/haxima-1.001/sprites.scm: Updated formatting, added comments. Merged with Gordon's new feature tiles and bridge re-labeling. * worlds/haxima-1.001/images/kgabbert/Attic/new_roads..png: This should have been checked in as new_roads.png but it was checked in as new_roads..png which is one too many dots. * worlds/haxima-1.001/images/kgabbert/Attic/new_roads..png, worlds/haxima-1.001/images/kgabbert/new_terrains.png: Added the new roads and terrains tile sheets. * worlds/haxima-1.001/images/kgabbert/new_roads.png: Aarrgghh.... Checked this file in as new_roads..png which is one too many dots. 2004-07-25 Sam Glasby * worlds/haxima-1.001/images/gmcnutt/frame_pieces.16x16.plain_blue_bars.png: Added the reorganized frames tile sheet. 2004-07-25 Gordon McNutt * worlds/haxima-1.001/gregors-hut.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/images/gmcnutt/features.png: Added a new hut sprite * worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/images/gmcnutt/features.png: Added a mine and cave entrance sprite 2004-07-24 Gordon McNutt * BUGS, COPYING, INSTALL, Makefile.am, Attic/Makefile.in, Attic/RELEASE_NOTES, Attic/configure, Attic/configure.in, doc/USERS_GUIDE, examples/Makefile.in, scripts/RELEASE_CHECKOFF, src/clock.c, src/cmd.c, src/Attic/game.h, src/play.c, src/sky.c: Various fixups to make the release work * Attic/RELEASE_NOTES, src/object.h, src/place.c, src/place.h, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/gregors-hut.scm, worlds/haxima-1.001/palette.scm, worlds/haxima-1.001/session.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/terrains.scm, worlds/haxima-1.001/tests/cmdwin-1.console.mstr, worlds/haxima-1.001/tests/cmdwin-1.save.mstr, worlds/haxima-1.001/tests/cmdwin-2.save.mstr, worlds/haxima-1.001/tests/cmdwin-3.save.mstr, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/session.scm, worlds/haxima-1.001/tests/tfeat-1.cmdwin.mstr, worlds/haxima-1.001/tests/tfeat-1.console.mstr, worlds/haxima-1.001/tests/tfeat-1.rec, worlds/haxima-1.001/tests/tfeat-1.save.mstr, worlds/haxima-1.001/tests/tfeat-1.scm, worlds/haxima-1.001/tests/wrap-1.save.mstr, worlds/haxima-1.001/tests/wrap-1.scm: o Added a layer for terrain features o Modified passability, movement cost and terrain effects to check for terrain features. Terrain features always override terrain movement and hazard effects. o Updated the scripts accordingly, added a bridge terrain feature as an example. One may be found in Gregor's hut. o Added a test for terrain feature passability and hazard overrides. * src/character.cpp, src/ctrl.c, src/player.cpp: Some initial console/cmdwin cleanup * src/cmd.c, src/map.c, worlds/haxima-1.001/bim.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/lever.scm, worlds/haxima-1.001/objs.scm, worlds/haxima-1.001/palette.scm, worlds/haxima-1.001/portcullis.scm, worlds/haxima-1.001/sprite-sets.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/terrains.scm, worlds/haxima-1.001/images/gmcnutt/features.png, worlds/haxima-1.001/tests/basic-night-time.scm, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/mech-1.cmdwin.mstr, worlds/haxima-1.001/tests/mech-1.console.mstr, worlds/haxima-1.001/tests/mech-1.rec, worlds/haxima-1.001/tests/mech-1.save.mstr, worlds/haxima-1.001/tests/mech-1.scm, worlds/haxima-1.001/tests/mech-1.scm.cmdwin.mstr, worlds/haxima-1.001/tests/mech-1.scm.console.mstr, worlds/haxima-1.001/tests/mech-1.scm.rec, worlds/haxima-1.001/tests/mech-1.scm.save.mstr, worlds/haxima-1.001/tests/mech-2.cmdwin.mstr, worlds/haxima-1.001/tests/mech-2.console.mstr, worlds/haxima-1.001/tests/mech-2.rec, worlds/haxima-1.001/tests/mech-2.save.mstr, worlds/haxima-1.001/tests/mech-2.scm, worlds/haxima-1.001/tests/tfeat-1.console.mstr, worlds/haxima-1.001/tests/tfeat-1.save.mstr: o Modified bim.scm to expect a light value as part of the gob state for a binary mechanism. o Added stone-lantern.scm, our first new light-switch-style mechanism. o I think there was a kernel bugfix in here but I forgot what it was. * worlds/Attic/Makefile.in: *** empty log message *** * worlds/haxima-1.001/bridge.scm: Forgot to add the new bridge file in my last checkin * worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/road.scm, worlds/haxima-1.001/session.scm: Added road.scm, which includes a feature map translation function as an example of how to do that sort of thing * worlds/haxima-1.001/session.scm, worlds/haxima-1.001/Attic/test.scm: Cleanup * worlds/haxima-1.001/tests/basic-party.scm, worlds/haxima-1.001/tests/basic-time.scm, worlds/haxima-1.001/tests/basic-wilderness-map.scm, worlds/haxima-1.001/tests/cmdwin-2.cmdwin.mstr, worlds/haxima-1.001/tests/cmdwin-2.console.mstr, worlds/haxima-1.001/tests/wrap-1.cmdwin.mstr, worlds/haxima-1.001/tests/wrap-1.console.mstr, worlds/haxima-1.001/tests/wrap-2.cmdwin.mstr, worlds/haxima-1.001/tests/wrap-2.console.mstr: Updated some test files 2004-07-23 Gordon McNutt * worlds/haxima-1.001/images/gmcnutt/features.png, worlds/haxima-1.001/images/gmcnutt/features2.png: Added two more image sheets 2004-07-20 Gordon McNutt * src/cmdwin.c, src/cmdwin.h, src/ctrl.c, src/player.cpp: o Added a cmdwin log, .cmdwin, for regression testing. o Added cmdwin_flush() which writes to the cmdwin log, writes to the console, clears the cmdwin and repaints it for another prompt. o Top of player party key handle uses cmdwin_flush() now. * src/common.h, src/screen.c, src/session.c: Removed (faulty) timestamp from save files * worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/gregors-hut.scm, worlds/haxima-1.001/objs.scm, worlds/haxima-1.001/palette.scm, worlds/haxima-1.001/sprite-sets.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/terrains.scm: Filled out a bit more of Gregor's hut * worlds/haxima-1.001/tests/DESCRIPTIONS.TXT, worlds/haxima-1.001/tests/clean, worlds/haxima-1.001/tests/cmdwin-1.cmdwin.mstr, worlds/haxima-1.001/tests/cmdwin-1.console.mstr, worlds/haxima-1.001/tests/cmdwin-1.rec, worlds/haxima-1.001/tests/cmdwin-1.save.mstr, worlds/haxima-1.001/tests/cmdwin-1.scm, worlds/haxima-1.001/tests/cmdwin-2.cmdwin.mstr, worlds/haxima-1.001/tests/cmdwin-2.console.mstr, worlds/haxima-1.001/tests/cmdwin-2.rec, worlds/haxima-1.001/tests/cmdwin-2.save.mstr, worlds/haxima-1.001/tests/cmdwin-2.scm, worlds/haxima-1.001/tests/cmdwin-3.cmdwin.mstr, worlds/haxima-1.001/tests/cmdwin-3.console.mstr, worlds/haxima-1.001/tests/cmdwin-3.rec, worlds/haxima-1.001/tests/cmdwin-3.save.mstr, worlds/haxima-1.001/tests/cmdwin-3.scm, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/master, worlds/haxima-1.001/tests/remaster, worlds/haxima-1.001/tests/runall, worlds/haxima-1.001/tests/testexec, worlds/haxima-1.001/tests/wrap-1.rec, worlds/haxima-1.001/tests/wrap-1.save.mstr, worlds/haxima-1.001/tests/wrap-1.scm, worlds/haxima-1.001/tests/wrap-2.scm: Added some cmdwin tests * worlds/haxima-1.001/tests/clean, worlds/haxima-1.001/tests/list, worlds/haxima-1.001/tests/master, worlds/haxima-1.001/tests/remaster, worlds/haxima-1.001/tests/testexec, worlds/haxima-1.001/tests/wrap-1.rec, worlds/haxima-1.001/tests/wrap-1.save.mstr, worlds/haxima-1.001/tests/wrap-1.scm, worlds/haxima-1.001/tests/wrap-2.rec, worlds/haxima-1.001/tests/wrap-2.save.mstr, worlds/haxima-1.001/tests/wrap-2.scm: Adding regression test framework * worlds/haxima-1.001/tests/session.scm: Made a copy of session.scm to insulate regression tests from world changes * worlds/haxima-1.001/tests/testexec, worlds/haxima-1.001/tests/wrap-1.save.mstr, worlds/haxima-1.001/tests/wrap-2.save.mstr: Removed timestamps from master files; reduced playback delay 2004-07-15 Gordon McNutt * src/cmd.c: Refixed the terraform bug * src/map.c, src/place.c, src/screen.c: o Bugfix: when zoomed out in a small-scale place, the selected character's sprite would sometimes flash full-size at some place on the screen. This was a bug in mapUpdateTile(), which didn't handle zoom-out properly. o Bugfix: when zoomed out and standing at the edge of a small-scale, non-wrapping place the highlight box was painted wrong. Again, a bug (this time in screenHighlight()) where the code was not written to handle zoom-out properly. * src/place.c: Bugfix: couldn't board a ship * worlds/haxima-1.001/gregors-hut.scm, worlds/haxima-1.001/session.scm: Added initial hack at Gregor the Charcoal Burner's Hut 2004-07-14 Gordon McNutt * src/character.cpp, src/kern.c, src/object.c, src/object.h, src/place.c, src/place.h, src/player.cpp, src/scheme.c, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/objs.scm, worlds/haxima-1.001/portals.scm, worlds/haxima-1.001/session.scm, worlds/haxima-1.001/yellow-slime.scm: o Places now take an optional closure which is run when the party tries to enter them as a subplace. As an example, I added one to GreenTower which prompts the player if he wants to enter or not. o Fixed several bugs in the code which distributes party members. This was visible if you tried to enter a place that didn't have any safe locations. o Not sure if I changed any kernel code for this, but I added an example of a portal that prompts the player when he tries to step through. The prompt occurs after the player is on the portal, which is not exactly what we want. The example prompts and rechecks to make sure the player really wants to step through the portal. If he says no he'll end up on top of the portal without teleporting. 2004-07-13 Gordon McNutt * src/Field.cpp, src/Field.h, src/Party.cpp, src/character.cpp, src/kern.c, src/object.c, src/object.h, src/place.c, src/place.h, src/player.cpp, src/terrain.c, src/terrain.h, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/fields.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/ifc.scm: o Attempting to enter impassable but hazardous terrain now applies the hazard. For example, attempting to enter lava (impassable to most) will burn you. This reuses the existing terrain "effect" which is applied when a terrain is stepped on. I could have added another effect just for this feature, but for all the realistic terrains I can think of the effects of entering and failing to enter would be the same, so until an important counterexample surfaces I'll not pollute my data structures with more NULL pointers. o Attempting to enter a tile with a blocking but dangerous object will apply damage. For example, attempting to enter an energy field will shock you. This uses a new well-known signal called "bump", as in you bumped into something that didn't give way. The optional bump handler is in the script for an object. 2004-07-12 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/closure.c, src/kern.c, src/mmode.c, src/mmode.h, src/object.c, src/object.h, src/place.c, src/place.h, src/player.cpp, src/player.h, src/ptable.c, src/ptable.h, src/session.c, src/session.h, src/species.c, src/species.h, src/status.c, src/terrain.c, src/terrain.h, src/vehicle.cpp, src/vehicle.h, worlds/haxima-1.001/bim.scm, worlds/haxima-1.001/door.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/portcullis.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/terrains.scm, worlds/haxima-1.001/vehicles.scm: o Replaced pmasks with movement modes and passability classes. 2004-07-10 Gordon McNutt * src/Party.cpp, src/character.cpp, src/cmd.c, src/combat.c, src/ctrl.c, src/kern.c, src/object.c, src/pinfo.h, src/place.c, src/place.h, src/player.cpp, src/terrain.c, src/terrain.h: o Replaced pmask argument to place_is_passable with the object trying to pass. o Removed pmask argument to place_find_path (object seeking a path is already passed in). * src/closure.c, src/cmd.c, src/cmd.h, src/ctrl.c, src/event.h, src/kern.c, src/place.c, src/place.h, src/terrain.c, src/terrain.h: o Modified closure_exec to return integers as well as bools from scripts calls. o Removed all the old placeFoo() functions that used the global Place variable internally. Replaced them as necessary with place_foo(), which takes the place as an argument. * src/closure.c, src/combat.c, src/nazghul.c, src/place.c, src/terrain.c, src/terrain.h: o Removed the obsolete 'effects' bitmask from terrains o Corrected some places to use 'effect' instead of 'effects'; this fixes some of the party-member-walking-on-campfire bugs Sam pointed out. * worlds/haxima-1.001/game.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/terrains.scm: Changed some hard-coded numeric values for pmasks to symbols * worlds/haxima-1.001/game.scm, worlds/haxima-1.001/session.scm, worlds/haxima-1.001/sprite-sets.scm, worlds/haxima-1.001/images/dbailey/lost_dragon.png, worlds/haxima-1.001/images/dgervais/angband-32x32.png, worlds/haxima-1.001/images/gmcnutt/frame_pieces.png, worlds/haxima-1.001/images/gmcnutt/moons-16x16.png, worlds/haxima-1.001/images/jsteele/charset-8x16.png, worlds/haxima-1.001/images/jsteele/shapes-32x32.png, worlds/haxima-1.001/images/mixed/mine-32x32.png, worlds/haxima-1.001/images/sglasby/mechanisms.png, worlds/haxima-1.001/images/sglasby/rune_font_32x32.png, worlds/haxima-1.001/images/sglasby/rune_font_8x16.png: Populated sound and image directories 2004-07-09 Gordon McNutt * src/Arms.cpp, src/Arms.h, src/Container.cpp, src/Container.h, src/Field.cpp, src/Field.h, src/Attic/Item.cpp, src/Attic/Item.h, src/Attic/Loader.cpp, src/Attic/Loader.h, src/Makefile.am, src/Attic/Makefile.in, src/Attic/Mech.cpp, src/Attic/Mech.h, src/Missile.cpp, src/Missile.h, src/Party.cpp, src/Party.h, src/Attic/Portal.cpp, src/Attic/Portal.h, src/Reagent.cpp, src/Reagent.h, src/Attic/Spell.cpp, src/Attic/Spell.h, src/Attic/Trap.cpp, src/Attic/Trap.h, src/ascii.c, src/ascii.h, src/astar.c, src/character.cpp, src/character.h, src/clock.c, src/clock.h, src/closure.c, src/closure.h, src/cmd.c, src/cmd.h, src/cmdwin.c, src/combat.c, src/combat.h, src/common.c, src/common.h, src/conv.c, src/conv.h, src/ctrl.c, src/ctrl.h, src/cursor.cpp, src/cursor.h, src/debug.c, src/debug.h, src/dice.c, src/dice.h, src/effect.c, src/effect.h, src/event.c, src/event.h, src/foogod.c, src/foogod.h, src/Attic/game.c, src/gob.c, src/gob.h, src/hash.c, src/images.c, src/images.h, src/kern.c, src/kern.h, src/Attic/lexer.c, src/Attic/lexer.h, src/list.h, src/macros.h, src/magic.c, src/magic.h, src/map.c, src/map.h, src/Attic/moongate.c, src/Attic/moongate.h, src/nazghul.c, src/object.c, src/object.h, src/occ.c, src/occ.h, src/olist.c, src/opdefines.h, src/place.c, src/place.h, src/play.c, src/player.cpp, src/player.h, src/Attic/portal.h, src/sched.c, src/sched.h, src/scheme-private.h, src/scheme.c, src/scheme.h, src/screen.c, src/screen.h, src/session.c, src/session.h, src/sky.c, src/sky.h, src/species.c, src/species.h, src/sprite.c, src/sprite.h, src/status.c, src/status.h, src/terrain.c, src/terrain.h, src/terrain_map.c, src/terrain_map.h, src/Attic/util.c, src/Attic/util.h, src/vehicle.cpp, src/vehicle.h, src/vmask.c, src/vmask.h, src/wind.c, src/wq.c, src/wq.h: Merged from branch gmcnutt_scheme * worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/bakup.scm, worlds/haxima-1.001/bim.scm, worlds/haxima-1.001/Attic/class-bak.scm, worlds/haxima-1.001/class.scm, worlds/haxima-1.001/conv.scm, worlds/haxima-1.001/door.scm, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/fields.scm, worlds/haxima-1.001/food.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/gen.scm, worlds/haxima-1.001/generic-mech.scm, worlds/haxima-1.001/ifc.scm, worlds/haxima-1.001/init.scm, worlds/haxima-1.001/items.scm, worlds/haxima-1.001/kobj.scm, worlds/haxima-1.001/lever.scm, worlds/haxima-1.001/loc.scm, worlds/haxima-1.001/monster-generator.scm, worlds/haxima-1.001/moon.scm, worlds/haxima-1.001/moongate.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/objs.scm, worlds/haxima-1.001/occs.scm, worlds/haxima-1.001/palette.scm, worlds/haxima-1.001/parties.scm, worlds/haxima-1.001/Attic/player.scm, worlds/haxima-1.001/portals.scm, worlds/haxima-1.001/portcullis.scm, worlds/haxima-1.001/reagents.scm, worlds/haxima-1.001/sched.scm, worlds/haxima-1.001/search.scm, worlds/haxima-1.001/session.scm, worlds/haxima-1.001/shroom.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/spells.scm, worlds/haxima-1.001/sprite-sets.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/tblit.scm, worlds/haxima-1.001/terrains.scm, worlds/haxima-1.001/Attic/test.scm, worlds/haxima-1.001/vehicles.scm, worlds/haxima-1.001/yellow-slime.scm: Added all the new scripts * worlds/haxima-1.001/sounds/cannon.wav, worlds/haxima-1.001/sounds/damage.wav, worlds/haxima-1.001/sounds/enter_moongate.wav, worlds/haxima-1.001/sounds/horse.wav, worlds/haxima-1.001/sounds/rowing.wav, worlds/haxima-1.001/sounds/walk.wav: Populated sounds subdir 2004-07-08 Gordon McNutt * src/cmd.c, src/cmd.h, src/conv.c, src/ctrl.c, src/event.h, src/kern.c, src/status.h: o Implemented kern-ui-handle-events but changed my mind about using it so it remains untested (and unavailable to the script). o Added kern-obj-remove-from-inventory & kern-obj-add-to-inventory. o Added kern-ui-page-text for displaying scrolls and books in the status window. o Modified cmdUse to NOT automatically remove items from inventory after they are used. Instead items now remove themselves if they are consumable. 2004-07-07 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/character.cpp, src/cmd.c, src/conv.c, src/kern.c, src/nazghul.c, src/play.c, src/session.c: o Tried to eliminate conv.[ch], but we still use a few things in there. Cleaned it up quite a bit, though, deleting 700 lines of code. * src/Makefile.am, src/Attic/Makefile.in, src/conv.c, src/kern.c, src/Attic/lexer.c, src/Attic/lexer.h, src/nazghul.c, src/session.c, src/terrain.c: o Eliminated lexer.[ch] * src/Makefile.am, src/Attic/Makefile.in, src/Party.cpp, src/cmd.c, src/hash.c, src/images.c, src/kern.c, src/nazghul.c, src/object.c, src/olist.c, src/place.c, src/play.c, src/session.c, src/terrain.c, src/terrain_map.c, src/Attic/util.c, src/Attic/util.h, src/wq.c: o Modified the interpreter to fix the script->kernel->script recursion issue. Limited testing so far, but no problems noted yet. * src/conv.c, src/kern.c: o Modified kern_conv_say to take a list of messages. This way we can break up long strings in the script if we want to for easier-to-read formatting. o Modified the kernel to always truncate player queries to the first four characters. Conversation scripts should expect this, and only use keywords of one to four characters. Because keywords are signal names they must match exactly between kernel and script. The user can type extra, of course, but only the first four characters will be used to make the signal name. 2004-07-06 Gordon McNutt * src/kern.c, src/opdefines.h, src/scheme.c, src/scheme.h: o Modified the interpreter to fix the script->kernel->script recursion issue. Limited testing so far, but no problems noted yet. 2004-07-05 Gordon McNutt * src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/ctrl.c, src/ctrl.h, src/kern.c: o Added kern-char-get-mana o Added kern-char-dec-mana o Added kern-obj-dec-ap o Added kern-obj-wander o Added kern-char-attack o Added kern-get-distance o Added kern-in-los? o Modified characters to have an optional "ai" closure, which runs when they are idle in automatic mode. The kern api calls which make characters (including kern-mk-char, kern-mk-stock-char and kern-mk-party-type) all take an additional parameter for the ai. 2004-07-04 Gordon McNutt * src/character.cpp, src/character.h, src/cmd.c, src/cmd.h, src/ctrl.c, src/kern.c, src/object.c, src/object.h, src/scheme.c, src/species.c, src/species.h, src/status.c: o Bugfix: needed to set the protection counter on sc->NIL, T and F to zero. These special scheme cells are not obtained in the usual way, so they're pref got out of synch and caused an assert when the invisibility spell expired. o Removed the startup closures from the kernel species struct and all related code. These weren't working out with summoned creatures due to the SKS recursion issue. Instead the equivalent thing is now done in the script. 2004-07-03 Gordon McNutt * src/Party.cpp, src/Party.h, src/character.cpp, src/effect.c, src/effect.h, src/gob.c, src/gob.h, src/kern.c, src/object.c, src/object.h: o Bugfix: step on the sleep field then camp => crash in scheme. The problem is using a NULL gob wrapper for NIL gobs (a recent change): if scheme needs to run a garbage collection cycle with that NULL passed in as an arg it crashes. The fix was to always use a non-NULL wrapper, even for NIL gobs. Along with this I added ref-counting for gobs used in effects. The old randomly-expiring protection spell showed that this is necessary for effects applied to the entire party. o Bugfix: same steps to reproduce, once the above if fixed there was an assert in Character::exec() because a resting character was not asleep as expected (because the sleep effect wore off and woke him up). Fixed this by changing Character::awaken() to not wake up resting characters. * src/clock.c, src/clock.h, src/cmd.c, src/kern.c, src/sky.c, src/sky.h: o Put astronomy info back into the AT command. o Added names for moon phases, now reported by AT. * src/effect.c, src/effect.h, src/kern.c, src/object.c, src/status.c: o Added an optional "on-removal" procedure to effects so they can clean up after themselves when they expire. o Added a guard flag to prevent recursive status repaints * src/kern.c, src/map.c, src/nazghul.c, src/sky.c, src/vmask.c, src/vmask.h: o Bugfix: option-parsing wasn't working with options passed-in. Not sure why, though this used to work. Added another option_index separate from optind as indicated by the example in the man page. o Bugfix: strange LOS artifacts. This happened because the lightmap was operating directly on the cached vmask, which should only be altered by vmask_los(). The fix was to use a temporary lightmap buffer instead. * src/kern.c, src/object.c: Bugfix: crash when "In Sanct" wears off the second party member. Problem was double-deallocation of a kernel gob wrapper. Fixed this for this case by getting rid of nil gobs. If it's common for a gob to be shared by an effect applied to multiple party members then we'll need to add ref-counting to the kernel gob wrapper. 2004-07-02 Gordon McNutt * src/clock.h, src/effect.h, src/kern.c, src/object.c, src/object.h: o Added a duration field to effects. duration <= 0 means "forever" o Added an expiration alarm to the effect entry struct. When a new entry is created, if the effect has a finite duration this alarm is set. When the alarm expires the effect is automatically removed. * src/sprite.c: o Bugfix: unmanned ship turns itself when hostile ship near. The cause of this was an improper value for the "facing" when the vehicle was created. The script was using 0, but it should have used a valid direction code like "north". As a result, wheneve the ship with the bad facing tried to set the srprite facing it silently failed, and thereby inherited the last valid facing, which was set by the NPC ship underway. Added a debug warning in case this ever happens again. 2004-06-30 Gordon McNutt * src/character.cpp, src/combat.c, src/place.c, src/place.h, src/player.h: o Finally fixed all the gate spell scenarios I can test with current scripts. 2004-06-29 Gordon McNutt * src/combat.c, src/combat.h, src/player.cpp: o Backing out recent changes. Need to try something else. 2004-06-28 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/Attic/Spell.cpp, src/Attic/Spell.h, src/character.cpp, src/combat.c, src/ctrl.c, src/kern.c, src/nazghul.c, src/play.c, src/session.c, src/status.c: o Removed Spell.h & Spell.cpp * src/combat.c, src/combat.h, src/player.cpp: o Removed combatAddParty o Bugfix: wilderness combat cleans up properly now the player exits via a gate spell (the shipboard case still handled improperly, though) 2004-06-27 Gordon McNutt * src/Party.cpp, src/Attic/Spell.cpp, src/character.cpp, src/character.h, src/dice.c, src/kern.c: o Bugfix: dice_valid should have checked for a null format pointer o Bugfix: character destructor needed to remove char from party o Bugfix: Party::createMembers() needed to use addMember() to inc ref count o Added kern-char-kill o Added kern-char-resurrect o Added kern-obj-clone * src/kern.c, src/object.c, src/place.c, src/sky.c, src/sky.h: o Bugfix: putOnMap was not using the "no-step-signal" flag when calling relocate(), causing some mild moongate recursion. * src/kern.c, src/map.c: o Added kern-map-set-peering o Added kern-ui-waitkey * src/kern.c: o Added kern-place-get-width o Added kern-place-get-height * src/place.c, src/player.cpp, src/player.h: o Bugfixes for time stop. 2004-06-26 Gordon McNutt * src/character.cpp, src/common.c, src/kern.c: o Added kern-char-is-asleep? o Added kern-map-set-jitter (for tremor/earthquake effects) * src/kern.c: o Added kern-char-set-alignment 2004-06-25 Gordon McNutt * src/Party.cpp, src/Party.h, src/character.cpp, src/cmd.c, src/gob.c, src/gob.h, src/kern.c, src/object.c, src/object.h, src/scheme-private.h, src/scheme.c: o Added kern-add-xray-vision o Added a "reveal all" status character to the foogod window o Bugfix: foogod wasn't updating status for "quicken" & friends in a timely manner. o Added gobs to effects 2004-06-23 Gordon McNutt * src/cmd.c, src/foogod.c, src/kern.c, src/map.c, src/play.c, src/session.c, src/session.h: o Added kern-add-xray-vision o Added a "reveal all" status character to the foogod window o Bugfix: foogod wasn't updating status for "quicken" & friends in a timely manner. * src/dice.c, src/kern.c: o Added kern-char-is-hostile o Bugfix: dice_parse missing a 'break' statement in a switch, caused an assert on some valid dice expressions like "2d20+20" 2004-06-22 Gordon McNutt * src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/closure.c, src/kern.c, src/object.c, src/object.h: o Added kern-char-get-party o Added kern-char-add-defense to change the defense bonus by an integral amount * src/Attic/Spell.cpp, src/common.c, src/common.h, src/foogod.c, src/kern.c, src/magic.h, src/object.c, src/play.c, src/player.cpp, src/session.c, src/session.h: o Moved the old global Reveal, Quicken, TimeStop and MagicNegated flags into the session structure so they can be more conveniently saved/loaded o Added kern-add-reveal, kern-add-quicken, kern-add-time-stop and kern-add-magic-negated 2004-06-21 Gordon McNutt * src/kern.c, src/place.c: o Modified kern-mk-place to expect a list of neighboring places. Currently only above and below places are supported. o Added kern-place-get-neighbor to lookup the neighboring place in a given direction 2004-06-20 Gordon McNutt * src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/kern.c, src/object.c, src/object.h, src/species.c, src/species.h: o Modified kern-mk-arms-type to use the same gifc solution as kern-mk-obj-type. It now expects a gifc cap as well as the gifc. o Modified kern-fire-missile to check the missile for an 'exec' handler and to run it on the target when it scores a hit o Bugfix: status not being reflected immediately when an effect takes hold; was waiting for next animation cycle. o species now have a list of startup procedures o Modified Character::start() to run all the species startup closures on the character * src/foogod.c, src/kern.c, src/wind.c: o Added kern-set-wind to set the wind direction and minimal duration o Added kern-ui-direction to prompt the player for a direction o Bugfix: ship's hull hp not being painted in the correct place 2004-06-19 Gordon McNutt * src/Party.cpp, src/character.cpp, src/kern.c: o Added kern-mk-stock-char o Added kern-place-is-passable o Bugfix: if a character had a null tag in the script, it's kernel object tag was not initialized, sometimes causing a crash on the subsequent save. o Bugfix: if a character did not have an occupation the game would crash while saving the character. o Bugfix: npc parties were being saved with random alignment, causing them to appear non-hostile on reload. o Bugfix: the speed for ship types was not being loaded properly. This caused the infinite loop when the npc ship attacks the player with cannons. * src/character.cpp, src/kern.c, src/object.c, src/object.h, src/place.c, src/place.h: o Added kern-obj-set-temporary o Added Object::setTemporary() and Object::isTemporary() o Added place_exit() which destroys all temporary objects in the place o Modified Character::groupExitTo() to call place_exit() as the party leaves a place 2004-06-18 Gordon McNutt * src/kern.c: o Added kern-place-get-objects to return a list of all objects in a place. o Added kern-char-set-fleeing to make a character flee from combat. o Added kern-char-get-species to return the species of a character. 2004-06-15 Gordon McNutt * src/Party.cpp, src/Attic/Spell.cpp, src/character.cpp, src/character.h, src/effect.c, src/effect.h, src/kern.c, src/object.c, src/object.h, src/place.c, src/place.h, src/play.c, src/player.cpp, src/session.c, src/session.h: o Added a "start" method for places, Objects and effects. The specific purpose was so that the luminance effect imparted by "In Lor" would properly initialize the effected object's luminosity at start-of-session. I expect the support added will come in handy for other things as well later on. * src/kern.c, src/place.c, src/place.h: o Added kern-obj-is-char? to test if an object is a character o Added kern-get-objects-at to return a list of objects at a location o Added kern-obj-heal to heal hit points o These new calls allowed me to implement a "Mani" spell which targets party members from a list in the wilderness and characters on a tile in town 2004-06-08 Gordon McNutt * src/Arms.cpp, src/Missile.cpp, src/Missile.h, src/kern.c, src/object.c: o Added kern-ui-target and kern-fire-missile to support the Grav Por (magic missile) spell. * src/effect.h, src/kern.c, src/object.c: o Added a cumulative flag to the effects structure. Only cumulative effects may be attached more than once to an object. 2004-06-07 Gordon McNutt * src/Field.cpp, src/Field.h, src/magic.c, src/object.c: o A duration of < 0 on the field type makes it permanent o Bugfix in spell tree o An Zu now works 2004-06-06 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/closure.c, src/effect.c, src/effect.h, src/kern.c, src/macros.h, src/object.c, src/object.h, src/scheme-private.h, src/scheme.c, src/session.c: o Changed effects, fixed some nasty bugs and some minor ones. * src/effect.c: file effect.c was initially added on branch gmcnutt_scheme. * src/effect.h: file effect.h was initially added on branch gmcnutt_scheme. 2004-06-03 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/Attic/Spell.cpp, src/Attic/Spell.h, src/cmd.c, src/kern.c, src/magic.c, src/magic.h, src/object.c, src/session.c, src/session.h: o Added kern-set-magic-words o Added kern-add-spell o Added files magic.[ch]. These will replace Spell.[hcpp] which is being phased out. o Moved spell words and spell tree out of Spell.h/Spell.cpp into the new magic.h/magic.c o At this point I can mix an "An Nox" but I can't cast it yet. * src/Party.cpp, src/Party.h, src/Attic/Spell.cpp, src/character.cpp, src/character.h, src/cmd.c, src/conv.c, src/kern.c, src/object.c, src/object.h, src/player.cpp, src/player.h: o Removed all traces of the old poison effect from the kernel. * src/Attic/Spell.cpp, src/character.cpp, src/cmd.c, src/common.h, src/ctrl.c, src/kern.c, src/magic.c, src/magic.h, src/object.c, src/object.h, src/player.cpp, src/species.c, src/species.h: o Added more fields to the spell structure so that I can reuse more of the existing kernel code related to spellcasting. o The "an nox" test spell now works. * src/magic.c: file magic.c was initially added on branch gmcnutt_scheme. * src/magic.h: file magic.h was initially added on branch gmcnutt_scheme. 2004-06-02 Gordon McNutt * src/Party.cpp, src/Attic/Spell.cpp, src/cmd.c, src/combat.c, src/ctrl.c, src/player.cpp, src/player.h: o Fixed the crash when sinking an NPC ship. o Fixed wilderness combat to always exit back to the player party's location (found a case where it exited to the NPC party location, which I don't want to allow). 2004-05-31 Gordon McNutt * src/Field.cpp, src/kern.c, src/place.c, src/player.cpp, src/vehicle.cpp, src/vehicle.h: o Added vehicles (wilderness only). Tested with a ship. Cannons not working yet. * src/Party.cpp, src/Party.h, src/kern.c, src/session.c: o Fixed the bug that crashed when firing a cannon. o Added support for NPC's in ships (it crashes when you sink them with you cannon's, though) 2004-05-30 Gordon McNutt * src/character.cpp, src/character.h, src/closure.c, src/cursor.cpp, src/cursor.h, src/kern.c, src/object.c, src/object.h, src/place.c, src/place.h, src/player.h, src/wq.c: o Moongates now show their closing/operning animations when the player steps through. * src/character.cpp, src/kern.c, src/map.c, src/map.h, src/sky.c, src/sky.h: o Tweaked the map viewer to recenter on character's off-screen in round-robin mode. Could still use a few more enhancements, but somewhat better now. * src/ctrl.c, src/event.c, src/kern.c, src/play.c, src/session.c, src/terrain_map.c, src/terrain_map.h, src/wq.c: o Fixed a very worrisome bug related to memory corruption. 2004-05-29 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/Party.cpp, src/Party.h, src/clock.c, src/cmd.c, src/kern.c, src/nazghul.c, src/place.c, src/play.c, src/player.cpp, src/session.c, src/sky.c, src/sky.h: o Astronomy partly working. Got a sun up. Not saving yet. * src/kern.c, src/sky.c, src/sky.h: o Added a distance to astral bodies to make the rendering order always correct. So now the moons always pass before the sun, etc. * src/kern.c, src/map.c, src/nazghul.c, src/play.c, src/player.cpp, src/session.c, src/session.h, src/sky.c, src/sky.h: o Sky now associated with the session so it can save/load. 2004-05-28 Gordon McNutt * src/play.c, src/sky.c, src/sky.h: More preliminary changes to astronomy. * src/sky.c: o Started in on the astronomy system. Half-torn apart right now but I need to switch machines so I'm checking in. 2004-05-27 Gordon McNutt * src/cmd.c, src/kern.c, src/wq.c, src/wq.h: o Added most of the support needed for rudimentary moongates. * src/gob.c: file gob.c was initially added on branch gmcnutt_scheme. * src/gob.c, src/gob.h: Added missing files. * src/gob.h: file gob.h was initially added on branch gmcnutt_scheme. * src/place.c: o Bugfix: infrequent crash caused by not locking a tile in place_for_each_tile(). 2004-05-26 Gordon McNutt * src/Party.cpp, src/Party.h, src/Attic/Portal.cpp, src/Attic/Portal.h, src/Attic/Spell.cpp, src/character.cpp, src/character.h, src/ctrl.c, src/cursor.cpp, src/cursor.h, src/kern.c, src/object.c, src/object.h, src/place.c, src/player.cpp, src/player.h: o Implemented portals as mechs. Tested on a ladder and a trap door. 2004-05-25 Gordon McNutt * src/Container.cpp, src/character.cpp, src/object.h, src/place.c, src/place.h, src/session.c, src/session.h, src/terrain_map.c, src/terrain_map.h: o Bugfix: saving twice without an intervening reload was hitting an assert. 2004-05-24 Gordon McNutt * src/character.cpp, src/character.h, src/cmd.c, src/cmd.h, src/conv.c, src/conv.h, src/ctrl.c, src/kern.c, src/object.c, src/object.h, src/player.cpp, src/session.c, src/status.h: o Fixed a few things to support character gobs. 2004-05-23 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/Attic/Mech.cpp, src/Attic/Mech.h, src/Party.cpp, src/Attic/Spell.cpp, src/character.cpp, src/clock.c, src/cmd.c, src/combat.c, src/conv.c, src/conv.h, src/ctrl.c, src/kern.c, src/object.c, src/object.h, src/place.c, src/play.c, src/player.cpp, src/session.c, src/sky.c: o Removed the Mech C++ class. No longer needed now that mechs are completely implemented in the script. * src/Party.cpp, src/character.cpp, src/character.h, src/cmd.c, src/common.h, src/ctrl.c, src/kern.c, src/occ.c, src/occ.h, src/sched.c, src/sched.h, src/session.c: o Added character schedules. * src/character.cpp, src/character.h, src/kern.c, src/object.c, src/object.h, src/place.c: o Added support for terrain-blitting mechs. 2004-05-22 Gordon McNutt * src/cmd.c, src/kern.c, src/object.c, src/object.h, src/scheme.c, src/session.c, src/session.h: o Added support for connecting mechs. Tested with basic lever-and-portculis. Saving them works, too. * src/kern.c, src/session.c, src/session.h: o Eliminated kern-connect (no longer necessary with saved tags) * src/scheme.c: o Symbols now saved; might make "kern-connect" obsolete. 2004-05-21 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/closure.c, src/cmd.c, src/kern.c, src/object.c, src/object.h, src/scheme.c, src/scheme.h: o Added gob.c and gob.h to encapsulate gobs. Gobs now stored in a struct with their corresponding scheme pointer. Automatically protected/unprotected on creation/deletion, and they appear to correctly save themselves and reinitialize their kernel objects on load. * src/debug.c, src/kern.c, src/object.c, src/object.h, src/session.c: o Cleaned up kobj initialization by adding a procedure to bind kobjs to gobs. 2004-05-20 Gordon McNutt * src/character.cpp, src/cmd.c, src/ctrl.c, src/kern.c, src/map.c, src/object.c, src/object.h, src/place.c, src/scheme-private.h, src/scheme.c, src/scheme.h: o Got enough support in to make a door mech work. Saving them doesn't work yet. 2004-05-19 Gordon McNutt * src/closure.c, src/closure.h, src/cmd.c, src/kern.c, src/object.c, src/object.h, src/scheme.c, src/scheme.h: o Implemented support for ghulscript-interfaces (gifcs), which are bound to kernel ObjectTypes. This has been tested with the existing types, excluding ArmsTypes. o Added support for ghulscript-objects (gobs), which are bounded to kernel Objects. Not tested yet. 2004-05-17 Gordon McNutt * src/closure.c, src/kern.c, src/object.c, src/object.h: o Added a monster-generator but now what I've been waiting for has come to pass: the interpreter appears to be gc'ing a pointer referenced by the kernel. Not immediately obvious why. Probably have to dig into the gc code. * src/closure.c, src/closure.h, src/kern.c: o Closures can now be either symbolic or raw procedures. Object type handlers are now of the latter type since they never need to be saved. * src/kern.c, src/object.c, src/object.h: o Added an exec-handler to the ObjectType class. 2004-05-16 Gordon McNutt * src/Container.cpp, src/Container.h, src/character.cpp, src/character.h, src/cmd.c, src/conv.c, src/kern.c, src/object.c, src/object.h, src/occ.h, src/player.cpp, src/player.h, src/species.h: o Pulled some of the Container methods (add, takeOut) and one of the Character methods (addFood) up to the Object base class. Now, kern-obj-put-into and kern-obj-add-food are safe on any object type. * src/Container.cpp, src/Container.h, src/character.cpp, src/character.h, src/cmd.c, src/conv.c, src/kern.c, src/object.c, src/object.h, src/player.cpp, src/player.h, src/status.c: o Pulled use_handler up from ItemType to base ObjectType (next step will be to get rid of ItemType) o Changed the player_party inventory from a bare linked list to a Container. For some reason this was necessary to the previous step, but I've lost track of why by now. o Changed status viewer code appropriately. o Enhanced Container class with new methods to make it "browsable" by the status viewer. * src/Attic/Item.cpp, src/Attic/Item.h, src/Makefile.am, src/Attic/Makefile.in, src/character.cpp, src/cmd.c, src/conv.c, src/kern.c, src/play.c, src/player.cpp, src/player.h, src/session.c, src/status.c: o Got rid of the ItemType subclass. o Bugfix: had to make the player_party's Container inventory be a pointer to allow saving/loading using existing Container save/load code. 2004-05-15 Gordon McNutt * src/Container.cpp, src/Attic/Loader.cpp, src/Attic/Loader.h, src/Attic/Makefile.in, src/Party.cpp, src/Reagent.cpp, src/character.cpp, src/character.h, src/conv.c, src/images.c, src/kern.c, src/object.c, src/sched.c, src/screen.c, src/session.c, src/sprite.c: o Removed obsolete Loader class * src/Container.cpp, src/Container.h, src/character.cpp, src/closure.c, src/closure.h, src/cmd.c, src/kern.c, src/occ.c: o Container traps now script procedures. o Containers save themselves (including traps and contents) o Added kern-mk-container * src/Makefile.am, src/Attic/Makefile.in, src/Attic/Trap.cpp, src/Attic/Trap.h, src/character.cpp, src/cmd.c, src/combat.c, src/kern.c, src/play.c, src/session.c: o Removed obsolete Trap class * src/character.cpp, src/character.h, src/cmd.c, src/kern.c, src/object.c, src/object.h, src/player.cpp, src/player.h: o Added a get-handler for all object types. o Implemented food via the get-handler. * src/occ.h: o Changed container traps to be script procedures. o Containers now saved (including traps and contents) o Added kern-mk-container to load saved containers 2004-05-14 Gordon McNutt * src/Field.cpp, src/Missile.cpp, src/kern.c, src/object.c, src/occ.c, src/terrain.h: o Bugfix: fields left by missiles (like flaming oil) did not have their initial duration setup right o Added/debugged container types in occupations * src/kern.c: o Bugfix: sleep sprites not properly setup in the species o Added new parm to kern-mk-terrain: the effect procedure (nil for none). This replaces the original, ambiguous kern-attach-script as a way to create effects for terrains. o Eliminated obsolete kern-attach-script 2004-05-13 Gordon McNutt * src/Party.cpp, src/Party.h, src/character.cpp, src/combat.c, src/kern.c, src/object.c: o Changed kern-mk-party to kern-mk-party-type o Added kern-mk-party o A coupld of bugfixes related to NPC parties * src/character.cpp, src/character.h, src/kern.c: o Bugfix: when saving in combat character alignments were not getting saved, so on reload the npc's would attack each other * src/combat.c, src/kern.c: o Added checks when positioning characters in combat to see if the terrain is hazardous or if the tile contains a field. 2004-05-12 Gordon McNutt * src/Party.cpp, src/Party.h, src/kern.c: Added kern-mk-party for prefab npc party types. * src/kern.c, src/object.c, src/object.h: Bugfix: objects were not saving their count. Cleanup: removed obsolete kern-mk-wilderness-combat 2004-05-10 Gordon McNutt * src/Arms.cpp, src/Arms.h, src/Makefile.am, src/Attic/Makefile.in, src/character.cpp, src/combat.c, src/common.c, src/common.h, src/ctrl.c, src/dice.c, src/dice.h, src/kern.c: Added support for dice-roll notation in the script. Updated existing armament type declarations to use it. * src/dice.c: file dice.c was initially added on branch gmcnutt_scheme. * src/dice.h: file dice.h was initially added on branch gmcnutt_scheme. 2004-05-09 Gordon McNutt * src/Arms.cpp: Bugfix: thrown weapon types not initialized properly, caused a crash when used. * src/Arms.cpp, src/Attic/Mech.cpp, src/Attic/Mech.h, src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/cmd.c, src/kern.c, src/object.c, src/object.h, src/place.c, src/player.cpp, src/player.h: Added a count parameter to kern-mk-obj. This allows you to make a batch of objects with one call. The count is stored in the object itself, so it only creates one object in memory, but that object represents a "pile" of objects of the same type. (Note: this does not affect how objects are stored in inventory, that will require more significant changes later). * src/kern.c: Bugfix: natural weapons weren't being setup properly in the species structure. 2004-05-02 Gordon McNutt * src/character.cpp, src/kern.c, src/object.c, src/object.h, src/status.c: Poison now shows up in character stats. Changed the way stats are reported. * src/kern.c, src/list.h: Damage effects now print console messages if the damaged object is player-controlled. Fixed a bug in changing party order. 2004-05-01 Gordon McNutt * src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/kern.c, src/object.c, src/object.h, src/place.c, src/species.c, src/species.h: Added simple immunity to damage types. Currently only the species can specify any type of immunity. Added kern-obj-get-immunities so the script can check for immunities. 2004-04-28 Gordon McNutt * src/Field.cpp, src/Field.h, src/kern.c, src/object.c: o Changed kern-mk-obj to use the type as a factory, so not it will work for any object with a type. o Added a duration parameter to kern-mk-field. * src/Attic/Item.cpp, src/Attic/Item.h, src/closure.c, src/closure.h, src/kern.c, src/object.c, src/object.h, src/terrain.c: o Added kern-ui-select-party-member. Scripts can now prompt the player to select a party member. o Added kern-obj-remove-hook to remove effects like poison. o Added kern-mk-usable-item-type to create objects that can be (u)sed. o With these new commands I created and tested a cure-poison potion. 2004-04-26 Gordon McNutt * src/Field.cpp, src/Field.h: Field class needed to override the save() method to generate kern-mk-field instead of kern-mk-obj. * src/Field.cpp, src/Attic/Mech.cpp, src/Party.cpp, src/kern.c, src/object.c, src/object.h, src/player.cpp: Started adding a poison field. Currently it poisons the party. This is the initial checkin: it does not poison member, there is no way to cure the poison, and the poisoned state is not saved. Added kern-obj-add-hook, which can be used to attach a closure to an object when a specific hook fires. Currently the only hook is start-of-turn, which runs at the start of the object's turn right after its assigned its action points. The hook closure takes the object as its only parameter. * src/Field.cpp, src/Field.h, src/kern.c: Added kern-mk-field for instantiating Field objects. * src/Field.cpp, src/Field.h, src/Attic/Spell.cpp, src/closure.c, src/kern.c, src/object.c, src/session.c, src/terrain.c: Added saving/loading of field types. The new FieldType constructor takes a closure as an argument and uses this to apply the effects of objects which are placed on the field. This replaces the old effect-mask technique as it applied to fields. Field objects currently have a bug in that they do not expire. I'll attempt to fix this with my next checking. * src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/object.c, src/object.h, src/player.cpp, src/player.h: Poison applied to the party is now applied to its members instead. Removed obsolete applyExistingEffects() methods. This has been replaced by the start-of-turn hook. * src/character.cpp, src/closure.c, src/closure.h, src/kern.c, src/object.c, src/object.h, src/place.c, src/scheme.c: Added ability to save hooks attached to objects. * src/character.h: Removed some commented-out code. * src/combat.c: Removed some dead code. * src/kern.c: file kern.c was initially added on branch gmcnutt_scheme. * src/kern.c: New file. * src/kern.h: file kern.h was initially added on branch gmcnutt_scheme. * src/kern.h: New files. 2004-04-24 Gordon McNutt * src/Makefile.am: Pulled the kernel API out of session.c to the new kern.c. * src/Attic/Makefile.in: Added kern.c. * src/object.c: Bugfix: Object constructor needed to set it's container link key to its object type layer. It was defaulting to the null layer. * src/player.cpp: Bugfix: items in player inventory that were also readied by party members were being saved twice. * src/session.c: Pulled kernel API out of session.c to the new kern.c. * src/session.c: Removed dead code. * src/session.h: Pulled kernel API implementation out of session.c over to kern.c. 2004-03-25 Gordon McNutt * src/Party.cpp, src/object.c, src/object.h, src/place.c, src/player.cpp, src/session.c: o All containers now recursively remove and destroy their contents on session teardown. o Added ref-counting to avoid double-deletion of party members during session teardown. * src/character.cpp, src/cmd.c, src/cmd.h, src/ctrl.c, src/place.c, src/play.c, src/player.cpp, src/session.c, src/session.h: o Added CTRL-Q)uicksave and CTRL-R)eload. Quicksave saves the current session but does not quit the game. Reload reloads the session from the save file while the game is still running. 2004-03-22 Gordon McNutt * src/Container.cpp, src/Container.h, src/Attic/Mech.cpp, src/Attic/Mech.h, src/Party.cpp, src/Party.h, src/Attic/Portal.cpp, src/Reagent.cpp, src/Reagent.h, src/Attic/Spell.cpp, src/Attic/Spell.h, src/character.cpp, src/character.h, src/object.c, src/object.h, src/place.c, src/player.cpp, src/player.h, src/session.c, src/vehicle.cpp, src/vehicle.h: o The player is now loaded like any other object. When starting from the wilderness, the player party is loaded as an object in the wilderness. When starting in non-wilderness, the party members are loaded as objects; then, after loading but before starting the session, the starting place is determined by checking the location of the party members. * src/combat.c, src/place.c, src/place.h: o When saving in combat the combat place is saved recursively in the wilderness place. This gets rid of the special-case hacks necessary to make saving in combat work. 2004-03-21 Gordon McNutt * src/Attic/Mech.cpp, src/Attic/Mech.h, src/session.c: o All of the kern_mk functions now return a pointer to the defined scheme object (or nil if an error occurred) o Consolidated some of the scm_define macros * src/Attic/Portal.cpp, src/cmd.c, src/combat.c, src/common.h, src/place.c, src/place.h, src/player.cpp, src/player.h, src/session.c, src/terrain_map.c: o Places can now contain subplaces, which are saved recursively within them. o Saving in combat temporarily broken in conjunction with the above. * src/combat.c, src/combat.h, src/place.c, src/place.h, src/session.c, src/session.h, src/terrain_map.c, src/terrain_map.h: o Added a 'struct save' which is passed to all the saving routines. It includes a callback table for writing out save code that is reasonably indented. * src/place.c, src/session.c, src/terrain_map.c, src/terrain_map.h: o Terrain maps associated with places are now saved recursively within them. Terrain maps not associated with places (combat and overlay maps) are still saved standalone. 2004-03-17 Gordon McNutt * src/object.c, src/object.h, src/session.c: o kern-mk-place now looks for an optional list of contents. Each entry in the list is an object followed by its x, y coordinates in the place. Content lists are not yet saved. That's next, and it will require fiddling with how I load/save the player party. o Added kern-mk-obj for creating simple objects. o Added kern-put-obj for locating objects that aren't created as part of a place. 2004-03-16 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/object.c, src/scheme.c, src/scheme.h, src/session.c, src/terrain.c, src/terrain.h: o Added burning effect to lava terrain. * src/closure.c: file closure.c was initially added on branch gmcnutt_scheme. * src/closure.c, src/closure.h, src/object.c: o Invoking scheme closures from C now uses varargs (like printf). * src/closure.c, src/closure.h: Two files that belonged in the last checkin * src/closure.h: file closure.h was initially added on branch gmcnutt_scheme. 2004-03-15 Gordon McNutt * src/combat.c, src/session.c: o Bugfix: save in combat, reload, save again without leaving combat => crash because Combat.place not set. Relying on Place->is_wilderness_combat now instead. * src/nazghul.c: o The command-line now expects the load file as a non-option argument (it used to be the --file option). 2004-03-14 Gordon McNutt * src/astar.c, src/character.cpp, src/combat.c, src/combat.h, src/list.h, src/place.c, src/place.h, src/player.cpp, src/session.c, src/session.h, src/terrain_map.c, src/terrain_map.h: Almost saving/loading from combat * src/combat.c, src/place.h, src/session.c, src/terrain_map.h: o Can save/load from the temporary wilderness combat place now. Surprisingly difficult, required some hacks which can hopefully be removed once places save/load their own contents. 2004-03-13 Gordon McNutt * src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/combat.c, src/object.c, src/object.h, src/player.cpp, src/player.h, src/session.c: o At last saving/loading from towns works. 2004-03-12 Gordon McNutt * src/character.cpp, src/object.c, src/place.c, src/play.c, src/player.cpp, src/session.c: o The player party constructor now relocates the party if the place is not null. o Bugfix: object relocate() always called updateView(), even if the object was removed from the map during relocation. o Bugfix: place destructor would assert if any objects were still sitting on any tiles. Added a call to remove all objects before proceeding to tile destruction. * src/foogod.c, src/foogod.h, src/map.c, src/Attic/moongate.c, src/nazghul.c, src/object.c, src/play.c, src/player.cpp, src/session.c, src/session.h, src/sky.c, src/sky.h, src/status.c, src/status.h: o Cleaned up the startup code a bit. Moved most of the game start code to nazghul.c and the session start code to session.c. o Hacked ambient light to be a fixed value until I can reorg the astronomy stuff. * src/session.c, src/sky.c: o More changes related to getting the game to save/reload in a town. 2004-03-11 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/Party.cpp, src/Attic/Portal.cpp, src/Attic/Portal.h, src/character.cpp, src/cmd.c, src/combat.c, src/ctrl.c, src/Attic/game.c, src/place.c, src/play.c, src/player.cpp, src/Attic/portal.h, src/session.c: o Changed 'portal.h' to Portal.h, added Portal.cpp and cleaned up the .h file. * src/Attic/Portal.cpp: file Portal.cpp was initially added on branch gmcnutt_scheme. * src/Attic/Portal.cpp, src/Attic/Portal.h, src/object.c, src/object.h, src/session.c: o More cleanup in Poral. o Added a new object constructor similar to the new one for object types. All the other constructors and the init() routines are now obsolescent and need to be phased out. o Noticed a new bug: saving in towns records the player party coordinates, not the party member coordinates. So reloading after saving in towns is not correct. * src/Attic/Portal.h: file Portal.h was initially added on branch gmcnutt_scheme. * src/cmd.c, src/terrain.c: o Bugfix: terrain_new not properly zeroing out its structure, caused obsolete 'effects' field to be uninitialized, so crossing a bridge might burn and poison the party! o Loading the wilderness map (sans all the towns) with the expanded palette. No other issues found. * src/cmd.c, src/images.c, src/images.h, src/session.c: o Save/restore of limited games now works. At long, long last. Much still to be done to get the full complement of features loading and saving, however. * src/place.c, src/place.h, src/Attic/portal.h, src/session.c: o Added 'kern-mk-town' procedure. This replaces the old "inference" technique where the loader would make a place a town by inferring this from certain fields. o You can now enter GreenTower from the Wild. Saving in GreenTower and reloading works fine. 2004-03-10 Gordon McNutt * src/ascii.c, src/ascii.h, src/cmd.c, src/cmdwin.c, src/combat.c, src/common.h, src/cursor.cpp, src/cursor.h, src/map.c, src/play.c, src/screen.c, src/screen.h, src/session.c, src/session.h: o Can now walk around. Sprites are mismatched, not sure what else is wrong yet. o Consolidated some globals into a new Session global. o Set NUM_MOONS to zero to turn off the moons until I can rewrite the MoonInfo cruft - I don't want to propogate that any more if I can help it. * src/character.cpp, src/clock.c, src/clock.h, src/cmd.c, src/combat.c, src/session.c, src/session.h, src/sky.c, src/sky.h: o The LOS screw-up was more errors in script translation. It's just fine now. o Fixed some stuff related to the global clock. Decided it's reasonable to require a clock in every game. o Fixed a bug where we crash if we have no Sun (don't see why a sun should be required). * src/sprite.c, src/sprite.h: o Sprites have been fixed, this was a script-upgrade error. o Sprite animation needed to be reworked. The loader no longer pushes sprites onto a list in the sprite lib, so I can't advance frames by incrementing each individual sprite's frame counter anymore. Instead I use a single static sprite_tick counter in the sprite lib and have all sprites % off of that. This is more efficient anyway, as now I no longer have to walk the sprite list touching every multi-frame sprite every animation tick, and I no longer have to keep a per-sprite frame or wavecrest. The counter is an unsigned int so rollover should happen naturally. o LOS is totally hosed, but other than that I've found no other problems so far. 2004-03-09 Gordon McNutt * src/character.cpp, src/character.h, src/session.c: o Loading and saving CHARs. * src/player.cpp, src/player.h, src/session.c: o Loading and saving the player party. Not actually walking around yet - that will be next. * src/session.c: o Discovered that with -O2 turned on the c++ compiler appears to incorrectly handle some cases of call-by-reference. That's it. No more c++. All new code is hereby forbidden to make use of ANY c++ features. It must be phased out. o Ripped out all the unpack_ functions (which were using the cursed call-by-reference) and replaced them with a scanf-like unpacker which uses explicit pointers as its args. Cleans up a lot of boilerplate, too. 2004-03-08 Gordon McNutt * src/Arms.cpp, src/Arms.h, src/Container.cpp, src/Field.cpp, src/Field.h, src/Reagent.cpp, src/Reagent.h, src/Attic/Trap.cpp, src/Attic/Trap.h, src/Attic/moongate.c, src/Attic/moongate.h, src/object.c, src/object.h, src/occ.c, src/occ.h, src/session.c, src/vehicle.cpp, src/vehicle.h: o Loading arms types * src/character.cpp, src/character.h, src/session.c, src/species.c, src/species.h: o Loading species * src/occ.c, src/occ.h, src/session.c: o Loading occupation types 2004-03-07 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/combat.c, src/Attic/load.c, src/Attic/load.h, src/map.h, src/place.c, src/play.c, src/session.c, src/session.h, src/terrain_map.c, src/terrain_map.h: o Moved loading code to session.c and got rid of load.[ch]. o Added loading of terrain maps. * src/Makefile.am, src/Makefile.am, src/Attic/Makefile.in, src/Attic/Makefile.in, src/astar.c, src/conv.c, src/debug.c, src/debug.h, src/Attic/game.c, src/images.c, src/images.h, src/Attic/load.c, src/Attic/load.h, src/macros.h, src/opdefines.h, src/play.c, src/play.c, src/scheme-private.h, src/scheme.c, src/scheme.h, src/session.c, src/session.h, src/sky.c: *** empty log message *** * src/Party.cpp, src/cmd.c, src/combat.c, src/place.c, src/place.h, src/play.c, src/player.cpp, src/session.c: o Loading and saving simple places (no objects in them yet). * src/combat.c, src/play.c, src/session.c, src/session.h, src/terrain_map.c, src/terrain_map.h: o Added a 'kern-include' proc. This is so the engine can save the session such that when the save-file is reloaded all the necessary "include" files are loaded with it. o Added saving of maps in the session file. * src/Attic/load.c: file load.c was initially added on branch gmcnutt_scheme. * src/Attic/load.c, src/play.c, src/terrain.c, src/terrain.h, src/terrain_map.c: Loading palettes * src/Attic/load.c, src/place.c, src/scheme.c, src/scheme.h, src/sprite.c, src/sprite.h, src/terrain.c, src/terrain.h, src/terrain_map.c, src/terrain_map.h: Terrain loading * src/Attic/load.c, src/session.c, src/session.h: Made the interpreter part of the session * src/Attic/load.h: file load.h was initially added on branch gmcnutt_scheme. * src/opdefines.h: file opdefines.h was initially added on branch gmcnutt_scheme. * src/scheme-private.h: file scheme-private.h was initially added on branch gmcnutt_scheme. * src/scheme.c: file scheme.c was initially added on branch gmcnutt_scheme. * src/scheme.h: file scheme.h was initially added on branch gmcnutt_scheme. * src/session.c: file session.c was initially added on branch gmcnutt_scheme. * src/session.c, src/session.h: o Include files now treated like regular session objects instead of a special case. Cleans things up a bit. * src/session.h: file session.h was initially added on branch gmcnutt_scheme. 2004-03-04 Gordon McNutt * src/Attic/loader.cpp, src/Attic/loader.h, src/species.c, src/species.h: o Loading SPECIES. 2004-03-03 Gordon McNutt * src/Attic/loader.cpp, src/Attic/loader.h, src/occ.c, src/occ.h: o Loading OCCs now. o Added a templates for binding lists of tags into arrays of pointers. o Added a template to bind a single tag to a pointer. 2004-03-02 Gordon McNutt * src/Reagent.cpp, src/Reagent.h, src/Attic/loader.cpp, src/Attic/loader.h: o Loading REAGENTS * src/Attic/Spell.cpp, src/Attic/Spell.h, src/Attic/loader.cpp, src/Attic/loader.h: o Loading SPELLS o Fixed a nasty bug related to double-deallocating a string in the parsed sprite destructor. * src/Attic/loader.cpp, src/Attic/loader.h: o Loading MAGIC WORDS. 2004-03-01 Gordon McNutt * examples/data/def_macros.ghul, examples/data/types.ghul, examples/data/player/party.ghul, examples/data/types/chest_traps.ghul, examples/data/types/furniture.ghul, examples/data/types/magical_fields.ghul, examples/data/types/npc_party_defs.ghul, examples/data/types/portal_types.ghul, examples/data/types/useable_items.ghul, examples/data/types/vehicles.ghul, examples/data/types/weapons.ghul, examples/data/world/characters/Gen.ghul, src/Arms.cpp, src/Arms.h, src/Container.cpp, src/Field.cpp, src/Field.h, src/Attic/Item.cpp, src/Attic/Item.h, src/Reagent.cpp, src/Attic/Trap.cpp, src/Attic/Trap.h, src/Attic/lexer.c, src/Attic/lexer.l, src/Attic/loader.cpp, src/Attic/loader.h, src/Attic/moongate.c, src/Attic/moongate.h, src/nazghul.c, src/object.c, src/object.h, src/occ.c, src/Attic/parser.y, src/Attic/parser_cb.h, src/terrain.c, src/vehicle.cpp, src/vehicle.h: o Loading objects types. o Split object types into OBJ_TYPE, TRAP_TYPE, FIELD_TYPE, ITEM_TYPE, MOONGATE_TYPE and ARMS_TYPE. o Added new constructor calls to object type classes as necessary. 2004-02-29 Gordon McNutt * src/Attic/loader.cpp: More formatting changes * src/Attic/loader.cpp: Formatting changes * src/Attic/loader.cpp, src/Attic/loader.cpp, src/terrain.c: *** empty log message *** 2004-02-28 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/Attic/loader.c, src/Attic/loader.cpp: Moved loader.c to loader.cpp * src/Attic/loader.cpp: file loader.cpp was initially added on branch gmcnutt_loader. * src/Attic/loader.cpp, src/Attic/loader.cpp, src/Attic/loader.cpp, src/Attic/loader.cpp, src/Attic/loader.cpp: *** empty log message *** 2004-02-24 Gordon McNutt * src/Attic/loader.c, src/Attic/loader.h, src/terrain.c, src/terrain.h, src/terrain_map.c: o Loading PALETTE constructs now. 2004-02-23 Gordon McNutt * examples/data/world.ghul, examples/data/types/terrains.ghul, src/Attic/lexer.c, src/Attic/lexer.l, src/Attic/loader.c, src/Attic/parser.y, src/Attic/parser_cb.h, src/terrain.c, src/terrain.h, src/terrain_map.h: o Converted all the loader errors to warnings so that the game continues on a load error. I forgot that errors would exit the program. o Eliminated the old 'combat_map' construct and replaced it with a field in the terrain construct for specifying a map. In the old system this was impossible because tags usually had to be resolved right away at parse time, so maps and terrains had a chicken-and-egg problem. With the new loader binding is done as a second pass so this is no longer an issue. Right now terrains with no defined combat map emit a warning at bind time. 2004-02-22 Gordon McNutt * examples/Makefile.am, examples/Makefile.in, examples/data/Makefile, examples/data/def_constants.ghul, examples/data/def_macros.ghul, examples/data/types.ghul, examples/data/world.ghul, examples/data/types/portal_types.ghul, examples/data/types/readable_items.ghul, src/Attic/lexer.c, src/Attic/lexer.l, src/Attic/loader.c, src/Attic/loader.h, src/Attic/parser.y, src/play.c: o Split the load file into two files: a game file (examples/game.ghul) and a session file (examples/mapfile). The game file contains read-only game data (or it will when all is said and done) and the session file contains all the data used to save the state of a game (again, eventually). Right now the two are fairly well split but lots of crossover still exists. This will be sorted out in checking to follow. o Added the new GAME keyword to the script. This keyword goes in the saved session file and specified the file from which to load the read-only game data. o The loader now returns a session data structure which contains all the per-session data and a pointer to the read-only game data. When a new session is loaded the loader will attempt to reuse the existing game data unless the session specifies it wants to use a different game file than the old session. A session MUST specify a game file via the new GAME keyword or the loader will abort. o When a session fails to load the loader will return the old session if it exists or NULL otherwise. * examples/data/types.ghul, examples/data/world.ghul, src/Attic/game.c, src/Attic/lexer.c, src/Attic/lexer.l, src/Attic/loader.c, src/Attic/loader.h, src/Attic/parser.y, src/Attic/parser_cb.h: o Congregated the CURSOR and CROSSHAIR constructs into a MISC construct which has them as fields. o Added file-name information to the parsing structures so that error messages can show the file as well as the line (game file vs session file). * src/ascii.c, src/ascii.h, src/Attic/loader.c, src/Attic/loader.h, src/play.c, src/screen.c, src/screen.h: o Trivial change to the way I set the frame sprites and ascii sprite to make things simpler to load. o Loading is now a separate step from actually changing the game state. The loader returns - on success - a completely parsed and loaded structure which the caller will then use to update the game state. This way we don't get partway through changing the game state before we encounter a bind error, for instance, which would cause the operation to fail. * src/cmd.c, src/Attic/loader.c, src/sprite.c, src/sprite.h, src/terrain.c, src/terrain.h: o Reverted terrain and sprite permanent structures to remember their tags. Although I don't need them for lookups with the new loader, I will need them for saving some objects to the session file (e.g., altered MAPS). * src/cmd.c, src/combat.c, src/conv.c, src/Attic/game.c, src/Attic/loader.c, src/Attic/loader.h, src/Attic/parser.y, src/Attic/parser_cb.h, src/place.c, src/place.h, src/terrain.c, src/terrain.h: o Parsing & loading terrains. * src/Attic/loader.c: o The loader now blows away its temporary data structures prior to exit. This addresses the inefficiency problem I noted in an earlier checkin. * src/Attic/parser_cb.h: file parser_cb.h was initially added on branch gmcnutt_loader. 2004-02-21 Gordon McNutt * src/Attic/Mech.cpp, src/astar.c, src/debug.h, src/Attic/game.c, src/images.c, src/images.h, src/Attic/loader.c, src/play.c, src/sprite.c, src/sprite.h: o Loading FRAME and ASCII constructs. o Removed tags from sprite and image structs. These tags are only required while loading and it is sufficient to store them in the temporary data structures used by the loader. o Currently the temporary loader structures will remain until a reload, at which point everything will be torn down. Although convenient, this is wasteful. I'll try to address this in my next checkin. * src/Attic/game.c, src/images.c, src/Attic/loader.c, src/screen.c, src/screen.h, src/sprite.c: Added loading and binding of frame elements * src/Attic/game.c, src/images.c, src/images.h, src/Attic/lexer.c, src/Attic/loader.c, src/Attic/loader.h, src/Attic/parser.y, src/sprite.c, src/sprite.h: Loading of sprites, binding implemented but untested * src/Attic/loader.c, src/sprite.c, src/sprite.h: Added an allocation pass and a binding pass to the loader 2004-02-19 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/debug.c, src/debug.h, src/Attic/game.c, src/Attic/lexer.c, src/Attic/loader.c, src/Attic/mmap.c, src/Attic/mmap.h, src/nazghul.c, src/Attic/util.c, src/Attic/util.h: o Moved the mmap utility wrappers from util.h/c to mmap.h/c. The problem with util.h is that it includes common.h, which is too much for some clients. I'm going to try a finer-grained approach with these little utility functions. o Converted the old (broken) debug macros to functions and put them in the new debug.c. * src/debug.c: file debug.c was initially added on branch gmcnutt_loader. * src/Attic/lexer.c, src/Attic/lexer.l, src/macros.h, src/Attic/parser.y, src/Attic/util.h: Added macros.h for generic, c-safe macros. Cleaned up lexer.l and parser.y with this change. * src/macros.h: file macros.h was initially added on branch gmcnutt_loader. * src/Attic/mmap.c: file mmap.c was initially added on branch gmcnutt_loader. * src/Attic/mmap.h: file mmap.h was initially added on branch gmcnutt_loader. 2004-02-18 Gordon McNutt * Attic/lexer.h: file lexer.h was initially added on branch gmcnutt_loader. * Attic/lexer.h, examples/data/def_macros.ghul, examples/data/world.ghul, examples/data/player/party.ghul, examples/data/types/npc_party_defs.ghul, examples/data/types/occupations.ghul, examples/data/types/portal_types.ghul, examples/data/types/readable_items.ghul, examples/data/types/species.ghul, examples/data/types/useable_items.ghul, examples/data/types/vehicles.ghul, examples/data/world/characters/BlackBart_the_Shipwright.ghul, examples/data/world/characters/Deric.ghul, examples/data/world/characters/Doris.ghul, examples/data/world/characters/Gen.ghul, examples/data/world/characters/Olin_the_Ghast.ghul, examples/data/world/characters/Shroom_the_Hag.ghul, examples/data/world/characters/party_members.ghul, examples/data/world/conversations/C_green_tower.ghul, examples/data/world/conversations/C_misc_npcs.ghul, examples/data/world/conversations/conversations.ghul, examples/data/world/places/Glasdrin.ghul, examples/data/world/places/GoblinCaves.ghul, examples/data/world/places/GreenTower.ghul, examples/data/world/places/GreenTowerLower.ghul, examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_prison_and_torture_chamber.ghul, examples/data/world/places/P_rom_camp.ghul, examples/data/world/places/P_slime_cave.ghul, examples/data/world/places/P_terrain_test.ghul, examples/data/world/places/P_wilderness.ghul, src/Makefile.am, src/Attic/Makefile.in, src/Attic/lexer.c, src/Attic/lexer.l, src/Attic/loader.c, src/Attic/loader.h, src/Attic/parser.y, src/play.c, src/Attic/util.c, src/Attic/util.h: o parser.o and lexer.o must be compiled using gcc (instead of g++) or I get parser stack overflows. No idea why. o Updated the scripts to reflect some tweaks I made to the syntax while writing the new parser. * src/play.c: Removed the obolete 'play' struct in play.c 2004-02-17 Gordon McNutt * Attic/Makefile.in, Attic/configure, Attic/configure.in, examples/Makefile.in, src/Makefile.am, src/Attic/Makefile.in, src/Attic/lexer.c, src/Attic/lexer.h, src/Attic/lexer.l, src/Attic/loader.c, src/Attic/loader.h, src/Attic/old_lexer.c, src/Attic/parser.y, src/Attic/util.h: o Brought in new flex/bison parser and got it to build. * src/Attic/lexer.h: Adding back in the old lexer.h (for now) * src/Attic/lexer.l: file lexer.l was initially added on branch gmcnutt_loader. * src/Attic/loader.c: file loader.c was initially added on branch gmcnutt_loader. * src/Attic/loader.h: file loader.h was initially added on branch gmcnutt_loader. * src/Attic/old_lexer.c: file old_lexer.c was initially added on branch gmcnutt_loader. * src/Attic/parser.y: file parser.y was initially added on branch gmcnutt_loader. 2003-11-15 Gordon McNutt * src/player.cpp, src/player.h: Factored out the private try_to_enter_portal method in the player class 2003-11-08 Gordon McNutt * src/foogod.c, src/player.cpp, src/player.h: Removed the turn counter. 2003-11-07 Sam Glasby * src/common.h, src/console.c, src/foogod.c, src/screen.c, src/status.c: new feature: resizing status window -- DANGER: known to be broken right now. * src/object.c: Fixed a crash bug upon entering a place with at least one object stack created via the multiple-objects construct, such as: t_arrow 2 27 50; Apparently, the place field was not being initialized, and when the game loop checked for effects (such as fire) on the (place,x,y) of these objects, a SIGSEGV was thrown. 2003-11-07 Gordon McNutt * examples/data/types/vehicles.ghul, examples/data/world/places/P_wilderness.ghul, src/Arms.cpp, src/Party.cpp, src/Party.h, src/player.cpp, src/player.h, src/vehicle.cpp, src/vehicle.h: Bugfix: sinking a horse killed the party * src/console.c, src/console.h, src/foogod.c, src/foogod.h, src/status.c: Bugfix: console/foogod clobbering each other 2003-11-05 Gordon McNutt * src/Party.cpp, src/Party.h, src/combat.c, src/ctrl.c, src/ctrl.h, src/player.cpp, src/player.h: Moved most remaining fields exclusive to player over to Party; noticed that S)witch command causes a hang * src/Party.cpp, src/common.h, src/list.h, src/player.cpp, src/player.h: Removed duplicate applyExistingEffects code between player and Party classes 2003-11-04 Sam Glasby * examples/data/player/party.ghul, examples/data/world/characters/party_members.ghul: Added new party members, the better to examine UI issues with party sizes greater than 3. 2003-11-04 Gordon McNutt * src/Party.cpp, src/Party.h, src/cmd.c, src/combat.c, src/ctrl.c, src/Attic/game.c, src/player.cpp, src/player.h, src/status.c: Moved more fields from player to Party, removed more duplicates * src/Party.h, src/player.h: Removed redundant 'vehicle' field in player class * src/Party.h, src/player.h, src/screen.c: Moved 'gold' from player to Party class * src/player.cpp, src/player.h: Removed obsolete 'turns' field from player class * src/screen.c: Bugfix: highlighting box rendered improperly in zoom mode 2003-11-03 Sam Glasby * examples/data/world/mechanisms/all_mechanisms.ghul, src/Attic/Mech.cpp, src/Attic/Mech.h: Added support for any_event_among keyword in transitions {} block for MECH_TYPE. * src/Attic/Mech.cpp, src/Attic/Mech.h, src/conv.c, src/conv.h: Added functions/methods to dump state for Mech objects and structs, and for struct response. 2003-11-03 Gordon McNutt * examples/data/player/party.ghul, examples/data/types/Attic/formation.ghul, examples/data/types/npc_party_defs.ghul, examples/data/world/places/P_wilderness.ghul, src/Party.cpp, src/Party.h, src/combat.c, src/Attic/game.c, src/player.cpp, src/player.h: More work towards integrating the player and Party class. o Moved some fields from the player class to the PartyType class. o Moved some fields from the player ghulscript construct to be optional fields in the PARTY construct. * examples/data/types/Attic/formation.ghul: file formation.ghul was initially added on branch gmcnutt_party2_br. 2003-11-02 Gordon McNutt * examples/data/world/places/Glasdrin.ghul, examples/data/world/places/GoblinCaves.ghul, examples/data/world/places/GreenTower.ghul, examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_rom_camp.ghul, examples/data/world/places/P_wilderness.ghul, src/Party.cpp, src/Attic/game.c: Eliminated the 'home' field in the ghulscript npc constructor * src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/cmd.c, src/conv.c, src/Attic/game.c, src/object.c, src/object.h, src/player.cpp, src/player.h: Moved the inventory from the player_party class to its parent Party class 2003-11-01 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/Missile.cpp, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/Party.cpp, src/Party.h, src/Attic/Spell.cpp, src/astar.c, src/character.cpp, src/character.h, src/cmd.c, src/combat.c, src/combat.h, src/common.h, src/conv.c, src/ctrl.c, src/ctrl.h, src/cursor.cpp, src/cursor.h, src/Attic/game.c, src/list.h, src/object.c, src/object.h, src/place.c, src/place.h, src/play.c, src/player.cpp, src/player.h, src/status.c: Cleaned up Party.h * src/Party.cpp, src/Party.h, src/place.c, src/player.h: Got rid of two obsolete methods in Party.h * src/Party.cpp, src/Party.h, src/combat.c: Made all Party.h members protected 2003-10-27 Gordon McNutt * src/Party.cpp, src/Attic/Spell.cpp, src/astar.c, src/character.cpp, src/cmd.c, src/ctrl.c, src/place.c, src/player.cpp, src/player.h: Bugfix: corner-case hang in pathfinding code 2003-10-25 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/Missile.cpp, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/Party.cpp, src/Party.h, src/Attic/Spell.cpp, src/character.cpp, src/character.h, src/cmd.c, src/combat.c, src/combat.h, src/common.h, src/conv.c, src/ctrl.c, src/ctrl.h, src/Attic/game.c, src/place.c, src/place.h, src/play.c, src/player.cpp, src/player.h: Renamed NpcParty as Party to prepare for merging player party code with npc party code * src/Party.cpp: file Party.cpp was initially added on branch gmcnutt_ctrl_br. * src/Party.cpp, src/Party.h, src/Attic/Spell.cpp, src/character.cpp, src/cmd.c, src/combat.c, src/conv.c, src/ctrl.c, src/list.h, src/player.cpp, src/player.h, src/status.c: Made player party a subclass of Party, got rid of fixed-size pc array * src/Party.h: file Party.h was initially added on branch gmcnutt_ctrl_br. 2003-10-18 Gordon McNutt * src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/Attic/Spell.cpp, src/character.cpp, src/character.h, src/ctrl.c, src/cursor.cpp, src/cursor.h, src/object.c, src/object.h, src/player.cpp, src/player.h: Hooked up all the controllers * src/character.cpp, src/ctrl.c: Partly hooked up character ai contrroller 2003-10-17 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/Attic/NpcParty.h, src/character.h, src/ctrl.c, src/ctrl.h, src/player.cpp, src/player.h: Hooked up player party ui controller * src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/cmd.c, src/ctrl.c, src/object.c, src/object.h, src/player.h: Hooked up ai party controller * src/character.cpp, src/ctrl.c: Hooked up character ui controller * src/ctrl.c: file ctrl.c was initially added on branch gmcnutt_ctrl_br. * src/ctrl.h: file ctrl.h was initially added on branch gmcnutt_ctrl_br. 2003-10-12 Gordon McNutt * src/Attic/AiPartyController.cpp: file AiPartyController.cpp was initially added on branch gmcnutt_controller_br. * src/Attic/AiPartyController.cpp, src/Attic/AiPartyController.h, src/Makefile.am, src/Attic/Makefile.in, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/cmd.c, src/object.c, src/object.h, src/player.h: Added the AiPartyController * src/Attic/AiPartyController.h: file AiPartyController.h was initially added on branch gmcnutt_controller_br. * src/Attic/Controller.h: file Controller.h was initially added on branch gmcnutt_controller_br. * src/Attic/Controller.h, src/Makefile.am, src/Attic/Makefile.in, src/Attic/Mech.cpp, src/Attic/Mech.h, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/Attic/Spell.cpp, src/Attic/UiPartyController.cpp, src/Attic/UiPartyController.h, src/character.cpp, src/character.h, src/cmd.c, src/cursor.cpp, src/cursor.h, src/object.c, src/object.h, src/place.c, src/player.cpp, src/player.h: Added the UiPartyController * src/Attic/UiPartyController.cpp: file UiPartyController.cpp was initially added on branch gmcnutt_controller_br. * src/Attic/UiPartyController.h: file UiPartyController.h was initially added on branch gmcnutt_controller_br. 2003-10-06 Gordon McNutt * Attic/Makefile.in, Attic/aclocal.m4, Attic/config.guess, Attic/config.sub, Attic/configure, Attic/install-sh, Attic/ltmain.sh, Attic/missing, Attic/mkinstalldirs, examples/Makefile.in, src/Attic/Makefile.in, src/los.c: Build changes for RedHat * Attic/Makefile.in, Attic/acinclude.m4, Attic/aclocal.m4, Attic/config.guess, Attic/config.sub, Attic/configure, Attic/install-sh, Attic/ltmain.sh, Attic/missing, Attic/mkinstalldirs, examples/Makefile.in, src/Attic/Makefile.in, src/los.c: Knoppix build changes * Attic/Makefile.in, Attic/PRESS_RELEASE, Attic/RELEASE_NOTES, Attic/acinclude.m4, Attic/aclocal.m4, Attic/config.guess, Attic/config.sub, Attic/configure, Attic/configure.in, Attic/ltconfig, Attic/missing, Attic/mkinstalldirs, examples/Makefile.in, scripts/ghul-test-install, src/Attic/Makefile.in: More build config changes * Attic/configure.in: Changed required SDL version from 1.2.4 back to 1.2.3. 2003-10-05 Gordon McNutt * src/character.cpp, src/play.c, src/player.cpp: o Bugfix: with animation off, npc's sometimes appeared to "jump" a space. Needed to add conditional repaints of the map before prompting the user for input, this way the user is always looking at an up-to-date map when they decide what to do next. * src/combat.c: o Bugfix: with animation off, after fleeing from wilderness combat the screen remained blank until the user pressed a key to cause a map repaint. (Thanks to Sam for finding this). * src/combat.c: o Bugfix: with animation off, on entry to wilderness combat the map was not being updated properly. * src/place.c: o Bugfix: with animation off, in Character Mode, if the current character quits the game then in some cases the game will not quit, and will prompt the player to move the next character, until the turn is over. 2003-10-04 Gordon McNutt * BUGS, INSTALL, README, doc/USERS_GUIDE, src/nazghul.c: o Updated some of the docs * Attic/Makefile.in, Attic/configure, Attic/configure.in, Attic/ltconfig, examples/Makefile.in, src/Attic/Makefile.in: Fixed the LIBTOOL problem * Attic/PRESS_RELEASE, Attic/RELEASE_NOTES, scripts/ghul-test-install: Added a PRESS_RELEASE file * Attic/configure, Attic/configure.in, examples/data/world/places/Glasdrin.ghul, examples/data/world/places/P_wilderness.ghul, src/Attic/NpcParty.cpp, src/character.cpp, src/nazghul.c, src/place.c: o Bugfix: stepping on a tile that contained an inactive moongate would invoke the moongate in town. o Tweeks to the sample world * Attic/ltmain.sh: Added ltmain.sh * examples/data/player/party.ghul, examples/data/world/astronomy.ghul, examples/data/world/places/P_wilderness.ghul, src/player.cpp: Removed some printf dbg * examples/data/player/party.ghul, src/character.cpp, src/cmd.c, src/place.c, src/play.c: Party can enter moongates in town (or dungeons) now * examples/data/world/characters/Doris.ghul, examples/data/world/characters/Shroom_the_Hag.ghul, examples/data/world/conversations/conversations.ghul: Added some dialog * examples/data/world/characters/Doris.ghul, examples/data/world/characters/Attic/char_doris.ghul, examples/data/world/places/GreenTower.ghul: Changed char_doris.ghul to Doris.ghul 2003-10-03 Gordon McNutt * src/astar.c: Pathfinding now aborts immediately if the target destination is invalid. This helps when you're in a ship in a wilderness with hostile npc's and your machine is slow. * src/cmd.c, src/vmask.c: Bugfix: vmask_invalidate was calculating the wrong region on wrapping maps 2003-10-02 Gordon McNutt * src/event.c, src/map.c, src/play.c: More profiling 2003-09-30 Gordon McNutt * src/character.cpp, src/event.c, src/map.c, src/play.c, src/player.cpp: Replaced the pseudo-fps counter with a latency and turnaround indicator. They're still a little quirky for the first turn or two but after that they seem ok (I haven't tested them a whole lot, though) * src/event.c, src/map.c: Mouse events can no longer cause a repaint. 2003-09-28 Gordon McNutt * Attic/Makefile.in, Attic/aclocal.m4, Attic/configure, examples/Makefile.in, examples/data/player/party.ghul, examples/data/world/astronomy.ghul, src/Makefile.am, src/Attic/Makefile.in, src/Attic/Mech.cpp, src/astar.c, src/character.cpp, src/character.h, src/cmd.c, src/conv.c, src/map.c, src/map.h, src/nazghul.c, src/object.c, src/terrain_map.c, src/tree.c, src/tree.h, src/vmask.c, src/vmask.h: Merged over vmask changes * src/character.cpp, src/character.h, src/map.c, src/object.c, src/vmask.c: o Bugfix: selecteed character was sometimes blacked out near map edges o Bugfix: town npc's were not properly going to sleep when they were scheduled to. o Bugfix: igniting a torch did not always take immediate affect in combat o Bugfix: when a character exited combat it's sprite did not immediately disappear * src/cmd.c, src/map.c, src/map.h, src/object.c: Added mapUpdateTile to repaint a single tile. Used in Object::select() * src/map.c, src/vmask.c: Bugfix: scrolling the camera was showing places that should have been masked out by the vmask. * src/vmask.c: Bugfix: opening/closing doors now affects line-of-sight like it should again 2003-09-26 Gordon McNutt * src/object.c: Changed the forced update in Object::select() to a mapSetDirty 2003-09-25 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/Attic/Mech.cpp, src/astar.c, src/character.cpp, src/conv.c, src/map.c, src/nazghul.c, src/object.c, src/terrain_map.c, src/tree.c, src/tree.h, src/vmask.c, src/vmask.h: Added vmask caching * src/vmask.c: file vmask.c was initially added on branch gmcnutt_vmask_br. * src/vmask.h: file vmask.h was initially added on branch gmcnutt_vmask_br. 2003-09-21 Gordon McNutt * src/Arms.cpp, src/Attic/Makefile.in, src/Attic/Spell.cpp, src/character.cpp, src/cmd.c, src/combat.c, src/map.c, src/nazghul.c, src/play.c, src/player.cpp: Made some speedup modifications. o In full sunlight we no longer need to build the lightmap, which otherwise takes about 1/3 of the time spent rendering on my slow box. o Replaced a lot of forced screen updates with a call to mark the screen as dirty. o If the user specifies --tick -1 then animation is disabled. With these changes, and by using the --bpp 8 option my slow box is playable in the outdoors during the day... if there aren't too many npc's around. More improvements to come. * src/map.c: Modified mapMergeLightSource to only check tiles that are within the radius of the light source. Doesn't seem to make any difference on my fast box, but it might help on the slow box. 2003-09-17 Gordon McNutt * src/character.cpp, src/map.c: o Performance: missiles that are out of the player's LOS are no longer painted. The game play pauses as each animation runs, and they run much faster when they don't actually have to update the display. Rendering them only when they are in the player's view speeds things up in Glasdrin when things lots of skeletons and guards are firing at each other. o Bugfix: yet another bug in the projectile animation. Firing arrows at column zero of the display would make them fly in the opposite direction. 2003-09-15 Gordon McNutt * Attic/Makefile.in, Attic/acinclude.m4, Attic/aclocal.m4, Attic/configure, examples/Makefile.in, src/Attic/Makefile.in, src/ascii.c, src/ascii.h, src/character.cpp, src/common.h, src/Attic/game.c, src/images.c, src/images.h, src/map.c, src/nazghul.c, src/place.h, src/screen.c, src/screen.h, src/sprite.h: Some changes to make it compile on Knoppix * examples/data/def_constants.ghul, examples/data/images/mine-32x32.png, examples/data/player/party.ghul, examples/data/sprite_sets/misc_added_sprite_set.ghul, examples/data/types/species.ghul, examples/data/types/spells.ghul, examples/data/types/terrains.ghul, examples/data/types/vehicles.ghul, examples/data/types/weapons.ghul, examples/data/world/astronomy.ghul, examples/data/world/portals.ghul, examples/data/world/characters/Deric.ghul, examples/data/world/characters/Gen.ghul, examples/data/world/characters/Shroom_the_Hag.ghul, examples/data/world/characters/Attic/char_doris.ghul, examples/data/world/characters/inhabitants_of_britain.ghul, examples/data/world/places/Glasdrin.ghul, examples/data/world/places/GreenTower.ghul, examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_rom_camp.ghul, examples/data/world/places/P_terrain_test.ghul, examples/data/world/places/P_wilderness.ghul, examples/data/world/places/all_places.ghul, src/Arms.cpp, src/Arms.h, src/Field.cpp, src/Field.h, src/Attic/Item.cpp, src/Makefile.am, src/Attic/Makefile.in, src/Attic/Mech.cpp, src/Attic/Mech.h, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/Attic/Spell.cpp, src/Attic/Spell.h, src/astar.c, src/astar.h, src/character.cpp, src/character.h, src/clock.c, src/clock.h, src/cmd.c, src/cmd.h, src/combat.c, src/combat.h, src/common.c, src/common.h, src/console.c, src/console.h, src/conv.c, src/event.c, src/event.h, src/foogod.c, src/formation.c, src/formation.h, src/Attic/game.c, src/map.c, src/map.h, src/Attic/moongate.c, src/Attic/moongate.h, src/nazghul.c, src/object.c, src/object.h, src/pinfo.h, src/place.c, src/place.h, src/play.c, src/play.h, src/player.cpp, src/player.h, src/sched.c, src/screen.c, src/screen.h, src/sky.c, src/sky.h, src/sprite.c, src/sprite.h, src/vehicle.cpp, src/vehicle.h, src/wind.c, src/wind.h, src/wq.c, src/wq.h: Merged in changes from gmcnutt-newcombat-br 2003-09-14 Gordon McNutt * examples/data/player/party.ghul, examples/data/world/places/Glasdrin.ghul, src/character.cpp, src/map.c: Added a monster generator and lots of guards in Glasdrin. I love trouble. Fixed a few bugs that were flushed out with this. * examples/data/player/party.ghul, examples/data/world/astronomy.ghul, src/Attic/NpcParty.cpp, src/Attic/Spell.cpp, src/astar.c, src/character.cpp, src/character.h, src/cmd.c, src/combat.c, src/Attic/game.c, src/map.c, src/map.h, src/Attic/moongate.c, src/nazghul.c, src/object.c, src/object.h, src/play.c, src/player.cpp, src/player.h, src/sky.c: Widespread changes because I decided to consolidate all the view-handling code to the routines which place and remove objects from the map. A lot of #if 0's remain to be cleaned up, but things appear to be working pretty smoothly now. All the u5 spells have been tested (and work) at least in town. Some still need to be tested in the wilderness. Numerous changes have been made while testing and debugging. The ones I can remember include: o The party formation is now used only in wilderness combat. On entrance to towns they just kind of pour out from the entrance point. This should fix those odd remaining cases where one party member could be put on the other side of a wall via a long path from the party's main position. o Gate travel now works again and damn is it slick. I added a full complement of gates so now you can always cast Vas Rel Por and go somewhere. o Charmed npc's in town will be automatically uncharmed when the player exits. * src/character.cpp: Npc's now avoid hazardous terrain while commuting and wandering. * src/console.c, src/nazghul.c, src/screen.h: Removed obsolete references to SDL_ttf 2003-09-13 Gordon McNutt * src/Attic/Spell.cpp: Clone and Invisibility now update the map more snappily to show their effects. I tried to have clone put the clone under player control but this causes issues in town. Need to make clone nicer later when I redo spells and effects. * src/Attic/Spell.cpp, src/object.c, src/play.c, src/play.h: Fixed Rel Tym and An Tym * src/character.cpp, src/object.c, src/object.h, src/place.c: o Added a new placement algorithm for dropping characters on a map within a specified area. So far I've only modified resurrection to use it. Later I'll probably modify some of the other summoning spells (including clone) and possibly general combat placement to use it. * src/character.cpp, src/foogod.c, src/play.c: Fixed In An and added indicatord to the foogod window for the Time Stop, Quickness and Negate Magic global effects 2003-09-12 Gordon McNutt * src/character.cpp: Bugfix: npc's were not waking up when put to sleep with In Zu 2003-09-10 Gordon McNutt * examples/data/world/characters/inhabitants_of_britain.ghul: Bugfix: Hawknoz schedule had an out-of-order entry * src/cmd.c: Bugfix: dead/sleeping members could cast spells in party mode * src/event.c: Bugfix: playback mode was not working 2003-09-09 Gordon McNutt * src/character.cpp, src/combat.c, src/object.c: o Walking off the edge of a combat map no longer requires the party to be in Follow Mode. This will allow the one character to escape without the others. Exiting towns still requires follow mode. * src/character.cpp, src/character.h: o Join: have Olin join, have him exits a town/dungeon through a wall, leaving the other party members stranded. 2003-09-08 Gordon McNutt * examples/data/player/party.ghul, examples/data/types/spells.ghul, examples/data/world/places/P_wilderness.ghul, examples/data/world/places/all_places.ghul, src/Attic/Spell.cpp, src/character.cpp, src/cmd.c, src/combat.c, src/combat.h, src/conv.c, src/Attic/game.c, src/map.c, src/object.c, src/place.c, src/player.cpp, src/player.h: o Bugfixes: Misc stuff related to spellcasting. First three levels now tested and working in town/dungeon. * src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/character.cpp, src/character.h, src/Attic/game.c, src/player.cpp, src/player.h: o Bugfix: "Join" now works again. * src/place.c, src/screen.c, src/screen.h: Made the highlighting rectangle a rectangle (it was an upside-down L) 2003-09-07 Gordon McNutt * examples/data/player/party.ghul, examples/data/types/spells.ghul, examples/data/world/places/P_empire_city.ghul, src/cmd.c, src/common.h: o Bugfix: Cast In Mani Corp (resurrect) in combat - you get a crosshair to select the target. But, uh, the target is dead, so it's not on the map... I fixed this by adding a new spell target type: SPELL_TARGET_PARTY_MEMBER. * src/Attic/Spell.cpp, src/character.cpp: o Bugfix: Cast Uus Por in Green Tower Lower - looks like we hang. * src/character.cpp, src/Attic/game.c, src/play.c: --Fixed a crash that occurred on startup if the --sound 0 option was specified. * src/combat.c: o Bugfix: attack a ship to the east - gangplanks don't meet the shore. * src/Attic/game.c: o Bugfix: cannot board a ship in town. This is not a bugfix, but rather a temporary workaround: I (mostly) disallow vehicles in town. See the development log for my reasoning. 2003-09-06 Gordon McNutt * src/character.cpp, src/cmd.c, src/cmd.h, src/object.c, src/object.h, src/player.cpp, src/player.h: o Bugfix: Cannot rest in town (no (k)amp command in character mode). * src/character.cpp, src/cmd.c, src/combat.c, src/player.cpp: o Bugfix: Camping in the wilderness is fixed again. o Bugfix: attacking in the wilderness was leaving the player party on the enemy's tile after combat. * src/cmd.c: o Pending a better policy on the issue of containers, I made all containers delete themselves on open. o Fixed a bug in casting "An Sanct" in which the cursor did not appear. Tweaked a few of the other spell-targeting routines to reflect changes made on the branch. 2003-09-04 Gordon McNutt * src/Attic/Spell.cpp, src/character.cpp, src/place.c: Fixed two bugs relating to castin In Por (blink) which were reported by Sam. o The Spell::teleport_horizontally() code was using some old idioms, include the global Place. I replaced this with a simple call to caster->move(), which handles the details of deciding to move a single member or the entire party, depending on what mode we're in. This also required adding some view/los updating code to character::relocate(), which probably needed to be there anyway. This fixed the In Por in the Slime Cave. o For the In Por bug on the map edge, what was happening is that the caster ended up teleporting to his current square. Fine, the character::move() code discovers that someone from the caster's party is already there (the caster) and tried to "bump" them. But the real bug is in place_move_object(), which would crash anytime you tried to move an object to it's current location. That's because it looked up both source and destination tiles, then removed the object from the source tile. If this was the only object on the tile then it destroys the source tile. But that means we just destroyed the destination tile, and we'are about to put something on it... easy fix once found. * src/character.cpp: o When synchronizing character schedules upon entry to a small-scale place, the code now drops the character in the upper left corner of the roaming region specified in the scheduled appointment. Before it would drop them in the center. I decided that the corner was better because the engine makes no test for passability, so it's up to the schedule designer, and since they have to specify the ULC in the schedule it should make it more obvious when they are specifying an impassable "drop point". Perhaps in the future I'll have the engine do something smarter to avoid these kind of mistakes. 2003-09-03 Gordon McNutt * examples/data/player/party.ghul, examples/data/world/portals.ghul, src/character.cpp, src/player.cpp: o Consolidated some code in the player_party class when I noticed that relocate() seemed to deal with place-to-place movement correctly. o Fixed a bug where changing places in the middle of a place_exec() loop caused a crash for commuting NPC's. o Fixed a bug in un-charming a fellow party member with the charm spell. The target was uncharmed but remained in auto mode. Kind of cool but not exactly what the user would expect. o Reconnected the portals between Empire City, the dungeon and the dark passage. * src/character.cpp: Fixed a bug where town npc's would just wander off the edge of the map. Can't have that :-) * src/object.c: Fixed a bug that cause the coordinate display to vanish after walking around a bit in Empire City 2003-09-02 Gordon McNutt * examples/data/world/places/GoblinCaves.ghul, examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_rom_camp.ghul, examples/data/world/places/P_wilderness.ghul, src/Attic/NpcParty.cpp, src/character.cpp, src/character.h, src/cmd.c, src/conv.c, src/Attic/game.c, src/object.c, src/object.h, src/player.cpp, src/player.h: Guards can now speak again, and you can provoke them to a fight. * examples/data/world/places/P_empire_city.ghul: Made the nixie and water elemental in Empire City both be aligned to the town. Otherwise they either attack each other or the townspeople, and they usually lose :-). * src/Attic/NpcParty.cpp, src/astar.h, src/character.cpp, src/character.h, src/combat.c, src/object.c, src/object.h, src/place.c, src/place.h: Party members now pathfind through other members in follow mode. * src/console.c, src/console.h, src/nazghul.c, src/object.c, src/object.h, src/play.c: Bugfix: destroying npc parties with ship cannons no longer makes them frop corpse loot. 2003-09-01 Gordon McNutt * examples/data/player/party.ghul, examples/data/types/terrains.ghul: Changed all fast terrain to be medium. * src/character.cpp, src/character.h, src/combat.c, src/combat.h, src/map.c, src/map.h, src/object.c, src/object.h, src/player.cpp, src/player.h: More changes to support the unified game loop. o The player party can now exit from a town again. * src/formation.c: file formation.c was initially added on branch gmcnutt-newcombat-br. * src/formation.c: Adding formation.c 2003-08-31 Gordon McNutt * examples/data/player/party.ghul, examples/data/world/places/GoblinCaves.ghul, examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_rom_camp.ghul, examples/data/world/places/P_wilderness.ghul, src/Makefile.am, src/Attic/Makefile.in, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/Attic/Spell.cpp, src/Attic/Spell.h, src/character.cpp, src/character.h, src/combat.c, src/combat.h, src/common.c, src/common.h, src/conv.c, src/formation.h, src/Attic/game.c, src/map.c, src/nazghul.c, src/object.c, src/pinfo.h, src/place.c, src/place.h, src/play.c, src/player.cpp, src/screen.c, src/screen.h, src/sprite.c, src/sprite.h, src/wind.c, src/wind.h, src/wq.c, src/wq.h: More changes to support the unified game loop. o Moved conversations and schedules from the NpcParty class to the Character class. Added an activity member and an appt member to the Character class to support schedules. o When the loader puts a party in a non-wilderness place it automatically distributes the party members. o Fixed a handful of minor bugs related to the above changes, as well as some related to earlier changes in the way the party leader is managed. * src/Attic/NpcParty.cpp, src/player.cpp, src/player.h: More changes to support the unified game loop. o The player party now breaks out into party mode on entrance to a town. o Bugfix: entering a ladder from a town or dungeon was throwing us back into party mode. 2003-08-23 Gordon McNutt * src/character.cpp, src/player.cpp: Ok, now you can exit dungeons. But still no fighting\! * src/combat.c, src/combat.h, src/player.cpp, src/player.h: Player can now enter a dungeon again. Combat is broken there, and so is exiting, but there you go. 2003-08-22 Gordon McNutt * src/Attic/NpcParty.cpp, src/Attic/Spell.cpp, src/character.cpp, src/cmd.c, src/combat.c, src/combat.h, src/place.c, src/place.h, src/play.c, src/player.cpp, src/player.h: Combat loop eliminated, looks like most entry/exit situations functional. Dungeons are, no doubt, seriously broken right now, though. 2003-08-21 Sam Glasby * src/common.h, src/nazghul.c, src/play.c: Change nazghul version number printing. 2003-08-19 Gordon McNutt * src/character.cpp, src/character.h, src/foogod.c, src/object.c, src/object.h, src/vehicle.cpp, src/vehicle.h: Fixed vehicle repair during camping 2003-08-16 Gordon McNutt * src/Attic/NpcParty.cpp, src/character.cpp, src/character.h, src/cmd.c, src/combat.c, src/player.cpp, src/player.h: Most camping problems now fixed * src/combat.c: Cleaned up some unused things in combat.c 2003-08-15 Gordon McNutt * src/Attic/Spell.cpp, src/character.cpp, src/character.h, src/cmd.c, src/cmd.h, src/combat.c, src/combat.h, src/common.h, src/foogod.c, src/nazghul.c, src/object.c, src/object.h, src/place.c, src/place.h, src/play.c, src/player.cpp, src/player.h: Bugfixes * src/character.cpp, src/play.c, src/player.cpp: Fixed death, added sleep to charm recovery 2003-08-14 Gordon McNutt * BUGS, Attic/RELEASE_NOTES: Updated * Attic/configure, Attic/configure.in, scripts/RELEASE_CHECKOFF, scripts/ghul-test-install, src/nazghul.c: Notes & such made while creating the 0.1.3 release * examples/data/world/places/all_places.ghul: Re-inserted the "Terrain Test" map to aid novice map hackers for a SourceForge file release. 2003-08-13 Sam Glasby * INSTALL: Added some notes to INSTALL about PATH settings needed. 2003-08-11 Gordon McNutt * src/Arms.cpp, src/Attic/Spell.cpp, src/character.cpp, src/character.h, src/cmd.c, src/combat.c, src/object.c, src/object.h, src/place.c, src/place.h, src/play.c, src/player.cpp: Combat now lets place_exec run the npc character AI's 2003-08-10 Gordon McNutt * examples/data/world/astronomy.ghul, examples/data/world/characters/Attic/char_doris.ghul: Script changes mandated by engine changes * src/clock.c, src/clock.h, src/combat.c, src/foogod.c, src/play.c, src/player.cpp, src/player.h: Time moves at wilderness scale in the wilderness once more * src/place.c, src/place.h: Bufgix: program hanging in place_exec due to removing objects 2003-08-09 Gordon McNutt * src/Makefile.am, src/Attic/Makefile.in, src/clock.c, src/clock.h, src/player.h, src/sky.c, src/sky.h: Moved clock routines from sky.[ch] to clock.[ch] * src/clock.c: file clock.c was initially added on branch gmcnutt-newcombat-br. * src/clock.c, src/clock.h, src/Attic/game.c, src/sky.c: Added TIME to ghulscript, removed arc from same, sun initial position now derived from time * src/clock.c, src/clock.h, src/combat.c, src/common.h, src/event.c, src/event.h, src/Attic/moongate.c, src/Attic/moongate.h, src/play.c, src/sched.c, src/sky.c, src/sky.h: Fixed the hang while repeatedly sleeping in the inn * src/clock.c, src/clock.h, src/combat.c, src/play.c: Changed the way time keeps track of the clock * src/clock.c, src/clock.h, src/player.cpp, src/player.h: Changed the way clock alarms work * src/clock.h: file clock.h was initially added on branch gmcnutt-newcombat-br. * src/common.h, src/place.c, src/place.h, src/play.c: Time goes by faster in the wilderness now 2003-08-07 Gordon McNutt * examples/data/def_constants.ghul, examples/data/types/species.ghul, examples/data/types/terrains.ghul, examples/data/types/vehicles.ghul, examples/data/types/weapons.ghul, examples/data/world/places/P_wilderness.ghul, src/Arms.cpp, src/Arms.h, src/Attic/NpcParty.cpp, src/cmd.c, src/common.h, src/Attic/game.c, src/object.c, src/object.h, src/vehicle.cpp, src/vehicle.h: Moved some action point values which were hard-coded in the game to the load file * src/cmd.c: Bugfix: opening a closed door was printing 'Open an open door' as a console message 2003-08-06 Gordon McNutt * examples/data/def_constants.ghul, examples/data/images/mine-32x32.png, examples/data/sprite_sets/misc_added_sprite_set.ghul, examples/data/types/terrains.ghul, examples/data/world/places/GreenTower.ghul, examples/data/world/places/P_wilderness.ghul, src/Attic/NpcParty.cpp, src/astar.c: Added trails to Green Tower and the wilderness * src/Attic/NpcParty.cpp, src/common.h, src/player.cpp, src/player.h: Bugfix: members were getting an hour of rest every turn while sleeping 2003-08-05 Gordon McNutt * examples/data/def_constants.ghul, examples/data/player/party.ghul, examples/data/types/species.ghul, examples/data/types/terrains.ghul, examples/data/types/vehicles.ghul, examples/data/world/characters/Deric.ghul, examples/data/world/characters/Gen.ghul, examples/data/world/characters/Shroom_the_Hag.ghul, examples/data/world/places/P_wilderness.ghul, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/common.h, src/foogod.c, src/Attic/game.c, src/object.c, src/object.h, src/player.cpp, src/player.h, src/vehicle.cpp, src/vehicle.h: Action points now distributed based on speed; updated all the speeds and passability costs in the example game * src/Attic/NpcParty.cpp, src/astar.c, src/astar.h, src/place.c: Bugfix: characters don't seem to be taking optimal path through/around forest * src/combat.c: Bugfix: party was placed off-center on the camping map 2003-08-04 Gordon McNutt * src/Attic/NpcParty.cpp, src/combat.c, src/object.c, src/place.c, src/place.h, src/play.c, src/vehicle.cpp: o Bugfix: characters seemed to be getting more than one turn. Problem was the turn_list order depended on object locations. Moving an object could change its turn list order. The turn list is now no longer built during every place_exec(). Instead it is maintained by place_add_object() and place_remove_object(). I also added a new place_move_object() which moves an object without removing it and replacing it in the turn list, so objects which move keep the same turn list order. 2003-08-03 Gordon McNutt * examples/data/world/astronomy.ghul, examples/data/world/characters/Deric.ghul, examples/data/world/characters/Gen.ghul, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/astar.c, src/cmd.c, src/common.h, src/object.c, src/object.h, src/place.c, src/player.cpp, src/player.h, src/sky.c, src/sky.h: o Bugfix: in pathfinding, the heuristic was not assigning enough of a handicap to tiles with hazards on them, and the npc party refused to move on a tile with hazard. This resulted in npc party's failing to commute. One fix was to assign enough of a handicap so that the path would prefer to route around the hazard. Another fix was to only avoid hazards when wandering. When pathfinding it is sometimes necessary to cross hazardous terrain. o Bugfix: furthermore, the pathfinding alg had a bug in it where a shorter but inferior path could be chosen over a longer but superior path. * src/Arms.cpp, src/Field.cpp, src/Field.h, src/Attic/Item.cpp, src/Makefile.am, src/Attic/Makefile.in, src/Attic/Mech.cpp, src/Attic/Mech.h, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/Attic/Spell.cpp, src/astar.c, src/character.cpp, src/character.h, src/cmd.c, src/combat.c, src/common.h, src/conv.c, src/object.c, src/object.h, src/place.c, src/place.h, src/play.c, src/player.cpp, src/player.h: Changed top-level loop. Party-mode keyhandler now runs when it's the player party's turn in the place_exec() loop for the current place. * src/Field.cpp: file Field.cpp was initially added on branch gmcnutt-newcombat-br. * src/Attic/NpcParty.cpp, src/astar.c, src/character.cpp, src/common.h, src/map.c, src/object.c, src/object.h, src/place.c, src/place.h, src/player.cpp: --Fixed a crash that occurred on startup if the --sound 0 option was specified. 2003-08-01 Gordon McNutt * src/character.cpp, src/map.c: Bugfix: when zoomed out x)amine was reporting everything out-of-los. 2003-07-30 Gordon McNutt * examples/data/images/mine-32x32.png, examples/data/sprite_sets/misc_added_sprite_set.ghul, examples/data/types/terrains.ghul, examples/data/world/places/GreenTower.ghul: Added a window terrain * examples/data/images/mine-32x32.png, examples/data/sprite_sets/misc_added_sprite_set.ghul, examples/data/types/terrains.ghul, examples/data/world/astronomy.ghul, examples/data/world/places/GreenTower.ghul: Added arrow slits * examples/data/world/astronomy.ghul, examples/data/world/places/P_wilderness.ghul, src/Attic/NpcParty.cpp, src/astar.c, src/combat.c, src/map.c, src/place.c, src/player.cpp, src/terrain_map.c: o Bugfix: random crash due to overwriting an array during map blitting. Probably introduced when we reduced the combat map size to 19x19. o Bugfix: crash when sinking an npc ship. The tile was being freed twice: once for the ship and once for the npc party. o Bugfix: cannons sometimes not animated. Another map-wrapping problem. o Bugfix: cannons sometimes hitting the ship that fired them. Yet another map-wrapping problem. 2003-07-29 Gordon McNutt * examples/data/def_constants.ghul, examples/data/world/characters/Deric.ghul, examples/data/world/characters/Attic/char_doris.ghul, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/character.cpp, src/character.h, src/cmd.c, src/cmd.h, src/combat.c, src/common.h, src/conv.c, src/conv.h, src/object.c, src/object.h, src/play.c: Added T)alk command to combat * examples/data/types/vehicles.ghul, examples/data/types/weapons.ghul, examples/data/world/places/P_wilderness.ghul, src/Arms.cpp, src/Arms.h, src/Missile.cpp, src/Missile.h, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/Attic/Spell.cpp, src/combat.c, src/common.h, src/Attic/game.c, src/map.c, src/map.h, src/object.c, src/object.h, src/player.cpp, src/player.h, src/vehicle.cpp, src/vehicle.h: Removed the OrdnanceType class, rewriting most of the cannon-firing code in the process * examples/data/world/places/all_places.ghul: Put back some of the old test places 2003-07-28 Gordon McNutt * examples/data/images/mine-32x32.png, examples/data/sprite_sets/misc_added_sprite_set.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/GoblinCaves.ghul, examples/data/world/places/GreenTower.ghul, examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_prison_and_torture_chamber.ghul: Upgraded the door sprites. * src/Attic/Item.cpp, src/Makefile.am, src/Attic/Makefile.in, src/Attic/Spell.cpp, src/cmd.c, src/cmd.h, src/combat.c, src/console.c, src/conv.c, src/map.c, src/play.c, src/play.h, src/player.cpp: Moved all the common command-handling code from play.c to the new cmd.c 2003-07-27 Gordon McNutt * examples/data/player/party.ghul, examples/data/types/species.ghul, examples/data/types/weapons.ghul, examples/data/world/places/P_wilderness.ghul: Rebalanced vision radii a bit * examples/data/world/astronomy.ghul, src/map.c, src/place.c: Changed lighting to use raycasting. * src/Arms.cpp, src/character.cpp, src/character.h, src/combat.c, src/common.c, src/common.h: Extended max vision radius to 19; you need a character in your party who can see that far in order to take advantage of it * src/Missile.cpp: Bugfix: missiles were not doing damage due to recent changes * src/combat.c: Bugfix: if a charmed party members was the only one left in combat then combat would never exit. * src/map.c: Bugfix: --ShowAllTerrain was not painting objects 2003-07-26 Gordon McNutt * src/character.cpp: Bugfix: resting was resurrecting dead party members * src/combat.c, src/play.c: More console msg cleanup * src/combat.c: Bugfix: combat place needed to inherit 'underground' from town or wilderness place * src/player.cpp: Bugfix: npc parties might visibly 'warp' on entrance to a town because I was painting the scene before synchronizing their schedules 2003-07-25 Gordon McNutt * examples/data/world.ghul, examples/data/world/maps/terrain_combat_maps.ghul: Added a combat map for hilly terrain * examples/data/player/party.ghul, examples/data/world/characters/party_members.ghul, src/Missile.cpp, src/Missile.h, src/map.c, src/map.h, src/screen.c: Bugfix: missiles were not animated right when zoomed out * examples/data/types/terrains.ghul, src/combat.c, src/map.c, src/place.c, src/place.h: Light sources are now raytraced. Solves the light-shining-through-wall problem. 2003-07-24 Gordon McNutt * src/character.cpp, src/character.h, src/combat.c, src/place.h: If a place has no parent, characters cannot exit off map edges. Solves the problem where Olin exits in a direction the other characters cannot follow due to passability. * src/combat.h, src/map.c: Fixed map 'peer' mode to recenter correctly in combat/dungeons * src/map.c, src/place.c, src/place.h: Extended line-of-sight to radius 19. 2003-07-23 Gordon McNutt * examples/data/player/party.ghul, examples/data/types/weapons.ghul, src/character.cpp, src/character.h, src/combat.c, src/common.h: o Bugfix: premature victory in combat in slime cave. Npc's were not being added properly to the combat npc array when they were introduced after start of combat. The array elements were getting overwritten and the max used index was not updated right. Fixed additions and got rid of the max-used index. o Bugfix: hitting the '<' key in dungeons caused a crash. Disabled this command in dungeons. * src/combat.c: Combat re-enters the FIGHTING state if hostile npc's added in a non-FIGHTING state 2003-07-22 Gordon McNutt * examples/data/types/npc_party_defs.ghul, examples/data/types/readable_items.ghul, src/Attic/Spell.cpp, src/combat.c, src/console.c, src/play.c, src/play.h: Misc small changes; console msg cleanup/polishing 2003-07-20 Gordon McNutt * examples/data/def_macros.ghul, examples/data/types/occupations.ghul, examples/data/world/characters/BlackBart_the_Shipwright.ghul, examples/data/world/characters/Deric.ghul, examples/data/world/characters/Gen.ghul, examples/data/world/characters/Olin_the_Ghast.ghul, examples/data/world/characters/Shroom_the_Hag.ghul, examples/data/world/characters/Attic/char_doris.ghul, examples/data/world/characters/inhabitants_of_britain.ghul, examples/data/world/characters/party_members.ghul, src/Arms.cpp, src/character.cpp, src/character.h, src/combat.c, src/play.c: Some of the new balancing changes are in place now 2003-07-19 Gordon McNutt * Attic/RELEASE_NOTES, examples/data/types/species.ghul, src/species.c, src/species.h: Eliminated the unused 'occs' fields from species * examples/data/world.ghul, examples/data/types/species.ghul, src/species.c, src/species.h: Added some (yet unused) fields to species * examples/data/types/occupations.ghul, examples/data/types/species.ghul, src/occ.c, src/occ.h: Added combat modifier fields to occ's * examples/data/types/species.ghul: Adjusted some species attributes * src/Arms.cpp, src/Arms.h: Added methods to access the hit, defend and damage and armor ranges * src/status.c: For arms, print weight on same line as name 2003-07-18 Gordon McNutt * Attic/configure, src/Arms.cpp, src/Arms.h, src/Makefile.am, src/Attic/Makefile.in, src/Missile.cpp, src/Missile.h, src/Attic/Spell.cpp, src/Attic/Spell.h, src/character.cpp, src/player.cpp: Moved the Missile class out of the Arms files into Missile.h and Missile.cpp * examples/data/types.ghul, examples/data/sprite_sets/angband_sprite_set.ghul, examples/data/types/projectiles.ghul, examples/data/types/spells.ghul, examples/data/types/weapons.ghul, examples/data/types/worn_items.ghul, src/Arms.cpp, src/Arms.h, src/combat.c: o Changed the damage and armor fields of ARMS to be a range of integers. This simulates a single dice with a modifier. Currently only the max end of the range is actually used by the engine. * examples/data/types.ghul, src/Arms.cpp, src/Arms.h, src/Attic/game.c: o Changed the way Ghulscript describes and the game parses armament types. These now have their own keyword: 'ARMS', and are parsed similar to they way Characters, NpcPartys and other types are parsed. They must no longer be in the 'object_types' block. * examples/data/types.ghul, examples/data/types/projectiles.ghul, examples/data/types/weapons.ghul, src/Arms.cpp, src/Arms.h, src/Attic/game.c: o For arms, renamed 'attackValue' as 'damage' and 'defendValue' as 'armor'. o Cleaned up Arms.h/Arms.cpp a bit. * src/Arms.cpp, src/Arms.h, src/character.cpp, src/common.h, src/Attic/game.c, src/player.cpp, src/status.c: Got rid of the AmmoType class (looks like it isn't used anywher) 2003-07-17 Sam Glasby * examples/data/world.ghul, examples/data/world/maps/terrain_combat_maps.ghul: Working on 19x19 combat maps. * examples/data/world/maps/M_blank_19x19.ghul: Added a new blank map template, sized for use in combat maps (19x19). 2003-07-17 Gordon McNutt * examples/data/world.ghul, examples/data/types/npc_party_defs.ghul, examples/data/types/occupations.ghul, examples/data/types/readable_items.ghul, examples/data/types/species.ghul, examples/data/world/portals.ghul, examples/data/world/characters/Deric.ghul, examples/data/world/conversations/conversations.ghul, examples/data/world/maps/terrain_combat_maps.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/GoblinCaves.ghul, examples/data/world/places/GreenTower.ghul, examples/data/world/places/GreenTowerLower_Map.ghul, examples/data/world/places/MidWorld.ghul, examples/data/world/places/P_prison_and_torture_chamber.ghul, examples/data/world/places/all_places.ghul, src/Attic/Mech.cpp, src/character.cpp, src/combat.c, src/combat.h, src/map.c, src/object.c, src/place.c, src/play.c: New scripts; removed some engine debug and the aborted no-los-in-combat attempt * src/play.c: Added ability to (x)amine terrain visible via xray 2003-07-16 Sam Glasby * examples/data/images/mine-32x32.png: Added a water elemental sprite, species, and npc party. I also added one to Empire City. * examples/data/sprite_sets/misc_added_sprite_set.ghul, examples/data/types/npc_party_defs.ghul, examples/data/types/species.ghul, examples/data/world/places/P_empire_city.ghul: Added a water elemental sprite, species, and npc party. Also added one to Empire City. * examples/data/world/conversations/C_misc_npcs.ghul: Added a new file for conversations with misc NPCs. * examples/data/world/conversations/conversations.ghul: Added a new file ./C_misc_npcs.ghul * examples/data/world/places/P_empire_city.ghul: Added a conversation to the water elemental. 2003-07-15 Sam Glasby * examples/data/images/mechanisms.png, examples/data/images/rune_font_32x32.png: Fixed some errant pixels. 2003-07-15 Gordon McNutt * examples/data/types.ghul, examples/data/types/furniture.ghul, examples/data/world/places/GreenTower.ghul, src/place.c, src/play.c: Added a dresser container and a chair * examples/data/images/lost_dragon.png, examples/data/sprite_sets/lost_dragon.ghul: Added lost_dragon sprite set and images 2003-07-14 Gordon McNutt * examples/data/images/mine-32x32.png, examples/data/sprite_sets/mechanism_sprites.ghul, examples/data/types/projectiles.ghul, src/Arms.cpp, src/Attic/Spell.cpp: Prettied-up the portcullis sprite; fixed the assert if missiles have no sprite; fixed the return value for spells that only cast missiles from 'no effect' to 'success' * examples/data/images/mine-32x32.png, examples/data/sprite_sets/misc_added_sprite_set.ghul, examples/data/types/projectiles.ghul, examples/data/types/terrains.ghul, examples/data/world/places/Glasdrin.ghul, examples/data/world/places/GreenTower.ghul, examples/data/world/places/GreenTowerLower.ghul, examples/data/world/places/GreenTowerLower_Map.ghul: Added wall torches, fixed some script bugs 2003-07-13 Sam Glasby * examples/data/player/party.ghul, examples/data/types/projectiles.ghul, examples/data/types/spells.ghul: Added a new light spell. * examples/data/types/magical_fields.ghul: Added a short-duration "magical illumination" field for a new minor light spell. * examples/data/types/projectiles.ghul: Added a new projectile for a new light spell. * examples/data/types/spells.ghul: Changed BET LOR to use EFFECT_NONE, as it should be. * examples/data/types/spells.ghul: Added comments to the BET LOR (minor light) spell. 2003-07-13 Gordon McNutt * BUGS, examples/data/types.ghul, src/play.c: o [engine] Fixed TARGET_SPELL_LOCATION for wilderness/town mode. * Attic/RELEASE_NOTES, examples/dup_constants.h, examples/data/player/party.ghul, examples/data/types/occupations.ghul, examples/data/types/useable_items.ghul, examples/data/world/characters/Shroom_the_Hag.ghul, examples/data/world/characters/party_members.ghul, examples/data/world/places/GreenTower.ghul, examples/data/world/places/P_terrain_test.ghul, src/Attic/Item.cpp, src/Attic/Item.h, src/Attic/Spell.cpp, src/character.cpp, src/character.h, src/common.h, src/dup_constants.h, src/Attic/game.c: o [engine] Added EFFECT_RESTORE to support mana restoration potions. Had to sacrifice EFFECT_NATURAL because the effects bitmask is out of bits. Turns out bit 31 does not work right because of an issue with atoi interpreting it as an overflow. This will be addressed in the 0.3.x line with the new effects system. * examples/data/sprite_sets/angband_sprite_set.ghul, examples/data/types/chest_traps.ghul, examples/data/types/weapons.ghul, examples/data/world/places/GreenTower.ghul, examples/data/world/places/P_terrain_test.ghul, src/Container.cpp, src/play.c: Added a way to add traps to chests declared in places * examples/data/sprite_sets/angband_sprite_set.ghul, examples/data/types/containers.ghul, examples/data/types/occupations.ghul, examples/data/types/projectiles.ghul, examples/data/world/places/GreenTower.ghul, examples/data/world/places/P_terrain_test.ghul, examples/data/world/places/P_wilderness.ghul, src/place.c, src/place.h, src/play.c: Opening chests now described contents again; modified describe to optionally describe the terrain * examples/data/types/furniture.ghul: Added furniture.ghul 2003-07-12 Sam Glasby * examples/data/types/readable_items.ghul: Minor reformatting of a document. * examples/data/types/weapons.ghul: Minor reformatting. * src/Attic/game.c: Added minor comments. 2003-07-12 Gordon McNutt * Attic/RELEASE_NOTES, examples/data/world/places/P_terrain_test.ghul, src/Container.cpp, src/Container.h: o [engine] When you declare a container on a map you now must provide a list of contents. For example: t_chest 10 10 { } // an empty chest t_barrel 5 10 { t_sword 5 t_arrow 50 } // a barrel with a sword and arrows * Attic/RELEASE_NOTES, examples/data/world.ghul, examples/data/world/characters/Gen.ghul, examples/data/world/characters/inhabitants_of_britain.ghul, examples/data/world/conversations/conversations.ghul, examples/data/world/places/GreenTower.ghul, examples/data/world/places/P_wilderness.ghul, src/character.cpp, src/common.h, src/conv.c: o [daghul] Added an enhanced conversation tree for NPC character Gen and put him in Green Tower. He can teach the player the rudiments of the goblin language. * examples/data/world.ghul, examples/data/sprite_sets/angband_sprite_set.ghul, examples/data/types/useable_items.ghul, examples/data/world/characters/Shroom_the_Hag.ghul, examples/data/world/maps/M_slime_cave.ghul, examples/data/world/places/P_slime_cave.ghul: o [daghul] Added the first real mini-quest. * examples/data/world/characters/Gen.ghul: Bugfix to Gen's conversation * examples/data/world/characters/Gen.ghul, examples/data/world/places/GreenTower.ghul, src/console.c: o [daghul] Gave Gen a schedule; modified the Green Tower map a bit. 2003-07-11 Sam Glasby * src/Attic/Item.cpp: Improved UI prompting for "read a document" mode. * src/play.c: Improved a failure message for teleport spells. 2003-07-10 Gordon McNutt * Attic/RELEASE_NOTES, examples/data/world/conversations/conversations.ghul, src/conv.c, src/conv.h: o CHECK_ITEM takes a number and an operator. It compares the number of such items in the player's inventory against the given value. Sliwan's conversation updated to provide an example. * Attic/RELEASE_NOTES, doc/USERS_GUIDE, examples/data/types/readable_items.ghul, src/play.c: o Added a S)earch command which will reveal things on adjacent tiles that are normally only visible with a Reveal spell o Reformatted the in-game users guide for better readability and use of screen space * Attic/RELEASE_NOTES, examples/data/world/places/P_terrain_test.ghul, src/Attic/game.c, src/object.c, src/object.h: o Added a quantity field for placed items. The arrows, bolts and rocks in the terrain test map provide a sample usage. * examples/data/world/portals.ghul, examples/data/world/places/ForestCave.ghul, examples/data/world/places/P_slime_cave.ghul, examples/data/world/places/all_places.ghul: Added a new dungeon map called Forest Cave * examples/data/world/places/Glasdrin.ghul, examples/data/world/places/P_wilderness.ghul, examples/data/world/places/all_places.ghul: Added a new castle-town called Glasdrin 2003-07-09 Gordon McNutt * Attic/RELEASE_NOTES, examples/data/world.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/GreenTower.ghul, examples/data/world/places/GreenTowerLower.ghul, src/Attic/Mech.cpp, src/conv.c, src/conv.h, src/Attic/game.c: o The blit_map api call now works on places besides the one the mech is located in. Previously it took a place parm but ignored it, defaulting to the current place. Now it works as originally intended. o The CONNECT construct can now be used outside of the object {} block of a PLACE definition, allowing mechs in different places to be more easily wired together. o Mostly for demonstration purposes I added two levers in the middle of Green Tower. One lever activates a portcullis in Green Tower Lower (the underground, a different place) by means of the new global CONNECT construct. The other lever activates a drawbridge in Green Tower Lower by means of the newly corrected 'place' parm of blit map. 2003-07-08 Gordon McNutt * Attic/RELEASE_NOTES, examples/dup_constants.h, examples/data/world/astronomy.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/P_wilderness.ghul, src/dup_constants.h, src/Attic/game.c, src/Attic/game.h, src/sky.c: o Added a mandrake patch to the wilderness. This required a fair amount of new, special-case engine support, which annoys me: a MECH_FULL_MOON signal is supported by the engine and delivered to every mech in the game whenever either moon hits phase 0 (which the engine assumes to be full... see what I mean? warty). * Attic/RELEASE_NOTES, examples/dup_constants.h, examples/data/images/mine-32x32.png, examples/data/player/party.ghul, examples/data/sprite_sets/misc_added_sprite_set.ghul, examples/data/sprite_sets/ultima_IV_sprite_set.ghul, examples/data/types/npc_party_defs.ghul, examples/data/types/species.ghul, examples/data/types/spells.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/GreenTower.ghul, examples/data/world/places/P_slime_cave.ghul, examples/data/world/places/P_wilderness.ghul, src/Attic/Mech.cpp, src/Attic/Mech.h, src/Attic/NpcParty.cpp, src/Attic/Spell.cpp, src/character.cpp, src/combat.c, src/common.h, src/conv.c, src/conv.h, src/dup_constants.h, src/play.c, src/play.h: o Added the create_object api call for mech and conversations scriptlets. This creates a simple object like an armament or item. o Added the create_npc_party api call for same. This creates npc parties and adds them to the specified place (haven't tested created them in other places, but the support is all there). Works in combat (dungeon rooms), too. o Added a new engine-supported mech signal: MECH_TURN, which is delivered every turn to every mechanism within the player's current place. o Added some new mechanism macros in the examples to test the new constructs. See the wilderness, the slime cave and Green Tower for example usage. 2003-07-03 Sam Glasby * src/play.c: Increased cursor range for Xamine and Terraform to take advantage of Zoom mode. 2003-07-03 Gordon McNutt * Attic/RELEASE_NOTES, src/map.c, src/map.h, src/play.c: --Added a ^z for map editing. This toggles map zooming. 2003-07-02 Gordon McNutt * Attic/RELEASE_NOTES, examples/data/def_constants.ghul, examples/data/images/mine-32x32.png, examples/data/player/party.ghul, examples/data/sprite_sets/misc_added_sprite_set.ghul, examples/data/world/astronomy.ghul, examples/data/world/characters/Shroom_the_Hag.ghul, examples/data/world/characters/Attic/char_doris.ghul, examples/data/world/conversations/C_green_tower.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/GreenTower.ghul, src/conv.c, src/player.cpp: --Created a simple inn where the player can check out a room to sleep in. Haven't perfected the logic behind locking the player back out when he's done, or kicking him out if he sleeps too long, etc. I wanted to this completely with mechs, and I think it can be done (except for the kicking out of bed part). Maybe Sam can figure out a nice way to do inns, it seems like his kind of puzzle. * Attic/RELEASE_NOTES, src/Attic/NpcParty.cpp, src/player.cpp, src/player.h: --Npc parties now wake up the player if he is sleeping in their bed. They don't throw him out like they do in u5, but they will keep waking the player up until he moves and let's them get into bed. * Attic/RELEASE_NOTES, examples/data/world/characters/Shroom_the_Hag.ghul, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/Attic/game.c: --When npc parties are asleep they show a different sprite (if any species in the party has a 'sleep_sprite' specified) 2003-07-01 Gordon McNutt * Attic/RELEASE_NOTES, examples/data/def_constants.ghul, examples/data/types.ghul, examples/data/images/mine-32x32.png, examples/data/sprite_sets/misc_added_sprite_set.ghul, examples/data/world/places/GreenTower.ghul, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/map.c, src/map.h, src/object.h, src/place.c, src/play.c, src/player.cpp, src/player.h: CHECKIN_NOTES * examples/data/images/mine-32x32.png, examples/data/sprite_sets/misc_added_sprite_set.ghul, examples/data/sprite_sets/ultima_IV_sprite_set.ghul: ../CHECKIN_NOTES 2003-06-30 Sam Glasby * examples/data/player/party.ghul, examples/data/types/readable_items.ghul: Added a Map Editors guide document in-game. * examples/data/types/readable_items.ghul: Added more info to the Map Editors Guide document. 2003-06-30 Gordon McNutt * Attic/RELEASE_NOTES, Attic/configure, doc/GHULSCRIPT, examples/data/types/npc_party_defs.ghul, examples/data/types/species.ghul, examples/data/types/weapons.ghul, examples/data/world/characters/party_members.ghul, examples/data/world/maps/M_slime_cave.ghul, examples/data/world/places/P_slime_cave.ghul, examples/data/world/places/P_wilderness.ghul, examples/data/world/places/all_places.ghul, src/Attic/NpcParty.cpp, src/character.cpp, src/character.h, src/combat.c, src/place.c, src/species.c, src/species.h: CHECKIN_NOTES 2003-06-29 Sam Glasby * examples/data/types.ghul, examples/data/types/spells.ghul: Removed the unused REAGENT_TYPE() macro. * examples/data/types.ghul, examples/data/types/useable_items.ghul: Moved the ITEM_TYPE() macro. Reformatting. Added POTION_TYPE() macro. Increased torch duration from 1000 to 5000. * examples/data/types.ghul, examples/data/types/projectiles.ghul: Moved the (unused?) AMMO_TYPE() macro. * examples/data/types.ghul, examples/data/types/weapons.ghul: Moved the ARMS_TYPE() macro and went over weapons macros by type. * examples/data/types.ghul, examples/data/types/chest_traps.ghul: Moved the TRAP_TYPE() macro to where it is used. * examples/data/types.ghul, examples/data/types/magical_fields.ghul: Moved the FIELD_TYPE() macro to where it is used. * examples/data/player/party.ghul, examples/data/sprite_sets/angband_sprite_set.ghul, examples/data/types/worn_items.ghul: Macro-ized worn items. Added some new types of helm, body armor, boots. * examples/data/types/projectiles.ghul: Changed projectiles to use a PROJECTILE_TYPE() macro. * examples/data/types/readable_items.ghul: Added DOCUMENT_TYPE() macro. * src/combat.c: Added display of range/reach for ranged/melee attacks to the UI prompt when making an attack. * src/common.h: Removed a kludge #ifdef block. 2003-06-29 Gordon McNutt * Attic/RELEASE_NOTES, Attic/RELEASE_NOTES, Attic/RELEASE_NOTES, Attic/RELEASE_NOTES, examples/data/types/vehicles.ghul, examples/data/world/places/P_terrain_test.ghul, src/combat.c, src/common.c, src/common.h, src/cursor.cpp, src/cursor.h, src/Attic/game.c, src/map.c, src/place.c, src/play.c, src/player.cpp, src/player.h: CHECKIN_NOTES 2003-06-28 Sam Glasby * examples/data/player/party.ghul, examples/data/types/readable_items.ghul, examples/data/types/worn_items.ghul, examples/data/world/places/P_terrain_test.ghul: Added a couple items. Added placed objects to p_terrain_test. Minor formatting, a couple of spelling fixes. * examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/P_terrain_test.ghul: Added a invisible lever mechanism and an example of its use. * examples/data/world/mechanisms/all_mechanisms.ghul: Minor formatting. * examples/data/world/mechanisms/all_mechanisms.ghul: Converted all door-like mechanisms to use the MAKE_DOORLIKE_MECH() macro. * examples/data/world/places/P_rom_camp.ghul: Corrected a comment. * src/play.c: Added notes to detailed_examine_XY() for future implementation. 2003-06-27 Sam Glasby * Attic/RELEASE_NOTES: Updated RELEASE_NOTES with info on the palette+map saving command. * examples/data/types/npc_party_defs.ghul, examples/data/types/species.ghul, examples/data/types/weapons.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/P_rom_camp.ghul: Added horses to the gypsy camp, and a new doorlike mechanism for a fence gate. * examples/data/types/portal_types.ghul, examples/data/world/portals.ghul, examples/data/world/places/P_cavernous_troll_deeps.ghul, examples/data/world/places/all_places.ghul: Created a new dungeon. * examples/data/types/portal_types.ghul: Added a new portal type t_standing_portal. * examples/data/world/maps/M_blank_16x16.ghul: Added a new map template of size 16x16. * examples/data/world/maps/M_blank_32x32.ghul, examples/data/world/maps/M_blank_64x64.ghul: Fixed palette name * examples/data/world/maps/M_blank_32x32.ghul, examples/data/world/maps/M_blank_64x64.ghul: Added a couple of blank map templates. * examples/data/world/places/P_rom_camp.ghul, examples/data/world/places/all_places.ghul: Added a gypsy (Rom) camp. * src/common.h, src/cursor.cpp, src/play.c: Some polish on cursor range things. * src/play.c: Polish and messages for Save Map command. * src/play.c, src/terrain.c, src/terrain_map.c, src/terrain_map.h: Added a map- and palette-saving command which saves the current map and palette to files as GhulScript. 2003-06-26 Sam Glasby * src/cursor.cpp, src/cursor.h, src/map.c, src/map.h, src/play.c: Added mapTileIsWithinViewport() and Cursor::setViewportBounded(). Changed Cursor::move() and the Xamine and Terraform commands to make use of these. The Xamine and Terraform commands now have a cursor range which allows for the viewing/alteration of any tile on the viewport. * src/play.c, src/play.h, src/terrain.c, src/terrain.h: Simplified and improved the terrain_palette API. Improved the UI of Terraform (Home/End, quick terrain get/set) * src/terrain.h: Simplified the internals of quick_terrain in terrain palettes. 2003-06-25 Sam Glasby * Attic/RELEASE_NOTES, examples/data/types/terrains.ghul, src/event.h, src/play.c, src/terrain.c, src/terrain.h: Implemented actual terrain editing in the (^T)erraform command. The command is bound to CONTROL-T, and invokes a UI cursoring mode in which PageUp/PageDown cycle through terrain to draw with (in the current terrain_palette) and (SPACE | ENTER | RETURN) alters terrain. The next step is more UI refinements, and command which saves the current map and palette. * examples/data/player/party.ghul, examples/data/types/terrains.ghul, examples/data/types/vehicles.ghul, examples/data/world/maps/M_dark_passage.ghul, examples/data/world/maps/M_secret_shrine.ghul, examples/data/world/maps/terrain_combat_maps.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/DarkPassage.ghul, examples/data/world/places/GreenTower.ghul, examples/data/world/places/GreenTowerLower_Map.ghul, examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_prison_and_torture_chamber.ghul, examples/data/world/places/P_terrain_test.ghul, examples/data/world/places/P_wilderness.ghul, src/combat.c, src/common.h, src/Attic/game.c, src/terrain_map.c: PALETTE is now a top-level keyword, and the palette {} blocks in MAP {} have been replaced with a palette field taking a palette tag. Also, terrain_map_clone() finally properly fixed, and all maps and palettes in examples/data/ changed to match the new GhulScript syntax. * src/combat.c, src/conv.c, src/event.c, src/event.h, src/play.c, src/play.h: Added keymod support to KeyHandler struct and functions. Added a skeletal (^T)erraform command, bound to CONTROL-T. Currently it only prints messages and does not alter terrain. Checking it in becaues the KeyHandler support touched several files. The next checkin should add actual editing of terrain. * src/combat.c: Commented out some debugging output. * src/combat.c, src/play.c: Improvements to messages for enter/exit zoom-in maps. Remapped the < and \ keys to > and < for consistency with roguelikes. * src/event.c: Minor change in eventHandler(). * src/play.c: More tweaking of zoom-in messages. * src/play.c: Minor improvements to the Xamine and AT commands: Xamine now looks at the party / invoking character tile before any cursor movement is done. AT now prints blank seperator lines above and below its main output. * src/terrain_map.c: Fixed up terrain_map_print() somewhat. 2003-06-23 Sam Glasby * examples/data/types/terrains.ghul, src/Attic/game.c: Added a new top-level keyword PALETTE. This keyword is not used yet (coming next checkin) but will replace the per-map palettes currently used. 2003-06-21 Sam Glasby * scripts/run_nazghul: Added information to the comment header. * scripts/timesort_data, scripts/timesort_src, scripts/touch_all_src: Added scripts which use (touch, ls -tr, find) to help know which files you have modified during a hacking session. * src/terrain_map.c: Fixed a picky, anal, pedantic C++ typecast on malloc(). Curse you C++, curse you... * src/terrain_map.c: Fixed a bug with terrain_map_clone(). A cloned terrain_map should be given a tag, to facilitate later saving. Tags should be unique(ish) however. This change gives a clone of a map with tag "foo" a new tag "foo_c". * src/terrain_map.c: Added some notes about terrains with "facing" (such as diagonal wall corner pieces) which we may desire to support in future. 2003-06-20 Sam Glasby * examples/data/world/places/P_wilderness.ghul, src/combat.c, src/common.c, src/common.h, src/Attic/game.c, src/terrain.c, src/terrain.h, src/terrain_map.c: Added a 'palette' field to terrain_map, for saving same. Changes which ensure that every terrain_map has a palette. Currently this is a best-effort solution; there exists at least one case (merging two maps such as terrain combat map + vehicle map, that is done by overlay_map() I believe; terrain-blitting mechs could do this also, I think.) where, due to terrain being blitted from a map with another palette (said terrain not present in the main map palette), terrain can exist on a map which is not present in the palette. In such cases, I soft-fail when writing the MAP {}, using ? or ?? or the like for any not-in-palette terrain and adding a comment in the generated GhulScript which notes that this was done. This will not be sufficient for the needs of 'save game', but is still very useful for a map editor, where human hands can fix up the palette afterwards. As to how to implement the Right Thing (TM), this brings up some design questions. Once terrain palettes are globally scoped entities, rather than being defined for each MAP {}, there is no truly compelling reason to have more than one palette; or at least one palette per glyph-width. On the other hand, there is no truly compelling reason to rip out multiple palette functionality right now. In the near future (0.3.x branch), we should decide what is best. Multiple palettes would require palette-merging of moderate sophistication. Such code is easy enough to write, but the requirement that it never fail or generate an invalid palette is rather taxing. In any event, here is one more step towards a map editor in-game. * scripts/ghul-indent: Read the manpage, added some whitespace-modifying items, and the "no tabs, use spaces instead" option. Changed to using long-form options. Un-cuddled '} else' 2003-06-19 Sam Glasby * Attic/RELEASE_NOTES, src/Attic/game.c, src/terrain.c, src/terrain.h, src/terrain_map.c, src/terrain_map.h: Added a map-printing function terrain_map_print() which can output GhulScript for a MAP. Work remains to be done, including making sure that every terrain_map has its' palette field properly filled out, and connecting the palette_print() function. (Or better yet, making palettes globally-scoped entities rather than per-map.) * Attic/RELEASE_NOTES, examples/data/player/party.ghul, examples/data/types/vehicles.ghul, examples/data/world/places/GreenTower.ghul, examples/data/world/places/GreenTowerLower_Map.ghul, examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_wilderness.ghul, src/Attic/game.c, src/terrain.h: Finished converting game_load_ascii_terrain_map() to use string-oriented terrain {} block parsing rather than Loader::getRaw(). Now, both compact one_char_per_tile maps and single/multi-byte palette non-compact maps work alike. That is, each line is a quoted string. * src/character.cpp: Added \n to a debug message. * src/terrain_map.c: Un-snarled a diagram in a comment illustrating map rotation. 2003-06-19 Gordon McNutt * BUGS, Attic/configure: One more update to BUGS * BUGS, INSTALL, Attic/RELEASE_NOTES: Updated INSTALL and BUGS * Attic/configure.in, src/nazghul.c: Updated version number to 0.1.2 2003-06-18 Sam Glasby * examples/data/player/party.ghul, examples/data/types/terrains.ghul, examples/data/types/vehicles.ghul, examples/data/world/maps/M_dark_passage.ghul, examples/data/world/maps/M_secret_shrine.ghul, examples/data/world/maps/terrain_combat_maps.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/DarkPassage.ghul, examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_prison_and_torture_chamber.ghul, examples/data/world/places/P_terrain_test.ghul, src/Attic/game.c, src/terrain.c, src/terrain.h: Changed terrain palettes and terrain blocks in MAP constructs (when multi-byte map is specified) to use different parsing code. The new parsing code uses getString() rather than getRaw(). This fixes several bugs pertaining to palette and map loading. TODO: Fix single-byte (compact) maps to work in the same way, and the *.ghul that define such maps to match. * src/common.h: This belongs with the previous commit, with the parsing changes for terrain palette and terarin blocks. The only change in this file is a small hack workaround for a global terrain palette, which I am going to remove in the very near future. I am only checking this in for completeness, my tests showed that CVS built and ran OK without this. 2003-06-18 Gordon McNutt * Attic/RELEASE_NOTES, src/map.c: --Added support for the sleep effect to items (previously only spells). --Party leader is now reevaluated every time some part of the code asks about it (I use to try to cache the leader, but this makes things too complicated). Also, if the leader falls asleep the next in command takes over. --Fixed sleep fields in combat. Looks they were never processed correctly. --Removed the 'find party' and 'find edge' requirements in combat placement. Not sure if this will break something or not, but I decided to do this when I found that nixies could not get distributed on a bridge combat map. That's just silly, and most of that placement code was written back in the day when I wanted the engine to do more ass-covering for map hackers. So I removed it. We'll see what happens. --Fixed the "In Lor" spell by making the caster the default spell target. Apparently I commented that line of code out for some reason but I don't know why. Should have left a note. This time, I did. --Bugfix: the character describe method assumed the character had an occupation. Some npc characters in the example game don't have an occupation. For example, insects in a swarm. --Bugfix: charmed opponents continued to attack the party. This was a bug introduced some time ago when I had characters remember their previous targets so that stepping out of LOS would not make them start to wander aimlessly. We needed to check if we were still hostile to these remembered targets. --Bugfix: npcs standing on los-blocking terrain in combat no longer blind --Bugfix: wave sprites now rendered properly when peering (zoomed out by a factor of two). There were several bugs contributing to this. --Added a level beneath Green Tower (to test some spells, but I think I'll keep it). --Fixed map-wrapping bug in vehicle weapon firing. --Removed derived objects examples/mapfile and examples/data/mapfile from CVS. --Bugfix: x)amine los-checking did not work across map boundaries. * examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/images/mine-32x32.png, examples/data/sprite_sets/misc_added_sprite_set.ghul, examples/data/types/terrains.ghul, examples/data/types/vehicles.ghul, examples/data/world/places/GreenTower.ghul, src/vehicle.cpp, src/vehicle.h: --Added support for the sleep effect to items (previously only spells). --Party leader is now reevaluated every time some part of the code asks about it (I use to try to cache the leader, but this makes things too complicated). Also, if the leader falls asleep the next in command takes over. --Fixed sleep fields in combat. Looks they were never processed correctly. --Removed the 'find party' and 'find edge' requirements in combat placement. Not sure if this will break something or not, but I decided to do this when I found that nixies could not get distributed on a bridge combat map. That's just silly, and most of that placement code was written back in the day when I wanted the engine to do more ass-covering for map hackers. So I removed it. We'll see what happens. --Fixed the "In Lor" spell by making the caster the default spell target. Apparently I commented that line of code out for some reason but I don't know why. Should have left a note. This time, I did. --Bugfix: the character describe method assumed the character had an occupation. Some npc characters in the example game don't have an occupation. For example, insects in a swarm. --Bugfix: charmed opponents continued to attack the party. This was a bug introduced some time ago when I had characters remember their previous targets so that stepping out of LOS would not make them start to wander aimlessly. We needed to check if we were still hostile to these remembered targets. --Bugfix: npcs standing on los-blocking terrain in combat no longer blind --Bugfix: wave sprites now rendered properly when peering (zoomed out by a factor of two). There were several bugs contributing to this. --Added a level beneath Green Tower (to test some spells, but I think I'll keep it). --Fixed map-wrapping bug in vehicle weapon firing. --Removed derived objects examples/mapfile and examples/data/mapfile from CVS. * examples/data/world/characters/Shroom_the_Hag.ghul, examples/data/world/places/GreenTowerLower.ghul, examples/data/world/places/GreenTowerLower_Map.ghul: Forgotten files * scripts/run_nazghul: Adding Sam's run script 2003-06-17 Gordon McNutt * BUGS, Attic/RELEASE_NOTES, examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/player/party.ghul, examples/data/types/species.ghul, examples/data/types/spells.ghul, examples/data/types/useable_items.ghul, examples/data/world/astronomy.ghul, examples/data/world/places/GreenTower.ghul, examples/data/world/places/P_wilderness.ghul, examples/data/world/places/all_places.ghul, src/Attic/Item.cpp, src/Attic/NpcParty.cpp, src/character.cpp, src/combat.c, src/map.c, src/play.c, src/player.cpp, src/screen.c, src/sky.c, src/sprite.c, src/sprite.h: --Added support for the sleep effect to items (previously only spells). --Party leader is now reevaluated every time some part of the code asks about it (I use to try to cache the leader, but this makes things too complicated). Also, if the leader falls asleep the next in command takes over. --Fixed sleep fields in combat. Looks they were never processed correctly. --Removed the 'find party' and 'find edge' requirements in combat placement. Not sure if this will break something or not, but I decided to do this when I found that nixies could not get distributed on a bridge combat map. That's just silly, and most of that placement code was written back in the day when I wanted the engine to do more ass-covering for map hackers. So I removed it. We'll see what happens. --Fixed the "In Lor" spell by making the caster the default spell target. Apparently I commented that line of code out for some reason but I don't know why. Should have left a note. This time, I did. --Bugfix: the character describe method assumed the character had an occupation. Some npc characters in the example game don't have an occupation. For example, insects in a swarm. --Bugfix: charmed opponents continued to attack the party. This was a bug introduced some time ago when I had characters remember their previous targets so that stepping out of LOS would not make them start to wander aimlessly. We needed to check if we were still hostile to these remembered targets. --Bugfix: npcs standing on los-blocking terrain in combat no longer blind --Bugfix: wave sprites now rendered properly when peering (zoomed out by a factor of two). There were several bugs contributing to this. --Added a level beneath Green Tower (to test some spells, but I think I'll keep it). 2003-06-15 Gordon McNutt * BUGS, Attic/RELEASE_NOTES, examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/player/party.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/P_prison_and_torture_chamber.ghul, src/Attic/Mech.cpp, src/Attic/Mech.h: --Bugfix: circular mech activation now has some crude (over)protection. Connecting two lights spaceship-style in no longer causes the engine to crash on stack overflow. * Attic/RELEASE_NOTES, examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/player/party.ghul, src/play.c: --Bugfix: combat resulting from a conversation was not placing the opponent on the combat map. This broke when I made towns function in party mode like the wildernesses. Before that change combat just occurred in town so I didn't need to setup the npc party in the combat map. * Attic/RELEASE_NOTES, examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/types/occupations.ghul, src/Attic/NpcParty.cpp, src/place.c, src/place.h: --Added a druid class. --Npc parties in wander mode no longer walk over hazardous terrain. I was getting concerned about Shroom walking around in the firepit at the White Stag Lodge. :-) * Attic/RELEASE_NOTES, examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/player/party.ghul, examples/data/world/places/GreenTower.ghul, src/Attic/NpcParty.cpp, src/conv.c: --Added a new character to Green Tower. Shroom the Hag owns the reagent shop. * Attic/RELEASE_NOTES, src/cmdwin.c, src/console.c, src/play.c, src/player.cpp: --New feature in the console. If a message is a repeat of the last one then instead of printing it again the console will print a notice of how many time the message has repeated so far. Also changed the way "slow progress" and friends are reported so that it takes advantage of this feature. * Attic/RELEASE_NOTES, src/cmdwin.c, src/cmdwin.h, src/combat.c, src/play.c: --The final contents of the cmdwin are now shown on the main console. 2003-06-14 Sam Glasby * examples/data/player/party.ghul, examples/data/types/terrains.ghul, examples/data/types/vehicles.ghul, examples/data/world/maps/M_secret_shrine.ghul, examples/data/world/places/P_empire_city.ghul, src/Attic/game.c, src/terrain.c, src/terrain.h: Changed the implementation of terrain palettes. Added print functionality for terrain palettes and for terrain palette entries. Got rid of the glyph field of terrains Palettes now have a palette tag Changed world data to match (all map palettes are now named, no glyph field in TERRAIN() macro.) 2003-06-14 Gordon McNutt * BUGS, Attic/RELEASE_NOTES, examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/sprite_sets/moons_sprite_set.ghul, examples/data/sprite_sets/ultima_IV_font_sprite_set.ghul, examples/data/world/astronomy.ghul, src/Attic/Mech.cpp, src/common.h, src/Attic/game.c, src/play.c, src/player.cpp, src/sky.c, src/sky.h, src/terrain.c, src/terrain.h: --Fixed some issues with sunrise/sunset. The sun now begins to appear in the sky window at sunrise, and is completely gone by sunset. The light fades in and out over the space of the first hour after sunrise and before sunset, respectively. The code to calculate sunlight now uses a single consistent forumula, and does so for the moons as well as the sun (more on that below). --The moons now provide light depending on their arc and phase. They can provide at most 128 light units, whereas the sun can provide 255 (max is 255 due to the way the lightmap gets built in map.c). So even with a full moon things are a bit dim. --Replaced the u4 moon sprites with my own, since mine are 16x16 and u4 is only 8x16. Makes the full moons look full. * BUGS, Attic/RELEASE_NOTES, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/play.c: --If the player attacks a non-hostile npc party then the target's alignment bits are cleared from the player's alignment bits. In other words, the npc party and all of its allies are now the player's enemies. If you attack a townsperson all the other townspeople and the guards will attack you if they can. Note that they still aren't smart enough to pathfind through impassable mechanisms, so a door is enough to hold them off. * BUGS, Attic/RELEASE_NOTES, examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/player/party.ghul, src/play.c: --Added the (a)ttack command for towns and wilderness. If the target is non-hostile it prompts the player for confirmation. 2003-06-13 Sam Glasby * examples/data/types/terrains.ghul, src/Attic/game.c, src/terrain.c, src/terrain.h: Obsoleted the 'glyph' field in 'struct terrain' Moved 'struct terrain_palette' to terrain.h Some notes and such. * examples/data/world/astronomy.ghul: Added some notes on the value of arc for the sun. * src/Attic/game.c: Added some notes prior to implementing NULL terrain support for (terrain, terrain_palette, terrain_map). * src/play.c: Polished the use of mapTileIsVisible() in cmdXamine(). * src/terrain.c: Added some notes where the 'struct terrain' API seemed inconsistent. * src/terrain.h: Notes and formatting * src/Attic/util.h: The removal of #include "common.h" from this file prevented compilation. Perhaps it is better for the other files which want common.h to #include it themselves (hash.c, others) but for now I desire that CVS compile. 2003-06-13 Gordon McNutt * BUGS, Attic/RELEASE_NOTES, examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/player/party.ghul, examples/data/world/astronomy.ghul, examples/data/world/places/GreenTower.ghul, examples/data/world/places/all_places.ghul, src/Attic/util.h: --Added start of a new town: Green Tower * examples/data/world/places/GreenTower.ghul: Map upgrade. 2003-06-12 Sam Glasby * examples/data/def_constants.ghul, examples/data/types/terrains.ghul: Moved all the Terrain stuff into terrains.ghul except pmask macros, which are used elsewhere * examples/data/def_constants.ghul, examples/data/types.ghul, examples/data/sprite_sets/rune_font_sprite_set_32x32.ghul, examples/data/sprite_sets/ultima_IV_sprite_set.ghul, examples/data/types/terrains.ghul, examples/data/types/vehicles.ghul, examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_terrain_test.ghul, examples/data/world/places/all_places.ghul: Much work on terrain types. Macro-ization, rearrangement, improved ship combat map, made a new STD_EXPANDED_PALETTE, and added a new place P_terrain_test * examples/data/def_macros.ghul, examples/data/types.ghul: Moved macros to where they were used. * examples/data/types.ghul: Formatting improvements for internal documentation. * examples/data/sprite_sets/rune_font_sprite_set_8x16.ghul: Fixed the path to the image file from "images/" to "data/images/" * src/Attic/Mech.cpp: Turned off some verbose debug output. 2003-06-12 Gordon McNutt * BUGS, Attic/RELEASE_NOTES, doc/GHULSCRIPT, examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/player/party.ghul, examples/data/types/terrains.ghul, examples/data/world/astronomy.ghul, examples/data/world/places/P_wilderness.ghul, src/angband.c, src/map.c, src/map.h, src/play.c, src/sky.c: --Added a campsite map, campsite formation and party formation to the examples file. Increased the light from a fireplace, too. --Added a new function in map: mapTileIsVisible checks if a tile is visible under the LOS rules. 2003-06-11 Sam Glasby * examples/data/types/readable_items.ghul: Added Xamine and AT commands to the "Users Guide to Nazghul" * src/character.cpp, src/character.h, src/combat.c, src/play.c, src/status.c: // Added pmask to Ztats display // Added ammo display to Attack prompt // Require confirmation for attack self // (and attack ally, in near future) // Changed the key to exit combat from ESCAPE to '\' // Improved a few prompts * src/combat.c, src/common.h, src/map.c, src/map.h, src/play.c, src/play.h, src/sky.c, src/sky.h: New command AT which displays party-centric information. Lots of astronomy functions stuff related to this as well. * src/combat.c, src/event.h, src/play.c: Refactored the Xamine command to un-munge struct KeyHandler for future expansions * src/play.c: Look, Xamine, Ztats, AT take zero turns, improved some prompts 2003-06-11 Gordon McNutt * BUGS, Attic/RELEASE_NOTES, examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/world/places/P_wilderness.ghul, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/Attic/Spell.cpp, src/combat.c, src/Attic/game.c, src/map.c, src/object.c, src/play.c: --Fixed a memory leak. NpcParty objects were not being deleted after combat except in the case where the NpcParty initiated combat. Added a new flag to the NpcParty class: 'destroy_on_combat_exit'. By default it is true. In the case where the NpcParty initiates combat it sets it to false before entering combat. After combat the NpcParty will be deleted once it returns to the code in place.c which updates objects every turn. * Attic/RELEASE_NOTES, doc/GHULSCRIPT, examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/world/astronomy.ghul, examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_wilderness.ghul, src/play.c, src/sound.c: --Fixed a crash that occurred on startup if the --sound 0 option was specified. 2003-06-08 Gordon McNutt * Attic/RELEASE_NOTES, examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/world.ghul, src/Attic/NpcParty.cpp, src/combat.c, src/combat.h, src/common.h, src/Attic/game.c, src/vehicle.cpp: --Added a COMBAT section to the script. Currently this is only used to declare the sound files used in combat for events like entry, defeat and victory. --Fixed a bug introduced when I fixed cannons firing in town. The npc code was not properly incrementing turns when it fired cannons. --When npc vehicle weapons hit an npc party it was printing "You hit ", as if the player was doing the firing. Changed the message from "you" to whatever the name of the weapon being fired. * Attic/RELEASE_NOTES, examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/types/species.ghul, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/character.cpp, src/character.h, src/combat.c, src/map.c, src/map.h, src/object.c, src/object.h, src/place.h, src/play.c, src/player.cpp, src/sound.c, src/sound.h, src/species.c, src/species.h, src/vehicle.cpp: --Added sound attenuation with distance (hearing the nixies splash around gets really annoying when you can't get away from it - need to find some better sounds). I only made it apply in party mode because in combat mode it's a bit trickier for the code that's playing the sound to figure out which party member it needs to calculate the distance from. Since dungeons are not party mode I'll probably want to reconsider how to do that. * Attic/RELEASE_NOTES, examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/types/species.ghul, examples/data/world/characters/Olin_the_Ghast.ghul, examples/data/world/characters/inhabitants_of_britain.ghul, src/Attic/Loader.cpp, src/Attic/Loader.h, src/character.cpp, src/character.h, src/sound.c, src/species.c, src/species.h: --Fixed bugs related to playing a sound when damage is inflicted. Previously it was a hardcoded hack that broke a while back when we split the data files into their own directory. The fix was to add an optional 'damage_sound' field to both the SPECIES and CHAR declarations. When a character receives damage it will first check if it has its own special damage sound to play, otherwise it will check if its species has a damage sound to play, otherwise it doesn't play anything. This works in the case of damaging npc parties, too (for example with ship cannons) because npc party damage calls the character damage routines. In the examples I modified all species to play the old traditional damage sound. 2003-06-07 Gordon McNutt * BUGS: Added a BUGS file for per-release bug info * INSTALL, Attic/configure, Attic/configure.in, src/nazghul.c: Updated INSTALL and configure.in in preparation for release 0.1.1 * Attic/RELEASE_NOTES, examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/types.ghul, examples/data/types/projectiles.ghul, examples/data/types/vehicles.ghul, src/common.h, src/place.c, src/place.h, src/play.c, src/player.cpp, src/player.h, src/vehicle.cpp: --Fixed the bug Sam reported about firing cannons in town. Whenever the cannon was fired the turns were updates as if the party was in the wilderness, not town. So about 64 turns passed, and if any hostiles happened to be nearby you would immediately enter combat. Also spruced up the messages shown when firing and fixed the cannonball sprite (finally :-)) in the examples. * examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/player/party.ghul, examples/data/types/readable_items.ghul: Removed the old notes which referred to LB and SH 2003-06-06 Gordon McNutt * examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/player/party.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_prison_and_torture_chamber.ghul, src/Attic/Mech.cpp, src/Attic/Mech.h, src/object.h, src/place.c: --Changed the way mechs are described. From now on, the mech state name is an adjective. This adjective is applied to the mech name when the mech is described. For example, if a "door" mech is in a "closed" state then the l)ook or x)amine commands will describe it as "a locked door" (the articles 'a' and 'an' are automatically derived by the engine's code for describing objects). If the mech has no state, or if the state has no name, then simply the mechanism name is used. E.g., "a door". I updated all the mechs in the example game so that they are described nicely now. --I also added a new optional field to mechanism states: 'invisible'. By default it is false. When true the mechanism is not shown on the map and it is not described by l)ook or x)amine. However, if Reveal is in effect (Wis Quas in the current magic system), then the mechanism is described and - if a sprite is available - rendered. --Closed moongates are not described by l)ook or x)amine unless Reveal is in effect. 2003-06-05 Gordon McNutt * examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/world.ghul, examples/data/world/maps/terrain_combat_maps.ghul, examples/data/world/places/P_wilderness.ghul: --Created a combat map for east-west bridges (combat looks kind of funny when half the map has been terrain-filled with bridge icons ;)). * examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/player/party.ghul, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/cursor.cpp, src/place.c: --Sam found some bugs in cursor movement related to map-wrapping. Fixed those and added a regression test for this case. --If an npc party is in a vehicle, the l)ook and x)amine commands will now say so. * examples/Attic/mapfile, examples/data/def_constants.ghul, examples/data/Attic/mapfile, examples/data/types/portal_types.ghul, examples/data/world/portals.ghul, examples/data/world/places/DarkPassage.ghul, src/character.cpp, src/combat.c: --Previously party members could switch places if one bumped another one on the map. But if passability constraints didn't permit the switch then the move simply failed. In order to get us out of some corner cases I modified this so that if passability checks fail then the move succeeds and the mover is simply stacked on the same tile as the other member. We already stack to solve passability problems on dungeon entrance, so this just extends the scope of that compromise. --Implemented the new dungeon exit rules regarding portal entry: the party must be in party mode, all members must be able to rendezvous at the portal, and the exit takes effect atomically (i.e., everybody exits at once via the portal or nobody at all gets to go through the portal). This concludes the new player movement algorithm. And that calls for a beer. * src/character.cpp, src/character.h, src/object.c, src/object.h, src/place.c, src/play.c, src/player.cpp, src/player.h, src/vehicle.cpp: --Fixed the L)ook and X)amine output to be for the most part correct. We still need to make up our minds on what to print for mechanisms, but other than that the output should be correct. --Also resynched the layer enumeration in object.h and the LAYER_* #defines in examples/data/def_constants.ghul (we really need to fix this dependency). I did this so that the cursor would not be described by the l)ook or x)amine commands. Note that if they get out of synch again we might see the cursor being described and things kept at a nother layer NOT described, so watch for this. 2003-06-04 Sam Glasby * examples/data/sprite_sets/misc_added_sprite_set.ghul: Minor formatting fix (removed duplicate ;;) * examples/data/world/maps/terrain_combat_maps.ghul: Changed the m_water_combat map to 32x32 to match the rest. * examples/data/world/places/P_empire_city.ghul: Changed the castle_bay_portcullis lever's initial state to match the terrain initial state. (Minor tweak) * src/combat.c, src/cursor.cpp, src/event.h, src/play.c, src/play.h: Added an (X)amine command, which is an extended (L)ook. And some notes ton the Cursor API. 2003-06-04 Gordon McNutt * examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/world/places/P_empire_city.ghul, src/play.c, src/player.cpp, src/player.h: --Added a minor hack to force the game into dungeon mode if it loads up with the player party starting out in a dungeon. Previously the party would be in the dungeon, but it would be in party mode. The new game rules forbid party mode in a dungeon. * examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/player/party.ghul, examples/data/world/portals.ghul, examples/data/world/places/P_prison_and_torture_chamber.ghul, src/combat.c, src/place.c: --Discovered that "follow mode" did not work correctly when the party leader moved north or east. Not sure how long that's been like that, but I fixed it in place.c. --Fixed a crash when entering a dungeon from another dungeon. The combat code was tring to derefence the party's current place to check for an unboarded vehicle (this is necessary for town/wilderness combat), but the last dungeon entry erased the current place. This seems to be the only place combat code tries to find the party's current place without first checking that it is town or wilderness combat. Fixed it by simply skipping the vehicle test if the party's current place is null. --Added another dungeon, "Dark Passage", with links both to the Prison Chamber and to the surface of Empire City. Tested moving between them all and everything seems ok for the simple cases. * examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/world/characters/BlackBart_the_Shipwright.ghul, src/Attic/NpcParty.cpp, src/place.c, src/place.h: This checkin fixes all known problems with creating temporary combat maps. --The combat algorith now always combines the map derived from the player party's tile with the map derived from the npc party's tile. Before it only did this when it was creating filled maps from the terrain, not it will use the combat map specified for the terrain, too. --Terrain combat maps are now required to be at least COMBAT_MAP_W x COMBAT_MAP_H in size (currently set to 32 x 32 in combat.h). The combat code will assert if a map is too small, but before that happens the parser code will catch it at load time. --Fixed the old combat maps for forest and grass to be 32 x 32 (didn't touch Sam's new water map - he may want to make his own changes at this point). * examples/data/world/places/DarkPassage.ghul: Forgot to check this in * src/character.cpp, src/character.h, src/combat.c: --Changed combat party positioning code. When entering combat, if a party member cannot find a safe position then it will default to the party's "start" location. This means that party members can get stacked, and that they can get stranded on combat maps. But it also means that entry to combat or dungeons is guaranteed to work, and this simplifies the movement algorithm tremendously. 2003-06-03 Gordon McNutt * examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/world.ghul, examples/data/player/party.ghul, examples/data/world/maps/terrain_combat_maps.ghul, src/combat.c, src/combat.h, src/Attic/game.c: This checkin fixes all known problems with creating temporary combat maps. --The combat algorith now always combines the map derived from the player party's tile with the map derived from the npc party's tile. Before it only did this when it was creating filled maps from the terrain, not it will use the combat map specified for the terrain, too. --Terrain combat maps are now required to be at least COMBAT_MAP_W x COMBAT_MAP_H in size (currently set to 32 x 32 in combat.h). The combat code will assert if a map is too small, but before that happens the parser code will catch it at load time. --Fixed the old combat maps for forest and grass to be 32 x 32 (didn't touch Sam's new water map - he may want to make his own changes at this point). 2003-06-02 Sam Glasby * examples/data/def_constants.ghul, examples/data/world.ghul, examples/data/sprite_sets/mechanism_sprites.ghul, examples/data/types/npc_party_defs.ghul, examples/data/types/occupations.ghul, examples/data/types/species.ghul, examples/data/world/maps/terrain_combat_maps.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_wilderness.ghul: 2003/06/01 -- map changes, nixies, mechanism macros and sprites 2003-06-02 Gordon McNutt * doc/USERS_GUIDE: Updated the section on magic in the USERS_GUIDE to match the current example game * examples/Attic/mapfile, examples/data/def_constants.ghul, examples/data/Attic/mapfile, examples/data/player/party.ghul, src/Attic/Mech.cpp, src/place.c: Fixed passability problems with mechs. * src/combat.c, src/place.h, src/player.cpp, src/player.h: --First pass at new dungeon support. Party correctly enters and exits an empty dungeon with only one entrance. Haven't tested other cases yet. 2003-06-01 Gordon McNutt * doc/Attic/GAME_DEVELOPERS_GUIDE, doc/MAP_HACKERS_GUIDE: Moved a doc * doc/USERS_GUIDE: Updated for 0.2.0 release * examples/Attic/mapfile, examples/data/def_constants.ghul, examples/data/Attic/mapfile, examples/data/player/party.ghul, examples/data/types/species.ghul, examples/data/types/terrains.ghul, examples/data/types/vehicles.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/P_empire_city.ghul: --Added SOLID as a passability bit to the examples and modified most currently impassable terrain and impassable mech states to use it. Also uodated all literal constant passability masks to use macros. --Added pretty much all bits to the ghast passability mask. This allows them to walk through walls, over water, etc. --Added Olin to Empire City and gave him a schedule and a conversation tree, including an option to join the party. --Removed WATER from the gazer pmask (still has SHOALS, though) --Added a mortuary and crypt to Empire City. --Removed the pmask field in the player party definition. This field is now obsolete - the engine will use the intersection of the party member's pmasks to compute party passability. * examples/data/def_constants.ghul, examples/data/def_macros.ghul, examples/data/main.ghul, examples/data/types.ghul, examples/data/world.ghul, examples/data/player/party.ghul, examples/data/sprite_sets/angband_sprite_set.ghul, examples/data/sprite_sets/frame_sprite_set.ghul, examples/data/sprite_sets/mechanism_sprites.ghul, examples/data/sprite_sets/misc_added_sprite_set.ghul, examples/data/sprite_sets/moons_sprite_set.ghul, examples/data/sprite_sets/rune_font_sprite_set.ghul, examples/data/sprite_sets/rune_font_sprite_set_32x32.ghul, examples/data/sprite_sets/rune_font_sprite_set_8x16.ghul, examples/data/sprite_sets/sam_new_tiles_32x32.ghul, examples/data/sprite_sets/ultima_IV_font_sprite_set.ghul, examples/data/sprite_sets/ultima_IV_sprite_set.ghul, examples/data/types/chest_traps.ghul, examples/data/types/containers.ghul, examples/data/types/magical_fields.ghul, examples/data/types/npc_party_defs.ghul, examples/data/types/occupations.ghul, examples/data/types/portal_types.ghul, examples/data/types/projectiles.ghul, examples/data/types/readable_items.ghul, examples/data/types/species.ghul, examples/data/types/spells.ghul, examples/data/types/terrains.ghul, examples/data/types/useable_items.ghul, examples/data/types/vehicles.ghul, examples/data/types/weapons.ghul, examples/data/types/worn_items.ghul, examples/data/world/astronomy.ghul, examples/data/world/portals.ghul, examples/data/world/characters/BlackBart_the_Shipwright.ghul, examples/data/world/characters/inhabitants_of_britain.ghul, examples/data/world/characters/party_members.ghul, examples/data/world/conversations/conversations.ghul, examples/data/world/maps/M_dark_passage.ghul, examples/data/world/maps/M_secret_shrine.ghul, examples/data/world/maps/terrain_combat_maps.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_prison_and_torture_chamber.ghul, examples/data/world/places/P_wilderness.ghul, examples/data/world/places/all_places.ghul, scripts/apply-license-header, scripts/ghul-indent, scripts/gpl.h, scripts/public-domain.h, scripts/remove-old-copyright-header, src/Arms.cpp, src/Arms.h, src/Container.cpp, src/Container.h, src/Field.h, src/Attic/Item.cpp, src/Attic/Item.h, src/Attic/Loader.cpp, src/Attic/Loader.h, src/Attic/Mech.cpp, src/Attic/Mech.h, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/Reagent.cpp, src/Reagent.h, src/Attic/Spell.cpp, src/Attic/Spell.h, src/Attic/Trap.cpp, src/Attic/Trap.h, src/angband.c, src/ascii.c, src/ascii.h, src/astar.c, src/astar.h, src/character.cpp, src/character.h, src/cmdwin.c, src/cmdwin.h, src/combat.c, src/combat.h, src/common.c, src/common.h, src/console.c, src/console.h, src/constants.h, src/conv.c, src/conv.h, src/cursor.cpp, src/cursor.h, src/debug.h, src/dup_constants.h, src/event.c, src/event.h, src/floodfill.c, src/foogod.c, src/foogod.h, src/formation.h, src/Attic/game.c, src/Attic/game.h, src/hash.c, src/hash.h, src/heap.c, src/heap.h, src/images.c, src/images.h, src/knapsack.c, src/knapsack.h, src/Attic/lexer.c, src/Attic/lexer.h, src/list.h, src/los.c, src/los.h, src/map.c, src/map.h, src/Attic/moongate.c, src/Attic/moongate.h, src/nazghul.c, src/object.c, src/object.h, src/occ.c, src/occ.h, src/olist.c, src/olist.h, src/pinfo.h, src/place.c, src/place.h, src/play.c, src/play.h, src/player.cpp, src/player.h, src/Attic/portal.h, src/sched.c, src/sched.h, src/screen.c, src/screen.h, src/sky.c, src/sky.h, src/sound.c, src/sound.h, src/species.c, src/species.h, src/sprite.c, src/sprite.h, src/status.c, src/status.h, src/terrain.c, src/terrain.h, src/terrain_map.c, src/terrain_map.h, src/tree.c, src/tree.h, src/Attic/util.c, src/Attic/util.h, src/vehicle.cpp, src/vehicle.h, src/wind.c, src/wind.h, src/wq.c, src/wq.h: Added license headers to all source and example files * examples/data/main.ghul, examples/data/types.ghul, examples/data/types/spells.ghul: Cleaned up some obsolete references to u4/u5/u6 * examples/data/world/characters/Olin_the_Ghast.ghul: Missed this file on an earlier commit * src/Attic/NpcParty.cpp, src/Attic/game.c, src/player.cpp, src/player.h: --Fixed a bug in NpcParty related to npc schedules. The engine was only properly advancing turns for the known nps schedule activities. Activities extended by the script were not updating the npc turn counter, resulting in an infinite loop when the engine tried to update npc turns. --Removed the pmask field from the player party, both in the parsing code and in the class definition. Player party pmask is now calculated on the fly from the intersection of party member pmasks. --Modified the add_member routine in the player party to reject proposed members which do not have a passability bit in common with the party pmask. In the case of the first member added to the party this rule is skipped. 2003-05-31 Gordon McNutt * Makefile.am, Attic/Makefile.in, Attic/configure, Attic/configure.in: --Minor cleanup in configure.in (comments only) --Version number now 0.2.0 (configure.in) --If you build the distro tarball from the cvs tree the cvs directories are now removed. * autogen.sh, examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/player/party.ghul, examples/data/world/characters/BlackBart_the_Shipwright.ghul, src/conv.c, src/place.c: -- Fixed a bug in conversation parsing which did not properly chain "send_signal" and "set_alarm", so if these were not last in the list of responses they would not be executed. -- Fixed a crash when "blinking" across a wilderness map boundary. Some of the public entry functions to place.c were not wrapping coordinates, resulting in some bad tile lookups. Fixed all public functions to wrap when the map supports it. -- Updated Black Bart's conversation to inherit from the generic orc conversation, and edited it for consistency. * Attic/configure.in: Re-enabled the -O2 option * examples/Makefile.am, examples/Makefile.in, examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/world.ghul: -- Fixed Makefile.am to generate a Makefile which always forces a rebuild of the example mapfile. -- Fixed a build error introduced when I removed a map in my previous checkin. * examples/data/world/maps/Attic/M_prison_and_torture_chamber.ghul, examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_prison_and_torture_chamber.ghul: -- Removed obsolete map files. -- Added place file for empire city. * src/Attic/Mech.cpp, src/Attic/Spell.cpp, src/Attic/game.c, src/play.c: Fixed all the uninitialized variables that -Wall was warning about when the -O2 option was enabled. That also seems to fix the runtime crashes that occurred when -O2 was enabled. * src/Attic/game.c: Found another uninitialized variable that caused a crash during game load 2003-05-30 Gordon McNutt * doc/GAME_RULES: Modified some rules pertaining to party movement from town to world maps and through portals. * doc/GAME_RULES: Added GAME_RULES to capture the explanation and reasoning behind engine behaviour where it differs from u5 * examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/world/characters/BlackBart_the_Shipwright.ghul, examples/data/world/mechanisms/all_mechanisms.ghul: -- Added a shipwright to Empire City where the player can purchase a ship. * examples/Attic/mapfile, examples/data/Attic/mapfile, examples/data/world/astronomy.ghul, examples/data/world/places/P_wilderness.ghul: -- Improved terrain variety on the wilderness map. * src/Attic/Makefile.in, src/Attic/NpcParty.cpp, src/player.cpp: -- Portals and moongates now trump terrain passability in party movement. If a tile has a portal, terrain passability is ignored. -- The engine no longer checks portals for destination passability. If the party enters a portal, it's going to move through it regardless of what's on the other side. This does not affect entering towns from a map edge, however. In that case passability is still determined by the terrain at the edge of the town map. -- When stepping through a portal the player now gets a quick look at what's there before the party appears. This is to hopefully make things less confusing when the party portals on top of a hostile npc party and combat starts up. 2003-05-29 Gordon McNutt * doc/Attic/GAME_DEVELOPERS_GUIDE, src/Attic/game.c, src/play.c, src/player.cpp, src/player.h: t * examples/Makefile.am, examples/Makefile.in, examples/Attic/mapfile, examples/data/def_constants.ghul, examples/data/Attic/mapfile, examples/data/types.ghul, examples/data/world.ghul, examples/data/player/party.ghul, examples/data/sprite_sets/mechanism_sprites.ghul, examples/data/world/astronomy.ghul, examples/data/world/portals.ghul, examples/data/world/characters/inhabitants_of_britain.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/all_places.ghul: Tried to fix Makefile.am (didn't quite); imported empire city map; some new mech macros * examples/data/world/places/P_wilderness.ghul, examples/data/world/places/all_places.ghul: Added new simple wilderness 2003-05-28 Gordon McNutt * COPYING, INSTALL, Makefile.am, Attic/Makefile.in, README, Attic/aclocal.m4, Attic/config.guess, Attic/config.sub, Attic/configure, Attic/configure.in, Attic/install-sh, Attic/missing, Attic/mkinstalldirs, examples/Attic/.console, examples/Makefile.am, examples/Makefile.in, examples/dup_constants.h, examples/Attic/mapfile, examples/data/ALL_GHULFILES, examples/data/Makefile, examples/data/def_constants.ghul, examples/data/def_macros.ghul, examples/data/main.ghul, examples/data/Attic/mapfile, examples/data/types.ghul, examples/data/world.ghul, examples/data/images/angband-16x16.png, examples/data/images/angband-32x32.png, examples/data/images/charset-16x16.png, examples/data/images/charset-8x16.png, examples/data/images/charset-8x16_intra1.png, examples/data/images/charset-8x8.png, examples/data/images/frame.png, examples/data/images/frame_pieces.png, examples/data/images/frame_pieces_2-16x16.png, examples/data/images/images_35x24_intra1.png, examples/data/images/mechanisms.png, examples/data/images/mine-32x32.png, examples/data/images/moons-16x16.png, examples/data/images/rune_font_32x32.png, examples/data/images/rune_font_8x16.png, examples/data/images/sam_32x32_font_template.png, examples/data/images/sam_mechanisms_template.png, examples/data/images/sam_new_tiles_32x32_intra1.png, examples/data/images/shapes-16x16.png, examples/data/images/shapes-32x32.png, examples/data/images/shrine-32x32.png, examples/data/images/splash.png, examples/data/images/u4_enhanced_tiles_32x32.png, examples/data/images/u4_enhanced_tiles_32x32_intra_1.png, examples/data/player/party.ghul, examples/data/sounds/cannon.wav, examples/data/sounds/damage.wav, examples/data/sounds/drum_02.wav, examples/data/sounds/enter_moongate.wav, examples/data/sounds/fanfare5.wav, examples/data/sounds/fanfare7.wav, examples/data/sounds/footsteps_1.wav, examples/data/sounds/horse.wav, examples/data/sounds/rowing-old1.wav, examples/data/sounds/rowing.wav, examples/data/sounds/walk.wav, examples/data/sprite_sets/angband_sprite_set.ghul, examples/data/sprite_sets/frame_sprite_set.ghul, examples/data/sprite_sets/mechanism_sprites.ghul, examples/data/sprite_sets/misc_added_sprite_set.ghul, examples/data/sprite_sets/moons_sprite_set.ghul, examples/data/sprite_sets/rune_font_sprite_set.ghul, examples/data/sprite_sets/rune_font_sprite_set_32x32.ghul, examples/data/sprite_sets/rune_font_sprite_set_8x16.ghul, examples/data/sprite_sets/sam_new_tiles_32x32.ghul, examples/data/sprite_sets/ultima_IV_font_sprite_set.ghul, examples/data/sprite_sets/ultima_IV_sprite_set.ghul, examples/data/tile_sheet_utils/TileSheet.pm, examples/data/tile_sheet_utils/reformat_tile_sheet.perl, examples/data/types/chest_traps.ghul, examples/data/types/containers.ghul, examples/data/types/magical_fields.ghul, examples/data/types/npc_party_defs.ghul, examples/data/types/occupations.ghul, examples/data/types/portal_types.ghul, examples/data/types/projectiles.ghul, examples/data/types/readable_items.ghul, examples/data/types/species.ghul, examples/data/types/spells.ghul, examples/data/types/terrains.ghul, examples/data/types/useable_items.ghul, examples/data/types/vehicles.ghul, examples/data/types/weapons.ghul, examples/data/types/worn_items.ghul, examples/data/world/astronomy.ghul, examples/data/world/portals.ghul, examples/data/world/characters/inhabitants_of_britain.ghul, examples/data/world/characters/party_members.ghul, examples/data/world/conversations/conversations.ghul, examples/data/world/maps/M_dark_passage.ghul, examples/data/world/maps/Attic/M_prison_and_torture_chamber.ghul, examples/data/world/maps/M_secret_shrine.ghul, examples/data/world/maps/terrain_combat_maps.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/all_places.ghul, examples/data/world/sounds/cannon.wav, examples/data/world/sounds/damage.wav, examples/data/world/sounds/drum_02.wav, examples/data/world/sounds/enter_moongate.wav, examples/data/world/sounds/fanfare5.wav, examples/data/world/sounds/fanfare7.wav, examples/data/world/sounds/footsteps_1.wav, examples/data/world/sounds/horse.wav, examples/data/world/sounds/rowing-old1.wav, examples/data/world/sounds/rowing.wav, examples/data/world/sounds/walk.wav, src/Arms.cpp, src/Arms.h, src/Container.cpp, src/Container.h, src/Field.h, src/Attic/Item.cpp, src/Attic/Item.h, src/Attic/Loader.cpp, src/Attic/Loader.h, src/Makefile.am, src/Attic/Makefile.in, src/Attic/Mech.cpp, src/Attic/Mech.h, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/Reagent.cpp, src/Reagent.h, src/Attic/Spell.cpp, src/Attic/Spell.h, src/Attic/Trap.cpp, src/Attic/Trap.h, src/angband.c, src/ascii.c, src/ascii.h, src/astar.c, src/astar.h, src/character.cpp, src/character.h, src/cmdwin.c, src/cmdwin.h, src/combat.c, src/combat.h, src/common.c, src/common.h, src/console.c, src/console.h, src/constants.h, src/conv.c, src/conv.h, src/cursor.cpp, src/cursor.h, src/debug.h, src/dup_constants.h, src/event.c, src/event.h, src/floodfill.c, src/foogod.c, src/foogod.h, src/formation.h, src/Attic/game.c, src/Attic/game.h, src/hash.c, src/hash.h, src/heap.c, src/heap.h, src/images.c, src/images.h, src/knapsack.c, src/knapsack.h, src/Attic/lexer.c, src/Attic/lexer.h, src/list.h, src/los.c, src/los.h, src/map.c, src/map.h, src/Attic/moongate.c, src/Attic/moongate.h, src/nazghul.c, src/object.c, src/object.h, src/occ.c, src/occ.h, src/olist.c, src/olist.h, src/pinfo.h, src/place.c, src/place.h, src/play.c, src/play.h, src/player.cpp, src/player.h, src/Attic/portal.h, src/sched.c, src/sched.h, src/screen.c, src/screen.h, src/sky.c, src/sky.h, src/sound.c, src/sound.h, src/species.c, src/species.h, src/sprite.c, src/sprite.h, src/status.c, src/status.h, src/terrain.c, src/terrain.h, src/terrain_map.c, src/terrain_map.h, src/tree.c, src/tree.h, src/Attic/util.c, src/Attic/util.h, src/vehicle.cpp, src/vehicle.h, src/wind.c, src/wind.h, src/wq.c, src/wq.h: Initial revision * COPYING, INSTALL, Makefile.am, Attic/Makefile.in, README, Attic/aclocal.m4, Attic/config.guess, Attic/config.sub, Attic/configure, Attic/configure.in, Attic/install-sh, Attic/missing, Attic/mkinstalldirs, examples/Attic/.console, examples/Makefile.am, examples/Makefile.in, examples/dup_constants.h, examples/Attic/mapfile, examples/data/ALL_GHULFILES, examples/data/Makefile, examples/data/def_constants.ghul, examples/data/def_macros.ghul, examples/data/main.ghul, examples/data/Attic/mapfile, examples/data/types.ghul, examples/data/world.ghul, examples/data/images/angband-16x16.png, examples/data/images/angband-32x32.png, examples/data/images/charset-16x16.png, examples/data/images/charset-8x16.png, examples/data/images/charset-8x16_intra1.png, examples/data/images/charset-8x8.png, examples/data/images/frame.png, examples/data/images/frame_pieces.png, examples/data/images/frame_pieces_2-16x16.png, examples/data/images/images_35x24_intra1.png, examples/data/images/mechanisms.png, examples/data/images/mine-32x32.png, examples/data/images/moons-16x16.png, examples/data/images/rune_font_32x32.png, examples/data/images/rune_font_8x16.png, examples/data/images/sam_32x32_font_template.png, examples/data/images/sam_mechanisms_template.png, examples/data/images/sam_new_tiles_32x32_intra1.png, examples/data/images/shapes-16x16.png, examples/data/images/shapes-32x32.png, examples/data/images/shrine-32x32.png, examples/data/images/splash.png, examples/data/images/u4_enhanced_tiles_32x32.png, examples/data/images/u4_enhanced_tiles_32x32_intra_1.png, examples/data/player/party.ghul, examples/data/sounds/cannon.wav, examples/data/sounds/damage.wav, examples/data/sounds/drum_02.wav, examples/data/sounds/enter_moongate.wav, examples/data/sounds/fanfare5.wav, examples/data/sounds/fanfare7.wav, examples/data/sounds/footsteps_1.wav, examples/data/sounds/horse.wav, examples/data/sounds/rowing-old1.wav, examples/data/sounds/rowing.wav, examples/data/sounds/walk.wav, examples/data/sprite_sets/angband_sprite_set.ghul, examples/data/sprite_sets/frame_sprite_set.ghul, examples/data/sprite_sets/mechanism_sprites.ghul, examples/data/sprite_sets/misc_added_sprite_set.ghul, examples/data/sprite_sets/moons_sprite_set.ghul, examples/data/sprite_sets/rune_font_sprite_set.ghul, examples/data/sprite_sets/rune_font_sprite_set_32x32.ghul, examples/data/sprite_sets/rune_font_sprite_set_8x16.ghul, examples/data/sprite_sets/sam_new_tiles_32x32.ghul, examples/data/sprite_sets/ultima_IV_font_sprite_set.ghul, examples/data/sprite_sets/ultima_IV_sprite_set.ghul, examples/data/tile_sheet_utils/TileSheet.pm, examples/data/tile_sheet_utils/reformat_tile_sheet.perl, examples/data/types/chest_traps.ghul, examples/data/types/containers.ghul, examples/data/types/magical_fields.ghul, examples/data/types/npc_party_defs.ghul, examples/data/types/occupations.ghul, examples/data/types/portal_types.ghul, examples/data/types/projectiles.ghul, examples/data/types/readable_items.ghul, examples/data/types/species.ghul, examples/data/types/spells.ghul, examples/data/types/terrains.ghul, examples/data/types/useable_items.ghul, examples/data/types/vehicles.ghul, examples/data/types/weapons.ghul, examples/data/types/worn_items.ghul, examples/data/world/astronomy.ghul, examples/data/world/portals.ghul, examples/data/world/characters/inhabitants_of_britain.ghul, examples/data/world/characters/party_members.ghul, examples/data/world/conversations/conversations.ghul, examples/data/world/maps/M_dark_passage.ghul, examples/data/world/maps/Attic/M_prison_and_torture_chamber.ghul, examples/data/world/maps/M_secret_shrine.ghul, examples/data/world/maps/terrain_combat_maps.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/all_places.ghul, examples/data/world/sounds/cannon.wav, examples/data/world/sounds/damage.wav, examples/data/world/sounds/drum_02.wav, examples/data/world/sounds/enter_moongate.wav, examples/data/world/sounds/fanfare5.wav, examples/data/world/sounds/fanfare7.wav, examples/data/world/sounds/footsteps_1.wav, examples/data/world/sounds/horse.wav, examples/data/world/sounds/rowing-old1.wav, examples/data/world/sounds/rowing.wav, examples/data/world/sounds/walk.wav, src/Arms.cpp, src/Arms.h, src/Container.cpp, src/Container.h, src/Field.h, src/Attic/Item.cpp, src/Attic/Item.h, src/Attic/Loader.cpp, src/Attic/Loader.h, src/Makefile.am, src/Attic/Makefile.in, src/Attic/Mech.cpp, src/Attic/Mech.h, src/Attic/NpcParty.cpp, src/Attic/NpcParty.h, src/Reagent.cpp, src/Reagent.h, src/Attic/Spell.cpp, src/Attic/Spell.h, src/Attic/Trap.cpp, src/Attic/Trap.h, src/angband.c, src/ascii.c, src/ascii.h, src/astar.c, src/astar.h, src/character.cpp, src/character.h, src/cmdwin.c, src/cmdwin.h, src/combat.c, src/combat.h, src/common.c, src/common.h, src/console.c, src/console.h, src/constants.h, src/conv.c, src/conv.h, src/cursor.cpp, src/cursor.h, src/debug.h, src/dup_constants.h, src/event.c, src/event.h, src/floodfill.c, src/foogod.c, src/foogod.h, src/formation.h, src/Attic/game.c, src/Attic/game.h, src/hash.c, src/hash.h, src/heap.c, src/heap.h, src/images.c, src/images.h, src/knapsack.c, src/knapsack.h, src/Attic/lexer.c, src/Attic/lexer.h, src/list.h, src/los.c, src/los.h, src/map.c, src/map.h, src/Attic/moongate.c, src/Attic/moongate.h, src/nazghul.c, src/object.c, src/object.h, src/occ.c, src/occ.h, src/olist.c, src/olist.h, src/pinfo.h, src/place.c, src/place.h, src/play.c, src/play.h, src/player.cpp, src/player.h, src/Attic/portal.h, src/sched.c, src/sched.h, src/screen.c, src/screen.h, src/sky.c, src/sky.h, src/sound.c, src/sound.h, src/species.c, src/species.h, src/sprite.c, src/sprite.h, src/status.c, src/status.h, src/terrain.c, src/terrain.h, src/terrain_map.c, src/terrain_map.h, src/tree.c, src/tree.h, src/Attic/util.c, src/Attic/util.h, src/vehicle.cpp, src/vehicle.h, src/wind.c, src/wind.h, src/wq.c, src/wq.h: Initial import * Makefile.am, Attic/Makefile.in: Fixed top-level Makefile.am to include the doc directory when building the distro tarball. * doc/Attic/GAME_DEVELOPERS_GUIDE, doc/GHULSCRIPT, doc/USERS_GUIDE, examples/Attic/.console: Added documentation. * examples/Attic/.console: Removed .console. * src/play.c: bugfix: mapInit() must go before placeEnter()