1 | Deliantra MORPG Server, Maps and Archetypes ChangeLog. |
1 | Deliantra MORPG Server, Maps and Archetypes ChangeLog. |
2 | |
2 | |
3 | Version numbers sort like decimal numbers. |
3 | Version numbers sort like decimal numbers. |
4 | |
4 | |
|
|
5 | TODO: trap disarming/finding very little/constant experience? |
5 | TODO: golem survives "longer" now - too long? |
6 | TODO: golem survives "longer" now - too long? |
6 | TODO: clean up skill handling in kill_object. |
7 | TODO: clean up skill handling in kill_object. |
7 | TODO: mining experience |
8 | TODO: mining experience |
8 | TODO: highest cpu users: stand_in_light (object *op), get_map_flags, blocked_link, path_to_player |
9 | TODO: highest cpu users: stand_in_light (object *op), get_map_flags, blocked_link, path_to_player |
9 | TODO: reload_settings |
10 | TODO: reload_settings |
10 | TODO: thawer should ot next() |
11 | TODO: thawer should not next() |
11 | TODO: apply Glowing Crystal # does not work |
12 | TODO: pet experience is, rarely, given to the wrong skill (e.g. mining) |
12 | TODO: summon to map borders still borked |
13 | TODO: 2010-05-21 02:48:16.4562 D victim {cnt:109581,uuid:<1.858befa27>,name:"ice",flags:[0,8,103],type:23}(on /whalingoutpost/misc/icecavern1@8+43) (-21) already dead in hit_player() |
|
|
14 | TODO: jumping, maybe dimdoor works wonders with earthwalls in between. |
|
|
15 | TODO: cats dimdoor, invoke charm => watch Log-1 |
|
|
16 | TODO: fountain magic power and shop magic powre potions are different, also, potions are not identified |
|
|
17 | TODO: identify doesn't merge |
|
|
18 | TOOD: apply should only apply one stack items |
|
|
19 | TODO: fixed random maps, e.g. for buildings |
|
|
20 | |
|
|
21 | TODO: fix rando maps - wallstyle includes piers? random exitstyle is teleporters? |
|
|
22 | TODO: 2010-07-26 23:16:17.5863 W Can't call method "skip_block" on an undefined value at /opt/deliantra-server/share/deliantra-server/cf.pm line 2136. |
|
|
23 | when trying to load a map that apparently could not been saved during chargen. |
|
|
24 | TODO: http://maps.deliantra.net/lostwages/alchemistscave.xhtml - doesn't work, even after the diamonds you do not get the cauldron. |
|
|
25 | TODO: 2010-10-12 00:46:54.9727 E place_special_exit: undefined hole type 4 |
|
|
26 | TODO: 2010-10-12 00:05:52.3436 E object refering to nonexistant archetype 'ability_fire'. |
|
|
27 | TODO: 2011-08-13 23:21:15.7242 E Treasurelist mage_hound did not generate a valid entry in summon_object |
|
|
28 | TODO: partially transparent, yellow ground(?): wall/bulletwall/bul_wall_*.x11.32x32.png |
|
|
29 | TODO: op->failmsgf ("You lack the proper attunement to cast %s!", &spell_ob->name); <- why for moving bsall spells? check if caster is player? |
|
|
30 | |
|
|
31 | TODO: potionimp/stat potion descriptrions |
|
|
32 | TODO: 22:29:37 -server:#cf- Scara chats: schmorp: i'm trying to get a clue about the tarot and the meaning of the |
|
|
33 | TODO: sepharoth, it goes like this: philosophical salt equals "Gunas" (Subconsciousness), philosophical |
|
|
34 | TODO: sulfur equals "Rajas" (Activity) and philosphical mercury equals "Sattva" (Superconsciousness) or |
|
|
35 | TODO: the sepharoth "Kether" |
|
|
36 | TODO: "illegal" access to mlab via town portal in zealots house near mlab tavern |
|
|
37 | TODO: only store face checksums in C++, store everything else in perl |
|
|
38 | TODO: the motd command is missin |
|
|
39 | TODO: cast create missile's argument should be documented and should work for bolts as well, example: |
|
|
40 | if I use 'cast create missile bolt, it would create bolts (+4) and if I use |
|
|
41 | 'cast create missile bolt Fire, it would create bolts of Fire. 'cast create |
|
|
42 | missile Fire bolt would be invalid. These changes should be reflected in the |
|
|
43 | spell's description. |
|
|
44 | TODO: bowmode threewide (and possibly others) might not properly respect movetype |
|
|
45 | and arrows might end up in places where they shouldn't, e.g. on top of see-through |
|
|
46 | walls. |
|
|
47 | TODO: rijk's frontend does not look for .xhtml files when serving static files. |
|
|
48 | TODO: Allow players to forget spells in the testing server - this makes spell testing and iteration simpler. |
|
|
49 | |
|
|
50 | |
|
|
51 | TODO: cspm spell arg |
|
|
52 | |
|
|
53 | - (maps) remove random worbench under house in darcap, fix exit and add random |
|
|
54 | reading to dragonslib map, modify zealots house in mlab/tavern.map to remove |
|
|
55 | illegal mlab access (ephraim). |
|
|
56 | - (maps) make some containers unstackable that erroneously stackable. |
|
|
57 | - detect stackable containers at load time and make each stack a single item |
|
|
58 | (reported by Saiapatsu). |
|
|
59 | - refactored the anim frames/facing macros/methods to range check and avoid |
|
|
60 | crashes due to corrupted face numbers (e.g. in T_MATCH). |
|
|
61 | - fix possible animation update bug in hole animations. |
|
|
62 | - fix gate closing not updating the animation bug. |
|
|
63 | - do not allow runes to be cast into inaccessible areas (reported by Saiapatsu). |
|
|
64 | - last remaining BUG (that showed up in the logs for the last years) has |
|
|
65 | been fixed: monsters would snatch arrows/thrown_objs out of the air without |
|
|
66 | stopping them, causing BUG: arrow had no map. Fixed by marking shot arrows, |
|
|
67 | bolts and thrown objects as NO_PICK temporarily. |
|
|
68 | - since binutils/gcc/etc. conspired to break static archives, converted the server |
|
|
69 | binary build into non-recursive Makefiles without static archives. hell, automake |
|
|
70 | is certainly not ready for non-recursive makes, what a hack :() |
|
|
71 | - use c++11 headers in preference to tr1 ones. |
|
|
72 | - fix odr violation: struct point. |
|
|
73 | - make the code warnigns-clean, for some definition of warnings. |
|
|
74 | - port to g++ 6. |
|
|
75 | - implement keep_suffix meta for cfutil, so files keep their extension. |
|
|
76 | - built-in webserver uses improved content-type detection and uses charset utf-8 |
|
|
77 | by default. |
|
|
78 | - do proper etag caching for resources in http server. |
|
|
79 | - fix webserver 304 response, which contained entity-headers, confusing squid. |
|
|
80 | - potentially fix a bug where ob->contr is non-null while ob->contr->ob is null, |
|
|
81 | causing a segfault. |
|
|
82 | - change DIRX/DIRY macros to take a diretcion as argument, and use them instead of |
|
|
83 | directly referencing freearr_[xy], as the latter is used alot more often then |
|
|
84 | DIRX/DIRY, and this allows us to change freearr_[xy]. |
|
|
85 | - tentative port to C++ 17. |
|
|
86 | - fix a potential bug with packet << (const char *)0. |
|
|
87 | - add COPYING.Other. |
|
|
88 | - include libecb and decore compiler.h and other places in preference to it. |
|
|
89 | - include ska's flat_hash_map and use it instead of unordered_map/set. |
|
|
90 | - use c++11 variadic templates in include/callback.h, get rid of callback.pl. |
|
|
91 | - level 0 experience valuew as uninitialised. all these years. |
|
|
92 | |
|
|
93 | 3.1 Wed Nov 16 23:17:11 CET 2016 |
|
|
94 | - convert to blitz++ 0.10 and later (also requiring c++ 11). |
|
|
95 | - port to perl 5.18 and newer. |
|
|
96 | - switch to xz compressed archives as only dist method. |
|
|
97 | - upgrade to automake 1.15. |
|
|
98 | - (maps) hopefully fix tobias' tower. |
|
|
99 | - (maps) hopefully fix healing potion vendor in arena entrance. |
|
|
100 | - (arch) fixed an error in the Gnarg scale mail artifact. |
|
|
101 | - it was possible to unapply or half-unapply cursed items in many |
|
|
102 | cases, which confused players and also player state. fixed. |
|
|
103 | - (arch) remove curse now works more liek idnetify in that it uncurses |
|
|
104 | some items. also, no longer uncurses spells or other invisibles. |
|
|
105 | - (arch) remove curse and identify now treta the marked tiem first. |
|
|
106 | - creators no longer identify objects that shouldn't be identified |
|
|
107 | (such as money, which won't stack afterwards). |
|
|
108 | - (maps) the shady rogue in goths can unapply cursed items for you. |
|
|
109 | - (maps) implement a wilderness town portal. |
|
|
110 | - (arch) set proper(?) int values for all monsters. |
|
|
111 | - (maps) fire5.map could destroy players. |
|
|
112 | - (maps) fix pet arena pit/arena entrace and exits. |
|
|
113 | - clear the spell's applied flag when inscribing scrolls, to make the |
|
|
114 | scrolls mergeable. |
|
|
115 | - redo all build material faces from scratch. |
|
|
116 | - dropall without arguments now drops all containers. |
|
|
117 | - use blitz++ for vector maths (new dependency). |
|
|
118 | - only match archetype names in artifact allowed names. |
|
|
119 | - new command "bumpmsg" that triggers the bump-into-wall messages. |
|
|
120 | - altars with match expressions did not work properly. |
|
|
121 | - use last_sp not cursed/damned flags in remove_curse/damnation spells. |
|
|
122 | - god enemy race check fixed ("god detests your race"). |
|
|
123 | - gods erroneously allowed any kind of worshipping race, even |
|
|
124 | ones they hate. |
|
|
125 | - use same default config in code as on gameserver.deliantra.net. |
|
|
126 | - Pod::POM 0.26 and higher actually interpret =encoding, which broke |
|
|
127 | our parser. |
|
|
128 | - generate slightly more special exits and avoid warning. |
|
|
129 | - applying a glowing crystal now gives status messages. |
|
|
130 | - fix a memleak in the random map generator. |
|
|
131 | - rework the random map parameter passign a bit to be extendable. |
|
|
132 | - (random maps) use a nonrecursive algorithm to generate mazes, |
|
|
133 | also, improve the quality of the mazes (no longer will the edges |
|
|
134 | almost always form a passage) and add two new types - "rooms" |
|
|
135 | and "braided". |
|
|
136 | - implement --unique option to reset command. |
|
|
137 | - (random maps) add new "cave" layout, which is much more ... |
|
|
138 | cave-like. |
|
|
139 | - (random maps) new layout style "castle" that generates straighish, |
|
|
140 | rogue-ish maps. |
|
|
141 | - (random maps) new layout style "multiple" that simply mixes multiple |
|
|
142 | different styles in different areas. |
|
|
143 | - roguelike maps sometimes had dead ends due to symmetry settings. |
|
|
144 | - rewrite layout management in the random map generator from the |
|
|
145 | ground up. |
|
|
146 | - fix bug in tausworthe rng initialisation. |
|
|
147 | - switched to the faster and hopefully better quality gfsr{24,55} random |
|
|
148 | number generator, the same algorithm that freeciv apparently uses. |
|
|
149 | - replace unreachable walls in random maps by "blocked", which saves |
|
|
150 | memory and imho looks nicer. |
|
|
151 | - (arch) fix samhlaidh archetype. |
|
|
152 | - fix the "archname" match special function. |
|
|
153 | - add kensler ("better gradient noise") functins, as well as fBm |
|
|
154 | and other fractal algorithms. |
|
|
155 | - one can no longer emote to logged-out players. |
|
|
156 | - (maps) /pup_land/nurnberg/storehouse quest was fixed, the potatoe |
|
|
157 | sacks fit on a tile again. |
|
|
158 | - (arch) fixed message of improve wisdom scroll. |
|
|
159 | - (arch) move glyph/magicmap/visibility into .faceinfo files, |
|
|
160 | support background colour for text clients. |
|
|
161 | - (arch) improve automatic name from archname generation. |
|
|
162 | - implement faceset 2, colour + utf-8 glyph, for text-based clients. |
|
|
163 | - support resist_xxx, body_xxx_info and body_xxx_used specials in |
|
|
164 | match expressions. |
|
|
165 | - don't cause an error if a monster tries to cast magic mapping. |
|
|
166 | - sometimes a special exit wasn't placed when it should have been. |
|
|
167 | - make newmapcmd mandatory, remove support for map0/map1. |
|
|
168 | - require EV 4.00. |
|
|
169 | - made wording of "use_skill jeweler analyze" a bit more precise. |
|
|
170 | - add perlxsi.c to cleanfiles. |
|
|
171 | - (arch) made speed potions easier for now. |
|
|
172 | - the server didn't properly initialise all client skill slots, |
|
|
173 | no known impact. |
|
|
174 | - clean up unused settings, introduce DELIANTRA_DATADIR. |
|
|
175 | - (arch) added potion of fortitude to resist fear for the jeweler skill. |
|
|
176 | - (arch, maps) move worldmap gridmap data to arch/res/ and implement |
|
|
177 | a generic table/matrix/palette converter to cfutil. |
|
|
178 | - avoid crash in describe_item when a power crystal has maxsp=0 (as used, |
|
|
179 | apparently, in the brewery map). |
|
|
180 | - do not endlessly loop when an optional extension cannot be loaded. |
|
|
181 | - remove limits of 000..999 from worldmap coordinates, support negative |
|
|
182 | coordinates and introduce z-layers - deliantra is now 3d, in yet another |
|
|
183 | sense. |
|
|
184 | - move "the worldmap" to ext/map-world-classic.ext and make ext/map-world.ext |
|
|
185 | handle generic "world map areas". |
|
|
186 | - dropped micrpather again - we'll do our own implementation when we need it. |
|
|
187 | - added is_quad flag. |
|
|
188 | - (arch) added quad archetypes. |
|
|
189 | - made the pickaxe mining tool remove quad walls and floors. |
|
|
190 | - move key_values into their own class, simplifiying lots of code and |
|
|
191 | making it possible to use kv pairs easily for maps and other objects as well. |
|
|
192 | - get rid of get_archetype, finally. |
|
|
193 | - maps no longer get activated when loading, only when a palyer is "near" them. |
|
|
194 | - maps can now be swapped (not loaded), active and inactive, other states |
|
|
195 | have been removed, and the map "intelligently" changes between active/inactive. |
|
|
196 | - new variable $cf::SERVER_TICK, also rename pticks in C++ to server_tick. |
|
|
197 | - remove legacy fly_on/off, flying, walk_on/off and no_pass attributes. |
|
|
198 | - server now enforces width/height matches between tiled maps. |
|
|
199 | - fix some off-by-one bugs that presumably created empty rectangles |
|
|
200 | for unordered map walks - which should not cause any real issues. |
|
|
201 | - increase face hashlen to 5 octets from 4, to avoid a collision. |
|
|
202 | - fix output-rate limiting - min/max now use the first argument for the type, |
|
|
203 | as all other similar macros - might cause other breakage... |
|
|
204 | - cfutil no longer creates split tiles multiple times due to a |
|
|
205 | off-by-one bug in comparing mtimes. |
|
|
206 | - cfutil now supports type: prefix to derive faces from other faces, which |
|
|
207 | is used for all build materials currently. |
|
|
208 | - require imagemagick >= 6.6. |
|
|
209 | - fixed possible crash due to broken initialisation order of shstr and |
|
|
210 | freed_map, thanks go to Jonathan Neuschäfer for spotting this! |
|
|
211 | - fix the brace command. |
|
|
212 | - implement refcnt_buf. |
|
|
213 | - avoid std::string to store facedata, use refcnt_buf instead, for a 20kb |
|
|
214 | codesize decrease. wow. |
|
|
215 | - removed version 1 ext/exti command support. |
|
|
216 | - store meta information in faceinfo->meta unless prepended or empty. |
|
|
217 | - new extension, ota_update, for online updates of the game client. |
|
|
218 | - implement a simpler config value system for extensions that allows |
|
|
219 | config updates without a reload. |
|
|
220 | - fix a segfault in reload_perl due to perl 5.12's gv management changes. |
|
|
221 | - make pick_lock work over map boundaries, and fix a crash while we are |
|
|
222 | at it. |
|
|
223 | - make nekosan more disease-resistant. |
|
|
224 | - new event "infect". |
|
|
225 | - setup protocol packet now supports JSONOBJECT syntax. |
|
|
226 | - implement simple web server, currently to serve facedata for the html5 |
|
|
227 | client. |
|
|
228 | - sort faces by name in the server to improve caching locality in clients. |
|
|
229 | - actually prune face checksums (exp_table's checksum was too long). |
|
|
230 | - add skill_info and spell_paths resources to enable caching the info |
|
|
231 | and removing another command. |
|
|
232 | - send completion info to the client. |
|
|
233 | - assume all clients support the deliantra protocol extensions and allow |
|
|
234 | fxix/extcmd and other protocol "extensions" before setup. |
|
|
235 | - implement flash-policy-file server on server socket, to allow flash clients |
|
|
236 | to connect. |
|
|
237 | - implement exti doclet request to request documentation, |
|
|
238 | currently for commands only. |
|
|
239 | - created nickmon extension to monitor nicks. |
|
|
240 | - ix now keeps a copy of the face data while sending, in case the |
|
|
241 | face changes. |
|
|
242 | - do not allocate memory for empty refcnt_bufs. |
|
|
243 | - when faces change, invalidate all clients, not just clients with matching |
|
|
244 | faceset, as faceset only applies to tile resources. |
|
|
245 | - remove dependency on Time::HiRes. |
|
|
246 | - move face data to disk, and load it on each and every access. this saves |
|
|
247 | 250mb ram on load, and 130mb ram in general, and only reduces the http |
|
|
248 | server hot cache throughput for faces from ~24000 to ~18000 requests/s |
|
|
249 | on my system. this should make it possible to add a lot more media files |
|
|
250 | in the future, and reduces the memory footprint by the server from 180mb |
|
|
251 | to 60mb ram. |
|
|
252 | - create food/missile will now fail when the mapspace limits are exceeded. |
|
|
253 | - pod processing could deadlock because the child process might try |
|
|
254 | to get a lock. |
|
|
255 | - removed support for ncom packets. |
|
|
256 | - remove drawinfo packets from the server (use msg instead). |
|
|
257 | - skill objects now have their documentation in the msg slot. |
|
|
258 | - no longer allow prefix match when matchign spells, spells names must |
|
|
259 | now be written fully. |
|
|
260 | - avoid a deadlock when the incloader is called to load an in-memory |
|
|
261 | file in a child process. |
|
|
262 | - implement spellmon v2 protocol - no spell message. |
|
|
263 | - remove ability to cats/invoke seplls by "count". |
|
|
264 | - the "may" mechanism now supports uuids ina ddition to nicknames. |
|
|
265 | - implement dm/dmhide in terms of the "may" mechanism, so dm |
|
|
266 | players must now be configured by adding may_command_dm: ["uuid..."] |
|
|
267 | to the config. |
|
|
268 | - remove nowiz command. |
|
|
269 | - change dm hiding - hidden status is no longer respected by spells etc., |
|
|
270 | it only affects information commands. use observe instead. |
|
|
271 | - automatically send fx for all changed faces, not just for visible tiles. |
|
|
272 | - fix g++-4.7/c++ incompatibilities in noise.h, and work around similar |
|
|
273 | problems in blitz++. |
|
|
274 | - catch sigfpe in the same way as sigsegv. |
|
|
275 | |
|
|
276 | 3.0 Sat May 29 23:30:57 CEST 2010 |
13 | - (maps, arch) complete revamping of the transport routes - all cities are |
277 | - (maps, arch) complete revamping of the transport routes - all cities are |
14 | now easily reachable, at a price. |
278 | now easily reachable, at a price. |
15 | - (maps) the mana fountain now has a ratelimit of 30 potions per hour. |
279 | - (maps) the mana fountain now has a ratelimit of 30 potions per hour. |
16 | - (maps) added (navar) gravedigger, that buys players gravestones. |
280 | - (maps) added (navar) gravedigger, that buys players gravestones. |
17 | - (maps) added the rathouse quest for the shockwave spell in navar |
281 | - (maps) added the rathouse quest for the shockwave spell in navar |
… | |
… | |
74 | - (maps) fix the apartment shop (japan => 吾妻) and add descriptions for |
338 | - (maps) fix the apartment shop (japan => 吾妻) and add descriptions for |
75 | steinwandstadt/celvear. |
339 | steinwandstadt/celvear. |
76 | - (maps) added /goodies map (goto *idkfa) with stuff useful for testing. |
340 | - (maps) added /goodies map (goto *idkfa) with stuff useful for testing. |
77 | - (arch,maps,code) rebalanced value of spellbooks greatly. it's now |
341 | - (arch,maps,code) rebalanced value of spellbooks greatly. it's now |
78 | mostly based on the spell's level in the spellbook. |
342 | mostly based on the spell's level in the spellbook. |
|
|
343 | - the music scheduler did not properly send new music on region |
|
|
344 | changes. |
79 | - (maps) fix some map regions and the region tree. |
345 | - (maps) fix some map regions and the region tree. |
80 | - the server will now be more picky when parsing the regions file. |
346 | - the server will now be more picky when parsing the regions file. |
81 | - do not rely on chosen_skill in calc_alch_danger. |
347 | - do not rely on chosen_skill in calc_alch_danger. |
82 | - improve editor support protocol slightly, provide workarounds for 2.10 |
348 | - improve editor support protocol slightly, provide workarounds for 2.10 |
83 | clients. |
349 | clients. |
… | |
… | |
131 | - move mark, run, run_stop, fire and fire_stop commands back from |
397 | - move mark, run, run_stop, fire and fire_stop commands back from |
132 | perl to C++, for speed reasons (basically undo patchset 1304). |
398 | perl to C++, for speed reasons (basically undo patchset 1304). |
133 | - add a client_destroy event, so we don't have to hook the |
399 | - add a client_destroy event, so we don't have to hook the |
134 | attachable destroy event (which is called much more often). |
400 | attachable destroy event (which is called much more often). |
135 | - removed (unused) FLOOR object type. |
401 | - removed (unused) FLOOR object type. |
136 | - fix errornous change_abil messages for rods (and other types). |
402 | - fix erroneous change_abil messages for rods (and other types). |
137 | - remove include/commands.h and server/c_new.C, and refactor |
403 | - remove include/commands.h and server/c_new.C, and refactor |
138 | all into server/commands.C. |
404 | all into server/commands.C. |
139 | - save and restore combat/ranged/current slot for players. |
405 | - save and restore combat/ranged/current slot for players. |
140 | - the server now batches item's face/fx commands, as opposed |
406 | - the server now batches item's face/fx commands, as opposed |
141 | to sending one fx per item - helps mostly at connect and |
407 | to sending one fx per item - helps mostly at connect and |
… | |
… | |
205 | causing server freezes. |
471 | causing server freezes. |
206 | - store unhashed password, to prepare for safer authentication. |
472 | - store unhashed password, to prepare for safer authentication. |
207 | - do not log connections from the local host, to help a local |
473 | - do not log connections from the local host, to help a local |
208 | watchdog. |
474 | watchdog. |
209 | - fix summon freeze at map borders. |
475 | - fix summon freeze at map borders. |
|
|
476 | - support @group syntax and music config file for music face lists. |
|
|
477 | - run post_init jobs in parallel, they might do I/O. |
|
|
478 | - avoid apply conversion for converters. |
210 | |
479 | |
211 | 2.93 Sat Feb 13 15:52:36 CET 2010 |
480 | 2.93 Sat Feb 13 15:52:36 CET 2010 |
212 | - (maps) fix travel to valdor and back. |
481 | - (maps) fix travel to valdor and back. |
213 | - do no longer by default eval map cod ein safe compartments |
482 | - do no longer by default eval map cod ein safe compartments |
214 | (this can be re-enabled using the safe_eval config option). |
483 | (this can be re-enabled using the safe_eval config option). |