HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Страницы (240): « Первая ... « 138 139 140 141 [142] 143 144 145 146 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
nemyax
Нёмыч

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

Рейтинг



Да, undone - разломато, загублено.

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

Старое сообщение 28-04-2022 08:00
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



UNDONE - недоделато, я так всегда понимал.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

Старое сообщение 28-04-2022 12:00
-
nemyax
Нёмыч

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

Рейтинг



Недоделато — incomplete, unfinished.

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

Старое сообщение 28-04-2022 12:13
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Вобще я всегда нелюбил это слово, поэтому в каментах к коду использую только
TODO и FIXME. Ну еще иногда HACKHACK и TESTTEST

Кстати товарищи, вот вам от меня небольшой лайфхак. Ни для кого не секрет что очень многие начинающие программисты бояться работать с памятью, с указателями, поскольку программа вылетает. Но дело не в том, что она программа вылетает. Дело в том, какой звук она при этом издаёт!
Стандартный виндовый звук ошибки даже подготовленного человека заставляет наложить фштаны, или спровоцировать энурез, понятно.
Поэтому мой вам совет - идёте в звуковые схемы и там на звук ошибки ставите что-то более нейтральное, например "Звездочка.wav". И Вася-кот!

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

Старое сообщение 28-04-2022 12:24
-
Дикс
Seamless Realm

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

Рейтинг



Цитата:
Дядя Миша писал:
Предидущий пост на эту тему: https://hlfx.ru/forum/showthread.ph...&pagenumber=116

Интересно, как теперь подсчитать процент готовности движка?


1. 12.5%
2. 12.5%
3. 0%
4. 6.25%
5. 6.25%
6. 0%
7. 0%
8. 0%

12.5+12.5+6.25+6.25 = 37.5%

__________________
igroprom.d3.ru

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

Старое сообщение 28-04-2022 22:49
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Вопросы про авто-нумерацию билда вынес в отдельную тему:
https://hlfx.ru/forum/showthread.php?s=&threadid=5834

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

Старое сообщение 29-04-2022 18:07
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Цитата:
Дядя Миша писал:
я не хотел делать редактор, поскольку он ожидаемо был бы похож на QuArK

Тебе задонатить надо или что? Иметь такой же Кварк но без кучи детских болезней сводящих половину фич на нет, было бы довольно круто.
Например дупликатор путей крут но не поддерживает симлесс-текстурирование, не поддерживает развилки, и не дружит с негативными брашами (на поворотах тоннеля возникают сверхтонкие стенки ), не умеет резать внутренней поверхностью текущего сегмента предыдущий и последующий, из-за чего на резких поворотах в тоннеле возникает этакая "слоновья нога".
При широком использовании путей и негативных брашей простое выделение браша занимает 30 секунд на той же карте с тоннелями.

Отредактировано Crystallize 05-05-2022 в 16:39

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

Старое сообщение 05-05-2022 16:36
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Crystallize ты как-то тему невнимательно читал.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

Старое сообщение 05-05-2022 17:00
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



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

Добавлено 06-05-2022 в 10:02:

Я вам характерный примерчег приведу.
Я уже упоминал, что при инициализации членов класса можно через двоеточие задавать кол-во бит, которые будут использоваться не для выравнивания структуры, как в настоящем языке, а как подсказка для сейв-рестора и передачи по сети. Выглядит это вот так, ну вы знаете:

C++ Source Code:
1
class CBaseEntity
2
{
3
  string		m_targetname : 16;
4
  float		m_health : 10;
5
  unsigned int	m_skin : 8;
6
};

Имена тут просто для примера, для наглядности.
А вот как выглядит код, который это парсит:
C++ Source Code:
1
if( CheckToken( ":" ))
2
{
3
  if( m_immediateType != type_integer )
4
    m_lexer.Error( LEX_CONSTANT_EXP_NOT_INTEGRAL, "constant expression is not integral" );
5
  else bits = m_immediate.integer;
6
 
7
  if( bits == 0 ) m_lexer.Error( BIT_FIELD_ZERO_COUNT, "'%s' : named bit field cannot have zero width", name );
8
  else if( bits < 0 || bits > 32 )
9
    m_lexer.Error( BIT_FIELD_INVALID_COUNT, "'%s' : type of bit field too small for number of bits", name );
10
  if( type->Type() != ev_integer && type->Type() != ev_float && type->Type() != ev_string )
11
    m_lexer.Error( BIT_FIELD_INVALID_TYPE, "'%s' : bit field must have type 'int', 'float', or 'string'", name );
12
  def->bits = bound( 1, bits, 32 );
13
  NextToken();
14
}

