Анимациялар · bei.pm
Осы бетте сипатталған файл форматтары Dynamix, Inc. және Sierra Entertainment компанияларының интеллектуалдық меншік техникалық анализіне негізделген.
Интеллектуалдық меншік қазіргі уақытта Activision Publishing, Inc. / Activision Blizzard, Inc. мүлкіне кіреді және қазіргі уақытта Microsoft Corp. компаниясының меншігінде.
Ақпараттар Reverse Engineering және Деректерді талдау арқылы архивтеу және тарихи деректермен өзара әрекеттесу мақсатында жиналған.
Патенттелген немесе құпия спецификациялар қолданылған жоқ.
Ойын қазіргі уақытта gog.com сайтында жүктеп алу үшін сатып алынуы мүмкін.
Енді Outpost 2 деректер форматындағы пәндердің корольдік класына келейік:
Анимациялар.
Анимация тізімдері деректерді тексеру үшін негізінен қолданылатын глобалдық тақырыппен басталады. Одан кейін нақты анимация анықтамалары 3 деңгейге бөлінеді:
-
Анимация
Анимация - бұл ең жоғарғы инстанция; ол бірлік, ғимарат немесе 'бөлшек анимациясы' (комета соққысы, ауа райы, жарылыс) белгілі бір бастапқы күйдегі анимацияны білдіреді. -
Кадр
Кадр - бұл анимация ішіндегі бір жалғыз сурет. Анимацияда бір немесе бірнеше кадр болуы мүмкін. -
Субкадр
Субкадр - бұл белгілі бір битмаптың белгілі бір критерийлер бойынша кадрдың белгілі бір орнына салынуы туралы ақпарат. Бір кадрда бір немесе бірнеше субкадр болуы мүмкін.
Кейін тікелей жеке анимация анықтамалары жалғасады.
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | символ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Орталық | Деректер түрі | Атауы | Түсініктеме |
---|---|---|---|
0x0000 | uint(32) | Анимациялардың саны | Қанша анимация деректері бар |
0x0004 | uint(32) | Фреймдер саны | Барлығы қанша фрейм болуы керек |
0x0008 | uint(32) | Субфреймдер саны | Бәрін қосқанда қанша субфрейм болуы керек |
0x000c | uint(32) | Опционалдық жазбалар саны | Қанша "таңдаулы жазбалар" бар. |
Анимация
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | символ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0020 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Орталық | Деректер түрі | Атауы | Түсініктеме |
---|---|---|---|
0x0000 | uint(32) | Белгісіз 1 | Белгісіз ақпараттар |
0x0004 | uint(32) | Шекаралық жәшік: Сол жақ | Шекаралық қораптың сол жақтан басталатын (пиксельмен) арақашықтығын көрсетеді. |
0x0008 | uint(32) | Шекаралық жәшік: Жоғары | Жоғарғы басталуды (пиксельмен) Шекаралық жәшік үшін көрсетеді. |
0x000c | uint(32) | Шекаралық қорап: Ені | Бұрыштық қораптың (i>Bounding Box) енін (пиксельмен) көрсетеді. |
0x0010 | uint(32) | Шекаралық жәшік: Биіктік | Bounding Box-тың биіктігін (пиксельмен) көрсетеді. |
0x0014 | uint(32) | Офсет: X | Анимацияның горизонталь орталығын көрсетеді |
0x0018 | uint(32) | Офсет: Y | Анимацияның вертикаль орталығын көрсетеді |
0x001c | uint(32) | Белгісіз 2 | Белгісіз ақпарат |
0x0020 | uint(32) | Фреймдер саны | Бұл анимацияда қанша анимация кадрлары бар екенін көрсетеді |
0x0024 | uint(32) | Терезелер саны | Сызу кезінде қанша терезе қолданылатынын көрсетіңіз |
Жоғарғы қабаттың, анимацияның, деректері негізінен басқару деректері болып табылады - Boundingbox көліктің/ғимараттың айналасындағы белгінің координаттарын көрсетеді, егер ол таңдалса, және сонымен қатар қай аймақтың басу үшін жарамды екенін білдіреді.
Смещение негізінен "нөлдік нүктені" анықтайды; ойын ішіндегі координаттарға қосылатын немесе алынып тасталатын нүкте. Математикалық тұрғыдан алғанда, смещение мұнда координата бастауын білдіреді.
Windows-тар, смещение секілді, әрқайсысы (әр Windows үшін) 4 uint(32) мәндерінен тұрады, олар жеке субфреймдер үшін қолдануға болатын аймақты көрсетеді. Windows-тан тыс, егер Bitmap үшін тиісті түрде белгіленген болса, сызуға болмайды.
Шеңбер
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | символ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Орталық | Деректер түрі | Атауы | Түсініктеме |
---|---|---|---|
0x0000 | uint(8) | Субкаркас саны және Опционал 1, 2 үшін қосқыш | Бұл мән мыналарды қамтиды:
|
0x0001 | uint(8) | Белгісіз 1 және 3, 4 үшін қосқыш | Бұл мән мыналарды қамтиды:
|
0x0002 | uint(8) | Таңдамалы 1 | Белгісіз |
0x0003 | uint(8) | Опционал 2 | Белгісіз |
0x0004 | uint(8) | Міндетті емес 3 | Белгісіз |
0x0005 | uint(8) | Таңдаулы 4 | Белгісіз |
Субрамка
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | символ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Орталық | Деректер түрі | Атауы | Түсініктеме |
---|---|---|---|
0x0000 | uint(16) | Bitmap-Id | Бұл қосымша кадр үшін қандай битмап қолданылатынын көрсетіңіз |
0x0002 | uint(8) | Белгісіз 1 | Белгісіз - бірақ мен бұл Render-Priorität (Z-Layer) екеніне күмәнім жоқ. |
0x0003 | uint(8) | Субкаркас-идентификаторы | Қай субфрейдте екенімізді көрсетеді |
0x0004 | sint(16) | Офсет - Горизонтальды | Фрейм ішінде субфреймнің қай жерде орналасатынын не битмаптың қанша пиксельге горизонтальды жылжытылуы керектігін көрсетеді |
0x0006 | sint(16) | Офсет - Вертикаль | Фреймнің ішінде субфреймді қай жерде орналастыру керектігін немесе битмаптың вертикаль бойынша неше пиксельге жылжытылуы тиіс екенін көрсетіңіз |
Осы арқылы біз енді жеке фреймдерді, сондай-ақ толық анимацияларды тиісті түрде жинақтай аламыз, мұнда күрделі анимацияның мысалында, индекс 500 бар анимация көрсетіледі
Анимация 500
Анимация 500 Плимут жүк көлігінің кәдімгі кенмен жүктеліп, түсірілгенін көрсетеді. Бұл терезе функционалын пайдаланатын бірнеше анимациялардың бірі.
Сондықтан толық анимацияны жинақтауға болады.
Өкінішке орай, жоғарғы жүк люгасы бойынша мәселе бар, себебі графикалық тип туралы ақпаратта сәйкес бит орнатылмаған.
Ойыннан тағы бірнеше тамаша анимирленген спрайттар: