1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203
|
<!DOCTYPE html>
<html lang="en">
<!--This file is automatically generated. Do not edit!-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<title>Exult - Documentation</title>
<style>
body {
font-family: helvetica, sans-serif;
font-size: medium;
text-align: justify;
line-height: 1.4em;
background-color: #cccccc;
color: #333366;
background-image: url("images/back.gif");
}
:link { color: #666699; }
:visited { color: #669966; }
:link:active :visited:active { color: #ffcc33; }
span.highlight { color: maroon; }
tr.highlight { color: #62186f; }
.non-selectable-comment {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
table.borderless {
border-spacing: 0;
border-width: 0;
}
table.borderless th, table.borderless td { padding: 0; }
table.key_table {
border-spacing: 2px;
border-width: 0;
}
table.key_table th { padding: 0; }
table.key_table td {
padding: 0;
vertical-align: top;
white-space: nowrap;
}
table.site-width { width: 75%; }
table.wide-table { width: 80%; }
table.narrow-table { width: 20%; }
td.blank-column { width: 0.75em; }
*.full-width { width: 100%; }
th.left-aligned, td.left-aligned { text-align: left; }
th.left-aligned > *, td.left-aligned > * {
margin-left: 0;
margin-right: auto;
}
th.centered, td.centered { text-align: center; }
th.centered > *, td.centered > * {
margin-left: auto;
margin-right: auto;
}
</style>
</head>
<body><div align="center"><table class="borderless site-width">
<tr><td class="centered"><table class="borderless full-width">
<tr><td class="centered"><img src="images/exult_logo_nice.svg" width="181" height="127" alt="Exult Logo"></td></tr>
<tr><td> </td></tr>
<tr><td> </td></tr>
</table></td></tr>
<tr><td>
<h1>Exult - Documentation
</h1>
<p>last changed:
16 April 2025 (GMT)</p>
<hr>
<p> The latest version of this document can be found
<a href="https://exult.info/docs.php">here</a></p>
<br><p><a href="#Introduction">1. Introduction</a><br><a href="#exult_version">1.1. Exult Version</a><br><a href="#whatis_exult">1.2. What is <em>Exult</em>?</a><br><a href="#terms">1.3. Terms we use in regard to Exult and Ultima VII</a><br></p>
<p><a href="#Configurations">2. Configurations</a><br><a href="#installation">2.1. Installation</a><br><a href="#exult_config_location">2.2. Location of exult.cfg</a><br><a href="#default_macos">2.3. Default game folders on macOS</a><br><a href="#default_nix">2.4. Default game folders on Linux</a><br><a href="#command_line">2.5. Command line options</a><br><a href="#error_log">2.6. Error Log</a><br></p>
<p><a href="#Exult-Setup-and-Game-Menu">3. Exult Setup and Game Menu</a><br><a href="#open_menu">3.1. Access to the <em>Exult</em> Setup and Game menu</a><br><a href="#savemenu">3.2. Load/Save Game</a><br><a href="#video_gump">3.3. Video Options</a><br><a href="#audio_gump">3.4. Audio Options</a><br><a href="#advanced_midi_gump">3.5. Advanced Audio Settings</a><br><a href="#volume_mixer_gump">3.6. Volume Mixer</a><br><a href="#game_engine_gump">3.7. Game Engine</a><br><a href="#game_display_gump">3.8. Game Display</a><br><a href="#game_input_gump">3.9. Game Input</a><br><a href="#quit_game">3.10. Quit</a><br></p>
<p><a href="#Audio">4. Audio</a><br><a href="#music">4.1. Music</a><br><a href="#midi_music">4.2. MIDI Music</a><br><a href="#limits_music">4.3. Abilities and limitations of the MIDI music engine</a><br><a href="#win32_device">4.4. Windows MIDI Mapper</a><br><a href="#coremidi_device">4.5. macOS CoreMidi device ID</a><br><a href="#digital_music">4.6. Digital Music</a><br><a href="#wave_sfx">4.7. Digital Wave Sound Effects</a><br><a href="#all_in_one_pack">4.8. All-in-One Audio Data pack and installers</a><br><a href="#digital_music_install">4.9. Installation of the digital music packs</a><br><a href="#wave_sfx_install">4.10. Installation of the digital wave sound effects</a><br><a href="#speech">4.11. Speech</a><br><a href="#audio_toggle">4.12. Toggle Audio</a><br><a href="#linux_alsa">4.13. Linux and Audio</a><br></p>
<p><a href="#Video">5. Video</a><br><a href="#resolution">5.1. Resolution</a><br><a href="#video_fill_modes">5.2. Fill modes</a><br><a href="#res_cheating">5.3. Higher resolution is cheating</a><br><a href="#scaler">5.4. Scaler</a><br></p>
<p><a href="#Movement-and-Keys">6. Movement and Keys</a><br><a href="#movement">6.1. Movement</a><br><a href="#exult_keys">6.2. Keyboard commands</a><br><a href="#exult_cheats">6.3. Cheat keys</a><br><a href="#studio_keys">6.4. Map Editing keys</a><br></p>
<p><a href="#ShortcutBar,-Notebook-and-Screenshots">7. ShortcutBar, Notebook and Screenshots</a><br><a href="#shortcutbar">7.1. ShortcutBar for single or double click actions</a><br><a href="#notebook">7.2. Using the Notebook</a><br><a href="#autonotebook">7.3. The automatic Notebook</a><br><a href="#screenshots">7.4. Screenshots</a><br></p>
<p><a href="#Mods-and-Patches">8. Mods and Patches</a><br><a href="#mods_intro">8.1. Introduction to Mods and Patches</a><br><a href="#mods_install">8.2. Installing Mods</a><br><a href="#patch_install">8.3. Installing Patches</a><br><a href="#mods_path">8.4. Adapting the location of Mods and Patches</a><br><a href="#mods_savegames_location">8.5. Where to find the savegames of modded games</a><br><a href="#mods_savegames">8.6. Exchanging Savegames between original games and Mods</a><br><a href="#mods_case_sensitivity">8.7. Problems with case sensitive file systems (e.g. Linux)</a><br></p>
<p><a href="#iOS-Guide">9. iOS Guide</a><br><a href="#ios_port">9.1. The port to iOS</a><br><a href="#ios_install">9.2. Installing Exult on your iPhone/iPad</a><br><a href="#ios_games">9.3. Installing the games on your iPhone/iPad</a><br><a href="#ios_data">9.4. Installing sfx and digital music</a><br><a href="#ios_controls">9.5. iOS controls</a><br><a href="#ios_autosave">9.6. iOS automatic saves</a><br></p>
<p><a href="#Android-Guide">10. Android Guide</a><br><a href="#android_port">10.1. The port to Android</a><br><a href="#android_install">10.2. Installing Exult on your Android</a><br><a href="#android_launcher">10.3. The Exult Launcher on Android</a><br><a href="#android_games">10.4. Installing the games on your Android</a><br><a href="#android_mods">10.5. Installing mods on Android</a><br><a href="#android_data">10.6. Installing sfx, digital music, MT32 ROMs and SoundFonts</a><br><a href="#android_controls">10.7. Android controls</a><br><a href="#android_autosave">10.8. Android automatic saves</a><br><a href="#android_file_storage">10.9. Android File Storage</a><br></p>
<p><a href="#The-exult.cfg-file">11. The exult.cfg file</a><br><a href="#exult_config">11.1. Settings in exult.cfg</a><br><a href="#path_config">11.2. Path-Settings</a><br><a href="#path_config_nt5">11.3. Path-Settings for Windows</a><br><a href="#path_config_osx">11.4. Path-Settings for macOS</a><br><a href="#path_config_nix">11.5. Path-Settings for Linux/Unix systems</a><br><a href="#advanced_config">11.6. Advanced Configuration: Using both the original and the Add-Ons</a><br></p>
<p><a href="#Installing-the-original-Ultima-VII-games-for-use-with-Exult">12. Installing the original Ultima VII games for use with Exult</a><br><a href="#gog_windows">12.1. Using GOG.com's installer for Windows</a><br><a href="#gog_mac">12.2. Using GOG.com's installer for macOS</a><br><a href="#cdrom_install">12.3. Installing the CD-ROM versions of Ultima VII</a><br><a href="#dosbox_floppy">12.4. Installing the floppy disks of BG/SI using DOSBox</a><br><a href="#dosbox_addons">12.5. Installing the floppy disks of the Add-Ons FoV/SS using DOSBox</a><br><a href="#bg_manual">12.6. Manual installation of the BG floppy disks</a><br><a href="#si_manual">12.7. Manual installation of the SI floppy disks</a><br><a href="#win32_floppy">12.8. Installing the floppy disks of BG/SI on Windows</a><br><a href="#win32_addons">12.9. Installing the floppy disks of the Add-Ons FoV/SS on Windows</a><br><a href="#files_note">12.10. Exult only needs one folder</a><br></p>
<p><a href="#Credits-and-Contact">13. Credits and Contact</a><br><a href="#thanks">13.1. Thanks</a><br><a href="#contact">13.2. Contacting us</a><br></p>
<p><a href="#Changes-to-the-Documentation">14. Changes to the Documentation</a><br><a href="#15042025">14.1. - 16 April 2025</a><br><a href="#20032025">14.2. - 20 March 2025</a><br><a href="#19012025">14.3. - 19 January 2025</a><br><a href="#06012025">14.4. - 06 January 2025</a><br><a href="#03072024">14.5. - 03 July 2024</a><br><a href="#25042024">14.6. - 25 April 2024</a><br><a href="#23042024">14.7. - 23 April 2024</a><br><a href="#older_changes">14.8. older changes</a><br></p>
<hr class="full-width">
<table class="full-width">
<tr><th class="left-aligned"><a id="Introduction">1. Introduction</a></th></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="exult_version">1.1. Exult Version</a></strong></td></tr>
<tr><td>
<p>
This documentation is for <em>Exult</em> v1.12.0.
If you have another <em>Exult</em> version, its documentation can be found where you installed the release.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="whatis_exult">1.2. What is <em>Exult</em>?</a></strong></td></tr>
<tr><td>
<p>
Ultima VII, an RPG from the early 1990's, still has a huge following. But,
being a DOS game with a very nonstandard memory manager, it is difficult
to run it on the latest computers. <em>Exult</em> is a project that created
an Ultima VII game engine that runs on modern operating systems, capable of
using the data and graphics files that come with the game.
</p>
<p>
<em>Exult</em> is written in C++ and runs on, at least, Linux, macOS and Windows
using the SDL2 library to make porting to other platforms relatively easy.
The current version supports all of "Ultima VII: The Black Gate"
and "Ultima VII - Part 2: The Serpent Isle", allowing you to
finish both games. This is only possible due to the work done
by other fans who have decoded the various Ultima VII data files,
especially Gary Thompson, Maxim Shatskih, Jakob Schonberg, and Wouter Dijkslag.
</p>
<p>
<em>Exult</em> aims to let those people who own Ultima VII (copyright 1993)
play the game on modern hardware, in as close to (or perhaps even surpassing)
its original splendor as is possible. You need to <strong>own</strong>
"Ultima VII: The Black Gate" and/or
"Ultima VII - Part 2: The Serpent Isle" and optionally
the add-ons (not required to run) in order to use <em>Exult</em>,
and we encourage you to buy a legal copy.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="terms">1.3. Terms we use in regard to Exult and Ultima VII</a></strong></td></tr>
<tr><td>
<p>
We are using many terms in this documentation, the FAQ and other documentation
files that people may have difficulties to understand. Here we will try to give
some explanations.
</p>
<ul>
<li>
<strong>BG</strong>, <strong>SI</strong>, <strong>FoV</strong>
or <strong>SS</strong>:<br>
we refer to "Ultima VII: The Black Gate" as BG and to
"Ultima VII - Part 2: The Serpent Isle"
as SI. The add-ons "Forge of Virtue" and "Silver Seed" are
called FoV and SS.</li>
<li>
<strong>eggs</strong>:<br>
these are trip-wires that can cause monsters to spawn, execute scripts, play
music, change weather, trigger traps or teleport when you get near them.</li>
<li>
<strong>flex files</strong>:<br>
also known as flexes, these are used by the original to store the data files.
Also when you choose to not use compressed save games (see save_compression_level in
<a href="#exult_config">11.1.</a>) our savegames are also 'flexed'.</li>
<li>
<strong>gumps</strong>:<br>
the windows used in the game interface for containers, characters, menus, etc..</li>
<li>
<strong>paperdoll</strong>:<br>
when pressing '<span class="highlight">i</span>' you get the inventory display. It's the picture of your
characters body (or the bodies of your party members) onto which you can drag all
kinds of equipment. The way this is displayed in SI is commonly called
paperdoll. We integrated this for BG as well.
(see <a href="faq.html#improvements">FAQ</a>).</li>
<li>
<strong>shapes</strong>:<br>
shape files are the format used for storage of all graphics elements (from UI buttons
to terrain features) of the games <em>Exult</em> supports. Shapes may contain one or more
frames (a frame is a single image).</li>
<li>
<strong>snapshot</strong>:<br>
see <a href="faq.html#whatis_snapshot">FAQ</a>.<br>
Please note that our documentation usually refers to the latest snapshot.</li>
<li>
<strong>usecode</strong>:<br>
that's the scripting language that drives all of Ultima VII (conversations, objects...).</li>
<li>
<strong>Exult data folder</strong>:<br>
that's the folder where <em>Exult</em> stores its data files (exult.flx, exult_bg.flx and
exult_si.flx).</li>
<li>
<strong>gamename</strong><br>
name of games that are set in exult.cfg's <game>, <em>Exult</em> knows by default
the gamenames <b><i><span style="font-size: larger">blackgate</span></i></b>, <b><i><span style="font-size: larger">forgeofvirtue</span></i></b>, <b><i><span style="font-size: larger">serpentisle</span></i></b>,
<b><i><span style="font-size: larger">silverseed</span></i></b> and <b><i><span style="font-size: larger">serpentbeta</span></i></b>.</li>
</ul>
</td></tr>
</table>
<hr class="full-width">
<table class="full-width">
<tr><th class="left-aligned"><a id="Configurations">2. Configurations</a></th></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="installation">2.1. Installation</a></strong></td></tr>
<tr><td>
<ul>
<li>First you need to get Ultima VII. Either you own it already, or
you buy it somewhere.</li>
<li>You need an installed version of Ultima VII to run <em>Exult</em> with.
At <a href="#Installing-the-original-Ultima-VII-games-for-use-with-Exult">12. Installing the original Ultima VII games for use with Exult</a>
we have a guide on how to install the original games or use the version offered by GOG.com.</li>
<li>Download <em>Exult</em> from our
<a href="https://exult.info/download.php">download page</a>
and install it. The Windows version comes with an installer that asks for the
location of both BG and SI. If you entered the correct location or you are using the default
games locations on Linux systems and macOS the next two steps are not necessary.</li>
<li>Now run <strong>exult</strong> (<strong>exult.exe</strong> on Windows)
and quit it immediately.</li>
<li>Edit the configuration file with a text editor (e.g. on Windows use Notepad)
and enter the correct paths for the game folders - see <a href="#exult_config">11.1.</a>
for details</li>
<li>Run <strong>exult</strong> and enjoy the game :-)</li>
</ul>
<p>
<strong>Word of advice:</strong> Don't mix the files from BG and SI.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="exult_config_location">2.2. Location of exult.cfg</a></strong></td></tr>
<tr><td>
<p>
Most of the options in <em>Exult</em> can be changed from the <strong>Setup</strong>
menu when you run <em>Exult</em> or via the Game Options menu. <em>Exult</em> stores these
changes in a configuration file. Except for changing paths to the games you
shouldn't need to edit the file. Very few options need manual editing.<br>
However if you need to edit the configuration file, it is extensively explained
in <a href="#The-exult.cfg-file">11. The exult.cfg file</a>.
</p>
<p>
The location of the file varies depending on the Operating System and in the
case of Windows OS it also depends on the version of Windows.
</p>
<ul>
<li>On Linux systems you can expect to find it in <span class="highlight"><kbd>$HOME/.exult.cfg</kbd></span>, or
in <span class="highlight"><kbd>$HOME/.var/apps/info.exult.exult/config/exult.cfg</kbd></span> if using the
<a href="https://flathub.org/apps/info.exult.exult">Flatpak package</a>
</li>
<li>macOS saves it to <span class="highlight"><kbd>~/Library/Preferences/exult.cfg</kbd></span>
</li>
<li>Windows (7, 8, 10, 11) save exult.cfg to <span class="highlight"><kbd>LOCAL_APPDATA\Exult</kbd></span>,
but on these this translates to <span class="highlight"><kbd>C:\Users\YourUsername\AppData\Local\Exult</kbd></span>
</li>
<li>On all supported Windows versions you can quickly access this folder by executing<br>
<span class="highlight"><kbd>shell:Local AppData\Exult</kbd></span><br>
in the 'Quick Access' of Explorer.</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="default_macos">2.3. Default game folders on macOS</a></strong></td></tr>
<tr><td>
<p>
On macOS <em>Exult</em> uses a couple of different folders to follow Apple's guidelines:
</p>
<p>
Note that on macOS <em>Exult</em> looks in a default folder (<span class="highlight"><kbd>/Library/Application Support/Exult/data</kbd></span>)
for <em>Exult</em>'s data and the files of the games. On purpose this folder is not in the User-only
space, so other users on the same mac can play the games and use the Exult.app.<br>
<strong>But</strong> you will need to follow our gamename standard when you name the game
folders, see <a href="#terms">1.3. Terms we use in regard to Exult and Ultima VII</a>, otherwise <em>Exult</em> will not find them there.<br>
Another specialty on macOS is that the Exult.app comes bundled with the <em>Exult</em> data, so
<em>Exult</em> will first use the data in the Exult.app and then use the data in the default folder
or the location written down in exult.cfg's <data_path>.<br>
This means that you can copy the sfx files and the digital music folder into the app bundle
(<span class="highlight"><kbd>Exult.app/Contents/Resources/data</kbd></span>) and <em>Exult</em> will automatically use these.
</p>
<p>
Example: User named <strong>FooBar</strong> on <strong>macOS 14</strong>. BG is installed to
<span class="highlight"><kbd>/Library/Application Support/Exult/blackgate</kbd></span> and SI is installed to
<span class="highlight"><kbd>/Library/Application Support/Exult/serpentisle</kbd></span>.<br>
The app Exult.app is saved to <span class="highlight"><kbd>/Applications</kbd></span>. When you run <em>Exult</em> it will automatically
recognize that BG and SI are installed. You do not need to edit exult.cfg, which is saved
to <span class="highlight"><kbd>/Users/FooBar/Library/Preferences/exult.cfg</kbd></span>.<br>
When you save a game in BG the savegame will be saved to
<span class="highlight"><kbd>/Users/FooBar/Library/Application Support/exult/blackgate/</kbd></span>,
for SI to <span class="highlight"><kbd>Users/FooBar/Library/Application Support/exult/serpentisle/</kbd></span>.<br>
If you install for example the keyring mod, you copy the contents of the Keyring.zip to
<span class="highlight"><kbd>/Library/Application Support/Exult/blackgate/mods</kbd></span>. When you save a game with the
Keyring mod, this savegame will be found in
<span class="highlight"><kbd>/Users/FooBar/Library/Application Support/exult/blackgate/mods/keyring/</kbd></span>.
</p>
<p>
Please be aware of the difference between <span class="highlight"><kbd>/Library/...</kbd></span> and <span class="highlight"><kbd>~/Library/...</kbd></span>.<br>
In the root of your macOS system hard drive is the folder <span class="highlight"><kbd>/Library</kbd></span>. The folder
<span class="highlight"><kbd>~/Library</kbd></span> is a sub folder of your home folder. If your username is foobar then the folder
<span class="highlight"><kbd>~/Library</kbd></span> is located at <span class="highlight"><kbd>/Users/foobar/Library</kbd></span> on your hard drive.<br>
On macOS the folder <span class="highlight"><kbd>~/Library</kbd></span> is hidden by default. To access it open Finder,
click on the menu item 'Go' while pressing '<span class="highlight">Option/Alt</span>' and 'Library' will be an option
to click on.
</p>
<p>
If you followed all the instructions and <em>Exult</em> still won't recognize the games, you can try
deleting exult.cfg in <span class="highlight"><kbd>~/Library/Preferences</kbd></span> and then start <em>Exult</em> to generate
a new cfg file.
</p>
<p>
At <a href="#path_config_osx">11.4. Path-Settings for macOS</a> you can see an exult.cfg example with the macOS defaults.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="default_nix">2.4. Default game folders on Linux</a></strong></td></tr>
<tr><td>
<p>
As on macOS, <em>Exult</em> uses a default path on Linux systems for its data folder and the game files.
Unless you configure custom paths in <span class="highlight"><kbd>exult.cfg</kbd></span>, <em>Exult</em> will automatically look for
the game data files in <span class="highlight"><kbd>/usr/local/share/exult</kbd></span>, or in the case of the the
<a href="https://flathub.org/apps/info.exult.exult">Flatpak package</a>, in
<span class="highlight"><kbd>$HOME/.var/app/info.exult.exult/data/</kbd></span>.<br>
<strong>But</strong> you will need to follow our gamename standard when you name the game
folders, see <a href="#terms">1.3. Terms we use in regard to Exult and Ultima VII</a>, otherwise <em>Exult</em> will not find them there.
</p>
<p>
Example: User named <strong>FooBar</strong> on <strong>Ubuntu</strong>. BG is installed to
<span class="highlight"><kbd>/usr/local/share/exult/blackgate</kbd></span> and SI is installed to
<span class="highlight"><kbd>/usr/local/share/exult/serpentisle</kbd></span>.
When you run <em>Exult</em> it will automatically recognize that BG and SI are installed. You do not
need to edit exult.cfg, which is saved to <span class="highlight"><kbd>$HOME/.exult.cfg</kbd></span>.<br>
When you save a game in BG the savegame will be saved to <span class="highlight"><kbd>$HOME/.exult/blackgate/</kbd></span>,
for SI to <span class="highlight"><kbd>$HOME/.exult/serpentisle/</kbd></span>.<br>
If you install for example the keyring mod, you copy the contents of the Keyring.zip to
<span class="highlight"><kbd>/usr/local/share/Exult/blackgate/mods</kbd></span>. When you save a game with the Keyring mod,
this savegame will be found in <span class="highlight"><kbd>$HOME/.exult/blackgate/mods/keyring/</kbd></span>.
</p>
<p>
At <a href="#path_config_nix">11.5. Path-Settings for Linux/Unix systems</a> you can see an exult.cfg example with the Linux defaults.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="command_line">2.5. Command line options</a></strong></td></tr>
<tr><td>
<p>
<em>Exult</em> offers some command line options:
</p>
<ul>
<li>'<span class="highlight">-h</span>' or '<span class="highlight">--help</span>'<br>
Shows all the command line parameters in stderr (stderr.txt on Windows systems).</li>
<li>'<span class="highlight">-v</span>' or '<span class="highlight">--version</span>'<br>
Shows version information in stderr.</li>
<li>'<span class="highlight">-c configfile</span>'<br>
Specify alternate config file (relative or absolute paths work).</li>
<li>'<span class="highlight">-p</span>'<br>
Portable option for Windows only. <em>Exult</em> will read cfg file from the folder it got
installed to (or make one) and will assume the games to be in the gamename subfolders
(see <a href="#terms">1.3.</a>).<br>
For example if <em>Exult</em> got installed to <span class="highlight"><kbd>E:\Exult</kbd></span>, a BG game will be expected
to be in <span class="highlight"><kbd>E:\Exult\blackgate</kbd></span>. Savegames will also be saved in these folders.<br>
Be careful that you have actually writing permissions in the <em>Exult</em> folder or
this will fail.</li>
<li>'<span class="highlight">--bg</span>'<br>
Starts the game with the Black Gate menu (prefers original game).</li>
<li>'<span class="highlight">--fov</span>'<br>
Starts the game with the menu of the Black Gate with Forge of Virtue expansion.
Only useful if you have FoV added as described at <a href="#advanced_config">11.6.</a>,
otherwise it will just work like the command '<span class="highlight">--bg</span>'.</li>
<li>'<span class="highlight">--si</span>'<br>
Starts the game with the Serpent Isle menu (prefers original game).</li>
<li>'<span class="highlight">--ss</span>'<br>
Starts the game with the menu of the Serpent Isle with Silver Seed expansion.
Only useful if you have SS added as described at <a href="#advanced_config">11.6.</a>,
otherwise it will just work like the command '<span class="highlight">--si</span>'.</li>
<li>'<span class="highlight">--sib</span>'<br>
Starts the game with the menu of the Serpent Isle beta version.</li>
<li>'<span class="highlight">--nomenu</span>'<br>
Skips game menu.</li>
<li>'<span class="highlight">--game gamename</span>'<br>
Loads a game specified in exult.cfg when there are other games made
with <em>Exult Studio</em>.</li>
<li>'<span class="highlight">--mod modname</span>'<br>
Must be used together with '<span class="highlight">--bg</span>', '<span class="highlight">--si</span>', '<span class="highlight">--fov</span>',
'<span class="highlight">--ss</span>', '<span class="highlight">--sib</span>' or '<span class="highlight">--game gamename</span>'; runs the specified
game using the mod with title equal to '<span class="highlight">modname</span>'. '<span class="highlight">modname</span>' is the
name of the mod cfg file (e.g. keyring.cfg means 'modname' is 'keyring'.</li>
<li>'<span class="highlight">--buildmap x</span>'<br>
x = 0 shows all roofs, x = 2 pops them all.<br>
Makes 144 2048x2048 pixels screenshots of the game map which you will need to piece
together. The screenshots are numbered according to the
<a href="exult_studio.html#ifix_iregs">ifix/ireg map</a>.<br>
By default the screenshots are PNG files. In the unlikely case that <em>Exult</em> was compiled
without libpng support, buildmap will output PCX files.<br>
<em>Exult</em> is required to be run in windowed mode and you get the best map if you
started a new game before you build the map.<br>
You need to specify a game, either by '<span class="highlight">--bg</span>' (or '<span class="highlight">--si</span>',
'<span class="highlight">--fov</span>', '<span class="highlight">--ss</span>', '<span class="highlight">--sib</span>') or with the
'<span class="highlight">--game</span>'/'<span class="highlight">--mod</span>' option.</li>
<li>'<span class="highlight">--mapnum</span>'<br>
This must be used with '<span class="highlight">--buildmap</span>' to select a map in multimap games or mods.</li>
<li>'<span class="highlight">--nocrc</span>'<br>
<em>Exult</em> doesn't start when the crc of the
exult*.flx files in the data folder isn't the same it got compiled with.
This parameter lets the game start nevertheless. Don't try this if you
don't know what you are doing as it is likely to crash <em>Exult</em>.</li>
<li>'<span class="highlight">--verify-files</span>'<br>
Verifies that the files in static dir are not corrupt.<br>
Only valid if used together with '<span class="highlight">--bg</span>', '<span class="highlight">--si</span>', '<span class="highlight">--fov</span>',
'<span class="highlight">--ss</span>', '<span class="highlight">--sib</span>' or '<span class="highlight">--game gamename</span>'; you cannot specify a mod with this flag.</li>
<li>'<span class="highlight">--edit</span>'<br>
Start in map-edit mode. This will also load <em>Exult Studio</em> when the game is started.</li>
<li>'<span class="highlight">--write-xml</span>'<br>
Write <span class="highlight"><kbd>patch/exultgame.xml</kbd></span>. Only useful for game editing.</li>
<li>'<span class="highlight">--reset-video</span>'<br>
resets <em>Exult</em>'s video settings to the default values. Very helpful when <em>Exult</em>
isn't playable anymore because of wrong settings.</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="error_log">2.6. Error Log</a></strong></td></tr>
<tr><td>
<ul>
<li>
<strong>Windows:</strong><br>
<em>Exult</em> generates the files <span class="highlight"><kbd>stdout.txt</kbd></span> and <span class="highlight"><kbd>stderr.txt</kbd></span>.
These may give you some idea of what is going on
under the hood. When <em>Exult</em> suddenly quits, sometimes
these files can help.<br>
You can find these files in the folder where exult.cfg is
located (see <a href="#exult_config_location">2.2.</a>)</li>
<li>
<strong>Linux/UNIX:</strong><br>
the above mentioned logs are shown in the console from which <em>Exult</em>
is started.<br>
<span class="highlight"><kbd>./exult >&$HOME/exult_log.txt</kbd></span><br>
will send both stderr and stdout to the file named <span class="highlight"><kbd>exult_log.txt</kbd></span>
in your <span class="highlight"><kbd>$HOME</kbd></span> folder.</li>
<li>
<strong>macOS:</strong><br>
Similar to Linux, you need to start <em>Exult</em> from the Terminal.app to see the
logs or redirect them to a text file. Use <br>
<span class="highlight"><kbd>/Applications/Exult.app/Contents/MacOS/exult >&$HOME/exult_log.txt</kbd></span><br>
to find the file named <span class="highlight"><kbd>exult_log.txt</kbd></span> in your <span class="highlight"><kbd>$HOME</kbd></span> folder.</li>
</ul>
</td></tr>
</table>
<hr class="full-width">
<table class="full-width">
<tr><th class="left-aligned"><a id="Exult-Setup-and-Game-Menu">3. Exult Setup and Game Menu</a></th></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="open_menu">3.1. Access to the <em>Exult</em> Setup and Game menu</a></strong></td></tr>
<tr><td>
<p>
The <em>Exult</em> Setup and Game menu share mostly the same options, except for
the option to 'Save/Load games' and to 'Quit' the game, which are only available
in the Game menu once you loaded a game.
</p>
<p>
<em>Exult</em> Setup can only be opened on the <em>Exult</em> menu by selecting the 'Setup' option.<br>
And you can access the Game menu either by pressing the disk icon in the Avatar's
inventory screen or by pressing '<span class="highlight">ESC</span>'.<br>
The following options are available for the <em>Exult</em> Setup menu and the Game menu:
</p>
<p>
<img alt="the Game menu" src="images/docs01.png">
</p>
<p>
There is a HELP button on most options that will open your default browser at the
online version of this documentation.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="savemenu">3.2. Load/Save Game</a></strong></td></tr>
<tr><td>
<p>
This one is pretty straightforward. You can load and save a game, delete a game and
view some information of a save game on the right side (a screenshot and some stats).<br>
If you have a wheel mouse you can scroll one line up/down by using the wheel. Pressing
'<span class="highlight">Alt</span>' while using the wheel scrolls by pages.<br>
Pressing <strong>Cancel</strong> exits the Load/Save options.<br>
This is only available in game through the Game menu.
</p>
<p>
<img alt="saving/loading a game" src="images/docs02.png">
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="video_gump">3.3. Video Options</a></strong></td></tr>
<tr><td>
<p>
In this option screen you are able to determine how <em>Exult</em> displays the game.
</p>
<p>
<img alt="Video Options" src="images/docs03.png">
</p>
<ul>
<li>
<strong>Full Screen</strong><br>
enable or disable running <em>Exult</em> in full screen.</li>
<li>
<strong>Window Size</strong><br>
lets you choose between various resolutions determined by the fullscreen resolutions
your system reports as supported. If you want other resolutions edit
exult.cfg outlined in <a href="#exult_config">11.1. Settings in exult.cfg</a>.</li>
<li>
<strong>Scaler</strong><br>
lets you choose your favorite scaling engine. Also look at <a href="#scaler">5.4. Scaler</a>
for an explanation.</li>
<li>
<strong>Scaling</strong><br>
choose between 1x up to 8x. Further explanation in <a href="#scaler">5.4. Scaler</a>.<br>
For scalers that have a default only scaling (e.g. 2xSaI) this option will be hidden.</li>
<li>
<strong>Game Area</strong><br>
the size of your game viewing area in the <em>Exult</em> window. You can choose between the
original default resolution of '320x200' or 'Auto' which tries to set the best viewing
area for the chosen resolution.</li>
<li>
<strong>Fill Quality</strong><br>
the scaler used by the different fill modes. You can chose between Point and Bilinear.</li>
<li>
<strong>Fill Mode</strong><br>
Different modes on how to display the Game Area in the <em>Exult</em> window size.
Please see <a href="#video_fill_modes">5.2. Fill modes</a>.</li>
<li>
<strong>AR Correction</strong><br>
Aspect Ratio Correction for the fill modes 'Fit' and 'Centre'.</li>
<li>
<strong>Same setting for window and fullscreen</strong><br>
When you disable this you can select different settings for window and fullscreen mode by changing
the settings while being in either mode.</li>
<li>
<strong>APPLY/HELP/CANCEL</strong><br>
Checks whether your changes can cause problems, applies your changes and gives you a countdown
to confirm that the new settings are working correctly. If you don't want to apply your changes,
click CANCEL.</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="audio_gump">3.4. Audio Options</a></strong></td></tr>
<tr><td>
<p>
Look at <a href="#Audio">4. Audio</a> to see explanation on the settings.
</p>
<p>
<img alt="Audio Options" src="images/docs04.png">
</p>
<ul>
<li>
<strong>Volume Mixer</strong><br>
opens our Volume Mixer, see see <a href="#volume_mixer_gump">3.6.</a>.</li>
<li>
<strong>Audio</strong><br>
Enable or disable all Audio in <em>Exult</em>.</li>
<li>
<strong>sample rate</strong><br>
changes the sample rate between 11025 and 48000.</li>
<li>
<strong>speaker type</strong><br>
toggle between mono and stereo.</li>
<li>
<strong>Music</strong><br>
Enable or disable music.</li>
<li>
<strong>looping</strong><br>
Toggles several ways the music can loop, see <a href="#music">4.1. Music</a>.</li>
<li>
<strong>digital music</strong><br>
Enables/disables Digital Music.</li>
<li>
<strong>MIDI driver</strong><br>
choose between different drivers for MIDI, see <a href="#midi_music">4.2.</a>.</li>
<li>
<strong>device type</strong><br>
choose between different device types for MIDI music, see <a href="#midi_music">4.2.</a>.</li>
<li>
<strong>effects</strong><br>
alters the way the MIDI is played. Choose between Reverb, Chorus,
Both (Reverb and Chorus) or disable it.</li>
<li>
<strong>SFX</strong><br>
Enable or disable digital sound effects.</li>
<li>
<strong>Pack</strong><br>
choose between our standard SFX packs, Roland MT32 and Soundblaster, see <a href="#wave_sfx">4.7.</a>.
This option is not available in the <em>Exult</em> Setup.</li>
<li>
<strong>Speech</strong><br>
Options on whether you hear the voices of the Guardian or the Great Earth Serpent, also toggles subtitles.</li>
<li>
<strong>APPLY/HELP/CANCEL</strong><br>
Applies your changes without closing the Audio Options. If you don't want to apply your changes,
click CANCEL.</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="advanced_midi_gump">3.5. Advanced Audio Settings</a></strong></td></tr>
<tr><td>
<p>
Some MIDI drivers additional settings that can be accessed via the button
<strong>SETTINGS</strong> of the Audio Options.<br>
Most allow setting the MIDI conversion, reverb and chorus, but for some drivers that are
able to make use of custom soundfonts, are able to select one.
</p>
<p>
<img alt="Advanced Audio Settings Windows" src="images/docs10.png">
</p>
<p>
FluidSynth allows stacking soundfonts (see <a href="#midi_music">4.2. MIDI Music</a>) and you can
select a different one for each of the 10 slots.
</p>
<p>
<img alt="Advanced Audio Settings FluidSynth" src="images/docs11.png">
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="volume_mixer_gump">3.6. Volume Mixer</a></strong></td></tr>
<tr><td>
<p>
Our Volume Mixer allows changing the volume of music, sfx and speech independently.
Our different midi drivers each save their own volume.
</p>
<p>
<img alt="Volume Mixer" src="images/docs08.png">
</p>
<p>
When you have enabled digital music <strong>and</strong> and another midi driver you can set
both volumes for music.
</p>
<p>
<img alt="Volume Mixer" src="images/docs09.png">
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="game_engine_gump">3.7. Game Engine</a></strong></td></tr>
<tr><td>
<p>
<img alt="Game Engine" src="images/docs05.png">
</p>
<ul>
<li>
<strong>Take automatic Notes</strong><br>
Toggle writing automatic notes to the notebook - see <a href="#autonotebook">7.3. The automatic Notebook</a>.</li>
<li>
<strong>Gumps pause games</strong><br>
In the original the game got paused when Gumps were shown. Enable/disable it.</li>
<li>
<strong>Alternative drag and drop</strong><br>
When enabled dropping a stack of items (coins, bolts...) will drop the whole stack without
asking for confirmation of the amount of items to drop. Hold '<span class="highlight">Ctrl</span>' while dropping
if you need to split a stack.</li>
<li>
<strong>Speed</strong><br>
if <em>Exult</em> seems too fast lower this setting. If it seems to sluggish raising
this setting may help.</li>
<li>
<strong>Combat options</strong><br>
As many people think that the U7 combat engine is far too easy, too hard or
just can't stand the real-time-combat we put in some options to make combat more
interesting:</li>
<li>
<strong>Combat Show Hits</strong><br>
With this enabled you can see the hit points of NPCs in brackets after their name when
you left-click on them.</li>
<li>
<strong>Combat paused with Space</strong><br>
choose between Original and SpacePauses. SpacePauses gives you a little more control of
combat. When you hit space the game pauses and you can direct a party member by
right-clicking, then clicking on a target to attack. Or change weapons, choose a
favorite spell.</li>
<li>
<strong>Combat Charmed difficulty</strong><br>
choose between Normal and Hard. With Normal the Avatar can't be charmed. The original game allowed
him to be charmed though that only highlighted him as charmed and the charmed status icon showed
but you could control him as usual.<br>
Hard will neither allow the player to control charmed party members, including the Avatar, nor
access the inventory of a charmed party member. But you can still manipulate objects that are not
in the charmed party members possessions even if the Avatar is the one who is charmed. Charmed
party members will continue to attack, even if the player ends combat.</li>
<li>
<strong>Combat Difficulty</strong><br>
Ranges from Easiest (-3) to Hardest (3). It affects the chance of a hit, and
the HP that is lost if a hit occurs.</li>
<li>
<strong>Cheats</strong><br>
Enables or disables all the cheats that we implemented in <em>Exult</em>.
See <a href="#exult_cheats">6.3. Cheat keys</a> what those cheats are.</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="game_display_gump">3.8. Game Display</a></strong></td></tr>
<tr><td>
<p>
<img alt="Game Display" src="images/docs06.png">
</p>
<ul>
<li>
<strong>Status Bars</strong><br>
You can either disable the status bars or choose its position on
the bottom of the screen (left, middle, right).</li>
<li>
<strong>Use ShortcutBar</strong><br>
Toggle the ShortcutBar or make it transparent when on the map -
see <a href="#shortcutbar">7.1. ShortcutBar for single or double click actions</a>.</li>
<li>
<strong>Use outline color</strong><br>
Choose a the color of the outline around the ShortcutBar buttons or disable it - see
<a href="#shortcutbar">7.1. ShortcutBar for single or double click actions</a>.</li>
<li>
<strong>Hide missing items</strong><br>
hides ShortcutBar items the party doesn't have, otherwise missing items are greyed out -
see <a href="#shortcutbar">7.1. ShortcutBar for single or double click actions</a>.</li>
<li>
<strong>Text Background</strong><br>
shows a tinted background behind text in conversations to make it easier to read.
Either disable it or choose between the colors purple, orange, light gray, green,
yellow, pale blue, dark green, red, bright white, dark gray and white.</li>
<li>
<strong>Smooth scrolling</strong><br>
Disabled/25%/50%/75%/100% percentage of how smooth the game scrolls when the avatar
moves. When disabled <em>Exult</em> uses the 'jerky' scrolling of the original game.</li>
<li>
<strong>Skip intro</strong><br>
When enabled you don't have to watch the splash screen and intro when you select a game
from the <em>Exult</em> menu.</li>
<li>
<strong>Skip scripted first scene</strong><br>
When you start a new game of BG the game starts with a scripted scene during which
you can't move the Avatar. Enable this to skip this part but only do this
if you have already played the game and have seen this scene.</li>
<li>
<strong>Paperdolls</strong><br>
only available in <strong>Black Gate</strong> and only if you have
<strong>Serpent Isle</strong> installed as well. Enables or disable Paperdolls
(inventory screen) in the style of <strong>Serpent Isle</strong>.</li>
<li>
<strong>Use extended SI intro</strong><br>
To fit the intro of SI onto the constraints of floppy disks, it was cut and made
much simpler than originally envisioned by Denis Loubet. We have restored the
intro and made it possible to watch it.</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="game_input_gump">3.9. Game Input</a></strong></td></tr>
<tr><td>
<p>
<img alt="Game Input" src="images/docs07.png">
</p>
<ul>
<li>
<strong>Doubleclick closes gumps</strong><br>
pretty straightforward, right?</li>
<li>
<strong>Right click closes gumps</strong><br>
the same but different.</li>
<li>
<strong>Pathfind with Right Click</strong><br>
Right-clicking on a spot makes the avatar walk to it. Default is a double click
but you can set it to a single one or disable it.</li>
<li>
<strong>Scroll game view with mouse</strong><br>
When cheats are enabled you can scroll the game view with the scroll wheel of the mouse,
when you hold down the '<span class="highlight">Alt</span>' you will scroll sideways (to the west or to the east).</li>
<li>
<strong>Use middle mouse button</strong><br>
In the normal game, the middle mouse button activates the target-function
(which could also be accomplished by pressing '<span class="highlight">t</span>'). For modal gumps,
the middle mouse acts as 'return', the right button as 'escape', so you can now
for example accept the default slider value by just pressing the middle button.
The escape function is also available during most other actions like selecting
a target or conversations. Enable or disable it.</li>
<li>
<strong>Fullscreen Fast Mouse</strong><br>
makes the mouse cursor move faster in full screen modes. Enable or disable it.</li>
<li>
<strong>Item helper menu</strong><br>
Enabling this will pop up a menu on screen of objects you can click on and once you select one,
it gives you further options on how to interact with the object. Only on iOS enabled by default.</li>
<li>
<strong>D-Pad screen location</strong><br>
On iOS we display a virtual D-Pad to move the Avatar with your finger (thumb). This toggles and
selects the side of the screen this D-Pad is displayed on. For now this is only enabled on iOS</li>
<li>
<strong>Pathfind with Long touch</strong><br>
When you click or touch for a little while the Avatar will move to this location if it's
possible to move there. By default only enabled on iOS.</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="quit_game">3.10. Quit</a></strong></td></tr>
<tr><td>
<p>
Exits <em>Exult</em>. This option is only available in the in-game menu.<br>
On iOS and Android this is not available (both don't allow you to quit apps directly).
</p>
</td></tr>
</table>
<hr class="full-width">
<table class="full-width">
<tr><th class="left-aligned"><a id="Audio">4. Audio</a></th></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="music">4.1. Music</a></strong></td></tr>
<tr><td>
<p>
There are three general ways that music is played in <em>Exult</em>. One is using MIDI, which
plays the music through any MIDI device, software synthesizers (TiMidity,FluidSynth) or
even MIDI device emulators like Munt MT-32 Emulator (or <em>Exult</em>'s built-in MT32Emu).
Another way is Digital Music encoded into OGG (similar to MP3) which was recorded
directly from a Roland MT-32.
The third option is FMOpl which emulates Opl2/Adlib.<br>
The MIDI files are converted on-the-fly from the original Ultima VII MT-32 files to
General MIDI format so that they will be playable on modern General MIDI and
General MIDI/GS supporting sound cards.
</p>
<p>
The Music driver options can be changed in the in-game menu that you open by hitting
'<span class="highlight">ESC</span>'.<br>
There you can enable Digital Music and change the MIDI driver, through which you can
also select the FMOpl emulation. When you enable Digital Music, it takes precedence over
the MIDI driver.
</p>
<p>
<em>Exult</em> allows changing of how the games' music loops.
</p>
<ul>
<li>
<strong>never</strong><br>
disables music looping entirely.</li>
<li>
<strong>endless</strong><br>
lopping music will not stop until a new music piece is being played.</li>
<li>
<strong>auto</strong><br>
Music will loop but music started by a jukebox egg will stop looping when the avatar
is too far away. The music will play through to the end of the track.</li>
<li>
<strong>limited</strong><br>
same as auto but music will immediately stop when too far from the egg instead of
playing through to the end.</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="midi_music">4.2. MIDI Music</a></strong></td></tr>
<tr><td>
<p>
The MIDI driver can be changed to:
</p>
<ul>
<li>
<strong>Default</strong><br>
This setting utilizes the FMOpl driver.</li>
<li>
<strong>FMOPL</strong><br>
This is a Software FM Synthesizer (also known as a emulated Opl2/Adlib).</li>
<li>
<strong>TiMidity</strong><br>
is a software synthesizer that can play MIDI files without a hardware synthesizer.
You can install TiMidity on all major Operating systems. You need to place tmidity.cfg
into the same folder where the <em>Exult</em> executable is installed to, otherwise TiMidity
will not work. On linux systems it needs to be in ~/.exult.</li>
<li>
<strong>FluidSynth</strong><br>
is another software synthesizer, which uses SoundFont 2 technology without need for a
SoundFont-compatible sound card. It is available for many Operating Systems and in contrast
to TiMidity still actively developed.<br>
To use FluidSynth you just need to copy a Soundfont file into the data and select it in the
<a href="#advanced_midi_gump">3.5. Advanced Audio Settings</a>.<br>
<em>Exult</em> supports FluidSynth's SoundFont stack. SoundFonts can be selected in the
<a href="#advanced_midi_gump">3.5. Advanced Audio Settings</a>.<br>
<a href="https://www.fluidsynth.org/api/LoadingSoundfonts.html">FluidSynth Documentation:</a>
<span class="highlight"><kbd>The loaded SoundFonts are treated as a stack, where each new loaded SoundFont is
placed at the top of the stack. When selecting presets by bank and program numbers,
SoundFonts are searched beginning at the top of the stack. In the case where there are
presets in different SoundFonts with identical bank and program numbers, the preset from
the most recently loaded SoundFont is used.</kbd></span><br>
As a lightweight alternative to FluidSynth, <em>Exult</em> can be compiled against
<a href="https://github.com/divideconcept/FluidLite">FluidLite</a>.</li>
<li>
<strong>MT32Emu</strong><br>
Roland MT32 emulation requires either the ROM set 'MT32_CONTROL.ROM' and 'MT32_PCM.ROM' or
the ROM set 'CM32L_CONTROL.ROM' and 'CM32L_PCM.ROM' in the <em>Exult</em> data folder.
If both sets are present the CM32L ROM-set will be used.<br>
On case sensitive Operating Systems these files have to be saved in uppercase.<br>
For the <a href="https://flathub.org/apps/info.exult.exult">Flatpak package</a>
on Linux, these should be stored in <span class="highlight"><kbd>$HOME/.var/app/info.exult.exult/data/mt32emu/</kbd></span>.</li>
<li>
<strong>Windows</strong><br>
Using the Windows MIDI driver.</li>
<li>
<strong>CoreAudio</strong><br>
uses XMIDI on macOS and iOS. You can use a different SoundFont than macOS' default by copying a
Soundfont file into the data and select it in the <a href="#advanced_midi_gump">3.5. Advanced Audio Settings</a>.<br>
On iOS there is no default SoundFont thus you have to provide one yourself.</li>
<li>
<strong>CoreMIDI</strong><br>
on macOS this MIDI driver allows using a real MIDI device like a Roland MT32 or software
MIDI devices like Munt MT-32 Emulator. If you have more than one MIDI device you can choose the
the device in the <a href="#advanced_midi_gump">3.5. Advanced Audio Settings</a>.<br>
On iOS you can use a real device through an USB-to-MIDI adapter that is connected to the
Lightning or USB-C port of the iOS device.</li>
<li>
<strong>Alsa</strong><br>
uses ALSA on Linux systems. If your ALSA port is not on 65:0 you need to change
<config><audio><midi><alsa_port> in the exult.cfg.</li>
<li>
<strong>UnixSeqDevice</strong><br>
Linux systems write to special symbolic file, default '/dev/sequencer'. This can be
changed at <config><audio><midi><unixseqdevice> in the exult.cfg.<br>
Because of size constraints we abbreviated it to <strong>UnixSeq</strong> in the
<a href="#audio_gump">3.4.</a>.</li>
</ul>
<p>
For drivers that use a real or system MIDI device, the MIDI conversion can be changed to:
</p>
<ul>
<li>
<strong>Real MT32</strong><br>
This option will output the music with nothing changed. Because
the mapping will be for MT32s you should only use this option if
you have a MT32 compatible device. With this option <em>Exult</em> will
also send SysEx messages to the Roland MT32 display, which are nice
to watch when you have such a device.</li>
<li>
<strong>GM</strong><br>
This will convert the MT32 patches to standard General MIDI patches.
Conversion is fairly accurate but some instruments may be different.</li>
<li>
<strong>GS</strong><br>
This will convert the MT32 patches to their equivalent GS patches. This
will be a more accurate conversion that straight gm since more of the
MT32 patches are in the GS set. However, not all MIDI devices will
support this mode.</li>
<li>
<strong>GS127</strong><br>
This option is for MIDI devices that have a MT32 patch bank installed
in Bank 127. Some GS implementation have this, some don't. Only use
this if you know that you have a MT32 implementation on Bank 127.</li>
<li>
<strong>Fake MT32</strong><br>
This is for MIDI devices that behave like a MT32 but don't support
SysEx messages. Use that option if you have a SoundFont or similar loaded
for your sound card (or software synth such as FluidSynth) that contains
the MT32 capital tones but the device can't be reprogrammed using MT32
SysEx commands by <em>Exult</em>.</li>
</ul>
<p>
<strong>NOTE:</strong> Currently the conversion to GS and GS127 is not finished and
the notes are only mapped to General MIDI.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="limits_music">4.3. Abilities and limitations of the MIDI music engine</a></strong></td></tr>
<tr><td>
<p>
Due to the way the class was constructed input can be in either .mid, .rmi or
the Miles Sound System .xmi format. There are no limitations to the types of
.mid and .rmi supported. They can be Type 0, 1 and the rarely seen type 2. The
loading routine is also fairly lenient of erroneous XMIDI files that do not
have correct XMIDI headers.
</p>
<p>
During the development of the XMIDI class it was found that certain .xmi files
in Serpent Isle had the first patch changed after the first note. The
converter will attempt to correct these errors. However it may cause problems
with some MIDI files. Currently this can not be disabled and may change in the
future.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="win32_device">4.4. Windows MIDI Mapper</a></strong></td></tr>
<tr><td>
<p>
You can tell <em>Exult</em> which MIDI device it should use. This is useful if you
want <em>Exult</em> to use a different MIDI device than the default Windows device
(like an MT-32).
</p>
<p>
To do this start <em>Exult</em>, on the menu choose 'Exit'. Now open the file stdout.txt
in the folder where exult.cfg is located (see <a href="#exult_config_location">2.2.</a>).
You will see a listing of the MIDI devices.<br>
For example with an SB Live! in Win2k it will look like this:
</p>
<p>
4 Midi Devices Detected<br>
Listing midi devices:<br>
-1: Microsoft MIDI-Mapper<br>
0: A: SB Live! MIDI Synth<br>
1: B: SB Live! MIDI Synth<br>
2: SB Live! MIDI UART<br>
</p>
<p>
By default <em>Exult</em> uses the Microsoft MIDI-Mapper (which uses the device you choose
in the Windows Multimedia Properties).<br>
To change the MIDI Device open exult.cfg and change
</p>
<table class="borderless">
<tr>
<td style="text-indent:0pt"><config></td>
<td></td>
</tr>
<tr>
<td style="text-indent:16pt"><audio></td>
<td></td>
</tr>
<tr>
<td style="text-indent:32pt"><midi></td>
<td></td>
</tr>
<tr>
<td style="text-indent:48pt"><win32_device></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:48pt">
-1
</td></tr>
<tr><td style="text-indent:48pt"></win32_device></td></tr>
</table>
<p>
with the device you want to use.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="coremidi_device">4.5. macOS CoreMidi device ID</a></strong></td></tr>
<tr><td>
<p>
Similar to the above Windows MIDI mapper you can tell <em>Exult</em> on macOS which MIDI device
it should use. By default <em>Exult</em> uses macOS' CoreAudio device to output MIDI music. If you
have a real MIDI device (e.g. Roland MT32) or another software MIDI device (e.g. Munt MT-32 Emulator)
you want to use, you will need to select the CoreMidi MIDI driver.<br>
CoreMidi uses by default the MIDI device with the first device ID (0), if you have more than
one device you will need to learn the device IDs first and then set it in exult.cfg.
</p>
<p>
To do this you will need to start <em>Exult</em> in a special way:<br>
right click on the <em>Exult</em>.app, select 'Show Package Contents' which will show you the folder/file
structure of the <em>Exult</em>.app. Doubleclick on 'Contents', doubleclick on MacOS, doubleclick on exult.<br>
Terminal.app will open a window and will show you all kind of output while <em>Exult</em> will also start. In
<em>Exult</em> click on setup and in the Audio settings select the CoreMidi driver (make sure to disable
digital music).<br>
In the Terminal.app window you should now see a listing of the MIDI devices which could look like this:<br>
</p>
<p>
Trying config specified Midi driver: `CoreMidi'<br>
CoreMidi driver found 4 destinations:<br>
0: USB Midi Cable<br>
1: uMIDI/O22 Port 1<br>
2: uMIDI/O22 Port 2<br>
3: Mt32EmuPort<br>
</p>
<p>
By default <em>Exult</em> uses the first device with the device ID 0, in this case 'USB Midi Cable'.<br>
To change the MIDI Device open exult.cfg and change
</p>
<table class="borderless">
<tr>
<td style="text-indent:0pt"><config></td>
<td></td>
</tr>
<tr>
<td style="text-indent:16pt"><audio></td>
<td></td>
</tr>
<tr>
<td style="text-indent:32pt"><midi></td>
<td></td>
</tr>
<tr>
<td style="text-indent:48pt"><coremidi_device></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:48pt">
0
</td></tr>
<tr><td style="text-indent:48pt"></coremidi_device></td></tr>
</table>
<p>
with the device ID of the device you want to use.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="digital_music">4.6. Digital Music</a></strong></td></tr>
<tr><td>
<p>
<em>Exult</em> needs the Digital Music pack to play Digital Music in the game. The music
pack contains music for both Black Gate and Serpent Isle, encoded in high quality
OGG format. Simon Quinn recorded the current Digital Music pack on an original
Roland MT-32 and with this you will experience the music as it would be heard with
the original game.<br>
Digital Music should work on any platform that supports digital sound and does not
use any MIDI, so it is also a good option for platforms with no MIDI support.
Additionally, Digital Music supports a number of background atmospheric SFX tracks
that are played when no music is playing. These consist of wind, bird etc effects
outside and other sound effects when inside a dungeon. These SFX tracks are not
available when using MIDI as they play Roland MT-32 specific voices that cannot
be mapped to GM/GS. These SFX tracks do not play when the music is switched off.
</p>
<p>
The digital music pack seems to have two issue, though, some tracks seem to have
been recorded at lower volume than the others. Also, since both the digital music
and the sound effects are played by the Wave / PCM of your sound card, you can no
longer have a different volume for music and sound effects.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="wave_sfx">4.7. Digital Wave Sound Effects</a></strong></td></tr>
<tr><td>
<p>
<em>Exult</em> needs the so called SFX packs to enable sound effects for Ultima VII.
You have to download separate packs for each game as order of the SFX in BG
and SI varies a bit and otherwise will sound odd. However there is a little
issue with SFX playback in SI: In combat the SFX may be a little wrong as we
still haven't figured out all the data in the 'weapons.dat'.<br>
Also <em>Exult</em> doesn't yet playback all the SFX that the original did.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="all_in_one_pack">4.8. All-in-One Audio Data pack and installers</a></strong></td></tr>
<tr><td>
<p>
We've combined all the audio data we offer, Digital Music and Digital Wave
Sound Effects, into an all-in-one pack which saves you downloading several
smaller zip files. You can download a zip file for manual installation or
an installer for either Windows or macOS. Chose the one you want
to use on our
<a href="https://exult.info/download.php">download page</a>.<br>
The Windows installer for <em>Exult</em> gives you the option to download and
install the zip automatically, so we recommend you use this method.<br>
On macOS, we recommend you download and run the installer.<br>
On Linux or if you want to manually install the all-in-one pack, you will need
to grab the zip file.
</p>
<p>
To install the zip file, extract its content to the <em>Exult</em> data folder. On Linux
systems this is by default <span class="highlight"><kbd>/usr/local/share/exult</kbd></span>. On macOS it is
<span class="highlight"><kbd>/Library/Application Support/Exult/data</kbd></span> and on Windows it's in the folder
data in the folder where you installed <em>Exult</em> to (by default
<span class="highlight"><kbd>C:\Program Files (x86)\Exult</kbd></span>).
</p>
<p>
Below you can read the instructions on how to use and install the individual packs
for digital music and wave effects if. You <strong>don't</strong> need them if you
downloaded the All-in-One zip or installer.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="digital_music_install">4.9. Installation of the digital music packs</a></strong></td></tr>
<tr><td>
<p>
If you downloaded and installed the above All-in-One Audio Data pack you don't need to
bother with the following instructions.
</p>
<p>
The Digital Music pack can be downloaded from
<a href="https://exult.info/download.php">https://exult.info/download.php</a>, the files are called
<strong>Ogg encoded Music files for Exult Part 1</strong>
(U7MusicOGG_1of2.zip) and
<strong>Ogg encoded Music files for Exult Part 2</strong>
(U7MusicOGG_2of2.zip). The readme.txt found in the ZIP files contains installation
instructions that are no longer 100% valid and should not be followed.<br>
Create a music folder in exult/data (i.e. exult/data/music/) and extract the two ZIP
files U7MusicOGG_1of2.zip and U7MusicOGG_2of2.zip into this folder.<br>
If you are not sure where the data folder is, search for the file
<strong>exult_bg.flx</strong> on your hard drive as this file is always in the data
folder.<br>
Now start up <em>Exult</em> and start either a game of BG or SI. Hit '<span class="highlight">ESC</span>' to enter
the game menu. Here select <strong>Audio Options</strong> and in the 'Music options'
<strong>enable</strong> the <strong>digital music</strong> option.
</p>
<p>
It isn't necessary but you can also customize the location of the music files by adding
<music_path> to exult.cfg. Example:
</p>
<table class="borderless">
<tr>
<td style="text-indent:0pt"><config></td>
<td></td>
</tr>
<tr>
<td style="text-indent:16pt"><disk></td>
<td></td>
</tr>
<tr>
<td style="text-indent:32pt"><data_path></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:32pt">
data
</td></tr>
<tr><td style="text-indent:32pt"></data_path></td></tr>
<tr class="
highlight">
<td style="text-indent:32pt"><music_path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:32pt">
data/music
</td></tr>
<tr class="
highlight"><td style="text-indent:32pt"></music_path></td></tr>
</table>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="wave_sfx_install">4.10. Installation of the digital wave sound effects</a></strong></td></tr>
<tr><td>
<p>
If you downloaded and installed the above All-in-One Audio Data pack you don't need to
bother with the following instructions.
</p>
<p>
We currently have two soundpacks for each game. Joseph Morris recorded the original
SoundBlaster SFX and Simon Quinn recorded the Roland MT32 SFX. You can find them on
our <a href="https://exult.info/download.php">download page</a>.<br>
'Sound pack for Blackgate' and 'Sound pack for Serpent Isle' are the SoundBlaster
sound effects.<br>
'Sound pack for Black Gate (Roland MT-32)' and 'Sound pack for Serpent Isle (Roland MT-32)'
are the Roland MT32 sound effects.<br>
</p>
<p>
Extract the zip files into your <em>Exult</em> data folder. <em>Exult</em> will automatically find and
use the SFX packs and will default to use the Roland MT32 pack when both both packs
(SoundBlaster and Roland MT-32) are present. You can then choose between the packs in the
Game Menu (<a href="#audio_gump">3.4.</a>), of course you can override this setting in the
exult.cfg (see <a href="#exult_config">11.1.</a>).<br>
An example of how the relevant part of exult.cfg looks when you prefer the SoundBlaster SFX:
</p>
<table class="borderless">
<tr>
<td style="text-indent:0pt"><blackgate></td>
<td></td>
</tr>
<tr>
<td style="text-indent:16pt"><waves></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:16pt">
jmsfx.flx
</td></tr>
<tr><td style="text-indent:16pt"></waves></td></tr>
<tr><td style="text-indent:0pt"></blackgate></td></tr>
<tr>
<td style="text-indent:0pt"><serpentisle></td>
<td></td>
</tr>
<tr>
<td style="text-indent:16pt"><waves></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:16pt">
jmsisfx.flx
</td></tr>
<tr><td style="text-indent:16pt"></waves></td></tr>
<tr><td style="text-indent:0pt"></serpentisle></td></tr>
</table>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="speech">4.11. Speech</a></strong></td></tr>
<tr><td>
<p>
You can toggle Ultima VII's speech via the in-game menu or change the settings in
exult.cfg - see <a href="#exult_config">11.1.</a>.
</p>
<p>
Additionally you can have the subtitles show while speech is played. In the original
the subtitles were only shown when speech was disabled.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="audio_toggle">4.12. Toggle Audio</a></strong></td></tr>
<tr><td>
<p>
Press '<span class="highlight">ESC</span>' to enter the in-game menu and toggle Audio or change the settings in
exult.cfg - see <a href="#exult_config">11.1.</a>.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="linux_alsa">4.13. Linux and Audio</a></strong></td></tr>
<tr><td>
<p>
You can configure the ALSA port for your distribution in .exult.cfg (see
<a href="#exult_config">11.1.</a>), by default we use 65:0.<br>
If the default or the port you set is not working <em>Exult</em> tries to figure out a
working port and will connect to the first port that satisfies these requirements:
</p>
<ul>
<li>It is available</li>
<li>It has a non zero number of channels</li>
<li>It does not accept READ, SUBSCRIBED_READ or DUPLEX requests. This may be a
problem for keyboard synths.</li>
</ul>
</td></tr>
</table>
<hr class="full-width">
<table class="full-width">
<tr><th class="left-aligned"><a id="Video">5. Video</a></th></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="resolution">5.1. Resolution</a></strong></td></tr>
<tr><td>
<p>
We distinguish between the <em>Exult</em> display resolution (which determines
the size of the <em>Exult</em> window and its fullscreen rendering) and the game
area, which determines how big the in-game viewing area is.<br>
</p>
<p>
By default <em>Exult</em> runs the games at 320x200 (which is the resolution the
original Ultima VII used). <em>Exult</em> can use different scaling engines to
double the size to 640x400 or even triple the the size to 960x600 while
increasing the quality of the graphics and maintaining the same viewing
area. This allows <em>Exult</em> to show the game as an enhanced version of how it
originally appeared, and not show locations that were originally off-screen.<br>
When you first start <em>Exult</em> we apply the scaler 2xSaI which doubles the size
of each pixel, resulting in a 640x400 window.
</p>
<p>
You will also have to hit 'Apply' in the Video gump to apply your changes. <em>Exult</em>
will then use the new settings and will show you a countdown which asks you to confirm
that the new video settings are working. When you don't confirm by hitting 'YES', the
changes will be reverted. This way we try to prevent that some bad video options
combinations prevent you from playing the games.
</p>
<p>
When you disallow same settings for window and fullscreen mode in the Game menu,
settings can be set for either fullscreen or windows mode just by selecting different
settings while using either mode.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="video_fill_modes">5.2. Fill modes</a></strong></td></tr>
<tr><td>
<p>
The game area with scaler applied should not be bigger than the display,
otherwise you will get strange effects and the game might crash.<br>
For example when you set the game area to 320x200 with the scaler Point
at sale factor 3, your game viewing area is actually 960x600. If your display
resolution is set to 640x480 the resolutions don't match and your <em>Exult</em>
window will be smaller than intended.<br>
<em>Exult</em> will check whether this will happen and will warn you against it, since
making the window smaller than 320x200 will cause you trouble with <em>Exult</em>s
interface and you might not be able to revert your changes.<br>
</p>
<p>
On the other hand when your display resolution is set higher than the game resolution
you can have black borders surrounding the game viewing area. The borders can be used
for positioning gumps and the face stats.<br>
You can also change the color of the borders.<br>
If you don't like black borders you can also stretched to fill the entire display
resolution, or sacled to fit the display resolution without stretching the pixels.<br>
You have the following options
</p>
<ul>
<li>
<strong>Fill</strong><br>
The game screen is stretched to fill the entire display surface. No borders will be added
in this mode. The game screen will be downsampled if it is bigger than the display
surface in this mode.</li>
<li>
<strong>Fit</strong><br>
Game is scaled to fill the display surface maintaining square pixels. Black borders
will be added to maintain aspect if needed. The game screen will be downsampled if it
is bigger than the display surface in this mode.</li>
<li>
<strong>Aspect Correct Fit</strong><br>
Same as fit, but pixels are additionally scaled using a 1:1.2 ratio. This corrects the
aspect mismatch between the non square pixels used by the original game and the square
pixels of modern screen resolutions.</li>
<li>
<strong>Centre</strong><br>
The game is centered on the display surface without additional scaling. Black borders will
be added if game screen is smaller than the display surface. Clipping will occur if the
game screen is larger than the display surface.</li>
<li>
<strong>Aspect Correct Centre</strong><br>
Same as Centre except height is scaled by 1.2x to correct pixel aspect mismatch.</li>
</ul>
<p>
If the Game Area setting is set to Auto then the game area is calculated based on the selected
fill mode with no additional scaling applied.<br>
The additional scaling method can be set to Point or Bilinear.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="res_cheating">5.3. Higher resolution is cheating</a></strong></td></tr>
<tr><td>
<p>
Using higher resolutions is considered cheating as you can see too much of
the surrounding area. Since the game was designed to be played at a specific
size (320x200), this can actually lead to plot-stopping problems; hence we
will not fix any problem caused by your cheating!
Don't say we didn't warn you :-)<br>
But being able to play in higher resolutions is actually one of the big
advantages of <em>Exult</em> but as mentioned above it comes with a price.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="scaler">5.4. Scaler</a></strong></td></tr>
<tr><td>
<p>
The scalers also work with higher resolutions than 320x200. To change the
scaling method either use the <em>Exult</em> menu or change your exult.cfg -
see <a href="#exult_config">11.1.</a>.
</p>
<ul>
<li>
<strong>Point</strong><br>
simple but very fast scaler. Only duplicates pixels, no fancy interpolation.
Can be used for arbitrary integer scales (2x, 3x, 4x...).</li>
<li>
<strong>Interlaced</strong><br>
identical to point except that it skips every other line to be even faster.
Can be used for arbitrary integer scales (2x, 3x, 4x...).</li>
<li>
<strong>Bilinear</strong><br>
bilinear interpolation to smooth the result. Slower than point, but looks better.
Can be used for arbitrary integer scales (2x, 3x, 4x...).</li>
<li>
<strong>BilinearPlus</strong><br>
same as Bilinear and it may even be a bit faster.</li>
<li>
<strong>2xSaI</strong> by Derek Liauw<br>
Only 2x. The current <em>Exult</em> default scaler.</li>
<li>
<strong>SuperEagle</strong> by Derek Liauw<br>
Only 2x.</li>
<li>
<strong>Super2xSai</strong> by Derek Liauw<br>
Only 2x.</li>
<li>
<strong>Scale2x</strong> by Andrea Mazzoleni<br>
This is a non-blurring scaler that looks good without soaking up a lot of CPU cycles.
Get more information on this scaler at <a href="http://scale2x.sf.net">http://scale2x.sf.net</a>.</li>
<li>
<strong>HQ2X</strong><br>
High quality scaler, that uses a lot of CPU cycles. Only 2x.</li>
<li>
<strong>HQ3X</strong><br>
High quality scaler, that uses a lot of CPU cycles. Only 3x.</li>
<li>
<strong>HQ4X</strong><br>
High quality scaler, that uses a *lot* of CPU cycles. Only 4x.</li>
<li>
<strong>2xBR</strong><br>
High quality scaler by Hyllian
<a href="https://github.com/libretro/common-shaders/tree/master/xBR">Github</a>,
that uses a lot of CPU cycles. Only 2x.</li>
<li>
<strong>3xBR</strong><br>
Same as 2xBR but 3x.</li>
<li>
<strong>4xBR</strong><br>
Same as 2xBR but 4x.</li>
</ul>
<p>
If your system is a bit slow, the later scalers may tax your system and slow down your gameplay.
</p>
</td></tr>
</table>
<hr class="full-width">
<table class="full-width">
<tr><th class="left-aligned"><a id="Movement-and-Keys">6. Movement and Keys</a></th></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="movement">6.1. Movement</a></strong></td></tr>
<tr><td>
<ul>
<li>Hold right mouse button down to move Avatar.</li>
<li>Clicking with the right mouse button will make the Avatar
find a path to the selected spot. Default is a double click
but you can also choose a single click in the options.</li>
<li>Click on objects with left button to identify them.</li>
<li>Double-click on characters to hold conversations.</li>
<li>Double-click on doors, shutters with left button to open or
close them.</li>
<li>Click and hold an item to move the item if the item is moveable
and can be reached by the Avatar.</li>
<li>Press '<span class="highlight">Ctrl</span>' while dropping a stack of items (coins, bolts...)
to drop the whole stack without being asked for confirmation of
the amount of items to drop.</li>
<li>Use the arrow keys (or the keypad keys for more precise movement).
When you move while holding shift the Avatar walks slowly otherwise he
is in running mode.</li>
</ul>
<p>
On iOS we display a virtual D-Pad on screen with which you control the movement.
Additionally you can long touch on the screen and the Avatar moves there
(if it is possible).
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="exult_keys">6.2. Keyboard commands</a></strong></td></tr>
<tr><td>
<p>
All key commands of <em>Exult</em> can be changed for either BG or SI. However, there
is a default setting which closely follows the original with the addition of
some improvements.
</p>
<p>
You can change your key bindings by providing your own defaultkeys file.<br>
Download <a href="https://raw.githubusercontent.com/exult/exult/master/data/bg/defaultkeys.txt">defaultkeys.txt for BG</a>
or <a href="https://raw.githubusercontent.com/exult/exult/master/data/si/defaultkeys.txt">defaultkeys.txt for SI</a>,
change the bindings and save the file (e.g. as my_keys.txt). Now you have to change
exult.cfg to use that file. See the keys settings at <a href="#exult_config">11.1.</a>
and change (default) to my_keys.txt.<br>
Our installer for Windows installs the defaultkeys files to your <em>Exult</em>
folder (bgdefaultkeys.txt for BG and sidefaultkeys.txt for SI).
</p>
<p>
During the game press '<span class="highlight">h</span>' to see a help
screen with most of the keys (for macOS use Alt for Cmd - however the in-game help
screen shows the correct key combination). '<span class="highlight">KP</span>' means keypad.
</p>
<table class="key_table wide-table">
<tr><th colspan="3" class="left-aligned">Default keyboard commands</th></tr>
<tr>
<td><span class="highlight">KP+/-</span></td>
<td class="blank-column"></td>
<td>Change brightness</td>
</tr>
<tr>
<td><span class="highlight">ESC</span></td>
<td class="blank-column"></td>
<td>Show Game menu box and closes all open boxes</td>
</tr>
<tr>
<td><span class="highlight">right</span></td>
<td class="blank-column"></td>
<td>run east</td>
</tr>
<tr>
<td><span class="highlight">left</span></td>
<td class="blank-column"></td>
<td>run west</td>
</tr>
<tr>
<td><span class="highlight">up</span></td>
<td class="blank-column"></td>
<td>run north</td>
</tr>
<tr>
<td><span class="highlight">down</span></td>
<td class="blank-column"></td>
<td>run south</td>
</tr>
<tr>
<td><span class="highlight">KP1</span></td>
<td class="blank-column"></td>
<td>run southwest</td>
</tr>
<tr>
<td><span class="highlight">KP2</span></td>
<td class="blank-column"></td>
<td>run south</td>
</tr>
<tr>
<td><span class="highlight">KP3</span></td>
<td class="blank-column"></td>
<td>run southeast</td>
</tr>
<tr>
<td><span class="highlight">KP4</span></td>
<td class="blank-column"></td>
<td>run west</td>
</tr>
<tr>
<td><span class="highlight">KP5</span></td>
<td class="blank-column"></td>
<td>recenter map</td>
</tr>
<tr>
<td><span class="highlight">KP6</span></td>
<td class="blank-column"></td>
<td>run east</td>
</tr>
<tr>
<td><span class="highlight">KP7</span></td>
<td class="blank-column"></td>
<td>run northwest</td>
</tr>
<tr>
<td><span class="highlight">KP8</span></td>
<td class="blank-column"></td>
<td>run north</td>
</tr>
<tr>
<td><span class="highlight">KP9</span></td>
<td class="blank-column"></td>
<td>run northeast</td>
</tr>
<tr>
<td><span class="highlight">Shift-right</span></td>
<td class="blank-column"></td>
<td>walk east</td>
</tr>
<tr>
<td><span class="highlight">Shift-left</span></td>
<td class="blank-column"></td>
<td>walk west</td>
</tr>
<tr>
<td><span class="highlight">Shift-up</span></td>
<td class="blank-column"></td>
<td>walk north</td>
</tr>
<tr>
<td><span class="highlight">Shift-down</span></td>
<td class="blank-column"></td>
<td>walk south</td>
</tr>
<tr>
<td><span class="highlight">Shift-KP1</span></td>
<td class="blank-column"></td>
<td>walk southwest</td>
</tr>
<tr>
<td><span class="highlight">Shift-KP2</span></td>
<td class="blank-column"></td>
<td>walk south</td>
</tr>
<tr>
<td><span class="highlight">Shift-KP3</span></td>
<td class="blank-column"></td>
<td>walk southeast</td>
</tr>
<tr>
<td><span class="highlight">Shift-KP4</span></td>
<td class="blank-column"></td>
<td>walk west</td>
</tr>
<tr>
<td><span class="highlight">Shift-KP6</span></td>
<td class="blank-column"></td>
<td>walk east</td>
</tr>
<tr>
<td><span class="highlight">Shift-KP7</span></td>
<td class="blank-column"></td>
<td>walk northwest</td>
</tr>
<tr>
<td><span class="highlight">Shift-KP8</span></td>
<td class="blank-column"></td>
<td>walk north</td>
</tr>
<tr>
<td><span class="highlight">Shift-KP9</span></td>
<td class="blank-column"></td>
<td>walk northeast</td>
</tr>
<tr>
<td><span class="highlight">F4</span></td>
<td class="blank-column"></td>
<td>Toggle full screen</td>
</tr>
<tr>
<td><span class="highlight">Alt-Enter</span></td>
<td class="blank-column"></td>
<td>Toggle full screen</td>
</tr>
<tr>
<td><span class="highlight">b</span></td>
<td class="blank-column"></td>
<td>Use spell book</td>
</tr>
<tr>
<td><span class="highlight">c</span></td>
<td class="blank-column"></td>
<td>Combat mode</td>
</tr>
<tr>
<td><span class="highlight">Space</span></td>
<td class="blank-column"></td>
<td>pause combat</td>
</tr>
<tr>
<td><span class="highlight">f</span></td>
<td class="blank-column"></td>
<td>Use food</td>
</tr>
<tr>
<td><span class="highlight">g</span></td>
<td class="blank-column"></td>
<td>Use Abacus</td>
</tr>
<tr>
<td><span class="highlight">h</span></td>
<td class="blank-column"></td>
<td>Show list of keyboard commands</td>
</tr>
<tr>
<td><span class="highlight">i</span></td>
<td class="blank-column"></td>
<td>Show inventory</td>
</tr>
<tr>
<td><span class="highlight">j</span></td>
<td class="blank-column"></td>
<td>SI: Show jawbone</td>
</tr>
<tr>
<td><span class="highlight">k</span></td>
<td class="blank-column"></td>
<td>BG: Try all keys to unlock a lock</td>
</tr>
<tr>
<td><span class="highlight">k</span></td>
<td class="blank-column"></td>
<td>SI: Use keyring</td>
</tr>
<tr>
<td><span class="highlight">Alt-k</span></td>
<td class="blank-column"></td>
<td>SI: Try all keys to unlock a lock</td>
</tr>
<tr>
<td><span class="highlight">l</span></td>
<td class="blank-column"></td>
<td>SI: Show combat stats</td>
</tr>
<tr>
<td><span class="highlight">m</span></td>
<td class="blank-column"></td>
<td>Show map</td>
</tr>
<tr>
<td><span class="highlight">n</span></td>
<td class="blank-column"></td>
<td>Show notebook</td>
</tr>
<tr>
<td><span class="highlight">o</span></td>
<td class="blank-column"></td>
<td>BG: Use the Orb of the Moons</td>
</tr>
<tr>
<td><span class="highlight">p</span></td>
<td class="blank-column"></td>
<td>Use lockpicks</td>
</tr>
<tr>
<td><span class="highlight">Alt-q</span></td>
<td class="blank-column"></td>
<td>Exit game</td>
</tr>
<tr>
<td><span class="highlight">r</span></td>
<td class="blank-column"></td>
<td>Brings up status bars. First three strokes change the location of the bar. The fourth disables it again.</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-r</span></td>
<td class="blank-column"></td>
<td>Quick restore</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-s</span></td>
<td class="blank-column"></td>
<td>Quick save</td>
</tr>
<tr>
<td><span class="highlight">s</span></td>
<td class="blank-column"></td>
<td>Show save/load box</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-Alt-s</span></td>
<td class="blank-column"></td>
<td>Screenshot</td>
</tr>
<tr>
<td><span class="highlight">t</span></td>
<td class="blank-column"></td>
<td>Target, instead of double clicking, shows a cursor and pauses the game until you click on something</td>
</tr>
<tr>
<td><span class="highlight">v</span></td>
<td class="blank-column"></td>
<td>About screen</td>
</tr>
<tr>
<td><span class="highlight">w</span></td>
<td class="blank-column"></td>
<td>Use watch, shows the time if you got a watch</td>
</tr>
<tr>
<td><span class="highlight">Alt-x</span></td>
<td class="blank-column"></td>
<td>Exit game</td>
</tr>
<tr>
<td><span class="highlight">z</span></td>
<td class="blank-column"></td>
<td>Show stats</td>
</tr>
<tr>
<td><span class="highlight">1</span></td>
<td class="blank-column"></td>
<td>Show inventory for Avatar</td>
</tr>
<tr>
<td><span class="highlight">2</span></td>
<td class="blank-column"></td>
<td>Show inventory for character 2</td>
</tr>
<tr>
<td><span class="highlight">3</span></td>
<td class="blank-column"></td>
<td>Show inventory for character 3</td>
</tr>
<tr>
<td><span class="highlight">4</span></td>
<td class="blank-column"></td>
<td>Show inventory for character 4</td>
</tr>
<tr>
<td><span class="highlight">5</span></td>
<td class="blank-column"></td>
<td>Show inventory for character 5</td>
</tr>
<tr>
<td><span class="highlight">6</span></td>
<td class="blank-column"></td>
<td>Show inventory for character 6</td>
</tr>
<tr>
<td><span class="highlight">7</span></td>
<td class="blank-column"></td>
<td>Show inventory for character 7</td>
</tr>
<tr>
<td><span class="highlight">8</span></td>
<td class="blank-column"></td>
<td>Show inventory for character 8</td>
</tr>
</table>
<p>
In conversations you have the ability not just click on the answer
with the mouse but also to use the numeric keys. The response options
aren't numbered visually but logically with the dots. Also pressing
'<span class="highlight">ESC</span>' selects 'bye' if it's an option.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="exult_cheats">6.3. Cheat keys</a></strong></td></tr>
<tr><td>
<p>
Press '<span class="highlight">ctrl-h</span>' during the game to see a help screen with all
the cheat keys. '<span class="highlight">KP</span>' means keypad.
</p>
<table class="key_table wide-table">
<tr><th colspan="3" class="left-aligned">Cheat commands</th></tr>
<tr>
<td><span class="highlight">Alt-Arrow keys</span></td>
<td class="blank-column"></td>
<td>Scroll map</td>
</tr>
<tr>
<td><span class="highlight">home</span></td>
<td class="blank-column"></td>
<td>Recenter map on the Avatar</td>
</tr>
<tr>
<td><span class="highlight">KP5</span></td>
<td class="blank-column"></td>
<td>Recenter map on the Avatar</td>
</tr>
<tr>
<td><span class="highlight">F2</span></td>
<td class="blank-column"></td>
<td>Cheat screen similar to the originals'. Allows for some level of NPC editing and other cheat options</td>
</tr>
<tr>
<td><span class="highlight">F3</span></td>
<td class="blank-column"></td>
<td>Map teleport</td>
</tr>
<tr>
<td><span class="highlight">F10</span></td>
<td class="blank-column"></td>
<td>Show endgame</td>
</tr>
<tr>
<td><span class="highlight">F11</span></td>
<td class="blank-column"></td>
<td>SI: Play alternate intro</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-b</span></td>
<td class="blank-column"></td>
<td>Shape browser</td>
</tr>
<tr>
<td><span class="highlight">Insert</span></td>
<td class="blank-column"></td>
<td>Create object (that is chosen in the shape browser)</td>
</tr>
<tr>
<td><span class="highlight">Alt-V</span></td>
<td class="blank-column"></td>
<td>Create object (alternative key combination)</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-d</span></td>
<td class="blank-column"></td>
<td>Delete object</td>
</tr>
<tr>
<td><span class="highlight">e</span></td>
<td class="blank-column"></td>
<td>Toggle egg display</td>
</tr>
<tr>
<td><span class="highlight">Alt-g</span></td>
<td class="blank-column"></td>
<td>Toggle God mode</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-g</span></td>
<td class="blank-column"></td>
<td>Change avatar gender</td>
</tr>
<tr>
<td><span class="highlight">Alt-h</span></td>
<td class="blank-column"></td>
<td>Hackmover (you can move all objects around and it disables weight check</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-h</span></td>
<td class="blank-column"></td>
<td>list cheat keys</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-Alt-h</span></td>
<td class="blank-column"></td>
<td>Resurrect, heal party, cure poison and still hunger</td>
</tr>
<tr>
<td><span class="highlight">Alt-i</span></td>
<td class="blank-column"></td>
<td>Toggle infravision</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-l</span></td>
<td class="blank-column"></td>
<td>Level up party</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-m</span></td>
<td class="blank-column"></td>
<td>Get 100 gold coins</td>
</tr>
<tr>
<td><span class="highlight">Alt-Shift-m</span></td>
<td class="blank-column"></td>
<td>Play previous song</td>
</tr>
<tr>
<td><span class="highlight">Alt-m</span></td>
<td class="blank-column"></td>
<td>Play next song</td>
</tr>
<tr>
<td><span class="highlight">Alt-n</span></td>
<td class="blank-column"></td>
<td>SI: Toggle naked flag</td>
</tr>
<tr>
<td><span class="highlight">Alt-p</span></td>
<td class="blank-column"></td>
<td>SI: Toggle Petra mode</td>
</tr>
<tr>
<td><span class="highlight">Alt-s</span></td>
<td class="blank-column"></td>
<td>Change skin color</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-Alt-t</span></td>
<td class="blank-column"></td>
<td>Map teleport</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-t</span></td>
<td class="blank-column"></td>
<td>Advance to next time period</td>
</tr>
<tr>
<td><span class="highlight">Alt-t</span></td>
<td class="blank-column"></td>
<td>Teleport (to current cursor position)</td>
</tr>
<tr>
<td><span class="highlight">Alt-w</span></td>
<td class="blank-column"></td>
<td>Toggle archwizard mode (all spells etc.)</td>
</tr>
<tr>
<td><span class="highlight">Alt-1</span></td>
<td class="blank-column"></td>
<td>Test music, SFX, speech</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-Alt-g</span></td>
<td class="blank-column"></td>
<td>Grab NPC for cheat screen</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-Alt-p</span></td>
<td class="blank-column"></td>
<td>Pick pocket cheat, when enabled double-clicking on a NPC displays the actors inventory</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-n</span></td>
<td class="blank-column"></td>
<td>NPC number, When enabled, clicking an a NPC will display their number instead of their name. Useful for the cheat screen.</td>
</tr>
</table>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="studio_keys">6.4. Map Editing keys</a></strong></td></tr>
<tr><td>
<p>
With the ongoing development of <em>Exult</em> a lot of keys were added that are mainly useful
for map editing with <em>Exult Studio</em>. Hit '<span class="highlight">shift-h</span>' to see the map edit keys help screen.
</p>
<table class="key_table wide-table">
<tr><th colspan="3" class="left-aligned">Map edit commands</th></tr>
<tr>
<td><span class="highlight">Del</span></td>
<td class="blank-column"></td>
<td>Delete selection</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-Arrow keys</span></td>
<td class="blank-column"></td>
<td>move selection (x, y coordinates)</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-Page keys</span></td>
<td class="blank-column"></td>
<td>move selection (z coordinates)</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-c</span></td>
<td class="blank-column"></td>
<td>Copy selected object</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-x</span></td>
<td class="blank-column"></td>
<td>Cut selected object</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-v</span></td>
<td class="blank-column"></td>
<td>Paste selected object</td>
</tr>
<tr>
<td><span class="highlight">Shift-F3</span></td>
<td class="blank-column"></td>
<td>write Minimap</td>
</tr>
<tr>
<td><span class="highlight">Shift-h</span></td>
<td class="blank-column"></td>
<td>List map edit keys</td>
</tr>
<tr>
<td><span class="highlight">Alt-l</span></td>
<td class="blank-column"></td>
<td>Decrement skiplift</td>
</tr>
<tr>
<td><span class="highlight">Ctrl-Alt-m</span></td>
<td class="blank-column"></td>
<td>Toggle Map editor</td>
</tr>
</table>
</td></tr>
</table>
<hr class="full-width">
<table class="full-width">
<tr><th class="left-aligned"><a id="ShortcutBar,-Notebook-and-Screenshots">7. ShortcutBar, Notebook and Screenshots</a></th></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="shortcutbar">7.1. ShortcutBar for single or double click actions</a></strong></td></tr>
<tr><td>
<p>
Especially on mobile devices it makes sense to have a shortcutbar that allows quick actions
with just one or a double click. This was first implemented in the
<a href="https://github.com/litchie/exult-ios">Exult for iOS</a> fork but later
back ported and improved in main <em>Exult</em>. By default the shortcutbar is disabled, but can be
enabled and further configured in the <a href="#misc_gump">1.1. </a>.<br>
You can make the bar transparent (only when drawn on the map) and select different colors
for the outlines around the buttons. Some buttons only work when you have a certain item
(spellbook, jawbone in SI). You can choose to hide those buttons or display them greyed out.
</p>
<p>
The buttons have the following functions (cheat functions only work when you enabled cheats
in <a href="#gameplay_gump">1.1. </a>):
</p>
<ul>
<li>
<strong>Floppy Disk</strong><br>
Single click opens the game menu, double click the <a href="#savemenu">3.2. Load/Save Game</a><br>
Additionally clicking it will close all Gumps that are open.</li>
<li>
<strong>Dove/Flaming Sword</strong><br>
Toggles combat but also shows you whether you are in combat mode (flaming sword) when combat
is toggled in another way.</li>
<li>
<strong>Map</strong><br>
Shows you the map, on double click opens the map teleporter</li>
<li>
<strong>Spellbook</strong><br>
Opens your spellbook if you have it.</li>
<li>
<strong>Backpack</strong><br>
On each click opens the paperdoll of party members.</li>
<li>
<strong>Key (Keyring in SI)</strong><br>
Single click gives you a target pointer that tries all keys on the lock you click on. A double
click uses a lockpick if you have any in your party.<br>
When you acquire the keyring in SI, the button will change into the keyring and use that on a
single click.</li>
<li>
<strong>Notebook</strong><br>
Opens the notebook (see <a href="#notebook">7.2. Using the Notebook</a>), on double click shows you the
cheat menu.</li>
<li>
<strong>Target</strong><br>
single click gives you the target pointer, double click changes the pointer to a red cross
which will cheat teleport you wherever you click.</li>
<li>
<strong>Fork and Knife</strong><br>
A single click lets you feed a party member while a double click will use bandages or healing
potions to heal.</li>
<li>
<strong>Jawbone (SI only)</strong><br>
Opens the jawbone gump if you have the jawbone.</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="notebook">7.2. Using the Notebook</a></strong></td></tr>
<tr><td>
<p>
We implemented a notebook you can access by pressing '<span class="highlight">n</span>'. With this you can make
notes of things you experienced, or 'heard' from any of the NPCs. Entries will be saved when you
close the notebook and save the game.
</p>
<p>
Additionally when you have cheats enabled you will see the coordinates (in decimal) where
you wrote your note.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="autonotebook">7.3. The automatic Notebook</a></strong></td></tr>
<tr><td>
<p>
If you want you can also have <em>Exult</em> automatically make some notes on its own when certain things happen in game.
This feature has not yet progressed very far, especially for SI we have mostly basic pointers of what
was noted.<br>
You can enable autonotes in the <a href="#misc_gump">1.1. </a>.
</p>
<p>
You can also write your own autonotes and override the ones that come with <em>Exult</em>.<br>
For BG download <a href="https://github.com/exult/exult/raw/master/data/bg/autonotes.txt">https://github.com/exult/exult/raw/master/data/bg/autonotes.txt</a>.<br>
For SI download <a href="https://github.com/exult/exult/raw/master/data/si/autonotes.txt">https://github.com/exult/exult/raw/master/data/si/autonotes.txt</a>.<br>
Then change the <autonotes> setting in exult.cfg to point at the path of these files instead
of being set to (default).<br>
Example:
</p>
<table class="borderless">
<tr>
<td style="text-indent:0pt"><config></td>
<td></td>
</tr>
<tr>
<td style="text-indent:16pt"><disk></td>
<td></td>
</tr>
<tr>
<td style="text-indent:32pt"><game></td>
<td></td>
</tr>
<tr>
<td style="text-indent:48pt"><gamename></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:64pt"><path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to\gamename
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><autonotes></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to/gamename/autonotes.txt
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></autonotes></td></tr>
<tr><td style="text-indent:48pt"></gamename></td></tr>
</table>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="screenshots">7.4. Screenshots</a></strong></td></tr>
<tr><td>
<p>
When you press '<span class="highlight">Ctrl-Alt-s</span>' <em>Exult</em> will make a screenshot of your game window in PNG image
file format in the same folder your savegames are saved to. In the unlikely case that your <em>Exult</em>
has been compiled without libpng support , the PCX file format is used.
</p>
</td></tr>
</table>
<hr class="full-width">
<table class="full-width">
<tr><th class="left-aligned"><a id="Mods-and-Patches">8. Mods and Patches</a></th></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="mods_intro">8.1. Introduction to Mods and Patches</a></strong></td></tr>
<tr><td>
<p>
With <em>Exult Studio</em> advancing more and more, there are now a small number mods and patches
developed, both by <em>Exult</em> team members and other users.
See <a href="faq.html#mods_patches">FAQ</a> for a list.
</p>
<p>
Patches are meant for what the name implies, little patches to the original game.
Changing shapes, fixing or changing some usecode and such. Patches also have the
limitation that you can only have one patch per original game installed.
</p>
<p>
Mods on the other hand are more or less meant for heavy modifications of the original
games. Changing the map layout, adding NPCs and objects, changing usecode and so on.
You can have several mods installed which can be chosen from a convenient menu in <em>Exult</em>.
Because of these advantages that mods have over patches, people now develop mods rather
than patches.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="mods_install">8.2. Installing Mods</a></strong></td></tr>
<tr><td>
<p>
To install a mod unzip or move the mod files (if they come unzipped) into your games
<span class="highlight"><kbd>mods</kbd></span> folder. By default that is the mods subfolder in the path you set for your
game in the exult.cfg file (see <a href="#path_config">11.2. Path-Settings</a>. If the folder is not
there, simply create an empty folder called <span class="highlight"><kbd>mods</kbd></span> in your games folder and
proceed as above.<br>
Now start a new game, choose the mod in the menu and enjoy the mod.
</p>
<p>
Please read the readme(.txt) that should have come with the mods. In there you will
normally find further instructions and what the mod is about and how to experience
the changes in the game.
</p>
<p>
Unfortunately, since there are always advancements in the map editing, mods that are
no longer maintained might no longer work correctly with current versions of <em>Exult</em>.
</p>
<p>
Please note that the Flatpak package for Linux systems already includes several mods
as part of the package; you do not need to install these separately. You can however
install additional mods by extracting them to
<span class="highlight"><kbd>$HOME/.var/app/info.exult.exult/data/gamename/mods/</kbd></span>; Exult will detect both
the bundled mods and custom ones installed here.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="patch_install">8.3. Installing Patches</a></strong></td></tr>
<tr><td>
<p>
Installation of patches is very similar to the installation of mods: unzip or move the patch
files (if they come unzip) into your games <span class="highlight"><kbd>patch</kbd></span> folder. By default that is the patch
subfolder in the path you set for your game in the exult.cfg file
(see <a href="#path_config">11.2. Path-Settings</a>). If the folder is not there, simply create an empty folder
called <span class="highlight"><kbd>patch</kbd></span> in your games folder and proceed as above.<br>
Now start a new game and enjoy the patch.
</p>
<p>
Please read the readme(.txt) that should have come with the patch. In there you will
normally find instructions and what the patch is about and how to experience the changes
in the game.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="mods_path">8.4. Adapting the location of Mods and Patches</a></strong></td></tr>
<tr><td>
<p>
In exult.cfg you can adapt where <em>Exult</em> looks for both mods and patches.
The paths <em>Exult</em> uses by default, are explained in <a href="#path_config">11.2.</a>,
so stick to that for the location of mods and patches, and only edit the config
file if you need to.
</p>
<table class="borderless">
<tr>
<td style="text-indent:0pt"><config></td>
<td></td>
</tr>
<tr>
<td style="text-indent:16pt"><disk></td>
<td></td>
</tr>
<tr>
<td style="text-indent:32pt"><game></td>
<td></td>
</tr>
<tr>
<td style="text-indent:48pt"><gamename></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:64pt"><path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to/gamename
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><mods></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to/gamename/mods
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></mods></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><patch></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to/gamename/patch
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></patch></td></tr>
<tr><td style="text-indent:48pt"></gamename></td></tr>
</table>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="mods_savegames_location">8.5. Where to find the savegames of modded games</a></strong></td></tr>
<tr><td>
<p>
When you save a modded game the savegames are saved to <savegame_path>/mods/name_of_mod.
The Gamedat folder will be found in that folder as well. For the location of <savegame_path>,
please see <a href="#path_config">11.2. Path-Settings</a> and the following chapters for your Operating System.
</p>
<p>
Note, you can override the location of savegames in the cfg of the mod under the
<savegame_path>.<br>
For example if you install the BG Keyring mod, you would find the settings for that mod in
keyring.cfg.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="mods_savegames">8.6. Exchanging Savegames between original games and Mods</a></strong></td></tr>
<tr><td>
<p>
You cannot exchange savegames between original games and mods. For example,
when you start a new game with a mod for BG and later run that same savegame
from BG only, it might actually work, but the results are unpredictable. The
game might run ok for a while until you hit a problem caused by the missing mod.<br>
So don't do it.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="mods_case_sensitivity">8.7. Problems with case sensitive file systems (e.g. Linux)</a></strong></td></tr>
<tr><td>
<p>
The way our mods and patches work, require that both the original games' files and the
mod files are using the same case (lower or upper or mixed) on a case sensitive
file system as is the standard with Linux. Otherwise some original files won't be patched
as the operating system will assume that these are different files.
</p>
</td></tr>
</table>
<hr class="full-width">
<table class="full-width">
<tr><th class="left-aligned"><a id="iOS-Guide">9. iOS Guide</a></th></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="ios_port">9.1. The port to iOS</a></strong></td></tr>
<tr><td>
<p>
In January 2015 Chaoji Li (aka Litchie) forked <em>Exult</em> on
<a href="https://github.com/litchie/exult-ios">Github</a> to work
on the initial porting effort by Lanica Dragon (which had stopped in 2013).<br>
Since 2020 the port is merged in our code.
</p>
<p>
Note that <em>Exult</em> runs very nicely on iPads but the item management of the games makes
playing on the smaller iPhone screens a bit of a challenge. Starting with the
screen size of the iPhone 6 things become easier.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="ios_install">9.2. Installing Exult on your iPhone/iPad</a></strong></td></tr>
<tr><td>
<p>
For now <em>Exult</em> is not on the App Store but there are two other ways to get it on your device.
</p>
<ul>
<li>Write an email to Dominus Dragon
(see <a href="https://exult.info/about.php">About Us</a>) to sign up for
the beta testing (through Apple's iTunes Connect/TestFlight).</li>
<li>If your iOS device is on iOS version 12 and higher and you are running a Mac, you can download
Xcode from the AppStore, clone the git repository, run the Xcode project file and easily install
<em>Exult</em> on your device. This is called 'sideloading'.</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="ios_games">9.3. Installing the games on your iPhone/iPad</a></strong></td></tr>
<tr><td>
<p>
Once you have the <em>Exult</em> app on your device, you will need to upload the games to your
device using Finder or iTunes file sharing. But it needs a bit of preparing.
</p>
<p>
First you will need to put the games into a folder called game and use the following
folder structure:<br>
<span class="highlight"><kbd>game</kbd></span><br>
<span class="highlight"><kbd>+-- blackgate</kbd></span><br>
<span class="highlight"><kbd>| +--- static</kbd></span><br>
<span class="highlight"><kbd>| +---- *.*</kbd></span><br>
<span class="highlight"><kbd>+-- serpentisle</kbd></span><br>
<span class="highlight"><kbd>| +--- static</kbd></span><br>
<span class="highlight"><kbd>| +---- *.*</kbd></span><br>
Please make sure that all the file and folder names are in lowercase, iOS is case sensitive
and the games might not be detected otherwise.<br>
Don't write <span class="highlight"><kbd>+--</kbd></span> - it's only there to visualize the structure. With <span class="highlight"><kbd>*.*</kbd></span>
all the files of the static folder are meant.
</p>
<p>
On Windows connect your device to your computer, start iTunes and select your device in it. Click 'Apps',
scroll down to 'File Sharing' and select <em>Exult</em>. Now drag and drop the game folder you prepared
in the first step. See
<a href="https://support.apple.com/guide/itunes/transfer-files-itns32636/windows">
Apple's guide</a>.
</p>
<p>
On macOS you have to use Finder, select your iOS device, click on 'Files' and select
<em>Exult</em>. Now drag and drop the game folder you prepared in the first step. See
<a href="https://support.apple.com/guide/mac-help/sync-files-to-your-device-mchl4bd77d3a/mac">
Apple's guide</a>.<br>
On older macOS versions you have to use iTunes as you would on Windows.
</p>
<p>
<strong>Only</strong> use Finder or iTunes file sharing and not the Files app on iOS as you are likely
to end up with an incomplete game. The many small files of the games massiively slow down the Files app
and as soon as you switch to another app, the transfer is likely to stop.
</p>
<p>
Note: if you want to use mods just add them to the game folder structure before you drag and drop
that in iTunes file sharing.<br>
Example with the BG keyring and SI fixes mods:<br>
<span class="highlight"><kbd>game</kbd></span><br>
<span class="highlight"><kbd>+-- blackgate</kbd></span><br>
<span class="highlight"><kbd>| +--- static</kbd></span><br>
<span class="highlight"><kbd>| +---- *.*</kbd></span><br>
<span class="highlight"><kbd>| +--- mods</kbd></span><br>
<span class="highlight"><kbd>| +---- keyring</kbd></span><br>
<span class="highlight"><kbd>| +----- *.*</kbd></span><br>
<span class="highlight"><kbd>| +---- keyring.cfg</kbd></span><br>
<span class="highlight"><kbd>+-- serpentisle</kbd></span><br>
<span class="highlight"><kbd>| +--- static</kbd></span><br>
<span class="highlight"><kbd>| +---- *.*</kbd></span><br>
<span class="highlight"><kbd>| +--- mods</kbd></span><br>
<span class="highlight"><kbd>| +---- sifixes</kbd></span><br>
<span class="highlight"><kbd>| +----- *.*</kbd></span><br>
<span class="highlight"><kbd>| +---- sifixes.cfg</kbd></span><br>
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="ios_data">9.4. Installing sfx and digital music</a></strong></td></tr>
<tr><td>
<p>
To install the optional sfx and digital music, please download the 'Zipped all-in-one audio pack
for manual installation' zip file from our
<a href="https://exult.info/download.php">download page</a>.
Unzip everything to a folder called 'data' and drag and drop this also in iTunes/Finder file sharing.
Do NOT put it in the 'game' folder.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="ios_controls">9.5. iOS controls</a></strong></td></tr>
<tr><td>
<p>
When playing you have a dpad overlaying the game screen which by default is on the right of the
screen (but can be set to the left side).<br>
Tapping with your finger is equal to a left click in the game.<br>
The green (and eventually red (combat)) movement cursor and the hand pointer are invisible on
iOS as they are more distracting than helping when you control and click with your finger.
</p>
<p>
When you do a long touch on a location and then release the finger, the Avatar will pathfind to this spot.
</p>
<p>
There is also a helper menu when you click near objects in the games, which can be helpful on
the smaller iPhone screens but can be disabled in <a href="#game_input_gump">3.9. Game Input</a>.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="ios_autosave">9.6. iOS automatic saves</a></strong></td></tr>
<tr><td>
<p>
One important addition to the iOS port is that <em>Exult</em> autosaves when it is no longer
the focused app. Apple enforces apps to terminate very quickly once they lose focus and
to prevent the loss of your current progress, we implemented this automatic saving.
</p>
</td></tr>
</table>
<hr class="full-width">
<table class="full-width">
<tr><th class="left-aligned"><a id="Android-Guide">10. Android Guide</a></th></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="android_port">10.1. The port to Android</a></strong></td></tr>
<tr><td>
<p>
Way back in 2011 Ken Cecka posted a preliminary native port of <em>Exult</em> to Android on our
<a href="https://exult.info/forum/viewtopic.php?p=348367">old forum</a>. After
a long hiatus he picked it up again in 2021 which resulted in a working Android port just in
time for our v1.8 release in 2022.
</p>
<p>
Note that as with the iOS port, <em>Exult</em> runs very nicely on tablets but the item management of
the games makes playing on the smaller Android screens a bit of a challenge.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="android_install">10.2. Installing Exult on your Android</a></strong></td></tr>
<tr><td>
<p>
For now <em>Exult</em> is not on the PlayStore but there is another, easy way to get it on your device:
</p>
<ol>
<li>Download the APK from our <a href="https://exult.info/download.php">download page</a>.</li>
<li>On your Android, open the file manager and in your download folder, tap on the APK and it install.</li>
</ol>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="android_launcher">10.3. The Exult Launcher on Android</a></strong></td></tr>
<tr><td>
<p>
To make it easier to install games, mods and patches on Android, Ken has developed a launcher that starts
before <em>Exult</em>. Once you have installed everything you can start <em>Exult</em> from the first tab of the launcher.<br>
It also offers you an option to <span class="highlight"><kbd>Automatically launch <em>Exult</em> when opening the app</kbd></span>. If you later
find that you need to access the launcher again you can just longer touch the icon and select
<span class="highlight"><kbd>Force Start Launcher</kbd></span>. Alternatively, as a more permanent solution, you can toggle this in <em>Exult</em>'s
<span class="highlight"><kbd>Game Display</kbd></span> options in the setting <span class="highlight"><kbd>Android autolaunch</kbd></span>.
</p>
<ol>
<li>Download the APK from our <a href="https://exult.info/download.php">download page</a>.</li>
<li>On your Android, open the file manager and in your download folder, tap on the APK and it install.</li>
</ol>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="android_games">10.4. Installing the games on your Android</a></strong></td></tr>
<tr><td>
<p>
Once you have the <em>Exult</em> app on your device, you will need to get the games to your
device, either by copying the files from your connected desktop computer or by uploading
the files somewhere and then downloading these.
</p>
<p>
If you have bought the Games from <a href="https://gog.com">GOG.com</a> it's quite easy to do:
</p>
<ol>
<li>Browse to <a href="https://gog.com">GOG.com</a> and log in to your account</li>
<li>Tap the <strong>Your Account</strong> menu and select <strong>Games</strong>
</li>
<li>Tap the game you want to install (e.g. <strong>Ultima VII - The Black Gate + The Forge of Virtue</strong>)</li>
<li>Under <strong>System</strong> select <strong>Mac</strong>
</li>
<li>Scroll down to the section titled <strong>DOWNLOAD OFFLINE BACKUP GAME INSTALLERS</strong> and expand it</li>
<li>Tap the game name to download it. This should place a .pkg file in your Downloads folder</li>
</ol>
<p>
Alternately, if you have purchased the game from another site or own a hard copy on CD (or the original floppy
disks), you should be able to place the contents in a zip file (or other common archive format) and copy it to
your device. The important part is to zip the folder <strong>STATIC</strong> and its content. For example:<br>
<span class="highlight"><kbd>game</kbd></span><br>
<span class="highlight"><kbd>blackgate</kbd></span><br>
<span class="highlight"><kbd>|+--- static</kbd></span><br>
<span class="highlight"><kbd>| +---- *.*</kbd></span><br>
Don't write <span class="highlight"><kbd>+--</kbd></span> - it's only there to visualize the structure. With <span class="highlight"><kbd>*.*</kbd></span>
all the files of the static folder are meant.
</p>
<p>
After you have downloaded .pkg file (or otherwise loaded another archive), start the <em>Exult</em> launcher, select the
Games tab, and then tap one of the checkboxes on the left, corresponding to the game you are installing. This
will open a file browser which you can use to select the archive you downloaded, and the installer will take
care of extracting the required data files and installing them in the correct places.
</p>
<p>
Once you have successfully installed the game data, you are free to delete the .pkg (or other archive); it will
no longer be needed or used by <em>Exult</em> after installation.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="android_mods">10.5. Installing mods on Android</a></strong></td></tr>
<tr><td>
<p>
Currently we only offer a way to install five mods on Android: the BG Keyring, SI Fixes,
SourceForge Island, Ultima VI Remake and Glimmerscape.
</p>
<p>
To install these mods, download the zip file of the mod you want to install from our
<a href="https://exult.info/download.php">download page</a>.<br>
In the <em>Exult</em>launcher, select the Mods tab and tap to the left on the corrsponding chaeckmark.
This will open a file browser which you can use to select the archive you downloaded, and the
installer will take care of extracting the required data files and installing them in the correct places.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="android_data">10.6. Installing sfx, digital music, MT32 ROMs and SoundFonts</a></strong></td></tr>
<tr><td>
<p>
To install the optional sfx and digital music, please download the 'Zipped all-in-one audio pack
for manual installation' zip file from our
<a href="https://exult.info/download.php">download page</a>.<br>
In the <em>Exult</em>launcher, select the Audio tab, tap on <strong>Zipped all-in-one audio pack</strong> checkmark.
This will open a file browser which you can use to select the archive you downloaded, and the installer will
take care of extracting the required data files and installing them in the correct places.
</p>
<p>
For the MT32 emulation of the music you need the MT32 ROMs and both ROMs need their filenames to be
uppercase. Once you have the zipped ROMs on your android device, tap the <strong>Zipped MT32 ROMs</strong>
checkbox on the left, select the zip in the file browser, and the files will be installed.<br>
Keep in mind that the MT32 ROM files are copyrighted and thus we are not offering a download. You need to dump
the ROMs yourself to legally use these.
</p>
<p>
For MIDI music playback on android, we are using FluidSynth. This needs a SoundFont in SF2 format which has
to be named "default.sf2" (all in lower case) and in a zip file. Once you have the zipped SoundFont on your Android
device, tap the <strong>Zipped FluidSynth SoundFont</strong> checkbox on the left, select the zip in the file
browser, and the files will be installed.<br>
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="android_controls">10.7. Android controls</a></strong></td></tr>
<tr><td>
<p>
When playing you have a dpad overlaying the game screen which by default is on the right of the
screen (but can be set to the left side).<br>
Tapping with your finger is equal to a left click in the game.<br>
The green (and eventually red (combat)) movement cursor and the hand pointer are invisible on
Android as they are more distracting than helping when you control and click with your finger.
</p>
<p>
When you do a long touch on a location and then release the finger, the Avatar will pathfind to this spot.
</p>
<p>
There is also a helper menu when you click near objects in the games, which can be helpful on
the smaller iPhone screens but can be disabled in <a href="#game_input_gump">3.9. Game Input</a>.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="android_autosave">10.8. Android automatic saves</a></strong></td></tr>
<tr><td>
<p>
As with the iOS port <em>Exult</em> autosaves when it is no longer the focused app on Android.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="android_file_storage">10.9. Android File Storage</a></strong></td></tr>
<tr><td>
<p>
For now <em>Exult</em> uses the Internal File Storage of Android, which brings with it an important
limitation:<br>
When you uninstall <em>Exult</em>, all your savegames and settings will be deleted as well. Be aware of this
and backup your savegames before uninstalling. There are several ways to do this, depending on your
device and desktop Operating System.<br>
We hope to make this better in the future.
</p>
</td></tr>
</table>
<hr class="full-width">
<table class="full-width">
<tr><th class="left-aligned"><a id="The-exult.cfg-file">11. The exult.cfg file</a></th></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="exult_config">11.1. Settings in exult.cfg</a></strong></td></tr>
<tr><td>
<p>
The file uses a simple hierarchical XML-like syntax, which should be simple to
understand and modify. Take care though. Handling of syntax errors in this file
is not well tested.
</p>
<p>
The file looks like this (do not copy the **and following - these are my remarks),
options you can only change manually are colored in purple.
</p>
<p>
Note: yes means enabled, no means disabled.
</p>
<p>
<b><i><span style="font-size: larger">Note:</span></i></b> the settings in exult.cfg are the <strong>same</strong> on
<strong>all</strong> operating systems (except when explicitly stated below).
</p>
<table class="borderless">
<tr>
<td style="text-indent:0pt"><config></td>
<td></td>
</tr>
<tr>
<td style="text-indent:16pt"><disk></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:32pt"><save_compression_level></td>
<td rowspan="3">
<span class="non-selectable-comment">**save games are now compressed as zip files. 0 disables compression, </span><span class="non-selectable-comment">1 enables it, 2 compresses even a bit better. Default is 1.</span>
</td>
</tr>
<tr class="
highlight"><td style="text-indent:32pt">
1
</td></tr>
<tr class="
highlight"><td style="text-indent:32pt"></save_compression_level></td></tr>
<tr class="
highlight">
<td style="text-indent:32pt"><data_path></td>
<td rowspan="3"><span class="non-selectable-comment">**this is where <em>Exult</em> stores its data files that are needed to run (e.g. exult???.flx files)</span></td>
</tr>
<tr class="
highlight"><td style="text-indent:32pt">
data
</td></tr>
<tr class="
highlight"><td style="text-indent:32pt"></data_path></td></tr>
<tr class="
highlight">
<td style="text-indent:32pt"><music_path></td>
<td rowspan="3"><span class="non-selectable-comment">**optional. Location of digital music. See also <a href="#digital_music">4.6.</a></span></td>
</tr>
<tr class="
highlight"><td style="text-indent:32pt">
data/music
</td></tr>
<tr class="
highlight"><td style="text-indent:32pt"></music_path></td></tr>
<tr>
<td style="text-indent:32pt"><game></td>
<td></td>
</tr>
<tr>
<td style="text-indent:48pt"><blackgate></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:64pt"><path></td>
<td rowspan="3"><span class="non-selectable-comment">**path to the BG game. See <a href="#path_config">11.2.</a> before changing it.</span></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to/blackgate
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><savegame_path></td>
<td rowspan="3">
<span class="non-selectable-comment">**optional. Default is the same as <path>, change to whatever you like. </span><span class="non-selectable-comment">Also see <a href="#path_config">11.2.</a> before changing it.</span>
</td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
optional_path
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></savegame_path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><static_path></td>
<td rowspan="3"><span class="non-selectable-comment">**optional. See <a href="#path_config">11.2.</a> before changing it.</span></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to/blackgate/static
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></static_path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><gamedat_path></td>
<td rowspan="3"><span class="non-selectable-comment">**optional. See <a href="#path_config">11.2.</a> before changing it.</span></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
optional_path/gamedat
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></gamedat_path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><keys></td>
<td rowspan="3">
<span class="non-selectable-comment">**configure custom key bindings or leave the (default) </span><span class="non-selectable-comment">- see <a href="#exult_keys">6.2.</a></span>
</td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
(default)
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></keys></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><autonotes></td>
<td rowspan="3">
<span class="non-selectable-comment">**set path to a custom autonotes file or leave the (default) </span><span class="non-selectable-comment">- see <a href="#autonotebook">7.3.</a></span>
</td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
(default)
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></autonotes></td></tr>
<tr>
<td style="text-indent:64pt"><waves></td>
<td rowspan="3"><span class="non-selectable-comment">**optional setting see <a href="#wave_sfx">4.7.</a> for configuration</span></td>
</tr>
<tr><td style="text-indent:64pt">
jmsfx.flx
</td></tr>
<tr><td style="text-indent:64pt"></waves></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><mods></td>
<td rowspan="3"><span class="non-selectable-comment">**optional. See <a href="#mods_path">8.4.</a></span></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
optional_path/mods
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></mods></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><patch></td>
<td rowspan="3"><span class="non-selectable-comment">**optional. See <a href="#mods_path">8.4.</a></span></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
optional_path/patch
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></patch></td></tr>
<tr><td style="text-indent:48pt"></blackgate></td></tr>
<tr>
<td style="text-indent:48pt"><serpentisle></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:64pt"><path></td>
<td rowspan="3"><span class="non-selectable-comment">**path to the SI game. See <a href="#path_config">11.2.</a> before changing it.</span></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to/serpentisle
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><savegame_path></td>
<td rowspan="3">
<span class="non-selectable-comment">**optional. Default is the same as <path>, change to whatever you like. </span><span class="non-selectable-comment">Also see <a href="#path_config">11.2.</a> before changing it.</span>
</td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
optional_path
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></savegame_path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><static_path></td>
<td rowspan="3"><span class="non-selectable-comment">**optional. See <a href="#path_config">11.2.</a> before changing it.</span></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to/serpentisle/static
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></static_path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><gamedat_path></td>
<td rowspan="3"><span class="non-selectable-comment">**optional. See <a href="#path_config">11.2.</a> before changing it.</span></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
optional_path/gamedat
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></gamedat_path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><keys></td>
<td rowspan="3">
<span class="non-selectable-comment">**configure custom key bindings or leave the (default)</span><span class="non-selectable-comment">- see <a href="#exult_keys">6.2.</a></span>
</td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
(default)
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></keys></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><autonotes></td>
<td rowspan="3">
<span class="non-selectable-comment">**set path to a custom autonotes file or leave the (default)</span><span class="non-selectable-comment">- see <a href="#autonotebook">7.3.</a></span>
</td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
(default)
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></autonotes></td></tr>
<tr>
<td style="text-indent:64pt"><waves></td>
<td rowspan="3"><span class="non-selectable-comment">**optional setting see <a href="#wave_sfx">4.7.</a> for configuration</span></td>
</tr>
<tr><td style="text-indent:64pt">
jmsisfx.flx
</td></tr>
<tr><td style="text-indent:64pt"></waves></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><mods></td>
<td rowspan="3"><span class="non-selectable-comment">**optional. See <a href="#mods_path">8.4.</a></span></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
optional_path/mods
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></mods></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><patch></td>
<td rowspan="3"><span class="non-selectable-comment">**optional. See <a href="#mods_path">8.4.</a></span></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
optional_path/patch
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></patch></td></tr>
<tr><td style="text-indent:48pt"></serpentisle></td></tr>
<tr><td style="text-indent:32pt"></game></td></tr>
<tr><td style="text-indent:16pt"></disk></td></tr>
<tr>
<td style="text-indent:16pt"><gameplay></td>
<td></td>
</tr>
<tr>
<td style="text-indent:32pt"><facestats></td>
<td rowspan="3">
<span class="non-selectable-comment">**activates the status faces and the position on the screen.</span><span class="non-selectable-comment">-1 disable,0 left, 1 middle, 2 right.</span>
</td>
</tr>
<tr><td style="text-indent:32pt">
-1
</td></tr>
<tr><td style="text-indent:32pt"></facestats></td></tr>
<tr>
<td style="text-indent:32pt"><textbackground></td>
<td rowspan="3">
<span class="non-selectable-comment">**with this enabled all the text in the games have a colored background </span><span class="non-selectable-comment">to improve readability. 0 gives a solid light gray, 1 dark purple, </span><span class="non-selectable-comment">2 bright yellow, 3 light blue, 4 dark green, 5 dark red, 6 purple, </span><span class="non-selectable-comment">7 orange, 8 light gray, 9 green, 10 yellow, 11 pale blue, 12 dark green, </span><span class="non-selectable-comment">13 red, 14 bright white, 15 dark gray, 16 white. -1 disables this.</span>
</td>
</tr>
<tr><td style="text-indent:32pt">
-1
</td></tr>
<tr><td style="text-indent:32pt"></textbackground></td></tr>
<tr>
<td style="text-indent:32pt"><fastmouse></td>
<td rowspan="3"><span class="non-selectable-comment">**enables faster cursor movement in full screen mode.</span></td>
</tr>
<tr><td style="text-indent:32pt">
no
</td></tr>
<tr><td style="text-indent:32pt"></fastmouse></td></tr>
<tr>
<td style="text-indent:32pt"><mouse3rd></td>
<td rowspan="3"><span class="non-selectable-comment">**enables using of the middle mouse button.</span></td>
</tr>
<tr><td style="text-indent:32pt">
yes
</td></tr>
<tr><td style="text-indent:32pt"></mouse3rd></td></tr>
<tr>
<td style="text-indent:32pt"><double_click_closes_gumps></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:32pt">
no
</td></tr>
<tr><td style="text-indent:32pt"></double_click_closes_gumps></td></tr>
<tr>
<td style="text-indent:32pt"><right_click_closes_gumps></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:32pt">
no
</td></tr>
<tr><td style="text-indent:32pt"></right_click_closes_gumps></td></tr>
<tr>
<td style="text-indent:32pt"><allow_right_pathfind></td>
<td rowspan="3">
<span class="non-selectable-comment">**right-clicking lets the Avatar walk automatically </span><span class="non-selectable-comment">to where you clicked. it defaults to double click but </span><span class="non-selectable-comment">you can opt for a single click or disable it.</span>
</td>
</tr>
<tr><td style="text-indent:32pt">
double
</td></tr>
<tr><td style="text-indent:32pt"></allow_right_pathfind></td></tr>
<tr>
<td style="text-indent:32pt"><scroll_with_mouse></td>
<td rowspan="3"><span class="non-selectable-comment">**when in cheat mode allow to scroll the game view with the mouse-</span></td>
</tr>
<tr><td style="text-indent:32pt">
no
</td></tr>
<tr><td style="text-indent:32pt"></scroll_with_mouse></td></tr>
<tr>
<td style="text-indent:32pt"><gumps_dont_pause_game></td>
<td rowspan="3"><span class="non-selectable-comment">**yes doesn't pause the game when gumps are shown.</span></td>
</tr>
<tr><td style="text-indent:32pt">
yes
</td></tr>
<tr><td style="text-indent:32pt"></gumps_dont_pause_game></td></tr>
<tr>
<td style="text-indent:32pt"><cheat></td>
<td rowspan="3"><span class="non-selectable-comment">**enable/disable cheats</span></td>
</tr>
<tr><td style="text-indent:32pt">
yes
</td></tr>
<tr><td style="text-indent:32pt"></cheat></td></tr>
<tr>
<td style="text-indent:32pt"><bg_paperdolls></td>
<td rowspan="3"><span class="non-selectable-comment">**yes enables SI style paperdolls in BG.</span></td>
</tr>
<tr><td style="text-indent:32pt">
no
</td></tr>
<tr><td style="text-indent:32pt"></bg_paperdolls></td></tr>
<tr>
<td style="text-indent:32pt"><smooth_scrolling></td>
<td rowspan="3">
<span class="non-selectable-comment">**0/25/50/75/100 percentage of how smooth the game scrolls when the avatar </span><span class="non-selectable-comment">moves. 0 disables smooth scrolling and uses the "jerky" scrolling of the </span><span class="non-selectable-comment">original game.</span>
</td>
</tr>
<tr><td style="text-indent:32pt">
0
</td></tr>
<tr><td style="text-indent:32pt"></smooth_scrolling></td></tr>
<tr>
<td style="text-indent:32pt"><skip_intro></td>
<td rowspan="3"><span class="non-selectable-comment">**this skips the scripted first scene in BG and SI during which you can't move.</span></td>
</tr>
<tr><td style="text-indent:32pt">
no
</td></tr>
<tr><td style="text-indent:32pt"></skip_intro></td></tr>
<tr>
<td style="text-indent:32pt"><skip_splash></td>
<td rowspan="3">
<span class="non-selectable-comment">**this skips the splash screen, the intro before you get to the</span><span class="non-selectable-comment"> game menu. Disabling it brings you straight to the game menu.</span>
</td>
</tr>
<tr><td style="text-indent:32pt">
no
</td></tr>
<tr><td style="text-indent:32pt"></skip_splash></td></tr>
<tr>
<td style="text-indent:32pt"><extended_intro></td>
<td rowspan="3"><span class="non-selectable-comment">**view the extended intro of SI instead</span></td>
</tr>
<tr><td style="text-indent:32pt">
yes
</td></tr>
<tr><td style="text-indent:32pt"></extended_intro></td></tr>
<tr class="
highlight">
<td style="text-indent:32pt"><formation></td>
<td rowspan="3">
<span class="non-selectable-comment">**yes forces the party to walk in a formation similar to the original game.</span><span class="non-selectable-comment">See <a href="faq.html#party_formation">FAQ</a> in the FAQ.</span>
</td>
</tr>
<tr class="
highlight"><td style="text-indent:32pt">
yes
</td></tr>
<tr class="
highlight"><td style="text-indent:32pt"></formation></td></tr>
<tr class="
highlight">
<td style="text-indent:32pt"><step_tile_delta></td>
<td rowspan="3">
<span class="non-selectable-comment">**Controls how far the Avatar will move before <em>Exult</em> recalculates the </span><span class="non-selectable-comment">Avatar's and the party's movement. Bigger # avoids jerkiness, but may cause other </span><span class="non-selectable-comment">problems.</span>
</td>
</tr>
<tr class="
highlight"><td style="text-indent:32pt">
8
</td></tr>
<tr class="
highlight"><td style="text-indent:32pt"></step_tile_delta></td></tr>
<tr>
<td style="text-indent:32pt"><alternate_drop></td>
<td rowspan="3">
<span class="non-selectable-comment">**Dropping stacks of items will drop the whole stack without asking how many when enabled. </span><span class="non-selectable-comment">Hold '<span class="highlight">Ctrl</span>' while dropping to split the stack. </span>
</td>
</tr>
<tr><td style="text-indent:32pt">
no
</td></tr>
<tr><td style="text-indent:32pt"></alternate_drop></td></tr>
<tr>
<td style="text-indent:32pt"><allow_autonotes></td>
<td rowspan="3">
<span class="non-selectable-comment">**Automatically fill the notebook with entries when game flags are set. </span><span class="non-selectable-comment">See <a href="#autonotebook">7.3.</a></span>
</td>
</tr>
<tr><td style="text-indent:32pt">
no
</td></tr>
<tr><td style="text-indent:32pt"></allow_autonotes></td></tr>
<tr>
<td style="text-indent:32pt"><combat></td>
<td></td>
</tr>
<tr>
<td style="text-indent:48pt"><difficulty></td>
<td rowspan="3">
<span class="non-selectable-comment">**0 is default, negative values make combat easier, positive makes it </span><span class="non-selectable-comment">harder. It affects the chance of a hit, and the HP's lost if a hit occurs. </span><span class="non-selectable-comment">Ranges from -3 to 3 (easiest to hardest).</span>
</td>
</tr>
<tr><td style="text-indent:48pt">
0
</td></tr>
<tr><td style="text-indent:48pt"></difficulty></td></tr>
<tr>
<td style="text-indent:48pt"><mode></td>
<td rowspan="3">
<span class="non-selectable-comment">**original or key pause. On key pause the game pauses when you hit space </span><span class="non-selectable-comment">so you can make changes in combat.</span>
</td>
</tr>
<tr><td style="text-indent:48pt">
original
</td></tr>
<tr><td style="text-indent:48pt"></mode></td></tr>
<tr>
<td style="text-indent:48pt"><show_hits></td>
<td rowspan="3">
<span class="non-selectable-comment">**no is default. With yes you see the hit points of NPCs </span><span class="non-selectable-comment">in brackets after their name.</span>
</td>
</tr>
<tr><td style="text-indent:48pt">
no
</td></tr>
<tr><td style="text-indent:48pt"></show_hits></td></tr>
<tr>
<td style="text-indent:48pt"><charmDifficulty></td>
<td rowspan="3">
<span class="non-selectable-comment">**with normal the Avatar behaves as in the original game. When he is charmed </span><span class="non-selectable-comment">he will be highlighted as charmed and the status icon will show but you can control him as usual. </span><span class="non-selectable-comment">"hard" will neither allow the player to control the Avatar nor access his inventory.</span>
</td>
</tr>
<tr><td style="text-indent:48pt">
normal
</td></tr>
<tr><td style="text-indent:48pt"></charmDifficulty></td></tr>
<tr><td style="text-indent:32pt"></combat></td></tr>
<tr>
<td style="text-indent:32pt"><extended_intro></td>
<td rowspan="3"><span class="non-selectable-comment">**The implementation of the extended intro is now default for an SI game. </span></td>
</tr>
<tr><td style="text-indent:32pt">
yes
</td></tr>
<tr><td style="text-indent:32pt"></extended_intro></td></tr>
<tr><td style="text-indent:16pt"></gameplay></td></tr>
<tr>
<td style="text-indent:16pt"><audio></td>
<td></td>
</tr>
<tr>
<td style="text-indent:32pt"><enabled></td>
<td rowspan="3">
<span class="non-selectable-comment">**enable/disable all audio - this takes precedence over the </span><span class="non-selectable-comment">other audio settings.</span>
</td>
</tr>
<tr><td style="text-indent:32pt">
yes
</td></tr>
<tr><td style="text-indent:32pt"></enabled></td></tr>
<tr>
<td style="text-indent:32pt"><disablepause></td>
<td rowspan="3">
<span class="non-selectable-comment">**enable/disable the pausing of SFX and digital music when the </span><span class="non-selectable-comment">game pauses (e.g. not the focused window). MIDI music is currently not paused.</span>
</td>
</tr>
<tr><td style="text-indent:32pt">
no
</td></tr>
<tr><td style="text-indent:32pt"></disablepause></td></tr>
<tr>
<td style="text-indent:32pt"><sample_rate></td>
<td rowspan="3"><span class="non-selectable-comment">**set the sample rate of <em>Exult</em>.</span></td>
</tr>
<tr><td style="text-indent:32pt">
44100
</td></tr>
<tr><td style="text-indent:32pt"></sample_rate></td></tr>
<tr>
<td style="text-indent:32pt"><stereo></td>
<td rowspan="3"><span class="non-selectable-comment">**enable/disable stereo sound.</span></td>
</tr>
<tr><td style="text-indent:32pt">
yes
</td></tr>
<tr><td style="text-indent:32pt"></stereo></td></tr>
<tr>
<td style="text-indent:32pt"><effects></td>
<td></td>
</tr>
<tr>
<td style="text-indent:48pt"><enabled></td>
<td rowspan="3"><span class="non-selectable-comment">**enable/disable sound effects.</span></td>
</tr>
<tr><td style="text-indent:48pt">
yes
</td></tr>
<tr><td style="text-indent:48pt"></enabled></td></tr>
<tr>
<td style="text-indent:48pt"><sfx_volume></td>
<td rowspan="3"><span class="non-selectable-comment">**Sound effects volume.</span></td>
</tr>
<tr><td style="text-indent:48pt">
100
</td></tr>
<tr><td style="text-indent:48pt"></sfx_volume></td></tr>
<tr><td style="text-indent:32pt"></effects></td></tr>
<tr>
<td style="text-indent:32pt"><speech></td>
<td></td>
</tr>
<tr>
<td style="text-indent:48pt"><enabled></td>
<td rowspan="3"><span class="non-selectable-comment">**enable/disable speech.</span></td>
</tr>
<tr><td style="text-indent:48pt">
yes
</td></tr>
<tr><td style="text-indent:48pt"></enabled></td></tr>
<tr>
<td style="text-indent:48pt"><with_subs></td>
<td rowspan="3"><span class="non-selectable-comment">**enable/disable displaying subtitles while speech plays.</span></td>
</tr>
<tr><td style="text-indent:48pt">
no
</td></tr>
<tr><td style="text-indent:48pt"></with_subs></td></tr>
<tr>
<td style="text-indent:48pt"><speech_volume></td>
<td rowspan="3"><span class="non-selectable-comment">**Speech volume.</span></td>
</tr>
<tr><td style="text-indent:48pt">
100
</td></tr>
<tr><td style="text-indent:48pt"></speech_volume></td></tr>
<tr><td style="text-indent:32pt"></speech></td></tr>
<tr>
<td style="text-indent:32pt"><midi></td>
<td></td>
</tr>
<tr>
<td style="text-indent:48pt"><enabled></td>
<td rowspan="3"><span class="non-selectable-comment">**enable/disable ALL Music.</span></td>
</tr>
<tr><td style="text-indent:48pt">
yes
</td></tr>
<tr><td style="text-indent:48pt"></enabled></td></tr>
<tr>
<td style="text-indent:48pt"><use_oggs></td>
<td rowspan="3"><span class="non-selectable-comment">**use pre-recorded ogg files for music - see <a href="#music">4.1.</a></span></td>
</tr>
<tr><td style="text-indent:48pt">
no
</td></tr>
<tr><td style="text-indent:48pt"></use_oggs></td></tr>
<tr>
<td style="text-indent:48pt"><driver></td>
<td rowspan="3">
<span class="non-selectable-comment">**choose your music driver between default, MT32Emu, FluidSynth, FMOPL, </span><span class="non-selectable-comment">TiMidity, Windows, alsa, CoreAudio, </span><span class="non-selectable-comment">CoreMidi, UnixSeqDevice. </span><span class="non-selectable-comment">See <a href="#music">4.1.</a> for details.</span>
</td>
</tr>
<tr><td style="text-indent:48pt">
default
</td></tr>
<tr><td style="text-indent:48pt"></driver></td></tr>
<tr>
<td style="text-indent:48pt"><convert_Windows></td>
<td rowspan="3"><span class="non-selectable-comment">**see <a href="#midi_music">4.2.</a></span></td>
</tr>
<tr><td style="text-indent:48pt">
gm
</td></tr>
<tr><td style="text-indent:48pt"></convert_Windows></td></tr>
<tr>
<td style="text-indent:48pt"><convert_FluidSynth></td>
<td rowspan="3"><span class="non-selectable-comment">**see <a href="#midi_music">4.2.</a></span></td>
</tr>
<tr><td style="text-indent:48pt">
gm
</td></tr>
<tr><td style="text-indent:48pt"></convert_FluidSynth></td></tr>
<tr>
<td style="text-indent:48pt"><convert_Timidity></td>
<td rowspan="3"><span class="non-selectable-comment">**see <a href="#midi_music">4.2.</a></span></td>
</tr>
<tr><td style="text-indent:48pt">
none
</td></tr>
<tr><td style="text-indent:48pt"></convert_Timidity></td></tr>
<tr>
<td style="text-indent:48pt"><convert_CoreAudio></td>
<td rowspan="3"><span class="non-selectable-comment">**see <a href="#midi_music">4.2.</a></span></td>
</tr>
<tr><td style="text-indent:48pt">
gm
</td></tr>
<tr><td style="text-indent:48pt"></convert_CoreAudio></td></tr>
<tr>
<td style="text-indent:48pt"><convert_CoreMidi></td>
<td rowspan="3"><span class="non-selectable-comment">**see <a href="#midi_music">4.2.</a></span></td>
</tr>
<tr><td style="text-indent:48pt">
none
</td></tr>
<tr><td style="text-indent:48pt"></convert_CoreMidi></td></tr>
<tr>
<td style="text-indent:48pt"><looping></td>
<td rowspan="3"><span class="non-selectable-comment">**Changes music looping, options are auto, never, endless, limited. See <a href="#music">4.1.</a></span></td>
</tr>
<tr><td style="text-indent:48pt">
yes
</td></tr>
<tr><td style="text-indent:48pt"></looping></td></tr>
<tr>
<td style="text-indent:48pt"><chorus></td>
<td></td>
</tr>
<tr>
<td style="text-indent:64pt"><enabled_Windows></td>
<td rowspan="3"><span class="non-selectable-comment">**alters the way MIDI is played.</span></td>
</tr>
<tr><td style="text-indent:64pt">
no
</td></tr>
<tr><td style="text-indent:64pt"></enabled_Windows></td></tr>
<tr>
<td style="text-indent:64pt"><level_Windows></td>
<td rowspan="3"><span class="non-selectable-comment">**how much the MIDI is altered. Value can be 0-127.</span></td>
</tr>
<tr><td style="text-indent:64pt">
0
</td></tr>
<tr><td style="text-indent:64pt"></level_Windows></td></tr>
<tr>
<td style="text-indent:64pt"><enabled_FMOpl></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:64pt">
no
</td></tr>
<tr><td style="text-indent:64pt"></enabled_FMOpl></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><level_FMOpl></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
0
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></level_FMOpl></td></tr>
<tr>
<td style="text-indent:64pt"><enabled_Timidity></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:64pt">
no
</td></tr>
<tr><td style="text-indent:64pt"></enabled_Timidity></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><level_Timidity></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
0
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></level_Timidity></td></tr>
<tr>
<td style="text-indent:64pt"><enabled_CoreAudio></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:64pt">
no
</td></tr>
<tr><td style="text-indent:64pt"></enabled_CoreAudio></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><level_CoreAudio></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
0
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></level_CoreAudio></td></tr>
<tr>
<td style="text-indent:64pt"><enabled_CoreMidi></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:64pt">
no
</td></tr>
<tr><td style="text-indent:64pt"></enabled_CoreMidi></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><level_CoreMidi></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
0
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></level_CoreMidi></td></tr>
<tr>
<td style="text-indent:64pt"><enabled_FluidSynth></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:64pt">
no
</td></tr>
<tr><td style="text-indent:64pt"></enabled_FluidSynth></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><level_FluidSynth></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
0
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></level_FluidSynth></td></tr>
<tr><td style="text-indent:48pt"></chorus></td></tr>
<tr>
<td style="text-indent:48pt"><reverb></td>
<td></td>
</tr>
<tr>
<td style="text-indent:64pt"><enabled_Windows></td>
<td rowspan="3"><span class="non-selectable-comment">**alters the way MIDI is played.</span></td>
</tr>
<tr><td style="text-indent:64pt">
no
</td></tr>
<tr><td style="text-indent:64pt"></enabled_Windows></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><level_Windows></td>
<td rowspan="3"><span class="non-selectable-comment">**how much the MIDI is altered. Value can be 0-127.</span></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
0
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></level_Windows></td></tr>
<tr>
<td style="text-indent:64pt"><enabled_FMOpl></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:64pt">
no
</td></tr>
<tr><td style="text-indent:64pt"></enabled_FMOpl></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><level_FMOpl></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
0
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></level_FMOpl></td></tr>
<tr>
<td style="text-indent:64pt"><enabled_Timidity></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:64pt">
no
</td></tr>
<tr><td style="text-indent:64pt"></enabled_Timidity></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><level_Timidity></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
0
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></level_Timidity></td></tr>
<tr>
<td style="text-indent:64pt"><enabled_CoreAudio></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:64pt">
no
</td></tr>
<tr><td style="text-indent:64pt"></enabled_CoreAudio></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><level_CoreAudio></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
0
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></level_CoreAudio></td></tr>
<tr>
<td style="text-indent:64pt"><enabled_CoreMidi></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:64pt">
no
</td></tr>
<tr><td style="text-indent:64pt"></enabled_CoreMidi></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><level_CoreMidi></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
0
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></level_CoreMidi></td></tr>
<tr>
<td style="text-indent:64pt"><enabled_FluidSynth></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:64pt">
no
</td></tr>
<tr><td style="text-indent:64pt"></enabled_FluidSynth></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><level_FluidSynth></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
0
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></level_FluidSynth></td></tr>
<tr><td style="text-indent:48pt"></reverb></td></tr>
<tr class="
highlight">
<td style="text-indent:48pt"><precacheTimbers></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:64pt"><onStartup></td>
<td rowspan="3">
<span class="non-selectable-comment">**when enabled it preloads the entire timbre bank on starting </span><span class="non-selectable-comment">up <em>Exult</em> with a penalty on start up time.</span>
</td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
no
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></onStartup></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><onPlay></td>
<td rowspan="3">
<span class="non-selectable-comment">**only preloads needed timbres and patches when a song gets </span><span class="non-selectable-comment">loaded.</span>
</td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
yes
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></onPlay></td></tr>
<tr class="
highlight"><td style="text-indent:48pt"></precacheTimbers></td></tr>
<tr>
<td style="text-indent:48pt"><win32_device></td>
<td rowspan="3"><span class="non-selectable-comment">**choose the Windows MIDI Device. See <a href="#win32_device">4.4.</a></span></td>
</tr>
<tr><td style="text-indent:48pt">
-1
</td></tr>
<tr><td style="text-indent:48pt"></win32_device></td></tr>
<tr>
<td style="text-indent:48pt"><coreaudio_soundfont></td>
<td rowspan="3">
<span class="non-selectable-comment">**path to the sound font you want to use for CoreAudio on macOS. </span><span class="non-selectable-comment">CoreAudio uses the system sound font by default.</span>
</td>
</tr>
<tr><td style="text-indent:48pt">
path
</td></tr>
<tr><td style="text-indent:48pt"></coreaudio_soundfont></td></tr>
<tr>
<td style="text-indent:48pt"><coremidi_device></td>
<td rowspan="3">
<span class="non-selectable-comment">**select the CoreMidi device ID on macOS. </span><span class="non-selectable-comment">You need to start Exult from Terminal.app to see the IDs when you select CoreMidi as Midi driver.</span><span class="non-selectable-comment">See <a href="#coremidi_device">4.5.</a>.</span>
</td>
</tr>
<tr><td style="text-indent:48pt">
0
</td></tr>
<tr><td style="text-indent:48pt"></coremidi_device></td></tr>
<tr>
<td style="text-indent:48pt"><alsa_port></td>
<td rowspan="3">
<span class="non-selectable-comment">**use this to change the ALSA port when you have chosen alsa as your driver </span><span class="non-selectable-comment">(format: XX:YY).</span>
</td>
</tr>
<tr><td style="text-indent:48pt">
65:0
</td></tr>
<tr><td style="text-indent:48pt"></alsa_port></td></tr>
<tr>
<td style="text-indent:48pt"><unixseqdevice></td>
<td rowspan="3"><span class="non-selectable-comment">**the device to be used when you have chosen the driver UnixSeqDevice</span></td>
</tr>
<tr><td style="text-indent:48pt">
/dev/sequencer
</td></tr>
<tr><td style="text-indent:48pt"></unixseqdevice></td></tr>
<tr>
<td style="text-indent:48pt"><fluidsynth_soundfont></td>
<td rowspan="3">
<span class="non-selectable-comment">**path to the sound font that will be used to render the MIDI music </span><span class="non-selectable-comment">when FluidSynth is chosen as driver.</span>
</td>
</tr>
<tr><td style="text-indent:48pt">
path
</td></tr>
<tr><td style="text-indent:48pt"></fluidsynth_soundfont></td></tr>
<tr>
<td style="text-indent:48pt"><fluidsynth_soundfontN></td>
<td rowspan="3">
<span class="non-selectable-comment">**support for FluidSynth SoundFont stack, add multiple SoundFonts </span><span class="non-selectable-comment">(N = 0 to 9). See <a href="#midi_music">4.2.</a>.</span>
</td>
</tr>
<tr><td style="text-indent:48pt">
path
</td></tr>
<tr><td style="text-indent:48pt"></fluidsynth_soundfontN></td></tr>
<tr class="
highlight">
<td style="text-indent:48pt"><volume_curve></td>
<td rowspan="3"><span class="non-selectable-comment">**set volume (kind of at least, best don't change)</span></td>
</tr>
<tr class="
highlight"><td style="text-indent:48pt">
1.000000
</td></tr>
<tr class="
highlight"><td style="text-indent:48pt"></volume_curve></td></tr>
<tr>
<td style="text-indent:48pt"><volume_FMOpl></td>
<td rowspan="3"><span class="non-selectable-comment">**FMOpl volume</span></td>
</tr>
<tr><td style="text-indent:48pt">
100
</td></tr>
<tr><td style="text-indent:48pt"></volume_FMOpl></td></tr>
<tr>
<td style="text-indent:48pt"><volume_ogg></td>
<td rowspan="3"><span class="non-selectable-comment">**Digital Music volume</span></td>
</tr>
<tr><td style="text-indent:48pt">
100
</td></tr>
<tr><td style="text-indent:48pt"></volume_ogg></td></tr>
<tr>
<td style="text-indent:48pt"><volume_CoreAudio></td>
<td rowspan="3"><span class="non-selectable-comment">**CoreAudio volume</span></td>
</tr>
<tr><td style="text-indent:48pt">
100
</td></tr>
<tr><td style="text-indent:48pt"></volume_CoreAudio></td></tr>
<tr>
<td style="text-indent:48pt"><volume_MT32Emu></td>
<td rowspan="3"><span class="non-selectable-comment">**MT32 volume</span></td>
</tr>
<tr><td style="text-indent:48pt">
100
</td></tr>
<tr><td style="text-indent:48pt"></volume_MT32Emu></td></tr>
<tr>
<td style="text-indent:48pt"><volume_FluidSynth></td>
<td rowspan="3"><span class="non-selectable-comment">**FluidSynth volume</span></td>
</tr>
<tr><td style="text-indent:48pt">
100
</td></tr>
<tr><td style="text-indent:48pt"></volume_FluidSynth></td></tr>
<tr><td style="text-indent:32pt"></midi></td></tr>
<tr><td style="text-indent:16pt"></audio></td></tr>
<tr>
<td style="text-indent:16pt"><video></td>
<td></td>
</tr>
<tr>
<td style="text-indent:32pt"><share_video_settings></td>
<td rowspan="3">
<span class="non-selectable-comment">**yes means that fullscreen and windowed mode share the same</span><span class="non-selectable-comment">video settings.</span>
</td>
</tr>
<tr><td style="text-indent:32pt">
yes
</td></tr>
<tr><td style="text-indent:32pt"></share_video_settings></td></tr>
<tr>
<td style="text-indent:32pt"><fullscreen></td>
<td rowspan="3"><span class="non-selectable-comment">**do you want to play full screen?</span></td>
</tr>
<tr><td style="text-indent:32pt">
no
</td></tr>
<tr><td style="text-indent:32pt"></fullscreen></td></tr>
<tr>
<td style="text-indent:32pt"><scale_method></td>
<td rowspan="3"><span class="non-selectable-comment">**choose different scalers here - see <a href="#scaler">5.4.</a> - applies to fullscreen if video settings are not shared.</span></td>
</tr>
<tr><td style="text-indent:32pt">
2xSaI
</td></tr>
<tr><td style="text-indent:32pt"></scale_method></td></tr>
<tr>
<td style="text-indent:32pt"><scale></td>
<td rowspan="3">
<span class="non-selectable-comment">**2 enables / 1 disables scaling, some scalers support higher values. </span><span class="non-selectable-comment">See <a href="#scaler">5.4.</a> - applies to fullscreen if video settings are not shared.</span>
</td>
</tr>
<tr><td style="text-indent:32pt">
2
</td></tr>
<tr><td style="text-indent:32pt"></scale></td></tr>
<tr>
<td style="text-indent:32pt"><display></td>
<td></td>
</tr>
<tr>
<td style="text-indent:48pt"><width></td>
<td rowspan="3">
<span class="non-selectable-comment">**here you choose the resolution of the Exult window.</span><span class="non-selectable-comment">The default will be the lowest resolution that your system supports.</span><span class="non-selectable-comment">Applies to fullscreen if video settings are not shared.</span>
</td>
</tr>
<tr><td style="text-indent:48pt">
640
</td></tr>
<tr><td style="text-indent:48pt"></width></td></tr>
<tr>
<td style="text-indent:48pt"><height></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:48pt">
480
</td></tr>
<tr><td style="text-indent:48pt"></height></td></tr>
<tr><td style="text-indent:32pt"></display></td></tr>
<tr>
<td style="text-indent:32pt"><game></td>
<td></td>
</tr>
<tr>
<td style="text-indent:48pt"><width></td>
<td rowspan="3">
<span class="non-selectable-comment">**here you choose at what resolution you run the games in the</span><span class="non-selectable-comment"><em>Exult</em> window. 320x200 is the resolution of the original.</span><span class="non-selectable-comment">0x0 means that <em>Exult</em> will determine the best way to match</span><span class="non-selectable-comment">game resolution to <em>Exult</em> resolution - applies to fullscreen if video settings are not shared.</span>
</td>
</tr>
<tr><td style="text-indent:48pt">
320
</td></tr>
<tr><td style="text-indent:48pt"></width></td></tr>
<tr>
<td style="text-indent:48pt"><height></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:48pt">
200
</td></tr>
<tr><td style="text-indent:48pt"></height></td></tr>
<tr class="
highlight">
<td style="text-indent:48pt"><border></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:64pt"><red></td>
<td rowspan="3">
<span class="non-selectable-comment">**if game resolution doesn't match <em>Exult</em> resolution </span><span class="non-selectable-comment">you have borders around the game res. With these you can </span><span class="non-selectable-comment">change the black default border color - applies to fullscreen if video settings are not shared.</span>
</td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
0
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></red></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><green></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
0
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></green></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><blue></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
0
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></blue></td></tr>
<tr class="
highlight"><td style="text-indent:48pt"></border></td></tr>
<tr><td style="text-indent:32pt"></game></td></tr>
<tr>
<td style="text-indent:32pt"><fill_mode></td>
<td rowspan="3">
<span class="non-selectable-comment">**Possible options are Fill, Fit, Aspect Correct Fit, Centre and Aspect Correct Centre.</span><span class="non-selectable-comment">Please see <a href="#video_fill_modes">5.2.</a> for more information about these options.</span><span class="non-selectable-comment">Applies to fullscreen if video settings are not shared.</span>
</td>
</tr>
<tr><td style="text-indent:32pt">
Centre
</td></tr>
<tr><td style="text-indent:32pt"></fill_mode></td></tr>
<tr>
<td style="text-indent:32pt"><fill_scaler></td>
<td rowspan="3">
<span class="non-selectable-comment">**Chose between Point and Bilinear.</span><span class="non-selectable-comment">Please see <a href="#video_fill_modes">5.2.</a> for more information about this - applies to fullscreen if video settings are not shared.</span>
</td>
</tr>
<tr><td style="text-indent:32pt">
Bilinear
</td></tr>
<tr><td style="text-indent:32pt"></fill_scaler></td></tr>
<tr>
<td style="text-indent:32pt"><windows></td>
<td><span class="non-selectable-comment">settings for display in a window. Same applies as to fullscreen.</span></td>
</tr>
<tr>
<td style="text-indent:48pt"><scale_method></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:48pt">
2xSaI
</td></tr>
<tr><td style="text-indent:48pt"></scale_method></td></tr>
<tr>
<td style="text-indent:48pt"><scale></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:48pt">
2
</td></tr>
<tr><td style="text-indent:48pt"></scale></td></tr>
<tr>
<td style="text-indent:48pt"><display></td>
<td></td>
</tr>
<tr>
<td style="text-indent:64pt"><width></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:64pt">
640
</td></tr>
<tr><td style="text-indent:64pt"></width></td></tr>
<tr>
<td style="text-indent:64pt"><height></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:64pt">
240
</td></tr>
<tr><td style="text-indent:64pt"></height></td></tr>
<tr><td style="text-indent:48pt"></display></td></tr>
<tr>
<td style="text-indent:48pt"><game></td>
<td></td>
</tr>
<tr>
<td style="text-indent:64pt"><width></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:64pt">
320
</td></tr>
<tr><td style="text-indent:64pt"></width></td></tr>
<tr>
<td style="text-indent:64pt"><height></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:64pt">
200
</td></tr>
<tr><td style="text-indent:64pt"></height></td></tr>
<tr><td style="text-indent:48pt"></game></td></tr>
<tr>
<td style="text-indent:48pt"><fill_mode></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:48pt">
Centre
</td></tr>
<tr><td style="text-indent:48pt"></fill_mode></td></tr>
<tr>
<td style="text-indent:48pt"><fill_scaler></td>
<td rowspan="3"><span class="non-selectable-comment">Please see <a href="#video_fill_modes">5.2.</a> for more information about this.</span></td>
</tr>
<tr><td style="text-indent:48pt">
Bilinear
</td></tr>
<tr><td style="text-indent:48pt"></fill_scaler></td></tr>
<tr><td style="text-indent:32pt"></windows></td></tr>
<tr class="
highlight">
<td style="text-indent:32pt"><force_bpp></td>
<td rowspan="3">
<span class="non-selectable-comment">**force output bpp. Valid values are 0 (for any), 8, 16 or 32.</span><span class="non-selectable-comment">If set to 8 most scalers will not work and will display as the</span><span class="non-selectable-comment">fallback point scaler.</span>
</td>
</tr>
<tr class="
highlight"><td style="text-indent:32pt">
0
</td></tr>
<tr class="
highlight"><td style="text-indent:32pt"></force_bpp></td></tr>
<tr class="
highlight">
<td style="text-indent:32pt"><disable_fades></td>
<td rowspan="3"><span class="non-selectable-comment">**"no" enables fading between different menu points</span></td>
</tr>
<tr class="
highlight"><td style="text-indent:32pt">
no
</td></tr>
<tr class="
highlight"><td style="text-indent:32pt"></disable_fades></td></tr>
<tr>
<td style="text-indent:32pt"><fps></td>
<td rowspan="3">
<span class="non-selectable-comment">**Speed setting. Might help when the game seems too slow or too fast.</span><span class="non-selectable-comment"> The in game menu shows this setting in the Gameplay menu.</span>
</td>
</tr>
<tr><td style="text-indent:32pt">
10
</td></tr>
<tr><td style="text-indent:32pt"></fps></td></tr>
<tr class="
highlight">
<td style="text-indent:32pt"><gamma></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:48pt"><red></td>
<td rowspan="3"><span class="non-selectable-comment">**set gamma levels to adjust brightness, same as +/- in game</span></td>
</tr>
<tr class="
highlight"><td style="text-indent:48pt">
1
</td></tr>
<tr class="
highlight"><td style="text-indent:48pt"></red></td></tr>
<tr class="
highlight">
<td style="text-indent:48pt"><green></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:48pt">
1
</td></tr>
<tr class="
highlight"><td style="text-indent:48pt"></green></td></tr>
<tr class="
highlight">
<td style="text-indent:48pt"><blue></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:48pt">
1
</td></tr>
<tr class="
highlight"><td style="text-indent:48pt"></blue></td></tr>
<tr class="
highlight"><td style="text-indent:32pt"></gamma></td></tr>
<tr><td style="text-indent:16pt"></video></td></tr>
<tr>
<td style="text-indent:16pt"><shortcutbar></td>
<td></td>
</tr>
<tr>
<td style="text-indent:32pt"><use_shortcutbar></td>
<td rowspan="3">
<span class="non-selectable-comment">**options are yes/translucent (will not be translucent if not on </span><span class="non-selectable-comment">map, default on iOS)</span>
</td>
</tr>
<tr><td style="text-indent:32pt">
no
</td></tr>
<tr><td style="text-indent:32pt"></use_shortcutbar></td></tr>
<tr>
<td style="text-indent:32pt"><use_outline_color></td>
<td rowspan="3">
<span class="non-selectable-comment">**outline around shortcutbar buttons only if the bar is on the map.</span><span class="non-selectable-comment">Options are: no, green, white, yellow, blue, red, purple, black (default).</span>
</td>
</tr>
<tr><td style="text-indent:32pt">
black
</td></tr>
<tr><td style="text-indent:32pt"></use_outline_color></td></tr>
<tr>
<td style="text-indent:32pt"><hide_missing_items></td>
<td rowspan="3">
<span class="non-selectable-comment">**hides ShortcutBar buttons for items the party doesn't have.</span><span class="non-selectable-comment">no shows those buttons greyed out.</span>
</td>
</tr>
<tr><td style="text-indent:32pt">
yes
</td></tr>
<tr><td style="text-indent:32pt"></hide_missing_items></td></tr>
<tr><td style="text-indent:16pt"></shortcutbar></td></tr>
<tr class="
highlight">
<td style="text-indent:16pt"><debug></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:32pt"><trace></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:48pt"><usecode></td>
<td rowspan="3">
<span class="non-selectable-comment">**options are yes/no/verbose. This is used to trace the </span><span class="non-selectable-comment">executed Usecode. (You shouldn't need this unless you are a programmer.)</span>
</td>
</tr>
<tr class="
highlight"><td style="text-indent:48pt">
no
</td></tr>
<tr class="
highlight"><td style="text-indent:48pt"></usecode></td></tr>
<tr class="
highlight">
<td style="text-indent:48pt"><intrinsics></td>
<td rowspan="3">
<span class="non-selectable-comment">**options are yes/no. Used to trace intrinsics. </span><span class="non-selectable-comment">(You shouldn't need this unless you are a programmer.)</span>
</td>
</tr>
<tr class="
highlight"><td style="text-indent:48pt">
no
</td></tr>
<tr class="
highlight"><td style="text-indent:48pt"></intrinsics></td></tr>
<tr class="
highlight">
<td style="text-indent:48pt"><combat></td>
<td rowspan="3"><span class="non-selectable-comment">**options are yes/no. If enabled, show combat messages.</span></td>
</tr>
<tr class="
highlight"><td style="text-indent:48pt">
no
</td></tr>
<tr class="
highlight"><td style="text-indent:48pt"></combat></td></tr>
<tr class="
highlight"><td style="text-indent:32pt"></trace></td></tr>
<tr class="
highlight"><td style="text-indent:16pt"></debug></td></tr>
<tr><td style="text-indent:0pt"></config></td></tr>
</table>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="path_config">11.2. Path-Settings</a></strong></td></tr>
<tr><td>
<p>
The way <em>Exult</em> generates default paths (for gamedat, savegames, mods, patches) has changed since Version 1.2. It will
not write these paths to exult.cfg but use them automatically.<br>
The location where <em>Exult</em> expects those, and if needed, will create those folders is similarly depending on the Operating
System as the location of exult.cfg (see <a href="#exult_config_location">2.2. Location of exult.cfg</a>).
If you were to override these paths you would need to change the following tags (you can substitute gamename with the
'known games' - see <a href="#terms">1.3.</a>):
</p>
<table class="borderless">
<tr>
<td style="text-indent:0pt"><config></td>
<td></td>
</tr>
<tr>
<td style="text-indent:16pt"><disk></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:32pt"><data_path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:32pt">
data
</td></tr>
<tr class="
highlight"><td style="text-indent:32pt"></data_path></td></tr>
<tr>
<td style="text-indent:32pt"><game></td>
<td></td>
</tr>
<tr>
<td style="text-indent:48pt"><gamename></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:64pt"><path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to/gamename
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><static_path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to/gamename/static
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></static_path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><savegame_path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
optional_path
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></savegame_path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><gamedat_path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
optional_path/gamedat
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></gamedat_path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><mods></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to/gamename/mods
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></mods></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><patch></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to/gamename/patch
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></patch></td></tr>
<tr><td style="text-indent:48pt"></gamename></td></tr>
</table>
<p>
But normally you don't need to. On starting up, <em>Exult</em> will first read which games
are available as configured in exult.cfg.
Then it will use the <path> setting and assume that <static_path> is <path>/static.<br>
For <savegame_path>, <gamedat_path>, <mods> and <patch> <em>Exult</em> will assume
Operating System specific paths.
</p>
<p>
These folders are used for:
</p>
<ul>
<li><data_path><br>
the most important folder. In this folder are the files <em>Exult</em> absolutely needs to run. We also check the checksums of these
files to make sure that <em>Exult</em> uses the correct ones.</li>
<li><static_path><br>
the second most important folder. In there you have the data files from the original game. You should
never touch these files.</li>
<li><savegame_path><br>
this is where <em>Exult</em> stores your savegames.</li>
<li><gamedat_path><br>
contains the (dynamic) data for the game you're currently playing. It's where the
'journey onward' and 'quicksave' 'savegame' is stored.</li>
<li><mods><br>
here mods for games are saved to. More information on this at <a href="#mods_intro">8.1. Introduction to Mods and Patches</a>
</li>
<li><patch><br>
Patches for games are saved here. More information on this at <a href="#mods_intro">8.1. Introduction to Mods and Patches</a>
</li>
</ul>
<p>
Some notes for <strong>all</strong> Operating Systems:
</p>
<ul>
<li>On Windows all of these settings, except for the <path> setting, are
<strong>optional and not required</strong>,
Exult will sort this out on its own.</li>
<li>On Linux and macOS you might even not need to touch the <path> setting, if you stick to
our standard gamenames.</li>
<li>You can either use the relative (e.g. <span class="highlight"><kbd>./ultima7</kbd></span>) or absolute
(e.g. <span class="highlight"><kbd>C:\Games\ultima7</kbd></span>) path to point to the correct folder. The relative path uses
the exult.exe, exult binary or Exult.app as base.</li>
<li>Better don't use spaces in the path (e.g. <span class="highlight"><kbd>C:\Games\the black gate\</kbd></span>). Some people
seem to have reported problems with that.</li>
<li>Path settings in exult.cfg are the <strong>same</strong> on <strong>all</strong> operating systems.
Of course you need to make adjustments on Linux systems when you enter the absolute path.</li>
<li>
<em>Exult</em> and <em>Exult Studio</em> don't trust the exult.cfg 100% and will recognize which games
you entered the path for. This means, that if you entered the path to SI in the
<blackgate><path> <em>Exult</em> and <em>Exult Studio</em> will not be fooled.</li>
<li>Don't ever point <static_path> and <gamedat_path> to the same folder.</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="path_config_nt5">11.3. Path-Settings for Windows</a></strong></td></tr>
<tr><td>
<p>
On Windows (7, 8, 10, 11), <em>Exult</em> uses the special system folder <span class="highlight"><kbd>LOCAL_APPDATA</kbd></span>:
</p>
<table class="borderless">
<tr>
<td style="text-indent:0pt"><config></td>
<td></td>
</tr>
<tr>
<td style="text-indent:16pt"><disk></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:32pt"><data_path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:32pt">
data
</td></tr>
<tr class="
highlight"><td style="text-indent:32pt"></data_path></td></tr>
<tr>
<td style="text-indent:32pt"><game></td>
<td></td>
</tr>
<tr>
<td style="text-indent:48pt"><gamename></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:64pt"><path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to\gamename
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><static_path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to/gamename/static
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></static_path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><savegame_path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
LOCAL_APPDATA\Exult\gamename
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></savegame_path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><gamedat_path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
LOCAL_APPDATA\Exult\gamename\gamedat
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></gamedat_path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><mods></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to\gamename\mods
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></mods></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><patch></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to\gamename\patch
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></patch></td></tr>
<tr><td style="text-indent:48pt"></gamename></td></tr>
</table>
<p>
<span class="highlight"><kbd>LOCAL_APPDATA\Exult</kbd></span> translates to <span class="highlight"><kbd>C:\Users\YourUsername\AppData\Local\Exult</kbd></span>.<br>
Also not that you can quickly access this folder by executing <span class="highlight"><kbd>shell:Local AppData\Exult</kbd></span>
in the 'Quick Access' of Explorer.<br>
For now <em>Exult</em>'s data folder is always installed into the same folder where you installed
<em>Exult</em> to (default is <span class="highlight"><kbd>C:\Program Files (x86)\Exult</kbd></span>).<br>
Also note that in contrast to macOS and Linux systems there is no default path, where <em>Exult</em> looks
for the games. You have to choose that folder yourself, but the installer will ask you for the BG and SI
folder to set your paths up.
</p>
<p>
Example: User named <strong>FooBar</strong> on <strong>Windows 11</strong>. BG is installed
to <span class="highlight"><kbd>C:\Ultima7\blackgate</kbd></span> and SI is installed to <span class="highlight"><kbd>C:\Ultima7\serpentisle</kbd></span>.
The installer of <em>Exult</em> asks for the location of these two games and automatically saves that to
exult.cfg. The installer saves exult.cfg to <span class="highlight"><kbd>C:\Users\FooBar\AppData\Local\Exult\exult.cfg</kbd></span>.
<em>Exult</em> gets installed to <span class="highlight"><kbd>C:\Program Files (x86)\Exult</kbd></span>.<br>
When you save a game in BG the savegame will be saved to
<span class="highlight"><kbd>C:\Users\FooBar\AppData\Local\Exult\blackgate\</kbd></span>, for SI to
<span class="highlight"><kbd>C:\Users\FooBar\AppData\Local\Exult\serpentisle\</kbd></span>.<br>
If you install for example the keyring mod, you copy the contents of the Keyring.zip to
<span class="highlight"><kbd>C:\Ultima7\blackgate\mods</kbd></span>. When you save a game with the Keyring mod, this savegame will be found in
<span class="highlight"><kbd>C:\Users\FooBar\AppData\Local\Exult\blackgate\mods\keyring\</kbd></span>.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="path_config_osx">11.4. Path-Settings for macOS</a></strong></td></tr>
<tr><td>
<p>
On macOS <em>Exult</em> uses a couple of different folders to follow Apple's guidelines:
</p>
<table class="borderless">
<tr>
<td style="text-indent:0pt"><config></td>
<td></td>
</tr>
<tr>
<td style="text-indent:16pt"><disk></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:32pt"><data_path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:32pt">
/Library/Application Support/Exult/data
</td></tr>
<tr class="
highlight"><td style="text-indent:32pt"></data_path></td></tr>
<tr>
<td style="text-indent:32pt"><game></td>
<td></td>
</tr>
<tr>
<td style="text-indent:48pt"><gamename></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:64pt"><path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
/Library/Application Support/Exult/gamename
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><static_path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
/Library/Application Support/Exult/gamename/static
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></static_path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><savegame_path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
~/Library/Application Support/exult/gamename
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></savegame_path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><gamedat_path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
~/Library/Application Support/exult/gamename/gamedat
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></gamedat_path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><mods></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
/Library/Application Support/exult/gamename/mods
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></mods></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><patch></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
/Library/Application Support/exult/gamename/patch
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></patch></td></tr>
<tr><td style="text-indent:48pt"></gamename></td></tr>
</table>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="path_config_nix">11.5. Path-Settings for Linux/Unix systems</a></strong></td></tr>
<tr><td>
<p>
On Linux/Unix based systems <em>Exult</em> uses:
</p>
<table class="borderless">
<tr>
<td style="text-indent:0pt"><config></td>
<td></td>
</tr>
<tr>
<td style="text-indent:16pt"><disk></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:32pt"><data_path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:32pt">
/usr/local/share/exult
</td></tr>
<tr class="
highlight"><td style="text-indent:32pt"></data_path></td></tr>
<tr>
<td style="text-indent:32pt"><game></td>
<td></td>
</tr>
<tr>
<td style="text-indent:48pt"><gamename></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:64pt"><path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
/usr/local/share/exult/gamename
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><static_path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
/usr/local/share/exult/gamename/static
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></static_path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><savegame_path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
$HOME/.exult/gamename
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></savegame_path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><gamedat_path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
$HOME/.exult/gamename/gamedat
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></gamedat_path></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><mods></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
/usr/local/share/exult/gamename/mods
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></mods></td></tr>
<tr class="
highlight">
<td style="text-indent:64pt"><patch></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
/usr/local/share/exult/gamename/patch
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></patch></td></tr>
<tr><td style="text-indent:48pt"></gamename></td></tr>
</table>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="advanced_config">11.6. Advanced Configuration: Using both the original and the Add-Ons</a></strong></td></tr>
<tr><td>
<p>
If you own both BG or SI without the add-ons FoV and SS and also the versions
that has the add-ons you can now have them both shown in the <em>Exult</em> menu. Before
you had to edit the exult.cfg when you wanted to switch the games.<br>
You now just have to add the tags for the two games.
</p>
<table class="borderless">
<tr>
<td style="text-indent:0pt"><config></td>
<td></td>
</tr>
<tr>
<td style="text-indent:16pt"><disk></td>
<td></td>
</tr>
<tr>
<td style="text-indent:32pt"><game></td>
<td></td>
</tr>
<tr>
<td style="text-indent:48pt"><blackgate></td>
<td></td>
</tr>
<tr>
<td style="text-indent:64pt"><path></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:64pt">
path_to/blackgate
</td></tr>
<tr><td style="text-indent:64pt"></path></td></tr>
<tr><td style="text-indent:48pt"></blackgate></td></tr>
<tr class="
highlight">
<td style="text-indent:48pt"><forgeofvirtue></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:64pt"><path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to/forgeofvirtue
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></path></td></tr>
<tr class="
highlight"><td style="text-indent:48pt"></forgeofvirtue></td></tr>
<tr>
<td style="text-indent:48pt"><serpentisle></td>
<td></td>
</tr>
<tr>
<td style="text-indent:64pt"><path></td>
<td rowspan="3"></td>
</tr>
<tr><td style="text-indent:64pt">
path_to/serpentisle
</td></tr>
<tr><td style="text-indent:64pt"></path></td></tr>
<tr><td style="text-indent:48pt"></serpentisle></td></tr>
<tr class="
highlight">
<td style="text-indent:48pt"><silverseed></td>
<td></td>
</tr>
<tr class="
highlight">
<td style="text-indent:64pt"><path></td>
<td rowspan="3"></td>
</tr>
<tr class="
highlight"><td style="text-indent:64pt">
path_to/silverseed
</td></tr>
<tr class="
highlight"><td style="text-indent:64pt"></path></td></tr>
<tr class="
highlight"><td style="text-indent:48pt"></silverseed></td></tr>
<tr><td style="text-indent:32pt"></game></td></tr>
<tr><td style="text-indent:16pt"></disk></td></tr>
</table>
<p>
If you only own one version of the game, you don't have to worry about this
advanced configuration, just follow the instructions at <a href="#installation">2.1.</a>.
You only have to do this extra work if you want to differentiate between original game with
and without the add-on.
</p>
<p>
<b><i><span style="font-size: larger">Note:</span></i></b> Interchanging savegames of games started with or without the add-ons will make
your games unplayable.
</p>
<p>
And again, <em>Exult</em> and <em>Exult Studio</em> will not be fooled by false games under
<gamename><path>.
</p>
</td></tr>
</table>
<hr class="full-width">
<table class="full-width">
<tr><th class="left-aligned"><a id="Installing-the-original-Ultima-VII-games-for-use-with-Exult">12. Installing the original Ultima VII games for use with Exult</a></th></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="gog_windows">12.1. Using GOG.com's installer for Windows</a></strong></td></tr>
<tr><td>
<p>
Since November 2011 you can buy Ultima VII from <a href="https://www.gog.com">GOG</a>.
Unfortunately GOG only offers a Windows installer that you can't easily circumvent, which makes
it a challenge for users that use a different OS than Windows.
</p>
<p>
Right now the only way to get at the game files is to run the installer on Windows (or in WINE
if you are not a Windows user). After the installation you will find the game files in
<span class="highlight"><kbd>C:\GOG Games\Ultima 7</kbd></span> and
<span class="highlight"><kbd>C:\GOG Games\Ultima 7 - Serpent Isle</kbd></span>.
</p>
<p>
After installation you can just run our installer and when asked where the games are installed
enter or browse to the above paths.<br>
Unfortunately GOG changes the download of the games for some unknown reason again and again. So our instructions are
sometimes out of date. These ones are for the latest GOG release at the time of writing (version 1.0_(22309)). If it
doesn't work, please let us know.
</p>
<p>
On Linux systems you can use <a href="https://constexpr.org/innoextract/">innoextract</a> to extract the
games from the GOG installer.<br>
<span class="highlight"><kbd>innoextract -L -d /usr/share/exult/forgeofvirtue -e "path to GOG UltimaVII BG installer/setup_ultima_vii_-_the_black_gate_1.0_(22309).exe"</kbd></span><br>
<span class="highlight"><kbd>innoextract -L -d /usr/share/exult/silverseed -e "path to GOG Ultima VII SI installer/setup_ultima_vii_-_serpent_isle_1.0_(22309).exe"</kbd></span><br>
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="gog_mac">12.2. Using GOG.com's installer for macOS</a></strong></td></tr>
<tr><td>
<p>
Since January 2013 <a href="https://www.gog.com">GOG</a> also offers a macOS download for each of the
Ultima VII parts. These are install packages for macOS that will install the
two parts into your Applications folder as applications that use a modified version of DOSBox to play the game.
If you want to make <em>Exult</em> automatically find the games, you will need to copy the game files from these
applications to a different folder on your hard drive. To do this follow the next few steps.<br>
These instructions are the same whether you used the manual download from GOG or GOG Galaxy to install the games.
</p>
<p>
Open Terminal.app found in the Utilities subfolder of your Applications folder and enter the following commands:<br>
<span class="highlight"><kbd>sudo mkdir -p "/Library/Application Support/Exult/blackgate"</kbd></span><br>
<span class="highlight"><kbd>sudo mkdir -p "/Library/Application Support/Exult/serpentisle"</kbd></span><br>
<span class="highlight"><kbd>sudo cp -p -R "/Applications/Ultima VII™ - The Black Gate + The Forge of Virtue.app/Contents/Resources/game/STATIC" "/Library/Application Support/Exult/blackgate"</kbd></span><br>
<span class="highlight"><kbd>sudo cp -p -R "/Applications/Ultima VII™ - Serpent Isle + The Silver Seed.app/Contents/Resources/game/STATIC" "/Library/Application Support/Exult/serpentisle"</kbd></span><br>
Because we need elevated rights the commands are using sudo and will ask for your password and you
will need to do this with an administrator account. If you don't have that, please ask your administrator
to do this for you.<br>
Unfortunately GOG changes the download of the games for some unknown reason again and again. So our instructions are
sometimes out of date. These ones are for the latest GOG release at the time of writing (gog_3_34095). If it doesn't work,
please visit our forum and tell us.
</p>
<p>
If you are on a Linux system you can extract the files from the install packages via xar. In the extracted folder
<span class="highlight"><kbd>package.pkg</kbd></span> you will find a file called <span class="highlight"><kbd>Scripts</kbd></span> which is a cpio.gz archive.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="cdrom_install">12.3. Installing the CD-ROM versions of Ultima VII</a></strong></td></tr>
<tr><td>
<p>
There are a couple of CD-ROM versions of Ultima VII. Most of these come with the add-ons pre-installed
so with these you don't have to bother with installing the floppy disk version of the add-ons.
To our knowledge the following CD-ROM versions exist:
</p>
<ul>
<li>
<strong>EA Compilation</strong><br>
This includes BG and a couple of other games (Savage Empire, Ultima Underworld and other non-Ultima games).
Unfortunately BG does not have the add-on FoV included. From the CD just copy the folder <span class="highlight"><kbd>Ultima7</kbd></span> to
<span class="highlight"><kbd>C:\Games\ULTIMA7</kbd></span>.</li>
<li>
<strong>Ultima Collection</strong><br>
From the CD just copy the folders <span class="highlight"><kbd>Serpent</kbd></span> and <span class="highlight"><kbd>Ultima7</kbd></span> to <span class="highlight"><kbd>C:\Games\ULTIMA7</kbd></span>
and <span class="highlight"><kbd>C:\Games\SERPENT</kbd></span>. Don't bother with the Ultima Collection installer. Both games come with
the add-ons included.</li>
<li>
<strong>The Complete Ultima VII (EA presents CD-ROM Classics)</strong><br>
On this CD-ROM the games are zipped in Serpent.zip and Ultima7.zip. Unzip serpent.zip to
<span class="highlight"><kbd>C:\Games\SERPENT</kbd></span> and unzip Ultima7.zip to <span class="highlight"><kbd>C:\Games\ULTIMA7</kbd></span>.<br>
Both games come with the add-ons included.</li>
</ul>
<p>
On Linux systems and macOS, you might run into a permissions problem. You need to set group
permissions to read and write.<br>
On macOS select both game folders in Finder, bring up info, go to Ownership and Permissions,
expand details, change Access under Group from read only to read and write, then
click Apply.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="dosbox_floppy">12.4. Installing the floppy disks of BG/SI using DOSBox</a></strong></td></tr>
<tr><td>
<p>
<a href="https://dosbox.com">DOSBox</a> is a program that emulates the old Dos
and should run on any operating system that <em>Exult</em> runs on (and more). So this is perfect
for users that don't run Windows.
</p>
<p>
To install Ultima VII with DOSBox, download and install DOSBox from
<a href="https://dosbox.com">https://dosbox.com</a>. Make a new folder in your <span class="highlight"><kbd>C:\</kbd></span> drive
called <span class="highlight"><kbd>Games</kbd></span>.<br>
Insert Disk 1 in your floppy drive, start DOSBox and enter the following:<br>
<span class="highlight"><kbd>mount c C:\Games</kbd></span><br>
<span class="highlight"><kbd>mount a a:\ -t floppy</kbd></span><br>
<span class="highlight"><kbd>a:</kbd></span><br>
<span class="highlight"><kbd>install</kbd></span><br>
</p>
<p>
These days you are less likely to have floppy drive in your computer. But if you created images
of your game floppies you can use these to install the games.<br>
Follow the above instructions until you are asked to insert Disk 1. Instead enter these commands:<br>
<span class="highlight"><kbd>mount c C:\Games</kbd></span><br>
<span class="highlight"><kbd>imgmount a /path/bg-1.img /path/bg-2.img /path/bg-3.img /path/bg-4.img /path/bg-5.img /path/bg-6.img -t floppy</kbd></span><br>
<span class="highlight"><kbd>a:</kbd></span><br>
<span class="highlight"><kbd>install</kbd></span><br>
Replace path with the path to your image files. In case of installing Serpent Isle enter this
for the imgmount command:<br>
<span class="highlight"><kbd>imgmount a /path/si-1.img /path/si-2.img /path/si-3.img /path/si-4.img /path/si-5.img /path/si-6.img /path/si-7.img -t floppy</kbd></span>
When you are asked to change disk use the keyboard shortcut '<span class="highlight">Ctrl+F4</span>', which will use the next image.
</p>
<p>
The installer will start and ask you on which drive to install Ultima VII to. Choose c and
when it asks for the target folder choose <span class="highlight"><kbd>C:\ULTIMA7</kbd></span> for BG or
<span class="highlight"><kbd>C:\SERPENT</kbd></span> for SI (in both cases you can just hit enter). Next you choose
the sound card, but as this is not relevant for <em>Exult</em>, choose 'No sound card'. Confirm the
settings with 'Y' and the installer begins to make noise in your floppy drive...<br>
When asked to insert the next floppy disk and hit any key (or ESC to cancel). When the
installation is done, the installer will complain, that 'something has put your system
in protected mode...', ignore that and press any key to continue. Again it will complain
that 'your current system configuration is not compatible with Ultima VII!...', ignore
that as well and press 'N' (you don't need a boot disk for playing U7 with <em>Exult</em>). Finally
hit any key to finish your installation. Close DOSBox. The game can now be found at
<span class="highlight"><kbd>C:\Games\ULTIMA7</kbd></span> or <span class="highlight"><kbd>C:\Games\SERPENT</kbd></span>.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="dosbox_addons">12.5. Installing the floppy disks of the Add-Ons FoV/SS using DOSBox</a></strong></td></tr>
<tr><td>
<p>
We assume you followed the above guide on how to <a href="#dosbox_floppy">12.4. Installing the floppy disks of BG/SI using DOSBox</a>, so you
should have BG/SI installed to <span class="highlight"><kbd>C:\Games\ULTIMA7</kbd></span> or
<span class="highlight"><kbd>C:\Games\SERPENT</kbd></span>.
</p>
<p>
Insert the add-on floppy disk in your floppy drive, start DOSBox and type the following:<br>
<span class="highlight"><kbd>mount c C:\Games</kbd></span><br>
<span class="highlight"><kbd>mount a a:\ -t floppy</kbd></span><br>
<span class="highlight"><kbd>a:</kbd></span><br>
<span class="highlight"><kbd>install</kbd></span><br>
</p>
<p>
Similar to the previous guide you can use a floppy image to install the add-ons. Just use<br>
<span class="highlight"><kbd>imgmount a /path/fov.img -t floppy</kbd></span> instead of <span class="highlight"><kbd>mount a a:\ -t floppy</kbd></span>.
</p>
<p>
Now you have to choose the drive where you installed the game to. Choose C and the installer
will find the correct folder of BG/SI and will ask for your confirmation to proceed with
the installation. Hit 'Y' and the installation will begin, at the end press any key to finish
the installation and to close the installer. Close DOSBox.<br>
FoV is then installed in <span class="highlight"><kbd>C:\Games\ULTIMA7</kbd></span>. SS is then installed in
<span class="highlight"><kbd>C:\Games\SERPENT</kbd></span>.
</p>
<p>
Unfortunately you might run into a DOSBox bug when installing the add-ons in DOSBox. You might
have to rename the file <span class="highlight"><kbd>C:\Games\ULTIMA7\static\usecode.new</kbd></span> to just
<span class="highlight"><kbd>C:\Games\ULTIMA7\static\usecode</kbd></span> (or
<span class="highlight"><kbd>C:\Games\SERPENT\static\usecode.new</kbd></span> to just
<span class="highlight"><kbd>C:\Games\SERPENT\static\usecode</kbd></span>), overwriting the existing usecode file.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="bg_manual">12.6. Manual installation of the BG floppy disks</a></strong></td></tr>
<tr><td>
<p>
If for some reason you can't use the above guides to install BG, there is also a way to
install BG without using the installer.
</p>
<p>
Copy all the files of your floppy files in one folder (e.g. <span class="highlight"><kbd>C:\Exult\BGfloppy</kbd></span>).
If you are using Windows open a command prompt (run -> cmd.exe) and change into this folder
(enter <span class="highlight"><kbd>cd C:\Exult\BGfloppy</kbd></span>). There enter the following lines and press return after
each line:<br>
<span class="highlight"><kbd>copy /b u7disk00 + U7disk01 + u7disk02 u7disk00.zip</kbd></span><br>
<span class="highlight"><kbd>copy /b u7disk10 + u7disk11 + u7disk12 u7disk10.zip</kbd></span><br>
<span class="highlight"><kbd>copy /b u7disk20 + u7disk21 u7disk20.zip</kbd></span><br>
If you are on a Linux system you use the cat command instead of copy /b, for example<br>
<span class="highlight"><kbd>cat u7disk00 U7disk01 u7disk02 >u7disk00.zip</kbd></span>
</p>
<p>
In that folder you can now find 3 zip files. You can now use winzip/winrar/any unarchiver
to extract the files (keep folder structure in the settings) to <span class="highlight"><kbd>C:\Games\ULTIMA7</kbd></span>.
Also copy the files INSTALL.EXE, PKUNZIP.EXE, INSTALL.PRM to <span class="highlight"><kbd>C:\Games\ULTIMA7</kbd></span>.
Or enter the following lines on the command prompt:<br>
<span class="highlight"><kbd>pkunzip -d -e u7disk00.zip C:\Games\ULTIMA7</kbd></span><br>
<span class="highlight"><kbd>pkunzip -d -e u7disk10.zip C:\Games\ULTIMA7</kbd></span><br>
<span class="highlight"><kbd>pkunzip -d -e u7disk20.zip C:\Games\ULTIMA7</kbd></span><br>
<span class="highlight"><kbd>copy *.exe C:\Games\ULTIMA7</kbd></span><br>
<span class="highlight"><kbd>copy install.prm C:\Games\ULTIMA7</kbd></span><br>
Installation is now finished and you can delete the folder <span class="highlight"><kbd>C:\Exult\BGfloppy</kbd></span>.
</p>
<p>
Unfortunately the Add-on installer makes use of unknown file archives so there are no
instructions to manually install it.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="si_manual">12.7. Manual installation of the SI floppy disks</a></strong></td></tr>
<tr><td>
<p>
If for some reason you can't use the above guides to install SI, there is also a way to
install SI without using the installer.
</p>
<p>
Copy all the files of your floppy files in one folder (e.g. <span class="highlight"><kbd>C:\Exult\SIfloppy</kbd></span>).
If you are using Windows open a command prompt (run -> cmd.exe) and change into this folder
(enter <span class="highlight"><kbd>cd C:\Exult\SIfloppy</kbd></span>). There enter the following lines and press return after
each line:<br>
<span class="highlight"><kbd>copy sidisk00 sidisk00.zip</kbd></span><br>
<span class="highlight"><kbd>copy /b sidisk10 + sidisk11 + sidisk12 + sidisk13 sidisk10.zip</kbd></span><br>
<span class="highlight"><kbd>copy /b sidisk20 + sidisk21 + sidisk22 sidisk20.zip</kbd></span><br>
<span class="highlight"><kbd>copy /b sidisk30 + sidisk31 sidisk30.zip</kbd></span><br>
<span class="highlight"><kbd>copy sidisk40 sidisk40.zip</kbd></span><br>
If you are on a Linux system you use the cat command instead of copy /b, for example<br>
<span class="highlight"><kbd>cat sidisk10 sidisk11 sidisk12 sidisk13 >sidisk10.zip</kbd></span>
</p>
<p>
In that folder you can now find 5 zip files. You can now use winzip/winrar/any unarchiver
to extract the files (keep folder structure in the settings) to <span class="highlight"><kbd>C:\Games\SERPENT</kbd></span>.
Also copy the files Also copy the files 386STEP.EXE, INSTALL.EXE, PKUNZIP.EXE, INSTALL.PRM to
<span class="highlight"><kbd>C:\Games\SERPENT</kbd></span>.<br>
Or enter the following lines on the command prompt:<br>
<span class="highlight"><kbd>pkunzip -d -e sidisk00.zip C:\Games\SERPENT</kbd></span><br>
<span class="highlight"><kbd>pkunzip -d -e sidisk10.zip C:\Games\SERPENT</kbd></span><br>
<span class="highlight"><kbd>pkunzip -d -e sidisk20.zip C:\Games\SERPENT</kbd></span><br>
<span class="highlight"><kbd>pkunzip -d -e sidisk30.zip C:\Games\SERPENT</kbd></span><br>
<span class="highlight"><kbd>pkunzip -d -e sidisk40.zip C:\Games\SERPENT</kbd></span><br>
<span class="highlight"><kbd>copy *.exe C:\Games\SERPENT</kbd></span><br>
<span class="highlight"><kbd>copy install.prm C:\Games\SERPENT</kbd></span><br>
Installation is now finished and you can delete the folder <span class="highlight"><kbd>C:\Exult\SIfloppy</kbd></span>.
</p>
<p>
Unfortunately the Add-on installer makes use of unknown file archives so there are no
instructions to manually install it.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="win32_floppy">12.8. Installing the floppy disks of BG/SI on Windows</a></strong></td></tr>
<tr><td>
<p>
Modern Windows versions do not actually run 16bit DOS programs anymore, not to mention
that modern computers are not likely to have a floppy drive. So this guide only remains
for completeness' sake.
</p>
<p>
Insert Disk 1 in your floppy drive, open explorer and click on the floppy drive
(<span class="highlight"><kbd>a:\</kbd></span>).
Double click on install.exe, choose the drive you want to install to, and then in which
folder you want BG/SI to be installed to (Let's assume <span class="highlight"><kbd>C:\Games\ULTIMA</kbd></span>
for BG and <span class="highlight"><kbd>C:\Games\SERPENT</kbd></span> for SI).<br>
Next you choose the sound card, but as this is not relevant for <em>Exult</em>, choose 'No sound
card'. Confirm the settings with 'Y' and the installer begins to make noise in your
floppy drive...<br>
When asked to insert the next floppy disk and hit any key (or ESC to cancel). When the
installation is done, the installer will complain, that 'something has put your system
in protected mode...', ignore that and press any key to continue. Again it will complain
that 'your current system configuration is not compatible with Ultima VII!...', ignore
that as well and press 'N' (you don't need a boot disk for playing U7 with <em>Exult</em>). Finally
hit any key to finish your installation. The installer will finish and the game can be
found at <span class="highlight"><kbd>C:\Games\ULTIMA7</kbd></span> or <span class="highlight"><kbd>C:\Games\SERPENT</kbd></span>.
</p>
<p>
When installing Ultima VII from floppy disks in Windows you can run into some problems.<br>
The installer assumes that all drives in the computer are hard drives and can't cope with
drives like CD-ROMs and card readers. It tries to read how much free space the drives have
and if there is no media in the drive it gives an error and you can't proceed.<br>
To solve this you have to insert a CD-ROM in your CD/DVD-ROM drive. If you have a multi card
reader disconnect that if possible (or insert cards in all the slots if you have them). If
disconnecting the reader is not possible you have to use one of the other ways to install the
floppy versions or use a different computer.
</p>
<p>
Unfortunately it is possible that one of the floppies is no longer working. In that case the
installation will fail and the installer might suggest that there is a device error and asks
you to reboot your computer. Don't follow that advice a reboot is not likely to fix it.
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="win32_addons">12.9. Installing the floppy disks of the Add-Ons FoV/SS on Windows</a></strong></td></tr>
<tr><td>
<p>
Modern Windows versions do not actually run 16bit DOS programs anymore, not to mention
that modern computers are not likely to have a floppy drive. So this guide only remains
for completeness' sake.
</p>
<p>
Insert the add-on floppy disk in your floppy drive, open explorer and click on the floppy
drive (<span class="highlight"><kbd>a:\</kbd></span>). Double click on install.exe, and then you first have to choose
the drive where you installed the game (BG/SI) to. Default is <span class="highlight"><kbd>C:\</kbd></span>, the
installer will then search in which folder BG/SI has been installed to. This is unfortunately
not working on every computer, for some unknown reason the installer might crash at this point.<br>
If it doesn't crash the installer will write where it found BG/SI installed to and will ask
whether you want to proceed with the installation. Hit 'Y' and the installation will begin,
at the end press any key to finish the installation and to close the installer.
</p>
<p>
When installing the add-ons you might run into the same problems as when installing the full
games (see above <a href="#win32_floppy">12.8.</a>).
</p>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="files_note">12.10. Exult only needs one folder</a></strong></td></tr>
<tr><td>
<p>
For the ease of use the following guides mostly ask you to use all files from the original.
But <em>Exult</em> only really needs the <span class="highlight"><kbd>STATIC</kbd></span> folder of the games. So if you
want to trim down your installed files, you can delete all files except that folder and its
content.
</p>
</td></tr>
</table>
<hr class="full-width">
<table class="full-width">
<tr><th class="left-aligned"><a id="Credits-and-Contact">13. Credits and Contact</a></th></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="thanks">13.1. Thanks</a></strong></td></tr>
<tr><td>
<ul>
<li>The people of <a href="https://www.sourceforge.net">SourceForge</a> without whom this
project would not be where it is today.</li>
<li>The paper by Gary Thompson on the structure of the U7 data
files was crucial to the early development of <em>Exult</em>.</li>
<li>Work by Maxim Shatskih, Jakob Schonberg, and Wouter Dijkslag
made the 'usecode' interpreter possible.</li>
<li>Olivier Marcoux's technical document was also crucial in
understanding some data files.</li>
<li>Thanks also go to the person who wrote u7items.txt and the
contributor of the 'avatar.ttf' font.</li>
<li>Aurelien Marchand (Artaxerxes) for his extensive guide for the Zaurus (which is no longer
displayed here as Zaurus devices have long been out of fasion).</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="contact">13.2. Contacting us</a></strong></td></tr>
<tr><td>
<p>
You can contact the <em>Exult</em> team through our
<a href="https://github.com/exult/exult/discussions">Github Discussions</a> page.
</p>
</td></tr>
</table>
<hr class="full-width">
<table class="full-width">
<tr><th class="left-aligned"><a id="Changes-to-the-Documentation">14. Changes to the Documentation</a></th></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="15042025">14.1. - 16 April 2025</a></strong></td></tr>
<tr><td>
<ul>
<li>
<a href="#advanced_midi_gump">3.5. Advanced Audio Settings</a> added.</li>
<li>
<a href="#midi_music">4.2. MIDI Music</a> FluidLite can be used.</li>
<li>
<a href="#exult_config">11.1. Settings in exult.cfg</a> New audio advanced settings in the cfg.</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="20032025">14.2. - 20 March 2025</a></strong></td></tr>
<tr><td>
<ul>
<li>
<a href="#exult_config_location">2.2. Location of exult.cfg</a> Flatpak cfg path.</li>
<li>
<a href="#default_nix">2.4. Default game folders on Linux</a> Flatpak default paths.</li>
<li>
<a href="#midi_music">4.2. MIDI Music</a> Flatpack MT32 ROM paths.</li>
<li>
<a href="#mods_install">8.2. Installing Mods</a> Flatpack already installs some Mods by default.</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="19012025">14.3. - 19 January 2025</a></strong></td></tr>
<tr><td>
<ul>
<li>
<a href="#Audio">4. Audio</a> added more information on MIDI drivers.</li>
<li>
<a href="#android_launcher">10.3. The Exult Launcher on Android</a> added to explain ways to toggle autolaunch.</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="06012025">14.4. - 06 January 2025</a></strong></td></tr>
<tr><td>
<ul>
<li>
<a href="#Android-Guide">10. Android Guide</a> added.</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="03072024">14.5. - 03 July 2024</a></strong></td></tr>
<tr><td>
<ul>
<li>
<a href="#audio_gump">3.4. Audio Options</a> settings changed and Volume Mixer was added.</li>
<li>
<a href="#volume_mixer_gump">3.6. Volume Mixer</a> macOS no longer uses the Console.app to show stdout.</li>
<li>
<a href="#music">4.1. Music</a> explain different looping settings.</li>
<li>
<a href="#mods_case_sensitivity">8.7. Problems with case sensitive file systems (e.g. Linux)</a> added note about possible problems with mods.</li>
<li>
<a href="#exult_config">11.1. Settings in exult.cfg</a> added volume settings.</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="25042024">14.6. - 25 April 2024</a></strong></td></tr>
<tr><td>
<ul>
<li>Replaced *nix with Linux as people are mostly looking for Linux and might get confused.</li>
<li>Removed documentation for unsupported Windows versions.</li>
<li>Highlighted more parts of the documentation.</li>
<li>
<a href="#error_log">2.6. Error Log</a> macOS no longer uses the Console.app to show stdout.</li>
<li>
<a href="#midi_music">4.2. MIDI Music</a> FMOpl is the default MIDI driver.</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="23042024">14.7. - 23 April 2024</a></strong></td></tr>
<tr><td>
<ul>
<li>
<a href="#command_line">2.5. Command line options</a> Added the shortcut to starting the Serpent Isle beta.</li>
<li>
<a href="#linux_alsa">4.13. Linux and Audio</a> Alsa port magic by Dragon Baroque.</li>
<li>
<a href="#exult_keys">6.2. Keyboard commands</a> More custom keybinding instructions.</li>
<li>
<a href="#ios_autosave">9.6. iOS automatic saves</a> Explained why we have automatic saving on iOS.</li>
<li>
<a href="#Installing-the-original-Ultima-VII-games-for-use-with-Exult">12. Installing the original Ultima VII games for use with Exult</a> Resorted this since installing from floppies is very outdated.</li>
<li>
<a href="#files_note">12.10. Exult only needs one folder</a> Added a note that we only need the STATIC folder.</li>
<li>
<a href="#gog_windows">12.1. Using GOG.com's installer for Windows</a> added innoextract instructions for *nix.</li>
</ul>
</td></tr>
<tr><td> </td></tr>
<tr><td><strong><a id="older_changes">14.8. older changes</a></strong></td></tr>
<tr><td>
<p>
For older changes of the documentation, please see its git history.
</p>
</td></tr>
</table>
</td></tr>
<tr><td>
<br><hr>
</td></tr>
<tr><td><table class="borderless full-width">
<tr><td class="centered"> </td></tr>
<tr><td class="centered"> </td></tr>
<tr><td class="centered"><address><span style="font-size: smaller">Problems with Exult or this webpage?
<a href="https://github.com/exult/exult/discussions">Contact us.</a></span></address></td></tr>
</table></td></tr>
<tr><td class="centered"><address><span style="font-size: smaller">Last modified:
16 April 2025 (GMT)</span></address></td></tr>
<tr><td class="centered"><div align="center"><!--#exec cgi="cgi-bin/vipcounter_xml.pl"--></div></td></tr>
</table></div></body>
</html>
|