Re: Cheb's Game Engine
Добавлено: 14.12.2015 00:42:40
Прогресса пока нет. Медитирую над структурой многослойного мира, пишу корявые реализации разрежённых массивов, проектирую для игровых объектов кэш-фриндли умный указатель.
Чтобы совсем не стояло, начал откапывать обратно линуксовую версию и прочие порты за пределы Вынь-32. Попутно и поддержку SDL2 прикручу.
64-битная виндовая версия по прежнему не может даже оторваться от земли. В зависимости от версии компилятора, либо умирает сразу (3.0.1), да так, что антивирус отправляет её на анализ, либо работает две секунды нормально, потом крашится в непредсказуемом месте (2.6.4). Даже не понимаю в какую сторону копать: то ли в компиляторе генератор кода кривой (в пользу чего свидетельствует откровенно сломанный екзешник от 3.0.1, крашащийся на ассемблерной вставке) то ли моя прога так былинно стреляет себе в ногу. Но как? Там отличий от 32битной версии с гулькин нос.
Перепилил на юникод, с сохранением обратной совместимости с FPC 2.6.4. Очень помогло своевременное введение типа TFileNameString, который для него - Ansi а для третьего - Unicode. Юникодная версия (на 3.0.1) всё ещё не может быть протестирована: экзешник-матка собирается и вроде работает, но исходники игрового модуля гарантированно роняют Паскаль.
Ищо, в связи с трагической кончиной (точнее, запоздалым закапыванием дурнопахнущего трупа) Виндовс 98, задался поисками другой платформы, поддержка которой вызовет закономерные "Лолшто?" и "не, он точно тронулся". После недолгих поисков была найдена Raspberry Pi 2.
Ха!
Да это идеальная low-end платформа для задания лимитов и стресс-тестирования концепций!
P.S. Лазарус ставился отколо четырёх часов, причём загрузка процессора была 6% (системный диск - это микро SD карточка, да). Потом долго боролся с чёрной рамкой вокруг экрана, ругая китайский конвертор HDMI->VGA, пока не вспомнил, что у этой штуки есть аналоговый выход для ЭЛТ телевизора, и рамочка эта специально вштырена. Полез в файл, исполняющий обязанности BIOS, убрал рамочку нахрен, умилился набором опций видеорежима (HDMI / NTSC /PAL). Долго трахался, пытаясь запустить OpenArena, получил только софтверное слайд-шоу. Вспомнил, что на этой платформе ускорен только OpenGL ES, плюнул, запустил идущий в комплекте с операционкой урезанный майнкрафт. Умилился как он резво летает в 1920х1080. Потрогал микросхему процессора. Было очень больно. Сося палец, подумал, что это как то не тянет на два с половиной ватта заявленной мощности. Выдернул провод питания. Машинка продолжила работать. Откуда она берёт электричество? Из USB хаба в обратную сторону сосёт? Или по HDMI кабелю?.. Загадка.
Чтобы совсем не стояло, начал откапывать обратно линуксовую версию и прочие порты за пределы Вынь-32. Попутно и поддержку SDL2 прикручу.
64-битная виндовая версия по прежнему не может даже оторваться от земли. В зависимости от версии компилятора, либо умирает сразу (3.0.1), да так, что антивирус отправляет её на анализ, либо работает две секунды нормально, потом крашится в непредсказуемом месте (2.6.4). Даже не понимаю в какую сторону копать: то ли в компиляторе генератор кода кривой (в пользу чего свидетельствует откровенно сломанный екзешник от 3.0.1, крашащийся на ассемблерной вставке) то ли моя прога так былинно стреляет себе в ногу. Но как? Там отличий от 32битной версии с гулькин нос.
Перепилил на юникод, с сохранением обратной совместимости с FPC 2.6.4. Очень помогло своевременное введение типа TFileNameString, который для него - Ansi а для третьего - Unicode. Юникодная версия (на 3.0.1) всё ещё не может быть протестирована: экзешник-матка собирается и вроде работает, но исходники игрового модуля гарантированно роняют Паскаль.
Ищо, в связи с трагической кончиной (точнее, запоздалым закапыванием дурнопахнущего трупа) Виндовс 98, задался поисками другой платформы, поддержка которой вызовет закономерные "Лолшто?" и "не, он точно тронулся". После недолгих поисков была найдена Raspberry Pi 2.
Ха!
Да это идеальная low-end платформа для задания лимитов и стресс-тестирования концепций!
P.S. Лазарус ставился отколо четырёх часов, причём загрузка процессора была 6% (системный диск - это микро SD карточка, да). Потом долго боролся с чёрной рамкой вокруг экрана, ругая китайский конвертор HDMI->VGA, пока не вспомнил, что у этой штуки есть аналоговый выход для ЭЛТ телевизора, и рамочка эта специально вштырена. Полез в файл, исполняющий обязанности BIOS, убрал рамочку нахрен, умилился набором опций видеорежима (HDMI / NTSC /PAL). Долго трахался, пытаясь запустить OpenArena, получил только софтверное слайд-шоу. Вспомнил, что на этой платформе ускорен только OpenGL ES, плюнул, запустил идущий в комплекте с операционкой урезанный майнкрафт. Умилился как он резво летает в 1920х1080. Потрогал микросхему процессора. Было очень больно. Сося палец, подумал, что это как то не тянет на два с половиной ватта заявленной мощности. Выдернул провод питания. Машинка продолжила работать. Откуда она берёт электричество? Из USB хаба в обратную сторону сосёт? Или по HDMI кабелю?.. Загадка.