HLFX.Ru Forum Страницы (103): « Первая ... « 91 92 93 94 [95] 96 97 98 99 » ... Последняя »
Показать все 1540 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- Немного о будущем XDM3038 (https://hlfx.ru/forum/showthread.php?threadid=4641)


Отправлено Дядя Миша 27-12-2016 в 16:04:

Цитата:
~ X ~ писал:
LOAD_FILE_FOR_ME
COM_ParseFile
- уберите это

Ну вот почему это надо убрать? Может ты ханжа или сноб или латентный хохол? Почему это надо убрать?

Цитата:
~ X ~ писал:
Кстати, с таким размерам токена халва улетит в дерьмена-дерьменища, ИМХО

куда-куда улетит?

Цитата:
~ X ~ писал:
Тут у нас либлист.гам ещё в почёте.

ну вот меняешь gameinfo.txt на liblist.gam раз в почёте. Остальное так и остается.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 27-12-2016 в 16:36:

Цитата:
Дядя Миша писал:
Ну вот почему это надо убрать?

Потому что Мастер не хочет загружать файлы для себя. Он хочет загружать файлы для всех!

__________________

xaerox on Vivino


Отправлено Дядя Миша 27-12-2016 в 16:53:

Мы для него ф ксашы сделаем специальную функцию:
LOAD_FILE_FOR_ME_AND_THREE_OTHER_MEMBERS_OF_LAN_PARTY

__________________
My Projects: download page

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

Цитата:

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


Отправлено ~ X ~ 27-12-2016 в 16:57:

Цитата:
XaeroX писал:
Потому что Мастер не хочет загружать файлы для себя. Он хочет загружать файлы для всех!

Всё правильно сказал!

Дядя Миша я могу ошибваться, конечно, но ЛФФМ или Ком_Парсе ожидает размер буфера 1024, и если в файле попадётся строка, скажем, больше 255 (в твоём примере), будет медный таз.
Кроме того, если, как кто-то писал в каком-то туторе, этим ЛФФМ чекать файлы на наличие (например, модельки, чтоб не крошилось), халва вылетает с очередными быдлолимитами. На ФРЕЕ_ФИЛЕ() ей глубоко покакать. Я стараюсь его избегать, когда возможно.

Процитирую кодик, чтоб его на той странице не искать:
C++ Source Code:
1
const char *GetGameDescription()
2
{
3
  char token[256];
4
  char szbuffer[128];
5
  static char text[128];
6
  char *afile = (char *)LOAD_FILE_FOR_ME( "gameinfo.txt", NULL );
7
  char *pfile = afile;
8
  if(pfile)
9
  {
10
    while ( pfile )
11
    {
12
      pfile = COM_ParseFile(pfile, token);
13
      if ( !stricmp( token, "game" ))
14
      {
15
        pfile = COM_ParseFile(pfile, token);
16
        sprintf( szbuffer, "%s ", token );
17
        strcat( text, szbuffer );
18
      }
19
      else if ( !stricmp( token, "version" ))
20
      {
21
        pfile = COM_ParseFile(pfile, token);
22
        strcat( text, token );
23
      }
24
    }
25
    FREE_FILE( afile );
26
    return text;
27
  }
28
  return "Xash";
29
}

Никто ничего странного не заметил? Например, undefined behavior?
XaeroX, может, выдашь медальку тому, кто заметит?

Я бы ещё полчасика потроллил, но троллейбус уехал. )

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]


Отправлено Дядя Миша 27-12-2016 в 17:25:

Цитата:
~ X ~ писал:
я могу ошибваться, конечно, но ЛФФМ или Ком_Парсе ожидает размер буфера 1024, и если в файле попадётся строка, скажем, больше 255 (в твоём примере), будет медный таз.

LOAD_FILE_FOR_ME ничего не ожидает. Он возвращает готовый буффер.

А насчёт COM_ParseFile, да - ты отчасти угадал. Я забыл показать одну вещь
C++ Source Code:
char *COM_ParseFileExt( char *data, char *token, long token_size );
#define COM_ParseFile( data, token ) COM_ParseFileExt( data, token, sizeof( token ))

