abramcumner 1 172 Опубликовано 23 Мая 2011 Вот, готовая пропатченая дллка: А под какую версию игры эта дллка? Вроде все эти плюшки есть только под ЧН, нет? Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 10 Декабря 2011 X-Ray extensions развивается Malandrinus`ом. Он в команде ОГСЕ. Сейчас делают ОГСЕ под ТЧ - идут правки под ТЧ. Перейдут на ЧН - будут правки под ЧН Добавлено через 202 мин.: power-cat, что именно там страшно урезали в плане скриптовых правок? Ну как же: lua_help.script в ЗП на 8кб меньше, чем в ТЧ А так как-то так: + class vector2 - const story_ids::XXX + const callback::action_removed и callback::weapon_no_ammo - const key_bindings::kCAM_4 и key_bindings::kCROUCH_TOGGLE - class game_messages - class game_phases - class game_player_flags + const GAME_TYPE::eGameIDCaptureTheArtefact + const task::additional и task::storyline - const ui_events::INVENTORY_ХХХ и тому подобное + class GameGraph__LEVEL_MAP__value_type + class MEMBERS__value_type + class award_pair_t + class best_scores_pair_t + clsid::XXX + const CSightParams::eSightTypeAnimationDirection + function FS_item::ModifDigitOnly - class RPoint + class Patch_Dawnload_Progress + class rotation + class award_data - class SZoneMapEntityData - class TEX_INFO - class game_PlayerState + class profile + function class action_base::weight - class ZoneMapEntities + class suggest_nicks_cb + class account_profiles_cb + class login_operation_cb + class account_operation_cb + class found_email_cb + class store_operation_cb + function CAI_Bloodsucker::force_visibility_state(number); + function CALifeHumanBrain::can_choose_alife_tasks(boolean); + function CALifeMonsterBrain::can_choose_alife_tasks(boolean); - function alife_simulator::object(const alife_simulator*, string); + CALifeSmartTerrainTask::CALifeSmartTerrainTask (number, number); + class CActor + class CAntirad + class CArtefact + function CXXXArtefact::SwitchVisibility(boolean); + function CXXXArtefact::FollowByPath(string, number, vector); + function CXXXArtefact::GetAfRank() const; + class CBottleItem + function CConsole::execute_deferred(CConsole*, string); + function cover_point::is_smart_cover(const cover_point*); + class CDestroyablePhysicsObject - function CDialogHolder::start_stop_menu(CUIDialogWnd*, boolean); - function CDialogHolder::MainInputReceiver(); + class CPhraseScript + class CExplosiveItem + class CFoodItem + function CGameGraph::levels(const CGameGraph*); ~ class CGameTask сильно переделан. + class CGrenadeLauncher ~ class CHelicopter вроде как расширен значительно + class CInventoryBox + class CLevelChanger - class CKinematicsAnimated + class CMainMenu + class CMedkit + class CPda + class CPhysicObject - class CPhraseScript + class CRadioactiveZone + property cse_abstract::angle; и всем наследникам - function XXX::FillProps(string, class xr_vector<class PropItem *,class xalloc<class PropItem *> >&); + class cse_alife_inventory_box + class cse_alife_item_weapon_auto_shotgun ~ class cse_alife_monster_abstract и наследники + class cse_alife_monster_rat + class cse_smart_cover + const anim::capture_prepare = 1; + property game_object::bleeding + function game_object::active_detector() const; + function game_object::actor_look_at_point(vector); + function game_object::add_animation(string, boolean, vector, vector, boolean); + function game_object::add_combat_sound(string, number, enum ESoundTypes, number, number, number, string); + function game_object::aim_bone_id() const; + function game_object::aim_bone_id(string); + function game_object::aim_time(game_object*); + function game_object::aim_time(game_object*, number); + function game_object::allow_break_talk_dialog(boolean); + function game_object::allow_sprint(boolean); + function game_object::apply_loophole_direction_distance() const; + function game_object::apply_loophole_direction_distance(number); + function game_object::attachable_item_load_attach(string); + function game_object::burer_get_force_gravi_attack(); + function game_object::burer_set_force_gravi_attack(boolean); + function game_object::buy_item_condition_factor(number); + function game_object::can_select_weapon() const; + function game_object::can_select_weapon(boolean); + function game_object::can_throw_grenades() const; + function game_object::can_throw_grenades(boolean); + function game_object::character_icon(); + function game_object::community_goodwill(string); + function game_object::deadbody_can_take(boolean); + function game_object::deadbody_can_take_status(); + function game_object::deadbody_closed(boolean); + function game_object::deadbody_closed_status(); + function game_object::death_sound_enabled() const; + function game_object::death_sound_enabled(boolean); + function game_object::disable_hit_marks() const; + function game_object::disable_hit_marks(boolean); + function game_object::disable_inv_upgrade(); + function game_object::disable_show_hide_sounds(boolean); + function game_object::enable_inv_upgrade(); + function game_object::enable_level_changer(boolean); + function game_object::enable_night_vision(boolean); + function game_object::enable_torch(boolean); + function game_object::find_best_cover(vector); + function game_object::force_set_goodwill(number, game_object*); + function game_object::force_stand_sleep_animation(number); + function game_object::force_visibility_state(number); + function game_object::get_artefact(); + function game_object::get_bone_id(string) const; + function game_object::get_campfire(); - function game_object::get_bleeding() const; + function game_object::get_dest_smart_cover(); + function game_object::get_dest_smart_cover_name(); + function game_object::get_force_anti_aim(); - function game_object::get_info_time(string); + function game_object::get_movement_speed() const; + function game_object::get_physics_object(); + function game_object::get_smart_cover_description() const; + function game_object::get_visibility_state(); + function game_object::get_visual_name() const; + function game_object::give_game_news(string, string, string, number, number); + function game_object::give_game_news(string, string, string, number, number, number); - function game_object::give_game_news(string, string, Frect, number, number); + function game_object::give_talk_message2(string, string, string, string); + function game_object::group_throw_time_interval() const; + function game_object::group_throw_time_interval(number); + function game_object::idle_max_time() const; + function game_object::idle_max_time(number); + function game_object::idle_min_time() const; + function game_object::idle_min_time(number); + function game_object::invulnerable() const; + function game_object::invulnerable(boolean); + function game_object::inv_box_can_take(boolean); + function game_object::inv_box_can_take_status(); + function game_object::inv_box_closed(boolean, string); + function game_object::inv_box_closed_status(); + function game_object::in_current_loophole_fov(vector) const; + function game_object::in_current_loophole_range(vector) const; + function game_object::in_loophole_fov(string, string, vector) const; + function game_object::in_loophole_range(string, string, vector) const; + function game_object::in_smart_cover() const; + function game_object::is_door_locked_for_npc() const; + function game_object::is_inv_upgrade_enabled(); + function game_object::is_level_changer_enabled(); + function game_object::is_there_items_to_pickup() const; + function game_object::iterate_inventory_box(function<void>, object); + function game_object::level_vertex_light(const number&) const; + function game_object::lock_door_for_npc(); + function game_object::lookout_max_time() const; + function game_object::lookout_max_time(number); + function game_object::lookout_min_time() const; + function game_object::lookout_min_time(number); + function game_object::make_item_active(game_object*); + function game_object::movement_target_reached(); + function game_object::night_vision_enabled() const; + function game_object::on_door_is_closed(); + function game_object::on_door_is_open(); + function game_object::poltergeist_get_actor_ignore(); + function game_object::poltergeist_set_actor_ignore(boolean); + function game_object::register_door_for_npc(); + function game_object::register_in_combat(); + function game_object::release_stand_sleep_animation(); ~ function game_object::run_talk_dialog(game_object*, boolean); + function game_object::set_active_task(CGameTask*); + function game_object::set_capture_anim(game_object*, string, const vector&, number); + function game_object::set_collision_off(boolean); + function game_object::set_community_goodwill(string, number); - function game_object::set_character_reputation(number); + function game_object::set_dest_game_vertex_id(number); + function game_object::set_dest_loophole(); + function game_object::set_dest_loophole(string); + function game_object::set_dest_smart_cover(); + function game_object::set_dest_smart_cover(string); + function game_object::set_enemy(game_object*); + function game_object::set_force_anti_aim(boolean); + function game_object::set_home(number, number, number, boolean, number); + function game_object::set_level_changer_invitation(string); + function game_object::set_movement_selection_type(enum ESelectionType); + function game_object::set_npc_position(vector); + function game_object::set_smart_cover_target(); + function game_object::set_smart_cover_target(game_object*); + function game_object::set_smart_cover_target(vector); + function game_object::set_smart_cover_target_default(boolean); + function game_object::set_smart_cover_target_fire(); + function game_object::set_smart_cover_target_fire_no_lookout(); + function game_object::set_smart_cover_target_idle(); + function game_object::set_smart_cover_target_lookout(); + function game_object::set_smart_cover_target_selector(); + function game_object::set_smart_cover_target_selector(function<void>); + function game_object::set_smart_cover_target_selector(function<void>, object); + function game_object::set_sympathy(number); + function game_object::set_visual_memory_enabled(boolean); + function game_object::set_visual_name(string); + function game_object::set_vis_state(number); + function game_object::sniper_fire_mode() const; + function game_object::sniper_fire_mode(boolean); + function game_object::sniper_update_rate() const; + function game_object::sniper_update_rate(boolean); + function game_object::special_danger_move(); + function game_object::special_danger_move(boolean); + function game_object::start_particles(string, string); + function game_object::stop_particles(string, string); + function game_object::suitable_smart_cover(game_object*); + function game_object::switch_to_upgrade(); + function game_object::sympathy(); + function game_object::take_items_enabled() const; + function game_object::take_items_enabled(boolean); + function game_object::torch_enabled() const; + function game_object::unlock_door_for_npc(); + function game_object::unregister_door_for_npc(); + function game_object::unregister_in_combat(); + function game_object::use_smart_covers_only() const; + function game_object::use_smart_covers_only(boolean); + function game_object::weapon_grenadelauncher_status(); + function game_object::weapon_is_grenadelauncher(); + function game_object::weapon_is_scope(); + function game_object::weapon_is_silencer(); + function game_object::weapon_scope_status(); + function game_object::weapon_silencer_status(); + const hit::light_burn = 11; + const move::run_with_leader = 7; + const move::walk_with_leader = 6; + function sound_object::attach_tail(string); + function CScriptXmlInit::InitSleepStatic(string, CUIWindow*); + function CScriptXmlInit::InitTextWnd(string, CUIWindow*); + function CScriptXmlInit::InitProgressBar(string, CUIWindow*); + function CScriptXmlInit::InitListBox(string, CUIWindow*); + function CScriptXmlInit::InitMPPlayerName(string, CUIWindow*); - function CScriptXmlInit::InitList(string, CUIWindow*); - function CScriptXmlInit::ParseShTexInfo(string); - function CScriptXmlInit::InitLabel(string, CUIWindow*); - function CScriptXmlInit::InitAutoStaticGroup(string, CUIWindow*); - function CScriptXmlInit::InitButton(string, CUIWindow*); + class CSilencer + const stalker_ids::sound_enemy_lost_no_allies = 12; + const stalker_ids::sound_enemy_lost_with_allies = 13; + const stalker_ids::sound_wounded = 18; + class CTorridZone - class CUICaption + class CWeaponAmmo + class CWeaponAutomaticShotgun + class CZoneCampfire + class FactionState - class IKinematicsAnimated - class SGameTaskObjective + class smart_cover_object + class profile_store + function cast_planner(action_base*); + function IsDynamicMusic(); + function IsGameTypeSingle(); + function IsImportantSave(); + function render_get_dx_level(); + function valid_saved_game(string); - function cast_action_to_planner(action_base*); - function cast_alife_object_to_creature(cse_alife_object*); - function cast_alife_object_to_trader_abstract(cse_alife_object*); - function cast_planner_to_action(action_planner*); - function GetTextureInfo(string, string); - function GetTextureName(string); - function GetTextureRect(string); - function xrRender_test_r2_hw(); + function level.change_game_time(number, number, number); + function level.get_wfx_time(); + function level.hide_indicators_safe(); + function level.high_cover_in_direction(number, const vector&); + function level.low_cover_in_direction(number, const vector&); + function level.show_weapon(boolean); + function level.start_weather_fx_from_time(string, number); + function level.stop_weather_fx(); + function level.vertex_id(vector); - function level.cover_in_direction(number, const vector&); - function level.main_input_receiver(); - function level.start_stop_menu(CUIDialogWnd*, boolean); Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 12 Января 2012 Geoset, из папки bin masm32 скопируй в папку tools проекта ml.exe Добавлено через 58 мин.: abramcumner, ну и можно перейти на сборку в той же студии. Что-то типа такого: http://narod.ru/disk/37410961001/xray-extensions.7z.html Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 9 Февраля 2012 Shadows, нормального метода типа set_max_weight не будет, если только сам не сделаешь. На каждый чих методов не наделаешь. Malandrinus возможно сделает чтение/запись по абсолютному адресу, но и тогда придется за Х действий добираться до нужного значения Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 2 Мая 2012 И все-таки просчет и рисование дождя идет в экзешнике. Максимальный угол наклона капель кстати 10 градусов и не менялся во всех играх серии. Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 27 Июня 2013 0023:04300515 xrRender_R2.dll 0023:04F30515 xrRender_R2.dll то есть вылет в одном месте А различающиеся цифирки - работа Address Space Load Randomization Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 27 Июня 2013 @Earth2Space, "правильное положение солнца" - это по идее правильной длины тени. Проверь тени утром или вечером. 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 7 Января 2014 У кого-нибудь ещё вылетает при смерти ГГ в автомобиле, на ЗП? У всех вылетает. А после сейва/загрузки управление инвертируется Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 8 Марта 2014 До сих пор не поправили?? Там же просто имя метки в двух местах поменять. K.D., я же месяца два назад тебе про эту шнягу говорил в аське?..Лучше в одном поменять, пост чуть ниже в ссылке macron`а на ГМ. Метки в процедурах нормальные. Ненормальная метка вне процедуры - проект так устроен, что она стала глобальной. А так, я бы перевел наоборот все в солюшен для VS: там и свежие masm`ы и дллки все уже установлены, патчинг засовывается в post build event и точно также собирается одной кнопкой. Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 27 Апреля 2014 @Streels, попробуй сборку из этого поста: http://www.amk-team.ru/forum/index.php?showtopic=10538&page=31#entry831341 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 20 Мая 2014 Кто автор этой правки? Подписывались бы в asm файлах...svn blame все расскажет Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 2 Февраля 2015 1. Нет единого и принятого всеми собираемого проекта движка. Т.е. проекты то есть, но вот "единого и принятого всеми" пока нету.И не нужен. Каждый ведет свой проект. Понравилась фишка - вытаскиваешь к себе из другого проекта. Что в итоге, учитывая уже иные реалии модостроя, приведёт к стагнации проекта (вы просто не дозовётесь никого, чтобы внести даже самую мелкую правку).Это уже давно обдумано. Потерялись авторы - делаешь форк и спокойно вносишь свою правку. Если авторы появятся и захотят, заберут правку обратно. 2 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 2 Февраля 2015 @Andrey07071977, неа. Вроде как надо убрать в коде ограничение на виртуальный радиус ламп(можно в xp-dev поискать коммит по этому ключевому слову), и в модели перенести источник света внутрь лампы. Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 11 Февраля 2015 @Malandrinus, а вы не записываете изменения в описание ревизии?Конечно записывают. Malandrinus и предлагал почитать описания ревизий: надо открыть лог и найти там нужную правку @abramcumner, если так подумать, то самом деле вообще не верится в силу сообщества в данном случае.А зачем верить, надо брать и делать самому. Как делали xray-tools, xray-extensions, да и просто моды. А народ подтянется. Но только под конкретный проект. Всё иное обречено на заведомый провал.Конечно, проект первичен. От него и надо плясать - нужны ли правки движка, какие если нужны. Единственное, что вся разработка должны быть открыта - так и прогресс виден и люди всякого не навыдумывают. Такое у меня сейчас ощущение 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 13 Марта 2015 Там же есть кнопка "Export to Github". Уже нажимали на нее? Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 2 Апреля 2015 2)правка теней от травы для ЗП доведена до ума?Выясни. 4)можно ли шейдэр тесселяции прилепить к материалу стены или к другим статическим объектам или это без работы топором по движку не получится?? Выясни. Чем так привлекателен движок ТЧ что с него до сих пор не слезут? ЗП же с Дайректиксом 11 и шейдермоделями поновееПо историческим причинам на ТЧ больше модов/наработок. Ну и для ТЧ практически всегда найдется человек, который уже это делал. А на ЗП придется самому выяснять 2 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 1 Июня 2015 @Struck,с кучей синтаксических ошибок, но собираем.Да, с++ в студиях все стандартнее и стандартнее. Ошибки правятся за 5 минут. 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 11 Февраля 2017 @Space.Marine, https://www.gameru.net/forum/index.php?s=&showtopic=57844&view=findpost&p=1560952Этот совсем глючный. А более новые просто глючные, для модов их использовать нельзя. 1 Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 16 Апреля 2017 @НаноБот, присмотрись к Microsoft Detours. Мегаудобное средство для подключения своего кода к исполняемым файлам. Поделиться этим сообщением Ссылка на сообщение
abramcumner 1 172 Опубликовано 16 Июля 2017 (изменено) тебе малиновые штаны не жмут случаем? На что ты в той ссылке предлагаешь посмотреть? На "Page not found" github-а или на "Nothing found" яндекса? на проект в стиле x-ray extensions Ради нас же старается - закрыл проект, чтобы головку при чтении не сломали. И эта дичь ведь на полном серьезе пишется. Изменено 16 Июля 2017 пользователем abramcumner 1 1 Поделиться этим сообщением Ссылка на сообщение