HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Немного о будущем XDM3038
1 час с ~X~
2 голосов
Страницы (103): « Первая ... « 10 11 12 13 [14] 15 16 17 18 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 35004
Нанёс повреждений: 514 ед.
Возраст: 38

Рейтинг



Награды
 
[1 награда]


~ X ~
Ну у тебя и вопросы "между делом".
Вот держи, например, такой вариант:

C++ Source Code:
1
#include <iostream>
2
#include <map>
3
#include <string>
4
 
5
class CRenderSystem
6
{
7
public:
8
  virtual ~CRenderSystem() {}
9
  virtual void printStuff() = 0;
10
};
11
 
12
class CXWiderRenderSystem : public CRenderSystem
13
{
14
public:
15
  virtual ~CXWiderRenderSystem() {}
16
  static CXWiderRenderSystem *create() { return new CXWiderRenderSystem(); }
17
  virtual void printStuff() { std::cout << "CXWiderRenderSystem::printStuff()" << std::endl; }
18
};
19
 
20
class CXaeroXRenderSystem: public CRenderSystem
21
{
22
public:
23
  virtual ~CXaeroXRenderSystem() {}
24
  static CXaeroXRenderSystem *create() { return new CXaeroXRenderSystem(); }
25
  virtual void printStuff() { std::cout << "CXaeroXRenderSystem::printStuff()" << std::endl; }
26
};
27
 
28
class CGContRenderSystem: public CRenderSystem
29
{
30
public:
31
  virtual ~CGContRenderSystem() {}
32
  static CGContRenderSystem *create() { return new CGContRenderSystem(); }
33
  virtual void printStuff() { std::cout << "CGContRenderSystem::printStuff()" << std::endl; }
34
};
35
 
36
class CRenderSystemFactory
37
{
38
  typedef CRenderSystem *( *CreateFn )();
39
  typedef std::map<std::string,CreateFn> ClassMap;
40
public:
41
  template<typename T> void registerClass() {
42
    const char *className = typeid( T ).name();
43
    if ( !strncmp( className, "class ", 6 ) ) className += 6;
44
    m_types.insert( std::make_pair( std::string( className ), reinterpret_cast<CreateFn>( &T::create ) ) );
45
  }
46
  CRenderSystem *createClass( const std::string &name ) const {
47
    ClassMap::const_iterator it = m_types.find( name );
48
    if ( it == m_types.cend() )
49
      return nullptr;
50
    return (it->second)();
51
  }
52
  void listClasses() const {
53
    for ( ClassMap::const_iterator it = m_types.cbegin(); it != m_types.cend(); ++it ) {
54
      std::cout << it->first << " : " << it->second << std::endl;
55
    }
56
  }
57
private:
58
  ClassMap m_types;
59
};
60
 
61
static CRenderSystemFactory factory;
62
 
63
void InitFactory( void )
64
{
65
  factory.registerClass<CXWiderRenderSystem>();
66
  factory.registerClass<CXaeroXRenderSystem>();
67
  factory.registerClass<CGContRenderSystem>();
68
  factory.listClasses();
69
}
70
 
71
CRenderSystem *CreateByName( const char *name )
72
{
73
  return factory.createClass( name );
74
}
75
 
76
int main( int argc, char *argv[] )
77
{
78
  InitFactory();
79
 
80
  CRenderSystem *a1 = CreateByName( "CXWiderRenderSystem" );
81
  if ( a1 ) a1->printStuff();
82
  CRenderSystem *a3 = CreateByName( "CGContRenderSystem" );
83
  if ( a3 ) a3->printStuff();
84
  CRenderSystem *a2 = CreateByName( "CXaeroXRenderSystem" );
85
  if ( a2 ) a2->printStuff();
86
}


Можно было сделать покрасивее, оформив фабрику как синглтон и избавившись от глобальной переменной, но мне лениво, сам допишешь.
Для улучшения портабельности можно избавиться от typeid и передавать имя класса как строку в функцию registerClass, но тогда надо завести макрос, который это сделает сам.

