заголовок часть первая, нафиг не нужная, но она есть:
состоит из трех частей - надписей, точнее названия файлов, которые по идее картинки, которые выпрыгивали бы в конце при победе или поражении и так-же картинка брифинга. в оригинал почти не играл, посему не помню как там и что. а у нас все просто:
00 00 00 0E 4C 4F 53 54 42 49 4C 44 2E 57 53 41 00 00
взято из первой миссии атрейдисов. итак
00 00 - номер, некий id чтоль.
00 0E - размер строчки текста - 14 символов в данном случае
4C 4F 53 54 42 49 4C 44 2E 57 53 41 00 00 - сам текст LOSTBILD.WSA
по такому-же принципу идут эти самые id 00 01 и 00 02 - айди, размер, сама строчка
заголовок часть вторая, нужная:
00 03 00 00 - опять айди так сказать - 00 03 и значение 00 00 - 03 это таймер. соответственно значение ноль.
00 04 00 01 - Map Scale - типа пометка, что карта будет использована 32х32, то есть 00 01 значение. ежели бы там было 00 00 - значит 64. (128 пока пролет)
00 05 04 C8 - 00 05 айди это курсорная позиция при старте игры. значение 04 С8 следует понимать так:
$4С8 = 1224 / 64 = 19 (нас интересуют целые, с округлением вниз) так вот 19 это значение по вертикали, координата Y
64 * 19 = 1216
1224 - 1216 = 8 - эта 8 это координата по X. в результате получается 8:19 и там рисуется курсор, который мы видим при старте карты в игре.
00 06 04 C8 - 00 06 - это айди экрана. то есть курсор то это одно, а координаты экрана это другое. причем не нужно смотреть, что координаты вроде те-же самые. это как бы середина экрана. надо сминусовать 2-3, точно уже не скажу - и тогда это будут координаты левого верхнего угла экрана. ну не суть. можно впендюрить такие-же как у курсора - не ошибешься как говорится.
00 07 00 04 - 00 07 это флаг поражения. значение 00 04 следует читать в бинарном формате %00000100 - то есть каждый бит это включение\выключение нужных условий для поражения. и в данном случае это видимо
потеря зданийпотеря юнитов и зданий
потеря зданий союзника
потеря зданий
закончилось время
потеря здан, юниты и союзн здания
добыча врагом спайса
потеря союзн юнитов и зданий
00 08 00 06 - 00 08 тож самое, только что флаг победы. и 6 в данном случае: %00000110 - уничтожить все здания и юниты врага либо добыть спайс
унич враж здания
унич враж здания и юниты
добыть спайс
закончилось время
унич враж здания и добыть спайс
унич враж юниты
унич враж юниты и добыть спайс
унич враж здания харконенов
унич враж здания атрейдисов
унич враж здания ордосов
унич враж здания фрименов
унич враж здания сардукаров
остальное:
до этого момента они как бы шли по порядку 00 00 до 00 08. теперь история меняется.
01 53 00 01 - 01 означает принадлежность чему-то там. 53 команда номер карты. 00 01 - само значение. первая карта.
01 42 00 03 х1 х1 х2 х2 х3 х3 - в этой карте мин как бы нет. но они типа есть и 42 символизирует об этом. 00 03 - количество мин. х1 х1 и далее по 2 байта - это координаты друг за другом этих трех мин. координаты по той-же схеме - делить на 64 - целые это Y, остаток Х
команды начинающиеся с 02, 03, 04, 05, 0B - это настройки домов. где 2 hark, 3 atr , B frm, 4 ordos, 5 sard. то есть первый байт это номер дома. второй - определяет что это за параметр дома.
$51 лимит спайса - сколько надо добыть, если флаг победы включен добыть спайс
$43 кредиты - стартовые деньги
$4D лимит юнитов
$42 человек играет этим домом или AI. скажем харконены для человека 02 42 00 48. а атрейдисы 03 42 00 $43 - AI
команды по сути 4 байтовые. типа 02 51 01 00 - харконены имеют настройку лимит спайса $100 (256)
06 - там где первый байт 06 - это настройки старпорта. какие юниты там будут продаваться и в каком количестве.
06 04 00 01 - старпорт 06, 04 - пехотинец кажись, 00 01 - в количестве одна штука
07 - группы. компьютер строит эти самые группы и отправляет в атаку пачкой. нежели тупо по одному на убой по мере готовности.
07 01 00 00 00 4E 00 46 00 02 00 04
07 - группа
01 - некий свой внутренний номер 01, 02, 03 по счету...
00 00 - дом. 00 00 харк, 00 01 атр, 00 02 орд, 00 03 фрм, 00 04 сард - следует заметить что коды домов отличаются от тех, что были в настройках домов.
00 4E - тип атаки. 00 4E нормал, 00 4B камикадзе. в чем суть без понятия.
00 46 - тип группы. 00 46 foot, 00 57 wheel, 00 54 track. жирность группы определяет какая попрет в атаку
00 02 - минимальное количество в группе
00 04 - максимальное количество в группе
08 - юнит
08 0B 00 03 00 19 01 00 02 FC 00 00 00 04
0B - внутренний номер по счету
00 03 - дом
00 19 - номер юнита в списке из 32 юнитов. и 19 в хексе это 25 в рублях. а 25 у нас... эээ... червяк чтоль
с нуля счет начинается. не с 1.
01 00 - здоровье. и это вроде в процентах. $100 - это 256. типа 100% - полное хп кароче.
02 FC - координаты по той-же схеме.
00 00 - угол поворота. у червей нет углов, так что 0 для всех положений.
00 04 - поведение юнита. может быть охранять, охранять местность, засада и охота. для червя понятно охота. сранно... охота это вроде 11 то есть $0B. впрочем это я смотрю кажется 3 миссию. там черви как бы есть, но не жрут. 04 это охранять местность.
09 здания.
их бывает два штуки.
09 49 - нормальный режим
09 49 00 01 hh hh nn nn hp hp xy xy
в длинном 00 01 - внутренний свой айди по счету 1, 2, 3, 4...
hh hh - дом
nn nn - номер здания по счету. типа 00 02 дворец, 00 03 машинный завод и так далее по порядку
hp hp - количество жизней
xy xy - координаты по старой схеме
09 47 - укороченый
09 47 xy xy hh hh nn nn
xy xy - координаты
hh hh - дом
nn nn - номер.
укороченный потому и укороченный что здесь либо одиночный фундамент - 0, либо четверной - 1, либо стена. 15 чтоль или какая там стена по счету. все остальные домики в длинном формате
0A десант.
0A 01 00 00 00 04 00 07 0A 00
01 внутренний айди по счету 1, 2, 3, 4...
00 00 дом
00 04 юнит. 4 это солдат по порядку в списке из 32 юнитов
00 07 где происходит респаун. 0-5 рандом (не ясно что за рандом и почему их целых 6 вариантов), 6 у врага на базе, 7 у своей базы. начиная с 8 вроде как точные координаты. по старой схеме.
0A таймер
00 рипит. если 00 - один раз, 01 - два, 02 - три и так далее
и в конце файла FF FF - как ежик ходит фыкает, когда его тревожат... вот так и файл миссии фы фы фы фы.