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

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- BSP entdata (https://hlfx.ru/forum/showthread.php?threadid=2495)


Отправлено n00b 17-12-2010 в 14:44:

Half-Life BSP entdata

Вот решил набросать програмку, которая вытаскивает данные об энтитях из карт ( hl1 ). Читаю из bsp карты смещение данных X и их размер S , создаю с помощью malloc блок памяти М размером S, читаю из карты по смещению X блок данных размером S в память M, и из М записываю в фаил...
Проверил несколько карт ( de_dust2, de_inferno, as_oilrig и др ), все пекрасно работает, правда в конце какой-то левый символ печатался, ну думаю чёрт с ним, может так конец блока данных обозначается...
Но при попытке достать данные из de_aztec, в конец файла записывается какаета билиберда ( 54 строки ). Так вот вопрос, это я что-то намудрил или в самой карте косяк??

Если что-то непонятно обьяснил, просьба не убивать.
Исходник если надо дам, может кто так сталкивался...


Отправлено Ku2zoff 17-12-2010 в 14:50:

n00b а зачем ты такую программку делаешь? Давно уже есть RipEnt.


Отправлено n00b 17-12-2010 в 15:09:

Чтобы было
Во 1 - учусь,
Во 2 - своё всегда лучше.

Добавлено 17-12-2010 в 18:09:

Проверил ещё несколько карт, все работает нормально, но aztec глючит...
RipEnt работает везде нормально ( но тоже записывает в конец левый символ )


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

Цитата:
n00b писал:
RipEnt работает везде нормально ( но тоже записывает в конец левый символ )

ксаш не записывает.

__________________
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-12-2010 в 16:42:

n00b ты маллокнутый буфер нулями очищаешь?
А вообще код показал бы, что ли.

__________________

xaerox on Vivino


Отправлено n00b 18-12-2010 в 08:10:

Нет не заполняю, но и с заполнением тоже самое...

Всё разобрался, у fopen просто надо было добавить флаг b.


Отправлено fire64 18-12-2010 в 08:28:

для чтения "rb"
для перезаписи "wb"

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено Дядя Миша 18-12-2010 в 12:41:

Цитата:
n00b писал:
Всё разобрался, у fopen просто надо было добавить флаг b.

давно бы так.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Government-Man 18-12-2010 в 22:05:

Цитата:
n00b писал:
Всё разобрался, у fopen просто надо было добавить флаг b.


Тоже когда-то на этом попадался - думал файлы по умолчанию открываются в бинарном режиме.


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

Цитата:
Government-Man писал:
Тоже когда-то на этом попадался - думал файлы по умолчанию открываются в бинарном режиме.

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

__________________
My Projects: download page

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

Цитата:

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


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

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