Сообщить модератору | IP: Записан
Сообщение: 151235

Старое сообщение 22-10-2015 09:34
-
~ X ~
offline

Дата регистрации: Oct 2005
Проживает: Архангельск
Сообщений: 3619

Рейтинг



Награды
 
[1 награда]


XaeroX спасибки.. оооой... ну ты тут STL накрутил... Принцип понял - всё равно для void InitFactory( void ) придётся все-все хедеры включать в один файл. По сути, за исключением внесённого static Create(), это те же ифы, запрятанные в массив и класс.

PS: сейчас прибежит тхамбс и скажет, какое это говно - наши плюсы.

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]

Сообщить модератору | IP: Записан
Сообщение: 151236

Старое сообщение 22-10-2015 09:59
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 35004
Нанёс повреждений: 514 ед.
Возраст: 38

Рейтинг



Награды
 
[1 награда]


Цитата:
~ X ~ писал:
ну ты тут STL накрутил...

Можно и без STL, он тут не критичен. Я же говорю - по-быстрому написал.

Сообщить модератору | IP: Записан
Сообщение: 151237

Старое сообщение 22-10-2015 10:01
-
Garux
Частый гость

Дата регистрации: Mar 2015
Проживает: Металлострой
Сообщений: 98

Рейтинг



Цитата:
thambs писал:
>False Dawn
>http://media.moddb.com/images/mods/...p1_jun_14_8.png
эхх, в который раз убеждаюсь насколько уродливо выглядят патчевые "цилиндры" радиусом больше 8и юнитов.


Цэ ж Безье, они по определению не круглые.
Но можно делать и круглые круги, просто там в редакторе нет такой фичи

http://pix.academ.info/img/2015/10/22/9c0e90da2140b277cd79a3af3ab1002f.png

Сообщить модератору | IP: Записан
Сообщение: 151240

Старое сообщение 22-10-2015 11:17
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 35004
Нанёс повреждений: 514 ед.
Возраст: 38

Рейтинг



Награды
 
[1 награда]


Garux
Как сделать круглый круг патчем?

Сообщить модератору | IP: Записан
Сообщение: 151242

Старое сообщение 22-10-2015 11:46
-
Garux
Частый гость

Дата регистрации: Mar 2015
Проживает: Металлострой
Сообщений: 98

Рейтинг



Curve->Exact Cone/Sphere/Cylinder
Как-то так

Сообщить модератору | IP: Записан
Сообщение: 151246

Старое сообщение 22-10-2015 12:05
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 35004
Нанёс повреждений: 514 ед.
Возраст: 38

Рейтинг



Награды
 
[1 награда]


Garux
Это в нетрадианте?
Я просто в фичах этих ваших радиантов плохо ориентируюсь и не всегда знаю, где реализацию искать.

Сообщить модератору | IP: Записан
Сообщение: 151247

Старое сообщение 22-10-2015 12:13
-
Garux
Частый гость

Дата регистрации: Mar 2015
Проживает: Металлострой
Сообщений: 98

Рейтинг



Хотел написать, что в любом из ветки 1.5, ан нет, netradiant.
В dark/ufo тоже должно быть.

Сообщить модератору | IP: Записан
Сообщение: 151248

Старое сообщение 22-10-2015 12:27
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 35004
Нанёс повреждений: 514 ед.
Возраст: 38

Рейтинг



Награды
 
[1 награда]


Ага, спасибо. Добавлю.

Добавлено 22-10-2015 в 20:38:

Блин, оно, оказывается, очень просто сделано. Можно было и самому догадаться. Видимо, я в школе геометрию прогуливал.

Сообщить модератору | IP: Записан
Сообщение: 151249

Старое сообщение 22-10-2015 14:38
-
Garux
Частый гость

