X-Ray extensions - Страница 36 - Скрипты / конфиги / движок - AMK Team
Перейти к контенту

Рекомендуемые сообщения

@macron, действительно. Я не догадался почитать твои комменты к правкам. Думаю, проблема из-за этой правки, которая у меня включена:

;из-за этой хрени глючат выбросы в OLR
;"это вспомогательный фикс для перемотки времени"
;см http://www.amk-team.ru/forum/index.php?showtopic=10538&page=21#entry783493
;0x102AC460 5 ; jmp game_cl_GameState__net_import_GameTime_dbg_fix

З.Ы. Какая-то из правок дллки второго рендера кривовата - свет от фонарика ГГ отображается без наложения своей текстуры (internal_light_torch_r2) и в виде многоугольника, тогда как в оригинальной игре, он сглажен. Может дело в этой правке: 

;=====================================
;=======ВИРТУАЛЬНЫЙ РАДИУС ЛАМП=======
;EXTENDED TUNING OF MAIN_VIRTUAL_SIZE FOR LAMPS
;=====================================
0x1002E77E 5 ; jmp light__light_fix
0x1002FD43 5 ; jmp light__export_fix
0x100337F2 5 ; jmp CLight_Compute_XFORM_and_VIS__compute_xf_spot_fix
0x100337C5 8 ; shift to FOV

0x10004BB6 5 ; 
0x1002FD32 5 ; 
0x100300D0 5 ; 
0x100301BA 5 ; 
0x1000ABB1 5 ; jmp      loc_1000AEB3
Изменено пользователем Stalker_AleX333
  • Не нравится 1

Появилось немного времени, решил поковырять. Наковырял функции для получения указателей на окна. Осталось доделать экспорт...
Чем дальше, тем не понятнее :(

mov     dword ptr [esi], offset off_10481F40
mov     [esi+0Ch], eax
org 102ACF30h - shift
game_cl_GameState__StartStopMenu:
; заглушка для регистрация функции, возвращающей диалог
org 10481F40h - shift
off_10481F40 dd ?

???

 

По сравнивал этот прототип с прототипом от get_hud. Вроде одинаковые вещи происходят, только написаны по разному.
Вещи то вроде одинаковые, но как я понял, где то лежит "описание класса", экземпляр которого мы получаем. Я прав? Где лежит?)))
 

  • Согласен 1

Доброго времени суток.

У меня в xrGame включена правка "поддержка русского ввода", но не могу понять как она используется. Я так думаю, это поддержка ввода с русской раскладки клавиатуры в CUIEditBox? Если так, то она почему-то не работает. Или под этим имеется в виду что-то другое?

Изменено пользователем naxac

Заметил очередной трабл с правками xrGame.dll - если оборвать игру, нажатием "Выйти в windows" в главном меню, предварительно ее не завершив, вываливается лог:

- Disconnect
stack trace:

0023:76A9C42D KERNELBASE.dll
0023:60F98E89 MSVCR80.dll, EH_prolog()
0023:04886DA8 xrGame.dll
0023:04AA79DD xrGame.dll
 
[error][       8]    : Недостаточно памяти для обработки команды.

, это правки для SHOC 1.0006? Ни разу не было такого в логах. Я крайний раз патчил с таким:

 

0x10190492 5 ; jmp global_space_ext ; врезка с инструкцией перехода - 5 байт
0x10149CA2 5 ; jmp global_space_ext2
0x10149D24 5 ; jmp global_space_ext2_additional
0x10155D87 5 ; jmp game_object_fix
0x1014A7CA 5 ; jmp game_object_fix2 ; вторая часть, под свойства

