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
|
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.
|