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

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


Отправлено XaeroX 05-05-2013 в 05:10:

HLFX Hammer Editor

Я как-то говорил, что для нового HLFX сделана модификация хаммера, снимающая некоторые ограничения. Поскольку скоро Москва строится, да не скоро HLFX делается, решил я эту версию выложить уже теперь, чтобы народ пользовался на здоровье.
Прежде чем привести список фич, хочу вас обрадовать: в этой версии хаммера не были заменены ни картинки кнопок, ни иконки менюшек, ни курсоры (только значок, и то - только чтобы отличать от оригинального хаммера). Я категорически против того, чтобы трогать оформление программы и не понимаю тех, кто за. Так что здесь всё будет привычным (и красивым, как оригинал).
А ещё тут нет грид-хака. В HLFX он не нужен, а просто так сделать - руки не дошли.

Название: HLFX Hammer Editor
На основе: Valve Hammer Editor 3.5
Инструменты: HEX-редактор, редактор ресурсов
Совместимость: полная
Установка: в папку с VHE 3.4 или 3.5
Скачать: здесь (610 кб)

Список фич:

  1. Устранено округление координат при экспорте в МАР
  2. Исправлен баг с флагами (теперь правильно работают все 24 чекбокса)
  3. Чекбоксы флагов выровнены в окошке, увеличен размер поля для текста
  4. Добавлена кнопка Clear Flags
  5. Увеличена высота списка визгрупп
  6. Убраны неработающие Pitch/Roll в свойствах энтити
  7. Увеличена ширина списка параметров в свойствах энтити
  8. Увеличена высота окна для списка используемых текстур
  9. Добавлены размеры сетки по умолчанию "1" и "2" в окно настроек
  10. Увеличены поля отображения текстур на панели инструментов и в окне Texture Application
  11. Добавлены отсутствующие подсказки для пунктов меню "Load pointfile" и "Unload pointfile"
  12. В информации о версии хаммера (в свойствах файла) теперь, как положено, стоит 3.5
  13. Заменены ссылки в Help->Web Resources (старые всё равно не работали)
  14. Добавлен манифест (контролы выглядят в стиле WinXP)
  15. Убраны раздражающие сообщения при закрытии редактора (типа "ShutdownOpenGL - wglMakeCurrent failed")


Особенно важные фичи - 1 и 2. И если первое встречалось в патче "от китайца" (хотя и сделано несколько иначе), то второго, насколько мне известно, никто до меня не делал. Теперь вы можете использовать ВСЕ чекбоксы на панели флагов под нужды своего мода (и их использует HLFX - поэтому для него и не годится обычный хаммер).
Пункт 7 тоже оценят те, кто использует свои FGD. Места в строке теперь хоть немного, но больше. К сожалению, сильно увеличить его нельзя, т.к. разработчики хаммера сильно захардкодили размеры этого окна, да ещё и в виде процентов.

Просьба всем, кто будет использовать редактор в разработке своего мода и/или карты, указывать это в ридми. Если норот будет пользоваться редактором, и я это буду видеть - это будет стимул его дорабатывать.

__________________

xaerox on Vivino


Отправлено GioHAUS0n 05-05-2013 в 10:44:

ОФИГЕТЬ КРУТООООООООООООООООООООООО!!!! ТЫ ПРОСТО СУПЕР!!!! YEEEAAAAAAH. ДА_ДА конечно буду указывать.

PS. Особенно из-за: ShutdownOpenGL - wglMakeCurrent failed!!! Уже достало по полной!


Отправлено Ku2zoff 05-05-2013 в 10:57:

Цитата:
XaeroX писал:
А ещё тут нет грид-хака. В HLFX он не нужен, а просто так сделать - руки не дошли.

Грид-хак, который я юзал (он же единственный) малость кривой. То есть карту большую можно делать, но она не умещается в 2Д вьпорты. При самом маленьком масштабе видно лишь 1/4 или 1/8 карты. Вот если бы это ограничение исправить, тогда цены б не было такому хаммеру. А если ещё подцепить загрузчик внешних текстур, так вообще ой-ой-ой.


Отправлено ONeiLL 05-05-2013 в 11:00:

