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 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439
|
Tue Jun 30 20:48:20 1998 Stan Shebs <shebs@andros.cygnus.com>
* Version 7.2.2 released.
* NEWS, README, xconq.spec, version.h: Bump to 7.2.2.
* xinit.c (init_unit_images): Always use silhouettes.
(init_terrain_images): Pick up solid colors correctly.
From Hans Ronne (Note extra diffs from 7.2.1, due to
other development source divergences):
* maccolors.c: Bugfix for colorschemes on m68k Macs.
* macimf.c: Heap fragmentation fix.
* macmenus.c: World map crash fix.
From Dan Croyle <croyle@gelemna.ft-wayne.in.us>:
* config.host (*-*-freebsd*): New configuration.
* config/mh-freebsd: New file.
* SelFile/Dir.c, SelFile/SelFile.c: Add FreeBSD ifdefs.
Tue May 26 20:05:52 1998 Stan Shebs <shebs@andros.cygnus.com>
* Version 7.2.1 released.
* ui.c (add_default_unit_image, etc): Return image family
resulting from running interp_hook.
(get_unit_type_images, etc): Replace imf with generated default.
* xshowimf.c (show_image_families): Run interp_hook on all
images.
(magnify_bitmap): Reverse endianness before creating bitmap.
(update_or_export_image): Run interp_hook on image.
* game.dir: Remove u-midearth.
Thu May 21 18:14:22 1998 Stan Shebs <shebs@andros.cygnus.com>
* NEWS, README, xconq.spec, version.h: Bump to 7.2.1.
* INSTALL: Add cygwin32 build instructions.
* imf.c (best_image): Don't magnify if largest image larger
than 1/2 the desired size.
* ximf.c (x11_load_imf): Return imf if one passed in.
* macimf.c (mac_add_cicn): Don't unlock if cicn was already
plotted once, never lock the resource handle.
(mac_create_cicn): Flag a replacement cicn as not initialized.
Tue May 19 18:55:04 1998 Stan Shebs <shebs@andros.cygnus.com>
* imf.h (ImageFamily ersatz, numsizes): Make short.
* imf.c, imf.h (imf_load_hook, imf_interp_hook): Declare to
return image family.
* ui.c (get_generic_images): Never clone imf, expect hook
functions to do it if necessary.
* ximf.c, ximf.h (x11_load_imf, x11_interp_imf): Clone family
if on new display, return image family.
* macimf.c, macimf.h (mac_load_imf, mac_interp_imf): Return
image family.
Mon May 18 18:20:31 1998 Stan Shebs <shebs@andros.cygnus.com>
* gvar.def (side-library): Remove default init.
* imf.c (write_synthetic_also): New global.
(write_imf): Use it.
(get_imf, get_image_file, interp_imf): Clarify warnings.
(compute_image_bbox): Fix edge case.
(image_pixel_at, set_image_pixel_at): Speed up slightly.
(add_shrunken_image, add_magnified_image): Compute bbox,
speed up.
* mknames.c (set_g_side_lib_default): Remove, no longer needed.
(make_up_side_name): If no side library, name sides A, B, etc
strictly sequentially.
* ui.c (plot_meridians): Fix roundoff error in lat/long report.
(get_generic_images): Remove unused settings of `cloned'.
(add_default_unit_image): New function.
(get_unit_type_images): Call it, remove default_hook arg.
(add_default_terrain_image): Call image interp_hook, Rename from
generic_get_default_terrain_image.
(get_unseen_images): Remove default_hook arg.
(add_default_emblem_image): New function.
(get_emblem_images): Call it, remove default_hook arg.
* imfapp.c (miView4x4): Remove, no longer useful.
(main): Set imf_load_hook and imf_interp_hook.
(imf_callback): Fix args to mac_interp_imf.
(draw_one_image): Position bbox using draw_as_unit_image return.
(draw_as_unit_image): Don't scale image.
* macconq.c (main): Set imf_load_hook and imf_interp_hook.
* macdraw.c (draw_unit_image): Don't scale image, share fallback
drawing code.
(draw_side_emblem): Similarly.
* macimf.h (MacImage cicn_inited): New slot.
* macimf.c (Image minw, etc): Remove uses.
(mac_interp_image): New function, was body of mac_interp_imf.
(mac_interp_imf): New arguments, call mac_interp_image, convert
Lisp to raw data, convert raw data to Mac objects.
(mac_create_cicn): Ditto.
(mac_create_ppat): New function, was part of mac_interp_imf.
(mac_copy_bytes): New function, like memcpy but can pad to
Mac object requirements.
(mac_init_cicn): New function to do dummy PlotCIcon, was part
of init_unit_cicns.
* macinit.c (add_default_unit_image, add_default_terrain_image,
add_default_emblem_image ): Remove, no longer needed.
(init_unit_cicns, etc): Move here from maccolors.c.
* panzer.g: Give towns many more hp.
* magnusvew.g: Start Russian and some German non-vehicular units
in vehicles.
* rom-civ-war.g: Fix a couple color names.
* PROJECTS: Reflect above changes, add items about civ emulation
and some random ideas.
From Hans Ronne <ronne@bmc.uu.se>:
* applestuff.h (_ControlStripDispatch): Comment out.
* maccolors.c [NEW_HEADERS]: Include ColorPicker.h instead of Picker.h.
* macconq.h, macimf.c [NEW_HEADERS]: Include MacTypes.h instead of
Types.h, MacMemory.h instead of Memory.h, Gestalt.h instead of
GestaltEqu.h, omit Desk.h.
* macgworld.c (scroll_map_window): Fix case of "tall" areas.
(auto_scroll_left, etc): Fix cast in GetKeys call.
* macmap.c (draw_meridians): Mac-specific function, workaround
for bugs in generic version.
* macmap2.c (toggle_map_topline): Add another case for update
without scroll.
From Raj Menon <rxmtemp@mcdata.com>:
* SelFile/Dir.c: Add ifdef __CYGWIN32__.
* unix.c: Don't include netinet/tcp.h if __CYGWIN32__.
Thu May 14 18:23:00 1998 Stan Shebs <shebs@andros.cygnus.com>
Add interface-independent image scaling.
* kernel/Makefile.in: Add dependencies on imf.h.
* imf.h (Image minw, etc): Remove, no longer needed.
(Image synthetic): New flag.
(ImageFamily hook): New slot.
(for_all_images): New macro.
* imf.c (add_shrunken_image, add_magnified_image,
image_pixel_at, set_image_pixel_at): New functions.
(imf_load_hook, imf_interp_hook): New globals.
(clone_imf): Clear image family hook.
(best_image): Handle tiles and regular images separately,
create and return shrunken or magnified images if necessary.
(largest_image): New function.
* ui.c (get_generic_images, get_unit_type_images, etc): Remove
interp and load hook args, use globals instead, change all
callers.
* ximf.h (X11ImageFamily): New structure
(X11Image monodata, etc): Remove, slots never used.
* ximf.c (tmp_valid, tmp_display, tmp_root_window): Move here
from xinit.c.
(init_x11_image): Init color image.
(x11_load_imf, x11_interp_imf): Remove dpy and rootwin args, use
info stored in hook if possible.
(x11_interp_image): New function, does bulk of work that was in
x11_interp_imf.
* xinit.c (tmp_display, tmp_root_windo): Declare instead of
defining.
(init_display): Set imf_load_hook and imf_interp_hook.
(x11_interp_fn, x11_load_fn): Remove, no longer needed.
* xshowimf.c (main): Set imf_load_hook and imf_interp_hook.
(show_image_families, update_or_export_image): Call
imf_interp_hook if defined.
(find_image): Remove, use find_img instead.
* xutil.c (write_x11_bitmaps): Reverse bits before writing.
* xdraw.c (unit_actually_visible): Succeed if side->see_all.
(draw_unit_image): Allow scaled 8x8 drawing.
(draw_side_emblem): Draw offset shadow if style 1.
(draw_side_info): Give side emblem more area.
* insects.imf (web-2): Rename from web2.
* insects.g: Tweak to match.
* PROJECTS: Reflect above changes, add Mac project to elim
need for toolbox to scale anything.
Thu May 7 19:09:18 1998 Stan Shebs <shebs@andros.cygnus.com>
* tp.c: Add some prototypes.
Wed May 6 19:24:59 1998 Stan Shebs <shebs@andros.cygnus.com>
* init.c (check_game_validity): Tighten up synthesis methods
check.
* ui.c (generic_get_default_terrain_image): New function,
generic version of default terrain image generation.
(get_terrain_type_images): Call it.
* xconq.h (UI pref_color_unit_images_: New slot.
(UI unitw, unith): Remove, never used.
* xinit.c (init_display): Remove setting of unitw and unith.
(init_unit_images): Prefer color images.
(get_default_terrain_image): Remove, now generic.
(init_terrain_images): Remove call of get_default_terrain_image.
* refman.texi, hacking.texi: Remove references to external
synthesis programs.
* PROJECTS: Genericize some Mac project ideas.
From Massimo Campostrini:
* xconq.spec: Fix pathnames.
* xcloseup.c (get_unit_picture): Eliminate unneeded foreground
set, fix arguments to draw_unit_image.
* xutil.c (write_xpm_file): Fix call to palette parsing.
Tue May 5 18:02:29 1998 Stan Shebs <shebs@andros.cygnus.com>
* conq.h (past_name_or_number): Remove decl.
* mkunits.c (add_preexisting_units): Report possunits correctly.
* nlang.c (side_and_type_name, past_unit_handle): Use
side_adjective.
(unit_handle): Report side vs origside in a consistent way.
(short_unit_handle): Report self-units correctly.
(past_name_or_number): Remove, never used.
(constructible_desc): Say "Tech" instead of just "T".
* plan.c (force_replan): Check on existence of plan.
* run2.c (run_unit_fates): Check both general and unit-type-specific
lost-surrender flags.
* score.c (side_loses): Fix check of people vs control sides.
(score_variant_desc): Don't try to scan variants if none present.
* tp.c (sendnow, outgoing, etc): New globals.
(crossbuf): Remove.
(struct q_entry): New structure, packet queue entry.
(save_outgoing_packet, flush_outgoing_queue, etc): New functions.
(send_packet): Save outgoing packet until ready to send.
(receive_data): Save incoming packets if current packet unfinished.
(net_set_unit_main_goal): Don't deref null goal.
(receive_unit_prop): Create null goal if packet so indicates.
* write.c (write_globals): Always write Lisp-valued globals.
* xcmd.c (do_copying, do_warranty): Ensure node visibility.
(aux_resign): Improve wording of query.
(aux_resign_2): Loop until valid side received.
* xconq.c (main): Tweak sendnow.
(run_game_proc): Flush outgoing queue when possible.
* xinit.c (init_terrain_images): Test for existence of image
before testing for solid color.
* xmap.c (ask_side, grok_side): Make them really work.
* mars.g (water-ice): Fix image name.
* ww2-eur-42.g: Give Jerusalem and Haifa to British.
* PROJECTS: Whack some vague ideas, add some more definite ones.
Wed Apr 22 17:07:21 1998 Stan Shebs <shebs@andros.cygnus.com>
* xconq.h (UI eimages_loaded): New slot.
* xinit.c (init_emblem_images): Allocate it, also allocate
emblem image space for the maximum possible number of sides.
(init_emblem): Make globally visible, set eimages_loaded.
* xconq.c (update_side_display): Init a side's emblem if it
wasn't already done (such as when the side is newly created).
Mon Apr 20 19:36:10 1998 Stan Shebs <shebs@andros.cygnus.com>
* mh-solaris (NET_EXTRA_LIBS): Define.
* x11/Makefile.in, curses/Makefile.in: Use NET_EXTRA_LIBS when linking.
* nlang.c (notify_doctrine): Handle emptiness better.
* ui.c (generic_do_doctrine): New function.
* ccmd.c, xcmd.c (do_doctrine): Call it.
From Massimo Campostrini:
* rom-civ-war.g: Put ships in ports.
Thu Apr 9 20:43:46 1998 Stan Shebs <shebs@andros.cygnus.com>
* Version 7.2 released.
* README: Bump to 7.2.
* Xconq.r, IMFApp.r: Updated from current resource files.
Wed Apr 8 19:29:20 1998 Stan Shebs <shebs@andros.cygnus.com>
* version.h: Bump to version 7.2.
* xconq.texi, xcdesign.texi, playref.texi, gdlref.texi: Bump to 7.2.
* run2.c (unit_revolt): Add argument to bypass prob testing.
(lost_unit_surrender, maybe_surrender_lost_to): New functions.
(run_unit_fates): Call them, reorganize to actually work.
* xcmd.c (do_release, do_repair): Implement.
* xcmd.c, ccmd.c (do_take_unit): Remove, no longer used.
* stdunit.g (lost-vanish-chance, lost-surrender-chance,
lost-revolt-chance): Set up so that most cities of a losing
side stay around, so other players can grab.
* refman.texi: Document various new forms.
* x11-dsect.texi: Remove inaccurate bit about resources.
* Local.config (SCORESDIR): Set.
* lib/Imakefile (install): Set up SCORESDIR.
Mon Apr 6 19:38:14 1998 Stan Shebs <shebs@andros.cygnus.com>
* score.c (interp_score_record): Add new records to front of list.
(last_record): Remove, no longer needed.
(get_scores): Indicate world circumference with lower-case 'w'.
* cave.g: New types next, orc-hole, and pentagram to generate
monsters, plus associated build tables.
* classic.g: Clarify the module's blurb.
* crater-lake.g: Turn off see-all by default.
* postmodern.g: Don't allow land units on water, limit stacking
of cities, don't start with any villages, use more variables,
* refman.texi: Mention default for zoc-range.
Sun Apr 5 23:12:40 1998 Hans Ronne <ronne@bmc.uu.se>
* macconq.h (for_all_windows): New macro.
* maccmd.c (message_dialog): Call update_all_map_windows when done.
* maccolors.c (set_side_colors, set_feature_colors,
set_terrain_colors): Call update_all_map_windows when done.
* macconq.c (handle_event): Call update_window for new front
window.
(close_window, connection_method_dialog, serial_port_dialog,
won_game_dialog, lost_game_dialog, game_over_dialog): Call
update_all_map_windows when done.
(force_update): Remove BeginUpdate before call to update_gworld.
* macdesign.c (feature_rename_dialog, designer_save_dialog,
designer_reshape_dialog): Call update_all_map_windows when done.
* macgworld.c (copy_clipped_to_map, update_all_windows,
update_all_map_windows, update_all_visible_windows,
update_all_visible_map_windows): New functions.
(scroll_map_window): Modified for better function.
(copy_from_gworld): Rewritten for better function.
(update_resized_map): Modified for better function.
(update_gworld): Modified for better function.
(set_offscreen_buffers): Call update_all_map_windows when done.
* macmap.c (grow_map, zoom_maps): Update maps in background
immediately.
* macmenus.c (do_menu_command): Call update_window for selected
windows.
(do_about_box, find_location_dialog, find_unit_dialog): Call
update_all_map_windows when done.
* macprefs.c (set_preferences): Call update_all_map_windows when
done.
* macwins.c (do_mouse_down_construction): Call update_window for
selected windows.
(unit_rename_dialog, message_dialog): Call update_all_map_windows
when done.
Wed Apr 1 19:39:30 1998 Stan Shebs <shebs@andros.cygnus.com>
* macprefs.c (ui_save_state): Remove, never used.
Tue Mar 31 20:59:45 1998 Stan Shebs <shebs@andros.cygnus.com>
* side.c (see_cell): Check for existence of people sides.
* task.c (compare_directions): Ditto.
* empire.g: Fix images for engineers & wasteland.
* midway.g: Add a unit-defaults to get units back on the map.
From Massimo Campostrini:
* Imakefile (SUBDIRS): Add lib.
* Local.config: Add definitions needed for installation to work.
* curses/Imakefile, doc/Imakefile, x11/Imakefile (install): Add.
* doc/Imakefile: Update to reflect player/design manual split.
* xconq.spec: New file, basic RPM spec.
* galaxy2.g: Removed oxygen material, added notices, adjusted
various tables, added speed variation due to damage.
Sun Mar 29 19:12:40 1998 Hans Ronne <ronne@bmc.uu.se>
* macconq.h (FEATURES): Increase to 10.
(contourcolor, meridiancolor): Define.
* macconq.c (adjust_cursor): Fix frozen selection bug.
(update_window): Fix map update bug.
* maccolors.c (set_default_colors): Add support for contourcolor &
meridiancolor.
(set_side_colors): Handle non-white Dialog bkColor correctly.
* macmap.c (draw_meridians): Use meridiancolor.
(draw_contours): Use contourcolor.
(draw_row): Put draw_contours before draw_gridlines, make sure
draw_gridlines is called if contours are drawn.
(draw_control_panel): Set the port.
* macmenus.c (adjust_menus): Fix PPC crash on launch bug in 4 new
submenus.
Sat Mar 28 11:25:28 1998 Stan Shebs <shebs@andros.cygnus.com>
* stdunit.g: Fix a closing quote.
* conq.h, skelconq.c, xconq.c cconq.c (ui_save_state): Remove,
instead expect that UI maintains state in a ready-to-write form.
* write.c (write_side_properties): No longer call ui_save_state.
* xinit.c (init_display): Ditto.
* tp.c (must_ack): Remove, no longer used.
(receive_game_checksum): Don't send mismatches to master,
exacerbates the situation.
* imf.c (write_imf): Handle another case of a symbol color name.
Thu Mar 26 19:47:07 1998 Stan Shebs <shebs@andros.cygnus.com>
* stdunit.g (out-length): Increase for bases and cities.
* ww2-div-pac (action-notices, action-narratives): Define.
* macmap.c (draw_control_panel): Set the grafport always.
From Hans Ronne:
* macconq.c (adjust_cursor): Handle a special case of autoselect
with no selected units.
From Massimo Campostrini:
* SelFile.c (errno etc): Don't define if __GLIIBC__.
Thu Mar 19 18:56:41 1998 Stan Shebs <shebs@andros.cygnus.com>
* maccmd.c, macconq.c, macconq.h, macdefs.h, macdesign.c,
macdraw.c, macimf.h, macinit.c, maclist.c, macmap.c, macmap2.c,
macmenus.c, macprefs.c, macwins.c: Remove marker comments.
* cmdline.c: Remove unused -mail option.
* cconq.6in, xconq6in
* cmdline.6in, x11-sect.texi: Updated doc of command-line options.
* INSTALL: Mention differences in procedures between using
imake and configure.
* NEWS: Updated.
* PROJECTS: Added a few new ideas.
More improvements from Hans Ronne:
* ui.h (VP wide_viewport): New slot.
* ui.c (xform_cell, calc_view_misc): Use it.
(contour_lines_at): Make endpoints join up exactly.
* macgworld.c: Fix to handle correctly for cylindrical worlds.
* macmap.c (WRAP_SX, WRAP_RECT, WRAP_POLY): New macros for
handling wrapped worlds, use everywhere, also use wrapped x
values in more places.
(create_map): Set vp->wide_viewport.
(draw_other_map): Draw extra frame if wrapping.
(draw_meridians): Make the viewport temporarily, so as to
draw more meridians.
* macmap2.c: Similarly.
Thu Mar 12 19:06:34 1998 Stan Shebs <shebs@andros.cygnus.com>
* Local.config (DATADIR, XC_X11LIBDIR): Define.
(GLIBDIR, IMFLIBDIR): Remove.
* curses/Imakefile, kernel/Imakefile, x11/Imakefile, (DEFINES):
Use DATADIR.
* x11/Imakefile: App defaults Xshowimf -> XShowimf.
(EXTRA_DEFINES): Remove no-longer-used definitions.
* doc/Makefile.in: Fix path to syms.texi.
Tue Mar 10 20:07:46 1998 Stan Shebs <shebs@andros.cygnus.com>
* kernel.h, plan.c (wake_unit): Remove unused arguments.
* kpublic.h, tp.c (net_wake_unit): Ditto.
* mplayer.c, plan.c, side.c, task.c, xcmd.c: Fix callers.
* tp.c (receive_command): Interpret new form of wake_unit.
* plan.c (init_unit_plan): Initialize to PLAN_PASSIVE instead
of PLAN_NONE.
(set_unit_plan_type): If setting to PLAN_NONE, set to
PLAN_PASSIVE instead and force a complete replan.
(execute_plan): Do nothing if PLAN_NONE.
(plan_passive): Do intro game's auto-build here.
(decide_plan): Remove, no longer used.
* tp.c (net_run_game): Return amount done.
* xconq.c (run_game_proc): Use net_run_game result.
* xdraw.c (draw_units, draw_unit_and_occs): Fix visibility tests.
(draw_side_emblem): Skip more code if no image.
(draw_map_info): Put up more info if actual unit being viewed.
* xinit.c (go_dialog, init_assignw_player): Handle null-player
case.
* insects.g: Change "worker" to "ant", "field" to "grass",
remove 1-letter type names, fix speed of immobile types.
* rising-sun.g: Fix locations of towns and bases.
* stdterr.g: Add a blurb.
* u-e1-1938.g: Tweak some more locations, change Chinese
names to transliterations used in the 1930s.
* u-e1-1998.g: Fix "bare" variant, Adis Abeba name, Fuzhou
location.
* u-e50-1998.g: Fix Adis Abeba name, Ouagadougou location.
* ww2-38.g, ww2-42.g, ww2s-42.g, ww2s-pac-41.g: Fix list of
Japanese occupations, misc locations of combat units.
* test-save.sh: Filter out saved game bits that will always
mismatch.
Thu Mar 5 19:43:05 1998 Stan Shebs <shebs@andros.cygnus.com>
* cmdline.c (parse_command_line): Rename options to -sim and -seq
from -sm and -sq, fix call to parse_realtime_option.
(game_usage_info): Update to reflect, show default real-time
values.
(parse_realtime_option): Remove unused -timeout option.
(set_variants_from_options): Add real-time variant settings.
* nlang.c (report_combat_special, etc): New functions.
(report_combat): Call it.
* classic.g, fantasy.g, flattop.g, galaxy.g, galaxy2.g,
insects.g, monster.g, old-empire.g, postmodern.g, stdunit.g,
time.g, wizard.g (action-notices): Add destroy messages.
* stdunit.g: Improve some unit notes.
* doc/Makefile.in: Add $(srcdir)/ to file names.
* commands.texi (idle, repair): Document commands.
* glossary.texi: More terms, random clarifications.
* play.texi: Update library file descriptions.
* refman.texi (acp-morale-effect, mp-to-enter-own, etc): Describe.
* xcdesign.texi: Move glossary and license after permuted index.
* xconq.texi: Fix node links.
* mac-sect.texi, x11-sect.texi: Ditto.
* x11-sect.texi: Fix descriptions of command options.
* hacking.texi, refman.texi, x11-sect.texi: Fill some ragged
paragraphs.
Mon Mar 2 18:53:28 1998 Stan Shebs <shebs@andros.cygnus.com>
* syms.texi: Remove, always recalculate.
* conq.h (daynight): Declare.
* imf.c (interp_imf_contents, interp_image): Use for_all_list.
* mkunits.c (add_preexisting_units, place_unit, expand_countries):
New functions.
(make_countries): Call them.
* nlang.c: Use %d instead of %ld for ints.
* plan.c (move_into_formation): Improve leader validity test.
* side.c (compute_see_chances): Fix calculation of
any_people_see_chances.
(see_cell): Fix usage of see chances.
* tp.c (net_designer_change_side, etc): Ensure result defined.
* ui.c (xform_occupant): Fix nmy set.
* actions.c, run2.c, side.c: Remove redundant decls.
* move.c, nlang.c, plan.c, ui.c, unit.c, write.c, ccmd.c: Reindent
various functions.
* x11/Makefile.in (X_H): Add all files included by xconq.h.
* xdraw.c (tmpmap): Move to here from xcmd.c.
(draw_meridians): Use plot_meridians.
(meridian_line_callback, meridian_text_callback): New functions.
(cellbuf): Remove, never used.
(draw_terrain_row, draw_hex_polygon): Simplify shading tests.
(draw_units, draw_map_info): Avoid drawing invisible units.
(unit_actually_visible): New function.
* u-e1-1938.g: Ownership tweaks, downrate minor places to bases.
* u-e50-1998.g: Add towns for sides that don't have any.
* PROJECTS: Add various ideas, remove Mac name display item,
now done correctly.
Fri Feb 27 18:07:09 1998 Stan Shebs <shebs@andros.cygnus.com>
* conq.h, nlang.c (latlong_desc): Add argument to display only
one of latitude or longitude.
* ui.c (oneliner): Tweak caller.
(nearest_cell): Adjust fractional position.
(plot_meridians): New function, generic code to space and plot
meridians in a viewport.
* world.c (xy_to_latlong, latlong_to_xy): Use floats for
intermediate calculations.
* mkunits.c (make_countries): Tweak test of possible_units to
work in empty list case.
* macmap.c (draw_meridians): Use plot_meridians.
(meridian_line_callback, meridian_text_callback): New functions.
* earth-1deg.g, earth-50km.g, t-e1-river.g, t-e50-river.g,
u-e1-1998.g, u-e50-1998: Various additions and cleanups.
* ww2-eur-42.g, ww2s-eur-42.g: Jerevan is Soviet.
* nat-names.g: Comment out Swazis (too rural), add some preferred
unit names for sides.
Tue Feb 24 19:49:28 1998 Stan Shebs <shebs@andros.cygnus.com>
* relief.g: Define and use a smoother gradation of colors.
Mon Feb 23 19:06:14 1998 Stan Shebs <shebs@andros.cygnus.com>
* Makefile.in (MAKEDIRS): Add subdirectories of installed lib dir.
(install-dirs): Set ownership of scores directory.
* lib/Makefile.in (GAMEUID, GAMEGRP, DIRPERM, FILEPERM): Set to
standard values.
* imf.c (smallest_image): Move here from ximf.c, change to use
only one argument.
* ui.c (xform_cell_fractional): Fix direction of y calculation.
* world.c (xy_to_latlong, latlong_to_xy): Simplify and fix.
* history.c, imf.c, side.c, ui.c: Cosmetic improvements.
* xcmd.def (meridians): New command.
* xcmd.c (do_x_meridians): New function.
* xconq.h (usefontchars): Remove, no longer used.
(SHOW_LATLONG): Define.
(UI default_latlong_interval): New slot.
(Map drawcellpats): Remove, never used.
* xdraw.c (xform_fractional, draw_meridians): New functions.
(draw_map_view): Use.
(draw_terrain_row): Remove disabled cellpat and fontchars code.
(draw_unit_image): Use emblem_position.
(draw_side_emblem): For style 1, draw gray box sized to emblem.
(draw_side_info): Clear scores before updating in place.
* ximf.c (x11_load_imf): Simplify.
(x11_interp_imf, x11_make_color_pixmap): Fix calls to
parse_lisp_palette_entry.
* xinit.c (init_unit_images): Update use of smallest_image.
* xmap.c (create_ctrlpanel, etc): Use SHOW_LATLONG.
* macmap.c (draw_meridians): Remove bounds arguments, determine
internally.
(draw_gridlines): Fix direction.
* intro.g: Add a fixed map and unit setup.
* PROJECTS: Remove a X11 resource usage not worth bothering
with, clarify savefile restart idea.
Fri Feb 20 17:50:04 1998 Stan Shebs <shebs@andros.cygnus.com>
* init.c (make_trial_assignments): Don't assign any players
to sides not in game.
(assign_players_to_sides): Skip over sides with no players.
* xconq.c (update_turn_display): Update all sides if end of game.
* xdraw.c (draw_terrain_row): Set foreground color correctly.
(draw_contours): Fix loop bounds.
(draw_side_info): Cache window, don't draw scores of sides that
were never in the game.
(draw_side_progress): Blank out progress for sides not in game.
* xinit.c (init_bitmaps): Don't set up 8x8 hex bitmaps.
* bitmaps/hex8.b, bitmaps/hex8b.b: Remove, never used.
* xmap.c (draw_game_state): Use curdatestr.
Wed Feb 18 19:08:01 1998 Stan Shebs <shebs@andros.cygnus.com>
* u-e1-1998.g, u-e50-1998.g: Rename from 1996 versions.
* mod-usa.g: Update.
* SelFile/Makefile.in (clean): Remove library.
* curses/Makefile.in, x11/Makefile.in (clean): Remove constructed
man page.
* doc/Makefile.in (clean): Remove more files.
* test/Makefile.in (clean): Ditto.
* imf.c (write_imf): Use write_color more.
(color_matches_mono): Fix to work with 1-color palette.
(write_palette_contents): Write palette name if possible.
(write_color): Generalize to be more widely useful.
(parse_lisp_palette_entry): Use first arg, instead of its car.
* imf.h (parse_lisp_palette_entry): Tweak decl.
* ui.c: Add some comments.
(xform_cell): Eliminate unused code.
* mkterr.c (name_highest_peaks): Handle small areas correctly.
* world.c (xy_to_latlong, latlong_to_xy): Various fixes.
* xconq.h (enum controltypeenum): New value SHOW_COVER.
(Map drawterrain, etc): Delete, use VP slots instead.
* xconq.c (update_cell_display): Only update for certain layers
if right flag set.
* xdraw.c (cell_overlay): New macro.
(draw_terrain_row): Use it, shade cells with overlay.
(draw_hex_polygon): Ditto.
* xmap.c (create_map, etc): Use VP slots.
(create_ctrlpanel): Add coverage display button.
(set_from_controls, update_controls): Use button.
* macmap.c (draw_top_line, draw_unit_info): Rearrange drawing
order so as to flicker less.
* macmenus.c (find_something): Add ability to find other
sides' units if allowed.
* earth-1deg.g: Add Siberian swamps, other small changes.
* nat-names.g: Add misc nationalities, Bosnia, Eritrea,
Swaziland, etc, and add preferred units to many sides.
* t-e1-river.g: Various adjustments.
* u-e1-1938.g: Synchronize with u-e1-1998.g, shrink some
minor cities into towns, towns into bases.
* u-e1-1996.g: Make at least one town for each side in
nat-names.g, fix some locations and sizes.
* u-e50-1996.g: Ditto.
* flags.imf: Add flags for the new nationalities.
Tue Feb 17 18:23:29 1998 Stan Shebs <shebs@andros.cygnus.com>
* u-e1-1987.g: Remove, good for nostalgia but not much else.
Fri Feb 13 17:31:47 1998 Stan Shebs <shebs@andros.cygnus.com>
* world.c (any_thickness): New global.
(count_terrain_subtypes): Compute it.
* macmap.c (cell_terrain): Remove useless argument.
(draw_cliffs): Fix to work if thicknesses but no elevations.
* imfapp.c (miViewSolidColor): New menu item.
(show_solid_color): New global.
(draw_as_terrain_image): Use it.
* terrain.imf (swamp): Make more green than blue.
Thu Feb 12 19:21:00 1998 Stan Shebs <shebs@andros.cygnus.com>
* mkterr.c (make_maze_terrain, dig_maze_path): Rewrite to generate
guaranteed continuous maze.
(dig_maze_path_between, etc): New functions.
* world.c: Add some comments.
* macdefs.h (diMessageTo): Fix value.
(dMessageReceive): Remover, never used.
* cave.g (maze-passage-density ): Set.
* gazala.g (unit-storage-x, out-length, in-length): Fix contents.
* lib-uses.h: Include subdirectory with module name.
From Massimo Campostrini <campo@ipifidpt.difi.unipi.it>:
* galaxy.g: Add hp recovery and repair, nebula effect on vision,
adjust hp for moons and planets.
Tue Feb 10 19:11:22 1998 Stan Shebs <shebs@andros.cygnus.com>
* run2.c (unit_revolt): Use oldside, add notices to sides.
* greek.g: Use money, tweak variant name, add some text.
* greek.g, napoleon.g: Fix default world size.
* pelops.g: Add correct calendar, origsides for units that
won't revolt, and some hoplites.
* u-greek.g: Remove Thoricus.
Tue Feb 10 18:32:29 1998 Stan Shebs <shebs@andros.cygnus.com>
* conq.h (curdatestr, sunx, suny): Declare.
* history.h (enum damage_reasons): Add attrition_dmg.
* ui.h (VP drawterrain, etc): New slots.
* combat.c (damage_unit): Add argument, record attrition death.
(rescue_occupants): Rewrite to not use retreat_unit.
* lisp.c (escaped_symbol): Handle numeral case separately.
* nlang.c (latlong_desc): Rename from latlon_desc, add
arguments for cell fractions.
(generic_oneliner): Remove.
* read.c (interp_variant_defns): Improve variable names,
handle missing id differently.
* run.c (run_game): Improve real-time game test.
* run2.c (run_turn_start): Remove season name formatting,
add player warning if last turn in game.
(run_restored_turn_start): Call compute_season.
(run_turn_end): Add a progress note, test for end of game here
instead of at turn start.
(compute_season): Format contents of curdatestr here.
* scores.c (record_into_scorefile): Use a more compact format.
(interp_score_record): Adjust to match new format.
(score_variant_desc): New function, was part of get_scores.
* side.c (send_message): Add more feedback.
* ui.c (xform_cell_fractional): New function.
(nearest_cell): Rewrite to return cell fractions.
(oneliner): Generic version from Mac interface.
* world.c (compute_all_feature_centroids): Rewrite.
(xy_to_latlon, latlon_to_xy): Rewrite to use cell fractions.
* macconq.h (Map drawterrain, etc): Remove, now in ui.h.
* macdefs.h (miFileColors): New item, was top-level Colors menu.
* maccmd.c (message_dialog): Build side mask correctly.
* maccolors.c (set_default_colors): Tweak grid and shoreline
colors.
* macmap.c: Use map->vp-> instead of map-> for drawing options.
(GO_OFFSCREEN, RETURN_ONSCREEN): Fix var ref.
(xform_fractional): New function.
(draw_meridians): New function.
(draw_map): Call it.
* macmap2.c (oneliner): Remove.
* macmenus.c (init_menus): Set up colors menu as submenu.
* macprefs.c (interp_mac_ui_data, etc): Use
default-latlong-interval instead of default-latlong-incr.
* macwins.c (create_scores_window): Capitalize window name.
* africa.g, beirut.g, classic.g, empire.g, fantasy.g, flattop.g,
fred.g, future.g, gazala.g, greek.g, insects.g, intro.g,
monster.g, mormon.g, old-empire.g, postmodern.g, sc4.g, wizard.g,
ww2-bn.g, ww2-div-eur.g, ww2-div-pac.g: Define liquid terrain
types.
* fred.g, 1756.g, 1757.g: Adjust calendar data.
* feb-1917.g, gettysburg.g napoleon.g, red-october.g, ww2-adv.g,
ww2-div-eur.g, ww2-div-pac.g (calendar): Define in standard way.
* panzer.g: Add defaults to real-time variant.
* u-e1-1996.g: Adjust Hiroshima location.
* PROJECTS: Add assorted new ideas, remove some obscure X11 ideas.
Wed Feb 4 19:53:06 1998 Stan Shebs <shebs@andros.cygnus.com>
* combat.c (reckon_damage): Add argument, suppress "miss"
messages if damage due to attacker firing.
* init.c (init_data_structures): Allocate curdatestr.
* kernel.h, kpublic.h: Remove some unused decls.
* run2.c (curdatestr): Move here from Mac code.
(run_turn_start): Compute it.
* world.c (find_feature): Handle 0 fid.
(feature_at): Simplify.
(paint_feature): Paint even if fid is 0 (removes feature).
* maccmd.c (get_a_visible_unit): New function.
(do_attack, do_fire): Use it.
* macconq.c (small_font_name,etc): Remove, never used.
(movies): Allocate dynamically.
(curdatestr): Remove, now in generic code.
(update_turn_display): Don't compute curdatestr.
* macinit.c (init_ui): Don't allocate curdatestr.
* macmap.c (draw_top_line): Clean up use of curdatestr.
* macwins.c (draw_game_date): Ditto.
* 1756.g, 1757.g: Set initial-year-part.
* mac-dsect.texi: Clarify description of some of the tools.
* mac-sect.texi: Remove Unix-oriented doc viewing info,
describe firing better.
* x11-sect.texi: Add doc viewing and printing info.
* xconq.texi: Misc small changes.
From Antoine Makhlouf <mahloaa@musc.edu>:
* combat.c (one_attack): Don't allow automatic counterattack if
acp-to-defend is insufficient.
Mon Feb 2 18:42:50 1998 Stan Shebs <shebs@andros.cygnus.com>
* ui.c (vp_latlon_to_xy): New function.
* maccmd.c (do_take): Beep if no materials in game.
* macprefs.c: New file, preferences code that was in macconq.c.
* macdraw.c: Use blackcolor instead of setting up a black color.
(draw_cell_block, draw_hex_region, draw_border_line_multiple,
draw_connection_line_multiple, draw_unit_name, draw_legend_text):
Add arguments instead of looking up map.
(draw_terrain_sample): Decide solid/pattern locally.
* macimf.c: Do ANSI-style function definitions.
* macinit.c (hit_player_setup_dialog): Reinit emblem images when
side is added or renamed.
(reinit_all_emblem_images): New function.
* macmap.c (WATER): Eliminate, use only t_liquid test.
* macmap2.c (toggle_survey): Redraw selections when going to
survey mode.
* xconq.h (enum grayshade): Add black as a shade.
(UI boxcurs, boxmask): Delete.
(Map anim_state): New slot.
* xconq.c (animate_current_proc): New function.
(main): Set up to call it periodically.
* xcmd.c (do_submit): Implement.
(do_take): Use common code in ui.c.
* xdraw.c (draw_cursor_icon): Merge into draw_current.
(draw_current): Reflect acp a la Mac interface, use anim_state
for blinking, remove boxcurs/boxmask use.
* xinit.c (init_bitmaps): Remove boxcurs/boxmask setup.
* bitmaps/boxcurs.b, bitmaps/boxmask.b: Remove.
* earth-50km.g, t-e50-river.g, u-e50-1996.g: Various adjustments,
add preferred sides for some places.
* PROJECTS: Reflect above changes, remove some uninteresting
X11 and curses projects.
Mon Jan 26 19:14:20 1998 Stan Shebs <shebs@andros.cygnus.com>
* utype.def (acp-morale-effect, morale-recovery): New properties.
* history.def (H_UNIT_TYPE_CHANGED, H_UNIT_NAME_CHANGED): Add
second parameter.
* combat.c (maybe_hit_unit): Make morale affect retreat chance.
(capture_unit_2): Adjust morale.
* nlang.c (historical_event_desc): Add case for when name change
event seems bogus.
* run2.c: Add debug prints, temp vars for various functions.
(run_morale_recovery): New function.
(run_turn_start): Call it.
(compute_acp): Adjust acp according to morale effect.
(damage_unit_with_temperature): Allow occupants to try to escape
freezing.
(run_unit_fates): Simplify.
(maybe_detonate_accidently): Merge into run_detonation_accidents.
* unit.c (change_morale): Move here from combat.c.
* maccmd.c, macconq.h, macdefs.h, macdesign.c, macdraw.c,
machelp.c, macinit.c, maclist.c, macmap.c, macmap2.c, macmenus.c:
Remove change markers.
* maccolors.c, macconq.c, macdraw.c, macgworld.c, macmap.c,
macmap2.c: Reformat new code to match rest of Xconq Mac code.
* maccolors.c (featColor, sideColor, etc): Change from arrays to
pointers.
(set_default_colors): Allocate them dynamically, fill in by
assignment.
(set_default_side_colors): Ditto.
(get_color): Cast img->hook correctly.
* macconq.c (get_preferences): Lock down prefs resource when
reading from it.
* macdraw.c (draw_unit_image): Use get_sideColor macro.
* maclist.c (toggle_list_sidecolors): Move here from maccolors.c.
* macmap2.c (toggle_map_sidecolors, etc): Move here from maccolors.c.
* earth-50km.g, t-e50-river.g: Various adjustments.
* PROJECTS: Reflect above changes, whack some decided-useless
items, add items for morale effect on retreat chance and
command list merging.
Mon Jan 19 19:12:40 1998 Hans Ronne <ronne@bmc.uu.se>
* applestuff.h: New header file with Apple control strip routine
descriptors. Needed in macgworld.c.
* maccmd.c (do_recenter): Return if not in front window.
(set_focus): Call scroll_map_window to do offscreen scroll.
(do_mac_set_angle): Rewrite for offscreen graphics.
* maccolors.c: New file, side color code.
* macconq.c (PREFSIZE): New macro constant.
(default_draw_names): Change to TRUE.
(main): Call set_default_colors & check_screen_depth.
small_font_id: Change to geneva.
large_font_id: Change to geneva.
images_refnum: Initialize new extern short.
(get_files): Save images_refnum.
(get_preferences): Call read_xcol.
(save_preferences): Call write_xcol.
(save_preferences): Change BUFSIZE to PREFSIZE.
(interp_mac_ui): Add many new preferences.
(ui_update_state): Add many new preferences.
(draw_font_sample): Save and restore current font.
(set_preferences): Add 3 new dialogs & many new preferences.
(set_preferences): Fix bug in Files dialog.
(set_preferences): Fix crashing bug in Fonts dialog.
(set_preferences): Dispose of old cicns and init new ones if the unit
image set was changed.
(set_preferences): Update all maps if unified_cicns was changed.
(add_preferences_topic_items): Add 3 new dialogs & many new
preferences.
(event_loop): Fix crash when starting w/o instructions window.
(handle_event): Fix crash when typing w/o open window.
(handle_event): Call handle_numeric_keypad.
(update_window): Call copy_from_gworld.
(action_point): Call scroll_map_window to do offscreen scroll.
(get_string_from_item): Change BUFSIZE to PREFSIZE.
(force_update): Only redraw content region in map windows.
* macconq.h: Include QDOffscreen.h.
(a_map): Add support for offscreen graphics.
(a_map): Add many new map parameters.
(a_list): Add list->sidecolors.
draw_unit_image: Add emblem parameter to prototype.
Declare defaults for the new map parameters.
Add prototypes for functions in maccolors.c.
Add prototypes for functions in macgworld.c.
Define macro constants for feature color names.
Declare sideColors and all associated variables.
do_recenter: Declare extern.
do_mac_zoom_in: Declare extern.
do_mac_zoom_out: Declare extern.
do_mac_set_map_angle: Declare extern.
sanitize_for_menu: Declare extern.
images_refnum: Declare extern.
prefs_refnum: Declare extern.
* macdefs.h: mColors: New menu.
mViewText: New submenu with items.
mViewGrids: New submenu with items.
mViewColors: New submenu with items.
mViewBorders: New submenu with items.
mSideColorPopup: New popup menu with items.
mSideColorUse: New popup menu with items.
mViewMap: Items reorganized & renumbered.
mViewList: Add one item.
dPreferences: Add 3 new subdialogs.
dsPreferencesFiles: Many new items.
dsPreferencesMap: Many new items.
dsPreferencesFonts: Many new items.
dsPreferencesOffscreen: New subdialog with items.
dsPreferencesImageSets: New subdialog with items.
dsPreferencesColorSchemes: New subdialog with items.
dOffscreen: New dialog with items.
dSideColor: New dialog with items.
dFeatureColor: New dialog with items.
dScreenDepth: New dialog with items.
aNoMem: New alert with items.
aOneButtonAlert: New alert with items.
aTwoButtonAlert: New alert with items.
* macdesign.c (draw_design_window_tool): Add emblem in call
to draw_unit_image.
* macdraw.c: best_terrain_images: Declare extern.
(draw_unit_image): Rewrite for side colors & offscreen graphics.
(draw_side_emblem): Rewrite for offscreen graphics.
(draw_cell_block): Support map->solid_color_terrain.
(draw_hex_region): Support map->solid_color_terrain.
(draw_border_line_multiple): Support map->solid_color_terrain.
(draw_border_line_multiple): Modify for offscreen graphics.
(draw_connection_line_multiple): Support map->solid_color_terrain.
(draw_connection_line_multiple): Modify for offscreen graphics.
(draw_feature_borders): Support featureColor.
(draw_elevation, draw_temperature, draw_coverage,
draw_unit_name): Support textColor.
(draw_unit_name): Dont draw names at low magnification.
(draw_legend_text): Rewrite for textmasks and optimized fonts.
(draw_legend_text): Change scaling formula for scaled fonts.
(draw_blast_image): Modify for offscreen graphics.
(plot_sicn): Modify for offscreen graphics.
* macgworld.c: New source file with all the new offscreen code.
* macimf.h: mac_load_image_color: Remove this unused
prototype which causes a link error.
* machelp.c (draw_help): Add emblem in call to draw_unit_image.
* macinit.c: Remove declaration of gridcolor and unseencolor.
(launch_game): Call init_side_colors.
(launch_game): Call init_unit_cicns.
(launch_game): Call init_emblem_cicns.
(launch_game_2): Call build_colors_menu.
(init_display): Remove locked ICN handles that mess up the heap.
(init_display): Check default_power and show_instructions.
(init_terrain_images): Modify check for gridcolor = unseencolor.
* maclist.c (create_list): Support list->sidecolors.
(draw_unit_list_entry): Add emblem in call to draw_unit_image.
* macmap.c: WATER: New macro used in draw_shorelines.
GO_OFFSCREEN: New macro for offscreen graphics.
RETURN_ONSCREEN: New macro for offscreen graphics.
(update_cell_display): Rewrite for offscreen graphics.
(update_cell_display): Support for map-> erase_names.
(create_map): Rewrite for offscreen graphics & new parameters.
(set_content_rect): Do not offset contentrect.
(set_map_scrollbars): Fix 32K limit bug by scaling the shorts.
(grow_map, zoom_map, draw_map): Rewrite for offscreen graphics.
(draw_window_background): Change contentrect to portRect, use
gridcolor if everything is visible.
(draw_map_content): Modify for offscreen graphics.
(draw_map_content): Delete all area-minimizing code.
(draw_map_content): Support map->draw_latlong.
(draw_area_background): Use gridcolor if everything is visible.
(draw_control_panel): Add 2 new toggle boxes.
(draw_top_line): Support small_font_id.
(draw_info_text): Support small_font_id.
(draw_related_maps): Clip drawing to map content.
(draw_related_maps): Draw both offscreen and onscreen.
(draw_other_map): Handle scrolling across dateline.
(draw_row): Support map->simple_borders, grid_matches_unseen,
map->shorelines, map->featurenames.
(draw_row): Change cutoff magnification for featurenames to hh > 3.
(draw_terrain_row): Support grid_matches_unseen.
(draw_unit): Fix leakage of dotdotdots into grid.
(draw_unit): Support map->boxmasks and icon_mask_color[s].
(draw_unit): Draw city names at uniform size & position.
(draw_unit_and_occs): Fix leakage of grouping boxes into grid.
(draw_unit_and_occs): Support map->boxmasks and icon_mask_color[s].
(draw_unit_and_occs): Draw city names at uniform size & position.
(draw_unit_and_occs): Use emblem in draw_unit_image call.
(draw_people_row): Fix wrapping bug.
(draw_people_row): Support frontlineColor.
(draw_people_row): Support map->simple_borders.
(draw_legend): Draw featurenames offset in featureColor and double size.
(draw_unit_blast): Rewrite for offscreen graphics.
(clear_unit_blast): Rewrite for offscreen graphics.
(invert_map): Rewrite for offscreen graphics.
(draw_selections): Rewrite for offscreen graphics.
(draw_selections_at): Rewrite for offscreen graphics.
(draw_selected_unit_setport): Rewrite for offscreen graphics.
(draw_selected_unit): Handle transport + occ & 3d unit correctly.
(draw_selected_unit): Remove mag lines which leaked into the grid.
(draw_selection_animation): Handle transport + occ & 3d unit correctly.
(draw_selection_animation): Handle new definition of contentrect.
(draw_selection_animation): Also draw the black selection box.
(erase_selection): Rewrite for offscreen graphics.
(erase_selections): Rewrite for offscreen graphics.
(draw_unselected_unit): Redraw names & shorelines correctly.
(destroy_map): Clean up map ids and window numbers, trash the gworld,
always dispose of the window, erase other-map boxes, zero map->id to
show that it no longer exists.
(oneliner): Support map->draw_latlong.
(draw_simple_feature_borders, draw_shorelines, draw_gridlines,
draw_unit_names_only): New functions.
* macmap2.c (map_scroll_fn): Rewrite for offscreen graphics.
(do_mouse_down_map): Rewrite for offscreen graphics.
(do_mouse_down_control_panel): Add two new buttons.
(set_map_mag): Call draw_related_maps.
(toggle_map_topline): Modify for offscreen graphics.
(toggle_map_topline): Support map->draw_topline.
(toggle_map_topline): Call draw_related_maps.
(toggle_map_topunit): Modify for offscreen graphics.
(toggle_map_topunit): Support map->draw_topline.
(toggle_map_topunit): Call draw_related_maps.
(do_mouse_down_map_content): Support control-clicking on map.
(scroll_best_map_to_unit): Modify for offscreen graphics.
(scroll_to_unit): Rewrite for offscreen graphics.
* macwins.c (side_rename_dialog): Handle color schemes.
(draw_unit_closeup): Add emblem in call to draw_unit_image.
* macmenus.c: sanitize_for_menus now declared in macconq.h.
colorsmenu: Declare new MenuHandle.
(init_menus): Add Colors menu and 4 new View Map submenus.
(do_menu_command): Add Colors menu & 4 View Map submenus.
(do_menu_command): Use default_power in call to create_map.
(do_menu_command): Fix worldmap-related crashes.
(do_menu_command): Compute size of worldmap correctly.
(do_menu_command): Modify for offscreen graphics.
(do_menu_command): Support list->sidecolors.
(do_find_location_mi): Use offscreen scrolling if possible.
(adjust_menus): Add Colors menu & 4 View Map submenus.
(adjust_menus): Support list->sidecolors.
* XconqProj.rsrc: New resources for preferences, side colors.
DITL 701 "Preferences File Items" modified.
DITL 702 "Preferences Map Items" modified.
DITL 703 "Preferences Font Items" modified.
DLOG 700 "Preferences" modified.
MENU 136 "Map View" modified.
MENU 208 "List View" modified.
MENU 701 "Small Font Popup" modified.
MENU 703 "Large Font Popup" modified.
PICT 130 "Map Controls TL" modified.
Mon Dec 29 17:34:07 1997 Stan Shebs <shebs@andros.cygnus.com>
* cmd.def (^P): New command, unit repair.
* mkunits.c (make_countries): Add some error checking, fix removal
of isolated populations.
* mplayer.c (estimate_strengths): Fix to know initial strengths
accurately, prevents premature resignation.
* macconq.h (ATTACK_MODAL): New mode.
* macconq.c (adjust_cursor): Use it.
* maccmd.c (do_attack): Move code here.
(do_detonate, do_fire, do_fire_into): Use common code.
(do_repair): New function.
* macmap2.c: Include cmd.def and maccmd.def.
(do_mouse_down_map_content): Add ATTACK_MODAL case, share mode
exit code.
* macmenus.c: Enable Find Next Occupant only when unit selected.
(do_move_mi, etc): Remove.
* gazala.g: Add some help strings, fine-tune supply sources.
* monster.g: Let fire departments repair buildings.
* earth-50km.g, t-e50-river.g, u-e50-1996.g: Various adjustments.
* PROJECTS: Remove/merge some items, reflect above changes.
Wed Sep 17 19:15:55 1997 Stan Shebs <shebs@andros.cygnus.com>
* cmd.def (idle): New command.
* tp.c (net_set_sentry_task): New function.
* utype.def (generic-char): New unit type property.
* unit.c (shortest_generic_name): New function.
* nlang.c (others_here_desc, occupants_desc): Use it.
* ui.c (get_generic_images): Only load imf dir once.
* world.c (paint_border, paint_connection): Fix display update.
* maccmd.c, xcmd.c, ccmd.c (do_idle, etc): New functions.
* macmenus.c: Remove prototypes for nonexistent functions.
* modern.g: Add city hp, steel consumption.
* mod-usa.g: Set lat/long, adjust roads.
* napoleon.g: Let leaders redistribute supply.
* panzer.g: Define generic names for unit types.
* u-e50-1996.g: Adjust Texas city locations.
* PROJECTS: Reflect above changes, remove pointless library tasks.
Mon Aug 11 20:16:23 1997 Stan Shebs <shebs@andros.cygnus.com>
* table.def (mp-to-enter-own): New table.
* help.c (uu_table_row_desc): Add connective argument.
* history.c (get_nth_history_line): Rewrite.
(update_total_hist_lines, build_hist_contents): New functions,
taken from Mac interface.
* init.c: Remove warning about ZOC range.
* mkunits.c (expand_country): Account for advantage when adding
units.
* move.c (in_blocking_zoc, zoc_move_cost): Handle ZOC range > 1.
(test_blocking_zoc, zoc_cost_fn): New functions.
* nlang.c (usual_date_string): Fix bug.
* run2.c (run_attrition): Don't do attrition on incompletes.
* macdefs.h (miMorePlanTypes, miMoreAIControl, miSideSendMessage,
miPlanTypeNone, etc): New menu items.
(miWeatherStorms): Remove.
* maccmd.c (message_dialog): Add editable side-to field.
* maclist.c (list_vscroll_fn): Fix rect size.
* macmenus.c (init_menus, etc): Add unit plan type submenu, AI
control message send menu items.
(do_plan_type_mi, do_one_plan_type): New functions.
(enable_commands_for_unit): Filter out dead units.
* macwins.c (set_history_scrollbar, etc): Rewrite history list
handling, move some code to history.c.
(draw_historical): Merge from event and date drawing.
* gettysburg.g: Increase infantry ZOC range to 2.
* greek.g: Increase a and c hp, add attrition and accidents.
* insects.g: Restore commented-out attrition table.
* standard.g: Add unit growth to large country variant.
* PROJECTS: Reflect above changes, remove some mystifying items.
Sun Jul 27 16:43:58 1997 Stan Shebs <shebs@andros.cygnus.com>
* mac.c (close_scorefile_for_writing): New function.
* system.h (close_scorefile_for_writing): Add decl.
* score.c (get_scores): Don't list total playings if same as
count for the one player.
* nlang.c (rel_short_side_title, etc): Remove, never used.
(parse_usual_date): Add more cases.
* africa.g: Add more types of animals, food and food effects.
* animals.imf: Images for new types of animals.
* misc.imf (crown): Move here from people.imf.
* people.imf (explorer): New image.
* imf.dir: Update to reflect changes.
* mac-sect.texi: Add more info.
* PROJECTS: Update to reflect above changes.
Wed Jul 9 19:37:20 1997 Stan Shebs <shebs@andros.cygnus.com>
* imf.c (color_matches_mono): Fix test.
(emblem_position): New function.
* imfapp.c (draw_one_image): Call it.
* macdraw.c (draw_unit_image): Ditto.
* */Makefile.in (datadir): Default to $(prefix)/lib/xconqdir,
fix installation ownership tweaking.
* unix.c (default_library_filename): Use new pathname.
(open_scorefile_for_writing): Set uid.
(close_scorefile_for_writing): New function, resets uid.
* score.c (write_scorefile): Call it.
* xconq.c (main): Set uid.
Split manual into player and designer manuals.
* xcdesign.texi: New file.
* xconq.texi: Restrict to only player info.
* design.texi: Reword introductory section.
* curses-sect.texi: Update nodes and menus.
* doc/Makefile.in: Reorganize lists of files and actions.
* kwic.c: Sort more thoroughly.
* coral-sea.g, fred.g, etc: Improve the blurbs.
* greek.g (cp-on-creation, cp-per-build): Redundant, remove.
* normandy.g: Use symbols for units, add British airborne.
* sf.imf (asteroid-belt, etc): New images.
* imf.dir: Update.
* PROJECTS: Reflect changes.
Thu Jul 3 18:31:15 1997 Stan Shebs <shebs@andros.cygnus.com>
* metz-1944.g, ob-nor-alld.g, ob-nor-axis.g: Use symbols instead
of numbers to identify each unit.
* ob-nor-axis.g: Fill in more German divisions.
Thu Jun 26 20:20:45 1997 Stan Shebs <shebs@andros.cygnus.com>
From Keir Novik <ken21@cam.ac.uk>:
* ng-ships.g: Add many more ship names, including destroyers
and Soviet battleships.
Thu Jun 26 19:22:34 1997 Stan Shebs <shebs@andros.cygnus.com>
* mtype.def (description-format): Remove, was useless.
* ttype.def (description-format): Ditto.
* help.c (describe_mtype, describe_ttype): Remove refs.
* utype.def (type-in-game-max, type-per-side-max): Fix bounds.
* lisp.c (eval_number): Move here from read.c.
* nlang.c (unit_handle): Add handling of description-format.
(plan_desc): Make normal descriptions more succinct, describe
formation.
(goal_desc): Describe formation goal better.
* plan.c (plan_desig): Make info relate to struct better.
* read.c (fill_in_features): Robustify feature list parsing.
* run2.c (unit_revolt): Don't let units revolts to sides that
have never seen them.
* macdraw.c (draw_unit_image): Use improved algorithm for emblem
placement.
* macmap.c (draw_unit_info): Remove formation description.
* macwins.c (calc_construction_rects): Increase width of type
subarea.
* beirut.g: Adjust imagery and vision.
* gettysburg.g: Add description formats, tweak names of multi-part
units.
* space.g: Add gas giants, several types of stars, workable
construction and occupancy rules, and star name generation.
* wizard.g: Use type names instead of letters, fix occupancy
rules, add stacking.
* refman.texi: Fix doc of features and description format.
* mac-sect.texi: Document preferences, more menu items, and
construction window.
* INSTALL: Mention CFLAGS and LDFLAGS.
* PROJECTS: Reflect above changes, add some ideas.
From Michael Firnau <mfi@techfak.uni-kiel.de>:
* xutil.c (parse_xpm_colors): Fix misuse of strcmp.
Wed Jun 11 20:49:46 1997 Stan Shebs <shebs@andros.cygnus.com>
* actions.c (check_research_action): Test um_to_research.
* combat.c (capture_unit): Add argument.
(one_attack): Record attacks.
* run2.c: Fix callers of capture_unit.
* gvar.def (zz-run-serial-number): Add internal name indication.
* history.c (record_unit_side_change): Record surrenders also.
* imf.c (interp_image): Handle embed-size property.
* move.c (move_unit): Add disabled code to record movement.
* nlang.c (historical_event_desc): Add surrender description.
* xcmd.def (pattern, solid): New commands.
* xcmd.c (do_build): Fix test of building while an occupant.
(do_x_prefer_pattern, do_x_prefer_solid_color): New functions.
* xconq.h (UI pref_solid_color_terrain): New slot.
* xconq.c (main): Move possible game collection into
popup_game_dialog.
* xdesign.c (update_curutype): Fix.
* xdraw.c (draw_units): Adjust position of stack indicator.
(draw_unit_image): Add argument to alter appearance of image.
(draw_side_info): Draw score info.
(draw_side_progress): Adjust sizes, draw amount in reserve.
* xcloseup.c, xmap.c: Fix callers of draw_unit_image.
* xinit.c (init_terrain_images): Fix search for color data.
* macconq.c (interp_mac_ui_data, ui_update_state): Remember font
sizes.
* macdraw.c (draw_hex_region): Improve solid color drawing test.
* macinit.c (init_terrain_images): Find solid color directly,
not by looking for "best" image at 1x1.
* macmap.c (draw_unit_info): Describe formation.
* macwins.c (seed_side_rename_string, get_side_rename_string): New
functions.
(side_rename_dialog): Call them.
(preferred_closeup_size): Space closeup text more closely.
(draw_unit_closeup): Format more like to map unit info.
* emblems.imf: Improve some backgrounds.
* terrain.imf: Pick some better solid colors, simplify desert,
remove soggy terrain (same as flooded).
* midearth.g (see-occupants): Remove, only sets to default.
* commands.texi: Remove T command.
* mac-sect.texi: Move doc of @ to here from commands.texi, fix
definitions of zoom-in/out.
* x11-sect.texi: Describe "pattern" and "solid" commands.
* refman.texi: Describe recent GDL changes.
* PROJECTS: Reflect some changes above, remove a couple excessive
ideas.
* all.g: Update for recent GDL changes.
* cmd-diff.sh: Add info about the interface defining each command.
Fri May 30 17:43:59 1997 Stan Shebs <shebs@andros.cygnus.com>
* imf.h (find_color_name): Make visible to all.
* imf.c (write_imf): Handle more solid color possibilities.
(parse_lisp_palette_entry): Recognize more color names.
* macimf.c (mac_add_ppat): Improve heuristics for solid color
vs mono patterns.
(interp_ctab): Recognize more color names.
(make_generic_image_data): Handle colors correctly.
* imfapp.c (draw_as_terrain_image): Draw solid colors correctly.
(draw_as_unit_image): Draw colors as terrain.
* terrain.imf: Tweak "straw", plus use more symbolic color names.
Wed May 28 19:22:16 1997 Stan Shebs <shebs@andros.cygnus.com>
* side.c (cover_area): Add argument for unit's transport.
(cover_area_1): Move initial tests into cover_area, update
display if any coverage change when debugging is on.
* actions.c (make_unit_complete), side.c, unit.c: Update calls
to cover_area.
* unit.c (leave_cell_aux): Add argument for old transport.
* mknames.c (assign_unit_number): Don't overwrite existing
number if unit is a numbered type.
* ui.c (get_unit_type_images): Add argument for preferred style.
* macdefs.h (diPrefsColorUnitImages): New dialog item.
* macconq.c (color-unit-images): New preference property.
(ui_update_state, set_preferences, etc): Handle it.
* macdraw.c (pref_solid_color_terrain): Rename from
solid_color_terrain.
(draw_coverage): Don't draw alt coverage if no LOS.
* macinit.c (init_unit_images): Choose silhouette vs full color
based on preference.
* imfapp.c: Define UPP-related macros.
(make_imf_resources): Append size to non-8x8 patterns and colors.
* macimf.c (mac_add_ppat): New function.
(mac_load_imf): Call it, also look for 1x1 and 32x32 images.
(mac_create_cicn): Detect memory exhaustion.
* gazala.g: Add supply effects, numbers for numbered units.
* std-c.imf: New file, color versions of standard unit images.
* imf.dir: Add new images.
* terrain.imf: Various cleanups.
* PROJECTS: Remove item about standard unit images.
Wed May 21 19:39:50 1997 Stan Shebs <shebs@andros.cygnus.com>
* gvar.def: Set default advantage bounds to 0.
* init.c (init_side_advantage): Adjust side's maxadvantage up if
country synthesis will be performed.
* write.c (write_side_properties): Tweak maxadvantage default.
* nlang.c (generic_oneliner): Improve description of control and
people.
* ui.c (special_strcmp): New function, sorts standard-game-based
games to front to list.
(module_name_compare): Call it.
* macinit.c (display_selected_game): Simplify blurb default.
* macdesign.c (draw_design_window_tool): Indicate control drawing
more clearly.
(paint_on_drag): Fix mistake in control/people painting.
* game.dir: Add beirut, midway, postmodern, steppes, time;
remove planets.
* cherbourg.g: Add a blurb.
* magnusvew.g, ww2-div-pac.g, ww2s-42.g, ww2s-pac-41.g: Remove
advantage-max settings.
* postmodern.g: More cleanup.
* steppes.g: Tweak for addition to game list.
* p-e1-1938.g: Adjust to match earth-1deg.g changes.
* u-e1-1938.g: Sort into new standard unit order.
* ww2-e38.g, ww2-39.g: Add control layer.
* ww2-42.g: Adjust control layer to match earth-1deg.g changes,
remove towns already in u-e1-1938.g.
* PROJECTS: Remove useless mention of possible doctrine slots,
remove implemented item about advantage adjustment.
Wed May 14 19:38:32 1997 Massimo Campostrini <campo@ipifidpt.difi.unipi.it>
* x11/Imakefile, curses/Imakefile: Added -lm flag to link.
* doc/Imakefile: Fix.
* imf.c (parse_lisp_palette_entry): New function, use everywhere.
* ximf.c (x11_interp_imf): Make a color pixel for a 1x1 image.
(x11_make_color_pixmap): Use parse_lisp_palette_entry.
* xutil.c (write_xpm_file): Ditto.
* xmap.c (USEIMAGE): Enable.
* terrain.imf: Add solid color images for all terrain types.
Wed May 14 18:38:35 1997 Stan Shebs <shebs@andros.cygnus.com>
* utype.def (courage-max, courage-min, opinion-max, opinion-min,
revolt-at-opinion-min): New properties.
(has-opinions): Remove.
* table.def (opinions-on-creation): New table.
* run2.c (run_revolts, unit_revolt): Use unit opinions if defined.
* unit.c (init_unit_opinions): Use new unit type properties.
* unit.h (unit_opinion, unit_courage, etc): New macros.
* nlang.c (parse_date): Remove, never used.
(monthdays): New global.
(usual_date_string): Use to make accurate dates.
(relative_date_string): Add cases for calendar types.
* tp.c (remove_chars): Work on any buffer.
* write.c (shortest_escaped_name): Always use internal name.
* mormon.g: Add some documentation.
* refman.texi: Reflect above GDL changes.
* PROJECTS: Remove implemented parts of opinion/morale project.
Tue Apr 29 20:54:39 1997 Jay Schuster <jay@pcc.com>
* task.c (parse_location): Fix conditional nesting.
Tue Apr 29 05:14:57 1997 Stan Shebs <shebs@andros.cygnus.com>
* nlang.c (notify_combat): Don't assume units non-null.
(destination_desc): Handle out-of-area destinations.
* xutil.c (write_xpm_file): Handle named colors correctly.
* cmdline.c (default_player_spec): New global.
(set_players_from_options): Fill it in when joining a game.
(parse_command_line): Set initially_no_ai instead of option_no_ai.
* init.c (initially_no_ai): New global.
(make_trial_assignments): Use it.
* tp.c (receive_data): Handle crossbuf upon entry to function,
warn when crossbuf packet overwritten.
(receive_packet): Make trial assignments when download complete,
don't retransmit join requests.
(receive_player_prop): Interpret "Passign" packets.
* tp.h (receive_action): Remove decl, now static.
* xconq.c (main): Send default player spec when joining a game,
call launch_game when hosting.
(launch_game): Move late-stage init code here.
(set_you_player): Fill in more rids.
Thu Apr 24 19:07:38 1997 Stan Shebs <shebs@andros.cygnus.com>
* cmdline.c (set_variants_from_options, set_players_from_options):
Handle case of joining game.
* tp.c (remove_chars): New function.
(receive_data): Use it, also process cross packet if one present
after ack received.
* xconq.c (main): Set up master_rid, parse variant and player
options even if joining an existing game.
* cconq.c (main): Set up master_rid.
Tue Apr 22 19:26:25 1997 Stan Shebs <shebs@andros.cygnus.com>
TCP-based networking support for Unix Xconq.
* cmdline.c (general_usage_info): Document -host.
* cmdline.h: Add decls.
* unix.c (open_remote_connection, etc): Add socket-making
and -connecting code, plus reading and writing.
* xconq.c (main): Add interpretation of hosting and joining
options.
(run_game_proc): Poll for data from remote programs.
* xconq.h (side_has_local_display): New macro.
* xinit.c (init_all_displays): Use it, make numdisplays local.
* x2imf.c, imf2x.c, xshowimf.c (numremotes, my_rid): Define.
* cconq.c (main): Call net_run_game.
* cmdline.c (parse_command_line): Add -noai option.
(player_usage_info): Document it.
(set_players_from_options): Use it.
* conq.h: Move decls from other places.
* init.c, run.c, skelconq.c: Fix up some comments.
* mkroads.c (terrs): Make array of shorts.
* read.c (eval_number): New function.
(fill_in_side, interp_unit_plan): Use it.
(interp_variant_defns): Fix details of syntax handling.
* run2.c (compute_moves): Do for indep units also.
* task.c (do_produce_task): Check validity of material type.
* unit.c (enter_cell): Check that unit can be on connection.
* util.c (init_error, etc): Add debugging print of message.
* write.c (write_variants): New function.
(write_game_module): Use it.
* duel.g: Fix syntax of variant.
* mod-usa.g: Update positions of oil platforms.
* omaha.g: Put infantry inside landing ships.
* pearl.g: Use symbol for Honolulu.
* red-october.g: Put sailors inside fleet.
* rising-sun.g: Let base module set up first two sides.
* russian-rev.g: Rely on more defaults in unit type defns.
* test-save.sh: Add ability to test one module.
* savetst1.inp: Do a little more movement.
Tue Apr 15 20:20:20 1997 Stan Shebs <shebs@andros.cygnus.com>
* actions.c (lookup_action_type): Fix typo.
* plan.c (any_auto_repair): Fix extern decl.
* read.c (interp_action): Fix parsing details.
Mon Apr 14 19:12:40 1997 Stan Shebs <shebs@andros.cygnus.com>
* actions.c (check_create_common): Test u_tech_to_own.
* combat.c (do_attack_action): Don't surrender to a low-tech side.
(attempt_to_capture_unit): Similarly for capturing.
* help.c (describe_utype): Detect and report when materials in
game never handled by unit.
* move.c (do_move_action): Handle disembarkation correctly.
* nlang.c (constructible_desc): Fix spacing.
(others_here_desc, occupants_desc): Report incomplete units
separately.
* run2.c (run_surrenders): Don't surrender to indep units.
(unit_surrender): Use correct location.
* side.c (cover_area_1): Renamed from cover_area.
(cover_area): Iterate over all trusted sides.
* unit.c (change_unit_type): Let everybody see the change.
(set_unit_side): Use u_tech_from_ownership.
* maccmd.c (do_one_disembark): Fix test.
(do_trust): Add trust display option.
* macdefs.h (diPrefsIncrText, diPrefsIncr): New dialog items.
* macconq.c (default_latlong_incr): New global.
(set_preferences): Set it from preferences dialog.
* macconq.h (Map latlongincr): New slot.
* macmap.c (create_map): Set it.
(draw_map_content): Fix calculation of visible region,
use latlongincr to space lines.
* macmap2.c: Draw unit info when unit deselected.
* macmenus.c (enable_commands_for_unit): Disable build item
if occupant and can't build.
* macwins.c (adjust_construction_items): Adjust list element size.
(draw_unit_closeup): Use standard description functions.
* 1805.g: Use side symbols.
* napoleon.g: Remove redundant cp-* tables.
* africa.g: Add help strings, new material type "water",
set up see-chance-adjacent table.
* beirut.g: Add LOS and firing for tanks, wrecked building type,
surrenders.
* earth-50km.g, t-e50-river.g: More adjustments.
* u-e50-1996.g: Add more bases in western hemisphere.
* mormon.g: Allow more construction of places, allow forts to
construct armies, and Indians to reproduce.
* stdunit.g: Don't let nukes carry fuel.
* game.dir: Add "mormon".
* play.texi (Unit Info): New section/node.
* mac-sect.texi: Update description of menus.
* PROJECTS: Merge general and kernel categories, remove some
more undesirable items, add some generic user interface ideas.
Mon Apr 7 20:08:49 1997 Stan Shebs <shebs@andros.cygnus.com>
* move.c (check_move_action): Detect whether unit could ever
have enough mp to do the move.
* task.c: Call set_unit_reserve to put units into reserve.
(do_move_to_task, do_approach_subtask): If not enough mp this
turn, go into reserve.
* cmd.def (take-unit): Remove, can't decide what it should do.
* help.c (uu_table_row_desc, etc): Add argument for connective
word to use.
(describe_concepts): Improve on text.
(describe_game_design): Don't display temperature range if no
variation possible.
(describe_utype): Add/enhance various descriptions.
(describe_world): Don't describe year/day if not defined.
* nlang.c (occupants_desc, etc): Use shortest unique name.
(plan_desc): Don't describe supply flags if no materials.
(goal_desc, report_take): New functions.
* ui.c (take_supplies): Report need rather than transfer.
* macdefs.h (miFindNextOccupant, miFindDistance, miMoreGive,
miMoreTake, miMoreEmbark, miMoreDisembark): New menu items.
(dFindLocation, dFindUnit): New dialogs.
* macmenus.c: Handle new menu items.
(do_find_location_mi, do_find_unit_by_name_mi, etc): New functions.
(adjust_menus): Fix handling of more menu.
(any_transport_here): New function.
(enable_commands_for_unit): Call it.
* maccmd.c (do_detonate_command): Replace with code from
macmenus.c.
(do_dir, etc): Flag to scroll to unit.
(do_give_unit): Interpret prefix arg.
(do_take): Implement.
* macconq.c (recalc_spacing): Calculate tophgt and topunithgt.
* macmap.c (create_map): Remove calcs of tophgt etc.
(draw_map): Reset values of map->toph etc each time.
(toggle_map_topline, toggle_map_topunit): Ditto.
(draw_unit_info): Add occupant and stack info.
* intro.g: Add help strings, change how armor uses movement
in mountains, remove redundant cp-* tables.
* third-age.g: Add help strings, side symbols.
* play.texi: Make list of games consistent with game.dir.
* PROJECTS: Remove do_take_unit items, add some things to do
for the Mac interface.
Wed Mar 26 19:42:03 1997 Stan Shebs <shebs@andros.cygnus.com>
* ccmd.c (do_dir): Make it work.
(do_doctrine): Handle case of empty argument.
* xcmd.c (do_doctrine): Ditto.
* xinit.c (init_terrain_images): Add case for solid colors.
* xmap.c (draw_view_in_panner): Start using pixmap instead of
image for rendering.
* terrain.imf (plains, mountains, sea): Add solid colors.
Tue Mar 25 20:18:20 1997 Stan Shebs <shebs@andros.cygnus.com>
* config.host: Restore Linux case, fix syntax of variable set.
* configure.in: Fix use of config.host.
* config/mh-linux: Restore.
* kernel/Makefile.in, curses/Makefile.in: Link with -lm.
* curses/Makefile.in, x11/Makefile.in: Make executables setuid.
* unit.c (utype_name_n): Fix tipo.
* world.c (xy_to_latlon): Compute center line differently
depending on projection.
* write.c (write_units): Always write unit symbol.
* earth-1deg.g: Adjust terrain and features, especially in polar
regions.
* earth-50km.g: General cleanup of terrain bogosity.
* u-e50-1996.g: Move/add towns to match.
* midway.g: Use restriction of t-pacific, add more units.
* t-pacific.g: Adjust terrain correctly for projection.
* ww2-pac-41.g: Move/add units to match.
* xconq.texi: Tweak formatting.
* PROJECTS: Reflect library projects.
Sun Mar 16 16:03:59 1997 Massimo Campostrini <campo@ipifidpt.difi.unipi.it>
* xutil.c (write_xbm_file): Init a local correctly.
Sun Mar 16 15:35:39 1997 Stan Shebs <shebs@andros.cygnus.com>
* keyword.def (projection): New keyword.
* world.h (Area projection, halfheight): New slots.
* read.c (interp_area): Recognize projection.
* write.c (write_area): Write projection.
* world.c (set_area_shape): Compute halfheight.
(xy_to_latlon, latlon_to_xy): New functions.
* nlang.c (latlon_desc): Call xy_to_latlon.
* macmap.c (draw_map_contents): Draw lat/long lines if requested.
* t-africa.g: Fix latitude and longitude.
* t-pacific.g: Ditto, also use projection 1, adjust terrain to
match.
* ww2-pac-41.g: Adjust unit positions to match terrain changes.
Thu Mar 13 19:17:55 1997 Stan Shebs <shebs@andros.cygnus.com>
* keyword.def (always, near): New keywords.
* conq.h (any_people_side_changes): Fix decl.
* combat.c (capture_unit_2): Notify when any info received as
a side effect of capture.
* lisp.c (read_form_aux): Fix handling of punctuation in numbers.
(escaped_symbol, escaped_string): Move to here from write.c.
(interp_short_array, interp_long_array): Move to here from read.c.
* move.c (carryable, accelerable, etc): Move here from mplayer.c.
(accelerator): New function.
* mplayer.c (review_theaters): Recalc units waiting for transport.
(mplayer_finish_movement): Remove redundant test of waiting units.
(search_for_available_transport): Add argument for purpose of
search, push an occupy task on the would-be occupant's agenda.
* read.c (interp_table): Load default game if necessary.
(interp_standing_order): Rewrite to interpret new syntax.
* run2.c (any_tooling_attrition, etc): Make into shorts.
(can_satisfy_need): Account for doctrine when computing.
* score.c (record_into_scorefile): Record more types of variants,
record advantage as 'a' instead of '+'.
(get_scores): Display more types of variants.
* tp.c (net_push_occupy_task): New function.
* unit.c (interp_utype_list): Move to here from read.c.
* unit.h (is_task_type): New macro.
* world.c (num_people_at): Move to here.
* write.c (write_units): Write side symbol if defined.
* side.h (sordercond): New enum.
* plan.c: Update standing order code.
* side.c (add_standing_order): Provide better feedback.
(parse_standing_order): Add listing for orders.
* task.c (parse_task): Add case to help with order cancel.
* read.c (interp_standing_order): Rewrite to interpret new syntax.
* write.c (write_standing_orders): Write using a new syntax.
* imfapp.c: Add support for MW; UPPs, QD access macros, console
stubs.
* mac.c: If __MWERKS__, comment out AppleTalk code.
* macconq.h, macinit.c, macmap.c: Fix decls.
* neurope.g: Remove now-unneeded include.
* ww2-sides.g: Add a symbol to each side form.
Mon Mar 10 19:23:33 1997 Stan Shebs <shebs@andros.cygnus.com>
* imf2imf.c (syntax_error, prealloc_debug): Define.
* Imakefile (SUBDIRS): Add doc.
* Local.config (GLIBDIR, IMFLIBDIR): Default to system places.
* curses/Imakefile (DEFINES, etc): Use common set.
* x11/Imakefile: Ditto.
* kernel/Imakefile: Ditto, also build skelconq and imf2imf.
* doc/Imakefile: Add actions for building doc things.
* SelFile/Imakefile: Don't install library by default.
Thu Mar 6 19:05:18 1997 Massimo Campostrini <campo@mail.difi.unipi.it>
* Local.config (EXTRA_DEFINES): Move Xconq lib dir here from
curses/Imakefile.
* xshowimf.c: Test for a missing image.
* u-midearth.g: Set default-base-module.
Thu Mar 6 18:39:31 1997 Stan Shebs <shebs@andros.cygnus.com>
* texinfo.tex: Update to version 2.185.
* misc.h, ui.c (limitn): Rename from limit, avoids Sun C bug.
* fantasy.g: More cleanups.
* neurope.g: Add variants, convert cities in old format.
* t-africa.g: Remove commented-out junk.
* ww2-pac-41.g: Update positions of units in Hawaii.
Wed Mar 5 20:04:49 1997 Stan Shebs <shebs@andros.cygnus.com>
From Larry Schwimmer <rosebud@cyclone.Stanford.EDU>:
* config.h (SAVEFILE, CHECKPOINTFILE, ERRORFILE, INTRO_GAME):
New definitions.
* unix.c (game_homedir, game_filename): New functions.
(saved_game_filename, etc): Use them.
(score_file_pathname): New function.
* keyword.def (stop): Remove.
* ai.c (set_side_ai): Handle empty names better.
* init.c (patch_object_references): Only init actorstate if
does not already exist.
* mkrivers.c, mkterr.c, run.c, run2.c, tp.c, unit.c: Fix some
indentation.
* plan.c (decide_plan): Use INTRO_GAME.
* read.c (interp_unit): Use init_unit_actorstate.
* score.c (ScoreRecord numturns): New slot.
(eval_sk_form): Remove K_STOP case.
(basic_player_name): New function.
(record_into_scorefile, get_scores): Rearrange record format,
fix advantage recording.
* xconq.h (STANDARD): Delete, never used.
(controltypeenum): Add SHOW_CONTROL, SHOW_CLOUDS, SHOW_WINDS.
(Map drawcontrol, etc): New slots.
* xconq.c (add_default_player): Change name of env var.
* xdraw.c (draw_clouds_row, draw_temperature_row, draw_winds_row):
New functions.
(draw_row): Call them.
(draw_unit_info): Use more nlang.c functions.
* xmap.c: Add flags and buttons for weather drawing.
* mac.c: Various cosmetic improvements.
* macmap.c (draw_row): Move weather drawing to here from terrain
row drawing.
* SelFile/Dir.c: Fix compilation on Alpha.
* t-pacific.g: Remove alignment markings, adjust some positions.
* xconq.texi: Add some contributor names.
* refman.texi (stop): Remove description.
* PROJECTS: Reflect above changes, remove some pointless items.
Thu Feb 27 19:23:18 1997 Stan Shebs <shebs@andros.cygnus.com>
* combat.c (will_report_damage): New function.
(reckon_damage): Call it.
* nlang.c (report_combat): Report misses.
* help.c, help.h: Make almost all functions static.
* side.c (paint_view_1): Don't call see_exact.
* unit.c (designer_create_unit): Ditto.
* world.c (paint_cell_1, etc): Ditto.
* ui.h (LineSegment): New struct.
* ui.c (draw_temperature_here, draw_winds_here): Move here from
macdraw.c.
(init_contour_lines, contour_lines_at): New functions.
* util.c (error_is_bug): New global.
(case_panic): Ditto.
* ui.c (xform): Ditto.
* macconq.h (draw_temperature_here): Remove decls.
* macdesign.c (designer_overlay): Remove, no longer used.
(disable_designing): Reset maps' see_all state.
(do_mouse_down_design): Remove map redrawing code.
(apply_designer_tool): Fix view painting.
* macmap.c (cell_overlay, cell_terrain): Fix designer case, add
map argument.
(draw_contours): Use contour_lines_at.
Mon Feb 24 19:57:22 1997 Stan Shebs <shebs@andros.cygnus.com>
* cmd.def (+, -): New commands.
* keyword.def (act): Remove.
* actions.c (lookup_action_type): New function.
* read.c (interp_unit_act): Remove.
(interp_unit): Interpret action-related slots directly.
(interp_action): New function.
(interp_unit_plan): Use temp var for plan.
* write.c (write_unit_act): Write flatter output.
(write_action): New function.
* unit.c (flush_dead_units): Detect case where all units in
unitlist are flushed.
* maccmd.c (do_down, do_up): New functions.
* macmenus.c (do_down_command, do_up_command): New functions.
* macwins.c: Remove unnecessary test of construction_run.
* xconq.h (Map vx, vy, vw, vh, vw2, vh2): Remove slots, unneeded.
* xdraw.c (xform, etc): Return void instead of int.
(draw_area_background): Fix calculation for cylinder.
(draw_map_view): Use local vars instead of map slots for temps.
(draw_terrain_row): Fix wrapping for cylinder drawing.
(draw_units): Similarly.
* xmap.c (help_terrain_type): Fix formatting of help string.
(grok_position): Add unit result argument.
* xcloseup.c, xcmd.c: Change callers.
* xcmd.c (aux_add_terrain_2, etc): Make help work correctly
while in modal loop.
(aux_attack): New function.
(do_attack): Call it.
(aux_remove_terrain, do_remove_terrain_2, aux_remove_terrain_2):
New functions.
(do_remove_terrain): Call.
(do_down, do_up): New functions.
* ccmd.c (do_down, do_up): New functions.
* nat-names.g: Add Sierra Leoneans, Tongans, also more unit
names.
* pearl.g: Flatten out action properties.
* u-e1-1996.g: Make Guayaquil Ecuadorean.
* commands.texi: Use @kbd instead of @code, document ^E instead
of ^D as disembark command.
(+, -): Document new commands.
* curses-sect.texi, x11-sect.texi, x11-dsect.texi: Use @kbd
in tables.
* hacking.texi: Add @bullet to @itemize usages.
* refman.texi: Similarly, also document new symbols, fix node
references.
* test/Makefile.in (all): Add help info.
(imf.uses): New target.
* all.g: Update to reflect current GDL.
* cmd-diff.sh: Reflect new format of commands in .texi files.
* imf-uses.sh, game-uses.sh: New files.
* lib-uses.sh: Rewrite to not expand wildcard-resembling names
like "m*".
* src-uses.h: Add comments.
* PROJECTS: Reflect above changes.
Mon Feb 17 12:46:32 1997 Stan Shebs <shebs@andros.cygnus.com>
* misc.h (limit): New macro.
* ui.c: Use it.
* nlang.c (notify_doctrine_1): New function.
(notify_doctrine): Use it, list all doctrines if no match on name
or id.
* plan.c (repair_if_damaged): Use doctrine to decide when damage
warrants repair.
(capture_indep_if_nearby, capture_useful_if_nearby): Don't
do anything if already heading towards captureable unit.
* read.c (fill_in_doctrine): Assume construction run array exists.
* side.c (new_doctrine): Move slot defaulting to here from
init_doctrine, improve default values.
(clone_doctrine): Always allocate construction run.
* write.c: Reflect improved defaults.
* ui.h (VP sxmin, symin, sxmax, symax): New slots.
(VP sx, sy): Make int-sized.
* ui.c (xform_cell): Decide wrapping in cylindrical area based on
which wrapping will cause the cell to appear in the viewport.
(calc_view_misc): New function.
(set_view_size, set_view_power): Use it.
(center_on_focus): Use set_view_position.
* macmap.c (create_map, set_map_scrollbars, draw_terrain_row):
Update to reflect ui.c changes.
Mon Feb 10 19:19:04 1997 Stan Shebs <shebs@andros.cygnus.com>
* ai.c (bhw_max): New global.
(basic_capture_worth): Fix test of acp.
* mplayer.c (preferred_build_type): Use bhw_max to scale type
preferences.
* util.c (select_by_weight): Handle zero values better.
* plan.c (repair_if_damaged, repair_here): New function, use in
plan_offense etc to decide to get repairs.
* task.c (do_capture_task): Fix approach calculation.
(do_repair_task): Fill in usefully.
(create_repair_task, set_repair_task): New functions.
* table.def (body-height, weapon-height): New tables.
* utype.def (fire-angle-max): New property.
(fire-velocity-max, fire-velocity-min): Remove.
* combat.c (found_blocking_elevation, elevation_blocks): Compute
parabolic instead of flat trajectory.
* history.def (unit-gone): New historical event type.
* move.c (do_move_action, etc): Use it if unit disappears while
moving.
(over_nothing, etc): New enum values, use everything
to test ferrying by transport.
* keyword.def (row-bytes): Remove.
* imf.c (K_ROW_BYTES): Remove reference.
* ttype.def (color): Remove, no longer used.
* help.c (describe_ttype): Remove use of t_color.
* macimf.c: Tweak image size test.
* macinit.c (t_color_defined): Remove, no longer used.
* gettysburg.g: Adjust colors of terrain, add withdraw chance,
weapon height.
* nat-names.g: Update to reflect new flag names.
* panzer.g: Add fire-angle-max, weapon-height, body-height.
* ww2-div-pac.g: Adjust some image names.
* colors.imf (dark-gray, light-gray): Add.
* flags.imf (flag-kazakhstan, etc): Add.
* milsym.imf (army-hq, marine-bn, etc): Add.
* PROJECTS: Add item about follow-action, remove item about
sabotage.
Thu Feb 6 20:06:14 1997 Stan Shebs <shebs@andros.cygnus.com>
* skelconq.c (main): Call run_local_ai.
* test/Makefile.in (check-actions): Rename from check-acts.
* test-acts.h, test-save.sh: Convert to Bourne syntax.
Wed Feb 5 19:52:39 1997 Stan Shebs <shebs@andros.cygnus.com>
* cconq.c (ask_unit): Rewrite so no statements unreachable.
* history.c (record_event): Just flag that post-event scores
should be checked, don't do it just yet.
* run.c (run_game): Do it here.
(test_for_game_end): Call all_sides_draw.
* score.c (side_wins, side_loses, all_sides_draw): Record event
after side status changes.
(check_post_action_scores, check_post_event_scores): Remove unused
arguments.
* actions.c (execute_action): Fix caller.
* xcloseup.c: Standardize argument orders for various functions,
clean up some string handling, simplify some code.
* xcmd.c: Reflect argument order changes.
* xconq.c (raise_widget): Rename from RaiseWidget and move here
from xcloseup.c.
* xdesign.c: Call net_create_feature instead of create_feature.
* xdraw.c: Init more colors to default values.
* xhelp.c: Conditionalize designer help info properly.
* xshowimf.c: Prototype properly.
* wizard.g: Add toolup and research times, remove redundant
char properties, fix starvation table.
Mon Feb 3 20:03:28 1997 Stan Shebs <shebs@andros.cygnus.com>
* imf.c (load_image_families): Parse line without using scanf.
* ui.c (hws, etc): Make hexes at "8x8" mag be 10x10, adjust
all numbers correspondingly.
* util.c (debugging_string): New function.
* macdraw.c (draw_country_borders): Make gray borders thinner.
(draw_winds): Scale wind force correctly.
* macinit.c (filter_splash): Give feedback on debug flags.
(add_default_terrain_image): Always flag as ersatz.
* x11/Makefile.in (LDFLAGS): Define.
* imf2x.c (main): Add argument -match.
* x2imf.c (main): Call init_lisp.
* xcmd.c (aux_build): Fix handling of '?'.
* xconq.c (main): Add name of program to first notification.
* xconq.h (UI dots): New slot.
* bitmaps/dots.b: New file.
* xinit.c: Include it.
(report_missing_images): New function.
(set_optional_colors): New function, broken out of set_colors.
(CLOSE_ENOUGH): Make more lenient on matches.
(get_default_terrain_image): Make default image like Mac version.
* xdraw.c (draw_contours): New function.
(draw_row): Call it, draw less on edges.
(draw_units): Draw ellipsis dots if multiple units stacked.
(draw_border_line_mult, etc): Rename from ..._multiple,
use black as foreground color if none given.
(draw_unit_image): Draw plain boxes at small scales, don't
draw emblem if embedded in image already.
(draw_side_info): Draw willingness to declare draw, highlight
winning sides.
* xmap.c: Improve default size for top left area.
(help_unit_type): Fix so it is actually helpful.
* xutil.c (read_xbm_file, read_xpm_file): Fix various details.
(write_xbm_file, write_xpm_file): Fix structure names written.
* 1757.g, africa.g, empire.g, ww2-adv.g, ww2-div-pac.g: Eliminate
commented-out image names.
* ww2-div-eur.g: Make org material have effect, add more bomber
parameters.
* nw-europe.g: Make default see-all variant be false, add
bombers inside airbases.
* ww2-eur-42.g: Add cliff and salt-marsh border layers.
* PROJECTS: Remove done or useless X11 items, add a couple.
Wed Jan 29 19:08:10 1997 Stan Shebs <shebs@andros.cygnus.com>
* keyword.def: Sort keywords alphabetically.
(sun): New area property.
* world.h (Area sunx, suny): New slots.
* world.c (init_area, calculate_world_globals): Set values.
* read.c (interp_area): Read the property.
* run2.c (compute_sun): Use the property.
* write.c (write_areas): Write the property.
* history.def (unit-merged): New event type.
* actions.c (do_transfer_part_action): Use it.
* nlang.c (historical_event_desc): Describe it.
* actions.c, combat.c, move.c: Compactify testing in
prep_*_action.
* actions.c (do_produce_action, do_alter_cell_action,
do_remove_terrain_action): Call distribute_material.
(notify_tech): New function.
(do_research_action): Call it.
(adjust_tech_crossover): Fix calculation.
(notify_tp): New function.
(do_toolup_action): Call it.
(adjust_tooling_crossover): Fix calculation.
(check_create_common): New function.
(check_create_in_action, check_create_at_action): Call it.
(distribute_material): Distribute to more units nearby.
(give_away): New function.
* ai.c (lookup_goal_type): Move here from read.c.
* nlang.c (report_combat, notify_combat): Move here from combat.c.
* plan.c (lookup_plan_type): Move here from read.c.
* lisp.c, lisp.h (cdddr): New function.
* read.c: Use it, use more temp vars and fewer redundant calls.
* mplayer.c (mplayer_adjust_plan): Go into reserve if unit
plan being executed too many times in a single turn.
* run.c (move_one_unit_multiple): Remove play rate control code.
* run2.c (compute_acp, etc): Add some warnings.
* PROJECTS: Add item about material consumption when changing
type.
Mon Jan 27 18:54:58 1997 Stan Shebs <shebs@andros.cygnus.com>
* imf.c: Call syntax_error for most syntax errors.
(write_color): New function.
(find_color_name): Detect red, green, and blue.
* side.c, side.h (calc_vision): Remove.
* macdesign.c: Remove calc_vision calls.
* xconq.h (UI told_outcome): New slot.
* xconq.c (update_side_display): Remove end-of-game code.
(update_turn_display): Add better end-of-game handling.
* xinit.c: Stub out cellcolor setting.
* ximf.c (x11_make_color_pixmap): Work on any color screen
depth, various optimizations.
* macconq.h (Map see_all): New slot.
* macconq.c (update_turn_display): Set it for all maps if
the game has ended.
* macmap.c (cell_terrain, etc): Use map->see_all.
* macmap2.c: Tweak map->see_all flag instead of side flag.
* imfapp.c: Read/write notes in xcif resource correctly,
don't make xcif for colors.
(syntax_error): New function.
* fred.g: Remove hills terrain type, make supplies matter,
let armies and leaders escape combat.
* 1756.g: Fix module instructions, start armies and leaders in
fortresses.
* t-cent-eur.g (area terrain): Reflect removal of hills type.
* hill.g: Comment out action-messages.
* mod-usa.g: Remove Birmingham (it's not the one in Alabama),
include u-e50-1996.g instead of earth-50km.g.
* normandy.g: Remove bogus coastal artillery.
* t-normandy.g: Add railroad spur to end of Cotentin peninsula.
* ww2-bn.g: Let railroad artillery live but be immobile away
from tracks.
* sf.imf, ships.imf, standard.imf: Clean up some images, add more
colors/masks.
* PROJECTS: Remove some X11 items either done or useless.
Thu Jan 23 18:50:19 1997 Stan Shebs <shebs@andros.cygnus.com>
* macimf.c (mac_create_cicn): Fix computation of mono images.
* imf.c (get_img): Add new images in order of size.
Eliminate image colors as a distinct type of object.
* imf.h (ImageColor): Remove.
* imf.c (interp_color, etc): Remove.
(write_imf): Detect colors and write specially.
* read.c (interp_form): Remove K_COLOR case.
* macimf.h (MacImage colordefined, color): New slots.
* macimf.c: Detect constant-color patterns and make into
1x1 images.
(interp_ctab): Don't look for color names.
(mac_load_image_color): Remove.
* macconq.h (tcolors): Make into array of MacImage *.
* macinit.c (init_terrain_colors): Merge into init_terrain_images.
* macdraw.c, macmap.c: Change all uses of tcolors.
* imfapp.c (collect_all_colors, make_imc_resources, etc): Remove.
* imfapp.c: Add submenu to set window background color.
* colors.imf: Make colors into 1x1 images.
* imf.dir: Add color names.
* All game designs: Eliminate terrain color properties or
change into image-name properties.
* PROJECTS: Reflect above changes.
Mon Jan 20 19:29:55 1997 Stan Shebs <shebs@andros.cygnus.com>
* config.guess, config.sub: Update to current FSF versions.
* config.host: Update from top-level FSF configure.in.
* config: Update contents to current FSF version.
* imf.h (Image rowbytes): Remove slot.
(computed_rowbytes): New macros.
* imf.c (write_pixmap, etc): Always compute the rowbytes.
(interp_bytes): Detect more syntax errors.
* macimf.c: Use computed rowbytes everywhere.
* aircraft.imf, ancient.imf, dwellings.imf, emblems.imf,
fantasy.imf, milsym.imf, misc.imf, people.imf, places.imf, sf.imf,
ships.imf, tanks.imf, vehicles.imf, wizard.imf: Clean up many
images, add color, masks, multiple sizes, remove some unused
images, add others.
* weapons.imf: New file.
* colors.imf: Remove xxx[1234] colors, never used.
* imf.dir: Update.
* empire.g, flattop.g, midearth.g, modern.g, monster.g, panzer.g,
postmodern.g, sc4.g, third-age.g, ww2-div-pac.g: Fix image
references.
* postmodern.g: Fix production/consumption oddities, add tech
development parameters.
* wizard.g: Fix construction tables.
* test/buildtransp.g: Fix to use standard game.
Thu Jan 16 19:05:01 1997 Stan Shebs <shebs@andros.cygnus.com>
* table.def (consumption-per-fire, material-to-attack): New tables.
(material-to-fight): Remove.
* combat.c: Use new tables when testing action validity and
material consumption.
* move.c (move_unit): Change control of unit's new location.
* ai.c, ai.h (AI_ops): Change preferred_build_type slot to
adjust_plan slot.
(ai_preferred_build_type): Remove.
(ai_adjust_plan): New function.
(try_to_draw, give_up): Move here from mplayer.c.
* mplayer.c (mplayer_adjust_plan): New function.
(mplayer_finish_movement): Reduce redundant scanning.
* run.c (move_one_unit_multiple): Return if unit has a task
outcome that the AI should examine.
(run_ai_plan_adjust): Call ai_adjust_plan.
* task.c (execute_task): Return if task outcome to look at.
* side.c (update_side_display_all_sides): New function.
* actions.c, run2.c, side.c: Call it instead of looping over sides.
* init.c (init_view): Check area shape, only allocate material
views if any terrain storage possible.
* side.c (people_always_see): New global.
(see_cell): Use it.
* macconq.c (default_draw_latlong): New global, preference for
drawing lat/long of locations.
* macdefs.h (diPrefsLatLong): New dialog item.
* macmap.c: Pass value to generic_oneliner.
* nlang.c (generic_oneliner): Add argument to control addition
of lat/long position to line.
* ww2-div-eur.g: Don't allow metro divisions to initiate attacks,
increase V-2 range and only allow hits on places.
(bomber): New unit type.
(air): Remove material type.
(missile): New material type.
(estuary): New terrain type.
* t-nw-eur.g: Add estuaries.
* nw-europe.g: Add bombers, original sides to French towns.
* stdterr.g (alt-blob-size): Reduce to 100.
* ww2-adv.g (control-range, keep-control-range, hp-min): Define.
* empire.g, insects.g, ww2-div-pac.g: Rename to material-to-attack
from material-to-fight.
* ww2-adv.g: Rename to material-to-fire from material-to-fight.
* ww2-eur-42.g: Add base Kalinin.
* animals.imf (frog): Move to here from misc.imf.
* insects.imf: Add masks to all images.
* objects.imf, people.imf, places.imf, vehicles.imf: New files,
move appropriate images to here from misc.imf.
* terrain.imf (flagstone, floor, mists, rock): Add color images.
* imf.dir: Rebuild.
* PROJECTS: Reclassify some general items as kernel items,
add some ideas.
Thu Jan 9 17:58:19 1997 Stan Shebs <shebs@andros.cygnus.com>
* combat.c (report_combat): New function, call instead of
notify_combat everywhere.
* help.c (tt_table_row_not_default, tm_table_row_not_default,
tt_table_row_desc, tm_table_row_desc): New functions.
(describe_ttype): Call them.
(tb_dice_desc): New function.
(describe_utype): Call it, describe more combat tables.
* init.c (kill_excess_units): New function.
(final_init): Call it.
* nlang.c (oneliner): Describe control of cell.
* run2.c (run_unit_starvation): New function, call at every
turn end.
* game.dir: Add gazala, ww2s-pac-41, remove duel, napoleon.
* africa-1850.g: Improve terrain view.
* africa.g: Add animals, ship, cities, capacities.
* t-africa.g: Add European cities and access to African towns.
* animals.imf: New file, move elephant from ancient.imf.
* insects.g: Fix various table, add bee stings.
* modern.g: Add more material handling.
* emblems.imf: Add axis/allies combo emblems.
* ww2-stdunit.g: Define emblems for each side.
* ww2s-42.g: Add Pacific theater units.
* ww2s-eur-42.g: Add original sides to various towns.
* ww2s-42.g, ww2s-eur-42.g: Add instructions.
* ww22-pac-41.g: Rename from ww2s-pac-42.g, add many more
starting units.
* ww2-eur-42.g: Make Ireland neutral terrain, make Vichy France
exist but still be inactive side.
* ww2-div-pac.g: Define the sides, remove side library.
* coral-sea.g, midway.g, pearl.g, ww2-pac-41.g: Remove side
declarations.
* imf.dir: Reflect above changes.
* PROJECTS: Add various ideas prompted by library work,
remove a couple library items.
Thu Dec 19 20:45:57 1996 Stan Shebs <shebs@andros.cygnus.com>
* help.h: Fix declarations involving TextBuffer.
* kernel.h, kpublic.h: Fix return type of set_side_self_unit.
* ai.c, help.c, read.c, run.c, run2.c, score.c, task.c,
tp.c, unit.c: Remove unused variables.
* plan.c (side_planning_to_capture): Make static.
* read.c (PARSE_PROPERTY_RETURN): New macro.
(interp_unit): Use it.
* run2.c (request_additional_side): Make void.
* side.c (set_side_self_unit): Ditto.
* cdraw.c: Add side arg to calls to task_desc.
* xcloseup.c, xdraw.c: Ditto.
Wed Dec 18 22:58:24 1996 Stan Shebs <shebs@andros.cygnus.com>
Support for table entries that are dice specs.
* game.h (TAVINT, TABDICE): New macros.
(TableDefn): Delete unused cnst slot.
* table.def, tables.c: Add extra argument to all table macros.
* write.c (write_really_num_prop): Delete.
(write_table): Add value type arg, call add_num_or_dice_to_form
everywhere.
(add_num_or_dice_to_form): Test value type.
* keyword.def (point-value): New keyword.
* unit.h (unit_appear_var_x, unit_appear_var_y): Rename from
unit_appear_x and unit_appear_y.
* world.c (random_point_in_area): Do less if variation not
allowed.
* read.c (fill_in_side): Merge feature namers.
(interp_unit_defaults): Delete K_PLAN case, not used.
(interp_unit): Handle extra args to "appear", point-value.
* run2.c: Update callers.
* unit.c (init_unit_extras): Init variation slots.
* macconq.h (UI followaction): Delete slot, never used.
(Map id): New slot.
* macdefs.h (mMore, etc): New menu and items.
(cView): New cursor.
* maccmd.c: Use front_map everywhere.
* macdesign.c: Make view painting work.
(designer_overlay): New function.
* macmap.c (cell_overlay): Add designer_overlay case.
(create_map): Record map id.
(front_map): New function.
* macmenus.c: Add support for the "more" menu.
* game.dir: Remove "future".
* africa-1850.g: New file, African exploration.
* coral-sea.g: Fill in features, tweak terrain, make Port
Moresby more valuable.
* gazala.g: Fix syntax of per-unit point value.
* nw-europe.g: Add V2 bases in Holland.
* ww2-div-eur.g: Add combat capability for V2 bases.
* PROJECTS: Remove items for changes above, add item about
default unit plan.
Fri Dec 13 17:41:16 1996 Stan Shebs <shebs@andros.cygnus.com>
* keyword.def (aa): Remove, never used.
* read.c, run2.c, unit.h: Remove refs to actualactions.
* nlang.c (latlon_desc): Return empty string if no circumference.
(generic_oneliner): Only call latlon_desc if meaningful.
* game.dir: Remove some games that are not done.
* ww2-bn.g, ww2-div-eur.g, ww2-div-pac.g: Use anchor image for
ports.
* ww2-div-pac.g: Add more transport and combat rules.
Wed Dec 11 19:09:05 1996 Massimo Campostrini <campo@mail.difi.unipi.it>
* keyword.def (standing-order): New keyword.
* read.c (interp_standing_order): New function.
(fill_in_side): Call it.
* write.c (write_standing_orders): New function.
(write_side_properties): Call it.
(write_really_num_prop): New function.
(write_units): Call it.
(write_unit_act): Write action state if actualmoves nonzero.
* refman.texi (standing-order): Document side property.
* ximf.c (x11_make_color_pixmap): Make image by drawing points
instead of using images.
* xshowimf.c (magnify_colrpix): Ditto.
Mon Nov 11 18:17:09 1996 Stan Shebs <shebs@andros.cygnus.com>
* run.c (run_ai_plan_adjust): Don't run if no actionvector yet.
* ai.c (set_side_ai): Always set player->aitypename, use
copy of string when setting.
* init.c (init_ranged_views): Rename from init_area_views, make
static.
* mkterr.c (fix_adjacent_terrain): Add progress display, check
validity of table values.
* read.c (read_rle): Fix reading of negative numbers.
* side.c (see_cell): Merge setting of unit view date.
* side.h (terrain_view_date, etc): Default to 0 instead of -1.
* table.def (adjacent-terrain-effect): Fix upper bound.
Fri Nov 8 17:42:29 1996 Stan Shebs <shebs@andros.cygnus.com>
* t-africa.g: Fill in rest of terrain details, add town Djibouti.
Thu Oct 31 19:39:56 1996 Stan Shebs <shebs@andros.cygnus.com>
* nlang.c (latlon_desc): Add code for decimal lat/lon.
* run.c (run_game): Disable writing of state info.
* tp.c (send_game_checksum): New function.
(net_run_game): Call it.
(receive_run_game): New function, handles X packet.
(receive_game_checksum game_checksum): New functions.
* africa.g: New file, African exploration game.
* t-africa.g: New file, 10 mile/hex map of Africa.
* earth-1deg.g: Fix latitude and longitude.
* earth-50km.g: Add latitude and longitude, shift terrain to
be more accurate.
* nat-names.g: Add recently-formed nations.
* t-e50-river.g: Add more rivers.
* u-e50-1996.g: Add various places, move many others.
* PROJECTS: Remove some useless items, edit some others.
Thu Oct 24 18:46:10 1996 Stan Shebs <shebs@andros.cygnus.com>
* nlang.c (latlon_desc): New function.
(generic_oneliner): Call it.
* read.c (fill_in_side): Read per-side instructions.
* write.c (write_side): Write per-side instructions.
* machelp.c (insert_newlines): New function.
(create_instructions_dialog): Call it, display per-side
instructions if available.
* world.c (paint_feature_1): Don't recompute centroid always,
too slow for large features.
* cherbourg.g: Use per-side instructions.
* galaxy.g: Generate rougher alt layer.
* metz-1944.g: Add line-of-sight, railroad layer, railroad
artillery.
* nat-names.g: Mention Eritrea.
* earth-1deg.g: Add lat/long for area.
* t-e1-river.g: New file, rivers for earth-1deg.
* u-e1-1996.g: New file, earth-1deg cities updated for 1996.
* t-e50-river.g: New file, expanded rivers from earth-50km.g.
* u-e50-1996.g: New file, cities from earth-50km.g.
* commands.texi: Document disembark command.
* mac-sect.texi: Document zoom in/out commands.
* x11-sect.texi: Fix doc of zoom in/out commands.
* x11-dsect.texi: Standardize format of designer commands.
* refman.texi: Document new tables and properties, merge
backdrop sections together, add "Game End" section.
* PROJECTS: Remove some useless items, reflect above changes.
Thu Oct 17 18:12:51 1996 Stan Shebs <shebs@andros.cygnus.com>
* mac.c: Add basic AppleTalk support.
* tp.c (close_file_port): New function.
* read.c: Remove redundant decls.
Fri Oct 11 16:37:58 1996 Stan Shebs <shebs@andros.cygnus.com>
* keyword.def (action-priorities): New side property.
* side.h (Side action_priorities): New slot.
* unit.h (UnitExtras priority): New slot.
(unit_extra_priority): New macro.
* read.c (fill_in_side): Interpret action-priorities.
(fill_in_unit): Interpret priority.
* unit.c (init_unit_extras): Init priority slot.
* run.c (highest_unit_priority, lowest_unit_priority): New globals.
(run_game): If all units of a given priority are done moving,
increment the current priority and recompose action vectors.
(compose_actionvectors): Only add units with exactly matching
priority.
(unit_priority): Account for individual unit priority and side
unit type priorities.
(init_run): New function.
* init.c (final_init): Call it.
* world.h (for_all_features): New macro.
* write.c, world.c: Use it.
(destroy_feature): Fix unsplicing of feature.
* tp.c (net_create_feature, etc): New functions.
* kernel.h, kpublic.h: Add decls.
* mkrivers.c, mkterr.c: Include kernel.h.
* nlang.c (destination_desc): New function.
(task_desc): Add side arg.
* maclist.c, macmap.c, macwins.c: Change callers.
* side.h (is_designer): New macro.
* actions.c, run.c, side.c, macdraw.c, macmap2.c, macmenus.c: Use it.
* macmenus.c (feature_menu_fids): New global.
(build_feature_menu): Record position of each feature in menu.
(update_feature_menu): Remove, useless.
* macdesign.c (draw_design_window_tool): Improve drawing of
feature info.
(do_mouse_down_design): Use aux array to find selected feature
from popup, rebuild feature menu after every change, call net_
routines to make feature list changes.
* PROJECTS: Reflect above changes.
Wed Oct 9 18:52:12 1996 Stan Shebs <shebs@andros.cygnus.com>
* table.def (productivity-adjacent): New table.
* run2.c (run_economy): Account for adjacent productivity.
(unit_consumes): Merge into run_unit_base_consumption.
* utype.def (see-terrain-if-captured): New property.
* table.def (see-others-if-captured): New table.
* combat.c (capture_unit_2): Add case for seeing other side's
terrain and unit info.
* move.c (change_control_side_around): New function.
(move_unit): Call it.
* world.c (compute_all_feature_centroids, etc): Compute
bounding box of feature.
(paint_feature_1): Recompute centroid, update display of
adjacent cells.
* table.def (control-range, keep-control-range): New tables.
(unit-control-chance, etc): Rename from control-chance, etc.
* keyword.def (control-sides): New keyword.
* world.h (Area controlside): New layer.
(control_sides_defined, control_side_at, set_control_side_at,
NOCONTROL, controlled): New macros.
* read.c (fill_in_control_sides): New function.
(fill_in_side): Call it.
* score.c (side_loses): Remove losing side's control of cells.
* tp.c (net_paint_control): New function.
(receive_world_prop): Interpret control-sides packet.
* world.c (allocate_area_control_sides, fn_control_side_at,
fn_set_control_side_at, paint_control): New functions.
* write.c (write_area_control_sides): New function.
(write_areas): Call it.
* macconq.h (Map drawcontrol): New slot.
(Map drawborders, drawconnections): Remove slots.
* macdefs.h (miViewControl): New menu item.
* macmap.c (create_map): Init drawcontrol slot.
(draw_people_row): Draw both control and people sides.
* macdraw.c (draw_country_borders): Add ability to draw
a dark gray country border.
* macmap2.c: Add toggling for side control display.
(toggle_map_control): New function.
* macmenus.c: Add toggling for side control display.
* macdesign.c: Add painting of control layer.
(draw_design_window_tool): Clip long text strings.
* macconq.c (get_files): Open second image file.
* standard.g: Add useful values for see-terrain-if-captured and
see-others-if-captured.
* ww2-adv.g (people-surrender-chance): Comment out for now.
* ww2-eur-42.g: New bases Tobruk and Tallinn, new towns Bremen,
Stettin, Florence, Taranto, Trieste, Venice.
(control-sides): New layer.
(people-sides): Change to reflect prewar countries.
* eur-100km.g: Small tweaks to terrain and rivers.
* voyages.g: Adjust capacities for food and water to work
around lossage in consumption calculations.
(productivity-adjacent): Define for fleets.
* magellan.g: Add wind variant, disallow variable advantage.
* cave.g: Add new image names for some types, give items a
size of 0 in terrain.
* PROJECTS: Remove various useless items.
Sun Sep 29 13:33:24 1996 Stan Shebs <shebs@andros.cygnus.com>
* table.def (tp-damage): New table.
* utype.def (fire-velocity-max, fire-velocity-min: New properties.
* combat.c (change_morale): New function.
(maybe_hit_unit, hit_unit): Call it, add code to lose tp if
damaged.
* move.c (do_move_action, total_move_cost): Allow multi-cell
move actions.
* task.c (do_move_to_task): Do multi-cell move if within range.
* read.c (fn_set_terrain_view, etc): Move to side.c.
* score.c (get_scores): Fix reporting of total games, add more
sanity checks.
* mkroads.c (compare_road_directions): Test cells beyond current
road location to decide which dirs desirable.
* macdefs.h (sImagesBWFilenames, sImagesColorFilenames): New
string resources.
* macconq.c (get_files): Choose image file name based on whether
ColorQD available.
* macimf.c (mac_create_cicn): New function.
(mac_interp_imf): Call it.
* imfapp.c (miFileBWOnly): New menu item.
(write_color): New global.
(make_imf_resources): Rewrite to separate handling of color images
from monochrome images.
(make_ppat_resource, make_cicn_resource): New functions, split from
make_imf_resources.
* macmenus.c (adjust_menus): Check/uncheck scores menu.
* chess.g: Use grays for row colors, limit all types to one
action, define move-range for multi-hex movers, disable
counterattacks, suppress emblem display, add a set of
chess images.
* magellan.g (terrain-view): Update to match reader.
* voyages.g: Fix food/water amounts.
* PROJECTS: Reflect above changes, remove item about
elevation-at-max-range, add item about fire velocities.
Sun Sep 22 15:49:36 1996 Massimo Campostrini <campo@mail.difi.unipi.it>
* help.c: Fix punctuation and spacing.
* time.g: "flying cities" can safely fly over sea.
* kernel/Imakefile: Add obstack.o.
Sun Sep 22 15:30:27 1996 Stan Shebs <shebs@andros.cygnus.com>
* gvar.def (advantage-max): Change default from 100 to 10.
(alt-blob-density, etc): Change defaults to be more like values
in stdterr.g.
* task.def (hit-unit): Fix argument type string.
* mkterr.c (compose_area): Simplify elevation calcs, add debug
displays.
* nlang.c (task_desc): Fix description of hit-unit and move-to,
add description for resupply.
* plan.c (plan_offense): Detect disappearance of intended victim
from targeted location, search for its new location.
(find_alternate_hit_target, alternate_target_here): New functions.
(victim_here): Record type and side of victim.
(go_after_victim): Use to set up more specific hit tasks.
* run2.c (run_turn_start): Display turn even if only debugging AI.
* task.c (target_visible): New function.
(do_hit_unit_task): Call it, add case to fire at adjacent unit.
* mplayer.c (try_to_draw): New function, use instead of always
declaring willingness to draw.
* macconq.c (init_fonts, recalc_spacing): New functions.
(main): Call init_fonts.
(init_toolbox, init_rects, init_ae): Make static.
(update_turn_display): Only redraw maps if not already seeing all.
(title_font_id, title_font_size, etc): New globals.
* machelp.c: Use title font instead of large font for topics.
* macmap.c: Fix calculation and update of topline and unit info
areas when font changes.
(draw_unit_info): Put two tasks on a single line.
* macwins.c: Use large font in game status window.
* stdterr.g: Make elevation ranges non-overlapping.
* PROJECTS: Reflect above changes, remove redundant items
about prescheduling and preevaluating plans.
Wed Sep 18 19:49:05 1996 Stan Shebs <shebs@andros.cygnus.com>
* keyword.def (messages): Remove.
* score.h (Scorekeeper messages): Remove slot.
* read.c (interp_scorekeeper): Remove interp of messages.
* mkterr.c (make_earthlike_terrain): Add detection and generation
of more types of terrain.
(compose_earthlike_area, earthlike_terrain_from_percentiles):
New functions.
* nlang.c (others_here_desc, occupants_desc): New functions.
* run2.c (run_appearances): Iterate so as to handle appeance
of occupants.
* unit.c (unit_desig): Don't constrain length of type info.
(shortest_unique_name): Give priority to single-char names.
* macconq.c (get_files): Don't always disable statistics.
(set_preferences): Rewrite to use a popup to select which
subdialog to use, add font selection/sizing code.
* macdefs.h: Change definitions to match new prefs dialog.
* macdesign.c, macdraw.c, machelp.c, macinit.c, maclist.c,
macmap.c, macwins.c: Use variable font sizes for all text.
* macmenus.c: Don't set up font sizes menus here.
* maccmd.c (do_one_clear_plan): Clear task agenda also.
* cconq.c (schedule_movie, play_movies): Implement for real.
* cdraw.c (draw_map): Fix up status line display.
(draw_row): Reorganize.
(draw_unit_details): Use more common kernel code.
(draw_type_list_entry): Add total gain/loss columns.
* refman.texi: Remove mention of scorekeeper messages property.
* PROJECTS: Reflect above changes.
Fri Sep 13 17:26:25 1996 Stan Shebs <shebs@andros.cygnus.com>
* table.def (see-mistake-chance, looks-like): New tables.
* side.c (compute_see_chances): Add init calcs for mistakes.
(test_for_viewer, etc): Collect pointer to viewing unit,
account for vision range.
(mistaken_type): New function.
(see_cell): Call it, find unit doing the mistaken viewing.
* plan.c (decide_plan): Don't clear agenda.
* unit.c (side_owns_occupant): New function.
* macdefs.h (diPlayerSetupAdvantageRange): New item.
* macinit.c (set_player_setup_button_states): Fill it in.
* macmap.c (grow_map): Add update region for grow box.
(draw_unit_and_occs): Draw main unit if occ visible.
* imfapp.c: Don't copy imf names.
* panzer.g: Make slopes appear at intermediate elevations.
(see-mistake-chance, looks-like): Define.
* monster.g: Don't detonation do anything to rubble piles.
* dwellings.imf (city20-intact): Add 16x16 image.
* PROJECTS: Reflect above changes.
Tue Sep 10 19:26:30 1996 Stan Shebs <shebs@andros.cygnus.com>
* gvar.def (random-events): Remove.
* keyword.def (attrition-in-terrain, accidents-in-terrain,
units-revolt, units-surrender): Remove, no longer used.
* run2.c (randomeventmethods): Remove.
(run_accidents, etc): Add init_* code to beginning of these.
* conq.h (movie_type, MovieType): Remove.
(schedule_movie): Change movie type argument to char *.
* actions.c, combat.c, history.c: Fix callers.
* macconq.c, skelconq.c, cconq.c, xconq.c (schedule_movie,
play_movies): Rewrite to localize types of movies, add screen
flash.
* macmap.c (clear_unit_blast): Make it do something.
(invert_map): New function.
* combat.c (hit_unit_with_detonation): New function.
(detonate_unit): Call it, also flash screen.
* mplayer.c (create_initial_theaters): Don't assign every
people-owned cell to home front.
(mplayer_react_to_task_result): Try more options if blocked
by enemy unit.
(change_to_adjacent_theater): Add options to change to theaters
closer or further than current one.
* beirut.g, fantasy.g (random-events): Remove.
* monster.g: Various adjustments to combat, occupancy, etc.
* tokyo.g: Name some more buildings, remove some mobs.
* dwellings.imf (city20-intact): New image.
* hacking.texi: Add more info about side list, add basic
description of networking support.
* PROJECTS: Remove some useless items, remove inner/outer
theater reassignment item.
Fri Sep 6 17:35:42 1996 Stan Shebs <shebs@andros.cygnus.com>
* kernel.h: Move more definitions here from unit.h etc.
* side.c (see_cell): Set unit view date more often.
* plan.c (resupply_if_low, rearm_if_low): Test for prior
existence of a resupply task.
* run.c (run_game): Add still more debugging output, call
test_for_game_end() during turn start.
(move_one_unit_multiple): Don't break if side has local AI,
causes out-of-sync probs if AIs running.
(run_ai_plan_adjust): Rename from run_ai_planning.
* tp.c (send_packet): Add recovery from timeout.
(special_timeout): Remove.
* write.c (write_entire_game_state, etc): Don't record save as
an event if debugging, don't record realtime values.
* mac.c (low_serial_receive): Add debugging printout.
* macwins.c: Remove unnecessary calls to execute_task.
* modern.g: Add steel-mill, fix production and consumption tables
in various ways.
* standard.imf: Add 32-bit monochrome images, remove color city20
image.
Mon Sep 2 11:44:56 1996 Stan Shebs <shebs@andros.cygnus.com>
* imf.c (get_imf): Allocate space for name here.
* cmdline.c (args_used): New global.
(parse_command_line): Build it.
* xconq.c (main): Use it.
(exit_xconq): Write score summary.
* xmap.c (handle_key_event): Remove special ^A handling.
* ai.h, ai.c (ai_react_to_unit_loss, ai_planning_to_capture,
ai_guide_explorer, ai_analyze_after_moves): Remove, no longer
useful.
* mplayer.c (mplayer_planning_to_capture,
mplayer_analyze_after_moves): Ditto.
* unit.c (kill_unit_aux): No longer call ai_react_to_unit_loss.
* plan.c (decide_plan): Remove side argument, fix callers.
* run.c (run_game): Return right after starting or ending
turn.
(run_local_ai): Add args for when and how much to do, call
ai_finish_movement when appropriate.
* macconq.c (event_loop): Fix caller.
* cconq.c (main): Ditto.
* PROJECTS: Remove unimplementable item about mplayer cheating.
Sat Aug 31 12:49:32 1996 Stan Shebs <shebs@andros.cygnus.com>
* actions.c (execute_action): Remove useless code bit.
* imf.c (compute_image_bbox): Also look at rawmaskdata.
* plan.c (init_unit_plan): Don't look at cp.
(set_waiting_for_tasks): New function, was wait_for_orders.
(plan_passive, etc): Call it.
(plan_defense): Don't go into reserve if tasks to be done.
(victim_here): Return true if only choosing best of several
alternatives.
* side.h (Side curactor_pos, curactor, curactor_id): New slots.
* run.c (run_game): Don't finish_turn of brainless sides.
(compose_actionvectors): Add contents of init_actionvector.
(units_still_acting): Start scanning at curactor_pos.
(side_move_some_units): Ditto, and set curactor_pos etc.
(unit_still_acting): Remove second arg, change callers.
* run2.c (init_actionvectors): Remove.
* task.c (attack_can_damage_or_capture): New function.
(do_hit_unit_task): Call it.
(do_move_dir_task): Be willing to enter trusted units.
* mplayer.c (review_units): Add adjustment of number of
defensive units if too many.
(mplayer_react_to_action_result): Empty out.
* unit.h (is_present, in_action, is_acting): Remove.
* macwins.c: Change references to use in_play.
* maccmd.c (do_one_ai_control): Remove mod of waitingfortasks.
* macconq.c (maybe_select_next_unit): Only use scrolltounit
to decide what to do with curunit, not whether to use curunit.
* macimf.c (make_generic_image_data): Recompute image bboxes.
* modern.g: New material types petrol, coal, lumber, iron-ore,
steel, new unit types oil-tanker, sawmill, iron-mine, refinery,
add table contents go with these.
* PROJECTS: Remove some of the lamer game ideas, reflect above
changes.
Tue Aug 27 19:16:05 1996 Stan Shebs <shebs@andros.cygnus.com>
* gvar.def (run-serial-number): New global.
* run.c (run_game): Increment it.
* actions.c (execute_action): No longer call
ai_react_to_action_result.
* ai.c (set_side_ai): Call net_force_replan.
* init.c (final_init): Call ai_init_shared.
* mplayer.c (mplayer_init): No longer call ai_init_shared.
(analyze_the_game): Only set willingnesses if they changed.
* unit.h (Plan last_task, last_task_outcome): New slots.
* plan.c (init_unit_plan): Clear.
(plan_passive): Don't call AI code.
(plan_offense_support, plan_explorer_support): Ditto.
(side_planning_to_capture): New function.
(victim_here, etc): Call it instead of AI code.
* run.c (need_ai_planning, need_ai_task_reaction,
need_ai_for_new_side): New global vars.
(run_game): Calculate and return sum of all types of things
that run step might have done, remove AI code.
(test_for_game_end): Remove sides after a draw.
(run_local_ai): Move AI code here from elsewhere.
(run_ai_planning): New function.
* task.c (execute_task): Record task execution in unit plan,
remove AI code.
* tp.c (broadcast_randstate): Remove.
(net_run_game): Add serial number and randstate to X packet.
(receive_data): Buffer packet received while waiting for ack,
process after expected packet.
(receive_packet): Interpret new parameters to X packet.
* ui.c (force_global_replan): Move here from plan.c.
* macconq.c (event_loop): Call run_local_ai before run_game also.
Thu Aug 22 19:19:34 1996 Stan Shebs <shebs@andros.cygnus.com>
* ai.c (set_side_ai): Don't run if AI is remote.
* plan.c (decide_plan): Skip AI code if AI is remote.
* task.c (create_hit_task, create_specific_hit_task): New functions.
(set_hit_task, etc): Call them.
* tp.c: Always test numremotes before broadcasting.
(send_version): New function.
(broadcast_command_5): Rename from broadcast_command_4, don't
have side as special argument.
(net_set_move_to_task, etc): Free temporary task after using it.
(broadcast_packet): Warn if trying to send while in run_game.
(receive_packet): Interpret new packet type V.
(receive_command, etc): Interpret all subtypes that can be
sent.
* run.c (in_run_game, need_ai_init_turn): New globals.
(run_game): Set/use them, track randstate changes, move
summary of activity closer to end of function.
(init_movement): Remove AI code.
(run_local_ai): New function.
* macconq.c (event_loop): Call it.
* PROJECTS: Reflect above changes.
Tue Aug 20 20:16:20 1996 Stan Shebs <shebs@andros.cygnus.com>
* run.c (run_game): Reset planexecs and taskexecs.
* plan.c (execute_plan): Increment planexecs.
* task.c (execute_task): Increment taskexecs.
* tp.c (net_run_game): Reorganize, save last randstate before
running, transmit X packet if any plan or task execs.
(broadcast_randstate): Add argument.
(send_quit, receive_quit): New functions.
(receive_packet): Interpret new packet type Q.
(receive_action, receive_task): Warn about bad data in packet.
Mon Aug 19 20:52:12 1996 Stan Shebs <shebs@andros.cygnus.com>
* mkterr.c (name_highest_peaks): Don't say anything if can't run.
* mplayer.c (assign_to_defense): New function.
(mplayer_decide_plan): Call it.
* plan.c (plan_defense): Add handling for various cases.
* task.c (do_build_task): Clear old unit id if no longer needed.
* tp.c: Replace "not networkable" warnings with code for all
but some tasks.
(broadcast_randstate, broadcast_command_4, receive_command,
broadcast_side_property_2, broadcast_unit_property_5): New
functions.
(receive_packet): Interpret new packet types C and X.
(net_run_game): New function.
* macconq.c (event_loop): Call it.
* macinit.c (hit_player_setup_dialog): Make cancellation undo
any remote setups.
* mac.c: Add some comments.
* PROJECTS: Add item about distribution of elevations.
Fri Aug 16 17:47:54 1996 Stan Shebs <shebs@andros.cygnus.com>
* plan.c (set_unit_main_goal, set_unit_waiting_for_transport,
force_replan): New functions.
* tp.c (net_set_unit_main_goal, net_set_unit_waiting_for_transport,
net_force_replan): New functions.
* mplayer.c: Call them.
* kernel.h, kpublic.h: Declare them.
* side.c (init_view): Init base array of material views.
* table.def (see-material-always): Fix default.
* commands.texi (doctrine, release): Document.
* refman.texi: Document recently-added symbols, remove most
of the "defaults to 0", use a general default comment.
* PROJECTS: Reflect above changes, remove some junk items.
Thu Aug 15 19:03:15 1996 Stan Shebs <shebs@andros.cygnus.com>
* keyword.def (trk): New keyword.
* table.def (lose-track-chance, spy-track-chance, track-chance):
New tables.
* side.h (remove_side_from_set): New macro.
* unit.h (Unit tracking): Rename from "spotted".
(side_tracking_unit): New macro.
* side.c (all_see_occupy, all_see_leave): Use it.
(maybe_track, maybe_lose_track): New functions.
* move.c (move_unit): Call them.
* read.c (interp_side_mask_list): New function.
(interp_unit): Interpret tracking slot.
* run2.c (spy_on_location): Account for spy track chance.
* write.c (write_unit_properties): Write tracking.
* table.def (see-material-always): New table.
* side.c (init_view): Set up material views, fix any_los
calculation to run only once.
(see_materials): New function.
(see_cell, see_exact): Call it.
* write.c (write_side_view): Write material view layers.
* kernel.h, kpublic.h: Update random decls.
* mplayer.c: Call networkable functions in kernel only, replace
unit slot tweaking with function calls.
* task.c (set_build_task): New function.
* plan.c: Call it.
(set_construction): Remove.
* tp.c (net_reserve_unit, net_clear_task_agenda,
net_push_move_near_task, net_set_build_task): New functions.
* run.c (ok_to_exit): New global.
(end_the_game): Dump statistics after informing side of outcome,
set the global.
* world.h (Area): Remove unused constant slots consttemp, etc.
* macconq.c (want_to_exit): New global.
(event_loop): Use it to decide about exiting.
(won_game_dialog, lost_game_dialog, game_over_dialog): Set it
instead of exiting directly.
* macmap.c (draw_materials): Use material_view.
* refman.texi: Document spy-track-chance.
* PROJECTS: Reflect above changes, remove a couple mysterious
items.
Tue Aug 13 18:57:16 1996 Stan Shebs <shebs@andros.cygnus.com>
* utype.def (lost-revolt-chance, lost-vanish-chance,
lost-wreck-chance): New unit properties.
* table.def (lost-surrender-chance): New table.
* run2.c: New file, turn start/end computations from run.c.
(unit_revolt): Make revolting unit go over to original side
or to side with most units of same type.
(run_unit_fates): New function.
* kernel/Makefile.in, kernel/Imakefile: Add run2.o.
* unit.c (wreck_unit): New function.
* move.c, run2.c: Call it.
* init.c (patch_object_references): Fix placement of unit when
can live on connection only.
* unit.c (can_occupy_conn_1): New function.
(can_occupy_conn): Call it, fix multi-connection behavior.
* history.c (dump_statistics): Don't dump if empty filename.
* mac.c (statistics_filename): Ask user for file name.
* macdesign.c, macmenus.c: Use nonempty strings in SFPutFile.
* ui.c (set_view_position): Increase size of scroll range if
area is cylindrical.
* macmap.c (set_map_scrollbars): Fix calculation of horizontal
scrollbar max.
* ww2-adv.g (lost-vanish-chance): Keep places around even if
the side loses.
* PROJECTS: Reflect above changes
Sat Aug 10 16:33:57 1996 Stan Shebs <shebs@andros.cygnus.com>
* combat.c (rescue_occupants): New function.
(damage_unit): Call it.
* plan.c (init_unit_plan): Be more thorough about clearing plan.
* task.c (add_task): Create plan if none present for incomplete
unit.
* macdefs.h (miViewCompleted, miViewIncomplete): New list view
menu items.
* macconq.h (List listglimpsed): Remove slot.
(List completed_units, incomplete_units): New slots.
* maclist.c (create_list): Init them.
(add_unit_to_list): Test completed units view options before
adding a unit.
(toggle_list_completed, toggle_list_incomplete): New functions.
* macmenus.c (do_menu_command): Call them.
Adjust new menu items.
* PROJECTS: Reflect above changes, clarify a couple items.
Fri Aug 9 17:26:29 1996 Stan Shebs <shebs@andros.cygnus.com>
* move.c: New file, gets movement code from actions.c.
* kernel/Makefile.in, kernel/Imakefile (move.o): Add.
* gvar.def (action-movies, action-narratives, action-notices,
event-movies, event-narratives, event-notices): New globals.
(action-messages, event-messages): Remove.
* actions.c (notify_action, pattern_matches_action,
action_desc_from_list ): New functions.
(execute_action): Call.
* history.c (notify_event): New function.
* nlang.c (pattern_matches_event, event_desc_from_list): New
functions.
(historical_event_desc): Call them.
* run.c (maybe_starve): Remove notify call.
* run.c: Add debug prints to all automatic processes, organize
prerequisites tests better.
* game.def (PropertyDefn): Remove unused default function slot.
* types.c (utypedefns, etc): Remove init of slot.
* galaxy.g, insects.g, mormon.g, old-empire.g, sc4.g, standard.g,
stdunit.g, time.g: Update message generation to use new vars.
* sc4.g: Add multiple types of bombers, bomber detonation,
variants, improve on hit chance table.
* commands.texi: Add info about designer commands.
* PROJECTS: Reflect above changes.
Wed Aug 7 19:05:53 1996 Stan Shebs <shebs@andros.cygnus.com>
* table.def (capacity-negation, consumption-per-add-terrain,
material-per-remove-terrain, material-to-add-terrain,
material-to-remove-terrain, material-to-research): New tables.
* unit.c (can_occupy_conn): Test for capacity negation.
* actions.c (check_research_action, check_alter_cell_action,
etc): Check material avail.
(do_alter_cell_action, do_add_terrain_action, etc): Consume
materials.
* lisp.h, lisp.c: Make reader helpers static.
(linenobuf): Allocate dynamically.
* macdraw.c (draw_cell_block, draw_hex_region, etc): Rename arg
for clarity.
(draw_border_line_multiple, draw_connection_line_multiple):
Account for overlay.
(draw_cloud_block): New function.
* macmap.c (draw_row): Call it, move other cloud-drawing code here.
(draw_borders, draw_connections): Pass night as overlay to
lower-level drawing.
* ccmd.c (do_c_set_info_lines): Fix calculation.
* hacking.texi: Clarify display rules for night.
* PROJECTS: Reflect above changes, expand on narrative item.
Sun Aug 4 15:30:48 1996 Stan Shebs <shebs@andros.cygnus.com>
* run.c (run_environment): Fix truncation bug in wind effect
on clouds.
(all_see_cell_weather): Update cloud view separately.
* macmap.c (update_cell_display): Update if cloud view changed.
* conq.h, help.h, print.h, ui.h, unit.h: Remove decls of functions
never defined nor used.
* keyword.def (ever-ask-side): Remove, never actually used.
* side.h (Doctrine ever_ask_side): Remove slot.
* nlang.c, read.c, side.c, write.c: Remove references.
* plan.c (doctrine_allows_wait): Remove.
* plan.c (plan_passive): New function, was part of execute_plan.
* cmdline.c (parse_command_line): New options -pre and -post.
(gdl_spec): New structure.
(add_a_gdl_spec): New function.
(load_all_modules): Call it.
(general_usage_info): Add note if designing is disabled.
* stdunit.g (cp-on-creation, cp-per-build): Remove redundant
clauses, are same as default.
* third-age.g: New game module.
* t-midearth (game-module): Make midearth be default base module.
* test-perf.sh: New test script.
* perftest.inp: New test script input.
* test/Makefile.in (check-perf): New action.
* PROJECTS: Reflect above changes.
Thu Aug 1 19:33:37 1996 Timo Korvola <tkorvola@dopey.hut.fi>
* xcloseup.c (integer_select_popup): Use a proper buffer.
* xmap.c (interp_key_command): Don't reset prefix arg always.
(handle_key_event): Reset it here instead.
Thu Aug 1 19:16:59 1996 Stan Shebs <shebs@andros.cygnus.com>
* combat.c (retreat_unit): Don't retreat if can't act to move.
* init.c (patch_object_references): Fill in formation's leader.
* plan.c (move_into_formation): Handle case of leader dying.
* read.c (interp_plan): Don't fill in leader yet.
* gvar.def (create-units-from-specs): New global.
* read.c (unit_specs, last_unit_spec, default_unit_spec): New
globals.
(init_predefined_symbols): Initialize.
(interp_unit_defaults): Record default spec.
(find_unit_spec_by_name, find_unit_spec_by_number): New functions.
(interp_unit): Call them, record unit spec if required,
adjust @ property by restricted area offset.
* cobra.g: Use ob-nor-* files, change some units to refer
to OB forms.
* ob-nor-alld.g, ob-nor-axis.g: Fix module names, add more
info about some units.
* PROJECTS: Reflect above changes, remove item about constant
layers.
Tue Jul 30 18:51:27 1996 Stan Shebs <shebs@andros.cygnus.com>
* combat.c (found_blocking_elevation, elevation_blocks):
Handle case of no elevation in world.
* tp.c (net_wake_unit): New function.
* conq.h, kernel.h, kpublic.h, system.h, tp.h: Add various decls.
* init.c, nlang.c, skelconq.c, tp.c: Remove excess decls.
* history.c (record_event): Check number of parameters, check
unit validity for unit data in events.
(record_unit_side_change): Handle side loss better.
* init.c (patch_object_references): Be more specific about cause
of placement failure.
* lisp.c (read_form_aux): Don't put back EOF chars after numbers.
* tp.c (net_add_task): New function.
* skelconq.c: Include kpublic.h, use networked functions, provide
more info about calls of display update functions.
(main): Start time tracking earlier.
(list_sides): Show more info.
(launch_game, set_you_player): Fix definitions.
* maccmd.c, macconq.c, macconq.h, macmap.c: Remove excess decls.
* xcmd.c (execute_named_command): Fix call to
parse_long_name_command.
(do_copying, do_warranty): Go to appropriate help nodes.
(do_wake, do_wake_all): Use networked functions.
* xconq.c, xdraw.c: Remove excess decls, fix defns of remote fns.
* ccmd.c (execute_named_command): Fix call to
parse_long_name_command.
(describe_long_commands): New function.
(do_submit): Fill in body.
* cconq.c (main): Force side priority before calling run_game.
(make_current): Draw curunit explicitly.
* cconq.h: Remove excess decls.
* cdraw.c (show_closeup): Describe transport if applicable.
* test-ai.sh: Fix options to skelconq command.
* aitest.inp: Add (quit if-end) commands.
* PROJECTS: Reflect above changes, move warning-to-file item
from curses to generic interface.
Sat Jul 27 11:54:06 1996 Stan Shebs <shebs@andros.cygnus.com>
* unit.c (init_unit_extras): Init the sym slot correctly.
Remove the old and useless "game compiler".
* compile.c: Delete.
* Makefile.in, Makefile.dos: Remove references, merge GOBJS
with OBJS list, remove build of special.h.
* config.h (COMPILER): Remove.
* game.h, generic.c, read.c, tables.c, types.c [SPECIAL]: Remove.
* skelconq.c (do_compile): Remove.
* skelconq.6in: Remove reference to compiler.
* skelconq.c (add_remote_player, launch_game, set_you_player):
Add empty versions.
* cmd.def (doctrine): New command.
* maccmd.c, xcmd.c, ccmd.c (do_doctrine): New function.
* nlang.c (notify_doctrine): New function.
* side.c (set_doctrine): Ditto.
* tp.c (net_set_doctrine): Ditto.
* unit.h (Unit transport_id): New slot.
* unit.c (create_unit): Init it.
* read.c (interp_unit): Fill it.
* init.c (patch_object_references): Get transport spec from new
slot, leave existing transport if different.
* read.c (add_to_area): New function.
(interp_area): Call it.
* imf.c (validify_imf_name): New function.
* imfapp.c (collect_all_resources): Call it.
* imf.h (ImagePalette palette): New slot.
* imf.c (write_palette_contents): Write color by name if
possible.
(write_imp): Call it.
(find_color_name): New function.
* macimf.c (mac_add_cicn): Skip if empty handle.
(interp_ctab): Handle color names.
* nlang.c (generic_oneliner): New function.
* macmap.c (oneliner): Call it.
* module.c (do_module_variants): Do object patching and validity
check if any variants evaluated forms.
* macinit.c (implement_variants): Remove validity check, is now
in generic code.
* misc.imf: Remove farm image, rename port to anchor.
* empire.g, modern.g, ww2-adv.g: Update references.
* ww2-eur-42.g: Make Switzerland and Sweden neutral always,
add variants to make Spain and Turkey neutral optionally.
* PROJECTS: Reflect above changes, remove some silly items,
move some from "general" category to more-specific ones.
Wed Jul 24 19:25:21 1996 Stan Shebs <shebs@andros.cygnus.com>
* imf.c (write_imf_dir): New function, was in imfapp.c.
* macinit.c (add_default_terrain_image): Remove redundant test.
* macimf.c (mac_add_cicn): New function.
(mac_load_imf): Call it.
* imfapp.c: Call tprintf wherever possible.
(collect_all_resources): Call it, also add argument
resource file refnum, use to ignore resources from other files,
assign names to anonymous resources instead of ignoring, handle
any resource ending in " mxn".
(collect_all_colors): Add argument resource file refnum, use to
ignore resources from other files.
(miViewBBox): New menu item.
(show_bbox): New global.
(do_menu_command, adjust_menus): Handle new menu item.
(draw_one_image): Test show_bbox.
(save_imf_dir_file): Call write_imf_dir.
(make_imf_resources): Count icons, append size if multiple.
Also lock all pixpat-related handles.
* hacking.texi: Add description of what interface should do
when images are missing.
* PROJECTS: Reflect above changes, add item about X11 interface
complaining about missing imagery.
Mon Jul 22 19:22:47 1996 Stan Shebs <shebs@andros.cygnus.com>
* keyword.def (initial-center-at, resupply-percent,
rearm-percent, repair-percent): New keywords.
* utype.def (cp-attrition): New property.
* actions.c (check_move_action): Conditionalize addition of acp.
(make_unit_complete): Inform trusted sides of completion.
* combat.c (capture_occupant): Add code for escape and scuttle
cases.
* help.c (describe_concepts): Add more concepts.
(any_ut_capacity_x, any_enter_indep): New functions.
(describe_utype): Use them, and add mentions of material
consumption for various activities.
* init.c (make_weather): Initialize clouds randomly.
* plan.c (victim_here): Use capture_chance instead of uu_capture.
(low_on_supplies_one): Use resupply_percent doctrine.
(low_on_ammo_one): Use rearm_percent doctrine.
* read.c (fill_in_side): Interp initial-center-at.
(fill_in_doctrine): Interp resupply-percent, etc.
* run.c (run_cp_attrition): New function.
(run_turn_start): Call it.
(run_environment): Calculate cloud changes.
* side.h (Doctrine resupply_percent, rearm_percent,
repair_percent): New slots.
(Side init_center_x, init_center_y): New slots.
* side.c (create_side): Init them.
(init_doctrine): Init new slots.
* task.c (do_move_to_task): Fix bug.
* ui.c (pick_a_focus): Use initial-center-at if set.
* write.c (write_doctrine): Write new slots.
* nlang.c (sidemask_desc): New function.
* maccmd.c (message_dialog): Move side mask desc to generic code.
* ui.c (parse_long_name_command): Add return argument for prefix,
parse and return number prefixed to command.
* maccmd.c (execute_named_command): Fix caller.
(create_command_dialog): Seed command buffer with prefix arg.
* macmap.c (draw_selected_unit): Indicate move near tasks with
a radius, draw second move task as line from end of first.
* macwins.c (unit_doctrine): New macro.
(adjust_construction_controls): Use it.
* napoleon.g: Make temperature-year-cycle an area property.
* stdunit.g (default-doctrine): Define rearm-percent.
* ww2-eur-42.g: Set initial-center-at for all sides.
* refman.texi: Document new doctrine slots.
* hacking.texi: Add a suggestion from projects list.
* PROJECTS: Reflect above changes, remove some doctrine-related
nonsense ideas, add projects for display of clouds.
Thu Jul 18 19:29:26 1996 Stan Shebs <shebs@andros.cygnus.com>
* xcmd.c, ccmd.c (do_release): New function.
(do_submit): Rename from do_surrender_to.
Wed Jul 17 19:15:09 1996 Stan Shebs <shebs@andros.cygnus.com>
* cmd.def (release): New command.
(submit): Rename from surrender-to.
* side.c (set_controlled_by): New function.
* tp.c (net_set_controlled_by): New function.
* conq.h (checkpoint_interval): Rename from checkpointinterval.
* run.c, cmdline.c: Fix references.
* macconq.h, macdraw.c (solid_color_terrain): New global.
* macdefs.h (diPrefsSolidColorTerrain): New preferences item.
* macconq.c (interp_mac_ui_data): Get preference for solid color.
(ui_update_state): Record preference for solid color.
(set_preferences): Handle solid color preference.
* macdraw.c (draw_cell_block, draw_hex_region,
draw_border_line_multiple, draw_connection_line_multiple): Draw in
solid color if preferred.
* maccmd.c (do_release): New function.
(do_submit): Implement.
* ui.c (free_vp): New function.
* macmap.c (destroy_map): Call it, free other substructures.
* maccmd.c: Put Mac-specific commands into separate table.
(describe_text_commands): New function.
* machelp.c (create_help_window): Add separate node for text
commands.
* imf.h (Image bboxx, etc): New slots.
* imf.c (compute_image_box, compute_image_bboxes): New functions.
(interp_imf_contents): Call.
* macdraw.c (draw_unit_image): Use image bounding box to place
emblem.
* imfapp.c: Ditto.
* refman.texi: Document recently-added GDL constructs.
* PROJECTS: Reflect above changes, add items about side control,
AI usage of kernel.
Thu Jul 11 21:33:40 1996 Massimo Campostrini <campo@sunthpi3.difi.unipi.it>
* read.c (interp_unit_plan): Build task agenda in correct order.
* write.c (write_side_properties): Write escaped rather than
raw unit type names.
* flags.imf (flag-ukraine): Color it "azure and golden yellow".
Thu Jul 11 18:26:48 1996 Stan Shebs <shebs@andros.cygnus.com>
* keyword.def (sym, last-alliance-wins): New keywords.
* utype.def (hp-to-recover, morale-max): New properties.
* table.def (morale-on-creation, morale-hit, morale-hit-by,
morale-terrain-effect): New tables.
* actions.c (do_move_action, do_enter_action): Wreck or vanish
units that attempt to move from the end of a connection over
hostile terrain.
(set_created_unit_props): Compute the unit's initial morale.
* combat.c (maybe_hit_unit): Adjust the attacker's morale.
(hit_unit): Adjust the defender's morale.
* nlang.c (morale_desc): New function.
* unit.h (UnitExtras sym): New slot.
(unit_symbol): New macro.
* init.c (patch_object_references): Find transports by symbol.
* read.c: Interpret symbol property of unit.
* unit.c: (find_unit_by_symbol): New function.
* write.c: Write symbol property, reference transport by symbol
if one defined.
* help.c (describe_scorekeepers): Describe alliance scorekeeper.
* mplayer.c: Test alliance scorekeeper.
* nlang.c (side_score_desc): Show points if using alliance
scorekeeper.
* score.c (check_post_turn_scores): Test alliance scorekeeper.
(eval_sk_form): Ditto.
(eval_sk_last_alliance_wins): New function.
* run.c (run_hp_recovery): Test min hp to recover.
* lisp.c (read_form, read_form_from_string): Clear numread
field of temporary stream.
* imf.h (ImageColor): Make color slots unsigned shorts.
* macdraw.c, macmap.c: Remove shifts of raw color values.
* colors.imf: Multiply all values by 256.
* space.g: New file, outer space game.
* stdunit.g (mp-to-leave-terrain): Make leaving water expensive
for ground units (prevents walking off bridges).
* ww2-eur-42.g: Use last-alliance-wins scorekeeper.
* ww2-pac-41.g: Use symbols instead of names for transports.
* PROJECTS: Reflect above changes.
Mon Jul 8 19:05:02 1996 Stan Shebs <shebs@andros.cygnus.com>
* keyword.def (image-name): New keyword.
* world.h (Area image_name): New slot.
* read.c (interp_area): Read it.
* write.c (write_areas): Write it.
* run.c: Notify all of reason whenever ending of game.
(maybe_starve): Notify owner of unit's starvation.
* side.c (send_message): Conceal sender if requested.
* help.c: Use tbcat instead of tbprintf where possible.
* obstack.c (ANSI_PROTOTYPES): Define if necessary.
* unit.c (num_sides_allowed): New function.
* macconq.c (update_side_display): Enable see_all for all maps
when the game ends.
(update_message_display): Display messages as notices instead
of with a modal dialog.
* maclist.c: Add column that displays current task.
* macmap2.c (do_mouse_down_map_content): Beep if no unit succeeds
at the move-on-click.
* macmenus.c: Fix unit give menu to enable/disable appropriately.
* quest.g: Add multiple ranks of humans, fix food/water needs,
allow lairs to make monsters, make world have more land.
* ww2-eur-42.g: Give the Soviets more towns.
* commands.texi: Document how to send anonymous messages.
* PROJECTS: Reflect above changes, remove some mystifying
items.
Fri Jul 5 17:40:41 1996 Stan Shebs <shebs@andros.cygnus.com>
* world.h (limity): Rename from limit, avoid prob with obstack.h.
* world.c, plan.c> Change callers.
* help.h (TextBuffer): New type.
* help.c: Change third argument of help functions from char * to
TextBuffer.
(tbprintf, tbcat): New functions, use everywhere instead of
tprintf and strcat.
* copying.awk, copying.c: Ditto.
* maccmd.c (describe_command, etc): Ditto.
* machelp.c (describe_menus, describe_mouse, etc): Ditto.
* ccmd.c, cconq.c: Ditto.
* xcmd.c, xhelp.c: Ditto.
* obstack.h, obstack.c: New files.
* Makefile.in (OBJS): Add obstack.o.
* help.c (get_help_text): Use obstack to build help text.
* module.c (describe_game_modules, etc): Move to help.c.
* help.c (describe_world): New help function and node.
* mknames.c (choose_from_weighted_list): New function.
(make_up_side_name): Call it.
* mkunits.c (make_countries): Ditto, select from constructed
list of possible units for the side.
* world.c (init_world): Init area.temp_year.
* machelp.c (draw_help): Draw a dividing line, erase larger area.
* ng-weird.g: Add a game module form and blurb.
* u-e1-1987.g: Add possible sides for most cities.
* PROJECTS: Reflect above changes, add item about search
button/command for help.
Fri Jul 5 17:07:12 1996 Massimo Campostrini <campo@sunthpi3.difi.unipi.it>
* side.c (standing_order_desc): new function.
* Xconq.ad: tweaks.
* xconq.h (orders_radio): New member in UI.
* xcloseup.c (orders_clone_call, orders_add_named,
deactivate_orders, orders_save_call, orders_restore_call,
orders_check): New functions; support for order save/restore;
cleanup.
* Local.config: New file, common settings for Imakefiles.
* Imakefile, SelFile/Imakefile, curses/Imakefile,
kernel/Imakefile, x11/Imakefile: Use it.
* INSTALL: Document that Local.config is available to modify.
Wed Jul 3 18:24:05 1996 Stan Shebs <shebs@andros.cygnus.com>
* gvar.def (temperature-year-cycle): Remove.
* keyword.def (daylight-fraction, twilight-fraction,
temperature-year-cycle, units, sides): Add.
* world.h (World daylight_fraction, twilight_fraction): New slots.
(Area temp_year): New slot.
* read.c, write.c: Read and write these slots.
* world.c (init_world, set_world_circumference): Set them.
* init.c (patch_object_references): Put units inside transports
if they would vanish or wreck in the open.
* side.h (Side possible_units): New slot.
* side.c (init_sides, create_side): Set it.
* mkunits.c (make_countries): If side has possible units that
are present in the world, give one of them to the side.
* stdunit.g (mp-to-enter-unit): Reduce aircraft landing times.
(retreat-chance): Allow some units to retreat.
* nat-names.g: Add possible units for some sides.
* u-e1-1987.g (synthesis-methods): Add make-countries.
* PROJECTS: Reflect above changes, remove some silly items.
Sun Jun 30 11:47:34 1996 Stan Shebs <shebs@andros.cygnus.com>
* cconq.c: Fix decl.
* unix.c (open_remote_connection, low_send, low_receive,
close_remote_connection): Define.
* skelconq.c, xconq.c (low_send, low_receive): Remove defns.
* mplayer.c: If scorekeeper analysis fails, report to other players.
(build_base_for_self, etc): Test u_is_base before deciding to build.
* plan.c: Add some comments.
* macconq.h (Map drawfeatureboundaries): New slot.
* macmap.c (create_map): Set it.
(draw_feature_boundary): New function.
(draw_row): Call it.
* macdraw.c (draw_feature_borders): New function.
* macinit.c (interpret_variants): Disallow world size change if
size already set.
* macmap2.c (scroll_best_map_to_unit): Add argument to control
whether map brought to front when found.
* maclist.c, macmap2.c, macmenus.c, macwins.c: Update callers.
* gazala.g: New file, Gazala battles 1942.
* panzer.g: Don't assign numbers to wrecks.
* ww2-pac-41.g: New file, Pacific Ocean in December 1941.
* t-pacific.g: Fill in and adjust terrain.
* ww2-div-pac.g (a-inf-bn): Add ground unit types of various sizes.
(apd, aa): New ship types.
* PROJECTS: Reflect above changes, remove item about decimal
numbers.
Mon Jun 24 19:29:35 1996 Stan Shebs <shebs@andros.cygnus.com>
* combat.c (elevation_blocks): New function.
(found_blocking_elevation): Add actual testing of intervening
elevations.
(retreat_unit): Try entering units as well as moving.
* init.c (check_game_validity): Check synthesis list.
* lisp.h (Strm): Add slots for context display.
* lisp.c (strmgetc, strmungetc): Record chars read.
(sprintf_context): Change argument type, add display
of last n chars read.
* world.c (search_straight_line): New function.
* PROJECTS: Reflect above changes.
Mon May 27 17:50:52 1996 Stan Shebs <shebs@andros.cygnus.com>
* keyword.def (already-seen, already-seen-independent): New
per-side properties.
* side.h (Side already_seen, Side already_seen_indep): New slots.
* init.c (already_seen_chance): New function.
(init_view_cell): Call it.
* mkroads.c (unit_sees_other_unit): Ditto.
* read.c (fill_in_side): Interpret new properties.
* write.c (write_side_properties): Write new properties.
* unit.c, unit.h (sort_units): Add argument.
* init.c (run_synth_methods): Update caller.
* run.c (run_turn_start, run_restored_turn_start): Ditto.
* write.c (write_units): Ditto.
* tp.c (net_wake_area): New function.
* cmdline.c: Add interpretation of -join, -host, remove -wait.
* conq.h, util.c: Move debugging-related decls to misc.h.
* mac.c (open_remote_connection): Add argument.
(low_send, low_receive): Only do cursor ops if cursors defined.
* macconq.c, macconq.h, macinit.c: Fix callers.
(connection_method_dialog): Set name of connection method.
* cconq.c (main): Add basic networking support.
(init_display) [MAC]: Call nodelay.
* cconq.c, ccmd.c: Include kpublic.h, translate calls to
network-aware versions.
(launch_game): Fill in.
(low_send, low_receive): Remove.
(serial_port_dialog): Add dummy version.
* PROJECTS: Add item about contour line display under X.
Sat May 25 15:14:54 1996 Stan Shebs <shebs@andros.cygnus.com>
* ui.c (advance_into_cell): If an independent unit's type allows,
enter it rather than attack.
Thu May 23 19:33:17 1996 Stan Shebs <shebs@andros.cygnus.com>
* curses/Imakefile (DEFINES): Remove extra quote.
* kernel/Imakefile: Undefine unix.
* init.c (run_synth_methods): Sort units before running.
* mknames.c (namerlist, lastnamer): New globals, list of all
defined namers.
(init_namers): Initialize them.
(make_namer): Add new namer to end of list.
* tp.c (download_to_player): Change download init packet to
"GameModule".
(net_send_message, broadcast_message,
(net_set_trust, etc): Add warning if networking not implemented
for the operation.
(net_set_side_self_unit, etc): Broadcast setting of value.
(broadcast_unit_property, etc): Add side argument.
(receive_packet): Make 'M' packet for messages, 'G' to start
download.
(receive_side_prop, receive_unit_prop): Interp more subtypes
of packets.
* write.c (write_globals): Don't write elapsed time before
game starts.
(write_namers): New function to write all namers.
(add_to_packet): Fix bugs in handling of large strings.
* lisp.c (sprintlisp): Add an argument maxlen, that is the
maximum amount of buffer that may be written upon.
(sprint_list): Ditto.
* init.c, lisp.c, module.c, read.c, macconq.c, xinit.c: Change
all callers.
* maccmd.c (message_dialog): Pass in prefix arg and use
to seed choice of destination side(s).
* macdesign.c (adjust_designer_cursor): Return a cursor
handle instead of pointer.
* macconq.c (adjust_cursor): Fix call to adjust_designer_cursor.
(low_init_warning, etc): Write message to debug output file.
Sun May 19 12:07:33 1996 Stan Shebs <shebs@andros.cygnus.com>
* xcmd.c, xdesign.c, map.c: Include kpublic.h, change all
references to kernel functions now declared in kpublic.h.
* kernel.h (paint_cell, etc): Move decls here from world.h.
* kpublic.h (net_paint_cell, etc): Declare.
* tp.c (send_assignment): Add "assign" substring to packet.
(send_id): Use a P packet instead of Y.
(download_to_player): Set module original name.
(net_request_additional_side, net_resign_game): Fill in.
(net_set_side_longname, etc): Broadcast settings.
(net_set_unit_plan_type, etc): Ditto.
(broadcast_unit_property, broadcast_unit_property_2): New functions.
(net_paint_cell, broadcast_layer_change, etc): New functions.
(broadcast_packet): New function, use in other broadcasters.
(receive_packet): Make new module be mainmodule, call new receive
functions.
(receive_action): Rebroadcast received action if master, don't
call run_game.
(receive_player_prop, receive_unit_prop, receive_world_prop): New
functions.
(receive_side_prop): Remove mistaken extra net_* calls.
* macdesign.c (paint_cell, etc): Use network versions.
* plan.c (decide_plan): Also test module original name to
see if it is the intro game.
* write.c (write_entire_game_state): Copy over original module
name if set.
Thu May 16 18:56:08 1996 Stan Shebs <shebs@andros.cygnus.com>
Isolation of interface from kernel-modifying functions.
* kernel.h: New file, declarations of functions callable
only from kernel.
* kpublic.h: New file, declarations of networking-aware
functions available to interfaces.
* conq.h, side.h, unit.h: Remove kernel-only function declarations.
* actions.c, init.c, mkunits.c, mplayer.c, plan.c, read.c, run.c,
score.c, side.c, task.c, tp.c, unit.c, world.c: Include kernel.h.
* actions.c, tp.c, ui.c: Include kpublic.h.
* action.def: Add net_prep_... functions to all actions.
* actions.c: Add definitions of net_prep_... functions.
* plan.c (decide_plan, plan_offense, etc): Make static.
* side.c (set_side_longname, etc): New functions.
* tp.c (net_request_additional_side, net_resign_game, etc):
New functions, network-aware versions of kernel modifiers.
* ui.c: Change all references to kernel functions now declared in
kpublic.h.
(disband_unit): Move to unit.c.
* maccmd.c, macdesign.c, macmap2.c, macmenus.c, macwins.c:
Include kpublic.h, change all references to kernel functions
now declared in kpublic.h.
* macconq.c: Fix reference to current_cursor.
Tue May 14 19:12:30 1996 Stan Shebs <shebs@andros.cygnus.com>
* actions.c (prep_move_action, etc): Don't call
broadcast_next_action.
* ai.c (set_side_ai): Make any empty name disable AI.
* run.c (run_game): Compress reports of no actions being run.
* tp.c (send_join): Retry join message until acknowledged or
tried many times.
(tp_finish_turn, tp_set_side_ai, broadcast_side_str_property,
tp_prep_move_action, tp_set_move_to_task, broadcast_add_task,
receive_task): New functions.
(receive_data): Remember remote sender's id across calls,
compress debug reports.
(receive_packet): Interpret 'T' packets.
(receive_side_prop): Interpret ai and turn finish packets.
(init_file_port): Fix setup of rids.
(low_file_receive): Interpret mixed-message file.
* ui.c (prep_move_action, etc): Define macros to map kernel
versions to networked versions.
* macconq.h (Serial.h): No longer include.
* macconq.c (connect_game_dialog): If join message never
acknowledged, close the connection and clear the state.
* macinit.c (add_remote_player): Test player->rid.
* maccmd.c, macmenus.c (finish_turn, etc): Define macros
to map kernel versions to networked versions.
* mac.c (connection_method, hosting): Move here from macconq.c.
(open_remote_connection, close_remote_connection,
init_serial_port, close_serial_port, low_send, low_receive,
low_serial_send, low_serial_readchars): Ditto.
* run.c (change_people_side_around): Add cover for own side,
add/subtract cover for trusted sides.
* PROJECTS: Update to reflect this.
Wed May 8 19:51:40 1996 Stan Shebs <shebs@andros.cygnus.com>
* actions.c (unit_blockable_by): Fix a unit reference.
* side.c (see_weather): Remove recursive call.
* mac.c, unix.c (open_scorefile_for_reading,
open_scorefile_for_writing): Open scorefiles in their own dir.
* standard.g (scorefile-name): Define.
* napoleon.g (surrender-chance-per-attack, retreat-chance,
withdraw-chance-per-attack, acp-for-retreat): Add tables.
* 1805.g: Disable construction more thoroughly, put some leaders
in their corps.
* PROJECTS: Remove items about scorefiles in subdirs and about
Mac scorefile finding.
Sun Apr 28 16:17:38 1996 Stan Shebs <shebs@andros.cygnus.com>
* tp.c (must_ack): New global.
(send_packet): Use it.
(broadcast_next_action): Use tprintf to format, bash the local
unit's next action if not the master.
(PACKETBUFSIZE): Reduce to more reasonable value.
* macconq.c (open_remote_connection): Tweak must_ack instead
of special_timeout when announcing self to remote.
(nothing_count, nothing_timeout): New globals.
(low_receive): Use them to compress debugging output.
* macinit.c (add_remote_player): Remove serial line
hack, move to player dialog handling.
Thu Apr 25 18:14:34 1996 Stan Shebs <shebs@andros.cygnus.com>
* macconq.h (UI itertime): Remove slot, never used.
* macconq.c (event_loop): Test my_rid.
(open_remote_connection): Set remote ids correctly.
* macinit.c (player_setup_dialog): Ditto.
(add_remote_player): Use remotewanted slot of player.
* side.h (side_has_display): Test for remote UI also.
* tp.h (RUI): New structure.
* tp.c (my_rid, master_rid, tmprid): New globals.
(broadcast_next_action, etc): Test master_rid to decide
whether to send to all or just to master.
(special_timeout): New global.
(send_packet): Use it.
(receive_packet): Add debugging output to 'R' handling.
(init_remote_ui): New function.
* init.c (assign_players_to_sides): Call it.
* nlang.c (long_player_title): Don't say "You" if player remote.
* run.c (run_game): Remove tests of side->rid.
* write.c: Use tmprid everywhere.
Mon Apr 22 19:08:24 1996 Stan Shebs <shebs@andros.cygnus.com>
* tp.h: New file, declarations for transport protocol.
* conq.h: Include it.
* player.h (Player rid): New slot.
* side.h (Side rid): New slot.
* init.c (assign_players_to_sides): Set rid.
* run.c (run_game): Use rid to decide if side really finished.
(unit_still_acting_no_plan): New function.
(side_move_some_units): Use it.
* side.c (set_autofinish): Call broadcast_side_property.
* tp.c (STARTPKT, ENDPKT, ESCAPEPKT): New definitions.
(numremotewaiting, isremote, remote_id): Move to here.
(send_id): New function.
(download_to_player): Use it.
(broadcast_side_property): New function.
(send_packet): Add checksum and escape character machinery.
(receive_data): Similarly, plus fixes to packet collection.
(receive_packet): Understand 'S'ide and 'Y'ou packets.
(receive_side_prop): New function.
(fromhex, tohex): New functions.
* write.c (add_to_packet): New function.
(start_form, add_to_form, etc): Call it.
(flush_write): New function.
(write_game_module): Call it.
* conq.h: Add many decls from other files.
* actions.c, init.c, mplayer.c, read.c, unit.c, write.c: Move
globally visible decls to conq.h.
* lisp.h (for_both_lists): Move here from read.c.
* player.h: Fix tabbing.
* init.c (patch_object_references): Call shortest_unique_name
to preallocate space.
(prealloc_debug): Remove call to shortest_unique_name.
* macinit.c (player_setup_dialog): Set up display name for
players in remote program.
(set_you_player): New function.
* macdefs.h (cSendPacket, cReceivePacket): New cursor definitions.
* macinit.c (sendcursor, receivecursor): New globals.
* macconq.c (adjust_cursor): Use a global variable to record
the current cursor.
(low_send, low_receive): Adjust cursor to show data movement.
* duel.g: Make sequential movement optional.
Thu Apr 18 20:06:52 1996 Stan Shebs <shebs@andros.cygnus.com>
Additional network support.
* tp.c (send_packet): New function.
(send_join, etc): Use it.
(receive_data): New function.
(receive_packet): Patch object refs after downloading.
(receive_action): Collect actee and use.
(low_file_send, low_file_receive): New functions.
* write.c: Call send_packet instead of low_send.
(write_run): Don't forget the comma!
* macconq.c (close_remote_connection, close_serial_port): New.
(file_port_dialog): Remove.
(init_file_port): Move to tp.c.
(low_send, low_receive): Move file code to tp.c.
(event_loop): Call receive_data.
(exit_macconq): New function, use instead of ExitToShell.
* macmenus.c: Ditto.
* macinit.c (add_remote_player): Limit remotes if serial line.
* macmap.c (draw_contours): Handle case of no contours.
* world.c (paint_elev_1): Adjust range of elevations if
appropriate, update cells around altered cell (so contour line
changes will show).
* metz-1944.g: Add elevations layer, put artillery in forts.
* PROJECTS: Remove implemented networking items, shift some general
to kernel items.
Mon Apr 15 18:30:11 1996 Stan Shebs <shebs@andros.cygnus.com>
First pass at network support.
* tp.c: New file, implements game transport protocol.
* actions.c (broadcast_next_action): Move to tp.c.
* imf.c (write_imf): Skip if fp is NULL.
* lisp.c (read_form_from_string): Add argument that returns the
rest of the string.
* module.c (read_forms): Read from module's string contents if
defined.
* run.c (run_game): After testing for game start, always do rest
of game state tests also, so first run_game call will do turn
start calculations if appropriate.
* write.c: Never use fp directly, always go through output
functions.
(start_form, etc): If not writing to file, send to remotes.
(add_form_to_form, add_to_form_no_space, add_char_to_form,
add_num_to_form_no_space): New functions.
* macdefs.h (dConnectionMethod, etc): New definitions.
* macconq.c (isremote): New global.
(event_loop): Handle input from remote games.
(connection_method_dialog): Fill in more details.
(serial_port_dialog): New function.
(file_port_dialog, init_file_port): New functions.
* macinit.c (variants_dialog): Skip if remote (for now).
(low_send, low_receive, low_serial_send, low_serial_receive,
low_serial_readchars):
(send_assignment, download_to_player): Move to tp.c.
* task.c (do_resupply_task): Return completion if not
meaningful for the game.
* ancient.imf (owl, shield-spear, winged-bull): New images.
* pelops.g: Use them for side emblems.
* milsym.imf (glider-bn): Add mask.
* ww2-bn.g: Add more supply to places, disallow attacks by HQs.
* metz-1944.g: New game, siege of Metz in 1944.
* ww2-stdunit.g: Make bases be already seen, add side adjectives.
* ww2s-pac-42.g: New game, Pacific theater using standard units.
* PROJECTS: Reflect above items, add some new ideas.
Sat Apr 6 14:59:47 1996 Stan Shebs <shebs@andros.cygnus.com>
* Version 7.1 released.
* mac-sect.texi: Add more documentation about view menus.
Thu Apr 4 19:09:17 1996 Stan Shebs <shebs@andros.cygnus.com>
* version.h: Bump to 7.1.0.
* xconq.texi, gdlref.texi, playref.texi, curses.texi, mac.texi,
x11.texi: Update to 7.1.0 and current month.
* curses-sect.texi, mac-sect.texi, x11-sect.texi: Rename from
curses-chap.texi, etc.
* curses-dsect.texi, mac-dsect.texi, x11-dsect.texi: Ditto.
* play.texi, design.texi, curses.texi, mac.texi, x11.texi: Fix
references.
* doc/Makefile.in: Ditto.
* design.texi: Fix a node.
* curses-chap.texi: Fix some nodes.
* curses-dchap.texi: Add descriptions of designer's commands.
* mac-dchap.texi: Lower sections to subsections, etc.
* x11-dchap.texi: Fix up sectioning generally.
* curses.texi, mac.texi, x11.texi: Add chapter headings for
included sections.
* mpw-make.in (OBJECTS): Add copying.c.o.
Wed Apr 3 19:01:12 1996 Stan Shebs <shebs@andros.cygnus.com>
* curses-chap.texi: Escape @-signs in screen shot.
* refman.texi: Fix node cross-references.
* xcmd.c (do_disembark): Implement for real.
* config.h: Include stddef.h et al if MPW_C.
* nlang.c (vnotify): Define if MPW_C.
* unit.c (change_cell_aux): Make static void.
(flush_dead_units): Init prevunit always.
* init.c (final_init): Remove unused locals.
* mkroads.c (sort_road_segments): Ditto.
* mplayer.c (remove_small_theaters): Ditto.
* run.c (run_environment, mix_winds, run_disappearances,
auto_repair_unit): Ditto.
* task.c (do_move_to_task): Ditto.
* unit.c (enter_cell, enter_cell_aux, leave_cell, change_cell,
flush_dead_units): Ditto.
* maccmd.c (do_dir): Remove unused locals.
* macconq.c (play_movies): Ditto.
* macimf.c (mac_load_imf): Ditto.
* macinit.c (draw_world_outline, filter_world_setup): Ditto.
* macmap.c (draw_contours): Ditto.
* macmap2.c (drag_for_distance): Ditto.
* macwins.c (create_scores_window): Ditto.
* macconq.h (Scrap.h, Devices.h): Include.
(NewAEEventHandlerProc, etc): Cast to appropriate types.
Tue Apr 2 18:53:06 1996 Stan Shebs <shebs@andros.cygnus.com>
Finish PowerMac port.
* macconq.c (do_ae_open_application_proc, etc): New universal
proc pointers, use instead of direct function calls.
* machelp.c (draw_instructions_text_proc, etc): Ditto.
* macinit.c (filter_splash_proc, etc): Ditto.
* maclist.c (list_vscroll_proc, etc): Ditto.
* macmap2.c (map_scroll_proc): Ditto.
* macwins.c (history_scroll_proc, etc): Ditto.
* macconq.h: Remove callback decls.
(NewAEEventHandlerProc, etc): Provide default definitions.
* ai.c (ai_save_state): Don't do anything if no reason.
* fantasy.g (hit-chance, capture-chance): Bring chances
within bounds.
* empire.g (sides-max): Set to program's max.
* ww2-eur-42.g: Fix position of German sub fleet.
Sun Mar 31 12:46:51 1996 Stan Shebs <shebs@andros.cygnus.com>
* ww2-42.g: Use "uk" not "gb" as symbol for British side.
* ai.c (basic_capture_worth): Account for capture by attack.
* mplayer.c: Use trusted_side instead of comparing sides.
(rethink_plan): Add case to detect chance to capture useful units.
* plan.c (indep_captureable_here): Put found type into tmputype.
* init.c (make_up_a_side): Fix decl.
* read.c (read_rle): Fix case of reading a negative value not
prefixed by a run length.
* macconq.c, macinit.c: Add universal proc pointers for dialog
filters.
* macdesign.c, macmenus.c: Don't cast to DlgHookProcPtr.
* macdesign.c (OPTION_CYCLE): Add new arg for increment size.
(do_mouse_down_design): Let Command-click adjust elev by 10.
* gettysburg.g (eye-height): Define.
(area cell-width): Set to measure in feet.
(area aux-terrain stream): Fix course of Mule Run.
(area elevations): Set to more realistic values overall.
* PROJECTS: Clarify and add some Mac and interface items.
Fri Mar 29 17:32:23 1996 Stan Shebs <shebs@andros.cygnus.com>
* task.def (move-to, occupy): Add direction choice as arg.
* task.c (do_moveto_task, do_occupy_task): Use correct arg to
subtask.
(do_approach_subtask): Comment out unused cases, add error
warnings.
(create_move_to_task, create_move_near_task, create_occupy_task):
Initialize direction choice arg.
* init.c (make_trial_assignments): Make prespecified assignments.
* write.c (write_side_properties): Write player id.
(write_player): Write player's id.
* macwins.c (set_construction_length): Optimize slightly.
(adjust_construction_controls): Don't use doctrine unless run
length is at least 1.
* NEWS: Update to reflect changes last release.
Thu Mar 28 18:54:59 1996 Stan Shebs <shebs@andros.cygnus.com>
* earth-2deg.g: Tweak terrain in various ways, move some cities
to better locations, rename Leningrad to St Petersburg.
* eur-50km.g, eur-100km.g, ww2-eur-42.g: Remove commented-out data.
* fantasy.g (capture-chance): Uncomment, fix a clause.
* future.g: Remove default cp table values, add toolup defns.
* gettysburg.g: Remove commented-out data.
(elevation-min, elevation-max): Set to realistic values.
(area elevations): Fill in more realistic data.
* hill.g: Remove old junk.
* postmodern.g: Clean up construction and tooling defns.
Wed Mar 27 19:40:40 1996 Stan Shebs <shebs@andros.cygnus.com>
From Douglas Ghormley <ghorm@cayuse.CS.Berkeley.EDU>:
* xcmd.c (do_add_terrain, aux_add_terrain_2): Fix typos.
* xmap.c (handle_map_click): If a modal handler is present,
call it and return.
Wed Mar 27 18:52:38 1996 Stan Shebs <shebs@andros.cygnus.com>
* xhelp.c (update_help): Work around an apparent widget bug.
* init.c (make_up_a_side): Fill in side from side-defaults.
* read.c (for_all_list): Use in most places.
(for_both_lists): New macro.
(add_to_utypes, etc): Use it.
(fill_in_doctrine): Alloc construction run vector if necessary.
(interp_utype_list): Eval list of types.
(interp_utype_value_list): Ditto, plus fill in missing cases.
(interp_mtype_value_list): Ditto.
* write.c (write_doctrines): Tweak output format.
* macwins.c (editedrunlength): New global.
(adjust_construction_controls): See construction run length from
doctrine if defined.
* maccmd.c (unit_do_build_2): Set editedrunlength from arg.
* stdunit.g (doctrine construction-run): Fix syntax.
* PROJECTS: Remove generic doctrine items, add specific items
for doctrine handling in some interfaces.
Tue Mar 26 19:10:45 1996 Stan Shebs <shebs@andros.cygnus.com>
* mplayer.c (give_up): Only resign to sides still in game.
* side.c (side_loses): Warn and ignore rather than error out
if trying to lose to nonsensical side.
* fred.g: Reduce depot cp, increase army hp-max.
(side-library): Remove.
* 1756.g, 1757.g: Add side Empire, set more army HPs correctly,
add some missing leaders.
* PROJECTS: Add items about taking of units and layer mods.
Fri Mar 22 17:37:26 1996 Stan Shebs <shebs@andros.cygnus.com>
* plan.c: If after calling resupply_if_low or rearm_if_low, and
there is a task on the agenda, execute it and return.
* ccmd.def (run): New command.
(both): Remove command.
* cconq.c (autofinish_start, autofinish_count): New globals.
(init_interaction): Default to not auto-finish.
(maybe_handle_input): Prefer to scroll to units already visible.
(update_turn_display): Disable auto-finish if no longer free
running.
* ccmd.c (do_quit): Even better now.
(do_resign): Add ability to resign to a specific side.
(do_c_use_both_chars): Remove.
(do_c_run): New function.
(do_c_show): Add both-char and linear-char options.
* cdraw.c (drawlinear, linear_char, bord_char, conn_char): New
globals.
(draw_terrain_row): Use them.
(draw_units): Use cur_at for unit side separately.
* curses-chap.texi, curses-dchap.texi, mac-chap.texi,
mac-dchap.texi, x11-chap.texi, x11-dchap.texi: Move all
section types "down" 1 level.
* mac-chap.texi: Add explanations of map and list view menu items.
* curses-chap.texi: Add a screen shot and explanation, document
"run" and "show" commands, remove "both" command.
* PROJECTS: Update to reflect above changes.
Wed Mar 20 19:04:47 1996 Stan Shebs <shebs@andros.cygnus.com>
* macmenus.c (quit_the_game): Don't exit immediately just because
everybody is declaring a draw.
* cconq.c (announce_lengthy_process, announce_progress,
finish_lengthy_process): Always write out begin/end notices.
(exit_cconq): Write out final scores.
* ccmd.c (do_add_player, do_detach, do_produce, do_resign):
Implement.
(do_quit): Reorganize to work better.
* PROJECTS: Remove curses command implementation items.
* design.texi, play.texi: Remove raise/lower section stuff.
Mon Mar 18 18:12:54 1996 Stan Shebs <shebs@andros.cygnus.com>
* nlang.c (constructible_desc): Add unit char if different
from first char of type name.
(construction_desc): Give more space to unit name and type.
* macmenus.c (te_cut, te_copy, te_paste): New functions.
(do_menu_command): Call them, on both command and construction
windows.
(adjust_menus): Enable Edit items for construction window.
* macwins.c (set_construction_run_length): New function.
(create_construction_window): Call it.
* maccmd.c (do_build): Ditto.
* macwins.c (do_key_down_construction): Recognize only chars of
types that can be constructed by the selected units, call TEKey on
all leftover chars.
* imfapp.c (prealloc_debug): Add empty definition.
* greek.g (acp-to-attack): Adjust siege engine needs to match
available acp per turn.
* refman.texi: Add information about library file structure.
* curses-chap.texi: Fix a cross-reference.
* mac-dchap.texi: Remove an obsolete comment.
* texi2html: Add a -split_section option.
* PROJECTS: Shift some projects from general to kernel,
done with documenting library file standards and showing
type chars in Mac construction window.
Fri Mar 15 17:28:24 1996 Stan Shebs <shebs@andros.cygnus.com>
* macmap.c (grow_map): Fix calculation of invalrects.
(draw_map_content): Draw extra rows at bottom, bug workaround
rather than a real solution.
(draw_unit_blast, clear_unit_blast): New functions.
* macconq.c (play_movies): Call them.
* PROJECTS: Move DOS-related item to testing, add item about
redrawing Mac grow box.
Fri Mar 15 17:27:00 1996 Massimo Campostrini <campo@sunthpi3.difi.unipi.it>
* xcloseup.c (update_order_widgets): Fix a bug.
(order_tparms_call): Add more tasks.
Thu Mar 14 19:22:45 1996 Stan Shebs <shebs@andros.cygnus.com>
* table.def (zz-basic-fire-worth): New table.
* ai.c (basic_fire_worth, set_uu_bfw): New functions.
(ai_init_shared): Call set_uu_bfw.
* ai.c (basic_hit_worth): Test if acp allows attack.
* ai.h (AI_ops planning_to_capture): New slot.
* ai.c (ai_planning_to_capture): New function.
* plan.c (victim_here, target_here): Call it.
(indep_captureable_here): Only consider if capture chance is at
least 10%.
* mplayer.c (compute_theater_bounds): New function.
(review_theaters, remove_small_theaters): Call it.
(mplayer_planning_to_capture): New function.
* run.c (side_move_some_units): Use fast play rate if all sides
are moving sequentially.
* unit.h (for_all_tasks): New macro.
* nlang.c, plan.c, write.c, macmap.c, macwins.c: Use it.
Wed Mar 13 19:51:23 1996 Stan Shebs <shebs@andros.cygnus.com>
* macinit.c (draw_player_setup_list): Shrink vertical space
for side/player info if many sides.
(hit_player_setup_dialog): Beep if side removal fails.
* actions.c (unit_blockable_by): Use trusted_side.
* combat.c (capture_unit): Give captured unit to
original side if friendly to it.
* nlang.c (unit_handle): Describe original side if defined.
* read.c (interp_unit_defaults, interp_unit): Evaluate value
of side and origside properties.
* eur-100km.g, ww2-eur-42.g: Tweak shape of USA.
* ww2-eur-42.g: Add more US cities, set original sides for
occupied cities, declare that France trusts all Allies.
* panzer.g (acp-to-attack): Disable attacks on wrecks or blocks.
* refman.texi (bridge): Describe.
* PROJECTS: Reflect above changes.
Tue Mar 12 20:08:36 1996 Stan Shebs <shebs@andros.cygnus.com>
* world.c (paint_border, paint_connection): Update cell displays
manually, since see_exact may not.
* xdesign.c (design_terrain_callback, design_bg_terrain_callback):
Update controls and cursor for all maps.
Tue Mar 12 18:41:11 1996 Stan Shebs <shebs@andros.cygnus.com>
* lisp.c (fprintlisp): Write strings and symbols with appropriate
escape codes and quoting for special characters.
* write.c (write_globals): Suppress evaluation of global Lisp
variables being written.
* mkrivers.c (make_up_river_borders): Add better rules for
when to stop tracing a river, remove weird code bit that
was aborting 3/4 of river creation.
(DebugRiver): New global, controls debugging feature creation.
* midearth.g, napoleon.g, stdterr.g, ww2-adv.g, ww2-div-eur.g,
ww2-div-pac.g (river-chance): Adjust down by about 4, to be
consistent with change to mkrivers.c.
* play.texi: Add more info about standing order handling.
* PROJECTS: Update for above changes, clarify some testing items.
Mon Mar 11 19:57:35 1996 Stan Shebs <shebs@andros.cygnus.com>
* actions.c (in_blocking_zoc): Fix calculation when units are
in same cell.
* combat.c (do_overrun_action): Account correctly for ZOC
effects and movement costs.
* game.h (TableDefn): Make index1, index2 char-sized slots.
* mkrivers.c (make_up_river_borders): Create river-related
features (for debugging), don't flip directions after source
has been chosen.
* mkterr.c (flatten_liquid_terrain): Raise up low spots that
are all-liquid before lowering spots around edges.
* plan.c (low_on_supplies_one): Be true if supply at exactly
half of fullness.
* run.c (compute_sun): Use world's axial tilt.
* unit.c (change_unit_type): Count losses and gains.
* mplayer.c: Numerous cleanups and improvements.
(determine_subgoals): Add goals to protect own starting units.
(remove_theater): New function.
(remove_small_theaters): Use it.
(has_unsatisfied_goal): New function.
(mplayer_decide_plan): Use it.
(mplayer_react_to_action_result): Check supply levels.
* macmap.c (draw_row): Fix shortening of row.
* macwins.c (draw_side_status): Rewrite so that entire progress
bar disappears for non-moving sides when players move sequentially,
and to show units in reserve with a dark gray area.
* gettysburg (world): Set the world's axial-tilt.
* sc4.g: New game, emulation of a popular Mac game.
* refman.texi: Add more details about combat tables, remove
all internal-only symbols prefixed with "zz-".
* lib-uses.h, src-uses.sh, sym-diff.sh, getsyms.h: Ignore symbols
beginning with "zz-".
* PROJECTS: Remove items corresponding to above changes,
add project to implement old "bridge" table, add project
to get weak mplayers to ally with each other.
Wed Mar 6 19:26:56 1996 Stan Shebs <shebs@andros.cygnus.com>
* mkterr.c (compose_area): Account for complicated combinations
of terrain elevation ranges.
* unit.c (change_unit_type): Update view coverage before and
after type change.
* macconq.c (update_unit_display): Unselect dead units.
* macmap.c (draw_contours): Never use more than 20 contour lines.
* empire.g: Add combat capability for fortresses.
(unit-storage-x): Add combat-related storage capacity.
(in-length): Let every unit get petroleum up to 2 cells away.
(out-length, in-length): Every unit can get every material
from an adjacent unit.
* panzer.g (alt-percentile-min, alt-percentile-max): Reduce
amount of slope terrain.
* stdterr.g (elevation-min): Don't let mountain and ice
elevations overlap with others.
* x11-chap.texi: Document how to set see-all to false from
the command line.
Mon Mar 4 18:13:51 1996 Stan Shebs <shebs@andros.cygnus.com>
* misc.h (LibraryPath, xconq_libs, etc): Move here from system.h.
* xutil.c: (xconqlib): Remove.
(xconq_libs, prealloc_debug): Define so utility progs link.
* actions.c (make_unit_complete): Have transport share any
available supply.
* imf.c (best_image): Don't return exact match images if
they are tiles.
(right_depth): Remove, useless.
* imf.h (right_depth): Ditto.
* mkterr.c (make_blobs): Scale down dz a second time if still
too large.
(smooth_layer): Fix calculation around edges.
(compose_area): Remove redundant inside_area test, clip elevations
to bounds.
(set_edge_values): Clip elevations to overall area bounds.
* plan.c: Set movement tasks rather than pushing them usually.
* run.c (try_sharing): Don't make static.
* macconq.h (MOVE_TO_MODAL): New mode.
* macconq.c (adjust_cursor): Add new mode to switch.
* maccmd.c (do_move_to): Implement.
(do_move_to_command, do_one_move_to): New functions.
* macmap2.c (do_mouse_down_map_content): Add new mode.
* macmenus.c: Call query_position_modally instead of do_move_to.
* macdefs.h (sicnMiss, sicnHit, sicnKill): New small icons.
* macdraw.c (numblastsicns, blastsicnhandle): New globals.
(draw_blast_image): Rewrite to load and use blast icons.
* macmap.c (draw_contours): Use min of elevs at corner if any of
adjacent cells is liquid terrain.
* flags.imf (flag-germany): Fix ordering of colors.
* panzer.g (elevation-min, elevation-max, alt-percentile-min,
alt-percentile-max): Tweak to make elevations more plausible.
* stdterr.g (elevation-min, elevation-max): lower mountain
elevation range, make ice only at high elevtioans.
(liquid): Don't classify ice as a liquid.
(river-chance): No chance for ice, higher chance for mountains.
* stdunit.g (mp-to-enter-terrain): Don't let ships use roads.
* PROJECTS: Clarify many items, dispose of a couple.
From Tom Baker <twb@aloft.att.com>:
* empire.g: Add distinct images to many unit types, refueling
at harbors and airfields, varying acp-per-turn and cp for many
types, varying capture chances,
(see-chance, independent-capture-chance, protection): Define.
(attack-terrain-effect, defend-terrain-effect): Add, but empty.
(cp-on-creation, cp-per-build): Remove, values are all defaults.
Fri Mar 1 16:30:13 1996 Stan Shebs <shebs@andros.cygnus.com>
* system.h (LibraryPath): New structure.
* init.c (xconq_libs, last_user_xconq_lib): New globals.
(add_library_path): New function.
(init_library_path): Call it.
* cmdline.c (parse_command_line): Ditto.
* mac.c, unix.c (open_module_library_file, etc): Iterate through
list of library paths to find a file to open.
* ui.c (get_generic_images): Use xconq_libs.
* init.c (prealloc_debug): New function.
(final_init): Call it.
* util.c (toggle_debugging): Ditto.
* unit.c (unit_desig): Allocate all buffers if arg == NULL.
* actions.c (move_unit): Only use change_cell for units in open.
* cmdline.c (parse_command_line): Be more informative about
unrecognized options.
* score.c (point_value, side_point_value): Count scheduled
reinforcements in the side's points.
* unit.c (init_unit_extras): Init point value to negative value.
(change_cell_aux): Set occupant position here instead of in
change_cell.
* write.c: Move external decls to top of file.
* macmap.c (draw_row): Don't draw contour lines if viewing
map at an angle.
* gettysburg.g (already-seen): Everybody sees all initial units
on the map.
* napoleon.g (supply): New material type, merges food and shot.
(mp-to-traverse): Let roads negate difficult terrain.
* 1805.g: Fix side of some leaders, add road and river data.
* PROJECTS: Update to reflect above changes, add item about
displaying features boundaries in Mac interface.
Sun Feb 25 15:13:39 1996 Stan Shebs <shebs@andros.cygnus.com>
* config.guess: Update from FSF version, gets new OS bits.
* xdesign.c (update_curttype): Don't call set_design_tool,
but call it after most calls to update_curttype.
* side.h (alt_cover, set_alt_cover): New macros.
* side.c: Rewrite line-of-sight code again.
* unit.c (change_cell, change_cell_aux): New functions.
(set_unit_position, add_unit_to_stack, remove_unit_from_stack,
glimpse_adjacent_terrain): New functions, also call these instead
of multiple inline code fragments.
* actions.c (move_unit): Call change_cell.
* dir.h (angle_with): Move to here from actions.c.
* combat.c (capture_unit_2): Assign number to captured unit.
* mknames.c (make-namer): Remove excess declaration.
* mkterr.c (compose_area): Compute and use actual range of
raw elevations to choose real elevations.
* ui.c (xform_unit): Warn but don't fail if unit not actually
in stack.
* world.h (World daylight_width): Rename from circumf_3_10.
(World twilight_width): New slot.
* world.c (final_init_world): Seed area.minelev and area.maxelev
from actual values.
* write.c (write_entire_game_state): Don't require mainmodule
to exist.
(write_area_elevations): Write out offset from area.minelev.
(fn_elevation_at_offset): New function.
* macmap.c (draw_contours): New function, draws contour lines
in a cell.
(draw_row): Call it.
* macdraw.c (draw_coverage): Also show alt cover if debugging.
* gettysburg.g: Add line-of-sight, thickness for tree-covered
terrain, greater elevation variations.
* panzer.g (eye-height): Define.
* hacking.texi: Add warning about use of malloc.
* PROJECTS: Update to reflect project completions.
Thu Feb 22 17:11:34 1996 Stan Shebs <shebs@andros.cygnus.com>
* table.def (counterattack, countercapture): Rename from
counter-attack and counter-capture.
* combat.c: Update references.
* keyword.def (sides): Remove, not really part of GDL.
* score.c (interp_score_record): Match keyword "manually".
* xcmd.c (do_add_player, do_resign): Implement.
(aux_resign_b): New function.
* xconq.h (cellpainttool): Rename from terrainpainttool.
(bordpainttool, connpainttool): New tool types.
* xdesign.c (set_design_tool): Choose terrain tool based
on terrain subtype.
(update_curttype): Call set_design_tool after changes.
* xinit.c (snowy.b, elev.b, therm.b, units.b, resource.b):
Don't include unused bitmaps.
(init_cursor): Set up cursors for border and connection painting.
* commands.texi: Add some details about some commands.
* refman.texi (if-needed): Remove description.
(counterattack, countercapture): Make names match code.
* x11-chap.texi: Add description of new commands, details
about how to restore multiplayer saved games.
* PROJECTS: Remove items about X11 commands and bitmaps.
Mon Feb 19 17:02:38 1996 Stan Shebs <shebs@andros.cygnus.com>
* unit.c (flush_dead_units): Handle case of empty unit list.
* keyword.def (sides): New keyword.
* score.c (ScoreRecord): New structure, record of old game.
(records, last_record): New globals.
(read_scorefile, interp_score_record, get_scores): New functions.
* macdefs.h (miWindowsScores): New windows menu item.
(wScores): New window.
* macconq.h: Declare scores window variables and functions.
* macconq.c: Call grow, zoom, mouse down, etc routines for scoreswin.
* macwins.c (scoreswin, scores_text, scores_v_scrollbar): New
global variables.
(scores_dialog, create_scores_window, etc): New functions.
* plan.c (low_on_supplies_one): New function.
(resupply_if_low): Call it.
(rearm_if_low, low_on_ammo_one): Similarly.
(supplies_here): True only if not self and will transfer supply.
* task.c (do_resupply_task): Test first argument to decide
whether to resupply a particular material or all of them.
(set_resupply_task): Add argument for material type.
(create_resupply_task): New function.
* maccmd.c (do_resupply): Update call to set_resupply_task.
* xcmd.c (do_resupply): Ditto.
* ccmd.c (do_resupply): Ditto.
* init.c, side.c: Remove redundant test of cover array.
* mkunits.c (make_countries): Simplify code.
* plan.c (operating_range_best): Rewrite calculation to be correct.
* run.c (change_people_side_around): Update displays if coverage
change.
* side.c (calc_coverage): Add coverage for see-always units.
* ui.c (parse_long_name_command): Fix details, remove trailing
whitespace from the argument.
* run.c (players_requested): New global.
(request_additional_side): Add argument specifying player.
(add_new_sides_to_game): Use player specs, init unit gain.
* cmdline.c (parse_player_spec): Move to run.c.
* maccmd.c (do_add_player): Pass arg to request_additional_side.
* macdraw.c (draw_coverage): Use local buffer.
* macmap.c (draw_row): Don't draw coverage numbers if cells too
small.
(draw_cliffs): Abut right and left cliffs even if grid drawing
is on.
* macwins.c (activate_notice): Activate the notice's text.
* cconq.c (sioux.h) [__MWERKS__]: Include.
(main) [__MWERKS__]: Configure the SIOUX window.
(InstallConsole, etc): Remove, assume SIOUX linked in.
* v_maccur.c (maccur_event_loop) [__MWERKS__]: Check for
SIOUX events.
* PROJECTS: Update scores window item.
Tue Feb 13 19:45:38 1996 Stan Shebs <shebs@andros.cygnus.com>
* side.c (parse_order_cond): Init locals before using.
* macconq.c, ui.c, util.c [MWC_INIT_BUG]: Remove nasty MW CW6 bug
workaround, no longer needed.
* macmenus.c (adjust_menus): Cast arg to GetScrap.
* cconq.c (main) [__MWERKS__]: Get command-line arguments.
(InstallConsole, etc): Define as empty functions.
* ccmd.c (do_save): Get result from ask_string.
* cdraw.c (set_scroll): Initialize locals correctly.
Add Metrowerks compatibility to libcurses.
* curses.h (QD): Define to expand into QD global refs.
* v_maccur.c: Use it.
* curses.c (wdeleteln): Initialize local before using it.
Mon Feb 12 19:32:59 1996 Stan Shebs <shebs@andros.cygnus.com>
* macdefs.h (aConfirmResign): New alert.
* maccmd.c (do_resign): Implement.
* macinit.c (draw_world_outline, dims_from_point): New functions.
(filter_world_setup): Rubberband world outline while mouse down.
* macwins.c (draw_historical_event): Don't draw anything that
would overlap the bottom scroll area.
* macconq.c (event_loop): Call TEIdle for command window.
(handle_event): Change to return void.
(activate_window): Call activate_command for command window.
* maccmd.c: Add notices to go along with error beeps,
clean up textual command handling code.
(activate_command): New function.
(get_command_and_do): New function.
(do_key_down_command, do_mouse_down_command): Call it.
* macmenus.c (do_menu_command): Handle editing shortcuts for
the command window.
(adjust_menus): Enable/disable edit menu items correctly.
* PROJECTS: Update to reflect above changes.
Thu Feb 8 18:56:37 1996 Stan Shebs <shebs@andros.cygnus.com>
* xconq.c (fire_state): New structure.
(animate_fire_proc): New function.
(update_fire_at_display): Set up timeout to call animate_fire_proc.
* xconq.c, xshowimf.c, xutil.c (strdup): Replace with calls to
copy_string everywhere.
Make the Mac textual command dialog nonmodal.
* maccmd.c (enable_command, create_command_dialog, draw_command,
do_key_down_command, do_mouse_down_command): New functions.
* macconq.h: Declare them.
* macconq.c: Call them from appropriate window dispatchers.
* macdefs.h (miWindowsCommand): New menu item.
(wCommand, cCommandDoButton): New window and button.
* macmenus.c (do_menu_command, adjust_menus): Handle new menu item.
* PROJECTS: Remove above item.
Tue Feb 6 20:40:26 1996 Stan Shebs <shebs@andros.cygnus.com>
* xconq.c (update_fire_at_display, update_fire_into_display):
Call compute_fire_line_segment.
Mon Feb 5 18:57:58 1996 Massimo Campostrini <campo@sunthpi3.difi.unipi.it>
* xcloseup.c: For unit closeup, add drawing of unit's toolup level
if any, for side closeup, add drawing of side's tech level and
trusted sides if any, for orders popup, implement editing of
condition, task type, task parameters (incomplete but working).
* Xconq.ad, Xconq-co.ad: Add resources for above changes.
Wed Jan 31 19:47:06 1996 Stan Shebs <shebs@andros.cygnus.com>
* mplayer.c (estimate_strengths): Rework strength estimates
if a new side has been added.
(mplayer_react_to_new_side): Call estimate_strengths.
* write.c (write_rle): Put out a '*' to separate run from value
if the value is negative.
* read.c (read_rle): Handle negative values.
Mon Jan 29 20:57:22 1996 Stan Shebs <shebs@andros.cygnus.com>
* run.c (add_new_sides_to_game): Recalculate views of all sides.
(finish_movement): Don't call flush_side_dead.
* side.c (cover_area): Use different vision ranges for start
and end locations, update cell display when coverage starts or
ends at 0.
* unit.c (flush_dead_units): Rewrite to really work.
(put_unit_on_dead_list, flush_side_dead): Remove, no longer used.
* gettysburg.g (initial-day-part): Fix.
* refman.texi (if-needed): Document as its own symbol,
helps automated src/doc comparisons work.
* PROJECTS: Various new ideas.
Fri Jan 26 17:58:30 1996 Stan Shebs <shebs@andros.cygnus.com>
From Tom Baker <twb@aloft.att.com>:
* postmodern.g: Clean up garbage left over from automated
conversion.
Thu Jan 25 19:28:51 1996 Stan Shebs <shebs@andros.cygnus.com>
* xconq.c (update_cell_display): Don't try to draw coverage
changes.
* xcloseup.c (TASK_MOVETO): Rename to TASK_MOVE_TO.
* xcmd.c, xmap.c (set_move_to_task): Rename from set_moveto_task.
* ccmd.c: Ditto.
* xcmd.c (set_move_dir_task): Rename from set_movedir_task.
* cconq.c: Ditto.
* run.c (add_new_sides_to_game): Resize unit opinions, make
interfaces update completely, reset count of sides to add.
* unit.c (init_unit_opinions): Add an argument, resize the
opinion if there are more sides in the game.
* read.c, unit.c, unit.h: Fix callers and declarations.
* refman.texi: Fill in more task type descriptions, reorganize
backdrop environment section and add more details there.
(ever-active): Describe.
* curses-chap.texi: Various minor clarifications.
Mon Jan 22 20:13:44 1996 Stan Shebs <shebs@andros.cygnus.com>
* gvar.def (advantage-default, advantage-max, advantage-min):
Limit extremes to 100 instead of VARHI.
* task.c (do_approach_subtask): New function, split out from
do_move_to_task.
(do_occupy_task): Use it to approach the transport.
(parse_unit, parse_location): New functions.
(parse_task): Call them, interpret more kinds of task argument
type letters.
* commands.texi (follow-action): Clarify effect.
* play.texi: Various minor wording improvements.
* playref.texi: Update year.
* refman.texi: Describe vision parameters in more detail,
improve wording of spying parameters.
* x11-chap.texi: Add detail about unit info window.
Fri Jan 19 17:35:46 1996 Stan Shebs <shebs@andros.cygnus.com>
* game.h (PROPLO, PROPHI, TABLO, TABHI, VARLO, VARHI): New macros,
symbolic limits on values of GDL parameters.
* gvar.def, table.def, ttype.def, utype.def: Use them.
* task.def (TASK_CAPTURE): Rename from TASK_CAPTURE_UNIT, add
unit type and side arguments.
(TASK_MOVE_DIR, TASK_MOVE_TO): Rename from TASK_MOVEDIR, etc.
* task.c (do_capture_task): Rename from do_capture_unit_task,
add code to use unit type and side to decide what to go after.
(do_move_dir_task): Rename from do_movedir_task.
(do_move_to_task, create_move_to_task, etc): Similarly.
(create_move_near_task): Similarly.
(do_move_dir_task, etc): Similarly.
* mplayer.c, nlang.c, plan.c, ui.c, unit.h: Change all callers.
* maccmd.c, macmap.c: Ditto.
* xconq.texi: Update dates.
* play.texi: Remove empty trade section, add standing order
description.
Thu Jan 4 19:43:25 1996 Stan Shebs <shebs@andros.cygnus.com>
* system.h (open_scorefile_for_reading, open_scorefile_for_writing):
Declare.
* unix.c (open_scorefile_for_reading, open_scorefile_for_writing):
New functions.
Wed Jan 3 19:29:57 1996 Stan Shebs <shebs@andros.cygnus.com>
* side.c (init_visible_elevation_2, calc_visible_elevation_2): New
functions.
(cover_area): Use these for new location elevation visibility
calculation.
* maccmd.c (do_distance): Implement.
* macconq.h (DISTANCE_MODAL): New enum.
* macconq.c (adjust_cursor): Add DISTANCE_MODAL.
* macmap2.c (drag_for_distance): New function.
(do_mouse_down_map_content): Call it.
* macdefs.h (mViewAngles): New menu.
(miViewAngle): New view menu item.
* macmenus.c (init_menus): Create view angle menu.
(do_menu_command): Handle view angle menu.`
* macmap.c (update_cell_display): Don't update if only
coverage changed and not currently displaying coverage.
(draw_unit_info): Use supply_desc.
* macwins.c (draw_side_status): Don't error out if previous
status nonexistent, just warn and return.
Tue Jan 2 19:30:30 1996 Stan Shebs <shebs@andros.cygnus.com>
* keyword.def (ever-active): New keyword.
* side.h (Side everingame): New slot.
* read.c (fill_in_side): Read it.
* write.c (write_side_properties): Write it.
* run.c (init_movement): Set everingame for sides.
* table.def (counter-attack, counter-capture): New tables.
* combat.c (one_attack): Add counterattack and counter-capture
support.
* side.c (cover_area): Rewrite to calculate both decrement
of coverage at old location and increment at new, change
argument list to include both locations.
* actions.c (make_unit_complete): Update call to cover_area.
* unit.c (enter_cell_aux, leave_cell_aux): Ditto.
* mac.c (open_scorefile_for_reading, open_scorefile_for_writing):
New functions.
* score.c (record_into_scorefile): Use open_scorefile_for_reading,
don't record details of sides never in the game.
* ai.c (ai_init_shared): Remove computation for t_fraction.
(set_t_fraction): Remove.
* nlang.c (side_name, side_adjective): Move here from side.c.
(supply_desc, location_desc): New function.
* xdraw.c (draw_map_info): Use it.
* mplayer.c, plan.c, ps.c, run.c, side.c, ui.c: Use all_see_all
instead of g_see_all.
* xcmd.c (aux_move_look): Ditto.
* xmap.c (create_map, create_map_controls, etc): Ditto.
* plan.c (victim_here, target_here, etc): Use units_visible
instead of g_see_all.
* task.c: Ditto.
* ccmd.c (do_fire): Ditto.
* PROJECTS: Reflect above changes, remove some nonsense items.
Sat Dec 30 12:35:25 1995 Stan Shebs <shebs@andros.cygnus.com>
* module.c (load_default_game): Load the default base module
of the default base module, if defined.
* ai.h (AI_ops to_react_to_new_side): New slot.
* ai.c (ai_react_to_new_side): New function.
* mplayer.c (mplayer_react_to_new_side): New function.
* run.c (add_new_sides_to_game): Compute priority of new
side, call ai_react_to_new_side for other sides if needed.
* lisp.c (print_form_and_value): New function.
* module.c (read_forms, do_one_variant): Call end_printing_forms.
* read.c (interp_form): Call print_form.
* skelconq.c (print_form, end_printing_forms): New functions.
* xconq.c (print_form, end_printing_forms): Ditto.
* cconq.c (print_form, end_printing_forms): Ditto.
* macconq.c (print_form, end_printing_forms): Ditto.
* maccmd.c (do_gdl): Call end_printing_forms.
* cconq.c (printlisp): Remove, never used.
* xconq.c (printlisp): Ditto.
* ui.c (record_imf_get): Allocate more space to record
gotten images if necessary.
* PROJECTS: Clarify some items, remove item about making
print form work.
Thu Dec 28 17:59:56 1995 Stan Shebs <shebs@andros.cygnus.com>
* ui.c (compute_fire_line_segment): New function.
* macconq.c (update_fire_at_display, update_fire_into_display):
Use it to calculate fire lines to draw.
Mon Dec 18 19:41:48 1995 Stan Shebs <shebs@andros.cygnus.com>
* gvar.def, ttype.def, utype.def: Fix some bounds.
* table.def: Fix some range table bounds.
* unit.h (Plan execs_this_turn): New slot.
* plan.c (execute_plan): Increment and test for too many
plan executions in one turn.
(plan_random): Make generation of random tasks more realistic,
use add_task instead of setting tasks slot directly.
* run.c (compose_actionvectors): Clear units' execs_this_turn.
* task.c (aux_resupply_here): Use unit_trusts_unit.
* test/loop.g: New file, test of mplayer AI looping bug.
* commands.texi: Document standing order command.
* PROJECTS: Add items about image handling for older Macs.
Sat Dec 16 08:39:22 1995 Massimo Campostrini <campo@sunthpi3.difi.unipi.it>
* time.g: Reduce rate of progress, add variant for even slower
progress, make various other tweaks.
Tue Dec 12 19:21:54 1995 Stan Shebs <shebs@andros.cygnus.com>
* imfapp.c (make_imf_resources): Clear base addresses of pixmaps
and bitmaps that will go into cicn resource.
(draw_topline): Display imf notes if present.
* macimf.c (mac_interp_imf): Use mono and mask sicns to build
16x16 cicn bitmaps and masks.
Mon Dec 11 18:49:50 1995 Stan Shebs <shebs@andros.cygnus.com>
* imf.h (Image notes, ImageFamily notes, ImagePalette notes,
ImageColor notes): New slots.
* imf.c (new_imf, get_img, new_image_palette, new_image_color):
Init notes slots.
(interp_imf_contents, interp_image, interp_palette, interp_color):
Read notes slots.
(write_imf, write_imp, write_imc): Write notes slots.
* lisp.c (fprintlisp): Check for attempts to print NULL object.
* PROJECTS: Update to reflect above changes.
Sun Dec 10 16:34:47 1995 Massimo Campostrini <campo@sunthpi3.difi.unipi.it>
* xconq.h (Map panner_pix): New slot.
* xmap.c (create_map): Init panner_pix.
(draw_view_in_panner): Use map's panner pixmap instead of local var.
* Imakefile, curses/Imakefile, SelFile/Imakefile, kernel/Imakefile:
Use a separate CDEBUGFLAGS in each subdir's Imakefile.
Sun Dec 10 15:54:35 1995 Stan Shebs <shebs@andros.cygnus.com>
* table.def (bridge, in-length, independent-density, out-length):
Fix bounds of table values.
* utype.def (hp-per-disband): Fix bounds.
* config.h (REUSE_DEAD): Remove.
* game.h (canaddutype, canaddmtype, canaddttype): Declare.
* generic.c (canaddutype, canaddmtype, canaddttype): Move here
from read.c.
* actions.c (do_repair_action, do_transfer_part_action): Call
add_to_unit_hp to modify hp.
* side.h (Side point_value_cache, point_value_valid): New slots.
* score.c (side_point_value): New function.
(eval_sk_last_side_wins): Use it.
* nlang.c (side_score_desc): Ditto.
* unit.c (change_unit_type, change_unit_side, kill_unit_aux):
Invalidate sides' point value caches.
* plan.c (execute_standing_order): Add "in" and "near" cases.
* task.c (parse_task): Add argument (side), parse all kinds of
tasks, report syntax errors to player.
(lookup_task_type): Move here from read.c.
* side.c (add_standing_order): Add case for order removal.
(order_conds_match): New function.
(parse_unit_type, parse_order_cond): New argument (side), handle
more cases, report syntax errors to player.
(get_next_arg): Handle quoted arguments.
* side.h (Side instructions, knows_about, coverage_alt): New
slots.
(Doctrine): Make construction_run pointer instead of array.
* side.c (init_sides, create_side): Init instructions.
(init_doctrine): Allocate construction_run.
(clone_doctrine): Clone construction_run data also.
* read.c (set_utype_property, fill_in_mtype, fill_in_ttype,
CHECK_VALUE, interp_variable): Check property value bounds, check
value types.
(interp_utype_list, etc): Return if output array is NULL.
(read_layer): See chartable with identity map in the by-char
and by-name cases.
* world.c (allocate_area_people_sides): Init with memset.
* ww2-adv.g: Disable sub-fleet attacks against non-ships,
add in-lengths and out-lengths for various units.
* ww2-42.g (people-sides): Fix encoding of unpopulated areas.
* refman.texi: Various cleanups, description of interpolation
lists.
* PROJECTS: Add many small items, remove those resolved above.
Tue Dec 5 18:58:12 1995 Stan Shebs <shebs@andros.cygnus.com>
* Xconq.r: Add connection method dialog, unit info item to menu.
* IMFApp.r, Xconq.r: Update version resources.
Mon Dec 4 20:03:26 1995 Stan Shebs <shebs@andros.cygnus.com>
* mplayer.c (mplayer_decide_plan): Fix NULL deref found by
automated testing of time.g.
Mon Dec 4 19:31:55 1995 Massimo Campostrini <campo@sunthpi3.difi.unipi.it>
* aircraft.imf, sf.imf: Add masks for many images.
Mon Dec 4 19:05:16 1995 Stan Shebs <shebs@andros.cygnus.com>
* game.h (VarDefn): Add slots for setters.
* generic.c (vardefns): Initialize them.
(init_globals): Call setters unconditionally.
* read.c (interp_variable): Loop through vardefns to find the
global to set.
* write.c (write_globals): Ditto.
* history.h (HistEvent): Remove unused slots.
* unit.c (designer_change_side): New function.
* macmenus.c (do_one_give_unit): Use it.
* nlang.c (side_score_desc): New function.
* macwins.c (draw_side_status): Use it.
* plan.c (can_produce): New function.
(can_build_or_help): Ditto.
* macwins.c (update_construction_unit_list, etc): Use it.
* task.def (produce): New task type.
* task.c (create_produce_task, push_produce_task,
do_produce_task): New functions.
* history.h (HistEvent): Use SideMask for side bit vector.
* side.c (send_message): Ditto.
* unit.h (Unit): Ditto.
* macconq.h (List): Ditto.
* maccmd.c (unit_do_build_2): New function.
(do_build): Use it.
(do_produce): Implement it for real.
(unit_do_produce_2): New function.
* conq.h, game.h, history.c, lisp.c, mkrivers.c, mkroads.c,
nlang.c, score.h, side.h, ui.h, world.c, macinit.c, macmap2.c:
Use "int" instead of "long" wherever 32-bit integers will suffice.
* empire.g: Generalize to use list of engineer types instead
of just engineers.
* mars.g: Many changes, including stacking, construction, combat.
* ww2-eur-42.g: Move Le Havre to more plausible location.
* PROJECTS: Update to reflect above changes, add many new items.
Thu Nov 30 19:39:21 1995 Massimo Campostrini <campo@sunthpi3.difi.unipi.it>
* ai.h, ai.c, mplayer.c: Change argument rslt from int to
TaskOutcome in functions ai_react_to_task_result,
to_react_to_task_result, mplayer_react_to_task_result.
* mplayer.c: New "ad hoc" code to handle research and ugrading
for the "time" period. New routines assign_to_research_on,
can_research_on, needs_research, find_game_class. Code added
to mplayer_init, mplayer_init_turn, reset_strategy,
decide_resignation, review_units, mplayer_decide_plan.
(GameClass) New enum.
(game_class): New global.
* mplayer.c (mplayer_preferred_build_type): Return NONUTYPE
if it cannot make a selection.
(select_by_weight): Return -1 on error.
* task.c, unit.h (find_unit_to_complete): New function, was
code in do_build_task.
* task.c (do_moveto_task): Look for transports inside other
units.
Thu Nov 30 19:33:32 1995 Stan Shebs <shebs@andros.cygnus.com>
* cobra.g (initial-day-part): Fix.
Tue Nov 28 20:19:34 1995 Massimo Campostrini <campo@sunthpi3.difi.unipi.it>
* time.g: New game module, Civilization-type game.
Tue Nov 28 18:50:40 1995 Stan Shebs <shebs@andros.cygnus.com>
* ccmd.def (show): New command, controls what is drawn in map.
* ccmd.c (do_c_show): New function.
* cdraw.c (low_notify): Optimize slightly.
(show_game_date): Make it work again.
* macinit.c (init_display): Call init_ui_chars.
* macwins.c (do_key_down_construction): If the key matches
the character for a unit type, select that type.
* PROJECTS: Update to reflect above changes.
Mon Nov 27 19:06:47 1995 Stan Shebs <shebs@andros.cygnus.com>
* mplayer.c (remove_small_theaters, move_theater_cell): New
functions.
(create_initial_theaters): Call remove_small_theaters.
* run.c (add_to_unit_hp): New function, replace hp adjustments
with calls to it.
* macmap.c (create_map): Use topunithgt.
(draw_unit_info): Use unit_handle for basic unit info.
* macmap2.c (toggle_map_topline, toggle_map_topunit): Fix
to interact with each other correctly, scroll rect instead
of redrawing.
* util.c (update_debugging, toggle_debugging): Move here from
maccmd.c.
* macconq.h (update_debugging, toggle_debugging): Remove decls.
* maccmd.c (do_debug, do_debugg, do_debugm): Call draw_game.
* cconq.c (main): Call update_debugging instead of
init_debug_to_stdout.
* ccmd.c (do_debug, do_debugg, do_debugm): Use toggle_debugging.
* flags.imf (flag-dutch, flag-slovakia): New images.
* napoleon.g: Add spying, do minor cleanups.
* omaha.g: New scenario, Omaha Beach landings.
* quest.g (diamond-ring, treasure-chest, lair): New unit types.
(mp-to-enter-terrain, mp-to-leave-terrain): Adjust for difficult
terrain.
(mp-to-traverse): Let everybody use roads to move more easily.
(start-with, favored): Add entries for monster lairs.
* ww2-adv.g: Add usage of oil by ground units.
* ww2-bn.g (cell-width): Fix.
(free-mp): Give all infantry types at least 1.
(occupant-combat): Disable for ground units on transports.
* news.txt: Remove comment about being a first release.
* imf2imf.1: New file, man page for imf2imf.
* design.texi: Add more info on image design tools.
* refman.texi: Describe image family naming rules.
* PROJECTS: Update to reflect above changes, number entries.
Tue Nov 21 18:54:39 1995 Stan Shebs <shebs@andros.cygnus.com>
* xutil.c (keyword_value): Remove.
Tue Nov 21 18:18:41 1995 Massimo Campostrini <campo@sunthpi3.difi.unipi.it>
* actions.c (garrison_unit): Fix handling of occupants.
Tue Nov 21 17:42:25 1995 Stan Shebs <shebs@andros.cygnus.com>
* actions.c (do_create_in_action): Fix order of arguments to
garrison_unit.
(garrison_unit): Save id of unit being garrisoned in a global.
* history.def (unit-garrisoned): Add parameter.
* history.c (record_unit_death): Record the unit being garrisoned
if event requires.
* init.c (u_possible): New global, cache of types that might
possibly appear in the game.
(cache_possible_types): New function.
* mplayer.c: Misc cleanups.
(review_theaters): Count independent units as part of "enemy"
strength in the theater.
* nlang.c (long_player_title): Fix ordering of AI vs player info.
(historical_event_desc): Add descriptions of new event types.
(write_unit_record, write_combat_results): Use u_possible to
decide which unit types to mention in statistics.
* table.def (fire-attack-terrain-effect, fire-defend-terrain-effect):
New tables.
* maclist.c (draw_unit_list_entry): Suppose location display
if not in world, include date of appearance if will appear later.
* imfapp.c (keyword_value): Remove.
* refman.texi: Update to include all recently-added GDL symbols.
* classic.g (speed-damage-effect): Fill in completely.
* old-empire.g (speed-damage-effect): Ditto.
(mp-to-enter-unit, free-mp): Don't left aircraft land and take off
again in the same turn.
(auto-repair): Let cities repair ships.
* standard.g (noisy): New variant.
* dwellings.imf (barn): New image.
* fantasy.imf (yeti): Ditto.
* insects.imf (scorpion): Ditto.
* misc.imf (halftrack): Colorize, add 16x16 version.
(halftrack-2): New image, was old halftrack.
(mortar, mortar-sym): Improve appearance.
(refinery): New image.
* tanks.imf (pz-4-gray): New image.
* imf.dir: Update to include new images.
Fri Nov 17 18:28:41 1995 Stan Shebs <shebs@andros.cygnus.com>
* game.dir: Remove feb-1917.
* 1757.g, normandy.g: Use regular instead of x property for
appearance times.
* fantasy.g, flattop.g, galaxy.g, insects.g, napoleon.g, panzer.g,
roman.g, russian-rev.g, ww2-38.g, ww2-39.g, ww2-42.g, ww2s-42.g,
ww2s-eur-42.g (synthesis-methods): Add random unit naming.
* flattop.g: Allow stacking of ships, add low chance of
seeing subs, add free mp for aircraft, disable zoc for
PBYs and subs.
* quest.g: Add more unit types, add stacking, material
production and consumption, and roads.
* PROJECTS: Update to reflect above changes.
Wed Nov 15 19:25:24 1995 Stan Shebs <shebs@andros.cygnus.com>
* history.def (unit-died-in-accident, unit-wrecked-in-accident,
unit-died-from-temperature): New history event types.
* history.h (gain_reasons): Remove gift_gain.
(loss_reasons): Remove left_world_loss, gift_loss.
(damage_reasons): New enum.
* history.c (record_unit_death): Account for new event types.
(record_unit_side_change): Count non-capture as "other" gain
or loss.
* combat.c (damage_unit): Add argument giving reason for damage,
use to choose which hevt to pass if unit dies.
* nlang.c (gain_reason_names, loss_reason_names): Update to
match changes in list of gain/loss reasons.
* run.c (damage_unit_with_temperature): Record that unit died
due to temperature.
* keyword.def: Remove third argument from definitions, almost
never useful, remaining uses special-cased.
* lisp.h: Update include of keyword.def.
* mkrivers.c (make_rivers): Use keyword value directly.
* mkroads.c (make_roads): Ditto.
* read.c (keywordtable): Remove value slot.
(keyword_value): Remove.
(init_constant): Add argument for value.
(init_predefined_symbols): Supply former keyword values directly.
* read.c (interp_unit): Add properties for appear and disappear.
* run.c (run_appearances, run_disappearances): Rewrite to use
unit extras structs instead of extension properties.
* score.c (point_value): Use extras struct instead of extension
property.
* unit.c (init_unit_extras): New function.
(create_unit): Use it.
* write.c (write_units): Write out unit extras.
* gettysburg.g: Use regular instead of x property for appearance
times.
* PROJECTS: Remove item about x properties.
* init.c (init_side_balance): Only init if not restored from
saved game.
* ui.c (record_imf_get): Expand interface-specific image data
into generic form, for recording in saved games later.
* mplayer.c (mplayer_decide_plan): Only assign unit to offense
if it can actually attack something.
* plan.c: Add some comments.
* run.c (add_new_sides_to_game): Init any AI for the new side.
* macconq.c (update_side_display): Get emblem images for a newly
added side.
Sun Nov 12 17:21:58 1995 Massimo Campostrini <campo@sunthpi3.difi.unipi.it>
* imf.h, xutil.c (readimf_hook): Add an argument.
* imf2x.c (main): Remove unused vars.
* xcmd.def (orders): New command, brings up standing orders windows.
* xconq.h (UI): Add slots to record orders windows state.
* xcloseup.c: Add popup windows to manage standing orders.
* xcmd.c (do_x_orders_popup): New function.
* xprint.c (handle_done_print_help): New function.
Sun Nov 12 16:13:30 1995 Stan Shebs <shebs@andros.cygnus.com>
* lisp.c (read_list): Rewrite to not call itself recursively,
reduces stack usage when reading long lists.
* read.c (read_aux_terrain_view_layer, read_material_view_layer):
New functions.
(fill_in_side): Use them.
* side.c (init_view): Set up views of aux terrain and materials.
* write.c (write_side_view): Write them out.
* ui.c (record_imf_get): New function.
(get_unit_type_images, etc): Use it.
* write.c (write_images): New function.
(write_game_module): Use it, also clean up formatting of whitespace
in game module form output.
(write_table): Fix formatting of table output.
Thu Nov 9 19:49:11 1995 Stan Shebs <shebs@andros.cygnus.com>
Beginnings of multi-program multi-player support.
* actions.c (broadcast_next_action): New function.
(prep_move_action, etc): Call it.
* macconq.c (connection_method_dialog): New function.
(connect_game_dialog): Call it.
(init_connection_method, init_serial_port): New functions.
(low_send, low_receive): Ditto.
* macinit.c (download_to_player, send_assignment): New functions.
* macdefs.h (miViewTopunit): New View menu item.
* macmap.c (create_map): Init topline and topunit sizes separately.
(draw_map): Draw topline and topunit areas separately.
* macmap2.c (toggle_map_topline): Account for topunit area.
(toggle_map_topunit): New function.
* macmenus.c (do_menu_command): Add case for topunit view item.
(adjust_menus): Enable/checkmark topunit view item.
Mon Nov 6 20:03:17 1995 Stan Shebs <shebs@andros.cygnus.com>
* actions.c (play_action_messages): Clean up and fix.
* history.c (play_event_messages): New function.
(record_event): Call it.
* nlang.c (historical_event_desc): Improve usage of
event messages.
* module.c (do_one_variant): Record values of integer-valued
variants.
* write.c (write_game_module): Write data about each variant.
* combat.c (reckon_damage): Change reporting of damage to list
dead unit's actions before its death.
* world.c (world_distance): New function.
* world.h (lighting): Use it.
* macconq.c (play_movies): Clean up sound handling.
(play_sound): New function.
* ww2-eur-42.g (synthesis-methods): Add random name/number gen.
* PROJECTS: Add/remove/update various items.
Fri Nov 3 17:13:09 1995 Stan Shebs <shebs@andros.cygnus.com>
* imfapp.c (collect_all_resources): Look for more types of
modified imf names.
(write_location): New flag.
(make_imf_resources): Use it.
* macimf.c (mac_load_imf): Set ppat to actual size instead of
8x8, create distinct 8x8 PAT if ppat is larger.
(convert_ctab): Terminate loop correctly.
* dwellings.imf (castle, castle-2): Make consistent.
(village2): Rename to village-2.
* fantasy.imf (dragon2): Rename to dragon-4.
* insects.imf (spider): Fix missing pixel.
* terrain.imf: Split large-than-8x8 images into real-size and
8x8 images.
* roman.g (oppidum): Use village-2.
Tue Oct 31 20:07:40 1995 Stan Shebs <shebs@andros.cygnus.com>
* cmd.def (on): Rename standing order command to "if".
* world.h (Area): New slot numcells.
(border_at, connection_at): New macros.
* world.c (set_area_shape): Compute area.numcells.
(area_cells): Remove.
(border_at, connection_at): Remove functions.
(set_border_at, set_connection_at): Test existence of cell
at other end of connection, rather than requiring cell to
be inside area.
(patch_linear_terrain): Test need to patch before patching.
* init.c, mkterr.c, mkunits.c: Use area.numcells.
* read.c (interp_one_clause): Reduce the number of redundant
Lisp operations.
* util.c (pfp, profile_printf): Remove, never used.
* misc.h (profile_printf): Remove decl.
* maccmd.c (update_debugging, toggle_debugging): Don't
change profiling flag here.
(toggle_profiling): New function.
(do_profile, do_trace): Call it.
* macinit.c (filter_splash): Toggle profiling if 'P' typed.
(filter_new_game): Ditto.
* macwins.c (draw_game_date): Draw profiling state.
* DO_FIRST.mac, README.mac: Update to reflect removal of
Mac binary files from regular source tree.
* stdunit.g (speed-damage-effect): Extend interpolation lists
to cover all possible hp values.
Sun Oct 29 15:00:45 1995 Stan Shebs <shebs@andros.cygnus.com>
* lisp.c (interpolate_in_list): Rewrite to return an outcome
code, and not to try to extrapolate.
(interpolate_in_list_ext): New function, interpolation that
can extrapolate on either or both sides of range.
* lisp.h: Update decls to match changes.
* actions.c, run.c: Update all callers of list interpolation.
Thu Oct 26 19:56:16 1995 Stan Shebs <shebs@andros.cygnus.com>
* lisp.c, lisp.h: Rewrite symbol handling to use a hash table
with buckets of linked symbols.
(maxsymbols): Remove, no fixed limit on number of symbols now.
(hash_name): New function.
* util.c (report_malloc): Don't report maxsymbols.
* read.c (utype_from_symbol): New function.
(interp_unit, interp_utype_list, etc): Use it instead of
utype_from_name.
(utype_from_name): Test symbol binding before testing
long and short type names.
* combat.c (detonate_unit, detonate_on_cell): Always call
damage_terrain.
(damage_terrain): Damage connections and borders if possible.
(damaged_terrain_type): New function, was code in damage_terrain.
Tue Oct 24 19:09:39 1995 Stan Shebs <shebs@andros.cygnus.com>
* lisp.c, lisp.h (symboltable): Make static.
(c_number, c_string): Test object type.
(intern_symbol): Rename local new to new1.
* read.c (interp_world): Only use set_world_circumference
to set circumference.
(interp_area): Only use set_area_shape to set the width and
height.
* world.h (World): New slot circumf_3_10.
(Area): New slot halfheight.
(x_in_area, x_inside_area): New macros.
(for_all_cells, for_all_interior_cells): Use them.
(lighting): Use world.circumf_3_10.
* world.c (set_world_circumference): Compute circumf_3_10.
(set_area_shape): Compute halfheight.
* mkterr.c, ps.c, run.c, ui.c, macmap.c: Use area.halfheight
everywhere.
* macinit.c (launch_game_2): Only use set_area_shape to set
the default width and height.
Sun Oct 22 16:20:58 1995 Stan Shebs <shebs@andros.cygnus.com>
* keyword.def (original-module, original-variants,
original-version): New keywords.
* module.h (Variant): New slots hasintvalue, intvalue.
(Module): New slots origmodulename, origvariants, origversion.
* read.c (interp_variant_defns): Add more error checking,
(interp_game_module): Recognize new properties.
* score.c (record_into_scorefile): Use original values of
module properties if defined, record version and variants,
don't nest player info in "(player ...)" form.
* write.c (write_entire_game_state): Fill in orig* slots.
(write_game_module): Write orig* slots.
* unit.h (Unit): Revert to allocating pointer to supply data,
instead of making unit variable-sized; created alignment problems,
no observable benefit.
(UnitExtras): New structure, space for optional unit slots.
(unit_point_value, unit_appear_turn, etc): New macros.
* read.c (interp_unit): Allocate unit extras if needed.
* run.c, write.c: Use unit_hook macro everywhere instead of
unit->hook.
* score.c (unit_point_value): Rename to point_value.
* unit.c (allocate_unit_block): Revert to previous form.
* game.h (checku, checkm, checkt): Remove entirely.
* help.c (describe_concepts): Add mention of hp.
* lisp.h (for_all_list): New macro.
* side.c (become_designer, become_nondesigner): Simplify.
(see_weather): New function, take code from see_cell, call
in both see_cell and see_exact.
* types.c (get_u_extension, etc): Uncommment.
* world.c (change_terrain_type): Fix calculation of which
sides' views to update, add notification if units die.
* maccmd.c (do_one_add_terrain): Make prefixarg specify terrain
type by relative number among possibilities.
* macmap.c (cell_terrain): Add special case for see_all.
(draw_cliffs, oneliner): Use cell_terrain to get terrain type.
* macwins.c (last_status_*): New variables, globals that track
what's been drawn for side status.
(draw_game): Initialize them.
(draw_side_status): Don't draw things if values haven't changed
since the last draw.
* empire.g: Add characters for material types, add production
and consumption of lcm and hcm for ships and such, allow
engineers to build highways again.
(park): New unit type, a non-acting facility.
(education, happiness): New material types.
* PROJECTS: Various additions and deletions.
Thu Oct 19 20:47:33 1995 Stan Shebs <shebs@andros.cygnus.com>
* xconq.c (update_fire_at_display, update_fire_into_display):
Use invert mode to draw.
Wed Oct 18 20:12:20 1995 Stan Shebs <shebs@andros.cygnus.com>
* cmdline.c (set_players_from_options): Initialize scan
properly if merging with existing players.
* game.h (checku, checkm, checkt): Define as macros.
* generic.c (checku, checkm, checkt): Comment out.
* world.h (in_area, inside_area): Define as macros.
* world.c (in_area, inside_area): Comment out.
* mplayer.c: Use all_see_all instead of g_see_all (usually).
* macconq.c (position_on_screen): Test for Color QD before
looking at graphic devices.
(set_standard_state): Adjust zoomrect in non-CQD case.
(get_main_screen_size): New function.
* machelp.c (instructions_dialog): Use it.
(zoom_help): Adjust zoomrect in non-CQD case.
* macmap.c (create_map): Use get_main_screen_size.
* macwins.c (create_game_window): Ditto.
(create_construction_window): Ditto.
(create_history_window): Ditto.
(create_notice_window): Ditto.
(zoom_notice): Adjust zoomrect in non-CQD case.
Mon Oct 16 18:51:17 1995 Stan Shebs <shebs@andros.cygnus.com>
* run.c (compute_sun): Interpret initial-day-part in 1/100ths
of a turn, which allows fine adjustment of sun position.
* ww2-bn.g (hq-air-div): Rename to hq-para-div.
(free-mp): Define for nonmotorized infantry.
* ob-nor-alld.g: Change 82nd and 101st units to be paras,
add regiments attached for D-Day.
* normandy.g: Make 82nd and 101st divisions appear in Normandy
on the first turn, around historical drop zones.
(initial-date): Start game at midnight.
* cherbourg.g (initial-day-part): Tweak.
Sun Oct 15 14:59:20 1995 Stan Shebs <shebs@andros.cygnus.com>
* cmd.def (on): New command, sets standing orders.
* side.h (StandingOrder): New structure.
(Side): Add slots order, last_order, uorders.
* side.c (new_standing_order, add_standing_order,
parse_standing_order, parse_unit_type, parse_order_cond,
get_next_arg): New functions.
* task.c (clone_task, parse_task): New functions.
* plan.c (execute_standing_order, task_is_in_agenda,
tasks_match): New functions.
(execute_plan): Execute standing order if applicable.
* read.c (utype_from_name): Make visible everywhere.
* run.c (side_move_some_units, move_one_unit_multiple):
Detect if unit might have a standing order to do, go into
plan execution if so.
* maccmd.c (do_standing_orders): New command function.
* xcmd.c (do_standing_orders): Ditto.
* ccmd.c (do_standing_orders): Ditto.
* unit.h (Unit): Make unit structure variable-sized, record
supply info as array at end of unit struct.
* unit.c (allocate_unit_block): Calculate unit size for this
game and set up a block of units of that size.
(create_unit): Remove supply array allocation code.
* read.c (interp_unit): Disallow addition of more material types
after a unit has been created.
* init.c (check_game_validity): Check u_parts validity
separately from relationship to u_hp.
* side.c (agreementdesigbuf): Allocate dynamically.
* unit.h (completed): Test unit cp against cached array of
completeness values.
* unit.c (init_units): Allocate completeness cache.
(create_unit): Fill in cache if uninitialized.
* write.c (write_task): Test validity of task type.
* maccmd.def (DP, DT): New debugging commands.
* maccmd.c (favored_type): Move to ui.c.
(toggle_debugging): Update Think C profiling code.
* macdraw.c (draw_connection_line_multiple): Pull some
calculations out of loop.
* macimf.c (mac_interp_imf): Don't call color pattern/icon
interpretation if Color Quickdraw not available.
* macinit.c (filter_splash): Let 'P' enable profiling.
Fri Oct 13 17:58:14 1995 Stan Shebs <shebs@andros.cygnus.com>
* nlang.c (short_player_title): Improve layout of title.
* score.c (record_into_scorefile): Put sides on separate line,
write out advantage of each side.
* macwins.c (draw_unit_closeup): Draw text in Monaco 9.
Thu Oct 12 19:43:36 1995 Stan Shebs <shebs@andros.cygnus.com>
* mpw-make.in (EXTRALIBS_MPW_C): Rename to EXTRALIBS_C.
* macconq.h: Clean up header compatibility definitions;
use absence of __CONDITIONALMACROS__ to detect pre-universal
headers.
* XconqMPW.r: Include Xconq.r instead of XconqProj.rsrc.
Wed Oct 11 20:16:31 1995 Stan Shebs <shebs@andros.cygnus.com>
* mac/Xconq.r, mac/IMFApp.r: New files, Mac resources in Rez
syntax.
* XconqProj.rsrc.hqx, IMFAppProj.rsrc.hqx: Remove.
Wed Oct 11 19:16:56 1995 Massimo Campostrini <campo@sunthpi3.difi.unipi.it>
* actions.c (garrison_unit): Fix mistake calculating hp2.
* ui.c (center_on_focus): Unwrap if in upper right of cylinder.
* xdraw.c (draw_map_view): Call wrapx on left end of row.
* xinit.c (popup_game_dialog): Add chains to widgets.
* Xconq.ad, Xconq-co.ad: Update resources for game selection.
* roman.g: Add parameters to make it play standalone, tweaked
some existing capacity and combat parameters.
Tue Oct 10 19:28:32 1995 Massimo Campostrini <campo@sunthpi3.difi.unipi.it>
* xcmd.def (side, unit): New commands.
* x11/xcloseup.c: New file, closeup windows for X11 interface.
* xconq.h (UI): Add slots for closeups.
(SideCloseup, UnitList, UnitCloseup, CloseupSummary): New structures.
(for_all_unit_closeups. etc): New macros.
* xcmd.c (do_x_unit_closeup, do_x_side_closeup): New functions.
* Xconq.ad, Xconq-co.ad: Add resources for closeups.
Tue Oct 10 18:54:19 1995 Stan Shebs <shebs@andros.cygnus.com>
* macconq.c (main): Initialize AppleEvents after basic data
structures.
(init_ae): Warn if any handlers fail to install.
(update_turn_display): Call draw_unit_info.
(update_event_display): Remove now-unused game-end code.
(update_unit_display): Always call update_unit_in_maps.
(update_unit_in_maps): Call draw_unit_info if appropriate.
* macmap.c (update_cell_display): Ditto.
(create_map): Leave space for unit info area.
(draw_unit_info, draw_info_text): New functions, draw textual
info about selected unit in top part of a map.
(draw_selections): Call draw_unit_info if appropriate.
(draw_selections_at): Ditto.
Mon Oct 9 19:13:38 1995 Stan Shebs <shebs@andros.cygnus.com>
* keyword.def (terrain-view-dates, aux-terrain-view,
aux-terrain-view-dates, material-view, material-view-dates,
temperature-view, temperature-view-dates, cloud-view,
cloud-bottom-view, cloud-height-view, cloud-view-dates,
wind-view, wind-view-dates, gain-counts, loss-counts,
attack-stats, hit-stats, embed-size): New keywords.
* side.h (Side): New slots for view data.
(material_view, set_material_view, etc): New macros.
(side_won): Fix test.
* ai.c (cell_unknown): Test tmpside->see_all.
(base_building): Remove.
* nlang.c (write_side_results): Write scores.
* read.c (fill_in_side): Interpret new view layer properties.
(interp_atkstats_list, interp_hitstats_list, interp_short_array,
interp_long_array): New functions.
(read_terrain_view, read_unit_view, read_unit_view_dates):
Remove.
(read_view_layer): New function.
* run.c (end_the_game): Call record_into_scorefile.
* score.c (record_into_scorefile): Write out sides and scores.
* write.c (write_side_properties): Write side statistics.
(write_side_view): Write new view layers.
(write_one_side_view_layer): New function.
* imf.h (ImagePalette): New type.
* imf.c (WHITE_THRESHOLD, BLACK_THRESHOLD): New macros.
(palettes, numpalettes): New variables.
(interp_image): Warn if existing data overwritten.
(new_image_palette, canonical_palette_name, get_imp, find_imp,
palette_name_compare, sort_all_palettes, write_imp): New functions.
(interp_form_imfonly): Remove.
(check_imf, bitmaps_match, color_matches_mono): New functions.
(write_imf): Look up keywords to write.
* imf2x.c (main): Use load_imf_file.
* xutil.c (read_any_file): Ditto.
* xutil.h (interp_form_imfonly): Remove decl.
* imfapp.c (collect_all_resources): Call check_imf.
* macconq.c (update_turn_display): Call end-of-game dialogs here.
(update_event_display): ...instead of here.
* macimf.c (mac_interp_imf): Fix size calculations.
* macmap.c (oneliner): Use real terrain data if no view.
* PROJECTS: Update to reflect above changes.
Wed Oct 4 18:59:16 1995 Stan Shebs <shebs@andros.cygnus.com>
* mpw-configure: New file, configuration script for MPW.
* mpw-make.in: New file, MPW Makefile fragment.
* mac/Makefile.hqx: Remove.
* mplayer.c (has_goal): Uncomment.
(mplayer_decide_plan): Use it.
(estimate_strengths): When looking at view to count units, don't
count own or allied units, since they have already been counted.
Tue Oct 3 19:40:31 1995 Stan Shebs <shebs@andros.cygnus.com>
* tanks.imf: Add emblems and some 16x16 images.
* imf2imf.c (main): Check for failure to open output file.
Tue Oct 3 19:12:05 1995 Massimo Campostrini <campo@sunthpi3.difi.unipi.it>
* x11/Imakefile (IhaveXPM): New conditional, for XPM library.
Tue Oct 3 18:57:49 1995 Stan Shebs <shebs@andros.cygnus.com>
* misc.h (DMprintf, DGprintf, DMprintlisp, DGprintlisp): Test
the correct file pointers.
* mplayer.c (mplayer_preferred_build_type): Account for normal
completion time, add debug display of weights.
* nlang.c (normal_completion_time): Account for toolup time.
* task.c (clear_task_agenda): Tweak working of debug message.
* macdraw.c (draw_theater_borders): Rename to
draw_ai_region_borders.
* macmap.c (draw_borders, draw_connections, etc): Make static.
(draw_theater): Rename to draw_ai_region.
(draw_units): Don't draw units if smaller than 8 pixels across.
* macconq.h: Remove decls of now-static functions.
Mon Oct 2 18:54:54 1995 Stan Shebs <shebs@andros.cygnus.com>
* game.h (could_be_on, could_live_on): New macros, better
tests of unit-terrain compatibility.
(could_move, will_garrison): Remove.
(could_hit): Add test of uu_fire_hit.
* ai.c (ai_init_shared): Use could_be_on instead of could_move.
* mplayer.c (probably_explorable): Ditto.
* plan.c (can_move): Ditto.
(clear_task_agenda): Return number of tasks removed,
don't do any debugging printout.
* unit.h (clear_task_agenda): Update decl.
* help.c (notify_instructions): Move here from xconq.c.
* run.c (compute_acp): Account for effect of temperature on acp.
(unit_consumes): Account for effect on base consumption.
* task.c (add_task): Add debugging prints.
* ui.c (char_to_dir): Fix control char case.
* unit.c (unit_allowed_on_side): Test per-side limits on units.
* xconq.c (run_game_proc): Do more actions per call, call less
often, call much less often if nothing happening.
(update_fire_at_display): Draw the actual lines of fire.
(update_fire_into_display): Ditto.
* xdraw.c (draw_units, draw_unit_and_occs): Don't draw occs or
surrounding box if would be too small (less than 8 pixels wide).
* PROJECTS: Update to reflect above changes, add items from
imf2imf doc and for background picture drawing.
Mon Sep 25 19:27:44 1995 Massimo Campostrini <campo@sunthpi3.difi.unipi.it>
* aircraft.imf (cargo, cruise, fghtrbmbr, stealth): New images.
* misc.imf (silo, worker-2): New images.
(cavalry): Adjust slightly.
(port): Add 16x16 image.
(spysat): Add mask.
* sf.imf (domed-city): New image.
(hovercraft): Add mask.
* standard.imf (town20): Add 32x32 image.
Mon Sep 25 18:21:07 1995 Stan Shebs <shebs@andros.cygnus.com>
* unit.c (init_unit_actorstate): Add a flag indicating whether
to initialize the unit's acp to a distinctive value.
(create_unit, change_unit_type): Fix calls.
* actions.c (make_unit_complete): Ditto.
* init.c (patch_object_references): Ditto.
* run.c (run_appearances): Ditto.
* combat.c (capture_unit_2): Only clear any pending action, leave
all other action slots alone.
* unit.h (init_unit_actorstate): Update decl.
* read.c (read_utype_doctrine): Ensure that side->udoctrine
is actually allocated.
* all.g: Remove commented-out properties, add references to
new things.
Thu Sep 21 18:28:12 1995 Stan Shebs <shebs@andros.cygnus.com>
* pearl.g (initial-date): Use "Dec" instead of "December".
* write.c (write_unit): Write out not-yet-appeared units'
position correctly.
* lisp.c (sprintf_line_numbers): Rename to sprintf_context,
extend to let line numbers be undefined, and to display a
context rather than line numbers if no line numbers.
(read_form_aux): Only update line numbers if ptrs non-NULL.
* lisp.h: Update decls to match.
* read.c (add_properties): Check syntax more thoroughly.
* score.c (eval_sk_test): Interpret `/=' (K_NE).
* test/tiny.g: New test game design.
* test/warn.g: Add tests of property add syntax, move type
decls in front of random form tests.
* PROJECTS: Remove item about pointers to line numbers.
Wed Sep 20 19:19:03 1995 Stan Shebs <shebs@andros.cygnus.com>
* combat.c (attempt_to_capture_unit): Declare as static.
* side.h (Side): Remove auxterrviewdate, cloudbottomviewdate,
and cloudheightviewdate.
* side.c (init_view): Don't allocate auxterrviewdate.
* world.h (apply_to_path): Declare sorting callback function
to return an integer.
* world.c (apply_to_path): Set number of choices to be
the result from sorting callback function.
Tue Sep 19 18:46:33 1995 Stan Shebs <shebs@andros.cygnus.com>
* run.c (run_environment): General cleanup, so that temperature
and wind calculations can run independently, and removal of
temperature effects on unit.s
(all_see_cell_weather): Add update for temperature changes.
(run_environment_effects); New function.
(run_turn_end): Call it.
* side.c (init_view): Allocate terrain view date, allocate
only one date layer for cloud view layers.
(see_cell): Update views of temperature and clouds.
* world.c (allocate_area_scratch): Check for error case.
* xcmd.def (z-in, z-out): Rename to zoom-in, zoom-out.
* xcmd.c (aux_move_look, aux_move_dir): Use char_to_dir.
(do_set_map_angle): Remove.
* napoleon.g: Add a clouds variant, add chars to unit types
that need them.
(unit-storage-x): Define.
(see-weather-always): Set to false.
(base-production, productivity, base-consumption, out-length):
Define.
(temperature-attrition): Define for land forces.
(independent-density): Define for cities.
* 1805.g: Remove commented-out unit list, sort unit list.
* PROJECTS: Move C code items out of library section,
add items for Napoleon game.
Mon Sep 18 19:27:55 1995 Stan Shebs <shebs@andros.cygnus.com>
* table.def (fire-damage): Default to -1 instead of 0.
(hit-by): Rename um_hitby to um_hit_by.
* actions.c (garrison_unit): Calculate hp2 loss correctly.
(type_can_create, type_can_complete): Test tooling limits.
(construction_possible): New function.
* conq.h (one_attack, fire_on_unit, etc): Remove decls.
* combat.c (one_attack, fire_on_unit, etc): Make static.
(maybe_hit_unit): Add arg indicating if firing, use separate
fire hit chance and damage tables if so.
(capture_unit): Call garrison_unit to garrison the prisoner.
(type_can_fire): Check fire damage table.
* help.c (describe_utype): Describe more self-unit properties.
* init.c (final_init): Call final_init_world.
(init_view_cell): View the weather conditions.
* lisp.c (interpolate_in_list): Check for unusual cases.
* run.c (all_see_cell_weather): New function.
(run_environment): Call it.
* side.h (Side): New slots for weather view layers.
(aux_terrain_view, set_aux_terrain_view, temperature_view,
set_temperature_view, etc): New macros.
* side.c (init_view): Allocate char for terrain view,
maybe allocate other (aux terrain, weather, etc) view layers.
(see_cell): Update wind view if changed.
* ui.h (VP): Add slots for perspective display.
* ui.c (new_vp): Calculate perspective display slots.
(xform_cell): Fix bug in transformation of leftside x values
in cylindrical areas, clean up perspective calculation.
(nearest_cell): Fix bug in calcuation with negative numbers.
* world.h (area): New slots, caches for elev range.
(CALM): New macro.
* world.c (final_init_world): New function.
* maccmd.c (do_mac_set_map_angle): Reflect cleanup in ui.c.
* macdesign.c (draw_design_window_tool): Add arg to draw_winds.
* macdraw.c (draw_temperature_here, draw_winds_here): Test
only against view, always draw around edge of known area.
* macmap.c (cell_terrain): Use terrain_view.
(draw_terrain_row, draw_cliffs, etc): Draw from view rather than
actual data.
* macwins (init_construction_lists): Test that construction is
actually possible before adding a type.
* voyages.g (see_weather_always): Set to false if having wind.
* PROJECTS: Update to reflect above changes, remove some
obsolete items.
Fri Sep 15 17:27:05 1995 Stan Shebs <shebs@andros.cygnus.com>
* russian-rev.g (road-chance): Fix syntax.
* roman.g (road-chance): Ditto.
Fri Sep 15 16:59:05 1995 Massimo Campostrini <campo@sunthpi3.difi.unipi.it>
* midearth.g (acp-min): Add, so that units with 1 ACP left will
not be unable to act.
(mp-to-enter-terrain): Make fording and crossing mountains slower,
trolls can now cross plains, slowly (they can only move by night :-).
(defend-terrain-effect, attack-terrain-effect): Define.
Fri Sep 15 16:49:35 1995 Stan Shebs <shebs@andros.cygnus.com>
* classic.g: Improve and clean up comments.
(visibility): Define for subs and nukes.
(free-mp): Set to 1 for all unit types.
(speed-damage-effect): Define for bombers and ship types.
(acp-to-attack): Set to 0 for city types.
(hit-chance): Set to 100 for all types vs nukes.
(damage): Add missing parens to bb damage clause.
(consumption-per-attack): Set to 1 for ammo for all types.
(auto-repair, auto-repair-range): Define instead of hp-per-repair.
* stdunit.g: Improve comments.
(vanishes-on): Make armor vanish in swamp.
(unit-size-in-terrain): Set aircraft to have 0 size.
(free-mp): Set to 1 for all unit types.
(speed-damage-effect): Define for bombers and ship types.
(point-value): Set for cv, bb, and nukes.
Thu Sep 14 20:24:35 1995 Massimo Campostrini <campo@sunthpi3.difi.unipi.it>
* Xconq-co.ad: Colorize designer dialog.
* roman.g: Adjust capacity, construction, and combat.
* rom-civ-war.g: Fix date, and change construction time from
the basic game.
Thu Sep 14 18:56:06 1995 Stan Shebs <shebs@andros.cygnus.com>
* play.texi: Wording fixes from Cary Renzema <caryr@mxim.com>.
* utype.def (elevation-at-max-range): Remove.
* imf2imf.c (main): New option --explode option to put each
image family into a separate file.
* nlang.c (init_calendar): Recognize calendar step names
that are symbols as well as strings.
(parse_usual_date): Be pickier about date formats.
* read.c (readerrbuf): Allocate only in init_predefined_symbols.
(add_to_table): Allocate table when setting to a constant value,
detect extra junk in table clauses.
(add_properties): Warn about extra junk in form.
* mac/Makefile.hqx: Update to reflect source changes.
* PROJECTS: Add items about design of standing orders and
about computing fire elevation.
Wed Sep 13 19:32:50 1995 Stan Shebs <shebs@andros.cygnus.com>
* table.def (fire-hit-chance, fire-damage): New tables.
* refman.tex: Update to reflect recent GDL changes.
* hacking.texi, glossary.texi: Wording tweaks.
Tue Sep 12 18:01:02 1995 Stan Shebs <shebs@andros.cygnus.com>
* xcmd.c (do_disembark): Add empty definition.
* read.c (interp_unit): Set unit's hp2 along with hp.
* run.c (run_hp_recovery): Ditto.
* unit.c (change_unit_type): Ditto.
* kernel/imf2imf.c: New file, image merge/split tool.
* kernel/Makefile.in (imf2imf): Add build rule.
* xutil.c (interp_form_imfonly): Move to imf.c.
* xutil.h (interp_form_imfonly): Move decl to imf.h.
* xutil.c (read_imf_file): Merge into read_any_file.
* xutil.h (read_imf_file): Remove decl.
* imf.h: Add extern to all function decls.
(new_imf): Remove decl.
* imf.c (new_imf): Make static.
* imfapp.c (useColorQD): New global.
(main): Initialize it.
(do_menu_command): Toggle it from menu item.
(adjust_menus): Adjust menu item from it.
(draw_as_terrain_image, draw_as_unit_image, draw_as_emblem_image):
Use it to control use of Color QuickDraw drawing functions,
also use select_icons and select_tiles to decide about drawing.
(collect_all_resources): Find and read cicns with " 16x16"
appended to the basic image name.
* macimf.c (mac_load_imf): Read in cicns with " 16x16" appended
to name.
* tanks.imf: Add emblems to German and Soviet tanks, add some
16x16 color images.
* PROJECTS: Delete projects concerning IMFApp.
Mon Sep 11 20:16:02 1995 Stan Shebs <shebs@andros.cygnus.com>
* utype.def (speed-wind-angle-effect): Remove.
* actions.c (can_occupy_conn): Move to unit.c.
(unit_speed): Calculate wind effect correctly.
(wind_value, number_member): New functions.
* help.c (describe_utype): Update desc of wind effect.
* voyages.g (game-module): Add real wind effect property to
the wind variant.
* ai.c (offensive_worth): Remove, never used.
(is_base_for, is_carrier_for): Uncomment.
* plan.c (should_build_base): Remove unused function.
* read.c (interp_game_module): Don't test program version
if property's value is any empty string.
(interp_unit): Don't read opinions if property is NULL.
* nlang.c (init_nlang): New function.
(notify_all, notify, absolute_date_string, plural_form): Don't
allocate string buffer on demand, assume already allocated.
* init.c (init_data_structures): Call init_nlang.
* cmd.def (disembark): New command.
(angle): Remove.
* ui.c (char_to_dir): New function.
* maccmd.c (do_dir, do_dir_multiple): Call char_to_dir.
(do_build): Seed run length from prefix argument.
(do_disembark, do_one_disembark): New functions.
(do_one_embark): New function.
(do_embark): Call it.
(do_mac_zoom_in, do_mac_zoom_out): New functions.
* maccmd.def (angle, zoom-out, zoom-in): New commands.
* macinit.c (open_progress_dialog): Removed unused code.
* macmenus.c (quit_the_game): Call designer code first.
* macwins.c (currunlength): Make globally visible.
* ccmd.c (do_build): Only ask about types that may be built.
(impl_build): New function.
(do_copying, do_warranty): Bring up correct help node.
(do_disembark): New function.
(do_fire_into): Implement for real.
(do_set_map_angle): Remove.
* cconq.c (ask_unit): Call make_current_at, do other fixes.
(make_current_at): New function.
* test/all.g: Update to reflect recent GDL changes.
* PROJECTS: Update to reflect above changes, add items about
behavior of construction dialog in Mac interface.
* TODO: Update item about shared dir interp code.
Fri Sep 8 17:52:03 1995 Stan Shebs <shebs@andros.cygnus.com>
* macconq.c (handle_event): Call TrackGoAway for window closing.
* macmenus.c (adjust_menus): Fix reference to optterrmenu, only
adjust items of optional terrain or material view menus if the
menu itself is enabled.
Thu Sep 7 19:45:13 1995 Stan Shebs <shebs@andros.cygnus.com>
* macconq.h (constructionunitlist, constructiontypelist): Remove
decls.
* macwins.c (init_construction_lists): Only add types that the
side may have.
(do_key_down_construction): Only send digits to run length box,
fix computation of which chars to get from the box.
(select_type_in_construction_window): Fix selection test.
(update_type_list_for_unit): Use types actually in list, not
all unit types.
* xcmd.c (do_build): Only ask about types allowed on the side.
* conq.h (eval_boolean_expression): Move decl to lisp.h.
* help.c (describe_utype): Add description of allowed sides
for the unit type.
* lisp.c (maxsymbols): Increase to 1000.
* module.c (extension_value): Unused, delete.
(eval_boolean_expression): Move to lisp.c.
* side.h (Side): New slot uvail, cache of allowed unit types.
* side.c (type_allowed_on_side): Precompute and cache results
of side class tests.
Wed Sep 6 18:49:01 1995 Stan Shebs <shebs@andros.cygnus.com>
* unit.c (add_unit_to_vector): Make run error if null vector.
(remove_unit_from_vector): Don't remove from null vector.
* ww2s-eur-42.g: Upgrade/downgrade various bases/towns/cities,
add USA towns and cities, merge in contents of u-eur-1942.g
* u-eur-1942.g: Remove.
* PROJECTS: Remove relevant item.
Tue Sep 5 18:38:15 1995 Stan Shebs <shebs@andros.cygnus.com>
Update from Labor Day weekend hacking - date synthesis, more road
synthesis, online GPL, and adding side during game.
* gvar.def: Update some comment strings.
(edge-road-density, initial-date-max, initial-date-min): New GDL
globals.
(real-time-for-game, etc): Increase upper bounds.
* utype.def (road-to-edge-change, spur-chance, spur-range): New
unit type properties.
* conq.h, help.h, side.h, world.h: Update various function
declarations.
* actions.c: Remove commented-out static decls.
(do_alter_cell_action): Call change_terrain_type.
(do_add_terrain_action, do_remove_terrain_action): Clean up
report of changes, always consume acp even if no change.
* combat.c (change_terrain_type): Move to world.c.
* kernel/copying.awk: New file, awk script to edit GPL into
copying.c.
* kernel/copying.c: New file, GPL and non-warranty as help nodes.
* kernel/Makefile.in, kernel/Imakefile, Makefile.dos: Add copying.o.
* help.c (firsthelpnode): Rename to first_help_node.
(lasthelpnode): Rename to last_help_node.
(copying_help_node, warranty_help_node, default_prev_help_node):
New global help nodes.
(init_help): Set up warranty and GPL help nodes.
(add_help_node): Use default_prev_help_node.
(get_help_text): Preallocate more space for GPL node.
(describe_help_system): New function.
(describe_copyright): Move to copying.c.
(describe_setup): Call describe_synth_run for each method.
(describe_synth_run): New function.
init.c (synthmethods): Add calls and runs fields.
(make_up_a_side): Return the made-up side.
(run_synth_methods): Track calls and runs of each method.
(get_synth_method_uses): New function.
(make_weather, make_initial_materials): Add arguments.
(make_random_date): Add arguments, make it generate dates within
a specified range.
(final_init): Call init_self_unit.
mknames.c (name_units_randomly): Add arguments.
mkrivers.c (make_rivers): Ditto.
mkroads.c (make_roads): Add arguments, add code to generate
roads that run to the edge of the area, roads that run across
the area, and spur roads.
(road_at, find_adj_inside_area, test_road_segment,
sort_road_segments, compare_road_directions): New functions.
(lay_connecting_road, can_be_connection_on): Remove.
mkterr.c (make_fractal_terrain, etc): Add arguments, call
adjacent and liquid terrain postprocessors.
(fix_adjacent_terrain, flatten_liquid_terrain): New functions.
mkunits.c (make_countries, make_independent_units): Add arguments.
(make_countries): Detect when a side is being added in the middle
of a game, compute number of units for it.
(average_numunits): New function.
nlang.c: Cleanup and rewrite of date handling.
(CalendarType, UsualDateStepType): New enums.
(UsualDate): New structure.
(parse_date): New function.
(init_calendar): New function.
(absolute_date_string): Call it if no calendar defined.
(turns_between, set_initial_date): New functions.
(parse_usual_initial_date): Remove.
(parse_usual_date): New function.
* plan.c (init_unit_plan, set_unit_plan_type, set_unit_asleep,
set_unit_reserve, set_unit_ai_control, dispose_of_plan): Move here
* unit.c: ...from here.
* run.c (request_additional_side, add_new_sides_to_game): New
functions, ability to add sides in middle of a game.
(run_turn_start): Call add_new_sides_to_game.
* side.c (init_self_unit): New function.
* world.c (apply_to_path): Change to set higher priority on
directions to get closer to endpoint of path, a la unit movement.
(random_edge_point): New function.
* maccmd.c (do_add_player): Call request_additional_side.
(do_copying, do_warranty): Bring up apprpriate help nodes.
(do_reserve, etc): Add prefixarg as argument.
* macconq.c (init_ae): Uncomment-out do_ae_join_game usage.
(update_side_display): Detect additional side and redraw entire
window instead of just one side.
* machelp (help_dialog): Add argument, node to display.
* macwins.c (draw_game): Resize window if more sides in game.
* cherbourg.g, cobra.g, normandy.g (initial-day-part): Set.
* normandy.g (initial-date): Set.
* ww2-bn.g (initial-date, initial-day-part): Remove.
* panzer.g (road-to-edge-chance, edge-road-density, spur-chance,
spur-range): Set.
* stdunit.g (road-to-edge-chance, edge-road-density, spur-chance,
spur-range): Ditto.
(road-chance): Add small "town to elsewhere" chances.
* PROJECTS: Update to reflect above changes.
* TODO: Add mention of cylinder map bug, new side addition bugs,
remove empire engineer terrain add bug.
Fri Sep 1 16:27:13 1995 Stan Shebs <shebs@andros.cygnus.com>
* empire.g: Fill in plane acps, add ability of various planes
to carry nukes, add ability to produce and to detonate nukes,
other small changes.
* future.g: Add world-seen as variant, rename "destroyer" to
"defender", add more supply handling, make the unit type notes
be actual note properties.
* modern.g: Add fishing boat and shipyard types.
* game.dir: Add future, insects, and planets.
Fri Sep 1 04:18:49 1995 Stan Shebs <shebs@cygnus.com>
* kernel/Makefile.in, x11/Makefile.in, curses/Makefile.in
(UNIX_CFLAGS): Remove -DUSE_CONSOLE.
* kernel/Imakefile, x11/Imakefile, curses/Imakefile (DEFINES): Ditto.
* kerncmp.com (COMP_FLAGS), xcmp.com (VMS_DEFS): Remove USE_CONSOLE.
* skelconq.c, imf2x.c, x2imf.c, xshowimf.c, xutil.c (USE_CONSOLE):
Remove default definition.
Thu Aug 31 18:04:06 1995 Stan Shebs <shebs@andros.cygnus.com>
* milsym.imf: Add more symbols, mostly regiment- and brigade-size.
From Dan Koppenheffer <dan@snowwhite.apd.litton.com>.
* imf.dir: Rebuilt.
* DO_FIRST.mac, README.mac: Update to reflect current code,
add mention of CW support.
Remove USE_CONSOLE macro everywhere.
* maccmd.c, macconq.h, macconq.h, macinit.c, cmdline.c, help.c,
init.c, lisp.c, misc.h, read.c (USE_CONSOLE): Remove usages.
* misc.h (Dprintf, DMprintf, DGprintf, etc): Test debug file
pointer before printing.
* util.c (init_debug_to_stdout): New function, inits debug
file pointers.
* cconq.c, xconq.c (main): Call init_debug_to_stdout.
* macwins.c (m_per_row): New global.
(preferred_closeup_size): Fix calculation of space for unit
supply display in closeups.
(draw_unit_closeup): Similarly.
* hacking.texi: Add discussion of command functions.
* actions.c (has_enough_acp): Return FALSE if unit cannot act.
Tue Aug 29 19:17:11 1995 Stan Shebs <shebs@andros.cygnus.com>
* ww2-adv.g: Add some help strings, add toolup parameters, add
different completenesses for different types, add more hit
chances, add consumption of planes in air attacks, increase
numbers of starting units in random setup.
* ww2-eur-42.g: Define some ground units for UK and US, add Afrika
Korps armor unit and others in North Africa, add German sub
fleets, add Soviet Black Sea fleet, add Damascus as base, give
Adana to Turkey, add tooling for various types to various cities.
Mon Aug 28 18:47:58 1995 Stan Shebs <shebs@andros.cygnus.com>
Changes to compile using Metrowerks C.
* macconq.h (SET_PAT_ELT, PAT_ELT): New macros, accessors to
pattern elements.
(AEEventHandleUPP) [THINK_C]: Define as ProcPtr.
(ControlActionUPP) [THINK_C]: Define as ProcPtr.
(SndListHandle) [THINK_C]: Define as Handle.
(SetMenuItemText) [THINK_C]: Define as SetItem.
(InsertMenuItem) [THINK_C]: Define as InsMenuItem.
* macimf.h: Define SET_IMG_PAT and IMG_PAT correctly for
each compiler (actually, each set of headers).
* macconq.c: If __MWERKS__, include Sound.h and define
MWC_INIT_BUG.
(init_ae): Cast function pointers to AEEventHandlerUPP.
(play_movies): Cast sound handles toSndListHandle.
(init_integer_arrays) [MWC_INIT_BUG]: Initialize arrays
of integers that MW C causes to disappear if they are
initialized statically.
(InstallConsole, RemoveConsole, WriteCharsToConsole,
ReadCharsFromConsole, __ttyname) [__MWERKS__]: New functions,
stubs for standard I/O.
* macdraw.c: Use IMG_PAT to get mono pattern from an image.
* macinit.c (animationpatterns): Remove.
(animation_patterns): New global, array of pointer to patterns.
(init_patterns): Fill animation_patterns from resource.
(draw_variant_help): Define using ANSI style.
* macmap.c: Use animation_patterns instead of animationpatterns.
* macmap2.c: Use ControlActionUPP instead of ProcPtr.
* macwins.c: Ditto.
* macmenus.c (sanitize_for_menu): Define using ANSI style.
* config.h: Include <stddef.h>.
* mac.c: Don't include <Values.h>.
* mkunits.c (expand_country): Fix reference to unit type.
* plan.c (build_time): Initialize research_delay.
* side.c (find_next_unit): Remove useless print code.
* ui.c (mags, hhs, ...) [MWC_INIT_BUG]: Don't initialize
global arrays.
* util.c (dirx, diry) [MWC_INIT_BUG]: Ditto.
Fri Aug 25 16:44:24 1995 Stan Shebs <shebs@andros.cygnus.com>
* Version 7.0.1 released.
* NEWS: Update for 7.0.1.
* version.h: Bump to 7.0.1.
* maccmd.c (do_one_dir_move): Use advance_into_cell instead
of setting up a move task.
* xcmd.c (aux_move_dir): Pass unit at location as other unit
argument to advance_into_cell.
Wed Aug 23 18:46:54 1995 Stan Shebs <shebs@andros.cygnus.com>
* actions.c (do_move_actions): Simplify wreck code.
* combat.c (change_terrain_type): New function, includes
change of terrain and possible wreck or vanish of units there.
(damage_terrain): Use it.
* gvar.def (g_min_radius, g_separation_max, g_separation_min):
Rename to g_radius_min, etc.
(g_unit_per_side): Rename to g_units_per_side_max.
* help.c, init.c, mplayer.c: Reflect renamings.
* history.c (statistics_wanted, statistics_dumped): New globals.
(dump_statistics): Use them.
* mkunits.c (good_place): Cache distance after calculating.
* nlang.c (short_side_title_with_adjective): New function.
(short_side_title_plural_p): New function.
(notify_all_of_resignation): New function.
* run.c (compose_actionvectors): Account for unit priority.
(unit_priority): Use action-priority value.
(set_play_rate): Add sanity checks.
(run_environment): Use terrain_visible macro.
(run_economy): Remove unused people limit code, done elsewhere.
(run_people_consumption): Call change_terrain_type if terrain
was exhausted of supplies.
(run_cell_consumption): Ditto.
(change_people_side_around): Decrement viewing coverage of
previous side.
(resign_game): Use notify_all_of_resignation.
(end_the_game): Notify all of game end.
* score.c (side_loses): Give over units and people if
losing to a specific other side.
* macdefs.h (diPrefsStatistics): New dialog item.
* macconq.c (get_files): Don't want statistics by default.
(interp_mac_ui_data): Add more error checking, recognize
want-statistics as a preference property.
(ui_update_state): Delete argument, add binding for
want-statistics.
(set_preferences): Add want-statistics checkbox.
(play_movies): Get unit by looking up id.
macmenus.c (do_menu_command): Update preference file when
sound enabled or disabled.
* planets.g: Fix module name, remove commented-out units.
* starwars.g (acp-to-attack): Don't let cities attack
anything.
(country-radius-min, country-separation-min,
country-separation-max, country-terrain-max): Define so
that "countries" can be the planets in planets.g.
(random-starwars-town-names): Define, use to name towns
and cities.
Mon Aug 21 19:11:27 1995 Stan Shebs <shebs@andros.cygnus.com>
* combat.c (maybe_hit_unit): Pass unit id to schedule_movie.
* xconq.c (play_movies): Get unit for blast movies by looking
up id recorded with movie, instead of casting to pointer.
* starwars.g: Fix various bogosities, add detonation for
death stars.
(* planets.g: Replace with multi-small-planet version.)
* insects.g: New file, update of old game featuring
battling insects.
Wed Aug 16 19:27:39 1995 Stan Shebs <shebs@andros.cygnus.com>
* Xconq 7.0 released.
|