0x101A6E50 5 ; jmp call_key_press_callback
0x101A71F0 5 ; jmp call_key_release_callback
0x101A7330 5 ; jmp call_key_hold_callback
0x101A6CA5 5 ; jmp call_mouse_wheel_callback
0x101DE710 5 ; jmp call_mouse_move_callback
0x10443CED 8 ; предоствращение вылета при невключении ствола в mp_ranks
0x101C6DC0 5 ; jmp CActor_HitSignal_ext
0x10204D75 5 ; jmp on_belt_callback
0x10204F13 5 ; jmp on_ruck_callback
0x10204BCF 5 ; jmp on_slot_callback
0x1004C9AD 5 ; jmp alife_simulator_fix
;0x1024C290 1 ; retn ; правка смены визуала актора
0x1028E30E 5 ; jmp add_console_commands_fix
0x102862E0 5 ; jmp inventory_box_fix
0x101AEF0F 5 ; level_ns_extension_1 ; get_target_dist, get_target_obj
0x101AF1C1 8 ; level_ns_extension_2 ; get_target_dist, get_target_obj
0x103561C9 5 ; jmp addr_103561DD ; skip annoying msg "sv ownership id_parent ..."
0x103561DD 8 ; part2: mov esi,10h; nop; nop; nop;
0x1035646D 5 ; jmp addr_10356481 ; skip annoying msg "sv reject. id_parent ..."
0x10356481 8 ; part2: mov ebx,10h; nop; nop; nop;
0x10355D85 5 ; jmp addr_10355D9B ; skip annoying msg "sv destroy object ..."
0x103B8DEB 5 ; jmp addr_103B8DFF ; skip annoying msg "[16-9] get_xml_name for ..."
0x1004C3D2 5 ; jmp release_fix
0x101477AF 6 ; отключение проверки при выкидывании из ящиков
;0x102042FD 6 ; активировать 8-й слот
0x1026C525 5 ; jmp car_fix
0x10269391 5 ; jmp car_panel_fix ; врезка для управления видимостью панели машины
0x103FB34F 5 ; jmp cuiwindow_fix
0x102C4632 5 ; jmp ctime_fix
0x101398CD 5 ; jmp matrix_fix
0x1045E73C 6 ; фикс имени функции speed
;0x103C911D 5 ; тестовое слежение за закрытием диалога разговора
;0x10054AD7 7 ; фикс оффлайнового движения неписей
;0x1005568F 5 ; jmp mmm_fix
;0x1023CC8E 5 ; jmp wpn_stat_mgun_fix ; попытка фикса станкового оружия
;0x1023CBDA 5 ; jmp wpn_stat_mgun__upatecl_fix0

;0x1023D870 5 ; jmp wpn_stat_mgun__cam_update_fix
0x10146D00 5 ; jmp disable_info_portion_fix ; убираем лишние действия при выключении уже выключенной инфопорции

;0x103BE8C0 5 ; jmp CUITradeWnd__CanMoveToOther_fix ; ручное управление торгуемостью предметов
;0x10416E89 5 ; jmp CUIInventoryCellItem__EqualTo_fix ; ручное управление группируемостью предметов
;0x10221D75 12 ; блокирование кривого движкового переключения гранат (включаем только если имеем альтернативную скриптовую схему)

; !!! кастомную заливку можно включать, когда имеем альтернативную скриптовую обвязку !!!
;0x103BF3C7 5 ; jmp CUITradeWnd__FillList_fix ; кастомная заливка предметов в окне торговли
;0x103CBF49 5 ; jmp CUICarBodyWnd__UpdateLists_fix ; кастомная заливка предметов в окне обыска ящиков

;SkyLoader
0x103BF3D6 5 ;jmp CUITradeWnd__FillList_colorize ;заливка предметов в окне торговли

;0x101AC832 5 ; jmp CLevel__g_sv_Spawn_fix ; отладочное сообщение о начале создания объекта
;0x101AC95A 5 ; jmp CLevel__g_sv_Spawn_fix2 ; отладочное сообщение о завершении создания объекта

;0x1020921F 5 ; jmp CInventoryItem_constructor_fix
;0x102094A8 5 ; jmp CInventoryItem_destructor_fix
0x104A067C 4 ; замена пустого виртуального метода Projector::Hit на наш

0x104760D4 4 ; CAI_Stalker__IsVisibleForZones
0x10118C50h 5 ; jmp CAI_Stalker__feel_touch_new_fix

;0x102196C7 5 ; jmp CWeapon__UpdateFireDependencies_internal_dbg_fix2 - отладка
;0x1021846B 5 ; jmp CShootingObject__RenderLight_dbg_fix2 - отладка
;0x10412EB0 5 ; jmp scroll_vew_fix

;0x101E2FC5 5 ; jmp CEntityCondition__UpdateConditionTime_dbg
;0x102A0848 5 ; jmp game_GameState__GetGameTime_dbg_fix
;0x102D5A00 5 ; jmp game_sv_Single__GetGameTime_dbg_fix
;0x102A0900 5 ; jmp game_GameState__SetGameTimeFactor_dbg_fix
;0x102A0940 5 ; jmp game_GameState__SetGameTimeFactor__INT64_float_dbg_fix
;0x102AC460 5 ; jmp game_cl_GameState__net_import_GameTime_dbg_fix

;0x10253E2B 40 ; searchlight__turn_on