но я одного не могу понять, как в в этих HEX-редакторах такое делаете?


Отправлено XaeroX 05-05-2013 в 11:48:

Цитата:
ONeiLL писал:
как в в этих HEX-редакторах такое делаете?

Никакого секрета здесь нет, берёшь и делаешь. ЕХЕ-файл это ведь по сути набор байтов - машинных команд. Их можно менять. Согласен, любителям Java и C# такое низкоуровневое программирование покажется непонятным, но их самих кто считает за программистов?

__________________

xaerox on Vivino


Отправлено ONeiLL 05-05-2013 в 12:01:

Открываю ЕХЕ НЕХ-редактором, и получаю кучу непонятного цифр(говна)


Отправлено XaeroX 05-05-2013 в 12:03:

Цитата:
ONeiLL писал:
Открываю ЕХЕ НЕХ-редактором, и получаю кучу непонятного цифр(говна)

Вообще-то тема не об этом, но я подскажу. Видишь там текст "This program cannot be run in DOS mode"? Какое же это говно? Самое что ни на есть информативное сообщение.
Так и в остальном.

__________________

xaerox on Vivino


Отправлено SovietCoder 05-05-2013 в 12:11:

Спасибо, буду пользоваться. И да, я бы тоже не отказался от нормального грид-хака. Ku2zoff все верно описал. Мелочь, но не приятно.


Отправлено nemyax 05-05-2013 в 12:18:

Цитата:
ONeiLL писал:
получаю кучу непонятного цифр(говна)

А надо в правильных местах какашки дробить, тогда будет понятнее.


Отправлено (_-=ZhekA=-_) 05-05-2013 в 12:49:

Цитата:
Ku2zoff писал:
Грид-хак, который я юзал (он же единственный) малость кривой. То есть карту большую можно делать, но она не умещается в 2Д вьпорты. При самом маленьком масштабе видно лишь 1/4 или 1/8 карты. Вот если бы это ограничение исправить, тогда цены б не было такому хаммеру.

+1 очень бы хотелось!


Отправлено Cybermax 05-05-2013 в 13:13:

XaeroX Такой тупой вопрос. А зачем он нужен? Дпустим если я делаю мод на ГС и хочу использовать фишки HLFX 0.7 в своем моде, то мне надо мапера заставить делать карты в HLFX Hammer Editor верно?

__________________


Отправлено XaeroX 05-05-2013 в 13:29:

Цитата:
Cybermax писал:
А зачем он нужен?

Цитата:
XaeroX писал:
Теперь вы можете использовать ВСЕ чекбоксы на панели флагов под нужды своего мода (и их использует HLFX - поэтому для него и не годится обычный хаммер)


Добавлено 05-05-2013 в 20:29:

Остальные фичи - дело вкуса.

__________________

xaerox on Vivino


Отправлено Дядя Миша 05-05-2013 в 13:53:

Цитата:
Cybermax писал:
XaeroX Такой тупой вопрос. А зачем он нужен?

Если вы не знаете, что это, значит вам оно и не нужно (с)

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ozzy 05-05-2013 в 14:35:

Цитата:
Cybermax писал:
Дпустим если я делаю мод на ГС

Цитата:
Cybermax писал:
то мне надо мапера заставить


как так ?

__________________
удалено по соображениям цензуры


Отправлено -=DrTressi=- 05-05-2013 в 14:40:

Ozzy Ну дык мод состоит не только из маппинга. Мож он лидер, в ус не дует, только всех заставляет юзать всякие HLFX Editor'ы. А сам, например, моделит. То мод получается делает именно он. Или я ошибаюсь?

__________________
How interesting, just look at that!
© Scientist


Отправлено Cybermax 05-05-2013 в 15:04:

Цитата:
Ozzy писал:
как так ?

Никто работать не хочет, надо заставлять. Опять мне + влепятъ за оффтоп из-за тебя.

__________________


Отправлено Дядя Миша 05-05-2013 в 15:12:

Цитата:
Ozzy писал:
Cybermax писал:
Дпустим если я делаю мод на ГС

Цитата:
Cybermax писал:
то мне надо мапера заставить


как так ?

