|
From: Jihar <ji...@bk...> - 2004-04-03 20:17:07
|
Всем привет! Я извиняюсь за задержки, с которыми отвечаю. Просто сейчас дел навалилось немеряно. > [Jihar] >>Плюс надо что-то решать с кодировкой, потому что она разная у всех, и >>читать архив неудобно. > [/Jihar] [BlackAngel] > Давайте все установим windows-1251, а то я половину писем прочитать не > могу. [/BlackAngel] Я только за :). Только я не в курсе, как мне ее поменять :) Насколько я понял, я автоматически отвечаю в той кодировке, в которой пришло письмо. Если знаешь, как тхе бату прописать кодировку - скажи. [BlackAngel] > Надо бы договорится по ключевым вопросам: > 1) Сколько неймспейсов будет. Я за один единственный, т.к. плодить их [/BlackAngel] Один неймспейс - имхо довольно плохо. Пространства имен позволяют более конкретно чувствовать разделение движка на модули. Причем не факт, что эти модули должны общаться друг с другом (в идеале так и должно быть), те набор модулей - над ними модуль, который ими управляет (rgde::core). Тут дело даже не в повторе всяких констант\методов итд. Дело именно в логическом разделении движка. [BlackAngel] > 2) Условимся о количестве файлов. У движка будет SDK и рабочие файлы. [/BlackAngel] Опять же. Юзверь например просто напишет incude <rgde.h> в котором будут все остальные инклюды. Или он напишет incude <render.h> в котором будут incude <irender.h> incude <itexture.h> incude <imaterial.h> etс те надо лишь определиться, как нам удобнее. Как будет включать файлы юзверь - не наша забота. Мы создадим ему все удобства. Лично мне удобнее, когда файлы небольшие. те один класс - один файл. Ну или парочку классов на файл, если и классы небольшие, и они четко соответствуют какой-либо одной цели. [BlackAngel] > 3) Способ декларирования интерфейсов. Тут либо вариант Jihar'a, либо [/BlackAngel] Думаю мне не надо говорить, какой из этих вариантов мне болше нравится :) [BlackAngel] > 4) Далее договоримся о константах. Два варианта либо enum, либо [/BlackAngel] Предлагаю сразу решить. Мы пишем на С++. Это означает, что мы не пользуем дефайны вообще. Только чтобы не было повторного включения заголовочного файла. Константы - енумы и константы. Да, товарищи. Предлагаю каждому сказать, над чем он сейчас работает в плане ргде. Кому чего не хватает для полноценной работы, над чем надо определиться в срочном порядке итд итп. Мои цели на данный момент. Переписать обертку для ком, чтобы не зависеть от windows.h. Этот файлик должен включаться лишь в файлы реализации. И то только там, где это необходимо (например создание вин окошка). Далее - система плагинов. Она плавно претекает из предыдущего пункта. Для этого мне нужна готовая файловая система и конфиг. Далее - рендер огл. Тут пока проблем нет. Надо лишь дождаться завершения работ над предыдущими пунктами. Значит как будет работать система плагинов. В конфиге будут прописаны существующие плагины. С такими параметрами, как имя, тип (рендер, звук, файловая система итд), гуид, возможно версия, автор и еще какая-нить побочная инфа. Ядро при загрузке считывает конфиг, и запоминает какие плагины доступны. При этом згрузки самих плагинов ессно не происходит (меня лично этим бесит огре - он пока не загрузит д3д7, д3д9 итд не успокаивается. а мне нужен только огл! и загрузка у него очень долгая получается). Это есть конфиг движка. Потом считвается или конфиг игрушки, или ручками указывается, какие плагины загружать. Жду ваших мыслей :)) Анубис - следи, чтобы у тебя в теме стояло Re, когда ты отвечаешь на письмо. Иначе с большой вероятностью создастся новая тема в рассылке, и фиг что там потом поймешь. |