;0x10272746 8 ; попытка фикса вылезания из машины
;0x100681C6 5 ; call CALifeStoryRegistry__add - экспериментальные отладочные фиксы
;0x10068158 5 ; jmp CALifeSimulatorBase__register_object_debug_fix - аналогично
;0x1025828A 5 ; jmp CCustomZone__feel_touch_contact_dbg_fix
;0x10056370 5 ; jmp CGameGraph__distance_fix

;0x102065B7 9 ; jmp loc_1020663C_return_true ; фикс инвентаря часть 1
;0x1020432D 5 ; jmp CInventory__CInventory_fix ; фикс инвентаря часть 2
;0x102046B1 5 ; jmp CInventory__Take_fix ; фикс инвентаря часть 3
;0x10204ED4 5 ; jmp CInventory__Ruck_fix ; фикс инвентаря часть 4
;0x10204A57 5 ; jmp CInventory__DropItem_fix ; фикс инвентаря часть 5

;0x102D5B17 5 ; jmp time_fix_jmp_label

;-------------- тест камеры машины
;0x1026F96E 5 ; jmp CCar__cam_Update_fix
;0x1026F820 5 ; jmp CCar__cam_Update_fix0 ; замена камеры машины
;-------------- end
;0x101DE76F 6 ; fdiv ds:g_fov
;0x1023B20D 8 ; divss xmm0, ds:g_fov
;0x1027401D 8 ; divss xmm0, ds:g_fov
;0x10287828 8 ; divss xmm0, ds:g_fov

0x1021CA22 5 ; jmp UpdateAddonsVisibility_fix
0x1021C632 5 ; jmp UpdateHUDAddonsVisibility_fix
;0x1021B80F 6

;0x100138F0 5 ; jmp CHitMemoryManager__add3_fix
;0x101A6DC0 5 ; jmp call_mouse_move_callback

0x101F267F 5 ; jmp CHangingLamp__net_Spawn_fix
;0x101F269A 5 ; jmp CHangingLamp__net_Spawn_fix_2
0x101E1180 5 ; jmp CEntityAlive__Hit_fix
;0x101DFA30 5 ; jmp CEntity__Hit_fix
;0x10015B4E 5 ; убираем фейковый хит из менеджера памяти
;0x101E1189 3 ; sub esp, 50h ; 3 байта
0x101E35EC 4 ; убираем степень двойки иммунитета пси-хита
0x1020616D 5 ; jmp CInventory__Eat_fix ; колбек на предиспользование

0x1019FFA0 5 ; jmp [CEffectorZoomInertion__Process]

;rus_phantom
0x103BFF64 5 ; jmp call_pda_contact_callback
0x103E5C6E 5 ; jmp to xml AdjustHeightToText and AdjustWeigthToText

;использование патронов на поясе
0x10205D71 5
0x1021C266 5
;использование гранат на поясе
;0x10221BFD 5
;0x10221C2C 5
;0x10205F1B 5
;0x10222067 5
;0x10221C58 2
;0x10221B93 5

;слоты
;0x103BA6AD 5 ;CUIInventoryWnd__Init__
;0x103BBD8D 5 ;CUIInventoryWnd__InitInventory__
;0x103BC590 5 ;CUIInventoryWnd__GetSlotList
;0x103BC5E0 5 ;CUIInventoryWnd__ClearAllLists
;0x10204311 5 ;CInventory__Init__ отключение худа слотов
;0x1042AA44 5 ;память под объект CInventory
;0x1042B8A8 5 ;память под объект CInventory
;0x10206C02 3 ;количество слотов в xr_vector_CInventorySlot_xalloc_CInventorySlot____resize
;0x10206C1F 5 ;количество слотов в xr_vector_CInventorySlot_xalloc_CInventorySlot____resize
;0x10206C35 6 ;количество слотов в xr_vector_CInventorySlot_xalloc_CInventorySlot____resize
;0x10206951 6 ;количество слотов в CInventory__SetSlotsBlocked
;0x101C9B80 5 ;учет предмета в шлемовом слоте при расчете хита актору

;включение сетки под броней в инвентаре
;0x103BD9E0 5 ;сетка под броней
;0x103BD592 5 ;сетка под броней

;тень ГГ на R2 (требует также включения в рендере)
0x101C85CF 6 ;jmp CActor__Update_fix
0x101C8948 2

;kstn
;Перекл. на болт + откл/вкл колеса мышки для переключения м/у слотами
;0x101DEEA0 7 ; jmp CActor__OnNextWeaponSlot
;0x101DEF40 7 ; jmp CActor__OnPrevWeaponSlot

;Инверсия колеса мышки для смены оружия
;0x101DE3F2 6 ; CActor__IR_OnMouseWheel
;0x101DE400 6 ; CActor__IR_OnMouseWheel

;Коллбэк актора на выделение предмета в инвентаре
0x103E1B28 5 ; jmp CUIItemInfo__InitItem_EXT_CHUNK

; добавляем метод установки выбранного элемента в CUIListWnd
0x10420423 5 ; jmp CUIListWnd__script_register_fix
; поддержка русского языка в поле ввода
0x103F5F3A 5 ; jmp CUICustomEdit_fix
0x103F4B21 5 ; jmp CUICustomEdit__KeyPressed_fix
0x103F4CCD 5 ; jmp CUICustomEdit__KeyPressed_fix_1
0x103F4CE6 5 ; jmp CUICustomEdit__KeyPressed_fix_2
0x103F4CFF 5 ; jmp CUICustomEdit__KeyPressed_fix_3
0x103F4D15 5 ; jmp CUICustomEdit__KeyPressed_fix_4
0x103F4D60 5 ; jmp CUICustomEdit__KeyPressed_fix_5
0x103F4D79 5 ; jmp CUICustomEdit__KeyPressed_fix_6
0x103F4D47 5 ; jmp CUICustomEdit__KeyPressed_fix_7

;
0x1040B935 5 ; jmp CUITrackBar_fix
0x103D7BC4 5 ; jmp CUIOptionsItem__SaveOptFloatValue_fix

; вырезаем кривой постэффект контролёра
;0x100E15A4 5 ; jmp CController__CController_fix
;0x100E21A6 5 ; jmp CController__Load_fix_lab1
;0x100E2BC4 5 ; вырезаем вызов CControllerAura__update_frame
;0x100E2C21 5 ; вырезаем вызов CControllerAura__update_schedule
;0x100E2C43 5 ; jmp loc_100E2C77
;0x100E2C99 5 ; jmp loc_100E2CCD
;0x1019C4C3 10 ; jmp loc_1019CCFD
;
0x1040EF76 5 ; jmp CUIComboBox_fix
0x1040E540 5 ; jmp CUIComboBox__SaveValue_fix
0x1040DF6A 5 ; jmp loc_1040DFA5 ; исправляеем феерический баг движка

0x103D7C60 5 ; jmp CUIOptionsItem__SaveValue_fix - добавляем свои опции, требующие рестарта видео

;0x103DF607 5 ; jmp no_alternative_keyboard_binding -- убираем столбец дополнительных назначений клавиш
;0x103DF1A6 5 ; jmp no_third_optins_row -- убираем столбец дополнительных назначений клавиш. ч2

;0x10258840 5; jmp CCustomZone__PlayHitParticles ; Коллбек аномалии на хит живого объекта
;0x10258CD1 5; jmp CCustomZone__hit_callback ; Коллбек аномалии на хит неживого объекта

0x102485D4 6; jmp CTorch__Switch_Callback ; Коллбек на переключение фонаря.

0x1006CA0A 5; jmp CALifeStoryRegistry__add_fix ; Исправление вылета при дублировании story id и вывод самого ида в лог.
0x103CADB8 5 ; jmp CUITalkWnd__Hide_fix ; Исправление невыдачи инфопоршня при закрытии окна разговора.

; collide fix (коллизия трупов для ГГ)
0x103917B5 5

; no weapons in car (запрет на использование любого оружия в машине)
0x101CF1DF 5
0x1053E810 4

; first eye cam death (смерть от первого лица)
0x101C748C 10

; test lamps
;0x101F3EEE 5
0x102EA535 5 ; jmp CSE_Abstract__script_register_fix
0x10356433 5 ; jmp xrServer__Process_event_reject_fix // затычка на вылет "по xrServer::Process_event_reject ... e_parent && e_entity"
0x102F3663 5 ; jmp CSE_ALifeObject__script_register_fix

; Вызов коллбека после set_dest_level_vertex_id
0x1014369F 5

;0x10141C60 5 ; jmp CScriptGameObject__Hit_dbg_fix -- фикс для трассировки скриптовых хитов
;0x102340FA 2 ; стреляющий бинокль
;0x10495448 4 ; заменяем информацию бинокля на информацию ствола

;0x1024DCDC 8 ; инерция худа 1
;0x1024DCFA 8 ; инерция худа 2

; =========================================================================================
; ========================= added by Ray Twitty (aka Shadows) =============================
; =========================================================================================
; ====================================== START ============================================
; =========================================================================================
0x103581CE 8 ; phGravity
0x103CC560 2 ; костыль от вылета при юзе предмета из трупа часть 1
0x103CC564 2 ; костыль от вылета при юзе предмета из трупа часть 2
0x103CC56A 5 ; костыль от вылета при юзе предмета из трупа часть 3
0x103F12C5 5 ; jmp cuistatic_fix
0x103BB997 5 ; CUIInventoryWnd__SendEvent_Item_Drop
0x103E0123 5 ; CUICharacterInfo__InitCharacter_fix
0x103E0D97 5 ; CUIWpnParams__Check_fix
;0x103C0D87 5 ; jmp cui_pda_fix_map
;0x103C0E05 5 ; jmp cui_pda_fix_map2
;0x103DBC23 5 ; CUITaskRootItem__OnSwitchDescriptionClicked_fix
;0x103DA737 5 ; CUIEventsWnd__OnFilterChanged_fix
0x101C6D69 5 ; CActor__HitMark_callback
0x1007DC5B 5 ; CBaseMonster__HitEntity_callback
0x104BD2DC 1 ; убираем из лога сообщения "!SV:ge_destroy: [%d] not found on server"
;0x1024DB00 10 ; инерция во время прицеливания из оружия
; =========================================================================================
; ======================================= END =============================================
; =========================================================================================

; by Real Wolf
0x1008F72D 2 ; Исправление вылета f73e xrGame, возникающем при разрушении в аномалии CPhysicDestroyableObject.
0x101DF1D5 5 ; Коллбек (137 для игрока) на посадку в машину.
0x101DF2AA 5 ; Коллбек (139 для игрока) на выход из машины.
0x101DF506 6 ; Коллбек (138 для игрока) на использование (но не посадку\выход) машины. Проверку на дистанцию делать в скриптах.
;0x104A5B84 1 ; Отключение вывода в лог "* Log file has been saved successfully!".
;0x104A5BAC 1 ; Отключение вывода в лог "* Log file has been cleaned successfully!".
0x1048C3C4 1 ; Отключение вывода в лог "Destroying local grenade[%d][%d]".

0x10418330 5 ; Коллбек (136 для игрока) на создание объекта CUICellItem. Передается игровой объект. Статик получать в коллбеке
0x103FAD40 5 ; через подмененную функцию CUIFramWindow():GetTitleStatic()
0x103F0D18 5 ; Коллбек (141 для игрока) на получение фокуса объектом CUICellItem. Использование аналогично приведенному выше.
0x103F0D50 5 ; Коллбек (142 для игрока) на потерю фокуса объектом CUICellItem. Использование аналогично приведенному выше.
0x1006A189 5 ; Коллбек (140 для игрока), вызываемый сразу после сохранения игры.

; Артефакты из инвентаря (рюкзак, слоты, пояс).
;0x101C9A71 6
;0x101C9B6F 3
; Правку "0x101C9B80 5 ;учет предмета в шлемовом слоте при расчете хита актору" НЕ СТОИТ включать,
; поскольку движок при хите сам учтет предметы на классе артефакта, так как теперь он учитывает и слот, и сам рюкзак.
;0x101C9B95 6
;0x101C9C12 3

; Регулирование чувствительности мыши в UI через консольную команду mouse_ui_sens.
0x1044D5A3 6
; =========================================================================================

; замена шейдера прицелов на шейдер hud\scope
;0x10227C07 5
;0x10227D2D 5

; принудительная очистка пула моделей при завершении игры (полезно, чистит память)
0x101A8C9D 2

0x103EDEE6 5 ; jmp CUICustomItem__Render_fix ; фикс для исправления соотношения сторон CUIStatic

 

 

 

Интересно было бы сравнить. У меня shoc 1.0006 от гогов.

Изменено пользователем sto1en

@sto1en, да, правки для ТЧ. Вылет не постоянный.

 

Мой corrections_list.txt (на основе portable версии):

 

 

0x10190492 5 ; jmp global_space_ext ; врезка с инструкцией перехода - 5 байт
0x10149CA2 5 ; jmp global_space_ext2
0x10149D24 5 ; jmp global_space_ext2_additional
0x10155D87 5 ; jmp game_object_fix
0x1014A7CA 5 ; jmp game_object_fix2 ; вторая часть, под свойства

0x101A6E50 5 ; jmp call_key_press_callback
0x101A71F0 5 ; jmp call_key_release_callback
0x101A7330 5 ; jmp call_key_hold_callback
0x101A6CA5 5 ; jmp call_mouse_wheel_callback
0x101DE710 5 ; jmp call_mouse_move_callback
0x10443CED 8 ; предоствращение вылета при невключении ствола в mp_ranks
0x101C6DC0 5 ; jmp CActor_HitSignal_ext
0x10204D75 5 ; jmp on_belt_callback
0x10204F13 5 ; jmp on_ruck_callback
0x10204BCF 5 ; jmp on_slot_callback
0x1004C9AD 5 ; jmp alife_simulator_fix
0x1028E30E 5 ; jmp add_console_commands_fix 
0x102862E0 5 ; jmp inventory_box_fix
0x101AEF0F 5 ; level_ns_extension_1 ; get_target_dist, get_target_obj
0x101AF1C1 8 ; level_ns_extension_2 ; get_target_dist, get_target_obj
0x103561C9 5 ; jmp     addr_103561DD ; skip annoying msg "sv ownership id_parent ..."
0x103561DD 8 ; part2: mov esi,10h; nop; nop; nop;
0x1035646D 5 ; jmp     addr_10356481 ; skip annoying msg "sv reject. id_parent ..."
0x10356481 8 ; part2: mov ebx,10h; nop; nop; nop;
0x10355D85 5 ; jmp addr_10355D9B ; skip annoying msg "sv destroy object ..."
0x103B8DEB 5 ; jmp addr_103B8DFF ; skip annoying msg "[16-9] get_xml_name for ..."
0x1004C3D2 5 ; jmp release_fix
0x101477AF 6 ; отключение проверки при выкидывании из ящиков
0x1026C525 5 ; jmp car_fix
0x10269391 5 ; jmp car_panel_fix ; врезка для управления видимостью панели машины
0x103FB34F 5 ; jmp cuiwindow_fix
0x102C4632 5 ; jmp ctime_fix
0x101398CD 5 ; jmp matrix_fix
0x1045E73C 6 ; фикс имени функции speed

0x10146D00 5 ; jmp disable_info_portion_fix ; убираем лишние действия при выключении уже выключенной инфопорции

0x103BE8C0 5 ; jmp CUITradeWnd__CanMoveToOther_fix ; ручное управление торгуемостью предметов
0x10416E89 5 ; jmp CUIInventoryCellItem__EqualTo_fix ; ручное управление группируемостью предметов

0x104A067C 4 ; замена пустого виртуального метода Projector::Hit на наш

0x104760D4 4 ; CAI_Stalker__IsVisibleForZones
0x10118C50h 5 ; jmp CAI_Stalker__feel_touch_new_fix

0x1021CA22 5 ; jmp UpdateAddonsVisibility_fix
0x1021C632 5 ; jmp UpdateHUDAddonsVisibility_fix


0x101F267F 5 ; jmp CHangingLamp__net_Spawn_fix
0x101E1180 5 ; jmp CEntityAlive__Hit_fix
0x101E35EC 4 ; убираем степень двойки иммунитета пси-хита
0x1020616D 5 ; jmp CInventory__Eat_fix ; колбек на предиспользование

0x1019FFA0 5 ; jmp [CEffectorZoomInertion__Process]

;rus_phantom
0x103BFF64 5 ; jmp call_pda_contact_callback
0x103E5C6E 5 ; jmp to xml AdjustHeightToText and AdjustWeigthToText

;использование патронов на поясе
0x10205D71 5
0x1021C266 5

;тень ГГ на R2 (требует также включения в рендере)
0x101C85CF 6 ;jmp CActor__Update_fix
0x101C8948 2

;kstn
;Перекл. на болт + откл/вкл колеса мышки для переключения м/у слотами
0x101DEEA0 7 ; jmp CActor__OnNextWeaponSlot
0x101DEF40 7 ; jmp CActor__OnPrevWeaponSlot

;Коллбэк актора на выделение предмета в инвентаре
0x103E1B28 5 ; jmp CUIItemInfo__InitItem_EXT_CHUNK

; добавляем метод установки выбранного элемента в CUIListWnd
0x10420423 5 ; jmp CUIListWnd__script_register_fix
; поддержка русского языка в поле ввода
0x103F5F3A 5 ; jmp CUICustomEdit_fix
0x103F4B21 5 ; jmp CUICustomEdit__KeyPressed_fix
0x103F4CCD 5 ; jmp CUICustomEdit__KeyPressed_fix_1
0x103F4CE6 5 ; jmp CUICustomEdit__KeyPressed_fix_2
0x103F4CFF 5 ; jmp CUICustomEdit__KeyPressed_fix_3
0x103F4D15 5 ; jmp CUICustomEdit__KeyPressed_fix_4
0x103F4D60 5 ; jmp CUICustomEdit__KeyPressed_fix_5
0x103F4D79 5 ; jmp CUICustomEdit__KeyPressed_fix_6
0x103F4D47 5 ; jmp CUICustomEdit__KeyPressed_fix_7

0x1040B935 5 ; jmp CUITrackBar_fix
0x103D7BC4 5 ; jmp CUIOptionsItem__SaveOptFloatValue_fix

0x1040EF76 5 ; jmp CUIComboBox_fix
0x1040E540 5 ; jmp CUIComboBox__SaveValue_fix
0x1040DF6A 5 ; jmp loc_1040DFA5 ; исправляеем феерический баг движка

0x103D7C60 5 ; jmp CUIOptionsItem__SaveValue_fix - добавляем свои опции, требующие рестарта видео

0x10258840 5; jmp CCustomZone__PlayHitParticles ; Коллбек аномалии на хит живого объекта
0x10258CD1 5; jmp CCustomZone__hit_callback ; Коллбек аномалии на хит неживого объекта

0x102485D4 6; jmp CTorch__Switch_Callback ; Коллбек на переключение фонаря.

0x1006CA0A 5; jmp CALifeStoryRegistry__add_fix ; Исправление вылета при дублировании story id и вывод самого ида в лог.
0x103CADB8 5; jmp CUITalkWnd__Hide_fix ; Исправление невыдачи инфопоршня при закрытии окна разговора.

; no weapons in car (запрет на использование любого оружия в машине)
0x101CF1DF 5
0x1053E810 4

; test lamps
;0x101F3EEE 5
0x102EA535 5 ; jmp CSE_Abstract__script_register_fix
0x10356433 5 ; jmp xrServer__Process_event_reject_fix // затычка на вылет "по xrServer::Process_event_reject ... e_parent && e_entity"
0x102F3663 5 ; jmp CSE_ALifeObject__script_register_fix

; Вызов коллбека после set_dest_level_vertex_id
0x1014369F 5

; =========================================================================================
; ========================= added by Ray Twitty (aka Shadows) =============================
; =========================================================================================
; ====================================== START ============================================
; =========================================================================================
0x103581CE 8 ; phGravity
0x103CC560 2 ; костыль от вылета при юзе предмета из трупа часть 1
0x103CC564 2 ; костыль от вылета при юзе предмета из трупа часть 2
0x103CC56A 5 ; костыль от вылета при юзе предмета из трупа часть 3
0x103F12C5 5 ; jmp cuistatic_fix
0x103BB997 5 ; CUIInventoryWnd__SendEvent_Item_Drop
0x103E0123 5 ; CUICharacterInfo__InitCharacter_fix
0x103E0D97 5 ; CUIWpnParams__Check_fix
0x101C6D69 5 ; CActor__HitMark_callback
0x1007DC5B 5 ; CBaseMonster__HitEntity_callback
0x104BD2DC 1 ; убираем из лога сообщения "!SV:ge_destroy: [%d] not found on server"
; =========================================================================================
; ======================================= END =============================================
; =========================================================================================

; by Real Wolf
0x1008F72D 2 ; Исправление вылета f73e xrGame, возникающем при разрушении в аномалии CPhysicDestroyableObject.
0x101DF1D5 5 ; Коллбек (137 для игрока) на посадку в машину.
0x101DF2AA 5 ; Коллбек (139 для игрока) на выход из машины.
0x101DF506 6 ; Коллбек (138 для игрока) на использование (но не посадку\выход) машины. Проверку на дистанцию делать в скриптах.
0x104A5B84 1 ; Отключение вывода в лог "* Log file has been saved successfully!".
0x104A5BAC 1 ; Отключение вывода в лог "* Log file has been cleaned successfully!".
0x1048C3C4 1 ; Отключение вывода в лог "Destroying local grenade[%d][%d]".

