HLFX.Ru Forum
Показать все 7 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- Система нумерации билдов (https://hlfx.ru/forum/showthread.php?threadid=5834)


Отправлено (_-=ZhekA=-_) 28-04-2022 в 12:59:

Дядя Миша
Давно хотел спросить, а как у тебя в 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


Отправлено Дядя Миша 28-04-2022 в 14:02:

Цитата:
(_-=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'


Отправлено (_-=ZhekA=-_) 28-04-2022 в 16:09:

Цитата:
Дядя Миша писал:
Так ты меня уже спрашивал об этом, лет 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


Отправлено Дядя Миша 28-04-2022 в 16:21:

Цитата:
(_-=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'


Отправлено FiEctro 29-04-2022 в 08:38:

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


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

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено (_-=ZhekA=-_) 29-04-2022 в 08:52:

Цитата:
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


Отправлено Дядя Миша 29-04-2022 в 18:10:

Цитата:
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'


Временная зона GMT. Текущее время 08:35.
Показать все 7 сообщений этой темы на одной странице

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