Subversion Repositories Games.Rick Dangerous

Rev

Rev 1 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1 Rev 9
Line 14... Line 14...
14
#include "system.h"
14
#include "system.h"
15
#include "maps.h"
15
#include "maps.h"
16
 
16
 
17
map_t map_maps[MAP_NBR_MAPS] =
17
map_t map_maps[MAP_NBR_MAPS] =
18
{
18
{
-
 
19
/*  x (initial position for rick)
-
 
20
    |       y (initial position for rick)
-
 
21
    |       |       row (initial map_map top row within the submap)
-
 
22
    |       |       |       submap (initial submap)
-
 
23
    |       |       |       |       tune (map tune) */
19
   {0x0008, 0x008b, 0x0008, 000000, "sounds/tune0.wav"},
24
   {0x0008, 0x008b, 0x0008, 000000, "sounds/tune0.wav"},
20
   {0x0008, 0x008b, 0x0068, 0x0009, "sounds/tune1.wav"},
25
   {0x0008, 0x008b, 0x0068, 0x0009, "sounds/tune1.wav"},
21
   {0x0010, 0x008b, 0x0010, 0x0014, "sounds/tune2.wav"},
26
   {0x0010, 0x008b, 0x0010, 0x0014, "sounds/tune2.wav"},
22
   {0x0010, 0x008b, 0x0010, 0x0026, "sounds/tune3.wav"},
27
   {0x0010, 0x008b, 0x0010, 0x0026, "sounds/tune3.wav"},
23
   {0x0074, 0x00c8, 0x0008, 0x0026, "sounds/tune4.wav"},
28
   {0x0074, 0x00c8, 0x0008, 0x0026, "sounds/tune4.wav"},
24
};
29
};
25
 
30
 
26
submap_t map_submaps[MAP_NBR_SUBMAPS] =
31
submap_t map_submaps[MAP_NBR_SUBMAPS] =
27
{
32
{
-
 
33
/*  page (tiles page),
-
 
34
    |       bnum (first block number),
-
 
35
    |       |       connect (first connection),
-
 
36
    |       |       |       mark (first entity mark) */
28
   {000000, 000000, 000000, 000000},
37
   {000000, 000000, 000000, 000000}, // Amazon
29
   {000000, 0x0078, 0x0003, 0x0005},
38
   {000000, 0x0078, 0x0003, 0x0005},
30
   {000000, 0x0150, 0x0006, 0x0011},
39
   {000000, 0x0150, 0x0006, 0x0011},
31
   {000000, 0x0198, 0x0009, 0x0018},
40
   {000000, 0x0198, 0x0009, 0x0018},
32
   {000000, 0x02a0, 0x000c, 0x002b},
41
   {000000, 0x02a0, 0x000c, 0x002b},
33
   {000000, 0x0348, 0x000f, 0x0035},
42
   {000000, 0x0348, 0x000f, 0x0035},
34
   {000000, 0x0398, 0x0012, 0x0039},
43
   {000000, 0x0398, 0x0012, 0x0039},
35
   {000000, 0x04a8, 0x0015, 0x0048},
44
   {000000, 0x04a8, 0x0015, 0x0048},
36
   {000000, 0x05b8, 0x0018, 0x0057},
45
   {000000, 0x05b8, 0x0018, 0x0057},
37
   {000000, 0x0800, 0x001b, 0x0065},
46
   {000000, 0x0800, 0x001b, 0x0065}, // Egypt
38
   {000000, 0x0900, 0x001e, 0x0079},
47
   {000000, 0x0900, 0x001e, 0x0079},
39
   {000000, 0x09c8, 0x0021, 0x0086},
48
   {000000, 0x09c8, 0x0021, 0x0086},
40
   {000000, 0x0a40, 0x0024, 0x0091},
49
   {000000, 0x0a40, 0x0024, 0x0091},
41
   {000000, 0x0aa8, 0x0027, 0x009b},
50
   {000000, 0x0aa8, 0x0027, 0x009b},
42
   {000000, 0x0b18, 0x002a, 0x00a4},
51
   {000000, 0x0b18, 0x002a, 0x00a4},
43
   {000000, 0x0be8, 0x002d, 0x00b1},
52
   {000000, 0x0be8, 0x002d, 0x00b1},
44
   {000000, 0x0ce8, 0x0030, 0x00c1},
53
   {000000, 0x0ce8, 0x0030, 0x00c1},
45
   {000000, 0x0df8, 0x0033, 0x00d1},
54
   {000000, 0x0df8, 0x0033, 0x00d1},
46
   {000000, 0x0e78, 0x0036, 0x00d8},
55
   {000000, 0x0e78, 0x0036, 0x00d8}, // submap X
47
   {000000, 0x0f58, 0x0039, 0x00e5},
56
   {000000, 0x0f58, 0x0039, 0x00e5},
48
   {0x0001, 0x1060, 0x003c, 0x00f2},
57
   {0x0001, 0x1060, 0x003c, 0x00f2}, // Schwarzendumpf castle
49
   {0x0001, 0x10f0, 0x003f, 0x00fa},
58
   {0x0001, 0x10f0, 0x003f, 0x00fa},
50
   {0x0001, 0x1140, 0x0044, 0x0103},
59
   {0x0001, 0x1140, 0x0044, 0x0103},
51
   {0x0001, 0x1190, 0x0049, 0x010a},
60
   {0x0001, 0x1190, 0x0049, 0x010a},
52
   {0x0001, 0x1240, 0x004c, 0x0117},
61
   {0x0001, 0x1240, 0x004c, 0x0117},
53
   {0x0001, 0x12c0, 0x004f, 0x0122},
62
   {0x0001, 0x12c0, 0x004f, 0x0122},
Line 74... Line 83...
74
   {0x0001, 0x1f5a, 0x0096, 0x0202},
83
   {0x0001, 0x1f5a, 0x0096, 0x0202},
75
};
84
};
76
 
