Fix bug #1102991 (Duplicate grapical display of the same monster):
common/Makefile.am: Add new files mapdata.c and mapdata.h.
common/{client.c, commands.c}: Tell mapdata module the current display size.
common/commands.c: Remove functions to handle map updates. Rewrite
map1_common() to pass information into mapdata module.
common/init.c, gtk/gx11.c: Add new config options -mapscroll and -nomapscroll
to enable/disable scrolling the map view with bitmap operations.
common/mapdata.[ch]: Add new module to handle all updates to the_map.
gtk/gx11.c: Remove code for #if ALTERNATE_MAP_REDRAW. Initialize question mark
face for fog of war. Remove code to allocate the_map.
gtk/image.c: Do not clear the_map in reset_image_data() anymore.
gtk/map.c: Move code to update map data into mapdata module.
draw_pixmap(): New function to draw one face.
drawsmooth(): Check correct layer instead of fixed layer zero. Fix out of
bounds array access.
display_mapcell(): New function to draw one cell.
gtk_draw_map(): Move map drawing code into display_mapcell().
gtk/sdl.c: Basically the same changes as in gtk/map.c
gtk-v2/src/image.c: Basically the same changes as in gtk/gx11.c.
gtk-v2/src/main.c: Add config options -smooth/-nosmooth to enable/disable
smoothing. Remove code to allocate the_map.
gtk-v2/src/map.c: Basically the same changes as in gtk/map.c.
gtk-v2/src/opengl.c: Fix out of bounds array access. Initialize question mark
face for fog of war.
gtk-v2/src/sdl.c: Basically the same changes as in gtk/map.c.
x11/x11.c: Implement map scrolling by using XCopyArea(). Add config options
-mapscroll/-nomapscroll to enable/disable this. Remove code to allocate or
clear the_map. Add new function display_mapcell() to draw one cell. Move
map drawing code from display_map_doneupdate() into display_mapcell().
Remove two pixel border around map window; is was used inconsistently, and
the window size was four pixels too small.
x11/xutil.c: Move code to update map data into mapdata module.
1844 lines of code changed in 27 files:
Fix bug #1102991 (Duplicate grapical display of the same monster):
doc/Developers/protocol: Change semantics of map_scroll command to what the
server actually does: big faces outside the viewable area are cleared. Add
newmap command.
include/newserver.h: Increase MAX_HEAD_OFFSET to 8 (the size of a Greater
Demon).
socket/request.c:
MapRedrawCmd(): Disable mapredraw command; it is now just ignored.
MapNewmapCmd(): Clear map state before sending newmap command.
check_head(): Remove redundant code.
update_space(): Move invariant condition out of loop to speed it up. Fix
uninitialized variable. Remove redundant condition. Fix off-by-one array
access.
update_smooth(): Remove unused code. Properly send cleared big faces.
draw_client_map(): Remove duplicate check. Properly clear newly visible
area when scrolling the map.
69 lines of code changed in 4 files:
Accelerated map loading (a lot) and map saving (a bit) codes to improve map transition
experience.
59 lines of code changed in 6 files:
Add (slightly reformatted) patch #1276121 (Crossedit: handle big faces) by
Kevin Rudat:
crossedit/CrEdit.c: UpdatePosition(): Use new drawing subroutines.
crossedit/CrFace.c: DrawObject(): Use new drawing subroutine.
crossedit/CrList.c: Redisplay(): Use new drawing subroutine.
crossedit/CrUtil.c, crossedit/CrUtil.h: Remove FaceDraw(), add DrawFacePart()
and DrawPartObject().
crossedit/png.c: Upload the whole image, not just the top-left corner.
106 lines of code changed in 7 files:
Fix bug #1245535 (negative grace showss up as positive amount):
gtk-v2/src/stats.c: Clip negative stat values to zero.
6 lines of code changed in 2 files:
Move magic mouths and buttons below floor to prevent detection by show invisible.
16 lines of code changed in 2 files:
Move magic mouths and invisible exits below floor to prevent detection by show invisible.
71 lines of code changed in 4 files:
Move magic mouths and invisible exits below floor to prevent detection by show invisible.
156 lines of code changed in 16 files:
Fix bug #1256173 (Magic drain not exploding head):
server/spell_effect.c: Prevent mana transfer to/from caster himself; also
create fireball for overcharges resulting from sucking mana.
57 lines of code changed in 2 files:
Fix bug #1059537 (Chainmail mutations):
common/loader.l: Remove code that "fixes" broken item names by removing a
leading material name. This effectively renames "mithril chainmails" into
"chainmails".
common/loader.c: Rebuilt.
7 lines of code changed in 2 files:
Fix sound compilation so it only tries to compile alsa9 helper if we
in fact have alsa 9 libs.
*/Makefile.in: Rebuilt
configure.in, configure: Add ALSA9_TARGET, replacing SOUND_TARGETS which
was no longer being used.
sound-src/Makefile.am: add EXTRA_PROGRAMS line for cfsndserv_alsa9 so
don't get errors from automake, add @ALSA9_TARGET@ to bin_PROGRAMS.
MSW 2005-08-28
30 lines of code changed in 14 files:
Fix player weapon speed/speed. There are a few bugs this fixes:
1) when player hit something, a has_hit field was set to true, to denote
they hit something and to use weapon speed. However, this was only
cleared when player issued a command. Thus, if you are running
and hit something, you'd continue at weapon_speed pace until you
needed to change direction.
2) Because has_hit was used, this basically put in a 1 tick lag - you'd hit
something, but not until objects were processed and speed given would
you get your extra speed. Likewise, after you killed something, you'd
get your burst of speed for the next tick also.
--
server/main.c: Clear has_hit, change function to only do bounds checking,
not actually do weapon_speed adjustments.
server/player.c: Give player speed boost when they hit something.
MSW 2005-08-28
40 lines of code changed in 3 files:
Fix up comment so easier to parse - using double negatives just makes
things confusing.
MSW 2005-08-28
3 lines of code changed in 1 file:
Move magic mouths, invisible exits, and teleporters below floor to prevent detection by show invisible.
355 lines of code changed in 17 files:
Move magic mouths and invisible exits below floor to prevent detection by show invisible.
140 lines of code changed in 11 files:
Add patch #1274385 by Kevin Rudat to make crossedit draw floors on tiles with
items.
crossedit/CrEdit.c: Add call to update_position() in UpdatePosition().
10 lines of code changed in 2 files:
Add patch #1271417 by Kevin Rudat to stop crossedit losing regions. Patch is
slightly modified to properly handle all map fields.
crossedit/Edit.c: Copy all map fields in MapMoveScrollResize(). Do not add a
msg header to already existing maps.
crossedit/crossedit.c: Call init_regions() at program initialization.
63 lines of code changed in 3 files:
socket/init.c: Make setsockopt(REUSEADDR) work if using gcc in Ansi C mode on
Linux.
6 lines of code changed in 3 files:
common/map.c: Change default values for reset_timeout, enter_x, and enter_y
map headers to zero. In set_map_reset_time() use MAP_DEFAULTRESET if
reset_timeout is zero. This change prevents crossedit from adding these
headers by just loading and saving a map.
include/config.h: Add MAP_DEFAULTRESET.
24 lines of code changed in 4 files:
server/rune.c: Fix crash if casting disarm out of map bounds.
server/spell_effect.c: Fix crash if casting polymorph out of map bounds.
6 lines of code changed in 3 files:
Apply patch 1200555 - addition of key/value lists which allows arbitrary
storing of data in objects - see doc/Developers/key-value for more
information
---
loader.l, loader.c: Add add_key_value() function which parses the unknown
line in the object/archetype. Update get_ob_diff() to make differences
for the key/value lists.
common/object.c: Add functions for properly comparing the key/value lists,
setting and getting the vaues, clearing values upon freeing of object,
etc.
doc/Developers/Makefile.am: Add key-value file.
doc/Developers/key-value: Documentation of this feature.
include/libproto.h: Rebuilt
include/object.h: Addition of key_value struct, addition of key_values
field to object.
MSW 2005-08-22
583 lines of code changed in 7 files:
Commit patch #1265199 from Kevin Rudat to fix client crash when using split window mode
41 lines of code changed in 5 files:
Update in-game documentation of building to include recent changes/additions.
52 lines of code changed in 2 files:
Fix broken lever entry in the treasurelist. Add buildable talking books, listning books, buttons, signs, and inverted gates.
92 lines of code changed in 11 files:
Clean up and fix bugs. Allow buttons and pedestals to be built underneath gates.
0 lines of code changed in 1 file:
Fix bugs, and allow buttons and pedestals to be built underneath gates.
42 lines of code changed in 2 files:
socket/request.c: Fix range checking of toggleextendedtext parameters.
4 lines of code changed in 2 files:
The following fix code that basically does "for(x = pos-5; x < pos+5; x++)".
This is not correct because it includes "pos-5" but not "pos+5".
common/los.c: Make lighted distance equal in all directions.
server/disease.c: Make infection distance equal in all directions.
server/monster.c: Make lighted distance equal in all directions.
15 lines of code changed in 4 files:
Add patch by Kevin Rudat for applyable but non
pickable objects to have item items.
doc/Dvelopers/objects: Update item types.
socket/item.c: Use the head of any objects we send. Should generally
only be an issue for objects on the ground, as currently there is no
large objects players can pick up. Also fix up some of the formatting/
indenting in this file.
MSW 2005-08-16
119 lines of code changed in 3 files:
Patch 1212496 by Kevin Rudat to add client_types to objects that can
be applied.
MSW 2005-08-16
269 lines of code changed in 234 files:
set is_lightable on lanterns and torches
6 lines of code changed in 3 files:
Add flag to lamps to make them able to be lit without needing negative light radii
11 lines of code changed in 5 files:
Add support for buildable signs and magic mouths/ears
156 lines of code changed in 2 files:
lib/Makefile.am, lib/Makefile.in: Actually install help file for showpets.
3 lines of code changed in 3 files:
common/living.c, include/living.h: Make global arrays really const.
45 lines of code changed in 3 files:
server/gods.c: Fix crash for monsters without appropriate god.
13 lines of code changed in 2 files:
server/gods.c: Add missing braces around body of if statement.
5 lines of code changed in 2 files:
common/misc.c, gtk/{gx11.c,sdl.c,text.c}, gtk-v2/src/sdl.c, x11/sound.c:
Fix non-Ansi C89 code: remove "inline" function specifier, replace "//"
comments.
15 lines of code changed in 7 files:
Fix buffer overflow in metaserver_get_info().
15 lines of code changed in 2 files:
x11/x11proto.h, x11/xutil.c: Use correct parameter type "uint16" for
addsmooth().
6 lines of code changed in 3 files:
Fix several bugs with the arena death teleporter.
116 lines of code changed in 1 file:
Change the way NPCs are allocated gods
43 lines of code changed in 3 files:
Fields changed from char* to const char*, cleanup.
226 lines of code changed in 53 files:
Use const char* instead of char* when possible
162 lines of code changed in 31 files:
Add showpets file to install.
2 lines of code changed in 1 file:
This commit adds full automake support for the client - previously, only the
gtk-v2 directory used automake, rest was Makefile.in - now everything is
automake - makes maintenance and distributions easier.
--
common/Makefile.am gtk/Makefile.am help/Makefile.am pixmaps/Makefile.am
sound-src/Makefile.am utils/Makefile.am x11/Makefile.am pixmaps/Makefile.in
utils/Makefile.in help/Makefile.in: New Makefiles
Makefile.am, Makefile.in: Removed unneeded rules, move pixmap, help, util
handling to makefiles in their own directories.
configure, configure.in: Update to include pixmap, help, util as
directories.
gtk-v2/Makefile.am, gtk-v2/Makefile.in: Clean up some rules in this makefile.
common/Makefile.in, gtk/Makefile.in, sound-src/Makefile.in, x11/Makefile.in:
Rebuilt as part of automake.
gtk-v2/src/Makefile.am, gtk-v2/src/Makefile.in: Add banner copyright, remove
uneeded rules.
MSW 2005-08-11
3789 lines of code changed in 23 files:
Add help for showpets, and update help for killpets
12 lines of code changed in 3 files:
Add showpets command, let killpets selectively kill pets
73 lines of code changed in 4 files:
Fixed issue where players can get stuck.
13 lines of code changed in 1 file:
Fixed issue where players can get "locked out" of their guild's storage
rooms. Caused because the inventory checker didn't fall on a unique
floor.
2240 lines of code changed in 2 files:
Make random maps take the region of the map creates them.
10 lines of code changed in 4 files:
1.8.0 Windows release.
1 lines of code changed in 1 file:
Version information files.
4 lines of code changed in 2 files:
1.8.0 Windows release.
16 lines of code changed in 4 files:
1.8.0 release
36 lines of code changed in 5 files:
Makefile.am, Makefile.in: Add missing pixmaps, change CHANGES to ChangeLog,
update archive directive so it works.
aclocal.m4: updated
configure, configure.in: Updated for 1.8.0 release. Remove gnome/Makefile
from list of Makefiles to create.
gtk-v2/Makefile.am, gtk-v2/Makefile.in: Add archive directive.
gtk-v2/src/Makefile.{am|in}: Add missing soruces to list so that archive
works correctly. Add archive directive.
MSW 2005-08-10
307 lines of code changed in 10 files:
Update for release 1.8.0.
include/Makefile.am: missing quest.h file
Rest automatic rebuild
MSW 2005-08-10
2349 lines of code changed in 9 files:
Use ARCH_DEPLETION instead of depletion.
11 lines of code changed in 6 files:
Add more battleground as players were getting killed later on (RFE 1222304)
629 lines of code changed in 1 file:
Add region 'dream' which was causing server warnings. If anybody has anything better for an entry, please add it.
7 lines of code changed in 1 file:
Fix spelling error in the region.
1 lines of code changed in 1 file:
server/player.c: Set map for arrow as returned by get_map_flags -
otherwise when firing at edge of tiled maps, arrows could end up
in wrong place.
MSW 2005-08-09
9 lines of code changed in 2 files:
include/config.h: Make DEBUG default - appears last commit changed this
as unrelated to actual changes in place.
include/sproto.h: Rebuild
server/player.c: fire_bow() - add checks for wall/out of map. fire_bow()
wasn't using right coordinates on check, which caused problems in
threewide mode at edge of maps.
MSW 2005-08-07
38 lines of code changed in 4 files:
Make get_real_owner make use of get_owner.
3 lines of code changed in 1 file: