Various bug fixes, related to the new map display code.
common/loader.c, common/loader.l: Add map_layer attribute so object can
override what layer it should go on (fix for levitation boots).
common/map.c: Add support for map_layer to override layering. Fix bug
where if there were more objects than would fit on a layer, not all
would be drawn (same object was duplicated onto multiple layers).
common/object.c: Add check for ob->map_layer in can_merge()
include/map.h: Add extern declaration for map_layer_name[]
include/object.h: Add map_layer to object.
socket/request.c: In map1 compatibility mode, make sure we always
send the player.
MSW 2006-05-29
88 lines of code changed in 7 files:
Only call animate_object() if object is animated - otherwise,
animate_object() spews bunch of error about being called with non
animated object.
MSW 2006-05-29.
2 lines of code changed in 1 file:
Update visibility info for many archetypes. Split out destruction
vs manabolt images, as visibility is face attribute and not object.
Likewise, split out cause vs heal faces.
MSW 2006-05-29
86 lines of code changed in 17 files:
Add specific layer info for this object.
MSW 2006-05-29
1 lines of code changed in 1 file:
Add client side animation support for these objects.
MSW 2006-05-29
3 lines of code changed in 2 files:
Monsters now cannot anymore see through earthwalls/monsters. This restores the
behavior to what it was before the new movement code. For players this
basically means that monsters will not anymore cast spells though earthwalls or
other monsters.
11 lines of code changed in 2 files:
Make attacking with melee in 'fire command work again. Now attacking with
<shift>+<direction> works again.
11 lines of code changed in 2 files:
Better this way, actually.
225 lines of code changed in 32 files:
Another test, feel free to revert :)
442 lines of code changed in 33 files:
Make swarm spells work again. These spells did not work anymore on tiles which
had a move_block type set (for example cobblestones).
10 lines of code changed in 2 files:
Fix monster facing bug.
10 lines of code changed in 2 files:
New spider, first Blender try.
502 lines of code changed in 33 files:
Remove skill scroll_set_traps since it is a disabled/unimplemented skill in the server.
0 lines of code changed in 1 file:
gtk/gx11.c, gtk-v2/src/main.c: Add checks for csocket.fd==-1 after return
of DoClient. With change in DoClient to close the socket, the network
routines are not called again (like they used to be), and thus the
GUI was't really aware the socket was closed, and wouldn't prompt for
metaserver selection.
MSW 2006-05-21
29 lines of code changed in 3 files:
Fix typo in comment.
1 lines of code changed in 1 file:
Simplify expression.
1 lines of code changed in 1 file:
Fix typo in comment.
1 lines of code changed in 1 file:
Properly declare prototype for rmap_yval().
1 lines of code changed in 1 file:
Remove trailing white space from attack messages.
3 lines of code changed in 1 file:
Improve comment.
3 lines of code changed in 1 file:
Fix comment.
1 lines of code changed in 1 file:
Improve comment.
1 lines of code changed in 1 file:
Use 'NULL' for pointers.
1 lines of code changed in 1 file:
Fix typo in parameter name.
3 lines of code changed in 1 file:
Remove useless sizeof() operator.
1 lines of code changed in 1 file:
Do not crash in strdup_local() in out of memory condition.
2 lines of code changed in 1 file:
Fix error message.
1 lines of code changed in 1 file:
Properly declare prototype for yval().
1 lines of code changed in 1 file:
Skip some processing if NEW_MATERIAL_CODE is undefined.
7 lines of code changed in 2 files:
Declare missing variable if NEW_MATERIAL_CODE is defined.
1 lines of code changed in 1 file:
Declare some functions as "static".
7 lines of code changed in 3 files:
Make socket handling more robust.
126 lines of code changed in 14 files:
Fix reference to undefined type name.
1 lines of code changed in 1 file:
Log hook for plugins. Use it for Python & cfanim.
99 lines of code changed in 9 files:
Add a bot flag, to not count in metaserver information
38 lines of code changed in 7 files:
Snapshot
14 lines of code changed in 2 files:
Snapshot
1 lines of code changed in 1 file:
Fix declaration
7 lines of code changed in 1 file:
Win32 snapshot
9 lines of code changed in 2 files:
Fix Win32 compilation
3 lines of code changed in 1 file:
This commit adds support for the map2 protocol command (10 layer map).
This changes how the data is stored and sent to the client. This also
implements the idea of client handling map animations, so adds some object
flags so that the server knows if it should let the client handle animations
or not. Support for the original map protocol command is removed.
---
aclocal.m4: rebuilt
configure.ac: Add checks for zlib.h, libz - not used right now, but will
probably be used in the future, so no reason to remove it.
common/loader.l: Add client_anim_sync, client_anim_random FLAGS.
common/map.c: Add add_face_layer() to set face for a layer. Redo/simplify
update_position to store faces away based on layering criteria.
common/time.c: Replace long pticks with a uint32, since size of a long will
vary, and we now send pticks to the client as a 32 bit value.
crossedit/CrEdit.c: Update the draw logic based on the fact there are more
layers now.
crossedit/Edit.c: Comment out some code that probably should be fixed.
Replace calls of SET_MAP_FACE with SET_MAP_FACE_OBJ
doc/Developers/protocol: Updated with map2, tick protocol additions.
Reorganize the parameters in the setup protocol command so they are now
listed in alphabetical order.
include/autoconf.h.in: Add HAVE_ZLIB_H define.
include/define.h: Update for the FLAG_CLIENT_ANIM values.
include/face.h: Remove MapLook structure - no longer used.
include/global.h: change extern type for pticks from long to uint32
include/map.h: Change MAP_LAYERS to 10. Add definitions for what each
map layer is. Remove GET/SET_MAP_FACE macro - no longer used,
GET/SET_MAP_FACE_OBJ replaces it. Add GET_MAP_FACE_OBJS which
returns pointer to all the object info for the space. Remove
faces from MapSpace structure.
include/newclient.h: Update with new defines used for map2 protocol
command.
include/newserver.h: Change type of faces in map_cell_struct to be
uint16 to be consistent. Change 'count' to 'darkness' to more
accurately describe what it represents. Add MAP2_COORD_OFFSET
define. Add Map2Cmd to MapMode enum. Add map_scroll_x/y
to socket structure so we send those as part of map2 command.
Add tick field to socket structure to know if we should send
tick data to the client.
server/login.c: Remove extern long pticks declaration - declared
in global.h - don't need to declare it again locally.
socket/info.c: Rewrite magic map code to use GET_MAP_FACE_OBJ
instead of GET_MAP_FACE macros.
socket/init.c: Initialize new fields in socket structure to 0.
socket/loop.c: If client wants tick data sent, send one each tick.
socket/request.c: Add setup responses for tick, map2 requests. Remove some
extra code in Map1a setup. Send error message to client if not using
at least Map1 protocol level. Modify map_newmap_cmd() to clear
scroll information when using Map2. Remove original (map0) protocol
logic. Update map_clearcell() to clear all 10 layers. Replace
MAX_LAYERS with MAP_LAYERS. Add add_head() to remove some of the
complication from update_space(). Add code in draw_client_map1()
to find which 3 layers to send to the client from the 10 we now have.
Add map2_add_ob(), map2_delete_layer(), check_space_for_heads(),
draw_client_map2() to handle map2 protocol. Add send_tick() -
sends tick to client, but also forces flush of data to reduce lag.
utils/config.guess.utils/config.sub,utils/ltmain.sh: rebuilt
MSW 2006-05-15
1753 lines of code changed in 25 files:
Fix unitialized variable.
4 lines of code changed in 2 files:
This commit adds client side support for the map2 & tick protocol commands.
In additional the the necessary decode logic, more layers are also added
to the map.
--
common/Makefile.am/.in: Fix proto directive
common/client.c: Add global tick variable. Add links to handle map2
and tick protocol commands. Update setup request sent to server
to request to use the tick and map2 commands.
common/client.h: Add additional fields to Animations structure. Increase
MAX_MAP_OFFSET to match the value on the server.
common/commands.c: Add parsing of return of map2 failures on setup command
so that client can fall back. Add additional initializations for
new fields in AnimCmd(). Change definition of NUM_LAYERS to match
what the map1 command wants/expects. Add Map2Cmd() to decode
map2 protocol command. Do some whitepsace clean of ExtSmooth().
Add TickCmd()
common/init.c: Add seeing of random number generator.
common/mapdata.c: Rewrite CLEAR_CELLS macro to handle additional layers.
Clear animation data in expand_clear_face(). Change MAXLAYERS to
MAP1_LAYERS since map2 increase MAXLAYERS. Add support functions for
setting data in the map2 command.
common/mapdata.h: Increase MAXLAYERS, add MAP1_LAYERS define to old number
of layers. Add animation data to MapCellLayer.
common/newclient.h: Add various defines related to the map2 data.
common/proto.h: Rebuilt
gtk/gx11.c: Add cleint_tick() to handle map animations. Update
do_timeout() to not do animations if we are getting tick data.
gtk-v2/src/config.c: Fix bug in config code where it wasn't enabling
darkness when player switched back from no darkness mode to some
mode.
gtk-v2/src/main.c: Add client_tick() to handle animations. Update
do_timeout() to not do animations if tick is set.
gtk-v2/src/opengl.c: Fix drawing logic where objects which were visible
but in which the bottom right corner was off the map was not being
drawn - only a problem in opengl since it only draws the object
when it finds the head, does not draw each piece.
sound-src/Makefile.am/.in: Fix creation of sounds file - was using
wrong variable name.
x11/xutil.c: Add basic client_tick() that is a callback from the common code.
MSW 2006-05-14
854 lines of code changed in 18 files:
Fix server crash when sending addspell command(s).
16 lines of code changed in 3 files:
Fix typo; add default value for facecache command.
3 lines of code changed in 1 file:
correct bug in previous commit.
1 lines of code changed in 1 file:
Disallow town portal while in transports (caused map corruption, crashes and other nasty things)
10 lines of code changed in 2 files:
Fix for bug #1473941 (Damnation bug)
5 lines of code changed in 2 files:
Third and last part of patch #1453869 courtesy Stefan Huehner (shuehner)
44 lines of code changed in 11 files:
Second part of patch #1453869 courtesy Stefan Huehner (shuehner)
24 lines of code changed in 10 files:
First part of patch #1453869 courtesy Stefan Huehner (shuehner)
4074 lines of code changed in 45 files:
No need to fail when autorun.xml doesn't exist :)
7 lines of code changed in 7 files:
Add Map.Insert(object,x,y) and Player.CanPay( ) to Python plugin
57 lines of code changed in 9 files:
Patch #1456016 courtesy schmorp.de development team
25 lines of code changed in 1 file:
Added autogeneration of html and text report for test process.
5757 lines of code changed in 173 files:
removed redundant check and fixed an uninitialized variable in attack.c
2 lines of code changed in 1 file: