You are not logged in.
Pages: 1
Я решил таки разобраться с растягиванием интерфейса и прочими гадостями на широкоформатных мониторах, вот сравнительные картинки:
Т.е. фактически я совместил FOV Hack и widescreen.asi и сделал чтоб они работали вместе нормально, что мне собственно и требовалось. К тому же, не нужно запускать FOV Hack каждый раз перед(или после) запуском игры.
{$CLEO .cs} 0000: NOP 05EC: 0@ = current_thread_pointer 0@ += 8 05E0: 1@ = read_memory 0@ size 1 virtual_protect 0 //0x36 default 0@ += 1 05E0: 2@ = read_memory 0@ size 1 virtual_protect 0 //0x30 default 05FB: 10@ = 1@ - 0x30 05FB: 12@ = 2@ - 0x30 var 10@:int 12@:int end 10@ *= 10 10@ += 12@ 0093: 10@ = integer 10@ to_float 05DF: write_memory 0x00400040 size 4 value 10@ {20.0} virtual_protect 1 05DF: write_memory 0x00400044 size 4 value 0x004005D8 virtual_protect 1 05DF: write_memory 0x00400048 size 4 value 0x1DD90040 virtual_protect 1 05DF: write_memory 0x0040004C size 4 value 0x00696658 virtual_protect 1 05DF: write_memory 0x00400050 size 4 value 0x14A295E9 virtual_protect 1 05DF: write_memory 0x00400054 size 1 value 0x00 virtual_protect 1 05DF: write_memory 0x697A70 size 4 value 0.0013625 virtual_protect 1 //hud_scale_x 05DF: write_memory 0x68FD14 size 4 value 0.0013625 virtual_protect 1 //radar_scale_x 05E5: 3@ = game_version if 3@ == 0 // integer values then 05DF: write_memory 0x4A6430 size 1 value 184 virtual_protect 1 // sniper_border_x 05DF: write_memory 0x4A6482 size 1 value 184 virtual_protect 1 // sniper_border_x //FOV Hack 05E0: 5@ = read_memory 0x12FE8C size 2 virtual_protect 0 //X 1920 05E0: 6@ = read_memory 0x12FE90 size 2 virtual_protect 0 //Y 1080 0077: 5@ /= 6@ // floating-point values //0007: 5@ = 1.777999997 // floating-point values //05DF: write_memory 0x0054A292 size 4 value 5@ {1.777999997} virtual_protect 1 //05DF: write_memory 0x0054A29E size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x0054A2B3 size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x0054A2C6 size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x0054A2E4 size 4 value 0xEB5D5BE9 virtual_protect 1 05DF: write_memory 0x0054A2E8 size 2 value 0x90FF virtual_protect 1 else 05DF: write_memory 0x4A6450 size 1 value 184 virtual_protect 1 // sniper_border_x 05DF: write_memory 0x4A64A0 size 1 value 184 virtual_protect 1 // sniper_border_x 05E0: 5@ = read_memory 0x12FE8C size 2 virtual_protect 0 //X 1920 05E0: 6@ = read_memory 0x12FE90 size 2 virtual_protect 0 //Y 1080 0071: 5@ /= 6@ // floating-point values //05DF: write_memory 0x0054A2B2 size 4 value 5@ {1.777999997} virtual_protect 1 //05DF: write_memory 0x0054A2BE size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x0054A2D3 size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x0054A2E6 size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x0054A304 size 4 value 0xEB5D3BE9 virtual_protect 1 05DF: write_memory 0x0054A308 size 2 value 0x90FF virtual_protect 1 end 05DC: end_custom_thread
Для GTA III:
{$CLEO .cs} 0000: NOP 05EC: 0@ = current_thread_pointer 0@ += 8 05E0: 1@ = read_memory 0@ size 1 virtual_protect 0 //0x36 default 0@ += 1 05E0: 2@ = read_memory 0@ size 1 virtual_protect 0 //0x30 default var 1@:int 2@:int end 1@ -= 0x30 2@ -= 0x30 1@ *= 10 1@ += 2@ 0093: 10@ = integer 1@ to_float 05E5: 3@ = game_version if 3@ == 0 // integer values then 05DF: write_memory 0x00400080{III} size 4 value 10@ {20.0} virtual_protect 1 05DF: write_memory 0x00400100{III} size 4 value 0x008005D8 virtual_protect 1 05DF: write_memory 0x00400104{III} size 4 value 0x1DD90040 virtual_protect 1 05DF: write_memory 0x00400108{III} size 4 value 0x005FBC6C virtual_protect 1 05DF: write_memory 0x0040010C{III} size 4 value 0x0FE6A9E9 virtual_protect 1 //05DF: write_memory 0x00400054{III} size 1 value 0x00 virtual_protect 1 05DF: write_memory 0x5F7150{III} size 4 value 0.4399999976 virtual_protect 1 //radardisc_scale 05DF: write_memory 0x5FDC68{III} size 4 value 66.87999725 virtual_protect 1 //radardisc_scale_x 05DF: write_memory 0x5FDC70{III} size 4 value 82.72000122 virtual_protect 1 //radardisc_scale_y //05DF: write_memory 0x48E2A9{III} size 1 value 184 virtual_protect 1 // sniper_border_x //05DF: write_memory 0x48E31B{III} size 1 value 184 virtual_protect 1 // sniper_border_x //FOV Hack 05E0: 5@ = read_memory 0x12FEC4{III} size 4 virtual_protect 0 //X 1920 05E0: 6@ = read_memory 0x12FEC8{III} size 4 virtual_protect 0 //Y 1080 0071: 5@ /= 6@ // floating-point values 05DF: write_memory 0x005F53C0 size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x005F53C4 size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x4FE7B4 size 4 value 0xF01947E9 virtual_protect 1 05DF: write_memory 0x4FE7B8 size 2 value 0x90FF virtual_protect 1 else 05DF: write_memory 0x00400080{III} size 4 value 10@ {20.0} virtual_protect 1 05DF: write_memory 0x00400100{III} size 4 value 0x008005D8 virtual_protect 1 05DF: write_memory 0x00400104{III} size 4 value 0x1DD90040 virtual_protect 1 05DF: write_memory 0x00400108{III} size 4 value 0x005FBA54 virtual_protect 1 05DF: write_memory 0x0040010C{III} size 4 value 0x0FE789E9 virtual_protect 1 //05DF: write_memory 0x00400054{III} size 1 value 0x00 virtual_protect 1 05DF: write_memory 0x5F6F38{III11} size 4 value 0.4399999976 virtual_protect 1 //radardisc_scale 05DF: write_memory 0x5FDA50{III11} size 4 value 66.87999725 virtual_protect 1 //radardisc_scale_x 05DF: write_memory 0x5FDA58{III11} size 4 value 82.72000122 virtual_protect 1 //radardisc_scale_y //05DF: write_memory 0x48E2AD{III11} size 1 value 184 virtual_protect 1 // sniper_border_x //05DF: write_memory 0x48E320{III11} size 1 value 184 virtual_protect 1 // sniper_border_x //FOV Hack 05E0: 5@ = read_memory 0x12FEC4{III} size 4 virtual_protect 0 //X 1920 05E0: 6@ = read_memory 0x12FEC8{III} size 4 virtual_protect 0 //Y 1080 0071: 5@ /= 6@ // floating-point values 05DF: write_memory 0x005F52B0 size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x005F52B4 size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x4FE894 size 4 value 0xF01867E9 virtual_protect 1 05DF: write_memory 0x4FE898 size 2 value 0x90FF virtual_protect 1 end 05DC: end_custom_thread
Скачать - http://www.gtagarage.com/mods/show.php?id=15521
Last edited by Sergey81 (24-03-2011 19:05)
Offline
Чувак, ты вообще молодец, для Vice City и для III делаешь полезные вещицы, спасибо тебе большое, ты супер.:clap:
...
Нашел косяк, вылетает любая версия игр. Может это связано с тем что у меня обычный монитор?
Last edited by mfisto (22-03-2011 19:29)
I know everything and nothing...
Offline
Выложил версию 2 для GTA 3. Изменение только одно - радар уменьшен на 12%.
Нашел косяк, вылетает любая версия игр. Может это связано с тем что у меня обычный монитор?
Я тестил на VC 1.0/1.1 и GTA 3 также 1.0/1.1, ничего не вылетает. От монитора вылеты точно не зависят. Экзешники на которых я всё проверяю есть в составе IV худа.
Offline
@mfisto - Странно, а какое разрешение выставлено? Я тестил и на нетбуке(1024х600), тоже всё работает. Проверь, работают ли оригинальные widescreen.asi и FOV Hack.
Last edited by Sergey81 (25-03-2011 17:38)
Offline
@mfisto -
http://www.widescreengamingforum.com/wi … #FOV_Hacks
http://squiddy.marway.org/gta/files/vcwidescreen.zip
Кстати, вот ещё один небольшой мод для вайса:
{$CLEO} 0000: 05E5: 0@ = game_version if 0@ == 0 then 05DF: write_memory 0x5FA178 size 1 value 0x00 virtual_protect 1 else 05DF: write_memory 0x5FA197 size 1 value 0x00 virtual_protect 1 end 05DC: end_custom_thread
Offline
@mfisto - Ну в принципе зачем тебе фикс для широкоформатных мониторов, если у тебя обычный? Больше даже незнаю что посоветовать, так как у самого не вылетает.
Offline
@mfisto - Ну в принципе зачем тебе фикс для широкоформатных мониторов, если у тебя обычный? Больше даже незнаю что посоветовать, так как у самого не вылетает.
согласен, как-то странно качать примочки для широкоформатного монитора, если имеешь обычный
Offline
Такой вопрос - каккие значения более корректно ставить между 20 и 37 для FOV, чтобы не было всяких проблем с картинкой или пофиг - 29, 30, 31 и т.д. ?!
PS Просто думал, что какие-то законы есть, типо лучше чётные или наоборот...
Last edited by reute70 (05-05-2011 19:43)
Offline
@reute70 - Ну это надо экспериментальным путём выяснять, меня вот 20 устраивает.
Offline
Заметил очень неприятный баг, при прицеливании из снайперской винтовки, игра вылетает. Пробовал разные версии скрипта. Пробовал выставлять значения ФОВ от 16 до 20. Разрешение экрана 1600х900.
Да и ещё, можно ли сделать камеру чуть чуть поближе к актеру и к машине?
Offline
@paulo - Камера чуть ближе делается как раз изменением FOV. Вылетает в какой игре?
Попробуй закомментить строки с sniper_border_x(если VC), скомпилировать и посмотреть что будет.
Offline
@paulo - Камера чуть ближе делается как раз изменением FOV. Вылетает в какой игре?
Попробуй закомментить строки с sniper_border_x(если VC), скомпилировать и посмотреть что будет.
Вылет в Вайсе, в трёшке не пробовал скрипт. Насчет скомпилировать, хз, у меня даже инструмента этого для редактирования скриптов нет.
И ещё, когда у меня стоял ФовХак, то там было значение 4. А с этим скриптом если ставлю значение менее 10, то получается вот такое чудо.
И кстати, для правильной работы, в опциях игры должен быть widescreen мод должен быть вкл или выкл?
Offline
@paulo - попробуй "04" написать.
Отредактированный скрипт без изменения sniper border здесь - http://www.sendspace.com/file/5fl2sp
Offline
Такс по порядку, значение Фов написал 04, всё работает:) Скрипт без изменения sniper border тоже работает практически нормально, из снайперки можно целиться, однако прицел немного не красиво отображается. Но это уже не так важно.
В общем для себя нашел такой выход))
Так как я играл всё время с ФОВ хаком (значение 4) и widescreen.asi то я привык к определенному положению камеры.
Вот скрины с Proper widescreen fix параметр фов выставлен на 04. Однако прицел намного уходит вниз и влево. И прицел снайперской винтовки выглядит следующим образом.
Потом кинул в папку widescreen.asi, как бы совместил с клео фиксом. и получилось то что нужно)
Вроде работает нормально и всё ок. Спасибо.
Offline
@paulo - Странно, у меня так при фиксе с фов 04, и widescreen.asi сплюснутая картинка и кривой прицел. Разрешение тоже 1600x900 поставил для теста. Правда действительно, при изменении фов прицел сбивается, и фича с переименованием скрипта получается бесполезной. Как то я проглядел этот момент.
Думаю, были бы исходники FOV Hack'a, получилось бы сделать лучше.
Offline
Ещё один радар-рестретч для гта3:
Работает только с exe 1.0, для 1.1 адреса не искал(если решу сделать ещё один релиз, так там будет).
{$CLEO .cs} 0000: NOP 05EC: 0@ = current_thread_pointer 0@ += 8 05E0: 1@ = read_memory 0@ size 1 virtual_protect 0 //0x36 default 0@ += 1 05E0: 2@ = read_memory 0@ size 1 virtual_protect 0 //0x30 default var 1@:int 2@:int end 1@ -= 0x30 2@ -= 0x30 1@ *= 10 1@ += 2@ 0093: 10@ = integer 1@ to_float 05E5: 3@ = game_version if 3@ == 0 // integer values then 05DF: write_memory 0x00400080{III} size 4 value 10@ {20.0} virtual_protect 1 05DF: write_memory 0x00400100{III} size 4 value 0x008005D8 virtual_protect 1 05DF: write_memory 0x00400104{III} size 4 value 0x1DD90040 virtual_protect 1 05DF: write_memory 0x00400108{III} size 4 value 0x005FBC6C virtual_protect 1 05DF: write_memory 0x0040010C{III} size 4 value 0x0FE6A9E9 virtual_protect 1 //05DF: write_memory 0x00400054{III} size 1 value 0x00 virtual_protect 1 05DF: write_memory 0x5F7150{III} size 4 value 0.4399999976 virtual_protect 1 //radar_scale 05DF: write_memory 0x5F715C{III} size 4 value 90.0 virtual_protect 1 //radar_scale 05DF: write_memory 0x5F714C{III} size 4 value 75.0 virtual_protect 1 //radar_scale 05DF: write_memory 0x5FDC68{III} size 4 value 82.0 virtual_protect 1 //radardisc_scale_x 05DF: write_memory 0x5FDC70{III} size 4 value 66.0 virtual_protect 1 //radardisc_scale_y //05DF: write_memory 0x48E2A9{III} size 1 value 184 virtual_protect 1 // sniper_border_x //05DF: write_memory 0x48E31B{III} size 1 value 184 virtual_protect 1 // sniper_border_x //FOV Hack 05E0: 5@ = read_memory 0x943010{III} size 4 virtual_protect 0 //X 1920 05E0: 6@ = read_memory 0x943014{III} size 4 virtual_protect 0 //Y 1080 0093: 5@ = integer 5@ to_float 0093: 6@ = integer 6@ to_float 0071: 5@ /= 6@ // floating-point values 05DF: write_memory 0x005F53C0 size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x005F53C4 size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x4FE7B4 size 4 value 0xF01947E9 virtual_protect 1 05DF: write_memory 0x4FE7B8 size 2 value 0x90FF virtual_protect 1 else 05DF: write_memory 0x00400080{III} size 4 value 10@ {20.0} virtual_protect 1 05DF: write_memory 0x00400100{III} size 4 value 0x008005D8 virtual_protect 1 05DF: write_memory 0x00400104{III} size 4 value 0x1DD90040 virtual_protect 1 05DF: write_memory 0x00400108{III} size 4 value 0x005FBA54 virtual_protect 1 05DF: write_memory 0x0040010C{III} size 4 value 0x0FE789E9 virtual_protect 1 //05DF: write_memory 0x00400054{III} size 1 value 0x00 virtual_protect 1 05DF: write_memory 0x5F6F38{III11} size 4 value 0.4399999976 virtual_protect 1 //radardisc_scale 05DF: write_memory 0x5FDA50{III11} size 4 value 66.87999725 virtual_protect 1 //radardisc_scale_x 05DF: write_memory 0x5FDA58{III11} size 4 value 82.72000122 virtual_protect 1 //radardisc_scale_y //05DF: write_memory 0x48E2AD{III11} size 1 value 184 virtual_protect 1 // sniper_border_x //05DF: write_memory 0x48E320{III11} size 1 value 184 virtual_protect 1 // sniper_border_x //FOV Hack 05E0: 5@ = read_memory 0x9431C8{III} size 4 virtual_protect 0 //X 1920 05E0: 6@ = read_memory 0x9431CC{III} size 4 virtual_protect 0 //Y 1080 0093: 5@ = integer 5@ to_float 0093: 6@ = integer 6@ to_float 0071: 5@ /= 6@ // floating-point values 05DF: write_memory 0x005F52B0 size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x005F52B4 size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x4FE894 size 4 value 0xF01867E9 virtual_protect 1 05DF: write_memory 0x4FE898 size 2 value 0x90FF virtual_protect 1 end 05DC: end_custom_thread
vc:
{$CLEO .cs} 0000: NOP 05EC: 0@ = current_thread_pointer 0@ += 8 05E0: 1@ = read_memory 0@ size 1 virtual_protect 0 //0x36 default 0@ += 1 05E0: 2@ = read_memory 0@ size 1 virtual_protect 0 //0x30 default 05FB: 10@ = 1@ - 0x30 05FB: 12@ = 2@ - 0x30 var 10@:int 12@:int end 10@ *= 10 10@ += 12@ 0093: 10@ = integer 10@ to_float 05DF: write_memory 0x00400040 size 4 value 10@ {20.0} virtual_protect 1 05DF: write_memory 0x00400044 size 4 value 0x004005D8 virtual_protect 1 05DF: write_memory 0x00400048 size 4 value 0x1DD90040 virtual_protect 1 05DF: write_memory 0x0040004C size 4 value 0x00696658 virtual_protect 1 05DF: write_memory 0x00400050 size 4 value 0x14A295E9 virtual_protect 1 05DF: write_memory 0x00400054 size 1 value 0x00 virtual_protect 1 05DF: write_memory 0x697A70 size 4 value 0.0013625 virtual_protect 1 //hud_scale_x 05DF: write_memory 0x68FD14 size 4 value 0.001 virtual_protect 1 //radar_scale_x 05DF: write_memory 0x697C1C size 4 value 70.0 virtual_protect 1 //radardisc_scale_x 05E5: 3@ = game_version if 3@ == 0 // integer values then 05DF: write_memory 0x4A6430 size 1 value 184 virtual_protect 1 // sniper_border_x 05DF: write_memory 0x4A6482 size 1 value 184 virtual_protect 1 // sniper_border_x //FOV Hack 05E0: 5@ = read_memory 0x12FE8C size 2 virtual_protect 0 //X 1920 05E0: 6@ = read_memory 0x12FE90 size 2 virtual_protect 0 //Y 1080 0093: 5@ = integer 5@ to_float 0093: 6@ = integer 6@ to_float 0071: 5@ /= 6@ // floating-point values //0007: 5@ = 1.777999997 // floating-point values //05DF: write_memory 0x0054A292 size 4 value 5@ {1.777999997} virtual_protect 1 //05DF: write_memory 0x0054A29E size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x0054A2B3 size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x0054A2C6 size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x0054A2E4 size 4 value 0xEB5D5BE9 virtual_protect 1 05DF: write_memory 0x0054A2E8 size 2 value 0x90FF virtual_protect 1 else 05DF: write_memory 0x4A6450 size 1 value 184 virtual_protect 1 // sniper_border_x 05DF: write_memory 0x4A64A0 size 1 value 184 virtual_protect 1 // sniper_border_x 05E0: 5@ = read_memory 0x12FE8C size 2 virtual_protect 0 //X 1920 05E0: 6@ = read_memory 0x12FE90 size 2 virtual_protect 0 //Y 1080 0093: 5@ = integer 5@ to_float 0093: 6@ = integer 6@ to_float 0071: 5@ /= 6@ // floating-point values //05DF: write_memory 0x0054A2B2 size 4 value 5@ {1.777999997} virtual_protect 1 //05DF: write_memory 0x0054A2BE size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x0054A2D3 size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x0054A2E6 size 4 value 5@ {1.777999997} virtual_protect 1 05DF: write_memory 0x0054A304 size 4 value 0xEB5D3BE9 virtual_protect 1 05DF: write_memory 0x0054A308 size 2 value 0x90FF virtual_protect 1 end 05DC: end_custom_thread
Last edited by Sergey81 (27-05-2011 09:18)
Offline
Для версии 1.1 гта 3 пожалуйста найди адреса, а еще сделай плиз аналогичный фикс для SA 1.0 1.01 и 2.0 (последний, полагаю можно только в виде ASI) и не забудь про коррекцию растянутых по Х 2д спрайтов (короны вокруг оружия, луна, облака и тд) - их соотношение должно быть фиксированным 1:1 а игра даже по умолчанию их растягивает с 1:1 к 4:3. Причем во всех 3х играх такая беда.
Offline
Pages: 1