Первое (разумное?) предложение.
-Класы реализующие платформу вынести в одтельные DLL что бы не висели Referens на DirectX, что бы не хватать exception под mono-linux
Первое (разумное?) предложение.
-Класы реализующие платформу вынести в одтельные DLL что бы не висели Referens на DirectX, что бы не хватать exception под mono-linux
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
логика эмуляции ZX выносится в отдельную сборку ("ZXMAK.NET").
логика реализации платформы managed directx помещается в сборку ZXMAK.NET.MDX и ссылается на сборку эмуляции.
логика платформы sdl.net также помещается в сборку ZXMAK.NET.SDL.
MDX и SDL платформы используют в качестве UI библиотеки - "Windows.Forms".
если никто не против - то придерживаясь вышеописаных изменений - постараюсь дописать SDL платформу и выложить сюда.
можно и так, а разве под mono будет падать exception? Если PlatformFactory не использует референсов, то исключение при создании экземпляра класса, который использует не существующие референсы можно будет отловить, и отметить что эти платформы не доступны... По крайней мере в родном дотнете это так, на моно не пробовал![]()
Последний раз редактировалось ZXMAK; 31.03.2008 в 05:42.
Ненаю по мне как то мутненько, Exception тож можно отхватить, тока зачем, да и если захочеш под linux собрать прийдется помучаться с растановкой по коду #ifdef иначе код будет синтаксически неверен...
Причем проблем с отладкой вроде как данное решение не прибавляет.
Представляю на ваш суд порт ZXMAK.NET на SDL.NET. Вместе с написанием платформы sdl был также проделан небольшой рефакторинг кода (разбиение на логические уровни: ziplib, zxmak, интерфейс wf, mdx, sdl)
для компиляции необходима библиотека SDL.NET 6.0.0
todo:
- fullscreen, scale window
- реальный запуск под mono
пожелания Александру:
- просмотреть данные исходные коды и совместить их с основной веткой.
- выложить исходники на sf.net в анонимный svn и сопровождать их путем ревизии и утверждения патчей
ps:
Alexander Makeev welcome to #emu-russia![]()
а под моно запускается? особенно интересно - из под Linux и Mac OS
бинарник в аттачменте, там есть небольшая ошибка - логгер не всегда закрывается, но пока не исправлял
Для запуска нужно установить SDL runtime: http://sourceforge.net/project/showf...group_id=52340
Последний раз редактировалось ZXMAK; 01.04.2008 в 11:17.
Добавил поддержку XNA
Итого уже работает через MDX, SDL и XNA
SDL версию под Linux запускать еще не пробовал, на всякий случай убрал жесткий референс на SdlDotNet.dll (использовалась версия 6.0.0.0). Если кто уже попробовал - отпишите результат
Регистрация проекта на sourceforge.net в процессе, жду утверждения...![]()
Это что же - на Xbox360 можно пускать?
И кстати, MDX не пускается под Vista x64:
Type: System.BadImageFormatException
Message: is not a valid Win32 application. (Exception from HRESULT: 0x800700C1)
Stack trace:
at ZXMAK.Platform.MDX.Render3D.free()
at ZXMAK.Platform.MDX.Render3D.Dispose(Boolean disposing)
at System.ComponentModel.Component.Dispose()
at System.Windows.Forms.Control.Dispose(Boolean disposing)
at System.Windows.Forms.ContainerControl.Dispose(Bool ean disposing)
at System.Windows.Forms.Form.Dispose(Boolean disposing)
at ZXMAK.Platform.MDX.MainForm.Dispose(Boolean disposing)
at System.ComponentModel.Component.Dispose()
at ZXMAK.Platform.MDX.Platform.Running()
at ZXMAK.Platform.GenericPlatform.Run()
Где-то там что-то 32-битным скомпилено... судя по всему сам dxПодпатчил CorFlags'ом ZXMAK.MDX.exe на предмет /32BIT+, всё заработало.
Последний раз редактировалось thims; 03.04.2008 в 18:00.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)