И если пользователь играет эльфами то эльфы в лесу, домики деревяные набигают солдаты дворца и злодеи.

__________________
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 05-05-2013 в 15:16:

Добавь туда еще патч для точного выделения.


Отправлено Ozzy 05-05-2013 в 15:24:

Цитата:
Cybermax писал:
Никто работать не хочет, надо заставлять. Опять мне + влепятъ за оффтоп из-за тебя.

а сам что делаешь ?

__________________
удалено по соображениям цензуры


Отправлено Cybermax 05-05-2013 в 15:43:

Цитата:
Ozzy писал:
Цитата:
Cybermax писал:
Никто работать не хочет, надо заставлять. Опять мне + влепятъ за оффтоп из-за тебя.

а сам что делаешь ?


Я сам делаю мод. Руковожу процессом. Говорю другим что и как надо сделать.

__________________


Отправлено Ozzy 05-05-2013 в 15:49:

Цитата:
Cybermax писал:
Я сам делаю мод. Руковожу процессом. Говорю другим что и как надо сделать.


ну а карты там,модели,текстуры делаешь ?

__________________
удалено по соображениям цензуры


Отправлено Cybermax 05-05-2013 в 15:54:

Цитата:
Ozzy писал:
ну а карты там,модели,текстуры делаешь ?

Карты либо нашел в сети, либо просил совета у людей. Моделей полно в сети . Текстуры разве что из ут99 переносил. Ладно когда зарелизю мод сам увидишь.

__________________


Отправлено a-kush-er 05-05-2013 в 19:40:

//Offtop
Товарищи, а подкиньте ссылку на патч,
который "починит" выделение объектов в 3d окне
(для тех у кого видеокарта от Ati)


Отправлено Qwertyus 05-05-2013 в 22:20:

Спасибо, опробую (хоть и не маплю, но Хаммером иногда пользуюсь).


Отправлено Ozzy 05-05-2013 в 23:22:

Цитата:
Cybermax писал:
Карты либо нашел в сети, либо просил совета у людей. Моделей полно в сети . Текстуры разве что из ут99 переносил. Ладно когда зарелизю мод сам увидишь.

значит,ты ничего не сделал для мода,который делаешь ?
молодец,молодца

__________________
удалено по соображениям цензуры


Отправлено GioHAUS0n 06-05-2013 в 02:42:

Чтобы делать моды и игры - нужно моральная помощь!!! Без этого ты просто опилка-пустышка.


Отправлено pRoxxx 09-06-2013 в 20:46:

Цитата:
ONeiLL писал:
Открываю ЕХЕ НЕХ-редактором, и получаю кучу непонятного цифр(говна)

Ну естественно это не так делается, сначала прогоняют через дизассемблер, ищут по зацепкам, по строке и т.д., когда находя то что надо смотрят несколько байт в хекс виеве, и потом уже найдя их в хекс редакторе меняют на нужные. Вот даже наткнулся на сайтик с процессорными опкодами.

http://ref.x86asm.net/

По теме, спасибо забрал.


Отправлено fire64 10-06-2013 в 05:39:

А Можно еще через Hex rays прогнать, чтобы понятней было.

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


Отправлено XaeroX 10-06-2013 в 05:39:

pRoxxx
Я сижу на этом:
http://www.club155.ru/

__________________

xaerox on Vivino


Отправлено KiQ 19-07-2013 в 18:04:

А возможно добавить указание собственных батников для компиляции, в дополнение к стандартному окошку?

__________________
-Brain is dead-


Отправлено XaeroX 19-07-2013 в 18:25:

KiQ
В смысле - указание?
Теоретически ты можешь прописывать батники вместо ехе-файлов в разделах CSG/VIS/RAD/BSP.

__________________

xaerox on Vivino


Отправлено KiQ 20-07-2013 в 07:12:

XaeroX вот, в дополнение к полям для CSG/VIS/RAD/
BSP добавить поле BAT, ну или Custom BAT. В экспертном окошке, например, места много, как раз может влезть)

__________________
-Brain is dead-


Отправлено XaeroX 20-07-2013 в 07:38:

Такую модификацию, пожалуй, без сорцов не провернуть.

__________________

xaerox on Vivino


Отправлено KiQ 20-07-2013 в 09:06:

Тут советовали через HexRays прогнать - результат, понятное дело, не совершенный, но может пригодиться

__________________
-Brain is dead-


Отправлено XaeroX 20-07-2013 в 11:03:

KiQ
Да прогонял, прогонял. Иррунда это всё.

Добавлено 20-07-2013 в 18:03:

Запросы лучше адресовать сразу русскому, он свой хаммер разрабатывает.
А этот хаммер суть мелкие багфиксы к обычному, чтобы сделать его на 20% круче.

__________________

xaerox on Vivino


Отправлено VladislavTepes 21-07-2013 в 04:55:

Цитата:
XaeroX писал:
Согласен, любителям Java и C# такое низкоуровневое программирование покажется непонятным, но их самих кто считает за программистов?

Немного обиделся. Пишу на С++/С#, хотя также люблю при этом все что связано с Asm и прочим байтовредительством (ковыряние в HEX и т.д.). Что я делаю не так? Или прикладники в серьезных конторах меня не поймут и не примут в свою стаю?

__________________
http://i.imgur.com/6qW275b.png


Отправлено XaeroX 21-07-2013 в 07:03:

VladislavTepes
Ну давай рассуждать логично. Что можно сделать такого на сишарпе, чего нельзя сделать на плюсах? Ничего. Почему в таком разе люди пишут на сишарпе? Потому что плохо знают плюсы. Как можно считать за программиста человека, который плохо знает плюсы? Наверное, никак.

__________________

xaerox on Vivino


Отправлено CrazyRussian 21-07-2013 в 07:09:

Цитата:
XaeroX писал:
Ну давай рассуждать логично. Что можно сделать такого на сишарпе, чего нельзя сделать на плюсах?

заработать стопицот тыщ денег в деревне где я живу

__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов


Отправлено XaeroX 21-07-2013 в 07:11:

CrazyRussian
Не обманывай, если в деревне не слышали про плюсы, то и про сишарп ничего не знают. Вот 1С - другое дело, в нашей деревне 1С-ники тоже уже давно себе феррари напокупали.

__________________

xaerox on Vivino


Отправлено fire64 21-07-2013 в 09:07:

О_о В деревнях знают. что такое компьютеры???

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


Отправлено VladislavTepes 21-07-2013 в 09:44:

Цитата:
XaeroX писал:
Почему в таком разе люди пишут на сишарпе?

Скорость разработки, не? Все почти готово, все под руками. Но при этом, правда, приложение затачивается только под MS, ибо требует .Net. Тем, наверное, и плохо.
P.S. самому больше нравится C++.

__________________
http://i.imgur.com/6qW275b.png


Отправлено FreeSlave 21-07-2013 в 10:04:

Переходим на D programming language

А СразуРашн зачем-то опять же делает хаммер только под виндоус. Какой вот смысл в этом? Придется ждать, когда парни из свен купа запилят свои утилиты и надеяться, что их хаммер будет по-прежнему совместим со старым форматом карт.


Отправлено VladislavTepes 21-07-2013 в 10:08:

FreeSlave , какая-то смесь из C++ 11 и C#, по-моему.

__________________
http://i.imgur.com/6qW275b.png


Отправлено Decay 21-07-2013 в 10:23:

Цитата:
FreeSlave писал:
Придется ждать, когда парни из свен купа запилят свои утилиты

Да хоть бы привязки к стиму не было А то вдруг сделают как Source SDK.


Отправлено XaeroX 21-07-2013 в 10:41:

Цитата:
VladislavTepes писал:
Скорость разработки, не?

Слыхал про Qt?
Цитата:
VladislavTepes писал:
Но при этом, правда, приложение затачивается только под MS, ибо требует .Net.

Обрати внимание - в С++ билдере тоже "всё почти готово и всё под руками", и приложение ничего не требует, никаких дотнетов. Правда, тоже под винду, ибо VCL, но зато ничего дополнительно ставить не надо.

__________________

xaerox on Vivino


Отправлено VladislavTepes 21-07-2013 в 10:56:

Цитата:
XaeroX писал:
Слыхал про Qt?

