HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Система нумерации билдов
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
(_-=ZhekA=-_)
Житель форума

Дата регистрации: Jan 2006
Проживает: Москва
Сообщений: 3880
Возраст: 36

Рейтинг



Дядя Миша
Давно хотел спросить, а как у тебя в Xash3d реализована\работает система версии билда движка?

__________________
Kiss my ass if you don't like my Ford!
------------------------------------------
Game Area51 Update 1
First Person Shooter Released Jul 24, 2017
The game is a 3d shooter with the elements of the quest.

http://button.moddb.com/download/medium/125531.png

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

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

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

Рейтинг



Цитата:
(_-=ZhekA=-_) писал:
а как у тебя в Xash3d реализована\работает система версии билда движка?

Так ты меня уже спрашивал об этом, лет 8 назад. Есть дата начала разработки, которая вычитается из текущей даты на момент компиляции. Эти даты конвертятся в кол-во дней и номер билда - это кол-во дней, прошедших с начала разработки. Т.е. даже если я код не писал, номер билда всё равно увелится. Так было в кваке и я тоже использовал этот механизм.
Но в NT я принял решение от него отказаться и теперь вместо номера билда просто сохраняю дату на момент компиляции, потому что тогда у меня есть прямая привязка к дате бэкапа. А когда был номер билда, приходилось её долго и мучительно вычислять.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 28-04-2022 14:02
-
(_-=ZhekA=-_)
Житель форума

Дата регистрации: Jan 2006
Проживает: Москва
Сообщений: 3880
Возраст: 36

Рейтинг



Цитата:
Дядя Миша писал:
Так ты меня уже спрашивал об этом, лет 8 назад.

Да, как-то вроде спрашивал, но это не точно )
Цитата:
Дядя Миша писал:
на момент компиляции.

А как сделано, что дата не меняется после компиляции длл?
Если не трудно, можешь сюда запостить весь этот механизм и прокомментировать, что для чего нужно и как это работает?
Я хочу попробовать сделать это на принтах )

__________________
Kiss my ass if you don't like my Ford!
------------------------------------------
Game Area51 Update 1
First Person Shooter Released Jul 24, 2017
The game is a 3d shooter with the elements of the quest.

http://button.moddb.com/download/medium/125531.png

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

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

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

Рейтинг



Цитата:
(_-=ZhekA=-_) писал:
А как сделано, что дата не меняется после компиляции длл?

Есть такой встроенный макрос __DATE__, он вставляет дату на момент компиляции текстовой строчкой.

Добавлено 28-04-2022 в 19:21:

C++ Source Code:
1
static char *date = __DATE__ ;
2
static char *mon[12] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
3
static char mond[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
4
 
5
// returns days since Feb 13 2007
6
int Q_buildnum( void )
7
{
8
  int m = 0, d = 0, y = 0;
9
  static int b = 0;
10
 
11
  if( b != 0 ) return b;
12
 
13
  for( m = 0; m < 11; m++ )
14
  {
15
    if( !strnicmp( &date[0], mon[m], 3 ))
16
      break;
17
    d += mond[m];
18
  }
19
 
20
  d += atoi( &date[4] ) - 1;
21
  y = atoi( &date[7] ) - 1900;
22
  b = d + (int)((y - 1) * 365.25f );
23
 
24
  if((( y % 4 ) == 0 ) && m > 1 )
25
  {
26
    b += 1;
27
  }
28
  b -= 38752; // Feb 13 2007
29
 
30
  return b;
31
}

Весь механизм. Как это перенести на принты я не знаю.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 28-04-2022 16:21
-
FiEctro
Кот Арсис

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

Рейтинг



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


Так а если два билда было сделано в 1 день?

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

Старое сообщение 29-04-2022 08:38
- За что?
(_-=ZhekA=-_)
Житель форума

Дата регистрации: Jan 2006
Проживает: Москва
Сообщений: 3880
Возраст: 36

Рейтинг



Цитата:
FiEctro писал:
Так а если два билда было сделано в 1 день?

Ну, тогда скорее всего помимо даты еще и время должно сохраняться, например, один билд в 12:34, а другой в 22:09, а дата будет одна

Добавлено 29-04-2022 в 11:52:

Дядя Миша
То, что ты скинул код это и есть этот макрос и больше никакой логики нет?

__________________
Kiss my ass if you don't like my Ford!
------------------------------------------
Game Area51 Update 1
First Person Shooter Released Jul 24, 2017
The game is a 3d shooter with the elements of the quest.

http://button.moddb.com/download/medium/125531.png

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

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

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

Рейтинг



Цитата:
FiEctro писал:
Так а если два билда было сделано в 1 день?

В этой системе один день = один билд. Если не устраивает, надо выдумать иную систему.

Цитата:
(_-=ZhekA=-_) писал:
То, что ты скинул код это и есть этот макрос и больше никакой логики нет?

Да, это всё, что есть. Функция Q_buildnum вернёт номер билда.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 29-04-2022 18:10
-
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 08:35. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Система нумерации билдов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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