forked from eathena/eathena
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changelog-Trunk.txt
9591 lines (9569 loc) · 576 KB
/
Changelog-Trunk.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Date Added
2014/12/20
* Some remaining uncommitted changes. [Ai4rei]
- Added packet db stub for 2011-10-05aRagexe (packet ver 27).
- Fixed comment for packet format of clif_status_change (ZC_MSG_STATE_CHANGE/ZC_EFST_SET_ENTER) family of packets.
- Some code cleanups in timer.c and malloc.c
2014/06/20
* Fixed wrong range for 'packet_ver_flag' battle config (follow up to r15267). [Ai4rei]
2014/05/10
* Added support for 2013-12-23cRagexe. [Ai4rei]
2014/04/07
* Fixed stack corruption in mapindex_getmapname for input map names longer than 12 characters (since r15243, bugreport:5139). [Ai4rei]
2014/01/21
* Fixed char-server (txt only) would still attempt to allocate zero-sized memory block when there are no characters in the database (bugreport:5138, follow up to r15264). [Ai4rei]
- Modified the alloc functions to print an error zero-sized allocation attempts.
- Fixed assert in aCalloc to not crash on DIV/0.
2014/01/20
* Fixed char-server (txt only) would attempt to allocate zero-sized memory block when there are no characters in the database (bugreport:5138, related r15254). [Ai4rei]
2013/11/14
* Expanded guild emblem validation (clif_validate_emblem) to protect clients from crashes due to memory exhaustion and out-of-bounds access (bugreport:5133, follow up to r14937). [Ai4rei]
2013/11/10
* Updates to strlib. [Ai4rei]
- Removed duplicate code from jstrescape and made it allocate only as much memory as necessary (instead of 64K).
- Minor cleaning.
* Updates to db. [Ai4rei]
- Iterators now use ERS, as they have a great share on alloc/free spam on map-server.
- Minor cleaning.
* Fixed wrong parentheses in status_calc_regen_rate, causing an impossible condition ( C4806: no value of type 'bool' promoted to type 'int' can equal the given constant ), which in turn causes SP regen to continue while under SC_EXTREMITYFIST/SC_EXPLOSIONSPIRITS statuses (since r14929). [Ai4rei]
* Removed RFIFOHEAD leftover (follow up to r10599). [Ai4rei]
- Minor socket code cleaning.
* Updates to sql. [Ai4rei]
- Added Sql_AffectedRows and SqlStmt_AffectedRows for retrieving amount of affected rows.
- Made Sql_P_Keepalive register the name of it's timer function.
- Minor cleaning.
2013/11/02
* Deobfuscated malloc's pointer arithmetic. [Ai4rei]
- Fixed hash_unfill would be initialized in memmgr_init after potential memory use, rather than before (since r12200).
* Fixed dead characters would be immune to SC_NOCHAT, that is, GM mute in all of it's forms (thread:12, since r4308, related r1142 and r5348). [Ai4rei]
2013/10/26
* Moved conf/mapflag to npc/mapflag, as mapflags are scripts (related ra:17347). [Ai4rei]
* Cleaned up nullpo. [Ai4rei]
- Removed unused and non-portable nullpo checks with formatted message.
- Removed stand-alone nullpo reporting, any in-place error message will do a better job.
* Cleaned up mapindex. [Ai4rei]
- Name2id queries are now backed by a dbmap.
- Simplyfied handling of the error value 0, as there is no need to explicitely store an index for it.
- The "generate map index" feature in mapindex_addmap has been changed to use the reserved error value 0 instead of -1, so that the types can be properly unsigned.
- Fixed a no-op in mapindex_getmapname_ext where a strncpy was fed aliased source as destination buffer when a temporary buffer was used as destination.
- Updated errors/warnings to contain more usable information.
- Fixed mapindex_getmapname_ext spending to much effort on making crippled mapnames (too long ones) look even more crippled (cut-off extension+extension).
- Generated temporary map indexes are now stored after the last permanent map index, gap search is no longer performed on the permanent index range.
2013/08/11
* Added support for NPC IDs over 10000 for 2012-08-08aRagexeRE or newer; other clients show Porings or crash depending on age for that range. [Ai4rei]
- This also cuts down on the amount (1000 -> ~400) of NPC view data held in memory as it is now allocated on demand.
2013/02/16
* Fixed impossible condition check in @questskill and @lostskill (bugreport:5114, since r11222). [Ai4rei]
2013/02/01
* Added support for 2012-07-02aRagexeRE. [Ai4rei]
* Various insignificant tweaks. [Ai4rei]
* Fixed libmysql.dll lacking mime-type for binaries (since r15108, related r15156). [Ai4rei]
2012/12/12
* Fixed sd->state.gmaster_flag not getting unset on guild break (since r1192, related r3387), causing crashes when walking after guild break (bugreport:5106, since r15193). [Ai4rei]
2012/10/28
* Split off two new mapserver source files, guild_castle.c and guild_expcache.c [ultramage]
2012/10/27
* Fixed a rare crash involving /breakguild and gmaster_flag (see r15193, bugreport:5100) [ultramage]
2012/09/26
* Fixed an offset mistake in clif_parse_GuildChangeMemberPosition and clif_parse_GuildChangePositionInfo (bugreport:5096, since r15189). [Ai4rei]
2012/09/19
* Fixed clif_parse_GuildChangeMemberPosition (0x155, CZ_REQ_CHANGE_MEMBERPOS) and clif_parse_GuildChangePositionInfo (0x161, CZ_REG_CHANGE_GUILD_POSITIONINFO) making assumptions about the length of the packet (since ever). [Ai4rei]
2012/08/12
* Updated @go coordinates for Izlude (follow up to r15176). [Ai4rei]
* Updated mapcache. [Ai4rei]
- Moved all Izlude NPCs, savepoints and warp destinations by 31 cells to north (except a few ones that needed fine-tuning) to accomodate changes in the Izlude map. This might not be the official placement.
- Disabled Izlude airport warps as they are no longer necessary.
2012/08/11
* Added missing svn:eol-style properties. [Ai4rei]
* Some touch-ups to the custom scripts. [Ai4rei]
- Changed *announce flag literals to respective constants.
- Removed certain *mapannounce flags (mask 0x0f), that are not used by the command.
- Made duplicates, that span multiple maps, have a map-independent template.
2012/08/07
* Fixed compile error for PACKETVER below 7 (bugreport:5078, since r14383). [Ai4rei]
* Added checking for net/socket.h (BeOS sockets) to configure and cmake. [Ai4rei]
2012/07/20
* The atcommand go only considers names that start with the input. [flaviojs]
2012/07/14
* Made configure detect gcc option to use to build shared object, to support BeOS-specific -nostart. [Ai4rei]
* Fixed configure checking whether shared objects (.so) need -fPIC, not failing properly on certain x64 distributions such as Ubuntu, CentOS and Gentoo (topic:279093, topic:277021, follow up to r14708). [Ai4rei]
2012/06/30
* Added 'distclean' makefile target. [Ai4rei]
* Added checking for sys/select.h and execinfo.h to configure (follow up to r15144). [Ai4rei]
2012/06/27
* Added static force-include src/common/config.vc.h to visual studio projects as counterpart to config.h from makefiles. [Ai4rei]
2012/06/10
* Fixed wrong variable name preventing inline attributes from being detected (since r15131). [Ai4rei]
* Added detecting of supported inline directives. [Ai4rei]
* Fixed wrong define being checked for, for MSVC specific inline directive (since r5038). [Ai4rei]
2012/06/09
* Added support for config.h generation to configure and makefiles (see r15125). [Ai4rei]
* Added svn:ignore on generated src/common/config.h (follow up to r15125).
2012/05/19
* Merged instances of packet 0x8e (ZC_NOTIFY_PLAYERCHAT) into clif_notify_playerchat, except clif_displaymessage (takes fd rather than sd). [Ai4rei]
- Fixed a mistake in the length calculation in clif_notify_chat (since r15119).
* Merged instances of packet 0x8d (ZC_NOTIFY_CHAT) into clif_notify_chat. [Ai4rei]
* Fixed clif_item_repaireffect (ZC_ACK_ITEMREPAIR, 0x1fe) using item id for inventory index (since r2070). [Ai4rei]
* Fixed conditionally uninitialized value pointed out by gcc in *getnpcid script command (since r15085). [Ai4rei]
* Minor swap and bounds-code cleaning in map. [Ai4rei]
* Moved inlined send-packets 0x7f (ZC_NOTIFY_TIME), 0xc2 (ZC_USER_COUNT), 0xd4 (ZC_WHISPER_LIST), 0xca (ZC_PC_PURCHASE_RESULT), 0xcb (ZC_PC_SELL_RESULT), 0x18b (ZC_ACK_REQ_DISCONNECT), 0x1e0 (ZC_ACK_ACCOUNTNAME), 0x207 (ZC_REQ_ADD_FRIENDS), 0x210 (ZC_ACK_PVPPOINT), 0x217 (ZC_BLACKSMITH_RANK), 0x21a (ZC_ALCHEMIST_RANK), 0x226 (ZC_TAEKWON_RANK) and 0x238 (ZC_KILLER_RANK) into their own functions. [Ai4rei]
* Processed some clif.c TODO/FIXME. [Ai4rei]
- Added #if PACKETVER for clif_status_change (ZC_MSG_STATE_CHANGE2, 0x43f).
- Added check to prevent buffer overflow in clif_party_message (ZC_NOTIFY_CHAT_PARTY, 0x109).
- Updated clif_callpartner to initialize the client buffer even when there is no partner, as the client does not initialize it (ZC_COUPLENAME, 0x1e6).
- Added/updated some TODO/FIXME.
* Removed map-server private message telling players upon login the obvious; that it's night. [Ai4rei]
* Added clif_item_damaged (ZC_EQUIPITEM_DAMAGED, 0x2bb), not used for now. [Ai4rei]
* Fixed a client-side buffer overflow when clif_displaymessage (ZC_NOTIFY_PLAYERCHAT, 0x8e) sends a message that is longer than 255+1 bytes. [Ai4rei]
* Enabled @jumpto and @recall to 'jump to self' as an alternative to @refresh. [Ai4rei]
2012/04/16
* Merged script command *setiteminfo documentation fix from rAthena (ra:15867). [Ai4rei]
* Allow any type of argument in 'escape_sql' script command. [FlavioJS]
2012/04/15
* Fixed charserver's subnet check using char_ip instead of map_ip as the mapserver ip (my mistake in r11333). [ultramage]
2012/04/08
* Applied Shinryo's patch for login packet 0x825 (CA_SSO_LOGIN_REQ) that interprets the token-portion of the packet as password (ref: hAB1JReB). [Ai4rei]
- Needs a 3rd party login interface or customized shortcut that passes the username/password pair to the client.
* Updated/added stolen item/zeny logging. [Ai4rei]
- For SQL apply upgrade_svn15086_log.sql to upgrade tables `picklog` and `zenylog`; for TXT no action is necessary.
2012/03/19
* Added documentation for script command *getnpcid (follow up to r15083). [Ai4rei]
- Added optional 'npc name' parameter to *getnpcid to allow querying information of other NPCs.
* Added item/zeny logging to auction transactions. [Ai4rei]
- For SQL apply upgrade_svn15084_log.sql to upgrade tables `picklog` and `zenylog`; for TXT no action is necessary.
* Added script command getnpcid() which accepts a parameter (currently only option is 0) and returns an id pertaining to the NPC (currently only supports GID,
for use in making an NPC perform an action using script commands that require a GID (e.g. unit*). [Paradox924X]
2012/02/18
* Fixed wrong packet being sent when dropping an item on newer clients (since r14383, follow up to r15066). [Ai4rei]
* Folded log_pick_pc and log_pick_mob into log_pick as both functions were almost identical (follow up to r15040, related r9017). [Ai4rei]
2012/03/17
* Fixed flag emblems not showing correctly for guilds with ID above 65535 (bugreport:3619) [ultramage]
2012/02/04
* Changed member 'id' of struct 'mail_message' from unsigned to signed, as it is used as signed value throughout the source and is also a signed value on AEGIS (since r11548). [Ai4rei]
* Changed list of ITEMID_* defines into an enum (topic:264007, related r14831). [Ai4rei]
* Introduced a constant for Token of Siegfried (follow up to r11307). [Ai4rei]
2012/01/30
* Fixed out-of-bounds crash when pc_checkskill is given skill IDs between MAX_SKILL and GD_SKILLBASE (bugreport:5129). [Ai4rei]
2012/01/23
* Fixed an offset mistake in ZC_CHANGESTATE_MER (since r15058). [Ai4rei]
2012/01/09
* clif cleanup: Documented most of the packets, unified the documentation of existing packets. [Ai4rei]
- Documentation of functions that need further work is post-poned.
- Packet layouts no longer use S(end)/R(ecv) prefixes as they are inaccurate. Use the AEGIS name for the direction.
- Added a doc on packet struct documentation in an attempt to unify it in all source files. Any comments and improvements are appreciated.
- This concludes the first round of clif clean-ups.
* Reverted NPC sprite ID 139 'fix' from r14993, as it based on false information; the sprite gets sent. The actual cause of the crash is being investigated (bugreport:5104). [Ai4rei]
2012/01/08
* clif cleanup: Some bits that were missed or not committed before although stated. [Ai4rei]
- Upgraded packet 0x16d (ZC_UPDATE_CHARSTAT) to 0x1f2 (ZC_UPDATE_CHARSTAT2) in clif_guild_memberlogin_notice.
- Fixed wrong size of result field of packet 0xcd (ZC_ACK_DISCONNECT_CHARACTER).
- Missed strcpy -> memcpy fixes (follow up to r15058).
- Missed ZC_MAIL_RECEIVE fix (follow up to r15058).
* clif cleanup: Added various packet functions. [Ai4rei]
- Packet for rejecting incoming client connections, clif_authrefuse (packet 0x74, ZC_REFUSE_ENTER). Will be used to replace use of login/char packets for this purpose.
- Packet for resetting a trade, clif_tradeundo (packet 0xf1, ZC_EXCHANGEITEM_UNDO). Needs further investigation before actually implemented.
- Packet for announcing lost MVP item reward, clif_mvp_noitem (packet 0x10d, ZC_THROW_MVPITEM).
- Packet for special effects that use a variable, clif_specialeffect_value (packet 0x284, ZC_NOTIFY_EFFECT3).
- Packets for displaying msgstringtable.txt strings with a %d parameter (packets 0x7e2, ZC_MSG_VALUE) or skill name (packet 0x7e6, ZC_MSG_SKILL).
- Packets for kafra storage (packet 0x23a, ZC_REQ_STORE_PASSWORD and packet 0x23c, ZC_RESULT_STORE_PASSWORD).
* Removed atshowmobs_timer and associated code, as type 0 for clif_viewpoint (packet 0x144, ZC_COMPASS) makes the client remove the dot automatically (trade-off: the dot is displayed for 10 seconds longer). [Ai4rei]
- Updated documentation for script command *viewpoint to include type 0.
* clif cleanup: Removed unused clif_party_move (packet 0x104, ZC_ADD_MEMBER_TO_GROUP), since it's old version of clif_party_member_info (packet 0x1e9, ZC_ADD_MEMBER_TO_GROUP2) (related r4761, r6521, r9871). [Ai4rei]
- Fixed compile warnings (void function returning value) on debug builds (since r15057).
* Registering a party booking advertisment will now fail if there is already one registered (since r14412). [Ai4rei]
2012/01/05
* clif cleanup: Various packet updates. [Ai4rei]
- Added support for packet 0x2eb (ZC_ACCEPT_ENTER2).
- Added support for packet 0x29a (ZC_ITEM_PICKUP_ACK2).
- Added missing field in packet 0x253 (ZC_STARPLACE).
- Added trick dead clear type.
- Cleaned up clif_changechatstatus to match clif_dispchat.
- Fixed clif_updatestatus would not reallocate WFIFO after pc_updateweightstatus in SP_WEIGHT.
- Fixed default value for isDisposable being 1 instead of 0 in packet 0x7fb (ZC_USESKILL_ACK2).
- Fixed unused material fields in packet 0x18d (ZC_MAKABLEITEMLIST) not being cleared.
- Fixed type being fed into an unused field of packet 0x148 (ZC_RESURRECTION).
- Fixed src/dst char_id being fed into refine level and card fields of packets 0x1fc (ZC_REPAIRITEMLIST) and 0x221 (ZC_NOTIFY_WEAPONITEMLIST).
- Fixed wrong field size being used for fields type/state of packet 0x230 (ZC_CHANGESTATE_MER).
- Fixed wrong field size for skill inf fields in skill packets. This also fixes unknown W-fields in such packets.
- Fixed wrong size of guild castle count string in packet 0x1b6 (ZC_GUILD_INFO2).
- Fixed wrong size of index field of packet 0x222 (CZ_REQ_WEAPONREFINE).
- Fixed wrong size of skill ID field of packet 0x1ce (CZ_SELECTAUTOSPELL).
- Fixed wrong size of exp share rule field of packet 0x102 (CZ_CHANGE_GROUPEXPOPTION).
- Fixed wrong size of result count field of packet 0x804 (CZ_PARTY_BOOKING_REQ_SEARCH).
- Fixed wrong size of answer field of packet 0x16b (CZ_JOIN_GUILD).
- Fixed wrong size of reply field of packet 0x208 (CZ_ACK_REQ_ADD_FRIENDS) for PACKETVER 6 and newer.
- Fixed sender and title fields being reversed in packet 0x24a (ZC_MAIL_RECEIVE).
- Removed leading zeros from packet IDs to make them easier to find.
- Removed impossible check from clif_process_message, clif_parse already ensures, that there is at least packet_len byte data available (since r11507).
- Renamed clif_parse_ReqMarriage (since r1611 and r1645) to clif_marriage_proposal since it is a send packet and added missing fields to it.
- Replaced hard-coded packet sizes with packet_len macro and updated packet length table/db to support all packets that use it.
- Replaced strcpy with safestrncpy where appropriate (bugreport:3080).
- Resolved variable recycling in clif_updatestatus and clif_initialstatus.
- Random minor tweaks and cleanups.
* clif cleanup: Updated clif_bg_hp, clif_bg_xy and clif_bg_xy_remove to use actual battleground packets, instead of copypasted party packets (since r13550). [Ai4rei]
* clif cleanup: Removed clif_updateguildstorageamount and adjusted clif_updatestorageamount to work with any kind of storage (follow up to r14571). [Ai4rei]
2012/01/01
* Fixed a very dumb mistake in ZC_SHOWDIGIT packet; all WFIFO* indexes being 0 (topic:282871, since r14539). [Ai4rei]
2011/12/30
* clif cleanup: Changed argument types of some clif functions. [Ai4rei]
- Added enumeration for skill failure codes and made clif_skill_fail use it.
* clif cleanup: Changed clif_changestatus so that it takes sd instead of bl, since it only accepts BL_PC bls anyway. [Ai4rei]
* clif cleanup: Changed return value types to void of all functions, whose return value does not serve any purpose. [Ai4rei]
- Removed void returns at the end of functions.
- Marked some local functions as static.
* Added RFIFOPOS(2) and RBUFPOS(2) as counterparts to WFIFOPOS(2) and WBUFPOS(2) respectively, and used them to replace inlined code that retrieves packet position data. [Ai4rei]
2011/12/26
* Fixed mismatched 'else' in map-server command line argument parser causing all options after 'map-config' not to work (since r15004). [Ai4rei]
2011/12/25
* Fixed unit_blown not returning actual amount of knocked-back cells, but the requested count (bugreport:4985, since r7721 (skill_blown) and r14492 (unit_blown)). [Ai4rei]
* Fixed resnametable parser using 'everything up to next #' (comments, new-lines) for source and alias name, causing bogus aliases to be created when the current line did not start immediately with a filename. [Ai4rei]
* Fixed mismatched 'else' in grfio, that caused 'data_dir' config key not being recognized, thus also breaking resnametable.txt reading from data folder (bugreport:5115, since r15016). [Ai4rei]
2011/12/24
* Fixed GCC warning (missing type forward declaration) in log.h (since r15040). [Ai4rei]
* Re-implemented item refine level filter for logging (since r1416, removed r6510, related r3283). [Ai4rei]
* Fixed TXT logs being opened as 'append+read', rather than just 'append' (since r197). [Ai4rei]
* Merged log settings for SQL tables and TXT flat files (meaning depends on sql_logs setting). [Ai4rei]
- Added a warning when attempting to use SQL logs on TXT.
- Information about enabled logs is now displayed after all log config is read instead of per-hit.
- Removed unused member 'drop' from Log_Config (follow up to r6510).
* Added constants for log item filter constants. [Ai4rei]
- Removed argument in should_log_item, which always took log_config.filter as value.
- Fixed missed update in struct Log_Config, enum log_what -> e_log_pick_type (since r15040).
* Updates to map-server's log system. [Ai4rei]
- Moved all logs configuration checks from caller functions into respective log functions, and replaced string log types with an enumeration.
2011/12/22
* Fixed guild aura code not checking, whether the map of guild leader and member is the same (since r15037). [Ai4rei]
* Merged slightly modified guild aura optimization from rAthena (ra:15084, ra:15086). [Ai4rei]
2011/12/19
* Changes to chat logging code. [Ai4rei]
- Moved log_config.chat checks into log_chat and replaced string chat types with an enumeration.
- Changed log_config.chat to only include chat types, old values 1 (all) and 64 (none during woe).
- Introduced setting 'log_chat_woe_disable' which replaces previous (log_config.chat&64) bit.
2011/12/18
* Some preparation clean-ups in map log; no functional changes, yet. [Ai4rei]
2011/12/17
* Added field for "'add-ons' sidebar" to character select list packet for 2011-10-25aRagexeRE and newer. [Ai4rei]
2011/12/10
* Disabled creation of merceneries on TXT until charmerge is done, since the current char-server does not support it (bugreport:2502, since r13116). [Ai4rei]
* Updated pcre3.dll and related files from 7.0 to 8.20 (bugreport:4948). [Ai4rei]
2011/12/09
* Updated PACKETVER and packet_db_ver to the most recent fully supported and stable client (2010-07-28aRagexeRE). [Ai4rei]
2011/12/08
* Updated zlib1.dll and related files from 1.2.3 to 1.2.5 (bugreport:4948). [Ai4rei]
2011/12/04
* Random procrastinating in map.c/map.h [Ai4rei]
- Rewrote command line option parser. Now reports invalid options and missing option values.
- Dropped some alternative option names.
- Renamed option --grf-path-file to --grf-path.
- Enabled option --inter-config for TXT builds as well (mapreg_txt, party_share_level, etc.).
- Fixed outdated website url in version screen.
- Replaced 'puts' with 'ShowInfo' in help screen and reformatted it a bit.
- Added explanation for option --run-once to help screen (follow up to r789).
- Fixed option --inter-config was called --sql-config in help screen (follow up to r930).
- Removed orphaned extern variable 'map_server_dns' declaration from map.h (since r7275, follow up to r7360).
2011/12/03
* Preparation clean up in clif.h [Ai4rei]
- Synced function declarations and argument names with clif.c including whitespace.
- Removed orphaned function declarations.
- Removed include to storage.h and put it into .c files that need it instead.
2011/11/28
* Added script command *showdigit (follow up to r14539). [Ai4rei]
- Fixed a mistake in the comment for packet 0x1b1 (ZC_SHOWDIGIT).
* Fixed novending cell check using misleading error message (bugreport:2592, since r11572 and r14724, related r11580). [Ai4rei]
* Fixed removing item scripts through script command *setitemscript not working the way it is stated in script_commands.txt (related r9831). [Ai4rei]
2011/11/19
* Fixed wrong damage numbers being displayed when the damage source was disguised (bugreport:5093, since r14979). [Ai4rei]
2011/11/17
* Added a check to WFIFOSET to detect zero-length 'sets' of packets, that could cause memory corruption (through code after WFIFOHEAD(fd,packet_len(cmd)) where the length is 0). [Ai4rei]
2011/11/16
* Fixed natural expiration of GM mute printing the unmute message twice (since r12169). [Ai4rei]
2011/11/12
* Fixed npc class HIDDEN_WARP_NPC (139) being sent to the client, causing client crashes in poring war. It's a server-side "sprite" only. [Ai4rei]
- Updated Aegis NPC ID constants from current npcidentity.lub (569~603).
- Reintroduced HIDDEN_WARP_NPC script constant, which was removed by accident (since r14679).
2011/11/03
* Organized items in VS2010 projects into groups like in other projects (follow up to r14562). [Ai4rei]
2011/10/28
* Random documentation of database files. [Ai4rei]
* Fixed db/packet_db.txt reading not checking for max. amount of positions. [Ai4rei]
* Introduced MAX_GUILD_SKILL_REQUIRE to fix inconsistency in amount of prereq. guild skills.
2011/10/26
* Fixed a mistake in RID description in doc/script_commands.txt (since r2402). [Ai4rei]
2011/10/23
* Revised packets related to auction system. [Ai4rei]
- Added packet documentation and corrected existing one.
- Removed an impossible condition in clif_parse_Auction_setitem (since r12301).
- Updated backet db definitions and removed a duplicate entry (entries from older packet versions carry over to newer).
2011/10/17
* Remove 'hack code' in party_member_added causing crashes since r14968. (bugreport:5069) [FlavioJS]
2011/10/16
* Added support for new act/damage packet 0x2e1 (ZC_NOTIFY_ACT2) for clients 2007-11-13Sakexe and newer. [Ai4rei]
* Added a message indicating how many concurrent connections the server was compiled to support. [Ai4rei]
* Added field for the change slot feature to character select list packet for 2011-09-28aRagexeRE and newer. [Ai4rei]
* Changed function-like macros into inline functions where it seemed appropriate (topic:264007). [Ai4rei]
* Fixed public/guild chat message packets sending strings without zero-termination causing recent clients to display trailing junk on such messages (bugreport:5068). [Ai4rei]
- Changed memcpy to safestrncpy in message packets where overlong messages are truncated (thus loose zero-termination).
- Replaced dynamic allocation in clif_guild_message with buffer from stack.
- Fixed clif_disp_message not checking whether the message fits into provided buffer.
2011/10/15
* Some readme clean-ups (related r14711). [Ai4rei]
- Normalized whitespace and made the html files validate properly.
- Moved faq-content content to faq.
2011/10/10
* Add correct reply when player invited to party isn't found. [FlavioJS]
2011/10/09
* Rework some party code. [FlavioJS]
- add leader argument to party_fill_member
- add party_getmemberid
- add requester char_id to packets 0x3021 and 0x3821 (party info)
- diff members when replacing party info
- remove fixup all-player-iteration when receiving a party for the first time
- send 'party info' before 'party created'
- send 'party info' before 'party member added'
- update empty party_id when checking the player of a party
2011/10/07
* Remove fds from the shortlist before processing. [FlavioJS]
2011/09/18
* 14961 Applied map flag update patch provided by Daegaladh. Will mess with custom restricted items.
- Adds a reset mapflag which is checked when using the Neuralizer.
- Syncronizes the item_noequip_db bitmasks with with skill_nocast_db.
- Updates mapflags, and both skills and items which are restricted.
2011/09/18
* Fixed CR_SLIMPITCHER passing item requirement index to itemdb_search when used by a monster (bugreport:5021, since r6791). [Ai4rei]
2011/09/17
* Rental items no longer expire in cart and storage. The packet does not support this and rentals cannot be put in on official either (since r14082, related r14083). [Ai4rei]
- Corrected packet 0x299 (ZC_CASH_ITEM_DELETE) missing inventory index field (since r13370).
* Fixed missing edits for cash shop support for clients 2007-07-10aSakexe and older (follow up to r14932). [Ai4rei]
2011/09/08
* Fix C++ compilation issues. [FlavioJS]
2011/09/05
* Add consistency checks to the shortlist. [FlavioJS]
* Restrict intif_quest_save to sql only. txt char-server doesn't support the packet and disconnects the map-server.
2011/09/02
* Fixed @reloadmobdb wiping out monster spawn information. [Skotlex]
2011/08/30
* Corrected SQL saving so that the server won't update the 'saved' data if there is an SQL error. It should fix possible dupes and other data synch issues when the SQL server is temporarily down during save. [Skotlex]
2011/08/23
* Rewrote the combo logic. Now it uses packet 0x7e1 to signal skill state changes rather than resending the whole skill list. [Skotlex]
2011/08/21
* Fixed monsters above Lv99 displaying a Lv99 aura (bugreport:3986). [Ai4rei]
- The server no longer caps the level sent to the client by default.
- Servers that require the aura to be displayed at a level different from lv99, either have to alter the client or adjust the 'client_limit_unit_lv' setting.
2011/08/20
* Added quick validation of guild emblems' bitmap format to prevent forged emblems, that cause the client to crash, from being accepted (thx to sinya for a sample). [Ai4rei]
2011/08/16
* Added -fno-strict-aliasing detection to configure.in (-fstrict-aliasing is added through -O2), since the code is not aliasing safe and causes warnings with gcc. [Ai4rei]
- This also fixes a missing line in the pre-built configure script (since r14870).
2011/08/11
* Fixed bonuses bAddMonsterDropItem and bAddMonsterDropItemGroup (which broke after bAddClassDropItem was added). [Skotlex]
2011/08/10
* Added support for cash shop packets without kafra points for clients 2007-07-10aSakexe and older (bugreport:4701, related r10888 and r11548). [Ai4rei]
* Added sending a dummy 0x08b9 packet (PIN auth system) in the char-server, required to support clients from this year. [Skotlex]
* Updated unitwarp so that an id of "0" causes the script's rid to be warped. This allows OnTouchNPC scripts to warp the monster. [Skotlex]
* Updated @warp/@jump commands so that when an invalid tile is specified, a nearby cell is chosen.
2011/08/06
* Added missing fields to guild belong info packet 0x16c (ZC_UPDATE_GDID). [Ai4rei]
2011/07/31
* Fixed quest saving checking only the first 3 objectives for changes regardless of MAX_QUEST_OBJECTIVES (follow up to r14800, since r13973). [Ai4rei]
2011/07/22
* CMake: Added options BUILD_TXT_SERVERS, BUILD_SQL_SERVERS, BUILD_MAPCACHE. [FlavioJS]
2011/07/21
* CMake: Only install template files if they don't already exist. [FlavioJS]
* CMake: Added plugin targets.
* CMake: Added options BUILD_* to build the converters and individual plugins. (default=OFF)
* CMake: Added option WITH_CPACK for package creation. (default=ON)
2011/07/20
* Made GCOLLECT use it's debug functions. [FlavioJS]
* Turned off garbage collection for GCOLLECT since there's nothing to do with explicit frees.
* Added malloc_verify_ptr/malloc_usage code for all memory libraries.
* Added malloc_memory_check for debug purposes, tests memory for errors and memory leaks.
* Added explicit memory check on malloc_final.
2011/07/19
* Made NO_MEMMGR only be set as a default value, allowing for simultaneous use with the memory libraries. [FlavioJS]
* Moved memory library selection to malloc.c to avoid poisoning the namespace of the rest of the code.
* Removed BCHECK code since it's uneeded. (bcheck is an external batch tool that runs on top of the dbx debugger)
* Fixed GCOLLECT usage. (missing init and final memory leak check)
* Fixed DMALLOC usage. (missing options on CYGWIN and verify memory)
* Renamed malloc_verify to malloc_verify_ptr to avoid conflict with DMALLOC.
* Changed itemtype from inline to static inline to avoid error with the SunOS compiler.
* CMake: added option ENABLE_MEMMGR. (builtin memory manager)
* CMake: added option ENABLE_MEMORY. (memory library)
* CMake: added option ENABLE_EXTRA_DEBUG_CODE.
* CMake: added option ENABLE_PROFILER.
2011/07/15
* Changed the warning message of when setrlimit fails to be more explicit. [FlavioJS]
* CMake: added tests for big endian, typecast to union and monotonic clock.
* CMake: added 'have function' tests for setrlimit, strnlen, getpid and gettid.
* CMake: added option ENABLE_RDTSC.
2011/07/12
* CMake: set project language to C, added module FindFunctionLibrary, added search for dl library. (tested with debian-wheezy-i386) [FlavioJS]
* CMake: added search for math.h, added search for socket/nsl library. (tested with Solaris-201011-x86)
* Added missing include to socket.c.
* CMake: added search for ws2_32 library. (tested with MinGW/MSYS)
* Added missing pcre library for MinGW.
2011/07/11
* Rev. 14901 Added bonus3 bAddClassDropItem, care of Epoque. [L0ne_W0lf]
2011/07/10
* Temporary fix for bugreport:4961 (unintended conversion from signed to unsigned). [FlavioJS]
* CMake: lowered required version to 2.8.3 and moved custom cmake modules to 3rdparty/cmake.
* Changed limit definitions used in WBUF* and WFIFO* to the intended fixed size alternatives.
* CMake: added txt-converter targets, added warning for 64bit, added list of available targets.
2011/07/09
* Added script command 'getmercinfo' for retrieving information about a mercenary of an online character. [Ai4rei]
* CMake: added search for math library, made CPack existence optional, updated the search for mysqlclient and corrected misspelled variables (tested with FreeBSD-8.2-i386) [FlavioJS]
* Removed duplicate entries for Gunslinger and Ninja in msg_athena.conf (since r5506). [Ai4rei]
2011/07/07
* Replaced compress/uncompress inline code (encode_zip/decode_zip) with the respective zlib library calls while keeping 3rdparty calls inside common code (follow up to r14888, related r14808). [Ai4rei]
2011/07/06
* Changed grfio.c include order and moved zlib include from the header to the source. [FlavioJS]
* Merged decode_zip/encode_zip from eapp's grfio to replace our direct use of zlib's uncompress/compress.
* Fixed strict-aliasing warning in mapcache's GetFloat.
* CMake: src/common builds static libraries common_base/common_sql, that are used as dependencies by the other targets.
* CMake: normalized variable names, added ability to create a package/installer.
2011/07/05
* CMake: split txt and sql variants of login-server and map-server. [FlavioJS]
2011/07/04
* Fixed 'strnlen' still causing warnings in db.c on Debian (follow up to r14855). [Ai4rei]
2011/07/03
* Corrected npcdb_checkid to exclude border constants 400 (JT_NEW_NPC_START) and 1000 (JT_MON_BEGIN) (since r4425 and r12025, related r4537). [Ai4rei]
2011/07/02
* Fixed minor stuff in login/char converter VS6 project files (since r14858). [Ai4rei]
* More instancing updates. [Ai4rei]
- Improved instance_id validity checking.
- Fixed instance name being copied with memcpy rather than safestrncpy (since r13901).
- Removed unused instance data field 'progress_timeoutval' (since r13901).
* Random updates to instance system. [Ai4rei]
- Introduced a constant for instance name length.
- Corrected comments related to instance packets 0x2cb (ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO) and 0x2ce (ZC_MEMORIALDUNGEON_NOTIFY).
- Moved instance finalization out of map.c into instance.c
2011/07/01
* CMake: marked executables as different components and other miscellaneous changes. [FlavioJS]
2011/06/29
* Added experimental support for CMake. (for now: basic build, no extras, only tested with VS10 and cygwin) [FlavioJS]
2011/06/27
* Added common/random and 3rdparty/mt19937ar to project files, makefiles and configure script. [FlavioJS]
2011/06/26
* Fixed a signed literal being assigned to an unsigned variable and other minor cleanups in malloc (bugreport:4765). [Ai4rei]
* Fixed @mobinfo displaying mvp rewards with 'AegisName' although normal drops use 'Name' item db column (bugreport:4981, follow up to r6346). [Ai4rei]
* Fixed quest index memory corruption when adding new quests (since r14039, bugreport:4982) [ultramage]
2011/06/25
* Added Mersenne Twister MT19937 as a random number generator. [FlavioJS]
2011/06/23
* Made chrif_save always call pc_makesavestatus. (no reason to prevent the call, and was interfering with multi map-server; fixes bugreport:1400) [FlavioJS]
2011/06/22
* Plagiarized skills are now removed on jobchange (bugreport:4973) [ultramage]
2011/06/19
* Fixed various sorts of issues with VS6 project files (since r6929, follow up to r14466 and r14638). [Ai4rei]
- Debug configuration was missing and release had _DEBUG defined (indicates debug configuration).
- Login-server (SQL) defined PACKETVER=6 (overrides mmo.h).
- Warning Level was 2, which hides a lot of actual errors.
- Added projects for mapcache and TXT converter.
- Removed references unneeded/obsolete libraries/source files.
2011/06/18
* Fixed using @refresh while having vending or buyingstore open would stuck the character (bugreport:156 , since r1307). [Ai4rei]
* Fixed missing strlib.h include for compilers without own 'strnlen' implementation (since r14853). [Ai4rei]
2011/06/16
* Slight speedup on most strdb operations [ultramage]
* Fixed DBMap's db_dup_key to allocate only as much as necessary (bugreport:4969) [ultramage]
* Fixed char-converter not being able to compile due to both char.h being included. (caused by last commit) [FlavioJS]
* Merges from charmerge:
- Added DBMap::exists. (r14090)
- Added sv_parse_next, a stepped version of sv_parse (delim-separated parser). (r14100 r14104)
- Added missing fd check to do_close. (r14145)
- Normalized, refactored and restructured some code (in preparation for shutdown/reconnect code). (r14145 r14150)
- Changed the char select request code to allow the char-server to reject it. (player in map-server trying to go to char select) (r14150)
- Added shutdown support to the servers. (incomplete) (r14152)
2011/06/13
* Fixed pet's equip would visually disappear when it's walk speed was changed while it was standing (related r14838). [Ai4rei]
2011/06/11
* Added support for new skill usage notification packet 0x7fb (ZC_USESKILL_ACK2). [Ai4rei]
* Fixed party invite packet 0xfe (ZC_REQ_JOIN_GROUP) using account id of the inviter rather than party id. [Ai4rei]
- Added support for new party invite packet 0x2c6 (ZC_PARTY_JOIN_REQ), introduction date guessed.
2011/06/02
* Fixed a crash in clif_parse_FriendsListAdd, when a player is added that is not online (bugreport:4947, since r14835). [Ai4rei]
2011/05/31
* Fixed a typo in buyingstore_create. [Inkfish]
2011/05/30
* Fixed script command 'warpguild' looking for an attached player even when it is not needed (bugreport:4941, since r2674, related r14840). [Ai4rei]
- Documented special map names recognized by the command.
* Fixed script command 'warpparty' looking for an attached player even when it is not needed (bugreport:4359, since r14311, related r2674 and r5592). [Ai4rei]
- This also resolves an issue, where the command fails when the attached player is on a map that has noreturn or nowarpto mapflags set.
2011/05/29
* Fixed pets' speed would not get updated to normal, after they finished running to their owner (bugreport:1304). [Ai4rei]
* Fixed NULL pointer in status_change_timer (SC_BERSERK), when the HP subtraction causes the HP drop below 100, but does not exceed remaining HP (bugreport:1150, related r8705, r11786 and r12061). [Ai4rei]
* Updated script commands 'npcshopitem', 'npcshopadditem' and 'npcshopdelitem' to support cashshops as well (bugreport:4928). [Ai4rei]
* Fixed players could add themselves to their friendslist through their clones or WPE (bugreport:4909). [Ai4rei]
* Fixed bonus 'bHPDrainValue' on left hand would work as right hand bonus, when specified with 'bonus' rather than 'bonus2' (bugreport:4939, since r6221). [Ai4rei]
2011/05/23
* Changed enumerating defines into enumerations (related topic:264007). [Ai4rei]
- Minor fixups on few macros.
2011/05/17
* Fixed Super Novices could not be adopted (bugreport:4907, since r12389). [Ai4rei]
* Improved error reporting during monster database and spawn data reading. [Ai4rei]
2011/05/15
* Extracted calculations of the number of status points PC gets when leveling up to a function. [Gepard]
* Removed status point calculations (duplicate) from `pc_resetstate` function. It is now handled by `pc_need_status_point`. [Gepard]
* Merged pcdb_checkid update from renewal [14810/branches/renewal]. [Ai4rei]
2011/05/14
* Moved bitfield 'boss' inside 'spawn_data' and 'mob_data' into the respective state struct (from r13813, follow up to r14795). [Ai4rei]
* Some NPC event related cleaning. [Ai4rei]
- Made event label deprecation message a warning rather than an error, as the scripts still work regardless of whether '::On' is used or not (since r6592).
- Introduced constant EVENT_NAME_LENGTH (51) for all event name struct fields to eliminate size inconsistency across all objects (was 50 and 51).
- Fixed event names, that are considered special attributes, were not wiped when the value was 0 (since r5707).
* Removed impossible condition in mob_parse_dataset as spawn_data::eventname was/is the same size as mob_data::npc_event (since r5707). [Ai4rei]
* Fixed map-server printing deprecation message, when monster event label was used as transport for special attributes (small/large monsters etc.) in script command 'monster' and related commands (bugreport:1274, since r6592, related r5707). [Ai4rei]
2011/05/13
* Random accumulated bits and pieces. [Ai4rei]
- Added checks/warnings to pc_paycash and pc_getcash (follow up to r12264).
- Added missing packet_db.txt and packet length table entries for packet 0x0859 (follow up to r14799).
- Added set of map_id2xx wrappers for map_id2bl for most common map objects, which return NULL when the bl-type is not the expected one (also updated map_id2nd to behave this way).
- Fixed missing ',' in mob_skill_db.txt example (follow up to r14270).
- Updated mapcache with recent maps (up to que_lhz).
- Functions 'msg_txt' and 'job_name' now return a const pointer.
2011/05/08
* Script command 'query_logsql' now throws a warning when SQL logs are disabled (related r11892). [Ai4rei]
* Updated/revised description of instance-related script commands (bugreport:4880). [Ai4rei]
- Fixed 'instance_create' would return -4 (party already instancing) when the requested party was not found.
- 'instance_create' return value -2 now means 'party not found' rather than 'missing parameter'.
2011/05/01
* Removed functions 'decode_zip' (ancient) and 'encode_zip' (from r824) from grfio. These were outdated copies of zlib's 'uncompress' and 'compress' respectively (related r1530 and r5152). [Ai4rei]
* Removed auto-add feature from mapindex code, as map indexes are used for save data, thus need to be constant across server starts (since r4726). [Ai4rei]
2011/04/28
* Fixed @makehomun not checking for existing homunculus properly and thus allowing to create a homunculus when one is already present but inactive (bugreport:4879, since r10272). [Ai4rei]
* Updated packet 0x163 (ZC_BAN_LIST) to reflect change in packet layout introduced with 2010-08-03aRagexeRE (bugreport:4881, follow up to r14718). [Ai4rei]
* Fixed formatted broadcast messages not working with 2010-11-24aRagexeRE and later (bugreport:4872, since r14120). [Ai4rei]
2011/04/27
* Fixed description for script command 'itemheal' claiming, that this command is responsible for potion visual effects which it is not (item-use causes the client to display these) (since r2397). [Ai4rei]
2011/04/21
* Extended debugging code for bugreport:3504 (related r14599). [Ai4rei]
2011/04/20
* Fixed quest_check checking exactly 3 quest objectives instead of MAX_QUEST_OBJECTIVES (since r13959). [Gepard]
2011/04/17
* Updated packet for the view players' equip feature for 2010-11-24aRagexeRE+ and made it support robes (follow up to r14797). [Ai4rei]
- Fixed spawn/walking packets using wrong variable for shifting buffer reference (since r14797).
* Fixed char-server missing some WFIFOHEAD (partially due to r10909 being reverted by r11245, follow up to r9307 and r14618). [Ai4rei]
2011/04/16
* Added support for visible garments/robes. [Ai4rei]
- For SQL apply upgrade_svn14797.sql to upgrade table `char`; for TXT no action is necessary, as it upgrades itself.
- This also fixes NPCs not being visible with clients 2011-01-11aRagexeRE+ (bugreport:4865).
* Updated field `weapon` in table `char` to default to '0' (bare-handed) rather than '1' (knife) (follow up to r11696). [Ai4rei]
- Apply upgrade_svn14796.sql to reflect the change on existing setups.
* Some cleanups related to player and monster states. [Ai4rei]
- Moved user_font and bg_id out of states as they are data, not states.
- Reordered members of state structs so that bitfields are packed together (less memory gets wasted).
- Other insignificant code tweaks.
2011/04/13
* Added missing 0x369 packet.(info provided by Yommy) [Inkfish]
2011/04/10
* Added support for clients 2010-11-23aRagexeRE+ and 2011-01-11aRagexeRE+. [Ai4rei]
- Servers that used packet db version 'default' until now need to be updated to use version '25'.
* Fixed switching between musical weapons would cancel ongoing dance skills (bugreport:4756, since r3538). [Ai4rei]
* Fixed @changegm not updating guild window interface after changing the guild leader (bugreport:408, since r2622, related r3185). [Ai4rei]
2011/04/09
* Moved duel code into a separate file. [Ai4rei]
* Added *.opt (VS6 workspace cache file) to svn:ignore. [Ai4rei]
* Changed pc_jobid2mapid to use a 1:1 mapping which is less prone to errors and faster than the previous method (follow up to r14755). [Ai4rei]
2011/04/08
* Fixed memory corruption when amount of players online approached FD_SETSIZE (topic:262388, bugreport:4856, since 11897). [Ai4rei]
* Fixed a compile error when socket send shortlists are disabled (s->eof instead of s->flag.eof) (follow up to r11930). [Ai4rei]
2011/04/07
* Fixed monster skill associated emotions were always ignored when having less than three digits ( = all ) (bugreport:4842). [Ai4rei]
* Throwing around with packet updates. [Ai4rei]
- Clarified the description for role-change chatroom packets 0xe0 (CZ_REQ_ROLE_CHANGE) and 0xe1 (ZC_ROLE_CHANGE).
- Fixed auction window opening packet 0x25f (ZC_AUCTION_WINDOWS) had also a close button packet attached (since r12270).
- Fixed auction search results packet 0x252 (ZC_AUCTION_ITEM_REQ_SEARCH) obtaining only a WFIFO buffer of 20 bytes, regardless of the amount of results (since r12301).
- Fixed auction search result item type was .W instead of .L, which also eliminates the unknown field after it (since r12301).
- Fixed an odd packet in clif_Auction_close, which is supposed to have layout of 0x25e, while using 0x25d as packet type (since r12323).
- Resolved unconfirmed fields in clif_party_show_picker (follow up to r13987).
- Updated packet layouts for auction in packet_db.
2011/04/06
* Resolved some pc_setparam issues. [Ai4rei]
- Fixed HP/MaxHP/SP/MaxSP could be set to arbitrary values, thus disregarding configuration limits and causing client crashes on certain conditions (bugreport:4177).
- Fixed HP/SP not getting adjusted to MaxHP/MaxSP respectively, when the max. value is reduced below the value of the cur. value.
- Fixed STR/AGI/VIT/INT/DEX/LUK values could be set beyond character's max. stat limit.
- Fixed Gender not being limited to male/female.
* Fixed script command 'warpwaitingpc' not checking, whether or not the player still has required amount of Zeny (since r14765). [Ai4rei]
- Fixed warping through 'warpwaitingpc' to savepoint would take the fee twice ( missing {} ).
- Fixed random warping through 'warpwaitingpc' would not take away fee Zeny at all.
* STABLE IS NOW THE OLD TRUNK. THE NEW TRUNK IS NOW FOR BLEEDING-EDGE AND/OR UNTESTED CHANGES. [Paradox924X]
2011/04/05
* Moved detection of monotonic clock support to the configure script, which also checks, whether or not it actually works (bugreport:1003, related r11912 and r11983). [Ai4rei]
* Paying and obtaining Zeny (pc_payzeny/pc_getzeny) no longer silently reverses the effect for negative amounts, that is, getting Zeny instead of paying up and vice versa (since r8273, related r8072). [Ai4rei]
2011/03/29
* Added TargetName values to VS2010 project files to prevent MSB8012 warnings (follow-up to r14562). [Gepard]
2011/03/28
* Prevented SC_EXPBOOST, SC_JEXPBOOST and SC_ITEMBOOST (used by Battle Manuals and Bubble Gum) from being dispelled by Gospel. (bugreport:4836) [Paradox924X]
2011/03/27
* Added separate character state for vending (like for buyingstore), instead of vender_id != 0 (follow up to r14682, related r14713). [Ai4rei]
* Added support for tracking state of client command /effect through packet 0x21d (CZ_LESSEFFECT). [Ai4rei]
2011/03/25
* Fixed battlegrounds chat packet 0x2dc (ZC_BATTLEFIELD_CHAT) being sent with the battleground id rather than the account id of the talking player (since r13593). [Ai4rei]
2011/03/22
* Documentation updates and fixes. [Ai4rei]
- Added documentation for script commands 'bg_getareausers' and 'bg_get_data' (bugreport:3034).
- Fixed documentation for script command 'waitingroom2bg_single' (bugreport:4770, since r14373).
- Documented optional parameter 'npc name' for script command 'waitingroom2bg'.
* Fixed possible client crash when monster is class-changing to mob_avail'd one. [Gepard]
2011/03/20
* Random accumulated tweaks and fixes. [Ai4rei]
- Added a error message to npc_enable, to spot disablenpc/enablenpc/hideoffnpc/hideonnpc on non-existing NPCs (related r14750).
- Replaced inlined npc_name2id code with calls to npc_name2id.
- Open Buying Store skill is now exempted from noskill mapflag like Vending as well (bugreport:4815, follow up to r14713).
- Fixed signed constant being returned as unsigned value in get_percentage (bugreport:4765, since r12679).
- Replaced strlen checks, which checked whether or not a string is empty, with first-byte checks.
- Fixed enabling 'fakename' not clearing party and guild name and cleaned up atcommand 'fakename' code.
- Cleaned up party/guild name code in clif_charnameack (follow up to r14737).
* Fixed battleground kvm02 and kvm03 scripts referring to NPCs in the custom battleground kvm (bugreport:4812, since r14369). [Ai4rei]
- Fixed kvm02 printing different amount of points, than it actually gives.
* Updates the to configure script. [Ai4rei]
- Added check, whether or not '-Wno-pointer-sign' can actually be used (caused warnings with g++).
- Math library is no longer considered required, when math functions are available without it (made configure fail on platforms, where no separate math library is present).
2011/03/19
* Removed leftovers of old charcommand config (follow-up to r13403). [Gepard]
* Added check to ensure character `rename` status will be saved if changed. [Gepard]
* Fixed Beast Strafing (HT_POWER) damage formula provided by Playtester (bugreport:4675, since r4392). [Gepard]
2011/03/15
* Fixed pet database reading displaying wrong amount of read entries per file (bugreport:4797). [Ai4rei]
* Fixed canceling item appraisal window (Magnifier and Identify) would prevent players from using any follow up skills (bugreport:4809, since r14545). [Ai4rei]
* Fixed monsters getting warped when stepping on an NPC warp when at least one of the bits of setting 'mob_warp' was set (bugreport:4766, since r12757). [Ai4rei]
2011/03/14
* Fixed a typo in npc_touchnext_areanpc (NPC's map being used as it's x-coordinate), which caused ::OnTouch_ invokation to affect different area than intended (bugreport:4814, since r14097). [Ai4rei]
2011/03/13
* Script commands documentation updates. [Ai4rei]
- Added missing description for script command 'cooking' provided by Masao (bugreport:3372, follow up to r13628).
- Fixed wrong item levels being listed in the description to script command 'produce'.
2011/03/08
* Fixed @item2 and script command 'getitem2' not taking MAX_REFINE define into consideration (bugreport:4804). [Ai4rei]
* Fixed @str/@agi/@vit/@int/@dex/@luk commands setting a stat to 0 (rather than 1), when exact amount is subtracted (bugreport:4803, since r14493). [Ai4rei]
2011/03/07
* Cleaned up packet dumping code. [Ai4rei]
- Replaced utils function 'dump' with 'WriteDump' (files) and 'ShowDump' (console), and used those to replace inlined code in clif (related r10947).
- Fixed clif_parse_debug not printing anything, when it is used with a variable length packet.
- Added ability to dump invalid packets through define DUMP_INVALID_PACKET (clif.c).
- Removed code to dump all incoming packets, as that can be achieved with the DUMP_UNKNOWN_PACKET code as well when needed (from r1009).
2011/03/06
* Implemented search store info system (aka. vending and buying store search) together with related items. [Ai4rei]
- Requires 2010-08-03aRagexeRE or later and can be disabled in 'conf/battle/feature.conf'.
2011/03/05
* Fixed possible crash in script_reportdata, when a script string becomes NULL for whatever reason. [Ai4rei]
2011/03/04
* Fixed recursive map_quit invocation when a buying store is auto-closed (login when @autotrade/logout) (bugreport:4796, since r14724). [Ai4rei]
2011/03/02
* Updates to the super novice's guardian angel prayer effect and related handling code. [Ai4rei]
- Removed the server-side chat tracking code (since r492) responsible for invoking the effect, since this functionality is handled by the client (invocation also processed by the server). This also fixes the missing 7 lines requirement on the server-side handling (bugreport:4786).
- Updated the checks in the client-invoked code part and documented the packet.
- Now only the prayer in client-side data\msgstringtable.txt (lines 791~794) applies.
- The prayer is no longer blocked by noskill-restrictions.
- Exp at 0% and 100% no longer causes the effect to trigger.
- Fixed the exp percent check to also check one digit after the decimal point (requirement is 10.0% not 10%).
2011/03/01
* Fixed packet 0x839 (new guild member expel notification) was expected on clients 2010-06-08aRagexeRE~2010-07-30aRagexeRE, although those do not implement it (bugreport:4789, since r14718, related r14368). [Ai4rei]
2011/02/26
* Reduced MAX_GUILD_STORAGE from 1000 to 600 (like MAX_STORAGE), since storage with 1000 items causes too large packets that are dropped then, which in turn gives the impression that the items are lost (follow up to r14503). [Ai4rei]
- Note: When updating an existing server, keep in mind that excess items in guild storage get lost, when MAX_GUILD_STORAGE is reduced.
2011/02/23
* Updates to various custom stuff that buying stores might/are expected to support (follow up to r14713). [Ai4rei]
- Buying store no longer works on novending maps/cells (bugreport:4778).
- MANNER_NOROOM mute flag now affects buying stores as well (like vending).
- Enabled @autotrade for buying stores.
* Fixed whispering to NPCs (::OnWhisperGlobal) not working for NPCs whose unique name is different from the display name (bugreport:4776, since r2624). [Ai4rei]
2011/02/20
* Fixed SP regen not stopping when Maximize Power (BS_MAXIMIZE) is in effect. [Ai4rei]
* Fixed missing </File> end-tag in VC8 map-server sql project file (since r14713). [Ai4rei]
2011/02/19
* Updated guild expel notification packet 0x15c (ZC_ACK_BAN_GUILD) for clients 2010-06-08aRagexeRE and newer to 0x839. [Ai4rei]
* Removed '.txt' from log config info messages, as the values already have an extension (since r197, related r196). [Ai4rei]
* Fixed gcc compile warnings in char-server and console plug-in (bugreport:4771, topic:208746, since r9631 and r14700). [Ai4rei]
* Fixed buying stores could be opened and sold to regardless of distance between seller and buyer (since r14713). [Ai4rei]
* Fixed 'feature.conf' not getting loaded and a typo buying store feature setting name (follow up to r14713). [Ai4rei]
* Implemented buying store system (aka. reverse vending, purchase shop) together with related skill and items, without NPCs. [Ai4rei]
- For SQL apply upgrade_svn14713_log.sql to upgrade tables `picklog` and `zenylog`; for TXT no action is necessary.
- Requires 2010-04-20aRagexeRE or later and can be disabled in 'conf/battle/feature.conf'.
2011/02/17
* Merged enumeration update from renewal [14699/branches/renewal] for a future commit. [Ai4rei]
2011/02/16
* Updated configure/make scripts to resolve various issues. [Ai4rei]
- Added detection whether or not -fPIC switch is required when compiling shared objects (plug-ins) to resolve compile issues on 64-bit platforms (topic:208746).
- Native 'strnlen' implementations are now detected and disable the one in strlib (bugreport:1261).
- Define 'DB_MANUAL_CAST_TO_UNION' is now set when necessary (bugreport:1261).
2011/02/15
* Added support for client GM command /check (related r12076). [Ai4rei]
2011/02/14
* Fixed drop list of map flag 'pvp_nightmaredrop' not getting cleared upon @reloadscript (bugreport:4282, follow up to r14668). [Ai4rei]
* Fixed GMs with GM level equal to 'lowest_gm_level' being treated as normal players in 'gm_can_party' check (bugreport:4162, since r13143). [Ai4rei]
* Fixed a crash when script 'npctalk' is given too long string (bugreport:4759, related r2145). [Ai4rei]
- Fixed related buffer overflows in message related clif functions (since r1182, r14270).
2011/02/09
* Fixed script command 'bpet' (Pet Incubator) displaying an empty egg list when attempting to hatch a pet while already having one out (bugreport:3313). [Ai4rei]
2011/02/08
* Moved script constant manipulation code into separate functions script_get_constant / script_set_constant. [Ai4rei]
- Added protection against overwriting existing names in script constant creation code.
2011/02/07
* Added support for new delayed character deletion. [Ai4rei]
- Asks for birth date associated with the account and has a waiting time of 24 hours by default (setting).
- For SQL apply upgrade_svn14700.sql to upgrade table `char`; for TXT no action is necessary, as it upgrades itself.
- This completes support for clients 2010-08-03aRagexeRE and later.
* Updated login sql engine version, missed during `birthdate` addition (follow up to r14672).
* Updates to various client packets. [Ai4rei]
- Renamed clif_set0199 and clif_send0199 to clif_map_property and clif_map_property_mapall respectively and added an enumeration for currently known map properties.
- Renamed clif_set01D6 to clif_map_type and added an enumeration for currently known map types.
- Resolved undocumented field of packet 0x22e (ZC_PROPERTY_HOMUN) to attack range.
- Fixed aspd field of packet 0xbd (ZC_STATUS) getting filled with karma value.
- Removed commented clif_skillinfo (duplicate of clif_item_skill).
- Other minor comment updates and 'FIXME' assignments.
2011/02/06
* Replaced 'nameid < 500' checks in script commands 'countitem', 'countitem2' and 'autoequip' with stricter ones. [Ai4rei]
- This should stop meaningless itemdb_search warnings from said commands when an invalid item id is used.
2011/02/05
* Fixed NPCs with closing parenthesis in their name could not be duplicated (bugreport:3235). [Ai4rei]
* Fixed closing 'switch' curly not causing script EOL processing to trigger, leading to the script line after the switch being handled as belonging to the curly-less statement block (bugreport:3273, since r3422). [Ai4rei]
* Removed unnecessary getlogincount.pl, mapcheck.sh and mapchecker.sh tools (topic:262934). [Ai4rei]
2011/02/02
* Fixed non-windows 'findfile' utils function missing a 'closedir' call (bugreport:4739, since r1629). [Ai4rei]
2011/01/31
* Inventory and Cart item arrays are no longer getting compacted on each log-in/teleport/warp. [Ai4rei]
- This also resolves yet another issue caused by r14685 (bugreport:2604).
* Various accumulated cleanups and fixes. [Ai4rei]
- Improved the compile speed for files which include common/socket.h on windows builds (related r10471).
- Moved FIFOSIZE_SERVERLINK define from common/mmo.h to common/socket.h (since it is a server connection FIFO size setting).
- Fixed script command 'areamobuseskill' canceling monster's skill cast before it determined it's new target, which could be 'none' (bugreport:3272, since r13897).
- Added a protection against attempts to read an empty backup / write to a full backup in skill_dance_switch as per TODO from r11347.
* Fixed faulty WFIFO reallocation causing memory exhaustion (bugreport:4737, since r1816, related r11503, r11571, r11886 and r12232). [Ai4rei]
2011/01/30
* Fixed equipped items' bonus no longer working after log-in until next status recalc, due to missing pc_setequipindex which was previously called by pc_checkitem (bugreport:2604, since r14685). [Ai4rei]
2011/01/29
* Removed @aw/@away which duplicates and collides with client's /am (away message) (bugreport:1235, topic:163083, since r4351). [Ai4rei]
* Fixed a map-server crash when invalid items are deleted (option 'item_check') from a logging-in character (bugreport:2604). [Ai4rei]
- This removes the pc_checkitem call from pc_authok, as the check is done in clif_parse_LoadEndAck as well, after first status calc has taken place.
- Inventory list is now sent before pc_checkitem in clif_parse_LoadEndAck, so that deleted items do not show up as 'unknown item'.
2011/01/27
* Fixed @accept not checking, whether or not a duel is already full (bugreport:2740, since r4111). [Ai4rei]
* Resolving allow/deny IP rules not working (bugreport:2632). [Ai4rei]
- Fixed 'mask' being filled with 'ip' when standard mask was specified (since r9647).
- Fixed 'ip' and 'mask' (bit mask) being stored in wrong byte order (network order instead of host order) (since r10162).
2011/01/26
* Fixed buyers, that are currently in a vending shop could be fooled into buying an item at different price than they see by reopening the vending shop (bugreport:4728). [Ai4rei]
- This implements the official vending shop unique id handling (previously mistaken for char id), made compatible with packets before it's introduction (follow up to r14234).
2011/01/24
* Added documentation for undocumented bonuses (bugreport:4727, follow up to r302, r354, r485, r699, r928, r1116, r6221, r7982, r10031, r13596 and r14018). [Ai4rei]
2011/01/23
* Some cleaning here and there. [Ai4rei]
- Fixed a typo in basejob_baseclass_upper sample script (since r3893).
- Fixed (for sake of consistency) usage of 'sd' before corresponding nullpo check in party_invite (bugreport:2752).
- Fixed atcommand config reading would not cap level for charcommands, when using atcommand level as fallback (bugreport:2961, since r13409).
- Removed orphaned clif_mob_hp declaration from clif.h (bugreport:2788, since r2092).
- Removed unnecessary look-up in itemdb_available macro, as dummy_item is considered unavailable.
- Removed leftover shortlist linked-list struct (followup to r10507).
2011/01/19
* Fixed solo dance/star gladiator warm AoE no longer following the owner and cloaking wall rules no longer working (bugreport:4720, since r14671). [Ai4rei]
2011/01/16
* Fixed a map-server crash, when a script attempts to call a local function, which has only a forward declaration. Such functions now count as script parse error (bugreport:4009, since r3422). [Ai4rei]
* Fixed definitions of local functions would set a label reference, even when their name was already taken (follow up to r14600, since r3422).
2011/01/15
* Various accumulated insignificant fixes to documentation, examples and comments. [Ai4rei]
2011/01/14
* Added 'birthdate' field to account data. For SQL apply upgrade_svn14672.sql to upgrade table `login`; for TXT no action is necessary, as it upgrades itself. [Ai4rei]
- Control panel developers are encouraged to enable players to modify this value, as it is required for new character deletion (2010-08-03aRagexeRE and later, not yet implemented).
* Removed unconditional redundant status change checks before status_change_end calls (follow up to r12890). [Ai4rei]
* Replaced remaining occurences of '-1' with 'INVALID_TIMER', where appropriate (follow up to r12998). [Ai4rei]
* Removed 'gui' plug-in (support plug-in for 3rd party eAthena GUI front-ends) (topic:262934). [Ai4rei]
2011/01/13
* Fixed mapflags 'restricted', 'nocommand', 'bexp' and 'jexp' still not getting completely initialized upon @reloadscript (bugreport:4710, follow up to r14548). [Ai4rei]
* Removed ladmin (remote administration tool), all related support code and the checkversion.pl tool with it's support code, which was shared with ladmin (topic:262934, related bugreport:1147, bugreport:1889, r9408 and r9610). [Ai4rei]
* Fixed chrif-packet processing considering free/unused packet IDs incorrectly as variable length packets (-1 = variable length, 0 = disabled packet). [Ai4rei]
* Added support for creating account through the console-plugin on login-server (replaces ladmin functionality unavailable through atcommands). [Ai4rei]
* Reformatting and minor cleanups to console-plugin related code. [Ai4rei]
2011/01/10
* Fixed script command 'cleararray' setting 1 element more, than it is told to (bugreport:2047, since r12253). [Ai4rei]
- Fixed 'inaccessible element 127' issue in 'cleararray', 'setarray' (since r10813) and 'copyarray' (since r14608) script commands (bugreport:864, related r12253, follow up to r14608).
* Fixed monster level not getting updated in monster name (option 'show_mob_info'), when a monster levels up (option 'mobs_level_up') (follow up to r8644, related r187). [Ai4rei]
* Made script command 'charisalpha' always return 1 when 'isaplha' is true, rather than to return the return value of 'isalpha' which is only defined as zero/non-zero and can be different from 1 (bugreport:2024, related r2003). [Ai4rei]
2011/01/09
* Fixed packet_len entry for packet 0x289 (ZC_PC_CASH_POINT_UPDATE) not matching the actual size used in clif_cashshop_ack (bugreport:4701, since r14639, follow up to r12264). [Ai4rei]
2011/01/08
* Fixed script command 'progressbar' resuming fails on second invocation, when there was no script pause between the first and second call (bugreport:4698, since r14024). [Ai4rei]
* Fixed kill steal protection result in skill casting (unit_skilluse_id2) not getting evaluated (bugreport:1808, since r12203). [Ai4rei]
- Moved kill steal protection in skill casting to be only executed, after the actual target has been determined and validated (since r12203).
* Applied fix provided by Valaris to make /pvpinfo actually work. (bugreport:1785, since r1602). [Ai4rei]
- Filled-in missing packet fields and documented the packet. Note, that this command does not show anything outside of PvP maps (client-side limitation).
* Fixed @homlevel usage message stating, that deleveling is possible, although it is not (bugreport:1485, since r10272). [Ai4rei]
- The command now fails, if it is given a zero or negative value.
2011/01/07
* Fixed @alootid using 'autolootitem' (internal name) in it's usage message (bugreport:1445, since r12203). [Ai4rei]
2011/01/06
* Fixed script command 'deletearray' deleting incorrect amount of array elements from arrays with empty elements (bugreport:4628). [Ai4rei]
2011/01/05
* Fixed ends of statement blocks missing script EOL processing, thus causing 'next line' label (-) to misbehave in statement blocks without additional curly braces (bugreport:4417, since r3422). [Ai4rei]
2011/01/04
* Added support for removal of trailing comments to sv_readdb (bugreport:4680). [Ai4rei]
2011/01/01
* Fixed local files could not be aliased with resnametable.txt in grfio (bugreport:2203, since r5152). [Ai4rei]
* Cleanups to grfio. [Ai4rei]
- Replaced strncpy with safestrncpy (bugreport:3080).
- Ensured, that all local paths are normalized and work whether or not the data dir ends with '/'.
- Local files are no longer added to the GRF+alias file list (apparently served to cache file size, with no performance gain).
- Buffer for files is no longer allocated with 1024 extra bytes, but only 1 for zero-termination of text files.
* Updates to map cache generator tool. [Ai4rei]
- Removed unmaintained grfio library copy and made the tool use the one in /common instead (related r12726).
- Updated makefile to use compile options/libraries determined by configure (bugreport:1109).
- Fixed error messages from the tool and grfio library overlapping each other (bugreport:2403).
2010/12/31
* Pending trade requests no longer prevent a character from trading someone else instead (official). [Ai4rei]
- This fixes trade window displaying wrong name when attempting to deal multiple characters (bugreport:344).
2010/12/30
* Fixed improper use of itemdb_search. It does not return NULL but a dummy item, if the item id is invalid. [Ai4rei]
2010/12/29
* Made remaining csv databases (guild, castle, homunculus, itemdb, mercenary) use sv_readdb, where applicable (follow up to r14524, r14526 and r14532). [Ai4rei]
- Few databases remain unchanged, which have either a custom layout or are otherwise incompatible with sv_readdb.
* Collection of random insignificant changes. [Ai4rei]
- Added progress indication on map-server shutdown when objects are removed from maps, as it takes significant amount of time to complete.
- Moved ers_free in db_obj_vclear, so that the node pointer is not used for comparison after it has been freed.
- Some documentation of shop packets.
* Fixed 'console' plugin not working on Windows, due to NULL passed to CreateThread instead of required pointer to thread id variable. [Ai4rei]
- Fixed 'console' plugin causing delete_timer error when it fails to load, due to uninitialized variable.
* Renamed plugin.def to sample.def and added 'sample' plugin exports into it, as it's purpose is nothing than a sample right now.
- Also added .def files for 'gui' and 'pid' plugins as MSVC does not export everything automatically and missing event export cause the plugins silently failing.
- Added VS6, VS8 and VS9 projects for compiling plug-ins, which can be used on Windows.
* The plug-in system will now report, if it cannot import an event function.
2010/12/28
* Fixed char-server making assumptions about RFIFO data length in character deletion packet (since r10909). [Ai4rei]
* Fixed login-server discarding RFIFO data, when the length is 1 byte; minimum packet size is 2 bytes (since r5027).
- Fixed login-server not skipping packet 0x2728's data on failure (since r12043).
* Removed unmaintained and broken 'adduser' tool (topic:262284). [Ai4rei]
2010/12/27
* Fixed skill_can_produce_mix not checking, whether or not the produced goods can actually be stored (bugreport:4674). [Ai4rei]
2010/12/26
* Reverted r14565, as the database version is already properly commented in source and is overwritten upon first sync of account.txt anyway. [Ai4rei]
* Cleaned up script command checkweight. [Ai4rei]
- Replaced some code parts with calls to pc_checkadditem and pc_inventoryblank (follow up to r13735).
- Fixed item id not getting checked for validity properly.
* Moved MAX_AMOUNT check in pc_checkadditem to the top of the function, to prevent unnecessary inventory scan before it.
* Fixed opening other player's vending terminating currently running NPC conversation. Vending is now unavailable when talking to an NPC (bugreport:2208). [Ai4rei]
* Fixed vending not accepting 0 Zeny as sell price. The client asks for confirmation when you attempt to sell items at 0 Zeny (bugreport:2595, since r918 and r11344).
* Fixed items, that get dropped at 100% chance, being reported in @iteminfo as 'available in the shops only' (since/replaces r3482). [Ai4rei]
* Updated commands @delitem/#delitem. [Ai4rei]
- No longer deletes stackable items one by one (bugreport:1914).
- Fixed pets not getting deleted when a pet egg was deleted.
- Fixed outdated usage message (since r13403).
2010/12/25
* Fixed two-hand weapons not getting recognized as such upon equipping, causing respective one-hand weapon's base ASPD values being used instead (bugreport:4659, related r12599). [Ai4rei]
* Updated script commands delitem and delitem2. [Ai4rei]
- Items are now deleted only if there is enough of them (as per r14395, related r13368).
- Not equipped items are now actually prioritized over equipped ones (related r200).
- Fixed item id not getting checked for validity.
* Fixed a compile error in txt-converter-char caused by 'save_log' being declared by both SQL and TXT (bugreport:4671, since r14619). [Ai4rei]
* Made SQL char-server options 'chars_per_account' and 'char_del_level' work on TXT as well (follow up to r1063 and r8420). [Ai4rei]
2010/12/24
* Added support for new /remove and /recall packets for 2010-08-03aRagexeRE and newer. [Ai4rei]
* Synchronized TXT/SQL char-server code a bit. [Ai4rei]
* Fixes to char-server. [Ai4rei]
- Removed unnecessary #includes from TXT and synchronized them with SQL.
- Fixed TXT having start Zeny of 500 instead of 0 by default (follow up to r4409 and r8420).
- Fixed TXT using 1024 instead of NAME_LENGTH for 'unknown_char_name' (follow up to r2191).
- Fixed SQL potentionally attempting to disconnect a player for account_id == 0 in changesex packet.
- Fixed SQL looking for option 'db_path' in 'inter_athena.conf' instead of 'char_athena.conf'.
- Fixed char select not sending a reply packet, when selected character was not found.
- Made use of safestrncpy instead of strcpy, strncpy and memset for copying strings where appropriate.
- Removed unused function 'chardb_final' in TXT (since r4878).
- Removed unnecessary WFIFOHEAD in char deletion in SQL (since r11245, related r9307 and r10909).
2010/12/23
* Fixed server processing the sell list (deleting items and giving zeny) for script-controlled shops (OnSellItem), causing the controller script to fail (bugreport:4656, since r6557). [Ai4rei]
- This also makes the server first check the sell list and only continue, if all items can be processed, thus no longer causing incomplete deals and the need for client disconnection in such case (since r6557).
2010/12/22
* NPC shop buy list received from the client is now validated for scripted shops (OnBuyItem), before the control is transfered to the script, as well (bugreport:3680, since r5841, related r8525). [Ai4rei]
* Resolved random compiler warnings. [Ai4rei]
- Silenced pointer size mismatch gcc warning for variables passed to script_setarray_pc (bugreport:4661, since r14613).
* Fixed sql mapreg loading code specifying output buffer size for SqlStmt_BindColumn without zero-terminator, leading to truncations of variable names and/or their values when using the maximum length (bugreport:1939, since r11245). [Ai4rei]
2010/12/21
* Added script_setarray_pc for setting temporary character array variables outside of script.c without requiring them to use script-interal code (add_str and reference_uid). [Ai4rei]
- Applied script_setarray_pc to assignment of dynamic shop arrays (related r5841).
* Replaced in-place generation of uid of script array elements with reference_uid macro (follow up to r10813). [Ai4rei]
* Fixed dynamic shop arrays @bought_nameid, @bought_quantity, @sold_nameid and @sold_quantity not getting reset to zero before use, thus providing attached script with wrong/old data, if it did not clear them by itself in previous call (bugreport:1574, since r5841). [Ai4rei]
* Removed 'strsignal' forward-declaration from 'sig' plugin to prevent random gcc distributions from failing to compile due to mismatched declaration already present in <string.h> (bugreport:4644, topic:262284, follow up to r14591). [Ai4rei]
- Removed WIN32 conditions in non-WIN32 code in 'sig' plugin (follow up to r4380).
2010/12/19
* Fixes to the dynamic shop sample script. [Ai4rei]
- Fixed wrong check in ::OnSellItem, causing not-enough-items condition not getting detected (since r11829).
- Fixed an exploit in ::OnSellItem, causing Zeny to be given to the player, even if the items fail to delete (since r5842).
- Fixed missing 'close' in ::OnSellItem (since r5842).
- Replaced 'end' with 'close' in ::OnBuyItem (since r5842, followup to r11829).
* Replaced maximum script array size literals with a define (constant). [Ai4rei]
- Fixed an off-by-one mistake in copyarray, allowing to copy 1 element more into the target array, than allowed (since r10813).
2010/12/18
* Renamed item array in 'struct guild_storage' from 'storage_' to 'items' to match 'struct storage_data' (related r12933). [Ai4rei]
* Bunch of intif_parse_LoadGuildStorage fixes. [Ai4rei]
- Fixed guild storage not being sorted, when the storage had to be requested first (follow up to r14605).
- Fixed missing check, whether or not the character has already an open storage (follow up to r4562).
- Fixed missing GM trust check, whether or not the player is allowed to use guild storage (follow up to r3481).
* Fixed character storage no longer being sorted (bugreport:1982, since r12950). [Ai4rei]
- Guild storage is now sorted before being displayed rather than after being saved...
- Merged storage_gsortitem into storage_sortitem.
- Added option 'client_sort_storage' to control storage sorting (disabled by default, like on official servers).
* Updates to handling of hair color/style and cloth color of characters. [Ai4rei]
- Moved limit shortcut defines from mmo.h to battle.h, as they are only required in files, which include battle.h (since pre-svn 2004/10/15).
- Moved hair style/color validation from char-server to map-server. This enables use of non-default limits as specified in battle config, rather than being restricted to hard-coded ones (bugreport:150).
- Cleaned up related capping of values in pc_changelook (related r1708).
* Fixed usage of literals for map name length in character list packet (since r14368). [Ai4rei]
2010/12/17
* Made the 'player not attached' script error also report the function it occured in, if available. [Ai4rei]
* Fixed a crash, when script command 'doevent' is called without an attached player (bugreport:3973). [Ai4rei]
* Fixed label definitions silently overwriting built-in script functions (bugreport:2806, follow up to r8027). [Ai4rei]
* Added temporary check to skill_delunitgroup to prevent crashes when 'group' is NULL and added some debug messages to track down the source of the crash (bugreport:3504). [Ai4rei]
* Spellchecked script_commands.txt. [Ai4rei]
* Random script engine clean-ups that have accumulated over time. [Ai4rei]
- Resolved unnecessary script_getnum re-evaluation in a loop in script command 'npcshopdelitem' (since r7120).
- Script commands 'menu', 'select' and 'prompt' now warn, when there are more menu options, than the client can handle correctly (TODO from r10316).
2010/12/16
* Reverted r14525 (introduction of SV_READDB_MAX_FIELDS) because it causes confusion to certain group of users and depends on MAX_LEVEL since r14526. [Ai4rei]
- Made sv_readdb be able to process any amount of columns instead.
* Fixed a mistake in sv_split, causing CR being recognized as EOL character, even when only LF was specified (since r12459). [Ai4rei]
2010/12/15
* Corrected type of second argument of script command 'setbattleflag' from string to number (bugreport:4640, topic:261833, since r5407, related r14577). [Ai4rei]
* Fixed missing check in cooking, causing cooking kit requirement could be bypassed by sending 0x25b (CZ_REQ_MAKINGITEM) directly (bugreport:4642, since r13628). [Ai4rei]
2010/12/13
* Fixed plugin 'sig' not being compilable on Mac OS X, due to different return value type of 'strsignal' (bugreport:4637). [Ai4rei]
2010/12/12
* Fixed homunculus_autoloot not working with skill/item granted drops and loot (bugreport:4452, since r12203). [Ai4rei]
* Fixed killed monsters were assumed to be killed by homunculus only, if no damage log entries were elligible for exp distribution, even when no homunculus took part in damage dealing (bugreport:4452, since r12203). [Ai4rei]
* Added enumeration for monster damage log field 'flag'. [Ai4rei]
* Removed disabled backup of script command 'isequipped' (since r1605). [Ai4rei]
* Made script engine's DEBUG_DISASM block use script_op2name, rather than hardcoding operator names as per TODO from r13083 (related r9569, follow up to r10667). [Ai4rei]
* Cleaned up MOTD reading (related r292 and r4552). [Ai4rei]
- Added a warning for common client crash caused by the sequence ' :' in MOTD.
* Fixed impossible condition in soundeffect script command (since athena-dev-2.1.1-mod1046, related r5841). [Ai4rei]
* Updates to the playBGM functionality (since r14335). [Ai4rei]
- Removed impossible condition in playBGM script command (from soundeffect).
- Removed unused code (retrieving of a bl) in playBGMall (from soundeffectall).
- Made playBGMall default to 'entire server' when both map name and coordinates are omitted instead of printing an error.
- Updated documentation for playBGM and playBGMall to match actual behavior.
- Removed unused parameter 'bl' in clif_playBGM.
2010/12/11
* Fixed script command setd always assuming value parameter to be a string, which causes hexadecimal and octal numbers not being handled properly (topic:261833, followup to r14577 and r14578). [Ai4rei]
* Updates to dynamic server information `ragsrvinfo` on SQL. [Ai4rei]
- Fixed exp and drop rates (int) getting truncated (short) when sent to char-server.
- Removed `motd` from `ragsrvinfo` as it is not dynamically changed by the server and as such can be read by 3rd party applications directly from conf/motd.txt if required.
* Added support for checking argument data type of built-in script functions (bugreport:1701, topic:261833, related r14573). [Ai4rei]
* Fixed error message in intif_parse_mercenary_received printing wrong struct size (bugreport:4633, since r13116). [Ai4rei]
2010/12/10
* Replaced buildin_getpartyname_sub, buildin_getguildname_sub and buildin_getguildmaster_sub, which create only unnecessary overhead, with equivalent inlined code. [Ai4rei]
- Fixed a memory leak in getguildmasterid, when the guild leader was not online (bugreport:2743).
- Command getguildmasterid no longer requires the guild leader to be online.
* Fixed bAutoSpellOnSkill bonuses not working independently of each other (bugreport:4617, since r13596, related r14536). [Ai4rei]
* Revised argument declaration of all script commands according to the actual functions' argument usage. [Ai4rei]
- Fixed many script commands with fixed amount of optional parameters to no longer accept any amount of arguments (faulty declaration).
- Corrected use of dummy parameter for guildopenstorage in scripts.
2010/12/09
* Removed some of the duplicate, storage-related packet code. [Ai4rei]
- Removed clif_guildstoragelist and adjusted clif_storagelist to be able to handle any kind of storage.
- Removed clif_guildstorageitemadded in favor of clif_storageitemadded.
- This also fixes clif_guildstorageitemadded sending old update packet for clients prior 20090603, although packet 0x1c4 (ZC_ADD_ITEM_TO_STORE2) was added before PACKETVER 5 (before 2003-11-03aSakexe, exact addition date unknown) (since r14286).
2010/12/08
* Applied some script command documentation updates and fixes as already done inside the wiki. [Ai4rei]
- Updated description for 'next', 'return', 'attachrid', 'detachrid', 'itemskill', 'openstorage', 'skilleffect', 'donpcevent', 'day', 'night', 'atoi' and 'axtoi' to resolve inaccuracies, missing information or unverified behavior.
- Clarified the purpose of the 'jump_zero' and 'getelementofarray' script commands.
- Fixed 'changebase' stating, that it only works in item scripts (since r2402).
- Fixed 'kickwaitingroomall' stating, that it is not properly linked into the script engine, thus not working (since r13732).
- Updated the description for 'cutin' so that it does not give the impression, that the client is able to display multiple illustrations at once, and being less confusing about the maximum size of illustrations.
2010/12/07
* Fixed txt-converter-login was no longer compilable with supplied project/make files, due to missing reference to function exists in utils.c (bugreport:4626, since r14528). [Ai4rei]
* Applied svn:eol-style to VS2010 project files (follow up to r14562). [Ai4rei]
* Reverted r14563, due to multiple issues which render the source malfunctioning or uncompilable. To be redone later (bugreport:4627). [Ai4rei]
* Removed unnecessary reference operator from scanf calls passing character strings as arguments in adduser tool. [Paradox924X]
* Revert of r14564. The value wasn't an arbitrary account id but rather the file format version. Added comment specifying this. [Paradox924X]
* Removed arbitrary account id from atop account.txt (Since r13000). [Paradox924X]
* Changed almost all instances of sprintf() to snprintf(). [Paradox924X]
* Further corrections to doc/item_bonus.txt (bugreport:4624). [Ai4rei]
- Added documentation for bUnbreakableGarment, bUnbreakableWeapon, bUnbreakableArmor, bUnbreakableHelm, bUnbreakableShield, bUnbreakableShoes, bBreakWeaponRate and bBreakArmorRate (follow up to r485, r915, r1116, r13819).
- Fixed bIgnoreDefEle having race constants listed instead of element constants (since r12804).
- Fixed bUnstripable* not mentioning, that the bonus parameter is meaningless (follow up to r1382).
2010/12/06
* Corrected description for bonuses bHealPower and bHealPower2 stating skill names being supported, although the bonus does not accept 'skill' as parameter (bugreport:4619, since r13821). [Ai4rei]
2010/12/05
* Rev. 14559 Added support for bonus bAddItemHealRate, which works for all healing items care of Epoque. [L0ne_W0lf]
2010/12/04
* Fixed party booking search increasing result counter, even when no results were found, causing crashes from r14516 onwards (bugreport:4615, since r14412). [Ai4rei]
2010/12/03
* Fixed soul linkers not receiving taekwon angel buffs upon level up (bugreport:3585, since r3657 and r3660, related r6294). [Ai4rei]
* Corrected 'chance' in description for bonuses bAddMonsterDropItem and bAddMonsterDropItemGroup (bugreport:4063, partially since r1572). [Ai4rei]
* Removed leftovers of the item_value_db.txt feature (bugreport:2031, since athena-dev-2.1.1-mod377, followup to pre-svn 2004/05/29). [Ai4rei]
2010/12/02
* Various code tweaks and updates related to item types. [Ai4rei]
- Replaced item type literals with their appropriate constants.
- Added itemdb_typename to replace the ugly "BUG!" filled array in @iteminfo (since r1741, follow up to r14550).
- Made the item database parser verify item type for validity.
- Added item type constants to const.txt for use in scripts (getiteminfo).
* Added support for IT_CASH to @iteminfo, logging filters and item drop rate adjustment. Added 'show_picker.item_type'-specific IT_CASH value to it's description (follow up to r14549). [Ai4rei]
* Rev. 14549 Added item type IT_CASH (item type 18) Requires user confirmation before using/generating item(s). [L0ne_W0lf]
* Fixed mapflags not getting initialized upon @reloadscript (bugreport:2247, since r1275). [Ai4rei]
* Removed redundant check in food vs. cash food status change overriding code, partially suggested by xazax (related r14437 and r14510). [Ai4rei]
* Added an error message when a client connection exceeds the socket write buffer, so that it does not appear to be closed for no apparent reason (follow up to r13469). [Ai4rei]