Тут вызовов с ошибками больше, чем кода, который сохраняет значение в def. К тому же, например, если компилятор уровней даже на что-то ругается, он может это делать скрытно. Пока не пропишешь в командной строке параметр -dev или -debug, все эти сообщения не будут видны.
В компиляторе исходных текстов ошибки отключать нельзя в принципе.
Но как вы знаете можно сделать наоборот - превратить предупреждения в ошибки. Абсолютно разные концепции.
Ну оно и понятно. Карта соберётся с косяками и вы на них полюбуетесь в реальном времени. А если с программой начнёт происходить какая-то чертовщина, вы очень долго будете разбираться что сделали не так.
Если компилятор вам в этом не поможет. К слову сказать, в 60-е, 70-е годы, компиляторы почти ничего не находили. Иногда это приводило к срыву космических программ, например.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

Старое сообщение 06-05-2022 07:02
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



Дядя Миша
А разве нет уже готовых решений? Зачем изобретать велосипеды?

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

Старое сообщение 06-05-2022 07:09
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Готовые решения, в лучшем случае code-driven к тому же внутренние методы спрятаны от пользователя и находятся только в документации.
Для того чтобы вызвать какой-нибудь косинус в яве ты не можешь заглянуть в хидер. Либо лезть в документацию, либо помнить наезусть, либо надеяться, что тебе студия вывалит подсказку. Всё это очень неудобно.
Я пишу data-driven машинку, т.к. это общая концепция XashNT.

Добавлено 06-05-2022 в 10:30:

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

Добавлено 06-05-2022 в 10:34:

Для мапперов очень хороший пример приведу. Энтити, которые есть в игре вам не видны. Вы можете только прописать их в FGD, причём FGD и реальные энтити никак не связаны. Вы можете прописать туда несуществующую энтить или наоборот - забыть прописать то, что есть.
Вот с этими виртуалками, у которых системные методы нигде не задекларированы точно такая же ситуация. Очень неудобно это.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

Старое сообщение 06-05-2022 07:34
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



Цитата:
Дядя Миша писал:
Когда у тебя в коде виртуальной машины есть хидеры со списком всех доступных системных, функций, ты уже можешь прикидывать что тебе понадобится для реализации.


И как юзер будет в этом разбираться? В той же студии есть подсказки с кратким описанием методов, и что куда им скармливать.

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

Старое сообщение 06-05-2022 07:43
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Сегодня товарищи, знаментальный день. Я набиваю для виртуального языка системные функции, ну что-то вроде CRT. И дело дошло до функции Q_timestamp. И тут я вспомнил! Эта функция была мною написана в апреле 2007-го года (первые опыты с написанием движка начались в феравле 2007-го). Так вот я её написал, чтобы в лог сохранять дату когда движок был запущен и соответственно остановлен.
Эта функция пережила старый ксаш (ну который несовместимый ни с чем), переехала в Xash3D и оттуда разумеется попала в FWGS, затем она так же без изменений попала в XashNT и вот я делаю её частью стандарта будущего скриптового языка. И теперь миллионы людей по всему миру её увидят и будут ей пользоваться. А-ФИ-ГЕТЬ. Знал бы я какая судьба будет у этой функции, когда я её писал в апреле 2007-го года, я бы удивился и неповерил.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

Старое сообщение 06-05-2022 09:17
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Пишу конвертор Delphi -> C++. Для того чтобы изучать исходники QuArK, естественно. Мне проще написать конвертор, чем забивать голову этим ублюдошным синтаксисом.
Интересно, будет ли такой конвертор нужен кому-то еще кроме меня?

Добавлено 13-05-2022 в 02:12:

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

Старое сообщение 12-05-2022 23:12
-
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2087

Рейтинг



Цитата:
Дядя Миша писал:
Делфи изумительный язык. Мало того что его компилятор по сути стейт-машина, так в язык намеренно введены конструкции чтобы программист выполнял половину работы за компилятор.

я когда на нём писал плагины под CS 1.6 на сервак, который мы с другом держали на взломанном компе из Малайзии, помню всё время мне казалось, что это скриптовый язык какой-то, а ещё там была какая-то дурацкая фича, что сначала нужно было создать основную форму, а потом уже код писать, причём эта форма нигде даже не использовалась. Delphi7 кажись был Ж)

Добавлено 14-05-2022 в 03:38:

Цитата:
Дядя Миша писал:
Мне проще написать конвертор, чем забивать голову этим ублюдошным синтаксисом.

А конвертор пардон из чего конвертирует?

__________________
-Brain is dead-

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

Старое сообщение 14-05-2022 00:38
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 11:46. Новая тема    Ответить
Страницы (240): « Первая ... « 138 139 140 141 [142] 143 144 145 146 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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