В принципе ты бы мог это знать, если бы сорцы ксаш-мода изучал. Так что даже размер буффера в 1 символ к переполнению не приведёт.

Цитата:
~ X ~ писал:
Кроме того, если, как кто-то писал в каком-то туторе, этим ЛФФМ чекать файлы на наличие (например, модельки, чтоб не крошилось), халва вылетает с очередными быдлолимитами. На ФРЕЕ_ФИЛЕ() ей глубоко покакать.

Ну чисто теоретически давай предположим, что да, действительно вылетает, кроме того полная загрузка файла в память только ради того, чтобы убедиться в его наличии действительно неполезна. Но ведь я давным давно уже отказался от такого способа проверки. Новый способ выглядит вот так:
C++ Source Code:
1
unsigned short UTIL_PrecacheMovie( const char *s )
2
{
3
  int iCompare;
4
  char path[64];
5
 
6
  Q_snprintf( path, sizeof( path ), "media/%s", s );
7
 
8
  // verify file exists
9
  // g-cont. idea! use COMPARE_FILE_TIME instead of LOAD_FILE_FOR_ME
10
  if( COMPARE_FILE_TIME( path, path, &iCompare ))
11
  {
12
    return g_engfuncs.pfnPrecacheEvent( 1, s );
13
  }
14
 
15
  ALERT( at_console, "Warning: video (%s) not found!\n", s );
16
 
17
  return 0;
18
}

Это и в халфе прекрасно работает, просто в ксаше мне не надо всё подряд чекать, т.к. он и сам на уровне движка нормально к этому относится. Но сам механизм и для халфы актуален, да. И это бы ты тоже мог подсмотреть в ксаш-моде.

Цитата:
~ X ~ писал:
Никто ничего странного не заметил? Например, undefined behavior?

Если рассматривать функцию в сферическом ваккуме, то он там есть.
Если в рабочем окружении - то его там нет. Всё относительно, например.
Ну можешь добавить туда вначале text[0] = '\0'; раз тебя это так расстраивает. А еще поменять все int на uint32_t.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ~ X ~ 27-12-2016 в 17:38:

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

если ты всегда пользуешься статическими буферами без передачи по указателю. Попался char * - и ты в луже со своим убер-макросом.

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

Цитата:
Дядя Миша писал:
И это бы ты тоже мог подсмотреть в ксаш-моде.

Зачем мне что-то подсматривать в краш-моде? а) потом читать жалобы что я пырил твои коды? б) тащить к себе чужие баги?

Цитата:
Дядя Миша писал:
text[0] = '\0';

Не угадал. Кроме того, это ты откуда-то с потолка взял. Нет там таких переменных.

Цитата:
Дядя Миша писал:
А еще поменять все int на uint32_t.

почему_t? Это твой личный мем?

Добавлено 27-12-2016 в 20:35:

Дядя Миша
Цитата:
Дядя Миша писал:
// g-cont. idea! use COMPARE_FILE_TIME instead of LOAD_FILE_FOR_ME
if( COMPARE_FILE_TIME( path, path, &iCompare ))
{

К тому же, нехорошо чужими идеями хвастаться!

Добавлено 27-12-2016 в 20:38:

Хм... кстати, забавно, что ГетГамеДескрипшен() при каждом обращении в файл лезет... Халва параметры из либлиста записывает в строки.

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]


Отправлено Дядя Миша 27-12-2016 в 17:45:

Цитата:
~ X ~ писал:
Попался char * - и ты в луже со своим убер-макросом.

Ну очевидно же, что у меня char* не попадается. А если у тебя попадается, то это признак неоптимальной архитектуры
Как вариант - можно передать длину буффера вместе с указателем, следующим аргументом. Можно даже сделать этот аргумент в виде uint32_t.
Так что вы мне вот вот это вот бросьте. Писать в указатель, не зная размера буффера. Этож надо додуматься. Это только ты и вальва таким занимаетесь.

Цитата:
~ X ~ писал:
потом читать жалобы что я пырил твои коды? б) тащить к себе чужие баги?

Тебя насильно заставляют читать?

Цитата:
~ X ~ писал:
почему_t? Это твой личный мем?