0x10418330 5 ; Коллбек (136 для игрока) на создание объекта CUICellItem. Передается игровой объект. Статик получать в коллбеке
0x103FAD40 5 ; через подмененную функцию CUIFramWindow():GetTitleStatic()
0x103F0D18 5 ; Коллбек (141 для игрока) на получение фокуса объектом CUICellItem. Использование аналогично приведенному выше.
0x103F0D50 5 ; Коллбек (142 для игрока) на потерю фокуса объектом CUICellItem. Использование аналогично приведенному выше.
0x1006A189 5 ; Коллбек (140 для игрока), вызываемый сразу после сохранения игры.

; =========================================================================================

; принудительная очистка пула моделей при завершении игры (полезно, чистит память)
0x101A8C9D 2

0x103EDEE6 5 ; jmp CUICustomItem__Render_fix ; фикс для исправления соотношения сторон CUIStatic 

 

 

пытаюсь собрать xrGame.dll но ничего не выходит. 

при запуске make_src_dll.cmd вот такие вот ошибки. (masm32 ставил, его папка в корне диска C )

 

 

 

 

"..\tools\ml" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Microsoft ® Incremental Linker Version 5.12.8078
Copyright © Microsoft Corp 1992-1998. All rights reserved.

LINK : fatal error LNK1181: cannot open input file "mydll.obj"
Не удается найти D:\XRE\3312_shoc_10006\mydll.obj
Не удается найти D:\XRE\3312_shoc_10006\mydll.exp
Не удается найти D:\XRE\3312_shoc_10006\mydll.lib
Для продолжения нажмите любую клавишу . . .

 

 

 

сам лог наводит на мысль что в \tools чего то не хватает. Вопрос: чего имено не хватает, и где это достать ?

Не удается найти D:\XRE\3312_shoc_10006\mydll.obj

Не удается найти D:\XRE\3312_shoc_10006\mydll.exp

Не удается найти D:\XRE\3312_shoc_10006\mydll.lib
Изменено пользователем -StalkMen-

@-StalkMen-, причем тут это?
 
@Max_Raf, у тебя не может скомпилировать mydll.obj, как и почему я не знаю. Сам сейчас проверил - все прекрасно компилируется, ты пути в батнике поменял?

менял только make_3312.cmd в корневой папке с файлами

 

вот батник

 

 

 

@echo off
cd 3312_shoc_10006
if exist mydll.obj del mydll.obj
if exist mydll.dll del mydll.dll
if exist mydll.exp del mydll.exp
if exist mydll.lib del mydll.lib
if exist xrGame.dll del xrGame.dll

c:\masm32\bin\ml /c /coff /Fo mydll.obj mydll.asm
c:\masm32\bin\Link /SUBSYSTEM:WINDOWS /DLL /OUT:mydll.dll /DEF:mydll.def mydll.obj
..\tools\bspatch.exe xrGame_orig.dll xrGame.dll xrGame.diff
..\tools\patcher.exe xrGame.dll mydll.dll corrections_list.txt

del /Q mydll.obj
del /Q mydll.dll
del /Q mydll.exp
del /Q mydll.lib
pause

 

 

может у меня с masm32 что то не то.

@Struck, , Ай ладно, мне всего-то нужен xrGame.dll для 1.0006 последней версии. Раз у тебя всё компилится норм, можешь скинуть?

Изменено пользователем Max_Raf

@Max_Raf, в масме ml.exe старой версии, поэтому mydll.obj не компилируется. Замени папку tools на эту http://file.sampo.ru/4654nw/ и замени абсолютный путь в батнике

c:\masm32\bin\ml /c /coff /Fo mydll.obj mydll.asm

на относительный

..\tools\ml /c /coff /Fo mydll.obj mydll.asm

Должно помочь.

Изменено пользователем sto1en
  • Спасибо 1

@sto1en, Спасибо большое, помогло. Скомпилировалось вроде бы нормально.

 

Ловлю правда вылет, загружая поздние сохранки:

 

001B:03C9CECD xrGame.dll

 

или такой:

001B:03CFCECD xrGame.dll

 

Начал новую игру, вроде бы норм всё, уровень загрузился. Видимо конфликт какой старого с новым.

Изменено пользователем Max_Raf

Правка "0x10257BAF 5 ; исправление неотключения света при выключении аномалии" вызывает вылет типа "xrGame.dll [error][     259]    : Дополнительные данные отсутствуют." в некоторых условиях, например при приближении к туннелю с электрами около моста на локации Кордон.

  • Нравится 1

Вопрос к разработчикам.

Можно ли надеяться на появление в X-RAY extensions равноценных слотов под стволы, которые давно реализованы в 1.0007(RC1)? Вместе с кнопками быстрого доступа F1-F4? Очень хотелось бы)

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...