HLFX.Ru Forum Страницы (264): « Первая ... « 116 117 118 119 [120] 121 122 123 124 » ... Последняя »
Показать все 3960 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Нубские вопросы от <censored> и других нубов (https://hlfx.ru/forum/showthread.php?threadid=4535)


Отправлено XaeroX 17-07-2018 в 07:24:

Ku2zoff
Не вижу fopen, ты файл точно переоткрываешь для чтения?

__________________

xaerox on Vivino


Отправлено Ku2zoff 17-07-2018 в 07:50:

XaeroX ну разумеется, это только огрызок кода. Из файла без проблем читается заголовок и всякие int-ы. А вот с char-ами проблема. ХЗ, возможно, просто не срабатывает gEngfuncs.COM_LoadFile по читаемому из файла пути. Халфа же.


Отправлено Sigurth 17-07-2018 в 08:34:

Ku2zoff Ты размер строки считаешь как strlen(text), прибавь к ней единицу, так как strlen не учитывает нуль терминатор. Возможно проблема в этом

__________________
Никогда не поздно сделать мод под хл1


Отправлено XaeroX 17-07-2018 в 10:49:

Лучше даже, наверное, так:
char *txt= new char[len+1]();
Чтобы текст был гарантированно нуль-терминированным.

__________________

xaerox on Vivino


Отправлено Дядя Миша 17-07-2018 в 13:38:

Вы только этот терминатор занулить не забудьте.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 17-07-2018 в 14:21:

Воткнул проверку с помощью strcmp, выяснил, что новая строка txt больше исходной, которая была записана в файл. Стал грешить на отсутствие нуль-терминатора, хотя дополнительную длину для него пробовал выделять. Погуглил и выяснил, что для записи и чтения строк правильнее использовать fputs/fgets, а не fwrite/fread, т.к. последние просто пишут символы по порядку, а не строку, и не пишут в файл терминатор. Проблема решена.

Добавлено 17-07-2018 в 21:21:

З.Ы. щас немного потестирую, и выложу тутор по сохраняемому фмоду.


Отправлено Дядя Миша 17-07-2018 в 15:59:

Ku2zoff я надеюсь ты записываешь позицию времени в файлик HL4, а читаешь на клиенте, иначе это ерунда, а не тутор. В противном случае можно вообще это время в квар записывать клиентский с флажком ARCHIVE.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 17-07-2018 в 16:28:

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

new со скобочками же.

__________________

xaerox on Vivino


Отправлено Дядя Миша 17-07-2018 в 16:35:

XaeroX эти скобочки в шестёрке сработают?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 17-07-2018 в 17:18:

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

Да, записываю в HL4, и читаю естественно на клиенте, чтобы для каждого уровня текущий трек и позиция сохранялись. Сигурт предположил, что можно бы писать в какой-нибудь файл .clsv, и грузить из него, чтобы не засирать зазря сейвбуффер и sav-файл. Но так как раз ерунда и получится, т.к. грузиться будет всегда один файл для каждой карты, независимо от названия сохранёнки. Тем более, что в дальнейшем я планирую ещё кое-что в этот файл сохранять. Хотя бы кастомные клиентские декали.
Осталось разобраться с автосейвами и замолканием музыки при смене уровней. Последнее, кстати, стандартное поведение фмода в спирите 1.9. Пробовал с помощью квара sv_newunit управлять этим - не работает. Наверное, надо просто отправлять на клиент мессагу с пустым именем MP3 файла, а не затыкать плеер насильно в функции VidInit.


Отправлено XaeroX 17-07-2018 в 17:31:

Дядя Миша
Должны, по идее.

__________________

xaerox on Vivino


Отправлено Дядя Миша 17-07-2018 в 17:54:

Цитата:
Ku2zoff писал:
Тем более, что в дальнейшем я планирую ещё кое-что в этот файл сохранять. Хотя бы кастомные клиентские декали.

правильно. Это хороший тутор получится.

Цитата:
Ku2zoff писал:
а не затыкать плеер насильно в функции VidInit.

VidInit в халфе вызывается одновременно с приходом на клиент svc_serverdata, вообще довольно странное место для VidInit.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 17-07-2018 в 18:52:

Я вот что подумал. Чтобы не писать сразу много нового кода, опробую это всё на инвазионе. Сорцы открыты, можно юзать. Почему инвазион? Меня всегда бесил в нём MP3-плеер, который не ставится на паузу, и у которого не регулируется громкость. А ещё декали не сохраняются, т.к. они нарисованы через TriAPI. Если не будет лениво, сделаю ещё сошки для linux и выложу на moddb. Отличная возможность всё проверить и попрактиковаться в кодинге.


Отправлено Дядя Миша 17-07-2018 в 18:59:

Ku2zoff лутьше напараное. Там тоже декали + fmod.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 17-07-2018 в 19:03:

Дядя Миша ну тоже вариант. Посмотрим. Вот избавить первую паранойю от хакнутой opengl32.dll, и сделать там мигающие лайтстили, это да. А не вот это всё.


Временная зона GMT. Текущее время 11:28. Страницы (264): « Первая ... « 116 117 118 119 [120] 121 122 123 124 » ... Последняя »
Показать все 3960 сообщений этой темы на одной странице

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