85
 
77
connect_t map_connect[MAP_NBR_CONNECT] =
86
connect_t map_connect[MAP_NBR_CONNECT] =
78
{
87
{
-
 
88
/*  dir
-
 
89
    |     rowout
-
 
90
    |     |     submap
-
 
91
    |     |     |     rowin
-
 
92
    |     |     |     |     */
-
 
93
 
79
   /* map 0 */
94
   /* map 0 */
80
 
95
 
81
   /* map 0 submap 0 */
96
   /* map 0 submap 0 */
82
   {0x01, 0x18, 0xff, 0x00},
97
   {0x01, 0x18, 0xff, 0x00},
83
   {0000, 0x38, 0x01, 0x18},
98
   {0000, 0x38, 0x01, 0x18},
Line 149... Line 164...
149
   {0000, 0x18, 0x11, 0x18},
164
   {0000, 0x18, 0x11, 0x18},
150
   {0x01, 0x80, 0x0f, 0x78},
165
   {0x01, 0x80, 0x0f, 0x78},
151
   {0xff, 0x00, 0x00, 0x00},
166
   {0xff, 0x00, 0x00, 0x00},
152
   /* map 1 submap 11 */
167
   /* map 1 submap 11 */
153
   {0x01, 0x18, 0x10, 0x18},
168
   {0x01, 0x18, 0x10, 0x18},
154
   {0000, 0x38, 0x13, 0x68},
169
   {0000, 0x38, 0x12, 0x18},
155
   {0xff, 0x00, 0x00, 0x00},
170
   {0xff, 0x00, 0x00, 0x00},
156
   /* map 1 submap 12 -- NOT PLAYABLE - skipped */
171
   /* map 1 submap 12 */
157
   {0x01, 0x18, 0x11, 0x38},
172
   {0x01, 0x18, 0x11, 0x38}, /* pointless since it's not possible to go back */
158
   {0000, 0x68, 0x13, 0x68},
173
   {0000, 0x68, 0x13, 0x68},
159
   {0xff, 0x00, 0x00, 0x00},
174
   {0xff, 0x00, 0x00, 0x00},
160
   /* map 1 submap 13 */
175
   /* map 1 submap 13 */
161
   {0000, 0x18, 0xff, 0x00},
176
   {0000, 0x18, 0xff, 0x00},
162
   {0x01, 0x68, 0x12, 0x68},
177
   {0x01, 0x68, 0x12, 0x68},
Line 289... Line 304...
289
   {0x38, 0x17, 0x01, 0xe0, 0xe0},
304
   {0xff, 0x00, 0x00, 0x00},
290
   {0xff, 0000, 0000, 0000, 0000},
305
};
291
   {0x18, 0x12, 0000, 0xc5, 0000}, /* 1 */
306
 
292
   {0x18, 0x19, 0x88, 0x95, 0xc3},
307
U8 map_bnums[MAP_NBR_BNUMS] =
293
   {0x20, 0x04, 0000, 0x65, 0x71},
308
{
294
   {0x28, 0x04, 0xf0, 0x85, 0x82},
309
   0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, // 0// submap 18
295
   {0x30, 0x04, 0000, 0x45, 0x60},
310
   0x0b, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0a,
296
   {0x38, 0x19, 0x88, 0x11, 0x63},
311
   0x0b, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0a,
297
   {0x48, 0x12, 0000, 0x4d, 0000},
312
   0x0b, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0a,
298
   {0x60, 0x1b, 0x88, 0xc2, 0xc2},
313
   0x0b, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0a,
299
   {0x68, 0x04, 0xf0, 0xb5, 0x61},
314
   0x37, 0x3a, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x37,
Line 752... Line 767...
752
   {0xff, 0000, 0000, 0000, 0000},
767
   {0x18, 0x0b, 0xf0, 0xb2, 0000},
753
   {0x18, 0x40, 0x88, 0x69, 0x70}, /* 29 */
768
   {0x20, 0x0d, 0000, 0x26, 0x38},
754
   {0x18, 0x3a, 0x1f, 0xca, 0xb9},
769
   {0x20, 0x0d, 0000, 0xce, 0x30},
755
   {0x18, 0x17, 0x88, 0xa0, 0xa0},
770
   {0x20, 0x10, 0000, 0xce, 0000},
756
   {0x18, 0x3b, 0x88, 0xa5, 0xad},
771
   {0x38, 0x0b, 0xf0, 0xb5, 0000},
757
   {0x20, 0x40, 0x88, 0x29, 0x30},
772
   {0x38, 0x40, 0x88, 0x4e, 0x45},
758
   {0x20, 0x0f, 0000, 0xa5, 0000},
773
   {0x40, 0x3b, 0x88, 0x26, 0x26},
759
   {0x20, 0x0f, 0000, 0xc5, 0000},
774
   {0x48, 0x0e, 0000, 0x95, 0x04},
760
   {0x20, 0x0e, 0000, 0x89, 0x01},
775
   {0x50, 0x3b, 0x88, 0x21, 0x20},
761
   {0xff, 0000, 0000, 0000, 0000},
776
   {0x50, 0x0a, 0000, 0x61, 0x48},
762
   {0x18, 0x17, 0x01, 0xe0, 0xe0}, /* 2a */
777
   {0x50, 0x15, 0000, 0x65, 0000},
763
   {0x18, 0x16, 0000, 0x24, 0x24},
778
   {0x50, 0x41, 0x88, 0xad, 0xa5},
764
   {0x18, 0x3f, 0x8c, 0xe5, 0x04},
779
   {0x60, 0x41, 0x88, 0x41, 0x41},
765
   {0x30, 0x0d, 0xf0, 0x81, 0x30},
780
   {0x60, 0x0d, 0xf0, 0x61, 0x60},
766
   {0x38, 0x3b, 0x88, 0x41, 0x41},
781
   {0x68, 0x3c, 0x8e, 0x41, 0x2c},
767
   {0x38, 0x0c, 0000, 0x81, 0x01},
782
   {0x68, 0x46, 0x8c, 0xc6, 0x2c},
768
   {0x38, 0x15, 0000, 0xd1, 0000},
783
   {0xff, 0000, 0000, 0000, 0000},
769
   {0x40, 0x41, 0x89, 0x49, 0x40},
784
   {0x18, 0x40, 0x88, 0x69, 0x70}, /* 29 */
770
   {0x48, 0x0c, 0000, 0x45, 0000},
785
   {0x18, 0x3a, 0x1f, 0xca, 0xb9},
Line 1312... Line 1327...
1312
1327
1313
1328
1314
1329
1315
1330
1316
1331
1317
1332
1318
1333
1319
1334
1320
1335
1321
1336
1322
1337
1323
1338
1324
1339
1325
1340
1326
1341
1327
1342
1328
1343
1329
1344
1330
1345
1331
1346
1332
1347
1333
1348
1334
1349
1335
1350
1336
1351
1337
1352
1338
1353
1339
1354
1340
1355
1341
1356
1342
1357
1343
1358
1344
1359
1345
1360
1346
1361
1347
1362
1348
1363
1349
1364
1350
1365
1351
1366
1352
1367
1353
1368
1354
1369
1355
1370
1356
1371
1357
1372
1358
1373
1359
1374
1360
1375
1361
1376
1362
1377
1363
1378
1364
1379
1365
1380
1366
1381
1367
1382
1368
1383
1369
1384
1370
1385
1371
1386
1372
1387
1373
1388
1374
1389
1375
1390
1376
1391
1377
1392
1378
1393
1379
1394
1380
1395
1381
1396
1382
1397
1383
1398
1384
1399
1385
1400
1386
1401
1387
1402
1388
1403
1389
1404
1390
1405
1391
1406
1392
1407
1393
1408
1394
1409
1395
1410
1396
1411
1397
1412
1398
1413
1399
1414
1400
1415
1401
1416
1402
1417
1403
1418
1404
1419
1405
1420
1406
1421
1407
1422
1408
1423
1409
1424
1410
1425
1411
1426
1412
1427
1413
1428
1414
1429
1415
1430
1416
1431
1417
1432
1418
1433
1419
1434
1420
1435
1421
1436
1422
1437
1423
1438
1424
1439
1425
1440
1426
1441
1427
1442
1428
1443
1429
1444
1430
1445
1431
1446
1432
1447
1433
1448
1434
1449
1435
1450
1436
1451
1437
1452
1438
1453
1439
1454
1440
1455
1441
1456
1442
1457
1443
1458
1444
1459
1445
1460
1446
1461
1447
1462
1448
1463
1449
1464
1450
1465
1451
1466
1452
1467
1453
1468
1454
1469
1455
1470
1456
1471
1457
1472
1458
1473
1459
1474
1460
1475
1461
1476
1462
1477
1463
1478
1464
1479
1465
1480
1466
1481
1467
1482
1468
1483
1469
1484
1470
1485
1471
1486
1472
1487
1473
1488
1474
1489
1475
1490
1476
1491
1477
1492
1478
1493
1479
1494
1480
1495
1481
1496
1482
1497
1483
1498
1484
1499
1485
1500
1486
1501
1487
1502
1488
1503
1489
1504
1490
1505
1491
1506
1492
1507
1493
1508
1494
1509
1495
1510
1496
1511
1497
1512
1498
1513
1499
1514
1500
1515
1501
1516
1502
1517
1503
1518
1504
1519
1505
1520
1506
1521
1507
1522
1508
1523
1509
1524
1510
1525
1511
1526
1512
1527
1513
1528
1514
1529
1515
1530
1516
1531
1517
1532
1518
1533
1519
1534
1520
1535
1521
1536
1522
1537
1523
1538
1524
1539
1525
1540
1526
1541
1527
1542
1528
1543
1529
1544
1530
1545
1531
1546
1532
1547
1533
1548
1534
1549
1535
1550
1536
1551
1537
1552
1538
1553
1539
1554
1540
1555
1541
1556
1542
1557
1543
1558
1544
1559
1545
1560
1546
1561
1547
1562
1548
1563
1549
1564
1550
1565
1551
1566
1552
1567
1553
1568
1554
1569
1555
1570
1556
1571
1557
1572
1558
1573
1559
1574
1560
1575
1561
1576
1562
1577
1563
1578
1564
1579
1565
1580
1566
1581
1567
1582
1568
1583
1569
1584
1570
1585
1571
1586
1572
1587
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
1588
1830
1589
1831
1590
1832
1591
1833
1592