Здравствуйте, гость ( Авторизация | Регистрация )
28.08.2016, 23:32
Сообщение
#1
|
|
![]() Почти Игроман Репутация: 187
Группа: Участник Сообщений: 647 Награды: 4 Регистрация: 05.05.2007 |
суровый код quake на чистом си Чистый C - это круто. Однажды я скомпилировал ваш движок на C борландовским компилятором, и он запускался под Windows NT 3.51. Меня это очень впечатлило. Только в этом движке мне не понравились сложные форматы файлов, требование высокой версии OpenGL и ini-конфиги, они конечно подходят для хранения простых настроек, но если в них хранить что-то более сложное всё превращается в нечитабельную кашу. Поэтому я решил сделать свой такой же, только с простыми форматами файлов, OpenGL 1.1, и конфигами с синтаксисом похожим на LUA. Т.к. использовать луа только для конфигов расточительно, я написал свой парсер похожего формата. В итоге форматом текстур стал TGA, форматом моделей OGF(не то чтобы не очень нравился этот формат, но он вполне простой) а ресурсы хранились в обычном zip-архиве. Минимально необходимая версия OpenGL - 1.0. Так что можно портировать даже под самые древние платформы. Это всё запускалось под Windows, OS/2 и Linux(только через GLUT), и собиралось разными компиляторами. (BCC, MSVC 5.0, Watcom, GCC) C С++ такое бы не прокатило. Он плохо портируем между разными компиляторами. Например новые компиляторы поймут такой код: Код for(int i = 0; i < 10; i++) puts("for 1"); for(int i = 0; i < 10; i++) puts("for 2"); for(int i = 0; i < 10; i++) puts("for 3"); Старые будут ругаться на повторное объяление i. Там надо делать так: Код for(int i = 0; i < 10; i++) puts("for 1"); for(i = 0; i < 10; i++) puts("for 2"); for(i = 0; i < 10; i++) puts("for 3"); Такой вариант устроит всех: Код int i; for(i = 0; i < 10; i++) puts("for 1"); for(i = 0; i < 10; i++) puts("for 2"); for(i = 0; i < 10; i++) puts("for 3"); Только вот это уже код на С, а не на C++. Сообщение отредактировал refuse - 29.08.2016, 00:15 |
|
 