Слыхал, и как раз сейчас его активно изучаю. Раньше был опыт с GTK+. Кстати, а что в Билдере с размером exe-шников? Говорят, они довольно здоровые получаются, но лечится это установкой нужных настроек при компиляции.

__________________
http://i.imgur.com/6qW275b.png


Отправлено XaeroX 21-07-2013 в 11:23:

VladislavTepes
Почему тебя так интересует размер ЕХЕшника? У тебя диал-ап?
ЕХЕшники там большие из-за статической линковки VCL, а "лечится" это динамической линковкой, после чего твои программы красиво и эффектно не запустятся у других пользователей.
Давайте прекращать оффтоп.

__________________

xaerox on Vivino


Отправлено Government-Man 21-07-2013 в 11:29:

Цитата:
DedoK писал:
А то вдруг сделают как Source SDK.


Дедок, ты не поверишь, но Source SDK давно уже не привязан к стиму. SSDK сейчас как такового вообще нет (вернее все еще есть но уже не нужен - качать его не надо) - все инструменты типа хаммера и хлмв лежат в папке bin вместе с движком. И запускать хаммер можно не запуская стим.


Отправлено VladislavTepes 21-07-2013 в 11:55:

XaeroX , просто с Билдером знаком очень мало, потому и интересуюсь.

__________________
http://i.imgur.com/6qW275b.png


Отправлено CrazyRussian 21-07-2013 в 12:16:

Цитата:
FreeSlave писал:
А СразуРашн зачем-то опять же делает хаммер только под виндоус. Какой вот смысл в этом?

Я линуксом не умею пользоваться

__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов


Отправлено FreeSlave 21-07-2013 в 13:13:

Цитата:
VladislavTepes писал:
какая-то смесь из C++ 11 и C#, по-моему.

Можно и так сказать. Правда, фичи, которые предоставляет C++11, в D были реализованы раньше, и C++ до сих пор уступает в некоторых вещах - нет static if, static assert и mixin, а заставлять программистов реализовывать их через макросы или какой-нибудь SFINAE и прочие темплейтовые хитрости, которые в плюсцах выглядит по-уродски, - это моветон прямо-таки.

CrazyRussian, так никто и не заставляет учиться. Надо было всего лишь взять какой-нибудь кроссплатформенный тулкит, а там уж и перенести было бы намного проще. У тебя там что, делфи? Можно попробовать на лазарус перенести, но я в этих паскалях не шарю совсем.


Отправлено XaeroX 21-07-2013 в 14:15:

FreeSlave
Опыт работы с линуксом показывает, что нифига не проще. В каждом линуксе - свои глюки. Причём, в отличие от винды, глюки зависят не только от версии линукса, но и от компьютера, на котором он установлен. И, возможно, от имени пользователя. А может быть, даже, и от погоды в данном регионе.
Отлаженный кроссплатформенный тулкит типа Qt всего лишь гарантирует, что глюки будут мелкими. Но - будут.

__________________

xaerox on Vivino


Отправлено FreeSlave 21-07-2013 в 14:34:

XaeroX, но проще же, чем всё с нуля переписать, а потом ещё обе версии поддерживать одновременно. Об отлаженных тулкитах речь и шла. Впрочем, состояния лазаруса я не знаю, но он довольно известен, а популярные вещи обычно хорошо отлажены (что, впрочем, не мешает той же делфи иметь всякие дурацкие баги Парни из параллельной группы в универе как-то раз наткнулись на то, что с комментарием программа работала, а без него - нет. Комментарий, разумеется, был обычным, без кода.)


Отправлено FiEctro 21-07-2013 в 16:52:

Сдался вам этот Qt есть например mxTool на котором написан модель вывер, Qt в миниатюре считай . Для проги типа хаммера помоему его возможностей хватает с головой.

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


Отправлено XaeroX 21-07-2013 в 16:54:

Цитата:
FiEctro писал:
mxTool на котором написан модель вывер, Qt в миниатюре считай

Здоров ли ты сегодня?

__________________

xaerox on Vivino


Отправлено Government-Man 22-07-2013 в 01:08:

Цитата:
FiEctro писал:
Qt в миниатюре считай


