2010-10-18 cancerous1 + too many edits, I don't care to list them. Ported to xbox360 - might not work right ;) 2008-09-08 Marzo Sette Torres Junior <[email protected]> * actors.*: Prevent damage to dead NPCs (makes armageddon work better). Prevent Penumbra and Skara Brae ghosts from awakening in a more consistent manner. * npctime.cc: Fixed waking up of NPCs by proximity. * keyactions.cc, objs/spellbook.cc, usecode/*: set_intercept can now store a tile as well as an object. * mapedit/*, gamemgr/*: Added way to set an encoding option for text of mods and games to ease translation mods. * General: Eliminating almost all GCC 4.x compilation warnings. * usecode/compiler/ucparse.yy: Indirect intrinsic calls can be done using '(@num)(params)' or 'obj->(@num)(params)'. 2008-09-04 Marzo Sette Torres Junior <[email protected]> * tools/ipack.cc: Fixed Shape_spec constructors, mix-up of strdup/delete. * objs/spellbook.cc: Fixed spell costs in SI. * actors.*, schedule.cc: Have sleep schedule set/clear sleep flag (fixes Gorlab with automatons in party). * cheat_screen.cc: Prevent more than 8 party members. 2008-09-02 Marzo Sette Torres Junior <[email protected]> * usecode/*: Reverted demonstrably wrong itemref behavior. Added usecode array stealing to create_script instead of making a copy. * audio/*, drag.cc: A few SFX fixes for BG/SI. * effects.cc: Prevent missiles from hitting the attacker if it is equal to the target (fixed death bolt/mind blast loops when avatar is target). Added hack to call the missile's usecode (with target = 0) even in that case (makes mind blast behave like the original when targetting avatar). * actors.cc: Fixed powers of nondamaging spells. 2008-09-01 Marzo Sette Torres Junior <[email protected]> * actors.*: Prevent weapons with no base damage from causing any damage. Keep spellbook in hand if NPC can still cast selected spell. Save custom shape to be used as casting frames (mainly for new games). * combat.cc: Prevent fellow party members from acquiring avatar's target if the latter is not in combat (allows easier hitting of Draygan (SI) with a sleep arrow before party members block the shot). Fixed the use of bookmarked spells in combat. Prevent missile weapons (and spellbok) from attacking inanimate targets more than once. * data/*/*, shapes/*, mapedit/*, objs/chunks.cc: Mountain tops have been made into an enum instead of a flag, and now handle snow mountain tops too, as the flags that were being used were nothing but a coincidence. * objs/spellbook.*, usecode/ucmachine.h, ucinternal.h: Added functions to remove a single spell and to check if a spellbook has a given spell. Specify default casting frame shape. Use intercept_item to preselect target for spells cast in combat with spellbook in hand (but saving and restoring previously set intercept_item). * usecode/ucsched.*: Added a way to prevent scripted barks from being shown. This happens (e.g., with the avatar after the teleport storm but before the fight between Thoxa and Karnax) due to clear_item_say intrinsic. * usecode/*: click_on_item intrinsic no longer need the avatar special case for event == weapon as the spellbook now uses intercept_item. Added two new intrinsics: has_spell and remove_spell. Fixed a few planet's positions in set_orrery. begin_casting_mode now accepts an optional parameter that specifies the shape to use for casting frames (default is 859). The push itemref opcode now pushes the (negative of) an NPCs' number for NPCs; this is needed, e.g., for death bolt (BG) and mind blast (SI). 2008-08-30 Willem Jan Palenstijn <[email protected]> * audio/midi_drivers/timidity/: copy sanity checks from SDL_sound 2008-08-28 Marzo Sette Torres Junior <[email protected]> * Fixing a few world-wrapping-related bugs (including #2046951). 2008-08-28 Willem Jan Palenstijn <[email protected]> * audio/midi_drivers/timidity/timidity_resample.cpp: fix invalid memory access (fix copied from SDL_sound) 2008-08-14 Marzo Sette Torres Junior <[email protected]> * data/si/shape_info.txt: Eliminating duplicate data. * audio/conv.cc: Added indices for the array elements. * All others: games/mods now store the cfg name as well as the path prefix tag. The latter is now mostly decoupled from the former (the exception: for new games, it is "DEVEL_" plus the uppercase of the cfg name), being based on the game's identity instead. 2008-08-12 Marzo Sette Torres Junior <[email protected]> * Fixing yesterday's multiracial fix for the cases where SS is installed under 'serpentisle' in Exult.cfg (like is most likely is for the vast majority of cases) of FoV under 'blackgate' (likewise). Several 'string'->'const string&' in functions. 2008-08-11 Marzo Sette Torres Junior <[email protected]> * Making multiracial avatars work again in BG if only SI with the expansion is installed. Also, added the system paths "<ULTIMA7_STATIC>" and "<SERPENT_STATIC>" that always point to the static directory of the games (preferring the expansions). 2008-08-09 Marzo Sette Torres Junior <[email protected]> * Fixed bug #2036349. 2008-08-01 Marzo Sette Torres Junior <[email protected]> * Made armageddon spell behave like originals. Made Armageddon immunity into settable trait in ES. * Fixed Petra's portrait when body switched. 2008-07-26 Marzo Sette Torres Junior <[email protected]> * New NPCs created with ES now have their 'walk' flag turned on by default. 2008-07-24 Marzo Sette Torres Junior <[email protected]> * Fixed some apparent lock-ups due to palettes not being updated. * Improved talk dialog in SI when double-clicking someone already within talking distance. * Fixed uninitialized variable. 2008-07-23 Marzo Sette Torres Junior <[email protected]> * Minor bugfixes to Keyring and SI Fixes mods. * UCC: Fixed usecode class inheritance. Fixed test1.uc so that it compiles. * gamemgr/*: Mod manager bug which showed entries for some games that were not present. * palette.cc: Prevent palettes from being applied if the game is faded out. * objs/jawbone.cc: Missing return in function. * usecode/ucxt/src/ucdata.cc: printf parameter was wrong. 2008-07-22 Marzo Sette Torres Junior <[email protected]> * Fixed old-style "response" conversations. They work identically to converse case blocks now, but are slightly less versatile (e.g., there is no "remove" keyword). "response" dialogs can also specify multiple strings now through the "in" keyword; see test1.uc for examples. Also, added a possible "default" case for converse-case blocks, and a "user_choice" expression which pushes the last-selected answer in the stack. * Fixed SI turtle (bug #2020101). * Hostile creatures now attack the avatar once more -- and the avatar will also target them when in combat mode (bug #2024437). * Fixed polymorph and Petra bugs #1963551 and 1978514. * Fixed menu bugs #2024853 and #2024813. 2008-07-21 Marzo Sette Torres Junior <[email protected]> Modified animation recycles to fix bug #2020103; recycle (if nonzero) is now the number of frames at the end of the animation to repeat. 2008-07-17 Marzo Sette Torres Junior <[email protected]> Fixing PNG detection when importing PNGs. Also, added some checks when importing shp files. 2008-07-14 Willem Jan Palenstijn <[email protected]> * configure.ac: remove AC_PATH_XTRA. Its output is apparently unused and it breaks configure on non-linux platforms 2008-07-12 Willem Jan Palenstijn <[email protected]> * configure.ac: fix underquoted help strings * various: warnings * shapes/weaponinf.cc: fix missing return value * usecode/compiler/basic_block.h: fix missing return value 2008-07-09 Marzo Sette Torres Junior <[email protected]> * README.win32: Updated links to more recent versions of MinGW. The file 'exult_dev_win32.zip' (that contains several files needed for a MinGW compile), has been updated with a new version of Bison and Flex (both from GNUWin32) in the project shell space. Using the newer versions pointed to in the readme fixes a few problems in recent Win32 snapshots. * mapedit/shapeedit.cc: Fixed crash on loading of creatures with bodies in ES. 2008-07-08 Marzo Sette Torres Junior <[email protected]> * gameclk.cc, cheat_screen.cc: Reverted previous fix and submited the correct one: forcing palette to apply when it is directly set. * actors.cc: Fixed recent invisibility palette bug for avatar. Fixed mixing of rings and gloves in BG due to faulty condition check, and did a preventive fix for a similar case with two-handed weapons. * combat.cc: Fixed monsters attacking each other (bug #2013092). * objs/objs.cc: Reverted previous commit. Better positioning of missiles. * shapes/*: Fixed fixed-head paperdolls: patching skin shape info would overwrite paperdoll data from paperdol_info.txt. * mapedit/studio.cc: Check to see if map needs to be saved on 'save all'. 2008-07-07 Marzo Sette Torres Junior <[email protected]> * objs/objs.cc: Fixed bug that could cause large creatures to attack themselves with projectiles. This should also prevent other creatures from attacking allies. * actors.cc: Avatar should render correctly when invisible again. * cheat_screen.cc: Fixing palette mix-up with cheat screen (thanks to Malignant Manor). * gumps/Sign_gump.cc: Fixed font for tombstones Also, moved combat toggle button up 3 pixels to prevent overlap with halo button (both thanks to Malignant Manor). 2008-07-07 <[email protected]> * objs/objs.cc: Fixed delta_wrap_check, so dragons attack better. * combat.cc (Combat): Fixed problem with invisible monsters not attacking. 2008-07-05 Marzo Sette Torres Junior <[email protected]> actors.*, actions.*: Put some deleted actor actions into queue to prevent bug #1980431. 2008-07-04 Marzo Sette Torres Junior <[email protected]> * monsters.cc: Fixing incorrect initial monster stat generation. * schedule.cc: No longer refer to class variables after possible schedule change. Also, remove possible double-deletion on scripted schedule. * gamewin.cc, gumps/Notebook_gump.h: Read in notebook when loading a saved game (prevents data loss if notebook is not manually opened before saving since last reload). * actors.*: Fixed cache-out crash in areas with dead bodies (bug #1998960). 2008-06-16 Willem Jan Palenstijn <[email protected]> * shapes/monstinf.cc: fixed undefined experience value 2008-06-15 Willem Jan Palenstijn <[email protected]> * actors.cc: removed some using std::'s to improve gcc 4.3 support 2008-06-14 Marzo Sette Torres Junior <[email protected]> * fnames.h, mapedit/studio.cc, server/*: Consolidating name of socket file in Exult/ES communication to be "<GAMEDAT>/exultserver" on all OSes. * server/servewin32.cc: FILE_SHARE_DELETE flag prevent CreateFile from working in Win9x, preventing ES from working there. * actors.cc: Making NPCs quit combat/attacking a target after dying. 2008-06-11 Marzo Sette Torres Junior <[email protected]> Fixing handling of dead bodies, including flags. 2008-06-10 Marzo Sette Torres Junior <[email protected]> * gamewin.cc: Fixing segfaults on exit. * actors.cc: Fixed checks that were failing due to operator precedence. * effects.cc: Fixed crash on using Death Vortex/Energy Mist. Fixed Death Vortex and Energy Mist. * monsters.cc: Fixed carpet-filled monster inventory bug. * shapes/shapeinf.cc: Correctly initializing monster food value. * Fixing reagents mismatches between Exult and original games. * Fixed ammo counting bug causing some ranged weapons to not be found. Improved attacking when switching dead weapon. 2008-06-03 Marzo Sette Torres Junior <[email protected]> BIG Commit (TM). Quite likely, there are a lot of bugs. * Version bump to 1.04.05cvs due to massive internal changes and also due to the fact that pre-1.04.05cvs animation data is INCOMPATIBLE with CVS head and WILL NOT WORK. Also, pre-1.04.05cvs versions of Exult WILL CHOKE and most likely die with this new data. * Warning: previous versions of Exult Studio lost information when it saved weapons.dat, monsters.dat and ammo.dat data files. There is a command to fix this by reloading the static data; this will only affect shapes that had this data in the original: the Death Scythe would be reset, but if you gave weapon data to a door, it would not be reset. * msvcstuff/*: Added new files to projects. * Makefile.mingw: 'turbo', configurable makefile. Command-line parameters or environment variables can now be used to specify the workings of a MinGW compilation. * De-hard-coded data: - What items are lightweight (i.e., weight 1/10 normal) such as coins; - What items have quantity-dependent frames (e.g., arrows); - What items constitute 'locked' containers (such as locked chests); - What items are volatile explosives (such as the powder keg); - The frame of food items (shape 377) dropped by monsters; - Creatures which don't eat; - Creatures immune to freezing; - Content rules for containers (such as the Jawbone, which accepts only teeth, and urns, which reject everything); - Frame- and quality-dependent hit points for otherwise indestructible objects (such as powder keg being destroyed if quality == 0, but not otherwise, or wooden doors being destructible but metal doors not); - Frame- and quality-dependent names (for example, SI urns and bodies showing the NPC name, reagents, several SI quest items, etc); - How much warmth is given by worn items. Such data is also included for BG items by default, and is based on SI data. * Changed formats: - Creatures that can teleport, summon or turn invisible no longer have their data saved to monsters.dat; this is because non-monsters can also have these capabilities. Instead, it is saved to shape_info.txt. For backward compatibility, the monster.dat data is still read. - As mentioned above, animation data has changed dramaticaly and is not backwards-compatible. Exult will ignore old data, and previous versions of Exult will most likely crash if given the new data. - Due to a New Thing (tm) being tried for dead bodies, the first frame of any body shape should be empty (as it is for all bodies in the original games). * Changed/modified intrinsics: - get_npc_prop/set_npc_prop: You can now get/set an object's health. This is done, for example, by the serpent statue at the end of SI, but it can be done in BG or SI for any objects that have hit points. Additionally, experience changes are divided by 2 -- this happens in the original games, and reduces overall XP inflation. - set_to_attack: Can be used to attack tiles, not just objects. The originals can do this, but never did so. - attack_object: Finally fully implemented, it now just forwards the call to Combat_schedule::attack_target. - apply_damage: Forwards to Actor::apply_damage or Game_object::apply_damage. - fire_projectile: Last unknown parameter is attack value to use when the missile reaches its target. - get_item_flag: Flags 13 (power safe) and 14 (immune to death magic) have been implemented. no_spell_casting is actually flag 31 in SI. - play_sound_effect2: Sound volume is now adjusted for distance, even if relative changes. - remove_item: Will no longer delete NPCs, just remove them from map. * New things allowed in BG: - You can now get/set temperature. If the gump shape has enough frames, it will also change like in SI. The following intrinsics can be called from BG now: get_temperature, set_temperature, get_temperature_zone, get_npc_warmth. * General changes: Most shape data previously available in shapes/miscinf.cc has been moved out. Likewise, the shape information classes from the file shapes/shapeinf.* have been moved out, so that this file contains only the Shape_info class. The shapes/*inf.* files (except for miscinf.*) have single classes that each handle a set of correlated data (basically, sections in text data files or U7/SI dat files). These classes were structured for editing and allowing the use of differential patches. The ready.dat data has been conceptually split into a spot and flag. * The attack/damage system has been overhauled based on statistical data gathered from the originals, as well as a series of carefully crafted tests to determine sequencing as much as possible. There is also a lot of new data implemented. This affects combat as well as several intrinsics. NPCs with tournament flag will be extremely tough now. * Dead NPCs will kneel and die, while NPCs put to sleep will kneel and lie down. NPCs can also become unconscious from damage. Also, flying NPCs will fall to the ground and take damage in these cases. * Dead bodies have been extended to store 16-bit NPC numbers. * Non-actors are no longer able to use set_to_attack/attack usecode. * The experience formula is now a near-exact match to the original games'. * Improved readying new weapons. Works very close to the original games, including the fact that readying a 1-handed weapon also readies a shield if the off-hand is free. * Monster stats are randomized; the randomization is based on statistical tests in the original games. The same applies to initial monster attack modes. * Prevented the use of objects (including keys) is they are contained in a locked container. You also can't put objects inside locked containers anymore, nor can you take them out, nor can they be found by most usecode intrinsics. This is likely to cause problems... * Item names in SI and SS are remapped the other way around now: SI messages are remapped to SS message IDs instead of having some message IDs in SS be remapped from SI values. This is done when the messages are read. * Changed SFX distance formula to give a more realistic fall-off. * Exult Studio can now recognize and edit all of the data from the original *.dat files as well as all de-hard-coded data present in the following files: bodies.txt, paperdol_info.txt, shape_info.txt; this includes the data de-hard-coded mentioned above. * First steps towards the ability to browse for games: consolidated the way games are handled, by using the identity of a game to detect the flexes it uses. Also allowed concurrent use of BG and FoV, Si and SS; Exult will now recognize "forgeofvirtue" and "silverseed" as well as "blackgate" and "serpentisle", and the parameters "--fov" and "--ss" in addition to "--bg" and "--si". The older parameters will still load FoV and SS if the unmodded games are not installed. 2008-06-01 Marzo Sette Torres Junior <[email protected]> * conf/Configuration.cc: Recognize paths starting with "../" as relative paths. This should fix bug #1738138. * mapedit/shapedraw.cc: Extra safety when drawing centered shapes. * gameclk.h, shapes/vgafile.cc: Change initialization order in constructors to reduce number of GCC 4.x warnings. Also, added code to recover memory used by shape_sources when reseting Vga_file. * cheat.cc, shapeid.h, usecode/ucdebugging.h, usecode/conversation.h, pathfinder/PathFinder.h, gumps/*.h: Added virtual destructors to virtual base classes and their derived classes. * objs/mappatch.cc: Replacing iterator++ with faster ++iterator. * cheat_screen.cc, objs/flags.h: Correcting flags based on original games. * actorio.cc: Removed double-check on monster death before write. * usecode/ucdisasm.cc: Added some more special cases. * files/databuf.h: Added clear_error virtual method to DataBuffer classes. * docs/u7tech.txt: Full documentation of upcoming changes to *.dat files, based on the original games. Some changes for u7iregXX documentation. * tools/ucdump.c, tools/mklink.c: Eliminating a few warnings. 2008-05-31 Willem Jan Palenstijn <[email protected]> * various: initialize variables, minor clean-up 2008-05-30 Willem Jan Palenstijn <[email protected]> * various: initialize variables * schedule.cc: don't access member variable after being deleted 2008-05-28 Marzo Sette Torres Junior <[email protected]> * objs/objs.cc: Removed fire-vs-ice effect previously introduced. * usecode/intrinsics.cc: Fixed powder-keg-as-weapon case of attack_object intrinsic to behave as the original does; incidentaly, this fixes the gwani horn. This is a temporary workaround, until attacks and intrinsics are "properly" fixed to behave like the originals. 2008-05-27 Willem Jan Palenstijn <[email protected]> * various: some 64-bit and/or gcc 4.1 compilation fixes * objs/chunks.cc: delete[] vs delete * various: initialize some variables 2008-05-26 <[email protected]> * objs/objs.cc: In SI, fire-damage destroys ice wall and blocks, so you can free Gwenno. 2008-05-23 <[email protected]> * shapes/miscinf.cc: Don't infinite loop if animated object has been rotated. * objs/barge.cc (Barge_object): Changed criteria for gathering 'barge' objects so flags aren't caught (but the ice-raft still works). 2008-05-03 <[email protected]> * effects.cc (Projectile_effect): Fixed crash involving trap. 2008-04-14 <[email protected]> * objs/chunks.cc (Chunk_cache): The 'blocking' detection now handles lifts >= 15, and should save a bit of memory for chunks with lifts < 8. * objs/citerate.h (public): Fixed bug when size is 1x1. 2008-03-30 <[email protected]> * cheat.cc, etc: Support higher lifts, up to 255. Note that the file formats still need to change for this to fully work. 2008-03-21 Marzo Sette Torres Junior <[email protected]> * exultmenu.cc: Was missing in previous commit; updated mod manager to use vectors and classes instead of pointer to vectors and classes. * All: Fixed default game directory to be the Exult.cfg-defined game name. 2008-03-20 Marzo Sette Torres Junior <[email protected]> * studio.cc: Fixed long-standing mod-manager crash. * all: Updated/reformatted mod manager files to use vectors and classes instead of pointer to vectors and classes. Improved default game directory to be the Exult.cfg-defined game name (e.g., BG and SI have default dirs './blackgate' and './serpentisle'). Some readmes were updated accordingly. 2008-03-15 Marzo Sette Torres Junior <[email protected]> Fixing bug that caused reserved NPC #356 to be available when creating a new NPC. 2008-02-26 Marzo Sette Torres Junior <[email protected]> * UCC: Added integer casting: '(byte)', '(char)', '(int)' and '(long)' will force, respectfully, 8-bit, 8-bit, 16-bit and 32-bit integers. Default is 16-bit integer, and warnings will be issued in some cases. UCC does *not* try to guess integer sizes anymore, except for function IDs and jump offsets, to prevent past problems. * Keyring/SI Fixes: Eliminated compilation warnings due to the UCC changes. Fixed 10-fold error in (unused) DAY constant. Added new diagonal moongates to keyring. 2008-02-25 Marzo Sette Torres Junior <[email protected]> UCC: Fixed actor frame keyword bug. 2008-02-23 Marzo Sette Torres Junior <[email protected]> * Fixed palette rotation bug on portraits by making them all translucent. * Fixed crash on SI when BG Paperdolls are turned off and a character's gump is opened. Switched shape data to load after game flx is laded. 2008-02-18 Marzo Sette Torres Junior <[email protected]> UCC: Improved handling of structs. Added a manner of specifying the integer size of enums with the (optional) constructs enum IDENTIFIER : int { const list }; enum IDENTIFIER : byte { const list }; enum IDENTIFIER : char { const list }; 2008-02-18 Marzo Sette Torres Junior <[email protected]> * audio/Audio.cc: Fixed occasional segfault when doing garbage collection on SFX cache. * pathfinder/Zombie.cc: End path if new z coordinate is less than zero. * Others: Switched iterator postfix increment to faster prefix increment. 2008-02-17 Marzo Sette Torres Junior <[email protected]> UCC: Fixed usecode structs generating wrong indices into array. Fixed aliases to structs and classes so they can be of differing base types. Static structs can now be dlaclared. 2008-02-16 Marzo Sette Torres Junior <[email protected]> * usecode/ucsched.*, usecode/ucscriptop.h: Implemented two new opcodes from the originals: wait_while_near and wait_while_far, which cause the script to halt depending on the avatar's distance from the script object. Step opcode 0x53 has been revised with a (verified) delta-z parameter. Due to SI's buggy usecode, which neglects to add this extra parameter on any of the uses of this opcode, most of the steps taken with this opcode will fail to happen -- which incidentally also happens in the original games. * usecode/ucinternal.cc: Added opcodes to perform the following operations with usecode class member variables: array loop, aidx, set array elem. Also slightly modified aidx so that it exactly matches the originals. Allowing array size changes in BG too, as it is possible, even if it is not used, in the original. * usecode/compiler/*: Added usecode structs; they are defined like classes, except that they cannot have member functions and do not have inheritance. They also have minimal type-checking, unlike classes, being thin wrappers around normal usecode arrays. Example definition and use: struct Tile { var x; var y; var z; } // Definition struct<Tile> pos = get_object_position(); pos.x += 1; Structs with struct members simply merge the variables of the inner struct. For example, using the Tile struct above, struct Obj { var object; struct<Tile> pos; } is completely equivalent to struct Obj { var object; var x; var y; var z; } In fact, the 'pos' member struct can be defined without a name: struct Obj { var object; struct<Tile>; } Also added reference or alias variables, which are a relabelling of the variable. This can be used to 'cast' a var to a struct or from a struct to another. Syntax: var alias varname = declared_var; struct<defined_struct> alias varname = declared_var; class<defined_class> alias varname = declared_class; In all cases, an ampersand ('&') can replace the word 'alias'. These are compile-time references only, not dynamical ones. Improved localization of errors/warnings for a few statements. Added ability to specify initial counter for inner repeat script command. Also added 'wait while near' and 'wait while far' script commands which take a parameter (distance); they are the UCC version of the new script opcodes wait_while_near and wait_while_far, mentioned above. Defined built-in constants for 'actor frame' script command. Added ability to specify delta-z for 'step' script command. 'music' script command now allows the use of a 'repeat' flag, based on previously implemented behavior. Script command 'face' can now use the same built-in constants as 'step'. Usecode 'true' and 'false' can be used as (very limited) int literals. Made a general replacement of postfix increments of STL iterators in favor of the faster prefix increment. Fixed recently-introduced bug in handling of array loops which would end without any of their operators. * content/*/src/*: General switch to 'step', 'face' and 'actor frame' built-in constants, which in some cases mean using a different flavor of 'step' than was being used. General reformat of dialogs for readability. In SI Fixes, you can now ask Shamino to set your watch to 24-hour format if you prefer. In Keyring, Laurianna now uses UI_change_npc_faceX instead of the old method. 2008-02-14 Marzo Sette Torres Junior <[email protected]> UCC: Labels now start their own single-statement block. This allows code like 'if (expression) label: statement' to work as in C/C++. Fixed bug in swith statements where last case was not correctly linked to the switch end block. Added a few more block optimizations (double jumps, double rets of the same type, double aborts). Fixed crash on empty functions. End-function return is only added if there isn't one already. *** UCC: Fixed bug when a block is empty but is target of conditional jumps. *** UCC: Fixed bug that caused removal of last block. Uc_fun_name_expression and Uc_bool_expression are constants, so they should evaluate to true. Uc_binary_expression and Uc_unary_expression failed to set return if their inner expressions were not constants. 2008-02-12 Marzo Sette Torres Junior <[email protected]> UCC: Removing old way of handling labels. Improved dead-block detection. Fixed bug in IF statements without a corresponding ELSE statement. Fixed a few leaks. Eliminated premature while(0) and if (0) optimizations since a GOTO statement may point to somewhere inside these otherwise unreachable blocks. 2008-02-08 Marzo Sette Torres Junior <[email protected]> * Exult: Removing 32-bit match check for init_loop opcode. * UCC: Fixed the use of declared constants for function IDs/shapes. Added several contant-expression optimizations, particularly for while and do...while loops. Added 32-bit-detectino routine which works correctly considering signed 16-bit bounds. Also, allowing 'continue' statements on 'for' and 'converse' loops as well as disallowing 'break' statements except for loops and switches. Finally, modified code generation to use basic blocks instead; this allows for some small code optimizations to be performed (e.g., 'if (cond) break; else statements' having only one jump instead of 3) as well as finally being able to use 32-bit jumps with UCC. 2008-02-03 <[email protected]> * actors.cc: Fixed bug where companions would walk on water. 2008-01-27 <[email protected]> * schedule.cc, actions.cc, actions.h: Made the 'talk' schedule more aggressive, so it's harder for the Avatar to get away. 2008-01-27 Marzo Sette Torres Junior <[email protected]> "Fixed" operator precedence rules for UCC to be more like those of C/C++. Making UCC emit bytes for script opcodes as the originals do; UCC is now able to declare byte constants with 'const char' and 'const byte'. For the same reasons, functions called with CALLE are also linked in the same way as functions called with CALL; functions with 32-bit function ids, as well as class methods, are not linked. Finally, function IDs/shapes can now be specified through defined constants. 2008-01-25 Marzo Sette Torres Junior <[email protected]> MinGW specific: Removed Makefile.studio.mingw file; compilation in MinGW now uses only Makefile.mingw. Compilation/distribution os ES and the GIMP plug-in is done with the (self-explanatory) commands 'studioinstall', 'studiodist', 'maptools', 'maptoolsinstall', 'maptoolsdist' and 'studioclean'. Makefile.mingw commands 'allclean' and 'allinstall' also clean and install (respectivelly) Exult Studio (but not the GIMP plug-in). Also updated Readme.win32 accordingly. 2008-01-19 Marzo Sette Torres Junior <[email protected]> * Added overloaded methods for Fast_pathfinder_client::is_grabable to make use of the new distance function. * Exult Studio/Exult can now search for a shape of a given frame as well. * Fixed can_avatar_reach_pos intrinsic. * Switched from DELTA_WRAP_CHECK and DELTA_CHECK macros to static inline functions to prevent possible undetected problems. * Update of MSVC projects, including a new project for ES (though I doubt it compiles). 2008-01-11 <[email protected]> * actions.cc (Path_walking_actor_action): 'speed' wasn't being initialized, sometimes causing SI to hang at start. 2008-01-09 <[email protected]> * objs/objs.cc: Fixed macro bug in DELTA_WRAP_CHECK that affected the 'distance' computation. 2008-01-08 Willem Jan Palenstijn <[email protected]> * exult.cc: fix --buildmap 2007-12-11 Marzo Sette Torres Junior <[email protected]> * actors.cc, actions.h: Fixed crash when avatar finishes a usecode path. Double-stepping problem is completelly fixed, resulting in perfectly smooth scrolling if it is enabled. Also, added slight delay at the end of all acions, whether they are done by the avatar or by other NPCs. * paths.cc, tiles.h, objs/objs.cc: Fixed distance function so it actualy does what it should. Added back a 2d distance function for pathfinders. 2007-12-05 <[email protected]> * mapedit/eggedit.cc, mapedit/exult_studio.glade: Support z-coord in intermap teleport eggs. 2007-11-07 Ryan Nunn <[email protected]> * exult.cc, gamewin.*, gumps/GameplayOptions_gump.cc : Made lerping a percentage value. Default now to 75% that makes things not quite as smooth as they were before and seems to be a reasonable tradeoff. GameplayObjects now has options for disabled, 25%, 50%, 75% and 100% * actors.cc : Fixing avatar combat problems, but this really needs a proper solution to my double step problem. The code i've written seems to have a few unintended consequences causing extra long pauses when moving 2007-11-06 Ryan Nunn <[email protected]> * effects.cc, exult.cc, gamerend.cc, gamewin.cc, gamewin.h : Two words: "Smooth Scrolling". Some more words: It's a bit of a hack but it works really well. The screen position is interpolated based on the camera actor's animation rate or get_std_delay() if it's not set. The camera actor's position is also interpolated (though in a really hacky manner) so the avatar's movement isn't jerky. All other objects do NOT have their movement interpolated, but just smooth avatar movement is a HUGE improvement. Added config key "config/gameplay/smooth_scrolling" to control this. This is enabled by default for now. Code diffs should highlight how things have changed. * actors.cc : Added a slight hack to Main_actor::handle_event to stop some 'double stepping' that was looking really bad with smooth scrolling. See the comment in the code for details * gumps/GameplayOptions_gump.* : Added toggle for smooth scrolling. 2007-11-04 <[email protected]> * server/server.cc: Support 'locate' with 'quality' in ES. * exult.cc: Show FPS. Also, made an experimental change to the event'loop's rendering condition. 2007-10-31 Marzo Sette Torres Junior <[email protected]> Fixed a few opcode bugs. Also, swapped the purpose of cnt1 and cnt2 in the repeat2 script opcode and removed the initial "reset" of the counter. Both changes are verified in the originals. 2007-10-30 Marzo Sette Torres Junior <[email protected]> Fixed crash whan attacking objects bare-handed. 2007-10-29 Marzo Sette Torres Junior <[email protected]> * monsters.cc: Setting quality for monster equipment only if it is a weapon that uses charges. * actors.cc: Preventing actors from taking a step if it would change their z coordinate by more than 1. NPCs now look for combat more often. Lastly, paralyze flag completely prevents movement. * gamewin.cc: Paralyze flag completely prevents avatar from moving. * combat.cc: Entering combat mode with a readied spellbook no longer makes it disappear with SI paperdolls. * schedule.cc: Scripts in patrol schedule are no longer dont_halt. * egg.cc: Increased duration of continuous weather eggs to 100 hours. This has been confirmed in the originals. 2007-10-26 Marzo Sette Torres Junior <[email protected]> Fixing recently introduced distance calculation bug. 2007-10-23 Marzo Sette Torres Junior <[email protected]> * effects.*, shapes/miscinf.*, data/*: Added ability to specify explosion SFX based on shape. This seems to better match the originals' behavior. * usecode/*: Added a few usecode script opcodes and modified the behavior of another, all based on the originals: - music opcode causes it to loop indefinitely if the high-byte is nonzero. - reset opcode (0xa) which causes a script to go back to the start. - delay_minutes (0x28) which works like its name suggests. - weather opcode (0x5A) which allows scripts to change weather. delay_hours has also been fixed so now it works. * actors.*: Removed a few redundant cases from Actor::figure_weapon_pos. Changed maximum value of food stat and added new behavior for set/get_prop based on original games: prop 10 gets/sets sex flag, prop 11 gets if the NPC is using a weapon with uses >= 2. * actorio.cc: Sex type flag seems to be reversed in initial SI savegame, absent for BG; this has been verified with get_prop intrinsic, as above. * mapedit/*: Added hex display of shapes and shape ranges in shape browser. * content/sifixes/*: General reformatting (particularly the comments were word-wrapped at about 80 chars width) and code update. Also, added tons of global flags compiled by Malignant Manor; dozens more still to come. 2007-10-21 Dominik Reichardt <[email protected]> * docs/xml/docs.xml,faq.xml: updated documentation and FAQ * docs/ReadMe.html,FAQ.html: updated documentation and FAQ * Readme, FAQ: updated 2007-10-14 Marzo Sette Torres Junior <[email protected]> * Changed the way that distance is calculated. It now includes object size and z-coordinate into consideration, and results are U7 & SI verified. * Implemented intelligence/shape type check to prevent animals from opening doors when pathfinding. 2007-10-13 Marzo Sette Torres Junior <[email protected]> * effects.*: Projectiles and explosions now require a Game_object attacker instead of an actor. Also, a projectile sprite can now be different from the ammo info to be used when it hits, and the speed of the projectile can be adjusted separately. Renamed 'Special_projectile' to be the (better, but still not ideal) 'Homing_projectile'. * actor.cc, objs/*: Allow use of hand weapons in usecode_attack. Allowing all ireg objects to make usecode attacks. Added reduce_health virtual method to Game_objects. * All others: more intrinsics uncovered/improved with rip/wud/wuc combo: - Intrinsics 'apply_damage' and 'reduce_health', as well as UCC script 'hit' opcode now cause damage to objects too. - 'fire_cannon' intrinsic renamed to 'fire_projectile'; unknown parameters have been decoded and implemented. Also, this intrinsic is confirmed to be present in SI as intrinsic 0x8C. - 'explode' intrinsic renamed to 'attack_object'; unknown parameters have been decoded and implemented. - SI Intrinsics 0xA and 0xB are, respectively, 'change_npc_face0' and 'change_npc_face1'. They take a frame as a parameter and change the face in the corresponding slot to this frame. Exult also makes them available for BG. - 'set_to_attack' intrinsic and script 'attack' opcode can also be used with non-actor objects. The intrinsic documentation has been updated accordingly. These changes also affect UCC. Finally, changed translucency in faces to affect only large faces. 2007-10-11 Marzo Sette Torres Junior <[email protected]> * Fixed bug in UCC do-while loops. * Modified the way apply_damage intrinsic works. This seems to better match the way it worked in the original games. Docs changed accordingly. * Fixed avatar skins on new games with new maps. 2007-10-08 Marzo Sette Torres Junior <[email protected]> * Fast_pathfinder_client::is_grabable now allows you to pick up objects if you can path-find to up to 3 tiles away from the object; this seem to be a better match to the original games. 2007-10-06 Marzo Sette Torres Junior <[email protected]> * Fixed a couple bugs in the Keyring mod. * Eliminated the (virtually unused) SIFlags variable, enum and associated functions from Exult. Its sole use (the naked flag from the cheat screen) has been moved to flag 38 (which was unused in the originals) so that it can be used from usecode also (to make things easier for skin packs). * Exult Studio now edits more NPC flags, including the SI flags. * Added an SI version of the BG's 'dont_move' flag. Now, flag 16 is named as 'bg_dont_render' (BG) or 'dont_move' (otherwise), while flag 22 is called 'bg_dont_move' (BG) or 'dont_render' (otherwise). Renamed 'si_tournament' flag to simply 'tournament'. * Ignore "don't move mode" and "don't render" when map-editing. * Corrected and updated intrinsic documentation. * Making the new naked flag works more like nakedness did in SI. 2007-10-04 Marzo Sette Torres Junior <[email protected]> * Fixed a few bugs in the Keyring mod. * Fixed bugs #1727116 and #1770090 2007-10-02 <[email protected]> * npctime.cc (Npc_hunger_timer): Fixed hunger. 2007-09-21 Marzo Sette Torres Junior <[email protected]> * audio/Midi.cc: Fixed crash when playing midi music on title screen of mods with a custom mainshp.flx. 2007-09-02 Marzo Sette Torres Junior <[email protected]> * audio/Audio.*, objs/animate.*: Fixed memory leak. Improved sfx cache. Removed 'repeat' variable from Object_sfx as it was redundant. * usecode/ucxt/data/u7opcodes.data: A few output fixes. * usecode/compiler/uclex.ll: Fixed bug in line numeration of commented lines. * content/*: Compatibiility update for changes in UCC. * usecode/*, usecode/compiler/*, mapedit/*: The original games seem to make a distinction between 'object' functions (fun id < 0x800) and 'utility' functions (fun id > 0x800); the former are called in usecode with CALLE opcode exclusivelly, while the latter use only CALL opcode and inherit the itemref from the caller function. All 'object' functions have a 'phantom' parameter in their function headers which is never used and always zero in the originals. This behavior has been implemented in Exult now. UCC has been updated to take this behavior in consideration, and you can now declare object functions by using 'object#' or 'shape#'; the difference being that the latter is bound to a given shape, whereas the former is not. 'object#' is used like 'shape#', but can have nothing in the parenthesis; additionally, functions with ids < 0x400 are considered to be 'shape#' and functions with ids < 0x800 are considered to be 'object#'. UCC will display tons of warnings and errors related to this to ensure 'proper' coding. Also, Exult Studio has been updated to accept only 'object#' or 'shape#' functions for eggs, NPCs, etc. * cheat_screen.cc: Making setting/clearing in_party flag work correctly in both, the normal and advanced NPC flag editors. 2007-08-14 <[email protected]> * objs/animate.cc (Frame_animator): Re-initialize animator if frame got set outside valid range. Fixed problem with water of ethicality in SI. (Not sure if this is the best fix...) 2007-07-12 Marzo Sette Torres Junior <[email protected]> * audio/Midi.cc: Don't use exceptions for patch music flexes. * audio/midi_drivers/LowLevelMidiDriver.cpp: Destroy cond also when the driver is destroyed. * usecode/compiler/ucfun.cc: Only add terminating return opcode to functions that don't already have one. 2007-07-12 Ryan Nunn <[email protected]> * audio/midi_drivers/* : Changes to the MidiDriver code as per Exult bug report 1750743, with additional changes to ensure that it actually works properly in all cases. Also fixed possible problems with sequence speed being set to 0, notes being cut off early at the end of a song and renamed some variables so they properly relfect what they actually are. * msvcstuff/wud.vcproj : Changes so this project compiles 2007-07-11 Marzo Sette Torres Junior <[email protected]> * gamemap.cc, files/databuf.h: Removed OVectorDataSource in favor of StreamDataSource + stringstream. Added 'write' virtual method to DataSource which writes a string to the source. * mapedit/*: Removed unused definitions. * gamedat.cc, gamewin.h: Fixed flex multimap savegames to save an inner flex (containing the IREG files) for each map after the first. 2007-07-08 Marzo Sette Torres Junior <[email protected]> * Fixed bug which would cause a purple outline to be displayed around NPCs during some animations in recent snapshots of Exult. 2007-07-07 Lanica Dragon (Phillip T. George <[email protected]>) * PocketPC: Set audio system to just USE_FMOPL_MIDI The theory is, this may reduce crashes, as Timidity doesn't appear to work, and MT32 could be having problems. 2007-07-02 Lanica Dragon (Phillip T. George <[email protected]>) * PocketPC: Fixed bug with "Normal" option w/ D-PAD Normal option couldn't be selected 2007-07-01 Marzo Sette Torres Junior <[email protected]> * content/*: Making usecode of the SI Fixes and LB joining mods compile. * usecode/compiler/ucsym.cc: UCC now issues a warning for every function that gets autonumbered unless '#autonumber' directive is used. * usecode/compiler/uclex.yy: Optimizing lexical scanner a bit. * palette.cc, gameclk.cc: Fixing problems with infravision and (possibly) invisibility palettes. * effects.cc: Tweaking duration of rain and snow a bit. * gamewin.cc, cheat_screen.cc, mapedit/npclst.cc, usecode/ucinternal.cc, content/islefaq/initgame.dat: NPCs with numbers in the [356, 359] range are hidden by Exult and ES, not being available for new NPCs. Also, these 'reserved' NPC numbers will not be converted to NPCs by intrinsics. Other than that, negative usecode numbers will be converted to NPCs whenever possible, like positive numbers; this effectivelly removes the NPC # limit from Exult. Finally, the SF Island patch has been remade to avoid using NPCs in the range mentioned above. * usecode/compiler/ucsym.cc: Fixed Uc_function_symbol constructor not initializing all class variables. 2007-06-30 Marzo Sette Torres Junior <[email protected]> * (general): Adding missing newlines to end of files. Making numeric keypad work for number input and return in gumps/menus. * usecode/ucsym.cc: Making shape# work again if using old auto-numbering. * mapedit/*: Allow separate viewing of shape functions in usecode browser. * content/bgkeyring/src/spells/npc_spells.uc: Reagents were being incorrectly counted and used. * content/*: Updated old usecode to a more modern form. Fixed dialog bugs in SF island and fixed initial scene. 2007-06-29 Lanica Dragon (Phillip T. George <[email protected]>) * ChangeLog: Corrected date for yesterday's entry * PocketPC;touchscreen: Added toggleRight and toggleDouble functions to touchscreen class * PocketPC;Keyboard_gump: Cleaned up ActivateOtherButton function Added per-state ActivateOtherButton functions * PocketPC;Keyboard_gump: Enabled saving & loading of on-screen keyboard position and state * PocketPC;Keyboard_gump: Added getState and getCorner accessor functions * PocketPC: Added "KEYBOARD_POSITION" action * PocketPC: Added "KEYBOARD_MODE" action * Added README.PocketPC * PocketPC: Added "Normal" option to d-pad options (in case someone has custom keybindings) 2007-06-28 Lanica Dragon (Phillip T. George <[email protected]>) * PocketPC: Added touchscreen class Allows users to set mouse to double click mode Allows users to set mouse to right click mode Users can do both double click and right click modes Added TOUCHSCREEN_MODE action, so it can be mapped to a key * PocketPC: Added double click and right click functions (as noted above) to the keypad and hotpad keyboards 2007-06-27 Lanica Dragon (Phillip T. George <[email protected]>) * PocketPC: Fixed scaling problem * PocketPC;Keyboard_gump: Cleaned up Keyboard_gump.h a bit Set private & public appropriately 2007-06-26 Lanica Dragon (Phillip T. George <[email protected]>) * PocketPC: Added keypad and hotpad keyboards Keypad is basically the numpad on a normal keypad Hotpad enables running and a few other nifty functions 2007-06-24 Marzo Sette Torres Junior <[email protected]> * gamewin.cc, gameclk.*: Fixed a few bugs in palette problems, particularly when teleporting around. * content/bgkeyring/*/*: Fixed a few bugs in Zauriel's functions, improved one of the cutscenes. * A few aligning spaces were converted to tabs. 2007-06-24 Lanica Dragon (Phillip T. George <[email protected]>) * PocketPC: Updated on-screen keyboard colors * PocketPC: Fixed alt & ctrl on-screen keyboard malfunction * PocketPC: Fixed minimize bug (had to tell SDL to minimize twice to be sure would erase the whole window, in certain PocketPC setups). * MSVC9: Updated Makefile.data so it wouldn't rebuild the flx files every time 2007-06-24 Lanica Dragon (Phillip T. George <[email protected]>) * PocketPC: Added on-screen keyboard feature 2007-06-24 Marzo Sette Torres Junior <[email protected]> * palette.cc, gameclk.cc: Fixed a few problems with palette transitions and faded-out palettes. * gumps/Paperdoll_gump.cc: Also allow showing of usecode container in BG if Exult is compiled with -DSHOW_USECODE_CONTAINER 2007-06-23 Marzo Sette Torres Junior <[email protected]> * Fixed bugs where avatar faces would not be removed from the screen by calls to remove_npc_face intrinsic. 2007-06-21 Lanica Dragon (Phillip T. George <[email protected]>) * PocketPC: Added "exult.cfg.txt" as a config file option Exult will look for exult.cfg.txt first (using U7exists) If it is not found, then Exult will use exult.cfg This is so PocketPC users can easily edit the config file by default Most PocketPC devices natively do NOT have the ability to rename extensions or to easily edit anything that is not already a registered type This feature can be made easily available to other OSes by defining EASY_USER_CONFIGURATION_FILE (with the value of 'exult.cfg.txt') * PocketPC: Possibly fixed semi-random 'minimize' bug (when minimizing, some of the main PocketPC GUI would be covered by graphics from Exult). Needs more testing. 2007-06-20 Lanica Dragon (Phillip T. George <[email protected]>) * Fixed PocketPC 'minimize' function querks * Fixed PocketPC dpad keymap loading bug 2007-06-17 Marzo Sette Torres Junior <[email protected]> * New intrinsic from SI discovered with rip/wud/wuc: intrinsic 0x96 is 'can_avatar_reach_pos'. Since Exult already offers a more powerful variant ('is_dest_reachable', which works for any NPC not just the avatar), this intrinsic has *not* been made available to BG. 2007-06-19 Lanica Dragon (Phillip T. George <[email protected]>) * Started PocketPC 'minimize' function Needs good placement Minimize feature can be ran by attempting to quit the game, choosing no, then choosing yes to minimize There are a few querks when reactivating Exult that need to be fixed * Fixed type-o in ChangeLog (from Lanaca to Lanica on 2007-06-16) * Removed PocketPC hardcoded configuration file location (was set to load from "\Exult\exult.cfg") * Fixed PocketPC relative pathing error (PocketPC does not have a "current directory") * Created easy way for dpad keymaps to be changed (Gameplay options, "D-PAD") for PocketPC users 2007-06-18 Lanica Dragon (Phillip T. George <[email protected]>) (Checked into CVS on 2007-06-19) * Fixed Makefile.common bug where EXPACK_CHECK would not get properly updated with Windows platforms * Updated MSVC9 project files to include "release" mode and also the PocketPC 2003 target 2007-06-17 Marzo Sette Torres Junior <[email protected]> * Fixed special lights to work again. * Fixed UCC bug where a function's symbol type in the symbol table be "extern" if the function was externed before being defined. * Added three new intrinsics from SI discovered with rip/wud/wuc: intrinsic 0x64 is resurrect_npc intrinsic 0xB9 is get_temperature_zone intrinsic 0xBB is get_npc_warmth This affects UCC, WUD and WUC as well. * actors.cc: Fixed warmth given by several items. * gumps/Stats_gump.cc: Fixed slightly innacurate frame <> temperature map. 2007-06-16 <[email protected]> * exult.cc,etc.: Applied Lanica's PocketPC patches. 2007-06-16 Marzo Sette Torres Junior <[email protected]> Makefile.common: Ensure that changes to "bgintrinsics.h" and "siintrinsics.h" will affect builds of Exult, UCC, WUD and WUC. 2007-06-15 Marzo Sette Torres Junior <[email protected]> * effects.*, gameclk.*, palette.*, objs/egg.cc: Implemented missing weather: snow, fog and overcast weather. Also changed rain to better match the originals. Implemented smooth dawn/sunrise/sundown/dusk and smoother transition to/from overcast/rain/snow/fog weather. Also, fixed bug which prevented correct palette from being displayed after entering and then leaving the cheat screen. * cheat_screen.cc, gamewin.cc: Reset weather to default before setting time. * objs/animate.cc, shapes/miscinf.*, data/*/shape_info.txt: Implemented grandfather clock's horly "bongs". Implemented reading of animation data from the original games, which is converted to the Exult format. As a result, most of the animation data in data/*/shape_info.txt has been rendered reduntant and is commented out, being left as examples of the Exult format. Changed the way extra delay between frames of an animation work to better update object SFX, and likewise for pure SFX animators with random delays. * gumps/misc_buttons.cc: Fixed dumb error. * effects.cc, actors.cc, shapes/shapewrite.cc, shapes/shapeinf.*, mapedit/shapeedit.cc: Changed missiles' "special behaviour" to "homing". * actors.cc, usecode/ucinternal.cc: Fixed bug which caused Dupre not to appear in the conversation with Lord Marsten. Unfortunatelly, this means that the animation bug fixed 2007-06-07 is now back. * monsters.cc: Monsters can also be pure SFX animators now (fixes bees). * actorio.cc: The original games did not store NPC's face shapes in npc.dat * usecode/ucinternal.cc: Unless passed an NPC object, show face equal to the absolute value of the number passed from within usecode. * mapedit/exult_studio.glade: Fixed display of weather egg data. 2007-06-08 Marzo Sette Torres Junior <[email protected]> * Disabled fire sfx as it sounds awful. * Modified distance function to calculate distance between the center tiles of the two objects. 2007-06-07 Marzo Sette Torres Junior <[email protected]> * Fixed bug where nearby animations could temporarily stop if an "abort" took place during a conversation. * More intrinsics uncovered with rip/wud/wuc: BG: intrinsic 0x92 is *set_camera*, not center_view. intrinsic 0x94 centers the screen around a (x, y) coordinate; it has been renamed view_tile. SI: intrinsic 0x19 is *get_item_weight*, not get_item_usability. intrinsic 0x67 is definitelly remove_all_spells. intrinsic 0x6b is stop_time. intrinsic 0x70 is armageddon (yes, it is there). intrinsic 0x72 is lightning. intrinsic 0xb0 is view_tile. Old center_view intrinsic is still available for both BG and SI. Also, set_camera intrinsic also centers on objects, not just actors SI intrinsics remove_all_spells, get_item_weight and get_skin_colour were made available for BG too. * Updated/fixed a couple errors in intrinsic documentation. 2007-06-06 <[email protected]> * schedule.cc (Loiter_schedule): Rewrote miner-schedule to be more like the original. 2007-06-07 Marzo Sette Torres Junior <[email protected]> Fixed bug when importing shp files into a VGA file over an existing shape. 2007-06-05 Marzo Sette Torres Junior <[email protected]> * Fixed coastline desynch bug. * Fixed bug #1731542 by forcing the current frame to be passed for the get_3d_xtiles get_3d_ytiles (thus, ensuring proper bounding boxes). * Fixed bug #1731543. * Fixed bug in ES method of saving differential VGA patches and improved recognition of files from patch dir. 2007-06-03 Marzo Sette Torres Junior <[email protected]> * objs/virtstone.h: Changed 'default' value for virtue stone map to be map 0. * objs/egg.cc: Fixed bug where sfx eggs would translate the SFX number to the BG SFX, causing problems in SI. De-hard-coded field data. Poison and sleep fields no longer activate if the target is already poisoned/sleeping. * objs/objs.cc: Added some missing sfx when the avatar attacks an object. * shapes/miscinf.*, objs/*: Major work in object sfx; multiple objects can now play the same sfx (as seen in the originals). Objects can now have ranges (random or sequential) of sound effects, as well as sport a random delay between each time the sfx is played. New animation data and cycles unifies the way fields are handled with every other animated object, including allowing them to have sfx. Also, objects can have sfx synchronized with specific frames of the animation (e.g., grandfather clocks) and can sport delays between each animation cycle (e.g., bubbles). * shapes/miscinf.*: Modified to read new animation and SFX data. * gumps/misc_buttons.cc: Added missing button SFX. * data/*/shape_info.txt: Added tons of new sfx and animation data. * usecode/compiler/*: * actors.cc: Modified roll_to_win to better match statistical tests. Added 'graze' and default 'hit' SFX. Modified NPCs to *really* be dormant when in a different map from main actor. * effects.cc: SFX from weapon data should not be translated in SI. * exult.cc: Wizard_eye only blacks out area outside the original resolution; this makes it work with SI even without the BG sprite 10 (as it in fact happens in the original SI -- see the usecode changes below). * gamewin.cc: Fixed a bug(?) where clicking at the rock at [915, 2434, 0] in BG would display 'key'. Might have unforeseen side effects. * audio/conv.cc: Fixed the BG-to-SI SFX table. The new data is based on the MT-32 timbres from BG and SI SFX and on the assumption (apparently correct) that BG SFX uses timbres equal to their SFX number, then matching (by name) the timbres used by SI SFX. * usecode/*: New intrinsics discovered from original games with rip/wud/wuc: BG: 0x2d: get_music_track 0x34: error_message SI: 0x38: get_music_track 0x58: roll_to_win 0x5f: clone 0x61: display_area 0x62: wizard_eye 0xaf: get_dead_party Note that several of these intrinsics were used in the originals. Like wizard_eye intrinsic, display_area intrinsic also blacks out only the area outside original resolution to work as the original SI did. get_dead_party now searches around the object passed as the parameter (which was ignored by Exult so far) instead of the avatar. Added support for usecode functions with 32-bit IDs. * usecode/compiler/*: Added do-while support for UCC. Renamed return opcodes to make them more intuitive. Added support for 32-bit function IDs, string offsets and integers. 32-bit jump offsets are NOT implemented yet. UCC directives are now more tolerant of white-space and (1) issue a warning if the directive is unknown or (2) raise an error if there is no new-line after a directive. * docs/exult_intrinsics.txt: Updated with new intrinsic information. * content/sifixes/*: Better 'make.bat'. Updated some files to make SI Fixes actually compile with non-ancient versions of UCC. 2007-05-15 <[email protected]> * objs/egg.cc (public): Allow setting z-coord in teleport eggs. 2007-05-14 Marzo Sette Torres Junior <[email protected]> * miscinf.cc: Fixed problem reading textmsg files with crlf's. * monsters.cc: Monsters with high shapes used wrong usecode function. 2007-04-28 Marzo Sette Torres Junior <[email protected]> * New sprite for male bucket-heade avatar, made by Skutarth. Also, removed the silly fully-armored paperdoll for the bucket-headed avatars. 2007-04-15 <[email protected]> * imagewin/imagewin.cc (Image_window): Added Hq3x scaler. 2007-04-13 <[email protected]> * imagewin/hq2x.cc (srcx): Added Hq2x scaler. 2007-04-08 Marzo Sette Torres Junior <[email protected]> * Fixed screwed-up palettes in SI mods with custom mainshp.flx files. * You can now add/change midi music by placing custom ADLIBMUS.DAT and/or MT32MUS.DAT files in the patch dir. 2007-04-06 Marzo Sette Torres Junior <[email protected]> * Improved large-avatar handling, fixing a few bugs it introduced for normal-sized avatars. * Improved Actor::Find_Blocking, and modified Actor::move_aside to check the orthogonal directions first. * Improved slightly pace schedule. * Jukebox eggs now ignore delta-z when determining if they should hatch. 2007-04-04 Marzo Sette Torres Junior <[email protected]> * Improved skin scrolling functions. * ES now saves differential patches for VGA files. This will NOT affect "patch" VGA files that already exist. * ES now exports to/imports from shp files into VGA files. 2007-04-02 Marzo Sette Torres Junior <[email protected]> * Avatar skins can now optionally specify whether or not the shape data from the avatar's default skins will overwrite the shape data from the skin's actual shape. * Versioning of text data files actually work now. * Better handling for movement of larger avatars. 2007-03-31 Marzo Sette Torres Junior <[email protected]> * Added new title screens for Keyring mod and SI Fixes. * Added build scripts/instructions for SI Fixes. Also, improved the Keyring make scripts. * Added new avatars from Avatar Pack to Keyring mod. * You can now patch the keybindings on a per-mod basis. The Keyring mod has been updated to reflect that. * Added partial support for patch music files. Ogg files in <PATCH>/music will now be loaded (if they exist) instead of the corresponding ogg from <MUSIC>. Still need to do the same for the midi/xmidi/etc. 2007-03-29 Marzo Sette Torres Junior <[email protected]> Allow mainshp.flx patches. Also, slightly synched BG and SI new game code, and removed a few unnecessary palette changes in BG title screen. 2007-03-27 Marzo Sette Torres Junior <[email protected]> New vga/usecode generation scripts for Keyring mod. 2007-03-21 <[email protected]> * exult.cc: Fixed a couple bugs involving dragging NPC's onto the map. 2007-03-18 Marzo Sette Torres Junior <[email protected]> * minsinf.cc: Made multiracial table patches actually be able to change the built-in skins. * content/bgkeyring: changed storage method of graphics to shp files instead of pngs and switched scripts to use expack instead of ipack. Added some instructions on how to build the Keyring mod by yourself. Added several new avatars to choose from, and improved existing ones. Removed generated files (most vga files, the usecode file). 2007-01-15 Marzo Sette Torres Junior <[email protected]> * Don't print errors when looking for mods and the mods dir doesn't exist. 2007-01-10 Marzo Sette Torres Junior <[email protected]> * A few bug fixes/improvements to the Keyring mod. 2007-01-06 Marzo Sette Torres Junior <[email protected]> * Fixing bug #1628256. 2007-01-02 <[email protected]> * mapedit/ucbrowse.cc (Usecode_browser): Sort columns in usecode browser. 2006-12-25 Marzo Sette Torres Junior <[email protected]> A few fixes/updates to the Keyring mod. 2006-12-24 Marzo Sette Torres Junior <[email protected]> * miscinf.cc: Removing unneeded debug message. * ucbrowse: Lack of std::ios::binary in opening file caused wrong usecode symbol table. Changed to use U7open instead of constructor. 2006-12-23 <[email protected]> * mapedit/shapeedit.cc: Added "Browse" buttons for usecode selection. 2006-12-20 Marzo Sette Torres Junior <[email protected]> * Increased version to 1.4.03CVS due to the enormous number of changes. * Added versioning information to the files loaded through Shapeinfo_lookup. * Added two new intrinsics: set_npc_name and set_usecode_fun, as well as documentation for them. * shapes/miscinf.*: Added some new data files, with dynamic importing of shapes allowed. See the data files themselves for more information. ++++ Important ++++ These data files allow the specification of previously hard-coded data. This hard-coded data will NO LONGER BE PRESENT for new games, which must supply their own versions of the data files instead. * gamamgr/bggame.cc, sigame.cc: Updated to use new data files for skins. In BG, also made the character creation screen use a new palette by using palette remapping of the shapes to draw. Consequently, said screen uses shapes from faces.vga (patched with Exult_bg.flx/mr_faces.vga) to draw the multiracial faces. * expack.cc: You can now specify a shape number for a file in a script by prefixing the file name with a ':shapenum:'. Shapes following a declared shape will have their numbers assigned starting from the specified shape. * shapes/vgafile.*: VGA files now support multiple (more than 2) patches from different sources. Also added support for loading VGA files from within a flx file (such as Exult_bg.flx). Also, VGA files can now import specific shapes from another VGA file and remap the shape number to a different value. Finally, Shape frames can also be painted by remapping their colors using a palette translation table. * shapeid.*: Renamed a few vars and functions to have more generic names. Modified the handling of VGA file loading, allowing for independent use of paperdolls and of multiracial avatars, as well as allowing multiple patches for paperdol.vga in BG. BG shapes.vga now imports the multiracial shapes from SI. Likewise, multiracial faces are patched into faces.vga. Added support for drawing shapes by remapping them into another palette using a translation table. Finally, BG gumps.vga imports the blue shapes from the SI gumps.vga file. * shapes/shapevga.*: Modified info table to use a map instead. * gumps/Paperdoll_gump.cc: Use data-file-defined data for the blue shapes. * usecode/ucinternal.cc, conversation.cc: Use new data files and functions to 'de-hack' multiracial support in BG. Also, the Petra and tattooed flags also work in BG now, with effects configurable in data files. Also, added function to retrieve a usecode function's name from its id. * usecode/ucserial.cc: Fixed bug #1616911. * cheat.cc, cheat_screen.cc: Use new functions for changing skin colors. Allow use of naked, petra and tattooed flags in BG too. * palette.*: Added function to create a translation table between two palettes. Improved find_color function to allow searching up to a specified index. * imagewin/ibuff8.*, shapes/font.*: Added support for painting shapes by remapping their colors to another palette using a translation table. * actors.cc: Use new skin data and functions. * actorio.cc: Save/load skin color using its own char (but retain backward compatibility). * all others: Changed for compatibility with the above changes. 2006-12-12 Marzo Sette Torres Junior <[email protected]> * Fixed a bug in the get_class method of the symbol table. * Added a 'OVectorDataSource' vector data source for output of unknown length to prevent problems with small buffers. * Made Usecode_value and Usecode_script classes use data sources for input and output to eliminate possible buffer problems. * Removed the limit on usecode timers allowed. * Made usecode static vars refer to its parent function (if any) by name when possible. 2006-12-11 Marzo Sette Torres Junior <[email protected]> * Added support for turning translucency on/off for paperdolls. New data for BG and SI paperdolls has been added. * Fixed a couple goofs with new paperdoll art, and added some more art by Crysta the Elf. * Loading a mod directly from the command line will no longer default to the original game if the specified mod is not found or is not compatible with the present Exult version. * Gave a much-needed version increase to Exult, particularly since the paperdoll data it now expects is not backwards-compatible. 2006-12-11 Marzo Sette Torres Junior <[email protected]> * Added support for static usecode classes; * Compatibility update for Keyring mod with new BG paperdoll data. 2006-12-10 Marzo Sette Torres Junior <[email protected]> * Scripted steps now force the step to take place regardless of obstacles or terrain (FoV & SS verified); * Changed handling of barges to allow movement type of barges above ground level to 'MOVE_LEVITATE' (FoV & SS verified). * Adding more BG paperdoll art by Crysta the Elf. 2006-12-09 Marzo Sette Torres Junior <[email protected]> * Adding tons of new paperdoll graphics for BG by Crysta. Also removed unneeded file. * Improved UCXT data files and intrinsic table. * Improved WUD/WUC opcode table and fixed a few errors. 2006-12-08 Marzo Sette Torres Junior <[email protected]> * Fixing a few stack corruption bugs in UCC. * Changing wud/wuc name of opcode 0x5C. 2006-12-07 Marzo Sette Torres Junior <[email protected]> * Changing the way Exult handles the game clock. Now, the game clock 'ticks' 25 times per game minute, regardless of FPS, which seems to be the way it worked in the original. * Sime improvements to the 'pace' schedule. * NPC schedules now update every hour, and look back until it finds a schedule for the NPC. * Added a 'continue' statement in UCC for 'while' and 'for' statements. * Fixed a few bugs and updated a few things in the Keyring mod. Added new Mariah gump by Crysta. 2006-12-06 Marzo Sette Torres Junior <[email protected]> * actors.*, intrinsics.cc, ucsched.cc, ucparse.yy, exult_intrinsics.txt: Implemented damage type parameter of 'apply_damage' and 'reduce_health' intrinsics and of the 'hit' script opcode. Also implemented the red flash for lighting damage for even a single hit, as it happened in the original, as well as flashign red for high amounts of damage. Also implemented 'repeat2' support in UCC. * everything else: Fixing bugs in the mods and updating them to use the changes above. 2006-12-05 Marzo Sette Torres Junior <[email protected]> Adding new 'is_dest_reachable' intrinsic and documentation for it. 2006-12-04 Marzo Sette Torres Junior <[email protected]> * Updating documentation of [get|set|clear]_item_flag intrinsics. * Fixed bug #1608149. 2006-12-02 Marzo Sette Torres Junior <[email protected]> Fixing Keyring bugs in forging code/Menion's training. 2006-11-30 Marzo Sette Torres Junior <[email protected]> When editing shape info, have origin be updated when the frame is changed. 2006-11-29 Marzo Sette Torres Junior <[email protected]> * Updating Keyring mod to incorporate some additions to UCC, as well as a new sprite and gump for Mariah and several bugfixes. 2006-11-28 Marzo Sette Torres Junior <[email protected]> * shapeid.*, actors.cc: 'paralyze' flag now displays a purple outline. For the sake of visibility, the SI color was used instead of the BG one. * exult.*, usecode/conversation.cc, usecode/ucinternal.cc: Rotate palette colors during conversations and during book mode (U7 verified -- e.g., the SI phoenix). * usecode/bgintrinsics.h: Imported five intrinsics from SI to BG: show_npc_face0, show_npc_face1, remove_npc_face0, remove_npc_face1 and set_conversation_slot. * usecode/siintrinsics.h: Imported three intrinsics from BG to SI: center_view, lightning and stop_time. * docs/exult_intrinsics.txt: Included above modifications. 2006-11-26 Marzo Sette Torres Junior <[email protected]> Fixed Karnax freeze-up bug. 2006-11-24 Marzo Sette Torres Junior <[email protected]> * UCC: Adding assignment operators ('+=', '-=', '*=', '/=', '%='); improved the functionality of '<<'; allowing getting/setting global flags with non-constant expressions; allowing non-constant values in 'actor frame' script command; fixed crash on code like 'var test = fun();' with 'fun' undeclared; some misc improvements. * Exult: Added two new opcodes that allow getting/setting flags using a value on the stack. 2006-11-23 Marzo Sette Torres Junior <[email protected]> * ufcun.h: Fixing UCC bug that caused first obj.say or obj.hide calls to do fail do perform their intrinsic calls if they were the first intrinsic- related calls in a usecode file. * All others: Adding C++-style switch statement to UCC. * Minor optimization for integer constants in UCC. 2006-11-21 Marzo Sette Torres Junior <[email protected]> Adding extra capabilities to UI_book_mode_ex intrinsic, as well as improved documentation for it. 2006-11-21 Marzo Sette Torres Junior <[email protected]> Adding two new intrinsics: UI_book_mode_ex and UI_display_map_ex, as well as documentation for both. 2006-11-17 Marzo Sette Torres Junior <[email protected]> * docs/exult_intrinsics.txt: Reformatting file, some other minor fixes. 2006-11-05 Marzo Sette Torres Junior <[email protected]> * ucinternal.cc: Fixed possible stack corruption on usecode machine when getting/setting global flags. Also, for testing, make opcode 0x2d (setr) display pending text. * exult.cc: Made --buildmap option work once again, now with support for all games and mods. * usecode/compiler/ucfun.cc: Usecode functions which specify a return value use the UC_RTS return instead of UC_RET at the end of the function. * usecode/compiler/*.*: Added support for comparison of multiple strings in a converse case block. Syntax is: case "test1", "test2": and adding the '(remove)' option causes all the options to be removed. The UCC script command 'call' now accepts variables for the eventid to use. Also added new scripting options with the intent to completelly phase out the execute_usecode_array and delayed_execute_usecode_array intrinsics. Scripts can now be created like this: var varname1 = new script { // script commands }; and can be added to like this: varname1 << varname2; varname1 << { // script commands }; The '<<' operator will append the right-hand side to the var on the left- hand side, and can be chained; e.g., varname1 << varname2 << { // script commands }; results in the same script as the above two lines. Finally, the calls to execute_usecode_array and delayed_execute_usecode_array intrinsics can be done respectivelly with 'actor.run_script(script);' and 'actor.run_script(script, delay);' The previous UCC script blocks still work as they used to. 2006-09-25 Marzo Sette Torres Junior <[email protected]> * schedule.cc: Fixed pace schedule for large creatures (such as the cyclops northeast of Cove). * actors.cc: Map-edit mode now delays handle_events for actors, preventing almost all actions. Also, fixed the bg_dont_move condition in in_usecode_control function. * egg.*: Fixed field/caltrop bugs on editing/updating from ES, as well as bug #1564529. 2006-09-24 Marzo Sette Torres Junior <[email protected]> * Implemented monster attack SFX; verified in the originals. 2006-09-22 Marzo Sette Torres Junior <[email protected]> * ucsched.cc, actors.*, gamewin.cc: Looking at 'no_halt' script opcode in a slightly different way. In particular, this prevents silver serpent venom from freezing the user for 1 game hour. * ucsym.h: Fixed a GCC 4 compile problem. * keys.cc: Changed a few identing spaces to tabs. 2006-09-22 Marzo Sette Torres Junior <[email protected]> * Reduced avatar's speed to prevent outrunning of the teleport storm at the start of SI. The reulting speed also seems to match the original games better, as it is now very hard to outrun enemies. The avatar's speed is also reduced if it is in a (delayed) usecode script, which helps to prevent outrunning the teleport storm without making the avatar too slow while in combat mode. Also, switched a few identing spaces to tabs. * Preventing player from moving avatar during the execution of scripts; this is verified in BG and SI (for example, loom or bellows); delayed scripts do not seem to hinder movement until they are activated. * Prevent ES from displaying the 'font0000.vga' file in SI's static dir as it is apparently from an old origin screensaver and is not a true vga file. * Fixed bug causing avatar's 'rest_time' to build up too fast. Incidentally, this helps to fix a jerkiness in scripts introduced in previous commits. Also, script opcode 'delay' and any scripted frame changes or steps now will clear the rest time for actors. * Fixed problem in Windows builds with USE_EXULTSTUDIO option which caused excessive processor usage, as well as being indirectly responsible for the rapid build-up of the avatar's 'rest_time'. * The files 'paperdoll_info.txt', 'bodies.txt' and 'shape_info.txt' (and similar files in the future -- and with the exception of the files bundled the Exult_XX.flx files) no longer require declaration of all sections to be properly parsed. 2006-09-21 Marzo Sette Torres Junior <[email protected]> * Decoupled usecode functions for shapes > 1023 from the shape #. Removed ucfunids.h since it is no longer needed. In UCC, you now must specify the function to be used for a given shape by declaring the function with the 'shape#(n)' construct in its header; for shapes < 1024, you can still get away by declaring it with a normal function # instead. If *no* functions are declared with 'shape#(n)' or if the usecode was compiled with an earlier version of UCC, the old behaviour will be in effect in Exult. * New NPCs can now specify a function name as their usecode function. New save games will not work in older versions of Exult, but old saves will still work. * Fixed a couple differences in conversation behaviour between Exult and the original games. 2006-09-20 Marzo Sette Torres Junior <[email protected]> * Working on UCC classes. Added inheritance support, class instantiation in UCC, type checking for class casts, changed method of class creation and deletion and added support for method calls with and without scope resolution operator (to allow calling of overriden inherited functions). Classes can be passed as parameters to functions and be returned by functions, with full type checking; a '0' can be returned as a class return. Methods can also return values now (including classes) but class data members cannot be classes themselves yet. Added static and global static classes and fixed bug preventing the following code from working correctly unless item == npc: npc->set_item_frame(1+get_item_frame()); Got static arrays working correctly in loops and in setting/retrieving their elements. Possible future enhancements: add a way to set/retrieve class variables from outside a class; maybe allow class data members to be classes. * Modified handling of '#' directives in UCC so they don't disrupt the line numbering. * In Keyring mod: Fixed a few missing vars in function headers and a few missing parameters in function calls. Also, updated Paperdoll_info.txt and bodies.txt to include only the new paperdoll/body information. * In SI Fixes mod: Removed wrong parameter from function definition. 2006-09-17 Marzo Sette Torres Junior <[email protected]> * shapes/bodies.*, gumps/Paperdoll_gump_info.cc: Removed files, code moved to miscinf.*. * gumps/Paperdoll_gump.cc: For ammo, use 'frame2' instead of 'frame' when a compatible weapon is in hand. Also, see below. * actors.cc: 'step' should do nothing for non-party members when in map-edit mode. Also, see below. * gumps/Face_button.cc, gumps/Face_stats.cc, gumps/Paperdoll_gump.*, objs/animate.cc, actors.cc, effects.cc, gamewin.cc, gamemap.cc, shapes/miscinf.*, usecode/ucinternal.cc, msvc_kludges.h, shapes/Makefile.am, gumps/Makefile.am, Makefile.common: Clean up and centralization of code from miscinf.* and old shapes/bodies.* and gumps/Paperdoll_gump_info.cc. Also, the paperdol_info.txt, bodies.txt and shape_info.txt data files no longer completelly override those from Exult_XX.flx (for BG and SI) or from static dir (for new games). 2006-09-07 Marzo Sette Torres Junior <[email protected]> * usecode/ucinternal.cc: Increased the maximum number of intrinsics to 1024. * usecode/ucinternal.h: A identing spaces to tabs, some align tabs to spaces. 2006-09-07 Marzo Sette Torres Junior <[email protected]> content/sifixes/*/*.uc: CRLF->LF. 2006-09-06 Marzo Sette Torres Junior <[email protected]> * In General: Changed a spaces in identation to tabs. * gamewin.cc: When starting a game using '--edit', have time be stopped right from the start. * exult_constants.h: Defined c_max_shapes and c_occsize for better support of shapes >1023; defined c_last_gflag for better support of global usecode flags >1023. * cheat_screen.cc, usecode/ucmachine.h: Use c_last_gflag instead of '2047' for last global usecode flag. * All others: Added support for shapes>1023 to 'occludes.dat'. Shapes are now limited by c_max_shapes instead of 2048, making it easier to increase the limit if it is needed. * content/bgkeyring/src/misc/food_stuff/functions.uc: Fixed bug while eating garlic introduced after Q&I was merged in. 2006-09-04 Marzo Sette Torres Junior <[email protected]> * game.cc: Starting a game with a mod resulted in wrong mod identification in stdout. * mapedit/studio.cc, server/server.cc, server/servewin32.cc: In Windows, use gamedat dir instead of static dir to allow simultaneous editing of two mods that share the same static path (non-Windows already do that). 2006-09-01 Ryan Nunn <[email protected]> * audio/midi_drivers/LowLevelMidiDriver.cpp : Improving termination code for threaded midi drivers * server/servemsg.cc, server/server.cc, server/servewin32.cc : Rewrote Exult<->ExultStudio communications to use a socket in Windows. Should be much more stable * Other cc files fixing up some 'const' (or lack there of) problems 2006-08-31 Marzo Sette Torres Junior <[email protected]> * shapelst.cc, shapelst.h: The Gimp would fail to load a frame if the game's path in exult.cfg was a relative path. Also, added the ability to export and import all frames of a given shape to/from pngs. 2006-08-29 Marzo Sette Torres Junior <[email protected]> * chunks.cc, objs.o: Fixed map corruption bug when dragging chunks from ES. Also, prevent map changes when removing terrain objects if nodel is true, and correctly check for map cache out when moving terrain objects. 2006-08-27 Marzo Sette Torres Junior <[email protected]> * Makefile.common: Fixed UCC compile problem in MinGW. * content/bgkeyring/*/*: Merged in the 'Iteractions' part of Alun Bestor's Quests & Iteractions mod into the Keyring mod. Added generic healing services (used by all healers), Lord British's Crown Jewels and updated the code to use newer features of UCC. Also added casting frames for all caster NPCs and changed some crlfs to lfs. * objs/objs.*: Fixed map corruption bug when moving chunk non-flat objects. 2006-08-24 <[email protected]> * schedule.cc,readnpcs.cc,actors.cc: Working on support for usecode-scripted schedules. Also did some cleanup on schedule reading/writing. (Eat_at_inn_schedule): No more annoying delay before inn customers take their seats. 2006-08-22 Marzo Sette Torres Junior <[email protected]> * actions.cc: Testing adding a limit to the number of steps between each check in Approach_actor_action (makes for smarter archers and monsters). * effects.cc: Removed some duplicate increments in height for projectiles and slightly tweaked the start and end positions for them. 2006-08-21 Marzo Sette Torres Junior <[email protected]> * Makefile.common: Force recreation of ucparse.{cc,h} or uclex.cc if, respectively, ucparse.yy or uclex.yy are changed. Need to know if it causes compilation problems in MorphOS or BeOS. Also removed some trailing spaces. 2006-08-20 Marzo Sette Torres Junior <[email protected]> * Fixed compilation problems caused by modmgr by moving files bggame.*, sigame.*, devgame.* and modmgr.* into new 'gamemgr' directory. 2006-08-14 Marzo Sette Torres Junior <[email protected]> * modmgr.cc: Added two path macros to mod cfg files: '__MODS__' and '__MOD_PATH__'. They are expanded, respectivelly, to the game's '<MODS>' dir and to the mod's '<MODS>/<mod_title>' (where '<mod_title>' is the mod's cfg option, defaulting to the filename -- sans extension -- of said cfg). * schedule.cc: Slightly tweaked the 'talk' schedule. NPCs will no longer try to talk through mountains. * ucsym.*, ucparse.yy, ucfun.h: Fixed bug #1540599. Now, declaring functions through externs and directly will always assign the same function number in both cases (and regardless of order) as long as both have the same number of parameters (and whether or not autonumbering -- either style -- is being used). Duplicate declarations (but not duplicate externs, unless the parameter count differs) will raise errors now. 2006-08-14 Marzo Sette Torres Junior <[email protected]> * Setting bg_dont_move and dont_move flags prevent actors from doing any schedule actions while the flag is set. 2006-08-13 Marzo Sette Torres Junior <[email protected]> * objs.cc: Fixed cache-out bug of terrain objects when the whole map is cached out (mostly when teleporting to another map). * exult.cc, exultmenu.cc: Fixed a palette problem when loading a game with command-line parameters with 'skip_splash' disabled. Also, fixed the initial Exult logo in the menu. * modmgr.cc: Remove trailing slashes before adding "<MODS>" system path for each game. 2006-08-08 Marzo Sette Torres Junior <[email protected]> * exult.cc, exultmenu.cc: Added a Zaurus version of the menu -- single column, only 3 games/mods per page and no Exult logo in the back (as it interferes with menu) -- due to resolution constraints. Also fixed dumb mistake when loading a game with --bg or --si. 2006-08-07 Marzo Sette Torres Junior <[email protected]> * Adding mod manager to Exult and Exult Studio. New Exult menu now displays all games in exult.cfg and has a sub-menu for each game's mods. Likewise, Exult Studio can load games and mods. In some of the files, converted some identation spaces into tabs, and some trailing spaces were removed. Detailed information: * modmgr.*: New classes that (1) manage the game list, (2) manage each game's mods and (3) store information for each game/mod and correctly sets path information when needed. Games have their own entries in exult.cfg (with the additional "title" tag containing the string to display in the Exult menu), while mods have their own drop-in cfg files located in "<MODS>/*.cfg". The "<MODS>" directory is configurable for each game in exult.cfg (with the new "<mods>" tag), but defaults to "<path>/mods". * menulist.*: New text-based menu entry classes replacing the shape-based ones (except for the MenuEntry, also referenced in game.cc, due to palette concerns) and added menu IDs to entries. * exult.*: Command-line loading of mods with "--mod <mod>", modified loading of games to use classes from modmgr; moved some functions to modmgr.*; added "<MODS>" system path configurable in exult.cfg; Exult will now be centered in Windows when not in full-screen mode to prevent window being partially offscreen. * game.*, bggame.*, sigame.*, devgame.*: Moved is_installed to modmgr.*, modified game creation to use modmgr.*, mod used is reported in stdout, initial game uses new menu IDs. * exultmenu.*: The new menus mentioned above. * exult0.pal, *.shp, flx.in: Removed old menu shapes and added fonts for them. * cheat.cc: Map-editing loads Exult Studio using the current game and mod. * studio.*, exult_studio.glade: Loading of games and mods via dialogs, loading of mods via command line with "-m <mod>" and creation of new mods via dialog. Uses the classes from modmgr.* * makefile.*: Added modmgr.*, modified list of *.shp's used. 2006-08-05 Willem Jan Palenstijn <[email protected]> * configure.ac, desktop/Makefile.am: adapted version of patch #1532621: support alternative dirs for .desktop and icon files * docs/exult_studio.1, docs/ucc.1: manpages from patch #1532624 2006-07-30 <[email protected]> * bggame.cc (BG_Game): Added lip-syncing enhancements contributed by Eric Wasylishen. 2006-07-20 <[email protected]> * actorio.cc: (Experimentally) Allow chars. >= 127 in NPC names. 2006-06-27 Marzo Sette Torres Junior <[email protected]> * Fixing Skara Brae Ferry problem (bug #1521291). 2006-07-16 <[email protected]> * shapes/shapeinf.h (public): Don't divide striking range by 2; I think that was a mistake. 2006-07-14 <[email protected]> * rect.h, paths.cc, objs.cc, combat.cc: Avoid attacks through walls by checking LOF for striking weapons. 2006-06-27 <[email protected]> * gamemap.cc: Shift-F3 writes out "patch/minimaps.vga", with a frame for each game map (192x192 pixels). 2006-06-27 Marzo Sette Torres Junior <[email protected]> * Fixing crash (due to terrains not being loaded) and pointer mix-up (causing wrong colors in the generated minimap) in the new minimap generator. 2006-06-26 Marzo Sette Torres Junior <[email protected]> * Fixed bug where 'stray' items on the ground would be picked up by the carpet even though they shouldn't. 2006-06-14 Marzo Sette Torres Junior <[email protected]> * intrinsics.cc: Fixed multimap issue when casting 'mark' on a virtue stone when the stone is not directly on the map. * actors.cc, ready.h, objs/contain.cc, mapedit/shapeedit.cc and mapedit/exult_studio.glade: Added an 'usecode container' item type to BG. Also, in 'objs/contain.cc', changed the usecode container detection code to use the item type instead of shape number. 2006-06-11 Willem Jan Palenstijn <[email protected]> * midi/audio_drivers/mt32emu/i386.cpp: sync with scummvm to make it compile with gcc 4 2006-04-29 Willem Jan Palenstijn <[email protected]> * various: fix delete/delete[] mixups 2006-04-18 <[email protected]> * pathfinder/Zombie.cc: Straight-line pathfinder now works in 3-dimensions, and combat projectile code allows shooting things at any height. 2006-04-07 <[email protected]> * combat.cc: Support 'summon' by certain monsters (mages, liches). Also added teleport, summon, and can-be-invisible flag support to ExultStudio and to savegames. 2006-04-08 Dominik Reichardt <[email protected]> * docs/xml/docs.xml,faq.xml: updated documentation and FAQ * docs/ReadMe.html,FAQ.html: updated documentation and FAQ * Readme, FAQ: updated 2006-04-05 <[email protected]> * objs/objs.cc: Handle changes to IFIX and terrain objects correctly so the changes get saved by EStudio. 2006-03-19 Marzo Sette Torres Junior <[email protected]> * gamemap.cc: Fixed incorrect return value of data size for written strings. 2006-03-05 Marzo Sette Torres Junior <[email protected]> * schedule.cc, schedule.h: Tweaked the 'Pace' schedules. Also, greatly modified the 'Patrol' schedule so that it works more like the original. * combat.cc: Slightly midified the way opponents are found in combat. Hostile actors will now target friendly actors, which include party members. * actors.cc: Oppressors are now set when an NPC's target is set. Also, they are set when an NPC is attacked instead of when it is hurt. Additionally, the avatar will now set the 'blocked' vector if it is moving due to a schedule. * actors.cc, usecode/bgintrinsics.h: Allowed several more SI intrinsics for BG; specifically, the intrinsics add_cont_items, clear_item_say, save_pos, teleport_to_saved_pos, set_camera, set_polymorph and infravision can now be used in BG games. * usecode/intrinsics.cc: Added reminder to look into 'approach_avatar' intrinsic (seems to actually be 'create_offscreen', but I need to do some further tests to be sure). * docs/exult_intrinsics.txt: Full intrinsic documentation describing them as they are implemented in Exult. ALL intrinsics are documented. 2006-03-05 <[email protected]> * objs/egg.cc,etc.: Usecode eggs may be given a function name instead of a number. 2006-02-28 Marzo Sette Torres Junior <[email protected]> * Tweaked speed of 'Talk' schedule a bit. Also, modified 'Pace horizontal' and 'Pace vertical' schedules to better match original games. 2006-02-27 Marzo Sette Torres Junior <[email protected]> * BG Keyring Mod and SI Fixes are now licensed under the GNU GPL. * For the BG Keyring Mod, I also modified a bit the NPC spellcasting items and routines, and started work in a spellcasting pseudo-AI. 2006-02-26 Marzo Sette Torres Junior <[email protected]> * Fixed a crash when using 'actor frame' script opcodes. 2006-02-26 Willem Jan Palenstijn <[email protected]> * files/databuf.h: Ryan's cleanup of Pentagram's IFileDataSource::eof() 2006-02-26 Marzo Sette Torres Junior <[email protected]> * Fixed potential crash introduced by the previous fix. * Fixed animated flag for Exult Studio edited/created eggs. 2006-02-25 Marzo Sette Torres Junior <[email protected]> * Fixed brand-new bug preventing many egg types from correctly hatching. 2006-02-25 <[email protected]> * objs/egg.cc (public): Rewrote so that each egg type has its own class. 2006-02-13 Marzo Sette Torres Junior <[email protected]> * gamemap.cc: Removing some old, unused code. * Makefile.common: Fixed wud compile problem under MinGW. 2006-02-20 <[email protected]> * objs/egg.cc,etc: Support shapes >= 1024 in monster eggs. 2006-02-19 <[email protected]> * tools/wud.cc: Rewrote in C++. Uses symbol table. * usecode/ucsymtbl.cc (Usecode_symbol_table): Support symbol-table in compiled usecode. * usecode/ucinternal.cc: Print function names from symbol table. * usecode/compiler/ucmain.cc: Write out symbol table. 2006-02-13 Marzo Sette Torres Junior <[email protected]> * combat.cc, ready.h: Make missile weapons really use actual ammo. Triple crossbows now fire magic bolts as they should. They also spend the correct amount of ammo (3) per shot. * chunks.cc: Fixed a few dumb mistakes from previous commit. * objs/animate.cc: Fixed sound effects in SI, which I had broken previously. 2006-02-12 Marzo Sette Torres Junior <[email protected]> Round 1 of de-hard-coding data from Exult. * actors.cc: Added support for custom BG-style gumps. Eliminated the hard-coded data about which items get usecode ready/unready events. * bggame.cc, sigame.cc: Two new resources in the respective flx files. * cheat.cc, cheat_screen.cc: NPCs with mana should recover/be able * data/*/*: New de-hard-coded data, and mpdified flx.in files to add them to the correct game flx file. * effects.cc: The association shape <> explosion sprite has been moved out. * files/msgfile.cc: Lines starting with a ':' will be sequentially auto-indexed. * gumps/Face_button.cc, Face_stats.cc: Removed restrictions on which NPCs display faces in the status bar. Also, NPCs with non-zero magic will display a mana bar. * gumps/Gump_manager.cc, Gump_manager.h, Paperdoll_gump.h: Added support for BG-style gumps. * gumps/Paperdoll_gump.cc: Removed references to old paperdoll data from the file. * gumps/Paperdoll_gump_info.cc: Externalized all paperdoll data. * keyactions.cc: Support for custom BG-style gumps. * server/server.cc, mapedit/exult_studio.glade, npcedit.cc: Added the ability to display an actor's gump from the edit window. Also modified a few things in shape edit window in preparation for adding editing capabilities for newly exported data. * objs/chunks.cc: Removed hard-coded data about 'mountain tops'. Seems to work OK. * objs/animate.cc, animate.h: Shape <> sfx and shape <> animation info have been moved out. * shapes/miscinf.h, miscinf.cc, makefile.am: New file for loading/retrieving the newly de-hard-coded data. to edit it with cheats. * shapes/bodies.cc, bodies.h: Deleted the old bodies table, externalized the data in the Is_Body function. * usecode/intrinsics.cc: Fixed wrong comment. 2006-02-08 <[email protected]> * schedule.cc (Waiter_schedule): Improvements to this schedule. 2006-02-07 Willem Jan Palenstijn <[email protected]> * usecode/ucinternal.cc: fixed global statics * usecode/ucdisasm.cc: fixed global static disassembly 2006-02-06 Willem Jan Palenstijn <[email protected]> * various: don't make get_map/get_map_num segfault when undefined * objs/virstone.*: renamed map/pos functions to get/set_target_pos/map 2006-02-05 Willem Jan Palenstijn <[email protected]> * actors.cc: fix crash when actor approaches from off-screen 2006-02-04 Willem Jan Palenstijn <[email protected]> * effects.cc: fix crash for missile without weapon info * actors.cc: uninitialized variable 2006-02-04 Marzo Sette Torres Junior <[email protected]> * Corrected the workings of UI_is_readied and UI_get_readied based on the original games. 2006-02-04 Willem Jan Palenstijn <[email protected]> * objs/objs.*: removed strange ifdefs around certain functions 2006-02-03 Marzo Sette Torres Junior <[email protected]> * Reorganized BG Keyring Mod with use of new autonumbering system. * Modified SI Fixes to use new autonumbering system. 2006-02-03 Willem Jan Palenstijn <[email protected]> * files/databuf.h: StreamDataSource::eof() returns eof before actually having read past the end of file, to make this behave consistently with the other DataSources * files/msgfile.*: allow reading text file from DataSource * shapes/bodies.cc: read bodies_bg/si from .flx files * data/*: moved bodies_bg/si to exult_bg/si.flx 2006-02-03 Marzo Sette Torres Junior <[email protected]> * ucparse.yy: Added a way to retrieve the assigned number of a given function. Used like this: //If function_name is a defined function, fun will //have the correct function number: var fun = &function_name; //Call function_name indirectly: (*fun)(); * uclex.ll, ucsym.*: Added new '#autonumber' directive to UCC. It turns on 'smart' autonumbering of functions from a given initial value and *ignores* functions with preset function numbers. For example: #autonumber 0xC00 fun1 0xD00 () {/* Code here */} fun2 () {/* Code here */} fun3 0xA00 () {/* Code here */} fun4 () {/* Code here */} This results in fun2 and fun4 having numbers 0xC00 and 0xC01, respectivelly. If the directive is not used, the default ("old-style") autonumbering will be in effect. 2006-02-02 Marzo Sette Torres Junior <[email protected]> * Added a custom body for Laurianna in the 'BG Keyring Mod'. * bodies.cc: Removed checks against old tables. * bgintrinsics.h: Added one more SI Intrinsic to BG: create_new_object2. 2006-02-01 Marzo Sette Torres Junior <[email protected]> * Updating 'SI Fixes' and 'BG Keyring Mod' to use the new #game UCC compiler directive. 2006-02-01 <[email protected]> * usecode/compiler/uclex.ll,etc.: Added '#game "blackgate"' and '#game "serpentisle"' directives to set intrinsics at top of ucc source file. 2006-01-28 Marzo Sette Torres Junior <[email protected]> * Fixed but with teleport (not intermap) eggs in multimap games. 2006-01-29 <[email protected]> * actors.cc,npcnear.cc,objs.h: Stop schedules of NPC's who are off the current map. 2006-01-28 Marzo Sette Torres Junior <[email protected]> * Fixed a few bugs for objects with shape # >1023. 2006-01-28 Marzo Sette Torres Junior <[email protected]> * cheat_screen.cc: The 'Teleport to NPC' function now moves you to the correct map. * objs.h: Added a 'shortcut' get_map_num() member function for easier retrieval of an object's current map. * intrinsics.cc, ucinternal.h, bgintrinsics.h, siintrinsics.h: Added intrinsic get_map_num. * All files but the header files: Modified to use get_map_num(). 2006-01-23 Marzo Sette Torres Junior <[email protected]> * gamedat.cc, gamedat.h: Fixed saving and loading multimap saves with level 2 zip compression. The fix uses internal mapXX files (similar in structure to the GAMEDAT file used for the default map) to store the files in <GAMEDAT>/mapXX dirs. Still need to fix the flex saves for multimap capabilities (tagged with a 'TODO:'). * gamewin.cc: Fixing a rare crash when changing maps followed by F3 teleport. 2006-01-22 <[email protected]> * schedule.cc: Improved 'talk' schedule so that NPC won't talk until close, and will call to you like in the original. 2006-01-22 Marzo Sette Torres Junior <[email protected]> * gamedat.cc: Improved the previous fix to make it safer. Note that level 2 compression is still incompatible with multimaps (or, for that matter, so are the flex saves). I am still trying to work out a way to fix that *and* keep compatibility with older saves; relevant sections are tagged with a 'TODO:'. Any takers? * gamewin.cc: Fixed bug in loading of multimap games. Basically, only map #0 would be loaded, causing data loss when saving maps or games unless the player visited the other maps. * actors.cc: approach_another now moves NPCs to the correct destination map before trying to pathfind. 2006-01-21 Marzo Sette Torres Junior <[email protected]> * actors.cc: Fixed resurrection bug -- using (e.g.) Death Bolt resulted in a body which would not be resurrected, unlike what happened in the original. * gamedat.cc: Fixed errors on restoring from multimap savegame or initgame. 2006-01-20 Marzo Sette Torres Junior <[email protected]> * usecode/intrinsics.cc: Virtue stones should use the map number they are in, not of the map being displayed. 2006-01-14 <[email protected]> * exult.cc: "Combo" selection is now done with single-clicking or dragging. Shapes added are selected, and one can toggle by holding down the Control key. Flat tiles are no longer added. 2006-01-07 Marzo Sette Torres Junior <[email protected]> * Fixed cache-out bug which prevented eggs from reseting when teleporting between maps. * usecode/intrinsics.cc: Multimap support for display_area intrinsic. 2006-01-06 Marzo Sette Torres Junior <[email protected]> * gamedat.cc: Checking for the existance of ireg files before saving them to zip files prevents crashes when saving new maps for existing games. * gamemap.cc, objs/virtstone.*, usecode/intrinsics.cc, ucinternal.*: Added multimap support to the following intrinsics: update_last_created & move_object (if the location is a 4-element array, the 4th element is the map #); mark_virtue_stone & recall_virtue_stone (now save/restore the map #); save_pos & teleport_to_saved_pos (now save/restore the map #). Virtue stones from older save games still work, and so will (I hope) the saved positions from older SI saves. 2006-01-03 Marzo Sette Torres Junior <[email protected]> * actors.h: get_usecode now returns correct value for NPCs with no assigned usecode *and* with a shape# >1023. * objs.h: added a virtual get_usecode function which returns correct usecode function for a given shape. * usecode/intrinsics.cc, etc.: added new intrinsic to get an object's usecode function number via usecode (mostly to allow the calling of an item's usecode given an item reference to that item). 2005-12-29 Max Horn <[email protected]> * configure.ac, debian/, Makefile.am: Removing the debian directory, as requested by the debian package maintainer 2005-12-15 Max Horn <[email protected]> * alloc.cc, Makefile.am, msvcstuff/Exult.vcproj: Removed alloc.cc. 2005-12-14 Max Horn <[email protected]> * configure.ac: Removed several outdated / obsolete configure options. 2005-12-13 Marzo Sette Torres Junior <[email protected]> * egg.cc: Set facing for egg-created monsters. 2005-12-12 Willem Jan Palenstijn <[email protected]> * configure.ac, version.cc: netbsd (partial patch #1111951) 2005-12-10 Max Horn <[email protected]> * configure.ac: Remove some obsolete warnings. 2005-12-04 Willem Jan Palenstijn <[email protected]> * objs/contain.cc: fix compile error when exult studio disabled 2005-11-19 Willem Jan Palenstijn <[email protected]> * flic/playfli.cc: use sint8/uint8 types instead of char/unsigned char 2005-11-19 Marzo Sette Torres Junior <[email protected]> * useval.cc: Fixing a bug I introduced when I fixed the Blacksword's 'Fire' power. 2005-11-13 <[email protected]> * shapes/shapevga.cc,etc: Moving defs. around so ExultStudio can pass the correct game info. when loading shape data. 2005-10-26 Marzo Sette Torres Junior <[email protected]> * useval.cc, ucsched.cc: fixing the Blacksword's 'Fire' power in FoV. 2005-10-25 <[email protected]> * actors.cc: Ready/unready weapon depending on schecule. 2005-10-14 <[email protected]> * readnpcs.cc: New schedules.dat supports z-coord. in pos. 2005-10-09 <[email protected]> * objs/barge.cc (Barge_object): Fixed cart-and-horse animation. 2005-10-04 <[email protected]> * actorio.cc: Save mana/magic for all NPC's. 2005-10-02 <[email protected]> * actorio.cc: Save/restore 2-byte face#. 2005-10-01 <[email protected]> * exult.cc: Watch for game names "blackgate" and "serpentisle". * objs/egg.cc (Egg_object): Fixed crash when dropping an egg on something else. 2005-08-21 <[email protected]> * gumps/Stats_gump.cc (Stats_gump): Display 'extra' attributes defined in usecode. * mapedit/shapelst.cc: Fixed bug when importing from Gimp where transparency would go away. 2005-08-10 <[email protected]> * actors.h (public): get_attributes() returns list of all attribute/value pairs. * usecode/intrinsics.cc: get_npc_prop/set_npc_prop can get/set generic attributes if you pass a name as the property. 2005-08-06 Marzo Sette Torres Junior <[email protected]> * Changed the way BG paperdolling is handled to use a 'paperdol.vga' file. Paperdoll patches are now possible in BG too. 2005-08-02 <[email protected]> * shapes/bodies.cc: Use text files for getting body shapes. 2005-07-24 <[email protected]> * usecode/ucinternal.cc: In SI, 'path_run_usecode' should have the companions follow (fixes ice-raft). * actions.cc (std): At end of path-walking, gather up followers. * actors.cc,drag.cc: Call readied/unreadied usecode in more places so that SI special items (belt-of-strength, etc.) work properly. 2005-07-18 Marzo Sette Torres Junior <[email protected]> * actors.cc: Fixed bug which prevented frame from being correctly set when creating new NPCs. * objs/objs.cc: Fixed bug while editing objects contained by other objects. * mapedit/objedit.cc, npcedit.cc: Added support for dragging shapes >1024. * All other files: Added support for extended editing of container objects (i.e., editing resistance, 'invisible' and 'okay_to_take' flags). 2005-07-17 <[email protected]> * combat.cc: Improvements to weapon-readying so that monsters are better-equipped. 2005-07-17 Marzo Sette Torres Junior <[email protected]> * gamewin.cc: Fixed small bug with dont_move flag in BG. * intrinsics.cc: Allowed bg_dont_move flag to work like SI's dont_move flag when it is toggled (i.e., take Avatar out of combat mode). Also allowed invisible flag to be set for all objects. * objs.cc: Fixed small bug which prevented detection of invisible objects with find_nearby using mask 0x20. 2005-07-16 Marzo Sette Torres Junior <[email protected]> * actors.cc: Fixed crash when there was no attacker. * intrinsics.cc: Fixed real cause of the super-cannon bug -- LOOP opcode should not loop if the variable hasn't been initialized (verified in the original, but with the add-ons only). * objs.cc, effects.cc: Undid one change in each which became unnecessary now that the real cause of the super-cannon bug has been found. Also, slightly tweaked Projectile_effect for the benefit of traps. 2005-07-15 <[email protected]> * usecode/ucinternal.cc: Added support for indirect calls. Example: var fun = fun1; (*fun)(3); fun = fun + 1; (*fun)(17); 2005-07-15 Marzo Sette Torres Junior <[email protected]> * actors.cc: Fixed bug I introduced in which dueling NPCs would slaughter each other and then attack the avatar. * objs.cc, objs.h: Fixed bug I introduced about container hit points. * effects.cc: Changed to use the new get_effective_obj_hp function. * animate.cc: Added a few new shape sound effects. 2005-07-13 Willem Jan Palenstijn <[email protected]> * game.cc: fix crashing german BG (its IDENTITY is "ULTIMA7") 2005-07-11 Marzo Sette Torres Junior <[email protected]> * mapedit/studio.h, etc: Implemented game detection code and ready spots. I am trusting exult.cfg to be accurate, which I am not sure is wise :-) * objs.cc, etc: In fixing the cannon, I broke the Test of Virtue. Both work now. Powderkegs are now dangerous to attack, as in the original. 2005-07-10 Marzo Sette Torres Junior <[email protected]> * shapes/shapeinf.h, mapedit/exult_studio.glade, shapeedit.cc: Corrected damage type (from 'poison' to 'lightning') and added two other damage types ('ethereal' and 'sonic') and immunities -- both of which are used in BG, but not in SI. Also, left shapeedit.cc pratically ready to get 'ready spots' working (it does for BG already). * actors.cc: Implemented immunities/vulnerabilities. Also allowed actors with cant_die flag to appear to be wounded (flash with red outline), as in the original. Last, prevented party members from calling the guards if they die because of the Avatar. 2005-07-09 <[email protected]> * mapedit/npclst.cc (Npc_chooser): Added NPC browser. 2005-07-10 Marzo Sette Torres Junior <[email protected]> * mapedit/exult_studio.glade, shapeedit.cc: New info from weapons.dat and ammo.dat can now be edited in Exult Studio. Also, modified the 'ready spot' menu from 'Shape Info' window in preparation to getting it to work. * content/sifixes/resurrect.uc: Fixed resurrection bug when target NPC was alive but in the House of the Dead. 2005-07-08 Marzo Sette Torres Junior <[email protected]> * Implemented missile rotation and speed, using data from weapons.dat; this data is now saved and loaded correctly. * Modified the animation speed of attacks; it now uses get_std_delay to determine speed. * Modified very slightly the way attack frames are handled. * Fixed initialization bug of casting frames. 2005-07-05 Marzo Sette Torres Junior <[email protected]> * Allow si_tournament to be used in BG. Also, introduced bg_dont_move flag for BG, which works like dont_move does in SI. Finally, updated the cheat screen's flag names to reflect the flag names as they are defined in "flags.h". * Implemented the use of casting frames when casting spells. Also added a new intrinsic called 'begin_casting_mode' which activates the use of casting frames for a given NPC (added mostly for scripting purposes). 2005-07-05 Marzo Sette Torres Junior <[email protected]> * Modified the SI Fixes source files to use the new intrinsic calling method ('->'). Also, removed duplicate (unused) files. * actors.cc: NPCs should only react if the weapon actually does something to them. 2005-07-05 <[email protected]> * usecode/compiler/*.{cc,h}: Allow intrinsics to be called as 'methods', so that the following are equivalent: c = UI_get_item_flag(item, 10); c = item->get_item_flag(10); c = get_item_flag(10); 2005-07-03 Marzo Sette Torres Junior <[email protected]> * Modified detection of 'delayed blast' projectile, as it was too inclusive before. I also am interpreting its lack of projectile data to mean it should not be rendered. This matches the original. * Modified the way SI sleep arrows work to better match the original. 2005-07-04 Ryan Nunn <[email protected]> * exult.cc : Ensure Audio is deinitialized on exit * audio/midi_drivers/LowLevelMidiDriver.cpp, audio/midi_drivers/XMidiFile.cpp : Small changes to MT32 display handling 2005-07-03 <[email protected]> * When equipping monsters, give them ammo for their weapons. * When an NPC can't pathfind to an enemy in combat, just let him wander a short way towards the enemy before retrying. 2005-07-03 Marzo Sette Torres Junior <[email protected]> * actors.cc, shapes/shapeinf.h: Modified constant names and used them for attack frames. Also changed the default attack sequence for when there is no weapon. 2005-07-03 Marzo Sette Torres Junior <[email protected]> * actors.cc, shapes/shapeinf.h: Implemented weapon-dependent frame sequences for attacks * effects.cc, effects.h: Slightly modified the way burst arrows are handled, eliminated some hard-coded data about explosion sizes and moved the definition of Get_explosion_shape out of Explosion_effect class. 2005-07-02 Marzo Sette Torres Junior <[email protected]> * shapes/shapeinf.cc, etc: Added capabilities to read/save some previously unknown data from ammo.dat and fixed minor bug on saving weapons.dat * effects.cc: Modified to use newly decoded ammo.dat info, modified Death Vortex to more closely resemble original and implemented Energy Mist (the latter two share the same code) * actors.cc: Modified how explosives work on hit; includes modifications for Death Vortex and Energy Mist; now uses new ammo.dat info to determine if missiles should be dropped on hit/miss. * content/sifixes (several): Prevent Serpent Bond from smuggling companions to Dream World in SI 2005-07-01 Willem Jan Palenstijn <[email protected]> * data/bg/fellowshipstaff.shp: new version by Crysta * data/bg/lightning_whip.shp: new art by Crysta 2005-07-01 Marzo Sette Torres Junior <[email protected]> * actors.cc: Fixed weapon frames, modified behaviour of explosives * effects.cc, effects.h: fixed explosives, and modified their behaviour a bit * usecode/ucsched.cc: Fixed next_frame_max and npc_frame opcodes * content/sifixes/src/spells.uc: Fixed dumb bug in modified Vibrate spell 2005-06-30 Willem Jan Palenstijn <[email protected]> * usecode/useval.cc: fix truncated strings when concatenating 2005-06-26 <[email protected]> * mapedit/shapelst.cc,etc: Rewrote shape-browser renderer so scrolling works correctly. 2005-06-21 Willem Jan Palenstijn <[email protected]> * data/bg/spiked_shield.shp: fixed transparency, added back by Crysta 2005-06-16 Tristan Tarrant <[email protected]> * files/rwregress.cc: removed use of deprecated strstream and used sstream instead 2005-06-15 Willem Jan Palenstijn <[email protected]> * audio/Midi.cc: fix crash on exit when midi is disabled * data/bg/faces.shp: new Julia face by Berty Zhang * data/bg/gorget.shp: updated gorgets/collars by Crysta 2005-06-15 Ryan Nunn <[email protected]> * game.cc : Set 'game_type' to NONE when in the Exult Menu * audio/midi_drivers/XMidiSequence.cpp, audio/midi_drivers/XMidiFile.*, audio/midi_drivers/LowLevelMidiDriver.* : Improvements and fixes for when using Exult with a Real MT32 (avoiding Buffer Overflows and pauses) 2005-06-14 Willem Jan Palenstijn <[email protected]> * sigame.cc, bggame.cc: more constants from flex headers 2005-06-13 Willem Jan Palenstijn <[email protected]> * data/bg/various: new art by 'Crysta the Elf' * sigame.cc, bggame.cc: use constants from headers instead of fixed numbers 2005-06-13 Ryan Nunn <[email protected]> * audio/midi/TimidityMidiDriver.cpp : Report Timidity Error messages if initiliaztion fails * audio/midi_drivers/FluidSynthMidiDriver.*, audio/midi_drivers/Makefile.am, audio/midi_drivers/MidiDriver.cpp : New FluidSynthMidiDriver borrowed from ScummVM. Needs FluidSynth to work (obviously). Define USE_FLUIDSYNTH_MIDI to compile it in. 2005-06-13 Tristan Tarrant <[email protected]> * mouse.h: include gamewin.h * audio/midi_drivers/Makefile.am: add include path so it can find flags.h * audio/midi_drivers/XMidiFile.cpp: make it compile on 64bit 2005-06-12 Willem Jan Palenstijn <[email protected]> * data/bg/faces2.shp: new Sentri face by Berty Zhang 2005-06-12 Willem Jan Palenstijn <[email protected]> * audio/midi_drivers/various: compilation fixes, sync with pentagram 2005-06-07 Ryan Nunn <[email protected]> * headers/pent_include.h : Header for 'seemlessly' integrating Pentagram code into Exult * istring.* : Pentagram::istring class * autoconf.in : Added ALSA midi option (from Pentagram) and updated Timidty code to be the same as Pentagram. * Makefiles : Hopefully updated to a working state for all platforms * New Midi System using the Pentagram code. * Big changes to the way music is handled internally * OGG Vorbis support no longer replaces Midi support * MT32 Sysex is now supported * Added All Pentagram Midi Drivers * Added 'mt32emu' Midi Driver. Needs USE_MT32EMU_MIDI defined, and needs files "MT32_CONTROL.ROM" and "MT32_PCM.ROM" to be placed in the Exult data directory to work (where the files are needed might be changed). This is not compiled by default. * Removed some midi drivers. * Attempted to update midi drivers so they will compile * The "none" Midi Conversion option is now "mt32" and is used to specify that the device should be treated as a real mt32 device. Effect: No patch conversion and will send sysex * New Midi Conversion option "fakemt32" to specify the device as a device is not a real mt32, but uses mt32 patches. Effect: No patch conversion and will NOT send sysex * New config key "config/audio/midi/use_oggs" to specify if to use ogg vorbis digital music * Audio options gump modified. 'Midi Conversion' option changed to 'Device Type' * And probably countless other things too that i can't remember at this time 2005-06-05 <[email protected]> * usecode/intrinsics.cc: Show Guardian, Serpent faces when speech occurs. 2005-05-05 <[email protected]> * usecode/intrinsics.cc: Implemented set_orrery using information discovered by Marzo Torres. 2005-05-04 <[email protected]> * usecode/bgintrinsics.h: Added several SI usecode intrinsics for use in BG mods. 2005-05-03 <[email protected]> * usecode/intrinsics.cc: Added 'close_gump()' intrinsic. 2005-05-02 <[email protected]> * usecode/ucfunids.h,etc: Added Usecode support for shape #'s >= 0x400. In the usecode compiler use "shape#(n)" for the function #. 2005-04-30 Willem Jan Palenstijn <[email protected]> * drag.cc: check if gump's owner exists before using it 2005-04-28 Willem Jan Palenstijn <[email protected]> * files/msgfile.cc, shapes/items.cc: strip CR's from end of line 2005-04-26 Willem Jan Palenstijn <[email protected]> * usecode/ucinternal.*: reset all statics when loading 2005-04-20 <[email protected]> * usecode/ucinternal.cc: Increase max. # of global flags to 2048. * usecode/compiler/ucmain.cc: Look up include dir from UCC_INCLUDE env. var. 2005-03-27 <[email protected]> * cheat.cc (Cheat): Ctrl-arrow keys will move entire chunks when in "Select chunks" mode. 2005-03-12 <[email protected]> * data/exultmsg.txt: Applied "international support" patch from [email protected]. 2005-02-18 <[email protected]> * gumps/Notebook_gump.cc: Add text automatically from "autonotes.txt" when a global flag is set. 2005-02-14 Darke <[email protected]> * hash_utils.h: Hugely complex gcc4.0pre fixes. 2005-01-23 <[email protected]> * game.cc (Game): Command-line option --write-xml causes game config. to be written to 'patch/exultgame.xml'. (Game): If 'patch/exultgame.xml' exists, Exult uses that instead of manually adding resources. 2005-01-16 <[email protected]> * shapes/font.cc: Don't skip linefeeds when handling spaces. (Needed for notebook, and I hope this doesn't mess up conversations.) * gumps/Notebook_gump.cc (Notebook_gump): Working on auto-paging. 2005-01-15 Willem Jan Palenstijn <[email protected]> * forked_player.cc: fixed execlp call (patch #1101126) 2005-01-13 <[email protected]> * gumps/Notebook_gump.cc (Notebook_gump): Online journal support (hit 'n' for 'notebook'). 2004-12-29 Willem Jan Palenstijn <[email protected]> * exult.cc: don't let avatar move if right clicking on gump to close it (based on patch #1088000) * exult.cc: wait for possible dblclick before showing item info when not in map-edit mode (based on patch #1088157) * exult.cc: don't accept click/dblclick when mouse moved too far (based on patches #1088144 and #1088230) 2004-12-01 <[email protected]> * mapedit/objedit.cc,etc.: Added 'rotate' button to obj-edit dialog. 2004-10-16 <[email protected]> * mapedit/bargeedit.cc: EStudio dialog for adding a barge. 2004-10-07 <[email protected]> * objs/contain.cc: Use gump # from 'containers.dat' for given container. (Not really tested yet.) Support has also been added to ExultStudio for setting a shape's associated gump shape. 2004-09-19 <[email protected]> * mapedit/shapeedit.cc, shapes/items.cc, files/msgfile.cc: Support more than 1024 shapes in item names by storing messages in "textmsg.txt". 2004-09-18 <[email protected]> * shapes/items.h,etc: Reorganized lists of text to prepare for supporting >1024 shapes. 2004-09-13 <[email protected]> * schedule.cc: Support thief schedule. 2004-09-06 <[email protected]> * gamemap.cc,Flex.cc,Flex.h: Write Vers2 u7ifix files, so that shapes >1023 are supported. 2004-09-05 <[email protected]> * gamemap.cc: Added code to read Vers.2 entries (although we don't write them yet). 2004-08-29 <[email protected]> * shapes/shapevga.cc (Shapes_vga_file): Resize 'info' list when a new shape is added. 2004-08-28 <[email protected]> * shapeid.cc (Shape_manager): Set up shape info. entries for the SI Avatar shapes here. * shapes/shapevga.h: No longer have to check for the SI Avatar shapes. 2004-08-27 <[email protected]> * gamemap.cc, objs/*: Save/restore ireg. objs. with shape # >= 1024. 2004-08-14 Dominik Reichardt <[email protected]> * docs/xml/docs.xml,faq.xml: updated documentation and FAQ * docs/xml/html.xsl: got rid of another pointer to our ML * docs/ReadMe.html,FAQ.html: updated documentation and FAQ * Readme, FAQ: updated * ReadMe.1st: got rid of another pointer to our ML 2004-08-06 <[email protected]> * drag.cc (Dragging_info): Avoid dropping an object where it is no longer accessible. 2004-08-05 Willem Jan Palenstijn <[email protected]> * Spellbook_gump.cc: use real infinity symbol in SI * Spellbook_gump.cc: show infinity (in SI) or 99 (in BG) in wizard mode 2004-08-03 Max Horn <[email protected]> * exult.cc: Don't set icon on OS X; the external icon is *much* nicer. 2004-07-11 <[email protected]> * actors.cc,combat.cc,etc.: Support for 'charmed' flag. 2004-07-04 <[email protected]> * gamemap.cc,iregobjs.cc, etc.: Save/restore pos. of items within their containers. 2004-07-03 <[email protected]> * cheat.cc (public): When creating an object with <insert>, place it on the ground instead of in inventory. 2004-06-29 <[email protected]> * actors.cc: Teleport NPC to schedule if not on current map. * Lots: move() methods take a 'newmap' parameter. 2004-06-29 Willem Jan Palenstijn <[email protected]> * shapes/vgafile.*: removed limit of 255 frames in a shape. (Note that this does not remove the limit in ShapeID) 2004-06-27 <[email protected]> * actorio.cc: NPC's get saved/restored on proper map. 2004-06-26 <[email protected]> * Merged in multiple-map support. * Merged in use of dexterity and wand charges. * Merged in builtin groups in ExultStudio. 2004-06-17 Willem Jan Palenstijn <[email protected]> * mapedit/Makefile.am, ucxt/data/Makefile.am: fixed makefile problems 2004-06-07 Ryan Nunn <[email protected]> * msvcstuff/Exult.vcproj: Fixing compiling 2004-05-23 Dominik Reichardt <[email protected]> * docs/xml/*.xml: updated documentations and FAQ * docs/*.html: updated documentations and FAQ * docs/ucc.txt: added command line options * Readme, FAQ: updated * Makefile.studio.mingw: installs necessary files for new games now as well 2004-05-22 <[email protected]> * exult.cc: Skip intro if "development" game. * gumps/Face_stats.cc (Face_stats): Same for face stats. 2004-05-22 Willem Jan Palenstijn <[email protected]> * gumps/Face_stats.cc: fix crash 2004-05-21 Ryan Nunn <[email protected]> * various files: Some minor extremely changes that to compile for PocketPC 2004-05-10 Darke <[email protected]> * vec.h objs/objiter.h: gcc3.4 'fixes'. 2004-04-27 Willem Jan Palenstijn <[email protected]> * exulticon.h, exult.cc: set a window icon 2004-04-15 <[email protected]> * actors.cc (Npc_actor): Removed code to set initial schedules in BG, since it sometimes caused former companions to wander off even when you told them to "Wait here". 2004-04-10 <[email protected]> * cheat_screen.cc: Implement 'party' flag in cheat screen. 2004-03-12 Willem Jan Palenstijn <[email protected]> * various: 1.1.11cvs 2004-03-08 Willem Jan Palenstijn <[email protected]> * exult.spec.in: new desktop/ file locations 2004-02-29 Willem Jan Palenstijn <[email protected]> * various: updated to 1.1.10rc2 2004-02-25 Willem Jan Palenstijn <[email protected]> * configure.ac, mapedit/Makefile.am, mapedit/u7shp.c: made gimp plugin compile in both gimp 1.2.x and gimp 1.3/2.0(pre) 2004-02-25 Ryan Nunn <[email protected]> * msvcstuff/*.* : Replacing MSVC 6.0 projects with MSVC.Net projects * other files: Removing some MSVC hacks * Since MSVC 6.0 is no longer going to be supported, and MSVC.Net is more standards compliant, if you are writing standards compliant code you shouldn't step on my toes anymore. 2004-02-24 Willem Jan Palenstijn <[email protected]> * data/bg/custom_sword.shp: custom sword paperdoll art 2004-02-22 Willem Jan Palenstijn <[email protected]> * actors.cc: paint NPCs translucently to prevent palette-cycling * shapes/shapevga.cc: removed Spark-translucency hack 2004-02-21 Willem Jan Palenstijn <[email protected]> * desktop/*: put .desktop file in /usr/share/applications, icon in /usr/share/icons. 2004-02-24 <[email protected]> * mapedit/shapegroup.cc: Show builtin groups (monsters, ammo, etc.) 2004-02-19 <[email protected]> * combat.cc (Combat_schedule): Use dexterity during combat. 2004-02-19 Willem Jan Palenstijn <[email protected]> * mapedit/studio.cc: fixed main_window not getting toplevel_focus 2004-02-18 Willem Jan Palenstijn <[email protected]> * shapeid.h: fixed uninitialised member variable * mouse.cc: removed dynamic_cast 2004-02-17 Willem Jan Palenstijn <[email protected]> * audio/midi_drivers/Makefile.am: add win_midiout.* 2004-02-16 <[email protected]> * combat.cc,etc: Keep track of wand charges. 2004-02-13 Willem Jan Palenstijn <[email protected]> * mouse.cc: fixed dead actors causing movement slowdowns and/or crashes * data/bg/musket.shp: musket paperdoll art (by servus) * docs/art.txt: updated art table 2004-02-13 Willem Jan Palenstijn <[email protected]> * objs/chunks.cc: fix crash after activating eggs and teleporting * data/bg/pants.shp: use correct pants (by servus) 2004-02-12 Willem Jan Palenstijn <[email protected]> * data/bg/pants.shp: pants paperdoll art (by servus) * data/bg/collar.shp: leather collar paperdoll art (by servus) * data/bg/*gorget.shp: fixed female gorgets * data/bg/hawk.shp: tweaked hawk on female shoulder a bit * data/bg/hoods.shp: hoods paperdoll art (by servus) 2004-02-11 Willem Jan Palenstijn <[email protected]> * data/bg/shoes.shp: shoes paperdoll art * data/bg/triple_xbow.shp: triple crossbow paperdoll art * data/bg/musket_ammo.shp: musket ammo paperdoll art (by WishStone) 2004-02-11 Willem Jan Palenstijn <[email protected]> * gumps/AudioOptions_gump.cc: only display midi settings when relevant * audio/Midi.cc: label music player id output 2004-02-11 Dominik Reichardt <[email protected]> * docs/xml/docs.xml: updated and added screenshots * docs/images/docs*.png added * docs/readme.html: updated and added screenshots * Readme updated 2004-02-10 Willem Jan Palenstijn <[email protected]> * data/bg/hawk.shp: hawk paperdoll art * gumps/Paperdoll_gump.cc: fixed dropping items in BG belt slots 2004-02-08 Willem Jan Palenstijn <[email protected]> * data/bg/death_scythe.shp: death scythe paperdoll art * data/bg/firewand.shp: fire wand paperdoll art * data/bg/knife.shp: knife paperdoll art * data/bg/starburst.shp: starburst paperdoll art (belt-only) * data/bg/hawk.shp: hawk paperdoll art 2004-02-07 Willem Jan Palenstijn <[email protected]> * exult.cc: rotate colours 0xFC-0xFE (Juggernaut Hammer) 2004-02-06 Willem Jan Palenstijn <[email protected]> * cheat.cc: move dead bodies to avatar before resurrecting them 2004-02-05 Willem Jan Palenstijn <[email protected]> * Makefile.am: add empty install-exec-local target if not on Mac OS X * configure.ac: add extra X11 include directory on freebsd * Makefile.am: distribute autogen.sh 2004-02-03 Dominik Reichardt <[email protected]> * docs/xml/exult_studio.xml: converted JPGs to PNGs * docs/exult_studio.html: converted JPGs to PNGs * docs/images/*.jpg removed, *.png added instead * docs/xml/faq.xml: eliminated another jpg * docs/faq.html, readme.html: updated * ReadMe, FAQ: updated 2004-02-02 Willem Jan Palenstijn <[email protected]> * gumps/Gump_manager.cc: don't disable unicode if any modal gumps left 2004-01-30 Willem Jan Palenstijn <[email protected]> * audio/Audio.cc: prevent crash when loading an invalid wave file * docs/xml/docs.xml: updated a bit 2004-01-30 Ryan Nunn <[email protected]> * Various files : Updating version to 1.1.10cvs. That's one point one point ten see vee ess. * audio/Audio.cc : Fixing up resampling bias problem. Fixing up what was actually causing the high pitch voices for Windows users. Using = instead of == is never good. 2004-01-27 Dominik Reichardt <[email protected]> * docs/xml/docs.xml,faq.xml: updated * docs/ReadMe.html, Faq.html: updated * FAQ, ReadMe: updated * README.MacOSX: added compile instructions as discussed ages ago on the forum 2004-01-26 Willem Jan Palenstijn <[email protected]> * various: update version to 1.1.9rc1, adjust copyright dates * configure.ac: remove --enable-usecode-debugger configure option 2004-01-19 Willem Jan Palenstijn <[email protected]> * objs/egg.cc: never set hatched on the Serpent Staff egg (bug#879253) 2004-01-19 Ryan Nunn <[email protected]> * actors.h : Added get_sexed_coloured_shape() for fixing paperdolls and face stats always having white skin colour in serpent bond mode. * gumps/Paperdoll_gump.cc, gumps/Face_button.cc : Fixing serpent bond bug * files/utils.* : Made U7exists() return type bool. 2004-01-19 Willem Jan Palenstijn <[email protected]> * shapeid.cc: don't corrupt game palette to get special colours * palette.*, various: replaced update() by apply(false) 2004-01-18 Willem Jan Palenstijn <[email protected]> * game.*: added Game::has_expansion() to check for FoV/SS * objnames.cc: fixed SI-without-SS object names * files/utils.cc: made U7remove() case-insensitive * various: cleaning up output * CombatOptions_gump.cc: made buttons wide enough for text * various: added config/debug/trace/combat option to enable combat msgs 2004-01-17 Willem Jan Palenstijn <[email protected]> * gamewin.cc: fix check for original gamedat * various: cleaned up some output 2004-01-17 Ryan Nunn <[email protected]> * audio/midi_drivers/fmopldrv.cc : 'Fixing' hanging note problem 2004-01-17 Willem Jan Palenstijn <[email protected]> * files/utils.cc: make sure path_map contains no invalid/empty entries * audio/Audio.cc: use Mix_GetError after Mix_OpenAudio * fmopldrv.cc: don't crash if u7voice.flx not found * exult.cc: always load BG/SI paths * shapeid.cc: use SERPENTISLE_STATIC instead of SERPENT_STATIC 2004-01-10 <[email protected]> * gamemap.cc: create_ifix_object() added to create the right type of object. * files/utils.cc: Clone_system_path should check that entry exists. * exult.cc: Always set <PATCH>, defaulting to datadir/patch. 2004-01-06 <[email protected]> * usecode/intrinsics.cc: Yet another intrinsic: set_barge_dir(). 2004-01-03 <[email protected]> * gamerend.cc,chunks.cc: Handle dungeons slightly differently to avoid black squares in SI Sunrise Isle area. I'm assuming a certain shape (941 with frame 0) means "whole chunk is dungeon". 2004-01-03 Willem Jan Palenstijn <[email protected]> * exult.cc, *game.cc: cleared up startup output a bit * audio/Midi.cc: show errors when unable to find .ogg files * actorio.cc: made the "NPC #x is unused" messages debug-only * exult.cc: changed default music path to music subdir of the current data path (instead of the hardcoded default data path) 2003-12-16 <[email protected]> * Applied Debian signed-char patch. 2003-12-12 Willem Jan Palenstijn <[email protected]> * docs/xml/*: updated .xsl's to indent config file examples 2003-12-01 <[email protected]> * gamemap.cc: Fixed map-editing bug involving cached-out superchunks. 2003-11-30 <[email protected]> * mapedit/chunklst.cc, etc.: Added a 'delete' option for chunks. 2003-11-29 <[email protected]> * usecode/ucinternal.h,intrinsics.cc: Only force barge to do a 'gather' when we've actually add/deleted/moved an object. * objs/egg.cc (Egg_object): Teleport eggs should not automatically reset (unless they have the auto_reset flag). 2003-11-28 <[email protected]> * mapedit/npcedit.cc: Each schedule line now has a "Game" entry that sets the location from where the Avatar is standing. 2003-11-15 Willem Jan Palenstijn <[email protected]> * cheat_screen.cc: don't show unimplemented options 2003-11-12 Ryan Nunn <[email protected]> * tools/u7voice2syx.cc : Small tool that will convert various files ("u7voice.flx" BG, "u7intro.tim" BG, and "mainmenu.tim" SI) into syx (SysEx) format files for people with MT32s. For everyone else these files are kinda useless. Doesn't do anything with the XMIDI.MT files which are used for the BG endgame xmis, and the SI intro, in game and endgame xmis. 2003-11-09 Ryan Nunn <[email protected]> * exultmenu.cc, gamewin.cc, audio/Midi.*, audio/xmidi.*, gumps/AudioOptions_gump.* : Removing the, IMO horrible, hack to the XMIDI convert types to support OGG and FMSynth Midi drivers. Added a separate setting that can be used to select which driver you want. Config key is "config/audio/midi/driver". Current settings are "normal", "digital" and "fmsynth" (if compiled in). Gumps and menus modified to reflect the changes. It is no longer possible to change midi driver in Exult menu, you must use the Audio Options Gump. Changing midi driver is now immediate. Restarting Exult is no longer required if you switch to or from the Ogg or FMSynth drivers. These changes are just the beginning... after 1.1 has gone final, I will integrate the New Pentagram midi system into Exult, which will bring all sorts of wonders with i... ok, maybe not, it's just better. :-) * vec.h, files/U7file.*, msvcstuff/msvc_kludges.h : Minor changes so Exult will compile in MSVC.Net. No projects yet, probably will add them after 1.1. 2003-11-02 <[email protected]> * combat.cc,actors.cc,npcnear.cc: No longer automatically put 'hostile' NPC's in combat. Should fix Wisp problem. 2003-11-01 <[email protected]> * schedule.cc (Waiter_schedule): Create plates if needed. 2003-10-31 <[email protected]> * combat.cc: Play music only when someone can approach an enemy. 2003-10-30 <[email protected]> * gameclk.cc,actors.cc: Check hunger every hour, instead of every 3 hours. * objs/citerate.h,barge.cc: Fixed world-wrapping bug. 2003-10-26 <[email protected]> * schedule.cc (Walk_to_schedule): Changed pathfinding so you can follow Patterson to his tryst. * npcnear.cc: Don't call usecode for NPC's walking to schedule, so we don't see them snoring while they're walking. 2003-10-26 Max Horn <[email protected]> * configure.ac: Patch #794229: OpenGL on Mac OS X * conf/Configuration.cc: Patch #794231: Find exult.cfg in ~/Library/Preferences on Mac OS X 2003-10-18 Willem Jan Palenstijn <[email protected]> * FAQ, README, docs/xml/*: updated for beta3 * autogen.sh: don't delete docs/xml/Makefile 2003-10-17 Ryan Nunn <[email protected]> * gamemap.cc : Fixing cacheout bug that was causing the SI post Frigidazzi trial item chest problem among other possible problems. 2003-10-07 Ryan Nunn <[email protected]> * usecode/intrinsics.cc : Doing what needs doing (std) 2003-09-17 Jeff Freedman <[email protected]> * usecode/ucinternal.cc: New opcode 0x52, CALLO, calls original usecode function if a version from patch replaced it. 2003-09-12 Jeff Freedman <[email protected]> * usecode/ucsched.cc (Usecode_script): Finish some scripts before purging them. Fixes Test-O-Love bug. 2003-09-06 Jeff Freedman <[email protected]> * delobjs.cc: Adding a timestamp, so objects don't get deleted until they've been there a few minutes. 2003-09-01 Jeff Freedman <[email protected]> * objs/animate.cc,gamemap.cc: Check for 'sfx' objs. that aren't animated. Black gate and vortex cube now have sound effects. 2003-08-31 Ryan Nunn <[email protected]> * imagewin/scale.cc : Fixing 2xSaI (No mouse problems, should generally look better) 2003-08-31 Willem Jan Palenstijn <[email protected]> * all: if we're GPL, don't refer to the LGPL for details. (thanks to Colourless for spotting this one) 2003-08-30 Willem Jan Palenstijn <[email protected]> * intrinsics.cc: fix crash in get_npc_name * chunks.cc: don't delete non-temporary npc on cache_out 2003-08-27 Willem Jan Palenstijn <[email protected]> * gamemap.cc: enable WANT_MAP_CACHE_OUT permanently 2003-08-25 Willem Jan Palenstijn <[email protected]> * schedule.cc: don't create special potions in lab schedule 2003-08-23 Jeff Freedman <[email protected]> * usecode/ucsched.cc, usecode/ucscriptop.h, actors.cc: Schedule 'resurrection' instead of doing it immediately. 2003-08-16 Jeff Freedman <[email protected]> * shapes/shapeinf.cc: Kludge: Don't use sfx 123 for weapons in SI; use 61 instead. 2003-08-15 Jeff Freedman <[email protected]> * mapedit/shapefile.cc (Image_file_info): Write out single-shape files correctly. * data/estudio/new: Added (primitive) fonts.vga, pointers.shp. 2003-08-14 Ryan Nunn <[email protected]> * usecode/intrinsics.cc, usecode/siintrinsics.h, usecode/ucinternal.h : B5 Intrinsic in SI (modify_schedule) 2003-08-13 Darke <[email protected]> * usecode/ucxt/head2data.cc: Updated to append function number to the end of UNKNOWN functions. 2003-08-11 Ryan Nunn <[email protected]> * gamemap.cc : Fixing the item duplication problem. h4XoRz beware we'll be deleting all accounts of people exploiting this bug in the period till next release, or something... oh wait... Exult isn't a MMORPG. 2003-08-08 Willem Jan Palenstijn <[email protected]> * various: 1.1beta2 2003-08-08 Aurelien Marchand <[email protected]> * data/exultmsg_fr.txt: added French translation of exultmsg.txt. Now Exult only needs to support it. ;-) 2003-08-06 Dominik Reichardt <[email protected]> * data/exultmsg_de.txt: added German translation of exultmsg.txt. Now Exult only needs to support it. 2003-08-05 Willem Jan Palenstijn <[email protected]> * game.cc: create <SAVEGAME> 2003-08-02 Jeff Freedman <[email protected]> * schedule.cc: Rewrote Preach schedule. * usecode/ucsched.cc: Fixed the add(int, char*) method. 2003-07-31 Willem Jan Palenstijn <[email protected]> * gamewin.cc: fixed memory corruption issue breaking item descriptions 2003-07-29 Aurelien Marchand <[email protected]> * README.Qtopia: More accurate details. 2003-07-25 Ryan Nunn <[email protected]> * WinNT and Win2K are forced to use the Win9x style IPC that i wrote. This should now meant that Exult Studio will now work. 2003-07-22 Ryan Nunn <[email protected]> * Minor changes to fix errors in MSVC * Updating Win32 stuff for 1.1Beta1 2003-07-06 Jeff Freedman <[email protected]> * actors.cc (public): Dont_move flag stops Avatar. Also rewrote the flags tests as a 'case' statement. Always give at least a small possibility of a 'hit' in combat. * objs/contain.cc: Don't let user add items to a locked chest. 2003-06-25 Jeff Freedman <[email protected]> * items.{cc,h},msgfile.{cc,h}: Adding support for an 'exultmsg.txt' file containing strings used in C++ code. 2003-06-24 Willem Jan Palenstijn <[email protected]> * gamewin.cc, gumps/VideoOptions_gump.cc: fixed screen corruption when changing scaler from video options gump 2003-06-24 Max Horn <[email protected]> * audio/midi_drivers/mac_midi.cc: Fixed pan controller in QuickTime midi. 2003-06-24 Max Horn <[email protected]> * files/rwregress.cc, conf/xmain.cc, usecode/compiler/ucfun.cc, usecode/ucxt/include/ops.h: added #include <cassert> to please GCC3.3 2003-05-21 Tristan Tarrant <[email protected]> * files/databuf.h, tools/cmanip.cc: added #include <cassert> to please GCC 3.3 2003-05-11 Jeff Freedman <[email protected]> * gamewin.cc: 'Formation' walking is now on permanently. * mapedit/*: Now uses gtk_drag_begin() so that DND works with GTK2.x. 2003/05/09: Aurelien Marchand ([email protected]) * added command option to tools/cmanip.cc to return the value of a key 2003-05-05 Tristan Tarrant <[email protected]> * exult.cc, audio/Midi.cc: add new configuration config/disk/music_path, where the user can specify a path to the OGG files 2003-05-04 Dominik Reichardt <[email protected]> * docs/xml/*.xml: updated * docs/*.html, exult_studio.txt: updated * docs/usecode_bugs.txt: added SI-SS pillars bug * FAQ, ReadMe : updated and spellchecked 2003-04-26 Willem Jan Palenstijn <[email protected]> * mapedit/objedit.cc: properly load/save shape/frame/quality for objs * palette.cc: removed unnecessary palette changes 2003-04-21 Willem Jan Palenstijn <[email protected]> * docs/usecode_bugs.txt: added some bugs from the forum 2003-04-18 Willem Jan Palenstijn <[email protected]> * shapes/font.cc: use unsigned char to index font frames. 2003-04-12 Jeff Freedman <[email protected]> * party.cc,gamewin.cc: Experimental (and half-done) code to have the party walk in formation. 2003-04-09 Jeff Freedman <[email protected]> * party.h,party.cc,etc: Moved party handler to new file/class, which will possibly be used to implement 'formation' following later. 2003-03-26 Jeff Freedman <[email protected]> * objs/objnames.cc: Check that index is within valid list of names. 2003-03-22 Jeff Freedman <[email protected]> * bgintrinsics.h,intrinsics.cc,gamewin.cc: Implemented 'call_guards()' usecode intrinsic. 2003-03-19 Jeff Freedman <[email protected]> * gamemap.cc: Quality 'okay-to-take' flag should override default, so that food can be treated as 'stolen'. 2003-03-18 Jeff Freedman <[email protected]> * objs/egg.cc (Egg_object): Mark egg as 'hatched' even if it fails the probability test. (This is experimental.) 2003-03-15 Willem Jan Palenstijn <[email protected]> * wuc.c: 256 bytes just isn't large enough for a static string buffer 2003-03-12 Willem Jan Palenstijn <[email protected]> * exult.cc: ignore fullscreen mode for --buildmap (in a hackish way) * ucinternal.cc: fixed sleeping crash * INSTALL: updated 2003-03-10 Jeff Freedman <[email protected]> * Various: Support for 'static' (persistent) usecode variables, both local and global. * usecode/compiler/ucparse.yy: Can now use '.' instead of '->'. 2003-03-06 Aurelien Marchand <[email protected]> * docs/usecode_bugs.txt: added a file for people interested in fixing some usecode bugs 2003-03-06 Willem Jan Palenstijn <[email protected]> * Spellbook_gump.cc: bookmark doesn't stop clicking on buttons 2003-03-05 Jeff Freedman <[email protected]> * mapedit/objbrowse.h (public): Get_selected() now returns correct index when scrolled. Fixed 'remove' bug in EStudio groups. 2003-03-05 Willem Jan Palenstijn <[email protected]> * exult.cc: fixed --buildmap * */.cvsignore: added some misc files to .cvsignore * sigame.cc, bggame.cc: use unicode translation for avatar name input 2003-03-04 Jeff Freedman <[email protected]> * imagewin/scale.cc,etc.: Added Andrea Mazzoleni "Scale2X" scaler. 2003-03-03 Tristan Tarrant <[email protected]> * mapedit/studio.cc: implemented GtkTreeView stuff * mapedit/exult_studio.glade: changes for above 2003-02-28 Jeff Freedman <[email protected]> * gamerend.cc (using): Draw modal gumps after text. * combat.cc (Combat): Only play victory music when there are no more enemies around. Also, play one of two pieces. 2003-02-27 Willem Jan Palenstijn <[email protected]> * conversation.cc: don't use BG multiracial hack if not in BG 2003-02-25 Tristan Tarrant <[email protected]> * Exult Studio compiles and runs with GTK+ 2.0. It doesn't work quite yet. I've ported GtkText to GtkTextView, but I still need to port to GtkTreeView instead of the awful GtkCTree * mapedit/*: "gtk+ 2.0"-ification 2003-02-25 Tristan Tarrant <[email protected]> * configure.ac: use pkg-config to search for GLIB 2.0/GTK+ 2.0/LIBGLADE 2.0 search for a gimptool >= 1.3.12 * usecode/compiler/Makefile.am: use AM_YFLAGS instead of YFLAGS * mapedit/u7shp.c: ported to GIMP 1.3.x * mapedit/Makefile.am: use $GIMPTOOL instead of gimptool 2003-02-24 Willem Jan Palenstijn <[email protected]> * configure.ac: renamed configure.in to configure.ac; updated for autoconf 2.53+; removed acconfig.h * audio/Makefile.am: missing header from sources 2003-02-20 Willem Jan Palenstijn <[email protected]> * version.cc: output HAVE_OPENGL setting * imagewin.h: disable OpenGL in the video options if not HAVE_OPENGL 2003-02-20 Willem Jan Palenstijn <[email protected]> * forked_player.cc: don't go into infinite loop when player fails * shapeid.*: minor cleanup * objs/egg.cc: prevent egg from retriggering immediately * gamerend.cc, Gump_manager.*: draw modal gumps even when in dont_move 2003-02-20 Jeff Freedman <[email protected]> * combat.cc (Combat): Wisps can teleport (partly done). * actors.cc: Wisps (and others) always get at least 1 attack point for their builtin weapon. 2003-02-18 Jeff Freedman <[email protected]> * actors.cc: Exploding weapons implemented. 2003-02-17 Jeff Freedman <[email protected]> * objs/chunks.{cc,h},etc: find_door() speeds up pathfinding. 2003-02-16 Jeff Freedman <[email protected]> * drag.cc (Dragging_info): Don't drop above where we can see. 2003-02-15 Jeff Freedman <[email protected]> * drag.cc,objs/objs.cc,objs/chunks.cc: A removed object now has its chunk coords set to (255, 255). * objs/chunks.cc (Chunk_cache): Rewrote 'blocking' code. Now a 0-3 element count is maintained. * usecode/intrinsics.cc: Mark object as deleted before putting it back in the world. 2003-02-12 Jeff Freedman <[email protected]> * objs/iregobjs.cc,gamemap.cc: Use 'invisible' flag from quality byte. Fixes 'caltrops not invisible' bug. * gamerend.cc (using): Render all flat tiles before rendering the RLE flats. Fixes 'chopped-off' rocks in desert. 2003-02-11 Jeff Freedman <[email protected]> * monsters.cc: Cyclops cause quakes when they walk. 2003-02-05 Aurelien Marchand <[email protected]> * README.Qtopia: few changes to match the current compile method * configure.in: reverted the zaurus/embeddix $host_vendor variable 2003-01-27 Jeff Freedman <[email protected]> * actors.cc: When resurrecting, set schedule to something reasonable. 2002-12-17 Willem Jan Palenstijn <[email protected]> * keyactions.cc: fixed crash in alternate SI intro * sigame.cc: fixed wrong char* initializer (Philipp Thomas <[email protected]>) 2002-12-09 Jeff Freedman <[email protected]> * gumps/Spellbook_gump.cc (public): Bookmark always shows, and clicking on it gets you back to its page. 2002-11-26 Jeff Freedman <[email protected]> * CombatOptions_gump.cc: Added "Combat" menu. 2002-11-23 Jeff Freedman <[email protected]> * gamewin.cc: When combat is paused, you can direct a party member by right-clicking, then clicking on a target to attack. * combat.cc,keys.cc,etc.: Suspend/resume combat (space key). * combat.h (public): Combat class with options. * actors.cc: Optionally show hits on screen. 2002-11-22 Jeff Freedman <[email protected]> * gamewin.cc (Game_window): Don't show new screen res. if in gump mode. * gumps/Gump_manager.cc: Paint at start of do_modal_gump(). The back-saving is no longer needed. 2002-11-21 Jeff Freedman <[email protected]> * gumps/Spellbook_gump.cc (Spellbook_gump): Use correct font so that the circles and spell-counts get palette animation. (Spellbook_gump): Show turning page (what a pain!) 2002-11-09 Dancer Vesperman <[email protected]> * configure.in: --enable-mmx (default: off) * configure.in: --enable-3dnow (default: off) * vec.h: Explanatory comment. 2002-11-09 Jeff Freedman <[email protected]> * gamewin.cc: For theft, see if NPC is facing Avatar. * objs/objs.cc: get_dir_facing(). 2002-11-08 Jeff Freedman <[email protected]> * objs/egg.cc (Egg_object): Implement sound-effect eggs. * mapedit/eggeddit.cc: SFX eggs. 2002-11-07 Willem Jan Palenstijn <[email protected]> * mapedit/execbox.*: don't compile this for win32 2002-11-04 Max Horn <[email protected]> * conf/Configuration.*, conf/XMLEntity.*: some cleanup (in function args, using 'const string &' instead of just 'string' or 'const string' is more efficient as the string doesn't have to be cloned temporarily) * menulist.cc: do not swallow certain command combos (Cmd-Q, Alt-X, ...) when nothing is selected * game.cc, file/utils.*: Added and make use of clone_system_path() 2002-11-03 Willem Jan Palenstijn <[email protected]> * actors.cc: fixed division by zero * shapes/Makefile.am: removed outdated OMIT_DEPENDENCIES * mapedit/compile.cc: std::string * mapedit/execbox.cc: #include <iostream> 2002-10-31 Willem Jan Palenstijn <[email protected]> * shapes/font.cc: fixed hang in french BG 2002-10-21 Willem Jan Palenstijn <[email protected]> * mapedit/shapelst.cc,chunklst.cc,paledit.cc,combo.cc: mouse wheel 2002-10-18 Jeff Freedman <[email protected]> * exult.cc,mapedit/chunklst.cc,etc: "Paint with chunks" mode added. * mapedit/shapelst.cc,etc: Keep shape browsers around so that they're at the same spot and selection when you return to them. 2002-10-15 Willem Jan Palenstijn <[email protected]> * mapedit/exult_studio.glade: East is a direction too :-) * objs/egg.cc: use shape 200, frame 1-5 for new missile eggs * mapedit/exult_studio.glade: removed tabs from two names * mapedit/exult_studio.glade: made egg_window notebook unscrollable, since the scrollable option is apparently broken in windows 2002-10-10 Max Horn <[email protected]> * Info.plist.in: No .nib file used anymore * configure.in: Removed some unnecessary flags on MacOS X * audio/midi_drivers/mac_midi.cc: Use assert() instead of DebugStr() * gumps/AudioOptions_gump.cc: Work around a compiler bug on MacOS X 2002-10-10 Jeff Freedman <[email protected]> * mapedit/execbox.cc (Exec_process): Split off separate class to handle the plotform-dependend exec'ing. 2002-10-08 Jeff Freedman <[email protected]> * mapedit/execbox.cc,compile.cc: Added a 'compile' window for running the usecode compiler and seeing the errors. 2002-10-07 Max Horn <[email protected]> * data/credits.txt: Jackchaos.com hosted the old forum * several files: got rid of #pragma implementation/interface - it didn't help us much anyway but triggered a compiler error on MacOS X * many files: get rid of using std::snprintf - according to the standard, snprintf is *not* in namespace std 2002-09-29 Jeff Freedman <[email protected]> * usecode/intrinsics.cc: Get_distance() looks at owners of objs. This fixes the bug with selling the bread you bake in BG. 2002-09-24 Jeff Freedman <[email protected]> * usecode/intrinsics.cc: Guessing 'npc_nearby2()'. Fixes Moonshade bug where companions don't show up to the trial. 2002-09-21 Jeff Freedman <[email protected]> * pathfinder/*: GetNextStep returns a 'done' flag if the tile returned is the last in the path. * actions.cc: Check for last step & return 0 if so. 2002-09-19 Jeff Freedman <[email protected]> * usecode/ucsched.cc (Usecode_script): Moved the 'no_halt' test to start(). * schedule.cc: Patrol schedule: Look for path after executing Usecode, and keep going after sitting. This fixes Freedom bug where the automaton doesn't talk to you upon arrival. * schedule: Don't follow Avatar if paralyzed. 2002-09-14 Jeff Freedman <[email protected]> * gamewin.cc: Taking a guess to fix the 'savegump repaint' bug. * drag.cc (Dragging_info): If not dragging, don't paint! 2002-09-13 Jeff Freedman <[email protected]> * keyactions.cc,etc: USEFOOD added to support SI goblet. * gamewin.cc: activate_item() now returns true/false. 2002-09-12 Jeff Freedman <[email protected]> * actors.cc: In BG, get_shape_real() should only return the normal 2 possible shapes for the Avatar. 2002-09-11 Dominik Reichardt <[email protected]> * docs/xml/*.xml: updated and/or spellchecked * docs/*.html, exult_studio.txt: updated and/or spellchecked * FAQ, ReadMe : updated and spellchecked 2002-08-29 Willem Jan Palenstijn <[email protected]> * intrinsics.cc: reverted click_on_item change from 2002-08-02 (it broke hitting Draygan with sleep arrows) * intrinsics.cc: restored mentioned change, but for the avatar only 2002-08-27 Jeff Freedman <[email protected]> * effects.cc: It's now okay to show rain/clouds when gumps are shown. * tqueue.cc: Got to fix time when tqueue is paused (like when gumps are open). * gumps/Spellbook_gump.cc: Close all gumps after casting spell. * objs/objs.cc: Weapons with 0 HP's should never do damage. 2002-08-26 Aurelien Marchand <[email protected]> * configure.in: Added -FMOPL and disabled debug in configure.in for the zaurus. * audio/Midi.cc: Make it work on the zaurus * imagewin/imagewin.cc: prevent fullscreen at all cost for the zaurus or it would crash 2002-08-23 Jeff Freedman <[email protected]> * usecode/ucinternal.h: Fixed "in_usecode()" so it works with new stack-frames. * usecode/ucsched.cc (Usecode_script): Don't purge script if it has already started. 2002-08-22 Jeff Freedman <[email protected]> * objs/objs.h (public): Added is_pos_invalid(). * effects.cc: Don't delete 'explode' if already off map. 2002-08-15 Aurelien Marchand <[email protected]> * audio/Audio.cc: corrected cast error to prevent bus error on Zaurus 2002-08-12 Aurelien Marchand <[email protected]> * shapes/fontgen.cc: prevent freetype if building for Zaurus. 2002-08-12 Jeff Freedman <[email protected]> * schedule.h,usecode/intrinsics.cc: Always use bed that was double-clicked. * schedule.cc: Bug in getting tz. * usecode/conversation.cc: Repaint when you pop_answers(). 2002-08-11 Jeff Freedman <[email protected]> * usecode/intrinsics.cc (public): Explosion should explode the outermost container. 2002-08-09 Ryan Nunn <[email protected]> * audio/midi_drivers/fmopl_midi.*, audio/midi_drivers/fmopldrv.cc, gumps/AudioOptions_gump.cc : Fixing compiling issues * audio/midi_drivers/Makefile.am: Added fmopl files to the makefile, but I'm not going to touch the configure script. 2002-08-07 Ryan Nunn <[email protected]> * cheat_screen.cc : Added missing tqueue header. * exultmenu.cc, audio/Midi.cc, audio/xmidi.h, gumps/AudioOptions_gump.cc : Added 'Music Conversion' option to enable the FM Synth. Requires a restart of Exult once it has been set in order for it to work. * gamewin.cc : Removed screen offset test that wasn't meant to be committed * msvcstuff/*.*, audio/midi_drivers/win_midiout.cc : Doing some tests compiling Exult using UNICODE * files/*.* : Some initial changes for PocketPC support 2002-08-06 Ryan Nunn <[email protected]> * midi_drivers/fmopl*.* : Emulatled FM Synth. Compiling in by defining USE_FMOPL_MIDI. Makefiles will probably need updating. Has a 'dual' mode for stereo sound. Use "config/audio/midi/dual_opl" set to "yes" or "no" to enable/disable it. Default is "yes". BG support is 'work in progress', while SI is pretty much finished. Requires xmidi.ad and u7voice.flx files. * audio/Audio.*, audio/Midi.*, audio/xmidi.h : For FM Synth. * bggame.cc, sigame.cc : FM Synth stuff, and fixing things that look like they could be causing crashes. * cheat_screen.cc, audio/soundtest.cc : Will pause game when using these * msvcstuff/*.* : 'Fixing' some precompiled header problems. * Lots of files : Added mode to allow the world to run when gumps are open. Has config setting, and option in Gameplay options gump. * A few files: Added option to disable double right pathfinding move. Option in gump and config. * Misc files: Namespace issues. 2002-08-06 Willem Jan Palenstijn <[email protected]> * Makefile.am: correct windows Makefiles in EXTRA_DIST 2002-08-04 Willem Jan Palenstijn <[email protected]> * gumps/Gump_manager.cc: fixed combat stats crash 2002-08-02 Willem Jan Palenstijn <[email protected]> * tools/Makefile.am: no longer build ucdump * audio/Audio.cc: free -> delete[] 2002-08-02 Jeff Freedman <[email protected]> * objs.cc,objs.h: Game_object::add will try to combine. * monsters.cc (Monster_actor): When using monster itself as weapon, return the shape. Should fix problem where slimes weren't doing any damage. * combat.cc: Remove dead NPC's from opponents list. Fixes problem where party stands around not attacking remaining monsters. * usecode/intrinsics.cc: To make combat spell-casting work, click_on_item now takes the target of the caller_item. Let me know if this breaks anything. 2002-07-31 Willem Jan Palenstijn <[email protected]> * mouse.cc: fixed uninitialized variables (box,dirty) * shapeid.cc: delete -> delete[] 2002-07-31 Jeff Freedman <[email protected]> * gumps/Spellbook_gump.cc,objs/spellbook.cc: Move functionality to Spellbook_object in preparation for spellbook combat. 2002-07-30 Jeff Freedman <jsf@usf-cf-x86-linux-1> * gamemap.cc,spellbook.{cc,h}: Save/restore bookmarked spell. * shapes/vgafile.cc: Update image when offsets are changed. 2002-07-29 Jeff Freedman <[email protected]> * tqueue.cc,gamewin.cc,Gump_manager.cc: Pause time queue (with Text_effects as an exception) whenever gumps are open. 2002-07-28 Jeff Freedman <[email protected]> * effects.cc,gamerend.cc: Text_effects are in a separate list. * gamerend.cc: Show sprites below gumps, text over them. 2002-07-28 Ryan Nunn <[email protected]> * pathfinder/path.cc : Fixed seriously broken non hash pathfinding (z coord was being ignored in comparisons of nodes). This fixes the Monitor Training problem. Probably fixes countless other pathfinding problems too. 2002-07-27 Max Horn <[email protected]> * audio/Audio.cc: Replaced the pseudo-breshenham audio interpolation code with 'proper' cubic interpolation code. 2002-07-27 Willem Jan Palenstijn <[email protected]> * monstinf.*: armur? armour! ;-) 2002-07-27 Jeff Freedman <[email protected]> * combat.cc: Call ready_ammo() if NPC needs it. * objs/barge.cc (Barge_object): Exit barge mode when you go into combat, and lower sails when you exit barge mode. 2002-07-26 Jeff Freedman <[email protected]> * usecode/intrinsics.cc,objs/flags.h,drag.cc: In_dungeon flag. Also don't assume theft if inside a dungeon. * shapeinf.{cc,h},combat.cc,effects.cc: Not_blocked flag for weapons and ammo. 2002-07-26 Aurelien Marchand <[email protected]> * README.Qtopia: updated * imagewin/ibuf8.cc: added a test to prevent fast copy on the zaurus * configure.in: added test for $host_vendor under the linux clause * shapes/monstinf.*: renamed "arm" into "armur" as "arm" is reserved 2002-07-24 Dominik Reichardt <[email protected]> * docs/xml/exult_studio.xml: updated * docs/exult_studio.html, exult_studio.txt: updated 2002-07-24 Dominik Reichardt <[email protected]> * exult.cc: little correction of the --help screen (--bg, --si instead of -bg -si) * Readme, FAQ: updated. * docs/xml/docs.xml, faq.xml: updated * docs/readme.html, faq.html: updated 2002-07-24 Jeff Freedman <[email protected]> * shapeid.cc,vgafile.h,glshape.cc: Translucent shapes supported in OpenGL. May not look entirely right, as I had to guess at the colors (in 'shapeid.cc'; look for 'blends'.) 2002-07-23 Jeff Freedman <jsf@usf-cf-x86-linux-1> * imagewin/imagebuf.h (public): Xform_palette is now a class containing the color that's being blended. 2002-07-23 Tristan Tarrant <[email protected]> * keyactions.*: renamed functions to use north/south/east/west and added diagonals (north-west, etc.), implemented running * data/bg/defaultkeys.txt data/si/defaultkeys.txt: added mapping keypad keys for all 8 directions, added shift-arrows and shift-keypad for running 2002-07-23 Jeff Freedman <[email protected]> * imagewin/iwin8.h,etc: fill8() works in OpenGL. 2002-07-22 Jeff Freedman <[email protected]> * shapes/glshape.cc (GL_manager): Paint_image() used for images larger than 256x256. Also, units changed from tiles to 'pixels'. 2002-07-22 Dominik Reichardt <[email protected]> * README.Qtopia : added instructions by Artaxerxes on how to compile Exult for the Zaurus PDA. 2002-07-22 Tristan Tarrant <[email protected]> * exult.cc: pass key releases to the action handler too * keyactions.*: added ActionWalk* functions * keys.*: implemented mapping for key release * data/bg/defaultkeys.txt data/si/defaultkeys.txt: added walking via arrows and remapped scrolling to alt-arrow 2002-07-22 Willem Jan Palenstijn <[email protected]> * content/islefaq/usecode.uc: fixed some typos and spacing 2002-07-22 Ryan Nunn <[email protected]> * gumps/Gump_manager.cc, gumps/Spellbook_gump.cc, usecode/ucinternal.cc: std stuff. * msvcstuff/Exult.dsp, msvcstuff/msvc_kludges.h : Just enabled OpenGL for myself. * shapes/glshape.cc : Disabled Depth Writing and Testing (see inline note). Enabled Texture Clamping (vs wrapping) to clean up the output a bit. Added a note about Alpha Blending (no code change though). 2002-07-22 Willem Jan Palenstijn <[email protected]> * glshape.h: dummy GL_manager class * exult.cc, gamewin.cc, mouse.h: include glshape.h * configure.in, Makefile.am: --enable-opengl 2002-07-22 Tristan Tarrant <[email protected]> * mouse.h: #ifdef HAVE_OPENGL was missing around call to GL stuff 2002-07-21 Jeff Freedman <[email protected]> * usecode/conversation.cc (Conversation): Still a bit rough, but Conversation::paint() no repaints the whole conversation in its current state. * gumps/Newfile_gump.cc (Newfile_gump): Fixed crash I caused. * exult.cc, etc: Get_click takes a Paintable parameter. * drag.cc,gamerend.cc: Dragging_info::paint() added. 2002-07-20 Jeff Freedman <[email protected]> * mouse.cc,font.cc,etc.: More things kind-of work in OpenGL (though mouse doesn't clean up after itself and conversation text disappears, so there's LOTs to fix.) 2002-07-18 Willem Jan Palenstijn <[email protected]> * exult.cc: SIGCHLD handler to clean up forked playmidi processes * configure.in: check for sys/wait.h, signal.h (see above) * lots: modal-gump-keyevent-handling related cleanup 2002-07-16 Jeff Freedman <[email protected]> * objs/flags.h,actors.h,etc: Moved 'dont_move' and 'no_spell_casting' flags to the spots in Obj_flags where they're referred to in Usecode. *imagewin/ibuf.{cc,h}: rgba() converts to 32-bit format (untested). 2002-07-16 Willem Jan Palenstijn <[email protected]> * orangedress.shp, bluedress.shp: new paperdoll art by sbx 2002-07-15 Willem Jan Palenstijn <[email protected]> * data/bg/greentop.shp: new paperdoll art. Thanks sbx! * usecode/ucxt/Makefile.am: fixed --disable-tools * configure.in: install gnome things to $(datadir) (instead of $(GNOMEDATADIR)). This allows non-root installs. * data/Makefile.am: don't install estudio data when not building that 2002-07-14 Willem Jan Palenstijn <[email protected]> * Spellbook_gump.cc: fixed up offsets; fixed NULL shape error 2002-07-12 Willem Jan Palenstijn <[email protected]> * chunks.cc: worked around compiler bug (gcc 2.96-110) for is_blocked 2002-07-12 Jeff Freedman <[email protected]> * actors.cc (public): Call_guards logic moved to Actor::reduce_health(), so spells will get you in trouble. 2002-07-11 Jeff Freedman <[email protected]> * actors.h,actors.cc: All NPC's except Avatar get 4-frame (smooth) walking. This matches the original U7. 2002-07-10 Jeff Freedman <jsf@usf-cf-x86-linux-1> * Lots: Added gumpman to Singletons class. * gumps/GameplayOptions_gump.cc,gamewinc.cc: Walk_after_teleport option is no longer needed (it's always TRUE now). * gamewin.cc,etc: Cleanup: NPC list in Chunks has been removed. 2002-07-10 Willem Jan Palenstijn <[email protected]> * exult.cc: undo double click change. (it broke gumps) 2002-07-10 Jeff Freedman <[email protected]> * gamewin.cc,paths.cc: Removed limit on finding/dragging items on different lift from Avatar. * objs/egg.cc (Egg_object): Party_near + auto_reset == avatar_near; avoids too much monster spawning. * drag.cc (Dragging_info): Calling unreadied-usecode AFTER the drop should only be done for the SI black sword. 2002-07-09 Willem Jan Palenstijn <[email protected]> * ucinternal.cc: allow (but ignore) large changes to loop arrays 2002-07-08 Jeff Freedman <jsf@usf-cf-x86-linux-1> * actors.cc,monsters.cc: Bare hands weapon gets 1 damage point. * objs/egg.cc (Animated_egg_object): Fields continue to check for NPC's standing in them so they can add damage. * shapes/vgafile.h (public): Added set_offset(); * mapedit/shapeedit.cc: Update shape origin. 2002-07-08 Willem Jan Palenstijn <[email protected]> * Newfile_gump.cc: use SDL's unicode translation for text input * lots: moved gump_utils.cc into Gump_manager class * exult.cc: don't count dragging for double clicks 2002-07-07 Willem Jan Palenstijn <[email protected]> * ucinternal.cc: allow small changes to loop-array in mid-loop in SI * useval.*: added operator!= (and changed operator== to return bool) * objnames.cc: fixed "x's ashes" code for teleported urn at start 2002-07-05 Jeff Freedman <[email protected]> * shapeinf.{cc,h}: Figured out 'actor frame' flags in Weapon_info. * actors.cc,etc: Rewrote get_attack_frames() to use the 'frame' flags in Weapon_info. 2002-07-04 Willem Jan Palenstijn <[email protected]> * exult.cc: fixed --buildmap * autogen.sh: fixed problem when automake was compiled with aclocal data directory /usr/local/share/aclocal 2002-07-04 Jeff Freedman <[email protected]> * actors.cc,exult.cc,ucsched.cc: Added 'rest_time', so Avatar will return to a standing position when not doing anything else. This fixes the spell-casting bug where you're stuck in the last casting frame, but it may cause some new bugs... * gamewin.cc,exult.cc: Attempting to remove the halt-after-teleport, which I think is no longer needed (and is obviously wrong). 2002-07-03 Jeff Freedman <[email protected]> * effects.cc (Projectile_effect): Delay for delayed-explosions. * gamewin.cc: Fade palette back in at end of setup(). * usecode/ucinternal.cc: Always call link_party(), even if new game, and set party_count to 0. 2002-07-03 Willem Jan Palenstijn <[email protected]> * objnames.cc: implemented "x's ashes" name in SI * font.cc: fixed word wrapping off-by-hlead 2002-07-02 Jeff Freedman <[email protected]> * gamewin.cc (Game_window): Set singleton after creating pal. * Various: Merged in activate() fixes from 1.00 branch. 2002-07-02 Willem Jan Palenstijn <[email protected]> * objs.cc: fixes to SI item names (thanks sb-x) * objnames.cc: moved naming code to separate file 2002-07-01 Willem Jan Palenstijn <[email protected]> * objs.cc: even more item names for SI 2002-07-01 Willem Jan Palenstijn <[email protected]> * shapeid.h: let paint_shape paint non-rle shapes properly * vgafile.cc: assert(rle); in the paint_rle_* functions * objs.cc: more item names for SI 2002-06-30 Willem Jan Palenstijn <[email protected]> * objs.cc: finally fixed 'blood' names 2002-06-30 Willem Jan Palenstijn <[email protected]> * Configuration.*, exult.cc: added -c option for alternate config files (quite useful if you have multiple data dirs or languages of BG/SI) 2002-06-29 Willem Jan Palenstijn <[email protected]> * singles.h, shapeid.cc: added pal = gwin->get_pal() to singles * *game.*, txtscroll.*: got rid of extra Palette objects 2002-06-28 Jeff Freedman <[email protected]> * gamewin.h (public): Game_clock is now a pointer. * exult.cc,game.cc: --nomenu arg skips game menu. 2002-06-28 Jeff Freedman <jsf@usf-cf-x86-linux-1> * gamewin.h (public): Reordered and added comments. 2002-06-27 Jeff Freedman <jsf@usf-cf-x86-linux-1> * shapeid.*,etc: Text routines moved to Shape_manager. * palette.*,etc: All palette vars/methods moved to Palette. * objs.h: Added get_chunk(). * gamewin.h,etc: get_chunk* removed (it's in Game_map). 2002-06-27 Max Horn <[email protected]> * objs/objiter.cc: Fixed compilation with CodeWarrior 7 (MacOS Classic) 2002-06-26 Jeff Freedman <jsf@usf-cf-x86-linux-1> * objs/*: Removed umachine parm. from activate() methods. * objs/*: Removed most 'gwin' parameters. * objs/objs.h (public): Game_object::paint() no longer takes gwin as a parameter. Same for paint() in Special_effects. * gumps/*: Got rid of gwin parm. in ALL methods. * singles.h: A class to hold the common 'singletons'. 2002-06-25 Jeff Freedman <[email protected]> * effects.h, etc.: Cleanup: Effects_manager class added. * actions.cc: Wrote Approach_actor_action for use in combat to make approach of combatants work better. * npcnear.cc: Hostile monsters don't wait as long to get activated. * pathfinder/Astar.cc,etc: Get_num_steps. 2002-06-24 Jeff Freedman <[email protected]> * gamewin.cc: Commented out add_nearby_npcs(). I think it's not needed anymore. 2002-06-24 Ryan Nunn <[email protected]> * ChangeLog : Added comment that was meant for this branch, but I accidently put in the other branch 2002-06-24 Ryan Nunn <[email protected]> * actors.cc : Fixed a problem with gloves not using both fingers in BG. * actors.cc, gumps/Gump_manager.cc : Fixed a problem where using a Female avatar in BG with ye olde style inventories would stop the 'I' key from working * actors.h, gumps/Actor_gump.cc : Blue lines are now removed when two handed or two fingered item equiped in BG with ye olde style inventories * msvcstuff/Exult.dsp : Updated to remove RTTI compile option since dynamic casts are no longer used. 2002-06-24 Max Horn <[email protected]> * audio/Audio.cc: removed usage of malloc.h; removed some unused variables 2002-06-24 Jeff Freedman <[email protected]> * actions.h,usecode/intrinsics.cc: as_usecode_path(). 2002-06-23 Ryan Nunn <[email protected]> * msvcstuff/find_nearby.h : Removed because it's now shared for all * Makefile.am : Removed msvcstuff/find_nearby.h * objs/find_nearby.h : Added so it can be used by all * objs/Makefile.am : Added find_nearby.h * objs/*.* : Removed old Game_object::find_nearby template and now use find_nearby.h and macros. 2002-06-22 Ryan Nunn <[email protected]> * LOTS OF FILES : Added code to do caching out to memory. However, it's disabled for the moment. Need to #define WANT_MAP_CACHE_OUT to enable it. Added lots of get_ireg_size() methods that return the size required to save the ireg of each object. * gumps/Paperdoll_gump*.* : Fixing up various paperdoll related problems * actors.h, objs/*.*, msvcstuff/find_nearby.h, usecode/intrinsics.cc : Cleanup removing dynamic_casts. * windrag.* : Is now windows only, and is only compiled if actually compiling with Exult studio support. * various other files: Fixing misc compiling problems 2002-06-21 Jeff Freedman <jsf@usf-cf-x86-linux-1> * gamerend.h: Helper-class added to do rendering. * gamewin.h,shapeid.h, etc: ShapeID::paint_shape() replaces one of the paint_shape()'s in Game_window, and gamewin.h no longer includes shapeid.h. 2002-06-21 Willem Jan Palenstijn <[email protected]> * Paperdoll_gump.cc: fixed bug when displaying usecode container * objs.cc: zero-weight fix * gamewin.cc: display object weight 2002-06-21 Jeff Freedman <jsf@usf-cf-x86-linux-1> * actors.cc (Npc_actor): Cleanup: Lots more dynamic_cast's are gone. 2002-06-21 Darke <[email protected]> * shapeid.cc: Added using declarations. Committed for Kirben. 2002-06-20 Jeff Freedman <jsf@usf-cf-x86-linux-1> * objs.{cc,h},etc: Added 'change_frame()' to set repaint area. * gamewin.h (public): get_info(), etc. moved to ShapeID. * gamewin.h: Hit pixel, etc. replaced by an array. 2002-06-19 Jeff Freedman <[email protected]> * shapeid.h (public),etc: New 'Shape_manager' class takes over the various .vga files from Game_window. 2002-06-19 Jeff Freedman <jsf@usf-cf-x86-linux-1> * shapeid.cc,etc: Game_window::get_info(Game_object *) is replaced by ShapeID.get_info(). * Lots: Cleanup: Game_window::get_game_window() => get_instance(). * Lots: ::as_actor() replaces lots of dynamic_cast's. 2002-06-19 Willem Jan Palenstijn <[email protected]> * data/bg/*, gumps/Paperdoll_gump_info.cc: new art by Oblivious 2002-06-18 Dominik Reichardt <[email protected]> * data/bg/defaultkeys.txt: mapped ctrl-c to copy and INSERT to "create item * data/si/defaultkeys.txt: the same * docs/xml/docs.xml, faq.xml : updated * docs/readme.html, faq.html : updated * readme/FAQ : updated 2002-06-13 Simon Quinn <[email protected]> * Fixed sound crashing on startup and in-game when sound was disabled 2002-06-13 Ryan Nunn <[email protected]> * exult.cc, audio/xmidi.cc : Getting around some problems with (our) snprintf not supporting floating point types. 2002-06-13 Ryan Nunn <[email protected]> * Any file that I changed, but not the 2 below : Changed lots of things to use DataSources rather than directly use streams. Hopefully nothing is broken. I expect that there will be numerous signed/unsigned problem for people who are using more standards compliant compilers than me. * usecode/ucinternal.cc, msvcstuff/Exult.dsp : Getting to compile in MSVC once again 2002-06-10 Jeff Freedman <[email protected]> * actors.cc (Npc_actor): Fixed a nasty bug I caused which could make NPC's disappear when they're moved. * content/islefaq: Find the missing FAQ:-) 2002-06-10 Simon Quinn <[email protected]> * added more details to the audio/README 2002-06-09 Jeff Freedman <[email protected]> * gamewin.cc (public): Check for player != 0. * mapedit/npcedit.cc,etc: New NPC's are now created using the 'unused' entries, and deleted NPC's are marked 'unused'. * actors.{cc,h},actorio.cc,readnpcs.cc: Use iflag2 correctly. If 0, it means NPC is unused in game (like the extra trappers). * conf/Configuration.cc: Not everyone has sstream! * usecode/ucxt/src/ucfunc.cc: Same here. 2002-06-08 Max Horn <[email protected]> * configure.in: fixed check for SDL_mixer * gamemap.cc: #include objiter.cc instead of objiter.h to get template linking right on all compilers (I hope...) * objs/objiter.cc: removed template instantiation hack 2002-06-08 Willem Jan Palenstijn <[email protected]> * autogen.sh: always include /usr/local/share/aclocal if it exists 2002-06-08 Willem Jan Palenstijn <[email protected]> * data/Makefile.am: add estudio/new files to dist/data * exult.spec.in: add estudio/new files to studio rpm 2002-06-08 Darke <[email protected]> * usecode/ucxt/src/ucfunc.cc: Removed the 'fix' we needed for strstreams. * usecode/ucxt/*: Updated a few things to avoid name collisions between ucxt/include/opcodes.h and usecode/opcodes.h. 2002-06-07 Jeff Freedman <[email protected]> * ucinternal.cc: Fixed a couple compile errors if UC debugging isn't enabled. * Audio/*: A couple headers needed to be included. 2002-06-08 Willem Jan Palenstijn <[email protected]> * */Makefile.am: cleaning up distro stuff * exult.spec.in: fixed * usecode/ucxt/head2data.cc: removed utils.cc dependency * version.cc: added USECODE_DEBUGGER symbol to version output 2002-06-07 Willem Jan Palenstijn <[email protected]> * exult.cc: typo 2002-06-07 Willem Jan Palenstijn <[email protected]> * *: merged audiotest branch back into main tree: > 2002-06-06 Simon Quinn <[email protected]> > * Recorded Exult title music in OGG pack and implemented in code > > 2002-06-03 Simon Quinn <[email protected]> > * Play different SFX track at night and crickets > * Add config option <audio/disablepause> to toggle the pausing of > the audio when game pauses. (yes or no) > > 2002-05-29 Simon Quinn <[email protected]> > * Work around for Usecode bug where track 0 is played at > Intro Earthquake. > > 2002-05-28 Simon Quinn <[email protected]> > * Converted Windows MIDI out to use SDL_mixer, i.e. uses a > Generic MidiOut. > * Changed MP3 references to DigitalMusic/OGG, now called > "DigitalMusic" in the audio settings. > > 2002-05-27 Simon Quinn <[email protected]> > * Implemented SDL_mixer/OGG changes into 'audiotest' branch of CVS. 2002-06-07 Willem Jan Palenstijn <[email protected]> * usecode/*: merged in new non-recursive usecode machine 2002-06-07 Jeff Freedman <[email protected]> * cheat.cc,drag.cc,drag.h: Use Dragging_info for Paste so items get dropped properly. 2002-06-06 Ryan Nunn <[email protected]> * browser.cc, gamerend.cc, gumps/gump_utils.cc : Fixing problems introduced by Kirben when getting Exult Exult to compile with GCC3.1 in Windows. * actorio.cc, objs/objiter.cc, msvcstuff/Exult.dsp : Some last minute changes for MSVC. Not required, but I though it would be a good idea since the CVS Tag is being moved to include Kirbens changes 2002-06-05 Ryan Nunn <[email protected]> * actors.cc : Removed the allow any item in back slot code. * gumps/Paperdoll_gump.cc : Fixed bug where items were in wrong places. * gumps/Paperdoll_gump_info.cc : Allow bags, barrels, boxes, crates, chests and baskets to be placed in the back slot in BG. * cheat.cc : Fixing a few a warning, and adding missing header include * exult.cc, server/servemsg.cc : Getting win32 versions to build without #define USE_EXULTSTUDIO * Makefile.win32, Makefile.cygwin, win32/*.*, msvcstuff/*.* : Updating Win32 version numbers. * Makefile.am, audio/midi_drivers/Makefile.am, server/Makefile.am : Added a few missing files so building the source dist will include all the files (as far as I know) 2002-06-05 Willem Jan Palenstijn <[email protected]> * NEWS, configure.in, Makefile.be, Makefile.MorphOS: 0.99.1RC2 * keyactions.cc: changed version string (copyright -2002) 2002-06-05 Jeff Freedman <[email protected]> * cheat.cc (public): Cut/copy/paste added to Exult & EStudio. 2002-06-04 Willem Jan Palenstijn <[email protected]> * various: applied patches by Robert Bihlmeyer * data/credits.txt: added Robert Bihlmeyer 2002-06-04 Ryan Nunn <[email protected]> * files/utils.cc : Working around the evil Windows 'Long Filename Problem', even though it's actually got very little to do with filenames at all. Hopefully it's gone now! Also added in a work around for when trailing slashes are detected in a filename that has been passed to get_system_path(). * fnames.h, gamedat.cc, gamemap.cc, palette.cc : Removed STATICDAT and PATCHDAT defines because they include a trailing slash, and this might cause things to get into trouble in Win9x. * server/server.cc : YATSP (Yet another trailing slash problem) * mapedit/studio.cc : Fixed Win9x shape file list problem. It was being caused by trailing slashes on path names! Also fixed compiling problem. * objs/objiter.cc : MSVC discards static void DummY() since it isn't referenced in the file. Needed to remove the static so there wont be linking errors because of missing template methods. * msvcstuff/Exult.dsp, msvcstuff/msvc_kludges.h : Fixing a few problems 2002-06-04 Jeff Freedman <[email protected]> * mapedit/studio.cc,etc: Send a 'Server version' # in the 'info' message and check that Exult and ES match. 2002-06-01 Jeff Freedman <[email protected]> * gumps/Paperdoll_gump.cc: Show selected items in gumps. 2002-05-30 Jeff Freedman <[email protected]> * gamemap.cc,gamewin.cc,etc: Locate_shape() finds next/prev shape in world. Semi-working. * combo.cc: Added 'Find' controls. * mapedit/objbrowse.cc (Object_browser): Adding a common 'create_controls()' method (partly done) for consistency. 2002-05-28 Darke <[email protected]> * conf/Configuration.*, tools/cmanip.cc: Fixed segfault in cmanip. 2002-05-27 Jeff Freedman <[email protected]> * objs/objiter.h (public): Iterators to get all objects recursively. 2002-05-27 Ryan Nunn <[email protected]> * shapes/font.cc : orig_font_buf needs to be set to 0 in both Font constructors. * actors.cc : Fixed a bug with combat and the multiracial bg hack. 2002-05-27 Dominik Reichardt <[email protected]> * content/data/: added this dir for our custom data, like *.png files * Content/data/dominus00.png: added face for patch character. I'm asking all other members of the team to add their picture sometime. * content/data/penguin00.png: Penguin statue for the church of Open Source * content/data/faces, shapes: scripts for ipack to build the vga files for the patch dir * makefile.win32, makefile.cygwin: added instruction on how to handle content/data/*.* for the patch options. 2002-05-26 Jeff Freedman <[email protected]> * shapes/vgafile.cc (Vga_file): Constructor takes optional patch name. * gamewin.cc,etc: Accept ES message to reload shape files. * mapedit/shapelst.cc: Don't create 1st shape for flex-shape files. 2002-05-25 Simon Quinn <[email protected]> * created "audiotest" branch to cvs for testing my new SDL_mixer/MP3 audio code. You'll also need the MP3 sound pack from the Sourceforge Exult site 2002-05-24 Ryan Nunn <[email protected]> * effects.cc : Fixing weather problem with facestats. 2002-05-23 Tristan Tarrant <[email protected]> * Namespace issues with G++ 3.1. We also nead to use sstream instead of strstream. 2002-05-23 Max Horn <[email protected]> * actors.cc, audio/xmidi.cc: added missing std:: * databuf.h: changed some occurances of unsigned int to uint32 2002-05-22 Jeff Freedman <jsf@usf-cf-x86-linux-1> * usecode/compiler/ucparse.yy: Added (primitive) enum support. 2002-05-22 Jeff Freedman <[email protected]> * mapedit/shapelst.cc: Convert_indexed_image will fix up an imported .png file to match Exult's palette as closely as possible. 2002-05-21 Max Horn <[email protected]> * autogen.sh: use --copy for automake * conf/Configuration.cc: uss std::snprintf will break if we use our emulation of snprintf, and on systems where is available but not in namespace std. * usecode/compiler/ucmain.cc: getopt() comes from unistd.h not getopt.h (at least in POSIX, and on Mac OS X) 2002-05-20 Jeff Freedman <[email protected]> * Added Nadir to Island Patch, and checked in patch files to CVS. 2002-05-19 Jeff Freedman <[email protected]> * mapedit/combo.cc (Combo): Added a "Save combos" option. Also fixed a crash in Combo::read(). * usecode/compiler/ucparse.yy,etc: Added 'converse2' syntax for easier conversations. * content/islefaq/usecode.uc: Converted some of the conversations to the new syntax, and added a bit more plot after Amy has joined. 2002-05-19 Dominik Reichardt <[email protected]> * docs/*.html : updated * docs/exult_studio.txt : updated * docs/xml/*.xml : updated * readme, faq : updated 2002-05-17 Tristan Tarrant <[email protected]> * schedule.cc: #include "SDL_timer.h" to appease gcc 2002-05-16 Ryan Nunn <[email protected]> * files/listfiles.cc, files/utils.cc : Fixing up Win32 U7ListFiles(). 2002-05-16 Simon Quinn <[email protected]> * gamewin.cc: fix nighttime SFX 2002-05-15 Jeff Freedman <[email protected]> * objs/contain.cc (Container_game_object): Auto-add keys to SI keyring. Also ignore frame when combining some items (coins, arrows, etc.) 2002-05-14 Ryan Nunn <[email protected]> * cheat.*, gamerend.cc, objs/objs.h : Fixing Namespace, and forcing int to bool problems. * gumps/Face_stats.cc : Fixed old problem with stat bars not being clamped if a stat was larger than the max. 2002-05-13 Jeff Freedman <[email protected]> * actors.cc: In rewriting with the 'combine' flag, I also changed all uses of drop() with add(), since drop() can potentially delete the object being added. * objs/contain.cc,etc: ::add() takes a new parameter, 'combine', which means it should try to combine quantity items. Also, replaced 'int' flags with 'bool'. * animat.cc,etc: Simon Quinn's SFX patches applied. * schedule.cc: Added Follow_avatar_schedule, and moved some of the party logic here. * actors.cc: Moved some logic out, to schedule.cc. 2002-05-12 Willem Jan Palenstijn <[email protected]> * mapedit/studio.cc: catch usecode debugging messages * shapes/shapeinf.cc: memory leak 2002-05-11 Jeff Freedman <[email protected]> * usecode/ucinternal.cc: After executing Usecode, tell barge to refigure what's on it. 2002-05-10 Jeff Freedman <[email protected]> * objs.h,etc: Added Terrain_game_object class for a bit of cleanup. 2002-05-09 Jeff Freedman <[email protected]> * data/bg/defaultkeys.txt,keyactions.cc,keys.cc: Ctrl-arrow and page keys move the selected objects. * cheat.cc: move_selected() moves all the selected objects. * cheat.cc (Cheat): Maintain list of selected objects. * keys.cc,defaultkeys.txt,etc: DEL key deletes selected objects. * exult.cc: Select dropped object/combo. * gamewin.cc: In 'select' mode, clicking an object toggles whether it's selected. * gamerend.cc: Show selected objects. 2002-05-09 Ryan Nunn <[email protected]> * files/Table.cc : Namespace * exult.cc, windrag.*, xdrag.h, shapes/u7drag.*, mapedit/*.* : Modifications to Win32 DnD. Combo's now work. Also shape and combo foot prints are now shown when dragging. * msvcstuff/msvc_kludges.h : Overdue version update * msvcstuff/Exult.dsp : Some changes for a special debug build to help find the spaces in path problem. 2002-05-08 Jeff Freedman <[email protected]> * mapedit/combo.cc,exult.cc,xdrag.cc: Combos starting to work. * mapedit/studio.cc: Added a "Hide lift" spin-button. 2002-05-06 Darke <[email protected]> * files/U7file.cc: Fixed over-paranoid catch()ing. 2002-05-06 Jeff Freedman <[email protected]> * exult.cc: If map-editing, you can only drag things if in 'Move' mode. 2002-05-03 Dominik Reichardt <[email protected]> * docs/exult_studio.* updated * docs/xml/exult_studio.xml updated 2002-05-03 Dominik Reichardt <[email protected]> * tools/*.1: finally added Robert Bihlmeyer man pages. Added them to /tools as the *txt files are there too. 2002-05-01 Jeff Freedman <jsf@usf-cf-x86-linux-1> * usecode/compiler/uclex.ll,ucmain.cc: Added "-o outfile" option and "-I includdir" options. 2002-04-30 Jeff Freedman <[email protected]> * mapedit/eggedit.cc: Now sets teleport data1 correctly. * objs/egg.cc (Egg_object): When receiving update from EStudio, set quality. Also figure frame in all cases. * actors.cc,actorio.cc: Set/read 'assigned_usecode_flag'. * actors.cc: Update NPC name from EStudio. 2002-04-27 Jeff Freedman <[email protected]> * shapes/vgafile.cc (Shape_frame): Highlight bottom of object when showing an outline. * server/server.cc: If !WIN32 and if $HOME/.exult exists, store the socket file there. * mapedit/studio.cc: Look in $HOME/.exult for socket file. Also, removed the "-d" option. 2002-04-25 Ryan Nunn <[email protected]> * exult.cc : Added missing parenthesis * gamedat.cc : Namespace stuff 2002-04-25 Jeff Freedman <[email protected]> * exult.cc: Create gamedat, savegames in $HOME/.exult if gamedat doesn't already exist. 2002-04-23 Jeff Freedman <[email protected]> * usecode/ucsched.cc (Usecode_script): Whoops! Next_frame_max wasn't stopping at the right number. * actors.cc: Allow anything to go in 'back' spot. * gamedat.cc,gamewin.cc,game.cc: get_game_identity() moved into Game_window class, handles compressed savegames, and is used to check IDENTITY before doing a restore. 2002-04-23 Willem Jan Palenstijn <[email protected]> * configure.in: applied patch by Kevin Lacquement to fix some header detection problems in configure 2002-04-21 Jeff Freedman <[email protected]> * schedule.cc,actions.cc: notify_object_gone() method tells schedule that one of its objects is no longer around. * schedule.cc (Sleep_schedule): Make sure NPC is still by bed when waking up. 2002-04-18 Willem Jan Palenstijn <[email protected]> * game.cc, exult.cc: fixed setting the PATCH directory 2002-04-16 Ryan Nunn <[email protected]> * game.cc : Don't pass trailing slashes in calls to get_system_path when setting up static, gamedat, savegame and patch paths. * files/utils.cc : Fixing get_system_path so it doesn't search for a slash. It now searches for the < and > around the path name. 2002-04-15 Willem Jan Palenstijn <[email protected]> * *game.cc: made output for is_installed slightly more useful * *game.cc, files/utils.*: patch by Paul Hebble: changed BG/SI_Game::is_installed not to require a path anymore 2002-04-15 Max Horn <[email protected]> * docs/xml/*: Makeover of the XML doc system. 2002-04-14 Ryan Nunn <[email protected]> * exult.cc : Fixed a path problem * palette.cc : std namespace stuff * game.cc : DON'T write the savegame config setting by default at the moment. Though really the damage this may do, has already been done. * files/utils.cc : Changed things so get_system_path() will attemp to convert long filenames in Windows to short filenames. This is an attempt to 'fix' the long filename issue. 2002-04-13 Jeff Freedman <[email protected]> * exult.cc: Disable right-click-close-gump if dragging. 2002-04-11 Jeff Freedman <[email protected]> * drag.cc (Dragging_info): If quantity-object is okay_to_take, make sure the part that's split off also is. 2002-04-09 Jeff Freedman <[email protected]> * shapes/vgafile.cc (Shape): Reset() sets frames=0, fixing a crash in ExultStudio. * mapedit/shapelst.cc: First pass at creating a shape from a font file. 2002-04-09 Jeff Freedman <jsf@usf-cf-x86-linux-1> * configure.in, acconfig.h: Test for Freetype2. 2002-04-09 Willem Jan Palenstijn <[email protected]> * VideoOptions_gump.cc: minor change for Solaris 2002-04-09 Willem Jan Palenstijn <[email protected]> * configure.in, mapedit/Makefile.am: cleaned up gtk/libglade conditionals 2002-04-08 Dominik Reichardt <[email protected]> * docs/xml: added exult_studio.xml (ExultStudio Documentation) updated docs.xml, faq.xml, docs.dtd, *.xsl * docs/ReadMe.html, FAQ.html, exult_studio.txt updated. added exult_studio.html * FAQ, Readme updated 2002-04-08 Willem Jan Palenstijn <[email protected]> * game.cc: applied patch by Paul Hebble: 'savegame_path', 'static_path' and 'gamedat_path' in exult.cfg * data/credits.txt: included Paul Hebble 2002-04-07 Willem Jan Palenstijn <[email protected]> * mapedit/shapelst.*: don't take address of overloaded function 2002-04-06 Jeff Freedman <[email protected]> * mapedit/studio.cc (ExultStudio): Copy files from 'data/estudio/new' to new game's 'static' directory. * files/utils.{cc,h}: U7copy copies a file. 2002-04-05 Jeff Freedman <[email protected]> * monsters.{cc,h}: In_world linking rewritten. * actorio.cc: Use move() to place actors in world. 2002-04-05 Dominik Reichardt <[email protected]> * tools/shp2pcx.txt, splitshp.txt, textpack.txt added, expack.txt updated. According to Robert Bihlmeyer's manuals * docs/exultstudio.txt added. First draft based on Robert Bihlmeyer's manual 2002-04-04 Darke <[email protected]> * conf/Configuration.cc conf/xmain.cc: Added some #define-able tracing code, fixed a few bugs in confregress. 2002-04-03 Jeff Freedman <[email protected]> * mapedit/studio.cc: Show Exult logo in 'Prompt' box. 2002-04-02 Jeff Freedman <[email protected]> * mapedit/studio.cc: "New shape" menu items. * files/Flex.cc: Fixed bug in if_flex(). 2002-04-01 Darke <[email protected]> * conf/Configuration.h: Removed memory leak. * usecode/ucxt/*: Removed memory leak, cleaned code. 2002-03-31 Darke <[email protected]> * palette.cc, mapedit/objbrowse.cc, mapedit/studio.cc: namespace fixes * usecode/ucxt/*: Added ext32 header support. 2002-03-29 Willem Jan Palenstijn <[email protected]> * usecode/useval.*: fixed stupid output bug * usecode/useval.*: serialize arrays & pointers * server/objserial.*: move Serial_in, Serial_out class to header * server/server.*: Server_delay() now accepts a custom message handling function. (default is still Handle_client_message) * server/servemsg.*: added usecode_debugging message type 2002-03-28 Jeff Freedman <[email protected]> * shapes/vgafile.{cc,h}: Vga_file class can now read single-shape files (i.e., 'pointers.shp'). * palette.cc (Palette): Check patch dir. before static. 2002-03-24 Willem Jan Palenstijn <[email protected]> * gamewin.cc: also display name when showing NPC numbers * gamedat.cc: delete newgame.ver, exult.ver when loading zipped saves 2002-03-23 Jeff Freedman <[email protected]> * exult.cc: 'Paint' mode implemented. Tile grid is shown on ground when in this mode. 2002-03-23 Willem Jan Palenstijn <[email protected]> * Makefile.be, be_midi.cc, xmidi.cc: merged BeOS patch by Jack Burton 2002-03-23 Willem Jan Palenstijn <[email protected]> * usecode/conversation.cc: removed some debugging output * audio/Audio.cc, files/Flex.cc: added newline at end of file 2002-03-23 Jeff Freedman <[email protected]> * cheat.h,server.h,mouse.cc,objserial.cc: Edit mode set from ExultStudio, with mouse changed depending on mode (which doesn't do anything yet). * exult_studio.glade: 'Mode' menu added (but modes not implemented yet.) 2002-03-22 Ryan Nunn <[email protected]> * usecode/ucinternal.cc : Added break in opcode 0xCD. 2002-03-21 Willem Jan Palenstijn <[email protected]> * headers/exceptions.h: fixed typo 2002-03-20 Jeff Freedman <[email protected]> * mapedit/shapelst.cc: "New shape", "Edit tiled" added to popup in shape browser. 2002-03-20 Ryan Nunn <[email protected]> * game.cc : Fixing allignment problem in German BG Menu 2002-03-20 Ryan Nunn <[email protected]> * bggame.cc : Fixing problems with overlapping text in German create new game screen. 2002-03-18 Jeff Freedman <[email protected]> * mapedit/shapelst.cc: Import/export frames. Also put in WIN32 code (untested) for running image-editor. 2002-03-18 Dominik Reichardt <[email protected]> * mapedit/gimpwin32.txt: added to provide a small guide for install/usage 2002-03-17 Darke <[email protected]> * mapedit/paledit.[cc,h], mapedit/shapefile.cc, shapes/vgafile.[cc,h], tools/ipack.cc, tools/textpack.cc, usecode/ucxt/src/ucxt.cc: fixed namespace issues, and casting. 2002-03-16 Jeff Freedman <[email protected]> * mapedit/*: Implemented preferences dialog. * shapes/vgafile.cc (Shape_frame): Datalen wasn't set right for flats. * mapedit/shapelst.cc,etc: Re-import shapes that have been modified. 2002-03-16 Willem Jan Palenstijn <[email protected]> * tools/uctools.h: added 32 bit opcodes * usecode/*, tools/wud.c: support for 32 bit opcodes and headers * tools/wuc.c: support for 32 bit opcodes * tools/wuc.c: produce warnings when offsets out of the 16 bit range * tools/rip.c: support 32 bit headers 2002-03-15 Willem Jan Palenstijn <[email protected]> * docs/usecode32.txt: attempt at specs for 32 bit usecode 2002-03-15 Jeff Freedman <jsf@usf-cf-x86-linux-1> * shapes/vgafile.{cc,h}: New methods for constructing, modifying shapes and writing them out. * tools/ipack.cc: Use new methods in Shape class for writing. 2002-03-09 Jeff Freedman <[email protected]> * mapedit/studio.cc,Makefile.am: Start using 'exult.cfg' to get paths, and to save/restore window size. 2002-03-08 Ryan Nunn <[email protected]> * audio/xmidi.cc : A MSVCism 2002-03-08 Willem Jan Palenstijn <[email protected]> * conf/Configuration.cc: only use std::isspace if it isn't a macro 2002-03-08 Max Horn <[email protected]> * files/util.*, gumps/gump_util.*: moved newstrdup to files/util.cc * audio/xmidi.cc, conf/Configuration.cc, conf/XMLEntity.cc, game.cc, gamemap.h, sigame.cc: fixed namespace issues, added #include cassert, cleanup * version.cc: fixed version output for MetroWerks CodeWarrior * tools/expack.cc: fixed incorrect usage of crc32, now uses crc32_syspath * files/crc.cc: specify std::ios::in when opening file * files/util.h: fixed various Read* methods to work properly once more (hint: the order in which (foo | bar) is evaluated is not defined in ANSI C) 2002-03-08 Dominik Reichardt <[email protected]> * FAQ, ReadMe updated * docs/FAQ.html and ReadMe.html updated * docs/xml: makefile, makefile.win32 renames docs.html to ReadMe.html * docs/xml: faq.xml, docs.xml updated * docs/xml: *.xsl, docs.dtd with extref1,extref2 you can link between the FAQ and Documentation 2002-03-07 Willem Jan Palenstijn <[email protected]> * ucinternal.cc: also set quality when creating items on ground 2002-03-07 Max Horn <[email protected]> * tools/ipack.cc, tools/textpack.cc: fixed compile problems with gcc 3 2002-03-06 Willem Jan Palenstijn <[email protected]> * imagewin/imagewin.h: include <string> * imagewin/imagewin.cc: include utils.h 2002-03-06 Ryan Nunn <[email protected]> * exult.cc, exultmenu.cc, gumps/VideoOptions_gump.cc, imagewin/imagescl.cc, imagewin/imagewin.*, imagewin/scale.* : Added Kreed's BilinearPlus scaler. Also added some utility functions and an array to get the scalers names, and the scaler number of a name. Should simplify adding or removing scalers in the future. Updated all the various parts of Exult to use the new funcs. 2002-03-04 Jeff Freedman <[email protected]> * server/server.cc: Handle ::view_pos message from ExultStudio. * gamewin.cc: Public set_scrolls(tx, ty) added. * mapedit/locator.cc: Locator scrollbars update view in Exult. 2002-03-05 Ryan Nunn <[email protected]> * exult.cc , gumps/GameplayOptions_gump.*, gumps/Gump_manager.* gumps/gump_utils.cc : Right click now closes all gumps. Added config setting and updated game options gump with the setting. The setting also effects Modal gumps which previously always closed on a right click. Default enabled. 2002-03-03 Jeff Freedman <[email protected]> * tools/ipack.cc,ipack.txt: Can now have all 'flat' frames in a single tiled file. 2002-02-27 Jeff Freedman <[email protected]> * actors.cc: Spark is NOT a ghost. * actors.cc, gamewin.cc: Combat_difficulty used. 2002-02-26 Jeff Freedman <[email protected]> * objs/egg.cc: Delete missile-launcher in remove_this(); * usecode/ucinternal.cc (public): Find_nearby() now handles case where parm. 0 is a 4-elem. array. Fixes 'destroy trap' spell. 2002-02-25 Jeff Freedman <[email protected]> * usecode/ucsched.cc (Usecode_script): Handle sched. opcode 0x29: Wait nn game hours. * palettes.h: Define palette names here. * tools/ipack.cc (public): Algorithmically create palettes 1-10 used by the Exult engine. 2002-02-24 Jeff Freedman <[email protected]> * exult.cc: Single-click also sets tile when terrain-editing. 2002-02-22 Jeff Freedman <jsf@usf-cf-x86-linux-1> * shapes/pngio.cc: Rewrote transparency handling; still trying to get it right. 2002-02-22 Willem Jan Palenstijn <[email protected]> * imagewin/ibuf8.cc: used memcpy() on Solaris for ibuf8::copy8 2002-02-22 Jeff Freedman <[email protected]> * gamemap.cc (Game_map): Always look through all the terrains to see if one needs to be saved when map-editing. * gamewin.cc: Okay to double-click without pathfinding if map-editing. * gamedat.cc: If editing, it's okay if gamedat files don't exist when saving. * usecode/ucinternal.cc: Assume newly-developed games will have a keyring. * tools/ipack.cc,shapes/pngio.cc: Get transparency from .png when adding to the .vga file. 2002-02-21 Willem Jan Palenstijn <[email protected]> * Makefile.am: directory order again. tools depends on shapes&imagewin 2002-02-21 Darke <[email protected]> * usecode/ucxt/Makefile.am: Fixed a problem with it not creating the intrinsics data files. 2002-02-20 Jeff Freedman <jsf@usf-cf-x86-linux-1> * shapes/vgafile.h (public): Public encode_rle() added. * tools/ipack.cc: Coding 'Create()'. 2002-02-20 Ryan Nunn <[email protected]> * actors.cc : Fixing Serpent Isle change of portrait bug. Polymorphing to 721 or 989 will now polymorph to the Avatar's actual shape. * gumps/Face_stats.cc : No stat bars for non 'party' npcs. Fixes the Forsythe status bar crash. * game.cc : Fixing int to bool conversion * files/Flex.cc : Namespace 2002-02-20 Jeff Freedman <[email protected]> * actors.cc: Fiddling with finding position for dead bodies. * exult.cc: Get_click() has a 'drag_ok' parameter, defaulting to false. 2002-02-17 Willem Jan Palenstijn <[email protected]> * mapedit/PhotoshopShapePlugin.zip: fixed bug with photoshop 6.0 2002-02-17 Jeff Freedman <[email protected]> * exult.cc: Allow dragging and closing gumps when selecting with the green cross-hair mouse. * objs/barge.cc (Barge_object): Recheck for boat in 'gather', since it sometimes gets called before the boat is properly placed. 2002-02-16 Jeff Freedman <[email protected]> * gamewin.cc (Game_window): If XFORM.TBL doesn't exist, create transform tables algorithmically using 'blending'. * palette.cc (Palette): create_trans_table(). 2002-02-15 Willem Jan Palenstijn <[email protected]> * exultmenu.cc: only display SFX icons for a game in the main menu if the game is actually installed 2002-02-14 Jeff Freedman <jsf@usf-cf-x86-linux-1> * tools/textpack.cc: A tool for creating 'text.flx' more conveniently from a single text file. Can also extract. 2002-02-13 Jeff Freedman <[email protected]> * schedule.h (public): Sit_schedule: did_barge_usecode flag added to fix carpet-landing bug. * gamewin.h,game.*: Allow MAINSHP.FLX to not exist for newly developed games. A new game is created automatically with Avatar named "Newbie" and shape=721 (for now). 2002-02-11 Jeff Freedman <[email protected]> * mapedit/paledit.*,etc: Import/export palettes (in text format). Save palette file in 'patch'. 2002-02-10 Jeff Freedman <[email protected]> * files/Flex.*,gamedat.cc,mapedit/shapegroup.cc: Flex_writer class added. * mapedit/paledit.cc (Palette_edit): Show the different palettes within palettes.flx. * files/U7file.*: Added 'number_of_objects()' to U7object class. 2002-02-10 Darke <[email protected]> * audio/xmidi.cc: Fixed const. * mapedit/studio.cc: Fixed namespaces. 2002-02-09 Ryan Nunn <[email protected]> * usecode/intrinsics.cc, usecode/siintrinsics.h, usecode/ucinternal.h : Fixed skin colour problem in sex scenes. 2002-02-09 Ryan Nunn <[email protected]> * game.cc : Namespace stuff * gamemap.cc : Compiling error * msvcstuff/msvc_kludges.h : Headers dir * audio/xmidi.*, audio/midi_drivers/mac_midi.cc, audio/midi_drivers/win_midiout.cc : Fixing up a memory leak that was occuring for all the builds except Win32 and Mac. 2002-02-09 Jeff Freedman <[email protected]> * mapedit/shapefile.cc (Shape_file_set): Check 'patch', then 'static'. * gamemap.cc: Create 'u7chunks' in 'patch' if it doesn't exist. * gamewin.cc: Create IDENTITY for newly-developed game. 2002-02-08 Tristan Tarrant <[email protected]> * */Makefile.am: include headers dir 2002-02-08 Ryan Nunn <[email protected]> * audio/*.*, audio/midi_drivers/*.*, exultmenu.cc : Changes to the midi system. Now evern faster, and safer too. New super accurate integer timing method for Windows. Improved XMIDI looping for Pentagram in Windows. Probably other things as well that I just can't remember * sigame.cc : Fixed a crash in the SI Intro. * data/bg/defaultkeys.txt, data/si/defaultkeys.txt : Added Alt-F4 (quit) and Alt-Enter (toggle fullscreen) shortcut keys. * headers/common_types.h : Some things from both exult_types.h and exult_constants.h that are needed by the modules shared with Pentagram * headers/gamma.h : Moving this to headers (needed by Pentagram) * exceptions.h, gamma.h : Since common_types.h was added, I'm removing these because now everyone needs to use headers * Makefile.cygwin, Makefile.win32, msvcstuff/*.dsp : Setting things up to use the files in headers dir. * conf/*.*, files/*.*, audio/*.*: Changes so thing will compile for Pentagram. Note that PENTRAGRAM must be defined when compiling Pentagram. 2002-02-08 Jeff Freedman <[email protected]> * gamewin.cc: Removed old bug fixup. * readnpcs.cc: Handle case where 'npc.dat' and/or 'schedule.dat' don't yet exist. 2002-02-08 Ryan Nunn <[email protected]> * server/servewin32.cc : Fixed the GetLongPathName issue. Exult and Exult Studio both need to be recompiled, because this effects communications. 2002-02-07 Jeff Freedman <[email protected]> * usecode/ucinternal.cc: Removed open of static/flaginit.dat. * shapes/shapewrite.cc: Use num_shapes, not 1024. * mapedit/studio.cc: Fixed ::write_shape_info(). * mapedit/shapefile.cc: Compare filenames ignoring case. 2002-02-05 Max Horn <[email protected]> * server/servemsg.cc: changed to fix building over here 2002-02-03 Jeff Freedman <[email protected]> * mapedit/shapelst.cc: Optional 'Frames' view shows all the frames for all shapes, one shape per row. (Might still need to add a horiz. scrollbar for this.) 2002-02-03 Max Horn <[email protected]> * audio, conf, files: replaced local versions with those from common module * usecode/ucxt/Makefile.am: fixed (head2data.test isn't an app target) 2002-02-03 Darke <[email protected]> * audio/Audio.cc, mapedit/shapelst.h: Namespaces. * usecode/ucxt/*: Code cleanup & optimisations. 2002-02-02 Jeff Freedman <[email protected]> * actors.cc: Don't call 'unreadied' usecode if Actor is dead. This caused hangs when getting Black Sword in Mtns. of Freedom. 2002-01-30 Ryan Nunn <[email protected]> * sigame.cc : Added the thunder sfx to intro. Clear the screen between the flics to prevent palette corruption. * audio/Audio.cc : Handle voc chunk type '5' as a text message. Also added 4bit ADPCM VOC decompression for the SI intro thunder SFX. Code obtained from VDMS. 2002-01-28 Jeff Freedman <[email protected]> * mapedit/chunklst.cc,etc: 'Groups' work for 'u7chunks' now. 2002-01-28 Ryan Nunn <[email protected]> * sigame.cc : Reworking SI endgame. Now has correct timing and speech. Text message for when speech is disabled is yet to be included. * audio/Audio.cc : Needed to add unknown voc chunk type '5' for some vocs in SI endgame. Just assuming it is silence for now. * flic/playfli.* : Added a 'put_buffer' method to copy the current contents of a flics ImageBuffer to an ImageWindow 2002-01-28 Willem Jan Palenstijn <[email protected]> * tools/wuc.c, wud.c, rip.c: fixed bugs, made wuc compatible with wud 2002-01-28 Darke <[email protected]> * mapedit/studio.h: std::; * usecode/ucxt/*: Added -ftt option, which outputs, something that looks suspiciously like a conf/ file containing all the string 'data' for the specifed functions. 2002-01-27 Darke <[email protected]> * usecode/ucxt/head2data*: Creates data/u7bgintrinsics.data and data/u7siintrinsics.data from their respective *intrinsics.h files. * usecode/ucxt/*: Modifications to allow for the above. * usecode/ucxt/*: Fixed U7opens. 2002-01-27 Willem Jan Palenstijn <[email protected]> * tools/wuc.c, rip.c: minor bugfixes * tools/rip.c: use .uco extension for extracted objects 2002-01-26 Jeff Freedman <[email protected]> * mapedit/: 'Groups' of shapes are starting to work, with a group opened by double-clicking its name, and shapes added to it by dragging them to its window. 2002-01-25 Darke <[email protected]> * mapedit/, usecode/compiler/: Namespaces. 2002-01-24 Ryan Nunn <[email protected]> * server/servewin32.cc : Accidently force WinNT/2K/XP to use the Win9x comms. 2002-01-24 Ryan Nunn <[email protected]> * msvcstuff/msvc_kludges.h : HAVE_SSTREAM * msvcstuff/exconfig/exconfig.cpp : Updated for new config constructors * mapedit/exult_studio.cc : Console redirection for Win32 * server/server.cc, server/servewin32.* : Communications for Win9x/ME. May have 'issues' if multiple copies of Exult and Exult Studio are running. Doesn't properly detect if the connection is lost. 2002-01-24 Darke <[email protected]> * conf/Configuration.cc: istream::rdbuf() under win32 seems to be slightly broken. It _should_ work now. Code is a mess, but I want to get off this 'doze box. <grin> * And again. Fixing a bug where I was reading the config file twice upon loading. The file size would grow exponentially at each write. * usecode/ucxt/src/opcodes.cc: Fixed compile problems under mingw. * usecode/ucxt/*: Renamed src/ucdump.cc to src/ucxt.cc to avoid name conflict, specifically under win32. 2002-01-23 Darke <[email protected]> * exult.cc: Fixed a compile error with people compiling using --enable-usecode-debugger. * conf/*: Fixed problem with reading spaces as '\n's. Problem was std::istream >> std::string, breaks on spaces and '\n's, not just '\n's. * mapedit/shapegroup.*: Fixed namespace stuff. * usecode/ucxt/*: Minor code cleanup. * conf/Configuraion.cc,config.xml: Fixed bug involving blank lines before the first tag in a config file. * usecode/ucxt/*: Added Yet Another Datafile (u7misc.data), specifing the sizes in bytes of the parameter types, detailed in the u7opcodes.data file. AKA, more abstraction. 2002-01-21 Jeff Freedman <[email protected]> * mapedit/studio.cc (ExultStudio): Open 'chunks' file in both binary AND input mode. * mapedit/shapelst.cc: Cleaned up 'render' loop. Fonts now display, somewhat. * xdrag.cc: Compile err. fixed. 2002-01-21 Ryan Nunn <[email protected]> * exult.cc, windrag.*, xdrag.*, mapedit/Makefile.mingw, mapedit/chunklst.cc, mapedit/eggedit.cc, mapedit/npcedit.cc mapedit/objedit.cc, mapedit/shapedraw.cc: More Win32 Drag and Drop. * Makefile.cygwin, Makefile.win32, mapedit/Makefile.mingw, mapedit/studio.*, server/servemsg.* server/server.cc, server/servewin32.*, msvcstuff/Exult.dsp : Added commincations for WinNT, Win2K and WinXP Only! Win9x/Me ARE NOT SUPPORTED! * server/objserial.cc : Working around a MSVC compiler bug 2002-01-21 Darke <[email protected]> * usecode/ucxt/*: Lots of code cleanup, and preperation for adding basic u8 disassembler functions. * Pawnote: Blame Fingolfin for me commiting as my alter ego. <grin> 2002-01-21 Ryan Nunn <[email protected]> * windrag.* : Don't need GDK 2002-01-20 Ryan Nunn <[email protected]> * data/credits.txt : Added Mark Siewert to credits for Win32 Exult studio. 2002-01-20 Ryan Nunn <[email protected]> * Makefile.cygwin, Makefile.win32, exult.cc, mapedit/Makefile.mingw, mapedit/chunklst.cc, mapedit/chunklst.*, mapedit/shapelst.*, mapedit/studio.cc, msvcstuff/Exult.dsp, msvcstuff/msvc_kludges.h : Drag and Drop in Windows. 2002-01-20 Jeff Freedman <[email protected]> * mapedit/shapeedit.cc: Show shapes in 'Equipment' window, and also allow DND onto the shapes. 2002-01-19 Jeff Freedman <[email protected]> * mapedit/shapeedit.cc: Shape-info editing seems to (at least superficially) work. * shapes/shapeinf.h: Init. ready_type to 255 in constructor. 2002-01-19 Patrick Burke <[email protected]> * conf/*: Optimised XMLEntity::searchpairs. * usecode/ucxt: Changed from using opcodes.txt to u7opcodes.data, which is opcodes.txt with conf/ based formatting. 2002-01-18 Ryan Nunn <[email protected]> * actors.cc, conf/XMLEntity.cc, server/objserial.cc, objs/egg.cc, exult.cc : MSVCisms * exult.cc : Xdrag code is not to be compile under Windows. * cheat.cc : system() doesn't behave in windows so I call CreateProcess instead. * server/servermsg.cc : A little hack for Windows. * mapedit/studio.cc : Need to explicitly use ios::binary to open a file as binary. The default is ASCII! * shapes/shapevga.cc : info_read was not initialzed * mapedit/studio_win32.* , exult_studio_win32.cc : No longer needed * msvcstuff/Exult.dsp, msvcstuff/msvc_kludges.h, Makefile.win32 Makefile.cygwin : Add server dir and compile with USE_EXULTSTUDIO * mapedit/Makefile.mingw, mapedit/chunklst.cc, mapedit/eggedit.cc, mapedit/npcedit.cc, mapedit/objedit.cc, mapedit/shapeedit.cc, mapedit/shapelst.cc, mapedit/studio.* : Getting Auto connect to work in windows the 'proper' as far as I know. Exult_studio.exe will now be compiled with the required functions exported. * msvcstuff/Exult.dsp, msvcstuff/msvc_kludges.h, Makefile.win32 Makefile.cygwin : Add server dir and compile with USE_EXULTSTUDIO 2002-01-18 Tristan Tarrant <[email protected]> * mapedit/Makefile.am: removed shapetest_LDADD 2002-01-18 Patrick Burke <[email protected]> * shapes/shapewrite.cc: Added missing using declaration, and fixed what looks like a problem with a lack of a cast. It seems to work from my couple of tests, but I don't know exactly what the code originaly did. 2002-01-16 Patrick Burke <[email protected]> * conf/Configuration.cc: Altered file loading so that loading from an absolute path has the same effect as loading from a relative "./" path that is, the filename isn't munged. 2002-01-16 Jeff Freedman <[email protected]> * shapes/*: Ammo is now a field in Shape_info instead of in a hash table. * shapeinf.{cc,h}: Added Armor_info class. Includes 'immune' field. * fnames.h: More PATCH names added. 2002-01-16 Ryan Nunn <[email protected]> * mapedit/Makefile.mingw : Use $(SRC) instead of .. when compiling the icon. Also other updates 2002-01-16 Patrick Burke <[email protected]> * shapes/monstinf.h: Added missing #include <cassert>. * conf/*.cc: Fixed 'special character' (& etc.) encoding/decoding. 2002-01-15 Jeff Freedman <[email protected]> * mapedit/shapeedit.cc: Show 'equip' dialog. * shapes/monstinf.h: Interface methods added. * objs/chunks.cc: Don't check terrain if MOVE_MAPEDITOR. 2002-01-14 Patrick Burke <[email protected]> * configure.in: Added --enable-paranoid-warnings, only tested with gcc3.0.3, so some of the warnings might not exist in previous versions, so might potentially cause problems, and if so, might need some version checking code. * conf/*, usecode/ucxt/*: Removed all warnings created by the above, and added $(WARNINGS) to their respective Makefile.am's. * files/rwregress.cc, Makefile.am: Just a quick regression tester, currently for the Read*(istream &) series of functions. Found it useful when 'fixing' files/utils.h. * files/utils.h: Theoretically 'optimised' the Read*(istream &) series of functions, and removed all the warnings generated by --enable-paranoid-warnings. 2002-01-14 Ryan Nunn <[email protected]> * audio/Audio.cc : Force waveout as defualt for Windows. Don't use DirectSound as it's buggy with SDL. 2002-01-14 Tristan Tarrant <[email protected]> * vec.h: explicity typename 2002-01-14 Tristan Tarrant <[email protected]> * Makefile.MorphOS, README.AmigaOS, README.MorphOS, audio/midi_drivers/amiga_midi.*, cheat_screen.cc, files/listfiles.cc, files/utils.cc, version.cc, fnames.h, audio/Midi.cc: changes by Ruediger Hanke for MorphOS/AmigaOS support * data/credits.txt: credit where credit is due * configure.in: search for ext/hash_set and ext/hash_map * hash_utils.h: changes for cvs GCC * pathfinder.cc, shapes/shapeinf.cc: include hash_utils.h instead of doing the same tests over and over 2002-01-13 Jeff Freedman <[email protected]> * exult.cc: Show tiles where dragged object's footprint will lie. * xdrag.cc (Xdnd): Redesigning so it can provide more visual feedback during the drag. 2002-01-13 Willem Jan Palenstijn <[email protected]> * conf/XMLEntity.*: fixed uninitialized no_close 2002-01-11 Jeff Freedman <[email protected]> * gamemap.cc,shapes/shapeinf.h: quality_flags, okay_to_take. 2002-01-11 Patrick Burke <[email protected]> * conf/*: Added basic comment support to the configuration files using <!-- stuff --> style comments. Currently it's only possible to add them between the <config> ... </config> tags, due to the way it defines the root node. 2002-01-10 Jeff Freedman <[email protected]> * mapedit/shapeedit.cc: Starting to show shape info. * shapes/shapeinf.{cc,h} (public): 'Editing' flag added. 2002-01-11 Dominik Reichardt <[email protected]> * FAQ,ReadMe updated * docs/FAQ.html and ReadMe.html updated * docs/xml: faq.xml, docs.xml updated * docs/xml: html.xsl, php.xsl changed to do proper referencing 2002-01-09 Jeff Freedman <[email protected]> * shapes/shapeinf.cc: Pass bg flag as a parameter so the shapes lib is independent of code higher up. * objs/egg.cc: Fixed remove_this() for the 'caltrops' bug. 2002-01-09 Patrick Burke <[email protected]> * usecode/ucxt/*: Added ability to specify multiple functions to decompile on the command line. Also some namespace fiddling. * conf/*: Added the ability to have a 'generic' root node for the xmltree, rather then the default 'config', also cleaned up some of the external interface to Configuration, and added an additional way of accessing the file data through Configuration::getpairs. 2002-01-08 Patrick Burke <[email protected]> * audio/midi_drivers/forked_player.cc, conf/XMLEntity.cc: Fixed namespace related errors. * conf/Configuration.*: Upon loading up a new file, it clears the previous xmltree, rather then 'kind-of' overwriting it. * conf/XMLEntity.*: Fixed the destructors. * conf/xmain.cc: Added command line option to dump out the exult.cfg also when running it. All other output identical. 2002-01-07 Jeff Freedman <[email protected]> * paths.cc: Fixed Offscreen pathfinder bug (that I caused) when 'best' was far away. * objs/egg.cc: Rewrote method for finding path eggs when teleporting. * objs/objs.cc: Added qual, frnum parms to find_nearby_eggs(). * gamewin.cc: Removed list of path eggs. 2002-01-07 Tristan Tarrant <[email protected]> * configure.in, mapedit/Makefile.am: it's libglade not glade 2002-01-07 Dancer Vesperman <[email protected]> * configure.in: Move glade detection. Offer advice if exult-studio is enabled and glade is not detected. * mapedit/chunklst.cc, mapedit/chunklst.h: Fix broken compilation (standardise) 2002-01-07 Dancer Vesperman <[email protected]> * usecode/ucxt/include/ucc.h, usecode/ucxt/include/ucdata.h, usecode/ucxt/include/ucfunc.h, usecode/ucxt/src/ucdata.cc, usecode/ucxt/src/ucdump.cc, usecode/ucxt/src/ucfunc.cc: Half-assed conversion to standard C++ so that code compiles. * WARNING: usecode/ucxt/src/ucfunc.cc: 830 relied on the return-value of std::string::insert, which DOES NOT HAVE ONE, post-standardisation. Behaviour may have changed. 2002-01-07 Dominik Reichardt <[email protected]> * FAQ,ReadMe updated * docs/FAQ.html and ReadMe.html updated * docs/xml: faq.xml, docs.xml updated and ready for exult.sf.net 2002-01-07 Dancer Vesperman <[email protected]> * usecode/ucxt/src/opcodes.cc, usecode/ucxt/include/opcodes.h: Convert to standard C++ to fix compile failures. 2002-01-07 Willem Jan Palenstijn <[email protected]> * tools/expack.cc: slightly fixed local getline(). We use this local getline() to be able to accept windows linefeeds on linux and vice versa. 2002-01-07 Dancer Vesperman <[email protected]> * tools/expack.cc broken. Locally provided getline() fails to operate correctly on the last line. Use standard fstream getline() instead. Made sure it handles MAC line-endings. 2002-01-06 Jeff Freedman <[email protected]> * exult.cc: Init. map for BuildGameMap(). * game.h,game.cc,exult.cc: Prepare for newly-developed games. 2002-01-06 Willem Jan Palenstijn <[email protected]> * args.cc: fixed bug with missing arguments * exult.cc: more minor commandline syntax changes/fixes 2002-01-06 Ryan Nunn <[email protected]> * Makefile.win32, Makefile.cygwin : Just added some stuff to allow people to compile Exult as a console win32 application. Read the makefiles to find out how. 2002-01-06 Willem Jan Palenstijn <[email protected]> * exult.cc: changed command line parameter syntax. See 'exult --help' 2002-01-05 Max Horn <[email protected]> * mapedit/Makefile.am: fixed occurance of LIBGLADE_CFLAGS to LIBGLADE_INCLUDES 2002-01-05 Patrick Burke <[email protected]> * usecode/ucxt/*: Added support for the 'debug' opcodes in the Spanish version of SI. It'll output the 'function name' rather then just a munged version involving the opcode number under -fz, no effect if the 'dbgfunc' opcode is not found in the function. Also added an undocumented parameter --extern-header which will kind of output something that looks like a header file for usecode, sometime soon. 2002-01-04 Jeff Freedman <[email protected]> * actors.h,actorio.cc (public): Properties changed from short to int. * usecode/ucinternal.cc (remove_party_items): If quantity==-359, search entire party. * objs/jawbone.h: Yow. Passing unitialized instance variable to parent class constructor. * actors.cc: Limit max. magic, combat to 30 points. * effects.cc (Projectile_effect): Applied user's patch to fix boomerang bug. 2002-01-04 Patrick Burke <[email protected]> * usecode/ucxt/*: Code cleanup and added a 'flag output' option (-ff). It will output all the flags used in the usecode file, sorted both by "flags within a function" and "functions using flags". 2002-01-04 Dominik Reichardt <[email protected]> * docs/FAQ.html and ReadMe.html updated * docs/xml: updated faq.xml, docs.xml, html.xsl, php.xsl, docs.dtd 2002-01-03 Willem Jan Palenstijn <[email protected]> * tools/expack.cc: properly report errors if opening a file failed * Makefile.win32/cygwin: removed deleted ucxt files * tools/expack.cc: accept any kind of \r \n combination in indexfile 2002-01-03 Patrick Burke <[email protected]> * usecode/ucxt/*: Removed obsolete -fs option and all relevant code. -fs will now do the same thing as -fz. Makefile.am's were updated. * Removed files under: usecode/ucxt/include/ gotoset.h; newopcode.h; opcodec.h; opcodec_.h; opcodecn.h; printucc.h; stacki.h. * Removed files under: usecode/ucxt/src/ opcodec_.cc; printucc.cc; stacki.cc 2002-01-03 Willem Jan Palenstijn <[email protected]> * ucparse.yy, opcodes.txt: added 'append arrays' operator (&) to ucc * gamemap.h: include fstream 2002-01-03 Ryan Nunn <[email protected]> * gamemap.*, usecode/useval.h, objs/chunkter.cc: std namespace stuff. Note to Jeff, doing "class ifstream;" and using fstream.h was a really really really bad idea :-) * drag.cc, gamewin.cc, gumps/Actor_gump.*, gumps/Face_stats.*, gumps/Gump.h, gumps/Paperdoll_gump.* : Fixing up dropping items on to faces problem, and potential problems. * msvcstuff/Exult.dsp : Adding gamemap.* 2002-01-03 Patrick Burke <[email protected]> * usecode/ucxt/*: Cleaned up output so it's possible to pipe ucxt straight to ucc. 2002-01-02 Jeff Freedman <[email protected]> * gamemap.cc,objs/chunkter.cc: Commit/abort terrain edits. 2002-01-02 Willem Jan Palenstijn <[email protected]> * usecode/compiler/*: added support for labels and goto, added support for optional 'var' keywords in function prototypes for ucxt compatibility. * usecode/ucxt/data/opcodes.txt: ucc compatibility 2002-01-02 Patrick Burke <[email protected]> * usecode/ucxt/data/opcodes.txt: Fixed a bug introduced on the 2001-12-16, opcode parameters were around the right way, it's the documentation that wasn't. Docs updated, and APUT and POPEID opcodes updated. 2002-01-02 Tristan Tarrant <[email protected]> * NEWS: updated 2002-01-01 Jeff Freedman <[email protected]> * exult.cc: Shift-left-click inserts shape from ExultStudio. Dragging with left-button 'paints' if in terrain-editing mode (skip_lift == 0). * gamerend.cc: Rendering in terrain-editing mode. * gamemap.cc (Game_map): Clear 'modified' flag after writing terrain. * objs/chunkter.cc: Render_all() for terrain-editing mode. * gamewin.cc: A get_shape_location() for a tile. 2002-01-01 Patrick Burke <[email protected]> * tools/.cvsignore: Added cmanip to ignore list. * usecode/ucxt/src/Makefile.am: Added -Wall and -W compile options. * usecode/ucxt/data/opcodes.txt: Added additional flags for pretty printing -fz output, and 'fake' opcodes for internal decompilation use. * usecode/ucxt/*: Modified source to support the additional flags; Fixed all unnecessary warnings produced by -Wall and -W; Added 'decimal' output option support for the opcodes.txt file. 2001-12-30 Jeff Freedman <[email protected]> * gamemap.cc,server.cc: Send terrain data to client. * mapedit/chunklst.cc (Chunk_chooser): 'Move' is working (somewhat). 2001-12-30 Patrick Burke <[email protected]> * usecode/ucxt/data/opcodes.txt: Added a parenthesis flag to help with pretty printing output under -fz, modified the usecode-script output column under a number of opcodes as a consequence. * usecode/ucxt/*: More pretty-printing output corrections under -fz, including local vars, return var and semicolons in the appropriate places. * usecode/ucxt/*: Added a 'basic' option (-b), to not do any of the more complex optimisations. Fixed a bug caused by the abovementioned 'parenthesis flag' under -fa output. 2001-12-29 Patrick Burke <[email protected]> * usecode/ucxt/*: Added output for -fl to show whether the function returns a value or not. Polishing off -fz output, including outputting 'extern' declarations of functions used, and the parameters being passed to the function. * usecode/ucxt/data/opcodes.txt: Fixed setr opcode output under -fz. 2001-12-28 Jeff Freedman <[email protected]> * mapedit/*.{cc,h} (Chunk_chooser): 'Locate' is somewhat working. 2001-12-29 Willem Jan Palenstijn <[email protected]> * server.cc, gumps_utils.h: some minor changes for AIX * shapeinf.h: removed static var from inlined function 2001-12-28 Jeff Freedman <[email protected]> * mapedit/chunklst.cc: Added controls for 'chunks' list. * server/server.cc: Added 'terrain' message handling. 2001-12-28 Patrick Burke <[email protected]> * usecode/ucxt/*: Fixed bug/TODO where ucxt wasn't building the list of goto targets from all the opcodes with goto offsets (it was only handling jmp/jne). 2001-12-27 Jeff Freedman <[email protected]> * gamemap.cc,gamemap.h (public): Added terrain-list modification methods. * gamemap.cc,gamemap.h (public): Many map methods moved here from Game_window. * objs/egg.cc (Mirror_object): Watch for Demon mirror in FOV. 2001-12-26 Willem Jan Palenstijn <[email protected]> * usecode/ucsched.cc: use eventid 3 for usecode functions on all eggs, not just usecode eggs. Fixes serpent gates in SI without SS * usecode/ucdisasm.cc: changed output of 16-bit immediates to signed * usecode/useval.*: added "operator<<(ostream&, Usecode_value&)" 2001-12-26 Patrick Burke <[email protected]> * usecode/ucxt/*: Added opcodes 4C and 4D. Also added option to load a specific usecode file to ucxt. 2001-12-26 Willem Jan Palenstijn <[email protected]> * tools/uctools.h, usecode/ucinternal.cc: added opcodes 4C and 4D, spanish SI works now 2001-12-26 Patrick Burke <[email protected]> * usecode/ucxt/data/opcodes.txt: Cleaned up callis and calli output under -fz. Fixed a 'bug' with the output of the binary math/comparison output functions' parameters' being around the wrong way. 2001-12-25 Patrick Burke <[email protected]> * usecode/ucxt/*: Added 'return' flag to opcodes.txt, better error messages to handle badly edited opcodes.txt files, and correct RTS handling for the CALL opcode. * usecode/ucxt/opcodes.txt: Fixed output of cmps and arrc opcodes under -fz * usecode/ucxt/*: Added a 'full text' output string in addition to the original short/comment text output. Added escaping for characters ('\\' and '\"') in the 'full text' output strings. 2001-12-24 Willem Jan Palenstijn <[email protected]> * usecode/ucxt/src/ucfunc.cc: fixed intrinsic bug, re-used opcode bug 2001-12-24 Patrick Burke <[email protected]> * usecode/ucxt/*: Removed bugs from debugging statements. 2001-12-24 Jeff Freedman <[email protected]> * usecode/intrinsics.cc: Implemented apply_damage() intrinsic. 2001-12-23 Jeff Freedman <[email protected]> * paths.cc (Offscreen_pathfinder_client), actions.cc: Added 'best' location to aim for when finding a path off the screen. * actors.cc (approach_another): Fiddled with speed/delay. * schedule.cc (Hound_schedule): Speed it up a bit. 2001-12-23 Ryan Nunn <[email protected]> * gumps/AudioOptions_gump.cc, gumps/GameplayOptions_gump.cc, gumps/VideoOptions_gump.cc : Errors, Errors, Errors * msvcstuff/Exult.dsp : Adding Enabled_button.* * msvcstuff/Exult_flx.dsp : Removing shapes. 2001-12-23 Jeff Freedman <[email protected]> * objs/objs.cc: Show arrows hitting target. * combat.cc: Duelists equip proper weapon and attack targets. 2001-12-22 Jeff Freedman <[email protected]> * npcnear.cc: Sleeping monsters shouldn't attack until awakened. * usecode/intrinsics.cc,gamewin.cc,gamewin.h: Added 'armageddon' flag. 2001-12-22 Willem Jan Palenstijn <[email protected]> * Makefile.am: really fixed subdir order now... (data depends on tools) 2001-12-21 Jeff Freedman <[email protected]> * drag.cc (Dragging_info): Use remove_this(true) to remove obj. * paths.cc (Offscreen_pathfinder_client): Fast_pathfinder checks lift. * actors.cc: remove_this(): Don't delete schedule. * actors.cc: move(): If entering world, set dormant. 2001-12-22 Willem Jan Palenstijn <[email protected]> * data/*.shp, Makefile.*, flx.in: removed text button shapes * gumps/Enabled_button.*: Text button for picking enabled/disabled * AudioOptions_gump.cc, VideoOptions_gump.cc, GameplayOptions_gump.cc, Newfile_gump.cc: use Text_button instead of text button shapes. * VideoOptions_gump.cc: added support for custom resolutions * GameplayOptions_gump.cc: added support for custom framerates * Gump_ToggleTextButton.h: minor bug fix * Makefile.am: removed --all-static from link line * data/sav*.shp: replaced wrong black by right black 2001-12-21 Willem Jan Palenstijn <[email protected]> * mapedit/u7shp.c: use new and improved palette in gimp plugin 2001-12-21 Max Horn <[email protected]> * Makefile.am: fixed subdirs order to allow building from scratch * config.h.in, configure.in, conf/Configuration.cc: only use sstream on systems where this header is actually present * files/zip/unzip.c: fixed compiler warnings (ambigious 'else' statments) * configure.in: fixed output at end of configure run to do what it is supposed to (e.g. print out the SDL version instead of "sdl-config --version"). 2001-12-21 Ryan Nunn <[email protected]> * combat.cc, drag.cc, conf/Configuration.* : Warnings and errors * audio/Audio.cc, msvcstuff/msvc_kludges.h : Added a config file option for Windows "config/audio/force_waveout" that when set to "yes" will force SDL to use waveout rather than attepting to use DirectSound. Using this option may fix up problems some people have with sound in Exult under Windows. Also now allow Win32 to be build with 44kHz sound by defining FORCE_44KHZ when building. It should probably be made into a config option. 2001-12-21 Jeff Freedman <[email protected]> * effects.cc (Weather_effect): Turn off rain in gump mode. * objs/egg.cc: Another goof in is_active(). 2001-12-20 Jeff Freedman <[email protected]> * objs/egg.cc (Egg_object): Fixed excessive monster spawning from testing wrong variable in is_active(). 2001-12-19 Patrick Burke <[email protected]> * usecode/ucxt/*: Added fixes for cygwin compatibility. * conf/Configuration.h: Added a 'return' in the call to read_config_file that I missed. 2001-12-18 Patrick Burke <[email protected]> * usecode/ucxt/*: Added 'long' type handling for opcodes.txt. Optomised USECODE file reading to increase speed. 2001-12-17 Patrick Burke <[email protected]> * conf/Configuration.[cc|h]: Updated from FILE *'s to fstreams. * usecode/ucxt/*: Updated to use U7open() rather then fstream.open(). 2001-12-16 Jeff Freedman <[email protected]> * actors.cc: Fiddling with combat formulae. Combat skill counts for more, and 'level' is no longer used at all. 2001-12-16 Patrick Burke <[email protected]> * tools/Makefile.am, cmanip.cc: A simple command-line conf/ file editor. Added under no-install. 2001-12-15 Patrick Burke <[email protected]> * usecode/ucxt/opcodes.txt: Updated opcodes callis and calli to output intrinsic names * usecode/ucxt/: Code cleanup and commenting. 2001-12-14 Jeff Freedman <[email protected]> * usecode/intrinsics.cc: Fixed set_item_quantity() so it returns correct value, and doesn't delete items not in world. 2001-12-14 Willem Jan Palenstijn <[email protected]> * shapes/vgafile.cc: fixed broken debugging output 2001-12-14 Tristan Tarrant <[email protected]> * bggame.cc, sigame.cc: new game displays correctly in spanish 2001-12-14 Tristan Tarrant <[email protected]> * data/audiooptions.shp: made 10 pixels taller * audio/Audio.*: allow user-configurable music looping * gumps/AudioOptions_gump.*: UI for above * Makefile.am: alpha_kludges.h and mingw_kludges.h should be in noinst_HEADERS, not in EXTRA_DIST * debian/.cvsignore: usual stuff 2001-12-14 Jeff Freedman <[email protected]> * combat.cc (Duel_schedule): Look for practice targets. 2001-12-13 Patrick Burke <[email protected]> * usecode/ucxt/src/opcodes.cc: Included a 'fix' for undeclared __STRING under solaris. 2001-12-13 Tristan Tarrant <[email protected]> * configure.in, Makefile.am, debian/Makefile.am: fixes for make dist to include new debian stuff 2001-12-13 Jeff Freedman <[email protected]> * drag.cc,drag.h (Dragging_info): New class to handle dragging. 2001-12-09 Jeff Freedman <[email protected]> * usecode/ucinternal.cc: Don't set schedules of party members. 2001-12-12 Willem Jan Palenstijn <[email protected]> * gumps/gump_utils.h: #include <cstring> 2001-12-12 Tristan Tarrant <[email protected]> * gumps/gump_utils.h: #include <string.h> to get it to compile under Solaris with g++ * usecode/ucxt/data/Makefile.am: include opcodes.txt in EXTRA_DIST 2001-12-12 Willem Jan Palenstijn <[email protected]> * debian/*: new debian dir from Michael Z. 2001-12-11 Patrick Burke <[email protected]> * usecode/ucxt/ucfunc.cc: Code cleanup * usecode/ucxt/data/opcodes.txt: Assembler comment output tidying 2001-12-10 Patrick Burke <[email protected]> * usecode/ucxt/: Added intrinsic 'name' output under -fa rather then the original intrinsic number for the opcodes 'callis' and 'calli'. 2001-12-08 Jeff Freedman <[email protected]> * gamewin.cc: Get guard shapes for SI. * mapedit/studio.cc: Try to reconnect to Exult automatically. * gamewin.cc: A 'patch' initgame.dat is NOT a new game, in the sense that it has the original U7 structure. 2001-12-07 Willem Jan Palenstijn <[email protected]> * usecode/ucxt/src/Makefile.am: fixed include dirs 2001-12-07 Jeff Freedman <[email protected]> * readnpcs.cc: BG NPC's 293-297 are not valid and should be skipped. * usecode/ucinternal.cc: Don't create script for NULL object. * objs/chunks.cc: Found a case where it's BAD to use an iterator, since the vector can change. This fixes a memory-corruption crash. * actors.cc: If no body for dead NPC, put items on ground. * usecode/ucinternal.cc,objs/egg.cc: Do_speech() plays speech if possible, else calls Usecode function to display text. 2001-12-06 Jeff Freedman <[email protected]> * drag.cc: Use old lift when activating eggs object was moved away from. 2001-12-05 Jeff Freedman <[email protected]> * actors.cc: Allow talking to NPC in combat if NPC is friendly or neutral. * effects.cc,effects.h,intrinsics.cc (Projectile_effect): Store projectile AND sprite shapes separately so we can test properly for explosion at target. 2001-12-05 Tristan Tarrant <[email protected]> * configure.in: added ucxt directories * exult.spec.in: added ucc, ucxt, splitshp and shp2pcx to tools subpackage * tools/Makefile.am: install splitshp and shp2pcx. Removed references to ucc * tools/ucclex.l, tools/uccparse.y: removed * usecode/ucxt/*: many changes to automake/autoconf logic. Made ucxt installable and make it look for opcodes.txt in EXULT_DATADIR as well 2001-12-05 Ryan Nunn <[email protected]> * gamewin.cc, objs/egg.cc, objs/egg.h : Polishing Mirrors * Actors.cc : NPC Actors can now kind of activate eggs (only when stepping). A more global solution is required to all types of Actors will activate fields and mirrors when they move. * ChangeLog : Fixing the date on Patrick's last addition 2001-12-05 Tristan Tarrant <[email protected]> * mapedit/Makefile.am: define EXULT_DATADIR when compiling exult_studio * mapedit/studio.cc: look for glade file in xmldir, EXULT_DATADIR and current dir before giving up 2001-12-05 Tristan Tarrant <[email protected]> * configure.in: GIMP_PLUGIN_PREFIX needs a /plug-ins appended to it * exult.spec.in: implement subpackages for exult-tools, exult-studio, exult-gimp-plugin. Someone should provide deb equivalents * mapedit/Makefile.am: install the GIMP plugin in the right place 2001-12-04 Jeff Freedman <[email protected]> * usecode/intrinsics.cc: Force created NPC's to start with neutral alignment. * usecode/ucinternal.cc (Usecode_function): Handle '*' in conversations to fix blank lines in 'Cosmo'. * effects.cc (Text_effect): Replace '@' with '"' instead of removing it. 2001-12-04 Patrick Burke <[email protected]> * usecode/ucxt : Removed a bug, added support for 'callis' and 'calli' 2001-12-04 Ryan Nunn <[email protected]> * files/crc.cc : Now actually works because it now actually reads files as binary. Also did std namespace, and some casting. * msvcstuff/Exult.dsp, msvcstuff/expack.dsp, msvcstuff/msvc_kludges.h : Added crc.cc/h where required 2001-12-03 Jeff Freedman <[email protected]> * objs/barge.cc (Barge_object): Start motion with 1 tile for better control. * usecode/ucinternal.cc (public): Get_barge() checks to see that obj. is within the barge's footprint. Also finds highest qualifying barge beneath obj. 2001-12-03 Willem Jan Palenstijn <[email protected]> * actors.cc: don't allow Npc_actor::remove_this to delete the NPC * contain.cc, objs.cc: catch possible (but unlikely) divisions by zero * files/crc.*, Makefile.*: CRC-32 algo * tools/expack.cc: compute CRC of resulting .flx file * exult.cc: check CRC of exult*.flx files * Spellbook_gump.cc: fixed reagents of BG 1st circle * ucinternal.cc: fixed Dagger Isle cyclops conversation * gamewin.cc: fixed crash when find_objects finds too many objects * debian/*: new debian files from Michael Z. * bggame.cc, sigame.cc: check for exult_bg/si.flx in is_installed() * schedule.cc: fix dancing Naga (missing frames) * barge.cc, animate.cc, actors.cc, contain.cc: call inherited functions of direct parent, not Game_object 2001-12-03 Ryan Nunn <[email protected]> * objs/animate.cc : Fixed Minoc millsaw animation. Requires new game to work 100% properly. 2001-12-03 Ryan Nunn <[email protected]> * msvcstuff/exconfig/exconfig.cpp : Updated installer stuff * msvcstuff/exconfig/exconfig.rc, win32/exultico.rc : 0.97cvs 2001-12-03 Tristan Tarrant <[email protected]> * configure.in, Makefile.win32, Makefile.cygwin, Makefile.be, msvcstuff/Exult.dsp, msvcstuff/msvc_kludges.h, mac/mac_autoconfig.h: bumped version to 0.97cvs * data/videooptions.shp: shrunk video options dialog * gumps/VideoOptions_gump.cc: removed RGB placeholders * exult.cc: display version info on stdout by default * NEWS: started new entry * TODO.xml: updated 2001-12-03 Patrick Burke <[email protected]> * usecode/ucxt: Added support for 'call' opcode. 2001-12-03 Dancer Vesperman <[email protected]> * Fix broken compiler compilation, by inserting some using std::vector statements. 2001-12-02 Jeff Freedman <[email protected]> * usecode/compiler: Rewrote most of it to work with conversations. 2001-12-01 Patrick Burke <[email protected]> * usecode/ucxt/*: Changes and bugfixes to get something that looks vaguely like Jeff's usecode script outputted. Very vaguely like. ;) 2001-11-30 Tristan Tarrant <[email protected]> * exult.spec.in: added tools subpackage * tools/Makefile.am: expack is an installable binary 2001-11-29 Tristan Tarrant <[email protected]> * exult.spec.in: allow setting of bindir and datadir, build exult only (will be fixed with the addition of subpackages), added README.1ST, optimizer flags should be set for CXXFLAGS too * mapedit/Makefile.am: paltest and shapetest are non-installable * TODO.xml: updated 2001-11-28 Max Horn <[email protected]> * Info.plist.in: removed some unnecessary crap 2001-11-27 Jeff Freedman <[email protected]> * npctime.cc (Npc_hunger_timer): End hunger/poison if dead. * exult.cc: Fixed telescope display. 2001-11-27 Willem Jan Palenstijn <[email protected]> * objs.cc, msvcstuff/find_nearby.h: fixed crash in SI cheat room 2001-11-26 Jeff Freedman <[email protected]> * Changed version to 0.96beta1. 2001-11-26 Christian Ohm <[email protected]> * exult.cc: added -bg/-si command line options 2001-11-26 Max Horn <[email protected]> * version.cc: fixed Metrowerks detection; factored out some std::endl into a single spot * vgafile.cc: get_frame() now checks for lower bound, too (fixing a crash) 2001-11-25 Ryan Nunn <[email protected]> * audio/Audio.cc : Note to self, Copy and Paste not so good 2001-11-25 Ryan Nunn <[email protected]> * version.cc : Will this ever end... Windows and MSC stuff * msvcstuff/Exult.dsp : Add in the version files to the project * msvcstuff/msvc_kludges.h : Finally updated version to 0.95cvs * audio/Audio.cc : Also search for SFX flexes in the <DATA> directory. 2001-11-25 Max Horn <[email protected]> * version.cc: added MacOS support; added Metrowerks Codewarrior to the compiler list 2001-11-25 Willem Jan Palenstijn <[email protected]> * version.cc: reordered the output * exult.cc: -v/--version outputs version info * fnames.h, gamedat.cc, gamewin.cc: add exult.ver and newgame.ver to savegames, containing the version of exult that saved the game and started the game, respectively. * Makefile.*: added version.* 2001-11-24 Willem Jan Palenstijn <[email protected]> * Newfile_gump.cc: reset 'filename' in FreeSaveGameDetails * version.*: more namespaces, expanded linux version a bit 2001-11-24 Ryan Nunn <[email protected]> * version.* : Windows stuff and std namespace stuff. 2001-11-24 Willem Jan Palenstijn <[email protected]> * version.*: added getVersionInfo to produce basic version info 2001-11-24 Max Horn <[email protected]> * bggame.cc, combat.cc, gamedat.cc: removed unused declarations * files/utils.c: fixed stat() to simply do a call through (buf may legally be 0) * files/zip.c, files/unzip.c: ANSIfied, removing K&R cruft * mac/mac_autoconfig.h, mac/exult_version.rsrc.bin, mac/ExultMac.mcp.xml.sit: updated * objs/iregobjs.h, objs/objs.h: removed unused clone() method 2001-11-24 Willem Jan Palenstijn <[email protected]> * Audio.h: the other is_track_playing didn't check if midi==NULL either 2001-11-23 Dominik Reichardt <[email protected]> * Faq, Readme deleted * docs/ added FAQ.html and ReadMe.html * docs/images/ added back.gif and exult_logo.gif for the html files * docs/xml: updated faq.xml, docs.xml, html.xsl, text.xsl 2001-11-24 Willem Jan Palenstijn <[email protected]> * Midi.h: is_track_playing didn't check if midi_device == NULL (Thanks Michael Z.) 2001-11-22 Ryan Nunn <[email protected]> * msvcstuff/Exult.dsp : Getting rid of a link warning 2001-11-22 Ryan Nunn <[email protected]> * Makefile.*, msvcstuff/*, win32/exultico.rc : Unify Win32 Resource scripts, add Version Table to all Win32 Exult exes. 2001-11-22 Tristan Tarrant <[email protected]> * data/Makefile.am: added forgotten files so that make dist works again 2001-11-21 Ryan Nunn <[email protected]> * Makefile.am: Yes I did kill something (backslashes vs slashes) 2001-11-21 Ryan Nunn <[email protected]> * README.win32: Typo 2001-11-21 Ryan Nunn <[email protected]> * Makefile.am: Added msvcstuff files to EXTRA_DIST * README.win32: Added MSVC build instructions. * msvcstuff/Zip.dsp: ZIP File support project for MSVC. * msvcstuff/Exult?Tools.dsp: Removing Space in filename. * msvcstuff/exconfig/exconfig.dsp: Needs to be Binary in CVS. 2001-11-18 Max Horn <[email protected]> * audio/midi_drivers/mac_midi.cc: fixed crash on exit when music is disabled 2001-11-18 Willem Jan Palenstijn <[email protected]> * configure.in: remove check for zutil.h * configure.in: link dynamically against zlib 2001-11-18 Ryan Nunn <[email protected]> * actors.cc, gamewin.*, gamerend.cc, objs/chunks.* : Ice Dungeons * audio/Audio.cc : can_sfx() also looks for Midi SFX, if compiled * files/zip/zip.c : Removed dependency on zutil.h 2001-11-17 Willem Jan Palenstijn <[email protected]> * configure.in: fixed broken test on non-MacOSX platforms 2001-11-17 Max Horn <[email protected]> * Makefile.am, configure.in: made sure MacOS X specific Makefile changes are really only used on MacOS X 2001-11-16 Jeff Freedman <[email protected]> * objs/egg.cc (Animated_egg_object): Remove poison/sleep field after one use. * usecode/ucinternal.cc: Add_party_items doesn't drop things on ground for BG. 2001-11-17 Tristan Tarrant <[email protected]> * data/sfx_icon.shp: sfx icon from SB-X * audio/Audio.*: added can_sfx() method * exultmenu.cc: show sfx icons next to menu entries 2001-11-16 Willem Jan Palenstijn <[email protected]> * imagewin.cc: typo 2001-11-15 Tristan Tarrant <[email protected]> * exult.cc: search for data file under the executable's directory too 2001-11-14 Jeff Freedman <[email protected]> * schedule.cc (public): Avoid standing while in Sit_schedule. 2001-11-13 Jeff Freedman <[email protected]> * usecode/ucinternal.cc (Usecode_function): A ShapeID needed to have shapefile set. Fixes BG multi-race animation scenes. 2001-11-12 Tristan Tarrant <[email protected]> * NEWS: updated * acinclude.m4, config.guess, config.sub, missing, mkinstalldirs, install-sh, ltconfig: removed generated files once and for all 2001-11-11 Christian Ohm <[email protected]> * exult.cc, gumps/gump_utils.cc: test if third mouse button was pressed before release (fix for bug #480495) 2001-11-11 Patrick Burke <[email protected]> * usecode/ucxt/* : general debugging, code cleanup and commenting. also changes relating to updates of usecode/ucxt/Docs/opcodes.txt. * usecode/ucxt/Docs/opcodes.txt: Added information relating to the number of elements popped/pushed from/to the stack for each opcode. 2001-11-10 Willem Jan Palenstijn <[email protected]> * */Makefile.am, configure.in, acconfig.h: updated for the minizip lib * files/zip/(un)?zip.c: include config.h * configure.in: re-aligned ./configure --help options * configure.in: check for zlib headers instead of library 2001-11-09 Ryan Nunn <[email protected]> * gumps/Newfile_gump.* : Added "File" field to Save game info display. Fixed crash on delete. * audio/midi_drivers/win32_midiout.cc : Not much 2001-11-09 Ryan Nunn <[email protected]> * actorio.cc, combat.cc, gameclk.cc, gumps/GameplayOptions_gump.cc : Fixed up some bool warnings. * cheat_screen.cc : Can put spaces in names and added feedback after setting polymorph. * gamewin.cc : Added "Saving Game" message. * gumps/Newfile_gump.* : General Improvements. * msvcstuff/*.* : Misc updated project settings * files/Flex.* : is_flex() methods. * Makefile.win32, Makefile.cygwin, gamewin.h, gamedat.cc, exult.cc files/zip/*.* : Zipped savegame support. Zlib headers and library are required to use it. HAVE_ZIP_SUPPORT needs to be defined. Config key "config/disk/save_compression_level" is used to control save game compression. Valid values are 0 (normal flex saves), 1 (normal zip, default) and 2 (zip with combined files). 2001-11-08 Ryan Nunn <[email protected]> * bggame.cc : Fixed BG Endgame crash 2001-11-07 Jeff Freedman <[email protected]> * objs/objs.cc: Rendering order again: Added special case when objs. occupy same 3D space. Fixes Penumbra plaque. 2001-11-06 Jeff Freedman <[email protected]> * actors.cc: Drop ammo or throwing-weapon on ground if it misses. 2001-11-06 Dominik Reichardt <[email protected]> * added docs/xml: updated faq.xml and docs.xml * Faq, Readme updated 2001-11-05 Jeff Freedman <[email protected]> * effects.cc,combat.cc: Handle boomerangs, magic axes correctly. * shapes/shapeinf.h: 'returns' flag added. * actors.cc,schedule.cc: Tell schedule when weapons changed. 2001-11-05 Dominik Reichardt <[email protected]> * docs/xml/docs.xml,faq.xml spell checked. Will update webpages when I add all the new options in the gameplay options (later this week). 2001-11-04 Jeff Freedman <[email protected]> * schedule.cc (Sit_schedule): Another check for sitting. * usecode/ucinternal.cc (public): Use ::find_nearby() sort-order for Get_barge(). * gumps/GameplayOptions_gump.cc (GameplayOptions_gump): Added 'Speed' option. * Lots: Code cleanup: get_abs_tile_coord() => get_tile(), get_abs_tile(),get_worldx(),get_worldy() went away. 2001-11-03 Willem Jan Palenstijn <[email protected]> * vgafile.cc: 'fixed' Spark's palette-cycling pants * Paperdoll_gump.cc: improved two-rings+staff display glitch 2001-11-03 Max Horn <[email protected]> * Makefile.am: adapted to work with latest SDL CVS on OS X 2001-11-03 Jeff Freedman <[email protected]> * actors.cc (Actor): Restored old walking frames, as they look more like the original. (Both pieces of code are still there, so maybe this should be an exult.cfg option.) * schedule.cc (Sit_schedule): Check for free spot before sitting. 2001-11-02 Willem Jan Palenstijn <[email protected]> * gump_utils.cc, Modal_gump.h, Newfile_gump.*: added mousewheel support to new file gump (mousewheel = scroll lines, alt-mousewheel = pages) * Slider_gump.*: mousewheel for Slider_gump (alt-wheel = 10 steps) * exult.cc: mousewheel for map scrolling (alt-wheel = left/right) 2001-11-02 Christian Ohm <[email protected]> * exult.cc, gamewin.cc/h, gumps/GameplayOptions_gump.cc/h gumps/Gump_manager.cc/h, gumps/gump_utils.cc, data/flx.in, data/gameplayoptions.shp: added larger gameoptions menu shape * made paperdolls in bg default to on * removed weird event loops * rearranged layout of gameoptions window * added 'doubleclick closes gumps'-option * added 'walk after teleport'-option for si 2001-11-02 Jeff Freedman <[email protected]> * schedule.cc (public): Check for chair being moved. * npctime.cc (Npc_timer_list): Paralyze timer. 2001-11-01 Jeff Freedman <[email protected]> * usecode/ucinternal.cc: Clear object's current text before showing new text. * actors.cc (figure_hit_points): If weapon points == 0, don't take away any hit points. Fixes, i.e., Curse spell. * actors.cc (Npc_actor): A couple asserts added to find a bug. * objs/chunks.cc: Fixed gravity() bug (and warning). 2001-11-01 Willem Jan Palenstijn <[email protected]> * gamewin.cc, cheat_screen.cc: implemented NPC-browser's 'teleport' key * gamewin.cc, ??game.cc: more palette flashes fixed 2001-10-31 Dancer Vesperman <[email protected]> * actions.cc, actors.cc, cheat.cc, combat.cc, monsters.cc, npctime.cc: Improved casts. This'd be a whole lot easier if you folks remembered to use them, you know :) 2001-10-30 Max Horn <[email protected]> * added docs/xml: unified faq and readme * docs/faq, docs/readme: removed 2001-10-29 Dominik Reichardt <[email protected]> * docs/faq and docs/readme: unified xsl and dtd files, changed makefiles accordingly and updated exult_faq.xml/readme.xml * Faq, Readme updated 2001-10-27 Jeff Freedman <[email protected]> * gamewin.cc: Don't teleport party members in 'wait' state. * actorio.cc: Try to fix messed-up polymorph flag. * actors.cc: Automatons & 'waiting' NPC's shouldn't get cold. * gamewin.cc: Create Jawbone in create_ireg_object(); * jawbone.cc: Removed extraneous get_next()'s. * usecode/intrinsics.cc: Find_in_owner replaced by find_object. Fixes switch-teleports beneath Sleeping Bull. 2001-10-26 Jeff Freedman <[email protected]> * gamewin.cc: Cacheout tmp. objects when camera changes back to Avatar. * actors.cc: Give holder of Magebane special defense agains Vasculio. * usecode/conversation.cc (Conversation): Set frame # for face. 2001-10-25 Jeff Freedman <[email protected]> * paths.cc,actors.cc: Pathfinding for > 1x1 NPC's was messed up. * drag.cc: Set dragging_gump to 0 in one last place. 2001-10-25 Willem Jan Palenstijn <[email protected]> * credits.txt: added Oblivious as an artist 2001-10-24 Jeff Freedman <[email protected]> * combat.cc: Only auto-set hostile NPC's into combat mode (not chaotic). * gamewin.cc,objs/citerate.h,chunks.cc: World-wrapping yet again. 2001-10-24 Ryan Nunn <[email protected]> * Too many files to even think about listing: Added support for BG multiracial and added shapes. SI Required! Changed lots of things to use ShapeID methods rather than the Game_window alternatives. Fixed Gump Problem 2001-10-23 Jeff Freedman <[email protected]> * usecode/ucsched.cc (Usecode_script): Purge() forces halt. * usecode/intrinsics.cc: Add moved NPC to 'nearby' list. * usecode/intrinsics.cc: set_lift() should check for valid number. 2001-10-23 Willem Jan Palenstijn <[email protected]> * Makefile.*, data/bg/flx.in, data/bg/*.shp, docs/art.txt: new art by Oblivious * intrinsics.cc: fixed Tseramed join crash * VideoOptions_gump.*: fixed display glitch when cancelling 2001-10-23 Tristan Tarrant <[email protected]> * gumps/GameplayOptions_gump.*, gamewin.*: allow choice of text background colour * usecode/conversation.cc: show background behind Avatar's text too * game.cc: resolved the horrible hacks to get fades at the right time 2001-10-23 Willem Jan Palenstijn <[email protected]> * actors.cc: limit 'adding to actor container' warnings to party 2001-10-22 Willem Jan Palenstijn <[email protected]> * game.h: added 'GAME_SI' and 'GAME_BG' macros for checking gametype * intrinsics.cc: update_last_created returns obj* in SI * ucinternal.cc: added warning message 2001-10-22 Tristan Tarrant <[email protected]> * gamewin.*, gumps/GameplayOptions_gump.*, usecode/conversation.cc: implemented "Text Background" feature which puts a dark backdrop behind conversations. There is also an entry in the Gameplay Options menu for it. * gumps/VideoOptions_gump.cc, data/vid_resolution.shp: added 640x480 as a "valid" entry 2001-10-21 Jeff Freedman <[email protected]> * gamewin.cc,intrinsics.cc: Skip egg-activation if teleported via egg that exits Mountains of Freedom. 2001-10-20 Jeff Freedman <[email protected]> * ucinternal.cc: Major 'global flag' kludge for SI/Monk Isle endlessly looping Usecode * gamewin.cc: Emulate_cacheout() terminates scripts. * usecode/ucsched.h (public): Purge() terminates scripts for objs. that are too far away. 2001-10-21 Willem Jan Palenstijn <[email protected]> * game.cc: clear screen on 'return to menu' 2001-10-21 Max Horn <[email protected]> * Removed all files from macosx/ except exult.icns - we don't need them anymore 2001-10-20 Jeff Freedman <[email protected]> * schedule.cc (public): Better testing for occupied chair. * actions.cc,paths.cc: Changed interface; changed pathfinder to use correct test for being blocked. 2001-10-21 Willem Jan Palenstijn <[email protected]> * barge.cc: barges no longer pick up eggs 2001-10-20 Jeff Freedman <[email protected]> * combat.cc (Combat_schedule): Camera actor should never give up. * keyactions.cc: HOME should center around 'camera_actor'. * schedule.cc (Schedule): Longer delays for 'street maintenance' to avoid slowdowns. 2001-10-19 Jeff Freedman <[email protected]> * actions.cc (If_else_path_actor_action): Reset speed after being blocked. * usecode/intrinsics.cc: Return 'fake' schedule if walking on a path. Fixes Fawn Trial bug where companions don't show up and game slows down. 2001-10-18 Jeff Freedman <[email protected]> * sigame.cc (SI_Game): Add patches to remove 'bad' egg and carpets. * objs/mappatch.cc, gamewin.cc: Map patches. 2001-10-17 Jeff Freedman <[email protected]> * actors.cc: Special case: Magebane vs Vasculio. * shapes/monstinf.h (public): Immunity, vulnerability. * shapes/shapeinf.h: Damage_type. * objs/contain.cc (Container_game_object): Fixed dumb goof I made when I added the weight check. * actors.cc: Don't let Avatar die more than once, or let party be hurt if Avatar is dead. 2001-10-16 Jeff Freedman <[email protected]> * usecode/intrinsics.cc,etc: set_telekenesis_fun(), get_item_usability() added to fix telekenesis, fetch spells. 2001-10-17 Dancer Vesperman <[email protected]> * actorio.cc: Cast changeover * gamedat.cc: Cast changeover * xdrag.cc: Cast changeover * gamewin.cc: Cast changeover 2001-10-16 Jeff Freedman <[email protected]> * palette.cc (Palette): find_color() shouldn't look at the rotating colors at the end of the palette. * npctime.cc,actors.cc,gamewin.cc: Support for 'cursed' flag. 2001-10-15 Jeff Freedman <[email protected]> * shapes/shapeinf.cc: Ammo_info::read(). * actors.cc: Handle a couple special weapon 'powers'. * shapes/shapeinf.h (public): Weapon 'powers' added. * actors.h (public): Fix for 'training' bug. 2001-10-14 Jeff Freedman <[email protected]> * drag.cc: Watch for objects dropped when on a barge. * exult.cc,intrinsics.cc: Wizards_eye implemented. 2001-10-14 Willem Jan Palenstijn <[email protected]> * game.cc, gamewin.*, gamedat.cc: fixed some more display glitches on starting a new game 2001-10-13 Jeff Freedman <[email protected]> * Gump_manager.cc (Gump_manager): non_persistent_count added so we can do a fast "gump_mode()" test. * gamewin.cc,combat.cc: No walking/combat if in 'gump mode'. * actors.cc,flags.h,npctimer.cc: 'Might' flag implemented. * effects.cc (Projectile_effect): More sprites implemented for various projectiles (like swordstrike). 2001-10-13 Willem Jan Palenstijn <[email protected]> * actors.cc: Helm of Light provides warmth * files/utils.cc: fixed BeOS trailing slash mkdir bug 2001-10-13 Patrick Burke <[email protected]> * data/credits.txt data/quotes.txt: Fixed formatting and ## escape. 2001-10-13 Jeff Freedman <[email protected]> * usecode/intrinsics.cc: Clone() intrinsic. * actors.cc: Clone() added. Some monsters can split now. * monsters.cc: Create() cleaned a bit. 2001-10-13 Willem Jan Palenstijn <[email protected]> * gamewin.cc: fixed face stats disappearing on reload 2001-10-13 Dancer Vesperman <[email protected]> * shapes/shapeinf.cc: Fix compile error. istream is in std:: 2001-10-13 Dancer Vesperman <[email protected]> * actors.cc: NPC_Actor::movef cannot be inline, since it is not in a header and it is referenced from another translation unit. 2001-10-13 Willem Jan Palenstijn <[email protected]> * Gamemenu_gump.cc, VideoOptions_gump.cc: recenter gamemenu gump after changing resolution in the video options gump 2001-10-12 Willem Jan Palenstijn <[email protected]> * configure.in: cleaned up some more (especially C++ comp. detection) * gamewin.cc: fixed palette glitch in plasma screen * contain.cc: 'fixed' urn bug 2001-10-12 Max Horn <[email protected]> * configure.in: some cleanup, added some suggestions from autoscan 2001-10-12 Willem Jan Palenstijn <[email protected]> * data/*/defaultkeys.txt: fixed abacus keybinding * GameplayOptions_gump.cc: cleaned up loading of bg_paperdolls setting * cheat_screen.cc: save paperdoll setting here too * gamewin.cc: fixed loading of bg_paperdoll setting * gamewin.h: added some const's 2001-10-12 Tristan Tarrant <[email protected]> More patches from Christian Ohm <[email protected]> mouse.patch, gumps/Gameplay_options.* : Implement GameplayOptions menu and add fast mouse and middle mouse button support data/credits.txt: credit where credit is due :) 2001-10-12 Tristan Tarrant <[email protected]> Patch from Christian Ohm <[email protected]> abacus.patch: add a keyboard shortcut ('g') to use the abacus. 2001-10-11 Jeff Freedman <[email protected]> * shapes/shapeinf.cc: Rewrote code to read from weapons.dat. * combat.cc (Combat_schedule): More fixups for slimes. 2001-10-11 Willem Jan Palenstijn <[email protected]> * effects.*: changed explosion effect to do damage in the middle of the explosion instead of afterwards * objs.cc: powderkegs blow up more doors * objs.cc: powderkegs blow up other powderkegs * gamewin.*: clear effects queue when reloading 2001-10-11 Jeff Freedman <[email protected]> * monsters.cc: Slime movement is starting to work. 2001-10-09 Jeff Freedman <[email protected]> * Makefile.am (exult_SOURCES): Added monsters.cc, monsters.h. * readnpcs.cc,actors.cc,actors.h,actorio.cc: Actor::read() replaces constructors that read. Special Slime_actor added. 2001-10-08 Jeff Freedman <[email protected]> * effects.cc (Projectile_effect): Don't attack target if it's moved too far away. * usecode/ucsched.cc (Usecode_script): Handle 'music' opcode. * actors.cc: When clearing 'sleep' flag, find free spot to stand. * exult.cc: Enable keyboard repeat. * npcnear.cc: Awakened NPC's shouldn't run proximity Usecode, and should go back to sleep after several seconds. * gamewin.cc: Sleeping NPC's shouldn't detect theft. * gumps/misc_buttons.cc (Combat_button): Update for current combat state. * schedule.cc (Sleep_schedule),intrinsics.cc: Fixed sleep hang, and also position after waking. 2001-10-07 Jeff Freedman <[email protected]> * effects.cc: Show text by owner of object if gump not open. * actors.cc,gameclk.cc: check_temperature(). * actors.cc (public): Figure_warmth() written (but not tested). * gumps/Stats_gump.cc (Stats_gump): Show frame for temperature if Avatar is in frozen region. 2001-10-06 Jeff Freedman <[email protected]> * actorio.cc,intrinsics.cc,actors.h,flags.h,etc: Started implementing temperature and 'freeze' flag. No effect yet. 2001-10-06 Dancer Vesperman <[email protected]> * actors.cc: Cast conversions * gamedat.cc: ditto * gamewin.cc: ditto * npcnear.cc: ibid * schedule.cc: as above 2001-10-05 Willem Jan Palenstijn <[email protected]> * Makefile.be: fixed typo 2001-10-05 Dancer Vesperman <[email protected]> * actors.cc: Cast conversions * actions.cc: ditto 2001-10-04 Jeff Freedman <[email protected]> * usecode/ucsched.{cc,h},ucinternal.cc: terminate() added to remove existing scripts for an object if 'no_halt' isn't set. 2001-10-03 Jeff Freedman <[email protected]> * paths.cc (Actor_pathfinder_client): Handles 'dist' option now. * actors.cc (follow()): Another attempt to avoid hanging/slowdowns. * actors.cc,monstinf.cc: poison_safe detected. * audio/Audio.cc (Audio): Disable audio if device can't be opened. * gamewin.cc: You can always read a sign. * drag.cc: Fixed another world-wrapping crash. * ucsched.cc: Only activate 3 kinds of eggs. 2001-10-02 Jeff Freedman <[email protected]> * objs/objs.cc (public): Handle more SI books. 2001-10-01 Jeff Freedman <[email protected]> * usecode/intrinsics.cc,etc: Separate dead_party list for dead companions. 2001-09-30 Jeff Freedman <[email protected]> * usecode/intrinsics.cc: Offsets in obj_sprite_effect() are negated. * usecode/bgintrinsics.h, etc: npc_sprite_effect() becomes obj_sprite_effect(). * readnpcs.cc: Skip all the extra trappers. * actors.cc: Actor::is_blocked() is used for all, not just monsters. 2001-09-29 Willem Jan Palenstijn <[email protected]> * actors.cc: try harder to avoid putting objects in the actor-container itself * contain.cc: allow putting a bag in a bag if dont_check is set * ucdisasm.cc: cosmetic fix with display of backward jumps * tools/Makefile.am: fixed make warning * Paperdoll_gump.cc: option for showing non-readied objects * exult_constants.h: made the CERR/COUT macro's 'if'-safe 2001-09-29 Jeff Freedman <[email protected]> * usecode/siintrinsics.cc: Reduce_health added (x87). * actors.cc: Use Avatar's real height. * usecode/ucinternal.cc (Usecode_internal): Fixed ARRC bug in cases where one or more values are empty arrays. 2001-09-28 Jeff Freedman <[email protected]> * objs/objs.cc: Give fake HP's to serpent statue in SI. * objs/egg.cc: Greater range of lift for 'something_on' eggs. 2001-09-28 Dancer Vesperman <[email protected]> * keys.cc: get my own casts right :)...oh, and others, too * gamewin.cc: More cast conversion...many of which shouldn't be necessary. Hrm. * readnpcs.cc: More cast conversion. * schedule.cc: More cast conversion. 2001-09-27 Jeff Freedman <[email protected]> * usecode/ucinternal.cc (Usecode_function): 'Last_created' is now a stack; fixes Wall of Lights bug where Batlin's serpent jaw was missing. * actors.cc,flags.h: Polymorph flagged moved to where Usecode checks for it (bit 32 of regular flags). * actors.cc (public): Enumerate shapes to call 'readied' Usecode on for SI. * actors.cc: Check for weapon frame being out of range. * drag.cc: Pass MOVE_WALK instead of MOVE_FLY. Fixes bug where things get dropped into walls, and (hopefully!) doesn't break anything. 2001-09-26 Ryan Nunn <[email protected]> * actorio.cc, actors.h, cheat_screen.cc, gumps/Book_gump.*, gumps/Scroll_gump.* gumps/Sign_gump.*, gumps/Text_gump.*, objs/flags.h, usecode/intrinsics.cc : Implimented Serpentine Signs, books and scrolls. Also Implimented Serpent Isle 'read' flag. Can also be enabled in BG by using cheats. * gumps/Gump.cc, gumps/Gump.h : Added method to center a gump on sreen after it's already been created. * shapes/font.cc, shapes/font.h, shapes/fontvga.cc : Changes to use Serpentine fonts in SI. * msvcstuff/msvc_kludges.h, usecode/ucdisasm.cc : Change to compile with MSVC * gumps/Text_button.h, exultmenu.h : Only allow headers to be included once. 2001-09-26 Jeff Freedman <[email protected]> * usecode/ucinternal.cc (Usecode_internal): ADDSV prints '0' now; fixes SI money-counting with abacus. * actorio.cc (Actor): Casting from unsigned char to int loses the sign, which is relevant for health and foodlevel. 2001-09-26 Dancer Vesperman <[email protected]> * usecode/ucxt/src/ucfunc.cc: prevent overruns * keys.cc: Streamline keybinder. Fix crashes. 2001-09-25 Jeff Freedman <[email protected]> * actorio.cc,flags.h,etc: Flag 4 = 'dead'. Removed separate 'dead' flag. 2001-09-25 Dancer Vesperman <[email protected]> * sigame.cc: Use a std::string instead of a fixed-length buffer * ibid: Fixed spelling error. * bggame.cc: Use a std::string instead of a fixed-length buffer * files/utils.h: Add an inline wrapper so that U7exists() can take a std::string 2001-09-23 Jeff Freedman <[email protected]> * gamewin.cc: Fix Fawn Tower in old savegames. * intrinsics.cc: Treat flag #4 as 'dead'. 2001-09-22 Willem Jan Palenstijn <[email protected]> * bggame.cc: fixed nearly-infinite loop in butterfly scene 2001-09-22 Patrick Burke <[email protected]> * Makefile.cygwin: Added from Kirben "Just added distribution option" 2001-09-22 Willem Jan Palenstijn <[email protected]> * Makefile.*: fixed include paths in alternate makefiles * Makefile.*: build ucdisasm.cc 2001-09-22 Jeff Freedman <[email protected]> * usecode/ucsched.cc (Usecode_script): Fixed (again) Moonshade Trial. * schedule.cc (public): Better checks for occupied chairs. * objs/objs.cc: A find_closest(vec,...) added. 2001-09-21 Willem Jan Palenstijn <[email protected]> * tools/uctools.h, tools/wud.c: some small changes to wud's output * usecode/ucdisasm.cc, usecode/ucinternal.*: usecode trace disassembler * usecode/useval.*: added a short output format for long arrays * exult.cc: set "config/debug/trace/usecode" to "verbose" to enable the new (painfully verbose) usecode instruction trace mode. (only works when DEBUG is defined) 2001-09-21 Ryan Nunn <[email protected]> * msvcstuff/.cvsignore : Fixed some problems added more files * msvcstuff/Exult.dsw : Forgot to re-add this ages ago. * msvcstuff/exconfig/* : Files for exconfig helper dll used with the new windows installer. 2001-09-21 Ryan Nunn <[email protected]> * objs/animate.cc : Fixing bubbles 2001-09-21 Max Horn <[email protected]> * mapedit/Makefile.am: GTK_LIBS value from gtk-config is now used; fixed strange make warning (not really sure why this fix helps) 2001-09-21 Willem Jan Palenstijn <[email protected]> * animate.cc: fixed division by zero in the 'bubbles' animation 2001-09-20 Willem Jan Palenstijn <[email protected]> * Configuration.cc, keyring.cc: added missing #include * objs/contain.cc: save correct dead-body-npc-number in SI * readnpcs.cc: only skip SI NPCs >= 233 (instead of >= 231) 2001-09-20 Ryan Nunn <[email protected]> * audio/Midi.h : Fixed the crash when saving a game with midi disabled * keyactions.cc, readnpcs.cc, conf/Configuration.cc, usecode/keyring.cc, usecode/ucinternal.cc: Replaced catch(...) with catch (exult_exception &e) 2001-09-20 Willem Jan Palenstijn <[email protected]> * gamewin.cc: fixed crash when saving with sound disabled * utils.h: added Write4s (s = signed) * ucinternal.cc: cleared up error message 2001-09-20 Max Horn <[email protected]> * audio/midi_drivers/mac_midi.cc: made compile with OS X 10.1 * files/listfiles.cc: unix implementation of U7ListFiles now properly uses globfree, making it work properly on OS X * Makefile.am: small change to bundle code * configure.in: changed to use AC_EXEEXT 2001-09-20 Jeff Freedman <[email protected]> * objs/objs.cc: Set mask to find any obj. in find_closest(); fixes barge bug. * effects.cc: Text effect follows object when it moves. 2001-09-19 Ryan Nunn <[email protected]> * actorio.cc : Finally save all flags for actors * exult.cc : Improved rendering timing and palette cycling timing * objs/animate.cc : Improved Frame_animator timing * gumps/gump_utils.h : Changed delay to 1/100 sec from 1/50 sec * gamewin.cc, usecode/ucsched.cc, usecode/ucsched.h, msvcstuff/msvc_kludges.h : Misc changes. 2001-09-19 Jeff Freedman <[email protected]> * objs/contain.cc (Container_game_object): Fixed bug in remove_quantity() where all items weren't being removed. * gamewin.cc: Save/restore Usecode scripts. * actorio.cc (Actor): Nastiness: Taking over iflag1 to indicate saving of scheduled usecode. * gumps/Newfile_gump.cc (Newfile_gump): Pause/resume tqueue. * usecode/ucsched.cc: Save()/restore() work. * tqueue.h (public): find_delay() returns time when due. 2001-09-18 Ryan Nunn <[email protected]> * exult.cc : Always do full speed palette cycling in 8 bit modes 2001-09-18 Ryan Nunn <[email protected]> * audio/Midi.cc, audio/Midi.h : Fixed some potential bugs and added some extra methods to retreive the current playing track and if the current track is repeating. * cheat_screen.cc : Added some usecode related info the actor display * exult.cc, gamewin.cc : Made it so the current playing song number is saved and the song is restarted on restore. 2001-09-18 Jeff Freedman <[email protected]> * usecode/ucinternal.cc: Run_usecode() handles case where obj==0. Fixes end of monks' fight. * actors.cc: Set_polymorph() sets the frame to 'standing'. This is a guess to make using the SI/SS amulet animation work right. 2001-09-17 Ryan Nunn <[email protected]> * objs/animate.cc : Fixed potential problem when saving 2001-09-17 Jeff Freedman <[email protected]> * usecode/*: Set_item_frame_rot() added. 2001-09-16 Ryan Nunn <[email protected]> * audio/xmidi.cc : Fixed compiling errors. * bggame.cc : Change the butterfly sequence to use 32 bit ints for timing calcs. * cheat.cc : Made create object cheat use Game_window::create_ireg_obj instead of new Ireg_game_object. * game.cc, game.h, combat.cc, exult.cc, gamewin.cc, effects.cc, npcnear.cc, npctime.cc, objs/barge.cc, objs/egg.cc, usecode/intrinsics.cc, usecode/ucsched.cc : Added Game::get_ticks() method to get the ticks at the start of this iteration of the main game loop. The idea is to improve general game syncronization. If possible Game::get_ticks() should be used instead of SDL_GetTicks(). * gamewin.cc, objs/animate.cc, objs/animate.h : Rewrote much of the Frame_animator to ensure that animated shapes always remain syncronized. Added new Animated_ifix_object. Fixed LOTS of broken SI animations. Fixed BG 'gear' animation. New game required for some changes to take effect. * msvcstuff/*.* : Misc changes to project settings * ChangeLog : Changed dates on Dancer's recent additions to GMT 2001-09-16 Dancer Vesperman <[email protected]> * Here's a bit of joy: WIN32 isn't SMP safe if we use operator new and delete. On the other hand, nothing else is thread-safe if we use malloc()/free(). So, we wrap the implementations and use malloc()/calloc()/free() for WIN32, and the C++ thread-safe allocator for other platforms. 2001-09-16 Dancer Vesperman <[email protected]> * Watch and learn. C++ _does_ have semantic eqivalents to malloc() and free(). They are ::operator new() and ::operator delete() (which are not the same as new and delete). This ensures we end up using the same thread-safe allocators. calloc() and malloc() semantics and type-casts are all bound up in two simple inline templates. 2001-09-16 Dancer Vesperman <[email protected]> * audio/Audio.cc: Use C++ style casts. * audio/Mixer.cc: Use C++ style casts. * audio/pcb.h: Use C++ style casts. * audio/xmidi.cc: Partial conversion to C++ 2001-09-16 Dancer Vesperman <[email protected]> * Actorio.cc: Use C++ style casts. * mouse.h: Use C++ style casts. 2001-09-15 Jeff Freedman <[email protected]> * Many: Fixed a bunch of bugs involving fighting on List Field. * objs/egg.cc (Egg_object): Fixed eggs once again. * combat.cc: Don't set duelists into combat mode when struck. * intrinsics.cc: Separated out 'create_new_object2()'. 2001-09-15 Dancer Vesperman <[email protected]> * acconfig.h, configure.in: Check for gtk support seperately to exult studio. 2001-09-14 Jeff Freedman <[email protected]> * intrinsics.cc: Treat 'last_created' as a 1-element stack. * mouse.cc (Mouse): Avatar's speed depends on gwin->std_delay. * objs.cc: Check_mask() rewritten. * ucinternal.cc: Sort list returned by find_nearby(). 2001-09-13 Jeff Freedman <[email protected]> * gamewin.h,etc: Added get_std_delay() for standard frame delay. FPS is read from config file ("config/video/fps"). 2001-09-14 Dancer Vesperman <[email protected]> * gamewin.cc: Fixed spelling error in output text. 2001-09-13 Tristan Tarrant <[email protected]> * game.cc: make menu more compact when entries are missing * data/quotes.txt: added a quote by Max 2001-09-12 Jeff Freedman <[email protected]> * siintrinsics.h,intrinsics.cc: Added (a guess) init_conversation(). * actors.cc,monstinf.h: Don't create body if 'has_no_body()'. 2001-09-10 Jeff Freedman <[email protected]> * combat.cc: If can't walk to target, wander a bit. * actors.cc: Only call 'equipped' usecode for a few items in Black Gate. * egg.cc: Teleport eggs are flagged as 'solid', and you now have to be at the exact lift to trigger one. 2001-09-11 Dancer Vesperman <[email protected]> * mapedit/studio.cc: More reliable getcwd. Prevent crashes if cancelling 'open static' 2001-09-11 Dancer Vesperman <[email protected]> * mapedit/(studio files). G++ v3 compilation: Standards and namespaces. Recast unsigned char* to char* 2001-09-10 Jeff Freedman <[email protected]> * several: Map_chunk::find_spot() replaces find_unblocked_tile(). 2001-09-11 Dancer Vesperman <[email protected]> * Take our own advice and clear streams between attempted file opens. Otherwise, we can succeed in opening the file, and still throw a file-not-found. Duh. 2001-09-11 Dancer Vesperman <[email protected]> * stdio.h doesn't declare snprintf in std::, but cstdio does. 2001-09-11 Dancer Vesperman <[email protected]> * uccparse.o depends on ucclex.c being created first. 2001-09-09 Jeff Freedman <[email protected]> * objs/egg.cc (Egg_object): Party_near uses same test as avatar_near. * actors.cc: Shields can go in shield spot (SI). 2001-09-08 Jeff Freedman <[email protected]> * usecode/intrinsics.cc: Only set NPC's invisible. * actors.cc (Actor): More 'improvements' to ::follow(). * paths.cc (Offscreen_pathfinder_client): Walking off-screen, z-coord. doesn't matter. 2001-09-07 Jeff Freedman <[email protected]> * usecode/intrinsics.cc: Init. conversation if speech enabled. Clears leftover faces on screen. 2001-09-06 Jeff Freedman <[email protected]> * objs/iregobjs.cc, gamewin.cc: Get okay_to_take flag from bit 7 of quality for 'quantity' items. * usecode/ucinternal.cc: Fixed add_party_items() return value for SI. 2001-09-06 Willem Jan Palenstijn <[email protected]> * actors.cc: undid the fix I made to returning party items (Jeff's fix worked better :-) ) * usecode/ucinternal.*: fixed bug with remove_party_items 2001-09-05 Jeff Freedman <[email protected]> * objs/contain.cc (Container_game_object): Fixed add_quantity() so it deals correctly with volume, quality. (Still doesn't check weight, though.) * objs/contain.cc: add_quantity() checks weight. * shapes/shapeinf.h: has_quantity(), has_quality() added. 2001-09-05 Tristan Tarrant <[email protected]> * game.cc, bggame.cc, sigame.cc, usecode/intrinsics.cc, txtscroll.*: do not show quotes entry until user has watched through entire credits sequence. Also do not show endgame entry until user has successfully completed the game. Uses the same quotes.flg and endgame.flg method as the original, but puts them in the SAVEGAME directories instead of STATIC. * cheat.cc: cheating is off by default 2001-09-05 Willem Jan Palenstijn <[email protected]> * actors.cc:fixed crash on transferring items from leaving party member 2001-09-05 Jeff Freedman <[email protected]> * actors.cc (Actor): Fiddling with follow() again. * frameseq.h: Find_unrotated() added to make walking a bit smoother. 2001-09-04 Willem Jan Palenstijn <[email protected]> * tools/Makefile.am: let automake handle the .l and .y files 2001-09-04 Max Horn <[email protected]> * worked on the configure system, re-added various files back to CVS, like config.guess, config.sub etc. Those will be re-generated by autogen.sh if needed, but the supplied version should be just fine usually 2001-09-04 Jeff Freedman <[email protected]> * objs/chunks.cc: Rewrote part of is_blocked() to handle the way SI specifies locations in path_run_usecode(). 2001-09-03 Willem Jan Palenstijn <[email protected]> * configure.in: fixed minor bug 2001-09-03 Ryan Nunn <[email protected]> * audio/midi_drivers/win_midiout.cc : Fixed 'Lising' typo. * objs/chunks.cc : Namespace 2001-09-03 Max Horn <[email protected]> * all Makefiles/configure.in: bumped version to 0.95cvs * configure.in: OS X specific changes; properly use the SDL check supplied with SDL in sdl.m4 (this also required changes to all the Makefile.am files) * Info.plist.in: updated to match configure.in 2001-09-03 Dominik Reichardt <[email protected]> * FAQ and docs/faq/exult_faq.xml: updated FAQ * README and docs/readme/readme.xml: Updated Documentation 2001-09-02 Willem Jan Palenstijn <[email protected]> * objs/chunks.cc: fixed crash (is_roof() needs tile coords, not abs.) 2001-09-01 Jeff Freedman <[email protected]> * actors.cc,chunks.cc: Wrote find_spot(), a smarter finder of free areas for things. Still fiddling with it. * actors.cc,paths.cc: When a companion fails to find a path towards the Avatar, he/she now tries to walk offscreen, then return. Helps avoid slowdowns. 2001-09-01 Willem Jan Palenstijn <[email protected]> * actors.cc: fixed divisions by zero 2001-08-31 Willem Jan Palenstijn <[email protected]> * actors.*, intrinsics.cc: fixed Erethian dropping steaks, by not having monsters created by create_new_object get equipment 2001-08-31 Jeff Freedman <[email protected]> * schedule.cc (Sew_schedule): Fixed crash in Sew_schedule. 2001-08-30 Jeff Freedman <[email protected]> * actors.cc,gameclk.cc,gamewin.cc: Restore HP's, mana hourly. 2001-08-29 Ryan Nunn <[email protected]> * audio/midi_drivers/win_midiout.* : Enumerate the midi devices and output the list to stdout. Allow setting of the midi device with the config key "config/audio/midi/win32_device". -1 (Midi Mapper) is defualt as always. 2001-08-29 Max Horn <[email protected]> * audio/midi_drivers/mac_midi.cc: OS X build via makefile fixed * macosx/exult.icns: added icon file for OS X 2001-08-28 Ryan Nunn <[email protected]> * audio/midi_drivers/win_midiout.cc : Fixed new hanging note problem 2001-08-27 Willem Jan Palenstijn <[email protected]> * gamewin.cc: avoid possible crash * gamewin.*, palette.h: added a 'bool repaint' to 'apply palette' funcs * schedule.cc: fixed crash in Sew_schedule 2001-08-26 Jeff Freedman <[email protected]> * actorio.cc (Actor): Avatar's Usecode function is always 0x400. This fixes Ethicality Test (and probably other bugs). 2001-08-25 Jeff Freedman <[email protected]> * shapes/monstinfo.cc: Cant_yell, cant_bleed flags. * actors.cc,combat.cc: Check above flags. * gamewin.cc: At start of BG, no longer refrain from setting 6:00 am schedules. 2001-08-25 Max Horn <[email protected]> * fixed NEWS and some other files 2001-08-24 Jeff Freedman <[email protected]> * configure.in: Changed version to alpha5 * Makefile.am: Added a couple missing files. 2001-08-24 Willem Jan Palenstijn <[email protected]> * actors.cc: fixed problem with killing Banes 2001-08-24 Willem Jan Palenstijn <[email protected]> * various: replaced unsigned char by uint8 * Makefile.be: updated * gamewin.cc: fixed compile error 2001-08-24 Max Horn <[email protected]> * various files: removed "../" from #include statments * various files: updated copyright header * audio/midi_drivers/mac_midi.cc: clean up; made it easier to port the code to SDL_mixer * pathfinder/path.cc: added prototype for Find_path to get rid of compiler error 2001-08-23 Jeff Freedman <[email protected]> * shapes/shapevga.cc: Only subtract 1 from weapon-strike SFX if in Black Gate. * actors.cc: Observe bounds when setting food level. * objs/objs.cc: Flat shapes always get rendered first. Fixes funny rug in New Magincia. * actors.cc (Npc_actor): Fixed remove_schedule() crash. * effects.cc (Lightning_effect): Use palette 10 for flashing. * game.cc (Game): Made get_game_type() inlined. * actors.cc: Automatons don't need to eat. 2001-08-22 Willem Jan Palenstijn <[email protected]> * npcnear.cc, actors.h: fixed problem with lenses to view Banes 2001-08-22 Max Horn <[email protected]> * audio/midi_drivers/mac_midi.*: changed copyright back to "Max Horn" with consent of the team. This was done so that the code can be used for SDL_mixer, too. 2001-08-22 Willem Jan Palenstijn <[email protected]> * actors.cc, actions.cc: fixed compile error + warning 2001-08-22 Jeff Freedman <[email protected]> * conversation.cc: Limit to two spots, & replace 2nd if no room. * actions.cc: 'handle_event_safely()' checks for being deleted. 2001-08-21 Ryan Nunn <[email protected]> * gamedat.cc : Fixed endian issue with save counts. 2001-08-21 Max Horn <[email protected]> * audio/Midi.cc: enabled MIDI driver on OS X * audio/midi_drivers/mac_midi.*: enabled MIDI driver on OS X 2001-08-20 Willem Jan Palenstijn <[email protected]> * gamewin.cc: fixed Gwenno bug. (also accept NPCnums < 0x80 for bodies) * contain.cc: fixed infinite-volume containers (eg. hollow tree) 2001-08-20 Max Horn <[email protected]> * exult.cc: disabled mouse clicks during dont_move mode * gamerend.cc: disabled gump rendering during dont_move mode * gamewin.*: fixed Game_window destructor to not crash anymore; added main_actor_dont_move() method * keys.cc, mouse.cc: now uses main_actor_dont_move() * menulist.cc: enabled Cmd-Q quit command for OS X, too * sigame.cc: quick fix to lessen the palette issues a bit; real fix needed * macosx/SDLMain.m: reverted to basic SDL version of this file 2001-08-20 Willem Jan Palenstijn <[email protected]> * intrinsics.cc: *_execute_uc_array return true (fixes bedroll bug) 2001-08-20 Max Horn <[email protected]> * mouse.cc: changed set_speed_cursor() to set hand cursor when in dont_move mode 2001-08-20 Ryan Nunn <[email protected]> * cheat_screen.cc/.h : Added 'Advanced' numerical NPC Flag editor. 2001-08-20 Ryan Nunn <[email protected]> * actorio.cc : Save and restore all 64 flags. * audio/midi_drivers/win_midiout.cc : Implimented fix for hung notes (bug #449990) * shapes/shapevga.cc : fixed compiling error. 2001-08-20 Max Horn <[email protected]> * keys.cc: key handling during dont_move is now properly restricted; each key Action now has a flag determing if it can be used during dont_move 2001-08-19 Jeff Freedman <[email protected]> * shapes/shapeinf.h,shapevga.cc: Read in 'occludes.dat' & set occlude_flag in Shape_info. 2001-08-19 Max Horn <[email protected]> * exult.cc: no more "exception caught" upon a normal quite * keys.cc: no keys except for quit are handled when dont_move flag is set * shapeid.h: added virtual destructor to make compiler happy * various files: fixed compiler warnings, cleanup 2001-08-19 Willem Jan Palenstijn <[email protected]> * gamewin.*, exult.cc: fixed -buildmap option 2001-08-19 Jeff Freedman <[email protected]> * objs/chunks.cc: Enabled new render compare() method. Time to hide. * objs/objs.cc: Fixed goof in new render compare() method. 2001-08-18 Willem Jan Palenstijn <[email protected]> * Makefile.*: added Text_button.cc * Text_button.cc: added legal header, include config.h and Gump.h 2001-08-18 Ryan Nunn <[email protected]> * gumps\Text_button.*, gumps\Gump_ToggleButton.* : New Text_button and Gump_ToggleTextButton button classes. * gumps/VideoOptions_gump.cc, data/*.*, Makefile.* : Made the scaler button in the video options gump a Gump_ToggleTextButton. Removed the old no longer required scaler shape. Updated Makefiles. * Misc files: Added Derek's new Super2xSaI scaler. * data/credits.txt : Added Super2xSaI to Derek's credits. * msvcstuff/Exult.rc : Added version table for MSVC compiled Exult. * objs/barge.cc : Barge_object::get_tile_footprint can't be inlined like it is in MSVC. 2001-08-18 Patrick Burke <[email protected]> * usecode/ucxt/*.[cc|h]: Removed imbedded usecode table; which broke old-ucs script output; fixed that (kinda); added more correct jump table generation. * Docs/opcodes.txt: more documentation about format; slightly changed asm output format. 2001-08-18 Jeff Freedman <[email protected]> * objs/objs.cc: Experimental render-orderer 'compare()'. Not enabled. 2001-08-17 Max Horn <[email protected]> * audio/pcb.*: fixed possible crash on MacOS, some clean up * audio/midi_drivers/mac_midi.*: compiles again on classic MacOS * fnames.h: changed for MacOS X again (set default value for EXULT_DATADIR) * gamewin.*: red plasma is now blue in SI * gumps/Modal_gump.h, Gamemenu_gump.cc, gump_utils.cc, Newfile_gump.cc: fixed screen redrawal after loading a game. 2001-08-17 Ryan Nunn <[email protected]> * actors.cc : Swamp boots should now work in SI * cheat.cc : Namespace stuff * msvcstuff/Exult.dsp : Added extra files to the project 2001-08-16 Jeff Freedman <[email protected]> * objs/egg.cc (Egg_object): Create random # of monsters, and find free spots for them (which could be better, since it's not checking their whole footprints, but I want to create a general method for doing that). * usecode/ucinternal.cc: SI crystal balls working again. * usecode/intrinsics.cc: run_usecode() replaced by set_path_failure(). 2001-08-15 Jeff Freedman <[email protected]> * actions.cc (If_else_path_actor_action): New action type. * ucinternal.cc,intrinsics.cc: Rewrote 'path_run_usecode()'. Still not quite done (got to redo run_usecode()). 2001-08-14 Patrick Burke <[email protected]> * usecode/ucxt/Docs/opcodes.txt: more updates, changes to handle additional output format options * usecode/ucxt/*.[cc|h]: fiddled with command line options; added additional assembler output options; old-ucs format "works" extremely brokenly rather then assert() failing; can now output entire USECODE file; squished obscure crash bug. * (quick update) usecode/ucxt/*: removed imbedded intrinsic table, now stealing it from ??intriniscs.h 2001-08-14 Jeff Freedman <[email protected]> * actors.cc: Test 'dont_die' flag during combat. 2001-08-13 Max Horn <[email protected]> * audio/Audio.cc: make use of exceptions * audio/midi_drivers/mac_midi.cc: dynamic buffer resizing, enhanced pitch bend support, some fixes * gumps/File_gump.cc: fixed Gump_text::paint() to match other gumps * gumps/Newfile_gump.cc: changed to not restore background in destructor * bggame.*: more code cleanup; added possibility to skip parts of the intro some other changes * exceptions.h: added quit_exception and file_exception (base class for all file related exceptions) * game.*: changed wait_delay to treat Return/Enter differently (used by the intro to skip parts of it) * gamedat.cc, gamewin.*, readnpcs.cc: added red-plasma animation during game loading * palette.cc: fixed fade_in/fade_out * tqueue.cc: changed to use proper way to remove first element from a std::list 2001-08-13 Jeff Freedman <jsf@usf-cf-x86-linux-1> * Lots: Moved Monster_info to its own files in the shapes directory. The ptrs. to these are now stored in Shape_info. 2001-08-12 Jeff Freedman <[email protected]> * usecode/intrinsics.cc: Roll_to_win() intrinsic added. Flash_mouse() improved (I think). 2001-08-11 Jeff Freedman <[email protected]> * objs/chunks.cc (Map_chunk): Fixed yet-another world-wrap crash. * effects.cc,intrinsics.cc: Added intrinsic npc_sprite_effect() for BG. * objs/egg.cc: Put back Egg_object::remove_this. It's needed. * combat.cc: Try to avoid striking someone on a different level. 2001-08-12 Max Horn <[email protected]> * audio/midi_drivers/mac_midi.*: fixed NOTE OFF matching; fixed stuffing of Extended Note Events; fixed tempo change; most importantly, fixed usage of REST events (those are *not* accumulated by QTMA hence we have to do it manually). 99% finished, need to tidy it up for release. * files/utils.*: added to_uppercase() variant * conf/Configuration.* added value() accesor for booleans; cleand up code a bit * gumps/AudioOptions_gump.cc: fixed compiling with ENABLE_MIDISFX enabled * gumps/Gump_manager.cc: added option that allows a double click to close a gump like in U8 (based on a patch by Paul Hebble) * gumps/VideoOptions_gump.cc: fixed possible bad crash that could occur if user specified a custom screen resolution that we didn't anticipate * usecode/useval.h: added missing #include <cassert> * actors.h: namespace policy; renamed set_default_frames to init_default_frames and made it a static method, and hacked it to do 3-frame walk animations * exult.h: doesn't export gwin anymore, use Game_window::get_game_window() instead * exult.cc: make use of new Configuration::value method for booleans * keyactions.cc: changed usage of gwin to Game_window::get_game_window() 2001-08-11 Jeff Freedman <[email protected]> * schedule.cc: Use better pathfinder for Talk schedule. * actorio.cc,actors.h: Monster_info::read() replaces set(), with a few more fields figured out. 2001-08-10 Willem Jan Palenstijn <[email protected]> * cheat.cc: Ctrl-D now properly checks inside gumps * contain.*: extract items inside container when destroying it * gamewin.cc: destroy contents of container before culling it * objs.cc, contain.cc: fix attacking containers (see yesterday's log) * gamewin.cc, objs/various: you can now no longer call gwin::delete_object to delete an item, use Game_object::remove_this 2001-08-10 Tristan Tarrant <[email protected]> * gamewin.cc, keyactions.cc, gumps/Face_stats.*: save/restore face status * NEWS: updated 2001-08-10 Willem Jan Palenstijn <[email protected]> * configure.in: also build data files even with --disable-tools (oops) 2001-08-10 Jeff Freedman <[email protected]> * schedule.cc (Sleep_schedule): Always try to find bed. * usecode/intrinsics.cc: Remove_npc() sets schedule to 'wait' so NPC won't come back. * actors.cc: Got to set flag 0x10 even if in SI, since it gets tested in Usecode. * actors.cc,intrinsics.cc: Update_forced_schedule() caused Iolo bug in Purity Test; disabled. * ucsched.cc,ucscriptop.h: Usecode2 script for fixing Zorkhas Bridge crash. 2001-08-10 Dominik Reichardt <[email protected]> * FAQ and docs/faq/exult_faq.xml: updated FAQ * docs/faq/faq_text.xsl: link to html FAQ updated * docs/readme/makefile.*: generate docs.dat instead of doc.dat * README and docs/readme/readme.xml: Updated with MacOS midi and Status bar * docs/readme/*.xsl: some changes 2001-08-09 Max Horn <[email protected]> * audio/midi_drivers/mac_midi.cc: channel pan/volume; tempo; fixed note off recognition; fixed polyphony calculation; dealloc the midi event list properly Now works much better, but I just got a crash for it, so it needs more work * audio/xmidi.cc: fixed default channel volume from 64 to 90; initialize all event structs with zeros, which makes debuggin midi drivers easier * mac/ExultMac.mcp.xml.sit: new version of the MacOS project file 2001-08-09 Willem Jan Palenstijn <[email protected]> * shapeinf.h: added the 'has_hp' object type * objs.*: use the has_hp object type to determine if objects are destroyable. (doors are exception). Also call intrinsic 0x626 if object is destroyed. TODO: do the same for containers. (using the 'resistance' field) unfortunately this implies that the remove_item intrinsic will also have to extract the contents of a container... 2001-08-09 Max Horn <[email protected]> * audio/midi_drivers/mac_midi.*: mac midi driver now semi-working! It will assert for the BG menu MIDI (and for others, too), and still lacks some important stuff, but it is a beginning! Figured I better check this in before my HD crashes or so, don't be shocked if you look at this messy code ;) 2001-08-09 Willem Jan Palenstijn <[email protected]> * ucinternal.*, ucmachine.h, intrinsics.cc, exult.*, keyactions.cc: removed the Put_click hack. Replaced it by 'intercept_click_on_item', which sets an item that the next click_on_item will return * tools/Makefile.am: always build expack, even with --disable-tools 2001-08-09 Jeff Freedman <[email protected]> * objs/egg.cc: Schedule egg Usecode call instead of executing immediately. Fixes Moonshade Trial bug. 2001-08-09 Patrick Burke <[email protected]> * conf/*.[cc|h]: added some "const"'s * usecode/ucxt/Docs/usecode.txt: merged updates by wjp * usecode/ucxt/*: integrated reading from usecode.txt, which broke old-usecode-script output and assembler "comments" (';') 2001-08-08 Ryan Nunn <[email protected]> * conf/XMLEntity.cc, usecode/useval.cc: std namespace stuff. * actorio.cc, actors.cc, actors.h, usecode/intrinsics.cc: A fix for the bridge crash in Serpent Isle. * shapeid.cc, shapeid.h: Now possible to force a shape from any file to be drawn translucent. * gamerend.cc, gamewin.cc, gamewin.h, objs/chunks.cc, objs/chunks.h: New dungeon rendering method. Should hopefully be almost perfect. * gumps/Paperdoll_gump.cc: Tweak to hand rendering offsets * win32/exult.ico: Updated Icon for Windows * msvcstuff/*.*: Misc project setting changes 2001-08-08 Jeff Freedman <[email protected]> * usecode/ucsched.cc (Usecode_script): Changed name, cleaned up constructors so the header doesn't depend on useval.h * usecode/ucscriptop.h: Script opcodes. 2001-08-07 Willem Jan Palenstijn <[email protected]> * uctools.h: brought up-to-date to the rest of exult * ucinternal.*: risky usecode changes to (hopefully) fix conversations. 2001-08-07 Tristan Tarrant <[email protected]> * server/objserial.h: add an #include <string> * imagewin/scale.cc: copyright of 2xSaI is GPL 2001-08-07 Max Horn <[email protected]> * bggame.cc: butterfly & "static" are now steered via proper timers, thus should have the same speed regardless of your scaler and the speed of your machine 2001-08-07 Max Horn <[email protected]> * ibuf16.cc: needed to include cstdlib but didn't * autoarray.h: needed to include exult_types.h but didn't * bggame.cc: added #include <memory>; fixed butterfly path for higher resolutions 2001-08-07 Jeff Freedman <[email protected]> * objs/barge.cc (Barge_object): Don't rotate ice raft. * objs/objs.cc: Much simpler ::get_rotated_frame(). * usecode/ucsched.cc (Scheduled_usecode): Opcode 0x21 = 'nop'. 2001-08-07 Max Horn <[email protected]> * audio/Audio.h/.cc: added is_track_playing method; also fixed speech on MacOS (my first speech bug fix was breaking the second, real fix) * audio/Midi.h: added is_track_playing method * bggame.cc: loads of changes, intro should be much better now, and better structured; this is work in progess, not yet finished * exceptions.h: added UserBreakException * imagewin/imagebuf.cc/.h, ibuf8.cc/.h, ibu16.cc/.h: added fill_static method * game.cc: fixed wait_delay() to recognize very quick clicks (that measn very short delay between mouse down and mouse up) * game.h: factored out BG_Game && SI_Game class declarations into new headers * added bggame.h, sigame.h * mac/*: added legal header to some files * sigame.cc; cleaned up intro code a little bit * various files: updated legal headers 2001-08-06 Max Horn <[email protected]> * audio/Audio.cc: fixed the fix for MacOS speech output 2001-08-06 Tristan Tarrant <[email protected]> * configure.in, files/snprintf.cc, files/Makefile.am, files/utils.h: add an implementation of snprintf for OSs which don't provide one (Irix???) * mapedit/Makefile.studio.mingw: updates from Kirben 2001-08-06 Max Horn <[email protected]> * exult_constants.h: added FORGET_OBJECT and FORGET_ARRAY 2001-08-06 Jeff Freedman <[email protected]> * drag.cc,actors.cc: Readied/unreadied Usecode is now called at end of drag. (Unreadied is also still called in Actor::remove()). * usecode/intrinsics.cc: Don't close gumps if dragging something. * objs/objs.cc: Modified ::lt() so buttons on pillars show up in Test of Purity. 2001-08-06 Max Horn <[email protected]> * gumps/Gump_manager.cc/.h: added find_gump based on owner/shapenum * actors.cc/.h: added inventory_shapenum() * keyactions.cc: ActionStats/ActionInventory now work like they always should have 2001-08-06 Max Horn <[email protected]> * Stats_gump.cc fixed bug where you could drag items from the gump * actors.cc: fixed pick pocketing bug (pick pocket could be triggered by usecode events) * conf/XMLEntity.cc: small fix to correct what I broke before (<configconfigconfigconfig>) * actorio.cc, gumps/Spellbook_gump.cc: removed annoying unneeded output * audio/pcb.h, gamewin.h, usecode/intrinsics.cc: cleaned up debug message output 2001-08-06 Jeff Freedman <[email protected]> * gamewin.cc: Fixed stairway crash (world-wrapping problem). 2001-08-05 Max Horn <[email protected]> * audio/midi_drivers: changed Makefile.am * audio/midi_drivers/forked_player.cc: removed the unuses "../.." stuff * usecode/ucinternal.h: added "class Barge_object;" * exult.h: added some "class XYZ;" 2001-08-05 Max Horn <[email protected]> * audio/Audio.cc, cheat.cc: properly uses Game::get_gametitle() now * game.cc: tweaked source a bit * exult_constants.h: changed #if DEBUG to #ifdef DEBUG to match rest of exult * mac: ExultHeaders.pch fixed 2001-08-05 Max Horn <[email protected]> * keys.cc, gumps/Gamemenu.cc: added forgotten #include "exult.h" 2001-08-05 Max Horn <[email protected]> * shapes/bodies.cc/h: moved Is_body from gamewin.cc to here * bggame.cc: added missing prototypes (making compiler happy) * exult.h: added, allowed to remove "extern ..." in many files * various files: updated legal headers; removed extern's; and other clean up 2001-08-05 Willem Jan Palenstijn <[email protected]> * various: compiles on Linux again 2001-08-05 Max Horn <[email protected]> * files/utils.cc/.h: added missing prototypes * conf/XMLEntity.c/.h: removed class XMLEntity; added XMLNode methods dump, xmlassign and xmlparse * conf/xmldump.cc, conf/xmlparse.cc: removed * conf/Configuration.cc: make use of new XMLNode methods dump/xmlassign/xmlparse * exult_constants.h: added c_empty_string constant * desktop/exult.png: new picture * mac/*: updated/added various mac specific files * various files: updated legal headers 2001-08-05 Willem Jan Palenstijn <[email protected]> * objs.cc: fixed serpent ring/ring naming problem * game.*, gamewin.cc, exult.cc: fixed 'return to menu' problem with SFX * vid_resolution.shp: 512x348 -> 512x384 * schedule.cc: don't use frame 15 for dancing; many NPCs don't have it, also fixed movement bug in Dance_schedule 2001-08-05 Max Horn <[email protected]> * flic/playfli.h: was not double include protected! (caused troubles when using precompile headers) 2001-08-05 Jeff Freedman <[email protected]> * gamewin.cc,actors.cc,actorio.cc: Turn off 'flee' mode when switching to combat unless user explicitly choose 'flee'. * audio/Audio.h (public): Got rid of annoying warning. * conversation.cc: No face for Smith the Nightmare. * keyactions.cc: Applied Put_click() patch for keys. 2001-08-04 Willem Jan Palenstijn <[email protected]> * game.cc: fixed 'return to menu' after 'start new game' bug * configure.in, acconfig.h: define VER_MAJOR, VER_MINOR, VER_EXTRA 2001-08-04 Jeff Freedman <[email protected]> * usecode/intrinsics.cc: Barge flag for SI fixed. * intrinsics.cc: Watch for set_quality(-359). 2001-08-03 Max Horn <[email protected]> * exult_constants.h: fixed COUT/CERR to use namespace std: * dir.cc: fixed comments in Get_direction16. Hey Jeff, weren't you a mathematician or so in the past? 8-) * various files: code cleanup, removed unneeded output and/or replaced usage of cerr/cout with CERR/COUT in various place (only the tip of the iceberg) 2001-08-03 Willem Jan Palenstijn <[email protected]> * bggame.cc: fixed palette-change-flash in BG intro * sigame.cc: same for SI 2001-08-03 Max Horn <[email protected]> * audio/Audio.cc: added static Audio::Destroy() to deinit the audio system * exult.cc: properly use Audio::Destroy() to deinit the audio system 2001-08-03 Max Horn <[email protected]> * configure.in: slight change for Darwin/Mac OS X * audio/conv.cc added, conv.h cleaned up * audio/Audio.cc/.h: cleaned up code, fixed speech output on big endian systems * audio/Mixer.cc: code clean up * audio/pcb.h: disabled a call to "cerr" in the MacOS version, as it could be hit during the audio call back, leading to a deep crash * usecode/useval.c: namespace clean up * Makefiles: added conv.cc * many many files: added/updated/unified legal header 2001-07-03 Dominik Reichardt <[email protected]> * docs/faq/ and docs/readme/ : added makefile.win32 as Unix uses ':' as seperator and Win32 uses ';'. Changed makefile to output *.dat instead of *.inc 2001-08-03 Willem Jan Palenstijn <[email protected]> * gumps/Jawbone_gump.cc: fixed Jawbone display bug 2001-08-03 Jeff Freedman <[email protected]> * usecode/conversation.cc (Conversation): Show faces with translucency, and center text if screen is filled by face. * usecode/intrinsics.cc: Don't check for blocking if it looks like a drawbridge (this whole thing is kind of a mess!). * gamewin.cc: Don't get stuck after teleporting. * actions.cc: Avatar can open doors now. 2001-08-02 Jeff Freedman <[email protected]> * objs/egg.cc (Egg_object): Rectangle was 1 tile too small. * actors.cc: Don't call 'unready' usecode if within usecode already. 2001-08-01 Jeff Freedman <[email protected]> * gumps/Sign_gump.cc (Sign_gump): Scroll in SI. * objs/objs.cc: In SI, don't 'find_nearby()' teleport eggs. Fixes wine cask bug. (Though it may not be the right way; it's possible this is really a bug in the script, and the original SI just found the eggs in a different order than Exult.) 2001-07-31 Ryan Nunn <[email protected]> * exultmenu.cc, bggame.cc, sigame.cc : Namespace, need I say more? * fnames.h, shapes/*.*: Allow patch reading for vga files. Made shapes.vga and all shape info files to read patches. * gamerend.cc, gamewin.h: Moved call to Gump_manager::update_gumps() to Game_window::paint_dirty() from Game_window::paint(x,y,w,h). * gumps/Face_stats.cc: Made the Face Stat Bars a little safer by only accessing the actors during calls to update and not when painting. * gumps/*.* : Some minor changes to gump shape painting. * otherfiles : Misc changes required due to referencecs to DataSources being change to pointers in shapevga.cc/h. 2001-07-31 Max Horn <[email protected]> * files/utils.cc: worked arround bug in mkdir() on OS X/Darwin 2001-07-31 Tristan Tarrant <[email protected]> * game.h, bggame.cc, sigame.cc: add methods for discovering valid path settings. * exultmenu.cc: show only valid game entries in menu or warning if none available. 2001-07-31 Jeff Freedman <[email protected]> * ucsched.cc,exult_constants.h,effects.cc: Use c_std_delay for standard animation delay. * intrinsics.cc: okay_to_flay=>on_barge. Turtle in SI now works. 2001-07-30 Ryan Nunn <[email protected]> * cheat_screen.cc, gamewin.h, shapeid.cc, shapeid.h, gumps/Gump.cc: ShapeID now also can specify if a shape is translucent. This fixes some problems where translucent objects weren't drawn as translucent. * gumps/Paperdoll_gump_info.cc: Fixed crash when using status bars and Rowena was in your party and you don't have SI. 2001-07-30 Willem Jan Palenstijn <[email protected]> * objs.cc: fixed books in SI 2001-07-30 Ryan Nunn <[email protected]> * gumps/Face_stats.cc: Fixed nasty bug with higher resolutions 2001-07-30 Ryan Nunn <[email protected]> * gumps/Spellbook_gump.cc: Fixed incorrect drawing of spells. 2001-07-30 Willem Jan Palenstijn <[email protected]> * various: made it compile on Linux again * cheat.cc: heal-party now also restores mana 2001-07-30 Ryan Nunn <[email protected]> *.* : Can now specify the flex file for ShapeIDs. Added Shape_frame *ShapeID::get_shape() to be used as a universal method to get a shape for an object. Added Game_window::paint_shape(int x, int y, ShapeID &s) Removed some of the Game_window::paint_???_shape() method because paint_shape(int x, int y, Shape_frame *shape) or paint_shape(int x, int y, ShapeID &shape) can be used instead. Added Face Stats for on screen display of stats. Added some shapes for the Face Stats. Gump_widget now inherit ShapeID. Made lots of changes to the Gumps to use the new ShapeID::get_shape(). All gumps that use custom shapes use the expack generatedheaders. Added Gump_manager class to manage gumps and to remove gump management code from Game_window. Note, some of the method names have changed for Gump_manager compared to Game_window. Added call to Gump_mananger::update_gumps() so the Face_stats will be updated when required. Now saving and loaded 16 bit numbers for NPC shapes and polymorph shapes. Allows for use of Shapes above 1023 and polymorph shape will now be correct across game restorying. NPC's now have the is_temporary flag saved and restored. This will fix up a problem where if a temporary NPC was saved, when reloaded it wouldn't get culled by calls to emulate_cache_out. Can now use the shape brower to specify shapes in the F2 cheat screen. Added support for changing polymorphs in the NPC Flags screen. Made a few changes so clicking on a gump will report the name of the gumps owner. Also made it so if you click on a gump when Uscode Intrinsic "click_on_item" is called the owner of the gump is returned. This allows for using potions, food, spells, etc and clicking on a gump for that person. That included the face stats gumps. 2001-07-30 Jeff Freedman <[email protected]> * ExultStudio: Added generic object editing dialog. 2001-07-28 Willem Jan Palenstijn <[email protected]> * configure.in, acconfig.h, various: --disable-exult-studio-support * sigame.cc: fixed crash when starting new SI game * exult.cc, game.cc, U7file.*, utils.*, font.*: 'return to menu' works 2001-07-28 Jeff Freedman <[email protected]> * effects.cc (Storm_effect): Now uses method in Game_clock to set palette. 2001-07-27 Willem Jan Palenstijn <[email protected]> * Makefile.win32, README.win32: Travis' changes for latest mingw 2001-07-27 Jeff Freedman <[email protected]> * Fixed Usecode bug I caused with change to get_elem(). * Fixed crash in reflect. Also, num_shapes is returned as the original #, not counting reflected shapes. 2001-07-27 Patrick Burke <[email protected]> * usecode/ucxt/*.[cc|h]: rewrote entire usecode file parser inherited from ucdump, twice as slow, but it's maintainable. * docs/usecode_ff.txt: Added a quick and dirty BNF overview of the USECODE file format that was generated whilst rewriting the above. It should be correct, maybe just not understandable. 2001-07-26 Tristan Tarrant <[email protected]> * exult.cc, game.cc, game.h: implement "Return to menu" functionality * files/IFF.cc, files/utils.cc: clean up some printouts * gumps/VideoOptions_gump.cc: converted to use the expack-generated EXULT_FLX_* constants * shapes/font.*: release memory on deallocation of fonts * shapes/vgafile.*: allow reuse of shape objects for different files 2001-07-26 Patrick Burke <[email protected]> * usecode/siintrinsics.h: lacked UNKNOWN opcode definitions for 0xf7...0xff causing eldritch errors in ucxt. * usecode/ucxt/Docs/opcodes.txt: updated to note AIDX change. 2001-07-26 Jeff Freedman <[email protected]> * actors.cc (Actor): Approach_avatar() only waits at most 1/10 sec. now, just enough time for NPC to step to edge of screen. * objs/contain.cc (Container_game_object): find_item() checks quality. This fixes the disappearing key bug. 2001-07-26 Willem Jan Palenstijn <[email protected]> * ucinternal.cc: fixed AIDX opcode (keyring works again) 2001-07-26 Patrick Burke <[email protected]> * usecode/ucxt/*.[cc|h]: integration with exult .xml config file; proto-integration with opcodes.txt data file; replaced all legacy FILE* with C++ iostreams. * usecode/ucxt/Docs/opcodes.txt: corrections and additions. 2001-07-25 Tristan Tarrant <[email protected]> * mapedit/*.cc: wrapped gdkx.h header in #ifdef XWIN/#endif 2001-07-25 Jeff Freedman <[email protected]> * npcnear.cc: Don't execute 'nearby' usecode for NPC's in the 'wait' schedule. Fixes Fawn Trial infinite-loop bug. * actors.cc,intrinsics.cc: SI/SS goodies should work now (although I haven't tested the Blink Ring or Reagants Ring). 2001-07-24 Willem Jan Palenstijn <[email protected]> * exult.cc: BeOS: get exult path on startup 2001-07-24 Tristan Tarrant <[email protected]> * usecode/useval.h: add a cast to get_elem() to make it compile 2001-07-24 Jeff Freedman <[email protected]> * usecode/useval.cc (Usecode_value): Operator== compares array elems. * usecode/intrinsics.cc: Intrinsic get_body_npc() added. 2001-07-22 Jeff Freedman <[email protected]> * Shape_chooser: Added 'Search' widgets. * actors.cc: Call usecode for sleep arrow hit. * intrinsics.cc: click_on_item special case for weapon. 2001-07-21 Ryan Nunn <[email protected]> * Makefile.cygwin, Makefile.win32: Create Flexes and Flex headers first 2001-07-21 Jeff Freedman <[email protected]> * intrinsics.cc: Guessing at SI intrinsics 0x74, 0x75 for fixing Silver Seed exit bug. 2001-07-20 Tristan Tarrant <[email protected]> * exultmenu.cc: use the expack-generated EXULT_FLX_* constants 2001-07-20 Willem Jan Palenstijn <[email protected]> * objs.cc: allowing destroying of debris (Silver Seed) 2001-07-20 Jeff Freedman <[email protected]> * gamerend.cc: Show grid when map-editing. * ExultStudio: Added 'lift' setting to make it possible to position objects off the ground. 2001-07-19 Willem Jan Palenstijn <[email protected]> * configure.in: Solaris: -lX11 instead of -lX 2001-07-19 Jeff Freedman <[email protected]> * usecode/ucinternal.cc (Usecode_internal): Clean up stack in CMPS. * Ucinternal.{cc,h}: Separated out most of Usecode_machine here to cut down on included code (ucmachine.h is much smaller now). 2001-07-18 Dominik Reichardt <[email protected]> * docs/faq/: updated FAQ * docs/IslandAddOn.txt added with all the ideas so far for a BG Add-On * Faq: updated * audi/conv.h : changed to play correct sfx in SI (hopefully) 2001-07-18 Jeff Freedman <[email protected]> * Testing with EFence: Fixed a couple memory bugs, including one during the voyage of Hawk's ship. * ExultStudio: Added 'Read map', 'Reload usecode' commands. 2001-07-17 Willem Jan Palenstijn <[email protected]> * gamewin.cc, ibuf8.cc: minor changes to allow compile on Be * listfiles.cc: implemented U7ListFiles on Be * Makefile.be, beos/exult.rsrc: updated 2001-07-16 Willem Jan Palenstijn <[email protected]> * exult.cc: palette-cycle 248-541 too * various: re-added Hack-mover mode (Alt-H) 2001-07-16 Ryan Nunn <[email protected]> * usecode/intrinsics.cc: Modified si_path_run_usecode to fix the, to quote WJP, "most important part of SI" aka the Figidazzi sex scene. 2001-07-16 Willem Jan Palenstijn <[email protected]> * Spellbook_gump.cc: added missing reagents, corrected order * various: s/reagants/reagents/ 2001-07-15 Willem Jan Palenstijn <[email protected]> * exult.cc: palette-cycle 244-247 too * scale.cc: merged Maciej Kalisiak's bilinear scaler patch. Thanks! 2001-07-15 Jeff Freedman <[email protected]> * gamewin.cc: read() now calls setup_game(), removing some duplicated code. * EStudio: Show 'face' and allow setting by dropping from shape-browser. * EStudio: Stop time when map-editing. * Added "Play/test" toggle button to main EStudio window. 2001-07-14 Jeff Freedman <[email protected]> * Name changes: Chunk_object_list -> Map_chunk. gwin->get_objects() -> gwin->get_chunk(). 2001-07-13 Willem Jan Palenstijn <[email protected]> * egg.cc: #include cheat.h not only for XWIN * font.cc: check for NULL shape in get_text_width() * objs.cc: more SI object names 2001-07-13 Jeff Freedman <[email protected]> * actorio.cc: Save/restore face_num. 2001-07-12 Willem Jan Palenstijn <[email protected]> * Paperdoll_gump_info.cc: fixed Gwani cloak bug * mapedit/Makefile.am: possible fix for slighty incompatible 'make' 2001-07-12 Jeff Freedman <[email protected]> * actions.cc, actors.cc: Start schedule even if NPC is not within world. Fixes SI Moonshade-kidnap bug. * Exult Studio now has a 'save map' option. Files are stored in the <PATCH> directory (specified in 'exult.cfg'. 2001-07-11 Max Horn <[email protected]> * data/quotes.txt: new quote ;) * various files: removed the emacs header that force the fundamental mode to be used 2001-07-11 Ryan Nunn <[email protected]> * objs/chunks.cc : Added shapes 394 and 941 as mountain types for dungeon checking in Serpent Isle. Removed the per Superchuck dungeon hack for Knights Test and Silver Seed quest. This should fix all the dungeon rendering errors in SI. 2001-07-11 Tristan Tarrant <[email protected]> * mapedit/Makefile.am: add stuff needed for exult_studio.glade. It is now installed in the right place and included in the dist. 2001-07-11 Jeff Freedman <[email protected]> * npcnear.cc: Fixed Lucilla 'sleep' bug. Also, delay was being set to 3000 seconds; now set to 5 secs. between checks. 2001-07-10 Jeff Freedman <[email protected]> * /mapedit: Chunk browser added. And you can drag a chunk (terrain) into Exult. 2001-07-10 Dominik Reichardt <[email protected]> * Makefile.cygwin, Makefile.win32: Travis' updates 2001-07-09 Dominik Reichardt <[email protected]> * docs/faq/: updated FAQ and changed the layout and the layout files * Faq: updated 2001-07-09 Ryan Nunn <[email protected]> * gamewin.cc: Casting an unsigned char* to char* * tools/expack.cc: Expack will now produce a header for any flex it creates. The Header is called name_flx.h or simlar. The header contains #defines for all the files that have been put in it. 2001-07-09 Willem Jan Palenstijn <[email protected]> * game.cc, ??game.cc, exultmenu.cc, gamewin.*, keyactions.cc: fixed more annoying palette-flashes. cleaned up a bit * imagescl.cc: fixed 2xSaI, supereagle, bilinear problem 2001-07-09 Dominik Reichardt <[email protected]> * docs/faq/readme.txt: instructions on how to build FAQ 2001-07-09 Willem Jan Palenstijn <[email protected]> * keys.cc: renamed 'SI intro' to 'alternate SI intro' * useval.*: added an undefined state to fix various display issues 2001-07-09 Tristan Tarrant <[email protected]> * gumps/Slider_gump.cc: handle left/right arrows (as suggested on IRC by Dominus) 2001-07-09 Tristan Tarrant <[email protected]> * gumps/VideoOptions_gump.*: implemented part of the Video Options in-game menu. Still lacking gamma sliders * data/*.shp: shapes needed for the above 2001-07-09 Tristan Tarrant <[email protected]> * gumps/Slider_gump.cc: allow clicking on scroller area to quickly move to the desired position 2001-07-09 Tristan Tarrant <[email protected]> * bggame.cc: worked on getting correct timing of Guardian in intro. It should work at all resolutions/scaling factors. * gamewin.cc: made plasma 8 times faster 2001-07-09 Jeff Freedman <[email protected]> * gamerend.cc: Show chunk outlines when in map-editor mode. 2001-07-08 Jeff Freedman <[email protected]> * gamewin.cc: Recoded write_map(). 2001-07-07 Willem Jan Palenstijn <[email protected]> * chunkter.cc: check for NULL shape before drawing flat. (for FoV) 2001-07-07 Max Horn <[email protected]> * files/listfiles.cc: finished up mac implementation of file lister * gumps/Newfile_gump.cc: removed old junk * gamewin.cc: added using std::ios 2001-07-07 Jeff Freedman <[email protected]> * Chunkter.{cc,h}: First use of Chunk_terrain seems to work. 2001-07-06 Willem Jan Palenstijn <[email protected]> * ibuf8.cc, Makefile.am: include utils.h 2001-07-06 Ryan Nunn <[email protected]> * cheat.cc, exult.cc, menulist.cc, gumps/gump_utils.cc: Fixed all problems with scale factors other 2. * exult.cc, imagewin/imagewin.cc, imagewin/imagewin.h: Only repaint the entire screen when doing palette cylcing and scaling if a palette isn't being used. * imagewin/ibuf8.cc, imagewin/ibuf8.h, shapes/vgafile.cc: Improved RLE drawing code. Almost completely rewrote paint_rle(), and moved it to Image_buffer8 * imagewin/scale.cc, imagewin/scale.h: Slightly improved Point and Interlaced scalers. * msvcstuff/msvc_kludges.h: Tweak 2001-07-06 Tristan Tarrant <[email protected]> * exultmenu.cc, bggame.cc, sigame.cc: display version on main menu, instead of during intro 2001-07-06 Willem Jan Palenstijn <[email protected]> * Paperdoll_gump_info.cc: fixed "can't wear leather collar" bug * exultmenu.cc: fixed annoying flash between menus 2001-07-06 Jeff Freedman <[email protected]> * gamewin,actors: Dead_bodies are created with the is_temporary flag if their owners had it. The old dead-bodies queue and associated methods are no longer needed, and have been removed. 2001-07-05 Ryan Nunn <[email protected]> * msvcstuff: Files required to compile Exult with MSVC++ 6 * Most files: Changes to get Exult to compile with MSVC++ 6 2001-07-05 Willem Jan Palenstijn <[email protected]> * server.cc: removed double config.h, added #ifdef HAVE_CONFIG_H 2001-07-05 Jeff Freedman <[email protected]> * Pre-render flat areas for each chunk. 2001-07-04 Jeff Freedman <[email protected]> * gamewin.h,npcedit.cc: ExultStudio can now add new NPC's to the game (but schedule-setting still needs a bit of work). 2001-07-04 Dominik Reichardt <[email protected]> * docs/faq/exult_faq.xml: FAQ updated see FAQ for details * Faq: updated 2001-07-03 Willem Jan Palenstijn <[email protected]> * configure.in, Makefile.*: version to 0.94cvs * exult_faq.xml: updated URL to Travis' snapshots page * scale.cc: new, fast Point & Interlaced scalers (mostly by Max) * ibuf8.cc: new & improved copy8 (mostly by Ryan :-) ) 2001-06-30 Willem Jan Palenstijn <[email protected]> * tools/splitshp.cc: implemented merging shapes * mapedit/PhotoshopShapePlugin.zip: .shp plugin for Adobe Photoshop 2001-06-28 Willem Jan Palenstijn <[email protected]> * NEWS, Makefile.*, configure.in, README.*: updated for release * exult.cc: clarified "exult.flx not found" error msg a bit 2001-06-28 Ryan Nunn <[email protected]> * objs/animate.cc: Fix for pennant flag animation in SI. 2001-06-27 Willem Jan Palenstijn <[email protected]> * gumps/Paperdoll_gump_info.cc: fixed disappearing bedrolls 2001-06-26 Willem Jan Palenstijn <[email protected]> * audio/SDL_mapping.*: 'const' in MixAudio only if SDL >= 1.2.1 2001-06-25 Willem Jan Palenstijn <[email protected]> * exult.spec.in: removed explicit SDL requirement (added automatically) * configure.in: disabled libkmid by default 2001-06-25 Christoph Reichenbach <[email protected]> * audio/SDL_mapping.h: const'ed MixAudio()'s 2nd parameter to silence cxx 2001-06-25 Willem Jan Palenstijn <[email protected]> * actors.cc: put reduce_health() call back in combat :-) 2001-06-24 Ryan Nunn <[email protected]> * objs/animate.*: Removed unrequired write_ireg() method. * exult.cc: Fixed up a SI movement bug. * actors.*, actors.h, drag.cc, gamewin.cc, objs/flags.h, objs/egg.cc, objs/contain.*: Changed Obj_Flag 18 (0x12) to mean is_temporary. Made Monster NPCs and all items made by eggs have the flag set by default. Items created by Usecode don't have the flag set by default. Modified emulate_cache to remove all objects and NPCs that have the is_temporary flag set and only objects and NPCs that have the flag set. Modified Egg_object::activate so button eggs won't attempt to activate eggs that have already been hatched. Modified Reading and writing of IREGs to allow for a new 10 byte object. The object is the same as 6 byte object, except it has 4 bytes added to the end for flags. 1 bit of the first new byte is being used to write the Temporary Item flag. This will cause all new save games to be incompatible with older versions of Exult. 2001-06-24 Christoph Reichenbach <[email protected]> * actors.cc: Workaround for cxx compiler bug: transformed <cond>?<stmt1>:<stmt2> into semantically equivalent declaration/default initialization/conditional assignment (using 'if') to fix segfault. * gamedat.cc (read_saveinfo): Typecast pointer to long rather than int (fixes warnings on 64 bit archs, note that this wasn't a real bug). * usecode/useval.cc: #include <cstdio> disabled on ALPHA_LINUX_CXX * audio/midi_drivers/Timidity_binary.h: * audio/midi_drivers/Timidity_binary.cc: Now honors std:: namespace for string 2001-06-24 Willem Jan Palenstijn <[email protected]> * ucmachine.cc: 'find_nearby' also accepts an size-1 array as shapenum * ucmachine.*, usecode/keyring.*, siintrinsics.h, intrinsics.cc: implemented Silver Seed keyring. Data is saved in 'gamedat/keyring.dat' * /data/si/defaultkeys.txt: mapped 'k' to use keyring 2001-06-24 Ryan Nunn <[email protected]> * actors.cc: Fixed a minor bug with two handed/two fingered items. 2001-06-23 Willem Jan Palenstijn <[email protected]> * objs/contain.h: changed has_room(): max_volume == 0 means unlimited * useval.*, ucmachine.cc: moved adding usecode_values to useval, possibly risky change: adding (int) 0 to a string does nothing * bgintrinsics.h: 0x96 = a_or_an * siintrinsics.h: 0xC2 = IsOnKeyring(qual.), 0xC3 = AddToKeyring(qual.) 2001-06-23 Ryan Nunn <[email protected]> * actors.cc, actors.h: Almost complete rewrite of the add_readied and get_best_spot functions to make them cleaner and to remove all bugs. 2001-06-22 Willem Jan Palenstijn <[email protected]> * mapedit/u7shp.c: disabled debugging messages * data/bg/amulets.shp, Paperdoll_gump_info.cc: added FoV amulets 2001-06-22 Ryan Nunn <[email protected]> * actors.cc: Fixing a variety of bugs to do the add_readied code. * gumps/Paperdoll_gump.cc: Fixed problem with items being hidden in BG when using Paperdoll. * gumps/Paperdoll_gump.h, gumps/Paperdoll_gump_info.cc: Changes for Musket. * actorio.cc, actors.h, gamewin.cc, objs/contain.h, objs/objs.h: Changes to ensure that items are placed in the correct slots when restoring a game. This was done by writing a 2 byte index id that is read/written before the item. The id contains the slot number the item goes it. New savegames will be backward compatible, but will produce warning messages on earlier versions. 2001-06-22 Willem Jan Palenstijn <[email protected]> * tools/expack.cc: allow NULL entries * keys.cc, ??game.cc, exult.cc, */defaultkeys.txt, */flx.in: moved defaultkeys.txt to exult_bg/si.flx instead of exult.flx 2001-06-21 Willem Jan Palenstijn <[email protected]> * path.cc: fixed memory leaks from A* pathfinder 2001-06-21 Jeff Freedman <[email protected]> * schedule.cc: Added (and implemented a few) path types in Patrol_schedule. * Watch for failed allocation in Timidity driver. 2001-06-19 Jeff Freedman <[email protected]> * Spellbook_gump.cc: Added SI reagants table (untested). 2001-06-18 Max Horn <[email protected]> * files/listfiles.cc: changed interface of U7ListFiles and removed U7FreeFileList; implemented MacOS version of U7ListFiles * gumps/Newfile_gump.cc: std:: namespace police; applied changes to match new interface of U7ListFiles * audio/xmidi.cc: std:: namespace police; fixed wrong use of new [] instead of malloc() * tools/expack.cc: added exult_si.flx * updated MacOS project files 2001-06-17 Willem Jan Palenstijn <[email protected]> * contain.cc: fixed spellbook-creation bug * Makefile.am: fixed build order (server before mapedit) 2001-06-17 Ryan Nunn <[email protected]> * cheat_screen.cc : Added global flag modifier. Enabled NPC Experience, training, and general stat modifying. 2001-06-17 Willem Jan Palenstijn <[email protected]> * gumps/Jawbone_gump.*: gump for the Serpent Jawbone * gamewin.cc, gumps/Gump.cc, objs/contain.cc: use new gump * Makefile.*: build new gump * objs/jawbone.*: Jawbone_object * keys.cc, keyactions.*, defaultkeys.txt: 'j' = show jawbone 2001-06-17 Jeff Freedman <[email protected]> * objs.cc: Use Check_mask() if shapenum=c_any_shapenum. Can now use Erstam's machine. 2001-06-16 Willem Jan Palenstijn <[email protected]> * usecode/compiler/Makefile.am: only clean uclex.cc/ucparse.cc on maintainer-clean (thanks to Robert Bihlmeyer) 2001-06-15 Willem Jan Palenstijn <[email protected]> * data/exult_si.flx, data/si/*: new data file (exult_si.flx) * Makefile.*, exult.spec.in: build/distribute new data file * data/bg/BGmap.shp, data/si/SImap.shp: BG and SI maps * ??game.*, gamewin.*, intrinsics.*, Face_button.cc, Paperdoll_gump*.*: exultbg_flx to gameflx. (exult_bg.flx for BG, exult_si.flx for SI) * cheat.cc: use real maps for the teleport cheat * intrinsics.cc, cheat.cc: tweaked map markers 2001-06-15 Jeff Freedman <[email protected]> * gamewin.cc: Emulate_swapout() now does chunks 3 or more away. * combat.cc: Manual combat mode works. 2001-06-14 Willem Jan Palenstijn <[email protected]> * bgintrinsics.h: added 2 guesses * exult.cc: don't show hand cursor when clicking left mouse button 2001-06-14 Dancer Vesperman <[email protected]> - Code Nazi * server/objserial.cc: std::string, std::memcpy, std::strlen 2001-06-13 Jeff Freedman <[email protected]> * Several: 'opponent' from Combat_schedule is now 'target' in Actor. This fixes bug where combat started automatically. 2001-06-12 Willem Jan Palenstijn <[email protected]> * gumps/AudioOptions_gump.cc: removed SFX conversion option * exultmenu.cc: same for Exult setup menu * ucmachine.cc: set party flag on avatar (for spells like magic storm) 2001-06-12 Ryan Nunn <[email protected]> * audio/xmidi.cc, audio/midi_drivers/win_midiout.cc : Changes to make Exult SMP safe in Win32. 2001-06-12 Tristan Tarrant <[email protected]> * configure.in: HAVE_GLADE is false if no GTK available 2001-06-12 Jeff Freedman <[email protected]> * shapes: SFX fields read from weapons.dat. * combat.cc,actors.cc: Play weapon SFX. * actors.cc,gamewin.cc: Flash red outline when injured. 2001-06-10 Willem Jan Palenstijn <[email protected]> * actors.*, keyactions.cc: double clicking avatar shows inventory again * gumps/gump_types.h: extracted Gumpshapefile to a header file * gamewin.cc, gumps/Gump.cc, gumps/Gump_widget.*, gumps/gump_types.h: added paperdol.vga to the Gumpshapefile enum * gumps/Gump_button.h, gumps/Face_button.*: a face that opens inventory when double clicked * gumps/Gump.cc, gumps/CombatStats_gump.*: the SI combat stats gump * keyactions.*, keys.*, defaultkeys.txt: 'L' = show combat stats * shapeid.h: removed some outdated comments * gumps/Gump_ToggleButton.h: made toggle() purely virtual * gumps/Paperdoll_gump.h: made GetCharacterInfo, GetItemInfo public * gumps/misc_buttons.cc: implemented the combat stats button 2001-06-08 Ryan Nunn <[email protected]> * exult.cc, keyactions.cc, mouse.h: When gumps are open, the cursor will now only be the hand when the mouse is actually over a gump. 2001-06-08 Ryan Nunn <[email protected]> * audio/xmidi.cc : Volume curve now modifies Volume Controller events as well as Note On Velocity values. Volume Curve now has a greater impact and works "better". The difference is anything but subtle in some songs. 2001-06-08 Dancer Vesperman <[email protected]> - Code Nazi * mapedit/shapedraw.cc: std::cout, std::endl 2001-06-07 Ryan Nunn <[email protected]> * audio/xmidi.cc : Fixed Pub Music (BG Track 20) "Bug" 2001-06-07 Dominik Reichardt <[email protected]> * docs/faq/faqs.dtd, faq_html.xsl: added "Exult Studio" template * docs/faq/exult_faq.xml: FAQ updated see FAQ for details * Faq: updated 2001-06-07 Jeff Freedman <[email protected]> * 'Tournament' flag is back; I was wrong about it being 'killable'. Also Usecode(eventid==7) is only called when the 'tournament' flag is set. Seems to work so far. 2001-06-05 Willem Jan Palenstijn <[email protected]> * files/utils.cc: try converting all path-components to uppercase in turn when file not found. Report original filename on error. * gamewin.cc: updated 'SI paperdoll files not found' error message 2001-06-06 Jeff Freedman <[email protected]> * ExultStudio: You can insert a new egg by using the pulldown menu. 2001-06-04 Willem Jan Palenstijn <[email protected]> * SDL_mapping.*: modified to work with recent SDL CVS versions * actors.*: added a force_party_inv argument to Actor::activate * keyactions.cc: fixed '1'-'8' inventory shortcuts * defaultkeys.txt: small fix to make sure the correct map is displayed * SDL_mapping.*: undo change for recent SDL's, because it breaks older ones... 2001-06-04 Jeff Freedman <[email protected]> * You can drop a shape onto the shape area of the Egg-monster page in ExultStudio. 2001-06-03 Jeff Freedman <[email protected]> * EStudio: You can edit (existing) eggs now. 2001-06-02 Willem Jan Palenstijn <[email protected]> * Makefile.cygwin, Makefile.win32: Travis' changes (splitshp, midisfx.flx) * intrinsics.cc: implemented si_display_map 2001-05-31 Jeff Freedman <[email protected]> * cheat.cc (Cheat): For a quick workaround to the 'flee' bug, switching to God Mode resets party's attack-modes to 'nearest'. 2001-05-29 Dancer Vesperman <[email protected]> - Code Nazi * server/servemsg.cc: std::memcpy 2001-05-30 Willem Jan Palenstijn <[email protected]> * server/servemsg.cc: #include <cstring> for memcpy 2001-05-30 Jeff Freedman <[email protected]> * Added 'server' directory (only needed for XWIN). * SI intrinsics: remove_last_face => remove_face0, remove_face1. * readnpcs.cc: Kludge to avoid unneeded automatons. * gamewin.cc: Risky change: Reset all eggs in emulate_swapout(). Needed to recreate List Field manager (crit = 2). 2001-05-29 Ryan Nunn <[email protected]> * audio/midi_drivers/win_midiout.cc : Fixed a spelling error * gumps/AudioOptions_gump.cc : Fixed reverb & chorus config problem 2001-05-29 Dancer Vesperman <[email protected]> - Code Nazi * Timidity_binary.cc: std::strcpy * gumps/Newfile_gump.cc: std::strcpy,std::strcat,std::memcpy,std::memset * tools/shp2pcx.cc: std::memset * tools/splitshp.cc: std:: strcpy/strrchr/memcpy/strlen * usecode/compiler/ucparse.yy: std::strlen,std::strcpy,std::strcat * usecode/compiler/ucmain.cc: std::strlen,std::strcpy,std::strrchr * usecode/compiler/ucfun.cc: std::strlen,std::memcpy * usecode/compiler/ucloc.cc: std::strlen,std::strcpy,std::strlen * usecode/compiler/ucsym.cc: std::strcmp * ... you get the idea ... 2001-05-29 Jeff Freedman <[email protected]> * gamewin.cc: DON'T close all gumps when casting a spell. * effects.cc (Death_vortex): Death Vortex spell implemented. 2001-05-28 Dancer Vesperman <[email protected]> * actors.cc: uninline static method called from external translation units. (Otherwise we cannot link under some compilers. Duh) ** Double extra bonus points. We now fully compile and link under G++ version 3.0 (at least, so far) 2001-05-28 Dancer Vesperman <[email protected]> * mapedit/shapelst.cc: std::cout,std::endl * audio/midi_drivers/Timidity_binary.cc: std::cout,std::endl, std::string * audio/midi_drivers/Timidity_binary.h: std::string * mapedit/paledit.cc: std::cout,std::endl,include iostream * mapedit/shapetest.cc: std::cout,std::endl,include iostream 2001-05-28 Jeff Freedman <[email protected]> * actors.cc: 'Stop Time' spell implemented. 2001-05-26 Jeff Freedman <[email protected]> * gamewin.h: 'Mode' field has gone away. RIP. Use showing_gumps() to test for gump mode. 2001-05-25 Tristan Tarrant <[email protected]> * exult.cc: Added 400x300 to resolution cycler as requested on Jackchaos 2001-05-25 Jeff Freedman <[email protected]> * Code cleanup: Several 'modes' removed, along with the 'filter' in exult.cc. 2001-05-25 Jeff Freedman <[email protected]> * Ucmachine.cc: Just warn on stack underflow. * Actions.cc: Center view if teleporting Avatar, and watch for Sequence action being deleted. So, except for Avatar being too dumb to open doors, trial seems to work. 2001-05-23 Ryan Nunn <[email protected]> * audio/Audio.cc: Put #ifdef ENABLE_MIDISFX around MIDI SFX code to disable MIDI sfx's. Simply defining ENABLE_MIDISFX will re-enable MIDI SFX. 2001-05-21 Jeff Freedman <[email protected]> * Rewrote intrinsic si_path_run_usecode() so it now schedules the actions. Fixes double-conversation in Knight's banquet, and likely fixes and/or breaks lots of other things. 2001-05-19 Tristan Tarrant <[email protected]> * bggame.cc: fixed "emerging Guardian" part in intro 2001-05-19 Willem Jan Palenstijn <[email protected]> * keyactions.cc: fixed typo breaking UseItem 2001-05-18 Willem Jan Palenstijn <[email protected]> * keyactions.cc, gamewin.*: you can now specify a framenum and quality for the 'useitem' action * server.cc: define PF_LOCAL in Solaris * credits.txt: added Joseph Morris 2001-05-18 Jeff Freedman <[email protected]> * Exult is much more liberal about what you can take or move. * Fixed crash during resurrection. 2001-05-17 Tristan Tarrant <[email protected]> * sigame.cc: allow splash screen to be interrupted * gamewin.cc, audio/Audio.cc, audio/Mixer.cc, audio/midi_drivers/Timidity_binary.cc, actors.cc, schedule.cc: be verbose only when compiled with debugging * tools/.cvsignore: Add splitshp 2001-05-17 Jeff Freedman <[email protected]> * combat.cc: Added support for the 'protected' halo button and the 'protect' combat mode. * actors.h: In SI Knight's Test, the Usecode for the invisible pikeman stops repeating when you kill him. * animate.cc: Fixed body parts animation on Erstam's island. 2001-05-16 Willem Jan Palenstijn <[email protected]> * configure.in: fixed checks for getaddrinfo() and mkstemp() 2001-05-16 Jeff Freedman <[email protected]> * NPC's (along with guards) attack you if you attack them. 2001-05-15 Ryan Nunn <[email protected]> * audio/xmidi.cc: Amazing optimization. 2 Lines of code added, potential 100x speed increase when reading .xmi files. 2001-05-15 Jeff Freedman <[email protected]> * Audio.cc: Fixed "Chipmunk Guardian"! (Playback speed for Guardian is now correct.) 2001-05-14 Willem Jan Palenstijn <[email protected]> * tools/Makefile.am, tools/splitshp.cc: split a shape into its frames 2001-05-13 Willem Jan Palenstijn <[email protected]> * exult.spec.in: added exult_bg.flx... ouch! 2001-05-12 Willem Jan Palenstijn <[email protected]> * gump_utils.cc: ctrl-alt-s takes screenshots in Modal_gump mode 2001-05-12 Dancer Vesperman <[email protected]> * configure.in: Extend header file checks: sys/types, sys/socket and netdb.h. Check for getaddrinfo() * server.cc: Wrap inclusions in #if HAVE_* * exult.cc: #if HAVE_SYS_TIME_H * server.cc: included config.h * server.cc: use current network API, rather than deprecated, if available. 2001-05-11 Dominik Reichardt <[email protected]> * tools/expack.txt: added small documentation for expack by Marc Winterrowd 2001-05-11 Dancer Vesperman <[email protected]> * server.cc: std::string, using std::cout/endl/cerr * cheat.cc: std::string * gumps/Newfile_gump.h: sign a couple types - see below * gamedat.cc: WARNING: ifstream.get() doesn't really work with unsigned char in all implementations. Nor is it designed to. None of these values actually require unsignedness anyway. Cast to (char &) * keys.cc: using std::cout 2001-05-10 Willem Jan Palenstijn <[email protected]> * keys.*: cleaned up 2001-05-10 Jeff Freedman <[email protected]> * In Linux: Link exult_studio.glade into the Exult data directory, and be sure data_path is set in .exult.cfg. Then, hitting ctrl-alt-m (map-editor mode) will run Exult Studio (assuming it's in your PATH), already set up for the game you're playing. 2001-05-09 Willem Jan Palenstijn <[email protected]> * keyactions.cc: applied Telemachos' patches for showing inventory 2001-05-08 Willem Jan Palenstijn <[email protected]> * objs.cc: added a ton of special item names for SI 2001-05-08 Ryan Nunn <[email protected]> * gamewin.h, gamedat.cc, Gumps/Newfile_gump.h: Fixed byte ordering problem with savegame info for Savegump. Savegame info is now cross platform compatible. 2001-05-07 Willem Jan Palenstijn <[email protected]> * objs/objs.cc: add special name for gold sextant (TODO: same for SI) * ucsched.cc: guessing at 0x0c opcode. probably used for nesting loops. 2001-05-06 Willem Jan Palenstijn <[email protected]> * ucsched.cc: changed 0x0b, 0x0c and 0x4d scheduled opcodes (fixing SI gates & wells) 2001-05-06 Jeff Freedman <[email protected]> * Implemented caltrops. Fixed energy-field animation. 2001-05-06 Willem Jan Palenstijn <[email protected]> * ucsched.cc: changed scheduled usecode 0x0b loop behaviour 2001-05-05 Jeff Freedman <[email protected]> * Working on server. It's now polled in the main loop (Server_delay()) in XWIN builds. (Doesn't do anything useful yet.) 2001-05-03 Tristan Tarrant <[email protected]> * exult.cc: Chnaged from "X-windows Ultima 7 map browser" to "Multiplatform Ultima 7 game engine" :) 2001-05-03 Jeff Freedman <[email protected]> * Fixed FoV and resurrection bugs. * ExultStudio: Open egg editor. Use 'glade_xml_signal_autoconnect()' to set up signal handlers. 2001-05-02 Dominik Reichardt <[email protected]> * docs/faq/faq_html.xsl: begin counting sections at 0 to make room for changes * docs/faq/exult_faq.xml: FAQ updated see FAQ for details * FAQ: updated * my first CVS commit 2001-05-02 Willem Jan Palenstijn <[email protected]> * gumps/gump_utils.cc: undo end_gump_mode with a modal gump * mapedit/Makefile.studio.cygwin: committed Travis' changes 2001-04-29 Willem Jan Palenstijn <[email protected]> * data/flx.in, Makefile.*, data/aud*.shp: audio options gump shapes * Makefile.*, gumps/Gump_ToggleButton.*: a button which toggles between multiple selections * Makefile.*, gumps/Gump.cc, gumps/AudioOptions_gump.*: audio options * gumps/Gamemenu_gump.*: activate audio options gump * gumps/gump_utils.cc: remove gumps when displaying a modal gump * gumps/misc_buttons.cc: point disk icon to new file gump * data/defaultkeys.txt: change escape to close gumps or game menu * gamedat.cc: work around compiler problem * keys.*, keyactions.*: actions for game menu, new escape function * audio/Audio.*: added is_audio_enabled(), set_audio_enabled() funcs * audio/Midi.cc: fixed midi conversion typo * schedule.cc: fixing bake_schedule for SI * objs/chunks.cc: hack for dungeon weirdness in silver seed (same as for Knight's Test) 2001-04-29 Christoph Reichenbach <[email protected]> * usecode/compiler/ucparse.yy: Included config.h * usecode/compiler/ucfun.h: * usecode/compiler/ucmain.cc: * usecode/compiler/ucfun.h: Removed iosfwd include on Alpha/Linux/cxx 2001-04-29 Jeff Freedman <[email protected]> * Remove_from_area() intrinsic, Chunk_object_list::find_in_area(), for fixing maze in Silver Seed. 2001-04-26 Jeff Freedman <[email protected]> * SI spellbook working now. Still have to redo reagant use/check. 2001-04-25 Jeff Freedman <[email protected]> * Spell-scrolls implemented for SI. 2001-04-23 Ryan Nunn <[email protected]> * ChangeLog : Fixed Dancer's small date typo... 2001-04-32 :) * keys.*, keyactions.* : Key action "newfile_gump" to activate the new file gump without having to go into the game menu. 2001-04-23 Dancer Vesperman <[email protected]> * configure.in: Support repo and (the somewhat deprecated) alt-external template instantiations. 2001-04-23 Dancer Vesperman <[email protected]> * g++ v3.0 can inline an implementation body....but that makes it invisible to other translation units (because it's inline and no longer exists as a seperate entity. Duh). Therefore, actors.cc: except add_dirty() from being inlined under G++ v3 and later. Same deal for get_tile_info() More on this in a later update. * objs/objlist.h: Mark some members const to improve code-generation 2001-04-22 Max Horn <[email protected]> * lots of namespace std:: changes, made it compile on MacOS again (still need to implement U7ListFiles) 2001-04-22 Ryan Nunn <[email protected]> * gumps/Newfile_gump.* : Changed Date format display. 2001-04-22 Willem Jan Palenstijn <[email protected]> * imagewin/imagewin.*, iwin8.*: moved mini_screenshot to iwin8, use a nearest average colour scaler * files/listfiles.cc: added config.h * Makefile.am: changed library order * gumps/Newfile_gump.cc: put some debugging output in #ifdef DEBUG's 2001-04-22 Ryan Nunn <[email protected]> * Makefiles.* : Added files/listfiles.* and gumps/Newfile_gump.* * actorio.cc : Made a change to the size of the array used when reading a NPC name from npc.dat. * bggame.cc, sigame.cc : Added exult.flx and exultbg.flx to list of resources so they can be viewed in the shape browser. * fnames.h : Added #defines used by new file gump. * gamedat.cc, gamewin.cc, gamewin.h : Added methods for writing and reading data for the new save gump. Also fixed a bug when calling get_gump_rect for a gump that had a shape that was in exult.flx. * keyactions.*, keys.* : Added GAME_MENU action to be used to activate game menu. * gumps/Gamemenu_gump.cc : Load/Save Game option now create a new style File Gump not ye olde one. * gumps/Gump.cc : Added checkmark info for NewFile Gump * gumps/Gump.h : Added get_shapefile() method; * gumps/Modal_gump.h : Fixed bug when specifying a shape for a modal gump that was in anyfile other than gumps.vga. * imagewin/*.* : Fixing bugs a few bug related to scaling (screenshots, switching to and from fullscreen, resizing) * objs/iregobjs.h : Added get_flags() and get_flags2() methods * files/listfiles.cc, files/listfiles.h : Functions for getting dir lists and freeing the dir lists. * gumps/Newfile_gump.cc, gumps/Newfile_gump.h: Newfile_gump class and all related methods. 2001-04-22 Willem Jan Palenstijn <[email protected]> * data/flx.in,Makefile.*,data/sav_selected.shp: new shape for savegump * Gump.cc, Gamemenu_gump.cc: changed shapenrs. because of sav_selected 2001-04-20 Tristan Tarrant <[email protected]> * configure.in: Don't build GIMP plugin by default 2001-04-20 Jeff Freedman <[email protected]> * World-wrapping is kind-of working a little (on occasion). 2001-04-18 Willem Jan Palenstijn <[email protected]> * data/savegump.shp: touched up a bit 2001-04-18 Tristan Tarrant <[email protected]> * configure.in: fix GIMP checks to support recent GTK+'s 2001-04-17 Jeff Freedman <[email protected]> * First pass at world-wrapping. (Doesn't work yet!) 2001-04-18 Willem Jan Palenstijn <[email protected]> * Makefile.cygwin: Travis' changes * gamewin.cc: fixed memleak in mini-screenshot 2001-04-17 Willem Jan Palenstijn <[email protected]> * gumps/Gump.cc: fixed "ok to load?"/"ok to save?" dialog boxes. * data/savegump.shp: added borders for larger resolutions 2001-04-17 Dancer Vesperman <[email protected]> * keyactions.cc: Honour std namespace 2001-04-17 Willem Jan Palenstijn <[email protected]> * schedule.*, actors.cc: added Bake_schedule 2001-04-16 Max Horn <[email protected]> * README.MacOS, mac/mac_autoconfig.h: updated for Alpha 3 * Paperdoll_gump.cc, intrinsics.cc, Flex.cc * gamewin.h: second version of scroll_if_needed() fixed as to always return a sensible value * expack.cc: enlarged ugly hack for MacOS to also build flx.in in the BG subdir (yeah I know it is evil!) 2001-04-16 Willem Jan Palenstijn <[email protected]> * keys.*, keyactions.*: added a 'test' action, for testing anything you like * schedule.*, actors.cc: added Forge_schedule * actions.*: animate action: complete full cycle frames action: allow setting frames of other objects animate action: allow setting length of cycle 2001-04-16 Dancer Vesperman <[email protected]> * Upgrade for g++ 3.0 - Repair a throw specification in exceptions.h - Missing std:: qualifier to ostream in files/Flex.h - hash_utils.h: Fixed up inclusion for hash_map/hash_set - autoarray.h: Fixed range_error exception definition - gamewin.h: qualify ostream with std:: - pathfinder/path.cc: Fix up inclusion of hash_set - vec.h: &*begin() instead of begin. Iterators aren't necessarily pointers. vec.h makes lots of foolish assumptions that a vector::iterator is typedef'ed to a pointer, and that a pointer can be used in their place. Not so. - files/Flex.cc: std::ostream - files/utils.cc: Max will be pleased. We now do things the way his compiler does :) - gumps/Paperdoll_gump.cc: std::cerr and std::endl - conf/xmain.cc: What standard namespace? Fix. - shapes/shapeinf.cc: Fix up inclusion of hash_map - usecode/compiler/*: std namespace rides again... - delobjs.c: std::set 2001-04-15 Willem Jan Palenstijn <[email protected]> * mapedit/u7shp.c: corrected a palette entry * data/*.shp, data/flx.in, Makefile.*: added lots of shapes for new game menu * Gump.*, Gump_widget.*, Gump_button.h, Modal_gump.h: added support for shapes from exult.flx * gumps/Gamemenu_gump.*, Makefile.*: added a game menu gump 2001-04-14 Willem Jan Palenstijn <[email protected]> * data/*.shp, data/flx.in, Makefile.*: added lots of shapes for new savegame gump * configure.in, Makefile.*: increased version to 0.93cvs * mapedit/u7shp.c: set ingame palette as default palette * gamewin.*, imagewin.*: added create_mini_screenshot to create a 96x60 screenshot * vgafile.*: implemented Shape_file::save * gamedat.cc: added a SavefileFromDataSource function 2001-04-14 Jeff Freedman <[email protected]> * Wrote 'write_map()' methods (although not complete). * Fixed several SI bugs. 2001-04-14 Willem Jan Palenstijn <[email protected]> * gumps/gump_utils.h: include unistd.h by default, not just on *BSD 2001-04-12 Willem Jan Palenstijn <[email protected]> * configure.in: a few minor changes for solaris 2001-04-11 Jeff Freedman <[email protected]> * Alpha3 tagged! 2001-04-10 Jeff Freedman <[email protected]> * Fixed boundary problem in Chunk_iterator. Amulet to Silver Seed works now (but a bit too slowly). 2001-04-10 Willem Jan Palenstijn <[email protected]> * Makefile.be, beos/exult.rsrc: bumped up version to 0.92alpha3 * NEWS: inserted date, added new paperdoll art 2001-04-08 Willem Jan Palenstijn <[email protected]> * objs/egg.cc, objs/objs.cc, objs/iregobjs.cc: replaced the 'delete' in remove_this by a Game_window::delete_object 2001-04-07 Willem Jan Palenstijn <[email protected]> * usecode/: SI intrinsic 0xB2 returns 'a' or 'an' depending on argument 2001-04-06 Jeff Freedman <[email protected]> * Put deleted monsters in a table for later actual deletion. Appears to fix the teleport bug. 2001-04-04 Jeff Freedman <[email protected]> * Lots of changes to Patrol schedule. It always uses pathfinding now, and uses quality for Usecode test in SI. * Fixed ship rotation in SI. * Set 'killable' for all monsters when they're created. 2001-04-04 Willem Jan Palenstijn <[email protected]> * data/quotes.txt: new quote * gumps/Paperdoll_gump_info.cc: use correct fellowship amulet shape 2001-04-03 Jeff Freedman <[email protected]> * Ship is starting to work, but not reliably, and with much bugginess. 2001-04-02 Jeff Freedman <[email protected]> * Scheduled usecode: Figured out opcode 0x01. Fixes drawbridge animation. * Draw weapons with translucency if necessary. 2001-04-02 Ryan Nunn <[email protected]> * actor*.*: Also fixed rare bug that would occur when saving and a NPC that had it's activity set to 'move to schedule'. Using S-Vr and Acty save fields to do this. * gamewin.*, readnpcs.cc, usecode/*: Added SI Intrinsic 0xb4 Revert Schedules. I also changed paint() to set_all_dirty() is Game_window::center_view. center_view is also now called twice in Game_window::read_npcs. * cheat_screen.cc: Added 'revert' to cheat screen schedule changer. Also prevented setting schedules on monster npc's. 2001-04-01 Jeff Freedman <[email protected]> * Rendering-order changes. 2001-03-31 Jeff Freedman <[email protected]> * SI - Bug fixes for fighting on List Field. 2001-03-30 Willem Jan Palenstijn <[email protected]> * data/bg/fellowshipstaff.shp: my attempt at a fellowship staff * data/bg/flx.in, gump/Paperdoll_gump_info.cc, Makefile.*: added art * docs/art.txt: list of needed/done art for paperdolls 2001-03-30 Tristan Tarrant <[email protected]> * data/quotes.txt: New quote from Jeff 2001-03-30 Jeff Freedman <[email protected]> * actors.cc: Added 'dead' flag, 'killable' flag. SI combat is still really buggy, but perhaps more on the right track. 2001-03-29 Willem Jan Palenstijn <[email protected]> * keys.h: fixed 'double help' when using custom keybindings 2001-03-28 Jeff Freedman <[email protected]> * SI - Lots of usecode intrinsics added/verified/commented. 2001-03-28 Willem Jan Palenstijn <[email protected]> * tools/expack.cc, files/utils.*: fixed expack switch_slashes problem * gumps/Paperdoll_gump_info.cc: corrected cloak shape numbers 2001-03-28 Jeff Freedman <[email protected]> * Removed more 'paint()' calls in Usecode intrinsics to fix problem with disappearing faces in conversations. * In the File gump, the RETURN key does a 'save' if the action is unambiguous. 2001-03-27 Willem Jan Palenstijn <[email protected]> * tools/Makefile.am: added SDL_INCLUDES to includes * schedule.cc: fixed crash in Sew_schedule 2001-03-26 Willem Jan Palenstijn <[email protected]> * Makefile.be: added exult_bg.flx to dependencies * gumps/Spellbook_gump.cc: fixed crash when enabling wizardmode when spellbook open 2001-03-26 Jeff Freedman <[email protected]> * SI - Crystal-ball space scene starting to work, except sometimes you can see the cat(!). * The Cantra-vs-Batlin scene in the crystal ball is also appearing, except (1) usually Batlin is being chased by Cantra, and (2) somebody ends up dying in the battle. 2001-03-25 Ryan Nunn <[email protected]> * Makefile.cygwin, Makefile.win32: Some changes for the tools. Also fixed expack writing output to text files when using Makefile.cygwin. 2001-03-25 Jeff Freedman <[email protected]> * SI - Added 'camera_actor' to Game_window, and a usecode intrinsic that sets it. Crystal ball is half-working (and then you're stuck in space!) 2001-03-23 Willem Jan Palenstijn <[email protected]> * Makefile.cygwin: committed Travis' changes 2001-03-23 Jeff Freedman <[email protected]> * SI - Companions wait while you take the Test. Grandfather clock animation fixed. Books work. 2001-03-22 Willem Jan Palenstijn <[email protected]> * data/credits.txt: added Aurelien Marchand (Artaxerxes) * data/bg/: added subdir. with bg shapes * Makefile.*: build exult_bg.flx * tools/expack.cc: convert paths (unix->dos, unix->macos) 2001-03-21 Max Horn <[email protected]> * FAQ, doc/faq/faq_html.xsl, doc/faq/exult_faq.xml: applied update made by Dominus 2001-03-21 Willem Jan Palenstijn <[email protected]> * data/bgfiredoom.shp: more art by Adam * data/flx.in, Makefile.*, gumps/Paperdoll_gump_info.cc: included art 2001-03-21 Ryan Nunn <[email protected]> * usecode/siintrinsics.h: Changed 0x44, 0x45, 0x46 to 0x45, 0x46, 0x47 2001-03-21 Jeff Freedman <[email protected]> * SI - Fixing bugs (and not necessarily successfully). 2001-03-20 Max Horn <[email protected]> * acconfig.h: added MACOSX * animate.cc: added missing using std::map; * configure.in: added MacOS X * audio/Audio.cc: fixed Audio::play_wave_sfx which returned nothing instead of an AudioID (this did break compilation on multiple systems) * conf/Makefile.am: added $(SYSLIBS) to confregress target * tools/shp2pcx.cc: fixed some type mistakes (used Uint32 instead of uint32 which broke compilation on MacOS X) * tools/Makefile.am: added $(SYSLIBS) to expack & shp2pcx target 2001-03-20 Jeff Freedman <[email protected]> * SI fixes: Claw works in Knight's test. Dead wolf gets correct body. Usecode function with eventid=7 called when NPC dies. * Also fixed bug where NPC's keep opening/closing shutters. 2001-03-19 Willem Jan Palenstijn <[email protected]> * gumps/gump_utils.h: added a few includes for OpenBSD * configure.in: added a ton of libraries for OpenBSD build * audio/Audio.cc: return from play_wave_sfx when no .wavs present 2001-03-19 Jeff Freedman <[email protected]> * SFX's: 'SFX objects' sounds implemented (such as fountains, surf, moongates). Sounds added for gumps. 2001-03-18 Willem Jan Palenstijn <[email protected]> * credits.txt: added Alex Botero-Lowry (openbsd work) 2001-03-17 Christoph Reichenbach <[email protected]> * game.cc (get_game_identity): long -> sint32 fix * cheat_screen.cc: tools/shp2pcx.cc: Appropriate #ifndefs for Alpha/Linux/cxx 2001-03-17 Willem Jan Palenstijn <[email protected]> * data/faces2.shp: the rest of the faces by Philip G. * data/cleaver.shp: updated cleaver * data/amulets.shp: white heart amulet by Adam D. * gumps/Paperdoll_gump_info.cc, data/flx.in, Makefile*: include art 2001-03-16 Ryan Nunn <[email protected]> * exult.cc: Video Gamma correction is now written to the config file. Also fixed problem with gamma up making the screen darker and gamma down making the screen lighter. * exultmenu.cc, Midi.cc, xmidi.*, MidiInfo.txt: Removed broken GS127DRUM converstion mode. GS127DRUM config options will now default to GS conversion. Config file will be updated to reflect the change. MidiInfo textfile has been modified to reflect the changes. * xmidi.cc: Renamed config/audio/midi/gamma config option to config/audio/midi/volume_curve so it's function will be more obvious. * docs/serpentsfx.txt: File containing 'names' of Serpent Isle SFX. 2001-03-15 Willem Jan Palenstijn <[email protected]> * data/faces.shp: paperdoll art by Philip Gottschalk! Thanks! * gumps/Paperdoll_gump_info.cc, data/flx.in, Makefile*: include art * data/credits.txt: include Philip in credits 2001-03-15 Jeff Freedman <[email protected]> * SFX's: Those from Usecode intrinsics now have volume, L-R stereo position set depending on audio source's location. 2001-03-13 Jeff Freedman <[email protected]> * SFX's: Wave file spec. moved to game section in .exult.cfg. * Bird sounds added. * Adding support for volume change in SFX being played. 2001-03-13 Ryan Nunn <[email protected]> * gamewin.cc: Game only attempt to detect Black Gate Actor gumps if the game is actually Black Gate. * gumps/Gump.cc, objs/contain.cc: Added Tree Gump * sigame.cc: Added some more gump shape nums * audio/xmidi.*: Changes reverb and chorusing config keys to config/audio/midi/reverb/level and config/audio/midi/chorus/level Added two new options config/audio/midi/reverb/enabled and config/audio/midi/chorus/enabled so reverb and chorus can be enabled/disabled. Default is "no". * audio/midi_drivers/win_midiout.*: Set reverb and chorus defaults to 0. 2001-03-12 Jeff Freedman <[email protected]> * Timidity - Fixed bug that Willem Jan figured out. 2001-03-12 Wilem Jan Palenstijn <[email protected]> * Makefile.*: added new art to dependencies * Makefile.cygwin, files/utils.cc, cheat_screen.cc, configure.in: updated for Cygwin 2001-03-12 Max Horn <[email protected]> * docs/faq/: added directory * docs/faq/exult_faq.xml: actual FAQ source (thanks to Dominik Reichardt!) * docs/faq/faqs.dtd: DTD for the FAQ * docs/faq/faq_html.xsl: XSL file to translate the XML FAQ to HTML * docs/faq/faq_text.xsl: XSL file to translate the XML FAQ to text. Not yet working correctly. 2001-03-11 Willem Jan Palenstijn <[email protected]> * data/cleaver.shp: more art from Adam Delman. * data/flx.in, Paperdoll_gump_info.cc, data/Makefile.am: added cleaver * data/gorget.shp, data/magicgorget.shp: updated 2001-03-11 Jeff Freedman <[email protected]> * Digital sound effects (from .wav's in a Flex file). 2001-03-11 Willem Jan Palenstijn <[email protected]> * data/(magic)gorget.shp: paperdoll art for gorget & magic gorget, created by Adam Delman. (Thanks!) * data/flx.in, gunps/Paperdoll_gump_info.cc: include new art * data/credits.txt: credit where credit is due 2001-03-11 Max Horn <[email protected]> * docs/interview: added a lot of babble there ;) you all should ;) * actions.cc: added missing using directive * keys.cc: added missing using directive * files/utils.cc: added missing using directive * audio/midi_drivers/mac_midi.cc: removed some warnings (this file is not doing anything) * audio/Audio.cc: fixed compilation error on MacOS (Metrowerks does ANSI compliant type checking unlike gcc <g>) 2001-03-10 Willem Jan Palenstijn <[email protected]> * audio/Midi.h/cc: fixed no-midi-device-found bug * shp2pcx.cc: output origin * defaultkeys.txt: re-added change_skin * tools/.cvsignore: added shp2pcx, removed u7shp * fnames.h, gamedat.cc: changed savegame names to exultXXbg/si.sav * gamedat.cc, files/utils.cc: fixed gamedat creation 2001-03-10 Jeff Freedman <[email protected]> * Usecode: Fixed gollem in Test-of-Love. * npcnear.cc: Monster in 'wait' schedule shouldn't attack. Fixes problem with 1st mage in Test of Courage. * Audio: For Win32, changed desired sample rate from 44100 to 22050. This stops (at least on my machine) the freeze upon exit. 2001-03-10 Willem Jan Palenstijn <[email protected]> * tools/shp2pcx.cc: convert shp+pal to a .pcx for each frame * tools/Makefile.am: build shp2pcx 2001-03-09 Willem Jan Palenstijn <[email protected]> * configure.in, compiler/Makefile.am: added --disable-compiler switch 2001-03-08 Willem Jan Palenstijn <[email protected]> * menulist.cc: disable sound-related options in setup when no MIDI * Audio.cc: write config/audio/enabled setting to file when not present * pcb.h, Timidity_binary.cc: fixed part of broken timidity driver 2001-03-07 Jeff Freedman <[email protected]> * Audio: Mixer now uses a fixed number of audio buffers, and avoids dynamic memory access during the mixing callback. 2001-03-07 Willem Jan Palenstijn <[email protected]> * Audio.cc/h: added a config/audio/enabled switch to kill all audio. * */Makefile.am: added support for VPATH builds * conf/Makefile.am: don't build confregress with --disable-tools 2001-03-04 Jeff Freedman <[email protected]> * schedule.cc (Lab_schedule): Implemented. 2001-03-03 Jeff Freedman <[email protected]> * Desk_schedule. * Animate wounded men at healers'. 2001-03-01 Jeff Freedman <[email protected]> * schedule.cc (Sew_schedule): Finished it. 2001-02-27 Jeff Freedman <[email protected]> * schedule.cc: 'Street maintenance' - turn lights off/on, open/close shutters. 2001-02-26 Jeff Freedman <[email protected]> * schedule.cc (Walk_to_schedule): Moved door detection to Path_walking_actor_action class. 2001-02-25 Willem Jan Palenstijn <[email protected]> * configure.in, acconfig.h: configure changes for OpenBSD support * utils.cc, gump_utils.cc: attempt at OpenBSD support. (thanks to Alex Botero-Lowry) * Midi.cc: disable forked_player in OpenBSD 2001-02-24 Jeff Freedman <[email protected]> * Npc_actor::handle_event always looks for schedule. * Vesper provisioner bug fixed. * Fixed weapon bug (throwing non-throwable weapons) and a few others. * Remove NPC's from 'nearby' list when they're deleted. 2001-02-24 Dancer Vesperman <[email protected]> * SDL 1.1 allows us to selectively initialise and terminate subsystems. Make use of that for the audio system initially. * Some extended output for caught exceptions, to make them simpler to read. 2001-02-22 Max Horn <[email protected]> * tons of fixes I already made days ago and forgot to commit :( * files/utils.cc: added fix to U7open to prevent certain problems when reusing stream objects. * gumps/Stats_gump.h: fixed Stats_gump::add which had the wrong signature. The first parameter was of type Game* instead of Game_object* * keys.c: removed a static (caused compile error on ANSI complian C++ compilers <g>) and added using std::strlen * bggame.cc: removed some warnings 2001-02-22 Willem Jan Palenstijn <[email protected]> * keys.*: applied Grant's patch * actors.h: fixed warning/bug 2001-02-20 Ryan Nunn <[email protected]> * exult.cc, exultmenu.cc imagewin/*.*: Added in Derek Liauw Kie Fa's SuperEagle scaler. 2001-02-17 Willem Jan Palenstijn <[email protected]> * exult.cc: cleaned up 'build game map' code. Now accessible using a cmdline parameter. (-buildmap 0|1|2), where 0,1,2 determines skiplift 2001-02-16 Ryan Nunn <[email protected]> * actor*.*, gamewin.*, objs/eggs.*, objs/objs.h: Caching system of the originals is now emulated by Exult. This solves the Army of Darkness Bug as well as many of the bugs in SI related to cached in Usecode eggs. * exult_constants.h: Added c_num_schunks. 2001-02-15 Willem Jan Palenstijn <[email protected]> * mapedit/u7shp.c: check if image is indexed before saving. (fixes crash) * mapedit/uniquepal.c: little tool to 'uniquify' a palette. (not included in main build) 2001-02-15 Willem Jan Palenstijn <[email protected]> * data/great_dagger.shp, data/magic_boomerang.shp: added some more art * data/flx.in, Makefile.*, gumps/Paperdoll_gump_info.cc: added shapes 2001-02-14 Willem Jan Palenstijn <[email protected]> * data/caddellite_helmet.shp: attempt at a caddellite helmet * gumps/Paperdoll_gump_info.cc: added caddellite helmet * data/flx.in, Makefile.*: added caddellite_helmet.shp 2001-02-14 Ryan Nunn <[email protected]> * paperdoll_gump_info.cc: Hoe of Destruction no longer marked as needing art. 2001-02-14 Willem Jan Palenstijn <[email protected]> * Makefile.be: changed version to 0.92 too 2001-02-14 Tristan Tarrant <[email protected]> * configure.in, Makefile.win32, Makefile.cygwin: bump up version to 0.92cvs to avoid confusion 2001-02-13 Ryan Nunn <[email protected]> * gamewin.*, paperdoll_gump*.*: Support for paperdoll shapes in other files. Only <DATA>/exult.flx at the moment. * Makefile.*, data/flx.in, paperdoll_gump_info.cc: Added Hoe of Destruction shape for Black Gate paperdolls. 2001-02-13 Willem Jan Palenstijn <[email protected]> * u7shp.c: added support for a different origin for each frame * hoe_of_destruction.shp: fixed origins 2001-02-13 Tristan Tarrant <[email protected]> * audio/Audio.cc, audio/midi_drivers/Timidity_binary.cc: use 16 bit audio. Makes Timidity music much cleaner 2001-02-13 Tristan Tarrant <[email protected]> * mapedit/studio.cc: set current dir in directory browser 2001-02-13 Ryan Nunn <[email protected]> * cheat_screen.cc : Fixed text issue in Schedule screen 2001-02-13 Tristan Tarrant <[email protected]> * cheat.cc: repeat with me: "I will test my fixes before committing them". 2001-02-13 Tristan Tarrant <[email protected]> * audio/xmidi.cc: cut & paste can be fatal :) make sure that if chorus values are out of range we change them, not reverb 2001-02-13 Tristan Tarrant <[email protected]> * data/scaling_method.shp: new shape for menu entry * exultmenu.cc: implement choosing scaler from setup 2001-02-13 Tristan Tarrant <[email protected]> * cheat.cc: when we postpone initialization of the cheat stuff, really POSTPONE ALL initialization. This fixes a crash when set_grabbed_actor() is invoked before finish_init(). 2001-02-13 Tristan Tarrant <[email protected]> * tools/ucdump.c: #include <string.h> * usecode/compiler/ucfun.cc: fixed cast problem 2001-02-12 Willem Jan Palenstijn <[email protected]> * lots-of-files: fixed warnings 2001-02-12 Ryan Nunn <[email protected]> * exult.cc : <SAVEGAME> default set to "." * fnames.h : SAVENAME change to "<SAVEGAME>/game%02d.u7" * game.cc : Removed U7chdir and replaced it with added the gamepath to <STATIC>, <GAMEDAT>, and <SAVEGAME> * readnpcs.cc : Changed exception handling in read_schedules 2001-02-12 Willem Jan Palenstijn <[email protected]> * keys.h, imagewin/imagewin.h, usecode/intrinsics.cc: fixed warnings * cheat_screen.cc: include config.h * NEWS: fixed typos * gamewin.h: added a check for NULL shape data. (avoids sword crash) * txtscroll.cc: fixed unresponsiveness 2001-02-12 Ryan Nunn <[email protected]> * makefile.* : cheat_screen.cc * NEWS, exult.cc, imagewin/*.* : Multiple Scalers. * actors*.* : Polymorph debugging, Schedules Changing, Pick pocket * NEWS, cheat.*, key*.*, data/defaultkeys.txt : New cheats (cheat screen, pick pocket, grab npc, npc number) * cheat_screen.* : Cheat screen for advanced options. Includes NPC schedules changes, flag modifying, info, time rate/set. * fnames.cc, gamedat.cc, readnpc.cc : Schedule.dat in GAMEDAT dir * gameclk.cc : Schedules in SI always search back * gamewin.* : SI Schedule * schedule.* : Writing and modifying Schedule_change objects * gumps/paperdoll_gump*.* : Bug fixes * objs/iregobjs.cc : So grab npc wont cause problems if NPC removed * usecode/*.* : More SI Intrinsic work 2001-02-11 Tristan Tarrant <[email protected]> * data/black_gate.shp, data/serpent_isle.shp: updated menu entries like someone requested a loooong time ago * exultmenu.cc: updated for above 2001-02-10 Willem Jan Palenstijn <[email protected]> * browser.cc, soundtest.cc: you can now take screenshots in the shape browser and sound tester 2001-02-10 Christoph Reichenbach <[email protected]> * alpha_kludges.h: Added clog to the std:: namespace * usecode/compiler/ucsym.cc: Explicitly specified String_compare in template; fixes cxx (also in my version of 0.91Alpha2) 2001-02-09 Max Horn <[email protected]> * keys.cc: fixed bug in KeyBinder::ParseText on MacOS; changed some cerr to clog 2001-02-09 Max Horn <[email protected]> * shapes/ vgafile.cc: fixed bad bug, shape_source was never inited to 0, this could cause bad crashs in the destructor if load was never called * gamewin.cc: fixed delete -> delete[] in Game_window destructor * shapes/font.cc: fixed delete -> delete[] in Font destructor 2001-02-09 Tristan Tarrant <[email protected]> * keys.cc: Endgame is for SI as well 2001-02-08 Jeff Freedman <[email protected]> * Release 0.91Alpha2! * Commented out 'ucxt' in usecode/Makefile.am, since it was getting compile errors. * Commented out memory fix in path.cc, until we figure out why it causes hangs. 2001-02-08 Max Horn <[email protected]> * pathfinder/path.cc: fixed memory leak in A_star_queue destructor * files/utils.cc: added two missing std:: prefixes 2001-02-08 Tristan Tarrant <[email protected]> * audio/pcb.h: Throttle producers by not increasing the window, and reshuffle data to the bottom of the buffer if space is available, instead of allocating more memory. * shapes/font.cc, shapes/font.h, shapes/vgafile.cc, gamewin.cc: delete dynamically allocated objects in destructors, to ease hunting of memory leaks. * data/quotes.txt: new quote by Jeff 2001-02-07 Max Horn <[email protected]> * tools/expack.cc: change all uses of strcpy/strcat to strncpy/strncat and also did some namespace std:: fixing 2001-02-07 Ryan Nunn <[email protected]> * tools/expack.cc : Finally fixed the Win32 End of Line problem. 2001-02-07 Tristan Tarrant <[email protected]> * Makefile.be, Makefile.win32, Makefile.cygwin, configure.in: set version to 0.91alpha2 2001-02-07 Christoph Reichenbach <[email protected]> * files/utils.cc (U7open): Explicitly exported two U7open functions 2001-02-08 Ryan Nunn <[email protected]> * tools/expack.cc: Added .txt file detection to fix some bugs caused by "stupid dos conventions". * files/utils.cc: I removed the "bad code" ;) * Makefile.*, data/defaultkeys.txt, data/flx.in, data/Makefile.am: Renamed "data/default.key" to "data/defaultkeys.txt" * Makefile.cygwin: make install will now create data dir 2001-02-07 Christoph Reichenbach <[email protected]> * files/utils.h: #ifndef'd inclusion of iosfwd * shapes/items.h: #ifndef'd inclusion of iosfwd * actorio.cc: Fixed "subscript out of range" problem * configure.in: Added check for DEC CXX on Alpha/Linux 2001-02-06 Willem Jan Palenstijn <[email protected]> * Makefile.be, exult_types.h, actors.cc: building on BeOS again 2001-02-07 Ryan Nunn <[email protected]> * tools/expack.cc, files/utils.*: Removed the Win32 fix and replaced it with text file reading modes. 2001-02-06 Tristan Tarrant <[email protected]> * FAQ: added Dominik's FAQ to the distribution * */Makefile.am, configure.in: get "make dist" to work 2001-02-07 Ryan Nunn <[email protected]> * tools/expack.cc: Fix end of line bug on Win32 2001-02-06 Tristan Tarrant <[email protected]> * tools/expack.cc: allow -i to create flex archives from files not in the current directory 2001-02-06 Tristan Tarrant <[email protected]> * tools/expack.cc: fix -c behaviour * Makefile.cygwin, Makefile.win32: use new -i switch for expack Fixed once and for all "alpha_kludges.h" ugliness: * autoconfig.h: renamed to config.h to be consistent with autoconf guidelines * acconfig.h: use @BOTTOM@ directive to conditionally include alpha_kludges.h if necessary * */*: removed all instances of #include "alpha_kludges.h" and added the standard #ifdef HAVE_CONFIG_H bit to all .cc files 2001-02-06 Jeff Freedman <[email protected]> * actors.cc: Weapon animations are set during combat (so Great Dagger is rendered correctly now). 2001-02-06 Christoph Reichenbach <[email protected]> * vast amount of files: "Fixed" alpha_kludges.h includes. I'll get nightmares from the sheer ugliness I introduced again. * actorio.cc: Fixed typo (?) in line 296: Game::Game::get_avname() * exult.cc (Init): Added a "friendly" error message if loading the keybinder defaults failed 2001-02-05 Jeff Freedman <[email protected]> * combat.cc: Glass sword self-destructs. * actors.cc: Fiddled with ::follow(). 2001-02-04 Willem Jan Palenstijn <[email protected]> * keys.cc/h: moved some declarations from .h to .cc 2001-02-04 Max Horn <[email protected]> * keys.cc: fixed to compile on proper C++ compilers ;). Also, on mac, "Help" will show "Cmd" instead of "Alt" * keys.h: change struct Action to contain a char* instead of a std::string * tools/expack.cc: rewrote the -i code to handle empty lines properly; also, some code cleanup * shapes/shapevga.cc: fixed type error 2001-02-04 Willem Jan Palenstijn <[email protected]> * keys.cc/h, keyactions.cc/h: dynamic keybinder implemented * exult.cc,game.cc: use dynamic keybinder * data/default.key, data/flx.in: default keybindings * Makefile.*: build keybinder * menulist.cc: removed some debug output * cheat.cc/h: added some new functions 2001-02-04 Jeff Freedman <[email protected]> * Fixed bug where monsters weren't attacking. * Weapons: Guessing at ranges. Dragon's breath works now. 2001-02-03 Jeff Freedman <[email protected]> * shapes, etc.: Figured out more info. about weapons. Triple-crossbow now works, and sling, blowgun work like the original (unlimited ammo). 2001-02-03 Max Horn <[email protected]> * actors.cc: "fixed" Marsten crash (teleport code was buggy) 2001-02-01 Jeff Freedman <[email protected]> * Mass-death spell now works. 2001-01-31 Jeff Freedman <[email protected]> * Fixed last night's conversation fix :-( 2001-01-30 Jeff Freedman <[email protected]> * schedule.cc (Sit_schedule): Wait before sitting a 2nd time. Fixes bug in SI Knight's Test. * actors.cc: Actor::unready_weapon() to fix Krieg. * conversation.cc: Show correct Avatar face in SI. 2001-01-30 Tristan Tarrant <[email protected]> * tools/expack.cc: Added an -i option which reads in a file describing the flx to build. Got rid of the really gross MacOS hack. * data/flx.in: Description for creating exult.flx 2001-01-28 Jeff Freedman <[email protected]> * Rat-race game works. * Armageddon spell implemented. 2001-01-26 Tristan Tarrant <[email protected]> * mapedit/dirbrowser.*: added a nice directory browser widget stolen from XMMS * mapedit/objbrowse.*: added framework for generic browsers * mapedit/paledit.*: made it conform to Object_browser * mapedit/shapelst.*: ditto * mapedit/studio.cc: Use a tree instead of a list for the files, categorize the files by type, use the directory browser to select the static path 2001-01-26 Tristan Tarrant <[email protected]> * mapedit/shapelst.*: show shapes on multiple rows. * mapedit/studio.*: fixes. 2001-01-25 Tristan Tarrant <[email protected]> * mapedit/*: more work. 2001-01-25 Jeff Freedman <[email protected]> * SI: Fixed some usecode assignments (so Knight's test isn't so broken). Fixed dungeon rendering there too. * wud.c - Give "-a" as func. # to print whole thing. 2001-01-25 Tristan Tarrant <[email protected]> * configure.in: check for libglade * mapedit/*: general hacking resulting in a libglade'ified ExultStudio. Caveat: it is very picky about where it looks for stuff. 2001-01-24 Jeff Freedman <[email protected]> * SI: You can now start the Knight's Test (but you'll get stuck after entering). 2001-01-25 Ryan Nunn <[email protected]> * mingw_kuldges.h: Added so Exult can once again be compiled in Win32 * makefile.win32, makefile.cygwin: -include mingw_kludges.h 2001-01-23 Jeff Freedman <[email protected]> * Sprite effects no longer get split up (at SI start). 2001-01-23 Tristan Tarrant <[email protected]> * mapedit/exultstudio.cc: framework for running both standalone and as GIMP plugin (only former works at the moment). * mapedit/Makefile.am: add GIMP libs if needed 2001-01-23 Tristan Tarrant <[email protected]> * tools/Makefile.am, tools/u7shp.c: removed GIMP plugin from here * mapedit/Makefile.am, mapedit/u7shp.c: moved here * mapedit/*: librarized properly * mapedit/exultstudio.cc: Beginnings of "ExultStudio", a GIMP extension for managing shapes and palettes 2001-01-22 Jeff Freedman <[email protected]> * Add 'teleport' intrinsic to SI; Shamino now appears. * Better reporting in Usecode function tracing. Also, SETR now does a RTS as well in BLACK GATE. This fixes the test for blocked gangplank. 2001-01-22 Max Horn <[email protected]> * utils.c: fixed switch_slashes() on MacOS to properly work with absolute path's; changed U7mkdir() to call switch_slashes() * ucmachine.cc: changed printf to cout * lots-of-files: changed sprintf to snprintf (to prevent potential overflow bugs) * lots-of-files: added some using std:: directives and some some std:: prefixes 2001-01-22 Tristan Tarrant <[email protected]> * txtscroll.cc: pressing shift during scroll makes it faster 2001-01-21 Jeff Freedman <[email protected]> * In SI, treat SETR as a RTS as well. Fixes infinite loop when trying to buy from armourer. 2001-01-21 Willem Jan Palenstijn <[email protected]> * cheat.cc, intrinsics.cc: fixed SI map. (somewhat) 2001-01-20 Jeff Freedman <[email protected]> * gamewin.cc: Bug fixes: Theft, right-double-click, crash after Alagnar is killed 2001-01-19 Tristan Tarrant <[email protected]> * tools/u7shp.c: renamed. As per Ryan's request, the plugin now uses guides to identify the hotspot. Caveat: only the hotspot of the first frame is considered 2001-01-19 Ryan Nunn <[email protected]> * actors.*, exult.cc, gamewin.*, NEWS, gumps/*.* : SI paperdolls in BG * gameclk.*, gamewin.h : Time now counts in minutes not per 15 minutes. Also added timerate variable for potential cheat useage like the originals. * audio/midi_drivers/win_midiout.* : Replaced all SDL calls with the equivilant Win32 calls. 2001-01-18 Tristan Tarrant <[email protected]> * data/exult_logo.shp: removed spurious pixels 2001-01-18 Willem Jan Palenstijn <[email protected]> * iwin8.cc/h: removed SDL_video.h from iwin8.h 2001-01-17 Willem Jan Palenstijn <[email protected]> * actors.cc, conversation.cc: fixed 'male avatar has female face' bug * lots-of-files: removed superfluous SDL.h includes, replaced some SDL.h includes by SDL_video.h/SDL_audio.h/etc... (cutting compile time with almost 20% on my system!) 2001-01-17 Jeff Freedman <[email protected]> * exult.cc: Fixed restart problem in Trinsic. * Ucc - C-comments and #include added. 2001-01-14 Jeff Freedman <[email protected]> * Bugs fixed: Crash (out of memory) at end, guards, walking in sleep. * gamewin.cc (Game_window): "userusecode" entry in .exult.cfg allows for custom Usecode functions. * npcnear.cc: Faster response for SI's rabbit, and storms cleaned up a bit more. 2001-01-14 Willem Jan Palenstijn <[email protected]> * exult.cc: added some (disabled) code to create a full 600Mb world map for U7 2001-01-13 Max Horn <[email protected]> * bggame.cc: some minor changes to make more similiar to sigame.cc * sigame.cc: brought SI_Game::new_game up-to-date with its BG_Game counterpart i.e. the name arrays now have correct size (where too small before) so you can now enter names up to 15 chars, and you can now use left/right arrow to switch your portrait/sex * vgafile.cc: Vga_file destructor checks that shapes is allocated before destroying it * files/utils.cc: rewrote Switch_slashes algorithm to translate Unix->mac paths 2001-01-13 Jeff Freedman <[email protected]> * Found 1 memory corruption (my fault:-( ). * Fixed crash at start of monks' encounter. 2001-01-12 Tristan Tarrant <[email protected]> * NEWS: updated * gamma.h: added newline at the end to keep gcc happy 2001-01-11 Jeff Freedman <[email protected]> * Implemented 'shy' and 'hound' schedules. * Fixed 'hang' bug upon entering Monitor. 2001-01-12 Ryan Nunn <[email protected]> * Actors.* : When in SI Intercept dont_render item flag and change to dont_move SI flag. * Actorsio.cc : In actor constructor only call ready_best_weapon for Avatar and Iolo when creating the game in Black Gate. Never gets called at any other time. * gamewin.cc : If dont_move SI flag is set, stop the Avatar and don't let them move. * audio/midi_drivers/win_midiout.cc : Fixed bug with SFX playing. Fixed potential memory leaks. Fixed bug causing the game to become unresponsive when changing music and stopping music. Fixed bug causing the entire system to freeze IF a file was played that either contained no events or had every event at time 0. * gumps/Paperdoll_gump.cc : Fixed crash when polymorphed. * shapes/fontvga.cc : Changed hleads for fonts. NOTE: Other custom fonts may still need changing 2001-01-11 Max Horn <[email protected]> * contains.cc: added #include "files/utils.h" 2001-01-11 Max Horn <[email protected]> * hash_utils.h: contains hash_set/hash_map stuff * files/utils.h: moved hash related stuff to hash_utils.h * bodies.cc: #include hash_utils.h instead of files/utils.h * delobjs.h: * font.h: #include hash_utils.h instead of files/utils.h; removed the std:: from std::hash_map since hash_map is *not* part of the standard C++ lib and should not be part of std:: * game.h: #include hash_utils.h instead of files/utils.h; removed unneeded "extern const int c_tiles_per_chunk;" * Mixer.cc: (hopefully) fixed crashing bug on MacOS. Please read the comment in fill_audio_func * Audio.cc: rearranged the #includes at the top of the file a bit * various other files: changed header comment a bit (to read: (c) 2000-2001 The Exult Team) 2001-01-12 Ryan Nunn <[email protected]> * usecode/ucmachine.cc : add_cont_items returns num not added. remove_cont_items changed to return num removed. These changes now properly remove and add items during the initial SI teleport storm. 2001-01-12 Ryan Nunn <[email protected]> * Added Serpent Isle intrinsics set_polymorph (b3), remove_cont_items (37) and error_message (40). * Added full support for polymorph mode for Serpent Isle NPCs. * Added in_party flag. * Modified add_cont_items intrinsic to return the number created. * Changed formatting in siintrinsics.h. * Stop SI NPCs going to first time schedule after being activated. * Don't set BG gameplay settings (i.e. have password) when playing SI. * Shapes_vga_file::get_info returns info[721] for all male Avatar shapes and info[989] for all female Avatar shapes. Removed previous code that delt with Avatar shapes >= 1024. * Fixed another potential divide by zero in objs/contain.cc. * Modifed Makefile.win32 to make things easier for me if it gets updated by someone else. 2001-01-11 Jeff Freedman <[email protected]> * Serpent Isle conversations improved. * Monster eggs - Finally discovered 'schedule' field. 2001-01-11 Dancer Vesperman <[email protected]> * No more chipmunk VOC's for SI. Another false sample rate 2001-01-10 Jeff Freedman <[email protected]> * Weather intrinsics implemented, also 'Ambrosia' rain. * Update all timers upon game pause/resume. * Removed delay from Talk_schedule. 2001-01-10 Willem Jan Palenstijn <[email protected]> * files/utils.cc: always #include <unistd.h> (not just on MacOS) 2001-01-10 Max Horn <[email protected]> * autoarray.h: added check for access to negative indices * game.cc: changed to use U7chdir instead of chdir * gamedat.cc: changed to use U7mkdir instead of mkdir * audio/Audio.h: removed not needed #include "utils.h" * audio/Mixer.cc: re-enabled audio on MacOS * audio/xmidi.cc: fixed namespace std issues * files/utisl.cc/h: added U7mkdir and U7chdir for portability reasons. Also augmented switch_slashes() 2001-01-09 Jeff Freedman <[email protected]> * SI - Schedules take effect immediately. * SI - Guard opens gate (Intrinsic 0xc1 added). * SI - Starting scene works!! (Well somewhat, and you do have to wait several seconds, hanging around the bunny.) * Usecode compiler - 1st pass pretty much complete. 2001-01-10 Ryan Nunn <[email protected]> * gamma.h : Gamma Table Class * Makefile.am : Added gamma.h * Makefile.Win32 : Fixed 'Clean' * bggame.cc : Faster Fades in Endgame * effects.* : Attempting to prevent 2 lighting effects from occuring at the same time. * exult.cc : + and - now do gamma correction. * palette.* : New methods so palette class could be used by Flics * audio/xmidi.* : Now uses Gamma Table Class * flic/playfli.* : Changes to use Palette class and methods to get the palette * gumps/Paperdoll_gump : Some fixes. Defining SHOW_USECODE_CONTAINER will show the usecode container as a backpack in the upperleft. * imagewin/iwin8.* : Three Channel Gamma Correction ability added * objs/contain.h : Gump for usecode container. 2001-01-09 Willem Jan Palenstijn <[email protected]> * audio/audio.cc, audio/Mixer.cc: experimental audio-buffer fix 2001-01-08 Max Horn <[email protected]> * I had broken the game by replacing tiles_per_schunk with c_fade_out_time (instead of c_tiles_per_schunk). Fixed. Sorry again. 2001-01-08 Christoph Reichenbach <[email protected]> * usecode/conversation.cc: Included alpha_kludges.h * audio/xmidi.cc: Moved xmidi.h into non-Alpha block 2000-01-08 Max Horn <[email protected]> * exult_constants.h: changed constants to be prefixed by c_ * exult_constants.h: added some new constants (esp. for those -359 values!) * lots-o-files: updated to reflect changes to exult_constants.h * removed some dependencies on objs.h (most importantly, from gamewin.h!) * objs/flags.h: added, contains item flags * objs/objlist.h: added, contains Object_list -> enables us to remove more dependencies * audio/Mixer.cc/h: made temp_buffer (from fill_audio_func) a class member and pre-allocate it two reasons for this: 1) more efficient 2) no more crash on MacOS 2001-01-08 Tristan Tarrant <[email protected]> * NEWS: updated * audio/midi_drivers/Timidity_binary.cc: tiny useless fixes 2001-01-08 Willem Jan Palenstijn <[email protected]> * lots.of.files: removed AUTOCONFIGURED define * lots.of.files: removed #include's * Makefile.*: removed unused NO_INTRO define * exultmenu.cc/h: moved part of game.cc/h into new files * exult_constants.h: added, contains several constants (from objs.h) 2001-01-07 Jeff Freedman <[email protected]> * Bug fixes: Cannons now fire, and lightning stops in dungeons. 2001-01-08 Willem Jan Palenstijn <[email protected]> * gamewin.cc/h, usecode/conversation.cc/h: moved part of Game_window to a new Conversation class * schedule.cc, usecode/ucmachine.cc/h, usecode/intrinsics.cc: changed to use new Conversation class * usecode/Makefile.am, Makefile.*: build conversation.o 2001-01-07 Willem Jan Palenstijn <[email protected]> * exult.cc: Get_click ignores modifier keys, and takes screenshots * gamewin.cc/h: added Game_window::clear_avatar_choices() * usecode/ucmachine.cc: accept only 1-9 keys during conversation, escape now selects 'bye' if present * .cvsignore: added exult???.pcx 2001-01-06 Jeff Freedman <[email protected]> * UCC - Intrinsics, function-calls. 2001-01-07 Willem Jan Palenstijn <[email protected]> * flic/Makefile.am: added ../objs, ../shapes include dirs * sigame.cc: fixed display loop in SI's create new game 2001-01-07 Ryan Nunn <[email protected]> * Makefile.* : Paperdoll_gump_info.cc * actors.cc : Paperdolls, Game specific combat music * actors.h : Paperdolls * browser.cc : Fixes infinite loop bug * combat.cc : Game specific combat music * gamewin.cc : Brightness * gamewin.h, palette.cc, flic/playfli.cc : Frame Skipping * audio/Audio.* : Game specific combat music * audio/Midi.cc : Tracks -1 and 255 now stop the track * audio/xmidi.* : Reverb, Chorus, Volume gamma * audio/midi_drivers/win_midiout.* : Reverb, Chorus, General Fixes, 'warble' should now be gone * gumps/Actor_gump.cc : Rewrote Actor_gump::add to be more accurate * gumps/Gump.cc : Removing an item now forces entire screen repaint so Weight changes are visible when moving items. * gumps/Gump.h : find_object made virtual so paperdolls would work * gumps/Paperdoll_gump.* : Umm, everything * gumps/Paperdoll_gump_info.cc : Info about items and NPCs. I could not find this information in the Serpent Isle data files. * gumps/misc_buttons.* : Moved Cstats_button class to here. * shapes/items.h : Removed Combat Music #defines 2001-01-06 Willem Jan Palenstijn <[email protected]> * configure.in, various Makefile.am: added quick'n'dirty ucxt makefile, not yet included in main build (like ucc) * usecode/ucxt/.cvsignore, usecode/ucxt/src/.cvsignore: add linux files 2001-01-05 Willem Jan Palenstijn <[email protected]> * exult.cc: ugly temporary hack to fix compiler error. * ready.h, actors.h: removed warnings 2001-01-04 Willem Jan Palenstijn <[email protected]> * shapes/font.cc: applied Frederic Wagner's french-version patch 2001-01-04 Ryan Nunn <[email protected]> * game.cc : Fixed a divide be zero 2001-01-04 Ryan Nunn <[email protected]> * gamewin.cc : Font *get_font(fontnum) method * gamewin.h : Font *get_font(fontnum) method * shapes/fontvga.h : Font *get_font(fontnum) method * shapes/font.cc : paint font fixedwidth methods * shapes/font.h : paint font fixedwidth methods * browser.cc : Non 320x200 resolution fixes. Added extra info. Now uses fixed width font rendering. Some tweaks. Arrow, PageUp and PageDown keys can now be used. * cheat.cc : Only 1 SoundTester is created * cheat.h : Only 1 SoundTester is created * exult.cc : SoundTester is now Alt-1 instead of Ctrl-1 * audio/soundtest.h : SoundTester remembers settings. * audio/soundtest.cc : SoundTester remembers settings. Now uses fixed width font rendering. * ready.h : Work on SI ready types * actorio.cc : Don't think i did much of anything here * gumps/Paperdoll_gump.h : Work on SI readied spots. Work on paperdolls * gumps/Paperdoll_gump.cc : Work on SI readied spots. * actors.h : Work on SI readied spots * actors.cc : Some work on Party Formations. Work on SI ready types and readied sport * game.cc : Correct Mouse shape now used for game menus. * objs/contain.cc : Fixed divide by zero problem. * fnames.h : Added SISPEECH. * audio/Audio.cc : SISPEECH is now used when playing Serpent Isle. 2001-01-03 Willem Jan Palenstijn <[email protected]> * usecode/compiler/Makefile.am: don't build ucc with --disable-tools * usecode/compiler/.cvsignore: added * bggame.cc: fixed crash in 'arm hits screen' scene 2001-01-02 Jeff Freedman <[email protected]> * More usecode-compiler coding: Symbols. 2001-01-03 Willem Jan Palenstijn <[email protected]> * bggame.cc, game.cc/h, menulist.cc, exult.cc: you can now take screenshots in the menus and during the intro. (maybe endgame too) 2001-01-02 Willem Jan Palenstijn <[email protected]> * bggame.cc: cleaned up a bit, correctly aligned some shapes * gamewin.cc: corrected some text rendering in conversations, experimenting with plasma effect 2001-01-02 Ryan Nunn <[email protected]> * Makefile.cygwin: Should fixed crash on exit problem expirenced by Dominik on JackChaos Added U7PATH to specify where Ultima 7 is installed (for make install) * Makefile.win32: Also Added U7PATH to this as well 2001-01-01 Willem Jan Palenstijn <[email protected]> * palette.cc: fixed fades when fades are disabled, added set_color() * bggame.cc: still working on intro * shapes/font.cc: fixed get_text_height(), which broke text rendering * gumps/Text_gump.cc: compensate for new get_text_height() 2000-12-31 Willem Jan Palenstijn <[email protected]> * configure.in, various Makefile.am: added --disable-tools and --disable-data configure switches * tools/.cvsignore: removed 'txt2cc' * palette.cc/h: added Palette::show() to dump palette onscreen * gamewin.cc/h: added Game_window::plasma() function (needs work) * bggame.cc: fixed up Guardian speech (show right shapes, show plasma) * shapes/font.cc: implemented center_text() 2000-12-31 Jeff Freedman <[email protected]> * Started writing usecode parser. 2000-12-29 Jeff Freedman <[email protected]> * Bugs fixed: Can break glass counters. Don't ready torches. Show sundials correctly. 2000-12-29 Willem Jan Palenstijn <[email protected]> * various: renamed hack-mover to map-editor 2000-12-27 Jeff Freedman <[email protected]> * Usecode: Intrinsic 0x92 discovered. Also increased range of find_nearby_avatar(), so beware of problems. 2000-12-26 Jeff Freedman <[email protected]> * Edit colors in palette editor. 2000-12-26 Willem Jan Palenstijn <[email protected]> * savepcx.cc: fixed 8 bit output (RGB <-> BGR) * mapedit/.cvsignore: added 'paltest' 2000-12-24 Willem Jan Palenstijn <[email protected]> * savepcx.cc: unsigned long -> Uint32, unsigned short -> Uint16 * configure.in: removed a few crosscompiling-related warnings * configure.in,mapedit/Makefile.am: fixed gtk-interface conditional 2000-12-23 Jeff Freedman <[email protected]> * xdrag.cc (Xdnd): Moved XDND code here. * Set frame in shape chooser. 2000-12-23 Willem Jan Palenstijn <[email protected]> * imagewin/savepcx.cc, imagewin.cc/h: add .pcx saving functionality * exult.cc: ctrl-alt-s takes a screenshot to exult%03i.pcx 2000-12-20 Jeff Freedman <[email protected]> * actors.cc (Actor): Make 'follow()' more sensitive to NPC's being left behind. 2000-12-19 Willem Jan Palenstijn <[email protected]> * configure.in: fixed --disable-long-long-warnings 2000-12-18 Christoph Reichenbach <[email protected]> * Applied the Alpha/Debian/cxx patch, updated README.Alpha * Many files now include "alpha_kludges.h" * hash_maps and hash_sets are now used iff DONT_HAVE_HASH_MAP/ DONT_HAVE_HASH_SET are /not/ defined. Those are #defined in alpha_kludges.h iff HAVE_CONFIG_H is defined and the hash_map and hash_set header files were found during configure time. * Misc. int/long int -> u?int32 fixes all over the place * configure.in: added --disable-long-long-warnings 2000-12-18 Jeff Freedman <[email protected]> * Shape dragging uses shape as its icon. * Add objects that are dragged. 2000-12-15 Willem Jan Palenstijn <[email protected]> * conf/Configuration.cc: moved BeOS config file to ~/config/settings/ 2000-12-14 Jeff Freedman <[email protected]> * Schec. usecode opcode 0x56 means: play speech track. 2000-12-14 Tristan Tarrant <[email protected]> * configure.in: Fill out GTK+ discovery stuff * Makefile.am, mapedit/Makefile.am: automake stuff for above * mapedit/.cvsignore: added shapetest 2000-12-13 Jeff Freedman <[email protected]> * Adding drag-and-drop support (but not working yet). 2000-12-13 Willem Jan Palenstijn <[email protected]> * drag.cc: fixed 'hack-moving monsters crash' bug re-center screen when hack-moving yourself, allow stealing while in hack-mover * exult.cc, audio/soundtest.cc: fixed scoll rendering bug 2000-12-12 Willem Jan Palnestijn <[email protected]> * mapedit/.cvsignore: added * .cvsignore: added u7midi 2000-12-11 Max Horn <[email protected]> * lots-o-files: applied some of the changes from Christoph Reichenbach <[email protected]> I didn't incorporate all changes yet, though. * exult.cc: on mac, META (=Command key) is now used instead of ALT 2000-12-11 Max Horn <[email protected]> * audio/Mixer.*: some code cleanup 2000-12-09 Max Horn <[email protected]> * Text_gump.h: fixed delete -> delete [] 2000-12-09 Tristan Tarrant <[email protected]> * txtscroll.cc: support "double hash" * data/quotes.txt: Fixed quotes a bit * bggame.cc: stop speech if early exit * sigame.cc: small font fix * NEWS: updated 2000-12-09 Tristan Tarrant <[email protected]> * */Makefile.am: add a CLEANFILES def to all files 2000-12-07 Jeff Freedman <[email protected]> * mapedit: VERY rudimentary start of a GTK shape browser. * gamewin.cc: Stealing food is now a crime. * objs.h, chunks.cc: Fixed my recent breakage of is_blocked(). 2000-12-07 Dancer Vesperman <[email protected]> * Give a useful diagnostic if pthread_create() fails in the timidity driver * Remove a redundant bit of output. * Kill most of the stutter from audio stream window startup. 2000-12-06 Jeff Freedman <[email protected]> * Changes to barges and Chunk_object_list::is_blocked to handle flying carpet better. * Fiddled with scroll rendering. 2000-12-06 Willem Jan Palenstijn <[email protected]> * menulist.cc: handle SDL_QUIT event in menus 2000-12-06 Jeff Freedman <[email protected]> * Restore mode after 'p' for 'lockpicking'. * If flags/properties change while gumps are open, repaint. 2000-12-06 Willem Jan Palenstijn <[email protected]> * Configuration.cc: don't abort when exult.cfg not found 2000-12-05 Max Horn <[email protected]> * ucmachine.h: fixed delete -> delete [] 2000-12-05 Tristan Tarrant <[email protected]> * audio/pcb.h: Fix possible race condition in produce() * audio/midi_drivers/Timidity_binary.*: use pthreads instead of SDL's own, so that we can join properly. Reworked entire forking strategy. This should fix most problems (all?) * game.cc: stop music at appropriate places 2000-12-05 Willem Jan Palenstijn <[email protected]> * cheat.cc: heal party also cures poison and removes hunger 2000-12-05 Tristan Tarrant <[email protected]> * INSTALL: more details * TODO: a few ideas 2000-12-04 Willem Jan Palenstijn <[email protected]> * exult.cc, cheat.h/cc: added ctrl-alt-h = resurrect and heal party. * various: changed lots of unsigned char* to uint*, added some std::toupper * Makefile.be: minor change * actors.cc: fixed blackrock-explosion bug 2000-12-03 Max Horn <[email protected]> * various files: added missing using std:: * xmlparse.cc: made handling of XML entities more efficient and support all 5 required XML entities * Text_gump.cc: fixed delete -> delete [] 2000-12-03 Willem Jan Palenstijn <[email protected]> * objs/.cvsignore: added 2000-12-03 Dancer Vesperman <[email protected]> * Clean up audio-streams before terminating. * Discovered a bug with termination of timidity. SIGPIPE is getting masked out. NOT FIXED YET. popen() looks like the wrong way to go. 2000-12-02 Willem Jan Palenstijn <[email protected]> * File_gump.cc: fixed initial state of sound buttons 2000-12-01 Jeff Freedman <[email protected]> * Create 'objs' subdirectory. * Fixed bug with crystal ball on larger windows. * Intrinsic 0x8f also seems to be start_speech(). 2000-12-01 Willem Jan Palenstijn <[email protected]> * exult.cc: Ctrl-P: repaint screen, P: use lockpick * configure.in: added -Wno-long-long as default option * actors.cc: small fix for God mode. (some monsters have zero str.??) * exult.cc,cheat.h/cc: Ctrl-L levels up entire party, up to level 10. 2000-12-02 Ryan Nunn <[email protected]> * added audio/soundtest.cc * exult.cc, cheat.cc, audio/soundtest.cc: Added Sound Tester (Ctrl-1) * audio/xmidi.cc: Fixed Midi crash problem * win_midiout.cc: Attempt to fix a modulation problem 2000-12-01 Max Horn <[email protected]> * removed lists.cc from CVS and the makefile 2000-12-01 Max Horn <[email protected]> * list.cc: removed class Slist & consorts * list.h: added class Exult_queue and Actor_queue which replace Slist & consorts * combat.*, schedule.*: use Actor_queue instead of Slist * vec.h: renamed FeatureVector -> Exult_vector; GOVector -> Game_object_vector; etc. to match the naming conventions used throughout exult * various files: update to match class name changes * chunks.cc: fixed delete -> delete [] * AUTHORS: added Ryan Nunn, he was missing for whatever reasons * args.*: added proper GPL header * various files: added missing "using std::xyz" statments * expack.cc: don't use strdup anymore 2000-11-30 Jeff Freedman <[email protected]> * Broke off chunks.{cc,h} and ordinfo.h from objs.{cc,h}. 2000-11-30 Willem Jan Palenstijn <[email protected]> * quotes.txt: new quote 2000-12-01 Ryan Nunn <[email protected]> * Added MidiInfo.txt: Contains some information about midi. Unfinished. * Makefile.win32: Was broken, now works. Also removed -g added -O2 * audio/Midi.cc: Added SFX conversion option gs127 (same as none) * audio/xmidi.cc: Fixed potential rare memory leak. 2000-11-29 Jeff Freedman <[email protected]> * Font-handling move to shapes directory. 2000-11-29 Tristan Tarrant <[email protected]> * audio/midi_drivers/Timidity_binary.cc: use %lu in sprintf instead of the meaningless %ul 2000-11-29 Max Horn <[email protected]> * lots-o-files: changed #include <something.h> to the C++ version: include <csomething> * exult.cc: removed Mouse *mouse and bool mouse_enabled * Mouse.h/cc: added static Mouse *Mouse::mouse and bool Mouse::mouse_enabled * various files: adapted to new class members of Mouse 2000-11-29 Max Horn <[email protected]> * Makefile.be/win32/cygwin: fixed to properly support new dirs gumps/, shapes/, usecode/ * shapes/shapevga.cc: added some using std:: to make it compile on MacOS 2000-11-29 Tristan Tarrant <[email protected]> * audio/midi_drivers/Timidity_binary.*: support repeat of songs 2000-11-29 Max Horn <[email protected]> * updated Makefiles/configure.in to include gumps 2000-11-29 Max Horn <[email protected]> * gumps/*: split up gumps.cc/h and spells.cc/h into separate files * autoarray.h: std:: changes * game.h: made sure this file can be included before gamewin.h (previously, you would get errors) * exult.cc: moved some gump-related stuff to gumps/gump_utils.cc/h * various: adapted to gumps changes 2000-11-28 Willem Jan Palenstijn <[email protected]> * usecode/*: split up usecode.cc/h into separate files * configure.in, Makefile.am: changed to reflect this * Makefile.win32, Makefile.Be, Makefile.cygwin: changed too * various: changed includes 2000-11-28 Willem Jan Palenstijn <[email protected]> * usecode.h: in usecode macros: '## NAME ## (int...' to '## NAME (int...' * Makefile.be: adapted somewhat because of new imagewin directory 2000-11-27 Willem Jan Palenstijn <[email protected]> * configure.in: I mistakenly used target instead of host. fixed. 2000-11-27 Max Horn <[email protected]> * files/*.cc: changed retrieve() to return a char* instead of taking a char** * various files: changed Uint? to uint? (so we are less dependant on SDL) * imagewin/imagebuf.h: fixed ~Image_buffer to use delete [] instead of delete * actions.cc: fixed ~Sequence_actor_action to use delete [] instead of delete * gumps.cc: fixed ~Gump_text to use delete [] instead of delete * bggame.cc: added tab key to work like arrow down in the new game screen; space works like return * files/common_types.h: removed * exult_types.h: added as replacment for common_types.h * various files: changed Uint? to uint? (so we are less dependant on SDL) 2000-11-27 Tristan Tarrant <[email protected]> * tools/u7shpload.c: applied patch from Mark Winterrowd which fixes bugs with loading shapes with negative offsets. 2000-11-27 Dancer Vesperman <[email protected]> * A quotable quote. 2000-11-27 Tristan Tarrant <[email protected]> * bggame.c: load the right palette for credits/quotes, corrected horizontal spacing of menu font 2000-11-27 Tristan Tarrant <[email protected]> * data/palette_fades.shp: new shape * game.cc: allow user to enable/disable fades * menulist.h: return index of entry in menu from add_entry 2000-11-27 Willem Jan Palenstijn <[email protected]> * acconfig.h, configure.in: complete overhaul of configure.in * exult.cc: included '--disable-sdl-parachute' configure option 2000-11-26 Jeff Freedman <[email protected]> * Split up imagewin.{cc,h} and moved to imagwin directory. * SDL palette methods moved to Image_window8 from Image_buffer8. 2000-11-27 Dancer Vesperman <[email protected]> * Some people are having trouble including pthread_alloc. Include cstring as an alternative 2000-11-27 Dancer Vesperman <[email protected]> * Never call the mixer object through it's pointer without verifying the validity of that pointer. Should fix occasional segfault at shutdown 2000-11-27 Dancer Vesperman <[email protected]> * Create newstrdup() in gumps.cc as an interim solution. Goal is to encapsulate all char arrays into an efficient storage unit (coming soon. Be patient). For now we lose strdup to avoid the mixed memory models. newstrdup() will throw std::invalid_argument() if handed a NULL. * Change all strdup()'s to newstrdup() * Change free() for all strdup'ed() blocks to delete [] * alloc.cc: Something changed in exception specification. Add std:: * alloc.cc: pthread_alloc declares memset. Include it 2000-11-26 Willem Jan Palenstijn <[email protected]> * README.BeOS: added * README.win32: added (temporarily unavailable) to cross-compiling instructions * Makefile.be: added 'make bindist' option to automate distributing * actors.cc: removed an inline in BeOS. (won't compile otherwise...) 2000-11-26 Max Horn <[email protected]> * files/utils.cc: fixed a bug in get_system_path (it sometimes "forgot" to call switch_slashes) 2000-11-26 Willem Jan Palenstijn <[email protected]> * beos/exult.rsrc: BeOS resource file * Makefile.be: include resource file in binary 2000-11-26 Max Horn <[email protected]> * mouse.cc: mouse is now positioned correctly directly after creation 2000-11-26 Willem Jan Palenstijn <[email protected]> * gamewin.cc: fixed problem with "journey onward" right after "create new game" 2000-11-26 Max Horn <[email protected]> * effects.cc, gamedat.cc, gumps.cc, imagewin.h, usecode.cc, useval.cc: fixed incorrect uses of delete/delete[] * txtscroll.cc: TextScroller::text change to vector of std::strings * effects.cc: Text_effect::msg changed to std::string 2000-11-25 Willem Jan Palenstijn <[email protected]> * configure.in: fixed most (hopefully all) configure options 2000-11-25 Max Horn <[email protected]> * Configuration.cc: some cleanup * exceptions.h: exult_exception now saves errno when it is thrown * exult.cc: moved most code of main() to exult_main() * exult.cc: added try/catch block to the new main() * gameclk.cc: added GPL header (should be in every source/header file) * gamewin.cc: u7open removed in favor of U7open * files/utils.cc: U7open throws an file_open_exception if it fails; does not return an int anmore * files/utils.cc: U7exists now also checks upper case variant of the name * files/utils.cc: fixed a MacOS only bug in switch_slashes * *.cc: changed all calls to U7open to correctly handle exceptions if appropriate 2000-11-25 Willem Jan Palenstijn <[email protected]> * exult.cc/usecode.cc: added config/debug/trace/usecode (yes/no) option 2000-11-26 Dancer Vesperman <[email protected]> * audio/Audio.h: Eliminate a warning by making the Audio constructor protected, rather than private. * actors.cc: const police * audio/xmidi.cc: Initialise status * menulist.h: const police * menulist.h: initialisers in declaration order * game.h: const police * gamewin.h: initialisers in declaration order * gumps.h: const police * gumps.cc: const police * schedule.cc: const police * usecode.cc: int and size_t are not _quite_ the same thing * usecode.cc: const police * gamewin.h: const police * gamewin.cc: const police * browsers.cc: const police * audio/midi_drivers/Timidity_binary.cc: maybe dynamic instrument loading is not as good as it seems 2000-11-25 Willem Jan Palenstijn <[email protected]> * drag.cc,exult.cc,gamewin.h/cc: changed more vars from int to bool * gamedat.cc,readnpcs.cc: more int->bool 2000-11-25 Max Horn <[email protected]> * files/utils.cc: changed path_map to be a map of strings instead of a hash_map of char* * files/utils.cc: made sure functions are named like some_noun * files/utils.cc: get_system_path now implicitly calls switch_slashes * changed most uses of char* to string 2000-11-25 Dancer Vesperman <[email protected]> * audio/Audio.cc: Don't call SDL::CloseAudio(). Bad things seem to happen in there. 2000-11-24 Jeff Freedman <[email protected]> * Write out correct count for 'monsnpcs.dat'. 2000-11-25 Willem Jan Palenstijn <[email protected]> * gamewin.h/cc, palette.cc, exult.cc: new config/video/disable_fades (yes/no) option 2000-11-25 Max Horn <[email protected]> * changed a lot vars from unsigned char to bool (and 0->false, 1->true) * objs.cc: static find_nearby() now properly uses dynamic_cast instead of C-style cast * exult.cc: activated Unicode mapping for key, used that to improve Handle_keystroke() 2000-11-24 Willem Jan Palenstijn <[email protected]> * drag.cc,exult.cc,gamewin.h: fixed gump buttons passing clicks to underlying items * cheat.h/cc: made most member functions const 2000-11-24 Max Horn <[email protected]> * objs.cc: added find_nearby_eggs() and find_nearby_actors() * changed various locations to use these methods instead of find_nearby() * files/*.cc: removed unused method retrieve(int objnum,const char *) * files/*.cc: retrieve() does not return anything anymore but throws exceptions * exceptions.h: collected all exception related stuff into one header file * palette.cc: Palette::load() does throw an exception instead of returning an int 2000-11-24 Willem Jan Palenstijn <[email protected]> * usecode.cc: fix for Test of Love conv. bug. See mailing list. 2000-11-25 Dancer Vesperman <[email protected]> * audio/Audio.cc: Remove some cruft that used to support the ring-buffers. Should prevent occasional SDL breakage. 2000-11-24 Willem Jan Palenstijn <[email protected]> * utils.cc: fixed allocation bugs in get_system_path() 2000-11-24 Willem Jan Palenstijn <[email protected]> * game.cc: wait_delay() now handles all waiting events, instead of just one 2000-11-24 Dancer Vesperman <[email protected]> * audio/Audio.cc: Remove a redundant assignment 2000-11-24 Dancer Vesperman <[email protected]> * Adjust the initial window size for ProducerConsumerBufs 2000-11-24 Dancer Vesperman <[email protected]> * GLOBAL: Eliminate the global audio pointer. * Complete conversion of audio subsystem to self-initialising, self-managing singleton object * Update all audio references. * Change mixer and midi subsystem construction/destruction. * Remove default initialiser code for Audio * Allow multiple variant initialisation for Audio subsystem * Base calculations on actual values adopted by the SDL/hardware layer * Actors.cc: wtype initialised to other, in case no value is assigned. * files/utils.cc: Eliminate use of malloc/free/strdup * files/utils.cc: const police. * All speech now plays via audio streams * Ring buffers obsolete. Remove them 2000-11-24 Dancer Vesperman <[email protected]> * files/utils.h: Make the hash function inlineable 2000-11-23 Jeff Freedman <[email protected]> * gamewin.cc: Don't dup. text when an item is clicked on. * gamewin.cc: NPC's with 'wait' schedule avoid clocked schedule changes, so waiting companions won't walk away. 2000-11-23 Willem Jan Palenstijn <[email protected]> * paths.h: fixed pathfinding on BeOS. 2000-11-23 Tristan Tarrant <[email protected]> * browser.cc: show shape name * configure.in: added --enable-optimized-debug 2000-11-22 Willem Jan Palenstijn <[email protected]> * menulist.cc/h: only redraw changed items (huge speedup), make mouse disappear on keypress. 2000-11-22 Max Horn <[email protected]> * added a lot of C++ std namespace code * moved mac port to use CodeWarrior Pro 6 2000-11-22 Tristan Tarrant <[email protected]> * data/extras.shp, data/midi_conversion.shp, data/sfx_conversion.shp: new shapes * data/Makefile.am, tools/expack.cc, data/README, Makefile.cygwin, Makefile.win32, Makefile.be: update all known references to shape list for exult.flx... * game.cc: use new shapes 2000-11-22 Jeff Freedman <[email protected]> * usecode.cc: 0x58 in scheduled uc means 'play sound effect'. * Fixed animation frame setting in scheduled usecode. 2000-11-20 Willem Jan Palenstijn <[email protected]> * usecode.cc/h, useval.cc/h: added pointer type to Usecode_value 2000-11-20 Tristan Tarrant <[email protected]> * data/play_1st_scene.shp, data/exit.shp: 2 new shapes * data/Makefile.am, tools/expack.cc, data/README, Makefile.cygwin, Makefile.win32, Makefile.be: update all known references to shape list for exult.flx... * exult.cc, game.cc: handle extra menu entries * README: updated with more information 2000-11-20 Tristan Tarrant <[email protected]> * configure.in: check if Gnome is installed * Makefile.am: add desktop dir * desktop/*: Gnome desktop entry and icon 2000-11-17 Max Horn <[email protected]> * exult.cc, menulist.cc: Added Cmd-Q which quits exult (MacOS only) * gamewin.cc: fixes (crashing) bug realted to Game_window::init_faces() / face_info * fixed Makefile.[win32|cygwin|be] 2000-11-17 Tristan Tarrant <[email protected]> * exult.cc: Game_window::splash is not needed now, so I've removed the check in Handle_events. 2000-11-17 Tristan Tarrant <[email protected]> * menulist.cc, game.cc: handle events better 2000-11-17 Jeff Freedman <[email protected]> * Use vector::iterators instead of going through indices. 2000-11-16 Tristan Tarrant <[email protected]> * files/databuf: Implemented an ExultDataSource which encapsulates all actions needed to create a BufferDataSource from a U7object * mouse.h, mouse.cc: Allow the use of a different shape file * exult.cc, game.cc, game.h, menulist.cc, menulist.h: Make use of the above to have a mouse pointer in the menus 2000-11-16 Tristan Tarrant <[email protected]> * menulist.cc: fixed usage of vector * Makefile.win32, Makefile.cygwin: updated by Travis Howell 2000-11-16 Jeff Freedman <[email protected]> * Finished work on removing class Vector that Max started. 2000-11-15 Max Horn <[email protected]> * Begun removing class Vector. * Made some mac specific changes 2000-11-13 Tristan Tarrant <[email protected]> * bggame.cc: Load endgame fonts using Font class * sigame.cc: Likewise for intro * font.cc: Handle fonts coming from IFF files * gametxt.cc, gamewin.h: get rid of setup_endgame_fonts() * fnames.h: Get rid of some _FONT definitions * TODO: updated a bit 2000-11-13 Tristan Tarrant <[email protected]> * configure.in: make version 0.90alpha1 * browser.cc: use new Font class 2000-11-12 Jeff Freedman <[email protected]> * egg.cc (Egg_object): Must be on or above egg. (Egg_object): Commented out code which I think is wrong. * Fixed crash in Vesper (Gargoyle inn). 2000-11-10 Jeff Freedman <[email protected]> * Decayable/nondecayable bodies. 2000-11-09 Tristan Tarrant <[email protected]> * exult.cc: try harder to find 'exult.flx'. 2000-11-08 Jeff Freedman <[email protected]> * actors.cc: Trying to fix weapon clipping. 2000-11-08 Tristan Tarrant <[email protected]> * configure.in, tools/Makefile.am: only build the GIMP plugin if we have GIMP > 1.1.26 2000-11-07 Tristan Tarrant <[email protected]> * configure.in: try harder to find ligimp/gimp.h * */Makefile.am: make libraries non-installable * tools/Makefile.am: don't try to install GIMP plugin if we haven't built it * data/Makefile.am: install midisfx.flx * exult.spec.in: It now works (no devel package yet) 2000-11-07 Tristan Tarrant <[email protected]> * cheat.cc, cheat.h: implement set_enabled() which saves into config * exult.cc: the all-important about scroll (ctrl-v), resolution things * game.cc: beginnings of setup menu * data/*.shp: some new shapes for the menu 2000-11-06 Tristan Tarrant <[email protected]> * font.cc, font.h: beginnings of independent font class and font manager * menulist.cc, menulist.h: menu implementation * txtscroll.cc, txtscroll.h: extracted from game.cc * game.cc: use font manager, implement Exult menu * exult.cc, gamewin.cc: clean up initialization sequence * vgafile.h: implemented extract_shape() in Vga_file, moved some methods from Shape_file to its parent class, because they should really be there. * data/meditown.mid: This is the MIDI I wanted to use for our menu * data/exult_logo.shp: Add dimmed frame * data/font.shp: Menu font * files/utils.h: Moved eqstr, hashstr in here so they can be shared 2000-11-05 Ryan Nunn <[email protected]> * audio/Midi.*: Changes so midi drivers other than Win_midiout can play SFX. * audio/xmidi.*: New midi conversion types * audio/Midi.cc: Music and SFX conversion options can be set in the config file "config/audio/midi/convert" accepts none, gm or gs. Default GM "config/audio/sfx/convert" accepts none or gs. Default GS 2000-11-05 Willem Jan Palenstijn <[email protected]> * actors.cc, cheat.cc, drag.cc, exult.cc, gameclk.cc, spells.cc: moved cheats to new class 2000-11-04 Jeff Freedman <[email protected]> * vgafile.cc, combat.cc: Look up ammo family. * actors.cc: Ready ammo. automatically. 2000-11-04 Willem Jan Palenstijn <[email protected]> * gumps.cc: stopped bags from disappearing when put into another bag. 2000-11-04 Willem Jan Palenstijn <[email protected]> * exult.cc: keycommands only get activated when ctrl/alt status is exactly correct * exult.cc: updated help screens 2000-11-04 Ryan Nunn <[email protected]> * gumps.cc, audio/Audio.cc: Sound Effects button now works and state is saved. * audio/Midi.*: sfx.dat is now called midisfx.flx. It must be in the data dir. Fixed bug causing midi to never be played. 2000-11-03 Jeff Freedman <[email protected]> * gamewin.cc: Look backwards for closest schedule change when clock is incremented more than a tick. 2000-11-02 Tristan Tarrant <[email protected]> * tools/u7shpload.c: Require latest gimp include files (>=1.1.26) 2000-11-02 Tristan Tarrant <[email protected]> * tools/u7shpload.c: Beginnings of tile (8x8) support * data/marketpl.mid: MIDI for intro menu * audio/Audio.*, audio/Midi.*: add methods for loading generic MIDI 2000-10-30 Jeff Freedman <[email protected]> * usecode.cc: Kludges for Test of Courage. 2000-10-28 Jeff Freedman <[email protected]> * actors.cc: Include weapon area in add_dirty(); cleans up graphics left behind when large weapon is carried. 2000-10-27 Jeff Freedman <[email protected]> * Straightened out virtue stones. 2000-10-26 Jeff Freedman <[email protected]> * Fixed (actually, worked-around) virtue-stone bug. 2000-10-24 Jeff Freedman <[email protected]> * Reagants bug & resolution-change bug fixed. * Version changed to Alpha.01. 2000-10-19 Jeff Freedman <[email protected]> * Fixed 2 bugs: Crash in Despise after generator, and problem with readying 2-handed weapons on 'restore'. 2000-10-17 Jeff Freedman <[email protected]> * exult.cc: Look for local 'data' if necessary. * If motion blocked, try to swap positions with actor that's in the way. 2000-10-16 Jeff Freedman <[email protected]> * exult.cc: Try_key handles the 'k' key. 2000-10-15 Jeff Freedman <[email protected]> * objs.cc: >Trying< to fix dungeon rendering bug in Courage Test. * Restart game clock after a restore. 2000-10-13 Willem Jan Palenstijn <[email protected]> * drag.cc: weight checking disabled when in hack_mover mode * exult.cc, gameclk.cc: added alt-i=infravision. (palette never darkens) 2000-10-12 Jeff Freedman <[email protected]> * readnpcs.cc: Fixed monster bug that's been causing lots of crashes upon game load. 2000-10-11 Jeff Freedman <[email protected]> * actors.cc: Support ring-of-protection (which doesn't seem to work in the original U7). 2000-10-09 Jeff Freedman <[email protected]> * actors.cc: Rings work now. 2000-10-08 Jeff Freedman <[email protected]> * Show invisible NPC's as shadows. * Added primitive 'xform' support to shape browser. 2000-10-07 Jeff Freedman <[email protected]> * Working on invisibiliy and protection flags. * Worked a 'sleep' flag. Poppy field now works. 2000-10-05 Jeff Freedman <[email protected]> * Put in Artaxerxes' body shapes. * Use 'belt' position on paperdoll. 2000-10-04 Jeff Freedman <[email protected]> * Restart_game() intrinsic implemented. 2000-10-03 Jeff Freedman <[email protected]> * usecode.cc: Guards attack when you steel. * Fixed crash when you enter LB's castle. 2000-10-02 Jeff Freedman <[email protected]> * objs.cc: Compute/show weight carried (but don't check yet). 2000-10-01 Jeff Freedman <[email protected]> * gamewin.cc: Working on theft. Also messed with pathfinding. 2000-09-30 Willem Jan Palenstijn <[email protected]> * exult.cc, usecode.cc: location marker on map changed to yellow * exult.cc, drag.cc: added 'hack-mover' cheat (can move _anything_) * browser.cc: show shape outline & display dimensions * vgafile.cc, vgafile.h: fixed (xleft, yabove, xright, ybelow) 2000-09-29 Willem Jan Palenstijn <[email protected]> * actors.cc: fixed bug in godmode: poison/hunger do no damage in GM now * bodies.cc: added/changed body shape/frames (from Jackchaos forum) 2000-09-28 Jeff Freedman <[email protected]> * objs.cc: Explosions do damage. 2000-09-27 Jeff Freedman <[email protected]> * usecode.cc,effects.cc: Showing explosions. 2000-09-24 Jeff Freedman <[email protected]> * Check for dying in 'set_properties()'. 2000-09-18 Jeff Freedman <[email protected]> * actors.cc (Actor): Trying to speed up followers. 2000-09-17 Jeff Freedman <[email protected]> * Got all the way through Forge, and banished Dark Core! * drag.cc: Dropping works. * usecode.cc: Can forge Black Sword (but Love test broken). 2000-09-16 Jeff Freedman <[email protected]> * gamewin.cc: Improved conversation rendering. 2000-09-14 Jeff Freedman <[email protected]> * effects.cc (Projectile_effect): Missile eggs pretty-much done. 2000-09-12 Tristan Tarrant <[email protected]> * tools/u7shpload.c: Load 8x8 tiles (no save). Still crashes on some shapes (fonts???) * data/black_gate.shp, data/serpent_isle.shp: Menu entries for the two games * data/Makefile.am: add above to build 2000-09-09 Tristan Tarrant <[email protected]> * Makefile.am: Add EXULT_DATADIR to the defines * Makefile.win32: Try to do the same for Win32 * exult.cc: default directory for <DATA> files is now EXULT_DATADIR * exult.spec.in: Install data files in the appropriate place, learnt how a spec file actually works :-) * data/Makefile.am: fiddle with rules to install exult.flx in the correct place, and get rpm -tb working 2000-09-09 Jeff Freedman <[email protected]> * Light spells (glimmer, etc.) work now. * gamewin.cc: Set palette for dungeons, also lighten palette for gump mode. * Set dimensions for ship's hold gump. * objs.cc (Chunk_object_list): Dungeon rendering works, except palette change still to be implemented. 2000-09-08 Jeff Freedman <[email protected]> * Split rendering routines off into 'gamerend.cc'. * Added Game_window::get_party(). * Started writing dungeon-rendering. 2000-09-08 Tristan Tarrant <[email protected]> * vgafile.*: Allow empty initialization constructor and implement load() methods for most classes * autoarray.h: Implement a set_size() method and an empty constructor * gamewin.cc: Moved all file loading/initialization from constructor to init_files() method * exult.cc: Call init_files() appropriately * data/quotes.txt: Make quotes fit * audio/Mixer.cc: No need to be so verbose even if DEBUG is set 2000-09-07 Jeff Freedman <[email protected]> * Schedules: Duel, kid_games, wander, mine, farm. * Dragging: Don't drag until mouse has moved > 2 pixels. 2000-09-06 Jeff Freedman <[email protected]> * More schedules: Waiter, thief, preach, eat_at_inn. 2000-09-04 Tristan Tarrant <[email protected]> * files/utils.*: Added get_system_path() for remapping virtual paths to real ones. Modified U7open() to use new method. Implement U7remove() to enable similar functionality for removing files. * fnames.h: Remapped all names to use the new notation for virtual paths * game.cc: Clean up construction. * exult.cc: Setup virtual paths * configure.in: Better debug flags 2000-09-04 Jeff Freedman <[email protected]> * actors.cc (Npc_actor): Set 1st-day schedule after you've talked to the NPC. Removed old logic from gameclk.cc. 2000-09-03 Jeff Freedman <[email protected]> * actors.cc (Npc_actor): Skip schedule actions if NPC is in a chunk that hasn't yet been read in fully. 2000-09-01 Jeff Freedman <[email protected]> * Better sleeping. Detects occupied beds too. * Fixed ship/sail bug. 2000-08-31 Tristan Tarrant <[email protected]> * files/databuf.h: Added write() method to DataSources * tools/expack.cc: Implemented FLEX creation * tools/Makefile.am: Removed 'txt2cc' from build * data/*: Removed 'txt2cc' rubbish, and create 'exult.flx'. Updated credits & quotes * game.cc, bggame.cc, sigame.cc: Use credits, quotes & shapes from 'exult.flx' * */*: Put some debugging messages between #if DEBUG/#endif 2000-08-31 Jeff Freedman <[email protected]> * Cleaning up Ireg constructors, working on 'fields'. * First support for fields. More body shapes added. 2000-08-30 Jeff Freedman <[email protected]> * Actually from Derek Liauw Kie Fa: New 2X scaling code. 2000-08-30 Tristan Tarrant <[email protected]> * data/exult_credits.shp, data/exult_quotes.shp, data/exult_logo.shp: Two shapes for the main menu and a logo * game.cc: use the above shapes, instead of using the MAINSHP font and implement a banner. * exult.cc: show banner 2000-08-30 Tristan Tarrant <[email protected]> * tools/u7shpload.c: Saving works properly now. Damn alpha :-) 2000-08-30 Tristan Tarrant <[email protected]> * tools/u7shpload.c: Prompt user for a palette file for loading. Decent colours at last !!! 2000-08-30 Tristan Tarrant <[email protected]> * tools/u7shpload.c: Fixed serious bug where opening multiple SHPs would not work. Saving is still screwed... 2000-08-29 Jeff Freedman <[email protected]> * egg.cc: Support external_criteria eggs. * Watch for alt-key going up in Get_click. 2000-08-28 Jeff Freedman <[email protected]> * Fixed 'cube' puzzle, by adding 'framenum' parm. to find_nearby(). 2000-08-27 Jeff Freedman <[email protected]> * usecode.cc: Mark/recall spells supported. 2000-08-27 Willem Jan Palenstijn <[email protected]> * exult.cc/usecode.cc: mark location on map (also on teleport map) * spells.cc: now need level x for casting x-th circle spells 2000-08-26 Jeff Freedman <[email protected]> * usecode.cc: Support crystal-ball. * gametxt.cc: Fixed bee combat mode, also smokebombs. 2000-08-25 Willem Jan Palenstijn <[email protected]> * exult.cc/spells.cc: implemented archwizard mode cheat 2000-08-25 Jeff Freedman <[email protected]> * spells.cc: Fixed double-click bug. Also, check and decrement mana. 2000-08-23 Tristan Tarrant <[email protected]> * tools/u7shpload.c: Can now save shapes 2000-08-22 Tristan Tarrant <[email protected]> * configure.in: Look for gimptool * tools/u7shpload.c: GIMP plugin for loading U7 shapes 2000-08-22 Willem Jan Palenstijn <[email protected]> * exult.cc: ctrl+alt+t now brings up a map for teleporting 2000-08-21 Tristan Tarrant <[email protected]> * objs.h: Fixed small leak in ~Frames_sequence() * gamewin.cc: Fixed small leak in ~Game_window() 2000-08-21 Jeff Freedman <[email protected]> * Actors teleport to chairs if blocked. * Shortcuts: f=feed, m=show map, b=open spellbook, w=use watch. 2000-08-21 Willem Jan Palenstijn <[email protected]> * exult.cc, actors.cc: alt-G toggles God Mode, making your party invulnerable, and every strike lethal. 2000-08-21 Tristan Tarrant <[email protected]> game.cc: Alt-X now quits the menu (same as the original), although a confirmation box is missing. 2000-08-21 Tristan Tarrant <[email protected]> * game.cc: wait_delay() now checks for events during delay, so that long delays don't cause events to be ignored until the next call. 2000-08-20 Jeff Freedman <[email protected]> * egg.cc,usecode.cc - Test'o Love somewhat works. 2000-08-16 Jeff Freedman <[email protected]> * Use center of barge as hot spot for moving. 2000-08-15 Jeff Freedman <[email protected]> * All books should work now. * Projectile-firing checks for clear path to target. * Another attempt to fix random-crash bug. * Fixed crashing bug with pirate S of Trinsic. 2000-08-14 Jeff Freedman <[email protected]> * objs.cc: Lengthed distance in ::find_nearby from 16 to 24 so that first metal door in Deceit works. * Save/restore flag for being in 'barge' mode. 2000-08-11 Jeff Freedman <[email protected]> * Several rendering changes. 2000-08-10 Jeff Freedman <[email protected]> * Fixed (I hope) 'hang' bug at end of menu screen. * Added 'dependors' field to Game_object. 2000-08-05 Jeff Freedman <[email protected]> * Moved flags to objs.h. Set 'okay_to_take' for containers and their members. * Implemented health-point penalties for hunger poison. 2000-08-04 Tristan Tarrant <[email protected]> * game.h, bggame.cc, sigame.cc: add some resources, namely palettes and shape files. Removed the silly get_extra_shape_file() * exult.cc, browser.*, gamewin.*: implement a better shape browser. Better help screen * data/credits.txt: Text for Exult credits * tools/txt2cc: Tool which generates a C++ function which returns a vector containing all lines in the source text. Used to compile the credits and quotes into Exult. * game.cc: implement Exult quotes & credits. Return to menu at the end of scrolling. 2000-08-03 Tristan Tarrant <[email protected]> * bggame.cc: Failed endgame * usecode.cc: Show credits after successful endgame. Quit after endgame. 2000-08-03 Tristan Tarrant <[email protected]> * bggame.cc, sigame.cc, game.cc: Credits & Quotes 2000-08-03 Tristan Tarrant <[email protected]> * bggame.cc, sigame.cc: Implement main menu (SI's is incomplete) * gamewin.cc: move creation of 'gamedat' to separate function to be invoked by main menu 2000-08-01 Jeff Freedman <[email protected]> * Dead bodies decay after several game-clock hours. 2000-08-01 Tristan Tarrant <[email protected]> * game.h, gamewin.cc: if in BG we show ENDSHAPE.FLX, if in SI we show PAPERDOL.VGA * exult.cc: Default resolution is 320x200 with 2x filter. This is to be as close as possible to the original. 2000-08-01 Tristan Tarrant <[email protected]> * gamewin.*, exult.cc, usecode.cc: decided to not store the Game object inside gamewin, but use the static get_game of the Game class instead. "There can be only one" (TM) 2000-08-01 Tristan Tarrant <[email protected]> * game.*, bggame.cc, sigame.cc: implemented shape lists. SI now has placeholder intro/endgame sequences (it plays the proper FLIcs, but nothing else really). * gumps.*: use shape lists instead of hardcoded constants. Most gumps now work properly under BG and SI. Paperdolling will be hard... 2000-07-31 Tristan Tarrant <[email protected]> * game.*, bggame.cc, sigame.cc: separated game-dependent stuff into separate files with an abstract Game class. * exult.cc, gamewin.*, usecode.cc: modified to take the above into account * files/Flat.*: added a new filetype, which is for simple files (e.g. The palettes in Serpent Isle) 2000-07-31 Tristan Tarrant <[email protected]> * exult.cc, gamewin.*, imagewin.*: support resolution switching with ALT-PLUS and ALT-MINUS. Also show messages when certain 'cheat' keys are pressed. * Makefile.am: make sure DEBUG_FLAGS is used at link. 2000-07-30 Jeff Freedman <[email protected]> * combat.cc: Monsters attack automatically; midi's played. * actors.cc, gamewin.{cc,h}: Show poisoned auras. 2000-07-29 Jeff Freedman <[email protected]> * Added 'prev' field to Game_object, and added iterators. * Fixed nasty stack bug in Usecode. Penumbra/blackrock now works. 2000-07-28 Tristan Tarrant <[email protected]> * gamewin.cc, gametxt.cc, titles.cc: move initialization of endgame fonts to endgame. 2000-07-28 Tristan Tarrant <[email protected]> * exult.cc: Implement "Home" key which recenters view on Avatar. Useful if you've been scrolling around with the arrow keys. Also implement config/gameplay/cheat option. 2000-07-27 Jeff Freedman <[email protected]> * Support 'something_on' eggs. * Added ctrl-c cheat to create items. 2000-07-27 Tristan Tarrant <[email protected]> * titles.cc: use Infidel's real name, correct some spelling mistakes, put the "Damn you..." in the correct position even in unscaled 640x480. 2000-07-26 Jeff Freedman <[email protected]> * Support ABRT & CATCH opcodes; fixes Skara Brae problems. 2000-07-24 Jeff Freedman <[email protected]> * Several risky Usecode changes. 2000-07-23 Jeff Freedman <[email protected]> * Teleports work now. * Fixed bug where monsters walked through walls. 2000-07-20 Tristan Tarrant <[email protected]> * files/databuf.h: implemented an abstract DataSource class and Buffer, Stream and File derivatives of it to enable reading data from any of these. * vgafile.h, vgafile.cc: use new DataSource classes. More classes should do this. 2000-07-18 Jeff Freedman <[email protected]> * Flying carpet rotates correctly. 2000-07-17 Tristan Tarrant <[email protected]> * *: Moved utils.* here where it should have been all along. Rearranged everything else to take this into account. * tools/expack.cc: The beginnings of a U7 archiver. More soon. 2000-07-14 Jeff Freedman <[email protected]> * barge.cc (Barge_object): Flying carpet is flying (somewhat) * effects.cc (Weather_effect): Improved rain effect. * Barges working slightly better. 2000-07-14 Tristan Tarrant <[email protected]> * gamewin.cc: Don't show eggs by default. Should do the same for paths. 2000-07-13 Tristan Tarrant <[email protected]> * titles.cc: Text under Guardian's speech and Guardian sinking back into screen after his performance :-) 2000-07-13 Tristan Tarrant <[email protected]> * palette.cc, palette.h: New files which handle palette functions. Now it is possible to use palettes from different data files. * exult.spec.in: simple spec file for creating RPM packages * titles.cc, titles.h: Moved intro, endgame and other bits and pieces in here. Introduction is nearly complete. * flic/playfli.cc: Center flic on display * exult.cc: rearchitected the way the intro stuff is done * gamewin.cc: expunged most of the palette and intro junk. Some more cleanups required however. * audio/Audio.h, audio/Audio.cc: allow bank choice in start_music * audio/Midi.cc: include another MIDI bank (the intro music). * fnames.h: Added intro music data file * usecode.cc: changed endgame invocation * .cvsignore: updated 2000-07-02 Jeff Freedman <[email protected]> * Starting support for projectile weapons. 2000-06-30 Jeff Freedman <[email protected]> * Death of Avatar works fairly well now. 2000-06-28 Jeff Freedman <[email protected]> * Fullscreen-toggle and scaling work together (tested on X). 2000-06-27 Jeff Freedman <[email protected]> * Death and resurrection. 2000-06-25 Tristan Tarrant <[email protected]> * Makefile.am, exult.cc: use VERSION instead of RELNUM * exult.cc, gamewin.cc: move config stuff about splash to exult.cc 2000-06-24 Jeff Freedman <[email protected]> * gumps.cc (Stats_gump_object): Show name. * exult.cc: 'z' key brings up statistics. * Weapon readied automatically. Weapons.dat, armor.dat read. * Hunger (everyone's favorite feature!) * More fiddling (possibly improvement) in followers of Avatar. 2000-06-22 Jeff Freedman <[email protected]> * effects.cc: Untested: Faster projectiles. Run usecode at end. * combat.cc: Show 'strike' sequence during attack (untested). 2000-06-17 Jeff Freedman <[email protected]> * Scaling: Set width=320, height=200, scale=2 in config file. 2000-06-13 Jeff Freedman <[email protected]> * 2 usecode intrinsics implemented: halt_scheduled() and in_usecode(). These are a bit risky... 2000-06-12 Jeff Freedman <[email protected]> * Conversations look more like the original U7 now. 2000-06-11 Jeff Freedman <[email protected]> * exult.cc: Set screen size in .exult.cfg. * Weather eggs: Clouds. * Weather eggs: Storm. 2000-06-08 Coder Infidel <[email protected]> * actors.cc: Fixed warning * exult.cc, mouse.cc, mouse.h: use red mouse pointer in combat mode * gamewin.cc: added config to skip splash screen 2000-06-07 Jeff Freedman <[email protected]> * Rewrote egg handling. * VERY simple combat. (1 hit = death!) 2000-06-07 Coder Infidel <[email protected]> * actors.cc: remove unused variable * actors.h: updated some comments about NPC frames * Makefile.win32: added schedule.o * objs.h, schedule.h: fixed compile error for Win32 2000-06-06 Jeff Freedman <[email protected]> * gumps.cc: Fixed initial object placement. * drag.cc: Handle 'quantity' objects. 2000-06-05 Jeff Freedman <[email protected]> * Trying to gain speed by skipping the rendering of objects totally outside the clip area. 2000-06-05 Jeff Freedman <[email protected]> * Allow numeric keys in conversations (like U9). 2000-06-04 Jeff Freedman <[email protected]> * objs.cc (Egg_object): Restore mode after Usecode egg. * Keep Avatar moving while mouse down. * Tile-scrolling starting to work. 2000-06-03 Jeff Freedman <[email protected]> * gamewin.cc: read_map_data() pulls in superchunks. * Show correct names for food items, reagants, etc. 2000-06-02 Jeff Freedman <[email protected]> * Change to lt() fixes a couple rendering goofs. * gameclk.cc: Start 1st schedule after 6 minutes max. 2000-06-01 Jeff Freedman <[email protected]> * Spellbook mostly done. (Spells need intrinsic 0x41 to work.) * Spell activation tests/uses reagants. * Handle intrinsic 0x6a (flash mouse shape). 2000-05-28 Jeff Freedman <[email protected]> * Party members use pathfinding. * exult.cc: Alt keys work now (by catching their events). * 't' key does 'target' as in original game. * Scrolling/moving with gumps fixed. 2000-05-28 Willem Jan Palenstijn <[email protected]> * Makefile.be: modified windows makefile to serve as Be makefile * gamedat.cc: only include dir.h on windows * Midi.cc: only try forked,KMIDI,timidity in XWin * Configuration.cc: put .exult.cfg in user's homedir * Makefile.win32: added delobjs.cc, effects.cc * be_midi.[cc,h], Midi.cc: added (untestable) Be MIDI support. 2000-05-26 Willem Jan Palenstijn <[email protected]> * Configuration.cc: added a temp. BeOS config file section * Configuration.cc: is_file set to true, even if file not found 2000-05-26 Jeff Freedman <[email protected]> * Fade in/fade out working. * Sprite effects done. * Sleeping (in bed) working. 2000-05-25 Jeff Freedman <[email protected]> * Orb of Moons, Moongates working (but not perfect visually) * Moongates appear animated. 2000-05-25 Willem Jan Palenstijn <[email protected]> * objs.cc: treat bones as containers * usecode.cc: make remove_answer accept arrays too * usecode.cc: added a _lot_ of intrinsic descriptions from ucdump.c * usecode.dis.bz2: a new usecode dump with all known intrinsics 2000-05-25 Coder Infidel <[email protected]> * Display a better string when identifying objects that have a quantity * objs.h, actors.h: Made many member functions const * gamewin.h: Made a few arguments const * actors.cc: Fixed slight inventory problem, removed unused variable * objs.cc, gumps.cc: Add support for Fellowship box container gump 2000-05-24 Jeff Freedman <[email protected]> * Finally got the 'sit' schedule to work. * Fixed pathfinding problem with getting stuck behind open doors. 2000-05-24 Willem Jan Palenstijn <[email protected]> * usecode.cc: implemented intrinsic 0x09 (clear_answers) 2000-05-24 Tristan Tarrant <[email protected]> * usecode.cc: call endgame * exult.cc: press F10 to see the endgame sequence 2000-05-23 Jeff Freedman <[email protected]> * Support for lighting (torches, lamps, etc) 2000-05-23 Willem Jan Palenstijn <[email protected]> * Makefile.win32: added * Makefile.am: added Makefile.win32 to dist_targets 2000-05-22 Tristan Tarrant <[email protected]> * */Makefile.am, configure.in, etc...: Rehauled build mechanism, no need to regenerate dependencies by hand, gcc dynamically does that, Makefile.am files are now much nicer and easier to maintain and this is the proper GNU way. Maybe I've broken Win32 builds... Removed old files as they can be found in CVS's attic. Made 'make dist' work (try it) 2000-05-22 Willem Jan Palenstijn <[email protected]> * exult.cc: added default case to key switch (kill warning) * objs.cc, imagewin.cc, actors.cc, gamewin.cc, gumps.cc, actorio.cc, usecode.cc: re-ordered initializers to kill warnings * configure.in: added -Wno-long-long to Windows build, since SDL and Windows header files contain long-long's 2000-05-21 Willem Jan Palenstijn <[email protected]> * exult.cc, mouse.h: Wait_for_arrival() didn't restore on-screen state of the mouse * configure.in: --enable-warnings turns on ALL warnings, in addition to everything --enable-debug does * usecode.cc: added a guess to intrinsic 0x4F 2000-05-20 Willem Jan Palenstijn <[email protected]> * lots_of_files: changed most #ifndef WIN32 to #ifdef XWIN since that's what they were supposed to mean * gamedat.cc, Configuration.cc: some preliminary BEOS things 2000-05-19 Willem Jan Palenstijn <[email protected]> * exult.cc, Audio.h, win_MCI.h, win_MCI.cc: Windows MIDI repeating support 2000-05-19 Tristan Tarrant <[email protected]> * gamewin.cc: Blank screen after intro... 2000-05-18 Jeff Freedman <[email protected]> * Improved rendering when climbing stairs. * Realized Usecode array-opcode 0x4e means 'increment frame'. * Improved object placement within backpacks. 2000-05-18 Willem Jan Palenstijn <[email protected]> * exult.cc, win_MCI.cc: preliminary work on Windows Midi repeats 2000-05-18 Jeff Freedman <[email protected]> * Save/restore working as of last night. * Have Avatar 'run' when shift key is down. 2000-05-17 Willem Jan Palenstijn <[email protected]> * usecode.cc: defined __STRING if not yet defined (e.g. in mingw32) * configure.in: added flic library to windows section 2000-05-16 Tristan Tarrant <[email protected]> * gamewin.cc: Load correct palettes for intro. Implement palette fade out/in 2000-05-13 Willem Jan Palenstijn <[email protected]> * exult.cc: F4 toggles fullscreen (Windows & Linux) 2000-05-11 Willem Jan Palenstijn <[email protected]> * Midi.cc: fix to windows playing MIDI only once * fnames.h: included MIDITMPFILE 2000-05-11 Tristan Tarrant <[email protected]> * utils.cc: Implemented Switch_slash which takes care of using backslashes instead of slashes in Windows filenames... * fnames.h: Removed the duplication of filenames with backslashes 2000-05-10 Willem Jan Palenstijn <[email protected]> * gamewin.cc: dirty fix to visual artifacting (see mailing list) * objs.cc: reverted anim. code to earlier state * imagewin.cc, exult.cc: pressing Enter will toggle fullscreen I don't get why SDL won't detect ALT though... 2000-05-08 Tristan Tarrant <[email protected]> * flic.*: Implement flic-playing library * gamewin.cc: stuff for flics. 2000-05-08 Willem Jan Palenstijn <[email protected]> * usecode.cc: avoided Internal Compiler Error for gcc 2.95.2 * README.win32: minor change for release 0.26 2000-05-08 Jeff Freedman <[email protected]> * Pathfinding added to run_usecode(). Can be tested by double-clicking on a bucket. Works, but needs refinement. 2000-05-07 Willem Jan Palenstijn <[email protected]> * objs.cc: attempt at synching animations 2000-05-03 Tristan Tarrant <[email protected]> * gamewin.cc: Show game title in splash screen * exult.cc: you can now press 'i' to show the npc's inventories just like the real U7. Needs improvement. New shape browser: PgUp/PgDn selects file, sS selects shape, fF selects frame. Also 'q' quits and ESC only closes gumps. 2000-05-02 Jeff Freedman <[email protected]> * Use data from 'ready.dat' to place objects on Actor. 2000-05-02 Tristan Tarrant <[email protected]> * gamewin.cc (Game_window): Free string used to determine game identity. 2000-04-30 Jeff Freedman <[email protected]> * Use direction to get correct frames for Usecode animations. * The 'bucket bug' is partly fixed. 2000-04-29 Willem Jan Palenstijn <[email protected]> * Re-enabled sound in Windows (Where did it go??) * added some more #ifndef WIN32 to the pragma's * added exult.exe to .cvsignore * added MIDI support for Windows 2000-04-28 Jeff Freedman <[email protected]> * Use correct frames for East-West walking animation!! * Show signs, books, and scrolls. * Create monsters, and have them loiter. 2000-04-28 Tristan Tarrant <[email protected]> * Testing of CVS commit mails... * gamedat.cc, gamewin.h: implement get_game_identity * gamewin.cc, exult.cc: generate initial gamedat before opening window. Also if static and gamedat identities don't match, recreate gamedat. * autogen.sh: clear old generated files first * configure.in: if I don't have kmid build without it anyway, don't tell me to run configure with --disable-kmid 2000-04-26 Tristan Tarrant <[email protected]> * exult.cc: Implement 'h' key to show a simple help page * .cvsignore: added cvsignore files everywhere * ChangeLog: started changelog using standard GNU notation. Emacs has a major mode which enables easy editing of this beast. * autogen.sh: script which generates automake/autoconf stuff. * configure.in: should not use acinclude.m4 as AC_INIT. Use exult.cc instead. |