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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
|
=== ChangeLog discontinued ===
With the move to git, The Mana Server has switched from a ChangeLog
file to relying on commit messages to provide change history.
2008-11-20 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/attackzone.hpp, src/game-server/being.cpp,
src/game-server/character.cpp, src/game-server/collisiondetection.cpp,
src/game-server/collisiondetection.hpp: Added rectangular attack zones
which are faster and simpler to calculate than the cone-shaped ones.
Currently used by the characters unarmed attack.
2008-11-09 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/game-server/character.cpp: Fixed crash when a script can't be
found.
2008-11-06 David Athay <ko2fan@gmail.com>
* src/scripting/lua.cpp, src/defines.h,
src/game-server/gamehandler.cpp,
src/game-server/accountconnection.cpp: Added sending post via NPC.
2008-11-02 Philipp Sehmisch <tmw@crushnet.org>
* src/scripting/lua.cpp: Added convenience wrappers for converting
STL lists, vectors, maps and sets to lua tables.
* data/scripts/test.lua: Added a dialog option to test npc which
retreives some stl containers from the c++ part and prints them to
the server console.
2008-11-06 David Athay <ko2fan@gmail.com>
* src/game-server/commandhandler.cpp, src/utils/string.cpp,
src/utils/string.hpp: Use a string util for converting strings to
integers, as per Bjorns suggestion.
2008-11-05 Dennis Friis <peavey@placid.dk>
* src/game-server/commandhandler.cpp: Fix integer arguments randomly
failing due to stream flags not being cleared. To reuse a stream you
must do stream.clear(); stream.str(string); for it to work.
2008-11-05 Andreas Habel <mail@exceptionfault.de>
* src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp,
src/account-server/serverhandler.cpp, src/defines.h,
src/game-server/accountconnection.cpp,
src/game-server/itemmanager.cpp, src/game-server/itemmanager.hpp:
Added version information to item database. Game server reports its
local version to account server and gets notified if the version is
up-to-date or outdated to prevent inconsistencies. Account server
initially loads item database on startup and synchronizes tmw_items
table in the database.
2008-11-04 David Athay <ko2fan@gmail.com>
* src/chat-server/chathandler.cpp, src/chat-server/chathandler.hpp,
src/defines.h: Added notifying party members when a player joins or
quits.
* src/game-server/state.cpp, src/game-server/being.cpp,
src/game-server/character.hpp, src/game-server/object.hpp: Added
updating party member health.
2008-11-03 David Athay <ko2fan@gmail.com>
* src/game-server/commandhandler.cpp: Fixed argument processing.
2008-11-03 Andreas Habel <mail@exceptionfault.de>
* src/sql/sqlite/createTables.sql, src/sql/mysql/createTables.sql,
account-server/dalstorage.cpp, account-server/dalstorage.hpp,
account-server/dalstoragesql.hpp, chat-server/post.cpp,
chat-server/post.hpp: Added tables and statements to store and retrieve
letters. Attachments not functional as long as items not stored as
individual items.
* docs/database_specification.png: Added database specification chart
2008-11-02 Philipp Sehmisch <tmw@crushnet.org>
* data/scripts/libs/libtmw.lua, data/scripts/libs/libtmw-constants.lua:
Moved the long list of constants at the beginning of libtmw to an
additional lua source file.
2008-11-01 Roderic Morris <roderic@ccs.neu.edu>
* src/game-server/commandhandler.hpp, src/game-server/gamehander.cpp,
src/game-server/commandhandler.cpp: some fixes for the command handler,
it still needs some more work though.
2008-11-01 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/character.hpp, src/game-server/scripting/lua.cpp:
Added script bindings for manipulating the characters experience.
* src/game-server/character.cpp: Catched a potential integer underflow
in experience calculation.
* data/scripts/lib/test.lua: added constants for character skills.
* data/scripts/test.lua: Added example script for manipulating
character experience.
* src/game-server/character.cpp, src/game-server/character.hpp,
src/game-server/gamehandler.cpp, src/defines.h: Implemented basic
netcode for using special actions like magic. Currently triggers a
function in libtmw.lua which makes the caster speak some text (magic
system implementation phase 1 and 2)
2008-10-31 David Athay <ko2fan@gmail.com>
* src/utils/string.cpp, src/utils/string.hpp, src/Makefile.am,
src/game-server/commandhandler.cpp, src/game-server/commandhandler.hpp,
src/game-server/gamehandler.cpp, src/game-server/accountconnection.cpp,
src/game-server/accountconnection.hpp, gameserver.cbp: Changed the
commands to be handled without template magic.
2008-10-29 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/game-server/being.cpp, src/game-server/monster.cpp,
src/game-server/being.hpp, src/game-server/monster.hpp: Some code
formatting cleanup and unduplicated conversion from direction to
angle.
2008-10-29 Chuck Miller <shadowmil@gmail.com>
* src/game-server/collisiondetection.cpp, src/game-server/monster.cpp,
src/game-server/being.cpp: Replaced the collision detection function
due to it being broken, I left it in the source, just commented out if
someone wants to try to fix it later on. In other news, this patch
now makes it possible to hit them pesty maggots.
2008-10-27 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/account-server/serverhandler.cpp,
src/account-server/dalstorage.hpp, src/game-server/state.cpp,
src/game-server/effect.cpp, src/game-server/effect.hpp: Compile fixes
and warning fixes.
2008-10-27 David Athay <ko2fan@gmail.com>
* src/defines.h, src/account-server/serverhandler.cpp,
src/account-server/dalstorage.cpp, src/account-server/dalstorage.hpp:
Added changing player's character and account level.
2008-10-27 Philipp Sehmisch <tmw@crushnet.org>
* src/scripting/lua.cpp: Added script binding for spawning effets from
scripts.
* data/scripts/test.lua: Created example NPC for spawning effetcs from
scripts.
2008-10-27 Chuck Miller <shadowmil@gmail.com>
* src/defines.h, src/game-server/thing.hpp, src/game-server/state.cpp,
src/game-server/effect.cpp, src/game-server/effect.hpp: Added a system
to send effects (can be sound or graphics) to the client. You can use
it by including game-server/effect.hpp and calling Effects::show()
2008-10-26 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/account-server/dalstorage.cpp, src/net/connection.cpp,
src/net/connection.hpp, src/game-server/accountconnection.cpp,
src/game-server/main-game.cpp: Some cleanup and an unsuccesful attempt
at fixing a crash on map server exit when there is no connection the
account server (a different one surfaced).
2008-10-25 Roderic Morris <roderic@ccs.neu.edu>
* docs/commands.txt, docs/packets.txt, src/defines.h:
Correct commands.txt, get rid of horribly inaccurate packets.txt,
and make a todo for improving defines.h's documentation.
2008-10-24 Chuck Miller <shadowmil@gmail.com>
* src/game-server/being.hpp: Changed direction values to match the
client's
2008-10-24 David Athay <ko2fan@gmail.com>
* data/scripts/test.lua, data/scripts/libs/libtmw.lua: Fixed example
script, and added defines for attributes.
* src/scripting/lua.cpp, src/game-server/command.cpp,
src/game-server/gamehandler.cpp, src/game-server/accountconnection.cpp,
src/game-server/postman.hpp, gameserver.cbp, data/scripts/test.lua,
data/scripts/libs/libtmw.lua: Added post callback for getting post.
Added GM command for changing player attributes. Changed GM command to
@ as '/' was already being used by client for local commands.
2008-10-23 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/utils/string.cpp, src/utils/string.hpp,
src/game-server/item.hpp, src/game-server/itemmanager.cpp: Fixed
compiler warnings, including a forgotten initialization of an item's
script pointer.
2008-10-23 David Athay <ko2fan@gmail.com>
* src/scripting/lua.cpp: Added functions for getting being name and
attributes in scripts.
* data/scripts/test.lua: Added example of using above functions.
2008-10-22 Chuck Miller <shadowmil@gmail.com>
* src/game-server/mapreader.cpp, src/utils/sting.cpp,
src/utils/string.hpp: Makes the values in tmx files ignore case for
convience.
2008-10-22 Chuck Miller <shadowmil@gmail.com>
* src/game-server/item.cpp, src/game-server/item.hpp
src/game-server/itemmanager.cpp: Added on item use scripts.
2008-10-22 David Athay <ko2fan@gmail.com>
* src/scripting/lua.cpp, src/game-server/mapcomposite.cpp,
src/game-server/main-game.cpp: Fixed NPC id's starting from 0. Changed
time between reconnection attempts.
* src/scripting/lua.cpp, src/game-server/npc.hpp,
src/game-server/npc.cpp: Added enabling and disabling NPCs.
2008-10-21 Roderic Morris <roderic@ccs.neu.edu>
* data/scripts/libs/libtmw.lua: Patch by Kage_Jittai to have NPC ids
returned when creating new NPCs.
2008-10-21 Roderic Morris <roderic@ccs.neu.edu>
* src/scripting/lua.cpp, data/test.lua, data/scripts/test.lua,
data/scripts/npclib.lua, data/scripts/libs,
data/scripts/libs/npclib.lua, data/scripts/libs/libtmw.lua,
data/scripts/libtmw.lua: Changed the ordering of lua scripts in
preperation for content conversion.
2008-10-21 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/account-server/account.cpp, src/chat-server/post.cpp,
src/defines.h, src/game-server/resourcemanager.cpp: Fixed some compile
warnings.
2008-10-21 Dennis Friis <peavey@placid.dk>
* src/dal/sqlitedataprovider.h, src/game-server/being.hpp: Add
limits.h where needed.
2008-10-21 David Athay <ko2fan@gmail.com>
* src/account-server/serverhandler.cpp,
src/account-server/dalstorage.cpp, src/account-server/dalstorage.hpp,
src/account-server/dalstoragesql.hpp, src/defines.h,
src/game-server/accountconnection.cpp, src/game-server/main-game.cpp:
The game server now tries to connect to the account server when
disconnected. Fixed some of the postal system.
2008-10-17 Andreas Habel <mail@exceptionfault.de>
* src/sql/sqlite/createTables.sql, src/sql/mysql/createTables.sql:
Added table definitions for item auctions.
2008-10-15 David Athay <ko2fan@gmail.com>
* src/chat-server/chathandler.cpp, src/defines.h,
src/game-server/state.cpp, src/game-server/movingobject.hpp,
src/game-server/gamehandler.cpp, src/game-server/object.hpp: Added
communicating a change of direction to the clients.
2008-10-13 Andreas Habel <mail@exceptionfault.de>
* src/account-server/dalstorage.cpp: fixed bug 456: erroneous sql
query at character save
2008-09-27 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/attackzone.cpp, src/game-server/attackzone.hpp,
src/game-server/being.cpp, src/game-server/being.hpp,
src/game-server/character.cpp, src/game-server/character.hpp,
src/game-server/item.cpp, src/game-server/item.hpp,
src/game-server/itemmanager.cpp, src/game-server/monster.cpp,
src/game-server/monster.hpp, src/game-server/monstermanager.cpp,
gameserver.cbp, src/Makefile.AM: Implemented getting the attack zone
of weapons from the item database and implemented single target
attacks useful for projectile weapons like bows.
2008-09-19 David Athay <ko2fan@gmail.com>
* accountserver.cbp, src/account-server/main-account.cpp,
src/account-server/serverhandler.cpp, src/chat-server/post.cpp,
src/chat-server/post.hpp, src/defines.h,
src/game-server/gamehandler.cpp,
src/game-server/accountconnection.cpp,
src/game-server/gamehandler.hpp,
src/game-server/accountconnection.hpp, src/game-server/postman.hpp,
src/game-server/main-game.cpp, gameserver.cbp: Added post
communication between chat and game servers,
2008-09-19 Andreas Habel <mail@exceptionfault.de>
* Doxyfile: doxygen writes all warnings into a separate file
* docs/tmwserv.xml: added link to wiki documentation as comment
* src/account-server/dalstorage.cpp, src/account-server/dalstorage.hpp,
src/account-server/dalstoragesql.hpp, src/sql/mysql/createTables.sql,
src/sql/sqlite/createTables.sql, src/sql/sqlite/tmw.db: Added table
tmw_char_skills to store skills of a character. Removed weapon skills
from table tmw_characters.
2008-09-18 David Athay <ko2fan@gmail.com>
* src/chat-server/post.hpp, src/chat-server/post.cpp, src/defines.h,
src/game-server/gamehandler.cpp, src/game-server/gamehandler.hpp,
src/game-server/main-game.cpp: Changed timing to be 100ms per tick.
Added post manager on chat server.
2008-09-17 Andreas Habel <mail@exceptionfault.de>
* src/sql/*, src/account-server/dalstoragesql.hpp: added installation
scripts to set up database schemas for mysql, sqlite and postgresql.
The create table statements have been completely removed out from the
c++ source into separate, provider specific sql files.
* docs/tmwserv.xml: added database specific parameters to configure
each provider, that is used as database backend independent
* Doxyfile: doxygen now also includes non-documented functions and
provides a dictionary for all classes.
* dal/dataprovider.h, dal/sqlitedataprovider.h,
dal/mysqldataprovider.h, dal/mysqldataprovider.cpp,
dal/sqlitedataprovider.cpp: Extended abstract dataprovider to support
transactions, implemented for SQLite and mySQL. Added methods to
retrieve last inserted auto-increment value and the number of modified
rows in the last statement.
* account-server/dalstorage.cpp: Tiny rewrite to be a little more
transactional and use advanced database functionality. Fixed a bug
when deleting a character that left data in quests table and guilds
table. Simplified the connect routine of DALStorage class since every
dataprovider is now responsible to retrieve its parameters for itself.
2008-09-15 Andreas Habel <mail@exceptionfault.de>
* Doxyfile: added doxygen file, docu will be generated under
docs/api/html.
* src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp,
src/account-server/dalstoragesql.hpp,
src/account-server/main-account.cpp: Added table tmw_world_states to
store map and world-specific variables, extended DALStorage to set and
get those new variables, applied Kess's diff file from mantis #424
with modifications for PostgreSQL support.
2008-09-10 Andreas Habel <mail@exceptionfault.de>
* src/account-server/dalstorage.cpp, src/account-server/account.cpp,
src/account-server/account.hpp, src/account-server/accounthandler.cpp,
src/account-server/dalstorage.hpp,
src/account-server/dalstoragesql.hpp: Extended tmw_accounts table with
columns for lastlogin and registration date. Modified account-server
to fill the new columns on registration and login. Recreation of
database needed!
* src/account-server/dalstorage.cpp,
src/account-server/dalstoragesql.hpp: Added createIndex function to
create indexes on tables.
2008-08-28 David Athay <ko2fan@gmail.com>
* src/account-server/dalstorage.cpp: Set banned user's level to
AL_BANNED.
* src/account-server/main-account.cpp,
src/account-server/dalstorage.cpp, src/account-server/dalstorage.hpp:
Added checking for expired bans.
* src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp: ExceptionFault corrected my poor
sql skills.
2008-08-18 Roderic Morris <roderic@ccs.neu.edu>
* src/game-server/mapreader.cpp: fix compilation on gcc 4.3.
2008-08-18 David Athay <ko2fan@gmail.com>
* src/account-server/dalstorage.cpp, src/chat-server/guild.hpp,
src/chat-server/chathandler.cpp: Misc fixes of guild.
* src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp,
src/account-server/dalstoragesql.hpp,
src/chat-server/guildmanager.cpp, src/chat-server/chatclient.hpp,
src/chat-server/guild.cpp, src/chat-server/guildmanager.hpp,
src/chat-server/guild.hpp, src/chat-server/chathandler.cpp: Changed
guilds to use character id.
2008-08-13 Yohann Ferreira <bertram@cegetel.net>
* src/game-server/gamehandler.cpp, src/game-server/map.hpp:
Corrected the distance needed to speak to NPC and trade with others
characters.
2008-08-13 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/game-server/monstermanager.cpp: Don't ignore monster with ID 0,
since our maggot uses that.
2008-08-13 David Athay <ko2fan@gmail.com>
* src/chat-server/guildmanager.cpp, src/chat-server/chathandler.hpp,
src/chat-server/chatclient.hpp, src/chat-server/guild.cpp,
src/chat-server/guildmanager.hpp, src/chat-server/chatchannel.cpp,
src/chat-server/guild.hpp, src/chat-server/chatchannel.hpp,
src/chat-server/chathandler.cpp, src/defines.h: Added permission
levels to guilds and operator permissions to channels.
2008-08-10 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/character.cpp: Corrected the way weapon skills is
taken into account in damage calculation.
2008-08-04 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/game-server/mapreader.cpp, src/game-server/mapreader.hpp: Fixed
another crash when reading inlined object properties.
2008-07-28 Roderic Morris <roderic@ccs.neu.edu>
* src/game-server/character.cpp: Avoid a crash caused by the last
commit.
* src/game-server/being.cpp: Calculate magic damage according to wiki
spec.
* src/account-server/dalstorage.cpp: Read guild permissions from the
db.
* src/chat-server/guild.hpp, src/chat-server/guild.cpp: Use const
strings.
2008-07-27 Roderic Morris <roderic@ccs.neu.edu>
* src/game-server/character.cpp: Take into account weapon skills in
damage calculation.
2008-07-24 David Athay <ko2fan@gmail.com>
* src/defines.h, src/game-server/movingobject.cpp,
src/game-server/gamehandler.cpp, src/game-server/gamehandler.hpp,
gameserver.cbp: Added error message when NPC is too far away.
2008-07-22 David Athay <ko2fan@gmail.com>
* src/chat-server/guild.cpp, src/chat-server/guild.hpp,
src/chat-server/chathandler.cpp, src/defines.h: Add permissions to
guild members.
* src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp,
src/account-server/dalstoragesql.hpp,
src/chat-server/guildmanager.cpp, src/chat-server/guild.cpp,
src/chat-server/guild.hpp: Save guild member permissions.
2008-07-07 Philipp Sehmisch <tmw@crushnet.org>
* src/scripting/script.cpp, src/scripting/script.hpp,
src/scripting/lua.cpp, data/scripts/libtmw.lua: Implemented death
listener for scripting engine.
* data/test.lua: Made the spider tamer a scorpion tamer (because
spiders aren't implemeted and thus make bad test subjects in this
case) and used the death listeners to make him complain when the
scorpions are killed.
2008-07-07 Roderic Morris <roderic@ccs.neu.edu>
* src/chat-server/chathandler.hpp, src/chat-server/chathandler.cpp,
src/chat-server/chatchannelmanager.hpp, src/defines.h,
src/chat-server/chatchannelmanager.cpp: Got rid of channel
registering. Channels are automatically created with /join,and removed
when the last person /quits.
2008-07-07 David Athay <ko2fan@gmail.com>
* src/account-server/serverhandler.cpp,
src/account-server/serverhandler.hpp, src/chat-server/party.cpp,
src/chat-server/party.hpp, src/chat-server/chathandler.cpp: Added
party support between account and game servers.
2008-07-03 Roderic Morris <roderic@ccs.neu.edu>
* src/game-server/character.cpp, src/game-server/gamehandler.cpp:
Fix errors in the last commit.
2008-07-03 David Athay <ko2fan@gmail.com>
* src/defines.h, src/game-server/character.cpp,
src/game-server/character.hpp, src/game-server/gamehandler.cpp,
src/game-server/accountconnection.cpp,
src/game-server/gamehandler.hpp,
src/game-server/accountconnection.hpp: Removed guild stuff from game
server. Added some party stuff to game server.
2008-07-03 Roderic Morris <roderic@ccs.neu.edu>
* src/game-server/mapreader.cpp, src/game-server/mapreader.hpp:
Avoid a crash when there's no content in <property/> tags.
* src/game-server/map.cpp, src/game-server/map.hpp: Enable arbitrary
tile sizes. This hasn't been tested yet.
* data/maps.xml: Enable the new maps, though their warps and spawns
haven't been set up yet.
2008-06-26 Roderic Morris <roderic@ccs.neu.edu>
* src/scripting/lua.cpp: Fix compile error.
* src/chat-server/guild.hpp, src/chat-server/guild.cpp,
src/account-server/serverhandler.cpp: Get rid of random access
method on list.
* src/chat-server/guildmanager.hpp, src/chat-server/guildmanager.cpp,
src/chat-server/chathandler.cpp: Use a clearer method name.
2008-06-25 Roderic Morris <roderic@ccs.neu.edu>
* src/chat-server/guildmanager.cpp, src/chat-server/guildmanager.hpp,
src/chat-server/chathandler.cpp, src/chat-server/chathandler.hpp,
src/chat-server/chatchannelmanager.cpp,
src/chat-server/chatchannelmanager.hpp, src/chat-server/guild.hpp:
Handle topic changes, and inform guild members about players going
offline / online and leaving / joining the guild.
* src/defines.h: Update protocol definitions.
2008-06-14 Roderic Morris <roderic@ccs.neu.edu>
* src/account-server/dalstorage.cpp: Work around for members not being
added to their guilds.
2008-06-10 Roderic Morris <roderic@ccs.neu.edu>
* src/chat-server/chathandler.cpp, src/chat-server/chathandler.hpp,
src/defines.h: Update chat packet definitions, get rid of old unused
functions.
2008-06-09 Roderic Morris <roderic@ccs.neu.edu>
* src/chat-server/chatchannelmanager.cpp: List channels that can
be joined, not ones that can't, and tell players that a person has
left their channels when they've disconnected from the chat server.
2008-06-03 Roderic Morris <roderic@ccs.neu.edu>
* src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp,
src/chat-server/chatchannelmanager.cpp,
src/account-server/dalstoragesql.hpp: Stop storing chat channels in
the db.
* src/chat-server/chathandler.hpp, src/chat-server/chathandler.cpp:
Have joinGuildChannel return a ChatChannel in case we need it
constructing a packet. Send channel announcements.
2008-06-02 Philipp Sehmisch <tmw@crushnet.org>
* data/test.lua: Used an example for schedule_in which is more in step
with actual practice. Used an example for schedule_every which is less
annoying for the server admin.
* data/test.lua, data/scripts/libtmw.lua: Replaced some magic numbers
with variables for better code readability.
* data/test.lua, data/scripts/libtmw.lua: Removed the unused "npc"
argument from the get_quest_var function.
2008-05-31 Philipp Sehmisch <tmw@crushnet.org>
* data/script/libtmw.lua: Scripted a scheduler which can execute
script functions at regular intervals or in a given number of seconds.
This will be very useful for any quest or effect script where timing
is important.
* data/test.lua: Used the script scheduler to schedule 3 demo tasks: a
5 second cronjob and two fixed point tasks where the second is
scheduled by the first (I'll make them do something more useful soon).
2008-05-30 Roderic Morris <roderic@ccs.neu.edu>
* src/account-server/accounthandler.cpp: Register chat clients with
their account level, don't assume normal user.
2008-05-29 Roderic Morris <roderic@ccs.neu.edu>
* src/game-server/command.cpp: Fixed execution of commands even if the
user has insufficient rights.
2008-05-23 David Athay <ko2fan@gmail.com>
* src/chat-server/guildmanager.cpp,
src/chat-server/guildmanager.hpp, src/chat-server/chathandler.cpp:
Use guildmanager to add users to guilds so its stored in the db.
2008-05-22 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/being.hpp, src/game-server/collisiondetection.cpp,
src/game-server/collisiondetection.hpp, src/scripting/lua:cpp,
data/scripts/libtmw.lua: Implemented script bindings for getting
beings in a circular map area and damaging beings.
* data/test.lua: Scripted an NPC which damages all monsters and
characters which come close to it.
2008-05-22 Roderic Morris <roderic@ccs.neu.edu>
* src/utils/sha256.cpp, src/utils/encryption.cpp,
src/chat-server/chathandler.cpp, src/game-server/character.cpp: Fixed
compilation with GCC 4.3.
2008-05-19 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/being.cpp, src/game-server/character.cpp,
src/game-server/character.hpp, src/game-server/mapreader.cpp,
src/game-server/npc.hpp, src/game-server/npc.cpp,
src/game-server/state.cpp, src/scripting/script.cpp,
src/scripting/script.hpp, src/scripting/lua.cpp,
data/scripts/libtmw.lua, data/test.lua: Implemented NPC names.
Implemented the theoretical possibility to have named monsters along
the way. Note that the syntax of the LUA functions for creating NPCs
has changed.
2008-05-18 Roderic Morris <roderic@ccs.neu.edu>
* src/game-server/command.cpp: Provide feedback when admin commands
fail.
2008-05-14 David Athay <ko2fan@gmail.com>
* src/chat-server/chatchannelmanager.cpp,
src/chat-server/chatchannelmanager.hpp,
src/chat-server/chathandler.cpp: Added check to ensure channel name
not already in use.
2008-05-08 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/trigger.cpp, src/game-server/trigger.hpp,
src/game-server/mapreader.cpp, src/game-server/scripting.cpp:
Implemented possibility to have trigger areas which only trigger when
a being enters them and not every game tick the being is inside.
* src/scripting/lua.cpp, src/game-server/state.cpp,
src/game-server/state.hpp: Implemented script bindings for making
beings say something and sending private chat messages from scripts to
clients.
* data/test.lua: The trigger areas now make every being which steps on
them say something and send a private chat message to the being which
steps on them. Made the guard at the gate say something in random
intervals to demonstrate tmw.being_say with NPCs.
2008-05-06 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/trigger.cpp, src/game-server/trigger.h,
src/scripting/lua.cpp: Implemented script trigger areas which call a
script function when an object steps into them.
* data/test.lua: Used script trigger areas to send all objects which
step into one of the areas onto a patrol path.
2008-05-03 Philipp Sehmisch <tmw@crushnet.org>
* data/test.lua, data/scripts/libtmw.lua, data/scripts/npclib.lua:
Added headers to LUA files mentioning the purpose of the files and
their license.
2008-04-28 David Athay <ko2fan@gmail.com>
* src/chat-server/chathandler.cpp, src/defines.h, accountserver.cbp:
Added sending who accepted invite on invite response to client.
2008-04-23 Yohann Ferreira <bertram@cegetel.net>
* src/account-server/accounthandler.cpp, src/defines.h: Realigned
email already exists error return value and removed getEmailAddress.
2008-04-23 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/utils/sha2.h, src/utils/sha256.h, src/utils/sha2.cpp,
src/utils/encryption.h, src/utils/sha256.cpp,
src/utils/encryption.cpp, src/account-server/accounthandler.cpp,
src/Makefile.am: Switched to alternative SHA-256 implementation from
InspIRCd.
* src/game-server/mapmanager.cpp, src/game-server/mapmanager.hpp:
Accepted fix by rodge, getting rid of assertion failure when an admin
tries to warp to a non-existing map.
* src/account-server/account.hpp: Fixed docs not to mention
encryption, since all we do is hashing.
* configure.ac: Since we decided not to use libcrypto, remove its
configure check.
* README: Updated documentation a bit.
2008-04-22 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/account-server/accounthandler.cpp, src/utils/sha2.h,
src/game-server/mapreader.cpp: Fixed some small issues.
2008-04-22 David Athay <ko2fan@gmail.com>
* src/chat-server/chathandler.cpp, src/chat-server/chathandler.hpp,
src/defines.h: Added more support for parties.
2008-04-21 Yohann Ferreira <bertram@cegetel.net>
* src/Makefile.am, src/utils/sha2.h, src/utils/sha2.cpp,
src/utils/encryption.h, src/utils/encryption.cpp,
src/account-server/account.hpp, src/account-server/accounthandler.cpp:
Added password and email encryption server-side using SHA256.
2008-04-20 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/account-server/dalstorage.cpp, src/scripting/lua.cpp,
src/chat-server/party.cpp, src/chat-server/guild.cpp, src/defines.h,
src/net/connectionhandler.cpp, src/game-server/map.cpp,
src/game-server/character.cpp, src/game-server/character.hpp: Fixed
some compiler errors/warnings.
* data/test.lua: Added 100 to NPC IDs to keep 0.0 compatibility for
now.
2008-04-20 Dennis Friis <peavey@placid.dk>
* src/utils/zlib.cpp: Fix a possible memleak in inflateMemory if the
stream fails to uncompress cleanly.
2008-04-19 Yohann Ferreira <bertram@cegetel.net>
* src/account-server/accounthandler.cpp,
src/account-server/dalstorage.hpp: Fixed 'Password changes' and
'Unregistering', server-side this time.
2008-04-18 David Athay <ko2fan@gmail.com>
* src/chat-server/chatchannelmanager.cpp,
src/chat-server/chatclient.hpp, src/chat-server/chathandler.cpp:
Fixed guilds not being removed when leader quits.
* src/chat-server/chathandler.cpp: Remove channel when leader quits
guild.
2008-04-17 David Athay <ko2fan@gmail.com>
* src/chat-server/chathandler.hpp, src/chat-server/chathandler.cpp:
Added basic party support.
2008-04-17 Yohann Ferreira <bertram@cegetel.net>
* src/Makefile.am: Fixed compilation using automake.
2008-04-16 David Athay <ko2fan@gmail.com>
* accountserver.cbp, src/chat-server/party.cpp,
src/chat-server/chathandler.hpp,
src/chat-server/chatchannelmanager.cpp,
src/chat-server/chatclient.hpp, src/chat-server/guild.cpp,
src/chat-server/party.hpp, src/chat-server/guild.hpp,
src/chat-server/chatchannel.hpp, src/chat-server/chathandler.cpp,
src/defines.h, src/game-server/gamehandler.cpp,
src/game-server/main-game.cpp: Added handling creating and leaving
parties. Fixed up some of the private channel stuff that remained.
2008-04-15 David Athay <ko2fan@gmail.com>
* src/chat-server/chathandler.cpp: Fixed getting channel userlist.
2008-04-03 David Athay <kofan@gmail.com>
* src/chat-server/chathandler.cpp: Restricted who can be invited to
guilds.
* src/chat-server/chathandler.cpp, src/chat-server/chathandler.hpp,
src/defines.h: Fixed accepting guild invite and added updating the
guild member list.
2008-04-02 David Athay <ko2fan@gmail.com>
* src/chat-server/chathandler.cpp: Fix accepting guild invites.
2008-04-01 David Athay <ko2fan@gmail.com>
* src/account-server/dalstorage.cpp,
src/account-server/dalstoragesql.hpp,
src/chat-server/chatchannelmanager.cpp,
src/chat-server/chatchannel.cpp,
src/chat-server/chatchannelmanager.hpp,
src/chat-server/chatchannel.hpp, src/chat-server/chathandler.cpp,
gameserver.cbp: Consolidated public and private channels into one,
which also includes guild channels. Channels now have a joinable
field, which is true for channels that are created by users, and
false for guild channels. Chatting in guild channels now works, and
non-guild members can no longer join guild channels.
2008-03-31 Philipp Sehmisch <tmw@crushnet.org>
* data/test.lua: Removed the +100 offset of NPC IDs (relict from
eAthena)
2008-03-25 Philipp Sehmisch <tmw@crushnet.org>
* data/test.lua, data/scripts/npclib.lua: Added a Lua library with
walk around functions for NPCs.
2008-03-17 Philipp Sehmisch <tmw@crushnet.org>
* src/scripting/lua.cpp: Error messages in script callback functions
are now handed to the lua interpreter.
2008-03-15 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/map.cpp, src/game-server/movingobject.hpp,
src/game-server/object.hpp: Fixed a crash caused by the new blocking
system (thanks to peavey for reporting).
* src/scripting/lua.cpp: Implemented script bindings for querying
positions and controllig movement of beings.
* data/scripts/libtmw.lua, data/test.lua: Implemented script
infrastructure for regularily called NPC function.
* data/test.lua: Implemented NPCs which move around. One automatically
and one when talked to.
* src/game-server/npc.hpp: Added pathblocking rules to NPCs (blocked
by walls, mosters, other NPCs and player characters but do not block
player characters.
2008-03-13 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/being.cpp, src/game-server/character.cpp,
src/game-server/character.hpp, src/game-server/map.cpp,
src/game-server/map.hpp, src/game-server/mapreader.cpp,
src/game-server/monster.cpp, src/game-server/monster.hpp,
src/game-server/movingobject.cpp, src/game-server/movingobject.hpp,
src/game-server/object.hpp, src/game-server/spawnarea.cpp,
src/game-server/thing.hpp: Implemented dynamic and selective
pathblocking. Monsters are blocked by player characters and
other monsters, player characters only by monsters.
* src/game-server/being.cpp: Omitted some superficial hit point
updates.
* src/game-server/state.cpp: Sending destination of beings when the
client comes on-screen to fix a bug which showed moving monsters as
standing in this situation.
2008-03-09 Philipp Sehmisch <tmw@crushnet.org>
* src/defines.h, src/game-server/being.hpp,
src/game-server/monster.hpp, src/game-server/state.cpp:
Sending the attack type with attack messages so that the client can
visualize the different attacks monsters are using.
2008-03-06 David Athay <ko2fan@gmail.com>
* src/account-server/dalstorage.cpp,
src/chat-server/guildmanager.cpp, src/chat-server/chathandler.hpp,
src/chat-server/guildmanager.hpp, src/chat-server/chathandler.cpp,
src/chat-server/guild.hpp: Fixed rejoining guilds after client
reconnects to the server.
2008-03-05 David Athay <ko2fan@gmail.com>
* src/account-server/main-account.cpp,
src/account-server/dalstorage.cpp, src/chat-server/guildmanager.cpp
src/chat-server/guildmanager.hpp, src/chat-server/chathandler.cpp:
Fixed guild creation.
2008-03-04 David Athay <ko2fan@gmail.com>
* src/Makefile.am: Changed guild from account to chat server.
* src/account-server/main-account.cpp: Initialise guild manager
after the chat manager.
2008-03-03 Philipp Sehmisch <tmw@crushnet.org>
* src/defines.h, src/game-server/being.cpp,
src/game-server/being.hpp, src/game-server/character.cpp: Added
natural HP regeneration, capped HP at maximum and set HP to 1 after
respawn.
* src/game-server/character.hpp: Reverted variables of exp per level
formula to reasonable values.
2008-03-02 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/being.cpp, src/game-server/monster.cpp: Moved death
check from Being::damage to Being::update for more reliable death
detection and to fix the bug that the last hit on a monster does not
count for exp calculation.
2008-03-01 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/monster.cpp: Implemented priority of different
monster attacks.
2008-02-27 Philipp Sehmisch <tmw@crushnet.org>
* src/defines.h, src/game-server/character.cpp,
src/game-server/character.hpp, src/game-server/gamehandler.cpp:
Implemented provisorical player respawn.
2008-02-23 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/monster.cpp: Improved monster AI by making monster
only use attacks which have a chance to hit the target and also use
them when the optimal combat distance hasn't been reached yet.
2008-02-21 Philipp Sehmisch <tmw@crushnet.org>
* src/util/xml.cpp, src/util/xml.hpp, src/game-server/itemmanager.cpp,
src/game-server/monstermanager.cpp, src/game-server/item.hpp:
Moved the functions which translate strings in XML files into
enumerations from the parsers to the XML utilities.
* src/game-server/itemmanager.cpp, src/game-server/item.hpp: Added
"item types" hairsprite and racesprite and made the server ignore
items of these types so it stops complaining about these entries
(which only concern the client) being incomplete.
* src/defines.h, src/game-server/monstermanager.cpp,
src/game-server/monster.cpp, src/game-server/monster.hpp: Implemented
getting attack distance and attack properties from monsters.xml.
* src/util/xml.cpp, src/util/xml.hpp, src/game-server/item.hpp,
src/game-server/item.cpp, src/game-server/monstermanager.cpp,
src/game-server/itemmanager.cpp: Moved the functions which translate
strings into enumerations from the XML library into the item and
monstermanager modules and reimplemented them using std::maps.
2008-02-20 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/monster.cpp: Fixed a bug which made wandering
monsters prefer walking northwest.
2008-02-13 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/monstermanager.cpp: Movement speed in monsters.xml
is now interpreted as pixels per second instead of tiles per second.
* src/game-server/monster.cpp, src/game-server/monster.hpp,
src/game-server/monstermanager.cpp: Implemented monster mutation.
2008-02-12 Philipp Sehmisch <tmw@crushnet.org>
* src/gameserver/monster.cpp, src/game-server/monster.hpp,
src/game-server/monstermanager.cpp: Monster speed and size is now read
from monsters.xml.
2008-02-07 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/monster.cpp, src/game-server/monster.hpp,
src/game-server/monstermanager.cpp: Parts of monster behavior are now
read from monsters.xml. Warnings during monster parsing now include
the name of the monster.
2008-02-07 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/scripting/lua.cpp: Fail gracefully on invalid monster IDs, don't
leak monsters when called without a map and handle insertion failures.
2008-02-06 Philipp Sehmisch <tmw@crushnet.org>
* src/scripting/lua.cpp: Implemented LUA callback function for
creating monsters.
* data/test.lua: Added NPC for testing scripted monster creation.
2008-02-05 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/monster.cpp, src/game-server/monster.hpp,
src/game-server/monstermanager.cpp: Monster base attributes and
experience reward are now read from monsters.xml.
2008-01-28 Philipp Sehmisch <tmw@crushnet.org>
* src/account-server/accounthandler.cpp,
src/account-server/character.cpp, src/account-server/character.hpp,
src/account-server/dalstorage.cpp,
src/account-server/dalstoragesql.hpp, src/dal/sqlitedataprovider.cpp,
src/defines.h, src/game-server/accountconnection.cpp,
src/game-server/being.hpp, src/game-server/character.cpp,
src/game-server/character.hpp, src/game-server/gamehandler.cpp,
src/game-server/item.cpp, src/game-server/itemmanager.cpp,
src/game-server/monster.cpp, src/game-server/monster.hpp,
src/serialize/characterdata.hpp: Implemented skill system, level gain
and attribute raising. Using 16 bit instead of 8 bit for representing
the character level. Updated weapon skill selection to latest design
decisions.
* src/game-server/monster.cpp: Monster attack animation is now
started in the moment the monster decides to attack and not the
moment damage is calculated. This makes it easier for the player
to react on the monsters attacks and makes the combat behavior of
monsters look more natural.
2008-01-24 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/state.cpp: The direction of attacking beings is
now transmitted together with attack messages (has already been
implemented on the client-side but the server-sided part has been
forgotten somehow).
2008-01-23 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/being.cpp: Fixed "immortal monster" bug.
* src/game-server/main-game.cpp: Made the gameserver work more and
complain less about not having enough time.
2008-01-10 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/inventory.cpp, src/game-server/item.hpp,
src/game-server/itemmanager.cpp: Item types and weapon types
are now identified by name instead of numbers in the items.xml.
Cleaned out some nonsensical weapon types.
* src/serialize/characterdata.hpp, src/game-server/character.cpp:
Fixed account server compiling.
2008-01-07 Philipp Sehmisch <tmw@crushnet.org>
* src/defines.h, src/game-server/being.cpp,
src/game-server/being.hpp, src/game-server/character.cpp,
src/game-server/inventory.cpp, src/game-server/itemmanager.cpp,
src/game-server/monster.cpp, src/serialize/characterdata.hpp:
Implemented some of the game mechanics we decided to use.
* src/game-server/character.cpp:
The clients now only receive attribute change messages
when the attribute actually changed.
* src/game-server/being.cpp, src/beinggame-server/.hpp,
src/game-server/character.cpp, src/game-server/monster.cpp,
src/game-server/monster.hpp:
Player characters and monsters now attack with different ranges
and angles (preparation for getting attack zone from weapon
properties or monster database).
2007-12-18 Philipp Sehmisch <tmw@crushnet.org>
* src/account-server/dalstorage.cpp,
src/account-server/dalstoragesql.hpp,
src/defines.h, src/game-server/itemmanager.cpp: Updated
attribute system to the latest design decisions (removed
charisma, kept agility in)
2007-11-19 Eugenio Favalli <elvenprogrammer@gmail.com>
* accountserver.cbp, gameserver.cbp, src/utils/timer.cpp,
src/utils/wingettimeofday.cpp, src/utils/wingettimeofday.h: Removed
useless win32 implementation of gettimeofday.
2007-11-15 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* data/scripts/libtmw.lua: Added do_wait helper function.
2007-11-13 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/utils/trim.hpp, src/Makefile.am: Added trim function.
* src/game-server/mapreader.cpp: Trimed script filenames from spaces.
* src/game-server/spawnarea.cpp: Improved warning message on spawning.
2007-10-27 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/dal/recordset.cpp, src/utils/zlib.cpp, src/scripting/script.cpp,
src/utils/stringfilter.cpp, src/chat-server/chatchannel.cpp,
src/net/messagein.cpp, src/net/messageout.cpp,
src/game-server/map.cpp, src/net/connectionhandler.cpp,
src/game-server/mapreader.cpp, src/game-server/command.cpp,
src/game-server/resourcemanager.cpp, src/game-server/quest.cpp: Fixed
missing dependencies and changed some storage qualifiers, so that it
compiles with GCC 4.3.
2007-10-18 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* data/items.xml, data/monsters.xml: Superseded by client files.
* src/game-server/itemmanager.cpp: Removed compatibility hack.
2007-09-27 Eugenio Favalli <elvenprogrammer@gmail.com>
* accountserver.cbp, data/monsters.xml, gameserver.cbp,
src/game-server/monstermanager.cpp: Ported monster database.
2007-09-23 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/game-server/state.hpp, src/game-server/state.cpp: Changed
delayed events to an explicit interface.
* src/scripting/lua.cpp, src/game-server/command.cpp,
src/game-server/state.cpp, src/game-server/spawnarea.cpp,
src/game-server/state.hpp, src/game-server/monster.cpp,
src/game-server/trigger.cpp: Updated to new interface.
* src/account-server/accounthandler.cpp, src/defines.h,
src/chat-server/chathandler.cpp: Merged time-out messages with
response to connection messages.
* src/game-server/state.cpp, src/game-server/state.hpp: Modified
interface to deal with failure to insert objects.
* src/scripting/lua.cpp, src/game-server/testing.cpp,
src/game-server/command.cpp, src/game-server/gamehandler.cpp: Taken
insertion failures into account.
* src/account-server/accounthandler.hpp,
src/account-server/accounthandler.cpp,
src/account-server/serverhandler.cpp,
src/account-server/serverhandler.hpp: Simplified interface of
connection handlers. Moved all the implementation details outside the
header file.
* src/account-server/main-account.cpp: Updated to new interface of
connection handlers.
2007-09-22 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/chat-server/chatchannelmanager.hpp,
src/chat-server/chathandler.hpp: Fixed header dependencies.
* src/configuration.cpp, src/configuration.h: Changed to namespace.
Removed listeners. Simplified property handling. Moved to common/.
* src/resourcemanager.cpp, src/resourcemanager.h: Changed to
namespace. Removed dead code. Moved to game-server/.
* src/account-server/dalstorage.cpp, src/utils/stringfilter.cpp,
src/account-server/accounthandler.cpp, src/utils/stringfilter.h,
src/game-server/accountconnection.cpp: Updated to new configuration.
* src/scripting/script.cpp, src/game-server/mapreader.cpp,
src/game-server/mapmanager.cpp, src/game-server/monstermanager.cpp,
src/game-server/itemmanager.cpp: Updated to new resource manager.
* src/Makefile.am, src/account-server/main-account.cpp,
src/game-server/main-game.cpp: Updated.
2007-09-16 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/game-server/command.cpp: Removed unused argument name.
* src/defines.h: Added packet from for sending server statistics.
* src/account-server/serverhandler.hpp,
src/account-server/accounthandler.cpp: Cleaned function prototypes.
* src/chat-server/chathandler.hpp: Fixed missing header.
* src/account-server/serverhandler.cpp: Moved map/server data into
connection local storage.
* src/game-server/accountconnection.cpp,
src/game-server/main-game.cpp, src/game-server/accountconnection.hpp:
Added statistic sender to game server.
* src/account-server/serverhandler.cpp,
src/account-server/serverhandler.hpp, src/Makefile.am,
src/account-server/main-account.cpp: Added statistic receiver and
dumper to account server.
2007-09-10 Eugenio Favalli <elvenprogrammer@gmail.com>
* accountserver.cbp, gameserver.cbp, src/game-server/spawnarea.cpp:
Dimensionless spawn points now spawn over the whole map.
* src/game-server/mapreader.cpp, src/game-server/spawnarea.cpp,
src/game-server/spawnarea.hpp: Spawn rate and limit are now read from
map files and really fixed size of spawn area.
* docs/commands.txt: Added first draft of admin/gm commands reference.
2007-08-31 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* configure.ac: Fixed detection of generic lua.pc file.
* src/game-server/itemmanager.cpp, src/game-server/itemmanager.hpp,
src/game-server/monstermanager.cpp,
src/game-server/monstermanager.hpp: Modified loading of reference
files, so that it is possible to reload them.
* src/game-server/command.cpp: Implemented "reload" remote command.
* src/account-server/account.hpp, src/account-server/account.cpp:
Simplified character removal.
* src/account-server/accountclient.hpp,
src/account-server/accounthandler.cpp,
src/account-server/accountclient.cpp: Removed selected character from
client data. Cleaned account handler.
* src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp: Added helper for querying existence
of usernames.
* src/account-server/accounthandler.cpp: Plugged several account leaks
on error.
* src/defines.h, src/account-server/accounthandler.cpp: Prevented
banned users from logging in.
* src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp: Handled banned database field.
* src/game-server/accountconnection.hpp, src/defines.h,
src/game-server/accountconnection.cpp,
src/account-server/serverhandler.cpp: Added protocol for banning
players.
* src/game-server/command.cpp: Implemented "ban" remote command.
2007-08-30 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/account-server/storage.hpp, src/account-server/storage.cpp,
src/account-server/main-account.cpp: Removed abstract Storage. Relied
on SQL-based implementation only.
* src/account-server/characterdata.hpp,
src/account-server/characterdata.cpp: Renamed class and files to just
Character.
* src/utils/countedptr.h: Got rid of reference-counted pointers.
* src/account-server/dalstorage.hpp,
src/account-server/dalstorage.cpp: Fixed permanent memory usage for
accounts and characters loaded once.
* src/account-server/serverhandler.cpp: Improved robustness to game
server messages.
* src/chat-server/chathandler.cpp,
src/account-server/guildmanager.cpp,
src/chat-server/chatchannelmanager.cpp,
src/account-server/account.hpp, src/account-server/accounthandler.hpp,
src/account-server/guild.cpp, src/account-server/accountclient.hpp,
src/account-server/guild.hpp, src/account-server/guildmanager.hpp,
src/account-server/account.cpp, src/account-server/serverhandler.hpp,
src/Makefile.am, src/account-server/dalstoragesql.hpp,
src/account-server/accounthandler.cpp,
src/account-server/accountclient.cpp: Fixed fallout from previous
patches.
2007-08-29 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* data/scripts/libtmw.lua: Fixed race condition between quest_reply
and npc_next.
* src/game-server/command.cpp, src/game-server/gamehandler.cpp,
src/game-server/gamehandler.hpp: Completed handler for admin commands,
so that they can also touch local players.
* src/game-server/comand.cpp: Implemented "goto" and "recall" remote
commands.
* src/Makefile.am, src/game-server/deathlistener.hpp,
src/game-server/eventlistener.hpp: Replaced event system.
* src/games-server/thing.hpp, src/game-server/thing.cpp: Placed
listener handling at the lowest level. Added "inserted" and "removed"
event.
* src/game-server/being.hpp, src/game-server/being.cpp,
src/game-server/character.hpp, src/game-server/character.cpp: Added
"died" and "disconnected" event.
* src/game-server/state.cpp, src/game-server/gamehandler.cpp: Added
event notification.
* src/game-server/spawnarea.cpp, src/game-server/spawnarea.hpp,
src/game-server/monster.cpp, src/game-server/monster.hpp: Modified to
use the new event system.
* src/game-server/quest.cpp: Fixed event listener on character removal
and/or disconnection.
* src/account-server/account.hpp, src/account-server/dalstorage.cpp,
src/account-server/accounthandler.cpp, src/account-server/account.cpp:
Fixed account levels not being loaded from the database.
* src/game-server/command.cpp: Fixed level checking.
2007-08-28 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/account-server/storage.hpp,
src/account-server/dalstoragesql.hpp,
src/account-server/dalstorage.cpp, src/account-server/dalstorage.hpp:
Implemented storing and recovering quest variables from database.
* src/account-server/serverhandler.cpp, src/defines.h,
src/game-server/accountconnection.cpp,
src/game-server/accountconnection.hpp: Added protocol for sending
quest variables between servers.
* src/game-server/quest.cpp, src/game-server/quest.hpp,
src/game-server/character.hpp, src/Makefile.am: Added async handling
of quest variables.
* src/scripting/lua.cpp, data/scripts/libtmw.lua: Added helper
functions for querying quest variables from Lua scripts. Reworked
state machine of the NPC support library.
* data/test.lua: Modified for testing quest variables.
2007-08-27 Eugenio Favalli <elvenprogrammer@gmail.com>
* accountserver.cbp, gameserver.cbp, src/game-server/mapreader.cpp,
src/game-server/testing.cpp: Enabled loading of npcs and scripts from
map files.
2007-08-27 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/chat-server/chathandler.hpp, src/chat-server/chatclient.hpp,
src/chat-server/chatclient.cpp, src/account-server/account.hpp,
src/account-server/account.cpp, src/defines.hpp: Used discontiguous
values for account level.
* src/account-server/characterdata.cpp, src/game-server/character.hpp,
src/serialize/characterdata.hpp, src/account-server/characterdata.hpp:
Added serialization of account level.
* src/game-server/gamehandler.cpp, src/game-server/command.cpp,
src/Makefile.am: Added support for remote commands.
* src/game-server/command.cpp: Implemented "warp", "item", "money",
"drop", and "spawn" remote commands.
* src/game-server/mapreader.cpp: Added support for uncompressed map
files and compressed layers.
* src/resourcemanager.cpp, src/resourcemanager.h: Added "exists"
function to resource manager.
* src/game-server/mapmanager.cpp: Used runtime selection of map
filename extensions.
* data/maps.xml: Removed extensions from map names.
2007-08-20 Bjørn Lindeijer <bjorn@lindeijer.nl>
* data/test.lua, data/scripts/libtmw.lua: Defined two helper functions
to abstract away money being available under inventory index 0.
2007-08-20 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/scripting/script.cpp: Prevented access to uninitialized engines.
* configure.ac: Enabled Lua scripting by default.
* src/scripting/lua.cpp, data/scripts/libtmw.lua: Removed useless
function prefixes. Commented Lua internal variables.
2007-08-19 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/account-server/accounthandler.cpp, src/defines.h: Fixed typos.
* src/game-server/itemmanager.cpp: Worked around inconsistent
spelling.
* src/game-server/item.cpp, src/game-server/item.hpp: Added support
for equipment modifiers.
* src/game-server/inventory.hpp, src/game-server/inventory.cpp: Added
sanity checks at initialization. Applied equipment modifiers to
character.
* src/game-server/being.hpp, src/game-server/being.cpp: Set base
element resistance to 100. Added support for temporary modifiers.
* src/game-server/character.cpp: Removed redundant updates of
attributes.
* src/game-server/monster.cpp, src/game-server/character.hpp: Cleaned
fallout due to above patches.
* src/scripting/lua.cpp, data/test.lua: Allowed Lua scripts to query
and change money.
* src/game-server/being.cpp, src/game-server/being.hpp: Simplified
handling of permanent modifiers.
* src/game-server/item.cpp, src/game-server/item.hpp,
src/game-server/gamehandler.cpp: Implemented use of items.
* src/game-server/itemmanager.cpp: Fixed lifetime value.
2007-08-18 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/serialize/characterdata.hpp, src/account-server/dalstorage.cpp,
src/account-server/characterdata.cpp, src/game-server/spawnarea.cpp,
src/account-server/accounthandler.cpp, src/defines.h,
src/account-server/characterdata.hpp, src/game-server/state.cpp,
src/game-server/being.cpp, src/game-server/monster.cpp,
src/game-server/being.hpp, src/game-server/movingobject.hpp,
src/game-server/monster.hpp, src/game-server/character.cpp,
src/game-server/item.cpp, src/game-server/character.hpp,
src/game-server/item.hpp, src/game-server/gamehandler.cpp,
src/game-server/object.hpp, src/game-server/accountconnection.cpp,
src/game-server/itemmanager.cpp: Removed character statistics from
Being. Kept only attributes useful for fighting. Improved combat
handling (evade and elements). Added support for weapon
characteristics and weapon skills. Added support for attribute
modifiers. Cleaned game state handling.
2007-08-17 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/scripting/lua.cpp, data/test.lua: Added Lua function for trading
between players and NPCs.
* src/game-server/gamehandler.cpp, src/game-server/gamehandler.hpp,
src/game-server/accountconnection.cpp: Handled multiple connections by
allowing clients to take over characters.
* src/utils/tokencollector.cpp, src/utils/tokencollector.hpp,
src/Makefile.am: Simplified TokenCollector and fixed a few bugs. Moved
its implementation outside the header file.
* src/chat-server/chathandler.hpp, src/chat-server/chathandler.cpp,
src/defines.h: Used TokenCollector to manage cookies in ChatHandler.
2007-08-16 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* data/scripts/libtmw.lua: Improved NPC state machine, so that the
engine avoids waiting, once the last message has been sent.
2007-08-15 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/scripting/script.cpp, src/scripting/script.hpp: Added helper
functions for loading files and NPCs as scripts.
* src/scripting/lua.cpp, data/scripts/libtmw.lua: Put the Lua helpers
into a separate library automatically loaded into new contexts.
* src/game-server/testing.cpp, data/test.lua: Updated testing files.
2007-08-14 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/serialize/characterdata.hpp, src/common/inventorydata.hpp,
src/account-server/accounthandler.hpp, src/game-server/character.cpp,
src/account-server/dalstorage.cpp, src/game-server/character.hpp,
src/account-server/characterdata.cpp,
src/account-server/accounthandler.cpp,
src/account-server/characterdata.hpp: Handled money as part of the
inventory.
* src/game-server/inventory.hpp, src/game-server/inventory.cpp,
src/game-server/buysell.cpp: Added money accessor to the inventory
manager.
* src/game-server/inventory.cpp: Fixed incorrect update message when
merging item stacks and removing one of them.
* src/game-server/character.cpp, src/game-server/buysell.cpp: Ensured
cancelations do not enter an infinite loop of death.
* src/defines.h, src/game-server/trade.cpp, src/game-server/trade.hpp,
src/game-server/gamehandler.cpp: Involved money in trade handler.
* src/scripting/lua.cpp, src/scripting/script.cpp,
src/scripting/script.hpp, src/game-server/testing.cpp: Made it
possible to load scripts from strings instead of files.
2007-08-13 Eugenio Favalli <elvenprogrammer@gmail.com>
* accountserver.cbp, gameserver.cbp: Updated project files and added
scripting engine.
2007-08-13 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/bindings.i, src/script-squirrel.cpp, src/script-squirrel.h,
src/skill.cpp, src/skill.h, scripts/init.rb: Deleted obsolete files.
* configure.ac, src/Makefile.am, src/account-server/main-account.cpp,
src/game-server/main-game.cpp, src/dal/sqlitedataprovider.cpp,
src/dal/mysqldataprovider.cpp, src/account-server/dalstorage.cpp,
src/account-server/dalstoragesql.hpp, src/dal/dataproviderfactory.cpp,
src/account-server/accounthandler.cpp: Cleaned configuration. Removed
obsolete SQL tables.
* src/defines.h, src/Makefile.am, src/game-server/trade.cpp,
src/game-server/trade.hpp, src/game-server/state.cpp,
src/game-server/character.cpp, src/game-server/character.hpp,
src/game-server/gamehandler.cpp, src/game-server/buysell.cpp,
src/game-server/buysell.hpp: Implemented buy/sell handler.
* src/scripting/lua.cpp, data/test.lua: Added a bit of buy/sell
testing code.
2007-08-11 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/scripting/lua.cpp: Added Lua functions for handling inventories.
* data/test.lua: Tested them.
2007-08-10 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* data/test.lua: Added Lua helper functions to simplify scripts.
* src/game-server/testing.cpp, src/game-server/state.cpp,
src/game-server/mapcomposite.cpp, src/game-server/mapcomposite.hpp:
Associated scripts to maps.
* src/scripting/lua.cpp, data/test.lua: Added Lua function for warping
people around. Removed colon in NPC choice messages.
2007-08-09 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/game-server/inventory.cpp: Fixed item move toward a not yet
existing slot.
* src/skill.h, src/net/connectionhandler.cpp: Removed useless
references to script header.
* src/script.cpp, src/script.h: Removed old scripting interface.
* src/resourcemanager.cpp: Allowed binary files to be used as strings.
* src/scripting/script.cpp, src/scripting/script.hpp: Added new
scripting interface.
* src/configure.ac, src/Makefile.am, src/scripting/lua.cpp: Added Lua
scripting engine.
* src/game-server/npc.cpp, src/game-server/npc.hpp,
src/game-server/testing.cpp: Converted NPC class to scripting engine.
* data/test.lua: Converted testing NPC to Lua.
2007-08-08 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/net/messageout.hpp, src/net/messageout.cpp: Changed argument
types to generic int.
* src/game-server/inventory.cpp, src/game-server/inventory.hpp,
src/defines.h, src/game-server/gamehandler.cpp: Added protocol for
moving objects between slots of inventory.
* src/game-server/state.cpp: Fixed position of the cleaning bit for
looks, so that it actually fits into network data.
2007-08-01 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/game-server/itemmanager.cpp: Ensured equipment items cannot
stack.
* src/game-server/inventory.hpp, src/game-server/inventory.cpp:
Improved equipment change so that no empty slot is used, unless really
needed. Ensured equip and unequip do not modify inventory when they
fail in non-delayed mode. Simplified and robustified code. Added
notification on changes of looks.
2007-07-31 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/defines.h, src/game-server/inventory.hpp,
src/game-server/gamehandler.cpp, src/game-server/inventory.cpp: Added
protocol for removing equipment. Compressed inventory message a bit.
2007-07-29 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/game-server/mapreader.cpp, src/game-server/map.cpp,
src/game-server/map.hpp, src/game-server/mapcomposite.cpp: Revert to
the old pathfinding system without collision with beings, as the new
one is too cpu intensive.
* src/net/messageout.hpp, src/net/messageout.cpp: Allowed cancellation
of outgoing messages.
* src/game-server/inventory.hpp, src/game-server/inventory.hpp:
Allowed delayed changes of inventories.
* src/defines.h, src/Makefile.am, src/game-server/trade.cpp,
src/game-server/trade.hpp, src/game-server/state.cpp,
src/game-server/character.cpp, src/game-server/character.hpp,
src/game-server/gamehandler.cpp: Added support for trading.
2007-07-28 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/account-server/storage.hpp, src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp: Stored channel IDs as unsigned
data.
* src/src/account-server/dalstoragesql.hpp,
src/chat-server/chatchannel.hpp: Assumed channels with password are
private.
* src/chat-server/chatclient.hpp, src/chat-server/chatchannel.cpp:
Added to client the channels it is connected to.
* src/chat-server/chatchannelmanager.cpp,
src/chat-server/chathandler.cpp, src/account-server/serverhandler.cpp,
src/chat-server/chatchannelmanager.hpp: Replaced user names by client
pointers when handling channels, in order to reduce lookups in
ChatHandler::sendInChannel.
2007-07-25 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/game-server/movingobject.hpp: Added missing accessor, compacted
object, and used generic integer in signatures.
* src/defines.h, src/game-server/state.cpp: Added being speed to
protocol.
* src/game-server/spawnarea.cpp,
src/game-server/accountconnection.cpp: Halved speed of maggots.
Reduced speed of characters, so that they donot travel much more than
one tile per data round-trip.
2007-07-25 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/chat-server/chathandler.hpp,
src/chat-server/chatchannelmanager.cpp,
src/chat-server/chatchannel.cpp,
src/chat-server/chatchannelmanager.hpp,
src/chat-server/chatchannel.hpp, src/chat-server/chathandler.cpp,
src/account-server/serverhandler.cpp,
src/account-server/dalstorage.cpp: Removed a host of unnecessary
methods from ChatChannelManager.
* AUTHORS: Added David Athay.
2007-07-23 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/game-server/monster.hpp, src/game-server/state.cpp: Sent proper
monster identifiers.
* src/resourcemanager.cpp: Enabled symlinks to data directory.
* src/game-server/accountconnection.cpp,
src/game-server/gamehandler.hpp,
src/game-server/accountconnection.hpp,
src/account-server/serverhandler.cpp: Commented out unused guild code.
It should not have been handled by the game server anyway.
* src/game-server/mapcomposite.hpp: Removed slow member, if it were to
be implemented.
* src/game-server/gamehandler.cpp, src/game-server/npc.hpp,
src/game-server/state.cpp, src/Makefile.am, src/defines.h: Added NPC
support.
* src/game-server/testing.cpp: Added a test NPC.
2007-07-20 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/chat-server/chatclient.hpp, src/chat-server/chathandler.cpp,
src/Makefile.am: Separated ChatClient class from chathandler.cpp.
* src/chat-server/chathandler.cpp, src/chat-server/chathandler.hpp:
Cleaned up handling of messages, defining a method for each handled
message.
* src/account-server/guildmanager.cpp, src/account-server/guild.cpp,
src/account-server/guildmanager.hpp, src/account-server/guild.hpp:
Some code formatting cleanup and corrected headers.
2007-07-17 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/chat-server/chathandler.hpp,
src/chat-server/chatchannelmanager.cpp,
src/chat-server/chatchannel.cpp,
src/chat-server/chatchannelmanager.hpp,
src/chat-server/chatchannel.hpp, src/chat-server/chathandler.cpp,
src/account-server/serverhandler.cpp,
src/account-server/dalstorage.cpp,
src/game-server/accountconnection.hpp: Some more cleanup of chat
handler related code.
2007-07-17 Eugenio Favalli <elvenprogrammer@gmail.com>
* gameserver.cbp, src/game-server/mapmanager.cpp,
src/game-server/mapreader.cpp, src/game-server/mapreader.hpp,
src/game-server/testing.cpp, src/utils/xml.hpp: Implemented loading of
warp and spawn areas from map files.
2007-07-15 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/chat-server/chatchannelmanager.cpp,
src/chat-server/chatchannelmanager.hpp,
src/chat-server/chathandler.cpp: Some cleaning up of the chat channel
manager code.
2007-07-14 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/defines.h, src/game-server/state.cpp: Reduced size of equipment
packets. Fixed packet sending on object distance change.
2007-07-12 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/game-server/item.hpp, src/game-server/inventory.cpp,
src/game-server/inventory.hpp: Fixed naming of equipment slot.
* src/game-server/object.hpp: Added update flag for looks.
* src/game-server/itemmanager.cpp: Added field loaded for sprite_id.
* src/defines.h, src/game-server/state.cpp: Added support for visible
equipment.
2007-07-08 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/game-server/being.cpp: Lowered messages to debug level.
* src/game-server/deathlistener.hpp: Made members non-abstract, so
that inheritors do not have to define them when they do not use them.
* data/monsters.xml: Added sample monster database.
* src/game-server/monstermanager.cpp, src/game-server/main-game.cpp,
src/game-server/monstermanager.hpp: Added manager for monster species.
* src/game-server/spawnarea.cpp, src/game-server/spawnarea.hpp,
src/game-server/testing.cpp: Specified the monster specy being
spawned.
* src/game-server/monster.cpp, src/game-server/monster.hpp: Added
monster drops.
* src/game-server/gamehandler.cpp: Update account database on
unexpected client disconnection.
2007-07-07 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/common/inventorydata.hpp: Fixed missing include.
* src/game-server/mapcomposite.cpp, src/game-server/mapcomposite.hpp:
Moved implementation details out of the header.
* src/game-server/mapmanager.cpp, src/game-server/mapmanager.hpp,
src/game-server/state.cpp, src/game-server/state.hpp: Merged LoadedMap
and MapComposite classes. Delegated handling of composite maps to the
map manager.
* src/game-server/testing.cpp, src/game-server/thing.hpp,
src/game-server/spawnarea.cpp, src/game-server/spawnarea.hpp,
src/game-server/movingobject.cpp, src/game-server/monster.cpp,
src/game-server/character.cpp, src/game-server/character.hpp,
src/game-server/trigger.cpp, src/game-server/trigger.hpp,
src/gamehandler.cpp: Simplified code by using map pointers only,
instead of using both map IDs and map pointers.
* src/game-server/main-game.cpp, src/game-server/inventory.cpp,
src/game-server/itemmanager.cpp, src/game-server/itemmanager.hpp,
src/game-server/mapmanager.cpp, src/game-server/mapmanager.hpp,
src/game-server/state.cpp, src/game-server/state.hpp,
src/game-server/accountconnection.cpp,
src/game-server/gamehandler.cpp: Changed singleton managers from
classes to namespace interfaces. Removed global pointers. Moved
private members to implementation files.
* src/game-server/state.cpp, src/game-server/being.cpp,
src/game-server/movingobject.cpp, src/game-server/movingobject.hpp:
Fixed teleportation hack caused by caching of pathfinder results.
2007-07-03 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/account-server/dalstorage.cpp: Added error messages for failed
SQL requests when retrieving character. Added check for failed
character when retrieving account. Added check for corrupted
inventory.
2007-07-02 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/account-server/storage.cpp, src/account-server/storage.hpp:
Moved trivial accessors to header file. Removed C-like prototypes and
harmful exception specifications.
* src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp: Factored duplicate query code.
Removed C-like prototypes and harmful exception specifications.
* src/account-server/dalstorage.cpp: Added support for loading
inventory from database. Fixed mysqlism for multi-insertion.
2007-07-02 Eugenio Favalli <elvenprogrammer@gmail.com>
* accountserver.cbp, gameserver.cbp: Updated project files.
2007-07-01 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/abstractcharacterdata.cpp, src/abstractcharacterdata.hpp,
src/serialize/characterdata.hpp, src/account-server/serverhandler.cpp,
src/game-server/accountconnection.cpp: Removed multiple inheritance
mechanism for serialization. Replaced it by a less cumbersome template
interface.
* src/common/inventorydata.hpp: Set inventory structures in a
directory common to both servers.
* src/account-server/dalstorage.cpp: Commented out unused code.
* src/Makefile.am: Taken new files into account.
* src/account-server/characterdata.cpp, src/game-server/character.cpp,
src/account-server/characterdata.hpp, src/game-server/character.hpp:
Removed new inventory code, as it was not doing anything.
* src/inventory.cpp: Reverted to the old code, as it was working just
fine.
* src/game-server/state.cpp: Added assertions to detect insertion and
removal of objects at updating time.
* src/game-server/accountconnection.cpp,
src/game-server/character.cpp, src/defines.h,
src/account-server/characterdata.hpp,
src/account-server/characterdata.cpp, src/serialize/characterdata.hpp:
Removed automatic (de)serialization of ID, so that it can be properly
used, and of name, so that it does not waste bandwidth.
* src/account-server/serverhandler.cpp: Reverted to the scheme based
on character ID, so that runtime character data are persistent again.
* src/account-server/dalstoragesql.hpp,
src/account-server/dalstorage.cpp: Added support for storing inventory
in database.
2007-06-28 Philipp Sehmisch <tmw@crushnet.org>
* src/defines.h, src/game-server/state.cpp: Attack direction is now
included in being attack messages.
* src/game-server/accountconnection.cpp: Player characters are now
spawned with full hit points (todo: save current hit points in
database when a character logs out so that players can't heal by
logging in and out).
* src/game-server/being.cpp, src/game-server/deathlistener.hpp,
src/game-server/spawnarea.hpp: Death listeners are now informed when
a being object is deleted.
* src/game-server/being.hpp: Being::damage() now returns the resulting
loss of hit points.
* src/game-server/character.cpp: Characters hit circle size is now
initialized properly.
* src/game-server/map.cpp, src/game-server/map.hpp,
src/game-server/mapcomposite.cpp, src/game-server/mapcomposite.hpp,
src/game-server/mapreader.cpp, src/state.cpp: Pathfinding now takes
the tiles that are occupied by beings into account. Map::find_path()
now has an optional argument that sets the maximum path cost.
* src/game-server/monster.cpp, src/game-server/monster.hpp,
src/game-server/spawnarea.cpp, src/game-server/thing.hpp: Implemented
monster attacking and provisoric monster AI. Monster now chase and
attack players that hurt them.
* src/game-server/spawnarea.cpp: Monsters are no longer spawned on
unwalkable tiles.
2007-06-28 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/game-server/spawnarea.cpp: Delegated creature insertion to the
State class so that it does not disturb object updating.
2007-06-26 Eugenio Favalli <elvenprogrammer@gmail.com>
* accountserver.cbp: Updated project file.
2007-06-25 Eugenio Favalli <elvenprogrammer@gmail.com>
* accountserver.cbp, gameserver.cbp: Fixed include directories and
updated project files.
2007-06-16 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/utils/mathutils.cpp: Fixed miscompilation of rsqrt due to type
aliasing and sped up sqrt.
* src/game-server/character.cpp: Fixed initial attribute status.
2007-04-28 David Athay <ko2fan@gmail.com>
* src/chat-server/chathandler.cpp,
src/account-server/guildmanager.cpp: Fixed bug where
the guild creator was never added to the guild.
2007-04-22 David Athay <ko2fan@gmail.com>
* src/chat-server/chathandler.cpp,
src/account-server/guildmanager.cpp,
src/account-server/guildmanager.hpp,
src/account-server/serverhandler.cpp,
src/account-server/storage.hpp, src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp, src/defines.h,
src/game-server/gamehandler.cpp,
src/game-server/accountconnection.cpp,
src/game-server/accountconnection.hpp: Added quitting guilds.
2007-04-11 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/being.cpp: Using effective attributes instead of
base attributes for damage calculation.
2007-04-05 David Athay <ko2fan@gmail.com>
* src/chat-server/chathandler.hpp,
src/chat-server/chathandler.cpp,
src/account-server/guildmanager.cpp,
src/account-server/guildmanager.hpp, src/defines.h:
Added user joining and leaving, plus stopped non guild members
joining guild channels.
2007-03-31 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/Makefile.am, src/game-server/testing.cpp,
src/game-server/spawnarea.cpp, src/game-server/state.hpp,
src/game-server/spawnarea.hpp, src/game-server/monster.cpp,
src/game-server/monster.hpp, src/game-server/trigger.hpp: Made a start
with having monsters spawn using a SpawnArea.
* src/net/messagein.hpp, src/net/messagein.cpp,
src/net/messageout.hpp, src/net/messageout.cpp,
src/net/connectionhandler.cpp, src/net/netcomputer.cpp: Moved writing
of messages into MessageIn and MessageOut and tweaked the printing of
the message ID.
* src/Makefile.am, src/game-server/spawnarea.cpp,
src/game-server/being.cpp, src/game-server/spawnarea.hpp,
src/game-server/monster.cpp, src/game-server/being.hpp,
src/game-server/movingobject.hpp, src/game-server/monster.hpp,
src/game-server/deathlistener.hpp: Added a DeathListener interface,
which the SpawnArea now uses to get notified about dying beings, so
that it knows when to spawn more.
* src/game-server/spawnarea.cpp, src/game-server/spawnarea.hpp: Took
into account spawn rate.
2007-03-30 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/Makefile.am, src/game-server/thing.hpp,
src/game-server/movingobject.cpp, src/game-server/being.hpp,
src/game-server/movingobject.hpp, src/game-server/trigger.cpp,
src/game-server/object.cpp, src/game-server/trigger.hpp,
src/game-server/object.hpp: Separated the Thing and MovingObject
classes from the Object module.
2007-03-30 Philipp Sehmisch <tmw@crushnet.org>
* src/controller.cpp, src/controller.h, src/game-server/monster.cpp,
src/game-server/monster.hpp, src/game-server/testing.cpp,
src/Makefile.am: Renamed "Controlled" to "Monster" and moved it into
the game-server directory.
2007-03-30 David Athay <ko2fan@gmail.com>
* src/chat-server/chathandler.cpp,
src/chat-server/chathandler.hpp,
src/account-server/accounthandler.hpp,
src/account-server/guildmanager.cpp,
src/account-server/guildmanager.hpp,
src/account-server/guild.cpp, src/account-server/guild.hpp,
src/account-server/serverhandler.cpp,
src/account-server/serverhandler.hpp,
src/account-server/storage.hpp, src/account-server/storage.cpp,
src/account-server/characterdata.hpp,
src/game-server/accountconnection.cpp,
src/defines: Added rejoining guilds the player belongs to.
* src/account-server/serverhandler.hpp,
src/chat-server/chathandler.cpp: Player now joins guild channels
upon connecting to the chat server.
* src/acccount-server/dalstorage.cpp: Fixed bug with creating
guilds.
2007-03-25 David Athay <ko2fan@gmail.com>
* src/chat-server/chathandler.cpp,
src/chat-server/chathandler.hpp,
src/account-server/serverhandler.cpp,
src/account-server/serverhandler.hpp,
src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp,
src/defines.h, src/game-server/gamehandler.cpp,
src/game-server/gamehandler.hpp,
src/game-server/accountconnection.cpp: Implemented inviting
users to guilds.
2007-03-23 Eugenio Favalli <elvenprogrammer@gmail.com>
* tmw.cbp: Updated and fixed Code::Blocks project files.
2007-03-23 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/point.h, src/configuration.cpp,
src/account-server/accounthandler.cpp,
src/account-server/accountclient.cpp, src/utils/stringfilter.cpp,
src/abstractcharacterdata.hpp, src/game-server/being.cpp,
src/game-server/character.cpp, src/game-server/character.hpp: Mostly
fixed some compilation issues.
2007-03-23 Philipp Sehmisch <tmw@crushnet.org>
* src/account-server/accounthandler.cpp, src/defines.h,
src/game-server/character.cpp, src/game-server/character.hpp
src/game-server/state.cpp: Implemented communication of attribute
changes from server to client.
* src/game-server/itemmanager.cpp: Another case of inconsistent order
of attributes.
2007-03-22 Philipp Sehmisch <tmw@crushnet.org>
* src/account-server/dalstorage.cpp: Fixed a bug that caused the
character attributes to become mixed up.
2007-03-20 Philipp Sehmisch <tmw@crushnet.org>
* src/account-server/accounthandler.cpp, src/defines.h: Removed check
for difference between lowest and highest attribute at char creation.
* src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp: Unified order of basic attributes.
2007-03-20 Rogier Polak <rogier.l.a.polak@gmail.com>
* src/account-server/accounthandler.cpp, src/utils/tokencollector.hpp,
src/game-server/gamehandler.cpp: Corrected a bug, that occurred when
connecting to the game-server. Made member functions of TokenCollector
less fragile.
2007-03-19 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/gamehandler.cpp, src/game-server/gamehandler.hpp,
src/utils/tokendispenser.hpp, src/account-server/accountclient.cpp,
src/account-server/accounthandler.cpp: Fixed two compiler warnings
and corrected a spelling error.
2007-03-19 David Athay <ko2fan@gmail.com>
* src/Makefile.am, src/account-server/accounthandler.cpp,
src/account-server/characterdata.hpp,
src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp,
src/account-server/main-account.cpp,
src/account-server/serverhandler.cpp,
src/account-server/serverhandler.hpp,
src/account-server/storage.hpp, src/chat-server/chathandler.cpp,
src/account-server/guild.cpp, src/account-server/guild.h,
src/account-server/guildmanager.cpp,
src/account-server/guildmanager.hpp,
src/chat-server/chathandler.hpp, src/defines.h,
src/game-server/accountconnection.cpp,
src/game-server/accountconnection.hpp,
src/game-server/gamehandler.cpp, src/game-server/gamehandler.hpp,
src/game-server/mapmanager.cpp, src/game-server/mapmanager.hpp,
src/net/netcomputer.cpp : Add first stage of guild system.
2007-03-18 Rogier Polak <rogier.l.a.polak@gmail.com>
* src/net/netcomputer.cpp: Corrected the debug message for big-endian
architectures.
* src/defines.h, src/Makefile.am,
src/account-server/accountclient.hpp,
src/account-server/accountclient.cpp,
src/account-server/accounthandler.hpp,
src/account-server/accounthandler.cpp,
src/account-server/serverhandler.hpp,
src/account-server/serverhandler.cpp,
src/game-server/accountconnection.cpp,
src/game-server/gamehandler.hpp, src/game-server/gamehandler.cpp,
src/utils/tokencollector.hpp: Added a TokenCollector class, which
matches tokens used for moving clients between servers. Improved the
handling of connecting clients for the account-server.
2007-03-15 Philipp Sehmisch <tmw@crushnet.org>
* src/account-server/accounthandler.cpp: Set the default map
position of new characters to a value that makes more sense.
* src/defines.h, src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp: Implemented new basic attribute
system.
* src/controller.cpp, src/controller.hpp, src/defines.h,
src/game-server/being.cpp, src/game-server/being.hpp,
src/game-server/character.cpp, src/game-server/character.hpp,
src/gameserver/item.hpp, src/gameserver/itemmanager.hpp,
src/gameserver/testing.cpp:
Removed attribute modifiers, unified basic and derived attributes,
storing attributes in a vector, renamed some attribute identifiers,
removed identifiers for derived attributes that aren't needed yet.
2007-03-14 Rogier Polak <rogier.l.a.polak@gmail.com>
* src/abstractcharacterdata.hpp, src/abstractcharacterdata.cpp,
src/defines.h, src/Makefile.am, src/playerdata.hpp,
src/playerdata.cpp, src/account-server/accounthandler.cpp,
src/account-server/characterdata.hpp,
src/account-server/characterdata.cpp,
src/account-server/dalstorage.cpp,
src/account-server/serverhandler.cpp,
src/game-server/accountconnection.hpp,
src/game-server/accountconnection.cpp, src/game-server/being.hpp,
src/game-server/being.cpp, src/game-server/character.hpp,
src/game-server/character.cpp, src/game-server/gamehandler.hpp,
src/game-server/gamehandler.cpp, src/game-server/inventory.hpp,
src/game-server/inventory.cpp, src/game-server/item.hpp,
src/game-server/item.cpp, src/game-server/itemmanager.cpp,
src/game-server/mapcomposite.hpp, src/game-server/mapcomposite.cpp,
src/game-server/object.hpp, src/game-server/player.hpp,
src/game-server/player.cpp, src/game-server/state.hpp,
src/game-server/state.cpp, src/game-server/trigger.cpp: Renamed the
Player class to Character, which now inherits from Being and
AbstractCharacterData. (Changed as little as possible of basic damage
calculation code)
2007-03-11 Philipp Sehmisch <tmw@crushnet.org>
* src/controller.cpp, src/controller.h, src/gameserver/being.cpp,
src/gameserver/being.hpp, src/gameserver/item.hpp,
src/gameserver/itemmanager.cpp, src/gameserver/player.cpp,
src/gameserver/player.hpp, src/gameserver/testing.cpp: Implemented
stat handling infrastructure and basic damage calculation.
src/gameserver/being.cpp: Increased attack zone (Sorry, I couldn't
hit nothing and that annoyed me during testing)
2007-03-10 Rogier Polak <rogier.l.a.polak@gmail.com>
* src/Makefile.am, src/account-server/accounthandler.cpp,
src/account-server/main-account.cpp,
src/account-server/serverhandler.cpp, src/chat-server/chathandler.cpp,
src/game-server/accountconnection.cpp,
src/game-server/gamehandler.cpp, src/game-server/main-game.cpp,
src/utils/tokendispenser.hpp, src/utils/tokendispenser.cpp: Added a
utility function for creating magic_tokens.
* src/utils/processorutils.hpp, src/utils/processorutils.cpp,
src/Makefile.am, src/account-server/main-account.cpp,
src/game-server/main-game.cpp: Added a utils::processor namespace and
a function to determine if, the processor the program is running on,
is little-endian or big-endian.
* src/net/connectionhandler.hpp, src/net/connectionhandler.cpp,
src/net/netcomputer.cpp: Corrected the output of the overloaded
operator << of the NetComputer class.
2007-03-05 Rogier Polak <rogier.l.a.polak@gmail.com>
* src/defines.h, src/Makefile.am, src/abstractcharacterdata.hpp,
src/abstractcharacterdata.cpp, src/account-server/account.hpp,
src/account-server/account.cpp, src/account-server/accountclient.hpp
src/account-server/accountclient.cpp,
src/account-server/accounthandler.cpp,
src/account-server/characterdata.hpp,
src/account-server/characterdata.cpp,
src/account-server/dalstorage.hpp, src/account-server/dalstorage.cpp
src/account-server/dalstoragesql.hpp,
src/account-server/serverhandler.hpp,
src/account-server/serverhandler.cpp, src/account-server/storage.hpp
src/game-server/accountconnection.cpp: Added an abstract base class
for characterdata, in order to use the same serialize and deserialize
functions on both the accountserver and the gameserver. Added the
CharacterData class to the accountserver, a specialisation of
characterdata for the accountserver. Renamed (raw)stats to attributes.
* src/point.h, src/controller.cpp, src/game-server/testing.cpp,
src/game-server/state.cpp: Added two constructors to the Point class.
* src/utils/wingettimeofday.h, src/utils/timer.h: Set svn properties.
* src/game-server/mapcomposite.cpp: Cleaned up a double deletion.
* src/game-server/item.hpp: Added the member spriteId.
* src/account-server/main-account.cpp, src/game-server/main-game.cpp:
Modified the default log files (primarily for development purposes).
2007-03-03 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/utils/mathutils.cpp, src/utils/mathutils.h,
src/game-server/collisiondetection.hpp,
src/game-server/collisiondetection.cpp: Use M_PI_2 instead of
acos(0.0f) and FLT_MAX instead of 1.0E40f (which exceeded the maximum
float value). Some cosmetics (whitespace and declaring variables where
they are used).
2007-03-03 Rogier Polak <rogier.l.a.polak@gmail.com>
* src/utils/mathutils.h, src/utils/mathutils.cpp,
src/utils/fastsqrt.h, src/Makefile.am, src/game-server/main-game.cpp:
Moved math utility functions to the namespace utils::math, added
cached trigonomic functions.
* src/game-server/collisiondetection.hpp, src/game-server/being.cpp,
src/game-server/collisiondetection.cpp: Implemented an alternate
collision-detection function, for disks and circle-sectors.
2007-03-03 Philipp Sehmisch <tmw@crushnet.org>
* src/controller.cpp, src/controller.h, src/defines.h,
src/gameserver/being.cpp, src/gameserver/being.hpp,
src/gameserver/gamehandler.cpp, src/gameserver/object.hpp,
src/gameserver/player.cpp, src/gameserver/player.hpp,
src/gameserver/state.cpp, src/gameserver/testing.cpp,
src/point.h: Implemented being death, removal of dead mobs and
sitting.
2007-03-01 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/Makefile.am: Updated with new collision related module.
2007-02-27 Philipp Sehmisch <tmw@crushnet.org>
* src/account-server/dalstorage.cpp,
src/account-server/dalstoragesql.hpp,
src/chat-server/chatchannel.cpp,
src/chat-server/chatchannel.hpp,
src/chat-server/chatchannelmanager.cpp,
src/chat-server/chatchannelmanager.hpp,
src/chat-server/chathandler.cpp,
src/dal/mysqldataprovider.cpp,
src/dal/pqdataprovider.cpp
src/dal/qulitedataprovider.cpp,
src/defines.h: Implementation of chat channels by Trapdoor.
2007-02-25 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/collisiondetection.cpp,
src/game-server/collisiondetection.hpp,
src/utils/fastsqrt.h: Added a function to calculate collisions between
circles and circle sectors.
* src/being.cpp, src/object.hpp, src/testing.cpp: Improved hit
detection by using said function.
2007-02-23 Rogier Polak <rogier.l.a.polak@gmail.com>
* src/chat-server/chathandler.cpp: Added disconnect.
* src/game-server/gamehandler.cpp,
src/game-server/accountconnection.cpp: Bugfixes related to
switch_character.
* src/account-server/main-account.cpp, src/game-server/main-game.cpp:
Small modification to accomodate MS-Windows.
2007-02-04 Rogier Polak <rogier_polak@users.sourceforge.net>
* src/chat-server/chathandler.cpp,
src/account-server/accounthandler.hpp,
src/account-server/serverhandler.cpp,
src/account-server/dalstorage.cpp, src/account-server/storage.hpp,
src/account-server/accounthandler.cpp,
src/account-server/dalstorage.hpp, src/defines.h, src/playerdata.cpp,
src/playerdata.hpp, src/game-server/gamehandler.cpp,
src/game-server/accountconnection.cpp,
src/game-server/accountconnection.hpp: Added support for switching
character by reconnecting to the account server and fixed the issue
where a client is not logged in after registering (patch applied by
Bjørn Lindeijer).
2007-02-01 Rogier Polak <rogier_polak@users.sourceforge.net>
* src/account-server/main-account.cpp,
src/account-server/dalstorage.cpp, src/account-server/account.cpp,
src/game-server/mapmanager.cpp, src/game-server/main-game.cpp:
Added graceful server shutdown, chose some more sane variables names
for SQL queries and fixed a possible character collision error (patch
applied by Bjørn Lindeijer).
* src/game-server/object.cpp, src/game-server/object.hpp: Added
caching of paths (patch applied by Bjørn Lindeijer).
2007-01-14 Björn Steinbrink <B.Steinbrink@gmx.de>
* src/utils/logger.h: Unified logging macros.
2007-01-12 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/account-server/serverhandler.cpp: Report problems with finding a
certain character instead of crashing.
2007-01-06 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/game-server/mapcomposite.cpp: Fixed a compiler warning.
* src/chat-server/chathandler.hpp, src/chat-server/chathandler.cpp,
src/net/connectionhandler.hpp, src/net/connectionhandler.cpp,
src/account-server/main-account.cpp, src/game-server/mapcomposite.hpp,
src/Makefile.am: Allowed usage of timeout in
ConnectionHandler::process in order to reduce CPU usage. Now account
and chat servers no longer need to keep track of game time, but simply
listen for incoming messages to act on.
* src/utils/timer.cpp, src/utils/timer.h: Gracefully handle cases
where the computer time is set back.
2007-01-05 Bjørn Lindeijer <bjorn@lindeijer.nl>
* AUTHORS: Updated to include all current authors.
* src/account-server/main-account.cpp,
src/account-server/serverhandler.cpp, src/utils/logger.h,
src/game-server/main-game.cpp: Removed log level argument from
LOG_FATAL helper macro, with the assumption that fatal messages should
always have highest log level.
* docs/tmwserv.xml: Added some documentation to example config file.
2007-01-05 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/game-server/player.cpp, src/game-server/state.cpp: Delayed
update of persistent position and put it into state handling, so that
the update happens before map change.
* src/game-server/item.hpp: Added an amount property to items lying on
the ground.
* src/game-server/testing.cpp: Added a piece of equipment.
* src/game-server/defines.h, src/game-server/gamehandler.cpp:
Implemented item dropping.
* src/game-server/player.hpp: Removed useless dependency on Inventory.
* src/game-server/inventory.cpp: Fixed reported amounts of inventory
items. Embeded handling of client message directly into the class.
* src/defines.h, src/game-server/gamehandler.cpp: Added full update of
Inventory on Player connection.
* src/game-server/gamehandler.cpp, src/game-server/player.hpp,
src/game-server/player.cpp: Generalized player state.
* src/utils/logger.h, src/utils/logger.cpp: Simplified handling of
verbosity levels: fatal, error, warn, info, debug are now the levels.
Optimized code by generating only needed messages.
* src/chat-server/chathandler.cpp, src/net/connection.cpp,
src/net/netcomputer.cpp, src/net/connectionhandler.cpp, src/skill.cpp,
src/configuration.cpp, src/account-server/main-account.cpp,
src/account-server/serverhandler.cpp, src/utils/stringfilter.cpp,
src/account-server/dalstorage.cpp, src/utils/zlib.cpp,
src/account-server/accounthandler.cpp, src/resourcemanager.cpp,
src/controller.cpp, src/game-server/mapreader.cpp,
src/game-server/gamehandler.cpp, src/game-server/mapmanager.cpp,
src/game-server/accountconnection.cpp, src/game-server/being.cpp,
src/game-server/itemmanager.cpp, src/game-server/main-game.cpp:
Updated accordingly. Removed some unworthy debug messages.
* src/Makefile.am: Removed useless dependencies.
2007-01-04 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/playerdata.hpp, src/playerdata.cpp, src/defines.h,
src/Makefile.am: Factored serialization of PlayerData into a new file.
Added inventory to PlayerData. Removed counted pointers.
* src/account-server/serverhandler.hpp, src/account-server/account.hpp:
Moved counted pointers here.
* src/account-server/serverhandler.cpp,
src/game-server/accountconnection.cpp: Simplified by relying on the
serialization functionality of PlayerData.
* src/game-server/inventory.hpp, src/game-server/inventory.cpp:
Transformed Inventory into a strict helper class, as data are now
stored inside PlayerData. Reduced memory footprint of inventory by
avoiding storing empty slots.
* src/game-server/player.hpp, src/game-server/player.cpp,
src/game-server/gamehandler.cpp: Updated accordingly.
* src/net/messagein.hpp, src/net/messagein.cpp: Removed signedness
interpretation of received data.
* src/game-server/mapcomposite.hpp, src/game-server/mapcomposite.cpp:
Added iterator around a point.
* src/defines.h, src/game-server/gamehandler.cpp: Implemented pick-up.
2007-01-04 Eugenio Favalli <elvenprogrammer@gmail.com>
* accountserver.cbp, gameserver.cbp,
src/account-server/main-account.cpp, src/game-server/main-game.cpp:
Cleaned and updated project files, fixed Win32 PACKAGE_VERSION
definition.
* gameserver.cbp, src/game-server/state.cpp: Moved NOGDI definition to
Code::Blocks project file.
2007-01-03 Eugenio Favalli <elvenprogrammer@gmail.com>
* accountserver.cbp, gameserver.cbp: Updated project files.
* src/game-server/state.cpp: Fix to Windows Rectangle redefinition.
2007-01-03 Björn Steinbrink <B.Steinbrink@gmx.de>
* src/utils/timer.cpp: Removed extra semicolons that break builds with
--pedantic.
2007-01-03 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/debug.h, src/debug.cpp, src/Makefile.am: Removed obsolete debug
helpers.
* src/playerdata.hpp: Taken persistent data out of Player.
* src/being.h, src/being.cpp, src/object.h, src/object.cpp, src/map.h,
src/player.h, src/player.cpp, src/inventory.h, src/inventory.cpp,
src/map.cpp: Moved to src/game-server directory and changed header
extension to hpp.
* src/controller.h, src/item.h, src/game-server/mapcomposite.cpp,
src/game-server/mapreader.cpp, src/game-server/mapcomposite.hpp,
src/game-server/trigger.cpp, src/game-server/trigger.hpp,
src/game-server/accountconnection.cpp,
src/game-server/gamehandler.hpp, src/game-server/state.cpp,
src/game-server/accountconnection.hpp,
src/game-server/itemmanager.cpp: Updated accordingly.
* src/account-server/account.hpp,
src/account-server/serverhandler.cpp,
src/account-server/dalstorage.cpp, src/chat-server/chatchannel.hpp,
src/account-server/serverhandler.hpp, src/chat-server/chathandler.cpp,
src/account-server/accounthandler.cpp: Relied on PlayerData to remove
dependencies on Thing, Object, MovingObject, etc.
* src/defines.h: Fixed enumerations.
* src/games-server/gamehandler.cpp, src/game-server/player.cpp:
Commented in inventory code back.
* src/item.h, src/item.cpp: Moved to src/game-server directory and
changed header extension to hpp.
* src/game-server/itemmanager.hpp, src/game-server/itemmanager.cpp,
src/game-server/inventory.hpp, src/game-server/inventory.cpp,
src/game-server/player.hpp, src/game-server/gamehandler.cpp,
src/game-server/player.cpp: Simplified Inventory interface a bit.
Renamed Item to ItemClass to reflect its role. Added a Item class for
Objects lying on the world map.
* src/game-server/being.hpp: Removed counted pointers.
* src/game-server/mapcomposite.hpp, src/game-server/mapcomposite.cpp,
src/game-server/being.cpp: Fixed end of lines.
* src/game-server/mapcomposite.hpp, src/game-server/mapcomposite.cpp:
Fixed pessimistic bounds on region iterators. Added an iterator for
non-moving objects.
* src/defines.h, src/game-server/state.cpp: Added code to send data on
floor items to clients.
* src/game-server/testing.cpp: Added a Xmas cake for testing purpose.
2007-01-02 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* tmwserv.cbp, tmwserv.dev, runserv.sh: Removed obsolete project files
and shell script.
* configure.ac, src/Makefile.am, src/tests, src/client.cpp: Removed
obsolete tests and text client.
* src/game-server/mapcomposite.hpp, src/game-server/mapcomposite.cpp,
src/point.h: Removed implicit radius for checking range of Point.
Added a Rectangle class. Added support for rectangles in MapComposite.
* src/object.h, src/defines.h, src/game-server/mapcomposite.hpp,
src/game-server/mapcomposite.cpp, src/game-server/state.hpp,
src/game-server/state.cpp: Put an ancestor for Object that are not
visible to clients. Added simple accessors for object types.
* src/game-server/mapmanager.cpp: Prevented loading unactive maps.
* src/game-server/trigger.hpp, src/game-server/trigger.cpp: Added a
trigger mechanism and a warp action.
* src/game-server/testing.cpp: Added some hardcoded game objects for
testing purpose.
* src/sqlitestorage.h, src/sqlitestorage.cpp: Removed obsolete SQLite
support.
* src/utils/zlib.hpp, src/utils/zlib.cpp: Added support for inflating
compressed data.
* src/mapreader.h, src/mapreader.cpp: Moved to src/game-server
directory and changed header extension to hpp. Removed useless
declarations. Relied on utils/xml and utils/zlib. Simplified code.
Fixed memory leaks on XML document and on Tilesets.
* src/properties.h, src/Makefile.am: Removed now useless class
Properties.
2006-12-31 Philipp Sehmisch <tmw@crushnet.org>
* accountserver.cbp, gameserver.cbp, runsrv.bat: Added Code::Blocks
project files and windows start script.
2006-12-31 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/account-server/dalstorage.hpp,
src/account-server/dalstorage.cpp, src/account-server/storage.hpp:
Added function to query a character in the database.
* src/account-server/serverhandler.cpp: Finished implementation for
warping players around servers.
2006-12-30 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/mapcomposite.h, src/mapcomposite.cpp: Moved to src/game-server
directory and changed header extension to hpp.
* src/Makefile.am: Updated accordingly.
* src/object.h, src/being.h: Changed definition of directions.
* src/being.cpp: Relied on MapComposite iterators to scan only beings
in the vincinity one time instead of all objects of the map four
times. Used a pixel-based zone instead of tile-based zone for
damaging.
* src/player.cpp: Removed useless dependency.
* src/game-server/mapcomposite.hpp, src/game-server/mapcomposite.cpp:
Added a radius parameter to iterator creators. Removed unused and
inefficient getObjectsOnTile.
* src/game-server/state.hpp, src/game-server/state.cpp: Split update
function into updateMap and informPlayer. Simplified code a bit.
* src/game-server/mapcomposite.hpp, src/game-server/mapcomposite.cpp,
src/object.h, src/game-server/state.hpp, src/game-server/state.cpp,
src/game-server/accountconnection.cpp,
src/game-server/gamehandler.cpp: Removed reference-counted pointers on
Object.
* src/game-server/gameclient.hpp, src/game-server/gameclient.cpp,
src/player.h, src/game-server/gamehandler.cpp, src/Makefile.am:
Embedded a simplified version of GameClient into GameHandler. Removed
the original files.
* src/game-server/mapmanager.hpp, src/game-server/mapmanager.cpp:
Added on-the-fly map loading.
* src/defines.h, src/game-server/accountconnection.cpp,
src/account-server/serverhandler.cpp: Controlled map activation from
the account server, so that clients are not kept on the wrong server
when warped.
* src/defines.h, src/game-server/state.hpp, src/game-server/state.cpp,
src/account-server/serverhandler.cpp, src/game-server/gamehandler.hpp,
src/game-server/gamehandler.cpp,
src/game-server/accountconnection.hpp,
src/game-server/accountconnection.cpp: Added a queue for delaying
intrusive events until update is finished. Partially implemented
server communications to update player data and to warp players
around.
2006-12-29 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/account.h, src/account.cpp, src/accountclient.h,
src/accountclient.cpp, src/storage.h, src/storage.cpp,
src/dalstorage.h, src/dalstorage.cpp, src/dalstoragesql.h,
src/accounthandler.h, src/accounthandler.cpp: Moved to
src/account-server directory and changed header extension to hpp.
* src/chathandler.h, src/chathandler.cpp, src/chatchannelmanager.h,
src/chatchannel.cpp, src/chatchannel.h, src/chatchannelmanager.cpp:
Moved to src/chat-server directory and changed header extension to
hpp.
* src/itemmanger.h, src/itemmanager.cpp, src/state.h, src/state.cpp,
src/gamehandler.h, src/gamehandler.cpp, src/gameclient.h,
src/gameclient.cpp, src/mapmanager.h, src/mapmanager.cpp: Moved to
src/game-server directory and changed header extension to hpp.
* src/messagein.h, src/messagein.cpp, src/messageout.h,
src/messageout.cpp, src/connectionhandler.h,
src/connectionhandler.cpp, src/netcomputer.h, src/netcomputer.cpp:
Moved to src/net directory and changed header extension to hpp.
* src/controller.h, src/controller.cpp, src/game-server/state.cpp,
src/being.cpp, src/being.h: Removed knowledge of Controller in Being
by deriving a Controlled Being.
* src/game-server/state.cpp, src/game-server/mapmanager.cpp,
src/game-server/mapmanager.hpp, src/object.cpp: Simplified by removing
Singleton pattern.
* src/object.cpp: Moved code around: the idle case is now a fast path.
* src/net/connection.hpp, src/net/connection.cpp: Added a Connection
class to handle inter-server communications.
* src/game-server/itemmanager.cpp, src/utils/xml.hpp,
src/utils/xml.cpp: Copied an XML helper from tmw client. Used it to
simplify ItemManager.
* src/game-server/mapmanager.hpp, src/game-server/mapmanager.cpp,
data/maps.xml, src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp, src/account-server/storage.hpp,
src/account-server/storage.cpp, src/account-server/dalstoragesql.hpp:
Added a XML file linking map names to map identifiers. Removed the
database as these links are not supposed to dynamically change.
Modified code to load the (relevant) maps beforehand.
* src/game-server/gamehandler.cpp, src/chat-server/chathandler.cpp,
src/item.h, src/object.h, src/player.h: Fixed compile warnings and
missing returns.
* src/player.cpp, src/game-server/gamehandler.cpp: Commented out the
currently unused inventory interface.
* src/net/messagein.hpp: Updated from tmwclient to add
getUnreadLength.
* src/net/connectionhandler.hpp, src/net/connectionhandler.cpp:
Removed unused ClientData class.
* src/inventory.h: Removed "at" accessors, as nobody is ready to catch
exceptions. Removed unneeded dependency and unused pointer.
* src/net/netcomputer.hpp: Fixed typos.
* src/configuration.h: Factored DEFAULT_SERVER_PORT macro here.
* src/defines.h, src/game-server/accountconnection.hpp,
src/game-server/accountconnection.cpp,
src/account-server/serverhandler.hpp,
src/account-server/serverhandler.cpp,
src/account-server/accounthandler.cpp:
Added communication between account server and game server.
* src/main.cpp, src/Makefile.am: Created main files in both
src/account-server and src/game-server. Modified makefiles to produce
two server binaries.
* src/itemhandler.h, src/itemhandler.cpp: Removed: useless and unused.
* src/Makefile.am, src/account-server/dalstorage.cpp: Removed useless
dependency on Cipher + OpenSSL.
* README: Added a few words on how to run the split servers.
2006-12-29 Philipp Sehmisch <tmw@crushnet.org>
* src/being.cpp, src/being.h, src/defines.h, src/gamehandler.cpp,
src/mapcomposite.cpp, src/mapcomposite.h, src/object.h,
src/player.cpp, src/player.h, src/state.cpp: Implemented basic attack
hit detection and damage notification.
2006-12-27 Philipp Sehmisch <tmw@crushnet.org>
* src/defines.h, src/gamehandler.cpp, src/object.h, src/player.cpp,
src/player.h, src/state.cpp: Clients are now notified when other
clients near them perform attacks.
2006-10-20 Yohann Ferreira <bertram@cegetel.net>
* src/item.h, src/player.cpp, src/inventory.h, src/inventory.cpp:
Adding inventory handling basics Part 2.
2006-10-20 Yohann Ferreira <bertram@cegetel.net>
* data/items.xsd, data/items.xml, src/item.h, src/itemmanager.cpp,
src/main.cpp: Simplified item reference a bit and filled the reference
items.xml file.
* data/items.xml, data/items.xsd, src/item.h, src/itemmanager.cpp:
Added the missing Weapon Type and Max Per Slot item properties.
* src/inventory.h, src/inventory.cpp, src/itemmanager.h,
src/itemmanager.cpp, src/player.h, src/player.cpp,
src/gamehandler.cpp: Adding inventory handling (basics) Part 1.
2006-10-19 Yohann Ferreira <bertram@cegetel.net>
* data/items.xsd, src/main.cpp, src/Makefile.am, src/item.h,
src/item.cpp, itemmanager.cpp, itemmanager.h, being.h, player.cpp,
dalstorage.cpp: Added a backend to get item reference information.
The xml file isn't ready yet.
2006-10-03 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/itemhandler.h, tmwserv.cbp, tmwserv.dev: Updated project files
and fixed a compilation issue.
2006-10-03 Yohann Ferreira <bertram@cegetel.net>
* src/item.cpp, src/item.h, src/inventory.h, src.inventory.cpp,
src/itemhandler.h, src/itemhandler.cpp, src/dalstoragesql.h,
src/Makefile.am: Committed itemhandler structure part rc1.
src/accounthandler.cpp, src/accounthandler.h, src/chathandler.h,
src/chathandler.cpp, src/gamehandler.h, src/gamehandler.cpp: Made the
server tells which server is listening on a port.
2006-09-09 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/map.cpp: Merged client pathfinder changes.
2006-09-04 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/mapcomposite.cpp, src/mapcomposite.h, src/state.cpp: Fixed wrong
ID allocation. Improved failure propagation. Simplified code.
2006-09-03 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/player.cpp, src/object.h, src/gamehandler.h, src/state.cpp,
src/gamehandler.cpp, src/state.h: Removed mNeedUpdate and mNew from
Object class; added update flags instead. Reduced size of Object
fields. Moved sayAround from GameHandler to State class. Improved
handling of flags for move messages.
* src/mapcomposite.h, src/state.cpp, src/mapcomposite.cpp: Added map
partitioning to reduce quadratic behavior when checking object ranges.
* src/object.cpp: Fixed cost of diagonal moves.
2006-09-02 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/defines.h: Corrected hair and hair color constants to match
those available on the client.
2006-09-02 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/object.cpp, src/controller.cpp, src/dalstorage.cpp, src/items.h,
src/player.cpp, src/object.h, src/state.cpp, src/state.cpp,
src/defines.h, src/player.h, src/gamehandler.cpp: Decorrelated moving
object IDs from character database IDs. Switched to short IDs instead.
* src/messageout.cpp, src/messageout.h, src/state.cpp, src/defines.h:
Removed pixel-based synchronisation. Added variable length move
messages. Changed default buffer size of outgoing packets.
* src/src/accounthandler.cpp, src/point.h, src/object.cpp,
src/controller.cpp, src/dalstorage.cpp, src/object.h, src/state.cpp,
src/gamehandler.cpp: Made Point a POD type. Simplified server
algorithm for moving objects; it now matches the one in the client.
* src/gameclient.cpp, src/player.h, src/gamehandler.cpp: Added
GameClient pointer to Player class for O(1) message sending.
* src/mapcomposite.h, src/mapcomposite.cpp, src/Makefile.am: Moved
MapComposite class to its own files.
* src/gameclient.cpp, src/gamehandler.h, src/state.cpp, src/state.h,
src/gamehandler.cpp: Reduced amount of counted pointers. Implemented
unique public IDs.
2006-08-28 Eugenio Favalli <elvenprogrammer@gmail.com>
* tmwserv.cbp, tmwserv.dev: Updated project files.
2006-08-28 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/controller.h, src/object.cpp, src/controller.cpp, src/object.h,
src/state.cpp, src/being.cpp, src/Makefile.am, src/being.h: Added a
Controller class meant to implement behaviour loosely coupled to the
actual being. Used it to control 10 testing maggots that are now
randomly walking around.
2006-08-27 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/map.cpp, src/accounthandler.cpp, src/point.h,
src/dalstorage.cpp, src/object.h, src/state.cpp, src/gamehandler.cpp,
src/map.h, src/Makefile.am: Introduced Point class to replace the
confusing and clumsy usage of std::pair.
* src/point.h, src/player.cpp, src/account.h, src/being.cpp,
src/player.h, src/gameclient.h, src/state.h, src/Makefile.am,
src/being.h: Put Player class in its own module instead of defining it
together with Being.
2006-08-27 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/object.cpp: Fixed assertion failure on being movements.
* src/accounthandler.cpp: Matched server-side speed with client-side
speed. Removed position hack.
* src/state.cpp: Changed state handler so that entering and leaving
beings are only reported when they are in range.
2006-08-26 Rogier Polak <rogier_polak@users.sourceforge.net>
* src/netcomputer.h, src/netcomputer.cpp, src/connectionhandler.cpp:
Added the stream operator << to NetComputer, for logging of the
peers ip-address (patch applied by Bjørn Lindeijer).
2006-08-26 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/accounthandler.cpp: Set an arbitrary start position outside any
wall for testing purpose.
* src/gamehandler.cpp, src/defines.h: Send being identifier instead of
being name when saying around.
* src/object.h: Added a field indicating if an object just appeared.
* src/state.cpp: Improved update logic by taking into account beings
that just appeared. Moved "change map" message from AddObject to
InformPlayer.
2006-08-26 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/accounthandler.cpp: Read game and chat server addresses to send
to the client from the configuration file.
* docs/tmwserv.xml: Added example configuration file.
2006-08-25 Rogier Polak <rogier_polak@users.sourceforge.net>
* src/accountclient.h, src/messageout.cpp, src/accounthandler.cpp,
src/accountclient.cpp, src/netcomputer.h, src/client.cpp,
src/messageout.h, src/netcomputer.cpp, src/gameclient.cpp,
src/state.cpp, src/defines.h, src/gamehandler.cpp,
src/chathandler.cpp, src/gameclient.h: MessageOut is now more
efficient by preallocating buffer capacity, NetComputer no longer
holds a reference to the ConnectionHandler that spawned it and support
was added for unreliable packets and channels (patch applied by Bjørn
Lindeijer with some modifications).
2006-08-21 Eugenio Favalli <elvenprogrammer@gmail.com>
* tmwserv.cbp, tmwserv.dev: Updated project files.
2006-08-21 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/accounthandler.cpp, src/accounthandler.h: Handle character
create message in separate funcion.
2006-08-20 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/accounthandler.cpp: Do not send map name and send token before
game and chat server information, as per current specification.
* src/connectionhandler.h, src/connectionhandler.cpp,
src/dalstorage.cpp, src/netcomputer.cpp, src/mapmanager.cpp,
src/state.cpp: Some code format changes, logging improvals and
commenting.
* src/state.cpp, src/defines.h, src/gamehandler.cpp, src/state.h,
src/being.h: Added sending of initial GPMSG_PLAYER_MAP_CHANGE message
for joining players.
2006-08-19 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/accounthandler.cpp, src/account.cpp, src/dalstorage.cpp,
src/account.h, src/defines.h, src/chathandler.cpp, src/being.h:
Renamed Genders to Gender and AccountLevels to AccountLevel.
2006-08-15 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/connectionhandler.h, src/messageout.cpp, src/messagein.h,
src/accounthandler.cpp, src/connectionhandler.cpp, src/netcomputer.h,
src/messagein.cpp, src/client.cpp, src/messageout.h,
src/netcomputer.cpp, src/packet.h, src/packet.cpp,
src/gamehandler.cpp, src/chathandler.cpp, src/Makefile.am: Removed
Packet class since MessageIn and MessageOut suffice. MessageIn and
MessageOut now no longer copy the message data unnecessarily (used to
happen in Packet). On the client side this class was already removed.
* src/defines.h: Removed UNKNOWN gender as this should currently not
be used.
2006-08-15 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/accounthandler.cpp, src/defines.h: Modified protocol so that
server information are sent on character selection.
* src/client.cpp: Adapted to new connection protocol and new character
information.
2006-08-13 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/items.h: Fixed missing constructor since there is no default
constructor in its superclass Object.
* src/netcomputer.cpp: Log sending of messages.
* runserv.sh: Include more verbose messages.
2006-08-13 Eugenio Favalli <elvenprogrammer@gmail.com>
* tmwserv.cbp, tmwserv.dev: Updated project files.
* src/accounthandler.cpp, src/connectionhandler.cpp,
src/dalstorage.cpp, src/defines.h: Changed character list to a
sequence of packets and fixed a db issue.
2006-08-11 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/connectionhandler.h, src/connectionhandler.cpp,
src/netcomputer.h, src/netcomputer.cpp: Removed
ConnectionHandler::forceDisconnect method and implemented part of the
NetComputer::disconnect method instead. Makes NetComputer::getPeer
unnecessary.
2006-08-06 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/map.cpp, src/map.h, src/being.h, src/being.cpp: Changed member
constness. Added a proximity tester. Moved path node structure.
* src/accounthandler.cpp: Modified logging. Prevented empty packets
from being sent and killing ENet. Set destination to current position.
* src/defines.h, src/gamehandler.cpp, src/client.cpp: Added support
for move messages. Changed sayAround to pixel distance.
* src/object.cpp, src.object.h, src/state.cpp: Implemented being
movements.
2006-08-04 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/properties.h, src/map.cpp, src/map.h, src/Makefile.am:
Generalized the properties functionality as was done in the client
before.
* src/main.cpp, src/items.cpp, src/items.h, src/utils/timer.cpp,
src/utils/timer.h, src/utils/logger.h: Removed some more remaining
usages of tmwserv namespace.
* src/gamehandler.cpp, src/chatchannel.h: Added some documentation and
de-complicized the code a bit.
* configure.ac: Removed checks for SDL and SDL_net.
* INSTALL: Somehow got updated to a newer version.
2006-08-04 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/object.h, src/object.cpp, src/being.h, src/dalstorage.cpp: Added
the database primary key to Player.
* src/state.cpp: Used Player ID.
* src/dal/recordset.cpp: Removed redundant checks.
* src/dalstorage.cpp, src/dalstorage.h, src/storage.h: Prevented
database failure from allowing already existing character name or
email address.
* src/accounthandler.cpp: Fixed control for changing email address.
2006-08-03 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/storage.h, src/dalstorage.h, src/dalstorage.cpp: Removed
AccountInfo. Restricted addAccount to accounts without characters,
removed wrong SQL code. Fixed casting in updAccount, promoted member
as flush. Added implicit flush to addAccount and delAccount. Fixed
user_id for every SQL backend. Added flushAll and unloadAccount
members.
* src/accounthandler.cpp: Restricted flush to only modified accounts.
* src/account.h, src/account.cpp: Added the database primary key to
Account.
2006-08-03 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/gameclient.cpp, src/gameclient.h, src/gamehandler.cpp,
src/Makefile.am: Defined the GameClient class in its own module.
2006-08-02 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/accounthandler.cpp, src/accounthandler.h: Put handling of
logout, unregister and password change messages into separate methods.
2006-08-02 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/Makefile.am: Put object files in subdirectories. Removed
compilation flags.
2006-08-02 Eugenio Favalli <elvenprogrammer@gmail.com>
* tmwserv.cbp, tmwserv.dev: Updated project files.
2006-08-01 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/accountclient.h, src/accountclient.cpp, src/Makefile.am: Defined
this class in its own module (extracted from accounthandler.cpp).
* src/messageout.h, src/messageout.cpp: Added constructor that takes
the message ID for convenience.
* src/accounthandler.cpp, src/accounthandler.h: Put handling of logins
in a separate method. I think it would be better if this was done for
all messages.
* src/client.cpp: Removed requesting character listing, as this comes
with the succesful register/login responses.
* src/accounthandler.cpp, src/accounthandler.h: Put handling of
registrations in a separate method and cleaned it up a bit.
2006-07-31 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/client.cpp, src/netcomputer.cpp: Fixed registering (send version
as integer) and corrected the off by one packed size.
2006-07-27 Eugenio Favalli <elvenprogrammer@gmail.com>
* tmwserv.cbp, tmwserv.dev: Updated project files.
* src/accounthandler.cpp, src/client.cpp: Modified client version to
be an int.
* src/accounthandler.cpp, src/defines.h: Client version is being sent
also during registration.
2006-07-27 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/storage.cpp, src/map.cpp, src/dalstorage.h, src/mapmanager.h,
src/chatchannelmanager.cpp, src/mapreader.cpp, src/mapmanager.cpp,
src/dal/dalexcept.h, src/dal/mysqldataprovider.h, src/dal/recordset.h,
src/dal/dataproviderfactory.h, src/dal/dataprovider.cpp,
src/dal/sqlitedataprovider.cpp, src/dal/dataprovider.h,
src/dal/mysqldataprovider.cpp, src/dal/pqdataprovider.h,
src/dal/recordset.cpp, src/dal/sqlitedataprovider.h, src/map.h,
src/dal/dataproviderfactory.cpp, src/main.cpp, src/mapreader.h,
src/utils/singleton.h, src/utils/cipher.cpp, src/utils/logger.cpp,
src/utils/cipher.h, src/utils/stringfilter.h, src/utils/logger.h:
Removed tmwserv namespace.
* src/utils/countedptr.h: Removed tmwserv namespace. Added conversion
constructor.
* src/accounthandler.cpp, src/account.cpp, src/object.cpp,
src/storage.h, src/dalstorage.cpp, src/account.h, src/object.h,
src/gamehandler.h, src/state.cpp, src/being.cpp, src/gamehandler.cpp,
src/state.h, src/being.h: Removed tmwserv namespace. Added
MovingObject and Player classes. Removed exhaustive statistic
accessors.
2006-07-26 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/accounthandler.cpp, src/client.cpp, tmwserv.cbp: Send some
character's infos after a successful login, removed a useless byte,
added Code::Blocks project file.
2006-07-13 Eugenio Favalli <elvenprogrammer@gmail.com>
* tmwserv.dev: Updated Dev-C++ project file.
2006-06-17 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/state.cpp, src/state.h, src/defines.h, src/client.cpp,
src/main.cpp, src/gamehandler.cpp: Started handling beings on maps.
2006-06-11 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/chatchannelmanager.cpp: Fixed public/private ranges.
* src/chathandler.h: Removed useless prototype.
* src/defines.h, src/accounthandler.cpp, src/chathandler.cpp,
src/gamehandler.cpp, src/client.cpp: Sanitized message packets and
errors.
2006-05-23 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/chatchannelmanager.cpp, src/chatchannelmanager.h: Removed
unwarranted constness. Used binary searches instead of loops.
* src/chatchannel.cpp, src/chatchannel.h: Replaced usage of whole
Being by character name.
* src/client.cpp: Implemented client-side server split.
* src/messagehandler.cpp, src/messagehandler.h, src/Makefile.am:
Removed unused MessageHandler class.
* src/accounthandler.cpp, src/accounthandler.h, src/chathandler.cpp,
src/chathandler.h, src/gamehandler.cpp, src/gamehandler.h:
Respectively changed into an account server, a chat server, and a game
server.
* src/main.cpp, src/state.cpp, src/state.h, src/defines.h: Small fixes
to cope with server split.
* src/connectionhandler.cpp, src/connectionhandler.h,
src/netcomputer.cpp, src/netcomputer.h: Removed temporary classes.
2006-05-22 Eugenio Favalli <elvenprogrammer@gmail.com>
* tmwserv.dev: Updated Dev-C++ project file.
2006-05-20 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/connectionhandler.cpp, src/connectionhandler.h,
src/netcomputer.cpp, src/netcomputer.h, src/accounthandler.h,
src/state.cpp, src/state.h, src/chathandler.h, src/gamehandler.cpp:
Split low-level and high-level functionality in network access:
NetComputer and ConnectionHandler access the medium while
Clientcomputer and ClientConnectionHandler have data on the connected
clients. Fixed loops in ClientConnectionHandler; sendToEveryone was
sending to only one client. Removed unused stringSplit.
* src/configuration.cpp, src/accounthandler.cpp, src/dalstorage.cpp,
src/main.cpp, src/chathandler.cpp, src/messagehandler.cpp,
src/utils/stringfilter.cpp, src/utils/logger.h, src/skill.cpp: Changed
LOG macros to have statement syntax.
2006-05-19 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/connectionhandler.cpp, src/connectionhander.h, src/main.cpp:
Copied connection logic from netsession. Removed multithreaded socket
access as Enet is non-blocking. Fixed memory corruption on client
disconnect.
* src/Makefile.am, src/netsession.cpp, src/netsession.h: Removed
unused NetSession class.
2006-05-14 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/accounthandler.cpp: Prevented accounts from being incorrectly
created when errors were detected.
* src/client.cpp: Prevented input from looping on error, allowed
client to read spaces as part of chat messages, added output of chat
messages received from server.
2006-05-14 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/utils/timer.cpp, tmwserv.dev: Replaced nanosleep with Sleep in
Windows and updated Dev-C++ project file.
2006-05-14 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/messagein.cpp: Replaced strnlen by memchr to avoid GNU
extensions.
2006-05-14 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/messageout.cpp, src/messagein.h, src/messagein.cpp: Applied
another patch by Guillaume Melquiond which fixed a number of issues
with the message implementation (client side should also be checked).
* src/main.cpp, src/utils/timer.cpp, src/utils/timer.h: Applied a
patch by Guillaume that makes the server sleep between ticks instead
of polling for the next one.
* src/connectionhandler.cpp, src/object.cpp, src/object.h: Applied a
patch by Guillaume that fixes and optimizes
ConnectionHandler::sendAround.
2006-05-13 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/Makefile.am, configure.ac: Applied patch by Guillaume Melquiond
which adds ENet check and adds timer.cpp/h to the Makefile.am.
* src/connectionhandler.cpp, src/client.cpp, src/defines.h: Fixed some
compilation warnings.
2006-05-03 Philipp Sehmisch <tmw@crushnet.org>
* src/main.cpp: only yield main thread when there isn't anything to
do.
2006-04-30 Philipp Sehmisch <tmw@crushnet.org>
* src/util/timer.h, src/util/timer.cpp: Added a timer class.
* src/main.cpp: Replaced SDL timing with the new timer class.
* src/util/timer.h, src/util/timer.cpp: Replaced clock with
gettimeofday.
* src/util/wingettimeofday.h, src/util/wingettimeofday.h: Windows
implementation of the UNIX gettimeofday function.
* src/main.cpp: World time doesn't get async anymore when world ticks
are skipped. Added a warning when tick skip occurs.
* src/util/timer.h, src/util/timer.cpp: Made sure every compiler uses
a 64 bit unsigned integer for getTimeInMillisec.
* src/main.cpp, src/connectionhandler.cpp, src/netsession.cpp,
src/SDL-win32_main.c: Removed the last remains of SDL.
2006-04-28 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/netsession.cpp, src/netsession.h, tmwserv.dev: Got rid of SDL
threads, now using pthreads.
2006-04-11 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/client.cpp, src/connectionhandler.cpp, tmwserv.dev: Updated some
code to latest enet version, and fixed a linking issue in windows.
2006-03-26 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/messagein.cpp, src/messageout.cpp: Got rid of SDL_net endianess
code.
* src/messagein.cpp: Fixed a mistake.
2006-03-20 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/client.cpp, src/connectionhandler.cpp, src/connectionhandler.h,
src/main.cpp, src/messagein.cpp, src/messageout.cpp,
src/netcomputer.cpp, src/netcomputer.h, src/netsession.cpp,
src/netsession.h, src/utils/logger.cpp, tmwserv.dev: Got rid of
SDL_net, now both server and test client use enet.
2006-03-18 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/client.cpp, src/messageout.cpp, src/messageout.h: Converted the
test client to use enet.
2006-03-14 Eugenio Favalli <elvenprogrammer@gmail.com>
* tmwserv.dev: Updated project file.
2006-03-07 Björn Steinbrink <B.Steinbrink@gmx.de>
* src/utils/stringfilter.h, src/utils/stringfilter.cpp: A bunch of
cleanups.
2006-03-06 Björn Steinbrink <B.Steinbrink@gmx.de>
* src/connectionhandler.h, src/storage.cpp, src/configuration.cpp,
src/script.h, src/messageout.cpp, src/map.cpp, src/messagein.h,
src/skill.h, src/messagehandler.h, src/resourcemanager.h,
src/netsession.cpp, src/accounthandler.cpp, src/dalstorage.h,
src/sqlitestorage.h, src/account.cpp, src/connectionhandler.cpp,
src/chatchannelmanager.cpp, src/netcomputer.h, src/messagein.cpp,
src/client.cpp, src/messageout.h, src/dalstorage.cpp,
src/netsession.h, src/accounthandler.h, src/mapreader.cpp,
src/account.h, src/netcomputer.cpp, src/mapmanager.cpp, src/object.h,
src/gamehandler.h, src/dal/mysqldataprovider.h, src/dal/recordset.h,
src/dal/dataproviderfactory.h, src/dal/sqlitedataprovider.cpp,
src/dal/dataprovider.h, src/dal/mysqldataprovider.cpp,
src/dal/pqdataprovider.h, src/dal/recordset.cpp,
src/dal/sqlitedataprovider.h, src/state.cpp, src/chathandler.h,
src/items.h, src/mapreader.h, src/packet.cpp, src/gamehandler.cpp,
src/mapmanager.h, src/chathandler.cpp, src/skill.cpp,
src/utils/cipher.h, src/utils/logger.cpp, src/utils/stringfilter.h,
src/utils/base64.cpp, src/utils/logger.h, src/utils/cipher.cpp,
src/utils/stringfilter.cpp, src/resourcemanager.cpp,
src/messagehandler.cpp, src/map.h, src/state.h, src/sqlitestorage.cpp:
Cleaned up unnecessary header dependencies and fixed some
indentations.
2006-03-05 Yohann Ferreira <bertram@cegetel.net>
* src/state.cpp, src/defines.h, src/chathandler.cpp,
src/connectionhandler.cpp, src/connectionhandler.h, TODO: Added the
server code to enter and leave a channel. Some minor fix to the state
code, and completed the TODO a little for later coding.
2006-02-19 Yohann Ferreira <bertram@cegetel.net>
* src/state.h, src/state.cpp, src/object.h: Made use of counted
pointers for objects, just the way it is for beings.
* src/chathandler.cpp, src/accounthandler.cpp, src/client.cpp,
docs/packets: Updated tmwserv packets documentation. Some minor other
updates.
2006-01-24 Yohann Ferreira <bertram@cegetel.net>
* src/chathandler.cpp, src/chathandler.h, src/accounthandler.cpp,
src/dalstoragesql.h, src/defines.h, src/client.cpp, src/Makefile.am,
src/utils/slangsfilter.cpp, src/utils/slangsfilter.h,
src/utils/stringfilter.h, src/utils/stringfilter.cpp, src/main.cpp,
src/accounthandler.h, src/chatchannelmanager.cpp,
src/chatchannelmanager.h, src/chatchannel.h, src/chatchannel.cpp,
src/connectionhandler.h, src/connectionhandler.cpp: Chat Channeling
Commit part 4. Renamed the slang filter into StringFilter and moved
some code to it. Added the missing protocol values, and implemented
registering/registering of channels; More to come about it.
2006-01-21 Yohann Ferreira <bertram@cegetel.net>
* src/accounthandler.cpp, src/client.cpp, src/defines.h,
src/dalstorage.cpp: Very little corrections. Corrected a little
mistake in the channels loading. Made a simple function to test
for double quotes. We could see how to improve that.
* src/chatchannelmanager.h, src/chatchannelmanager.cpp,
src/chatchannel.h, src/chatchannel.cpp, src/dalstorage.cpp,
src/dalstorage.h, src/storage.h, src/chathandler.cpp,
src/netcomputer.h, src/netcomputer.cpp, src/main.cpp,
src/connectionhandler.h, src/connectionhandler.cpp: Chat channeling
commit part 3. Is now linked with the connection handler to chat in a
specific channel. Also made some fixes on the chat channeling and in
the channels load/save functions.
2006-01-18 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/mapmanager.cpp, src/mapmanager.h: Some insignificant changes to
usage of the const keyword. Also simplified isLoaded method.
2006-01-18 Yohann Ferreira <bertram@cegetel.net>
* src/chatchannelmanager.h, src/chatchannelmanager.cpp,
src/chatchannel.h, src/chatchannel.cpp, src/storage.h,
src/dalstorage.h, src/dalstorage.cpp, src/dalstoragesql.h,
src/defines.h: Chat Channeling Commit Part 2.
2006-01-16 Yohann Ferreira <bertram@cegetel.net>
* src/state.cpp, src/chathandler.h, src/chathandler.cpp,
src/Makefile.am, src/chatchannel.h, src/chatchannel.cpp,
src/chatchannelmanager.h, src/chatchannelmanager.cpp,
src/dalstoragesql.h, src/dalstorage.cpp, src/storage.h,
src/dalstorage.h: Chat channeling commit part 1. Useful to get
feedback before committing what's next.
2006-01-14 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/accounthandler.cpp, src/client.cpp, src/dalstorage.cpp,
src/messageout.cpp, src/defines.h: Server returns infos about position
of the selected character (map name, coordinates).
2006-01-13 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/accounthandler.cpp, src/client.cpp, src/dalstorage.cpp,
src/defines.h, src/main.cpp, src/mapmanager.cpp, src/mapmanager.h,
src/netcomputer.cpp, src/object.cpp, src/object.h, tmwserv.dev: Made
minimum client version and default map id configurable, set/getMapId
are now preferred.
2006-01-12 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/accounthandler.cpp, src/client.cpp, src/dalstorage.cpp,
src/main.cpp, src/mapmanager.cpp, src/mapmanager.h,
src/netcomputer.cpp, src/object.cpp, src/object.h, src/state.cpp,
tmwserv.dev: Fixed default map definition for a new created character,
enabled loading of map when a character is on it, fixed inconsistency
in getter/setter for map id.
2006-01-09 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/dalstorage.cpp: Fixed some sql query issues.
2005-01-08 Yohann Ferreira <bertram@cegetel.net>
* src/defines.h, src/client.cpp, src/accounthandler.cpp,
src/dalstorage.cpp, src/storage.h, src/dalstorage.h,
src/dalstoragesql.h, src/being.h, src/object.h, src/netcomputer.cpp,
src/object.cpp, src/being.cpp, src/state.h, src/state.cpp,
src/mapmanager.h, src/main.cpp, src/mapmanager.cpp: Added
customization of created character. (That makes previously created db
invalid.) Made list of map indexed by map id, instead of map name.
This will prevent unsyncing of player's current map when changing a
map name. Remember you have now to add a map filename into db before
being able to load it. (Default map id is 1, not ZERO, as zero is the
not found return value.
2005-01-04 Yohann Ferreira <bertram@cegetel.net>
* src/defines.h, src/accounthandler.cpp, src/main.cpp, src/client.cpp:
Added a standard version check.
2005-01-04 Yohann Ferreira <bertram@cegetel.net>
* src/connectionhandler.h, src.connectionhandler.cpp, src/client.cpp,
src/accounthandler.cpp, src/defines.h: Added a check if the maximum
number of client is already logged in at login attempt. Added a
default behaviour in protocol. Some cleanups.
* src/client.cpp, src/storage.h, src/dalstorage.cpp, src/dalstorage.h,
src/main.cpp, src/defines.h, src/accounthandler.cpp, src/Makefile.am:
Implemented server response handling to the test client. Fixed a bug
that made the Email change not possible. Changed some protocol value
to have a litte neater client code. Added FreeBSD fix idea from icy to
server code.
2005-12-31 Yohann Ferreira <bertram@cegetel.net>
* src/main.cpp, src/defines.h, src/utils/slangsfilter.h,
src/utils/slangsfilter.cpp, src/accounthandler.h,
src/accounthandler.cpp, src/chathandler.cpp: Adding the possibility to
change Email, and password. Turned Slangs Filter into a class. Use
some ifdefs for future configure options handling. Still has to update
the client.
2005-12-29 Yohann Ferreira <bertram@cegetel.net>
* src/main.cpp, src/connectionhandler.cpp, src/defines.h,
src/chathandler.cpp: Adding changes thought by Elven and an option for
setting the port to listen on at startup.
* src/accounthandler.cpp, src/dalstorage.cpp, src/dalstorage.h,
src/storage.h: Fixing a bug in the Storage::getAccount() function that
made the server crash when the first login had a bad password.
2005-12-29 Bjørn Lindeijer <bjorn@lindeijer.nl>
* configure.ac: Added errors when SDL_net or libcrypto are not found.
* src/main.cpp: Reset SEGV signal handling after SDL initialisation to
allow cores to be dumped.
* runserv.sh: Added script that perpetually runs the server and
automatically saves a backtrace and restarts when it crashes.
2005-12-29 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/mapmanager.cpp, src/mapmanager.h, tmwserv.dev: Forgot a way to
access maps.
* tmwserv.dev: Fixed merge conflict as pointed out by Bjørn.
2005-12-28 Bjørn Lindeijer <bjorn@lindeijer.nl>
* makeclient.sh, src/Makefile.am: Integrated the building of tmwclient
with the default make command, as contributed by r0nny.
* src/main.cpp: Applied patch by r0nny that makes main.cpp a bit
nicer.
2005-12-27 Yohann Ferreira <bertram@cegetel.net>
* src/chathandler.h, src/chathandler.cpp, src/defines.h,
src/utils/slangsfilter.h, src/utils/slangsfilter.cpp,
src/Makefile.am, src/main.cpp, src/accounthandler.cpp,
src/connectionhandler.h, src/connectionhandler.cpp: Implemented common
chat handling, except for chatting in channels. Also the Channel
registering/unregistering isn't there yet and the commands needs to be
implemented. Added a small slangs filter to reduce bad words in
account names and in conversations a little.
2005-12-26 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/storage.cpp: Removed manual throwing of std::bad_alloc, which
should happen by default unless new(nothrow) is used. Suggested by
r0nny.
2005-12-20 Yohann Ferreira <bertram@cegetel.net>
* src/Makefile.am: Adding the MapManager to files list.
* src/utils/logger.cpp, src/utils/logger.h, src/main.cpp,
src/configuration.cpp, src/connectionhandler.cpp,
src/mapmanager.cpp, src/mapreader.cpp, src/messagehandler.cpp,
src/skill.cpp, src/resourcemanager.cpp, src/dalstorage.cpp,
src/accounthandler.cpp: Adding command line argument parsing and
log verbosity level handling.
2005-12-18 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/main.cpp, src/mapreader.cpp, tmwserv.dev,
src/mapmanager.cpp, src/mapmanager.h: Added a map manager to
load/unload/reload maps.
2005-12-18 Yohann Ferreira <bertram@cegetel.net>
* src/accounthandler.cpp, src/netcomputer.h, src/netcomputer.cpp,
src/chathandler.cpp, src/connectionhandler.cpp,
src/gamehandler.cpp, src/connectionhandler.h, src/state.h,
src/state.cpp: Made the handlers use the countedPtr for Beings as they
should. Fixed a segfault when removing a being from the world. Also
made use of AccountPtr instead of Account* to fix a not seen but yet
present account reselection segfault bug.
2005-12-17 Bjorn Steinbrink <B.Steinbrink@gmx.de>
* src/messageout.h: Fixed some 64bit issue.
2005-12-12 Yohann Ferreira <bertram@cegetel.net>
* src/accounthandler.cpp, src/netcomputer.h,
src/netcomputer.cpp, src/defines.h, src/dalstorage.cpp,
src/dalstorage.h, src/storage.h, src/client.cpp, src/main.cpp:
Now beings are handled in netcomputer when added and removed from the
world. addBeing() and removeBeing() are still crashy. Added check if
the character's name already exists. Forgot about that. Added
CMSG_CHAR_LIST packet support.
2005-12-11 Yohann Ferreira <bertram@cegetel.net>
* src/accounthandler.cpp, src/main.cpp, src/account.h,
src/account.cpp, src/dalstorage.cpp, src/client.cpp,
src/defines.h: Added Logout, and character deletion support. Also
changed the response code when trying to login when already logged.
* src/accounthandler.cpp, src/main.cpp, src/dalstorage.cpp,
src/client.cpp, src/connectionhandler.cpp, src/defines.h:
Added unregistering, checking on character's name and email length
support. Also made some little tweaks.
2005-12-10 Yohann Ferreira <bertram@cegetel.net>
* src/dalstorage.cpp: Fixed the buggy part of getAccount() where the
mapInfo() recordSet erased the value of charInfo. Now, characters can
be created and selected, with the map they were in, set.
2005-12-09 Yohann Ferreira <bertram@cegetel.net>
* src/dalstorage.cpp, src/accounthandler.cpp: Temporary made a
workaround the character misloading at login. Work is to be made to
see why the mapInfo recordset is buggy. Also made the server more
verbose about characters.
2005-12-08 Yohann Ferreira <bertram@cegetel.net>
* src/dalstorage.cpp, src/dalstorage.h, src/storage.h: Radically
improve the getEmailList() again based on MrLindeijer's good idea.
* src/accounthandler.cpp: Simplify the code of Email check based on
the previous improvement.
2005-12-06 Yohann Ferreira <bertram@cegetel.net>
* src/dalstorage.cpp: Improved the getEmailList() function. Now the
file used as db or the db name is shown in log.
* src/defines.h: Added some missing messages and values for them.
Login, pass min, max length can be changed there now.
* src/accounthandler.cpp: Added check and appropriate response when
selecting, creating a character.
2005-12-05 Yohann Ferreira <bertram@cegetel.net>
* src/dalstorage.cpp: Added a working getEmailList() function.
* src/accounthandler: Now tests if email already exists.
* src/accounthandler.cpp, src/defines.h: Strengthens the way email
addresses checked. Added good response for selecting a char when not
logged.
* src/storage.h, src/dalstorage.h, src/dalstorage.cpp: Added the
getEmailList function, doesn't seem to work, but committed to see why.
2005-12-03 Yohann Ferreira <bertram@cegetel.net>
* src/accounthandler.cpp: Handling good conditions to register.
Still lacks checking if the Email already exists.
* src/dalstorage.cpp: Fixed a bug that throwed an exception when
logging with an account that had no mapInfo yet. Still has to set
these to defaults in such case.
2005-12-02 Yohann Ferreira <bertram@cegetel.net>
* src/main.cpp, src/accounthandler.h, src/accounthandler.cpp,
src/configuration.h: Made the accounthandler reopen the db for SQLite
to enable registering! Now working.
2005-11-21 Aaron Marks <nymacro@gmail.com>
* src/state.cpp: Re-ordered a few statements to work better.
* src/dalstorage.cpp: Now sets being's current map when getting a
player's account.
2005-11-16 Aaron Marks <nymacro@gmail.com>
* src/state.h, src/state.cpp: Updated world related functions.
* src/accounthandler.cpp: Now adds players who have selected a
character to the game world.
* src/object.h: Updated to include member variable for current map the
object is located.
2005-11-15 Aaron Marks <nymacro@gmail.com>
* src/state.h, src/state.cpp: Updated world representation, added
various methods which provide easy access to the game world.
* src/defines.h: Added "private message" message.
* src/client.cpp, scripts/init.rb: Added experimental remote access
to Ruby's functionality.
2005-11-14 Aaron Marks <nymacro@gmail.com>
* src/bindings.i: Enabled "directors", allowing scripting language
to override virtual functions.
2005-11-12 Aaron Marks <nymacro@gmail.com>
* src/main.cpp: Added scripting with Ruby support
* src/bindings.i: Created basic SWIG bindings.
* src/Makefile.am: Updated to support Ruby & generate SWIG bindings.
* configure.ac: Updated to detect SWIG & Ruby, using them
appropriately.
* scripts/init.rb: Server initialization test script.
2005-11-10 Aaron Marks <nymacro@gmail.com>
* src/client.cpp: Updated client to support moving and equipping.
* src/being.h, src/being.cpp: Added "hasItem"
* src/state.cpp: Added beings updating.
2005-10-24 Yohann Ferreira <Bertram@cegetel.net>
* src/main.cpp: Added more useful infos at startup.
* src/dal/dataprovider.h, src/dal/dataprovider.cpp,
src/dal/sqlitedataprovider.cpp, src/dal/mysqldataprovider.cpp,
src/dal/pqdataprovider.cpp, src/main.cpp, src/client.cpp:
Grammar corrections, and a little bit of work on getting the name of
the Db.
|