Ты ваще видел Qt? Видел сколько там кода, сколько он компилится и какой размер получившихся библиотек?


Отправлено thambs 22-07-2013 в 01:38:

>популярные вещи обычно хорошо отлажены
громкий смех в зале местами переходящий в истерику.

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


Отправлено marikcool 22-07-2013 в 04:54:

Цитата:
Government-Man писал:
Ты ваще видел Qt? Видел сколько там кода, сколько он компилится и какой размер получившихся библиотек?

там гдето метров 17 минимум к билду добавляй в виде дллок, но это в наше время не размер, так что как вариант это на qt.

__________________
vk.com/skullcapstudios


Отправлено SourceSkyBoxer 09-10-2013 в 18:58:

Hey guys,

i am sorry for non-russian Language. I am using English.

I am searching for expand of gird hack.

Half-Life has worked with -/+30720 because i have tested with VHLT 30v and delta.lst

How do i expand from -/+16384 into -/+30720?

Can you help sometimes... Thanks.....

__________________
Здравствуйте, хорошие люди, я
из Германии, и я прощаю тебя,
что я глухой. Я просто хочу,
чтобы писать по-английски.
Мне очень жаль. Я не могу
написать хороший русский
язык.


Отправлено XaeroX 09-10-2013 в 22:21:

This editor doesn't implement grid hack at all.

__________________

xaerox on Vivino


Отправлено SourceSkyBoxer 10-10-2013 в 15:56:

Цитата:
This editor doesn't implement grid hack at all.

Why not?

Wait:

I have patch c++ file by Vluzacn on my computer.

I have tried to compile with Visual Studio 2008 Professional C++

It works fine and creates executable patch
C++ Source Code:
1
#include <stdio.h>
2
#include <stdlib.h>
3
#include <conio.h>
4
#include <string.h>
5
#include <windows.h>
6
 
7
typedef unsigned char byte;
8
 
9
void error (const char *s)
10
{
11
  printf ("Error: %s\nPress any key to quit", s);
12
  getch ();
13
  exit (1);
14
}
15
 
16
const unsigned int maxlen = 256;
17
typedef struct
18
{
19
  unsigned int pos;
20
  unsigned int len;
21
  byte data[maxlen];
22
}
23
part_t;
24
 
25
int match (byte *buffer, unsigned int length, const part_t *part)
26
{
27
  int i;
28
  for (i=0; part[i].len; i++)
29
  {
30
    if (length < part[i].pos + part[i].len)
31
      return false;
32
    if (memcmp (buffer + part[i].pos, part[i].data, part[i].len))
33
      return false;
34
  }
35
  return true;
36
}
37
 
38
int modify (byte *buffer, unsigned int length, const part_t *part)
39
{
40
  int i;
41
  for (i=0; part[i].len; i++)
42
  {
43
    if (length < part[i].pos + part[i].len)
44
      return false;
45
    memcpy (buffer + part[i].pos, part[i].data, part[i].len);
46
  }
47
  return true;
48
}
49
 
