7.9 174 Опубликовано 20 Мая 2011 Я заглядывал как-то... но в "downloads" по прежнему ноябрьская версия. всё легко Поделиться этим сообщением Ссылка на сообщение
7.9 174 Опубликовано 4 Июня 2011 "dll" для SHOC 1006 версии. Правки версии "r15", плюс добавлены "get_target_dist()" и "get_target_obj()". Работает, но пока мало тестированная. Собирал не я. Кого интересуют эти функции - пожалуйста. Есть просьба: погонять другие правки, и если что не так - отписаться. r15plus_xrGame.zip Добавлено через 154 мин.: Плюс к предидущему - исходники: _http://rghost.ru/9370871 всё легко Поделиться этим сообщением Ссылка на сообщение
7.9 174 Опубликовано 3 Октября 2011 А у меня эти "колбеки" и на 1.006 не заработали. всё легко Поделиться этим сообщением Ссылка на сообщение
7.9 174 Опубликовано 12 Марта 2013 (изменено) Вспомнилось, дело старое, и потом - это уже работало; когда патчил r32, set_extensions_flags() не патчился (и сейчас не патчится). В r57 с этим нормально. Изменено 12 Марта 2013 пользователем 7.9 всё легко Поделиться этим сообщением Ссылка на сообщение
7.9 174 Опубликовано 28 Марта 2013 (изменено) Ранее, здесь http://www.amk-team.ru/forum/index.php?showtopic=5525&page=504#entry761950 , писал о ситуации что "не критично", но всё-таки - нужно сопроводить правку set_callback(126...) отключением "смены и активации 0-4 слотов роликом мыши" - сама эта "фича" малоинтересна, а половина полезного эффекта этого колбэка пропадает. Изменено 28 Марта 2013 пользователем 7.9 всё легко Поделиться этим сообщением Ссылка на сообщение
7.9 174 Опубликовано 10 Июня 2013 (изменено) Правка добавляющая "Коллбек на выделение предмета в инвентаре".Используется точно так-же как все остальные коллбеки. Имеет номер 135, передаёт объект. Автор kstn. ~~~~~~~~~~~~~~~~~~~~~~ corrections_list.txt ~~~~~~~~~~~~~~~~~~~~~~ 0x103E1B28 5 ; коллбэк актора на выделение предмета в инвентаре ~~~~~~~~~~~~~~~~~~~~~~ xrgame_stubs.asm ~~~~~~~~~~~~~~~~~~~~~~ org 103E1B28h - shift ; 5 bytes jmp CUIItemInfo__InitItem_EXT_CHUNK org 103E1B2Dh - shift CUIItemInfo__InitItem_EXT_CHUNK_OUT: ~~~~~~~~~~~~~~~~~~~~~~ actor_inventory_callbacks.asm ~~~~~~~~~~~~~~~~~~~~~~ CUIItemInfo__InitItem_EXT_CHUNK proc mov edi, [ebx+0D4h] ; CGameObject *this<edi> call CGameObject__lua_game_object push eax push 135 mov ecx, g_Actor call CGameObject__callback push eax call script_use_callback ; Вырезанное: mov eax, [esi+70h] test eax, eax ; Возврат: jmp CUIItemInfo__InitItem_EXT_CHUNK_OUT CUIItemInfo__InitItem_EXT_CHUNK endp Правка добавляющая в user.ltx параметр "mouse_wheel_slot_changing".Позволяет отключать-включать переключение слотов роликом мыши.Если параметра в файле нет - переключение слотов роликом будет включено, если параметр есть - установится прописанное в нём значение.Отключение-включение через консольную команду: отключить - get_console():execute("mouse_wheel_slot_changing 0") включить - get_console():execute("mouse_wheel_slot_changing 1")Текущий статус, как у всех команд, сохраняется в user.ltx. Плюс: исправлено соответствие направления переключения слотов и направления вращения ролика. Плюс: в переключаемые слоты включён слот "болта". Автор kstn. ~~~~~~~~~~~~~~~~~~~~~~ mydll.asm ~~~~~~~~~~~~~~~~~~~~~~ include mouse_wheel_slot_fix.asm ~~~~~~~~~~~~~~~~~~~~~~ corrections_list.txt ~~~~~~~~~~~~~~~~~~~~~~ ; Перекл. на болт + откл/вкл колеса мышки для переключения м/у слотами 0x101DEEA0 7 ; jmp CActor__OnNextWeaponSlot 0x101DEF40 7 ; jmp CActor__OnPrevWeaponSlot ; Инверсия колеса мышки для смены оружия 0x101DE3F2 6 ; CActor__IR_OnMouseWheel 0x101DE400 6 ; CActor__IR_OnMouseWheel ~~~~~~~~~~~~~~~~~~~~~~ xrgame_stubs.asm ~~~~~~~~~~~~~~~~~~~~~~ ;------------------------------------------------------ ; Переключение на болт вращением колеса мышки ; Отключение/включение колеса мышки для переключения между слотами: ; 0 - нож, ; 1 - пистолет, ; 2 - автомат, ; 3 - граната, ; 4 - бинокль, ; 5 - болт ;------------------------------------------------------ org 101DEEA0h - shift ; 7 bytes jmp CActor__OnNextWeaponSlot nop nop org 101DEF40h - shift ; 7 bytes jmp CActor__OnPrevWeaponSlot nop nop ;------------------------------------------------------ ; Инверсия колеса мышки для смены оружия ;------------------------------------------------------ ; CActor__IR_OnMouseWheel org 101DE3F2h - shift mov eax, [edx+2ACh] ; CActor__IR_OnMouseWheel org 101DE400h - shift mov eax, [edx+2A8h] ~~~~~~~~~~~~~~~~~~~~~~ console_commands_reg_fix.asm ~~~~~~~~~~~~~~~~~~~~~~ ;REGISTER_CC_INT2 g_mt_config, "mt_cnf", 0, 0FFFFFFFFh <- ОРИЕНТИР REGISTER_CC_FLAG g_mouse_wheel_sc, 1h, "mouse_wheel_slot_changing" ;g_ammo_on_belt dd 0 <- ОРИЕНТИР g_mouse_wheel_sc dd 1 и файл mouse_wheel_slot_fix.asm ; unsigned int SlotsToCheck[7] SlotsToCheck dd 0, 1, 2, 3, 4, 5, 0Ah CActor__OnNextWeaponSlot proc push esi cmp g_mouse_wheel_sc, 0 jz loc_101DEF31 mov esi, [ecx+298h] mov edx, [esi+48h] cmp edx, 0FFFFFFFFh jnz short loc_101DEEB9 mov edx, [esi+50h] cmp edx, 0FFFFFFFFh jnz short loc_101DEEB9 xor edx, edx loc_101DEEB9: xor eax, eax jmp short loc_101DEEC0 loc_101DEEC0: cmp SlotsToCheck[eax*4], edx jz short loc_101DEED3 add eax, 1 cmp eax, 7 jb short loc_101DEEC0 pop esi retn loc_101DEED3: cmp eax, 7 jnb short loc_101DEF31 add eax, 1 cmp eax, 7 jnb short loc_101DEF31 mov edx, [esi+38h] jmp short loc_101DEEF0 loc_101DEEF0: mov esi, SlotsToCheck[eax*4] shl esi, 4 cmp dword ptr [esi+edx+4], 0 jnz short loc_101DEF0B add eax, 1 cmp eax, 7 jb short loc_101DEEF0 pop esi retn loc_101DEF0B: add ecx, 238h cmp SlotsToCheck[eax*4], 0Ah jnz short loc_101DEF26 mov eax, [ecx] mov edx, [eax+20h] push 1Eh call edx pop esi retn loc_101DEF26: mov edx, [ecx] add eax, 18h push eax mov eax, [edx+20h] call eax loc_101DEF31: pop esi retn CActor__OnNextWeaponSlot endp CActor__OnPrevWeaponSlot proc push esi cmp g_mouse_wheel_sc, 0 jz loc_101DEFBE mov esi, [ecx+298h] mov edx, [esi+48h] cmp edx, 0FFFFFFFFh jnz short loc_101DEF59 mov edx, [esi+50h] cmp edx, 0FFFFFFFFh jnz short loc_101DEF59 xor edx, edx loc_101DEF59: xor eax, eax jmp short loc_101DEF60 loc_101DEF60: cmp SlotsToCheck[eax*4], edx jz short loc_101DEF73 add eax, 1 cmp eax, 7 jb short loc_101DEF60 pop esi retn loc_101DEF73: cmp eax, 7 jnb short loc_101DEFBE add eax, 0FFFFFFFFh js short loc_101DEFBE mov edx, [esi+38h] loc_101DEF80: mov esi, SlotsToCheck[eax*4] shl esi, 4 cmp dword ptr [esi+edx+4], 0 jnz short loc_101DEF98 sub eax, 1 jns short loc_101DEF80 pop esi retn loc_101DEF98: add ecx, 238h cmp SlotsToCheck[eax*4], 0Ah jnz short loc_101DEFB3 mov eax, [ecx] mov edx, [eax+20h] push 1Eh call edx pop esi retn loc_101DEFB3: mov edx, [ecx] add eax, 18h push eax mov eax, [edx+20h] call eax loc_101DEFBE: pop esi retn CActor__OnPrevWeaponSlot endp ===================================== И ещё, очень большая просьба: "Включите, пожалуйста, комментарии в проекте", конечно, если это не противоречит какой-нибудь стратегии. Изменено 10 Июня 2013 пользователем 7.9 2 всё легко Поделиться этим сообщением Ссылка на сообщение
7.9 174 Опубликовано 13 Марта 2015 (изменено) 1) У Гугла такое уже было с Гугло-группами. 2) Проект себя не изживёт, пока не появится другая (так-же "всем подходящая" и "всем доступная") "исходная основа" - аналог xRay10006 + xRay Extensions. Изменено 13 Марта 2015 пользователем 7.9 всё легко Поделиться этим сообщением Ссылка на сообщение
7.9 174 Опубликовано 24 Июня 2017 (изменено) Всем Приветствую! Сейчас, при чтении экранных xml-конфигов, движок переключается абстрактно -- между "узкими и широкими". Соответственно, для пропорций 5х4 и 16х10 приходится заменять файлы "руками". Нужно что-бы движок сам выбирал правильные конфиги из четырёх вариантов (например, из файлов с окончаниями) 3х4, 5х4, 16х9, 16х10. Конкретно мне такое нужно как "правка движка" для этого проекта. Но в пересобранных движках такое скорее всего то-же потребуется, т.к. переделать отрисовку интерфейса в принципе, скорее всего невозможно. Изменено 24 Июня 2017 пользователем 7.9 1 всё легко Поделиться этим сообщением Ссылка на сообщение
7.9 174 Опубликовано 28 Июня 2017 (изменено) Цитата проект уже по-сути заморожен Проект может и заморожен, но он самый массовый. Поэтому работать "в него" -- продуктивно. "Патченная длл" сейчас норма -- что ни мод, то правленая длл, а исходный движок с этим проектом и блокнотом -- самая используемая среда при разработке модов. Многие из которых мы конечно-же не увидим Что, скорее всего, хорошо. Повторюсь: Цитата Сейчас, при чтении экранных xml-конфигов, движок переключается только между "узкими и широкими". Соответственно, для "высоких" пропорций (5х4 и 16х10) приходится заменять файлы "руками". Нужно что-бы движок сам выбирал правильные конфиги из четырёх вариантов (например, из файлов с окончаниями) 3х4, 5х4, 16х9, 16х10. Значительная часть Сталкеров запускается на высоких мониторах. Соответственно, игроки вместо круглого и квадратного видят "яйца", "кирпичи" и съехавший текст. Надеюсь, что подставлять к именам файлов нужное окончание в зависимости от текущей пропорции экрана не безнадёжно. Изменено 28 Июня 2017 пользователем 7.9 1 всё легко Поделиться этим сообщением Ссылка на сообщение
7.9 174 Опубликовано 29 Июня 2017 (изменено) Поддержу Romann-a. Авторы движков, делая огромную работу, всегда по мелочи залезают туда куда не стоит. А дело тонкое. Одна-две мелочи, и всё -- нету. Почти смешной пример: иконки "ГГ в костюме" в инвентаре нету -- "раз", торговлю не так тронули, и не переделаешь, -- "два", есть и "три", дальше уже чего смотреть... Мелочи, а всё -- не так. Изменено 29 Июня 2017 пользователем 7.9 4 всё легко Поделиться этим сообщением Ссылка на сообщение