Initial commit
This commit is contained in:
540
devtools/create_cryo/eden_static.h
Normal file
540
devtools/create_cryo/eden_static.h
Normal file
@@ -0,0 +1,540 @@
|
||||
/* ScummVM - Graphic Adventure Engine
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
* file distributed with this source distribution.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "eden.h"
|
||||
|
||||
Follower followerList[15] = {
|
||||
// char, X, sx, sy, ex, ey,bank,
|
||||
{ PersonId::pidGregor, 5, 211, 9, 320, 176, 228, 0, 0 },
|
||||
{ PersonId::pidEloi, 4, 162, 47, 223, 176, 228, 112, 78 },
|
||||
{ PersonId::pidDina, 3, 55, 0, 172, 176, 228, 90, 16 },
|
||||
{ PersonId::pidChongOfChamaar, 4, 0, 5, 114, 176, 229, 0, 16 },
|
||||
{ PersonId::pidKommalaOfKoto, 3, 0, 15, 102, 176, 229, 0, 16 },
|
||||
{ PersonId::pidUlanOfUlele, 1, 0, 0, 129, 176, 230, 0, 16 },
|
||||
{ PersonId::pidCabukaOfCantura, 2, 0, 0, 142, 176, 230, 0, 16 },
|
||||
{ PersonId::pidFuggOfTamara, 0, 0, 17, 102, 176, 230, 0, 16 },
|
||||
{ PersonId::pidJabber, 2, 0, 6, 134, 176, 228, 0, 16 },
|
||||
{ PersonId::pidShazia, 1, 90, 17, 170, 176, 228, 50, 22 },
|
||||
{ PersonId::pidThugg, 0, 489, 8, 640, 176, 228, 160, 24 },
|
||||
{ PersonId::pidMungo, 5, 361, 0, 517, 176, 229, 0, 16 },
|
||||
{ PersonId::pidMonk, 0, 419, 22, 569, 176, 229, 100, 30 },
|
||||
{ PersonId::pidEve, 1, 300, 28, 428, 176, 229, 0, 38 },
|
||||
{ -1, -1, -1, -1, -1, -1, -1, -1, -1 }
|
||||
};
|
||||
|
||||
byte kLabyrinthPath[70] = {
|
||||
// each nibble tells which direction to choose to exit the labyrinth
|
||||
0x11, 0x11, 0x11, 0x22, 0x33, 0x55, 0x25, 0x44, 0x25, 0x11, 0x11, 0x11,
|
||||
0x11, 0x35, 0x55, 0x45, 0x45, 0x44, 0x44, 0x34, 0x44, 0x34, 0x32, 0x52,
|
||||
0x33, 0x23, 0x24, 0x44, 0x24, 0x22, 0x54, 0x22, 0x54, 0x54, 0x44, 0x22,
|
||||
0x22, 0x42, 0x45, 0x22, 0x42, 0x45, 0x35, 0x11, 0x44, 0x34, 0x52, 0x11,
|
||||
0x44, 0x32, 0x55, 0x11, 0x11, 0x33, 0x11, 0x11, 0x53, 0x11, 0x11, 0x53,
|
||||
0x54, 0x24, 0x11, 0x22, 0x25, 0x33, 0x53, 0x54, 0x23, 0x44
|
||||
};
|
||||
|
||||
char kDinoSpeedForCitaLevel[16] = { 1, 2, 3, 4, 4, 5, 6, 7, 8, 9 };
|
||||
|
||||
char kTabletView[12] = { //TODO: make as struct?
|
||||
// opposite tablet id, video id
|
||||
Objects::obUnused10, 83,
|
||||
Objects::obUnused10, 84,
|
||||
Objects::obTablet4, 85,
|
||||
Objects::obTablet3, 86,
|
||||
Objects::obTablet6, 87,
|
||||
Objects::obTablet5, 85
|
||||
};
|
||||
|
||||
// special character backgrounds for specific rooms
|
||||
char kPersoRoomBankTable[84] = {
|
||||
// first entry is default bank, then pairs of [roomNum, bankNum], terminated by -1
|
||||
0, 3, 33, -1,
|
||||
21, 17, 35, -1,
|
||||
0, 2, 36, -1,
|
||||
22, 9, 38, 3, 39, -1,
|
||||
23, 8, 40, -1,
|
||||
0, 3, 41, 7, 42, -1,
|
||||
25, -1,
|
||||
27, 17, 45, -1,
|
||||
28, 26, 46, -1,
|
||||
29, 51, 48, -1,
|
||||
30, 53, 49, -1,
|
||||
0, 27, 50, -1,
|
||||
32, 17, 51, -1,
|
||||
52, 2, 52, -1,
|
||||
-3, 3, -3, -1,
|
||||
31, -1,
|
||||
24, 6, 43, -1,
|
||||
47, -1,
|
||||
0, 2, 64, -1,
|
||||
54, 3, 54, -1,
|
||||
27, -1,
|
||||
26, 17, 45, -1
|
||||
};
|
||||
|
||||
// area transition descriptors
|
||||
Goto gotos[130] = {
|
||||
// area, oldarea, vid, time, valleyVid
|
||||
{ 0, 1, 0, 2, 20 },
|
||||
{ 0, 1, 162, 3, 168 },
|
||||
{ 0, 2, 0, 2, 21 },
|
||||
{ 0, 6, 0, 3, 108 },
|
||||
{ 0, 9, 151, 3, 0 },
|
||||
{ 0, 7, 106, 2, 101 },
|
||||
{ 0, 10, 79, 3, 102 },
|
||||
{ 0, 12, 0, 3, 0 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
{ 1, 3, 58, 2, 104 },
|
||||
{ 1, 4, 100, 4, 104 },
|
||||
{ 1, 5, 107, 6, 104 },
|
||||
{ 1, 6, 155, 8, 104 },
|
||||
{ 1, 7, 165, 6, 104 },
|
||||
{ 1, 8, 169, 6, 104 },
|
||||
{ 1, 10, 111, 2, 104 },
|
||||
{ 1, 11, 164, 4, 104 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
{ 1, 3, 161, 3, 102 },
|
||||
{ 1, 4, 163, 6, 102 },
|
||||
{ 1, 5, 157, 9, 102 },
|
||||
{ 1, 9, 160, 9, 102 },
|
||||
{ 1, 10, 79, 3, 102 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
{ 1, 3, 0, 3, 153 }, // 24
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
{ 3, 1, 154, 2, 103 },
|
||||
{ 3, 4, 100, 2, 103 },
|
||||
{ 3, 5, 107, 4, 103 },
|
||||
{ 3, 6, 155, 6, 103 },
|
||||
{ 3, 7, 165, 8, 103 },
|
||||
{ 3, 8, 169, 6, 103 },
|
||||
{ 3, 10, 111, 4, 103 },
|
||||
{ 3, 11, 164, 6, 103 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
{ 3, 1, 162, 3, 22 },
|
||||
{ 3, 4, 163, 6, 22 },
|
||||
{ 3, 5, 157, 9, 22 },
|
||||
{ 3, 9, 160, 9, 22 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
{ 3, 1, 0, 3, 166 }, // 40
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
{ 4, 1, 154, 4, 51 },
|
||||
{ 4, 3, 58, 2, 51 },
|
||||
{ 4, 5, 107, 2, 51 },
|
||||
{ 4, 6, 155, 4, 51 },
|
||||
{ 4, 7, 165, 6, 51 },
|
||||
{ 4, 8, 169, 8, 51 },
|
||||
{ 4, 10, 111, 6, 51 },
|
||||
{ 4, 11, 164, 8, 51 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
{ 4, 1, 162, 3, 109 }, // 51
|
||||
{ 4, 3, 161, 6, 109 },
|
||||
{ 4, 5, 157, 9, 109 },
|
||||
{ 4, 9, 160, 9, 109 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
{ 5, 1, 154, 6, 33 },
|
||||
{ 5, 3, 58, 4, 33 },
|
||||
{ 5, 4, 100, 2, 33 },
|
||||
{ 5, 6, 155, 2, 33 },
|
||||
{ 5, 7, 165, 4, 33 },
|
||||
{ 5, 8, 169, 8, 33 },
|
||||
{ 5, 10, 111, 8, 33 },
|
||||
{ 5, 11, 164, 8, 33 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
{ 5, 1, 162, 3, 99 }, // 65
|
||||
{ 5, 3, 161, 6, 99 },
|
||||
{ 5, 4, 163, 9, 99 },
|
||||
{ 5, 9, 160, 9, 99 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
{ 9, 1, 162, 3, 167 }, // 70
|
||||
{ 9, 3, 161, 6, 167 },
|
||||
{ 9, 4, 163, 9, 167 },
|
||||
{ 9, 5, 157, 9, 167 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
{ 6, 1, 154, 8, 105 }, // 75
|
||||
{ 6, 3, 58, 6, 105 },
|
||||
{ 6, 4, 100, 4, 105 },
|
||||
{ 6, 5, 107, 2, 105 },
|
||||
{ 6, 7, 165, 2, 105 },
|
||||
{ 6, 8, 169, 10, 105 },
|
||||
{ 6, 10, 111, 6, 105 },
|
||||
{ 6, 11, 164, 8, 105 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
{ 7, 1, 154, 4, 158 }, // 84
|
||||
{ 7, 3, 58, 6, 158 },
|
||||
{ 7, 4, 100, 6, 158 },
|
||||
{ 7, 5, 107, 4, 158 },
|
||||
{ 7, 6, 155, 2, 158 },
|
||||
{ 7, 8, 169, 8, 158 },
|
||||
{ 7, 10, 111, 4, 158 },
|
||||
{ 7, 11, 164, 6, 158 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
{ 8, 1, 154, 2, 159 }, // 93
|
||||
{ 8, 3, 58, 4, 159 },
|
||||
{ 8, 4, 100, 6, 159 },
|
||||
{ 8, 5, 107, 8, 159 },
|
||||
{ 8, 6, 155, 10, 159 },
|
||||
{ 8, 7, 165, 8, 159 },
|
||||
{ 8, 10, 111, 6, 159 },
|
||||
{ 8, 11, 164, 4, 159 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
{ 10, 1, 154, 2, 77 }, // 102
|
||||
{ 10, 3, 58, 4, 77 },
|
||||
{ 10, 4, 100, 6, 77 },
|
||||
{ 10, 5, 107, 8, 77 },
|
||||
{ 10, 6, 155, 6, 77 },
|
||||
{ 10, 7, 165, 4, 77 },
|
||||
{ 10, 8, 169, 6, 77 },
|
||||
{ 10, 11, 164, 4, 77 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
{ 11, 1, 154, 2, 80 }, // 111
|
||||
{ 11, 3, 58, 4, 80 },
|
||||
{ 11, 4, 100, 6, 80 },
|
||||
{ 11, 5, 107, 8, 80 },
|
||||
{ 11, 6, 155, 8, 80 },
|
||||
{ 11, 7, 165, 6, 80 },
|
||||
{ 11, 8, 169, 2, 80 },
|
||||
{ 11, 10, 111, 4, 80 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
{ 12, 1, 154, 8, 56 }, // 120
|
||||
{ 12, 3, 58, 4, 56 },
|
||||
{ 12, 4, 100, 4, 56 },
|
||||
{ 12, 5, 107, 6, 56 },
|
||||
{ 12, 6, 155, 8, 56 },
|
||||
{ 12, 7, 165, 10, 56 },
|
||||
{ 12, 8, 169, 4, 56 },
|
||||
{ 12, 10, 111, 10, 56 },
|
||||
{ 12, 11, 164, 6, 56 },
|
||||
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
};
|
||||
|
||||
object_t _objects[42] = {
|
||||
//id,fl,loc,masklow,maskhi,ct
|
||||
{ 1, 0, 3, 1, 0, 0}, // Eve's Way Stone
|
||||
{ 2, 0, 3, 2, 0, 0}, // Thau's Seashell
|
||||
{ 3, 0, 3, 4, 0, 0}, // Talisman of bravery
|
||||
{ 4, 0, 3, 8, 0, 0}, // An old tooth. Very old! Whoever lost it most certainly has no further use for it!
|
||||
{ 5, 0, 0, 0x10, 0, 0}, // Prism
|
||||
{ 6, 0, 3, 0, 0, 0}, // Flute
|
||||
{ 7, 0, 3, 0x4000, 0, 0}, // Apple
|
||||
{ 8, 0, 4, 0x1000, 0, 0}, // Egg of Destiny
|
||||
{ 9, 0, 3, 0x800, 0, 0}, // Root
|
||||
{ 10, 0, 3, 0, 0, 0}, // ???
|
||||
{ 11, 0, 6, 0, 0, 0}, // Mushroom
|
||||
{ 12, 0, 13, 0, 0, 0}, // Poisonous Mushroom
|
||||
{ 13, 0, 2, 0x400, 0, 0}, // Graa's Knife
|
||||
{ 14, 0, 22, 0, 0, 0}, // Empty Nest
|
||||
{ 15, 0, 26, 0, 0, 0}, // Full Nest
|
||||
{ 16, 0, 33, 0x20, 0, 0}, // Gold
|
||||
{ 17, 0, 3, 0, 0, 0}, // Sign of Shadow Mistress (moon stone)
|
||||
{ 18, 0, 3, 0, 0, 0}, // Sign of Mother of all (bag of soil)
|
||||
{ 19, 0, 40, 0, 0, 0}, // Sign of the life-giving (sun star)
|
||||
{ 20, 0, 20, 0x200, 0, 0}, // King's Horn
|
||||
{ 21, 0, 3, 0, 0, 0}, // Golden Sword of Mashaar
|
||||
// Masks
|
||||
{ 22, 0, 3, 0x40, 0, 0}, // Mask of Death
|
||||
{ 23, 0, 3, 0x80, 0, 0}, // Mask of Bonding
|
||||
{ 24, 0, 3, 0x100, 0, 0}, // Mask of Birth
|
||||
// Objects of power
|
||||
{ 25, 0, 3, 0, 1, 0}, // Eye in the Storm
|
||||
{ 26, 0, 3, 0, 2, 0}, // Sky Hammer
|
||||
{ 27, 0, 3, 0, 4, 0}, // Fire in the Clouds
|
||||
{ 28, 0, 3, 0, 8, 0}, // Within and Without
|
||||
{ 29, 0, 3, 0, 0x10, 0}, // Eye in the Cyclone
|
||||
{ 30, 0, 3, 0, 0x20, 0}, // River that Winds
|
||||
// Musical instruments
|
||||
{ 31, 0, 3, 0, 0x40, 0}, // Trumpet
|
||||
{ 32, 0, 3, 0, 0x80, 0}, // -- unused (but still has a dialog line)
|
||||
{ 33, 0, 3, 0, 0x100, 0}, // Drum
|
||||
{ 34, 0, 3, 0, 0x200, 0}, // -- unused (but still has a dialog line)
|
||||
{ 35, 0, 3, 0, 0x400, 0}, // -- unused (but still has a dialog line)
|
||||
{ 36, 0, 3, 0, 0x800, 0}, // Ring
|
||||
// Tablets
|
||||
{ 37, 0, 3, 0, 0, 0}, // Tablet #1 (Mo)
|
||||
{ 38, 0, 42, 0x2000, 0, 0}, // Tablet #2 (Morkus' Lair)
|
||||
{ 39, 0, 3, 0, 0, 0}, // Tablet #3 (White Arch?)
|
||||
{ 40, 0, 3, 0, 0, 0}, // Tablet #4
|
||||
{ 41, 0, 3, 0, 0, 0}, // Tablet #5
|
||||
{ 42, 0, 3, 0x8000, 0, 0} // Tablet #6 (Castra)
|
||||
};
|
||||
|
||||
uint16 kObjectLocations[45] = {
|
||||
0x112, 0xFFFF,
|
||||
0x202, 0xFFFF,
|
||||
0x120, 0xFFFF,
|
||||
0x340, 0x44B, 0x548, 0x640, 0x717, 0x830, 0xFFFF,
|
||||
0x340, 0x44B, 0x548, 0x640, 0x717, 0x830, 0xFFFF,
|
||||
0, 0xFFFF,
|
||||
0x344, 0x53A, 0x831, 0xFFFF,
|
||||
0x331, 0x420, 0x54B, 0x637, 0x716, 0x840, 0xFFFF,
|
||||
0x834A, 0x8430, 0x8531, 0x644, 0x745, 0x838, 0xFFFF,
|
||||
0x510, 0xFFFF,
|
||||
0xC04, 0xFFFF,
|
||||
0xFFFF
|
||||
};
|
||||
|
||||
perso_t kPersons[58] = {
|
||||
// room, aid, party mask, id, flags, X,bank,X, X,sprId,sprX,speed, X
|
||||
{ 0x103, 230, PersonMask::pmGregor, PersonId::pidGregor , 0, 0, 1, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x116, 231, PersonMask::pmDina , PersonId::pidDina , 0, 4, 2, 0, 0, 3, 9, 0, 0 },
|
||||
{ 0x202, 232, PersonMask::pmTau , PersonId::pidTau , 0, 8, 3, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x109, 233, PersonMask::pmMonk , PersonId::pidMonk , 0, 12, 4, 0, 0, 6, 52, 0, 0 },
|
||||
{ 0x108, 234, PersonMask::pmJabber, PersonId::pidJabber , 0, 18, 5, 0, 0, 2, 0, 0, 0 },
|
||||
{ 0x103, 235, PersonMask::pmEloi , PersonId::pidEloi , 0, 22, 6, 0, 0, 4, 20, 0, 0 },
|
||||
{ 0x301, 236, PersonMask::pmMungo , PersonId::pidMungo , 0, 28, 8, 0, 0, 11, 45, 0, 0 },
|
||||
{ 0x628, 237, PersonMask::pmEve , PersonId::pidEve , 0, 30, 10, 0, 0, 7, 35, 0, 0 },
|
||||
{ 0x81A, 238, PersonMask::pmShazia, PersonId::pidShazia , 0, 34, 11, 0, 0, 1, 11, 0, 0 },
|
||||
{ 0x330, 239, PersonMask::pmLeader, PersonId::pidChongOfChamaar , 0, 38, 13, 0, 0, 10, 0, 0, 0 },
|
||||
{ 0x41B, 239, PersonMask::pmLeader, PersonId::pidUlanOfUlele , 0, 46, 15, 0, 0, 13, 0, 0, 0 },
|
||||
{ 0x53B, 239, PersonMask::pmLeader, PersonId::pidKommalaOfKoto , 0, 42, 14, 0, 0, 9, 0, 0, 0 },
|
||||
{ 0x711, 239, PersonMask::pmLeader, PersonId::pidCabukaOfCantura , 0, 50, 16, 0, 0, 14, 0, 0, 0 },
|
||||
{ 0xA02, 239, PersonMask::pmLeader, PersonId::pidMarindaOfEmbalmers, 0, 54, 17, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x628, 239, PersonMask::pmLeader, PersonId::pidFuggOfTamara , 0, 62, 18, 0, 0, 12, 0, 0, 0 },
|
||||
{ 0x801, 239, PersonMask::pmLeader, PersonId::pidChongOfChamaar , 0, 38, 13, 0, 0, 10, 0, 0, 0 },
|
||||
{ 0x41B, 10, PersonMask::pmQuest , PersonId::pidUlanOfUlele , PersonFlags::pfType2 , 46, 15, 0, 0, 13, 0, 0, 0 },
|
||||
{ 0x711, 11, PersonMask::pmQuest , PersonId::pidCabukaOfCantura , PersonFlags::pfType2 , 50, 16, 0, 0, 14, 0, 0, 0 },
|
||||
{ 0x106, 240, PersonMask::pmThugg , PersonId::pidThugg , 0, 64, 7, 0, 0, 0, 61, 0, 0 },
|
||||
{ 0, 13, 0, PersonId::pidNarrator , 0, 68, 12, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x902, 241, PersonMask::pmQuest , PersonId::pidNarrim , 0, 70, 19, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0xC03, 244, PersonMask::pmMorkus, PersonId::pidMorkus , 0, 74, 20, 0, 0, 0, 0, 0, 0 },
|
||||
// dinos in each valley
|
||||
{ 0x332, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pfType8 , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x329, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pfType8 , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x33B, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pf80 | PersonFlags::pftTriceraptor , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x317, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pf80 | PersonFlags::pftVelociraptor, 0, 0, 0, 0, 0, 0, 1, 0 },
|
||||
{ 0x320, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pfType12 , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x349, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pf80 | PersonFlags::pftMosasaurus , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
|
||||
{ 0x429, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pfType8 , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x43B, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pf80 | PersonFlags::pftTriceraptor , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x422, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pf80 | PersonFlags::pftVelociraptor, 0, 0, 0, 0, 0, 0, 1, 0 },
|
||||
{ 0x432, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pf80 | PersonFlags::pftMosasaurus , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
|
||||
{ 0x522, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pfType8 , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x534, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pf80 | PersonFlags::pftTriceraptor , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x515, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pftVelociraptor , 0, 0, 0, 0, 0, 0, 1, 0 },
|
||||
{ 0x533, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pf80 | PersonFlags::pftMosasaurus , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
|
||||
{ 0x622, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pfType8 , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x630, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pf80 | PersonFlags::pftTriceraptor , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x643, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pf80 | PersonFlags::pftVelociraptor, 0, 0, 0, 0, 0, 0, 1, 0 },
|
||||
{ 0x63A, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pf80 | PersonFlags::pftMosasaurus , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
|
||||
{ 0x737, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pfType8 , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x739, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pf80 | PersonFlags::pftTriceraptor , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x74A, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pf80 | PersonFlags::pftVelociraptor, 0, 0, 0, 0, 0, 0, 1, 0 },
|
||||
{ 0x726, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pf80 | PersonFlags::pftMosasaurus , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
|
||||
{ 0x842, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pf80 | PersonFlags::pfType8 , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x822, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pf80 | PersonFlags::pftTriceraptor , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x828, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pftVelociraptor , 0, 0, 0, 0, 0, 0, 1, 0 },
|
||||
{ 0x84B, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pf80 | PersonFlags::pftMosasaurus , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
|
||||
{ 0xB03, 242, PersonMask::pmDino , PersonId::pidDinosaur , PersonFlags::pfType8 , 58, 252, 0, 0, 0, 0, 0, 0 },
|
||||
// enemy dinos
|
||||
{ 0x311, 243, PersonMask::pmEnemy , PersonId::pidEnemy , PersonFlags::pf80 | PersonFlags::pftTyrann , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x410, 243, PersonMask::pmEnemy , PersonId::pidEnemy , PersonFlags::pf80 | PersonFlags::pftTyrann , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x51B, 243, PersonMask::pmEnemy , PersonId::pidEnemy , PersonFlags::pf80 | PersonFlags::pftTyrann , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x618, 243, PersonMask::pmEnemy , PersonId::pidEnemy , PersonFlags::pf80 | PersonFlags::pftTyrann , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x71B, 243, PersonMask::pmEnemy , PersonId::pidEnemy , PersonFlags::pf80 | PersonFlags::pftTyrann , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0x81B, 243, PersonMask::pmEnemy , PersonId::pidEnemy , PersonFlags::pf80 | PersonFlags::pftTyrann , 0, 0, 0, 0, 0, 0, 0, 0 },
|
||||
{ 0xFFFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFFFF, 0xFFFF, 0xFF, 0xFF, 0xFF, 0xFF},
|
||||
{ 0x628, 237, PersonMask::pmEve , PersonId::pidEve , 0, 80, 9, 0, 0, 8, 35, 0, 0 },
|
||||
{ 0x628, 237, PersonMask::pmEve , PersonId::pidEve , 0, 78, 10, 0, 0, 7, 35, 0, 0 }
|
||||
};
|
||||
|
||||
Citadel _citadelList[7] = {
|
||||
{ 1, { 163, 182, 0, 0, 124, 147, 193, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||
{ 48, { 285, 286, 0, 0, 287, 288, 284, 0 }, { 114, 115, 0, 0, 116, 117, 113, 0 } },
|
||||
{ 63, { 290, 291, 0, 0, 292, 293, 289, 0 }, { 119, 120, 0, 0, 121, 122, 118, 0 } },
|
||||
{ 95, { 295, 296, 0, 0, 297, 298, 294, 0 }, { 124, 125, 0, 0, 126, 127, 123, 0 } },
|
||||
{ 127, { 300, 301, 0, 0, 302, 303, 299, 0 }, { 129, 130, 0, 0, 131, 132, 128, 0 } },
|
||||
{ 159, { 305, 306, 0, 0, 307, 308, 304, 0 }, { 134, 135, 0, 0, 136, 137, 133, 0 } },
|
||||
{ 255, { 310, 311, 0, 0, 312, 313, 309, 0 }, { 139, 140, 0, 0, 141, 142, 138, 0 } }
|
||||
};
|
||||
|
||||
Rect _characterRects[19] = { // TODO: just an array of int16s?
|
||||
{ 93, 69, 223, 176},
|
||||
{ 102, 86, 162, 126},
|
||||
{ 88, 103, 168, 163},
|
||||
{ 116, 66, 192, 176},
|
||||
{ 129, 92, 202, 153},
|
||||
{ 60, 95, 160, 176},
|
||||
{ 155, 97, 230, 145},
|
||||
{ 100, 77, 156, 145},
|
||||
{ 110, 78, 170, 156},
|
||||
{ 84, 76, 166, 162},
|
||||
{ 57, 77, 125, 114},
|
||||
{ 93, 69, 223, 175},
|
||||
{ 93, 69, 223, 176},
|
||||
{ 93, 69, 223, 176},
|
||||
{ 154, 54, 245, 138},
|
||||
{ 200, 50, 261, 116},
|
||||
{ 70, 84, 162, 176},
|
||||
{ 125, 101, 222, 172},
|
||||
{ 188, 83, 251, 158}
|
||||
};
|
||||
|
||||
byte _characterArray[20][5] = { // TODO: struc?
|
||||
{ 8, 15, 23, 25, 0xFF },
|
||||
{ 0, 9, 0xFF, 0, 0 },
|
||||
{ 0, 9, 0xFF, 0, 0 },
|
||||
{ 0, 9, 0xFF, 0, 0 },
|
||||
{ 0, 13, 0xFF, 0, 0 },
|
||||
{ 16, 21, 0xFF, 0, 0 },
|
||||
{ 11, 20, 0xFF, 0, 0 },
|
||||
{ 0, 12, 0xFF, 0, 0 },
|
||||
{ 0, 9, 0xFF, 0, 0 },
|
||||
{ 0, 9, 0xFF, 0, 0 },
|
||||
{ 5, 13, 0xFF, 0, 0 },
|
||||
{ 0xFF, 0, 0, 0, 0 },
|
||||
{ 0, 8, 0xFF, 0, 0 },
|
||||
{ 0xFF, 0, 0, 0, 0 },
|
||||
{ 0, 7, 0xFF, 0, 0 },
|
||||
{ 0, 8, 0xFF, 0, 0 },
|
||||
{ 8, 12, 0xFF, 0, 0 },
|
||||
{ 0, 5, 0xFF, 0, 0 },
|
||||
{ 0, 4, 0xFF, 0, 0 },
|
||||
{ 0xFF, 0, 0, 0, 0 }
|
||||
};
|
||||
|
||||
Area kAreasTable[12] = {
|
||||
{ Areas::arMo , AreaType::atCitadel, 0, 0, 0, 1, 0, 0},
|
||||
{ Areas::arTausCave , AreaType::atCave , 0, 112, 0, 2, 0, 0},
|
||||
{ Areas::arChamaar , AreaType::atValley , 0, 133, 0, 3, 0, 0},
|
||||
{ Areas::arUluru , AreaType::atValley , 0, 187, 0, 4, 0, 0},
|
||||
{ Areas::arKoto , AreaType::atValley , AreaFlags::HasVelociraptors, 236, 0, 5, 0, 0},
|
||||
{ Areas::arTamara , AreaType::atValley , 0, 288, 0, 6, 0, 0},
|
||||
{ Areas::arCantura , AreaType::atValley , 0, 334, 0, 7, 0, 0},
|
||||
{ Areas::arShandovra , AreaType::atValley , 0, 371, 0, 8, 0, 0},
|
||||
{ Areas::arNarimsCave , AreaType::atCave , 0, 115, 0, 9, 0, 0},
|
||||
{ Areas::arEmbalmersCave, AreaType::atCave , 0, 118, 0, 10, 0, 0},
|
||||
{ Areas::arWhiteArch , AreaType::atCave , 0, 122, 0, 11, 0, 0},
|
||||
{ Areas::arMoorkusLair , AreaType::atCave , 0, 127, 0, 12, 0, 0}
|
||||
};
|
||||
|
||||
int16 tab_2CEF0[64] = {
|
||||
25, 257, 0, 0, 37, 258, 38, 259, 0, 0, 24, 260, 0, 0, 0, 0,
|
||||
0, 0, 53, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
39, 261, 0, 0, 40, 262, 62, 263, 0, 0, 63, 264, 0, 0, 0, 0,
|
||||
18, 275, 0, 0, 35, 254, 36, 255, 19, 318, 23, 256, 0, 0, 0, 0
|
||||
};
|
||||
|
||||
int16 tab_2CF70[64] = {
|
||||
65, 266, 0, 0, 66, 267, 67, 268, 0, 0, 68, 269, 0, 0, 0, 0,
|
||||
0, 0, 73, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
69, 270, 0, 0, 70, 271, 71, 272, 0, 0, 72, 273, 0, 0, 0, 0,
|
||||
18, 275, 0, 0, 35, 254, 36, 255, 19, 318, 23, 256, 0, 0, 0, 0,
|
||||
};
|
||||
|
||||
byte kActionCursors[299] = {
|
||||
3, 1, 2, 4, 5, 5, 5, 0, 5, 5,
|
||||
5, 5, 5, 3, 2, 5, 5, 5, 3, 2,
|
||||
4, 5, 7, 7, 4, 5, 5, 0, 0, 0,
|
||||
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
|
||||
5, 5, 0, 0, 0, 0, 5, 5, 5, 5,
|
||||
5, 5, 5, 5, 5, 5, 5, 5, 0, 0,
|
||||
0, 0, 5, 5, 5, 5, 5, 5, 5, 5,
|
||||
5, 5, 5, 5, 0, 0, 0, 0, 5, 5,
|
||||
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
|
||||
6, 6, 6, 6, 6, 6, 6, 0, 5, 6,
|
||||
6, 1, 6, 6, 0, 0, 6, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 6, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 0, 0, 6, 6,
|
||||
53, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
};
|
||||
|
||||
byte mapMode[12] = { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 2, 0 };
|
||||
|
||||
// Cube faces to texture coords mapping
|
||||
// each entry is num_polys(6) * num_faces_per_poly(2) * vertex_per_face(3) * uv(2)
|
||||
byte cubeTextureCoords[3][6 * 2 * 3 * 2] = {
|
||||
{
|
||||
32, 32, 0, 32, 0, 0,
|
||||
32, 32, 0, 0, 32, 0,
|
||||
|
||||
0, 32, 0, 0, 32, 0,
|
||||
0, 32, 32, 0, 32, 32,
|
||||
|
||||
32, 32, 0, 32, 0, 0,
|
||||
32, 32, 0, 0, 32, 0,
|
||||
|
||||
32, 0, 32, 32, 0, 32,
|
||||
32, 0, 0, 32, 0, 0,
|
||||
|
||||
0, 0, 32, 0, 32, 32,
|
||||
0, 0, 32, 32, 0, 32,
|
||||
|
||||
0, 32, 0, 0, 32, 0,
|
||||
0, 32, 32, 0, 32, 32
|
||||
}, {
|
||||
32, 32, 0, 32, 0, 0,
|
||||
32, 32, 0, 0, 32, 0,
|
||||
|
||||
32, 0, 32, 32, 0, 32,
|
||||
32, 0, 0, 32, 0, 0,
|
||||
|
||||
32, 0, 32, 32, 0, 32,
|
||||
32, 0, 0, 32, 0, 0,
|
||||
|
||||
0, 32, 0, 0, 32, 0,
|
||||
0, 32, 32, 0, 32, 32,
|
||||
|
||||
32, 0, 32, 32, 0, 32,
|
||||
32, 0, 0, 32, 0, 0,
|
||||
|
||||
32, 0, 32, 32, 0, 32,
|
||||
32, 0, 0, 32, 0, 0
|
||||
}, {
|
||||
30, 30, 2, 30, 2, 2,
|
||||
30, 30, 2, 2, 30, 2,
|
||||
|
||||
2, 30, 2, 2, 30, 2,
|
||||
2, 30, 30, 2, 30, 30,
|
||||
|
||||
30, 30, 2, 30, 2, 2,
|
||||
30, 30, 2, 2, 30, 2,
|
||||
|
||||
30, 2, 30, 30, 2, 30,
|
||||
30, 2, 2, 30, 2, 2,
|
||||
|
||||
2, 2, 30, 2, 30, 30,
|
||||
2, 2, 30, 30, 2, 30,
|
||||
|
||||
2, 30, 2, 2, 30, 2,
|
||||
2, 30, 30, 2, 30, 30
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user