50
int main (int argc, char **argv)
51
{
52
  const part_t part_35_4096[] =
53
  {
54
    {0x215F9, 4, {0x00,0x00,0x80,0x45}}, // max (float)4096
55
    {0x21603, 4, {0x00,0x00,0x80,0xC5}}, // min (float)-4096
56
    {0x51CD9, 4, {0x10,0x27,0x00,0x00}}, // visibility (int)10000
57
    {0x3C4F1, 4, {0x00,0x00,0x00,0x3D}}, // min scale to reach (float)0.03125
58
    {0x3C514, 4, {0x00,0x00,0x80,0x43}}, // max scale to reach (float)256
59
    {0xB96E8, 8, {0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x40}}, // max scale (double)256
60
    {0xB96F0, 8, {0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x3F}}, // min scale (double)0.03125
61
    {0,0}
62
  };
63
  const part_t part_35_30720[] =
64
  {
65
    {0x215F9, 4, {0x00,0x00,0x80,0x46}}, // max (float)16777216
66
    {0x21603, 4, {0x00,0x00,0x80,0xC6}}, // min (float)-16777216
67
    {0x51CD9, 4, {0x25,0x72,0x00,0x00}}, // visibility (int)20000
68
    {0x3C4F1, 4, {0x00,0x00,0x80,0x3C}}, // min scale to reach (float)0.015625
69
    {0x3C514, 4, {0x00,0x00,0x00,0x43}}, // max scale to reach (float)128
70
    {0xB96E8, 8, {0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40}}, // max scale (double)128
71
    {0xB96F0, 8, {0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x3F}}, // min scale (double)0.015625
72
    {0,0}
73
  };
74
  const part_t part_35_unknown[] =
75
  {
76
    {0xD4480, 16,"220\0mapversion\0"},
77
    {0,0}
78
  };
79
  const part_t part_34_4096[] =
80
  {
81
    {0x212C9, 4, {0x00,0x00,0x80,0x45}}, // max (float)4096
82
    {0x212D3, 4, {0x00,0x00,0x80,0xC5}}, // min (float)-4096
83
    {0x51959, 4, {0x10,0x27,0x00,0x00}}, // visibility (int)10000
84
    {0x3C231, 4, {0x00,0x00,0x00,0x3D}}, // min scale to reach (float)0.03125
85
    {0x3C254, 4, {0x00,0x00,0x80,0x43}}, // max scale to reach (float)256
86
    {0xB86E0, 8, {0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x40}}, // max scale (double)256
87
    {0xB86E8, 8, {0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x3F}}, // min scale (double)0.03125
88
    {0,0}
89
  };
90
  const part_t part_34_30720[] =
91
  {
92
    {0x215F9, 4, {0x00,0x00,0x80,0x46}}, // max (float)16777216
93
    {0x21603, 4, {0x00,0x00,0x80,0xC6}}, // min (float)-16777216
94
    {0x51CD9, 4, {0x25,0x72,0x00,0x00}}, // visibility (int)20000
95
    {0x3C4F1, 4, {0x00,0x00,0x80,0x3C}}, // min scale to reach (float)0.015625
96
    {0x3C514, 4, {0x00,0x00,0x00,0x43}}, // max scale to reach (float)128
97
    {0xB96E8, 8, {0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40}}, // max scale (double)128
98
    {0xB96F0, 8, {0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x3F}}, // min scale (double)0.015625
99
    {0,0}
100
  };
101
  const part_t part_34_unknown[] =
102
  {
103
    {0xD3470, 16,"220\0mapversion\0"},
104
    {0,0}
105
  };
106
  char filename[MAX_PATH+1];
107
  if (argc > 1)
108
  {
109
    strncpy (filename, argv[1], MAX_PATH);
110
  }
111
  else
112
  {
113
    OPENFILENAME ofn;
114
    memset (&ofn, 0, sizeof(ofn));
115
    ofn.lStructSize = sizeof(ofn);
116
    ofn.lpstrFile = filename;
117
    strcpy (filename, "");
118
    ofn.nMaxFile = MAX_PATH;
119
    ofn.lpstrDefExt = "exe";
120
    ofn.lpstrFilter = "Executable(hammer.exe)\0*.exe\0All Files(*.*)\0*.*\0";
121
    ofn.nFilterIndex = 1;
122
    ofn.Flags = OFN_EXPLORER | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_FILEMUSTEXIST;
123
    ofn.lpstrTitle = "Convert Valve Hammer Editor Executable";
124
    if (!GetSaveFileName (&ofn))
125
      error ("No file selected");
126
    printf ("%s\n", filename);
127
  }
128
  const part_t *type;
129
  unsigned int length;
130
  byte *buffer;
131
  {
132
    FILE *f;
133
    if (!(f = fopen (filename, "rb")))
134
      error ("Can not open file for read");
135
    fseek(f, 0, SEEK_END);
136
    length = ftell (f);
137
    fseek(f, 0, SEEK_SET);
138
    if (!(buffer = (byte *)malloc (length)))
139
      error ("No memory");
140
    if (fread (buffer, 1, length, f) != length)
141
      error ("Can not read file");
142
    if (match (buffer, length, part_35_4096))
143
    {
144
      type = part_35_4096;
145
      printf ("Detected version: Valve Hammer Editor 3.5 (normal)\n");
146
    }
147
    else if (match (buffer, length, part_35_30720))
148
    {
149
      type = part_35_30720;
150
      printf ("Detected version: Valve Hammer Editor 3.5 (already modified)\n");
151
    }
152
    else if (match (buffer, length, part_35_unknown))
153
    {
154
      type = part_35_unknown;
155
      printf ("Detected version: Valve Hammer Editor 3.5 (other)\n");
156
    }
157
    else if (match (buffer, length, part_34_4096))
158
    {
159
      type = part_34_4096;
160
      printf ("Detected version: Valve Hammer Editor 3.4 (normal)\n");
161
    }
162
    else if (match (buffer, length, part_34_30720))
163
    {
164
      type = part_34_30720;
165
      printf ("Detected version: Valve Hammer Editor 3.4 (already modified)\n");
166
    }
167
    else if (match (buffer, length, part_34_unknown))
168
    {
169
      type = part_34_unknown;
170
      printf ("Detected version: Valve Hammer Editor 3.5 (other)\n");
171
    }
172
    else
173
    {
174
      error ("Not hammer.exe from Valve Hammer Editor 3.4 or 3.5");
175
    }
176
    fclose (f);
177
  }
178
  {
179
    printf ("Press 1 to convert to normal version\nPress 2 to enlarge the range of grid\n");
180
    int key = getch ();
181
    if (key == '1')
182
    {
183
      if (type == part_35_4096 || type == part_35_30720 || type == part_35_unknown)
184
        type = part_35_4096;
185
      if (type == part_34_4096 || type == part_34_30720 || type == part_34_unknown)
186
        type = part_34_4096;
187
    }
188
    else if (key == '2')
189
    {
190
      if (type == part_35_4096 || type == part_35_30720 || type == part_35_unknown)
191
        type = part_35_30720;
192
      if (type == part_34_4096 || type == part_34_30720 || type == part_34_unknown)
193
        type = part_34_30720;
194
    }
195
    else
196
      error ("Invalid input");
197
  }
198
  {
199
    FILE *f;
200
    if (!(f = fopen (filename, "wb")))
201
      error ("Can not open file for write");
202
    modify (buffer, length, type);
203
    if (fwrite (buffer, 1, length, f) != length)
204
      error ("Can not write file");
205
    free (buffer);
206
    fclose (f);
207
  }
208
  printf ("Done\nPress any key to quit");
209
  getch ();
210
  return 0;
211
}


