понедельник, 1 августа 2016 г.

Arcanum файлы : SEC (часть вторая)

Стены. Сегодня я нашел время продолжить работу над sec файлами. Рассмотрим OBJECT TYPE 0 (WALL).
Если бы стены могли сдерживать наш рост, все крестьяне были бы карликами, а короли — великанами.

Создадим пару зданий.





На данной картинке 48 обьектов (0х30). Считаются внутренние и внешние стены. 

Если предыдущий OBJECT TYPE SCENERY имел следующую структуру,

04BYTE HEADER
24BYTE PRO_GUID -> 4BYTE PRO_ID
24BYTE OBJ_GUID -> 4BYTE GLOBAL_CHANGE_FLAG
04BYTE PRO_TYPE
11BYTE SYS_FLAG
04BYTE LOCATION FLAG
04BYTE OFFSET_X (OPTIONAL)
04BYTE OFFSET_Y (OPTIONAL)
04BYTE DELTA_X
04BYTE DELTA_Y
04BYTE FLAGS
ХХ + PROPERTY (OPTIONAL)

= 83 BYTE OR 91 /w offset

То сейчас всё гораздо проще.


04BYTE HEADER
24BYTE PRO_GUID -> 4BYTE PRO_ID
24BYTE OBJ_GUID -> 4BYTE GLOBAL_CHANGE_FLAG
04BYTE PRO_TYPE
14BYTE SYS_FLAGS
01BYTE DIRECTION FLAG
04BYTE FLAGS 0
04BYTE OFFSET_X (OPTIONAL)
04BYTE OFFSET_Y (OPTIONAL)
04BYTE FLAGS 1

Рассмотрим внимательнее:


77 00 00 00 01 00 00 00 72 F3 5D 01 FD 03 00 00
02 00 00 00 6A F3 5D 01 E2 9D E9 FE 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 03 00 03 00 04 00 00 00  | 00 - WALL
00 00 00 00 00 00 00 88 C1 12 01 06 00 00 00 02
00 00 00 00 40 00 00

77 00 00 00 01 00 00 00 8A F3 5D 01 00 04 00 00  | 00 04 00 00
02 00 00 00 82 F3 5D 01 52 15 61 2F 00 00 00 00
00 00 00 00 D4 58 5D 8E A1 AF 5B 47 A4 9E 7A 1F
B9 D6 61 26 00 00 00 00 03 00 03 00 04 00 00 00  | 00 - WALL
00 00 00 00 00 00 00 88 01 10 01 02 00 00 00 02

00 00 00 00 40 00 00

Координаты тайлов стен выделены зеленым и ведут отсчет от LOC 0,0. 



понедельник, 25 июля 2016 г.

Arcanum файлы : SEC (карты)

Небольшое лирическое отступление :
В июне появился экспериментальный билд unity 5.5 с расширенной поддержкой 2D, где добавили класс TileMap. Инструмент всё еще сырой, но довольно занятный. Мне сразу захотелось его опробовать! Но на чем ? И тут я вспомнил про старый добрый Arcanum : Of Steamworks and Magick Obscura. Тайловый ? Да. Форматы файлов известны ? Вроде бы да.. Ну тогда поехали !

Если с формат большинства файлов был разобран до меня , то с *.sec или картами было всё сложно. Во-первых формат известен, но не всем и (возможно) не весь. Подлинно известны два человека : Crypton с arcanum.game-alive.com который внезапно положил потерял интерес к Аркануму, и radzh,  который разрабатывает Arcanum : Revolution, оказался совсем не дружелюбен (ацкий конспиратор), хоть и доступен онлайн. Выходит, что сообщество хоть и не походило на секту анально огороженных, но на чью-либо помощь рассчитывать не приходилось. Было еще два источника информации : чья-то копипаста на dropbox, и исходники ToEE. Первый документ оказался не совсем полным и местами ошибочным, второй - подходил только для понимания каким путем шла Тройка,  т.к. движок ToEE был серьезно модифицирован по сравнению с арканумом..
Основной проблемой стал парсинг объектов. ToEE в этом отношении ушел немного вперед, и его исходники мало применимы к аркануму .

