Fenix - Версия для печати +- DC-SWAT Forum (http://www.dc-swat.ru/forum) +-- Форум: Sega Dreamcast (/forum-2.html) +--- Форум: General Discussion (/forum-7.html) +--- Тема: Fenix (/thread-251.html) |
Fenix - SWAT - 16.08.2007 16:49 Теперь на сайте будет раздел посвященный Fenix engine. Так же доступна новая версия в которой добавилась поддержка Fenix DLL. SDK для компилирования Fenix DLL, сам движек, портированные dll, и информация о последних версиях доступна в новом разделе сайта Fenix Fenix - zaero - 17.08.2007 00:47 Хех... Пора бы уже... Токо вот не могу понять зачем там SDL и KoS функции?? Fenix - SWAT - 17.08.2007 01:19 Ну как это зачем. Если ты будешь создавать модуль, то нужно же использовать какие то функции, стандартные, ОС зависимые и дополнительные. И чтобы не запихивать это лишний раз в память(ведь это уже загружено Fenix'ом) сделано перенаправление туда где они уже есть. Не обязательно их использовать если это не нужно, главное что это возможно, а нужно будет полюбому, если ты там не hello world конечно сделал. Fenix - zaero - 17.08.2007 01:21 Понял... Fenix - alex - 22.08.2007 19:29 а как им пользоваться, этим SDK? Fenix - SWAT - 23.08.2007 12:31 Нужно иметь настроенный cygwin с компиляторами и KOS, мона ее даже не компилить, она только для файлов заголовков нужна будет(.h). Пример модуля я положил туда, можешь вот просто зайти в папку с SDK и написать make, скомпилится как модуль файл module.c (это тестовый модуль - пример), будет 2 файла: 1. dgb-module.klf - этот не используем, можно его удалить, он для debug, т.е. он компилится немного подругому, чтобы было видно используешь ли ты функции которые не доступны без дополнительных библиотек. Если компилятор ошибок не выдал при компилировании этого debug модуля, то значит все ок. 2. module.klf - этот модуль используем, причем в DC версии Fenix, я сделал возможность прописывать адреса подулей в любые места, не так как для других платформ, там только в той же папке они могут лежать. Т.е. например можно написать /vmu/a1/module.klf Еще есть один нюанс, когда компилируешь Fenix приложение, то прописывая загрузку модуля, компилятор идет его проверять по этому адресу. С адресом то проблем нет, можно насоздавать любых папок(в том числе и /vmu/a1 или /cd и т.п.), но вот он его проверяет еще на совместимость, поэтому компилятор начинает ругаться, типа что это не приложение Win32, для обхода этой проблемы тупо ложим вместо нашего дримовского модуля, любой другой скомпиленный под Win32(т.е. dll) называем его как нужно и все, компилятор больше не ругается и нормально компилит, потом просто ложим дримовский модуль вместо win32 для запуска на дриме. Компилятор Fenix я потом исправлю, чтобы он не проверял эти модули, чтоб не парится с такой махинацией, хоть и не очень сложной. Еще о компилировании модулей в SDK. Там есть папки include, lib и libdebug. include - здесь лежат заголовки Fenix, чтобы можно было использовать функции иго. lib - здесь лежит скомпиленная библиотека libdebug, можно и свои ложить. libdebug - это библиотека, в которой прописаны fake функции KOS, Fenix, SDL и т.д. Она нужна для компилирования debug модуля - dbg-module.klf В исходниках этой библиотеки можете посмотреть названия всех функций, которые вы можете использовать без дополнительных библиотек. Они там прописаны как int func_name |