I don't know - how do i change hex binaries from "-/+4096" to "-/+30720"?
Look out thread: am-half-lifecreations Sven-Coop Forum and Cry of Fear Forum

__________________
Здравствуйте, хорошие люди, я
из Германии, и я прощаю тебя,
что я глухой. Я просто хочу,
чтобы писать по-английски.
Мне очень жаль. Я не могу
написать хороший русский
язык.


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

SourceSkyBoxer Please do not use tag [ code ]. Use [ cpp ] instead.

__________________
My Projects: download page

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

Цитата:

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


Отправлено SourceSkyBoxer 10-10-2013 в 16:04:

Цитата:
Дядя Миша писал:
SourceSkyBoxer Please do not use tag [ code ]. Use [ cpp ] instead.


Thank you.. i am sorry because i don't know about russian Language of your forum package. I need to switch Language English on your forum package and i understand better. Thanks

__________________
Здравствуйте, хорошие люди, я
из Германии, и я прощаю тебя,
что я глухой. Я просто хочу,
чтобы писать по-английски.
Мне очень жаль. Я не могу
написать хороший русский
язык.


Отправлено XaeroX 10-10-2013 в 16:45:

Цитата:
SourceSkyBoxer писал:
Why not?

Because there is an upcoming brand new editor that will fix all the problems, including tweakable grid size.

__________________

xaerox on Vivino


Отправлено SourceSkyBoxer 12-10-2013 в 10:52:

New girdhack by vluzacn now:

Can you map same nice place now.. But don't use out -/+32768!!!!! Thank you!

__________________
Здравствуйте, хорошие люди, я
из Германии, и я прощаю тебя,
что я глухой. Я просто хочу,
чтобы писать по-английски.
Мне очень жаль. Я не могу
написать хороший русский
язык.


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

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