2007-01-16 Gordon McNutt * src/Container.h, src/cmd.c, src/object.h, src/scheme.c, src/status.c, src/status.h, src/Container.cpp: Some minor code cleanup and yet another experimental status browser function. 2007-01-16 kaypy * 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/pseudorandom-map.scm, worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/endless-deeps.scm: z coordinate added to random dungeons. 2007-01-15 kaypy * worlds/haxima-1.002/endless-deeps.scm, worlds/haxima-1.002/pseudorandom-map.scm: store customisable hardlink function, and actual hardlink data * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/pseudorandom-map.scm: slightly simpler syntax for random dungeon hardlink hooks 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-13 kaypy * 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-12 Gordon McNutt * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/skills.scm, 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, 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/cmd.c, configure.ac: 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/nazghul.c, src/play.c: Moved the 'welcome to' with the version info to the initial startup (not the game load) * 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/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. * src/kern.c: One last tweak to get that time accel thing re-loading properly * src/session.c, src/kern.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/player.cpp, src/object.c, 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. 2007-01-06 Gordon McNutt * worlds/haxima-1.002/powers.scm: Merged bugfix from 0.5.5 maintenance branch * worlds/haxima-1.002/powers.scm: Fix for [ 1629421 ] unusual fireball behavior vs. lich. Fixed a parenthesis error in power.scm. 2007-01-06 kaypy * 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 2007-01-06 Gordon McNutt * src/kern.c, src/object.c, src/object.h, src/place.c, worlds/haxima-1.002/demon-gate.scm: Merged bugfix from 0.5.5 maintenance branch * scripts/RELEASE_CHECKOFF: Updated some notes on post-release maintenance * worlds/haxima-1.002/demon-gate.scm, src/kern.c, src/object.c, src/object.h, src/place.c: 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. 2007-01-06 kaypy * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/pseudorandom-map.scm: blitstats construction formalized 2007-01-05 kaypy * worlds/haxima-1.002/endless-deeps.scm, worlds/haxima-1.002/pseudorandom-map.scm, worlds/haxima-1.002/endless-deeps-mech.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 kaypy * 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/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/alchemist.scm: Fix for [ 1626202 ] Alchemist and the passage into Absalot. Fixed some logic bugs in the Alkie's conversation. * 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 kaypy * 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 Gordon McNutt * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/fields.scm, worlds/haxima-1.002/portcullis.scm, scripts/RELEASE_CHECKOFF: 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. 2007-01-01 kaypy * 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/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/library/artwork/monsters/dragon.xcf: new attempt at dragon sprite 2006-12-31 Gordon McNutt * worlds/haxima-1.002/portcullis.scm: Bugfix 1622407: o)pen works on portcullises * configure.ac: Added the png link fix on the 0.5.6 branch * worlds/haxima-1.002/Makefile.am: Added the 640x480 splash 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. * worlds/haxima-1.002/runes.scm, worlds/haxima-1.002/special.scm, worlds/haxima-1.002/start-new-game.scm, src/cmd.c, src/kern.c, src/object.c, src/object.h, worlds/haxima-1.002/ifc.scm, worlds/haxima-1.002/jewelry.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 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 * worlds/haxima-1.002/Makefile.am: The spell image file needs to be in the install * scripts/RELEASE_CHECKOFF: Some tweaks to the release checkoff list * scripts/ANNOUNCEMENT: Adding a file for boilerplate release announcements * worlds/haxima-1.002/start-new-game.scm: Fixing the start file 2006-12-15 Gordon McNutt * worlds/haxima-1.002/spells.png, worlds/haxima-1.002/spells.scm, worlds/library/artwork/magic/spell_icons.xcf: Added all the spell sprites 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/vmask.c: Bugfix: one more time for that pernicious LOS bug; using the place pointer instead of it's name in the hash key * 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/map.c: Bugfix: with fast critters sometimes the damage flash on their victim would appear to happen before they moved * 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 2006-12-12 kaypy * worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/monsters.png, worlds/haxima-1.002/species.scm: gazer sprites used * worlds/library/artwork/monsters/gazer.xcf, worlds/library/artwork/monsters/gazersleep.xcf: gazer sprites * worlds/haxima-1.002/sprites.scm: lich sprite used * worlds/haxima-1.002/humanoids.png: lich sprite added * worlds/library/artwork/humanoids/lich.xcf: lich sprite * worlds/library/spritenotes.txt: old sprite notes I never got around to cvsing in 2006-12-11 kaypy * worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/sprites.scm: skeleton sprites upgraded * worlds/haxima-1.002/humanoids.png, worlds/library/artwork/humanoids/skeletonarcher.xcf, worlds/library/artwork/humanoids/spearskeleton.xcf: skeleton spearthrower and skeleton archer icons 2006-12-10 Gordon McNutt * worlds/haxima-1.002/the-man.scm: Spell recipe was wrong * worlds/haxima-1.002/void-temple.scm: Wisps were not appearing * worlds/haxima-1.002/tblit.scm: Annoying debug removed * worlds/haxima-1.002/engineer.scm: Grammatical tweak to conv * worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/npc-types.scm: Nixies shouldn't have torches * 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 * 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 * src/ctrl.c: Re-initialize the list of suggested targets for every attack cycle; should fix rare assert on line 663 2006-12-10 kaypy * worlds/haxima-1.002/humanoids.png: warrior skeleton sprite * worlds/library/artwork/humanoids/skeleton.xcf, worlds/library/artwork/humanoids/swordskeleton.xcf: generic and warrior skeletons * worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/sprites.scm: craven archers use new icon * worlds/haxima-1.002/humanoids.png, worlds/library/artwork/humanoids/deadarcher.xcf: deadarcher- floating armour, with bow * worlds/library/artwork/monsters/dragon.xcf: Attempt at a dragon. 2006-12-10 Gordon McNutt * 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/conv.scm: People in Oparine ought to know where it is * worlds/haxima-1.002/effects.scm: Removed fizzle from prismatic attack; there are enough failure cases already * worlds/haxima-1.002/dennis.scm: Dennis replies to keyword Selene * worlds/haxima-1.002/silas.scm: A few more tweaks to Silas * worlds/haxima-1.002/silas.scm: Improvements to Silas's conversation 2006-12-10 kaypy * doc/users_guide.html: Graphical foogod symbols added 2006-12-10 Gordon McNutt * doc/USERS_GUIDE: Updated text USERS_GUIDE to reflect changes in foogod window icons * 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 * ChangeLog: Updated 2006-12-09 Gordon McNutt * src/Party.cpp: On detailed x)amine a party describes its members * worlds/haxima-1.002/parties.scm: More corrections to plural party names * worlds/haxima-1.002/parties.scm: Fixed some plural party names * 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 2006-12-09 kaypy * worlds/library/artwork/humanoids/balron.xcf, worlds/haxima-1.002/bigobjects.png, worlds/haxima-1.002/sprites.scm: bigger balron icon * src/Party.h, src/place.c, src/Party.cpp, src/object.c: fix for examine crashing on parties linebreaks in examine 2006-12-09 Gordon McNutt * src/Party.cpp: On detailed x)amine a party describes its members * worlds/haxima-1.002/parties.scm: More corrections to plural party names * worlds/haxima-1.002/parties.scm: Fixed some plural party names * 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 2006-12-09 kaypy * worlds/library/artwork/humanoids/balron.xcf, worlds/haxima-1.002/bigobjects.png, worlds/haxima-1.002/sprites.scm: bigger balron icon * src/Party.h, src/place.c, src/Party.cpp, src/object.c: fix for examine crashing on parties linebreaks in examine * worlds/haxima-1.002/road_to_absalot.scm: tweaks to absalot: alignment fixes lava edging removed too easy way through fort * worlds/haxima-1.002/ai.scm: wisps use light * 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/ancient-derelict.scm: loot on anchient derelict * src/cmd.h, src/cmd.c: added cardinal direction keyhandler for attack command 2006-12-08 kaypy * worlds/haxima-1.002/books.scm, worlds/haxima-1.002/enchanters-tower.scm: added bet flam hur spellbook * worlds/haxima-1.002/luximene.scm: added lichs blood to luxs inventory * worlds/haxima-1.002/endless-deeps.scm: corpse loot fixed * src/map.c: missile fire should now have less wierdness with obstructions * worlds/haxima-1.002/enchanters-tower-mech.scm: fix for mirror based crash 2006-12-07 Gordon McNutt * 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/cmd.c: Print a snarky message if the player selects a dead character to guard the camp * src/kern.c: Added (kern-ticks-per-turn) * 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-07 kaypy * 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/player.cpp: Bugfix: dead party members starving 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 * worlds/haxima-1.002/enchanters-tower-mech.scm: Protect against evaluating tags on startup before they are declared * worlds/haxima-1.002/effects.scm: Fixed typo in generic-burn * worlds/haxima-1.002/chanticleer.scm: Fixed the hint about where to find the Lost Halls * worlds/haxima-1.002/spells.scm: Tweak to format, moved Kal Xen Nox down with the other L8 spells * worlds/haxima-1.002/effects.scm: Removed superfluous console message for paralysis * src/ctrl.c: Adjusted console printout for attack verbage 2006-12-03 Gordon McNutt * worlds/haxima-1.002/effects.scm: Tweaks to console messages for burn and lightning effects * worlds/haxima-1.002/conv.scm: Grammar fix * worlds/haxima-1.002/alchemist.scm: Raised price of invisibility potion back up again * worlds/haxima-1.002/game.scm: Raising scroll prices back up a bit more * 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. 2006-12-03 kaypy * 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 * 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. 2006-12-02 Gordon McNutt * 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, 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: 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 * 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 * 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/menus.c: Tweaked credits * 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. * src/nazghul.c: Splash screen width computed wrong 2006-12-01 kaypy * 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 * 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/conv.scm, worlds/haxima-1.002/edward.scm, worlds/haxima-1.002/naz.scm, src/character.cpp: 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/brundegardt.scm: Weather vane was falling into the chasm... 2006-11-30 Gordon McNutt * 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 * worlds/haxima-1.002/thorald.scm, worlds/haxima-1.002/tutorial.scm, 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: 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. 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/wind-bridge.scm: Wind bridge now delays two turns before rotating * 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 2006-11-28 Gordon McNutt * 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 * 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 2006-11-27 Gordon McNutt * 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, src/character.cpp, src/cmd.c, src/cmd.h, src/ctrl.c, src/kern.c: 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 Gordon McNutt * 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 * src/ctrl.c: Kernel changes: o Auto-targeting now respects LOS. * worlds/haxima-1.002/npc-types.scm: Rangers now use the ranger occupation 2006-11-26 kaypy * worlds/haxima-1.002/bandit-hideout.scm: bandit stockade blended * worlds/haxima-1.002/combat-maps.scm: combat maps blended * worlds/haxima-1.002/brundegardt.scm: blended new areas. Added some minor encounters to empty areas * worlds/haxima-1.002/potions.scm: removed total stats message on stat potions * worlds/haxima-1.002/brundegardt.scm: 2 chests failing due to contents typos * worlds/haxima-1.002/mans-hideout.scm: I think this fixes the man's chests * worlds/haxima-1.002/food.scm: typo: s/wind/wine 2006-11-26 Gordon McNutt * 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 2006-11-26 kaypy * 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, worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/enchanters-tower.scm: standardising on unabbreviated t_invisibility_potion. Mixing t_invisibility_potion and t_inv_potion was causing reusable chests 2006-11-26 Gordon McNutt * worlds/haxima-1.002/bandit-hideout.scm: Removing some caltrops * 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 2006-11-25 Gordon McNutt * src/nazghul.c: Flushing the vmask cache before starting a game to fix LOS bugs * src/menus.c: Changed localtime_r to localtime for Mingw portability * src/cmd.c: When camping underground resting until sunrise is no longer an option * worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/tools.scm: Sextant and In Wis both report location as [x= y=] * worlds/haxima-1.002/kathryn.scm: Permanent fix for Kathryn's response to 'scroll' * src/nazghul.c, src/play.c: Closing the window now exits the program instead of dropping back to the main menu * src/cmd.c, src/conv.c, src/conv.h, src/kern.c: Minor feature enhancement: player and npc names highlighted in conversation * worlds/haxima-1.002/treasury.scm, worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/monster-generator.scm: Bugfix: mk-treasure-chest needed to use a quoted list 2006-11-25 kaypy * worlds/haxima-1.002/enchanters-tower.scm: fixed script error after reload: mk-hidden must use 'object not object * src/map.c: Removed clock from map (these days its possible to get the time in-game) * worlds/haxima-1.002/necromancer.scm, worlds/haxima-1.002/silas.scm: Some other sprites I'd missed earlier * 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/gamestart.scm: Reverting to diagonal pillars in startup room 2006-11-25 Gordon McNutt * 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 2006-11-24 Gordon McNutt * 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. * 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 * src/character.cpp: Fixed another annoying must-be-in-follow-mode message when player is alone * 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. * src/cmd.c: Bugfix: opening doors was not decrementing action points * worlds/haxima-1.002/arms.scm: Buffed slings a bit * src/astar.c, src/ctrl.c: Disabling diagonal movement * src/kern.c: Bugfix: kern-obj-get-name would (sometimes?) crash if the object had a null name * 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 * 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 2006-11-23 Gordon McNutt * 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 * 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 2006-11-23 kaypy * worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/sprites.scm: some sprite tweaks * 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/douglas.scm, worlds/haxima-1.002/alchemist.scm, worlds/haxima-1.002/books.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 2006-11-23 Gordon McNutt * 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 kaypy * worlds/library/artwork/monsters/egg.xcf: egg sprite * worlds/haxima-1.002/monsters.png: quick n dirty griffon cub * worlds/library/artwork/monsters/griffoncub.xcf: old griffon sprite on bigger template to scale down by 0.66 * scripts/palette.txt: tweaks to maptoxpm palette 2006-11-22 Gordon McNutt * 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 * worlds/library/artwork/monsters/kraken.xcf, 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/haxima-1.002/addons.png, src/sprite.c, src/sprite.h, src/vehicle.cpp, src/vehicle.h, src/object.c, src/object.h, src/kern.c: 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 2006-11-20 Gordon McNutt * 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, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/addons.png: Added Great Kraken 2006-11-18 Gordon McNutt * worlds/library/artwork/monsters/kraken.xcf: Added new kraken image * 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 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/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 * 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 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-15 kaypy * worlds/haxima-1.002/monsters.png, worlds/library/artwork/monsters/griffon.xcf: griffon sprite 2006-11-14 Gordon McNutt * src/species.c, src/species.h, worlds/haxima-1.002/species.scm, src/character.cpp, src/kern.c: 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/species.scm, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/anaxes.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/brundegardt.scm, worlds/haxima-1.002/nate.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 kaypy * worlds/library/artwork/monsters/beetle.xcf: minor update * worlds/haxima-1.002/monsters.png, worlds/library/artwork/monsters/beetle.xcf: an attempt at a beetle * worlds/haxima-1.002/humanoids.png, worlds/library/artwork/humanoids/ratling.xcf: draft ratling 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 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-11 kaypy * 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-10 Gordon McNutt * worlds/haxima-1.002/conv.scm, worlds/haxima-1.002/edward.scm: Expanded Edward's conversation * src/object.c: Fixed a recently-introduced bug in Object::setOnMap() that caused an assert in combat_exit(). * worlds/library/artwork/hirespeople/generic.xcf, worlds/haxima-1.002/edward.scm, worlds/haxima-1.002/gregor.scm, worlds/haxima-1.002/hirespeople.png, worlds/haxima-1.002/sprites.scm: artwork: o Added some layers to the generic sprite haxima: o Added an old townsman sprite, changed Gregor and Edward to use it * src/scheme.c: Hubert Maier's patch for Amiga OS 2006-11-09 Gordon McNutt * 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. * worlds/library/artwork/hirespeople/ranger_captain.xcf, 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: Added a sprite for Ranger Captain. Deric now uses it. 2006-11-06 Gordon McNutt * 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, 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, src/character.h, src/object.c: The Bandit quest (new quest for L1 players) is now pretty much done. 2006-11-04 Gordon McNutt * 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, worlds/haxima-1.002/bandit-hideout.scm, worlds/haxima-1.002/books.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 kaypy * 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 kaypy * 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 kaypy * worlds/haxima-1.002/humanoids.png, worlds/library/artwork/humanoids/headless.xcf: headless icon 2006-10-31 Gordon McNutt * worlds/haxima-1.002/containers.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/occs.scm, worlds/haxima-1.002/traps.scm, worlds/haxima-1.002/bandit-hideout.scm, worlds/haxima-1.002/pitfalls.png, worlds/haxima-1.002/pitfalls.scm: Added caltrops and a beartrap * src/tile.c, src/tile.h: Removing unused files 2006-10-30 kaypy * worlds/haxima-1.002/humanoids.png: troll geomancer icon * worlds/library/artwork/humanoids/trollmage.xcf, worlds/haxima-1.002/humanoids.png, worlds/library/artwork/humanoids/trollfighter.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 Gordon McNutt * 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 * 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. 2006-10-29 kaypy * 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 2006-10-29 Gordon McNutt * 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, worlds/haxima-1.002/angriss.scm, worlds/haxima-1.002/bandit-hideout.scm, worlds/haxima-1.002/bill.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. 2006-10-29 kaypy * worlds/haxima-1.002/bigobjects.png, worlds/haxima-1.002/humanoids.png: giants updated * worlds/library/artwork/humanoids/giantmage.xcf: giant mage * worlds/library/artwork/humanoids/giant.xcf: hairier giant 2006-10-29 Gordon McNutt * 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/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 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 kaypy * worlds/haxima-1.002/bigobjects.png: area for 40x40 icons * worlds/library/artwork/humanoids/giant.xcf: meaner, hairier giant. Think it still needs more hair tho * 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 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/containers.scm, worlds/haxima-1.002/door.scm, worlds/haxima-1.002/ifc.scm, worlds/haxima-1.002/start-new-game.scm, worlds/haxima-1.002/bandit-hideout.scm: Traps can now be added to chests or doors. * 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)) * 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. 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 * 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, src/object.c, worlds/haxima-1.002/Makefile.am: 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 * worlds/haxima-1.002/start-new-game.scm: I keep forgetting to undo my test changes to start-new-game.scm... * src/ascii.c, src/status.c: Fixed some compiler errors and warnings that occur with newer versions of g++ 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 kaypy * worlds/library/artwork/humanoids/giant.xcf: draft giant/ettin * worlds/library/artwork/humanoids/cgoblinciv.xcf: basic cave goblin * worlds/library/artwork/humanoids/fgoblinciv.xcf: smaller goblin * worlds/library/artwork/humanoids/deadknight.xcf: Deathknight glow effects tweaked 2006-10-14 Gordon McNutt * src/map.c, src/sprite.c: Added initial support for giant sprites. 2006-10-14 kaypy * worlds/library/artwork/humanoids/fgoblinciv.xcf: first attempt at forest goblins 2006-10-13 kaypy * worlds/library/artwork/humanoids/deadknight.xcf: animated armour icon * worlds/haxima-1.002/hirespeople.png: tonights icons in 32x32 * worlds/library/artwork/hirespeople/paladin.xcf, worlds/library/artwork/hirespeople/fighter.xcf: fighter/paladin given shoulderguards * worlds/library/artwork/hirespeople/child.xcf, worlds/library/artwork/hirespeople/generic.xcf: child icon added. generic townsman cleaned up * worlds/library/artwork/hirespeople/beggar.xcf: beggar icon * worlds/library/artwork/hirespeople/jester.xcf: jester icon * worlds/library/artwork/hirespeople/minstrel.xcf: minstrel icon * 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/knight.xcf: knight icon 2006-10-12 kaypy * 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/roguef.xcf, worlds/library/artwork/hirespeople/xbowman.xcf, worlds/library/artwork/hirespeople/cloackedf.xcf, worlds/library/artwork/hirespeople/rmage.xcf, worlds/library/artwork/hirespeople/rogue.xcf: more sprites 2006-10-11 kaypy * 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 kaypy * 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/library/artwork/hirespeople/shepherd.xcf: shepherd icon * worlds/haxima-1.002/hirespeople.png: initial batch of highres people icons * 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, 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/fighter.xcf, worlds/library/artwork/hirespeople/enchanter.xcf: initial batch of highres icon working files 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. * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/powers.scm, src/cmd.c, src/result.h: 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 * 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/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/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). * 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. * 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/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 * worlds/haxima-1.002/goblin-kingdoms.scm: Added some corpses to troll's den 2006-09-29 Gordon McNutt * worlds/haxima-1.002/ai.scm: Removing some debug * 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/roland.scm, worlds/haxima-1.002/slimy-cavern.scm, worlds/haxima-1.002/start-new-game.scm: Added more loot to Roland's cave * src/nazghul.c: When the game ends it falls back to the main menu. * 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 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 Gordon McNutt * src/cmd.c: Only one AP taken per mix command 2006-09-26 kaypy * 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 * 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 kaypy * 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/tools.scm: clocks are impassable * worlds/haxima-1.002/enchanters-tower-mech.scm, worlds/haxima-1.002/enchanters-tower.scm: Enchanters tower expanded * 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/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. * 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. 2006-09-22 kaypy * worlds/haxima-1.002/powers.scm: field spells have variable duration 2006-09-22 Gordon McNutt * src/menus.c: The filename for the currently loaded game is marked with an '*' in the load and save menus. * src/status.c, src/status.h, src/Party.cpp, src/cmd.c, src/kern.c, src/menus.c: Generic and string lists now specify titles in the status UI 2006-09-21 Gordon McNutt * src/cmd.c, src/menus.c, src/nazghul.c: Dates now added to save game menu * worlds/haxima-1.002/scrolls.scm: Temp hack to keep saved games working with old scroll names * worlds/haxima-1.002/Makefile.am: Bugfix: some new files missing in the install list * src/menus.c: Bugfix: after choosing from the Load Saved Game menu, it would repaint but your selection would have not data * src/dimensions.c, src/dimensions.h: Bugfix: STAT_W was counting the frame boundaries * src/menus.c: Added dates to the Load Saved Game menu options 2006-09-21 kaypy * 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 2006-09-20 kaypy * worlds/haxima-1.002/effects.scm: another attempt at a light spell * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm, worlds/haxima-1.002/spells.scm: spell cleanups * src/clock.c, src/clock.h, src/status.c: effects display allows remaining duration and unknown duration 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 kaypy * worlds/haxima-1.002/cast-ui.scm: vas rel por reinstated * src/object.c: fixed crash in ifc sense handling when cutscene deleted mech 2006-09-18 kaypy * 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 kaypy * 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/tools.png, worlds/haxima-1.002/tools.scm: book shelf object * worlds/haxima-1.002/cast-ui.scm, worlds/haxima-1.002/powers.scm: spell bug fixes * 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 2006-09-16 Gordon McNutt * src/sprite.c, src/sprite.h, worlds/haxima-1.002/arms.scm, doc/MAP_HACKERS_GUIDE, src/kern.c, src/object.c: 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. * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/species.scm, src/kern.c, src/sprite.c, src/sprite.h: 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. * worlds/haxima-1.002/naz.scm: Made a version of mk-composite-sprite which doesn't clone the base sprite * src/kern.c, src/sprite.c, src/sprite.h: Got rid of kern-sprite-tint; apply-matrix is better 2006-09-16 kaypy * 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-15 kaypy * 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/powers.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/cast-ui.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 * 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 2006-09-14 kaypy * 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/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 * src/character.cpp, src/closure.c, src/closure.h, src/ctrl.c, src/object.c, src/object.h, src/place.c, src/Party.cpp: o Object hooks now run with variable argument lists. 2006-09-12 Gordon McNutt * src/sprite.c, src/character.cpp, src/closure.c, src/closure.h, src/object.c, src/object.h: A few preliminary changes needed for the READY/UNREADY hooks 2006-09-12 kaypy * worlds/haxima-1.002/tools.scm: fixed mirror/clock pclass being lost on reload 2006-09-12 Gordon McNutt * 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/kalcifax.scm, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/adornments.png: 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 Gordon McNutt * worlds/haxima-1.002/start-new-game.scm: Oops. Didn't mean to check in this file on the last commit. * 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. * doc/MAP_HACKERS_GUIDE: Time to start updating this * 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, 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, src/Missile.cpp, src/character.cpp, src/kern.c, src/object.c, src/sprite.c, src/sprite.h: 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. 2006-09-10 kaypy * worlds/haxima-1.002/ifc.scm, worlds/haxima-1.002/tools.scm: clocks xamineable * src/character.h, src/cmd.c, src/object.c, src/object.h, src/place.c, src/place.h, src/character.cpp: first pass at detailed xamine * 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/oparine.scm, worlds/haxima-1.002/tools.png, worlds/haxima-1.002/tools.scm: improved mirror * worlds/haxima-1.002/ifc.scm, worlds/haxima-1.002/step.scm: sense ifc scheme implementation * worlds/haxima-1.002/addons.png: switch icon symetry fixed so they dont move when flipped * src/object.c, src/object.h: new standard ifc: 'sense' to detect all incoming/outgoing objects * src/kern.c: added kern-stdout-msg to log to stdout 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/sprite.c: o Cleanup: removed obsolete references to palettized surfaces from sprite.c. * 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/tile.c, src/vehicle.cpp: o Cleanup: changed sprite API to consistently use underscores instead of mixed-case. * 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, src/Party.cpp, src/character.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. 2006-09-03 Gordon McNutt * src/kern.c, src/sprite.c, src/sprite.h: Initial (and very inefficient) cut at sprite-tinting. * src/cmd.c, src/cmd.h, src/kern.c: Added the a)ttack cursor movement shortcut keys to t)alk and targeted spells. * worlds/haxima-1.002/spells.scm: Bugfix in grav por 2006-09-01 kaypy * worlds/haxima-1.002/oparine.scm, worlds/haxima-1.002/tools.scm: New furniture- mirrors * 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 2006-08-31 kaypy * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/tools.scm: Clock faces show approximate time * 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 2006-08-30 kaypy * worlds/haxima-1.002/tools.png, worlds/haxima-1.002/tools.scm: clock icon v3 2006-08-29 kaypy * 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 kaypy * scripts/tocinator.pl, doc/users_guide.html: autogenerated table of contents for manual * doc/users_guide.html: Manual setup notes added as comment * doc/null.gif, doc/users_guide.html: 2nd pass at manual. 2006-08-27 kaypy * src/cmd.c, src/clock.c, src/clock.h: at gives vague description rather than accurate time * worlds/haxima-1.002/tools.png, worlds/haxima-1.002/tools.scm: added an in-game clock * worlds/haxima-1.002/food.png, worlds/haxima-1.002/jewelry.png: transparent shadows 2006-08-27 Gordon McNutt * 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-27 kaypy * worlds/haxima-1.002/books.png: transparent shadows * worlds/haxima-1.002/shapes.png, worlds/haxima-1.002/addons.png: alpha tweaks * worlds/haxima-1.002/arms.png, worlds/haxima-1.002/potions.png: arms and potion sprites alphanated 2006-08-27 Gordon McNutt * src/cmd.c: Fixed a couple of bugs in X)amine caused by recent cursor-movement changes * 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 * 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/screen.c: Hack to support scaling images with alpha channel. 2006-08-27 kaypy * worlds/haxima-1.002/effects.png: Global effects (timestop, quicken, antimagic) given effect icons * doc/users_guide.html: First pass at html manual. Still a fair amount of cleaning up needed 2006-08-27 Gordon McNutt * src/images.c: Transparent blitting now works for images with an alpha channel. 2006-08-26 Gordon McNutt * src/Makefile.am, src/screen_dims.h: Forgot to add a new file on my last * src/nazghul.c, src/sound.c, src/sound.h, src/status.c, src/cmd.h, src/ctrl.c, src/dimensions.c, src/kern.c, src/menus.c, src/menus.h, src/ascii.h, src/cfg.c, src/cfg.h, src/character.cpp, src/cmd.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-26 kaypy * 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-24 kaypy * src/cmdwin.c: cmdwin_vpush now +1 vs nullpointers 2006-08-20 kaypy * scripts/blenddat.txt: re-blending rivers was broken * doc/USERS_GUIDE, worlds/haxima-1.002/arms.scm: all weapons bonusized 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. 2006-08-20 kaypy * worlds/haxima-1.002/arms.scm: melee weapon bonuses set * worlds/haxima-1.002/arms.scm, src/Arms.cpp, src/Arms.h, src/kern.c: bonus modifiers shifted out to arms.scm 2006-08-20 Gordon McNutt * src/ctrl.c: Targeting self for attack switches weapons 2006-08-20 kaypy * src/Arms.h, src/character.cpp, src/character.h, src/ctrl.c, src/Arms.cpp: Instead of using fixed bonus modifiers, combat now queries them from weapons (which use fixed bonus modifiers- sigh) 2006-08-20 Gordon McNutt * 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 2006-08-19 Gordon McNutt * 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 * src/event.c, src/event.h, src/cmd.c: Mouse targeting done * 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 * src/closure.c: Another way to fix closure_exec(0) 2006-08-19 kaypy * 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 * worlds/haxima-1.002/game.scm, worlds/haxima-1.002/occs.scm, src/character.cpp, src/character.h, src/ctrl.c, src/kern.c, src/session.c, src/session.h: First pass at stats affecting combat 2006-08-19 Gordon McNutt * worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/tooth.scm: Vials of slime * src/closure.c: closure_exec() now coerces returned floating-point values to ints * worlds/haxima-1.002/arms.scm: Needs some polish, but I had to add Vial of Slimes before I forgot about it * 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 * src/menus.c, src/player.cpp, src/status.c, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/jess.scm, src/Party.cpp, src/cmd.c, src/cmdwin.c, src/cmdwin.h, src/conv.c, src/ctrl.c, src/kern.c: Re-wrote the cmdwin API and updated callers 2006-08-17 kaypy * worlds/haxima-1.002/ability.scm: Ok, the fireball now mostly does what I want, but its awfally hacky 2006-08-16 kaypy * 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 kaypy * worlds/haxima-1.002/ability.scm: magic missiles gives xp/annoys target * 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 * worlds/haxima-1.002/spells.scm: Cleaned out some debugging stuff left in by accident * worlds/haxima-1.002/game.scm: Reseeds rng on script start * 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 * src/player.cpp, src/player.h, src/cmd.c: Equipment sort on R)eady occurs before and after selection, rather that interrupt the ui 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-14 kaypy * src/cmd.c: Confirmation for quit without saving 2006-08-13 kaypy * worlds/haxima-1.002/trigrave.scm: fixed ai typo 2006-08-13 Gordon McNutt * 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, 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/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, src/kern.c, src/character.cpp: Feature request filled: NPC's as light sources * doc/USERS_GUIDE, worlds/haxima-1.002/books.scm: Added the L)oiter command to the docs * 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 * 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 * doc/USERS_GUIDE: Updated section on status codes * doc/USERS_GUIDE: Fixed up the comments around saving and quitting * 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 * 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/session.c, worlds/haxima-1.002/kern-init.scm, 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: Initial cut at multiple save games 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-12 kaypy * worlds/haxima-1.002/potions.scm: Testing stuff enhanced * worlds/haxima-1.002/occs.scm: First pass at combat occ-abilities 2006-08-10 kaypy * 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 kaypy * 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, 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: Megapatch no 2: Most characters have random appropriate xp. All characters start at max hp/mp * src/status.c: XP and Lvl labels were on wrong screens * src/status.c, src/character.cpp: 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 * 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, worlds/haxima-1.002/abe.scm: mega stats tweakage. Not that the player will notice, but *I* will know that everyone hv unique stats 2006-08-07 Gordon McNutt * src/status.c: Changed XP to LVL 2006-08-07 kaypy * src/status.c: Status window now reads HP: MP: XP:(<+ percent>%) * src/character.cpp: Character::setLevel now sets experience appropriate for the new level rather than the old one 2006-08-06 Gordon McNutt * src/status.c: Status now uses a set of standardized colors 2006-08-06 kaypy * 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) 2006-08-06 Gordon McNutt * src/status.c: Replaced the status code with the effect icon in the ztats view of the character effects * src/kern.c, src/status.c: Added effect icons to the party status viewer 2006-08-06 kaypy * src/screen.h, src/screen.c, src/ascii.c: Text uses muted versions of colours * worlds/haxima-1.002/effects.scm: effect spites use s_whatever instead of 's_whatever * worlds/haxima-1.002/sprites.scm: fixed incrementing tile_number in effect sprites 2006-08-06 Gordon McNutt * src/kern.c: kern_mk_effect must load sprites as pointers (not closures) or it throws a type error 2006-08-06 kaypy * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/sprites.scm: most effects should now have icons * worlds/haxima-1.002/effects.png: added paralysis * worlds/haxima-1.002/cursor.png: nicer blue spinner 2006-08-06 Gordon McNutt * src/effect.c, src/kern.c, src/status.c: Comment/formatting changes only 2006-08-06 kaypy * worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/sprite-sets.scm, worlds/haxima-1.002/sprites.scm: First few effect sprites set * src/effect.c, src/kern.c: icon support added to kern-mk-effect 2006-08-06 Gordon McNutt * src/status.c: Added mini-icons to the party view for readied weapons * src/effect.h: Added a field for a status icon to the effect struct 2006-08-06 kaypy * worlds/haxima-1.002/effects.png: first attempt at effect icons * worlds/haxima-1.002/start-new-game.scm: uses character creation area * 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 * src/images.c: image load error to stderr not stdout * worlds/haxima-1.002/cursor.png: placeholder cursor.png 2006-08-05 Gordon McNutt * src/Makefile.am: Removed frame.h 2006-08-05 kaypy * 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-02 Gordon McNutt * src/character.cpp, src/place.c, src/place.h: Fixed player party members not pathfinding over step triggers * worlds/haxima-1.002/spells.scm: Added success/failure messages to spells that use contest-of-skill * worlds/haxima-1.002/nossifer.scm: Made Nossifer immune to charm * src/character.cpp, src/player.cpp: Starvation is now a bit more serious * 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/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/moongate.scm: Fixed the problem where destination moongates remained open * src/cmd.c: Spells with a cost of 1 were not using any action points when cast 2006-08-01 Gordon McNutt * 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 * 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). 2006-07-31 Gordon McNutt * 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. * src/foogod.c, src/kern.c, src/play.c, src/player.cpp, src/player.h, src/session.c, src/session.h, src/character.cpp: Fixed saving, loading and general behavior of the turn counter in the foogod window 2006-07-30 Gordon McNutt * worlds/haxima-1.002/effects.scm, src/ctrl.c, src/effect.c, src/effect.h, src/status.c, src/character.cpp, src/character.h, src/cmd.c: More fiddling with the stat UI. It's getting downright chatty now. * src/status.c: Added species and occupation to character stat UI * src/character.h, src/status.c, worlds/haxima-1.002/books.scm, src/ascii.c, src/character.cpp: 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/dimensions.c, src/nazghul.c, src/status.c, src/Container.h, src/Party.cpp: 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. 2006-07-29 Gordon McNutt * 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. * 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. 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/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 * worlds/haxima-1.002/kern-init.scm, src/cfg.c, src/cfg.h, 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/moongate.scm, src/Makefile.am, src/ascii.c, src/ascii.h, src/cmdwin.c, src/common.h, src/foogod.c, src/images.c, src/kern.c, src/nazghul.c, src/scheme.c: 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). 2006-07-24 kaypy * 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 * worlds/haxima-1.002/arms.scm: Melee and projectile weapons were adding an armor bonus instead of a deflection bonus * 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 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 kaypy * 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 * src/kern.c: added kern-get-total-minutes for numeric clock access 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 kaypy * worlds/haxima-1.002/effects.scm: sleep effect reactivates on reload * src/play.c: synchs place to reset sleepers on reload * worlds/haxima-1.002/effects.scm: spawned off slimes are less powerful than thier 'parent's 2006-07-02 Gordon McNutt * 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. * src/character.cpp: Fix for kern-char-leave-player where kchar is not in party; call is benignly ignored 2006-07-02 kaypy * 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-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/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 * src/occ.c: Occ destructor deletes its optional gob 2006-07-01 kaypy * 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 * src/kern.c, src/occ.c, src/occ.h: added gob facilities to occupations 2006-06-30 wolfoxbr * scripts/nazghul.iss: Adding the Inno Setup script file used to generate the Windows installer 2006-06-30 Gordon McNutt * scripts/RELEASE_CHECKOFF: Added another note 2006-06-29 Gordon McNutt * 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) * src/player.cpp: Dead party members were eating rations * src/kern.c: Added kern-char-is-dead? * 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/game.scm: Renamed a variable 2006-06-28 kaypy * worlds/haxima-1.002/mouse.scm: stray bracket removed 2006-06-28 Gordon McNutt * worlds/haxima-1.002/mouse.scm: Thud was not getting removed if he was dead but Kathryn was alive * src/player.cpp: Camping in town took more time than player specified * src/map.c: Put the clock display back on the map viewer since there is no other way to tell time yet in haxima * 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. * configure.ac: Bumped the version number * 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 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-25 kaypy * nazghul.nsi, nazinst.ico: upgraded w32 installer * scripts/nazghulrun.au3: compilable version of w32 save file backup script 2006-06-24 kaypy * 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/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. * 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, src/Makefile.am, src/character.cpp: 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. 2006-05-28 kaypy * 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 * src/cmd.c: No longer allows (and crashes on) diagonal wilderness (a)ttacks 2006-04-25 kaypy * scripts/blenddat.txt, scripts/palette.txt: new terrains in terrain blending scripts * worlds/haxima-1.002/tools.scm: dex helps pick locks * worlds/haxima-1.002/kraken-lakes.scm, worlds/haxima-1.002/slimy-cavern.scm: added boulders-in-water to maps * 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 * 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) 2006-04-17 kaypy * 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 kaypy * 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 kaypy * src/character.cpp, src/character.h, src/kern.c: read/write access to character str/dex/int 2006-04-10 kaypy * 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 * scripts/blenddat.txt, scripts/blendmap.pl, scripts/palette.txt: More terrain blending working. (Ongoing tweaks while blending new maps) 2006-04-09 kaypy * scripts/blendmap.pl: Updated the help somewhat * scripts/blenddat.txt, scripts/blendmap.pl, scripts/unblenddat.txt: Blending much more advanced and now handles most terrain types 2006-04-05 kaypy * 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 kaypy * scripts/blenddat.txt, scripts/blendmap.pl: Blends more terrain types 2006-03-22 kaypy * 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 kaypy * scripts/palette.txt: Belatedly added palette data for map scripts * scripts/maptoxpm.pl, scripts/mergemap.pl, scripts/xpmtomap.pl: Added some map editting 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 kaypy * worlds/haxima-1.002/mesmeme.scm: Mesmeme can now be asked to leave * worlds/haxima-1.002/jake.scm, worlds/haxima-1.002/zones.scm: Jake&Percival no longer sleepwalk * 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 2006-03-16 kaypy * 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/terrains.scm: Less specific water naming * 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/alchemist.scm, worlds/haxima-1.002/endless-deeps.scm, worlds/haxima-1.002/trigrave.scm: Dragon quest rune is now in Kurpolis deeps 2006-03-14 kaypy * worlds/haxima-1.002/gen.scm: Gen now has appropriate xp for his level 2006-03-13 kaypy * worlds/haxima-1.002/alchemist.scm: Alchemist remembers completed quests 2006-03-12 kaypy * 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-12 kaypy * worlds/haxima-1.002/kraken-lakes.scm, worlds/haxima-1.002/start-new-game.scm: Linked in endless deeps level 2006-03-11 Gordon McNutt * 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. * 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. 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 kaypy * 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/joel.scm: Joel still had the old paladins in the tunnel plot. * worlds/haxima-1.002/endless-deeps-mech.scm, worlds/haxima-1.002/endless-deeps.scm: Initial upload of third garrison and endless deeps 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 kaypy * worlds/haxima-1.002/keep.scm: Alternative treasure room access 2006-03-07 Gordon McNutt * 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. * src/cmd.c: [ 1437442 ] t)alk targets invisible people. Now it doesn't. 2006-03-06 Gordon McNutt * src/kern.c, src/Makefile.am, src/blender.h, src/combat.c: The terrain blenders are now run on automatically-generated combat maps. * 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. * 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. 2006-02-25 Gordon McNutt * 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 * worlds/haxima-1.002/alchemist.scm: A few stylistic tweaks to Alchemist's conv * 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. 2006-02-25 kaypy * worlds/haxima-1.002/spells.scm: Fix for invisibility spells not using up scrolls (they probaby didnt use reagents either) 2006-02-24 kaypy * 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 Gordon McNutt * src/cmd.c: Aborting a spell should not cost mana 2006-02-18 kaypy * 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-17 Gordon McNutt * src/ascii.c: Got rid of some dead code I noticed thanks to Janne's last patch 2006-02-17 icepic * src/ascii.c: uninitialized nitpickings. shuts gcc4 up 2006-02-17 kaypy * 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 Gordon McNutt * 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 * 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, scripts/RELEASE_CHECKOFF, src/Being.cpp, src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/ctrl.c: 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 * worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/sprites.scm, worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/ability.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/effects.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. * 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 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 kaypy * 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 kaypy * worlds/haxima-1.002/sprites.scm: Added sprite definitions for hires mountains/forest * worlds/haxima-1.002/newterrain.png: Added: High resolution mountains & forests Hill edge effects for blended terrain * 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 kaypy * 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 * worlds/haxima-1.002/terrains.scm, worlds/haxima-1.002/gregors-hut.scm, worlds/haxima-1.002/shard.scm: Converted kern-terrain-map blend calls to kern-mk-blender * 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 * 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 * worlds/haxima-1.002/green-tower.scm: Moved the lever in GT * 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. 2006-02-06 Gordon McNutt * src/kern.c, src/terrain_map.c, src/terrain_map.h: Added kern-terrain-map-blend * 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/newterrain.png: Terrain pieces * 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 * src/kern.c, src/sprite.c, src/sprite.h: Added ability to 'decorate' sprites with other sprites, making layered sprites 2006-02-05 Gordon McNutt * src/kern.c, src/place.c, src/place.h: Added kern-place-set/get-terrain-map * 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 * worlds/haxima-1.002/effects.scm: Bugfix from Bernhard Link: faction-wood-spider is nowehere defined, use faction-spider * doc/USERS_GUIDE: Updated for new install * INSTALL: Updated instructions on running the game * worlds/haxima-1.002/Makefile.am: Wrong filename * AUTHORS, BUGS, ChangeLog, INSTALL, NEWS, configure.ac, scripts/RELEASE_CHECKOFF: Preparing for 0.5.3 release 2006-02-04 Gordon McNutt * src/cmd.c, src/player.cpp, src/player.h, src/character.cpp: 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/newmonst.png, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/sprites.scm: Added Kris Parker's new gint mage sprite 2006-02-04 Gordon McNutt * src/cmd.c, src/player.cpp, src/player.h, src/character.cpp: 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/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/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/arms.scm: Balance: fireballs no longer drop fire fields where they hit * 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/shard.scm: Changed Fens to use shallow water to keep out the pirate ships from getting spawned * worlds/haxima-1.002/engineer.scm: Fixed typo * 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 2006-02-03 Gordon McNutt * worlds/haxima-1.002/npc-types.scm: Accursed Templar should use human knight sprite * worlds/haxima-1.002/species.scm, worlds/haxima-1.002/spider.scm, worlds/haxima-1.002/npc-types.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 * src/nazghul.c: Added -I and -G to the command-line help * worlds/haxima-1.002/Makefile.am, src/nazghul.c: 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/start-new-game.scm: Replacement for haxima.scm * worlds/haxima-1.002/haxima.scm: Moved from here * worlds/haxima-1.002/tooth.scm, worlds/haxima-1.002/zones.scm: Fixed Gregor and Tooth's sleeping locations 2006-02-02 Gordon McNutt * 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) * worlds/haxima-1.002/ability.scm: Disarm now drops the target's weapon on the ground at his feet * src/play.c: Bugfix: nazghul junk (where junk was not a valid load file) caused a segfault * src/cmdwin.c, src/console.c, src/nazghul.c: Bernhard Link's debug patch to create .console and .cmdwin iff DEBUG is defined * src/nazghul.c: Bernhard Link's usage patch * 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 * Makefile.am, 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 * 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 * autogen.sh, configure.ac: Bernhard Link's configure patch * scripts/RELEASE_CHECKOFF: Updates made on last release * AUTHORS, BUGS, ChangeLog, NEWS: *** empty log message *** * nazghul.nsi: Windows installer will bundle .bat files 2006-02-01 Gordon McNutt * 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 * nazghul.nsi: Nullsoft installer script for windows * src/nazghul.c, src/place.c, src/play.c, src/sky.c, src/ctrl.c, src/event.c, src/foogod.c, src/kern.c, src/cmd.h, src/combat.c, src/Party.cpp, src/Party.h, src/character.cpp, src/cmd.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 2006-01-31 Gordon McNutt * worlds/haxima-1.002/roland.scm: Bugfix: after leaving, Roland couldn't rejoin * worlds/haxima-1.002/kama.scm: Bugfix: ask Kama to rejoin after he leaves and he just points at the door 2006-01-29 Gordon McNutt * AUTHORS: Recorded new sprites from Kris Parker * 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/arms.scm: Tweaked armour defense * worlds/haxima-1.002/shroom.scm: Typo in conv * worlds/haxima-1.002/chester.scm: Bumped price of plate * worlds/haxima-1.002/npc-types.scm: Bugfix: troll loot not using tags 2006-01-28 Gordon McNutt * src/sky.c, src/sky.h: Added eclipse * worlds/haxima-1.002/haxima.scm: Kris Parker's improved astronomy * worlds/haxima-1.002/moons.png: New transparent moon sprites * worlds/haxima-1.002/food.scm: Fixed plural food names * src/kern.c, src/object.c, src/object.h: Adding better support for irregular plural names * worlds/haxima-1.002/money.scm: Using singular name for coin * src/object.c: Takes care of a few more plural name cases * worlds/haxima-1.002/naz.scm: Drunken staggering checks for an occupant 2006-01-27 icepic * 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/roland.scm: Roland now uses the human knight sprite * worlds/haxima-1.002/moongate.scm: Increasing the brightness of moongates * worlds/haxima-1.002/haxima.scm: Implemented Kris Parker's recommended changes to the opening sequence in the moongate clearing 2006-01-26 Gordon McNutt * ChangeLog, NEWS, scripts/RELEASE_CHECKOFF: *** empty log message *** 2006-01-25 Gordon McNutt * worlds/haxima-1.002/naz.scm: Bugfix: purchasing a cure service from a healer didn't work * AUTHORS: Updated AUTHORS to reflect recent submissions * 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 * 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 2006-01-24 Gordon McNutt * src/nazghul.c: Patch from Janne Johansson for Sun compiler * 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/sprite.h: Removed some obsolete code * src/map.c, src/nazghul.c: Got rid of getop_long and a few old options I don't want to support any more 2006-01-23 Gordon McNutt * src/screen.c: Bugfix: when zoomed out, transparency shows up as magenta * 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 * worlds/haxima-1.002/arms.scm: Arms balance tweaking 2006-01-22 Gordon McNutt * 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, worlds/haxima-1.002/addons.png, worlds/haxima-1.002/effects.scm: 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/traps_3.scm: Bugfix: spawn points in Fun with Levers weren't getting triggered * src/ctrl.c, worlds/haxima-1.002/books.scm: Changed quit-without-saving keybinding from ctrl-Q to ctrl-S * src/combat.c: Bugfix: NPC attacks while on (but not aboard) ship * src/cmd.c: Casting spells gives XP * worlds/haxima-1.002/scrolls.scm: Canceling u)se scroll was using up scroll * src/ascii.c, src/ascii.h, src/screen.c: Added support for colored console text; nothing using it yet but it does work * src/Party.cpp: Bugfix (1411788): NPC parties getting into towns and dungeons * src/nazghul.c: Added Steve Riberty to art credits for new rune sprites * src/character.cpp: Doubled XP required for level advancement * worlds/haxima-1.002/npc-types.scm: Craven archers now armed with daggers for when they run out of ammo * worlds/haxima-1.002/kathryn.scm: Bugfix: Kathryn not giving player her Wis Quas scroll upon join * worlds/haxima-1.002/thiefs_den.scm: Removing unthiefly treasure from Thief's Den * worlds/haxima-1.002/palette.scm: Bugfix: alchemy sign confused with arms shop sign * worlds/haxima-1.002/oparine.scm: Fixed some signs and terrain * worlds/haxima-1.002/monster-generator.scm: Removed some obsolete code * worlds/haxima-1.002/enchanter.scm: Enchanter was using generic response to ENCH keyword * worlds/haxima-1.002/dank-cave.scm: Bugfix: ladder up from Dank Cave led to wrong location * worlds/haxima-1.002/conv.scm: Oparine townsfolk now give directions to Green Tower * 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/ai.scm: Bugfix: use-ranged-spells not returning #f when it didn't cast anything, cause dryads to walk 2006-01-19 Gordon McNutt * 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 * 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 2006-01-18 Gordon McNutt * 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 * 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/character.cpp, src/event.c, src/nazghul.c, src/player.cpp, src/sprite.c, src/ascii.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/ 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/cmd.c: Kernel changes: o Bugfix: SF 1114048: selling itesm - list updated improperly. Actually, list was just getting built improperly from the get-go. * 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. 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 * 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/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 2006-01-08 baueran * configure.ac: *** empty log message *** 2006-01-08 Gordon McNutt * scripts/RELEASE_CHECKOFF: Added comment about windows text files * 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) * 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/mouse.scm: Haxima changes: o Bugfix: if Kathrn in party but Thud alive and not in party, crash when player encounters the Mouse 2006-01-07 Gordon McNutt * 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 * 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/shard.scm: Haxima changes: o Bugfix: moongate near Glasdrin was positioned over an impassable mountain * worlds/haxima-1.002/items.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/spider.scm, src/Party.cpp, src/character.cpp, src/character.h, src/object.c, src/object.h, src/player.cpp: 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! * worlds/haxima-1.002/shroom.scm: Bugfix: shroom's trade conv broken by typo * scripts/RELEASE_CHECKOFF, src/Party.cpp, worlds/haxima-1.002/edge-spawn.scm: Making sure the last few fixes were committed 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 baueran * worlds/haxima-1.002/Makefile.am: Initial. 2006-01-04 Gordon McNutt * doc/USERS_GUIDE: doc changes 2006-01-03 baueran * src/Makefile.am, worlds/Makefile.am, Makefile.am, configure.ac: Added haxima to build system. 2005-12-31 Gordon McNutt * worlds/haxima-1.002/lich-tomb.scm: Fixed ladder up in Lich's Tomb, was referring to old Keep Crypt * doc/USERS_GUIDE: Minor edits to USERS_GUIDE 2005-12-30 Gordon McNutt * doc/USERS_GUIDE, scripts/RELEASE_CHECKOFF, scripts/ghul-test-install, worlds/Makefile.am, AUTHORS, BUGS, Makefile.in, configure: USERS_GUIDE, Makefile.in and misc other final tweaks * worlds/haxima-1.002/thorald.scm: Adding tutorial NPC to repository * worlds/haxima-1.002/special.png: A couple of new images I forgot to check in. * 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 * 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 * 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/effects.scm, worlds/haxima-1.002/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 2005-12-29 Gordon McNutt * 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 * 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/shard.scm: Haxima changes: o Paved a road from Trigrave north to the Fen * 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. * INSTALL, README: Updated the README and INSTALL files. * 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, 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: 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) 2005-12-28 Gordon McNutt * 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/haxima.scm, worlds/haxima-1.002/tutorial.scm, worlds/haxima-1.002/tutorial_town.scm, src/Missile.cpp, src/Party.cpp, src/character.cpp, src/character.h, src/cmd.c: 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/kun.scm, worlds/haxima-1.002/mesmeme.scm, worlds/haxima-1.002/slywan.scm, worlds/haxima-1.002/tetzl.scm, worlds/haxima-1.002/tooth.scm, worlds/haxima-1.002/zones.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/slimy-cavern.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/jake.scm: Haxima changes: o More stuff in new town 2005-12-27 Gordon McNutt * worlds/haxima-1.002/abe.scm, worlds/haxima-1.002/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/oparine.scm, worlds/haxima-1.002/zones.scm: Haxima changes: o Reworked Oparine * 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 * src/ctrl.c, src/map.c: Kernel changes: o Bugfix: projectile animation speed varied from host to host 2005-12-26 Gordon McNutt * worlds/haxima-1.002/effects.scm: Haxima changes: o Bugfix: sleep effect did not wake up victim when it expired * 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/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/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/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/spells.scm, worlds/haxima-1.002/step.scm, worlds/haxima-1.002/dank-cave.scm, worlds/haxima-1.002/naz.scm, worlds/haxima-1.002/special.scm: Haxima changes: o Populated Dank Cave o Fixed In Quas Corp spell * worlds/haxima-1.002/prison.scm, worlds/haxima-1.002/tools.scm, worlds/haxima-1.002/zones.scm, worlds/haxima-1.002/glasdrin.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/character.cpp, src/ctrl.c, src/kern.c: Kernel changes: o Character::clone() now clones readied items, too * 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 * 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/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) * 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 * worlds/haxima-1.002/gen.scm, worlds/haxima-1.002/kama.scm: Haxima changes: o Changed Kama's occupations * worlds/haxima-1.002/amy.scm, worlds/haxima-1.002/poor-house.scm: Haxima changes: o Added Amy * 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 * worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/game.scm, worlds/haxima-1.002/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 * 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/alchemist.scm, worlds/haxima-1.002/arms.scm, worlds/haxima-1.002/bill.scm, worlds/haxima-1.002/chester.scm, worlds/haxima-1.002/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/potions.scm, worlds/haxima-1.002/shroom.scm, worlds/haxima-1.002/species.scm, worlds/haxima-1.002/spells.scm, worlds/haxima-1.002/zane.scm, worlds/haxima-1.002/ai.scm, worlds/haxima-1.002/effects.scm, worlds/haxima-1.002/npc-types.scm, worlds/haxima-1.002/parties.scm, worlds/haxima-1.002/shard.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 2005-12-22 baueran * ChangeLog, configure.ac: configure.ac: test for SDL_image 2005-12-22 Gordon McNutt * 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, src/kern.c: 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%. 2005-12-22 Andreas Bauer * configure.ac: test for SDL_image.h 2005-01-30 baueran * autogen.sh, configure.ac, m4/Makefile.am, m4/sdl.m4, ChangeLog, Makefile.am: 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 * worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/moongate-clearing.scm, src/cmd.c, src/nazghul.c, configure.in, doc/USERS_GUIDE, scripts/RELEASE_CHECKOFF, configure, ChangeLog, RELEASE_NOTES, BUGS: Pre-release checkin: o updated version number o put startup scripts at defaults 2005-01-27 Gordon McNutt * worlds/haxima-1.001/images/mixed/mine-32x32.png, 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: Haxima changes o Fixed some deficiencies in the Trigrave conversations. 2005-01-26 Gordon McNutt * worlds/haxima-1.001/earl.scm, worlds/haxima-1.001/conv.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 * worlds/haxima-1.001/occs.scm, worlds/haxima-1.001/zane.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/enchanters-tower-zones.scm, src/place.c, src/kern.c, src/character.cpp, src/astar.c, doc/USERS_GUIDE: 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 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. * 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 * 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 ]. 2005-01-23 Gordon McNutt * worlds/haxima-1.001/images/gmcnutt/features2.png, worlds/haxima-1.001/terrains.scm, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/palette.scm: Haxima changes o More work on enchanter's tower o Added a brazier sprite & terrain type * worlds/haxima-1.001/haxima.scm: Haxima changes o More work on enchanter's tower * worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/haxima.scm, ChangeLog, src/place.c: 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 * worlds/haxima-1.001/game.scm, worlds/haxima-1.001/monster-generator.scm, worlds/haxima-1.001/npc-types.scm, worlds/haxima-1.001/arms.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/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, src/effect.c, src/effect.h, src/factions.h, src/kern.c, src/object.c, src/ctrl.c, src/dtable.c, src/dtable.h, ChangeLog: 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 2005-01-22 Gordon McNutt * 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. 2005-01-22 baueran * COPYING, ChangeLog: Remove nazghul/examples/data/images/.xvpics. * examples/data/images/.xvpics/mine-32x32.png: Remove directory .xvpics/. 2005-01-22 Gordon McNutt * worlds/haxima-1.001/door.scm: Haxima changes: o Added doors, minor tweaks to Enchanter's Tower * 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, src/Arms.cpp, src/Party.cpp, src/character.cpp, src/cmd.c: 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 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/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) * src/ctrl.c: Bugfix: \n in cmdwin_print caused crash 2005-01-20 Gordon McNutt * worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/road.scm, worlds/haxima-1.001/sprites.scm, src/terrain.h, worlds/haxima-1.001/game.scm, src/cmd.h, src/ctrl.c, src/terrain.c, src/cmd.c: 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 * worlds/haxima-1.001/haxima.scm, src/kern.c: Fix for bug 1074360 "Crash when using picklocks on objects". kern_type_get_gifc() was not checking for a NULL gifc before dereferencing it. * 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. * worlds/haxima-1.001/gwen.scm, worlds/haxima-1.001/haxima.scm, src/kern.c: 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/shard.scm, worlds/haxima-1.001/money.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/items.scm, src/cmd.h, src/ctrl.c: Fix for bug 1074739 "Spelling errors" 2005-01-17 Gordon McNutt * src/cmd.c, Makefile.in: Fix for bug 1074739 "Spelling errors" 2004-12-11 baueran * src/Makefile.in, worlds/Makefile.in, configure, configure.ac, configure.in, depcomp, install-sh, ltmain.sh, m4/ChangeLog, m4/Makefile.am, m4/acinclude.m4, missing, mkinstalldirs, src/Makefile.am, Makefile.in, NEWS, RELEASE_NOTES, acinclude.m4, aclocal.m4, autogen.sh, config.guess, config.sub, AUTHORS, ChangeLog, Makefile.am: Changed build system to GNU-compliant scheme. 2004-12-04 Gordon McNutt * worlds/haxima-1.001/ilya.scm, configure.in, src/Makefile.in, configure: 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. * AUTHORS, ChangeLog: New file. * AUTHORS, ChangeLog, Makefile.in, aclocal.m4: 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. 2004-11-21 Gordon McNutt * 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, src/kern.c, src/character.cpp: 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 * worlds/haxima-1.001/chanticleer.scm, worlds/haxima-1.001/door.scm, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/haxima.scm, src/cmd.h, src/kern.c, src/cmd.c: 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/images/mixed/mine-32x32.png, 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: 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 * worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/roland.scm, src/Party.cpp, src/Party.h, src/closure.c, src/kern.c, worlds/haxima-1.001/haxima.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/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 * worlds/haxima-1.001/effects.scm, src/Party.cpp, src/character.cpp, src/character.h, src/kern.c, src/play.c: 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 2004-11-14 Gordon McNutt * 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, src/scheme.h, worlds/haxima-1.001/abandoned-cellar.scm, RELEASE_NOTES, src/Container.cpp, src/Party.cpp, src/Party.h, src/character.cpp, src/closure.c, src/kern.c, src/scheme.c: 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.h, src/kern.c, src/scheme.c, src/session.c, src/Party.cpp: Step 1 1/2 of refactoring for new npc type factories 2004-11-06 Gordon McNutt * worlds/haxima-1.001/haxima.scm, 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, doc/engine_extension_and_design/ENGINE_CLEANUP, doc/engine_extension_and_design/ENGINE_DESIGN_NOTES: 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/sound.c, src/sprite.c, src/sprite.h, src/player.cpp, src/player.h, src/session.c, src/common.c, src/common.h, src/combat.c: 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 sglasby * 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 * scripts/RELEASE_CHECKOFF, worlds/haxima-1.001/haxima.scm, Makefile.in, configure: Final checkin before release * 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, BUGS, RELEASE_NOTES, configure.in: 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 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/images/mixed/mine-32x32.png, worlds/haxima-1.001/palette.scm, worlds/haxima-1.001/shard.scm, worlds/haxima-1.001/terrains.scm, worlds/haxima-1.001/combat-maps.scm: Haxima changes: o Added combat maps for east-west bridges and roads * worlds/haxima-1.001/images/gmcnutt/features2.png, 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: *** empty log message *** * worlds/haxima-1.001/items.scm, worlds/haxima-1.001/scrolls.scm, worlds/haxima-1.001/ai.scm: Adding a missed file 2004-10-23 Gordon McNutt * src/character.cpp, src/character.h, src/kern.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, src/object.c: Kernel changes: o Bugfix: crash on reload due to double-deallocation of convs * 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/roland.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/parties.scm: Haxima changes: o Switched the bandits to use the generic script ai o Added taunts to the generic ai * worlds/haxima-1.001/haxima.scm, src/cmd.c, src/cmd.h, src/ctrl.c, src/play.c: Haxima changes: o Added a hint about the shrine cave in the startup script. Kernel changes: o Added a "help" command bound to '?' 2004-10-22 Gordon McNutt * 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 * src/Party.cpp, src/player.cpp: Kernel changes: o Fixed some bugs that appeared when an NPC joined the player party 2004-10-21 Gordon McNutt * worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/roland.scm, worlds/haxima-1.001/haxima.scm, src/kern.c: 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/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, worlds/haxima-1.001/haxima.scm, 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, src/Being.cpp: 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) * 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 * 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, src/player.cpp, src/session.c, src/session.h, src/character.h, src/combat.c, src/combat.h, src/kern.c, src/play.c, src/Party.cpp, src/character.cpp: 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 * worlds/haxima-1.001/scrolls.scm, worlds/haxima-1.001/session.scm, src/status.c, worlds/haxima-1.001/haxima.scm, src/character.h, src/common.h, src/kern.c, src/player.cpp, src/character.cpp: 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/haxima.scm, worlds/haxima-1.001/lost-halls.scm, worlds/haxima-1.001/portals.scm, worlds/haxima-1.001/shard.scm, worlds/haxima-1.001/earl.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 * worlds/haxima-1.001/occs.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/troll.scm, src/ctrl.c, src/kern.c, src/occ.h, src/species.h, src/character.cpp, src/character.h, src/cmd.c, src/common.h: 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/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/images/gmcnutt/features2.png, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/trigrave.scm: Changed Chanticleer's sprite * 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/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, src/kern.c, src/object.c: 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 2004-10-17 Gordon McNutt * worlds/haxima-1.001/shard.scm: Haxima changes: o Added roads (as terrains, not features) to the shard surface. * 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...) * 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 * worlds/haxima-1.001/combat-maps.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/terrains.scm, src/kern.c: Haxima changes: o Ported over the old ghulscript combat maps for grass, forest and hills Kernel changes: o Added kern-terrain-set-combat-map * worlds/haxima-1.001/monster-generator.scm, src/ctrl.c, src/kern.c: 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 2004-10-16 Gordon McNutt * worlds/haxima-1.001/spells.scm: Haxima changes: o Torches weren't getting removed from inventory when they were used. * 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/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, 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, src/character.cpp: 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 * 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/trigrave-entry.scm, worlds/haxima-1.001/trigrave.scm, src/kern.c, src/astar.c, src/astar.h, src/character.cpp, src/character.h, src/player.cpp, worlds/haxima-1.001/session.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. 2004-10-16 sglasby * 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/trigrave.scm, worlds/haxima-1.001/vehicles.scm, worlds/haxima-1.001/terrains.scm: Palette cleanup. Changing pal_expanded to have all glyphs be 2 characters wide. Added non-LOS-blocking versions of various terrains. 2004-10-15 Gordon McNutt * worlds/haxima-1.001/chanticleer.scm: Start of a new character * 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/troll.scm: Bugfix: accidentally checked in a partial change * worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/troll.scm: Eliminated the spider corpses 2004-10-14 Gordon McNutt * worlds/haxima-1.001/images/gmcnutt/features2.png, worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/trigrave.scm: Added a new sprite: gray-robed humanoid (for Gwen the Innkeeper of Trigrave) * worlds/haxima-1.001/gwen.scm, worlds/haxima-1.001/trigrave-zones.scm, worlds/haxima-1.001/trigrave.scm: Put the innkeeper into trigrave 2004-10-13 Gordon McNutt * worlds/haxima-1.001/gwen.scm: Minor change to conv * worlds/haxima-1.001/gwen.scm: New character started * src/scheme-private.h: Increased memory for scheme allocator (running out when reloading in session.scm) * worlds/haxima-1.001/session.scm, worlds/haxima-1.001/camping-map.scm: Bugfix: broke save/reload in session.scm with my last map-saving fix; this fixes it * 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 * worlds/haxima-1.001/spells.scm, src/kern.c, doc/USERS_GUIDE: Bugfix: webs getting dropped on impassable terrain 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/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/monster-generator.scm, worlds/haxima-1.001/parties.scm, worlds/haxima-1.001/shard.scm: Added some basic random encounter generators to the wilderness * worlds/haxima-1.001/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 2004-10-10 Gordon McNutt * worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/shard.scm, worlds/haxima-1.001/trigrave.scm, doc/USERS_GUIDE, scripts/RELEASE_CHECKOFF, src/kern.c, README, RELEASE_NOTES, configure, configure.in, BUGS, INSTALL, Makefile.in: Added (unpopulated) town: Trigrave * src/scheme.c: Patch from Tim Douglas to fix compile error on Max OS X v10.3.5 * src/Makefile.in, src/nazghul.c, src/player.cpp: Bugfix: segfault when saving games started with the --sound 0 option 2004-10-09 Gordon McNutt * 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, src/character.h, src/combat.c, src/event.c, src/kern.c, src/nazghul.c, src/object.c, src/Arms.cpp, src/Arms.h, src/Party.cpp, src/Party.h, src/character.cpp: o Sounds are now loaded as kernel objects. This change is intended to eliminate the lag when playing sounds under windows. 2004-10-09 sglasby * 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/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. * 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. 2004-10-07 Gordon McNutt * 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 * src/cmd.h, src/cmd.c: 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 * Makefile.in, src/Makefile.in: Fixing a borken Makefile.in (hopefully) * src/tick.c, src/tick.h, depcomp, src/Makefile.am, src/Makefile.in, src/nazghul.c, src/play.c: 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. 2004-10-06 Gordon McNutt * 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/sound.c: Corrected the copyright notice at the top of this file * src/map.c, src/nazghul.c: Bugfix: on some redhat systems we would crash on exit (even without sound enabled) * 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. * worlds/haxima-1.001/terrains.scm: Made bogs exude poisonous fumes again * src/character.h, src/cmd.c, src/player.cpp, src/character.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. * worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/haxima.scm: Rebalanced slimes * src/cmd.c: Fixed: opening a chest describes everything on the tile, not just the contents 2004-10-05 Gordon McNutt * src/splash.png: Removed extra copy of splash image file * src/nazghul.c, src/splash.png: Added splash screen on startup * worlds/haxima-1.001/images/gmcnutt/splash.png: Adding splash image. * worlds/haxima-1.001/moongate.scm, worlds/haxima-1.001/haxima.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. * 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. * 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) 2004-10-04 Gordon McNutt * worlds/haxima-1.001/effects.scm: Bugfix: when paralysis wore off it allowed the player to attack while ensnared * src/ctrl.c, src/event.c, src/event.h: o Converted to UNICODE for keypresses. * worlds/haxima-1.001/slimy-cavern.scm: Fixed load error in slimy-cave.scm due to a missing (unnecessary) file * 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 2004-10-03 Gordon McNutt * src/map.c, src/nazghul.c, src/scheme.c, src/scheme.h, src/screen.c, src/session.c, src/wind.c, 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: Changes needed to compile and run under win32 * depcomp: New file. * RELEASE_NOTES, configure, configure.in: Changes needed to compile and run under win32 * 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 * 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 * src/ctrl.c, src/nazghul.c, src/place.c, src/play.c, worlds/haxima-1.001/haxima.scm, doc/USERS_GUIDE, scripts/RELEASE_CHECKOFF, BUGS, COPYING, INSTALL, RELEASE_NOTES, configure, configure.in: Last-minute tweaks for release 2004-10-01 Gordon McNutt * worlds/haxima-1.001/images/gmcnutt/features2.png, worlds/haxima-1.001/abandoned-cellar.scm, worlds/haxima-1.001/ilya.scm, worlds/haxima-1.001/sprites.scm: o Finished implementing the puska quest * 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. 2004-09-30 Gordon McNutt * src/player.cpp, src/scheme.c, src/session.h, src/kern.c, src/place.c, src/play.c, scripts/RELEASE_CHECKOFF, src/cmd.c: 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/place.c, src/scheme.c, src/character.cpp: 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 * worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/troll.scm, src/kern.c, src/scheme.c, src/scheme.h: 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 * 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, src/place.c, src/play.c, src/vmask.c, src/vmask.h, worlds/Makefile.in, src/Being.h, src/Party.h, src/cmd.c, src/kern.c, src/object.c, aclocal.m4, configure, Makefile.in: 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/scheme.c, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/troll.scm, src/kern.c: Various experiments with improving AI performance 2004-09-25 Gordon McNutt * 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, src/character.cpp, src/kern.c: 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/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. * src/map.c, src/place.c, src/ctrl.c, src/event.c, src/kern.c: Added kern_place_get_beings, a kernel filter for kern_place_get_objects, which speeds up the ai's noticeably * src/node.c, src/node.h, src/object.c, src/object.h, src/place.c, src/player.cpp, src/Being.cpp, src/Being.h, src/Party.cpp, src/character.cpp, src/combat.c: 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 2004-09-24 Gordon McNutt * src/event.c: Numeric keypad now returns numbers when NUMLOCK enabled 2004-09-23 Gordon McNutt * 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/place.c, src/place.h: Removed some obsolete lists from the place structure * src/object.h, src/place.c, src/place.h, src/combat.c, src/ctrl.c, src/node.c, src/object.c: o Fixed a few bugs in the new turn_list code and enabled it. * src/place.h, src/play.c, src/player.cpp, src/player.h, src/place.c, src/object.h, src/ctrl.c, src/node.c, src/node.h, src/object.c, src/Party.h, src/character.cpp, src/character.h, src/combat.c, src/Field.cpp, src/Field.h, src/Makefile.am, src/Makefile.in, src/Party.cpp: Replaced embedded turn_list with wrapper node list * worlds/haxima-1.001/spider.scm: Turned off debug spew from spider.scm * Makefile.am, Makefile.in: Bugfix: removed examples as a source directory for make 2004-09-22 Gordon McNutt * src/ctrl.c, src/node.c, src/node.h, src/place.c, src/place.h, src/combat.c: More invisible changes to fix the offset 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. * src/combat.c: Added yet more unused functions to combat (preparing to fix the list warnings) 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/ilya.scm: Fixed some minor bugs in Ilya's conversation. * 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. 2004-09-19 Gordon McNutt * worlds/haxima-1.001/images/gmcnutt/features2.png, worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/sprites.scm: o Queen spider animation fixed up a bit o Added a queen spider corpse * worlds/haxima-1.001/spells.scm, src/kern.c, src/vmask.c: o Bugfix: kern_in_los was computing the y-component of the vmask coordinates incorrectly due to a typo. * worlds/haxima-1.001/images/gmcnutt/features2.png, 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, RELEASE_NOTES: 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. 2004-09-18 Gordon McNutt * worlds/haxima-1.001/images/gmcnutt/features2.png, 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, scripts/RELEASE_CHECKOFF, scripts/ghul-test-install, src/Makefile.am, src/Makefile.in, src/kern.c, BUGS, INSTALL, Makefile.am, Makefile.in, RELEASE_NOTES, configure, configure.in: Pre-release tweaks and changes * worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/naz.scm: Paralysis prevents struggling against ensnare * worlds/haxima-1.001/abandoned-farm.scm, worlds/haxima-1.001/images/gmcnutt/features2.png, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/sprites.scm: Added a queen spider 2004-09-16 Gordon McNutt * worlds/haxima-1.001/game.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/spider.scm, worlds/haxima-1.001/effects.scm: Added a paralysis skill for spiders. Interaction with ensnare not optimal yet. * 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, src/character.cpp: 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. 2004-09-15 Gordon McNutt * 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, worlds/haxima-1.001/effects.scm, src/effect.h, src/kern.c: o Added kern-obj-get-effects o Spiders now attack foes that are disabled (sleeping or ensnared) * src/dtable.c, src/kern.c: dtable defaults now set in dtable_new(), not kern_mk_dtable() * worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/troll.scm: Webs break when somebody struggles free 2004-09-13 Gordon McNutt * worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/scrolls.scm, worlds/haxima-1.001/spider.scm, src/ctrl.c, src/kern.c, src/object.c, src/object.h: 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. * 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, src/character.cpp, src/kern.c: 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) * worlds/haxima-1.001/effects.scm, worlds/haxima-1.001/fields.scm, worlds/haxima-1.001/images/gmcnutt/features2.png, 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, src/kern.c, src/object.c, src/object.h: Added spider webs 2004-09-12 Gordon McNutt * src/map.c: Bugfix: missiles with off-screen targets were animating wrong * worlds/haxima-1.001/images/gmcnutt/features2.png, worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/sprites.scm: 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/moongate-clearing.scm, worlds/haxima-1.001/session.scm, src/Arms.cpp, src/Arms.h, src/Missile.cpp, src/kern.c: Kernel arms types no longer refer to field types. Cases where arms create fields are now all handled in the script. * worlds/haxima-1.001/scrolls.scm, 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: Changed missile interface * 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/arms.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/ifc.scm, worlds/haxima-1.001/images/dgervais/dg_readable-32x32.png, 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: Added our first usable spell scroll and put a few in the startup warchest * src/ctrl.c: Added base 1d20 for to-hit on all attacks (as per new combat system rules) * worlds/haxima-1.001/troll.scm: Trolls pay 2 turns worth of action points for ripping up boulders * worlds/haxima-1.001/loc.scm, worlds/haxima-1.001/shard.scm, worlds/haxima-1.001/troll.scm, worlds/haxima-1.001/abandoned-farm.scm: Bugfix for troll picking up boulder 2004-09-11 Gordon McNutt * worlds/haxima-1.001/af-entry.scm, worlds/haxima-1.001/naz.scm: Changed spider spawn points in the abandoned farm * 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/loc.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/troll.scm, src/character.cpp, src/kern.c: o More refactoring around the troll AI. 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 sglasby * 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. * src/cmd.c, src/event.h: Working on polish and new features for the Terraform UI. * src/terrain.h: Minor cleanup (removed some junk). * src/terrain.c: Fixed palette_print() and palette_entry_print() to emit Scheme. Also keeping track of palette->widest_glyph again. * worlds/haxima-1.001/palette.scm: Re-generated palette with palette_print(). Works great, with added comments. 2004-09-08 Gordon McNutt * 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 * 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 * 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 2004-09-07 Gordon McNutt * src/character.h, src/kern.c, worlds/haxima-1.001/loc.scm, worlds/haxima-1.001/naz.scm, worlds/haxima-1.001/troll.scm, src/Container.cpp, src/character.cpp: 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/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, src/object.c, src/object.h, src/character.h, src/kern.c, src/character.cpp: 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 sglasby * 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 * 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, src/ctrl.c, src/location.h, src/player.cpp, src/tile.c, src/tile.h: 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 Gordon McNutt * src/player.cpp, src/character.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/shard.scm: *** empty log message *** 2004-09-01 sglasby * 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. 2004-09-01 Gordon McNutt * 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 2004-09-01 sglasby * doc/world_building/being_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-08-28 Gordon McNutt * src/place.h, src/place.c, src/cmd.c, src/object.c, BUGS, src/Container.cpp: 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 Gordon McNutt * worlds/haxima-1.001/session.scm: Renamed a potion type * worlds/haxima-1.001/items.scm: Added to the in-game user's manual * src/status.c, src/status.h, src/kern.c: Added kern-ui-select-from-list 2004-08-26 sglasby * 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 * worlds/haxima-1.001/gregor.scm: Tweaked gregor's conv * worlds/haxima-1.001/gregor.scm: Fixed a bug in gregor's conv * src/place.c: Fixed some item count reporting when examing around * 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, worlds/haxima-1.001/arms.scm: Added more stuff to the start place 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-25 sglasby * 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-24 Gordon McNutt * worlds/haxima-1.001/haxima.scm: Simplified startup script for development 2004-08-24 sglasby * worlds/haxima-1.001/haxima.scm: Added the Terrain Test and the Sprite Gallery to the shard surface for test purposes. * 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. 2004-08-24 Gordon McNutt * 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 * worlds/haxima-1.001/images/gmcnutt/features2.png, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/sprites.scm, src/character.cpp, src/kern.c: Tweaked the startup scene a bit * worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/moongate-clearing.scm, src/player.cpp, src/session.c, src/session.h, src/sprite.c, src/terrain_map.c, src/character.cpp, src/kern.c, src/nazghul.c, src/play.c: Added a startup scene * worlds/haxima-1.001/haxima.scm: Added an optional startup script * worlds/haxima-1.001/moongate-clearing.scm: Tweaks to Moongate Clearing map * 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, src/play.c, src/player.cpp, src/session.c, src/sprite.c, src/sprite.h, worlds/haxima-1.001/P_terrain_test.scm, examples/data/images/frame_pieces.png, src/kern.c, src/place.c, src/place.h, examples/Makefile.in, Makefile.in: You can now specify coordinates for edge entrances to places * src/moongate.c, src/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, src/kern.c: o Cleaned up the work queues a bit. * 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 2004-08-21 Gordon McNutt * 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 * 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 2004-08-20 sglasby * 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 Gordon McNutt * 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, 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, src/character.h, src/kern.c, src/species.c, src/species.h, src/character.cpp: 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-19 sglasby * 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/images/dgervais/dg_weapons.trans.png: Fixed the top-left magic arrow (red glowing, was blue glowing) * 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. 2004-08-18 Gordon McNutt * 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. 2004-08-18 sglasby * 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. 2004-08-18 Gordon McNutt * worlds/haxima-1.001/abandoned-farm.scm, worlds/haxima-1.001/haxima.scm: Added Ilya's abandoned homestead 2004-08-18 sglasby * 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. 2004-08-18 Gordon McNutt * src/cmd.h, src/kern.c, src/log.c, worlds/haxima-1.001/ilya.scm, src/cmd.c: o Added kern-conv-get-reply to directly query the player in a conversation. 2004-08-18 sglasby * worlds/haxima-1.001/sprites.scm, worlds/haxima-1.001/images/kgabbert/new_terrains.png: Added new s_deep and s_shoals. * worlds/haxima-1.001/moongate-clearing.scm: Added a sprite for the moongate-clearing. 2004-08-17 Gordon McNutt * worlds/haxima-1.001/session.scm: Removed references to Gregor's Hut. 2004-08-17 sglasby * 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. * worlds/haxima-1.001/sprite-sets.scm: Added various sprite sheets containing tiles from David Gervais and Kevin Gabbert. 2004-08-17 Gordon McNutt * worlds/haxima-1.001/gregors-hut.scm, worlds/haxima-1.001/haxima.scm, worlds/haxima-1.001/ilya.scm, worlds/haxima-1.001/game.scm: Added Ilya to Gregor's Hut * 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. 2004-08-16 Gordon McNutt * 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, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/haxima.scm: Added some script files for haxima 2004-08-15 Gordon McNutt * 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/player.scm, worlds/haxima-1.001/session.scm, worlds/haxima-1.001/species.scm, worlds/haxima-1.001/spells.scm, src/character.cpp, src/cmd.c: 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 * 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, 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/game.scm, worlds/haxima-1.001/naz.scm, 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, src/Being.cpp, src/Being.h, src/Party.cpp, src/Party.h, src/character.cpp: 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. 2004-08-13 Gordon McNutt * 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, src/common.h, src/kern.c: o Exported all the being faction methods to the script (kern-being-push-faction, etc). * 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, 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: 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. 2004-08-12 Gordon McNutt * 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, src/Being.cpp, src/Being.h, src/Makefile.am, src/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: 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/hstack.h, src/Makefile.am, src/Makefile.in, src/dtable.c, src/dtable.h, src/hstack.c: Converted diplomacy table to be a table of stacks instead of a table of integers * 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 * 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, src/Makefile.am, src/Makefile.in, src/dtable.c, src/dtable.h, src/kern.c, src/place.c, src/session.c, src/session.h: 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. 2004-08-07 Gordon McNutt * 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, worlds/haxima-1.001/effects.scm, src/place.c: 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. * 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, src/object.h, src/object.c: 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/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. 2004-08-06 Gordon McNutt * 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, src/character.cpp, src/cmd.c, src/cmd.h, src/ctrl.c, src/player.cpp: 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. * 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, 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: Added N)ew Order command to character mode * 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, src/cmd.c, src/ctrl.c: Cleaned up console messages for character search, talk, open and use commands 2004-08-05 Gordon McNutt * 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, 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, src/character.cpp, src/cmd.c, src/ctrl.c, src/player.cpp: Cleaned up console messages for a bunch of character commands * worlds/haxima-1.001/tests/console-pass.console.mstr, worlds/haxima-1.001/tests/party-at.console.mstr, src/ctrl.c, worlds/haxima-1.001/tests/console-party-attack.console.mstr, worlds/haxima-1.001/tests/console-party-fire.console.mstr: Removed an extra EOL for the party Pass command * 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, src/cmd.c, src/status.c: Cleaned up console messages for party U)se and @ commands 2004-08-05 sglasby * worlds/haxima-1.001/world_building_notes/README: Added a README for the world_building_notes dir. * 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, 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: Added variout files to world_building_notes/. * doc/engine_extension_and_design/README~: Backup file got added by mistake. * doc/engine_extension_and_design/README, doc/engine_extension_and_design/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. * worlds/haxima-1.001/terrains.scm: Added a dir for world_building_notes. Added a README in that directory. Added various documents therein. 2004-08-05 Gordon McNutt * 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, 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: 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. 2004-08-04 Gordon McNutt * 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, src/cmd.c: Cleaned up console messages related to the party S)earch command * 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, src/cmd.c, src/Party.h: o Bugfix: ready-arms stat window scrolled off-screen in some cases. o Cleaned up console output related to party mode R)eady command 2004-08-04 sglasby * src/images.c: Added improved error logging on IMG_Load() in response to a Mac OS X bug. 2004-08-04 Gordon McNutt * 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, src/Party.cpp, src/cmd.c, src/kern.c, src/log.c, worlds/haxima-1.001/effects.scm: 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 2004-08-04 sglasby * 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-03 sglasby * worlds/haxima-1.001/images/dgervais/dg_commodities.trans.png, worlds/haxima-1.001/sprite-sets.scm, worlds/haxima-1.001/sprites.scm: Added ss_dg_commodities. 2004-08-03 Gordon McNutt * 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, src/Party.cpp: 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. 2004-08-03 sglasby * 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/images/dgervais/dg_missiles.trans.png, worlds/haxima-1.001/sprite-sets.scm, worlds/haxima-1.001/sprites.scm: Arranged the arrows in ss_dg_missiles, added them all to the Sprite Gallery. * worlds/haxima-1.001/images/dgervais/dg_weapons.trans.png: Added black to inside whip loop. 2004-08-03 Gordon McNutt * 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, src/cmd.c: Cleaned up console messages for party mode M)ix command 2004-08-03 sglasby * 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_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. 2004-08-03 Gordon McNutt * 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, src/character.cpp, src/cmd.c, src/ctrl.c: Cleaned up console messages for party mode K)amp command * 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 * 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-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, 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, src/place.c: o Bugfix: the (new) drawbridge terrain feature was always passable. o Cleaned up console output related to party mode H)andle command. 2004-08-02 Gordon McNutt * 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, src/cmd.c, src/player.cpp: Cleaned up console messages for party G)et command * 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/Makefile.am, src/Makefile.in, src/Party.cpp, src/Party.h, src/Portal.cpp, src/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 2004-08-01 Gordon McNutt * src/log.h: Adding missing file 2004-08-01 sglasby * 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. * 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/P_terrain_test.scm: Rearranged some missiles. * worlds/haxima-1.001/P_terrain_test.scm: Added all missile sprites to the Sprite Gallery. 2004-08-01 Gordon McNutt * 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, src/Arms.cpp, src/character.cpp, src/cmd.c, src/combat.c, src/ctrl.c, src/magic.c: Updated console messages on all party spells up through C)ast 2004-07-31 sglasby * 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/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/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/images/dgervais/dg_missiles-32x32.png: Re-arranged the arrows slightly. * worlds/haxima-1.001/sprite-sets.scm: Added ss_dg_missiles. * worlds/haxima-1.001/images/dgervais/dg_missiles-32x32.png: Re-organized, added animation frames. 2004-07-31 Gordon McNutt * 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-31 sglasby * 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). 2004-07-31 Gordon McNutt * 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, src/Makefile.am, src/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: Console rework started 2004-07-30 Gordon McNutt * worlds/haxima-1.001/stone-lantern.scm: Added a missing file 2004-07-29 sglasby * worlds/haxima-1.001/sprite-sets.scm: Added ss_dg_wearable tilesheet. * 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) * worlds/haxima-1.001/images/dgervais/dg_angband_enhanced-32x32.png: Added the David Gervais enhanced 32x32 Angband tileset. 2004-07-28 Gordon McNutt * worlds/Makefile.am: Adding missing file 2004-07-28 sglasby * 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-27 Gordon McNutt * 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 * 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. 2004-07-26 sglasby * src/common.h: Removed a duplicate #define for PLACE_ID. * 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. * worlds/haxima-1.001/images/kgabbert/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/new_roads.png: Aarrgghh.... Checked this file in as new_roads..png which is one too many dots. * 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/sprite-sets.scm: Added the kgabbert/ roads and terrains sprite sheets. Added formatting + comments. * worlds/haxima-1.001/images/kgabbert/new_roads..png, worlds/haxima-1.001/images/kgabbert/new_terrains.png: Added the new roads and terrains tile sheets. 2004-07-25 sglasby * 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/images/gmcnutt/features.png, worlds/haxima-1.001/sprites.scm: Added a mine and cave entrance sprite * worlds/haxima-1.001/images/gmcnutt/features.png, worlds/haxima-1.001/gregors-hut.scm, worlds/haxima-1.001/sprites.scm: Added a new hut sprite 2004-07-24 Gordon McNutt * 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/Makefile.in: *** empty log message *** * 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, src/cmd.c, src/map.c, worlds/haxima-1.001/bim.scm, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/images/gmcnutt/features.png, 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/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: 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/haxima-1.001/bridge.scm: Forgot to add the new bridge file in my last checkin * 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, RELEASE_NOTES: 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/clock.c, src/cmd.c, src/game.h, src/play.c, src/sky.c, BUGS, COPYING, INSTALL, Makefile.am, Makefile.in, RELEASE_NOTES, configure, configure.in, doc/USERS_GUIDE, examples/Makefile.in, scripts/RELEASE_CHECKOFF: Various fixups to make the release work * src/character.cpp, src/ctrl.c, src/player.cpp: Some initial console/cmdwin cleanup * worlds/haxima-1.001/session.scm, worlds/haxima-1.001/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. * 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/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/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/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 * src/common.h, src/screen.c, src/session.c: Removed (faulty) timestamp from save files * 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, 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: Adding regression test framework 2004-07-15 Gordon McNutt * 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 * src/cmd.c: Refixed the terraform bug 2004-07-14 Gordon McNutt * 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, src/player.cpp, src/scheme.c, worlds/haxima-1.001/game.scm, src/character.cpp, src/kern.c, src/object.c, src/object.h, src/place.c, src/place.h: 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/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, src/Field.cpp, src/Field.h, src/Party.cpp, src/character.cpp, src/kern.c, src/object.c: 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/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, src/Makefile.am, src/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: o Replaced pmasks with movement modes and passability classes. 2004-07-10 Gordon McNutt * 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, src/character.cpp, src/cmd.c, src/combat.c, src/Party.cpp: 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/combat.c, src/nazghul.c, src/place.c, src/terrain.c, src/terrain.h, src/closure.c: 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/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, worlds/haxima-1.001/game.scm, worlds/haxima-1.001/images/dbailey/lost_dragon.png, worlds/haxima-1.001/images/dgervais/angband-32x32.png, worlds/haxima-1.001/session.scm, worlds/haxima-1.001/sprite-sets.scm: Populated sound and image directories 2004-07-09 Gordon McNutt * 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 * worlds/haxima-1.001/arms.scm, worlds/haxima-1.001/bakup.scm, worlds/haxima-1.001/bim.scm, worlds/haxima-1.001/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/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/test.scm, worlds/haxima-1.001/vehicles.scm, worlds/haxima-1.001/yellow-slime.scm: Added all the new scripts * src/player.cpp, src/player.h, src/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/util.c, src/util.h, src/vehicle.cpp, src/vehicle.h, src/vmask.c, src/vmask.h, src/wind.c, src/wq.c, src/wq.h, src/map.h, src/moongate.c, src/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/lexer.c, src/lexer.h, src/list.h, src/macros.h, src/magic.c, src/magic.h, src/map.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/game.c, src/gob.c, src/gob.h, src/hash.c, src/images.c, src/images.h, src/kern.c, src/kern.h, src/combat.h, src/common.c, src/common.h, src/conv.c, src/conv.h, src/ctrl.c, 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/Item.h, src/Loader.cpp, src/Loader.h, src/Makefile.am, src/Makefile.in, src/Mech.cpp, src/Mech.h, src/Missile.cpp, src/Missile.h, src/Party.cpp, src/Party.h, src/Portal.cpp, src/Portal.h, src/Reagent.cpp, src/Reagent.h, src/Spell.cpp, src/Spell.h, src/Trap.cpp, src/Trap.h, src/ascii.c, src/ascii.h, src/astar.c, src/character.cpp, src/Arms.cpp, src/Arms.h, src/Container.cpp, src/Container.h, src/Field.cpp, src/Field.h, src/Item.cpp: Merged from branch gmcnutt_scheme 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/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. * src/nazghul.c, src/play.c, src/session.c, src/Makefile.in, src/character.cpp, src/cmd.c, src/conv.c, src/kern.c, src/Makefile.am: 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/lexer.c, src/lexer.h, src/nazghul.c, src/session.c, src/terrain.c, src/Makefile.am, src/Makefile.in, src/conv.c, src/kern.c: o Eliminated lexer.[ch] * src/session.c, src/terrain.c, src/terrain_map.c, src/util.c, src/util.h, src/wq.c, src/play.c, src/kern.c, src/nazghul.c, src/object.c, src/olist.c, src/place.c, src/Party.cpp, src/cmd.c, src/hash.c, src/images.c, src/Makefile.am, src/Makefile.in: o Modified the interpreter to fix the script->kernel->script recursion issue. Limited testing so far, but no problems noted yet. 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/character.h, src/ctrl.c, src/ctrl.h, src/kern.c, src/Party.cpp, src/Party.h, src/character.cpp: 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/map.c, src/nazghul.c, src/sky.c, src/vmask.c, src/vmask.h, src/kern.c: 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/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/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, src/Party.cpp: 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/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/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.h, src/player.cpp, src/combat.c: o Backing out recent changes. Need to try something else. 2004-06-28 Gordon McNutt * src/combat.h, src/player.cpp, src/combat.c: 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) * src/Makefile.am, src/Makefile.in, src/Spell.cpp, src/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 2004-06-27 Gordon McNutt * 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/character.h, src/dice.c, src/kern.c, src/Party.cpp, src/Spell.cpp, src/character.cpp: 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/map.c: o Added kern-map-set-peering o Added kern-ui-waitkey * src/player.cpp, src/player.h, src/place.c: o Bugfixes for time stop. * src/kern.c: o Added kern-place-get-width o Added kern-place-get-height 2004-06-26 Gordon McNutt * src/kern.c: o Added kern-char-set-alignment * 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) 2004-06-25 Gordon McNutt * src/object.c, src/object.h, src/scheme-private.h, src/scheme.c, src/Party.h, src/character.cpp, src/cmd.c, src/gob.c, src/gob.h, src/kern.c, src/Party.cpp: 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/session.c, src/session.h, src/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: 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 * src/object.c, src/object.h, src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/closure.c, src/kern.c: o Added kern-char-get-party o Added kern-char-add-defense to change the defense bonus by an integral amount 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/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 * 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. 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/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 * src/place.c, src/place.h, src/play.c, src/player.cpp, src/session.c, src/session.h, src/Party.cpp, src/Spell.cpp, src/character.cpp, src/character.h, src/effect.c, src/effect.h, src/kern.c, src/object.c, src/object.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. 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/effect.c, src/effect.h: New file. * 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, src/Makefile.am, src/Makefile.in, src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/closure.c: o Changed effects, fixed some nasty bugs and some minor ones. 2004-06-03 Gordon McNutt * src/player.h, src/kern.c, src/object.c, src/object.h, src/player.cpp, src/Party.h, src/Spell.cpp, src/character.cpp, src/character.h, src/cmd.c, src/conv.c, src/Party.cpp: o Removed all traces of the old poison effect from the kernel. * 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, src/Spell.cpp, src/character.cpp: 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/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/magic.c, src/magic.h: New file. * src/Makefile.am, src/Makefile.in, src/Spell.cpp, src/Spell.h, src/cmd.c, src/kern.c, src/magic.c, src/magic.h, src/object.c: 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. 2004-06-02 Gordon McNutt * src/Party.cpp, src/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/session.c, src/Party.cpp, src/Party.h, src/kern.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) * 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. 2004-05-30 Gordon McNutt * src/event.c, src/kern.c, src/play.c, src/session.c, src/terrain_map.c, src/terrain_map.h, src/wq.c, src/ctrl.c: o Fixed a very worrisome bug related to memory corruption. * src/cursor.h, src/kern.c, src/object.c, src/object.h, src/place.c, src/place.h, src/player.h, src/wq.c, src/character.cpp, src/character.h, src/closure.c, src/cursor.cpp: o Moongates now show their closing/operning animations when the player steps through. * src/sky.h, src/character.cpp, src/kern.c, src/map.c, src/map.h, src/sky.c: 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. 2004-05-29 Gordon McNutt * 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. * src/Makefile.am, src/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. 2004-05-28 Gordon McNutt * src/sky.c, src/sky.h, src/play.c: 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/gob.c, src/gob.h: Added missing files. * src/gob.c, src/gob.h: New file. * src/place.c: o Bugfix: infrequent crash caused by not locking a tile in place_for_each_tile(). * src/cmd.c, src/kern.c, src/wq.c, src/wq.h: o Added most of the support needed for rudimentary moongates. 2004-05-26 Gordon McNutt * src/player.cpp, src/player.h, src/cursor.cpp, src/cursor.h, src/kern.c, src/object.c, src/object.h, src/place.c, src/character.h, src/ctrl.c, src/character.cpp, src/Party.h, src/Portal.cpp, src/Portal.h, src/Spell.cpp, src/Party.cpp: o Implemented portals as mechs. Tested on a ladder and a trap door. 2004-05-25 Gordon McNutt * src/session.h, src/terrain_map.c, src/terrain_map.h, src/Container.cpp, src/character.cpp, src/object.h, src/place.c, src/place.h, src/session.c: o Bugfix: saving twice without an intervening reload was hitting an assert. 2004-05-24 Gordon McNutt * src/player.cpp, src/session.c, src/status.h, 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/character.cpp: o Fixed a few things to support character gobs. 2004-05-23 Gordon McNutt * 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, src/character.cpp, src/Party.cpp: o Added character schedules. * src/session.c, src/sky.c, src/Makefile.am, src/Makefile.in, src/Mech.cpp, src/Mech.h, src/Party.cpp, src/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: o Removed the Mech C++ class. No longer needed now that mechs are completely implemented in the script. * src/character.h, src/kern.c, src/object.c, src/object.h, src/place.c, src/character.cpp: o Added support for terrain-blitting mechs. 2004-05-22 Gordon McNutt * 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. * src/object.h, src/scheme.c, src/session.c, src/session.h, src/cmd.c, src/kern.c, src/object.c: o Added support for connecting mechs. Tested with basic lever-and-portculis. Saving them works, too. 2004-05-21 Gordon McNutt * 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. * src/object.h, src/scheme.c, src/scheme.h, src/Makefile.am, src/Makefile.in, src/closure.c, src/cmd.c, src/kern.c, src/object.c: 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. 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.h, src/cmd.c, src/kern.c, src/object.c, src/object.h, src/scheme.c, src/scheme.h, src/closure.c: 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/kern.c, src/object.c, src/object.h: o Added an exec-handler to the ObjectType class. * 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. 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/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, src/Item.cpp, src/Item.h, src/Makefile.am, src/Makefile.in: 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. * src/player.cpp, src/player.h, src/status.c, src/character.h, src/cmd.c, src/conv.c, src/kern.c, src/object.c, src/object.h, src/Container.cpp, src/Container.h, src/character.cpp: 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. 2004-05-15 Gordon McNutt * src/sched.c, src/screen.c, src/session.c, src/sprite.c, src/Container.cpp, src/Loader.cpp, src/Loader.h, src/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: o Removed obsolete Loader class * src/Makefile.in, src/Trap.cpp, src/Trap.h, src/character.cpp, src/cmd.c, src/combat.c, src/kern.c, src/play.c, src/session.c, src/Makefile.am: 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/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/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/object.c, src/occ.c, src/terrain.h, src/Field.cpp, src/Missile.cpp, src/kern.c: 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/kern.c, src/combat.c: o Added checks when positioning characters in combat to see if the terrain is hazardous or if the tile contains a field. * 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, src/object.c, src/Party.cpp, src/Party.h, src/character.cpp: o Changed kern-mk-party to kern-mk-party-type o Added kern-mk-party o A coupld of bugfixes related to NPC parties 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/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, src/dice.h: New file. 2004-05-09 Gordon McNutt * src/Arms.cpp: Bugfix: thrown weapon types not initialized properly, caused a crash when used. * src/kern.c: Bugfix: natural weapons weren't being setup properly in the species structure. * src/player.h, 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/Arms.cpp, src/Mech.cpp, src/Mech.h, src/Party.cpp: 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). 2004-05-02 Gordon McNutt * 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. * 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. 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/Item.cpp, src/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. * 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. 2004-04-26 Gordon McNutt * 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/Field.cpp, src/Field.h: Field class needed to override the save() method to generate kern-mk-field instead of kern-mk-obj. * 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/Field.cpp, src/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.h, src/kern.c, src/Field.cpp: Added kern-mk-field for instantiating Field objects. * src/terrain.c, src/Field.cpp, src/Field.h, src/Spell.cpp, src/closure.c, src/kern.c, src/object.c, src/session.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/combat.c: Removed some dead code. * src/kern.c, src/kern.h: New file. * src/kern.h: New files. * src/character.h: Removed some commented-out code. 2004-04-24 Gordon McNutt * src/Makefile.in: Added kern.c. * src/Makefile.am: Pulled the kernel API out of session.c to the new kern.c. * src/session.c: Pulled kernel API out of session.c to the new kern.c. * src/session.h: Pulled kernel API implementation out of session.c over to kern.c. * src/session.c: Removed dead code. * src/player.cpp: Bugfix: items in player inventory that were also readied by party members were being saved twice. * 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. 2004-03-25 Gordon McNutt * src/session.h, src/place.c, src/play.c, src/player.cpp, src/session.c, src/character.cpp, src/cmd.c, src/cmd.h, src/ctrl.c: 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. * src/session.c, src/object.c, src/object.h, src/place.c, src/player.cpp, src/Party.cpp: 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. 2004-03-22 Gordon McNutt * 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. * src/Container.h, src/Mech.cpp, src/Mech.h, src/Party.cpp, src/Party.h, src/Portal.cpp, src/Reagent.cpp, src/Reagent.h, src/Spell.cpp, src/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, src/Container.cpp: 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. 2004-03-21 Gordon McNutt * 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, src/Portal.cpp, src/cmd.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. * src/Mech.h, src/session.c, src/Mech.cpp: 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 2004-03-17 Gordon McNutt * src/object.h, src/session.c, src/object.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/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: New file. * src/closure.c, src/closure.h: Two files that belonged in the last checkin * src/Makefile.in, src/object.c, src/scheme.c, src/scheme.h, src/session.c, src/terrain.c, src/terrain.h, src/Makefile.am: o Added burning effect to lava terrain. 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/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. * 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 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/session.c, src/sky.c: o More changes related to getting the game to save/reload in a town. * src/play.c, src/player.cpp, src/session.c, src/character.cpp, src/object.c, src/place.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/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. 2004-03-11 Gordon McNutt * src/Portal.cpp, src/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/combat.c, src/ctrl.c, src/game.c, src/place.c, src/play.c, src/player.cpp, src/portal.h, src/session.c: o Changed 'portal.h' to Portal.h, added Portal.cpp and cleaned up the .h file. * src/Portal.cpp, src/Portal.h: New file. * src/Makefile.am, src/Makefile.in, src/Party.cpp, src/Portal.cpp, src/Portal.h, src/character.cpp, src/cmd.c: o Changed 'portal.h' to Portal.h, added Portal.cpp and cleaned up the .h file. * src/place.c, src/place.h, src/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. * 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/images.c, src/images.h, src/session.c, src/cmd.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. 2004-03-10 Gordon McNutt * 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.h, src/sprite.c: 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. * 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. 2004-03-09 Gordon McNutt * src/player.h, src/session.c, src/player.cpp: o Loading and saving the player party. Not actually walking around yet - that will be next. * src/character.h, src/session.c, src/character.cpp: o Loading and saving CHARs. * 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/occ.c, src/occ.h, src/session.c: o Loading occupation types * src/Arms.h, src/Container.cpp, src/Field.cpp, src/Field.h, src/Reagent.cpp, src/Reagent.h, src/Trap.cpp, src/Trap.h, src/moongate.c, src/moongate.h, src/object.c, src/object.h, src/occ.c, src/occ.h, src/session.c, src/vehicle.cpp, src/vehicle.h, src/Arms.cpp: o Loading arms types * src/character.h, src/session.c, src/species.c, src/species.h, src/character.cpp: o Loading species 2004-03-07 Gordon McNutt * 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/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/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/Makefile.in, src/combat.c, src/load.c, src/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, src/Makefile.am: o Moved loading code to session.c and got rid of load.[ch]. o Added loading of terrain maps. * src/terrain.c, src/terrain.h, src/terrain_map.c, src/play.c, src/load.c: Loading palettes * src/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/load.c, src/session.c, src/session.h: Made the interpreter part of the session * src/Makefile.am, src/Makefile.in, src/load.c, src/load.h, src/play.c, src/session.c, src/session.h: *** empty log message *** * src/load.c, src/load.h, src/session.c, src/session.h: New file. * src/debug.c, src/debug.h, src/game.c, src/images.c, src/images.h, src/macros.h, src/opdefines.h, src/play.c, src/scheme-private.h, src/scheme.c, src/scheme.h, src/sky.c: *** empty log message *** * src/opdefines.h, src/scheme-private.h, src/scheme.c, src/scheme.h: New file. * src/Makefile.am, src/Makefile.in, src/astar.c, src/conv.c: *** empty log message *** 2004-03-04 Gordon McNutt * src/loader.h, src/species.c, src/species.h, src/loader.cpp: o Loading SPECIES. 2004-03-03 Gordon McNutt * src/loader.cpp, src/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/Spell.cpp, src/Spell.h, src/loader.cpp, src/loader.h: o Loading SPELLS o Fixed a nasty bug related to double-deallocating a string in the parsed sprite destructor. * src/Reagent.cpp, src/Reagent.h, src/loader.cpp, src/loader.h: o Loading REAGENTS * src/loader.cpp, src/loader.h: o Loading MAGIC WORDS. 2004-03-01 Gordon McNutt * src/Arms.cpp, src/Arms.h, src/Container.cpp, src/Field.cpp, src/Field.h, src/Item.cpp, src/Item.h, src/Reagent.cpp, src/Trap.cpp, src/Trap.h, src/lexer.c, src/lexer.l, src/loader.cpp, src/loader.h, src/moongate.c, src/moongate.h, src/nazghul.c, src/object.c, src/object.h, src/occ.c, src/parser.y, src/parser_cb.h, src/terrain.c, src/vehicle.cpp, src/vehicle.h, examples/data/def_macros.ghul, examples/data/player/party.ghul, examples/data/types.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: 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/loader.cpp: More formatting changes * src/loader.cpp: Formatting changes * src/loader.cpp, src/terrain.c: *** empty log message *** 2004-02-28 Gordon McNutt * src/loader.cpp: *** empty log message *** * src/Makefile.am, src/Makefile.in, src/loader.c, src/loader.cpp: Moved loader.c to loader.cpp * src/loader.cpp: New file. 2004-02-24 Gordon McNutt * src/terrain.h, src/terrain_map.c, src/loader.c, src/loader.h, src/terrain.c: o Loading PALETTE constructs now. 2004-02-23 Gordon McNutt * src/lexer.l, src/loader.c, src/parser.y, src/parser_cb.h, src/terrain.c, src/terrain.h, src/terrain_map.h, examples/data/types/terrains.ghul, src/lexer.c, examples/data/world.ghul: 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 * src/cmd.c, src/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/place.h, src/terrain.c, src/terrain.h, src/loader.h, src/parser.y, src/parser_cb.h, src/place.c, src/loader.c, src/conv.c, src/game.c, src/combat.c, src/cmd.c: o Parsing & loading terrains. * src/parser_cb.h: New file. * src/lexer.l, src/loader.c, src/loader.h, src/parser.y, src/parser_cb.h, examples/data/types.ghul, examples/data/world.ghul, src/game.c, src/lexer.c: 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/loader.c, src/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/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/lexer.c, src/lexer.l, src/loader.c, src/loader.h, src/parser.y, src/play.c, examples/data/Makefile, examples/data/def_constants.ghul, examples/data/def_macros.ghul, examples/data/types.ghul, examples/data/types/portal_types.ghul, examples/data/types/readable_items.ghul, examples/data/world.ghul, examples/Makefile.am, examples/Makefile.in: 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. 2004-02-21 Gordon McNutt * src/game.c, src/images.c, src/images.h, src/loader.c, src/play.c, src/sprite.c, src/sprite.h, src/Mech.cpp, src/astar.c, src/debug.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/images.c, src/loader.c, src/screen.c, src/screen.h, src/sprite.c, src/game.c: Added loading and binding of frame elements * src/sprite.c, src/sprite.h, src/loader.c: Added an allocation pass and a binding pass to the loader * src/images.c, src/images.h, src/lexer.c, src/loader.c, src/loader.h, src/parser.y, src/sprite.c, src/sprite.h, src/game.c: Loading of sprites, binding implemented but untested 2004-02-19 Gordon McNutt * src/debug.c, src/mmap.c, src/mmap.h: New file. * src/Makefile.am, src/Makefile.in, src/debug.c, src/debug.h, src/game.c, src/lexer.c, src/loader.c, src/mmap.c, src/mmap.h, src/nazghul.c, src/util.c, src/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/macros.h, src/parser.y, src/util.h: Added macros.h for generic, c-safe macros. Cleaned up lexer.l and parser.y with this change. * src/macros.h: New file. * src/lexer.c, src/lexer.l: Added macros.h for generic, c-safe macros. Cleaned up lexer.l and parser.y with this change. 2004-02-18 Gordon McNutt * src/Makefile.am, src/Makefile.in, src/lexer.c, src/lexer.l, src/loader.c, src/loader.h, src/parser.y, src/play.c, src/util.c, src/util.h, 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, examples/data/world/places/GoblinCaves.ghul, examples/data/world/places/GreenTower.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: 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. * lexer.h: New file. * examples/data/def_macros.ghul, examples/data/player/party.ghul, examples/data/types/npc_party_defs.ghul, examples/data/world.ghul, lexer.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 * src/lexer.h: Adding back in the old lexer.h (for now) * src/lexer.l, src/loader.c, src/loader.h, src/old_lexer.c, src/parser.y: New file. * src/Makefile.am, src/Makefile.in, src/lexer.c, src/lexer.h, src/lexer.l, src/loader.c, src/loader.h, src/old_lexer.c, src/parser.y, src/util.h, examples/Makefile.in, configure.in, Makefile.in, configure: o Brought in new flex/bison parser and got it to build. 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 Gordon McNutt * src/console.c, src/console.h, src/foogod.c, src/foogod.h, src/status.c: Bugfix: console/foogod clobbering each other 2003-11-07 sglasby * 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. 2003-11-07 Gordon McNutt * src/Party.cpp, src/Party.h, src/player.cpp, src/player.h, src/vehicle.cpp, src/vehicle.h, examples/data/world/places/P_wilderness.ghul, src/Arms.cpp, examples/data/types/vehicles.ghul: Bugfix: sinking a horse killed the party 2003-11-07 sglasby * 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-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 sglasby * 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/combat.c, src/ctrl.c, src/game.c, src/player.cpp, src/player.h, src/status.c, src/Party.cpp, src/Party.h, src/cmd.c: Moved more fields from player to Party, removed more duplicates * src/player.h, src/player.cpp: Removed obsolete 'turns' field from player class * 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/screen.c: Bugfix: highlighting box rendered improperly in zoom mode 2003-11-03 sglasby * examples/data/world/mechanisms/all_mechanisms.ghul, src/Mech.cpp, src/Mech.h: Added support for any_event_among keyword in transitions {} block for MECH_TYPE. * src/Mech.cpp, src/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/types/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/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/formation.ghul: New file. * examples/data/player/party.ghul: 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. 2003-11-02 Gordon McNutt * src/Party.cpp, src/Party.h, src/character.cpp, src/character.h, src/cmd.c, src/conv.c, src/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 * 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/game.c: Eliminated the 'home' field in the ghulscript npc constructor 2003-11-01 Gordon McNutt * 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 * src/Party.h, src/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/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, src/Makefile.am, src/Makefile.in, src/Missile.cpp, src/NpcParty.cpp, src/NpcParty.h, src/Party.cpp: Cleaned up Party.h 2003-10-27 Gordon McNutt * src/Party.cpp, src/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/Party.cpp, src/Party.h, src/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.cpp, src/Party.h: New file. * src/Makefile.am, src/Makefile.in, src/Missile.cpp, src/NpcParty.cpp, src/NpcParty.h, src/Party.cpp, src/Party.h, src/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/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 2003-10-18 Gordon McNutt * src/NpcParty.cpp, src/NpcParty.h, src/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/character.cpp, src/ctrl.c: Hooked up character ui controller * src/NpcParty.cpp, src/NpcParty.h, src/cmd.c, src/ctrl.c, src/object.c, src/object.h, src/player.h: Hooked up ai party controller * src/Makefile.am, src/Makefile.in, src/NpcParty.h, src/character.h, src/ctrl.c, src/ctrl.h, src/player.cpp, src/player.h: Hooked up player party ui controller * src/ctrl.c, src/ctrl.h: New file. 2003-10-12 Gordon McNutt * src/AiPartyController.cpp, src/AiPartyController.h, src/Makefile.am, src/Makefile.in, src/NpcParty.cpp, src/NpcParty.h, src/cmd.c, src/object.c, src/object.h, src/player.h: Added the AiPartyController * src/AiPartyController.cpp, src/AiPartyController.h: New file. * src/Mech.cpp, src/Mech.h, src/NpcParty.cpp, src/NpcParty.h, src/Spell.cpp, src/UiPartyController.cpp, src/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/UiPartyController.cpp, src/UiPartyController.h: New file. * src/Controller.h, src/Makefile.am, src/Makefile.in: Added the UiPartyController * src/Controller.h: New file. 2003-10-06 Gordon McNutt * src/los.c, Makefile.in, aclocal.m4, config.guess, config.sub, configure, examples/Makefile.in, install-sh, ltmain.sh, missing, mkinstalldirs, src/Makefile.in: Build changes for RedHat * configure.in: Changed required SDL version from 1.2.4 back to 1.2.3. * Makefile.in, acinclude.m4, aclocal.m4, config.guess, config.sub, configure, examples/Makefile.in, install-sh, ltmain.sh, missing, mkinstalldirs, src/Makefile.in, src/los.c: Knoppix build changes * Makefile.in, PRESS_RELEASE, RELEASE_NOTES, acinclude.m4, aclocal.m4, config.guess, config.sub, configure, configure.in, examples/Makefile.in, ltconfig, missing, mkinstalldirs, scripts/ghul-test-install, src/Makefile.in: More build config changes 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/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. * src/combat.c: o Bugfix: with animation off, on entry to wilderness combat the map was not being updated properly. 2003-10-04 Gordon McNutt * scripts/ghul-test-install, PRESS_RELEASE, RELEASE_NOTES: Added a PRESS_RELEASE file * examples/data/world/places/P_wilderness.ghul, src/player.cpp, examples/data/player/party.ghul, examples/data/world/astronomy.ghul: Removed some printf dbg * src/nazghul.c, BUGS, INSTALL, README, doc/USERS_GUIDE: o Updated some of the docs * src/NpcParty.cpp, src/character.cpp, src/nazghul.c, src/place.c, configure, configure.in, examples/data/world/places/Glasdrin.ghul, examples/data/world/places/P_wilderness.ghul: o Bugfix: stepping on a tile that contained an inactive moongate would invoke the moongate in town. o Tweeks to the sample world * ltmain.sh: Added ltmain.sh * 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/char_doris.ghul, examples/data/world/places/GreenTower.ghul: Changed char_doris.ghul to Doris.ghul * examples/Makefile.in, src/Makefile.in, Makefile.in, configure, configure.in, ltconfig: Fixed the LIBTOOL problem 2003-10-03 Gordon McNutt * src/cmd.c, src/vmask.c: Bugfix: vmask_invalidate was calculating the wrong region on wrapping maps * 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. 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 * 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, Makefile.in, aclocal.m4, configure, examples/Makefile.in, examples/data/player/party.ghul, examples/data/world/astronomy.ghul, src/Makefile.am, src/Makefile.in, src/Mech.cpp: Merged over vmask changes * src/vmask.c, src/character.cpp, src/character.h, src/map.c, src/object.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/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 * src/cmd.c, src/map.c, src/map.h, src/object.c: Added mapUpdateTile to repaint a single tile. Used in Object::select() 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/Makefile.in, src/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, src/vmask.h: New file. 2003-09-21 Gordon McNutt * 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. * src/Arms.cpp, src/Makefile.in, src/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. 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 * src/Makefile.in, src/ascii.c, src/ascii.h, src/character.cpp, src/common.h, src/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, Makefile.in, acinclude.m4, aclocal.m4, configure, examples/Makefile.in: Some changes to make it compile on Knoppix * 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/game.c, src/map.c, src/map.h, src/moongate.c, src/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, src/Arms.h, src/Field.cpp, src/Field.h, src/Item.cpp, src/Makefile.am, src/Makefile.in, src/Mech.cpp, src/Mech.h, src/NpcParty.cpp, src/NpcParty.h, src/Spell.cpp, src/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, examples/data/world/characters/Deric.ghul, examples/data/world/characters/Gen.ghul, examples/data/world/characters/Shroom_the_Hag.ghul, examples/data/world/characters/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, examples/data/world/portals.ghul, src/Arms.cpp, examples/data/images/.xvpics/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/def_constants.ghul, examples/data/images/mine-32x32.png: Merged in changes from gmcnutt-newcombat-br 2003-09-14 Gordon McNutt * src/map.c, src/character.cpp, examples/data/world/places/Glasdrin.ghul, examples/data/player/party.ghul: Added a monster generator and lots of guards in Glasdrin. I love trouble. Fixed a few bugs that were flushed out with this. * src/console.c, src/nazghul.c, src/screen.h: Removed obsolete references to SDL_ttf * src/character.cpp: Npc's now avoid hazardous terrain while commuting and wandering. * examples/data/world/astronomy.ghul, src/NpcParty.cpp, src/Spell.cpp, src/astar.c, src/character.cpp, src/character.h, src/cmd.c, src/combat.c, src/game.c, src/map.c, src/map.h, src/moongate.c, src/nazghul.c, src/object.c, src/object.h, src/play.c, src/player.cpp, src/player.h, src/sky.c, examples/data/player/party.ghul: 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. 2003-09-13 Gordon McNutt * 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/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/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 * src/Spell.cpp, src/object.c, src/play.c, src/play.h: Fixed Rel Tym and An Tym 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 * src/NpcParty.cpp, src/NpcParty.h, src/character.cpp, src/character.h, src/game.c, src/player.cpp, src/player.h: o Bugfix: "Join" now works again. * 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/Spell.cpp, src/character.cpp, src/cmd.c, src/combat.c, src/combat.h, src/conv.c, src/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/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 * src/game.c, src/play.c: --Fixed a crash that occurred on startup if the --sound 0 option was specified. * src/Spell.cpp, src/character.cpp: o Bugfix: Cast Uus Por in Green Tower Lower - looks like we hang. * src/character.cpp: --Fixed a crash that occurred on startup if the --sound 0 option was specified. * 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/combat.c: o Bugfix: attack a ship to the east - gangplanks don't meet the shore. * src/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/player.h, src/character.cpp, src/cmd.c, src/cmd.h, src/object.c, src/object.h, src/player.cpp: 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/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/world/portals.ghul, src/character.cpp, src/player.cpp, examples/data/player/party.ghul: 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/NpcParty.cpp, src/character.cpp, src/character.h, src/cmd.c, src/conv.c, src/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. * 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. * 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/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. 2003-09-01 Gordon McNutt * examples/data/player/party.ghul, examples/data/types/terrains.ghul: Changed all fast terrain to be medium. * src/formation.c: Adding formation.c * src/formation.c: New file. * src/object.c, src/object.h, src/player.cpp, src/player.h, src/character.cpp, src/character.h, src/combat.c, src/combat.h, src/map.c, src/map.h: More changes to support the unified game loop. o The player party can now exit from a town again. 2003-08-31 Gordon McNutt * src/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. * src/combat.h, src/common.c, src/common.h, src/conv.c, src/formation.h, src/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, 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/Makefile.in, src/NpcParty.cpp, src/NpcParty.h, src/Spell.cpp, src/Spell.h, src/character.cpp, src/character.h, src/combat.c: 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. 2003-08-23 Gordon McNutt * src/player.cpp, src/character.cpp: Ok, now you can exit dungeons. But still no fighting\! * src/combat.h, src/player.cpp, src/player.h, src/combat.c: 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/NpcParty.cpp, src/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 sglasby * 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/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/player.cpp, src/character.cpp, src/play.c: Fixed death, added sleep to charm recovery * src/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 2003-08-14 Gordon McNutt * configure, configure.in, scripts/RELEASE_CHECKOFF, scripts/ghul-test-install, src/nazghul.c: Notes & such made while creating the 0.1.3 release * BUGS, RELEASE_NOTES: Updated * 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 sglasby * INSTALL: Added some notes to INSTALL about PATH settings needed. 2003-08-11 Gordon McNutt * 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, src/Arms.cpp, src/Spell.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/char_doris.ghul: Script changes mandated by engine changes * src/place.c, src/place.h: Bufgix: program hanging in place_exec due to removing objects * src/player.cpp, src/player.h, src/clock.c, src/clock.h, src/combat.c, src/foogod.c, src/play.c: Time moves at wilderness scale in the wilderness once more 2003-08-09 Gordon McNutt * src/common.h, src/place.c, src/place.h, src/play.c: Time goes by faster in the wilderness now * src/clock.c, src/clock.h, src/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/moongate.c, src/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/Makefile.am, src/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, src/clock.h: New file. 2003-08-07 Gordon McNutt * src/cmd.c: Bugfix: opening a closed door was printing 'Open an open door' as a console message * 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/NpcParty.cpp, src/cmd.c, src/common.h, src/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 2003-08-06 Gordon McNutt * src/NpcParty.cpp, src/common.h, src/player.cpp, src/player.h: Bugfix: members were getting an hour of rest every turn while sleeping * examples/data/types/terrains.ghul, examples/data/world/places/GreenTower.ghul, examples/data/world/places/P_wilderness.ghul, src/NpcParty.cpp, src/astar.c, examples/data/def_constants.ghul, examples/data/images/.xvpics/mine-32x32.png, examples/data/images/mine-32x32.png, examples/data/sprite_sets/misc_added_sprite_set.ghul: Added trails to Green Tower and the wilderness 2003-08-05 Gordon McNutt * src/NpcParty.h, src/common.h, src/foogod.c, src/game.c, src/object.c, src/object.h, src/player.cpp, src/player.h, src/vehicle.cpp, src/vehicle.h, 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/NpcParty.cpp: Action points now distributed based on speed; updated all the speeds and passability costs in the example game * src/combat.c: Bugfix: party was placed off-center on the camping map * src/astar.c, src/astar.h, src/place.c, src/NpcParty.cpp: Bugfix: characters don't seem to be taking optimal path through/around forest 2003-08-04 Gordon McNutt * src/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 * src/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. * examples/data/world/astronomy.ghul, examples/data/world/characters/Deric.ghul, examples/data/world/characters/Gen.ghul, src/NpcParty.cpp, src/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/Item.cpp, src/Makefile.am, src/Makefile.in, src/Mech.cpp, src/Mech.h, src/NpcParty.cpp, src/NpcParty.h, src/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: New file. 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/.xvpics/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/images/mine-32x32.png: Added a window terrain * examples/data/types/terrains.ghul, examples/data/world/astronomy.ghul, examples/data/world/places/GreenTower.ghul, examples/data/images/.xvpics/mine-32x32.png, examples/data/images/mine-32x32.png, examples/data/sprite_sets/misc_added_sprite_set.ghul: Added arrow slits * src/NpcParty.cpp, src/astar.c, src/combat.c, src/map.c, src/place.c, src/player.cpp, src/terrain_map.c, examples/data/world/astronomy.ghul, examples/data/world/places/P_wilderness.ghul: 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 * src/object.c, src/object.h, src/player.cpp, src/player.h, src/vehicle.cpp, src/vehicle.h, 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/NpcParty.cpp, src/NpcParty.h, src/Spell.cpp, src/combat.c, src/common.h, src/game.c, src/map.c, src/map.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 * examples/data/def_constants.ghul, examples/data/world/characters/Deric.ghul, examples/data/world/characters/char_doris.ghul, src/NpcParty.cpp, src/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 2003-07-28 Gordon McNutt * src/Item.cpp, src/Makefile.am, src/Makefile.in, src/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 * 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, examples/data/images/.xvpics/mine-32x32.png, examples/data/images/mine-32x32.png, examples/data/sprite_sets/misc_added_sprite_set.ghul: Upgraded the door sprites. 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 * 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/combat.c: Bugfix: if a charmed party members was the only one left in combat then combat would never exit. * src/Missile.cpp: Bugfix: missiles were not doing damage due to recent changes * src/map.c: Bugfix: --ShowAllTerrain was not painting objects * src/map.c, src/place.c, examples/data/world/astronomy.ghul: Changed lighting to use raycasting. 2003-07-26 Gordon McNutt * src/combat.c, src/play.c: More console msg cleanup * src/player.cpp: Bugfix: npc parties might visibly 'warp' on entrance to a town because I was painting the scene before synchronizing their schedules * src/combat.c: Bugfix: combat place needed to inherit 'underground' from town or wilderness place * src/character.cpp: Bugfix: resting was resurrecting dead party members 2003-07-25 Gordon McNutt * src/map.c, src/place.c, src/place.h, src/combat.c, examples/data/types/terrains.ghul: Light sources are now raytraced. Solves the light-shining-through-wall problem. * 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 2003-07-24 Gordon McNutt * src/map.c, src/place.c, src/place.h: Extended line-of-sight to radius 19. * src/combat.h, src/map.c: Fixed map 'peer' mode to recenter correctly in combat/dungeons * 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. 2003-07-23 Gordon McNutt * src/combat.c: Combat re-enters the FIGHTING state if hostile npc's added in a non-FIGHTING state * 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. 2003-07-22 Gordon McNutt * src/Spell.cpp, src/combat.c, src/console.c, src/play.c, src/play.h, examples/data/types/npc_party_defs.ghul, examples/data/types/readable_items.ghul: Misc small changes; console msg cleanup/polishing 2003-07-20 Gordon McNutt * src/character.h, src/combat.c, src/play.c, examples/data/world/characters/Olin_the_Ghast.ghul, examples/data/world/characters/Shroom_the_Hag.ghul, examples/data/world/characters/char_doris.ghul, examples/data/world/characters/inhabitants_of_britain.ghul, examples/data/world/characters/party_members.ghul, src/Arms.cpp, src/character.cpp, 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/def_macros.ghul: Some of the new balancing changes are in place now 2003-07-19 Gordon McNutt * 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, examples/data/world.ghul, src/species.c, src/species.h: Added some (yet unused) fields to species * examples/data/types/species.ghul: Adjusted some species attributes * RELEASE_NOTES, examples/data/types/species.ghul, src/species.c, src/species.h: Eliminated the unused 'occs' fields from species * 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 * 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, examples/data/sprite_sets/angband_sprite_set.ghul, examples/data/types.ghul: 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/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. * configure, src/Arms.cpp, src/Arms.h, src/Makefile.am, src/Makefile.in, src/Missile.cpp, src/Missile.h, src/Spell.cpp, src/Spell.h, src/character.cpp, src/player.cpp: Moved the Missile class out of the Arms files into Missile.h and Missile.cpp * src/player.cpp, src/status.c, src/Arms.cpp, src/Arms.h, src/character.cpp, src/common.h, src/game.c: Got rid of the AmmoType class (looks like it isn't used anywher) * examples/data/types.ghul, examples/data/types/projectiles.ghul, examples/data/types/weapons.ghul, src/Arms.cpp, src/Arms.h, src/game.c: o For arms, renamed 'attackValue' as 'damage' and 'defendValue' as 'armor'. o Cleaned up Arms.h/Arms.cpp a bit. 2003-07-17 sglasby * 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 * src/combat.h, src/map.c, src/object.c, src/place.c, src/play.c, 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/Mech.cpp, src/character.cpp, src/combat.c, 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.ghul, examples/data/world/characters/Deric.ghul, examples/data/world/portals.ghul: 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 sglasby * examples/data/world/places/P_empire_city.ghul: Added a conversation to the water elemental. * examples/data/world/conversations/conversations.ghul: Added a new file ./C_misc_npcs.ghul * examples/data/world/conversations/C_misc_npcs.ghul: Added a new file for conversations with misc NPCs. * 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. 2003-07-15 sglasby * examples/data/images/mechanisms.png, examples/data/images/rune_font_32x32.png: Fixed some errant pixels. 2003-07-15 Gordon McNutt * examples/data/images/lost_dragon.png, examples/data/sprite_sets/lost_dragon.ghul: Added lost_dragon sprite set and images * 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 2003-07-14 Gordon McNutt * examples/data/types/projectiles.ghul, src/Arms.cpp, src/Spell.cpp, examples/data/images/.xvpics/mine-32x32.png, examples/data/images/mine-32x32.png, examples/data/sprite_sets/mechanism_sprites.ghul: 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/.xvpics/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, examples/data/images/mine-32x32.png: Added wall torches, fixed some script bugs 2003-07-13 Gordon McNutt * examples/data/types/furniture.ghul: Added furniture.ghul * BUGS, examples/data/types.ghul, src/play.c: o [engine] Fixed TARGET_SPELL_LOCATION for wilderness/town mode. 2003-07-13 sglasby * 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. * examples/data/player/party.ghul, examples/data/types/projectiles.ghul, examples/data/types/spells.ghul: Added a new light spell. * examples/data/types/projectiles.ghul: Added a new projectile for a new light spell. * examples/data/types/magical_fields.ghul: Added a short-duration "magical illumination" field for a new minor light spell. 2003-07-13 Gordon McNutt * 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/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/Item.cpp, src/Item.h, src/Spell.cpp, src/character.cpp, src/character.h, src/common.h, src/dup_constants.h, src/game.c, RELEASE_NOTES, examples/data/player/party.ghul, examples/dup_constants.h: 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/world/places/P_terrain_test.ghul, examples/data/world/places/P_wilderness.ghul, src/place.c, src/place.h, src/play.c, 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: Opening chests now described contents again; modified describe to optionally describe the terrain 2003-07-12 Gordon McNutt * examples/data/world/characters/Gen.ghul: Bugfix to Gen's conversation * examples/data/sprite_sets/angband_sprite_set.ghul, examples/data/types/useable_items.ghul, examples/data/world.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. * src/Container.cpp, src/Container.h, RELEASE_NOTES, examples/data/world/places/P_terrain_test.ghul: 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 * 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. * src/character.cpp, src/common.h, src/conv.c, 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: 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. 2003-07-12 sglasby * src/game.c: Added minor comments. * examples/data/types/weapons.ghul: Minor reformatting. * examples/data/types/readable_items.ghul: Minor reformatting of a document. 2003-07-11 sglasby * src/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 * 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 * 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. * 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 * RELEASE_NOTES, examples/data/world/places/P_terrain_test.ghul, src/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. 2003-07-09 Gordon McNutt * 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/Mech.cpp, src/conv.c, src/conv.h, src/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 * examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/P_wilderness.ghul, src/dup_constants.h, src/game.c, src/game.h, src/sky.c, RELEASE_NOTES, examples/data/world/astronomy.ghul, examples/dup_constants.h: 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). * 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/Mech.cpp, src/Mech.h, src/NpcParty.cpp, src/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, RELEASE_NOTES, examples/data/images/.xvpics/mine-32x32.png, examples/data/images/mine-32x32.png, examples/dup_constants.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 sglasby * src/play.c: Increased cursor range for Xamine and Terraform to take advantage of Zoom mode. 2003-07-03 Gordon McNutt * 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 * examples/data/world/characters/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, examples/data/def_constants.ghul, examples/data/images/.xvpics/mine-32x32.png, 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, RELEASE_NOTES: --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. * RELEASE_NOTES, src/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. * examples/data/world/characters/Shroom_the_Hag.ghul, src/NpcParty.cpp, src/NpcParty.h, src/game.c, RELEASE_NOTES: --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 * examples/data/images/.xvpics/mine-32x32.png, 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 * RELEASE_NOTES, examples/data/def_constants.ghul, examples/data/images/.xvpics/mine-32x32.png, examples/data/images/mine-32x32.png, examples/data/sprite_sets/misc_added_sprite_set.ghul, examples/data/types.ghul, examples/data/world/places/GreenTower.ghul, src/NpcParty.cpp, src/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 2003-06-30 Gordon McNutt * examples/data/world/places/P_slime_cave.ghul, examples/data/world/places/P_wilderness.ghul, examples/data/world/places/all_places.ghul, src/NpcParty.cpp, src/character.cpp, src/character.h, src/combat.c, src/place.c, src/species.c, src/species.h, RELEASE_NOTES, 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: CHECKIN_NOTES 2003-06-30 sglasby * examples/data/types/readable_items.ghul: Added more info to the Map Editors Guide document. * examples/data/player/party.ghul, examples/data/types/readable_items.ghul: Added a Map Editors guide document in-game. 2003-06-29 sglasby * 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/readable_items.ghul: Added DOCUMENT_TYPE() macro. * 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.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. * src/combat.c: Added display of range/reach for ranged/melee attacks to the UI prompt when making an attack. * examples/data/types/projectiles.ghul: Changed projectiles to use a PROJECTILE_TYPE() macro. * 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. * src/common.h: Removed a kludge #ifdef block. 2003-06-29 Gordon McNutt * src/play.c, src/player.cpp, src/player.h, RELEASE_NOTES, examples/data/world/places/P_terrain_test.ghul, src/game.c, src/common.c, src/common.h, src/cursor.cpp, src/cursor.h, src/map.c, src/place.c, examples/data/types/vehicles.ghul, src/combat.c: CHECKIN_NOTES 2003-06-28 sglasby * src/play.c: Added notes to detailed_examine_XY() for future implementation. * 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/places/P_terrain_test.ghul, examples/data/player/party.ghul, examples/data/types/readable_items.ghul, examples/data/types/worn_items.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: Minor formatting. * examples/data/world/places/P_rom_camp.ghul: Corrected a comment. * examples/data/world/mechanisms/all_mechanisms.ghul: Converted all door-like mechanisms to use the MAKE_DOORLIKE_MECH() macro. 2003-06-27 sglasby * examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/P_rom_camp.ghul, examples/data/types/npc_party_defs.ghul, examples/data/types/species.ghul, examples/data/types/weapons.ghul: Added horses to the gypsy camp, and a new doorlike mechanism for a fence gate. * examples/data/world/places/P_rom_camp.ghul, examples/data/world/places/all_places.ghul: Added a gypsy (Rom) camp. * examples/data/world/maps/M_blank_16x16.ghul: Added a new map template of size 16x16. * examples/data/world/places/P_cavernous_troll_deeps.ghul, examples/data/world/places/all_places.ghul, examples/data/world/portals.ghul, examples/data/types/portal_types.ghul: Created a new dungeon. * examples/data/world/maps/M_blank_32x32.ghul, examples/data/world/maps/M_blank_64x64.ghul: Fixed palette name * examples/data/types/portal_types.ghul: Added a new portal type t_standing_portal. * examples/data/world/maps/M_blank_32x32.ghul, examples/data/world/maps/M_blank_64x64.ghul: Added a couple of blank map templates. * RELEASE_NOTES: Updated RELEASE_NOTES with info on the palette+map saving command. * 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. * src/common.h, src/cursor.cpp, src/play.c: Some polish on cursor range things. 2003-06-26 sglasby * 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 sglasby * 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. * src/event.c: Minor change in eventHandler(). * 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/play.c: More tweaking of zoom-in messages. * 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/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. * 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/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. 2003-06-23 sglasby * examples/data/types/terrains.ghul, src/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 sglasby * 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". * 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. * scripts/run_nazghul: Added information to the comment header. * 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 sglasby * examples/data/world/places/P_wilderness.ghul, src/combat.c, src/common.c, src/common.h, src/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 sglasby * src/character.cpp: Added \n to a debug message. * RELEASE_NOTES, src/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.) * src/terrain_map.c: Un-snarled a diagram in a comment illustrating map rotation. * RELEASE_NOTES, src/game.c, src/terrain.h, 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: 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. 2003-06-19 Gordon McNutt * BUGS, configure: One more update to BUGS * configure.in, src/nazghul.c: Updated version number to 0.1.2 * BUGS, INSTALL, RELEASE_NOTES: Updated INSTALL and BUGS 2003-06-18 sglasby * 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. * 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/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. 2003-06-18 Gordon McNutt * 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/data/images/.xvpics/mine-32x32.png, examples/data/images/mine-32x32.png, examples/data/mapfile, 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, examples/mapfile, 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. * scripts/run_nazghul: Adding Sam's run script * examples/data/world/characters/Shroom_the_Hag.ghul, examples/data/world/places/GreenTowerLower.ghul, examples/data/world/places/GreenTowerLower_Map.ghul: Forgotten files 2003-06-17 Gordon McNutt * src/map.c, src/play.c, src/player.cpp, src/screen.c, src/sky.c, src/sprite.c, src/sprite.h, examples/data/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, examples/mapfile, src/Item.cpp, src/NpcParty.cpp, src/character.cpp, src/combat.c, BUGS, RELEASE_NOTES: --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 * examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/P_prison_and_torture_chamber.ghul, src/Mech.cpp, src/Mech.h, BUGS, RELEASE_NOTES, examples/data/mapfile, examples/data/player/party.ghul, examples/mapfile: --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. * RELEASE_NOTES, examples/data/mapfile, examples/data/player/party.ghul, examples/mapfile, 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. * RELEASE_NOTES, examples/data/mapfile, examples/data/types/occupations.ghul, examples/mapfile, src/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. :-) * examples/data/mapfile, examples/data/player/party.ghul, examples/data/world/places/GreenTower.ghul, examples/mapfile, src/NpcParty.cpp, src/conv.c, RELEASE_NOTES: --Added a new character to Green Tower. Shroom the Hag owns the reagent shop. * 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. * 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 Gordon McNutt * examples/data/sprite_sets/moons_sprite_set.ghul, examples/data/sprite_sets/ultima_IV_font_sprite_set.ghul, examples/data/world/astronomy.ghul, src/Mech.cpp, src/common.h, src/game.c, src/play.c, src/player.cpp, src/sky.c, src/sky.h, src/terrain.c, src/terrain.h, BUGS, RELEASE_NOTES, examples/data/mapfile, examples/mapfile: --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. 2003-06-14 sglasby * 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/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 * RELEASE_NOTES, src/NpcParty.cpp, src/NpcParty.h, src/play.c, BUGS: --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, RELEASE_NOTES, examples/data/mapfile, examples/data/player/party.ghul, examples/mapfile, 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 sglasby * examples/data/types/terrains.ghul, src/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. * src/game.c: Added some notes prior to implementing NULL terrain support for (terrain, terrain_palette, terrain_map). * src/terrain.c: Added some notes where the 'struct terrain' API seemed inconsistent. * src/terrain.h: Notes and formatting 2003-06-13 Gordon McNutt * examples/data/world/places/GreenTower.ghul: Map upgrade. 2003-06-13 sglasby * src/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. * src/play.c: Polished the use of mapTileIsVisible() in cmdXamine(). * examples/data/world/astronomy.ghul: Added some notes on the value of arc for the sun. 2003-06-13 Gordon McNutt * examples/data/world/places/GreenTower.ghul, examples/data/world/places/all_places.ghul, src/util.h, examples/data/mapfile, examples/data/player/party.ghul, examples/data/world/astronomy.ghul, RELEASE_NOTES, examples/mapfile, BUGS: --Added start of a new town: Green Tower 2003-06-12 sglasby * examples/data/types.ghul: Formatting improvements for internal documentation. * examples/data/def_macros.ghul, examples/data/types.ghul: Moved macros to where they were used. * 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/sprite_sets/rune_font_sprite_set_8x16.ghul: Fixed the path to the image file from "images/" to "data/images/" * examples/data/sprite_sets/rune_font_sprite_set_32x32.ghul, examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_terrain_test.ghul, examples/data/world/places/all_places.ghul, examples/data/def_constants.ghul, examples/data/sprite_sets/ultima_IV_sprite_set.ghul, examples/data/types.ghul, examples/data/types/terrains.ghul, examples/data/types/vehicles.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 * src/Mech.cpp: Turned off some verbose debug output. 2003-06-12 Gordon McNutt * 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, examples/data/mapfile, examples/data/player/party.ghul, examples/mapfile, BUGS, RELEASE_NOTES, doc/GHULSCRIPT: --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 sglasby * src/play.c, src/character.cpp, src/character.h, src/combat.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 * examples/data/types/readable_items.ghul: Added Xamine and AT commands to the "Users Guide to Nazghul" * src/play.c: Look, Xamine, Ztats, AT take zero turns, improved some 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 2003-06-11 Gordon McNutt * examples/data/world/places/P_wilderness.ghul, src/NpcParty.cpp, src/NpcParty.h, src/Spell.cpp, src/combat.c, src/game.c, src/map.c, src/object.c, src/play.c, examples/data/mapfile, BUGS, RELEASE_NOTES, examples/mapfile: --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. * src/sound.c, examples/data/world/astronomy.ghul, examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_wilderness.ghul, src/play.c, examples/data/mapfile, doc/GHULSCRIPT, examples/mapfile, RELEASE_NOTES: --Fixed a crash that occurred on startup if the --sound 0 option was specified. 2003-06-08 Gordon McNutt * RELEASE_NOTES, examples/data/mapfile, examples/data/world.ghul, examples/mapfile, src/NpcParty.cpp, src/combat.c, src/combat.h, src/common.h, src/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. * src/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, examples/data/mapfile, examples/data/types/species.ghul, examples/mapfile, src/NpcParty.cpp, RELEASE_NOTES: --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. * src/Loader.h, src/character.cpp, src/character.h, src/sound.c, src/species.c, src/species.h, examples/data/mapfile, examples/data/types/species.ghul, examples/data/world/characters/Olin_the_Ghast.ghul, examples/data/world/characters/inhabitants_of_britain.ghul, src/Loader.cpp, RELEASE_NOTES, examples/mapfile: --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 * 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, examples/data/mapfile, examples/data/types.ghul, examples/mapfile, RELEASE_NOTES: --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/data/types/readable_items.ghul, examples/data/mapfile, examples/data/player/party.ghul, examples/mapfile: Removed the old notes which referred to LB and SH * BUGS: Added a BUGS file for per-release bug info * src/nazghul.c, INSTALL, configure, configure.in: Updated INSTALL and configure.in in preparation for release 0.1.1 2003-06-06 Gordon McNutt * src/object.h, src/place.c, examples/data/world/places/P_prison_and_torture_chamber.ghul, src/Mech.cpp, src/Mech.h, examples/data/world/places/P_empire_city.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/player/party.ghul, examples/data/mapfile, examples/mapfile: --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/data/world/maps/terrain_combat_maps.ghul, examples/data/world/places/P_wilderness.ghul, examples/data/mapfile, examples/data/world.ghul, examples/mapfile: --Created a combat map for east-west bridges (combat looks kind of funny when half the map has been terrain-filled with bridge icons ;)). * src/NpcParty.cpp, src/NpcParty.h, src/cursor.cpp, src/place.c, examples/data/mapfile, examples/data/player/party.ghul, examples/mapfile: --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/data/world/places/DarkPassage.ghul, src/character.cpp, src/combat.c, examples/data/types/portal_types.ghul, examples/data/world/portals.ghul, examples/data/def_constants.ghul, examples/data/mapfile, examples/mapfile: --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 sglasby * 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. * examples/data/sprite_sets/misc_added_sprite_set.ghul: Minor formatting fix (removed duplicate ;;) * 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) 2003-06-04 Gordon McNutt * 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-04 sglasby * examples/data/world/maps/terrain_combat_maps.ghul: Changed the m_water_combat map to 32x32 to match the rest. 2003-06-04 Gordon McNutt * examples/data/mapfile, examples/data/world/places/P_empire_city.ghul, src/play.c, src/player.cpp, src/player.h, examples/mapfile: --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. * src/place.c, examples/data/player/party.ghul, examples/data/world/places/P_prison_and_torture_chamber.ghul, examples/data/world/portals.ghul, src/combat.c, examples/data/mapfile, examples/mapfile: --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/data/world/characters/BlackBart_the_Shipwright.ghul, src/NpcParty.cpp, src/place.c, src/place.h, examples/data/mapfile, examples/mapfile: 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-03 Gordon McNutt * examples/data/mapfile, examples/data/player/party.ghul, examples/data/world.ghul, examples/data/world/maps/terrain_combat_maps.ghul, src/combat.c, src/combat.h, src/game.c, examples/mapfile: 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 Gordon McNutt * examples/data/player/party.ghul, src/Mech.cpp, src/place.c, examples/data/def_constants.ghul, examples/data/mapfile, examples/mapfile: Fixed passability problems with mechs. * src/combat.c, src/place.h, src/player.h, src/player.cpp: --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-02 sglasby * examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_wilderness.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/maps/terrain_combat_maps.ghul, examples/data/types/npc_party_defs.ghul, examples/data/types/occupations.ghul, examples/data/types/species.ghul, examples/data/sprite_sets/mechanism_sprites.ghul, examples/data/def_constants.ghul, examples/data/world.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 2003-06-01 Gordon McNutt * examples/data/world/characters/Olin_the_Ghast.ghul: Missed this file on an earlier commit * doc/GAME_DEVELOPERS_GUIDE, doc/MAP_HACKERS_GUIDE: Moved a doc * doc/USERS_GUIDE: Updated for 0.2.0 release * src/player.cpp, src/player.h, src/NpcParty.cpp, src/game.c: --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. * examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/P_empire_city.ghul, examples/data/def_constants.ghul, examples/data/mapfile, examples/data/player/party.ghul, examples/data/types/species.ghul, examples/data/types/terrains.ghul, examples/data/types/vehicles.ghul, examples/mapfile: --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/types.ghul, examples/data/types/spells.ghul, examples/data/main.ghul: Cleaned up some obsolete references to u4/u5/u6 * src/pinfo.h, src/place.c, src/place.h, src/play.c, src/play.h, src/player.cpp, src/player.h, src/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/util.c, src/util.h, src/vehicle.cpp, src/vehicle.h, src/wind.c, src/wind.h, src/wq.c, src/wq.h, 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/Item.cpp, src/Item.h, src/Loader.cpp, src/Loader.h, src/Mech.cpp, src/Mech.h, src/NpcParty.cpp, src/NpcParty.h, src/Reagent.cpp, src/Reagent.h, src/Spell.cpp, src/Spell.h, src/Trap.cpp, src/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/game.c, src/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/lexer.c, src/lexer.h, src/list.h, src/los.c, src/los.h, src/map.c, src/map.h, src/moongate.c, src/moongate.h, src/nazghul.c, src/object.c, src/object.h, src/occ.c, src/occ.h, src/olist.c, src/olist.h, 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/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/portals.ghul, examples/data/def_constants.ghul, examples/data/def_macros.ghul, examples/data/main.ghul, examples/data/player/party.ghul, examples/data/types.ghul, examples/data/world.ghul: Added license headers to all source and example files 2003-05-31 Gordon McNutt * Makefile.am, Makefile.in, configure, 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. * src/game.c: Found another uninitialized variable that caused a crash during game load * configure.in: Re-enabled the -O2 option * src/Mech.cpp, src/Spell.cpp, src/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. * examples/data/player/party.ghul, examples/data/world/characters/BlackBart_the_Shipwright.ghul, src/conv.c, src/place.c, autogen.sh, examples/data/mapfile, examples/mapfile: -- 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. * examples/data/mapfile, examples/data/world.ghul, examples/Makefile.am, examples/Makefile.in, examples/mapfile: -- 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/yaur/all_yaur_maps.ghul, examples/data/world/maps/yaur/castle_adare.xpm, examples/data/world/maps/yaur/yaur.naz, examples/data/world/maps/yaur/yaur.xpm, examples/data/world/places/P_empire_city.ghul, examples/data/world/places/P_prison_and_torture_chamber.ghul, examples/data/world/maps/u4_u5/lcb1.med, examples/data/world/maps/u4_u5/lcb2.med, examples/data/world/maps/u4_u5/skara.med, examples/data/world/maps/u4_u5/u5_world_map.med, examples/data/world/maps/u4_u5/all_ultima_maps.ghul, examples/data/world/maps/u4_u5/britain.med, examples/data/world/maps/M_prison_and_torture_chamber.ghul: -- Removed obsolete map files. -- Added place file for empire city. 2003-05-30 Gordon McNutt * examples/data/mapfile, examples/data/world/characters/BlackBart_the_Shipwright.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/mapfile: -- Added a shipwright to Empire City where the player can purchase a ship. * examples/data/world/astronomy.ghul, examples/data/world/places/P_wilderness.ghul, examples/data/mapfile, examples/mapfile: -- Improved terrain variety on the wilderness map. * doc/GAME_RULES: Modified some rules pertaining to party movement from town to world maps and through portals. * src/Makefile.in, src/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. * doc/GAME_RULES: Added GAME_RULES to capture the explanation and reasoning behind engine behaviour where it differs from u5 2003-05-29 Gordon McNutt * examples/data/world/places/P_wilderness.ghul, examples/data/world/places/all_places.ghul: Added new simple wilderness * examples/data/world/places/yaur/yaur_world.ghul, examples/data/world/places/u4_u5/u4_u5_world.ghul, examples/data/world/places/u4_u5/P_dark_passage.ghul, examples/data/world/places/u4_u5/P_lcb_1.ghul, examples/data/world/places/u4_u5/P_lcb_2.ghul, examples/data/world/places/u4_u5/P_prison_and_torture_chamber.ghul, examples/data/world/places/u4_u5/P_britain.ghul: Removed old maps. * examples/data/def_constants.ghul, examples/data/mapfile, examples/data/player/party.ghul, examples/data/sprite_sets/mechanism_sprites.ghul, examples/data/types.ghul, examples/data/world.ghul, examples/data/world/astronomy.ghul, examples/data/world/characters/inhabitants_of_britain.ghul, examples/data/world/mechanisms/all_mechanisms.ghul, examples/data/world/places/all_places.ghul, examples/data/world/portals.ghul, examples/Makefile.am, examples/Makefile.in, examples/mapfile: Tried to fix Makefile.am (didn't quite); imported empire city map; some new mech macros * src/game.c, src/play.c, src/player.cpp, src/player.h, doc/GAME_DEVELOPERS_GUIDE: t 2003-05-28 Gordon McNutt * Makefile.am, Makefile.in: Fixed top-level Makefile.am to include the doc directory when building the distro tarball. * examples/.console: Removed .console. * examples/.console, doc/GAME_DEVELOPERS_GUIDE, doc/GHULSCRIPT, doc/USERS_GUIDE: Added documentation. * src/play.c: bugfix: mapInit() must go before placeEnter() * examples/data/tile_sheet_utils/TileSheet.pm, examples/data/tile_sheet_utils/reformat_tile_sheet.perl: Initial import * examples/data/tile_sheet_utils/TileSheet.pm, examples/data/tile_sheet_utils/reformat_tile_sheet.perl: New file. * examples/data/images/.xvpics/mine-32x32.png, examples/data/images/charset-8x16.png, examples/data/images/images_35x24_intra1.png, examples/data/images/shapes-32x32.png: Initial import * examples/data/images/.xvpics/mine-32x32.png, examples/data/images/charset-8x16.png, examples/data/images/images_35x24_intra1.png, examples/data/images/shapes-32x32.png: New file. * examples/data/images/angband-16x16.png: Initial import * examples/data/images/angband-16x16.png: New file. * examples/data/images/charset-8x16_intra1.png, examples/data/images/frame.png: Initial import * examples/data/images/charset-8x16_intra1.png, examples/data/images/frame.png: New file. * examples/data/images/sam_new_tiles_32x32_intra1.png, examples/data/images/u4_enhanced_tiles_32x32.png: Initial import * examples/data/images/sam_new_tiles_32x32_intra1.png, examples/data/images/u4_enhanced_tiles_32x32.png: New file. * examples/data/images/u4_enhanced_tiles_32x32_intra_1.png: Initial import * examples/data/images/u4_enhanced_tiles_32x32_intra_1.png: New file. * examples/data/images/mechanisms.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: Initial import * examples/data/images/mechanisms.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: New file. * examples/data/images/angband-32x32.png: Initial import * examples/data/images/angband-32x32.png: New file. * examples/data/images/moons-16x16.png: Initial import * examples/data/images/moons-16x16.png: New file. * examples/data/images/shrine-32x32.png, examples/data/images/splash.png: Initial import * examples/data/images/shrine-32x32.png, examples/data/images/splash.png: New file. * examples/data/images/charset-8x8.png, examples/data/images/frame_pieces.png, examples/data/images/frame_pieces_2-16x16.png, examples/data/images/mine-32x32.png: Initial import * examples/data/images/charset-8x8.png, examples/data/images/frame_pieces.png, examples/data/images/frame_pieces_2-16x16.png, examples/data/images/mine-32x32.png: New file. * examples/data/images/charset-16x16.png: Initial import * examples/data/images/charset-16x16.png: New file. * examples/data/images/shapes-16x16.png: Initial import * examples/data/images/shapes-16x16.png: New file. * examples/data/sounds/drum_02.wav: Initial import * examples/data/sounds/drum_02.wav: New file. * examples/data/sounds/fanfare5.wav: Initial import * examples/data/sounds/fanfare5.wav: New file. * examples/data/sounds/fanfare7.wav: Initial import * examples/data/sounds/fanfare7.wav: New file. * examples/data/sounds/damage.wav: Initial import * examples/data/sounds/damage.wav: New file. * examples/data/sounds/cannon.wav, examples/data/sounds/horse.wav, examples/data/sounds/rowing-old1.wav, examples/data/sounds/rowing.wav, examples/data/sounds/walk.wav: Initial import * examples/data/sounds/cannon.wav, examples/data/sounds/horse.wav, examples/data/sounds/rowing-old1.wav, examples/data/sounds/rowing.wav, examples/data/sounds/walk.wav: New file. * examples/data/sounds/enter_moongate.wav, examples/data/sounds/footsteps_1.wav: Initial import * examples/data/sounds/enter_moongate.wav, examples/data/sounds/footsteps_1.wav: New file. * 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: Initial import * 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: New file. * 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/characters/inhabitants_of_britain.ghul, examples/data/world/characters/party_members.ghul, examples/data/world/conversations/conversations.ghul, examples/data/world/mechanisms/all_mechanisms.ghul: Initial import * 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/characters/inhabitants_of_britain.ghul, examples/data/world/characters/party_members.ghul, examples/data/world/conversations/conversations.ghul, examples/data/world/mechanisms/all_mechanisms.ghul: New file. * examples/data/world/sounds/rowing.wav, examples/data/world/sounds/walk.wav: Initial import * examples/data/world/sounds/rowing.wav, examples/data/world/sounds/walk.wav: New file. * 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: Initial import * 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: New file. * examples/data/world/sounds/fanfare5.wav: Initial import * examples/data/world/sounds/fanfare5.wav: New file. * examples/data/world/sounds/enter_moongate.wav: Initial import * examples/data/world/sounds/enter_moongate.wav: New file. * examples/data/world/sounds/drum_02.wav: Initial import * examples/data/world/sounds/drum_02.wav: New file. * examples/data/world/places/u4_u5/P_prison_and_torture_chamber.ghul, examples/data/world/places/u4_u5/u4_u5_world.ghul, examples/data/world/places/yaur/yaur_world.ghul, examples/data/world/sounds/cannon.wav, examples/data/world/sounds/damage.wav: Initial import * examples/data/world/places/u4_u5/P_prison_and_torture_chamber.ghul, examples/data/world/places/u4_u5/u4_u5_world.ghul, examples/data/world/places/yaur/yaur_world.ghul, examples/data/world/sounds/cannon.wav, examples/data/world/sounds/damage.wav: New file. * examples/data/world/maps/u4_u5/all_ultima_maps.ghul, examples/data/world/maps/u4_u5/lcb2.med, examples/data/world/places/all_places.ghul, examples/data/world/places/u4_u5/P_britain.ghul, examples/data/world/places/u4_u5/P_dark_passage.ghul, examples/data/world/places/u4_u5/P_lcb_1.ghul, examples/data/world/places/u4_u5/P_lcb_2.ghul: Initial import * examples/data/world/maps/u4_u5/all_ultima_maps.ghul, examples/data/world/maps/u4_u5/lcb2.med, examples/data/world/places/all_places.ghul, examples/data/world/places/u4_u5/P_britain.ghul, examples/data/world/places/u4_u5/P_dark_passage.ghul, examples/data/world/places/u4_u5/P_lcb_1.ghul, examples/data/world/places/u4_u5/P_lcb_2.ghul: New file. * examples/data/world/maps/u4_u5/lcb1.med: Initial import * examples/data/world/maps/u4_u5/lcb1.med: New file. * examples/data/world/maps/u4_u5/britain.med: Initial import * examples/data/world/maps/u4_u5/britain.med: New file. * examples/data/world/maps/u4_u5/skara.med: Initial import * examples/data/world/maps/u4_u5/skara.med: New file. * examples/data/world/maps/u4_u5/u5_world_map.med: Initial import * examples/data/world/maps/u4_u5/u5_world_map.med: New file. * examples/data/world/maps/yaur/all_yaur_maps.ghul, examples/data/world/maps/yaur/castle_adare.xpm, examples/data/world/maps/yaur/yaur.naz: Initial import * examples/data/world/maps/yaur/all_yaur_maps.ghul, examples/data/world/maps/yaur/castle_adare.xpm, examples/data/world/maps/yaur/yaur.naz: New file. * examples/data/world/maps/yaur/yaur.xpm: Initial import * examples/data/world/maps/yaur/yaur.xpm: New file. * examples/data/world/maps/M_dark_passage.ghul, examples/data/world/maps/M_prison_and_torture_chamber.ghul, examples/data/world/maps/M_secret_shrine.ghul, examples/data/world/maps/terrain_combat_maps.ghul: Initial import * examples/data/world/maps/M_dark_passage.ghul, examples/data/world/maps/M_prison_and_torture_chamber.ghul, examples/data/world/maps/M_secret_shrine.ghul, examples/data/world/maps/terrain_combat_maps.ghul: New file. * examples/data/ALL_GHULFILES, examples/data/mapfile, examples/data/player/party.ghul, examples/data/types.ghul, examples/data/world/astronomy.ghul, examples/data/world/portals.ghul: Initial import * examples/data/ALL_GHULFILES, examples/data/mapfile, examples/data/player/party.ghul, examples/data/types.ghul, examples/data/world/astronomy.ghul, examples/data/world/portals.ghul: New file. * examples/data/world.ghul: Initial import * examples/data/world.ghul: New file. * examples/.console, examples/data/Makefile, examples/data/def_constants.ghul, examples/data/def_macros.ghul, examples/data/main.ghul, examples/mapfile: Initial import * examples/.console, examples/data/Makefile, examples/data/def_constants.ghul, examples/data/def_macros.ghul, examples/data/main.ghul, examples/mapfile: New file. * examples/Makefile.am, examples/Makefile.in, examples/dup_constants.h, src/vehicle.cpp, src/vehicle.h, src/wind.c, src/wind.h, src/wq.c, src/wq.h: Initial import * examples/Makefile.am, examples/Makefile.in, examples/dup_constants.h, src/vehicle.cpp, src/vehicle.h, src/wind.c, src/wind.h, src/wq.c, src/wq.h: New file. * src/Trap.cpp, src/Trap.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/util.c, src/util.h: Initial import * src/Trap.cpp, src/Trap.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/util.c, src/util.h: New file. * src/sprite.c, src/sprite.h: Initial import * src/sprite.c, src/sprite.h: New file. * src/Spell.cpp, src/Spell.h: Initial import * src/Spell.cpp, src/Spell.h: New file. * src/screen.c, src/screen.h, src/sky.c, src/sky.h, src/sound.c, src/sound.h, src/species.c, src/species.h: Initial import * src/screen.c, src/screen.h, src/sky.c, src/sky.h, src/sound.c, src/sound.h, src/species.c, src/species.h: New file. * src/sched.h: Initial import * src/sched.h: New file. * src/Reagent.cpp, src/Reagent.h, src/play.h, src/player.cpp, src/player.h, src/portal.h, src/sched.c: Initial import * src/Reagent.cpp, src/Reagent.h, src/play.h, src/player.cpp, src/player.h, src/portal.h, src/sched.c: New file. * src/play.c: Initial import * src/play.c: New file. * src/place.c, src/place.h: Initial import * src/place.c, src/place.h: New file. * src/object.h, src/occ.c, src/occ.h, src/olist.c, src/olist.h, src/pinfo.h: Initial import * src/object.h, src/occ.c, src/occ.h, src/olist.c, src/olist.h, src/pinfo.h: New file. * src/object.c: Initial import * src/object.c: New file. * src/NpcParty.cpp, src/NpcParty.h: Initial import * src/NpcParty.cpp, src/NpcParty.h: New file. * src/nazghul.c: Initial import * src/nazghul.c: New file. * src/Mech.cpp, src/Mech.h, src/map.c, src/map.h, src/moongate.c, src/moongate.h: Initial import * src/Mech.cpp, src/Mech.h, src/map.c, src/map.h, src/moongate.c, src/moongate.h: New file. * src/los.h: Initial import * src/los.h: New file. * src/Loader.cpp, src/Loader.h, src/knapsack.c, src/knapsack.h, src/lexer.c, src/lexer.h, src/list.h, src/los.c: Initial import * src/Loader.cpp, src/Loader.h, src/knapsack.c, src/knapsack.h, src/lexer.c, src/lexer.h, src/list.h, src/los.c: New file. * src/Item.cpp, src/Item.h, src/game.c, src/game.h, src/hash.c, src/hash.h, src/heap.c, src/heap.h, src/images.c, src/images.h: Initial import * src/Item.cpp, src/Item.h, src/game.c, src/game.h, src/hash.c, src/hash.h, src/heap.c, src/heap.h, src/images.c, src/images.h: New file. * src/Field.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: Initial import * src/Field.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: New file. * src/Container.cpp, src/Container.h, src/common.h, src/console.c, src/console.h, src/constants.h: Initial import * src/Container.cpp, src/Container.h, src/common.h, src/console.c, src/console.h, src/constants.h: New file. * src/combat.c, src/combat.h, src/common.c: Initial import * src/combat.c, src/combat.h, src/common.c: New file. * src/character.cpp, src/character.h, src/cmdwin.c, src/cmdwin.h: Initial import * src/character.cpp, src/character.h, src/cmdwin.c, src/cmdwin.h: New file. * src/Arms.cpp, src/Arms.h, src/angband.c, src/ascii.c, src/ascii.h, src/astar.c, src/astar.h: Initial import * src/Arms.cpp, src/Arms.h, src/angband.c, src/ascii.c, src/ascii.h, src/astar.c, src/astar.h: New file. * src/Makefile.am, src/Makefile.in: Initial import * src/Makefile.am, src/Makefile.in: New file. * install-sh, missing, mkinstalldirs: Initial import * install-sh, missing, mkinstalldirs: New file. * config.sub, configure, configure.in: Initial import * config.sub, configure, configure.in: New file. * config.guess: Initial import * config.guess: New file. * aclocal.m4: Initial import * aclocal.m4: New file. * COPYING, INSTALL, Makefile.am, Makefile.in, README: Initial import * COPYING, INSTALL, Makefile.am, Makefile.in, README: New file.