Я пошел методом тыка :

Создано 4 одинаковых объекта типа Scenery

 

Получилось вот это

Plants 0FBE LOC :0,0
77 00 00 00 01 00 00 00 72 F5 5D 01 BE 0F 00 00
02 00 00 00 6A F5 5D 01 6E C4 A0 FD 00 00 00 00
00 00 00 00 3C B2 30 CD A6 81 3B 41 9E E0 6E ED
21 10 C3 24 03 00 00 00 04 00 0E 00 04 00 00 00
00 00 00 00 00 00 00 FF FF FF FF F9 FF FF FF 30
0C 40 00

Plants 0FBE LOC :3,0
77 00 00 00 01 00 00 00 72 F5 5D 01 BE 0F 00 00
02 00 00 00 6A F5 5D 01 6E C4 A0 FD 00 00 00 00
00 00 00 00 45 E4 F5 56 9A 08 C1 4B 9C F4 EB 61
5F E4 AA 2D 03 00 00 00 04 00 0E 00 04 00 00 00
00 00 00 00 00 00 01 03 00 00 00 00 00 00 00 FF
FF FF FF FB FF FF FF 30 0C 40 00

Plants 0FBE LOC :0,3
77 00 00 00 01 00 00 00 72 F5 5D 01 BE 0F 00 00
02 00 00 00 6A F5 5D 01 6E C4 A0 FD 00 00 00 00
00 00 00 00 40 31 78 91 DD D2 48 4B 83 5A 7D 3F
62 FC 15 9D 03 00 00 00 04 00 0E 00 04 00 00 00
00 00 00 00 00 00 01 00 00 00 00 03 00 00 00 01
00 00 00 F7 FF FF FF 30 0C 40 00

Plants 0FBE LOC :3,3
77 00 00 00 01 00 00 00 72 F5 5D 01 BE 0F 00 00
02 00 00 00 6A F5 5D 01 6E C4 A0 FD 00 00 00 00
00 00 00 00 05 F0 28 29 7E EC 06 40 BC AF E0 92
8F 4E BB BA 03 00 00 00 04 00 0E 00 04 00 00 00
00 00 00 00 00 00 01 03 00 00 00 03 00 00 00 FF
FF FF FF 02 00 00 00 30 0C 40 00


суббота, 16 апреля 2016 г.

Станок с ЧПУ из говна и палок (часть 1)


Всё началось с того что мне до чертиков надоело изготавливать платы ЛУТом, а рисовать руками тем более. Кто-то скажет "закажи у китайцев!", это не самая плохая мысль, но иной раз надо сделать вот прямо сейчас и желательно по цене стеклотекстолита. 

А помимо фрезера еще хотелось такую игрушку, как 3d принтер и pick-up укладчик. Но посмотрев на ali во что мне выйдет весь этот зоопарк, я немного приуныл. 

Но почему бы и не сделать всё своими руками ?

Так как денег особо не было, то самым дешевым материалом был признан алюминиевый мебельный профиль в изобилии имеющийся на строительных рынках или строительных гипермаркетах вроде "леруа мерлен" и "касторама" (уверен, в вашем регионе есть еще какие-нибудь).

Буквально на следующий день был куплен уголок 40х40, квадратный профиль 20х20 и 25х25, а так же  полоса 40мм. Этого материала хватило на раму 42х48х25. Для скрепления элементов конструкции был куплен заклепочник. Никогда раньше не работал с вытяжными заклепками, а попробовав пришел в полный восторг! Узлы скрепленные заклепками можно условно считать неразьемными. Условно потому, что в случае надобности заклепку можно высверлить. 

В тот же вечер были заказаны 4 направляющие 8х400мм с креплениями,  2 направляющие 8х250мм, 10 линейных подшипников, зубчатый приводной ремень 10м и 10 же роликов к нему. 

В текущей стадии выглядит как-то так


Для  желающих посмотреть еще фотографий прошу под кат