|
|
|
|
|
saas Курилка программистов 28.08.2016, 23:32
refuse Цитата(saas @ 29.08.2016, 01:30) Чистый C... 28.08.2016, 23:51
1001v Че пацаны, программисты? 29.08.2016, 02:10
RayTwitty Тема кстати с таким же названием уже была. 29.08.2016, 02:29
OlegatoR Цитата(RayTwitty @ 29.08.2016, 02:27) Тем... 29.08.2016, 03:01
Cossack-HD Хочу запилить 2D движок с API OpenGL. Думал пилить... 29.08.2016, 07:55
refuse Cossack-HD, можно написать низкоуровневые ф-ии отр... 29.08.2016, 08:38
Cossack-HD Цитата(refuse @ 29.08.2016, 10:36) Cossac... 29.08.2016, 11:11
Neo][ Cossack-HD, а почему хочешь пилить сам, спортивный... 29.08.2016, 11:30
Cossack-HD Цитата(Neo][ @ 29.08.2016, 13:28)... 29.08.2016, 11:43
refuse Цитата(Cossack-HD @ 29.08.2016, 13:0... 29.08.2016, 12:06
Neo][ Цитата(Cossack-HD @ 29.08.2016, 13:4... 29.08.2016, 12:07
Cossack-HD refuse, если запилить такую прослойку, то можно по... 29.08.2016, 13:13
Neo][ Cossack-HD, что-то ты меня совсем запутал. Зачем o... 29.08.2016, 13:31
Cossack-HD Цитата(Neo][ @ 29.08.2016, 15:29)... 29.08.2016, 13:43
saas На мой взгляд испоьзовать OpenGL для 2D графики эт... 29.08.2016, 14:06
Cossack-HD Цитата(saas @ 29.08.2016, 16:04) На мой в... 29.08.2016, 18:07
abramcumner Цитата(saas @ 28.08.2016, 23:30) Старые б... 29.08.2016, 14:11
Neo][ Цитата(Cossack-HD @ 29.08.2016, 15:4... 29.08.2016, 14:14
saas Цитата(saas @ 29.08.2016, 00:30) Однажды ... 04.09.2016, 01:05
refuse Цитата(saas @ 04.09.2016, 03:03) архив с ... 04.09.2016, 14:20
saas Цитата(refuse @ 04.09.2016, 15:18) 2. В р... 04.09.2016, 19:27
saas Извинияюсь за даблпост.
refuse, а каким образо... 10.09.2016, 03:34
Ray saas, 4 апдейт для билдера накатывал? 04.09.2016, 19:32
saas Ray, нет, у меня есть только первый. 04.09.2016, 19:48
refuse saas, чтот я стал забывать как устроен текстурный ... 04.09.2016, 20:13
saas refuse, да ничего сложного там. Действительно нуже... 04.09.2016, 20:26
RayTwitty Не знаете, есть ли специальный синтаксис для notep... 19.09.2016, 21:39
abramcumner А чем не подходит MS-INI? 19.09.2016, 22:03
RayTwitty Цитата(abramcumner @ 19.09.2016, 22:01) А... 19.09.2016, 22:43
STALKER2011x RayTwitty, советую еще Sublime Text попробовать, т... 20.09.2016, 08:42
NEXOR Цитата(STALKER2011x @ 20.09.2016, 08:40) ... 20.09.2016, 08:49
NatteFrost Несколько лет назад я вел свои эксперименты с ренд... 20.09.2016, 09:07
RayTwitty Цитата(STALKER2011x @ 20.09.2016, 08:40) ... 04.10.2016, 19:09
RayTwitty Подход к настройкам радует - слева дефолтные значе... 04.10.2016, 20:20
STALKER2011x Еще один огромный плюс Sublime Text, он выполняет ... 04.10.2016, 20:32
RayTwitty STALKER2011x, сподвигло поставить ещё и то, что в ... 04.10.2016, 21:04
RayTwitty Пока нашел один недостаток - нету возможности пока... 06.10.2016, 00:37
STALKER2011x Цитата(RayTwitty @ 06.10.2016, 00:35) Пок... 06.10.2016, 08:32
1001v Попробуйте visual studio code, очень быстро запуск... 06.10.2016, 12:28
RayTwitty Цитата(STALKER2011x @ 06.10.2016, 08:30) ... 06.10.2016, 16:40
saas Оказывается в C++ можно сделать оператор with(как ... 06.10.2016, 16:43
1001v Цитата(saas @ 06.10.2016, 16:41) как в Ja... 06.10.2016, 16:52
saas 1001v, ничего не убрали, просто не рекомендуют исп... 06.10.2016, 17:06
RayTwitty Кодobj = {
a = 1,
b = "str"
}
Не совсем ... 06.10.2016, 17:22
1001v Цитата(saas @ 06.10.2016, 17:04) 1001v, н... 06.10.2016, 18:08
refuse Цитата(saas @ 10.09.2016, 05:32) а каким ... 07.10.2016, 00:34
RayTwitty Как может называться штука, которая динамически ме... 11.10.2016, 00:14
7.9 Цитата(RayTwitty @ 11.10.2016, 00:12) Нап... 11.10.2016, 01:22
7.9 Volume control. 11.10.2016, 00:18
RayTwitty 7.9, там речь шла о внутренних звуковых объектах. 11.10.2016, 01:37
7.9 Понятненько...
Про (амбиентные) loop-ы, надеюсь, н... 11.10.2016, 01:48
STALKER2011x Цитата(RayTwitty @ 11.10.2016, 00:12) наз... 11.10.2016, 08:09
RayTwitty Цитата(7.9 @ 11.10.2016, 01:46) там такое... 11.10.2016, 15:36
7.9 Цитата(RayTwitty @ 11.10.2016, 15:34) Цит... 11.10.2016, 23:16
RayTwitty Цитата(7.9 @ 11.10.2016, 23:14) Я имел в ... 11.10.2016, 23:59
STALKER2011x Цитата(RayTwitty @ 11.10.2016, 23:57) Цит... 12.10.2016, 08:47
7.9 Возможно, но это самое примитивное применение...
В... 12.10.2016, 00:18
RayTwitty Кодfor /f "delims=" %%a in ('dir /... 21.10.2016, 21:11
saas RayTwitty, if /I not %%~xa==.EXE 21.10.2016, 21:35
RayTwitty С ужасом обнаружил, что в JS нету функции формата ... 25.10.2016, 22:23
saas RayTwitty, а зачем она там, когда можно "hell... 25.10.2016, 22:46
RayTwitty Нашел.
http://pastie.org/811028
Цитата(saas ... 25.10.2016, 22:52
1001v Цитата(RayTwitty @ 25.10.2016, 22:21) Сущ... 26.10.2016, 11:50
Cossack-HD Вопрос по C# MVC
Есть база данных с тремя таблица... 26.10.2016, 13:47
abramcumner Цитата(Cossack-HD @ 26.10.2016, 13:4... 26.10.2016, 14:04
STALKER2011x Хм. Объединить три модели в одну? У каждой же моде... 26.10.2016, 14:05
jamakasi Цитата(Cossack-HD @ 26.10.2016, 13:4... 26.10.2016, 16:31
RayTwitty Вопрос следующего характера - имеется самописный п... 29.10.2016, 19:37
saas Цитата(RayTwitty @ 29.10.2016, 20:35) В и... 29.10.2016, 22:56
1001v Цитата(RayTwitty @ 29.10.2016, 19:35) кот... 29.10.2016, 20:36
RayTwitty Цитата(1001v @ 29.10.2016, 20:34) Она воз... 29.10.2016, 21:44
1001v RayTwitty, split оставляет пустую строку последним... 29.10.2016, 22:02
RayTwitty Цитата(1001v @ 29.10.2016, 22:00) Или я н... 29.10.2016, 22:09
1001v RayTwitty,
Кодfs.readFileSync('filename... 29.10.2016, 22:46
RayTwitty Цитата(saas @ 29.10.2016, 22:54) По идее,... 29.10.2016, 23:33
Shoкer Возник небольшой вопрос по поводу работы Visual St... 12.11.2016, 02:29
STALKER2011x Shoкer, а ты проверил тот класс? Может он действит... 12.11.2016, 09:56
refuse Цитата(Shoкer @ 12.11.2016, 04:27) Возник... 12.11.2016, 11:45
saas refuse, нет, inherited это родительский класс.
К... 12.11.2016, 11:54
refuse saas, тогда все должно работать http://rextester.c... 12.11.2016, 12:04
abramcumner Цитата(refuse @ 12.11.2016, 12:02) saas, ... 12.11.2016, 13:50
refuse Цитата(abramcumner @ 12.11.2016, 15:48) С... 12.11.2016, 14:16
abramcumner Цитата(refuse @ 12.11.2016, 14:14) да, де... 12.11.2016, 15:15
Shoкer У меня только Update 1 стоит. Юзаю релизную сборку... 12.11.2016, 16:27
abramcumner Цитата(Shoкer @ 12.11.2016, 16:25) Получа... 12.11.2016, 17:03
Shoкer Собрал только xrGame без оптимизации - ошибка оста... 12.11.2016, 17:36
RayTwitty Shoкer, самое лучшее решение - собирать в той студ... 12.11.2016, 18:20
refuse Цитата(Shoкer @ 12.11.2016, 18:25) Вот уд... 12.11.2016, 20:10
Shoкer > s<11>(k);
Действительно, как этот к... 12.11.2016, 21:53
refuse Цитата(Shoкer @ 12.11.2016, 23:51) как эт... 12.11.2016, 21:58
saas Цитата(refuse @ 12.11.2016, 21:08) 1. пло... 12.11.2016, 22:52
RayTwitty NodeJS
Имеется функция случайной перетасовки знач... 27.11.2016, 22:24
1001v RayTwitty, запустил твой пример, ошибок нет, нода ... 27.11.2016, 23:04
RayTwitty Цитата(1001v @ 27.11.2016, 23:02) запусти... 27.11.2016, 23:11
1001v RayTwitty, есть. 27.11.2016, 23:29
NanoBot-AMK Придумал тут, дефайны к черту, с пояса гранаты или... 28.11.2016, 02:21
RayTwitty 1001v, пока выяснил, что такая байда при добавлени... 28.11.2016, 17:41
1001v RayTwitty, сейчас проверил на 6.6.0, все также хор... 28.11.2016, 18:18
RayTwitty https://developer.mozilla.org/ru/docs/Web/J...s/Ob... 17.12.2016, 16:40![]() ![]() |
| Текстовая версия | Сейчас: 11.03.2026, 20:23 |