Здравствуйте, гость ( Авторизация | Регистрация )
28.08.2016, 23:32
Сообщение
#201
|
|
![]() Почти Игроман Репутация: 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
RedPxthon Цитата(saas @ 19.01.2018, 22:32) RedPxtho... 19.01.2018, 22:37
ForserX Есть идеи как получить валидный StackWalk64 с вклю... 28.01.2018, 01:41
Tron Цитата(ForserX @ 28.01.2018, 01:41) Есть ... 28.01.2018, 02:05
SkyLoader Цитата(Tron @ 28.01.2018, 02:05) Цитата(F... 05.04.2018, 20:36
Орхетектор Цитата(ForserX @ 28.01.2018, 03:41) Есть ... 28.01.2018, 13:56
ForserX Цитата(Орхетектор @ 28.01.2018, 13:56) В ... 29.01.2018, 08:43
abramcumner Цитата(ForserX @ 29.01.2018, 08:43) Под х... 29.01.2018, 12:42
Орхетектор Цитата(ForserX @ 29.01.2018, 10:43) Под х... 29.01.2018, 10:24
ForserX abramcumner, да.
Орхетектор, это для общего разви... 29.01.2018, 15:13
NanoBot-AMK Использую МАСМ. Но я считаю что он не полноценен. ... 28.03.2018, 01:37
Орхетектор Цитата(NanoBot-AMK @ 28.03.2018, 03... 28.03.2018, 01:40
NanoBot-AMK Кто то сказал на С, что это такой «универсальный а... 28.03.2018, 01:57
andreyholkin Вопрос: На Виндовс 10 в визуалке 2013 для XP игру ... 05.04.2018, 04:37
Neo][ andreyholkin, а в чём вопрос то собственно? Как то... 05.04.2018, 06:52
Орхетектор Цитата(NanoBot-AMK @ 28.03.2018, 03... 05.04.2018, 10:00
Cossack-HD C# DataTable
Чё то не могу найти документацию о на... 05.04.2018, 17:54
abramcumner Цитата(Cossack-HD @ 05.04.2018, 17:5... 05.04.2018, 18:19
Cossack-HD abramcumner, щикарно!
Значит, DataTable это ка... 05.04.2018, 18:52
abramcumner Цитата(Cossack-HD @ 05.04.2018, 18:5... 05.04.2018, 18:57
Орхетектор Кстати, для получения информации по стеку вызовов ... 05.04.2018, 22:43
SkyLoader Орхетектор, вариант, который Tron кидал, тоже это ... 05.04.2018, 23:04
Орхетектор Есть некий класс, в задачу которого входит огранич... 08.04.2018, 23:38
ForserX Кто-то подключал Appveyor для организаций? Именно ... 09.04.2018, 10:29
СамСебеСекретарша Там это, майкрософт выложили исходники файломенедж... 11.04.2018, 00:38
Neo][ СамСебеСекретарша, так ты и сейчас можешь полистат... 11.04.2018, 06:43
Орхетектор Цитата(Neo][ @ 11.04.2018, 08:43)... 11.04.2018, 10:09
СамСебеСекретарша Орхетектор, ядро XP официально выложили по програм... 11.04.2018, 13:16
Neo][ Цитата(СамСебеСекретарша @ 11.04.2018, 15... 11.04.2018, 14:59
NanoBot-AMK Слышали новость!
Мелкософт купил GitHub! В... 06.06.2018, 17:23
СамСебеСекретарша Цитата(NanoBot-AMK @ 06.06.2018, 17... 06.06.2018, 17:37
Neo][ Цитата(NanoBot-AMK @ 06.06.2018, 19... 07.06.2018, 06:56
jamakasi Цитата(Neo][ @ 07.06.2018, 06:56)... 07.06.2018, 09:41
Neo][ jamakasi, борьба с конкурентами, захват новых рынк... 07.06.2018, 12:05
СамСебеСекретарша jamakasi, ты забыл самое главное - IBM с их OS/2. 07.06.2018, 13:14
jamakasi Neo][, затронуло очень сильно. Как разработчика, п... 07.06.2018, 13:30
NanoBot-AMK Уря виртуальную Win95 установил! Только что-то... 19.06.2018, 00:01
Modera Цитата(NanoBot-AMK @ 19.06.2018, 00... 20.06.2018, 19:42
ForserX Цитата(NanoBot-AMK @ 19.06.2018, 00... 19.06.2018, 01:20
Medvedkoo Я создал! Пхпшники, в отаку!
https://www.... 27.06.2018, 13:10
Молния в вакууме Какое же говно этот Direct 9. Оказывается для того... 30.08.2018, 02:48
Expropriator Хотелось бы заценить Visual Studio 2005 Profession... 14.09.2018, 22:16
Молния в вакууме А зачем тебе эта дрянь? Скачай лучше борланд. 14.09.2018, 23:07
Expropriator Цитата(Молния в вакууме @ 15.09.2018, 01... 14.09.2018, 23:22
Expropriator Цитата(Expropriator @ 15.09.2018, 01:22) ... 15.09.2018, 02:15
Expropriator Лайтмапы компилит как надо, просто я забыл шейдеры... 15.09.2018, 21:09
StUnDeR Ребят, в тригонометрии совсем слаб, гуглю, но что-... 29.01.2019, 18:49
Cossack-HD StUnDeR, 180 - угол атаки - угол отклонения = угол... 29.01.2019, 19:52
jamakasi StUnDeR, пробовал это почитать?
У меня конечно моз... 29.01.2019, 19:55
RedMagic StUnDeR, просто повернуть на стабильный угол после... 29.01.2019, 19:58
NanoBot-AMK Вот тут все(в интернетах) утверждают что питон(pyt... 11.04.2019, 23:36
RayTwitty Цитата(NanoBot-AMK @ 11.04.2019, 23... 11.04.2019, 23:47
NanoBot-AMK Нет, Lua раз 100 проще, питух (сокращенное имя пит... 12.04.2019, 00:18
iOrange Цитата(NanoBot-AMK @ 11.04.2019, 23... 12.04.2019, 00:37
RayTwitty Цитата(NanoBot-AMK @ 12.04.2019, 00... 12.04.2019, 00:37
NanoBot-AMK В любом случае, питух это очень сложный ЯП, со сло... 12.04.2019, 01:14
NanoBot-AMK Цитата(iOrange @ 12.04.2019, 00:37) для н... 12.04.2019, 01:38
RayTwitty Цитата(NanoBot-AMK @ 12.04.2019, 01... 12.04.2019, 02:29
iOrange Цитата(NanoBot-AMK @ 12.04.2019, 00... 12.04.2019, 02:32
jamakasi Питон замечательный язык и то что у него сделано ж... 12.04.2019, 07:52
NanoBot-AMK В любом случае питух, как ЯП просто безполезный, т... 12.04.2019, 11:37
1001v Цитата(NanoBot-AMK @ 12.04.2019, 11... 12.04.2019, 12:08
RayTwitty Цитата(jamakasi @ 12.04.2019, 07:52) анал... 12.04.2019, 15:28
jamakasi Цитата(NanoBot-AMK @ 12.04.2019, 11... 12.04.2019, 15:44
NanoBot-AMK Цитата(RayTwitty @ 12.04.2019, 15:28) Аха... 12.04.2019, 16:25
iOrange Цитата(NanoBot-AMK @ 12.04.2019, 10... 12.04.2019, 16:28
NanoBot-AMK Цитата(iOrange @ 12.04.2019, 16:28) Цитат... 30.04.2019, 22:17
abramcumner Цитата(NanoBot-AMK @ 30.04.2019, 22... 30.04.2019, 23:04
RayTwitty Цитата(NanoBot-AMK @ 12.04.2019, 16... 12.04.2019, 16:34
iOrange Цитата(abramcumner @ 30.04.2019, 22:04) с... 01.05.2019, 00:00
abramcumner Цитата(iOrange @ 01.05.2019, 00:00) не то... 01.05.2019, 00:35
cjayho QUOTE (abramcumner @ 30.04.2019, 23:35) Е... 17.05.2019, 14:39
iOrange Цитата(abramcumner @ 30.04.2019, 23:35) Д... 01.05.2019, 01:24
abramcumner Цитата(iOrange @ 01.05.2019, 01:24) Можно... 01.05.2019, 01:51
iOrange Цитата(abramcumner @ 01.05.2019, 00:51) 1... 01.05.2019, 02:15
abramcumner Несомненно, я всеми руками и ногами за range-for. 01.05.2019, 02:45
iOrange Цитата(abramcumner @ 01.05.2019, 01:45) Н... 01.05.2019, 02:49
Mirus Цитата(iOrange @ 01.05.2019, 02:49) Матер... 01.05.2019, 10:25
NanoBot-AMK Ассемблер это быстро.
TestSort.asmКод;;;;;;;;;;;;;... 17.05.2019, 02:42
abramcumner Цитата(NanoBot-AMK @ 17.05.2019, 02... 17.05.2019, 09:34
buffy Цитата(cjayho @ 17.05.2019, 14:39) все ти... 17.05.2019, 15:17
NanoBot-AMK Что быстрей, ассемблер или компилятор С/С++? Вопро... 17.05.2019, 17:29
cjayho QUOTE (NanoBot-AMK @ 17.05.2019, 16... 17.05.2019, 22:12
iOrange Цитата(NanoBot-AMK @ 17.05.2019, 16... 17.05.2019, 17:50
NanoBot-AMK Вам смешно, а мне совсем не смешно.
Код я пока... 18.05.2019, 03:46
cjayho QUOTE (NanoBot-AMK @ 18.05.2019, 02... 18.05.2019, 04:44
iOrange Цитата(NanoBot-AMK @ 18.05.2019, 02... 18.05.2019, 03:54
NanoBot-AMK Я не бухаю, я свою кошку Люску поминаю.
Код прив... 18.05.2019, 04:56
cjayho QUOTE (NanoBot-AMK @ 18.05.2019, 03... 18.05.2019, 05:04
iOrange Цитата(NanoBot-AMK @ 18.05.2019, 03... 18.05.2019, 06:31
NanoBot-AMK AMD Athlon II X4 640 3.00 GHz
Это старый процессор... 18.05.2019, 10:25
abramcumner ЦитатаАх да, тест ассемблерного варианта дал скоро... 18.05.2019, 14:20
aka_sektor RE: Курилка программистов 15.06.2019, 00:27
Молния в вакууме Заценил всё-таки Objective-C, правда не современны... 19.06.2019, 02:40
RayTwitty Почему на вики гитхаба перестали работать якори на... 14.08.2019, 03:06
RayTwitty Цитата(RayTwitty @ 14.08.2019, 03:06) Поч... 21.08.2019, 15:20
iOrange Цитата(Молния в вакууме @ 19.06.2019, 01... 14.08.2019, 06:12
iOrange ЦитатаAtlassian
After much consideration, we... 21.08.2019, 03:41
ForserX iOrange, экспортируй в гит. Я такое провернул два ... 21.08.2019, 07:50
iOrange Цитата(ForserX @ 21.08.2019, 06:50) экспо... 21.08.2019, 08:21
xrModder Есть код:
КодBOOL SymRegisterCallback(IN PSYMB... 21.08.2019, 20:52![]() ![]() |
| Текстовая версия | Сейчас: 11.03.2026, 21:41 |