Дата регистрации: Mar 2015
Проживает: Металлострой
Сообщений: 98

Рейтинг



Такая же история, выспался на паре про матрицы.
Подонки не предупредили, что оно в играх задействовано xD

Сообщить модератору | IP: Записан
Сообщение: 151250

Старое сообщение 22-10-2015 15:39
- За что?
~ X ~
offline

Дата регистрации: Oct 2005
Проживает: Архангельск
Сообщений: 3619

Рейтинг



Награды
 
[1 награда]


Цитата:
Garux писал:
Цэ ж Безье, они по определению не круглые.

Лолшто? Давно это Безьями нельзя круги рисовать?

Мне тут говорят, что под XDM надо впилить замены всем моделям монстров, а то, видите ли, дефолтные уже никого не радуют.
А мне суровый барник 1.0 нравится больше хыдыпачного...

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]

Сообщить модератору | IP: Записан
Сообщение: 151255

Старое сообщение 22-10-2015 18:44
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 35004
Нанёс повреждений: 514 ед.
Возраст: 38

Рейтинг



Награды
 
[1 награда]


Цитата:
~ X ~ писал:
Давно это Безьями нельзя круги рисовать?

Ну ты сам как представляешь себе задание окружности полиномом? Там же sqrt как минимум.

Сообщить модератору | IP: Записан
Сообщение: 151258

Старое сообщение 22-10-2015 18:57
-
thambs
мразь конченная

Дата регистрации: Mar 2006
Проживает: -
Сообщений: 6417

Рейтинг



~ X ~
качественных 10 моделей в более менее одном стиле нравятся больше сотни потырпозаимствованных из разных сеттингов.
ps не сразу увидел что речь об нпс

__________________
http://www.moddb.com/mods/monorail-quest

Отредактировано thambs 22-10-2015 в 19:12

Сообщить модератору | IP: Записан
Сообщение: 151259

Старое сообщение 22-10-2015 19:01
- За что?
Chyvachok
Житель форума

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1861

Рейтинг



Цитата:
~ X ~ писал:
Мне тут говорят, что под XDM надо впилить замены всем моделям монстров, а то, видите ли, дефолтные уже никого не радуют.
А мне суровый барник 1.0 нравится больше хыдыпачного...


Молели НПС мне ЛД-шные тоже больше радуют, у ХД-шых дизайн другой, например барник похож на китайца какого-то, соллдафонов сделали как в опфоре, с квадратными касками, а часть оружия в ХД паке вообще убогое, нормальных глок поменяли на какую-то стремную беретту, руки менее прикольные, толстые и без экранчика, было бы лучше если оставили дизайн оригинальных моделей, и просто добавили им детализации чтобы не настолько квадратные были.

Сообщить модератору | IP: Записан
Сообщение: 151261

Старое сообщение 22-10-2015 19:08
- За что?
~ X ~
offline

Дата регистрации: Oct 2005
Проживает: Архангельск
Сообщений: 3619

Рейтинг



Награды
 
[1 награда]


thambs говорить строить не понимать предложения как.

Chyvachok ну, руки у старых в_ моделей ужасные Я долго мучился, но перерисовал как надо в средне-дефинишен-качестве. А вообще, ХД-монстры на фоне недетализованных карт смотрятся неуместно, имхо.
Ну да дело вкуса. И цвета.

Цитата:
XaeroX писал:
Ну ты сам как представляешь себе задание окружности полиномом? Там же sqrt как минимум.

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

ЗЫ: кто зимой придёт на ланпати? Будем играть сингловые моды в коопе!

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]

Сообщить модератору | IP: Записан
Сообщение: 151265

Старое сообщение 22-10-2015 21:19
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 16:18. Новая тема    Ответить
Страницы (103): « Первая ... « 10 11 12 13 [14] 15 16 17 18 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Немного о будущем XDM3038
1 час с ~X~
2 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024