ты не знаешь что такое _t ? Становится всё интереснее.

Цитата:
~ X ~ писал:
К тому же, нехорошо чужими идеями хвастаться!

Если ты сейчас украл у меня эту идею, то это не делает её твоей, понимаешь.

Цитата:
~ X ~ писал:
Нет там таких переменных.

Есть.

Цитата:
~ X ~ писал:
ГетГамеДескрипшен() при каждом обращении в файл лезет...

А сколько их всего, как думаешь?

__________________
My Projects: download page

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

Цитата:

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


Отправлено thambs 27-12-2016 в 17:50:

>что я пырил твои коды
Извините, что вклиниваюсь в разговор, но как можно потырить то что и так свободно? На моей памяти такое только Денис Попов умудрился провернуть.

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено ~ X ~ 27-12-2016 в 17:58:

thambs можно. В этом контексте "пырить" == "копировать". А речь идёт о том, что я буду потом получать миллиарды каментов от Ф****** и его клонов, что "половина ыгздыэма списана с ксаша". Вот в качестве превентивных мер.

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]


Отправлено FiEctro 27-12-2016 в 18:06:

Если бы XDM был бы списан с ксаша, может он бы стабильнее работал (кроме предиктинга).

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


Отправлено ~ X ~ 27-12-2016 в 18:19:

Цитата:
Дядя Миша писал:
uint32_t.

откуда ты взял уинт32_т, объясни, наконец. Целыми днями про него болтаешь.

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

Прикинулся поленом? объясню: идею в коде пишет некий g-cont, а выдаёт за свою некий Дядя Миша.
Троллинг не удался, попкорна не поел.

FiEctro ты баг-то в коде нашёл, дарагой?

AntiPlayer, а ты?

Может, FreeSlave?

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]


Отправлено Дядя Миша 27-12-2016 в 19:32:

Цитата:
~ X ~ писал:
откуда ты взял уинт32_т, объясни, наконец. Целыми днями про него болтаешь.

Взял его ты себе в XDM чем долго нам хвастался. А теперь прикинулся поленом.

Цитата:
~ X ~ писал:
Троллинг не удался, попкорна не поел.

Ессно не удался. У тебя вообще ничего и никогда не удаётся, кроме поедания гнилых бананов. Уж в этом ты Мастер

Цитата:
~ X ~ писал:
AntiPlayer, а ты?

Может, FreeSlave?

Это твои воображаемые друзья, да?

__________________
My Projects: download page

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

Цитата:

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


Отправлено ~ X ~ 27-12-2016 в 19:45:

Дядя Миша поищи по тексту, когда сырцы будут - я прикинулся бюрократом

Ну, если здесь что-то гнилое есть, то это твои попытки зафлудить тему.

Цитата:
Дядя Миша писал:
Это твои воображаемые друзья, да?

Это всего лишь "Пользователи, просматривающие тему".

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]


Отправлено Дядя Миша 27-12-2016 в 20:08:

Цитата:
~ X ~ писал:
поищи по тексту, когда сырцы будут

Чего поискать-то?

Цитата:
~ X ~ писал:
Это всего лишь "Пользователи, просматривающие тему".

А пользователи, просматривающие тему не могут быть твоими воображаемыми друзьями что-ли? Ты давай не взывай к аудитории.
Она же понимает, что твои вопросы риторические, навроде "есть ли жызь на марсе", т.е. ответ не требуется.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ~ X ~ 27-12-2016 в 20:37:

Дядя Миша ты настолько фанатично уверен в собственной непогрешимости? Я не понимаю. Ну, сказали же, что есть баги. Что ты мечешься так? Сам бы уже 10 раз нашёл, исправил и забыл. В привате эту тему уже обсудили и забыли.
Я-то в курсе, кто что нашёл. Только я постить не буду потому что неспортивно и скажут что я заангажирован. Могу только выдать имена и явки тех, кто знает. )

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]


Временная зона GMT. Текущее время 23:49. Страницы (103): « Первая ... « 91 92 93 94 [95] 96 97 98 99 » ... Последняя »
Показать все 1540 сообщений этой темы на одной странице

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