Expropriator 2 119 Опубликовано 29 Декабря 2016 Поделиться Опубликовано 29 Декабря 2016 (изменено) В чем проблема базовой брони или базового ХУДА РУК модели ГГ без брони в ЗП - я наблюдаю баг с гранатами. Анимации клинят, на гранату вешается анимка в частности пистолета, при отсутствии брони в слоте. А потом вообще невозможно гранаты сменить на другое оружие. Как исправить? Изменено 30 Декабря 2016 пользователем Дизель Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1057305
aka_sektor 1 478 Опубликовано 29 Декабря 2016 Поделиться Опубликовано 29 Декабря 2016 @Дизель, эт в оригинале так? Запиши видео с багом. - Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1057307
Expropriator 2 119 Опубликовано 30 Декабря 2016 Поделиться Опубликовано 30 Декабря 2016 @aka_sektor, в оригинале всё нормально. Я пока не понял причину, так как у меня движок с видами правлен, да худ новый. Пока вероятно, что у меня худ рук баговый, так как на оригинальных худах, вроде всё в порядке. Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1057345
Kondr48 314 Опубликовано 31 Декабря 2016 Поделиться Опубликовано 31 Декабря 2016 Кто нибудь в курсе про баги с солнцем в ТЧ? Почему-то в старых фиксах, там заставку запускали, чтоб оно появилась. Краем уха что-то слышал про какой-то движковый баг, что оно мол пропадает и все такое. Как лечить и где копать? Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1057732
Expropriator 2 119 Опубликовано 31 Декабря 2016 Поделиться Опубликовано 31 Декабря 2016 @Kondr48, может про луну? Солнце вроде в Сталкере не пропадает... Если пропадает, то возможно нет апдаты или апдейта погоды в скриптах на ГГ? Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1057734
Kondr48 314 Опубликовано 31 Декабря 2016 Поделиться Опубликовано 31 Декабря 2016 Дизель, ну луна точно пропадала, насчет солнца уверенности нету) Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1057742
slim_shady 18 Опубликовано 1 Января 2017 Поделиться Опубликовано 1 Января 2017 Whats wrong? I'm trying to port CoP weather system into SoC engine. How to port this shit? Spasiba my friends! Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1057896
Kondr48 314 Опубликовано 1 Января 2017 Поделиться Опубликовано 1 Января 2017 (изменено) DDamian724, try this (попробуй так): sun_dir.setHP( deg2rad(pSettings->r_float (S,"sun_altitude")), deg2rad(pSettings->r_float (S,"sun_longitude")) ); I have it working (у меня это работает). Изменено 1 Января 2017 пользователем Kondr48 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1057900
slim_shady 18 Опубликовано 1 Января 2017 Поделиться Опубликовано 1 Января 2017 Also, maybe you have working CoP weather system in ShoC? Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1057901
Kondr48 314 Опубликовано 1 Января 2017 Поделиться Опубликовано 1 Января 2017 (изменено) Yes, I work in the engine SHoC weather system from CoP (Да, у меня в движке ТЧ система погоды из ЗП). [sect_af3_bright_clear_0] 00:00:00 = af3_bright_clear_0_00 01:00:00 = af3_bright_clear_0_01 02:00:00 = af3_bright_clear_0_02 03:00:00 = af3_bright_clear_0_03 04:00:00 = af3_bright_clear_0_04 04:30:00 = af3_day_clear_00 05:00:00 = af3_day_clear_01 05:30:00 = af3_day_clear_02 06:00:00 = af3_day_clear_03 06:10:00 = af3_day_clear_04 07:00:00 = af3_day_clear_05 08:00:00 = af3_day_clear_06 09:00:00 = af3_day_clear_07 10:00:00 = af3_day_clear_08 11:00:00 = af3_day_clear_09 12:00:00 = af3_day_clear_10 13:00:00 = af3_day_clear_11 14:00:00 = af3_day_clear_12 15:00:00 = af3_day_clear_13 16:00:00 = af3_day_clear_14 17:00:00 = af3_day_clear_15 18:00:00 = af3_day_clear_16 19:00:00 = af3_day_clear_17 19:50:00 = af3_day_clear_18 20:00:00 = af3_day_clear_19 20:30:00 = af3_day_clear_20 21:00:00 = af3_day_clear_21 21:30:00 = af3_day_clear_22 22:00:00 = af3_bright_clear_0_05 23:00:00 = af3_bright_clear_0_06 [af3_bright_clear_0_00] ambient = ambient_env_night ambient_color = 0.007813, 0.007813, 0.007813 clouds_color = 0.000000, 0.000000, 0.000000, 1.000000 clouds_texture = sky\sky_oblaka far_plane = 1000.000000 fog_color = 0.007813, 0.007813, 0.007813 fog_density = 1.000000 fog_distance = 1000.000000 hemisphere_color = 0.574219, 0.621094, 0.726563, 1.000000 rain_color = 0.679688, 0.640625, 0.601563 rain_density = 0.000000 sky_texture = sky\af3_clear\00-00-nm sky_color = 0.378906, 0.378906, 0.378906 sky_rotation = 0.000000 sun = none sun_color = 0.000000, 0.000000, 0.000000 sun_longitude = -26.543000 sun_altitude = 14.870000 sun_shafts_intensity = 0.000000 thunderbolt_collection = thunderbolt_duration = 0.000000 thunderbolt_period = 0.000000 water_intensity = 0.100000 wind_direction = 0.000000 wind_velocity = 0.000000 Part config, where the clock and associated sections, I left as in the original, I feel so comfortable. (Часть конфига, где связаны часы и секции сделаны как и в ТЧ, мне лично так удобнее.) Изменено 1 Января 2017 пользователем Kondr48 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1057904
slim_shady 18 Опубликовано 1 Января 2017 Поделиться Опубликовано 1 Января 2017 I know it but i mean "engine part" with CoP system. Can you upload your weather system? I dont know how to FULL port of CoP system into my source code. Thank you Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1057905
Kondr48 314 Опубликовано 1 Января 2017 Поделиться Опубликовано 1 Января 2017 (изменено) DDamian724, Yes, here my source code (да, вот файл из исходников): #include "stdafx.h" #pragma hdrstop #include "Environment.h" #include "xr_efflensflare.h" #include "thunderbolt.h" #include "rain.h" #include "resourcemanager.h" //----------------------------------------------------------------------------- // Environment modifier //----------------------------------------------------------------------------- bool CEnvModifier::load (IReader* fs) { // Проверка на корректность файла. Real Wolf. if (fs->tell() + 76 > fs->length()) return false; fs->r_fvector3 (position); // 4*3=12 radius = fs->r_float (); // 4 power = fs->r_float (); // 4 far_plane = fs->r_float (); // 4 fs->r_fvector3 (fog_color); // 4*3=12 fog_density = fs->r_float (); // 4 fs->r_fvector3 (ambient); // 4*3=12 fs->r_fvector3 (sky_color); // 4*3=12 fs->r_fvector3 (hemi_color); // 4*3=12 return true; } float CEnvModifier::sum (CEnvModifier& M, Fvector3& view) { float _dist_sq = view.distance_to_sqr(M.position); if (_dist_sq>=(M.radius*M.radius)) return 0; float _att = 1-_sqrt(_dist_sq)/M.radius; //[0..1]; float _power = M.power*_att; far_plane += M.far_plane*_power; fog_color.mad (M.fog_color,_power); fog_density += M.fog_density*_power; ambient.mad (M.ambient,_power); // lmap_color.mad (M.lmap_color,_power); sky_color.mad (M.sky_color,_power); hemi_color.mad (M.hemi_color,_power); return _power; } //----------------------------------------------------------------------------- // Environment ambient //----------------------------------------------------------------------------- void CEnvAmbient::load(const shared_str& sect) { section = sect; string_path tmp; // sounds if (pSettings->line_exist(sect,"sounds")){ Fvector2 t = pSettings->r_fvector2 (sect,"sound_period"); sound_period.set(iFloor(t.x*1000.f),iFloor(t.y*1000.f)); sound_dist = pSettings->r_fvector2 (sect,"sound_dist"); if (sound_dist[0]>sound_dist[1]) std::swap(sound_dist[0],sound_dist[1]); LPCSTR snds = pSettings->r_string (sect,"sounds"); u32 cnt = _GetItemCount(snds); if (cnt){ sounds.resize(cnt); for (u32 k=0; k<cnt; ++k) sounds[k].create(_GetItem(snds,k,tmp),st_Effect,sg_SourceType); } } // effects if (pSettings->line_exist(sect,"effects")){ Fvector2 t = pSettings->r_fvector2 (sect,"effect_period"); effect_period.set(iFloor(t.x*1000.f),iFloor(t.y*1000.f)); LPCSTR effs = pSettings->r_string (sect,"effects"); u32 cnt = _GetItemCount(effs); if (cnt){ effects.resize(cnt); for (u32 k=0; k<cnt; ++k){ _GetItem(effs,k,tmp); effects[k].life_time = iFloor(pSettings->r_float(tmp,"life_time")*1000.f); effects[k].particles = pSettings->r_string (tmp,"particles"); VERIFY(effects[k].particles.size()); effects[k].offset = pSettings->r_fvector3 (tmp,"offset"); effects[k].wind_gust_factor = pSettings->r_float (tmp,"wind_gust_factor"); if (pSettings->line_exist(tmp,"sound")) effects[k].sound.create (pSettings->r_string(tmp,"sound"),st_Effect,sg_SourceType); } } } #ifndef DEBUG VERIFY(!sounds.empty() || !effects.empty()); #endif } //----------------------------------------------------------------------------- // Environment descriptor //----------------------------------------------------------------------------- CEnvDescriptor::CEnvDescriptor() { exec_time = 0.0f; exec_time_loaded = 0.0f; clouds_color.set (1,1,1,1); sky_color.set (1,1,1); sky_rotation = 0.0f; far_plane = 400.0f;; fog_color.set (1,1,1); fog_density = 0.0f; fog_distance = 400.0f; rain_density = 0.0f; rain_color.set (0,0,0); bolt_period = 0.0f; bolt_duration = 0.0f; wind_velocity = 0.0f; wind_direction = 0.0f; ambient.set (0,0,0); hemi_color.set (1,1,1,1); sun_color.set (1,1,1); sun_dir.set (0,-1,0); m_fSunShaftsIntensity = 0; m_fWaterIntensity = 1; //m_fColorGrading.set (0,0,0); lens_flare_id = -1; tb_id = -1; env_ambient = NULL; } #define C_CHECK(C) if (C.x<0 || C.x>2 || C.y<0 || C.y>2 || C.z<0 || C.z>2) { Msg("! Invalid '%s' in env-section '%s'",#C,S);} void CEnvDescriptor::load (LPCSTR exec_tm, LPCSTR S, CEnvironment* parent) { Ivector3 tm ={0,0,0}; sscanf (exec_tm,"%d:%d:%d",&tm.x,&tm.y,&tm.z); R_ASSERT3 ((tm.x>=0)&&(tm.x<24)&&(tm.y>=0)&&(tm.y<60)&&(tm.z>=0)&&(tm.z<60),"Incorrect weather time",S); exec_time = tm.x*3600.f+tm.y*60.f+tm.z; exec_time_loaded = exec_time; string_path st,st_env; strcpy_s (st,pSettings->r_string (S,"sky_texture")); strconcat (sizeof(st_env),st_env,st,"#small" ); sky_texture_name = st; sky_texture_env_name = st_env; clouds_texture_name = pSettings->r_string (S,"clouds_texture"); LPCSTR cldclr = pSettings->r_string (S,"clouds_color"); float multiplier = 0, save=0; sscanf (cldclr,"%f,%f,%f,%f,%f",&clouds_color.x,&clouds_color.y,&clouds_color.z,&clouds_color.w,&multiplier); save=clouds_color.w; clouds_color.mul (.5f*multiplier); clouds_color.w = save; sky_color = pSettings->r_fvector3 (S,"sky_color"); sky_color.mul(.5f); if (pSettings->line_exist(S,"sky_rotation")) sky_rotation = deg2rad(pSettings->r_float(S,"sky_rotation")); else sky_rotation = 0; far_plane = pSettings->r_float (S,"far_plane"); fog_color = pSettings->r_fvector3 (S,"fog_color"); fog_density = pSettings->r_float (S,"fog_density"); fog_distance = pSettings->r_float (S,"fog_distance"); rain_density = pSettings->r_float (S,"rain_density"); clamp(rain_density,0.f,1.f); rain_color = pSettings->r_fvector3 (S,"rain_color"); wind_velocity = pSettings->r_float (S,"wind_velocity"); wind_direction = deg2rad(pSettings->r_float(S,"wind_direction")); ambient = pSettings->r_fvector3 (S,"ambient"); hemi_color = pSettings->r_fvector4 (S,"hemisphere_color"); sun_color = pSettings->r_fvector3 (S,"sun_color"); sun_dir.setHP( deg2rad(pSettings->r_float (S,"sun_altitude")), deg2rad(pSettings->r_float (S,"sun_longitude")) ); R_ASSERT(_valid(sun_dir)); VERIFY2(sun_dir.y < 0, "Invalid sun direction settings while loading"); lens_flare_id = parent->eff_LensFlare->AppendDef(pSettings,pSettings->r_string(S,"sun")); tb_id = parent->eff_Thunderbolt->AppendDef(pSettings,pSettings->r_string(S,"thunderbolt_collection")); bolt_period = (tb_id>=0)?pSettings->r_float (S,"thunderbolt_period"):0.f; bolt_duration = (tb_id>=0)?pSettings->r_float (S,"thunderbolt_duration"):0.f; env_ambient = pSettings->line_exist(S,"env_ambient")?parent->AppendEnvAmb (pSettings->r_string(S,"env_ambient")):0; if (pSettings->line_exist(S,"sun_shafts_intensity")) m_fSunShaftsIntensity = pSettings->r_float (S,"sun_shafts_intensity"); if (pSettings->line_exist(S,"water_intensity")) m_fWaterIntensity = pSettings->r_float (S,"water_intensity"); /*if (pSettings->line_exist(S,"color_grading")) m_fColorGrading = pSettings->r_fvector3 (S,"color_grading");*/ C_CHECK (clouds_color); C_CHECK (sky_color ); C_CHECK (fog_color ); C_CHECK (rain_color ); C_CHECK (ambient ); // C_CHECK (lmap_color ); C_CHECK (hemi_color ); C_CHECK (sun_color ); on_device_create (); } void CEnvDescriptor::on_device_create () { if (sky_texture_name.size()) sky_texture.create (sky_texture_name.c_str()); if (sky_texture_env_name.size())sky_texture_env.create (sky_texture_env_name.c_str()); if (clouds_texture_name.size()) clouds_texture.create (clouds_texture_name.c_str()); } void CEnvDescriptor::on_device_destroy () { sky_texture.destroy (); sky_texture_env.destroy (); clouds_texture.destroy (); } //----------------------------------------------------------------------------- // Environment Mixer //----------------------------------------------------------------------------- void CEnvDescriptorMixer::destroy() { sky_r_textures.clear (); sky_r_textures_env.clear (); clouds_r_textures.clear (); sky_texture.destroy (); sky_texture_env.destroy (); clouds_texture.destroy (); } void CEnvDescriptorMixer::clear () { std::pair<u32,ref_texture> zero = mk_pair(u32(0),ref_texture(0)); sky_r_textures.clear (); sky_r_textures.push_back (zero); sky_r_textures.push_back (zero); sky_r_textures.push_back (zero); sky_r_textures_env.clear (); sky_r_textures_env.push_back(zero); sky_r_textures_env.push_back(zero); sky_r_textures_env.push_back(zero); clouds_r_textures.clear (); clouds_r_textures.push_back (zero); clouds_r_textures.push_back (zero); clouds_r_textures.push_back (zero); } int get_ref_count(IUnknown* ii); void CEnvDescriptorMixer::lerp (CEnvironment* , CEnvDescriptor& A, CEnvDescriptor& B, float f, CEnvModifier& M, float m_power) { float _power = 1.f/(m_power+1); // the environment itself float fi = 1-f; sky_r_textures.clear (); sky_r_textures.push_back (mk_pair(0,A.sky_texture)); sky_r_textures.push_back (mk_pair(1,B.sky_texture)); sky_r_textures_env.clear (); sky_r_textures_env.push_back(mk_pair(0,A.sky_texture_env)); sky_r_textures_env.push_back(mk_pair(1,B.sky_texture_env)); clouds_r_textures.clear (); clouds_r_textures.push_back (mk_pair(0,A.clouds_texture)); clouds_r_textures.push_back (mk_pair(1,B.clouds_texture)); weight = f; clouds_color.lerp (A.clouds_color,B.clouds_color,f); sky_rotation = (fi*A.sky_rotation + f*B.sky_rotation); far_plane = (fi*A.far_plane + f*B.far_plane + M.far_plane)*psVisDistance*_power; fog_color.lerp (A.fog_color,B.fog_color,f).add(M.fog_color).mul(_power); fog_density = (fi*A.fog_density + f*B.fog_density + M.fog_density)*_power; fog_distance = (fi*A.fog_distance + f*B.fog_distance); fog_near = (1.0f - fog_density)*0.85f * fog_distance; fog_far = 0.99f * fog_distance; rain_density = fi*A.rain_density + f*B.rain_density; rain_color.lerp (A.rain_color,B.rain_color,f); bolt_period = fi*A.bolt_period + f*B.bolt_period; bolt_duration = fi*A.bolt_duration + f*B.bolt_duration; // wind wind_velocity = fi*A.wind_velocity + f*B.wind_velocity; wind_direction = fi*A.wind_direction + f*B.wind_direction; m_fSunShaftsIntensity = fi*A.m_fSunShaftsIntensity + f*B.m_fSunShaftsIntensity; m_fWaterIntensity = fi*A.m_fWaterIntensity + f*B.m_fWaterIntensity; //m_fColorGrading.lerp (A.m_fColorGrading,B.m_fColorGrading,f); // colors sky_color.lerp (A.sky_color,B.sky_color,f).add(M.sky_color).mul(_power); ambient.lerp (A.ambient,B.ambient,f).add(M.ambient).mul(_power); hemi_color.lerp (A.hemi_color,B.hemi_color,f); hemi_color.x += M.hemi_color.x; hemi_color.y += M.hemi_color.y; hemi_color.z += M.hemi_color.z; hemi_color.x *= _power; hemi_color.y *= _power; hemi_color.z *= _power; sun_color.lerp (A.sun_color,B.sun_color,f); sun_dir.lerp (A.sun_dir,B.sun_dir,f).normalize(); VERIFY2 (sun_dir.y<0,"Invalid sun direction settings while lerp"); } //----------------------------------------------------------------------------- // Environment IO //----------------------------------------------------------------------------- CEnvAmbient* CEnvironment::AppendEnvAmb (const shared_str& sect) { for (EnvAmbVecIt it=Ambients.begin(); it!=Ambients.end(); it++) if ((*it)->name().equal(sect)) return *it; Ambients.push_back (xr_new<CEnvAmbient>()); Ambients.back()->load (sect); return Ambients.back(); } void CEnvironment::mods_load () { Modifiers.clear_and_free (); string_path path; if (FS.exist(path,"$level$","level.env_mod")) { IReader* fs = FS.r_open (path); u32 id = 0; while (fs->find_chunk(id)) { CEnvModifier E; // Надо обязательно проверять, что файл корректный, даже если чанк был найден. Real Wolf. if (!E.load(fs)) break; Modifiers.push_back (E); id ++; } FS.r_close (fs); } } void CEnvironment::mods_unload () { Modifiers.clear_and_free (); } void CEnvironment::load () { tonemap = Device.Resources->_CreateTexture("$user$tonemap"); //. hack if (!eff_Rain) eff_Rain = xr_new<CEffect_Rain>(); if (!eff_LensFlare) eff_LensFlare = xr_new<CLensFlare>(); if (!eff_Thunderbolt) eff_Thunderbolt = xr_new<CEffect_Thunderbolt>(); // load weathers if (WeatherCycles.empty()){ LPCSTR first_weather=0; int weather_count = pSettings->line_count("weathers"); for (int w_idx=0; w_idx<weather_count; w_idx++){ LPCSTR weather, sect_w; if (pSettings->r_line("weathers",w_idx,&weather,§_w)){ if (0==first_weather) first_weather=weather; int env_count = pSettings->line_count(sect_w); LPCSTR exec_tm, sect_e; for (int env_idx=0; env_idx<env_count; env_idx++){ if (pSettings->r_line(sect_w,env_idx,&exec_tm,§_e)){ CEnvDescriptor* D=xr_new<CEnvDescriptor>(); D->load (exec_tm,sect_e,this); WeatherCycles[weather].push_back (D); #ifdef DEBUG D->sect_name = sect_e; #endif } } } } // sorting weather envs EnvsMapIt _I=WeatherCycles.begin(); EnvsMapIt _E=WeatherCycles.end(); for (; _I!=_E; _I++){ R_ASSERT3 (_I->second.size()>1,"Environment in weather must >=2",*_I->first); std::sort(_I->second.begin(),_I->second.end(),sort_env_etl_pred); } R_ASSERT2 (!WeatherCycles.empty(),"Empty weathers."); SetWeather (first_weather); } // load weather effects if (WeatherFXs.empty()){ int line_count = pSettings->line_count("weather_effects"); for (int w_idx=0; w_idx<line_count; w_idx++){ LPCSTR weather, sect_w; if (pSettings->r_line("weather_effects",w_idx,&weather,§_w)){ EnvVec& env = WeatherFXs[weather]; env.push_back (xr_new<CEnvDescriptor>()); env.back()->exec_time_loaded = 0; env.push_back (xr_new<CEnvDescriptor>()); env.back()->exec_time_loaded = 0; int env_count = pSettings->line_count(sect_w); LPCSTR exec_tm, sect_e; for (int env_idx=0; env_idx<env_count; env_idx++){ if (pSettings->r_line(sect_w,env_idx,&exec_tm,§_e)){ CEnvDescriptor* D=xr_new<CEnvDescriptor>(); D->load (exec_tm,sect_e,this); env.push_back (D); #ifdef DEBUG D->sect_name = sect_e; #endif } } env.push_back (xr_new<CEnvDescriptor>()); env.back()->exec_time_loaded = DAY_LENGTH; } } // sorting weather envs EnvsMapIt _I=WeatherFXs.begin(); EnvsMapIt _E=WeatherFXs.end(); for (; _I!=_E; _I++){ R_ASSERT3 (_I->second.size()>1,"Environment in weather must >=2",*_I->first); std::sort(_I->second.begin(),_I->second.end(),sort_env_etl_pred); } } } void CEnvironment::unload () { EnvsMapIt _I,_E; // clear weathers _I = WeatherCycles.begin(); _E = WeatherCycles.end(); for (; _I!=_E; _I++){ for (EnvIt it=_I->second.begin(); it!=_I->second.end(); it++) xr_delete (*it); } WeatherCycles.clear (); // clear weather effect _I = WeatherFXs.begin(); _E = WeatherFXs.end(); for (; _I!=_E; _I++){ for (EnvIt it=_I->second.begin(); it!=_I->second.end(); it++) xr_delete (*it); } WeatherFXs.clear (); // clear ambient for (EnvAmbVecIt it=Ambients.begin(); it!=Ambients.end(); it++) xr_delete (*it); Ambients.clear (); // misc xr_delete (eff_Rain); xr_delete (eff_LensFlare); xr_delete (eff_Thunderbolt); CurrentWeather = 0; CurrentWeatherName = 0; CurrentEnv.clear (); Invalidate (); tonemap = 0; } Maybe Google translation is not entirely correct, I do not have a full port of Call of Pripyat system, but only partially. I stayed on a small part of the Shadow of Chernobyl weather system. (Может быть гугл переводит не совсем корректно, у меня не полный порт системы ЗП, а только частичный. У меня осталась от ТЧ небольшая часть погодной системы.) Изменено 1 Января 2017 пользователем Kondr48 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1057908
slim_shady 18 Опубликовано 1 Января 2017 Поделиться Опубликовано 1 Января 2017 Spasiba You will credited in my mod (if i release him). 2 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1057910
Kondr48 314 Опубликовано 6 Января 2017 Поделиться Опубликовано 6 Января 2017 Как можно ускорить сборку исходников? Надоело собирать xr_game по полчаса, причем не пересборка, а именно build так долго идет... Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1058847
krop 11 Опубликовано 6 Января 2017 Поделиться Опубликовано 6 Января 2017 Можешь вырубить оптимизацию. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1058853
Kondr48 314 Опубликовано 7 Января 2017 Поделиться Опубликовано 7 Января 2017 (изменено) Что вообще делает функция UpdateXForm() у худовых предметов? void CArtefact::UpdateXForm() { if (Device.dwFrame!=dwXF_Frame) { dwXF_Frame = Device.dwFrame; if (0==H_Parent()) return; // Get access to entity and its visual CEntityAlive* E = smart_cast<CEntityAlive*>(H_Parent()); if(!E) return ; const CInventoryOwner *parent = smart_cast<const CInventoryOwner*>(E); if (parent && parent->use_simplified_visual()) return; VERIFY (E); CKinematics* V = smart_cast<CKinematics*> (E->Visual()); VERIFY (V); // Get matrices int boneL,boneR,boneR2; E->g_WeaponBones (boneL,boneR,boneR2); boneL = boneR2; V->CalculateBones (); Fmatrix& mL = V->LL_GetTransform(u16(boneL)); Fmatrix& mR = V->LL_GetTransform(u16(boneR)); // Calculate Fmatrix mRes; Fvector R,D,N; D.sub (mL.c,mR.c); D.normalize_safe(); R.crossproduct (mR.j,D); R.normalize_safe(); N.crossproduct (D,R); N.normalize_safe(); mRes.set (R,N,D,mR.c); mRes.mulA_43 (E->XFORM()); // UpdatePosition (mRes); XFORM().mul (mRes,offset()); } } Изменено 7 Января 2017 пользователем Kondr48 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1059073
Expropriator 2 119 Опубликовано 7 Января 2017 Поделиться Опубликовано 7 Января 2017 @Kondr48, движковое обновление. Возвращает визуал при смене худа, при повторной загрузке сохранения, при выходе в меню, у нехудовых при отдаление и последующем возврате к объекту. Примерно так, может не прав. xr_game по полчаса у меня час двадцать 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1059077
User_X.A.R26 261 Опубликовано 7 Января 2017 Поделиться Опубликовано 7 Января 2017 (изменено) Надоело собирать xr_game по полчаса у меня час двадцать От часа до трёх или даже четырёх часов Изменено 7 Января 2017 пользователем User_X.A.R26 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1059091
Kondr48 314 Опубликовано 7 Января 2017 Поделиться Опубликовано 7 Января 2017 (изменено) Дизель, User_X.A.R26 это пересборка прям? Или просто build?--- Правильно ли я понял, что "конструкции" типа: void CCustomDetector::OnH_A_Chield() { inherited::OnH_A_Chield (); } По сути служат для того чтобы продублировать в дочернем классе аналогичную функцию родительского и добавить что-то свое? В таком случае есть ли толк от такой "пустой" функции? Изменено 7 Января 2017 пользователем Kondr48 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1059094
User_X.A.R26 261 Опубликовано 7 Января 2017 Поделиться Опубликовано 7 Января 2017 @Kondr48, полная сборка xrGame. Инкрементальная сборка на дебаге может и минут 20 быть, а на релизе - около часа из-за всяких там оптимизаций Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/108/#findComment-1059099
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти