diff --git a/gamedata/configs/text/eng/ui_st_ixray_editors.xml b/gamedata/configs/text/eng/ui_st_ixray_editors.xml index 6ef110fc31..c59724414a 100644 --- a/gamedata/configs/text/eng/ui_st_ixray_editors.xml +++ b/gamedata/configs/text/eng/ui_st_ixray_editors.xml @@ -1,5 +1,16 @@ + Preferences @@ -1062,9 +1073,6 @@ Text Editor - - Clear - [none] @@ -1372,13 +1380,13 @@ Object '%s', surface '%s' contain undefined game material. - CustomObject: '%s' - motion has different version. Load failed. + Custom Object: '%s' - motion has different version. Load failed. - SoundSource: '%s' has no sounds. + Sound Source: '%s' has no sounds. - SoundEnvironment: '%s' inner and outer environment must be different. + Sound Environment: '%s' inner and outer environment must be different. Scene hasn't sound environment geometry. @@ -1401,4 +1409,1015 @@ Can't create Portal from one edge!\nPlease check geometry\nfrom '%s' to '%s' + + ! Only one selected way point supported. + + + Are you sure to rename selected objects? + + + %d - objects are renamed. + + + Scene sharing violation + + + Level loading... + + + Need to rebuild CFORM + + + Need to rebuild AI-Map + + + Need to rebuild game graph + + + Are you sure to export Sound Occlusion Model? + + + Are you sure to export HOM? + + + Are you sure to export details? + + + Are you sure to export puddles? + + + Are you sure to export game? + + + Are you sure to export ai-map? + + + Are you sure to build level? + + + Redo buffer empty + + + Undo buffer empty + + + Fragment saving... + + + Fragment loading... + + + Scene must be empty before refreshing library! + + + Can't load map '%s' + + + Model [ + + + ] not found. Do you want to select it from library? + + + ! visual [%s] has no animation [%s] + + + ! Can't create entity: + + + Spawn Point: '%s' must contain attached shape. + + + Spawn point: Unsupported version. + + + Spawn point: Unsupported spawn version. + + + Spawn point: Can't load Spawn Data. + + + ! Invalid spawn data: + + + Profile (spawn section) + + + Respawn Point\Profile + + + Respawn Point\Team + + + Respawn Point\Spawn Type + + + Environment Modificator\Radius + + + Environment Modificator\Power + + + Environment Modificator\View Distance + + + Environment Modificator\View Distance\ + + + Environment Modificator\Fog Color + + + Environment Modificator\Fog Color\ + + + Environment Modificator\Fog Density + + + Environment Modificator\Fog Density\ + + + Environment Modificator\Ambient Color + + + Environment Modificator\Ambient Color\ + + + Environment Modificator\Sky Color + + + Environment Modificator\Sky Color\ + + + Environment Modificator\Hemi Color + + + Environment Modificator\Hemi Color\ + + + Last mesh deleted.\nSector has no meshes and will be removed. + + + Capturing unused face... + + + Sector Item contains object '%s' - can't load.\nObject not found. + + + Sector Item contains object '%s' - can't load.\nObject is dynamic. + + + Sector Item contains object '%s' mesh '%s' - can't load.\nMesh not found. + + + Sector Item contains unnamed object - can't load + + + CSector: Unsupported version. + + + Contents\Objects + + + Contents\Meshes + + + Contents\Faces + + + Color + + + Change LevelMap to + + + * ERROR: Sector: '%s' - face count less than 4! + + + * ERROR: Sector: '%s' - can't find any renderable face! + + + Duplicate object name already exists: '%s' + + + Can't calculate bounding box. Nothing selected or some object unsupported this function. + + + Critical render error. Please report this to IX-Ray Team! \n[Type B] - Tools: '%s' Object: '%s' + + + Critical render error. Please report this to IX-Ray Team! \n[Type B] - Tools: '%s' + + + CSceneObject: '%s' not found in library + + + Object [ + + + ] not found. Do you want to replace it with [ + + + ] or you want to select another object from library? + + + Skipping bad version of level options. + + + Skipping bad version of build params. + + + Skipping invalid version of level part: '%s\%s.part' + + + Skipping corrupted version of level part: '%s\%s.part' + + + Saving time: %3.2f sec + + + EScene: loading '%s' + + + EScene: unsupported file version. Can't load Level. + + + EScene: %d objects loaded, %3.2f sec + + + EScene: Can't find snap object '%s'. + + + Can't find file: '%s' + + + Skipping old version of level options.\nCheck level options after loading. + + + Loading objects... + + + EScene: Failed to load selection. + + + EScene: loading part %s... + + + Failed to open clipboard + + + No data in clipboard + + + CFORM is empty!\nCheck log. + + + AI-Map is empty!\nCheck log. + + + Game graph is empty!\nCheck log. + + + ! Failed build spawn! \nCheck log. + + + Unable to build the level! + + + Unable to save file level.ai.temp!\nCheck log. + + + Scene: initialized + + + Scene: cleared + + + ERROR: Bounding box [%s] + + + The scene has been modified. Do you want to save your changes? + + + ERROR: Validate '%s' failed! + + + ! Level doesn't contain HOM objects! + + + * ERROR: Can't find any Spawn Object. + + + * ERROR: Can't find any Light Object. + + + * ERROR: Can't find any Scene Object. + + + * ERROR: Can't find any Glow Object. + + + * ERROR: Found duplicate object name. + + + * ERROR: Scene has non compatible shaders. Check log. + + + * ERROR: Can't find static geometry. + + + * ERROR: Particle System has no reference. + + + Validation successful. + + + Scene\Name + + + Scene\Name prefix + + + Scene\Build options\Level path + + + Scene\Build options\Custom data + + + Scene\Map version + + + Scene\Build options\Quality + + + Scene\Build options\Lighting\Hemisphere quality [0-3] + + + Scene\Build options\Lighting\Sun shadow quality [0-3] + + + Scene\Build options\Optimizing\Normal smooth angle + + + Scene\Build options\Optimizing\Weld distance (m) + + + Scene\Build options\Lighting\Pixel per meter + + + Scene\Build options\Lighting\Error (LM collapsing) + + + Scene\Build options\Lighting\Error (LM zero) + + + Scene\Build options\Lighting\Jitter samples + + + ! CForm is empty! + + + ! subst for '%s' already exist -'%s' + + + Portal: Degenerate portal found. + + + Check portal orientation: '%s' + + + CPortal: Unsupported version. + + + Portal: Can't find required sectors.\nObject '%s' can't load. + + + Unable to create portal '%s'.\nInvalid portal. (vertices count less than 3) + + + Scene\Targets\Enable + + + Scene\Targets\Read Only + + + Freeze objects + + + Unique,Reference + + + CGlow: Unsupported version. + + + Radius + + + Invalid face found at pos: [%3.2f,%3.2f,%3.2f] + + + Breakable object cannot handle more than 63 parts. + + + Degenerate part found (Texture '%s'). + + + Part [texture '%s'] have %d duplicate(degenerate) face(s). + + + Extract Parts... + + + Simplify Parts... + + + ESoundSource: Unsupported version. + + + ESoundSource: Can't load Sound Source '%s'. Unsupported version. + + + Custom\Controls + + + Play,Stop,Simulate + + + Source\Sound name + + + Source\Frequency + + + Source\Volume + + + Source\Min dist + + + Source\Max dist + + + Source\Max ai dist + + + Game\Active time\Hint + + + Zero - play sound looped round the clock. + + + Game\Active time\From + + + Game\Active time\To + + + Game\Play time\Hint + + + Zero - play sound once. + + + Game\Play time\From + + + Game\Play time\To + + + Game\Pause delta\Hint + + + Zero - play sound looped. + + + Game\Pause delta\From + + + Game\Pause delta\To + + + ESoundEnvironment: Unsupported version. + + + Environment Inner + + + Environment Outer + + + Shape usage + + + common + + + level bound + + + %s tools: Unsupported version. + + + Select one Way object. + + + Static Wallmark: Unsupported version. + + + ERROR: Invalid wallmark (Contain more than %d vertices). Removed. + + + Select texture before adding wallmark. + + + Fill and activate snap list. + + + Invalid wallmark vertex count. [Min: %d. Max: %d]. + + + Common\Draw Wallmarks + + + Common\Alignment + + + Common\Width + + + Common\Height + + + Common\Rotate + + + Common\Shader + + + Common\Texture + + + By Camera + + + By World Axis + + + Wallmarks: Invalid or missing shader '%s'. + + + ! incorrect ActorRP teamID [%d] for CTA + + + ! incorrect AF teamID [%d] for CTA + + + Nothing selected. + + + Select one shape. + + + Attach impossible. + + + Common\Draw Solid + + + Common\Draw Simple Model + + + Removed '%d' portal(s). + + + Object '%s', surface '%s' contain invalid game material. + + + Object '%s', surface '%s' contain undefined game material. + + + Can't find engine shader '%s'. Object '%s', surface '%s'. Export interrupted. + + + Object '%s', surface '%s' contain static engine shader - '%s'. Export interrupted. + + + Export breakable objects... + + + Prepare geometry... + + + Export Parts... + + + Invalid breakable object. + + + Can't export invalid part #%d + + + Export climable objects... + + + Invalid climable object found. [%3.2f, %3.2f, %3.2f] + + + Duplicate object position '%s'-'%s' with reference '%s'. + + + ! There is no texture '%s' + + + Scale\Proportional + + + Scale\Minimum + + + Scale\Maximum + + + Rotate\Minimum + + + Rotate\Maximum + + + TUI_ControlObjectAdd:: Can't load reference object. + + + Common\Sun Shadow\Visible + + + Common\Sun Shadow\Altitude + + + Common\Sun Shadow\Longitude + + + Common\Controls\Draw Name + + + Common\Controls\Count + + + Common\Controls\System + + + Common\Controls\User + + + Rename,Remove + + + %s: '%s' - Invalid light control. + + + Duplicate name found. + + + Invalid control name. + + + Can't ungroup object: '%s'. + + + Group '%s' successfully created.\nContain %d object(s) + + + Group can't be created. + + + Can't reload group: '%s'. + + + No object(s) selected. + + + Process multiple objects? + + + Can't write file [%s] + + + Can't make screenshot. + + + Select 1 Group object. + + + Common\Test Visibility + + + Common\Draw Cross + + + profile (ltx) + + + Volume Type + + + Emitter + + + Occlusion + + + Snap list empty! + + + Base texture empty! + + + Updating bounding boxes... + + + Invalid base texture! + + + Object list empty! + + + Updating objects... + + + Can't open file '%s'. + + + EDetailManager: unsupported version. + + + EDetailManager: Some objects removed. Reinitialize objects. + + + EDetailManager: Can't find snap object '%s'. + + + EDetailManager: Can't find base texture '%s'. + + + Making details... + + + merge textures + + + export geometry + + + Bad object or object not found '%s'. + + + export slots + + + Texture changed. Reinitialize objects. + + + Objects per square + + + Base Texture + + + Common\Draw objects + + + Common\Draw base texture + + + Common\Base texture blended + + + Common\Draw slot boxes + + + Loading %s(stream)... + + + Loading %s(ltx)... + + + Loading %s... + + + !!! Error _name = %s, %s, %s + + + !!! Try FIX name + + + Fill object list and try again. + + + Can't align position. + + + Building nodes... + + + Append at least one node. + + + Prepare collision model... + + + Building collision model... + + + - building time: %.3f + + + Fill snap list before generating slots! + + + Smoothing nodes... + + + Node: has wrong link [%3.2f, %3.2f, %3.2f], {%d,%d,%d,%d} + + + AI-Map: Unsupported version. + + + AI-Map: Can't find snap object '%s'. + + + Can't create node. + + + Removing nodes... + + + erasing nodes + + + updating hash + + + end + + + Common\Draw Nodes + + + Common\Slow Calculate Mode + + + Common\Visible Radius + + + Common\Smooth Height + + + Params\Brush Size + + + Params\Can Up + + + Params\Can Down + + + Play,Stop + + + Range + + + Attenuation\Constant + + + Attenuation\Linear + + + Attenuation\Quadratic + + + Attenuation\Auto + + + Linear,Quadratic + + + Attenuation\Graphic + + + Usage\Light Map + + + Usage\Dynamic + + + Usage\Animated + + + Fuzzy + + + Fuzzy\Count + + + Fuzzy\Generate + + + Random + + + Fuzzy\Shape + + + Fuzzy\Radius + + + Fuzzy\Half Dimension + + + Spot R1\Cone Angle + + + Spot R1\Texture + + + Type + + + Brightness + + + Light Control + + + Use in render + + + CLight: Unsupported version. + + + Can't find light animation: %s + + + CLight: Can't load sun. + + + From Time + + + To Time + + + Speed (m/sec) + + + Flags\Motionable + + + Motion\Hint + + + Motion\Files + + + Make KEY only on Parent CS + + + Import,Export + + + Motion\Commands + + + + K,- K,Scale,Norm,Clamp + + + Motion\Controls + + + Motion\Flags\Auto Key + + + Motion\Flags\Camera View + + + Motion\Start Frame (sec) + + + Motion\End Frame (sec) + + + Motion\Current Frame (sec) + + + Motion\Change Key Time (sec) + + + Motion\Key Count + + + Motion\Length (sec) + + + Light + diff --git a/gamedata/configs/text/rus/ui_st_ixray_editors.xml b/gamedata/configs/text/rus/ui_st_ixray_editors.xml index 6ef110fc31..c59724414a 100644 --- a/gamedata/configs/text/rus/ui_st_ixray_editors.xml +++ b/gamedata/configs/text/rus/ui_st_ixray_editors.xml @@ -1,5 +1,16 @@ + Preferences @@ -1062,9 +1073,6 @@ Text Editor - - Clear - [none] @@ -1372,13 +1380,13 @@ Object '%s', surface '%s' contain undefined game material. - CustomObject: '%s' - motion has different version. Load failed. + Custom Object: '%s' - motion has different version. Load failed. - SoundSource: '%s' has no sounds. + Sound Source: '%s' has no sounds. - SoundEnvironment: '%s' inner and outer environment must be different. + Sound Environment: '%s' inner and outer environment must be different. Scene hasn't sound environment geometry. @@ -1401,4 +1409,1015 @@ Can't create Portal from one edge!\nPlease check geometry\nfrom '%s' to '%s' + + ! Only one selected way point supported. + + + Are you sure to rename selected objects? + + + %d - objects are renamed. + + + Scene sharing violation + + + Level loading... + + + Need to rebuild CFORM + + + Need to rebuild AI-Map + + + Need to rebuild game graph + + + Are you sure to export Sound Occlusion Model? + + + Are you sure to export HOM? + + + Are you sure to export details? + + + Are you sure to export puddles? + + + Are you sure to export game? + + + Are you sure to export ai-map? + + + Are you sure to build level? + + + Redo buffer empty + + + Undo buffer empty + + + Fragment saving... + + + Fragment loading... + + + Scene must be empty before refreshing library! + + + Can't load map '%s' + + + Model [ + + + ] not found. Do you want to select it from library? + + + ! visual [%s] has no animation [%s] + + + ! Can't create entity: + + + Spawn Point: '%s' must contain attached shape. + + + Spawn point: Unsupported version. + + + Spawn point: Unsupported spawn version. + + + Spawn point: Can't load Spawn Data. + + + ! Invalid spawn data: + + + Profile (spawn section) + + + Respawn Point\Profile + + + Respawn Point\Team + + + Respawn Point\Spawn Type + + + Environment Modificator\Radius + + + Environment Modificator\Power + + + Environment Modificator\View Distance + + + Environment Modificator\View Distance\ + + + Environment Modificator\Fog Color + + + Environment Modificator\Fog Color\ + + + Environment Modificator\Fog Density + + + Environment Modificator\Fog Density\ + + + Environment Modificator\Ambient Color + + + Environment Modificator\Ambient Color\ + + + Environment Modificator\Sky Color + + + Environment Modificator\Sky Color\ + + + Environment Modificator\Hemi Color + + + Environment Modificator\Hemi Color\ + + + Last mesh deleted.\nSector has no meshes and will be removed. + + + Capturing unused face... + + + Sector Item contains object '%s' - can't load.\nObject not found. + + + Sector Item contains object '%s' - can't load.\nObject is dynamic. + + + Sector Item contains object '%s' mesh '%s' - can't load.\nMesh not found. + + + Sector Item contains unnamed object - can't load + + + CSector: Unsupported version. + + + Contents\Objects + + + Contents\Meshes + + + Contents\Faces + + + Color + + + Change LevelMap to + + + * ERROR: Sector: '%s' - face count less than 4! + + + * ERROR: Sector: '%s' - can't find any renderable face! + + + Duplicate object name already exists: '%s' + + + Can't calculate bounding box. Nothing selected or some object unsupported this function. + + + Critical render error. Please report this to IX-Ray Team! \n[Type B] - Tools: '%s' Object: '%s' + + + Critical render error. Please report this to IX-Ray Team! \n[Type B] - Tools: '%s' + + + CSceneObject: '%s' not found in library + + + Object [ + + + ] not found. Do you want to replace it with [ + + + ] or you want to select another object from library? + + + Skipping bad version of level options. + + + Skipping bad version of build params. + + + Skipping invalid version of level part: '%s\%s.part' + + + Skipping corrupted version of level part: '%s\%s.part' + + + Saving time: %3.2f sec + + + EScene: loading '%s' + + + EScene: unsupported file version. Can't load Level. + + + EScene: %d objects loaded, %3.2f sec + + + EScene: Can't find snap object '%s'. + + + Can't find file: '%s' + + + Skipping old version of level options.\nCheck level options after loading. + + + Loading objects... + + + EScene: Failed to load selection. + + + EScene: loading part %s... + + + Failed to open clipboard + + + No data in clipboard + + + CFORM is empty!\nCheck log. + + + AI-Map is empty!\nCheck log. + + + Game graph is empty!\nCheck log. + + + ! Failed build spawn! \nCheck log. + + + Unable to build the level! + + + Unable to save file level.ai.temp!\nCheck log. + + + Scene: initialized + + + Scene: cleared + + + ERROR: Bounding box [%s] + + + The scene has been modified. Do you want to save your changes? + + + ERROR: Validate '%s' failed! + + + ! Level doesn't contain HOM objects! + + + * ERROR: Can't find any Spawn Object. + + + * ERROR: Can't find any Light Object. + + + * ERROR: Can't find any Scene Object. + + + * ERROR: Can't find any Glow Object. + + + * ERROR: Found duplicate object name. + + + * ERROR: Scene has non compatible shaders. Check log. + + + * ERROR: Can't find static geometry. + + + * ERROR: Particle System has no reference. + + + Validation successful. + + + Scene\Name + + + Scene\Name prefix + + + Scene\Build options\Level path + + + Scene\Build options\Custom data + + + Scene\Map version + + + Scene\Build options\Quality + + + Scene\Build options\Lighting\Hemisphere quality [0-3] + + + Scene\Build options\Lighting\Sun shadow quality [0-3] + + + Scene\Build options\Optimizing\Normal smooth angle + + + Scene\Build options\Optimizing\Weld distance (m) + + + Scene\Build options\Lighting\Pixel per meter + + + Scene\Build options\Lighting\Error (LM collapsing) + + + Scene\Build options\Lighting\Error (LM zero) + + + Scene\Build options\Lighting\Jitter samples + + + ! CForm is empty! + + + ! subst for '%s' already exist -'%s' + + + Portal: Degenerate portal found. + + + Check portal orientation: '%s' + + + CPortal: Unsupported version. + + + Portal: Can't find required sectors.\nObject '%s' can't load. + + + Unable to create portal '%s'.\nInvalid portal. (vertices count less than 3) + + + Scene\Targets\Enable + + + Scene\Targets\Read Only + + + Freeze objects + + + Unique,Reference + + + CGlow: Unsupported version. + + + Radius + + + Invalid face found at pos: [%3.2f,%3.2f,%3.2f] + + + Breakable object cannot handle more than 63 parts. + + + Degenerate part found (Texture '%s'). + + + Part [texture '%s'] have %d duplicate(degenerate) face(s). + + + Extract Parts... + + + Simplify Parts... + + + ESoundSource: Unsupported version. + + + ESoundSource: Can't load Sound Source '%s'. Unsupported version. + + + Custom\Controls + + + Play,Stop,Simulate + + + Source\Sound name + + + Source\Frequency + + + Source\Volume + + + Source\Min dist + + + Source\Max dist + + + Source\Max ai dist + + + Game\Active time\Hint + + + Zero - play sound looped round the clock. + + + Game\Active time\From + + + Game\Active time\To + + + Game\Play time\Hint + + + Zero - play sound once. + + + Game\Play time\From + + + Game\Play time\To + + + Game\Pause delta\Hint + + + Zero - play sound looped. + + + Game\Pause delta\From + + + Game\Pause delta\To + + + ESoundEnvironment: Unsupported version. + + + Environment Inner + + + Environment Outer + + + Shape usage + + + common + + + level bound + + + %s tools: Unsupported version. + + + Select one Way object. + + + Static Wallmark: Unsupported version. + + + ERROR: Invalid wallmark (Contain more than %d vertices). Removed. + + + Select texture before adding wallmark. + + + Fill and activate snap list. + + + Invalid wallmark vertex count. [Min: %d. Max: %d]. + + + Common\Draw Wallmarks + + + Common\Alignment + + + Common\Width + + + Common\Height + + + Common\Rotate + + + Common\Shader + + + Common\Texture + + + By Camera + + + By World Axis + + + Wallmarks: Invalid or missing shader '%s'. + + + ! incorrect ActorRP teamID [%d] for CTA + + + ! incorrect AF teamID [%d] for CTA + + + Nothing selected. + + + Select one shape. + + + Attach impossible. + + + Common\Draw Solid + + + Common\Draw Simple Model + + + Removed '%d' portal(s). + + + Object '%s', surface '%s' contain invalid game material. + + + Object '%s', surface '%s' contain undefined game material. + + + Can't find engine shader '%s'. Object '%s', surface '%s'. Export interrupted. + + + Object '%s', surface '%s' contain static engine shader - '%s'. Export interrupted. + + + Export breakable objects... + + + Prepare geometry... + + + Export Parts... + + + Invalid breakable object. + + + Can't export invalid part #%d + + + Export climable objects... + + + Invalid climable object found. [%3.2f, %3.2f, %3.2f] + + + Duplicate object position '%s'-'%s' with reference '%s'. + + + ! There is no texture '%s' + + + Scale\Proportional + + + Scale\Minimum + + + Scale\Maximum + + + Rotate\Minimum + + + Rotate\Maximum + + + TUI_ControlObjectAdd:: Can't load reference object. + + + Common\Sun Shadow\Visible + + + Common\Sun Shadow\Altitude + + + Common\Sun Shadow\Longitude + + + Common\Controls\Draw Name + + + Common\Controls\Count + + + Common\Controls\System + + + Common\Controls\User + + + Rename,Remove + + + %s: '%s' - Invalid light control. + + + Duplicate name found. + + + Invalid control name. + + + Can't ungroup object: '%s'. + + + Group '%s' successfully created.\nContain %d object(s) + + + Group can't be created. + + + Can't reload group: '%s'. + + + No object(s) selected. + + + Process multiple objects? + + + Can't write file [%s] + + + Can't make screenshot. + + + Select 1 Group object. + + + Common\Test Visibility + + + Common\Draw Cross + + + profile (ltx) + + + Volume Type + + + Emitter + + + Occlusion + + + Snap list empty! + + + Base texture empty! + + + Updating bounding boxes... + + + Invalid base texture! + + + Object list empty! + + + Updating objects... + + + Can't open file '%s'. + + + EDetailManager: unsupported version. + + + EDetailManager: Some objects removed. Reinitialize objects. + + + EDetailManager: Can't find snap object '%s'. + + + EDetailManager: Can't find base texture '%s'. + + + Making details... + + + merge textures + + + export geometry + + + Bad object or object not found '%s'. + + + export slots + + + Texture changed. Reinitialize objects. + + + Objects per square + + + Base Texture + + + Common\Draw objects + + + Common\Draw base texture + + + Common\Base texture blended + + + Common\Draw slot boxes + + + Loading %s(stream)... + + + Loading %s(ltx)... + + + Loading %s... + + + !!! Error _name = %s, %s, %s + + + !!! Try FIX name + + + Fill object list and try again. + + + Can't align position. + + + Building nodes... + + + Append at least one node. + + + Prepare collision model... + + + Building collision model... + + + - building time: %.3f + + + Fill snap list before generating slots! + + + Smoothing nodes... + + + Node: has wrong link [%3.2f, %3.2f, %3.2f], {%d,%d,%d,%d} + + + AI-Map: Unsupported version. + + + AI-Map: Can't find snap object '%s'. + + + Can't create node. + + + Removing nodes... + + + erasing nodes + + + updating hash + + + end + + + Common\Draw Nodes + + + Common\Slow Calculate Mode + + + Common\Visible Radius + + + Common\Smooth Height + + + Params\Brush Size + + + Params\Can Up + + + Params\Can Down + + + Play,Stop + + + Range + + + Attenuation\Constant + + + Attenuation\Linear + + + Attenuation\Quadratic + + + Attenuation\Auto + + + Linear,Quadratic + + + Attenuation\Graphic + + + Usage\Light Map + + + Usage\Dynamic + + + Usage\Animated + + + Fuzzy + + + Fuzzy\Count + + + Fuzzy\Generate + + + Random + + + Fuzzy\Shape + + + Fuzzy\Radius + + + Fuzzy\Half Dimension + + + Spot R1\Cone Angle + + + Spot R1\Texture + + + Type + + + Brightness + + + Light Control + + + Use in render + + + CLight: Unsupported version. + + + Can't find light animation: %s + + + CLight: Can't load sun. + + + From Time + + + To Time + + + Speed (m/sec) + + + Flags\Motionable + + + Motion\Hint + + + Motion\Files + + + Make KEY only on Parent CS + + + Import,Export + + + Motion\Commands + + + + K,- K,Scale,Norm,Clamp + + + Motion\Controls + + + Motion\Flags\Auto Key + + + Motion\Flags\Camera View + + + Motion\Start Frame (sec) + + + Motion\End Frame (sec) + + + Motion\Current Frame (sec) + + + Motion\Change Key Time (sec) + + + Motion\Key Count + + + Motion\Length (sec) + + + Light + diff --git a/src/Editors/LevelEditor/Editor/Entry/CustomObjectAnimation.cpp b/src/Editors/LevelEditor/Editor/Entry/CustomObjectAnimation.cpp index 8504fb9762..170024d8d6 100644 --- a/src/Editors/LevelEditor/Editor/Entry/CustomObjectAnimation.cpp +++ b/src/Editors/LevelEditor/Editor/Entry/CustomObjectAnimation.cpp @@ -208,9 +208,9 @@ void CCustomObject::OnMotionCommandsClick(ButtonValue* value, bool& bModif, boo m_FromTime = m_MotionParams->min_t; m_ToTime = m_MotionParams->max_t; m_ScaleFactor = 1.f; - PHelper().CreateFloat (items,"From Time", &m_FromTime, m_FromTime, m_ToTime, 1.f/30.f, 3); - PHelper().CreateFloat (items,"To Time", &m_ToTime, m_FromTime, m_ToTime, 1.f/30.f, 3); - PHelper().CreateFloat (items,"Scale", &m_ScaleFactor, -1000.f, 1000.f); + PHelper().CreateFloat (items,g_pStringTable->translate("ed_st_from_time").c_str(), &m_FromTime, m_FromTime, m_ToTime, 1.f / 30.f, 3); + PHelper().CreateFloat (items,g_pStringTable->translate("ed_st_to_time").c_str(), &m_ToTime, m_FromTime, m_ToTime, 1.f / 30.f, 3); + PHelper().CreateFloat (items,g_pStringTable->translate("ed_st_scale").c_str(), &m_ScaleFactor, -1000.f, 1000.f); UIPropertiesModal::Show(items); m_ButtonId = 2; EDevice->seqDrawUI.Add(this); @@ -221,9 +221,9 @@ void CCustomObject::OnMotionCommandsClick(ButtonValue* value, bool& bModif, boo m_FromTime = m_MotionParams->min_t; m_ToTime = m_MotionParams->max_t; m_Speed=5.f; - PHelper().CreateFloat (items,"From Time", &m_FromTime, m_FromTime, m_ToTime, 1.f/30.f, 3); - PHelper().CreateFloat (items,"To Time", &m_ToTime, m_FromTime, m_ToTime, 1.f/30.f, 3); - PHelper().CreateFloat (items,"Speed (m/sec)", &m_Speed, 0.f, 100.f); + PHelper().CreateFloat (items,g_pStringTable->translate("ed_st_from_time").c_str(), &m_FromTime, m_FromTime, m_ToTime, 1.f / 30.f, 3); + PHelper().CreateFloat (items,g_pStringTable->translate("ed_st_to_time").c_str(), &m_ToTime, m_FromTime, m_ToTime, 1.f / 30.f, 3); + PHelper().CreateFloat (items,g_pStringTable->translate("ed_st_speed_m_sec").c_str(), &m_Speed, 0.f, 100.f); UIPropertiesModal::Show(items); m_ButtonId = 3; EDevice->seqDrawUI.Add(this); @@ -306,31 +306,31 @@ void CCustomObject::OnTransformChange(PropValue* value) void CCustomObject::AnimationFillProp(LPCSTR pref, PropItemVec& items) { - PropValue* V = PHelper().CreateFlag32(items,PrepareKey(pref,"Flags\\Motionable"),&m_CO_Flags, flMotion); + PropValue* V = PHelper().CreateFlag32(items,PrepareKey(pref,g_pStringTable->translate("ed_st_motionable").c_str()),&m_CO_Flags, flMotion); V->OnChangeEvent.bind(this,&CCustomObject::OnMotionableChange); if (Motionable()){ - PHelper().CreateCaption (items,PrepareKey(pref,"Motion\\Hint"), "Make KEY only on Parent CS"); - ButtonValue* B = PHelper().CreateButton (items,PrepareKey(pref,"Motion\\Files"), "Import,Export", 0); + PHelper().CreateCaption (items,PrepareKey(pref,g_pStringTable->translate("ed_st_motion_hint").c_str()), g_pStringTable->translate("ed_st_motion_hint_msg").c_str()); + ButtonValue* B = PHelper().CreateButton (items,PrepareKey(pref,g_pStringTable->translate("ed_st_motion_files").c_str()), g_pStringTable->translate("ed_st_import_export").c_str(), 0); B->OnBtnClickEvent.bind(this,&CCustomObject::OnMotionFilesClick); - B = PHelper().CreateButton (items,PrepareKey(pref,"Motion\\Commands"), "+ K,- K,Scale,Norm,Clamp", 0); + B = PHelper().CreateButton (items,PrepareKey(pref,g_pStringTable->translate("ed_st_motion_commands").c_str()), g_pStringTable->translate("ed_st_motion_commands_btn").c_str(), 0); B->OnBtnClickEvent.bind(this,&CCustomObject::OnMotionCommandsClick); - B = PHelper().CreateButton (items,PrepareKey(pref,"Motion\\Controls"), " |<<, +<<, <<, >, ||, >>, >>+, >>|", 0); + B = PHelper().CreateButton (items,PrepareKey(pref,g_pStringTable->translate("ed_st_motion_controls").c_str()), " |<<, +<<, <<, >, ||, >>, >>+, >>|", 0); B->OnBtnClickEvent.bind(this,&CCustomObject::OnMotionControlClick); - PHelper().CreateFlag32 (items,PrepareKey(pref,"Motion\\Flags\\Auto Key"), &m_CO_Flags, flAutoKey); - V = PHelper().CreateFlag32 (items,PrepareKey(pref,"Motion\\Flags\\Camera View"), &m_CO_Flags, flCameraView); + PHelper().CreateFlag32 (items,PrepareKey(pref,g_pStringTable->translate("ed_st_auto_key").c_str()), &m_CO_Flags, flAutoKey); + V = PHelper().CreateFlag32 (items,PrepareKey(pref,g_pStringTable->translate("ed_st_camera_view").c_str()), &m_CO_Flags, flCameraView); V->OnChangeEvent.bind(this,&CCustomObject::OnMotionCameraViewChange); - V = PHelper().CreateFloat (items,PrepareKey(pref,"Motion\\Start Frame (sec)"), &m_MotionParams->min_t, -10000.f, m_MotionParams->max_t, 1.f/30.f, 3); + V = PHelper().CreateFloat (items,PrepareKey(pref,g_pStringTable->translate("ed_st_start_frame").c_str()), &m_MotionParams->min_t, -10000.f, m_MotionParams->max_t, 1.f/30.f, 3); V->OnChangeEvent.bind(this,&CCustomObject::OnMotionFrameChange); - V = PHelper().CreateFloat (items,PrepareKey(pref,"Motion\\End Frame (sec)"), &m_MotionParams->max_t, m_MotionParams->min_t, 10000.f, 1.f/30.f, 3); + V = PHelper().CreateFloat (items,PrepareKey(pref,g_pStringTable->translate("ed_st_end_frame").c_str()), &m_MotionParams->max_t, m_MotionParams->min_t, 10000.f, 1.f/30.f, 3); V->OnChangeEvent.bind(this,&CCustomObject::OnMotionFrameChange); - V = PHelper().CreateFloat (items,PrepareKey(pref,"Motion\\Current Frame (sec)"), &m_MotionParams->t_current, -10000.f, 10000.f, 1.f/30.f, 3); + V = PHelper().CreateFloat (items,PrepareKey(pref,g_pStringTable->translate("ed_st_current_frame").c_str()), &m_MotionParams->t_current, -10000.f, 10000.f, 1.f/30.f, 3); V->OnChangeEvent.bind(this,&CCustomObject::OnMotionCurrentFrameChange); - V = PHelper().CreateFloat (items,PrepareKey(pref,"Motion\\ChangeKeyTime(sec)"), &m_MotionParams->tmp, -10000.f, 10000.f, 1.f/30.f, 3); + V = PHelper().CreateFloat (items,PrepareKey(pref,g_pStringTable->translate("ed_st_change_key_time").c_str()), &m_MotionParams->tmp, -10000.f, 10000.f, 1.f/30.f, 3); V->OnChangeEvent.bind(this,&CCustomObject::OnMotionKeyTimeChange); - PHelper().CreateCaption (items,PrepareKey(pref,"Motion\\Key Count"), shared_str().printf("%d",m_Motion->KeyCount())); - PHelper().CreateCaption (items,PrepareKey(pref,"Motion\\Length (sec)"), shared_str().printf("%3.2f",m_Motion->GetLength())); + PHelper().CreateCaption (items,PrepareKey(pref,g_pStringTable->translate("ed_st_key_count").c_str()), shared_str().printf("%d",m_Motion->KeyCount())); + PHelper().CreateCaption (items,PrepareKey(pref,g_pStringTable->translate("ed_st_motion_length").c_str()), shared_str().printf("%3.2f",m_Motion->GetLength())); } } diff --git a/src/Editors/LevelEditor/Editor/Entry/EditObjectExportLWO.cpp b/src/Editors/LevelEditor/Editor/Entry/EditObjectExportLWO.cpp index c9e0654a9e..1bfd9cfc63 100644 --- a/src/Editors/LevelEditor/Editor/Entry/EditObjectExportLWO.cpp +++ b/src/Editors/LevelEditor/Editor/Entry/EditObjectExportLWO.cpp @@ -38,7 +38,7 @@ bool CEditableObject::ExportLWO(LPCSTR fname) int im_idx=FindLPCSTR(images,S->_Texture()); R_ASSERT(im_idx>=0); LPCSTR vm_name=S->_VMap(); - F->Wsurface(S->_Name(),S->m_Flags.is(CSurface::sf2Sided),(u16)im_idx,(vm_name&&vm_name[0])?vm_name:"Texture",S->_ShaderName(),S->_ShaderXRLCName()); + F->Wsurface(S->_Name(),S->m_Flags.is(CSurface::sf2Sided),(u16)im_idx,(vm_name&&vm_name[0])?vm_name:g_pStringTable->translate("ed_st_texture").c_str(), S->_ShaderName(), S->_ShaderXRLCName()); } // meshes/layers for (EditMeshIt mesh_it=FirstMesh(); mesh_it!=LastMesh(); mesh_it++){ diff --git a/src/Editors/LevelEditor/Editor/Entry/Glow/glow.cpp b/src/Editors/LevelEditor/Editor/Entry/Glow/glow.cpp index f396430169..739caa42b0 100644 --- a/src/Editors/LevelEditor/Editor/Entry/Glow/glow.cpp +++ b/src/Editors/LevelEditor/Editor/Entry/Glow/glow.cpp @@ -131,7 +131,7 @@ bool CGlow::LoadLTX(CInifile& ini, LPCSTR sect_name) if(version!=GLOW_VERSION) { - ELog.DlgMsg( mtError, "CGlow: Unsupported version."); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_glow_unsupported_ver").c_str()); return false; } @@ -168,8 +168,9 @@ bool CGlow::LoadStream(IReader& F) u16 version = 0; R_ASSERT(F.r_chunk(GLOW_CHUNK_VERSION,&version)); - if((version!=0x0011)&&(version!=GLOW_VERSION)){ - ELog.DlgMsg( mtError, "CGlow: Unsupported version."); + if((version!=0x0011)&&(version!=GLOW_VERSION)) + { + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_glow_unsupported_ver").c_str()); return false; } @@ -225,9 +226,9 @@ void CGlow::FillProp(LPCSTR pref, PropItemVec& items) { inherited::FillProp(pref, items); PropValue* V=0; - V=PHelper().CreateChoose (items,PrepareKey(pref,"Texture"), &m_TexName, smTexture); V->OnChangeEvent.bind(this,&CGlow::ShaderChange); - V=PHelper().CreateChoose (items,PrepareKey(pref,"Shader"), &m_ShaderName, smEShader); V->OnChangeEvent.bind(this,&CGlow::ShaderChange); - PHelper().CreateFloat (items,PrepareKey(pref,"Radius"), &m_fRadius, 0.01f,10000.f); + V=PHelper().CreateChoose (items,PrepareKey(pref,g_pStringTable->translate("ed_st_texture").c_str()), &m_TexName, smTexture); V->OnChangeEvent.bind(this,&CGlow::ShaderChange); + V=PHelper().CreateChoose (items,PrepareKey(pref,g_pStringTable->translate("ed_st_shader").c_str()), &m_ShaderName, smEShader); V->OnChangeEvent.bind(this,&CGlow::ShaderChange); + PHelper().CreateFloat (items,PrepareKey(pref,g_pStringTable->translate("ed_st_radius").c_str()), &m_fRadius, 0.01f,10000.f); //. PHelper().CreateFlag(items,PHelper().PrepareKey(pref,"Fixed size"), &m_Flags, gfFixedSize); } diff --git a/src/Editors/LevelEditor/Editor/Entry/Group/GroupObject.cpp b/src/Editors/LevelEditor/Editor/Entry/Group/GroupObject.cpp index a1a6064817..1b7a85ea9f 100644 --- a/src/Editors/LevelEditor/Editor/Entry/Group/GroupObject.cpp +++ b/src/Editors/LevelEditor/Editor/Entry/Group/GroupObject.cpp @@ -397,7 +397,7 @@ void CGroupObject::FillProp(LPCSTR pref, PropItemVec& items) V->OnChangeEvent.bind(this,&CGroupObject::ReferenceChange); ButtonValue* B; - B=PHelper().CreateButton (items,PrepareKey(pref,"FreezeObjects"), "Unique,Reference",0); + B=PHelper().CreateButton (items,PrepareKey(pref,g_pStringTable->translate("ed_st_freeze_objects").c_str()), g_pStringTable->translate("ed_st_uniq_ref").c_str(), 0); B->OnBtnClickEvent.bind (this,&CGroupObject::OnFreezeAllClick); for (ObjectsInGroup::iterator it=m_ObjectsInGroup.begin(); it!=m_ObjectsInGroup.end(); ++it) diff --git a/src/Editors/LevelEditor/Editor/Entry/Light/ELight_IO.cpp b/src/Editors/LevelEditor/Editor/Entry/Light/ELight_IO.cpp index 0079709971..3d498a2b11 100644 --- a/src/Editors/LevelEditor/Editor/Entry/Light/ELight_IO.cpp +++ b/src/Editors/LevelEditor/Editor/Entry/Light/ELight_IO.cpp @@ -75,7 +75,7 @@ bool CLight::LoadLTX(CInifile& ini, LPCSTR sect_name) if(version!=LIGHT_VERSION) { - ELog.DlgMsg( mtError, "CLight: Unsupported version."); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_light_unsupported_ver").c_str()); return false; } @@ -100,7 +100,7 @@ bool CLight::LoadLTX(CInifile& ini, LPCSTR sect_name) { m_pAnimRef = LALib.FindItem(anm); if (!m_pAnimRef) - ELog.Msg(mtError, "Can't find light animation: %s",anm); + ELog.Msg(mtError, g_pStringTable->translate("ed_st_cant_find_la").c_str(), anm); } m_FalloffTex = ini.r_string (sect_name, "fallof_texture"); @@ -153,7 +153,7 @@ bool CLight::LoadStream(IReader& F) string1024 buf; R_ASSERT(F.r_chunk(LIGHT_CHUNK_VERSION,&version)); if((version!=0x0010)&&(version!=LIGHT_VERSION)){ - ELog.DlgMsg( mtError, "CLight: Unsupported version."); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_light_unsupported_ver").c_str()); return false; } @@ -197,7 +197,7 @@ bool CLight::LoadStream(IReader& F) { ESceneLightTool* lt = dynamic_cast(FParentTools); VERIFY(lt); lt->m_SunShadowDir.set(FRotation.x,FRotation.y); - ELog.DlgMsg( mtError, "CLight: Can't load sun."); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_cant_load_sun").c_str()); return false; } @@ -205,7 +205,7 @@ bool CLight::LoadStream(IReader& F) { F.r_stringZ(buf,sizeof(buf)); m_pAnimRef = LALib.FindItem(buf); - if (!m_pAnimRef) ELog.Msg(mtError, "Can't find light animation: %s",buf); + if (!m_pAnimRef) ELog.Msg(mtError, g_pStringTable->translate("ed_st_cant_find_la").c_str(), buf); } if (F.find_chunk(LIGHT_CHUNK_FALLOFF_TEXTURE)) diff --git a/src/Editors/LevelEditor/Editor/Entry/Light/ELight_props.cpp b/src/Editors/LevelEditor/Editor/Entry/Light/ELight_props.cpp index 2770d2cad9..fd2cc15445 100644 --- a/src/Editors/LevelEditor/Editor/Entry/Light/ELight_props.cpp +++ b/src/Editors/LevelEditor/Editor/Entry/Light/ELight_props.cpp @@ -147,19 +147,19 @@ void CLight::OnPointDataTestEqual(CanvasValue* a, CanvasValue* b, bool& res) void CLight::FillAttProp(LPCSTR pref, PropItemVec& items) { PropValue* V; - V=PHelper().CreateFloat (items, PrepareKey(pref, "Range"), &m_Range, 0.1f,1000.f); + V=PHelper().CreateFloat (items, PrepareKey(pref, g_pStringTable->translate("ed_st_range").c_str()), &m_Range, 0.1f,1000.f); V->OnChangeEvent.bind (this,&CLight::OnPointDataChange); - V=PHelper().CreateFloat (items, PrepareKey(pref, "Attenuation\\Constant"), &m_Attenuation0,0.f,1.f,0.0001f,6); + V=PHelper().CreateFloat (items, PrepareKey(pref, g_pStringTable->translate("ed_st_light_constant").c_str()), &m_Attenuation0,0.f,1.f,0.0001f,6); V->OnChangeEvent.bind (this,&CLight::OnPointDataChange); - V=PHelper().CreateFloat (items, PrepareKey(pref, "Attenuation\\Linear"), &m_Attenuation1,0.f,1.f,0.0001f,6); + V=PHelper().CreateFloat (items, PrepareKey(pref, g_pStringTable->translate("ed_st_light_linear").c_str()), &m_Attenuation1,0.f,1.f,0.0001f,6); V->OnChangeEvent.bind (this,&CLight::OnPointDataChange); - V=PHelper().CreateFloat (items, PrepareKey(pref, "Attenuation\\Quadratic"), &m_Attenuation2,0.f,1.f,0.0001f,6); + V=PHelper().CreateFloat (items, PrepareKey(pref, g_pStringTable->translate("ed_st_light_quadratic").c_str()), &m_Attenuation2,0.f,1.f,0.0001f,6); V->OnChangeEvent.bind (this,&CLight::OnPointDataChange); ButtonValue* B=0; - B=PHelper().CreateButton(items, PrepareKey(pref, "Attenuation\\Auto"),"Linear,Quadratic",0); + B=PHelper().CreateButton(items, PrepareKey(pref, g_pStringTable->translate("ed_st_light_auto").c_str()),g_pStringTable->translate("ed_st_linear_quadratic").c_str(), 0); B->OnBtnClickEvent.bind (this,&CLight::OnAutoClick); CanvasValue* C=0; - C=PHelper().CreateCanvas (items, PrepareKey(pref, "Attenuation\\Graphic"), "", 64); + C=PHelper().CreateCanvas (items, PrepareKey(pref, g_pStringTable->translate("ed_st_light_graphic").c_str()), "", 64); C->tag = (size_t)this; C->OnDrawCanvasEvent.bind(this,&CLight::OnAttenuationDraw); C->OnTestEqual.bind (this,&CLight::OnPointDataTestEqual); @@ -173,31 +173,31 @@ xr_token fuzzy_shape_types[]={ void CLight::FillPointProp(LPCSTR pref, PropItemVec& items) { // flags - PHelper().CreateFlag32(items, PrepareKey(pref,"Usage\\LightMap"), &m_Flags, ELight::flAffectStatic); - PHelper().CreateFlag32(items, PrepareKey(pref,"Usage\\Dynamic"), &m_Flags, ELight::flAffectDynamic); - PHelper().CreateFlag32(items, PrepareKey(pref,"Usage\\Animated"), &m_Flags, ELight::flProcedural); + PHelper().CreateFlag32(items, PrepareKey(pref,g_pStringTable->translate("ed_st_light_lm").c_str()), &m_Flags, ELight::flAffectStatic); + PHelper().CreateFlag32(items, PrepareKey(pref,g_pStringTable->translate("ed_st_light_dynamic").c_str()), &m_Flags, ELight::flAffectDynamic); + PHelper().CreateFlag32(items, PrepareKey(pref,g_pStringTable->translate("ed_st_light_animated").c_str()), &m_Flags, ELight::flProcedural); // PHelper().CreateFlag32 (items, PrepareKey(pref,"Flags\\Breakable"),&m_Flags, CLight::flBreaking); FillAttProp (pref,items); PropValue* P=0; ButtonValue* B=0; - P=PHelper().CreateFlag32(items, PrepareKey(pref, "Fuzzy"), &m_Flags, ELight::flPointFuzzy); + P=PHelper().CreateFlag32(items, PrepareKey(pref, g_pStringTable->translate("ed_st_fuzzy").c_str()), &m_Flags, ELight::flPointFuzzy); P->OnChangeEvent.bind (this,&CLight::OnFuzzyFlagChange); if (m_Flags.is(ELight::flPointFuzzy)){ VERIFY (m_FuzzyData); - P=PHelper().CreateS16 (items, PrepareKey(pref, "Fuzzy\\Count"), &m_FuzzyData->m_PointCount,1,100); + P=PHelper().CreateS16 (items, PrepareKey(pref, g_pStringTable->translate("ed_st_fuzzy_count").c_str()), &m_FuzzyData->m_PointCount,1,100); P->OnChangeEvent.bind (this,&CLight::OnFuzzyDataChange); - B=PHelper().CreateButton (items, PrepareKey(pref, "Fuzzy\\Generate"),"Random",0); + B=PHelper().CreateButton (items, PrepareKey(pref, g_pStringTable->translate("ed_st_fuzzy_generate").c_str()),g_pStringTable->translate("ed_st_random").c_str(), 0); B->OnBtnClickEvent.bind (this,&CLight::OnFuzzyGenerateClick); - P=PHelper().CreateToken8 (items, PrepareKey(pref, "Fuzzy\\Shape"), (u8*)&m_FuzzyData->m_ShapeType, fuzzy_shape_types); + P=PHelper().CreateToken8 (items, PrepareKey(pref, g_pStringTable->translate("ed_st_fuzzy_shape").c_str()), (u8*)&m_FuzzyData->m_ShapeType, fuzzy_shape_types); P->OnChangeEvent.bind (this,&CLight::OnFuzzyTypeChange); switch (m_FuzzyData->m_ShapeType){ case CLight::SFuzzyData::fstSphere: - P=PHelper().CreateFloat(items, PrepareKey(pref, "Fuzzy\\Radius"), &m_FuzzyData->m_SphereRadius,0.01f,100.f,0.01f,2); + P=PHelper().CreateFloat(items, PrepareKey(pref, g_pStringTable->translate("ed_st_fuzzy_radius").c_str()), &m_FuzzyData->m_SphereRadius,0.01f,100.f,0.01f,2); P->OnChangeEvent.bind (this,&CLight::OnFuzzyDataChange); break; case CLight::SFuzzyData::fstBox: - P=PHelper().CreateVector(items, PrepareKey(pref, "Fuzzy\\Half Dimension"),&m_FuzzyData->m_BoxDimension,0.01f,100.f,0.01f,2); + P=PHelper().CreateVector(items, PrepareKey(pref, g_pStringTable->translate("ed_st_fuzzy_half_dim").c_str()),&m_FuzzyData->m_BoxDimension,0.01f,100.f,0.01f,2); P->OnChangeEvent.bind (this,&CLight::OnFuzzyDataChange); break; } @@ -208,14 +208,14 @@ void CLight::FillPointProp(LPCSTR pref, PropItemVec& items) void CLight::FillSpotProp(LPCSTR pref, PropItemVec& items) { // flags - PHelper().CreateFlag32(items, PrepareKey(pref,"Usage\\LightMap"), &m_Flags, ELight::flAffectStatic); - PHelper().CreateFlag32(items, PrepareKey(pref,"Usage\\Dynamic"), &m_Flags, ELight::flAffectDynamic); - PHelper().CreateFlag32(items, PrepareKey(pref,"Usage\\Animated"), &m_Flags, ELight::flProcedural); + PHelper().CreateFlag32(items, PrepareKey(pref,g_pStringTable->translate("ed_st_light_lm").c_str()), &m_Flags, ELight::flAffectStatic); + PHelper().CreateFlag32(items, PrepareKey(pref,g_pStringTable->translate("ed_st_light_dynamic").c_str()), &m_Flags, ELight::flAffectDynamic); + PHelper().CreateFlag32(items, PrepareKey(pref,g_pStringTable->translate("ed_st_light_animated").c_str()), &m_Flags, ELight::flProcedural); // PHelper().CreateFlag32 (items, PHelper().PrepareKey(pref,"Flags\\Breakable"),&m_Flags, CLight::flBreaking); FillAttProp (pref,items); - PHelper().CreateAngle (items, PrepareKey(pref, "Spot R1\\Cone Angle"), &m_Cone, 0.1f,deg2rad(120.f),0.01f,2); - PHelper().CreateChoose (items, PrepareKey(pref, "Spot R1\\Texture"), &m_FalloffTex, smTexture); + PHelper().CreateAngle (items, PrepareKey(pref, g_pStringTable->translate("ed_st_spot_cone_angle").c_str()), &m_Cone, 0.1f,deg2rad(120.f),0.01f,2); + PHelper().CreateChoose (items, PrepareKey(pref, g_pStringTable->translate("ed_st_spot_texture").c_str()), &m_FalloffTex, smTexture); } @@ -231,22 +231,22 @@ void CLight::FillProp(LPCSTR pref, PropItemVec& items) PropValue* V=0; - V=PHelper().CreateToken32 (items, PrepareKey(pref,"Type"), (u32*)&m_Type,token_light_type); + V=PHelper().CreateToken32 (items, PrepareKey(pref,g_pStringTable->translate("ed_st_type").c_str()), (u32*)&m_Type,token_light_type); V->OnChangeEvent.bind (this,&CLight::OnTypeChange); - V=PHelper().CreateFColor(items, PrepareKey(pref,"Color"), &m_Color); + V=PHelper().CreateFColor(items, PrepareKey(pref,g_pStringTable->translate("ed_st_color").c_str()), &m_Color); V->OnChangeEvent.bind (this,&CLight::OnNeedUpdate); - V=PHelper().CreateFloat (items, PrepareKey(pref,"Brightness"), &m_Brightness,-3.f,3.f,0.1f,2); + V=PHelper().CreateFloat (items, PrepareKey(pref,g_pStringTable->translate("ed_st_brightness").c_str()), &m_Brightness,-3.f,3.f,0.1f,2); V->OnChangeEvent.bind (this,&CLight::OnPointDataChange); ESceneLightTool* lt = dynamic_cast(FParentTools); VERIFY(lt); - PHelper().CreateRToken32(items,PrepareKey(pref,"Light Control"), &m_LControl, &*lt->lcontrols.begin(), lt->lcontrols.size()); + PHelper().CreateRToken32(items,PrepareKey(pref,g_pStringTable->translate("ed_st_light_ctrl").c_str()), &m_LControl, &*lt->lcontrols.begin(), lt->lcontrols.size()); switch(m_Type){ case ELight::ltPoint: FillPointProp (pref, items); break; case ELight::ltSpot: FillSpotProp (pref, items); break; default: THROW; } - PHelper().CreateBOOL (items, PrepareKey(pref,"Use In D3D"), &m_UseInD3D); + PHelper().CreateBOOL (items, PrepareKey(pref,g_pStringTable->translate("ed_st_use_in_d3d").c_str()), &m_UseInD3D); } void CLight::OnTypeChange(PropValue* value) diff --git a/src/Editors/LevelEditor/Editor/Entry/Particles/EParticlesObject.cpp b/src/Editors/LevelEditor/Editor/Entry/Particles/EParticlesObject.cpp index 65644b0c83..a79d2b559c 100644 --- a/src/Editors/LevelEditor/Editor/Entry/Particles/EParticlesObject.cpp +++ b/src/Editors/LevelEditor/Editor/Entry/Particles/EParticlesObject.cpp @@ -293,7 +293,7 @@ void EParticlesObject::FillProp(LPCSTR pref, PropItemVec& items) V=PHelper().CreateChoose (items,PrepareKey(pref, g_pStringTable->translate("ed_st_reference").c_str()),&m_RefName, smParticles); V->OnChangeEvent.bind (this,&EParticlesObject::OnRefChange); ButtonValue* B; - B=PHelper().CreateButton (items,PrepareKey(pref,g_pStringTable->translate("ed_st_controls").c_str()), "Play,Stop",0); + B=PHelper().CreateButton (items,PrepareKey(pref,g_pStringTable->translate("ed_st_controls").c_str()), g_pStringTable->translate("ed_st_play_stop").c_str(), 0); B->OnBtnClickEvent.bind (this,&EParticlesObject::OnControlClick); m_GameType.FillProp (pref, items); diff --git a/src/Editors/LevelEditor/Editor/Entry/Portal/portal.cpp b/src/Editors/LevelEditor/Editor/Entry/Portal/portal.cpp index 890d26542b..6e0b0f900e 100644 --- a/src/Editors/LevelEditor/Editor/Entry/Portal/portal.cpp +++ b/src/Editors/LevelEditor/Editor/Entry/Portal/portal.cpp @@ -143,7 +143,7 @@ bool CPortal::Update(bool bLoadMode){ float m=m_Normal.magnitude(); if (fabsf(m)<=EPS_S){ Tools->m_DebugDraw.AppendWireFace(m_Vertices[0],m_Vertices[1],m_Vertices[2]); - ELog.Msg(mtError,"Portal: Degenerate portal found."); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_degenerate_portal").c_str()); SetValid(false); return false; } @@ -174,7 +174,7 @@ bool CPortal::Update(bool bLoadMode){ else if (atranslate("ed_st_portal_orientation").c_str(), GetName()); } return true; @@ -389,7 +389,7 @@ bool CPortal::LoadLTX(CInifile& ini, LPCSTR sect_name) if( version!=PORTAL_VERSION ) { - ELog.Msg( mtError, "CPortal: Unsupported version."); + ELog.Msg( mtError, g_pStringTable->translate("ed_st_portal_unsupported_ver").c_str()); return false; } @@ -403,7 +403,7 @@ bool CPortal::LoadLTX(CInifile& ini, LPCSTR sect_name) if (!m_SectorBack||!m_SectorFront) { - ELog.Msg( mtError, "Portal: Can't find required sectors.\nObject '%s' can't load.", GetName()); + ELog.Msg( mtError,g_pStringTable->translate("ed_st_portal_no_sectors").c_str(), GetName()); return false; } @@ -417,7 +417,7 @@ bool CPortal::LoadLTX(CInifile& ini, LPCSTR sect_name) } if (cnt<3) { - ELog.Msg( mtError, "Portal: '%s' can't create.\nInvalid portal. (m_Vertices.size()<3)", GetName()); + ELog.Msg( mtError, g_pStringTable->translate("ed_st_portal_not_enough_vert").c_str(), GetName()); return false; } @@ -450,7 +450,7 @@ bool CPortal::LoadStream(IReader& F) string64 buf; R_ASSERT(F.r_chunk(PORTAL_CHUNK_VERSION,&version)); if( version!=PORTAL_VERSION ){ - ELog.Msg( mtError, "CPortal: Unsupported version."); + ELog.Msg( mtError, g_pStringTable->translate("ed_st_portal_unsupported_ver").c_str()); return false; } @@ -466,7 +466,7 @@ bool CPortal::LoadStream(IReader& F) } if (!m_SectorBack||!m_SectorFront){ - ELog.Msg( mtError, "Portal: Can't find required sectors.\nObject '%s' can't load.", GetName()); + ELog.Msg( mtError,g_pStringTable->translate("ed_st_portal_no_sectors").c_str(), GetName()); return false; } @@ -475,7 +475,7 @@ bool CPortal::LoadStream(IReader& F) F.r (m_Vertices.data(), m_Vertices.size()*sizeof(Fvector)); if (m_Vertices.size()<3){ - ELog.Msg( mtError, "Portal: '%s' can't create.\nInvalid portal. (m_Vertices.size()<3)", GetName()); + ELog.Msg( mtError, g_pStringTable->translate("ed_st_portal_not_enough_vert").c_str(), GetName()); return false; } diff --git a/src/Editors/LevelEditor/Editor/Entry/Sector/sector.cpp b/src/Editors/LevelEditor/Editor/Entry/Sector/sector.cpp index 10605abc06..e54f8f34b5 100644 --- a/src/Editors/LevelEditor/Editor/Entry/Sector/sector.cpp +++ b/src/Editors/LevelEditor/Editor/Entry/Sector/sector.cpp @@ -91,7 +91,7 @@ int CSector::DelMesh (CSceneObject* O, CEditableMesh* M) } if (sector_items.empty()){ res = 2; - ELog.Msg(mtInformation,"Last mesh deleted.\nSector has no meshes and will be removed."); + ELog.Msg(mtInformation,g_pStringTable->translate("ed_st_last_mesh_deleted").c_str()); DeleteThis(); } return res; @@ -323,7 +323,7 @@ void CSector::CaptureAllUnusedMeshes() CSceneObject *obj=NULL; ObjectList& lst=Scene->ListObj(OBJCLASS_SCENEOBJECT); // ignore dynamic objects - SPBItem* pb = UI->ProgressStart(lst.size(),"Capturing unused face..."); + SPBItem* pb = UI->ProgressStart(lst.size(),g_pStringTable->translate("ed_st_capture_unused_face").c_str()); for(ObjectIt _F = lst.begin();_F!=lst.end();_F++){ pb->Inc(); obj = (CSceneObject*)(*_F); @@ -385,14 +385,14 @@ void CSector::LoadSectorDef( IReader* F ) sitem.object=(CSceneObject*)Scene->FindObjectByName(o_name,OBJCLASS_SCENEOBJECT); if (sitem.object==NULL) { - ELog.Msg (mtError,"Sector Item contains object '%s' - can't load.\nObject not found.",o_name); + ELog.Msg (mtError,g_pStringTable->translate("ed_st_sector_obj_not_found").c_str(), o_name); m_bHasLoadError = true; return; } if (!(sitem.object->IsStatic()||sitem.object->IsMUStatic())) { - ELog.Msg(mtError,"Sector Item contains object '%s' - can't load.\nObject is dynamic.",o_name); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_sector_obj_dynamic").c_str(), o_name); m_bHasLoadError = true; return; } @@ -401,7 +401,7 @@ void CSector::LoadSectorDef( IReader* F ) sitem.mesh=sitem.object->GetReference()->FindMeshByName(m_name); if (sitem.mesh==0) { - ELog.Msg(mtError,"Sector Item contains object '%s' mesh '%s' - can't load.\nMesh not found.",o_name,m_name); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_sector_mesh_not_found").c_str(), o_name, m_name); m_bHasLoadError = true; return; } @@ -423,19 +423,19 @@ void CSector::LoadSectorDefLTX( CInifile& ini, LPCSTR sect_name, u32 item_idx ) // sector item o_name = ini.r_string(sect_name, buff); if(!o_name) - ELog.Msg (mtError,"Sector Item contains not nnamed object - can't load"); + ELog.Msg (mtError,g_pStringTable->translate("ed_st_sector_obj_unnamed").c_str()); sitem.object=(CSceneObject*)Scene->FindObjectByName(o_name,OBJCLASS_SCENEOBJECT); if (sitem.object==NULL) { - ELog.Msg (mtError,"Sector Item contains object '%s' - can't load.\nObject not found.",o_name); + ELog.Msg(mtError, g_pStringTable->translate("ed_st_sector_mesh_not_found").c_str(), o_name, m_name); m_bHasLoadError = true; return; } if (!(sitem.object->IsStatic()||sitem.object->IsMUStatic())) { - ELog.Msg(mtError,"Sector Item contains object '%s' - can't load.\nObject is dynamic.",o_name); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_sector_obj_dynamic").c_str(), o_name); m_bHasLoadError = true; return; } @@ -446,7 +446,7 @@ void CSector::LoadSectorDefLTX( CInifile& ini, LPCSTR sect_name, u32 item_idx ) sitem.mesh=sitem.object->GetReference()->FindMeshByName(m_name); if (sitem.mesh==0) { - ELog.Msg(mtError,"Sector Item contains object '%s' mesh '%s' - can't load.\nMesh not found.",o_name,m_name); + ELog.Msg(mtError, g_pStringTable->translate("ed_st_sector_mesh_not_found").c_str(), o_name, m_name); m_bHasLoadError = true; return; } @@ -459,7 +459,7 @@ bool CSector::LoadLTX(CInifile& ini, LPCSTR sect_name) u32 version = ini.r_u32 (sect_name, "version"); if( version<0x0011) { - ELog.Msg( mtError, "CSector: Unsupported version."); + ELog.Msg( mtError, g_pStringTable->translate("ed_st_sector_unsupported_ver").c_str()); return false; } @@ -516,7 +516,7 @@ bool CSector::LoadStream(IReader& F) char buf[1024]; R_ASSERT(F.r_chunk(SECTOR_CHUNK_VERSION,&version)); if( version!=SECTOR_VERSION ){ - ELog.Msg( mtError, "CSector: Unsupported version."); + ELog.Msg( mtError, g_pStringTable->translate("ed_st_sector_unsupported_ver").c_str()); return false; } @@ -593,13 +593,13 @@ xr_token level_sub_map[] = void CSector::FillProp(LPCSTR pref, PropItemVec& items) { inherited::FillProp(pref,items); - PHelper().CreateFColor(items, PrepareKey(pref,"Color"), §or_color); + PHelper().CreateFColor(items, PrepareKey(pref,g_pStringTable->translate("ed_st_color").c_str()), §or_color); int faces, objects, meshes; GetCounts(&objects,&meshes,&faces); - PHelper().CreateCaption(items,PrepareKey(pref,GetName(),"Contents\\Objects"), xr_string::ToString(objects).c_str()); - PHelper().CreateCaption(items,PrepareKey(pref, GetName(),"Contents\\Meshes"), xr_string::ToString(meshes).c_str()); - PHelper().CreateCaption(items,PrepareKey(pref, GetName(),"Contents\\Faces"), xr_string::ToString(faces).c_str()); - PHelper().CreateToken8(items, PrepareKey(pref, GetName(),"Change LevelMap to"), &m_map_idx, level_sub_map); + PHelper().CreateCaption(items,PrepareKey(pref,GetName(),g_pStringTable->translate("ed_st_sector_objects").c_str()), xr_string::ToString(objects).c_str()); + PHelper().CreateCaption(items,PrepareKey(pref, GetName(),g_pStringTable->translate("ed_st_sector_meshes").c_str()), xr_string::ToString(meshes).c_str()); + PHelper().CreateCaption(items,PrepareKey(pref, GetName(),g_pStringTable->translate("ed_st_sector_faces").c_str()), xr_string::ToString(faces).c_str()); + PHelper().CreateToken8(items, PrepareKey(pref, GetName(),g_pStringTable->translate("ed_st_change_levelmap").c_str()), &m_map_idx, level_sub_map); } @@ -618,7 +618,7 @@ bool CSector::Validate(bool bMsg) int f_cnt; GetCounts (0,0,&f_cnt); if (f_cnt<=4){ - if (bMsg) ELog.Msg(mtError,"*ERROR: Sector: '%s' - face count < 4!",GetName()); + if (bMsg) ELog.Msg(mtError,g_pStringTable->translate("ed_st_sector_not_enough_faces").c_str(), GetName()); bRes = false; } // verify shader compatibility @@ -631,7 +631,7 @@ bool CSector::Validate(bool bMsg) } } if (!bRenderableFound){ - if (bMsg) ELog.Msg(mtError,"*ERROR: Sector: '%s' - can't find any renderable face!", GetName()); + if (bMsg) ELog.Msg(mtError,g_pStringTable->translate("ed_st_sector_no_renderable_faces").c_str(), GetName()); bRes = false; } return bRes; diff --git a/src/Editors/LevelEditor/Editor/Entry/Shape/EShape.cpp b/src/Editors/LevelEditor/Editor/Entry/Shape/EShape.cpp index 85a4f415b3..754a5c079a 100644 --- a/src/Editors/LevelEditor/Editor/Entry/Shape/EShape.cpp +++ b/src/Editors/LevelEditor/Editor/Entry/Shape/EShape.cpp @@ -11,7 +11,7 @@ #define SHAPE_CHUNK_SHAPES 0x0001 #define SHAPE_CHUNK_DATA 0x0002 - +// St4lker0k765: Is it even needed? Because in the code there is no refs for this token... xr_token shape_type_tok[]= { { "common", eShapeCommon }, @@ -408,7 +408,7 @@ void CEditShape::SaveStream(IWriter& F) void CEditShape::FillProp(LPCSTR pref, PropItemVec& values) { inherited::FillProp(pref,values); - PHelper().CreateCaption (values, PrepareKey(pref,"Shape usage"),m_shape_type==eShapeCommon?"common":"level bound"); + PHelper().CreateCaption (values, PrepareKey(pref,g_pStringTable->translate("ed_st_shape_usage").c_str()),m_shape_type==eShapeCommon?g_pStringTable->translate("ed_st_shape_common").c_str() : g_pStringTable->translate("ed_st_shape_level_bound").c_str()); } void CEditShape::Render(int priority, bool strictB2F) diff --git a/src/Editors/LevelEditor/Editor/Entry/Sound/ESound_Environment.cpp b/src/Editors/LevelEditor/Editor/Entry/Sound/ESound_Environment.cpp index 5c5e7265c6..30fb87f45a 100644 --- a/src/Editors/LevelEditor/Editor/Entry/Sound/ESound_Environment.cpp +++ b/src/Editors/LevelEditor/Editor/Entry/Sound/ESound_Environment.cpp @@ -46,7 +46,7 @@ bool ESoundEnvironment::LoadLTX(CInifile& ini, LPCSTR sect_name) if(version!=SOUND_ENV_VERSION) { - ELog.DlgMsg (mtError, "ESoundSource: Unsupported version."); + ELog.DlgMsg (mtError, g_pStringTable->translate("ed_st_sound_env_unsupported_ver").c_str()); return false; } inherited::LoadLTX (ini, sect_name); @@ -73,7 +73,7 @@ bool ESoundEnvironment::LoadStream(IReader& F) R_ASSERT(F.r_chunk(SOUND_CHUNK_VERSION,&version)); if(version!=SOUND_ENV_VERSION){ - ELog.DlgMsg( mtError, "ESoundSource: Unsupported version."); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_sound_env_unsupported_ver").c_str()); return false; } inherited::LoadStream (F); @@ -111,9 +111,9 @@ void ESoundEnvironment::FillProp(LPCSTR pref, PropItemVec& values) { inherited::FillProp (pref, values); PropValue* P; - P=PHelper().CreateChoose (values, PrepareKey(pref,"Environment Inner"), &m_EnvInner, smSoundEnv); + P=PHelper().CreateChoose (values, PrepareKey(pref,g_pStringTable->translate("ed_st_inner_env").c_str()), &m_EnvInner, smSoundEnv); P->OnChangeEvent.bind (this,&ESoundEnvironment::OnChangeEnvs); - P=PHelper().CreateChoose (values, PrepareKey(pref,"Environment Outer"), &m_EnvOuter, smSoundEnv); + P=PHelper().CreateChoose (values, PrepareKey(pref,g_pStringTable->translate("ed_st_outer_env").c_str()), &m_EnvOuter, smSoundEnv); P->OnChangeEvent.bind (this,&ESoundEnvironment::OnChangeEnvs); } diff --git a/src/Editors/LevelEditor/Editor/Entry/Sound/ESound_Source.cpp b/src/Editors/LevelEditor/Editor/Entry/Sound/ESound_Source.cpp index c662163bfc..3c4b6016ea 100644 --- a/src/Editors/LevelEditor/Editor/Entry/Sound/ESound_Source.cpp +++ b/src/Editors/LevelEditor/Editor/Entry/Sound/ESound_Source.cpp @@ -110,7 +110,7 @@ bool ESoundSource::LoadLTX(CInifile& ini, LPCSTR sect_name) if(version!=SOUND_SOURCE_VERSION) { - ELog.Msg( mtError, "ESoundSource: Unsupported version."); + ELog.Msg( mtError, g_pStringTable->translate("ed_st_sound_src_unsupported_ver").c_str()); return false; } @@ -176,7 +176,7 @@ bool ESoundSource::LoadStream(IReader& F) if(F.r_chunk(SOUND_CHUNK_VERSION,&version)){ if(version!=SOUND_SOURCE_VERSION){ - ELog.Msg( mtError, "ESoundSource: Unsupported version."); + ELog.Msg(mtError, g_pStringTable->translate("ed_st_sound_src_unsupported_ver").c_str()); return false; } }else return false; @@ -208,7 +208,7 @@ bool ESoundSource::LoadStream(IReader& F) m_Params.max_ai_distance= F.r_float(); }else{ if (!F.find_chunk(SOUND_CHUNK_SOURCE_PARAMS)){ - ELog.DlgMsg( mtError, "ESoundSource: Can't load Sound Source '%s'. Unsupported version.",*m_WAVName); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_sound_src_invalid_ver").c_str(), *m_WAVName); return false; } m_Params.base_volume = 1.f; @@ -303,30 +303,31 @@ void ESoundSource::FillProp(LPCSTR pref, PropItemVec& values) { inherited::FillProp (pref,values); ButtonValue* B; - B=PHelper().CreateButton (values, PrepareKey(pref,"Custom\\Controls"), "Play,Stop,Simulate",0); + B=PHelper().CreateButton (values, PrepareKey(pref,g_pStringTable->translate("ed_st_custom_controls").c_str()), g_pStringTable->translate("ed_st_play_stop_simulate").c_str(), 0); B->OnBtnClickEvent.bind (this,&ESoundSource::OnControlClick); PropValue* V; - V=PHelper().CreateChoose (values,PrepareKey(pref,"Source\\WAVE name"), &m_WAVName, smSoundSource); + V=PHelper().CreateChoose (values,PrepareKey(pref,g_pStringTable->translate("ed_st_wave_name").c_str()), &m_WAVName, smSoundSource); V->OnChangeEvent.bind (this,&ESoundSource::OnChangeWAV); - V=PHelper().CreateFloat (values,PrepareKey(pref,"Source\\Frequency"), &m_Params.freq, 0.0f,2.f); + V=PHelper().CreateFloat (values,PrepareKey(pref,g_pStringTable->translate("ed_st_sound_freq").c_str()), &m_Params.freq, 0.0f,2.f); V->OnChangeEvent.bind (this,&ESoundSource::OnChangeSource); - V=PHelper().CreateFloat (values,PrepareKey(pref,"Source\\Volume"), &m_Params.volume, 0.0f,1.f); + V=PHelper().CreateFloat (values,PrepareKey(pref,g_pStringTable->translate("ed_st_sound_volume").c_str()), &m_Params.volume, 0.0f,1.f); V->OnChangeEvent.bind (this,&ESoundSource::OnChangeSource); - V=PHelper().CreateFloat (values,PrepareKey(pref,"Source\\Min dist"), &m_Params.min_distance, 0.1f, 1000.f, 0.1f, 1); + V=PHelper().CreateFloat (values,PrepareKey(pref,g_pStringTable->translate("ed_st_sound_min_dist").c_str()), &m_Params.min_distance, 0.1f, 1000.f, 0.1f, 1); V->Owner()->Enable (FALSE); - V=PHelper().CreateFloat (values,PrepareKey(pref,"Source\\Max dist"), &m_Params.max_distance, 0.1f, 1000.f, 0.1f, 1); + V=PHelper().CreateFloat (values,PrepareKey(pref,g_pStringTable->translate("ed_st_sound_max_dist").c_str()), &m_Params.max_distance, 0.1f, 1000.f, 0.1f, 1); V->Owner()->Enable (FALSE); - V=PHelper().CreateFloat (values,PrepareKey(pref,"Source\\Max ai dist"), &m_Params.max_ai_distance, 0.1f, 1000.f, 0.1f, 1); + V=PHelper().CreateFloat (values,PrepareKey(pref,g_pStringTable->translate("ed_st_sound_max_ai_dist").c_str()), &m_Params.max_ai_distance, 0.1f, 1000.f, 0.1f, 1); V->Owner()->Enable (FALSE); - PHelper().CreateCaption (values,PrepareKey(pref,"Game\\Active time\\Hint"), "Zero - play sound looped round the clock."); - PHelper().CreateTime (values,PrepareKey(pref,"Game\\Active time\\From"), &m_ActiveTime.x); - PHelper().CreateTime (values,PrepareKey(pref,"Game\\Active time\\To"), &m_ActiveTime.y); - PHelper().CreateCaption (values,PrepareKey(pref,"Game\\Play time\\Hint"), "Zero - play sound once."); - PHelper().CreateTime (values,PrepareKey(pref,"Game\\Play time\\From"), &m_PlayTime.x); - PHelper().CreateTime (values,PrepareKey(pref,"Game\\Play time\\To"), &m_PlayTime.y); - PHelper().CreateCaption (values,PrepareKey(pref,"Game\\Pause delta\\Hint"), "Zero - play sound looped."); - PHelper().CreateTime (values,PrepareKey(pref,"Game\\Pause delta\\From"), &m_RandomPause.x); - PHelper().CreateTime (values,PrepareKey(pref,"Game\\Pause delta\\To"), &m_RandomPause.y); +#pragma todo("Fix time for sounds!") + PHelper().CreateCaption (values,PrepareKey(pref,g_pStringTable->translate("ed_st_active_time_hint").c_str()), g_pStringTable->translate("ed_st_active_time_hint_msg").c_str()); + PHelper().CreateTime (values,PrepareKey(pref,g_pStringTable->translate("ed_st_active_time_from").c_str()), &m_ActiveTime.x); + PHelper().CreateTime (values,PrepareKey(pref,g_pStringTable->translate("ed_st_active_time_to").c_str()), &m_ActiveTime.y); + PHelper().CreateCaption (values,PrepareKey(pref,g_pStringTable->translate("ed_st_play_time_hint").c_str()), g_pStringTable->translate("ed_st_play_time_hint_msg").c_str()); + PHelper().CreateTime (values,PrepareKey(pref,g_pStringTable->translate("ed_st_play_time_from").c_str()), &m_PlayTime.x); + PHelper().CreateTime (values,PrepareKey(pref,g_pStringTable->translate("ed_st_play_time_to").c_str()), &m_PlayTime.y); + PHelper().CreateCaption (values,PrepareKey(pref,g_pStringTable->translate("ed_st_pause_delta_hint").c_str()), g_pStringTable->translate("ed_st_pause_delta_hint_msg").c_str()); + PHelper().CreateTime (values,PrepareKey(pref,g_pStringTable->translate("ed_st_pause_delta_from").c_str()), &m_RandomPause.x); + PHelper().CreateTime (values,PrepareKey(pref,g_pStringTable->translate("ed_st_pause_delta_to").c_str()), &m_RandomPause.y); // V=PHelper().CreateFlag32 (values,PHelper().PrepareKey(pref,"Looped"), &m_Flags, flLooped); // V->OnChangeEvent = OnChangeSource; } diff --git a/src/Editors/LevelEditor/Editor/Entry/Spawn/SpawnPoint.cpp b/src/Editors/LevelEditor/Editor/Entry/Spawn/SpawnPoint.cpp index 3dd241e40c..4875a685a9 100644 --- a/src/Editors/LevelEditor/Editor/Entry/Spawn/SpawnPoint.cpp +++ b/src/Editors/LevelEditor/Editor/Entry/Spawn/SpawnPoint.cpp @@ -67,7 +67,7 @@ void CLE_Visual::OnChangeVisual () if(NULL==visual && !g_tmp_lock) { - xr_string _msg = "Model [" + xr_string(source->visual_name.c_str())+"] not found. Do you want to select it from library?"; + xr_string _msg = g_pStringTable->translate("ed_st_model_not_found_1").c_str() + xr_string(source->visual_name.c_str()) + g_pStringTable->translate("ed_st_model_not_found_2").c_str(); int mr = ELog.DlgMsg(mtConfirmation,mbYes |mbNo, _msg.c_str()); LPCSTR _new_val = 0; g_tmp_lock = true; @@ -132,7 +132,7 @@ void CLE_Visual::PlayAnimationFirstFrame() KA->PlayCycle (M); PauseAnimation (); }else - Msg("! visual [%s] has no animation [%s]", source->visual_name.c_str(), source->startup_animation.c_str()); + Msg(g_pStringTable->translate("ed_st_visual_no_anim").c_str(), source->visual_name.c_str(), source->startup_animation.c_str()); } if (K) K->CalculateBones(); @@ -243,7 +243,7 @@ void CSpawnPoint::SSpawnData::Create(LPCSTR _entity_ref) } else { - Log("!Can't create entity: ", _entity_ref); + Log(g_pStringTable->translate("ed_st_cant_create_entity").c_str(), _entity_ref); } m_owner->SetRenderIfSelected(pSettings->line_exist(_entity_ref, "$render_if_selected")); @@ -354,7 +354,7 @@ bool CSpawnPoint::SSpawnData::ExportGame(SExportStreams* F, CSpawnPoint* owner) ISE_Shape* cform = m_Data->shape(); // SHAPE if (cform&&!(owner->m_AttachedObject&&(owner->m_AttachedObject->FClassID==OBJCLASS_SHAPE))){ - ELog.DlgMsg (mtError,"Spawn Point: '%s' must contain attached shape.",owner->GetName()); + ELog.DlgMsg (mtError,g_pStringTable->translate("ed_st_obj_must_have_shape").c_str(), owner->GetName()); return false; } if (cform){ @@ -394,7 +394,7 @@ void CSpawnPoint::SSpawnData::PreExportSpawn(CSpawnPoint* owner) ISE_Shape* cform = m_Data->shape(); // SHAPE if (cform && !(owner->m_AttachedObject && (owner->m_AttachedObject->FClassID == OBJCLASS_SHAPE))) { - ELog.DlgMsg(mtError, "Spawn Point: '%s' must contain attached shape.", owner->GetName()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_obj_must_have_shape").c_str(), owner->GetName()); ; } if (cform) { @@ -1007,7 +1007,7 @@ bool CSpawnPoint::LoadLTX(CInifile& ini, LPCSTR sect_name) if(version<0x0014) { - ELog.Msg( mtError, "SPAWNPOINT: Unsupported version."); + ELog.Msg( mtError, g_pStringTable->translate("ed_st_spawn_unsupported").c_str()); return false; } @@ -1016,7 +1016,7 @@ bool CSpawnPoint::LoadLTX(CInifile& ini, LPCSTR sect_name) if (m_Type>=ptMaxType) { - ELog.Msg( mtError, "SPAWNPOINT: Unsupported spawn version."); + ELog.Msg( mtError, g_pStringTable->translate("ed_st_spawn_unsupported_ver").c_str()); return false; } switch (m_Type) @@ -1027,7 +1027,7 @@ bool CSpawnPoint::LoadLTX(CInifile& ini, LPCSTR sect_name) xr_strconcat(buff, sect_name, "_spawndata"); if (!m_SpawnData.LoadLTX(ini, buff)) { - ELog.Msg( mtError, "SPAWNPOINT: Can't load Spawn Data."); + ELog.Msg( mtError, g_pStringTable->translate("ed_st_spawn_cant_load").c_str()); return false; } SetValid (true); @@ -1127,7 +1127,7 @@ bool CSpawnPoint::LoadStream(IReader& F) R_ASSERT(F.r_chunk(SPAWNPOINT_CHUNK_VERSION,&version)); if(version<0x0014) { - ELog.Msg( mtError, "SPAWNPOINT: Unsupported version."); + ELog.Msg(mtError, g_pStringTable->translate("ed_st_spawn_unsupported").c_str()); return false; } @@ -1138,7 +1138,7 @@ bool CSpawnPoint::LoadStream(IReader& F) { if (!m_SpawnData.LoadStream(F)) { - ELog.Msg( mtError, "SPAWNPOINT: Can't load Spawn Data."); + ELog.Msg(mtError, g_pStringTable->translate("ed_st_spawn_cant_load").c_str()); return false; } SetValid (true); @@ -1146,7 +1146,7 @@ bool CSpawnPoint::LoadStream(IReader& F) }else{ if (F.find_chunk(SPAWNPOINT_CHUNK_TYPE)) m_Type = (EPointType)F.r_u32(); if (m_Type>=ptMaxType){ - ELog.Msg( mtError, "SPAWNPOINT: Unsupported spawn version."); + ELog.Msg(mtError, g_pStringTable->translate("ed_st_spawn_unsupported_ver").c_str()); return false; } switch (m_Type){ @@ -1262,7 +1262,7 @@ bool CSpawnPoint::ExportGame(SExportStreams* F) if (m_SpawnData.m_Data->validate()){ m_SpawnData.ExportGame (F,this); }else{ - Log ("!Invalid spawn data:",GetName()); + Log (g_pStringTable->translate("ed_st_invalid_spawn_data").c_str(), GetName()); return false; } }else{ @@ -1379,7 +1379,7 @@ void CSpawnPoint::FillProp(LPCSTR pref, PropItemVec& items) { shared_str pref1 = PrepareKey(pref,m_SpawnData.m_Data->name()); m_SpawnData.m_Profile = SectionToEditor(m_SpawnData.m_Data->name()); - ChooseValue* C = PHelper().CreateChoose(items,PrepareKey(pref1.c_str(),"Profile (spawn section)"),&m_SpawnData.m_Profile,smCustom,0,0,1,cfFullExpand); + ChooseValue* C = PHelper().CreateChoose(items,PrepareKey(pref1.c_str(),g_pStringTable->translate("ed_st_spawn_profile").c_str()),&m_SpawnData.m_Profile,smCustom,0,0,1,cfFullExpand); C->OnChooseFillEvent.bind (this,&CSpawnPoint::OnFillChooseItems); C->OnChangeEvent.bind (this,&CSpawnPoint::OnProfileChange); m_SpawnData.FillProp (pref,items); @@ -1391,52 +1391,52 @@ void CSpawnPoint::FillProp(LPCSTR pref, PropItemVec& items) if(m_RP_Type==rptItemSpawn) { - ChooseValue* C = PHelper().CreateChoose(items,PrepareKey(pref,"Respawn Point\\Profile"),&m_rpProfile,smCustom,0,0,10,cfMultiSelect); + ChooseValue* C = PHelper().CreateChoose(items,PrepareKey(pref,g_pStringTable->translate("ed_st_respawn_profile").c_str()),&m_rpProfile,smCustom,0,0,10,cfMultiSelect); C->OnChooseFillEvent.bind (this,&CSpawnPoint::OnFillRespawnItemProfile); }else { - PHelper().CreateU8 (items, PrepareKey(pref,"Respawn Point\\Team"), &m_RP_TeamID, 0,32); + PHelper().CreateU8 (items, PrepareKey(pref,g_pStringTable->translate("ed_st_respawn_team").c_str()), &m_RP_TeamID, 0,32); } - Token8Value* TV = PHelper().CreateToken8 (items, PrepareKey(pref,"Respawn Point\\Spawn Type"), &m_RP_Type, rpoint_type); + Token8Value* TV = PHelper().CreateToken8 (items, PrepareKey(pref,g_pStringTable->translate("ed_st_respawn_type").c_str()), &m_RP_Type, rpoint_type); TV->OnChangeEvent.bind (this,&CSpawnPoint::OnRPointTypeChange); m_GameType.FillProp (pref, items); }break; case ptEnvMod:{ - PHelper().CreateFloat (items, PrepareKey(pref,"Environment Modificator\\Radius"), &m_EM_Radius, EPS_L,10000.f); - PHelper().CreateFloat (items, PrepareKey(pref,"Environment Modificator\\Power"), &m_EM_Power, EPS,1000.f); + PHelper().CreateFloat (items, PrepareKey(pref,g_pStringTable->translate("ed_st_env_mod_radius").c_str()), &m_EM_Radius, EPS_L,10000.f); + PHelper().CreateFloat (items, PrepareKey(pref,g_pStringTable->translate("ed_st_env_mod_power").c_str()), &m_EM_Power, EPS,1000.f); Flag16Value* FV = NULL; - FV = PHelper().CreateFlag16(items, PrepareKey(pref,"Environment Modificator\\View Distance"), &m_EM_Flags, eViewDist); + FV = PHelper().CreateFlag16(items, PrepareKey(pref,g_pStringTable->translate("ed_st_env_mod_view_dist").c_str()), &m_EM_Flags, eViewDist); FV->OnChangeEvent.bind (this,&CSpawnPoint::OnEnvModFlagChange); if(m_EM_Flags.test(eViewDist)) - PHelper().CreateFloat(items, PrepareKey(pref,"Environment Modificator\\View Distance\\ "), &m_EM_ViewDist, EPS_L,10000.f); + PHelper().CreateFloat(items, PrepareKey(pref,g_pStringTable->translate("ed_st_env_mod_view_dist_2").c_str()), &m_EM_ViewDist, EPS_L,10000.f); - FV = PHelper().CreateFlag16(items, PrepareKey(pref,"Environment Modificator\\Fog Color"), &m_EM_Flags, eFogColor); + FV = PHelper().CreateFlag16(items, PrepareKey(pref,g_pStringTable->translate("ed_st_env_mod_fog_color").c_str()), &m_EM_Flags, eFogColor); FV->OnChangeEvent.bind (this,&CSpawnPoint::OnEnvModFlagChange); if(m_EM_Flags.test(eFogColor)) - PHelper().CreateColor (items, PrepareKey(pref,"Environment Modificator\\Fog Color\\ "), &m_EM_FogColor); + PHelper().CreateColor (items, PrepareKey(pref,g_pStringTable->translate("ed_st_env_mod_fog_color_2").c_str()), &m_EM_FogColor); - FV = PHelper().CreateFlag16(items, PrepareKey(pref,"Environment Modificator\\Fog Density"), &m_EM_Flags, eFogDensity); + FV = PHelper().CreateFlag16(items, PrepareKey(pref,g_pStringTable->translate("ed_st_env_mod_fog_density").c_str()), &m_EM_Flags, eFogDensity); FV->OnChangeEvent.bind (this,&CSpawnPoint::OnEnvModFlagChange); if(m_EM_Flags.test(eFogDensity)) - PHelper().CreateFloat (items, PrepareKey(pref,"Environment Modificator\\Fog Density\\ "), &m_EM_FogDensity, 0.f,10000.f); + PHelper().CreateFloat (items, PrepareKey(pref,g_pStringTable->translate("ed_st_env_mod_fog_density_2").c_str()), &m_EM_FogDensity, 0.f,10000.f); - FV = PHelper().CreateFlag16(items, PrepareKey(pref,"Environment Modificator\\Ambient Color"), &m_EM_Flags, eAmbientColor); + FV = PHelper().CreateFlag16(items, PrepareKey(pref,g_pStringTable->translate("ed_st_env_mod_ambient_color").c_str()), &m_EM_Flags, eAmbientColor); FV->OnChangeEvent.bind (this,&CSpawnPoint::OnEnvModFlagChange); if(m_EM_Flags.test(eAmbientColor)) - PHelper().CreateColor (items, PrepareKey(pref,"Environment Modificator\\Ambient Color\\ "), &m_EM_AmbientColor); + PHelper().CreateColor (items, PrepareKey(pref,g_pStringTable->translate("ed_st_env_mod_ambient_color_2").c_str()), &m_EM_AmbientColor); - FV = PHelper().CreateFlag16(items, PrepareKey(pref,"Environment Modificator\\Sky Color"), &m_EM_Flags, eSkyColor); + FV = PHelper().CreateFlag16(items, PrepareKey(pref,g_pStringTable->translate("ed_st_env_mod_sky_color").c_str()), &m_EM_Flags, eSkyColor); FV->OnChangeEvent.bind (this,&CSpawnPoint::OnEnvModFlagChange); if(m_EM_Flags.test(eSkyColor)) - PHelper().CreateColor (items, PrepareKey(pref,"Environment Modificator\\Sky Color\\ "), &m_EM_SkyColor); + PHelper().CreateColor (items, PrepareKey(pref,g_pStringTable->translate("ed_st_env_mod_sky_color_2").c_str()), &m_EM_SkyColor); - FV = PHelper().CreateFlag16(items, PrepareKey(pref,"Environment Modificator\\Hemi Color"), &m_EM_Flags, eHemiColor); + FV = PHelper().CreateFlag16(items, PrepareKey(pref,g_pStringTable->translate("ed_st_env_mod_hemi_color").c_str()), &m_EM_Flags, eHemiColor); FV->OnChangeEvent.bind (this,&CSpawnPoint::OnEnvModFlagChange); if(m_EM_Flags.test(eHemiColor)) - PHelper().CreateColor (items, PrepareKey(pref,"Environment Modificator\\Hemi Color\\ "), &m_EM_HemiColor); + PHelper().CreateColor (items, PrepareKey(pref,g_pStringTable->translate("ed_st_env_mod_hemi_color_2").c_str()), &m_EM_HemiColor); }break; default: THROW; } diff --git a/src/Editors/LevelEditor/Editor/Entry/StaticObject/SceneObjectIO.cpp b/src/Editors/LevelEditor/Editor/Entry/StaticObject/SceneObjectIO.cpp index d5f6deb9db..2ac1f75461 100644 --- a/src/Editors/LevelEditor/Editor/Entry/StaticObject/SceneObjectIO.cpp +++ b/src/Editors/LevelEditor/Editor/Entry/StaticObject/SceneObjectIO.cpp @@ -21,7 +21,7 @@ bool CSceneObject::LoadLTX(CInifile& ini, LPCSTR sect_name) if (!SetReference(ref_name.c_str())) { - ELog.Msg ( mtError, "CSceneObject: '%s' not found in library", ref_name.c_str() ); + ELog.Msg ( mtError, g_pStringTable->translate("ed_st_obj_not_found").c_str(), ref_name.c_str()); bRes = false; int mr = mrNone; @@ -30,7 +30,7 @@ bool CSceneObject::LoadLTX(CInifile& ini, LPCSTR sect_name) if(b_found) { xr_string _message; - _message = "Object ["+ref_name+"] not found. Relace it with ["+_new_name+"] or select other from library?"; + _message = g_pStringTable->translate("ed_st_obj_not_found_replace_1").c_str() +ref_name+ g_pStringTable->translate("ed_st_obj_not_found_replace_2").c_str() + _new_name + g_pStringTable->translate("ed_st_obj_not_found_replace_3").c_str(); mr = ELog.DlgMsg(mtConfirmation,mbYes |mbNo, _message.c_str()); if(mrYes==mr) { @@ -170,7 +170,7 @@ bool CSceneObject::LoadStream(IReader& F) if (!SetReference(buf)) { - ELog.Msg ( mtError, "CSceneObject: '%s' not found in library", buf ); + ELog.Msg ( mtError, g_pStringTable->translate("ed_st_obj_not_found").c_str(), buf); bRes = false; int mr = mrNone; @@ -179,7 +179,7 @@ bool CSceneObject::LoadStream(IReader& F) if(b_found) { xr_string _message; - _message = "Object ["+xr_string(buf)+"] not found. Relace it with ["+_new_name+"] or select other from library?"; + _message = g_pStringTable->translate("ed_st_obj_not_found_replace_1").c_str() + xr_string(buf) + g_pStringTable->translate("ed_st_obj_not_found_replace_2").c_str() + _new_name + g_pStringTable->translate("ed_st_obj_not_found_replace_3").c_str(); mr = ELog.DlgMsg(mtConfirmation,mbYes |mbNo, _message.c_str()); if(mrYes==mr) { diff --git a/src/Editors/LevelEditor/Editor/Entry/WayPoint/WayPoint.cpp b/src/Editors/LevelEditor/Editor/Entry/WayPoint/WayPoint.cpp index da7faa3084..803498d639 100644 --- a/src/Editors/LevelEditor/Editor/Entry/WayPoint/WayPoint.cpp +++ b/src/Editors/LevelEditor/Editor/Entry/WayPoint/WayPoint.cpp @@ -469,7 +469,7 @@ void CWayObject::MoveTo(const Fvector& pos, const Fvector& up) CWayPoint* sel_point = 0; for (WPIt it=m_WayPoints.begin(); it!=m_WayPoints.end(); it++) if ((*it)->m_bSelected){ - if (sel_point){ Msg("!Only one selected way point supported."); return; } + if (sel_point){ Msg(g_pStringTable->translate("ed_st_only_one_way_point").c_str()); return; } sel_point=*it; } if (sel_point) sel_point->m_vPosition.set(pos); diff --git a/src/Editors/LevelEditor/Editor/Scene/SceneIO.cpp b/src/Editors/LevelEditor/Editor/Scene/SceneIO.cpp index 38cc0632fb..6fb2a03960 100644 --- a/src/Editors/LevelEditor/Editor/Scene/SceneIO.cpp +++ b/src/Editors/LevelEditor/Editor/Scene/SceneIO.cpp @@ -105,7 +105,7 @@ void st_LevelOptions::ReadLTX(CInifile& ini) u32 vers_op = ini.r_u32(section, "version"); if( vers_op < 0x00000008 ) { - ELog.DlgMsg( mtError, "Skipping bad version of level options." ); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_level_opt_bad_ver").c_str() ); return; } @@ -152,7 +152,7 @@ void st_LevelOptions::Read(IReader& F) DWORD vers = F.r_u32( ); if( vers < 0x00000008 ) { - ELog.DlgMsg( mtError, "Skipping bad version of level options." ); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_level_opt_bad_ver").c_str() ); return; } @@ -175,7 +175,7 @@ void st_LevelOptions::Read(IReader& F) if (F.find_chunk(CHUNK_BUILD_PARAMS)) F.r(&m_BuildParams, sizeof(m_BuildParams)); }else{ - ELog.DlgMsg (mtError, "Skipping bad version of build params."); + ELog.DlgMsg (mtError, g_pStringTable->translate("ed_st_build_params_bad_ver").c_str()); m_BuildParams.Init(); } @@ -234,7 +234,7 @@ BOOL EScene::LoadLevelPartLTX(ESceneToolBase* M, LPCSTR mn) if (guid!=m_GUID) { - ELog.DlgMsg (mtError,"Skipping invalid version of level part: '%s\\%s.part'",EFS.ExtractFileName(map_name).c_str(),M->ClassName()); + ELog.DlgMsg (mtError,g_pStringTable->translate("ed_st_level_part_invalid_ver").c_str(), EFS.ExtractFileName(map_name).c_str(), M->ClassName()); return FALSE; } // read data @@ -271,7 +271,7 @@ BOOL EScene::LoadLevelPartStream(ESceneToolBase* M, LPCSTR map_name) if (guid != m_GUID) { - ELog.DlgMsg(mtError, "Skipping invalid version of level part: '%s\\%s.part'", EFS.ExtractFileName(map_name).c_str(), M->ClassName()); + ELog.DlgMsg (mtError,g_pStringTable->translate("ed_st_level_part_invalid_ver").c_str(), EFS.ExtractFileName(map_name).c_str(), M->ClassName()); FS.r_close(R); return FALSE; } @@ -284,7 +284,7 @@ BOOL EScene::LoadLevelPartStream(ESceneToolBase* M, LPCSTR map_name) } else { - ELog.DlgMsg(mtError, "Skipping corrupted version of level part: '%s\\%s.part'", EFS.ExtractFileName(map_name).c_str(), M->ClassName()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_level_part_corrupted").c_str(), EFS.ExtractFileName(map_name).c_str(), M->ClassName()); FS.r_close(R); return FALSE; } @@ -428,7 +428,7 @@ void EScene::SaveLTX(LPCSTR map_name, bool bForUndo, bool bForceSaveAll) if (!bForUndo) { m_RTFlags.set (flRT_Unsaved,FALSE); - Msg ("Saving time: %3.2f sec",T.GetElapsed_sec()); + Msg (g_pStringTable->translate("ed_st_save_time").c_str(), T.GetElapsed_sec()); } } @@ -773,7 +773,7 @@ bool EScene::LoadLTX(LPCSTR map_name, bool bUndo) DWORD version = 0; if (!map_name||(0==map_name[0])) return false; - xr_string Name = "IXR: Level Editor ["; + xr_string Name = "IX-Ray Level Editor ["; Name += map_name; Name += "]"; @@ -782,7 +782,7 @@ bool EScene::LoadLTX(LPCSTR map_name, bool bUndo) xr_string full_name; full_name = map_name; - ELog.Msg( mtInformation, "EScene: loading '%s'", map_name); + ELog.Msg( mtInformation, g_pStringTable->translate("ed_st_escene_loading").c_str(), map_name); ; if (FS.TryLoad(full_name.c_str())) { @@ -795,7 +795,7 @@ bool EScene::LoadLTX(LPCSTR map_name, bool bUndo) if (version!=CURRENT_FILE_VERSION) { - ELog.DlgMsg( mtError, "EScene: unsupported file version. Can't load Level."); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_escene_unsupported").c_str()); UI->UpdateScene(); return false; } @@ -840,14 +840,14 @@ bool EScene::LoadLTX(LPCSTR map_name, bool bUndo) { CCustomObject* O = FindObjectByName(Si->first.c_str(),OBJCLASS_SCENEOBJECT); if (!O) - ELog.Msg(mtError,"EScene: Can't find snap object '%s'.",Si->second.c_str()); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_escene_cant_find_snap").c_str(), Si->second.c_str()); else m_ESO_SnapObjects.push_back(O); } UpdateSnapList(); } - Msg("EScene: %d objects loaded, %3.2f sec", ObjCount(), T.GetElapsed_sec() ); + Msg(g_pStringTable->translate("ed_st_obj_load_stats").c_str(), ObjCount(), T.GetElapsed_sec()); UI->UpdateScene(true); @@ -859,7 +859,7 @@ bool EScene::LoadLTX(LPCSTR map_name, bool bUndo) return true; }else { - ELog.Msg(mtError,"Can't find file: '%s'",map_name); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_cant_find_file").c_str(), map_name); } return false; } @@ -870,7 +870,7 @@ bool EScene::Load(LPCSTR map_name, bool bUndo) if (!map_name||(0==map_name[0])) return false; - xr_string Name = "IXR: Level Editor ["; + xr_string Name = "IX-Ray Level Editor ["; Name += map_name; Name += "]"; @@ -879,7 +879,7 @@ bool EScene::Load(LPCSTR map_name, bool bUndo) xr_string full_name; full_name = map_name; - ELog.Msg( mtInformation, "EScene: loading '%s'", map_name); + ELog.Msg( mtInformation, g_pStringTable->translate("ed_st_escene_loading").c_str(), map_name); if ( FS.TryLoad(full_name.c_str())) { CTimer T; T.Start(); @@ -891,7 +891,7 @@ bool EScene::Load(LPCSTR map_name, bool bUndo) R_ASSERT (F->r_chunk(CHUNK_VERSION, &version)); if (version!=CURRENT_FILE_VERSION) { - ELog.DlgMsg( mtError, "EScene: unsupported file version. Can't load Level."); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_escene_unsupported").c_str()); UI->UpdateScene(); FS.r_close(F); return false; @@ -905,7 +905,7 @@ bool EScene::Load(LPCSTR map_name, bool bUndo) LOP->close (); }else { - ELog.DlgMsg (mtError, "Skipping old version of level options.\nCheck level options after loading."); + ELog.DlgMsg (mtError, g_pStringTable->translate("ed_st_level_opt_old_ver").c_str()); } // @@ -938,7 +938,7 @@ bool EScene::Load(LPCSTR map_name, bool bUndo) if (F->find_chunk(CHUNK_OBJECT_COUNT)) obj_cnt = F->r_u32(); - SPBItem* pb = UI->ProgressStart(obj_cnt,"Loading objects..."); + SPBItem* pb = UI->ProgressStart(obj_cnt,g_pStringTable->translate("ed_st_loading_obj").c_str()); ReadObjectsStream (*F,CHUNK_OBJECT_LIST, TAppendObject(this, &EScene::OnLoadAppendObject),pb); UI->ProgressEnd (pb); @@ -973,7 +973,7 @@ bool EScene::Load(LPCSTR map_name, bool bUndo) F->r_stringZ (buf); CCustomObject* O = FindObjectByName(buf.c_str(),OBJCLASS_SCENEOBJECT); if (!O) - ELog.Msg(mtError,"EScene: Can't find snap object '%s'.",buf.c_str()); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_escene_cant_find_snap").c_str(), buf.c_str()); else m_ESO_SnapObjects.push_back(O); @@ -982,7 +982,7 @@ bool EScene::Load(LPCSTR map_name, bool bUndo) UpdateSnapList(); } - Msg("EScene: %d objects loaded, %3.2f sec", ObjCount(), T.GetElapsed_sec() ); + Msg(g_pStringTable->translate("ed_st_obj_load_stats").c_str(), ObjCount(), T.GetElapsed_sec()); UI->UpdateScene(true); @@ -996,7 +996,7 @@ bool EScene::Load(LPCSTR map_name, bool bUndo) return true; }else { - ELog.Msg(mtError,"Can't find file: '%s'",map_name); + ELog.Msg(mtError, g_pStringTable->translate("ed_st_cant_find_file").c_str(), map_name); } return false; } @@ -1064,7 +1064,7 @@ bool EScene::LoadSelection( LPCSTR fname ) xr_string full_name; full_name = fname; - ELog.Msg( mtInformation, "EScene: loading part %s...", fname ); + ELog.Msg( mtInformation, g_pStringTable->translate("ed_st_loading_part").c_str(), fname); bool res = true; @@ -1076,7 +1076,7 @@ bool EScene::LoadSelection( LPCSTR fname ) // Version R_ASSERT(F->r_chunk(CHUNK_VERSION, &version)); if (version!=CURRENT_FILE_VERSION){ - ELog.DlgMsg( mtError, "EScene: unsupported file version. Can't load Level."); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_escene_unsupported").c_str()); UI->UpdateScene(); FS.r_close(F); return false; @@ -1085,7 +1085,7 @@ bool EScene::LoadSelection( LPCSTR fname ) // Objects if (!ReadObjectsStream(*F,CHUNK_OBJECT_LIST, TAppendObject (this,&EScene::OnLoadSelectionAppendObject),0)) { - ELog.DlgMsg(mtError,"EScene. Failed to load selection."); + ELog.DlgMsg(mtError,g_pStringTable->translate("ed_st_escene_sel_load_fail").c_str()); res = false; } @@ -1130,7 +1130,7 @@ void EScene::CopySelection( ObjClassID classfilter ) SetClipboardData( clipformat, hmem ); CloseClipboard(); } else { - ELog.DlgMsg( mtError, "Failed to open clipboard" ); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_cant_open_clipboard").c_str() ); GlobalFree( hmem ); } } @@ -1146,13 +1146,13 @@ void EScene::PasteSelection() LoadSelection( sceneclipdata->m_FileName ); GlobalUnlock( hmem ); } else { - ELog.DlgMsg( mtError, "No data in clipboard" ); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_clipboard_nodata").c_str() ); } CloseClipboard(); } else { - ELog.DlgMsg( mtError, "Failed to open clipboard" ); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_cant_open_clipboard").c_str() ); } } @@ -1172,13 +1172,13 @@ void EScene::DuplicateSelection(ObjClassID classfilter) LoadSelection( sceneclipdata->m_FileName ); GlobalUnlock( hmem ); } else { - ELog.DlgMsg( mtError, "No data in clipboard" ); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_clipboard_nodata").c_str() ); } CloseClipboard(); } else { - ELog.DlgMsg( mtError, "Failed to open clipboard" ); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_cant_open_clipboard").c_str() ); } } diff --git a/src/Editors/LevelEditor/Editor/Scene/SceneRender.cpp b/src/Editors/LevelEditor/Editor/Scene/SceneRender.cpp index e32fd306db..54bd87b465 100644 --- a/src/Editors/LevelEditor/Editor/Scene/SceneRender.cpp +++ b/src/Editors/LevelEditor/Editor/Scene/SceneRender.cpp @@ -17,7 +17,7 @@ doug_lea_allocator g_render_lua_allocator("render:lua"); try{\ (N->val)->RenderRoot(P,B);\ }catch(...){\ - ELog.DlgMsg(mtError, "Please notify AlexMX!!! Critical error has occured in render routine!!! [Type B] - Tools: '%s' Object: '%s'",(N->val)->FParentTools->ClassName(),(N->val)->GetName());\ + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_render_err_1").c_str(),(N->val)->FParentTools->ClassName(),(N->val)->GetName());\ }\ } @@ -40,7 +40,7 @@ void object_StrictB2F_3(EScene::mapObject_Node *N){RENDER_OBJECT(3,true);} try{\ (*s_it)->OnRenderRoot(P,B);\ }catch(...){\ - ELog.DlgMsg(mtError, "Please notify AlexMX!!! Critical error has occured in render routine!!! [Type B] - Tools: '%s'",(*s_it)->ClassName());\ + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_render_err_2").c_str(),(*s_it)->ClassName());\ }\ }\ } diff --git a/src/Editors/LevelEditor/Editor/Scene/SceneSelection.cpp b/src/Editors/LevelEditor/Editor/Scene/SceneSelection.cpp index 616a754e8a..269ec56358 100644 --- a/src/Editors/LevelEditor/Editor/Scene/SceneSelection.cpp +++ b/src/Editors/LevelEditor/Editor/Scene/SceneSelection.cpp @@ -153,6 +153,6 @@ void EScene::ZoomExtents( ObjClassID cls, BOOL bSel ) if (mt) mt->GetBBox(BB,bSel); } if (BB.is_valid()) EDevice->m_Camera.ZoomExtents(BB); - else ELog.Msg(mtError,"Can't calculate bounding box. Nothing selected or some object unsupported this function."); + else ELog.Msg(mtError,g_pStringTable->translate("ed_st_cant_calculate_bound_box").c_str()); } diff --git a/src/Editors/LevelEditor/Editor/Scene/SceneUtil.cpp b/src/Editors/LevelEditor/Editor/Scene/SceneUtil.cpp index 1a6077982a..ac9176164d 100644 --- a/src/Editors/LevelEditor/Editor/Scene/SceneUtil.cpp +++ b/src/Editors/LevelEditor/Editor/Scene/SceneUtil.cpp @@ -47,7 +47,7 @@ bool EScene::FindDuplicateName() ObjectList& lst = mt->GetObjects(); for(ObjectIt _F = lst.begin();_F!=lst.end();_F++) if (FindObjectByName((*_F)->GetName(), *_F)){ - ELog.DlgMsg(mtError,"Duplicate object name already exists: '%s'",(*_F)->GetName()); + ELog.DlgMsg(mtError,g_pStringTable->translate("ed_st_duplicate_obj_exists").c_str(), (*_F)->GetName()); return true; } } diff --git a/src/Editors/LevelEditor/Editor/Scene/scene.cpp b/src/Editors/LevelEditor/Editor/Scene/scene.cpp index 6f67290e06..cc227096cc 100644 --- a/src/Editors/LevelEditor/Editor/Scene/scene.cpp +++ b/src/Editors/LevelEditor/Editor/Scene/scene.cpp @@ -88,7 +88,7 @@ void EScene::OnCreate() m_LastAvailObject = 0; m_LevelOp.Reset (); - ELog.Msg ( mtInformation, "Scene: initialized" ); + ELog.Msg ( mtInformation, g_pStringTable->translate("ed_st_scene_init").c_str() ); m_Valid = true; m_RTFlags.zero (); ExecCommand (COMMAND_UPDATE_CAPTION); @@ -102,7 +102,7 @@ void EScene::OnDestroy() //TProperties::DestroyForm(m_SummaryInfo); Unload (FALSE); UndoClear (); - ELog.Msg ( mtInformation, "Scene: cleared" ); + ELog.Msg ( mtInformation, g_pStringTable->translate("ed_st_scene_clear").c_str() ); m_LastAvailObject = 0; m_Valid = false; DestroySceneTools (); @@ -330,7 +330,7 @@ void EScene::Clear(BOOL bEditableToolsOnly) m_game_graph.clear(); m_RTFlags.set(flIsBuildedAIMap | flIsBuildedGameGraph | flIsBuildedCForm, FALSE); - SDL_SetWindowTitle(g_AppInfo.Window, "IXR: Level Editor"); + SDL_SetWindowTitle(g_AppInfo.Window, "IX-Ray Level Editor"); } const Fvector& EScene::GetCameraPosition() const @@ -358,7 +358,7 @@ bool EScene::GetBox(Fbox& box, ObjectList& lst) if (bb.max.x > 100000.0f || bb.max.y > 100000.0f || bb.max.z > 100000.0f) { - ELog.Msg(mtError, "ERROR: Bounding box [%s]", Obj->GetName()); + ELog.Msg(mtError, g_pStringTable->translate("ed_st_bounding_box_err").c_str(), Obj->GetName()); continue; } @@ -422,11 +422,11 @@ bool EScene::IsModified() bool EScene::IfModified() { if (locked()){ - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str() ); return false; } if (m_RTFlags.is(flRT_Unsaved) && (ObjCount()||!Tools->GetEditFileName().empty())){ - int mr = ELog.DlgMsg(mtConfirmation, "The scene has been modified. Do you want to save your changes?"); + int mr = ELog.DlgMsg(mtConfirmation, g_pStringTable->translate("ed_st_save_prompt").c_str()); switch(mr){ case mrYes: if (!ExecCommand(COMMAND_SAVE)) return false; break; case mrNo:{ @@ -487,7 +487,7 @@ bool EScene::Validate(bool bNeedOkMsg, bool bTestPortal, bool bTestHOM, bool bTe for (; t_it!=t_end; t_it++){ if (t_it->second){ if (!t_it->second->Validate(bFullTest)){ - ELog.Msg(mtError,"ERROR: Validate '%s' failed!",t_it->second->ClassDesc()); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_validate_failed").c_str(), t_it->second->ClassDesc()); bRes = false; } } @@ -506,30 +506,30 @@ bool EScene::Validate(bool bNeedOkMsg, bool bTestPortal, bool bTestHOM, bool bTe if (O->m_objectFlags.is(CEditableObject::eoHOM)){ bHasHOM = true; break; } } if (!bHasHOM) - Msg("!Level doesn't contain HOM objects!"); + Msg(g_pStringTable->translate("ed_st_no_hom_obj").c_str()); //. if (mrNo==ELog.DlgMsg(mtConfirmation,mbYes |mbNo,"Level doesn't contain HOM.\nContinue anyway?")) //. return false; } if (ObjCount(OBJCLASS_SPAWNPOINT)==0){ - ELog.Msg(mtError,"*ERROR: Can't find any Spawn Object."); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_no_spawn").c_str()); bRes = false; } if (ObjCount(OBJCLASS_LIGHT)==0){ - ELog.Msg(mtError,"*ERROR: Can't find any Light Object."); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_no_lights").c_str()); bRes = false; } if (ObjCount(OBJCLASS_SCENEOBJECT)==0){ - ELog.Msg(mtError,"*ERROR: Can't find any Scene Object."); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_no_objects").c_str()); bRes = false; } if (bTestGlow){ if (ObjCount(OBJCLASS_GLOW)==0){ - ELog.Msg(mtError,"*ERROR: Can't find any Glow Object."); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_no_glow").c_str()); bRes = false; } } if (FindDuplicateName()){ - ELog.Msg(mtError,"*ERROR: Found duplicate object name."); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_duplicate_name_exist").c_str()); bRes = false; } @@ -552,11 +552,11 @@ bool EScene::Validate(bool bNeedOkMsg, bool bTestPortal, bool bTestHOM, bool bTe } } if (!res){ - ELog.Msg (mtError,"*ERROR: Scene has non compatible shaders. See log."); + ELog.Msg (mtError,g_pStringTable->translate("ed_st_uncompatible_shaders").c_str()); bRes = false; } if (0==static_obj){ - ELog.Msg (mtError,"*ERROR: Can't find static geometry."); + ELog.Msg (mtError,g_pStringTable->translate("ed_st_no_geom").c_str()); bRes = false; } } @@ -569,16 +569,16 @@ bool EScene::Validate(bool bNeedOkMsg, bool bTestPortal, bool bTestHOM, bool bTe for(ObjectIt it=lst.begin();it!=lst.end();it++){ EParticlesObject* S = (EParticlesObject*)(*it); if (!S->GetParticles()){ - ELog.Msg(mtError,"*ERROR: Particle System hasn't reference."); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_no_particle_ref").c_str()); bRes = false; } } } if (bRes){ - if (bNeedOkMsg) ELog.DlgMsg(mtInformation,"Validation OK!"); + if (bNeedOkMsg) ELog.DlgMsg(mtInformation,g_pStringTable->translate("ed_st_validation_success").c_str()); }else{ - ELog.DlgMsg(mtInformation,"Validation FAILED!"); + ELog.DlgMsg(mtInformation,g_pStringTable->translate("ed_st_validation_failed").c_str()); } return bRes; } @@ -649,37 +649,37 @@ void EScene::OnNameChange(PropValue* sender) void EScene::FillProp(LPCSTR pref, PropItemVec& items, ObjClassID cls_id) { - PHelper().CreateCaption (items,PrepareKey(pref,"Scene\\Name"), LTools->m_LastFileName.c_str()); + PHelper().CreateCaption (items,PrepareKey(pref,g_pStringTable->translate("ed_st_scene_name").c_str()), LTools->m_LastFileName.c_str()); - PHelper().CreateRText (items,PrepareKey(pref,"Scene\\Name prefix"), &m_LevelOp.m_LevelPrefix); + PHelper().CreateRText (items,PrepareKey(pref,g_pStringTable->translate("ed_st_scene_name_prefix").c_str()), &m_LevelOp.m_LevelPrefix); PropValue* V; - auto NaneProp = PHelper().CreateRText (items,PrepareKey(pref,"Scene\\Build options\\Level path"), &m_LevelOp.m_FNLevelPath); + auto NaneProp = PHelper().CreateRText (items,PrepareKey(pref,g_pStringTable->translate("ed_st_level_path").c_str()), &m_LevelOp.m_FNLevelPath); NaneProp->OnChangeEvent.bind(this, &EScene::OnNameChange); - PHelper().CreateRText (items,PrepareKey(pref,"Scene\\Build options\\Custom data"), &m_LevelOp.m_BOPText); - PHelper().CreateRText (items,PrepareKey(pref,"Scene\\Map version"), &m_LevelOp.m_map_version); + PHelper().CreateRText (items,PrepareKey(pref,g_pStringTable->translate("ed_st_scene_custom_data").c_str()), &m_LevelOp.m_BOPText); + PHelper().CreateRText (items,PrepareKey(pref,g_pStringTable->translate("ed_st_map_version").c_str()), &m_LevelOp.m_map_version); m_LevelOp.m_mapUsage.FillProp("Scene\\Usage", items); // common ButtonValue* B; - B=PHelper().CreateButton (items,PrepareKey(pref,"Scene\\Build options\\Quality"), "Draft,High,Custom",0); + B=PHelper().CreateButton (items,PrepareKey(pref,g_pStringTable->translate("ed_st_scene_quality").c_str()), "Draft,High,Custom",0); B->OnBtnClickEvent.bind (this,&EScene::OnBuildControlClick); BOOL enabled = (m_LevelOp.m_BuildParams.m_quality==ebqCustom); - V=PHelper().CreateU8 (items,PrepareKey(pref,"Scene\\Build options\\Lighting\\Hemisphere quality [0-3]"), &m_LevelOp.m_LightHemiQuality, 0,3); V->Owner()->Enable(enabled); - V=PHelper().CreateU8 (items,PrepareKey(pref,"Scene\\Build options\\Lighting\\Sun shadow quality [0-3]"), &m_LevelOp.m_LightSunQuality, 0,3); V->Owner()->Enable(enabled); + V=PHelper().CreateU8 (items,PrepareKey(pref,g_pStringTable->translate("ed_st_hemi_quality").c_str()), &m_LevelOp.m_LightHemiQuality, 0,3); V->Owner()->Enable(enabled); + V=PHelper().CreateU8 (items,PrepareKey(pref,g_pStringTable->translate("ed_st_sun_shadow_quality").c_str()), &m_LevelOp.m_LightSunQuality, 0,3); V->Owner()->Enable(enabled); // Build Options // Normals & optimization - V=PHelper().CreateFloat (items,PrepareKey(pref,"Scene\\Build options\\Optimizing\\Normal smooth angle"), &m_LevelOp.m_BuildParams.m_sm_angle, 0.f,180.f); V->Owner()->Enable(enabled); - V=PHelper().CreateFloat (items,PrepareKey(pref,"Scene\\Build options\\Optimizing\\Weld distance (m)"), &m_LevelOp.m_BuildParams.m_weld_distance, 0.f,1.f,0.001f,4); V->Owner()->Enable(enabled); + V=PHelper().CreateFloat (items,PrepareKey(pref,g_pStringTable->translate("ed_st_normal_smooth_angle").c_str()), &m_LevelOp.m_BuildParams.m_sm_angle, 0.f,180.f); V->Owner()->Enable(enabled); + V=PHelper().CreateFloat (items,PrepareKey(pref,g_pStringTable->translate("ed_st_weld_dist").c_str()), &m_LevelOp.m_BuildParams.m_weld_distance, 0.f,1.f,0.001f,4); V->Owner()->Enable(enabled); // Light maps - V=PHelper().CreateFloat (items,PrepareKey(pref,"Scene\\Build options\\Lighting\\Pixel per meter"), &m_LevelOp.m_BuildParams.m_lm_pixels_per_meter, 0.f,20.f); V->Owner()->Enable(enabled); - V=PHelper().CreateU32 (items,PrepareKey(pref,"Scene\\Build options\\Lighting\\Error (LM collapsing)"), &m_LevelOp.m_BuildParams.m_lm_rms, 0,255); V->Owner()->Enable(enabled); - V=PHelper().CreateU32 (items,PrepareKey(pref,"Scene\\Build options\\Lighting\\Error (LM zero)"), &m_LevelOp.m_BuildParams.m_lm_rms_zero, 0,255); V->Owner()->Enable(enabled); - V=PHelper().CreateToken32 (items,PrepareKey(pref,"Scene\\Build options\\Lighting\\Jitter samples"), &m_LevelOp.m_BuildParams.m_lm_jitter_samples, js_token); V->Owner()->Enable(enabled); + V=PHelper().CreateFloat (items,PrepareKey(pref,g_pStringTable->translate("ed_st_pixel_per_meter").c_str()), &m_LevelOp.m_BuildParams.m_lm_pixels_per_meter, 0.f,20.f); V->Owner()->Enable(enabled); + V=PHelper().CreateU32 (items,PrepareKey(pref,g_pStringTable->translate("ed_st_error_lm_collapse").c_str()), &m_LevelOp.m_BuildParams.m_lm_rms, 0,255); V->Owner()->Enable(enabled); + V=PHelper().CreateU32 (items,PrepareKey(pref,g_pStringTable->translate("ed_st_error_lm_zero").c_str()), &m_LevelOp.m_BuildParams.m_lm_rms_zero, 0,255); V->Owner()->Enable(enabled); + V=PHelper().CreateToken32 (items,PrepareKey(pref,g_pStringTable->translate("ed_st_jitter_samples").c_str()), &m_LevelOp.m_BuildParams.m_lm_jitter_samples, js_token); V->Owner()->Enable(enabled); // tools options { @@ -832,7 +832,7 @@ bool EScene::BuildCForm() { if (!m_cfrom_builder.build()) { - Msg("! CForm is empty!"); + Msg(g_pStringTable->translate("ed_st_cform_empty_log").c_str()); return false; } m_RTFlags.set(flIsBuildedCForm, TRUE); @@ -865,7 +865,7 @@ void EScene::RegisterSubstObjectName(const xr_string& _from, const xr_string& _t xr_string _tmp; bool b = GetSubstObjectName(_from, _tmp); if(b) - Msg("! subst for '%s' already exist -'%s'",_from.c_str(), _tmp.c_str()); + Msg(g_pStringTable->translate("ed_st_subst_exist").c_str(), _from.c_str(), _tmp.c_str()); TSubstPairs_it It = m_subst_pairs.begin(); TSubstPairs_it It_e = m_subst_pairs.end(); diff --git a/src/Editors/LevelEditor/Editor/Scene/scene_spawn.cpp b/src/Editors/LevelEditor/Editor/Scene/scene_spawn.cpp index 1b2e4b4eea..820e59bf8a 100644 --- a/src/Editors/LevelEditor/Editor/Scene/scene_spawn.cpp +++ b/src/Editors/LevelEditor/Editor/Scene/scene_spawn.cpp @@ -7,7 +7,7 @@ bool EScene::BuildSpawn() { if (!BuildCForm()) { - ELog.DlgMsg(mtError, mbOK, "CFrom is empty!\nSee log."); + ELog.DlgMsg(mtError, mbOK, g_pStringTable->translate("ed_st_cform_empty").c_str()); return false; } } @@ -15,7 +15,7 @@ bool EScene::BuildSpawn() { if (!BuildAIMap()) { - ELog.DlgMsg(mtError, mbOK, "AIMap is empty!\nSee log."); + ELog.DlgMsg(mtError, mbOK, g_pStringTable->translate("ed_st_ai_map_empty").c_str()); return false; } } @@ -23,7 +23,7 @@ bool EScene::BuildSpawn() { if (!BuildGameGraph()) { - ELog.DlgMsg(mtError, mbOK, "GameGraph is empty!\nSee log."); + ELog.DlgMsg(mtError, mbOK, g_pStringTable->translate("ed_st_game_graph_empty").c_str()); return false; } } @@ -32,7 +32,7 @@ bool EScene::BuildSpawn() CGameSpawnConstructor SpawnConstructor; if (!SpawnConstructor.build(Scene->m_LevelOp.m_FNLevelPath.c_str(), m_spawn_data, Scene->m_LevelOp.m_FNLevelPath.c_str(), true)) { - ELog.DlgMsg(mtError, mbOK, "! Failed build spawn! \nSee log."); + ELog.DlgMsg(mtError, mbOK, g_pStringTable->translate("ed_st_spawn_failed").c_str()); UI->CloseConsole(); return false; } @@ -58,7 +58,7 @@ bool EScene::BuildForPCPlay() !FS.exist("$game_levels$", N4) ) { - ELog.DlgMsg(mtError, mbOK, "Level is not builded!"); + ELog.DlgMsg(mtError, mbOK, g_pStringTable->translate("ed_st_level_build_failed").c_str()); return false; } @@ -66,7 +66,7 @@ bool EScene::BuildForPCPlay() { if (!BuildCForm()) { - ELog.DlgMsg(mtError, mbOK, "CFrom is empty!\nSee log."); + ELog.DlgMsg(mtError, mbOK, g_pStringTable->translate("ed_st_cform_empty").c_str()); return false; } } @@ -74,7 +74,7 @@ bool EScene::BuildForPCPlay() { if (!BuildAIMap()) { - ELog.DlgMsg(mtError, mbOK, "AIMap is empty!\nSee log."); + ELog.DlgMsg(mtError, mbOK, g_pStringTable->translate("ed_st_ai_map_empty").c_str()); return false; } } @@ -82,21 +82,21 @@ bool EScene::BuildForPCPlay() { if (!BuildGameGraph()) { - ELog.DlgMsg(mtError, mbOK, "GameGraph is empty!\nSee log."); + ELog.DlgMsg(mtError, mbOK, g_pStringTable->translate("ed_st_game_graph_empty").c_str()); return false; } } UI->ShowConsole(); if (!m_level_graph.save_temp()) { - ELog.DlgMsg(mtError, mbOK, "level.ai.temp can't save!\nSee log."); + ELog.DlgMsg(mtError, mbOK, g_pStringTable->translate("ed_st_level_ai_temp_cant_save").c_str()); return false; } CGameSpawnConstructor SpawnConstructor; if (!SpawnConstructor.build(Scene->m_LevelOp.m_FNLevelPath.c_str(),"editor", Scene->m_LevelOp.m_FNLevelPath.c_str(), true)) { - ELog.DlgMsg(mtError, mbOK, "! Failed build spawn! \nSee log."); + ELog.DlgMsg(mtError, mbOK, g_pStringTable->translate("ed_st_spawn_failed").c_str()); UI->CloseConsole(); return false; } diff --git a/src/Editors/LevelEditor/Editor/Tools/AIMap/ESceneAIMapTools.cpp b/src/Editors/LevelEditor/Editor/Tools/AIMap/ESceneAIMapTools.cpp index d8ef4c8b56..cd2b5209fa 100644 --- a/src/Editors/LevelEditor/Editor/Tools/AIMap/ESceneAIMapTools.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/AIMap/ESceneAIMapTools.cpp @@ -228,7 +228,7 @@ void ESceneAIMapTool::DenumerateNodes() (((u32)(*it)->n2n2==InvalidNode))&& (((u32)(*it)->n3n3==InvalidNode))&& (((u32)(*it)->n4n4==InvalidNode)))){ - ELog.Msg(mtError,"Node: has wrong link [%3.2f, %3.2f, %3.2f], {%d,%d,%d,%d}",VPUSH((*it)->Pos),(*it)->n1,(*it)->n2,(*it)->n3,(*it)->n4); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_node_has_wrong_link").c_str(), VPUSH((*it)->Pos), (*it)->n1, (*it)->n2, (*it)->n3, (*it)->n4); (*it)->n1 = 0; (*it)->n2 = 0; (*it)->n3 = 0; @@ -301,7 +301,7 @@ bool ESceneAIMapTool::LoadStream(IReader& F) R_ASSERT(F.r_chunk(AIMAP_CHUNK_VERSION,&version)); if( version!=AIMAP_VERSION ){ - ELog.DlgMsg( mtError, "AIMap: Unsupported version."); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_ai_map_unsupported_ver").c_str()); return false; } @@ -338,7 +338,7 @@ bool ESceneAIMapTool::LoadStream(IReader& F) for (int i=0; iFindObjectByName(buf.c_str(),OBJCLASS_SCENEOBJECT); - if (!O) ELog.Msg(mtError,"AIMap: Can't find snap object '%s'.",buf.c_str()); + if (!O) ELog.Msg(mtError,g_pStringTable->translate("ed_st_ai_map_cant_find_snap").c_str(), buf.c_str()); else m_SnapObjects.push_back(O); } } @@ -441,7 +441,7 @@ int ESceneAIMapTool::AddNode(const Fvector& pos, bool bIgnoreConstraints, bool b if (bAutoLink) UpdateLinks(N,bIgnoreConstraints); return 1; }else{ - ELog.Msg (mtError,"Can't create node."); + ELog.Msg (mtError,g_pStringTable->translate("ed_st_cant_create_node").c_str()); return 0; } }else{ @@ -500,16 +500,16 @@ void ESceneAIMapTool::RemoveSelection() if (m_Nodes.size()==(u32)SelectionCount(true)){ Clear (true); }else{ - SPBItem* pb = UI->ProgressStart(3,"Removing nodes..."); + SPBItem* pb = UI->ProgressStart(3,g_pStringTable->translate("ed_st_removing_nodes").c_str()); // remove link to sel nodes - pb->Inc("erasing nodes"); + pb->Inc(g_pStringTable->translate("erasing nodes").c_str()); // remove sel nodes AINodeIt result = std::remove_if(m_Nodes.begin(), m_Nodes.end(), delete_sel_node_pred()); m_Nodes.erase (result,m_Nodes.end()); - pb->Inc("updating hash"); + pb->Inc(g_pStringTable->translate("ed_st_updating_hash").c_str()); hash_Clear (); hash_FillFromNodes (); - pb->Inc("end"); + pb->Inc(g_pStringTable->translate("ed_st_ai_map_end").c_str()); UI->ProgressEnd(pb); } }break; @@ -546,14 +546,14 @@ int ESceneAIMapTool::SelectionCount(bool testflag) void ESceneAIMapTool::FillProp(LPCSTR pref, PropItemVec& items) { - PHelper().CreateFlag32 (items, PrepareKey(pref,"Common\\Draw Nodes"), &m_Flags, flHideNodes, 0,0, FlagValueCustom::flInvertedDraw); - PHelper().CreateFlag32 (items, PrepareKey(pref,"Common\\Slow Calculate Mode"), &m_Flags, flSlowCalculate); - PHelper().CreateFloat (items, PrepareKey(pref,"Common\\Visible Radius"), &m_VisRadius, 10.f, 250.f); - PHelper().CreateFloat (items, PrepareKey(pref,"Common\\Smooth Height"), &m_SmoothHeight,0.1f, 100.f); + PHelper().CreateFlag32 (items, PrepareKey(pref,g_pStringTable->translate("ed_st_ai_map_draw_nodes").c_str()), &m_Flags, flHideNodes, 0,0, FlagValueCustom::flInvertedDraw); + PHelper().CreateFlag32 (items, PrepareKey(pref,g_pStringTable->translate("ed_st_ai_map_slow_calc").c_str()), &m_Flags, flSlowCalculate); + PHelper().CreateFloat (items, PrepareKey(pref,g_pStringTable->translate("ed_st_ai_map_vis_radius").c_str()), &m_VisRadius, 10.f, 250.f); + PHelper().CreateFloat (items, PrepareKey(pref,g_pStringTable->translate("ed_st_ai_map_smooth_height").c_str()), &m_SmoothHeight,0.1f, 100.f); - PHelper().CreateU32 (items, PrepareKey(pref,"Params\\Brush Size"), &m_BrushSize, 1, 100); - PHelper().CreateFloat (items, PrepareKey(pref,"Params\\Can Up"), &m_Params.fCanUP, 0.f, 10.f); - PHelper().CreateFloat (items, PrepareKey(pref,"Params\\Can Down"), &m_Params.fCanDOWN, 0.f, 10.f); + PHelper().CreateU32 (items, PrepareKey(pref,g_pStringTable->translate("ed_st_ai_map_brush_size").c_str()), &m_BrushSize, 1, 100); + PHelper().CreateFloat (items, PrepareKey(pref,g_pStringTable->translate("ed_st_ai_map_can_up").c_str()), &m_Params.fCanUP, 0.f, 10.f); + PHelper().CreateFloat (items, PrepareKey(pref,g_pStringTable->translate("ed_st_ai_map_can_down").c_str()), &m_Params.fCanDOWN, 0.f, 10.f); } void ESceneAIMapTool::GetBBox(Fbox& bb, bool bSelOnly) diff --git a/src/Editors/LevelEditor/Editor/Tools/AIMap/ESceneAIMapTools_Generate.cpp b/src/Editors/LevelEditor/Editor/Tools/AIMap/ESceneAIMapTools_Generate.cpp index 9055f9f1df..df229613ee 100644 --- a/src/Editors/LevelEditor/Editor/Tools/AIMap/ESceneAIMapTools_Generate.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/AIMap/ESceneAIMapTools_Generate.cpp @@ -396,7 +396,7 @@ int ESceneAIMapTool::BuildNodes(const Fvector& pos, int sz, bool bIC) cnt=Scene->RayQuery(PQ,Pos,Dir,3,CDB::OPT_ONLYNEAREST|CDB::OPT_CULL,GetSnapList()); if (0==cnt) { - ELog.Msg (mtInformation,"Can't align position."); + ELog.Msg (mtInformation,g_pStringTable->translate("ed_st_cant_align_pos").c_str()); return 0; } else { Pos.y = Pos.y - PQ.r_begin()->range; @@ -411,7 +411,7 @@ int ESceneAIMapTool::BuildNodes(const Fvector& pos, int sz, bool bIC) float estimated_nodes = (2*sz-1)*(2*sz-1); SPBItem* pb = 0; - if (estimated_nodes>1024) pb = UI->ProgressStart(1, "Building nodes..."); + if (estimated_nodes>1024) pb = UI->ProgressStart(1, g_pStringTable->translate("ed_st_building_nodes").c_str()); float radius = sz*m_Params.fPatchSize-EPS_L; // General cycle for (int k=0; k<(int)m_Nodes.size(); k++){ @@ -475,7 +475,7 @@ void ESceneAIMapTool::BuildNodes(bool bFromSelectedOnly) m_AIBBox.getsize (LevelSize); float estimated_nodes = (LevelSize.x/m_Params.fPatchSize)*(LevelSize.z/m_Params.fPatchSize); - SPBItem* pb = UI->ProgressStart(1, "Building nodes..."); + SPBItem* pb = UI->ProgressStart(1, g_pStringTable->translate("ed_st_building_nodes").c_str()); // General cycle for (int k=0; k<(int)m_Nodes.size(); k++){ SAINode* N = m_Nodes[k]; @@ -588,7 +588,7 @@ bool ESceneAIMapTool::GenerateMap(bool bFromSelectedOnly) if (!GetSnapList()->empty()){ if (!RealUpdateSnapList()) return false; if (m_Nodes.empty()){ - ELog.DlgMsg(mtError,"Append at least one node."); + ELog.DlgMsg(mtError,g_pStringTable->translate("ed_st_append_one_node").c_str()); return false; } @@ -615,7 +615,7 @@ bool ESceneAIMapTool::GenerateMap(bool bFromSelectedOnly) } } - SPBItem* pb = UI->ProgressStart(mesh_cnt,"Prepare collision model..."); + SPBItem* pb = UI->ProgressStart(mesh_cnt,g_pStringTable->translate("ed_st_prepare_collision").c_str()); CDB::Collector* CL = ETOOLS::create_collector(); Fvector verts[3]; @@ -661,7 +661,7 @@ bool ESceneAIMapTool::GenerateMap(bool bFromSelectedOnly) UI->ProgressEnd(pb); - UI->SetStatus ("Building collision model..."); + UI->SetStatus (g_pStringTable->translate("ed_st_build_collision").c_str()); // create CFModel m_CFModel = ETOOLS::create_model_cl(CL); ETOOLS::destroy_collector(CL); @@ -675,7 +675,7 @@ tm.Start(); tm.GetElapsed_sec(); Scene->unlock (); //. Log("-test time: ", g_tm.GetElapsed_sec()); - Msg("-building time: %.3f",tm.GetElapsed_sec()); + Msg(g_pStringTable->translate("ed_st_build_time").c_str(),tm.GetElapsed_sec()); //. Msg("-Rate: %3.2f Count: %d",(g_tm.GetElapsed_sec()/tm.GetElapsed_sec())*100.f,g_tm.count); // unload CFModel @@ -686,7 +686,7 @@ tm.GetElapsed_sec(); UI->SetStatus (""); }else{ - ELog.DlgMsg(mtError,"Fill snap list before generating slots!"); + ELog.DlgMsg(mtError,g_pStringTable->translate("ed_st_fill_snap_list").c_str()); } return bRes; } @@ -842,7 +842,7 @@ void ESceneAIMapTool::MakeLinks(u8 side_flag, EMode mode, bool bIgnoreConstraint void ESceneAIMapTool::ResetNodes() { - SPBItem* pb = UI->ProgressStart(m_Nodes.size(), "Smoothing nodes..."); + SPBItem* pb = UI->ProgressStart(m_Nodes.size(), g_pStringTable->translate("ed_st_smoothing_nodes").c_str()); int n_cnt = 0; @@ -860,7 +860,7 @@ void ESceneAIMapTool::ResetNodes() #define merge(pt) if (fsimilar(P.y,REF.y,m_SmoothHeight)) { c++; pt.add(P); } void ESceneAIMapTool::SmoothNodes() { - SPBItem* pb = UI->ProgressStart(m_Nodes.size(), "Smoothing nodes..."); + SPBItem* pb = UI->ProgressStart(m_Nodes.size(), g_pStringTable->translate("ed_st_smoothing_nodes").c_str()); AINodeVec smoothed; smoothed.reserve(m_Nodes.size()); U8Vec mark; mark.assign (m_Nodes.size(),0); diff --git a/src/Editors/LevelEditor/Editor/Tools/AIMap/ESceneAIMapTools_Pick.cpp b/src/Editors/LevelEditor/Editor/Tools/AIMap/ESceneAIMapTools_Pick.cpp index fc97fcbf26..5b95deabc1 100644 --- a/src/Editors/LevelEditor/Editor/Tools/AIMap/ESceneAIMapTools_Pick.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/AIMap/ESceneAIMapTools_Pick.cpp @@ -36,7 +36,7 @@ bool ESceneAIMapTool::PickObjects(Fvector& dest, const Fvector& start, const Fve return true; } }else{ - ELog.DlgMsg(mtInformation,"Fill object list and try again."); + ELog.DlgMsg(mtInformation,g_pStringTable->translate("ed_st_fill_obj_list").c_str()); } return false; } diff --git a/src/Editors/LevelEditor/Editor/Tools/Base/ESceneCustomOTools.cpp b/src/Editors/LevelEditor/Editor/Tools/Base/ESceneCustomOTools.cpp index 94e94b29c9..da71930972 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Base/ESceneCustomOTools.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Base/ESceneCustomOTools.cpp @@ -286,8 +286,8 @@ CCustomObject* ESceneCustomOTool::FindObjectByName(LPCSTR name, CCustomObject* p if (!_name || _name == "" || _name == " ") { - Msg("!!! Error _name = %s, %s, %s", Scene->GetOTool(CO->FClassID)->ClassName(), CO->GetName(), CO->FName); - Msg("!!! Try FIX name"); + Msg(g_pStringTable->translate("ed_st_invalid_name").c_str(), Scene->GetOTool(CO->FClassID)->ClassName(), CO->GetName(), CO->FName); + Msg(g_pStringTable->translate("ed_st_try_fix_name").c_str()); CO->SetName(Scene->GetOTool(CO->FClassID)->ClassName()); _name = CO->GetName(); } diff --git a/src/Editors/LevelEditor/Editor/Tools/Base/ESceneCustomOToolsIO.cpp b/src/Editors/LevelEditor/Editor/Tools/Base/ESceneCustomOToolsIO.cpp index 25e4b1e84f..214ee80169 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Base/ESceneCustomOToolsIO.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Base/ESceneCustomOToolsIO.cpp @@ -32,7 +32,7 @@ bool ESceneCustomOTool::LoadSelection(IReader& F) F.r_chunk (CHUNK_OBJECT_COUNT,&count); string256 Data = {}; - sprintf(Data, "Loading %s(stream)...", ClassDesc()); + sprintf(Data, g_pStringTable->translate("ed_st_loading_stream").c_str(), ClassDesc()); SPBItem* pb = UI->ProgressStart(count, Data); Scene->ReadObjectsStream (F,CHUNK_OBJECTS, EScene::TAppendObject(this, &ESceneCustomOTool::OnLoadSelectionAppendObject),pb); @@ -67,7 +67,7 @@ bool ESceneCustomOTool::LoadLTX(CInifile& ini) u32 count = ini.r_u32("main", "objects_count"); string256 Data = {}; - sprintf(Data, "Loading %s(ltx)...", ClassDesc()); + sprintf(Data, g_pStringTable->translate("ed_st_loading_ltx").c_str(), ClassDesc()); SPBItem* pb = UI->ProgressStart(count, Data); @@ -101,7 +101,7 @@ bool ESceneCustomOTool::LoadStream(IReader& F) F.r_chunk (CHUNK_OBJECT_COUNT,&count); string256 Data = {}; - sprintf(Data, "Loading %s...", ClassDesc()); + sprintf(Data, g_pStringTable->translate("ed_st_loading_class").c_str(), ClassDesc()); SPBItem* pb = UI->ProgressStart(count, Data); Scene->ReadObjectsStream (F,CHUNK_OBJECTS, EScene::TAppendObject(this, &ESceneCustomOTool::OnLoadAppendObject),pb); diff --git a/src/Editors/LevelEditor/Editor/Tools/Details/ESceneDOTools.cpp b/src/Editors/LevelEditor/Editor/Tools/Details/ESceneDOTools.cpp index 0ecf1b9f31..1e071244f1 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Details/ESceneDOTools.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Details/ESceneDOTools.cpp @@ -184,7 +184,7 @@ bool EDetailManager::ImportColorIndices(LPCSTR fname) FS.r_close (F); return true; }else{ - ELog.DlgMsg (mtError,"Can't open file '%s'.",fname); + ELog.DlgMsg (mtError,g_pStringTable->translate("ed_st_cant_open_file").c_str(), fname); return false; } } @@ -312,7 +312,7 @@ bool EDetailManager::LoadStream(IReader& F) u32 version = F.r_u32(); if (version!=DETMGR_VERSION){ - ELog.Msg(mtError,"EDetailManager: unsupported version."); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_detail_unsupported_ver").c_str()); return false; } @@ -330,7 +330,7 @@ bool EDetailManager::LoadStream(IReader& F) // objects if (!LoadColorIndices(F)){ - ELog.DlgMsg (mtError,"EDetailManager: Some objects removed. Reinitialize objects.",buf); + ELog.DlgMsg (mtError,g_pStringTable->translate("ed_st_detail_reinit_obj").c_str(), buf); InvalidateSlots (); } @@ -345,7 +345,7 @@ bool EDetailManager::LoadStream(IReader& F) for (int i=0; iFindObjectByName(buf,OBJCLASS_SCENEOBJECT); - if (!O) ELog.Msg(mtError,"EDetailManager: Can't find snap object '%s'.",buf); + if (!O) ELog.Msg(mtError,g_pStringTable->translate("ed_st_detail_cant_find_snap").c_str(), buf); else m_SnapObjects.push_back(O); } } @@ -361,7 +361,7 @@ bool EDetailManager::LoadStream(IReader& F) m_Base.CreateShader(); m_RTFlags.set(flRTGenerateBaseMesh,TRUE); }else{ - ELog.Msg(mtError,"EDetailManager: Can't find base texture '%s'.",buf); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_detail_cant_find_tex").c_str(), buf); ClearSlots(); ClearBase(); } @@ -432,10 +432,10 @@ bool EDetailManager::Export(LPCSTR path) xr_string fn = xr_string(path)+"build.details"; bool bRes=true; - SPBItem* pb = UI->ProgressStart(5,"Making details..."); + SPBItem* pb = UI->ProgressStart(5,g_pStringTable->translate("ed_st_making_details").c_str()); CMemoryWriter F; - pb->Inc ("merge textures"); + pb->Inc (g_pStringTable->translate("ed_st_merge_textures").c_str()); Fvector2Vec offsets; Fvector2Vec scales; boolVec rotated; @@ -468,7 +468,7 @@ bool EDetailManager::Export(LPCSTR path) int res = ImageLib.CreateMergedTexture(textures, do_tex_name.c_str(), STextureParams::tfDXT5, 256, 2048, 256, 2048, offsets, scales, rotated, remap); if (1!=res) bRes=FALSE; - pb->Inc ("export geometry"); + pb->Inc (g_pStringTable->translate("ed_st_export_geom").c_str()); // objects int object_idx = 0; if (bRes){ @@ -478,7 +478,7 @@ bool EDetailManager::Export(LPCSTR path) if (remap_object[it-objects.begin()]!=u8(-1)){ F.open_chunk (object_idx++); if (!((EDetail*)(*it))->m_pRefs){ - ELog.DlgMsg(mtError, "Bad object or object not found '%s'.", ((EDetail*)(*it))->m_sRefs.c_str()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_bad_obj").c_str(), ((EDetail*)(*it))->m_sRefs.c_str()); bRes=false; }else{ LPCSTR tex_name = ((EDetail*)(*it))->GetTextureName(); @@ -496,7 +496,7 @@ bool EDetailManager::Export(LPCSTR path) F.close_chunk (); } - pb->Inc ("export slots"); + pb->Inc (g_pStringTable->translate("ed_st_export_slots").c_str()); // slots if (bRes){ xr_vector dt_slots(slot_cnt); dt_slots.assign(dtSlots,dtSlots+slot_cnt); @@ -542,20 +542,20 @@ void EDetailManager::OnBaseTextureChange(PropValue* prop) { m_Base.OnImageChange (prop); InvalidateSlots (); - ELog.DlgMsg (mtInformation,"Texture changed. Reinitialize objects."); + ELog.DlgMsg (mtInformation,g_pStringTable->translate("ed_st_tex_changed").c_str()); } void EDetailManager::FillProp(LPCSTR pref, PropItemVec& items) { PropValue* P; - P=PHelper().CreateFloat (items, PrepareKey(pref,"Objects per square"), &ps_r__Detail_density); + P=PHelper().CreateFloat (items, PrepareKey(pref,g_pStringTable->translate("ed_st_obj_per_square").c_str()), &ps_r__Detail_density); P->OnChangeEvent.bind (this,&EDetailManager::OnDensityChange); - P=PHelper().CreateChoose(items, PrepareKey(pref,"Base Texture"), &m_Base.name, smTexture); + P=PHelper().CreateChoose(items, PrepareKey(pref,g_pStringTable->translate("ed_st_base_tex").c_str()), &m_Base.name, smTexture); P->OnChangeEvent.bind (this,&EDetailManager::OnBaseTextureChange); - PHelper().CreateFlag32 (items, PrepareKey(pref,"Common\\Draw objects"), &m_Flags, flObjectsDraw); - PHelper().CreateFlag32 (items, PrepareKey(pref,"Common\\Draw base texture"), &m_Flags, flBaseTextureDraw); - PHelper().CreateFlag32 (items, PrepareKey(pref,"Common\\Base texture blended"), &m_Flags, flBaseTextureBlended); - PHelper().CreateFlag32 (items, PrepareKey(pref,"Common\\Draw slot boxes"), &m_Flags, flSlotBoxesDraw); + PHelper().CreateFlag32 (items, PrepareKey(pref,g_pStringTable->translate("ed_st_detail_draw_obj").c_str()), &m_Flags, flObjectsDraw); + PHelper().CreateFlag32 (items, PrepareKey(pref,g_pStringTable->translate("ed_st_detail_draw_tex").c_str()), &m_Flags, flBaseTextureDraw); + PHelper().CreateFlag32 (items, PrepareKey(pref,g_pStringTable->translate("ed_st_detail_base_tex_blend").c_str()), &m_Flags, flBaseTextureBlended); + PHelper().CreateFlag32 (items, PrepareKey(pref,g_pStringTable->translate("ed_st_detail_draw_slots").c_str()), &m_Flags, flSlotBoxesDraw); } bool EDetailManager::GetSummaryInfo(SSceneSummary* inf) diff --git a/src/Editors/LevelEditor/Editor/Tools/Details/ESceneDOTools_Generate.cpp b/src/Editors/LevelEditor/Editor/Tools/Details/ESceneDOTools_Generate.cpp index 66414c29ff..59b2b97a4c 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Details/ESceneDOTools_Generate.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Details/ESceneDOTools_Generate.cpp @@ -80,11 +80,11 @@ void EDetailManager::FindClosestIndex(const Fcolor& C, SIndexDistVec& best) bool EDetailManager::Initialize() { if (m_SnapObjects.empty()){ - ELog.DlgMsg(mtError,"Snap list empty!"); + ELog.DlgMsg(mtError,g_pStringTable->translate("ed_st_snap_list_empty").c_str()); return false; } if (!m_Base.Valid()){ - ELog.DlgMsg(mtError,"Base texture empty!"); + ELog.DlgMsg(mtError,g_pStringTable->translate("ed_st_base_tex_empty").c_str()); return false; } if (!UpdateHeader()) return false; @@ -97,12 +97,12 @@ bool EDetailManager::Initialize() bool EDetailManager::Reinitialize() { if (m_SnapObjects.empty()){ - ELog.DlgMsg(mtError,"Snap list empty!"); - return false; + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_snap_list_empty").c_str()); + return false; } if (!m_Base.Valid()){ - ELog.DlgMsg(mtError,"Base texture empty!"); - return false; + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_base_tex_empty").c_str()); + return false; } InvalidateCache(); @@ -192,7 +192,7 @@ bool EDetailManager::UpdateSlots() xr_free (dtSlots); dtSlots = xr_alloc(dtH.size_x*dtH.size_z); - SPBItem* pb = UI->ProgressStart(dtH.size_x*dtH.size_z,"Updating bounding boxes..."); + SPBItem* pb = UI->ProgressStart(dtH.size_x*dtH.size_z,g_pStringTable->translate("ed_st_update_bound_box").c_str()); for (u32 z=0; ztranslate("ed_st_invalid_base_tex").c_str()); return false; } if (objects.empty()){ - ELog.DlgMsg(mtError,"Object list empty!"); + ELog.DlgMsg(mtError,g_pStringTable->translate("ed_st_obj_list_empty").c_str()); return false; } // update objects - SPBItem* pb = UI->ProgressStart(dtH.size_x*dtH.size_z,"Updating objects..."); + SPBItem* pb = UI->ProgressStart(dtH.size_x*dtH.size_z,g_pStringTable->translate("ed_st_update_obj").c_str()); for (u32 z=0; ztranslate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } @@ -67,7 +67,7 @@ bool ESceneFogVolumeTool::LoadSelection(IReader& F) R_ASSERT(F.r_chunk(TOOL_CHUNK_VERSION,&version)); if( version!=FOG_VOL_TOOLS_VERSION ) { - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } @@ -86,8 +86,8 @@ bool ESceneFogVolumeTool::LoadLTX(CInifile& ini) u32 version = ini.r_u32("main","version"); if( version!=FOG_VOL_TOOLS_VERSION ) { - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); - return false; + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); + return false; } inherited::LoadLTX(ini); @@ -265,11 +265,11 @@ void EFogVolume::FillPropObjects(LPCSTR pref, PropItemVec& values) inherited::FillProp (pref, values); PropValue* P; - P=PHelper().CreateToken8 (values, PrepareKey(pref,"VolumeType"), &m_volumeType, fog_vol_type); + P=PHelper().CreateToken8 (values, PrepareKey(pref,g_pStringTable->translate("ed_st_fog_type").c_str()), &m_volumeType, fog_vol_type); P->OnChangeEvent.bind (this,&EFogVolume::OnChangeEnvs); if(m_volumeType==fvEmitter) - P=PHelper().CreateRText (values, PrepareKey(pref,"profile (ltx)"), &m_volume_profile); + P=PHelper().CreateRText (values, PrepareKey(pref,g_pStringTable->translate("ed_st_fog_profile").c_str()), &m_volume_profile); } diff --git a/src/Editors/LevelEditor/Editor/Tools/Glow/ESceneGlowTools.cpp b/src/Editors/LevelEditor/Editor/Tools/Glow/ESceneGlowTools.cpp index 73d26d6f78..2a79f8315a 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Glow/ESceneGlowTools.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Glow/ESceneGlowTools.cpp @@ -16,8 +16,8 @@ void ESceneGlowTool::RemoveControls() void ESceneGlowTool::FillProp(LPCSTR pref, PropItemVec& items) { - PHelper().CreateFlag32(items, PrepareKey(pref,"Common\\Test Visibility"), &m_Flags, flTestVisibility); - PHelper().CreateFlag32(items, PrepareKey(pref,"Common\\Draw Cross"), &m_Flags, flDrawCross); + PHelper().CreateFlag32(items, PrepareKey(pref,g_pStringTable->translate("ed_st_test_vis").c_str()), &m_Flags, flTestVisibility); + PHelper().CreateFlag32(items, PrepareKey(pref,g_pStringTable->translate("ed_st_draw_cross").c_str()), &m_Flags, flDrawCross); inherited::FillProp(pref, items); } diff --git a/src/Editors/LevelEditor/Editor/Tools/Glow/ESceneGlowToolsIO.cpp b/src/Editors/LevelEditor/Editor/Tools/Glow/ESceneGlowToolsIO.cpp index cac65215c1..c713ef0c79 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Glow/ESceneGlowToolsIO.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Glow/ESceneGlowToolsIO.cpp @@ -15,7 +15,7 @@ bool ESceneGlowTool::LoadLTX(CInifile& ini) if( version!=GLOW_TOOLS_VERSION ) { - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } @@ -41,7 +41,7 @@ bool ESceneGlowTool::LoadStream(IReader& F) u16 version = 0; if(F.r_chunk(CHUNK_VERSION,&version)) if( version!=GLOW_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } @@ -71,7 +71,7 @@ bool ESceneGlowTool::LoadSelection(IReader& F) u16 version = 0; R_ASSERT(F.r_chunk(CHUNK_VERSION,&version)); if( version!=GLOW_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } diff --git a/src/Editors/LevelEditor/Editor/Tools/Glow/ESceneGroupToolsIO.cpp b/src/Editors/LevelEditor/Editor/Tools/Glow/ESceneGroupToolsIO.cpp index 43e671ba64..78780cc117 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Glow/ESceneGroupToolsIO.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Glow/ESceneGroupToolsIO.cpp @@ -14,7 +14,7 @@ bool ESceneGroupTool::LoadStream(IReader& F) if(F.r_chunk(CHUNK_VERSION,&version)) if( version!=GROUP_TOOLS_VERSION ) { - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } @@ -30,7 +30,7 @@ bool ESceneGroupTool::LoadLTX(CInifile& ini) if( version!=GROUP_TOOLS_VERSION ) { - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } if (!inherited::LoadLTX(ini)) return false; @@ -60,7 +60,7 @@ bool ESceneGroupTool::LoadSelection(IReader& F) R_ASSERT(F.r_chunk(CHUNK_VERSION,&version)); if( version!=GROUP_TOOLS_VERSION ) { - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } diff --git a/src/Editors/LevelEditor/Editor/Tools/Group/ESceneGroupTools.cpp b/src/Editors/LevelEditor/Editor/Tools/Group/ESceneGroupTools.cpp index be28c32767..d47890fee2 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Group/ESceneGroupTools.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Group/ESceneGroupTools.cpp @@ -37,14 +37,14 @@ void ESceneGroupTool::UngroupObjects(bool bUndo) xr_delete (obj); bModif = true; }else - ELog.DlgMsg (mtError,"Can't ungroup object: '%s'.",obj->GetName()); + ELog.DlgMsg (mtError,g_pStringTable->translate("ed_st_cant_ungroup").c_str(), obj->GetName()); } } if (bUndo&&bModif) Scene->UndoSave(); } if (0==sel_cnt) - ELog.Msg (mtError,"Nothing selected."); + ELog.Msg (mtError,g_pStringTable->translate("ed_st_nothing_selected").c_str()); } @@ -70,11 +70,11 @@ void ESceneGroupTool::GroupObjects(bool bUndo) if (group->ObjectInGroupCount()) { - ELog.DlgMsg(mtInformation,"Group '%s' successfully created.\nContain %d object(s)",group->GetName(),group->ObjectInGroupCount()); + ELog.DlgMsg(mtInformation,g_pStringTable->translate("ed_st_group_created").c_str(), group->GetName(), group->ObjectInGroupCount()); Scene->AppendObject(group, bUndo); }else { - ELog.DlgMsg (mtError,"Group can't be created."); + ELog.DlgMsg (mtError,g_pStringTable->translate("ed_st_cant_create_group").c_str()); xr_delete (group); } } @@ -133,7 +133,7 @@ void ESceneGroupTool::OnDrawUI() if (m_ChooseIt == m_Objects.end()) { if (0 == m_ChooseCnt) - ELog.Msg(mtError, "Nothing selected."); + ELog.Msg(mtError, g_pStringTable->translate("ed_st_nothing_selected").c_str()); else Scene->UndoSave(); EDevice->seqDrawUI.Remove(this); @@ -180,7 +180,7 @@ void ESceneGroupTool::ReloadRefsSelectedObject() bModif = true; }else { - ELog.Msg (mtError,"Can't reload group: '%s'.",obj->GetName()); + ELog.Msg (mtError,g_pStringTable->translate("ed_st_cant_reload_group").c_str(), obj->GetName()); } } } @@ -191,7 +191,7 @@ void ESceneGroupTool::ReloadRefsSelectedObject() Scene->LoadToolLTX (OBJCLASS_PORTAL, temp_file_name_portal); } if (0==sel_cnt) - ELog.Msg (mtError,"Nothing selected."); + ELog.Msg (mtError,g_pStringTable->translate("ed_st_nothing_selected").c_str()); } @@ -200,12 +200,12 @@ void ESceneGroupTool::SaveSelectedObject() u32 scnt = SelectionCount(true); if(scnt==0) { - ELog.DlgMsg(mtError,"No object(s) selected."); + ELog.DlgMsg(mtError,g_pStringTable->translate("ed_st_no_obj_selected").c_str()); return; }else if(scnt>1) { - if(mrYes != ELog.DlgMsg(mtConfirmation, mbYes | mbNo, "Process multiple objects?") ) + if(mrYes != ELog.DlgMsg(mtConfirmation, mbYes | mbNo, g_pStringTable->translate("ed_st_process_multiple").c_str()) ) return; } @@ -237,7 +237,7 @@ void ESceneGroupTool::SaveSelectedObject() obj->SaveStream (*W); FS.w_close (W); }else - ELog.DlgMsg (mtError, "Cant write file [%s]", fn.c_str()); + ELog.DlgMsg (mtError, g_pStringTable->translate("ed_st_cant_write").c_str(), fn.c_str()); } } } @@ -300,13 +300,13 @@ void ESceneGroupTool::MakeThumbnail() tex.Save (FS.get_file_age(fn)); }else { - ELog.DlgMsg (mtError,"Can't make screenshot."); + ELog.DlgMsg (mtError,g_pStringTable->translate("ed_st_cant_make_screenshot").c_str()); } object->Select (true); // restore render params psDeviceFlags = old_flag; }else { - ELog.DlgMsg (mtError,"Select 1 GroupObject."); + ELog.DlgMsg (mtError,g_pStringTable->translate("ed_st_sel_one_group_obj").c_str()); } } diff --git a/src/Editors/LevelEditor/Editor/Tools/Light/ESceneLightTools.cpp b/src/Editors/LevelEditor/Editor/Tools/Light/ESceneLightTools.cpp index 50ce31726f..5575e66e3a 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Light/ESceneLightTools.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Light/ESceneLightTools.cpp @@ -164,7 +164,6 @@ void ESceneLightTool::OnControlAppendClick(ButtonValue* sender, bool& bDataModif void ESceneLightTool::OnControlRenameRemoveClick(ButtonValue* V, bool& bDataModified, bool& bSafe) { - R_ASSERT(!"�������� �� �����������"); /* xr_string item_name = V->Owner()->Item()->Text; switch (V->btn_num){ case 0:{ @@ -192,21 +191,21 @@ void ESceneLightTool::FillProp(LPCSTR pref, PropItemVec& items) //. PHelper().CreateRToken32(items, PrepareKey(pref,"Common\\Hemisphere\\Light Control"), &m_HemiControl, &*lcontrols.begin(), lcontrols.size()); // sun - PHelper().CreateFlag32 (items, PrepareKey(pref,"Common\\Sun Shadow\\Visible"), &m_Flags, flShowSun); - PHelper().CreateAngle (items, PrepareKey(pref,"Common\\Sun Shadow\\Altitude"), &m_SunShadowDir.x, -PI_DIV_2,0); - PHelper().CreateAngle (items, PrepareKey(pref,"Common\\Sun Shadow\\Longitude"), &m_SunShadowDir.y, 0,PI_MUL_2); + PHelper().CreateFlag32 (items, PrepareKey(pref,g_pStringTable->translate("ed_st_sun_shadow_visible").c_str()), &m_Flags, flShowSun); + PHelper().CreateAngle (items, PrepareKey(pref,g_pStringTable->translate("ed_st_sun_shadow_altitude").c_str()), &m_SunShadowDir.x, -PI_DIV_2,0); + PHelper().CreateAngle (items, PrepareKey(pref,g_pStringTable->translate("ed_st_sun_shadow_longitude").c_str()), &m_SunShadowDir.y, 0,PI_MUL_2); // light controls - PHelper().CreateFlag32 (items, PrepareKey(pref,"Common\\Controls\\Draw Name"), &m_Flags, flShowControlName); - PHelper().CreateCaption (items,PrepareKey(pref,"Common\\Controls\\Count"), shared_str().printf("%d",lcontrols.size())); + PHelper().CreateFlag32 (items, PrepareKey(pref,g_pStringTable->translate("ed_st_sun_draw_name").c_str()), &m_Flags, flShowControlName); + PHelper().CreateCaption (items,PrepareKey(pref,g_pStringTable->translate("ed_st_sun_count").c_str()), shared_str().printf("%d",lcontrols.size())); // B=PHelper().CreateButton(items,PHelper().PrepareKey(pref,"Common\\Controls\\Edit"), "Append", ButtonValue::flFirstOnly); // B->OnBtnClickEvent = OnControlAppendClick; RTokenVecIt _I = lcontrols.begin(); RTokenVecIt _E = lcontrols.end(); for (;_I!=_E; _I++){ if (_I->equal(LCONTROL_HEMI)||_I->equal(LCONTROL_STATIC)||_I->equal(LCONTROL_SUN)){ - PHelper().CreateCaption(items, PrepareKey(pref,"Common\\Controls\\System",*_I->name),""); + PHelper().CreateCaption(items, PrepareKey(pref,g_pStringTable->translate("ed_st_system").c_str(), *_I->name), ""); }else{ - B=PHelper().CreateButton(items, PrepareKey(pref,"Common\\Controls\\User",*_I->name),"Rename,Remove",ButtonValue::flFirstOnly); + B=PHelper().CreateButton(items, PrepareKey(pref,g_pStringTable->translate("ed_st_user").c_str(), *_I->name), g_pStringTable->translate("ed_st_rename_remove").c_str(), ButtonValue::flFirstOnly); B->OnBtnClickEvent.bind (this,&ESceneLightTool::OnControlRenameRemoveClick); } } @@ -263,7 +262,7 @@ bool ESceneLightTool::Validate(bool full_test) CLight* L = dynamic_cast(*it); if (!L->GetLControlName()){ bRes=false; - ELog.Msg(mtError,"%s: '%s' - Invalid light control.",ClassDesc(),L->GetName()); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_invalid_light_ctrl").c_str(), ClassDesc(), L->GetName()); } } return bRes; @@ -300,10 +299,10 @@ void ESceneLightTool::OnDrawUI() if (ok) { if (FindLightControl(result.c_str())) { - ELog.DlgMsg(mtError, "Duplicate name found."); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_duplicate_name").c_str()); } else if (result.empty() || result.find("\\")!=result.npos) { - ELog.DlgMsg(mtError, "Invalid control name."); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_invalid_ctrl_name").c_str()); } else { RTokenVecIt it = FindLightControlIt(result.c_str()); diff --git a/src/Editors/LevelEditor/Editor/Tools/Light/ESceneLightTools.h b/src/Editors/LevelEditor/Editor/Tools/Light/ESceneLightTools.h index 5125cf789c..d5628ade12 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Light/ESceneLightTools.h +++ b/src/Editors/LevelEditor/Editor/Tools/Light/ESceneLightTools.h @@ -48,7 +48,7 @@ class ESceneLightTool: public ESceneCustomOTool // definition IC LPCSTR ClassName (){return "light";} - IC LPCSTR ClassDesc (){return "Light";} + IC LPCSTR ClassDesc (){return g_pStringTable->translate("ed_st_light").c_str();} IC int RenderPriority (){return 10;} // IO diff --git a/src/Editors/LevelEditor/Editor/Tools/Light/ESceneLightToolsIO.cpp b/src/Editors/LevelEditor/Editor/Tools/Light/ESceneLightToolsIO.cpp index 49bba13d78..eab007e988 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Light/ESceneLightToolsIO.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Light/ESceneLightToolsIO.cpp @@ -18,8 +18,8 @@ bool ESceneLightTool::LoadLTX(CInifile& ini) u32 version = ini.r_u32("main", "version"); if( version!=LIGHT_TOOLS_VERSION ) { - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); - return false; + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); + return false; } inherited::LoadLTX(ini); @@ -65,7 +65,7 @@ bool ESceneLightTool::LoadStream(IReader& F) u16 version = 0; if(F.r_chunk(CHUNK_VERSION,&version)) if( version!=LIGHT_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } @@ -132,7 +132,7 @@ bool ESceneLightTool::LoadSelection(IReader& F) u16 version = 0; R_ASSERT(F.r_chunk(CHUNK_VERSION,&version)); if( version!=LIGHT_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } diff --git a/src/Editors/LevelEditor/Editor/Tools/Particles/EScenePSControls.cpp b/src/Editors/LevelEditor/Editor/Tools/Particles/EScenePSControls.cpp index bfa9412178..ccc1428636 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Particles/EScenePSControls.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Particles/EScenePSControls.cpp @@ -9,11 +9,11 @@ bool TUI_ControlPSAdd::AfterAppendCallback(TShiftState Shift, CCustomObject* ob EParticlesObject* pg= dynamic_cast(obj); R_ASSERT(pg); LPCSTR ref_name = ((UIParticlesTool*)parent_tool->pForm)->Current(); if (!ref_name){ - ELog.DlgMsg(mtInformation,"Nothing selected."); + ELog.DlgMsg(mtInformation,g_pStringTable->translate("ed_st_nothing_selected").c_str()); return false; } if (!pg->Compile(ref_name)){ - ELog.DlgMsg(mtInformation,"Can't compile particle system '%s'.",ref_name); + ELog.DlgMsg(mtInformation,g_pStringTable->translate("ed_st_cant_compile_ps").c_str(), ref_name); return false; } return true; diff --git a/src/Editors/LevelEditor/Editor/Tools/Particles/EScenePSToolsIO.cpp b/src/Editors/LevelEditor/Editor/Tools/Particles/EScenePSToolsIO.cpp index 100ad26dcc..042c6e4170 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Particles/EScenePSToolsIO.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Particles/EScenePSToolsIO.cpp @@ -13,8 +13,8 @@ bool EScenePSTool::LoadLTX(CInifile& ini) u32 version = ini.r_u32("main","version"); if( version!=PS_TOOLS_VERSION ) { - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); - return false; + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); + return false; } inherited::LoadLTX(ini); @@ -31,7 +31,7 @@ bool EScenePSTool::LoadStream(IReader& F) u16 version = 0; if(F.r_chunk(CHUNK_VERSION,&version)) if( version!=PS_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } @@ -54,7 +54,7 @@ bool EScenePSTool::LoadSelection(IReader& F) u16 version = 0; R_ASSERT(F.r_chunk(CHUNK_VERSION,&version)); if( version!=PS_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } diff --git a/src/Editors/LevelEditor/Editor/Tools/Portal/EScenePortalTools.cpp b/src/Editors/LevelEditor/Editor/Tools/Portal/EScenePortalTools.cpp index 1d385b4c75..7926b1f5dd 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Portal/EScenePortalTools.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Portal/EScenePortalTools.cpp @@ -19,7 +19,7 @@ void EScenePortalTool::RemoveControls() void EScenePortalTool::FillProp(LPCSTR pref, PropItemVec& items) { - PHelper().CreateFlag32(items, PrepareKey(pref,"Common\\Draw Simple Model"),&m_Flags, flDrawSimpleModel); + PHelper().CreateFlag32(items, PrepareKey(pref,g_pStringTable->translate("ed_st_draw_simple_model").c_str()),&m_Flags, flDrawSimpleModel); inherited::FillProp (pref, items); } @@ -129,7 +129,7 @@ void EScenePortalTool::RemoveSimilar() { xr_delete(*p_del); } - ELog.DlgMsg(mtInformation,"Removed '%d' portal(s).",p_lst_del.size()); + ELog.DlgMsg(mtInformation,g_pStringTable->translate("ed_st_removed_portals_count").c_str(), p_lst_del.size()); p_lst_del.clear(); } diff --git a/src/Editors/LevelEditor/Editor/Tools/Portal/EScenePortalToolsIO.cpp b/src/Editors/LevelEditor/Editor/Tools/Portal/EScenePortalToolsIO.cpp index 236eef3407..eb408ab896 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Portal/EScenePortalToolsIO.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Portal/EScenePortalToolsIO.cpp @@ -13,8 +13,8 @@ bool EScenePortalTool::LoadLTX(CInifile& ini) u32 version = ini.r_u32("main","version"); if( version!=PORTAL_TOOLS_VERSION ) { - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); - return false; + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); + return false; } inherited::LoadLTX(ini); @@ -35,7 +35,7 @@ bool EScenePortalTool::LoadStream(IReader& F) u16 version = 0; if(F.r_chunk(CHUNK_VERSION,&version)) if( version!=PORTAL_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } @@ -65,7 +65,7 @@ bool EScenePortalTool::LoadSelection(IReader& F) u16 version = 0; R_ASSERT(F.r_chunk(CHUNK_VERSION,&version)); if( version!=PORTAL_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } diff --git a/src/Editors/LevelEditor/Editor/Tools/Sector/ESceneSectorTools.cpp b/src/Editors/LevelEditor/Editor/Tools/Sector/ESceneSectorTools.cpp index 480b469ebf..f8a97680b5 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Sector/ESceneSectorTools.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Sector/ESceneSectorTools.cpp @@ -85,7 +85,7 @@ void ESceneSectorTool::OnBeforeObjectChange(CCustomObject* O) void ESceneSectorTool::FillProp(LPCSTR pref, PropItemVec& items) { - PHelper().CreateFlag32(items, PrepareKey(pref,"Common\\Draw Solid"),&m_Flags, flDrawSolid); + PHelper().CreateFlag32(items, PrepareKey(pref,g_pStringTable->translate("ed_st_draw_solid").c_str()),&m_Flags, flDrawSolid); inherited::FillProp (pref, items); } diff --git a/src/Editors/LevelEditor/Editor/Tools/Sector/ESceneSectorToolsIO.cpp b/src/Editors/LevelEditor/Editor/Tools/Sector/ESceneSectorToolsIO.cpp index 07afa3be11..1b1128f0db 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Sector/ESceneSectorToolsIO.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Sector/ESceneSectorToolsIO.cpp @@ -13,8 +13,8 @@ bool ESceneSectorTool::LoadLTX(CInifile& ini) u32 version = ini.r_u32("main","version"); if( version!=SECTOR_TOOLS_VERSION ) { - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); - return false; + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); + return false; } inherited::LoadLTX(ini); @@ -37,7 +37,7 @@ bool ESceneSectorTool::LoadStream(IReader& F) u16 version = 0; if(F.r_chunk(CHUNK_VERSION,&version)) if( version!=SECTOR_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } @@ -67,7 +67,7 @@ bool ESceneSectorTool::LoadSelection(IReader& F) u16 version = 0; R_ASSERT(F.r_chunk(CHUNK_VERSION,&version)); if( version!=SECTOR_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } diff --git a/src/Editors/LevelEditor/Editor/Tools/Shape/ESceneShapeControls.cpp b/src/Editors/LevelEditor/Editor/Tools/Shape/ESceneShapeControls.cpp index 82ead7cf03..79d0356329 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Shape/ESceneShapeControls.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Shape/ESceneShapeControls.cpp @@ -32,7 +32,7 @@ bool TUI_ControlShapeAdd::Start(TShiftState Shift) if (from){ ObjectList lst; int cnt = Scene->GetQueryObjects(lst,OBJCLASS_SHAPE,1,1,0); - if (1!=cnt) ELog.DlgMsg(mtError,"Select one shape."); + if (1!=cnt) ELog.DlgMsg(mtError,g_pStringTable->translate("ed_st_select_one_shape").c_str()); else{ CEditShape* base = dynamic_cast(lst.back()); R_ASSERT(base); if (base!=from){ diff --git a/src/Editors/LevelEditor/Editor/Tools/Shape/ESceneShapeToolsIO.cpp b/src/Editors/LevelEditor/Editor/Tools/Shape/ESceneShapeToolsIO.cpp index 9eefa28ccf..aee017fe78 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Shape/ESceneShapeToolsIO.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Shape/ESceneShapeToolsIO.cpp @@ -12,8 +12,8 @@ bool ESceneShapeTool::LoadLTX(CInifile& ini) u32 version = ini.r_u32("main","version"); if( version!=SHAPE_TOOLS_VERSION ) { - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); - return false; + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); + return false; } inherited::LoadLTX(ini); @@ -31,7 +31,7 @@ bool ESceneShapeTool::LoadStream(IReader& F) u16 version = 0; if(F.r_chunk(CHUNK_VERSION,&version)) if( version!=SHAPE_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } @@ -54,7 +54,7 @@ bool ESceneShapeTool::LoadSelection(IReader& F) u16 version = 0; R_ASSERT(F.r_chunk(CHUNK_VERSION,&version)); if( version!=SHAPE_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } diff --git a/src/Editors/LevelEditor/Editor/Tools/Sound/ESceneSoundEnvToolsIO.cpp b/src/Editors/LevelEditor/Editor/Tools/Sound/ESceneSoundEnvToolsIO.cpp index 3363cddd04..c61e20622f 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Sound/ESceneSoundEnvToolsIO.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Sound/ESceneSoundEnvToolsIO.cpp @@ -13,8 +13,8 @@ bool ESceneSoundEnvTool::LoadLTX(CInifile& ini) u32 version = ini.r_u32("main","version"); if( version!=SOUND_ENV_TOOLS_VERSION ) { - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); - return false; + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); + return false; } inherited::LoadLTX(ini); @@ -32,7 +32,7 @@ bool ESceneSoundEnvTool::LoadStream(IReader& F) u16 version = 0; if(F.r_chunk(CHUNK_VERSION,&version)) if( version!=SOUND_ENV_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } @@ -55,7 +55,7 @@ bool ESceneSoundEnvTool::LoadSelection(IReader& F) u16 version = 0; R_ASSERT(F.r_chunk(CHUNK_VERSION,&version)); if( version!=SOUND_ENV_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } diff --git a/src/Editors/LevelEditor/Editor/Tools/Sound/ESceneSoundSrcToolsIO.cpp b/src/Editors/LevelEditor/Editor/Tools/Sound/ESceneSoundSrcToolsIO.cpp index df9cb2ee35..5ebeeb3e88 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Sound/ESceneSoundSrcToolsIO.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Sound/ESceneSoundSrcToolsIO.cpp @@ -12,8 +12,8 @@ bool ESceneSoundSrcTool::LoadLTX(CInifile& ini) u32 version = ini.r_u32("main","version"); if( version!=SOUND_SRC_TOOLS_VERSION ) { - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); - return false; + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); + return false; } inherited::LoadLTX(ini); @@ -31,7 +31,7 @@ bool ESceneSoundSrcTool::LoadStream(IReader& F) u16 version = 0; if(F.r_chunk(CHUNK_VERSION,&version)) if( version!=SOUND_SRC_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } @@ -54,7 +54,7 @@ bool ESceneSoundSrcTool::LoadSelection(IReader& F) u16 version = 0; R_ASSERT(F.r_chunk(CHUNK_VERSION,&version)); if( version!=SOUND_SRC_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } diff --git a/src/Editors/LevelEditor/Editor/Tools/Spawn/ESceneSpawnControls.cpp b/src/Editors/LevelEditor/Editor/Tools/Spawn/ESceneSpawnControls.cpp index fee39cc71b..af17e1f70a 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Spawn/ESceneSpawnControls.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Spawn/ESceneSpawnControls.cpp @@ -9,7 +9,7 @@ bool TUI_ControlSpawnAdd::AppendCallback(SBeforeAppendCallbackParams* p) { LPCSTR ref_name = ((UISpawnTool*)parent_tool->pForm)->Current(); if (!ref_name){ - ELog.DlgMsg(mtInformation,"Nothing selected."); + ELog.DlgMsg(mtInformation,"ed_st_nothing_selected"); return false; } if(Scene->LevelPrefix().c_str()) @@ -30,7 +30,7 @@ bool TUI_ControlSpawnAdd::Start(TShiftState Shift) if (from&&from->FClassID!=OBJCLASS_SPAWNPOINT){ ObjectList lst; int cnt = Scene->GetQueryObjects(lst,OBJCLASS_SPAWNPOINT,1,1,0); - if (1!=cnt) ELog.DlgMsg(mtError,"Select one shape."); + if (1!=cnt) ELog.DlgMsg(mtError,g_pStringTable->translate("ed_st_select_one_shape").c_str()); else{ CSpawnPoint* base = dynamic_cast(lst.back()); R_ASSERT(base); if (base->AttachObject(from)){ @@ -39,11 +39,11 @@ bool TUI_ControlSpawnAdd::Start(TShiftState Shift) ResetActionToSelect (); } }else{ - ELog.DlgMsg(mtError,"Attach impossible."); + ELog.DlgMsg(mtError,g_pStringTable->translate("ed_st_cant_attach_shape").c_str()); } } }else{ - ELog.DlgMsg(mtError,"Attach impossible."); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_cant_attach_shape").c_str()); } }else{ DefaultAddObject(Shift, TBeforeAppendCallback(this,& TUI_ControlSpawnAdd::AppendCallback)); diff --git a/src/Editors/LevelEditor/Editor/Tools/Spawn/ESceneSpawnTools.cpp b/src/Editors/LevelEditor/Editor/Tools/Spawn/ESceneSpawnTools.cpp index 28720df20b..14f720744c 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Spawn/ESceneSpawnTools.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Spawn/ESceneSpawnTools.cpp @@ -39,7 +39,7 @@ CEditableObject* ESceneSpawnTool::get_draw_visual(u8 _RP_TeamID, u8 _RP_Type, co if(_GameType.MatchType(eGameIDCaptureTheArtefact)) { if(_RP_TeamID==0) - Msg("! incorrect ActorRP teamID [%d] for CTA",_RP_TeamID); + Msg(g_pStringTable->translate("ed_st_cta_invalid_actorrp").c_str(), _RP_TeamID); else if(_RP_TeamID==1) ret = m_draw_RP_visuals[4]; @@ -70,7 +70,7 @@ CEditableObject* ESceneSpawnTool::get_draw_visual(u8 _RP_TeamID, u8 _RP_Type, co if(_RP_TeamID==2) ret = m_draw_RP_visuals[1]; else - Msg("! incorrect AF teamID [%d] for CTA",_RP_TeamID); + Msg(g_pStringTable->translate("ed_st_cta_invalid_af").c_str(),_RP_TeamID); }else if(_GameType.MatchType(eGameIDArtefactHunt)) { diff --git a/src/Editors/LevelEditor/Editor/Tools/Spawn/ESceneSpawnTools.h b/src/Editors/LevelEditor/Editor/Tools/Spawn/ESceneSpawnTools.h index ea30b9d77e..2ae652c3ff 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Spawn/ESceneSpawnTools.h +++ b/src/Editors/LevelEditor/Editor/Tools/Spawn/ESceneSpawnTools.h @@ -41,7 +41,7 @@ class ESceneSpawnTool: public ESceneCustomOTool // definition IC LPCSTR ClassName (){return "spawn";} - IC LPCSTR ClassDesc (){return "Spawn Element";} + IC LPCSTR ClassDesc (){return g_pStringTable->translate("ed_st_spawn_elements").c_str();} IC int RenderPriority (){return 1;} void FillProp (LPCSTR pref, PropItemVec& items); diff --git a/src/Editors/LevelEditor/Editor/Tools/Spawn/ESceneSpawnToolsIO.cpp b/src/Editors/LevelEditor/Editor/Tools/Spawn/ESceneSpawnToolsIO.cpp index b6f37f579f..ab9dd864df 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Spawn/ESceneSpawnToolsIO.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Spawn/ESceneSpawnToolsIO.cpp @@ -14,7 +14,7 @@ bool ESceneSpawnTool::LoadLTX(CInifile& ini) u32 version = ini.r_u32("main","version"); if( version!=SPAWN_TOOLS_VERSION ) { - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } @@ -39,7 +39,7 @@ bool ESceneSpawnTool::LoadStream(IReader& F) u16 version = 0; if(F.r_chunk(CHUNK_VERSION,&version)) if( version!=SPAWN_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } @@ -69,7 +69,7 @@ bool ESceneSpawnTool::LoadSelection(IReader& F) u16 version = 0; R_ASSERT(F.r_chunk(CHUNK_VERSION,&version)); if( version!=SPAWN_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } diff --git a/src/Editors/LevelEditor/Editor/Tools/StaticObject/ESceneObjectControls.cpp b/src/Editors/LevelEditor/Editor/Tools/StaticObject/ESceneObjectControls.cpp index 92a6311180..fd0c889a71 100644 --- a/src/Editors/LevelEditor/Editor/Tools/StaticObject/ESceneObjectControls.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/StaticObject/ESceneObjectControls.cpp @@ -18,7 +18,7 @@ bool TUI_ControlObjectAdd::Start(TShiftState Shift) }else{ N = ((UIObjectTool*)parent_tool->pForm)->Current(); if(!N){ - ELog.DlgMsg(mtInformation,"Nothing selected."); + ELog.DlgMsg(mtInformation,g_pStringTable->translate("ed_st_nothing_selected").c_str()); return false; } } @@ -28,7 +28,7 @@ bool TUI_ControlObjectAdd::Start(TShiftState Shift) CSceneObject *obj = new CSceneObject((LPVOID)0,namebuffer); CEditableObject* ref = obj->SetReference(N); if (!ref){ - ELog.DlgMsg(mtError,"TUI_ControlObjectAdd:: Can't load reference object."); + ELog.DlgMsg(mtError,g_pStringTable->translate("ed_st_cant_load_reference").c_str()); xr_delete(obj); return false; } diff --git a/src/Editors/LevelEditor/Editor/Tools/StaticObject/ESceneObjectTools.cpp b/src/Editors/LevelEditor/Editor/Tools/StaticObject/ESceneObjectTools.cpp index d7699e48dd..172f154f3c 100644 --- a/src/Editors/LevelEditor/Editor/Tools/StaticObject/ESceneObjectTools.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/StaticObject/ESceneObjectTools.cpp @@ -38,7 +38,7 @@ bool ESceneObjectTool::Validate(bool full_test) if (A->RefCompare(B->GetReference())){ if (A->GetPosition().similar(B->GetPosition(),EPS_L)){ bRes = false; - ELog.Msg(mtError,"Duplicate object position '%s'-'%s' with reference '%s'.",A->GetName(),B->GetName(),A->RefName()); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_duplicate_obj_pos").c_str(), A->GetName(), B->GetName(), A->RefName()); } } } @@ -52,12 +52,12 @@ bool ESceneObjectTool::Validate(bool full_test) //. FS.update_path (fn,_textures_,EFS.ChangeFileExt(l_name,".tga").c_str()); FS.update_path (fn,_game_textures_,EFS.ChangeFileExt(l_name,".dds").c_str()); age = FS.get_file_age(fn); - if(age==-1) Msg("!There is no texture '%s'", fn); + if(age==-1) Msg(g_pStringTable->translate("ed_st_no_texture").c_str(), fn); l_name += "_nm"; //. FS.update_path (fn,_textures_,EFS.ChangeFileExt(l_name,".tga").c_str()); FS.update_path (fn,_game_textures_,EFS.ChangeFileExt(l_name,".dds").c_str()); age_nm = FS.get_file_age(fn); - if(age_nm==-1) Msg("!There is no texture '%s'", fn); + if(age_nm==-1) Msg(g_pStringTable->translate("ed_st_no_texture").c_str(), fn); if(age_nm==-1 || age==-1) bRes = false; @@ -90,27 +90,27 @@ void ESceneObjectTool::FillAppendRandomPropertiesBegin(bool bUpdateOnly) PropValue* V; PropItemVec items; - V=PHelper().CreateFlag32 (items,"Scale", &m_Flags, flAppendRandomScale); + V=PHelper().CreateFlag32 (items,g_pStringTable->translate("ed_st_scale").c_str(), &m_Flags, flAppendRandomScale); V->OnChangeEvent.bind (this,&ESceneObjectTool::OnChangeAppendRandomFlags); if (m_Flags.is(flAppendRandomScale)){ - V=PHelper().CreateFlag32 (items,"Scale\\Proportional",&m_Flags, flAppendRandomScaleProportional); + V=PHelper().CreateFlag32 (items,g_pStringTable->translate("ed_st_scale_proportional").c_str(), &m_Flags, flAppendRandomScaleProportional); V->OnChangeEvent.bind (this,&ESceneObjectTool::OnChangeAppendRandomFlags); if (m_Flags.is(flAppendRandomScaleProportional)){ - PHelper().CreateFloat (items,"Scale\\Minimum", &m_AppendRandomMinScale.x,0.001f,1000.f,0.001f,3); - PHelper().CreateFloat (items,"Scale\\Maximum", &m_AppendRandomMaxScale.x,0.001f,1000.f,0.001f,3); + PHelper().CreateFloat (items,g_pStringTable->translate("ed_st_scale_minimum").c_str(), &m_AppendRandomMinScale.x, 0.001f, 1000.f, 0.001f, 3); + PHelper().CreateFloat (items,g_pStringTable->translate("ed_st_scale_maximum").c_str(), &m_AppendRandomMaxScale.x, 0.001f, 1000.f, 0.001f, 3); }else{ - PHelper().CreateVector (items,"Scale\\Minimum", &m_AppendRandomMinScale,0.001f,1000.f,0.001f,3); - PHelper().CreateVector (items,"Scale\\Maximum", &m_AppendRandomMaxScale,0.001f,1000.f,0.001f,3); + PHelper().CreateVector (items, g_pStringTable->translate("ed_st_scale_minimum").c_str(), &m_AppendRandomMinScale,0.001f,1000.f,0.001f,3); + PHelper().CreateVector (items, g_pStringTable->translate("ed_st_scale_maximum").c_str(), &m_AppendRandomMaxScale,0.001f,1000.f,0.001f,3); } } - V=PHelper().CreateFlag32 (items,"Rotate", &m_Flags, flAppendRandomRotation); + V=PHelper().CreateFlag32 (items,g_pStringTable->translate("ed_st_rotate").c_str(), &m_Flags, flAppendRandomRotation); V->OnChangeEvent.bind (this,&ESceneObjectTool::OnChangeAppendRandomFlags); if (m_Flags.is(flAppendRandomRotation)){ - PHelper().CreateAngle3 (items,"Rotate\\Minimum", &m_AppendRandomMinRotation); - PHelper().CreateAngle3 (items,"Rotate\\Maximum", &m_AppendRandomMaxRotation); + PHelper().CreateAngle3 (items,g_pStringTable->translate("ed_st_rotate_minimum").c_str(), &m_AppendRandomMinRotation); + PHelper().CreateAngle3 (items,g_pStringTable->translate("ed_st_rotate_maximum").c_str(), &m_AppendRandomMaxRotation); } - V=PHelper().CreateChoose (items,"Objects",&m_AppendRandomObjectsStr,smObject,0,0,32); + V=PHelper().CreateChoose (items,g_pStringTable->translate("ed_st_objects").c_str(), &m_AppendRandomObjectsStr, smObject, 0, 0, 32); V->OnChangeEvent.bind (this,&ESceneObjectTool::OnChangeAppendRandomFlags); if (bUpdateOnly) UIPropertiesModal::GetProperties()->AssignItems(items); diff --git a/src/Editors/LevelEditor/Editor/Tools/StaticObject/ESceneObjectToolsExportBreakable.cpp b/src/Editors/LevelEditor/Editor/Tools/StaticObject/ESceneObjectToolsExportBreakable.cpp index dbf429a199..f52ddee400 100644 --- a/src/Editors/LevelEditor/Editor/Tools/StaticObject/ESceneObjectToolsExportBreakable.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/StaticObject/ESceneObjectToolsExportBreakable.cpp @@ -15,13 +15,13 @@ IC bool build_mesh(const Fmatrix& parent, CEditableMesh* mesh, CGeomPartExtracto CSurface* surf = sp_it->first; int gm_id = surf->_GameMtl(); if (gm_id==GAMEMTL_NONE_ID){ - ELog.DlgMsg (mtError,"Object '%s', surface '%s' contain invalid game material.",mesh->Parent()->m_LibName.c_str(),surf->_Name()); + ELog.DlgMsg (mtError,g_pStringTable->translate("ed_st_obj_invalid_mat").c_str(), mesh->Parent()->m_LibName.c_str(), surf->_Name()); bResult = FALSE; break; } SGameMtl* M = GameMaterialLibraryEditors->GetMaterialByID(gm_id); if (0==M){ - ELog.DlgMsg (mtError,"Object '%s', surface '%s' contain undefined game material.",mesh->Parent()->m_LibName.c_str(),surf->_Name()); + ELog.DlgMsg (mtError,g_pStringTable->translate("ed_st_obj_unknown_mat").c_str(), mesh->Parent()->m_LibName.c_str(), surf->_Name()); bResult = FALSE; break; } @@ -31,12 +31,12 @@ IC bool build_mesh(const Fmatrix& parent, CEditableMesh* mesh, CGeomPartExtracto if (!ignore_shader){ IBlender* B = EDevice->Resources->_FindBlender(surf->_ShaderName()); if (FALSE==B){ - ELog.Msg (mtError,"Can't find engine shader '%s'. Object '%s', surface '%s'. Export interrupted.",surf->_ShaderName(),mesh->Parent()->m_LibName.c_str(),surf->_Name()); + ELog.Msg (mtError,g_pStringTable->translate("ed_st_obj_no_shader").c_str(), surf->_ShaderName(), mesh->Parent()->m_LibName.c_str(), surf->_Name()); bResult = FALSE; break; } if (TRUE==B->canBeLMAPped()){ - ELog.Msg (mtError,"Object '%s', surface '%s' contain static engine shader - '%s'. Export interrupted.",mesh->Parent()->m_LibName.c_str(),surf->_Name(),surf->_ShaderName()); + ELog.Msg (mtError,g_pStringTable->translate("ed_st_obj_wrong_shader").c_str(), mesh->Parent()->m_LibName.c_str(), surf->_Name(), surf->_ShaderName()); bResult = FALSE; break; } @@ -75,10 +75,10 @@ bool ESceneObjectTool::ExportBreakableObjects(SExportStreams* F) extractor = new CGeomPartExtractor(); extractor->Initialize(bb,EPS_L,2); - UI->SetStatus ("Export breakable objects..."); + UI->SetStatus (g_pStringTable->translate("ed_st_export_breakable").c_str()); // collect verts&&faces { - SPBItem* pb = UI->ProgressStart(m_Objects.size(),"Prepare geometry..."); + SPBItem* pb = UI->ProgressStart(m_Objects.size(),g_pStringTable->translate("ed_st_prepare_geom").c_str()); for (ObjectIt it=m_Objects.begin(); it!=m_Objects.end(); it++){ pb->Inc(); CSceneObject* obj = dynamic_cast(*it); VERIFY(obj); @@ -95,7 +95,7 @@ bool ESceneObjectTool::ExportBreakableObjects(SExportStreams* F) // export parts if (bResult){ SBPartVec& parts = extractor->GetParts(); - SPBItem* pb = UI->ProgressStart(parts.size(),"Export Parts..."); + SPBItem* pb = UI->ProgressStart(parts.size(),g_pStringTable->translate("ed_st_export_parts").c_str()); for (SBPartVecIt p_it=parts.begin(); p_it!=parts.end(); p_it++){ pb->Inc(); SBPart* P = *p_it; @@ -107,7 +107,7 @@ bool ESceneObjectTool::ExportBreakableObjects(SExportStreams* F) xr_string fn = Scene->LevelPath() + sn; IWriter* W = FS.w_open(fn.c_str()); R_ASSERT(W); if (!P->Export(*W,1)){ - ELog.DlgMsg (mtError,"Invalid breakable object."); + ELog.DlgMsg (mtError,g_pStringTable->translate("ed_st_invalid_breakable").c_str()); bResult = false; break; } @@ -142,7 +142,7 @@ bool ESceneObjectTool::ExportBreakableObjects(SExportStreams* F) g_SEFactoryManager->destroy_entity (m_Data); } }else{ - ELog.Msg(mtError,"Can't export invalid part #%d",p_it-parts.begin()); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_cant_export_invalid_part").c_str(), p_it - parts.begin()); } } UI->ProgressEnd(pb); @@ -185,10 +185,10 @@ bool ESceneObjectTool::ExportClimableObjects(SExportStreams* F) extractor = new CGeomPartExtractor(); extractor->Initialize (bb,EPS_L,int_max); - UI->SetStatus ("Export climable objects..."); + UI->SetStatus (g_pStringTable->translate("ed_st_export_climable_obj").c_str()); // collect verts&&faces { - SPBItem* pb = UI->ProgressStart(m_Objects.size(), "Prepare geometry..."); + SPBItem* pb = UI->ProgressStart(m_Objects.size(), g_pStringTable->translate("ed_st_prepare_geom").c_str()); for (ObjectIt it=m_Objects.begin(); it!=m_Objects.end(); it++) { pb->Inc(); @@ -216,7 +216,7 @@ bool ESceneObjectTool::ExportClimableObjects(SExportStreams* F) if (bResult) { SBPartVec& parts = extractor->GetParts(); - SPBItem* pb = UI->ProgressStart(parts.size(),"Export Parts..."); + SPBItem* pb = UI->ProgressStart(parts.size(),g_pStringTable->translate("ed_st_export_parts").c_str()); for (SBPartVecIt p_it=parts.begin(); p_it!=parts.end(); p_it++) { pb->Inc (); @@ -259,7 +259,7 @@ bool ESceneObjectTool::ExportClimableObjects(SExportStreams* F) // orientate object if (!OrientToNorm(local_normal,P->m_OBB.m_rotate,P->m_OBB.m_halfsize)) { - ELog.Msg(mtError,"Invalid climable object found. [%3.2f, %3.2f, %3.2f]",VPUSH(P->m_RefOffset)); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_invalid_climable").c_str(), VPUSH(P->m_RefOffset)); } else { @@ -287,7 +287,7 @@ bool ESceneObjectTool::ExportClimableObjects(SExportStreams* F) } }else { - ELog.Msg(mtError,"Can't export invalid part #%d",p_it-parts.begin()); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_cant_export_invalid_part").c_str(), p_it - parts.begin()); } } UI->ProgressEnd (pb); diff --git a/src/Editors/LevelEditor/Editor/Tools/StaticObject/ESceneObjectToolsIO.cpp b/src/Editors/LevelEditor/Editor/Tools/StaticObject/ESceneObjectToolsIO.cpp index e6d1492d53..cd8ad5bc56 100644 --- a/src/Editors/LevelEditor/Editor/Tools/StaticObject/ESceneObjectToolsIO.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/StaticObject/ESceneObjectToolsIO.cpp @@ -12,8 +12,8 @@ bool ESceneObjectTool::LoadLTX(CInifile& ini) u32 version = ini.r_u32("main", "version"); if( version!=OBJECT_TOOLS_VERSION ) { - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); - return false; + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); + return false; } inherited::LoadLTX (ini); @@ -70,7 +70,7 @@ bool ESceneObjectTool::LoadStream(IReader& F) u16 version = 0; if(F.r_chunk(CHUNK_VERSION,&version)){ if( version!=OBJECT_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } } @@ -129,7 +129,7 @@ bool ESceneObjectTool::LoadSelection(IReader& F) u16 version = 0; R_ASSERT(F.r_chunk(CHUNK_VERSION,&version)); if( version!=OBJECT_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } diff --git a/src/Editors/LevelEditor/Editor/Tools/Wallmark/ESceneWallmarkTools.cpp b/src/Editors/LevelEditor/Editor/Tools/Wallmark/ESceneWallmarkTools.cpp index 37f496df8c..b213593a4f 100644 --- a/src/Editors/LevelEditor/Editor/Tools/Wallmark/ESceneWallmarkTools.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/Wallmark/ESceneWallmarkTools.cpp @@ -321,7 +321,7 @@ bool ESceneWallmarkTool::LoadStream(IReader& F) if(version!=0x0003 && version!=WM_VERSION) { - ELog.Msg( mtError, "Static Wallmark: Unsupported version."); + ELog.Msg( mtError, g_pStringTable->translate("ed_st_wallmark_unsupported_ver").c_str()); return false; } @@ -411,7 +411,7 @@ bool ESceneWallmarkTool::LoadStream(IReader& F) for (WMVecIt w_it=slot->items.begin(); w_it!=slot->items.end(); w_it++){ wallmark*& W = *w_it; if (W->verts.size()>MAX_WALLMARK_VERTEX_COUNT){ - ELog.Msg (mtError,"ERROR: Invalid wallmark (Contain more than %d vertices). Removed.", MAX_WALLMARK_VERTEX_COUNT); + ELog.Msg (mtError,g_pStringTable->translate("ed_st_wallmark_more_than_max_vert").c_str(), MAX_WALLMARK_VERTEX_COUNT); wm_destroy (W); W = 0; } @@ -657,11 +657,11 @@ BOOL ESceneWallmarkTool::AddWallmark_internal(const Fvector& start, const Fvecto */ if (0==sh.size()){ - ELog.DlgMsg (mtError,"Select texture before add wallmark."); + ELog.DlgMsg (mtError,g_pStringTable->translate("ed_st_wallmark_no_texture").c_str()); return FALSE; } if (0==tx.size()){ - ELog.DlgMsg (mtError,"Select texture before add wallmark."); + ELog.DlgMsg (mtError,g_pStringTable->translate("ed_st_wallmark_no_texture").c_str()); return FALSE; } // pick contact poly @@ -669,7 +669,7 @@ BOOL ESceneWallmarkTool::AddWallmark_internal(const Fvector& start, const Fvecto float dist = UI->ZFar(); ObjectList* snap_list = Scene->GetSnapList(false); if (!snap_list){ - ELog.DlgMsg (mtError,"Fill and activate snap list."); + ELog.DlgMsg (mtError,g_pStringTable->translate("ed_st_activate_snap_list").c_str()); return FALSE; } // pick contact poly @@ -717,7 +717,7 @@ BOOL ESceneWallmarkTool::AddWallmark_internal(const Fvector& start, const Fvecto // calc sphere if ((W->verts.size()<3) || (W->verts.size()>MAX_WALLMARK_VERTEX_COUNT)) { - ELog.DlgMsg (mtError,"Invalid wallmark vertex count. [Min: %d. Max: %d].",3,MAX_WALLMARK_VERTEX_COUNT); + ELog.DlgMsg (mtError,g_pStringTable->translate("ed_st_invalid_wm_vert_count").c_str(), 3, MAX_WALLMARK_VERTEX_COUNT); wm_destroy (W); return FALSE; }else{ @@ -790,13 +790,13 @@ BOOL ESceneWallmarkTool::MoveSelectedWallmarkTo(const Fvector& start, const Fvec void ESceneWallmarkTool::FillPropObjects(LPCSTR pref, PropItemVec& items) { - PHelper().CreateFlag32 (items, PrepareKey(pref,"Common\\Draw Wallmarks"), &m_Flags, flDrawWallmark); - PHelper().CreateFlag32 (items, PrepareKey(pref,"Common\\Alignment"), &m_Flags, flAxisAlign, "By Camera", "By World Axis"); - PHelper().CreateFloat (items, PrepareKey(pref,"Common\\Width"), &m_MarkWidth, 0.01f, 10.f); - PHelper().CreateFloat (items, PrepareKey(pref,"Common\\Height"), &m_MarkHeight, 0.01f, 10.f); - PHelper().CreateAngle (items, PrepareKey(pref,"Common\\Rotate"), &m_MarkRotate); - PHelper().CreateChoose (items, PrepareKey(pref,"Common\\Shader"), &m_ShName, smEShader); - PHelper().CreateChoose (items, PrepareKey(pref,"Common\\Texture"), &m_TxName, smTexture); + PHelper().CreateFlag32 (items, PrepareKey(pref,g_pStringTable->translate("ed_st_wm_draw").c_str()), &m_Flags, flDrawWallmark); + PHelper().CreateFlag32 (items, PrepareKey(pref,g_pStringTable->translate("ed_st_wm_align").c_str()), &m_Flags, flAxisAlign, g_pStringTable->translate("ed_st_by_camera").c_str(), g_pStringTable->translate("ed_st_by_world_axis").c_str()); + PHelper().CreateFloat (items, PrepareKey(pref,g_pStringTable->translate("ed_st_wm_width").c_str()), &m_MarkWidth, 0.01f, 10.f); + PHelper().CreateFloat (items, PrepareKey(pref,g_pStringTable->translate("ed_st_wm_height").c_str()), &m_MarkHeight, 0.01f, 10.f); + PHelper().CreateAngle (items, PrepareKey(pref,g_pStringTable->translate("ed_st_wm_rotate").c_str()), &m_MarkRotate); + PHelper().CreateChoose (items, PrepareKey(pref,g_pStringTable->translate("ed_st_wm_shader").c_str()), &m_ShName, smEShader); + PHelper().CreateChoose (items, PrepareKey(pref,g_pStringTable->translate("ed_st_wm_texture").c_str()), &m_TxName, smTexture); } @@ -809,7 +809,7 @@ bool ESceneWallmarkTool::Validate(bool) if (slot->items.size()){ IBlender* B = EDevice->Resources->_FindBlender(*slot->sh_name); if (!B||B->canBeLMAPped()){ - ELog.Msg (mtError,"Wallmarks: Invalid or missing shader '%s'.",*slot->sh_name); + ELog.Msg (mtError,g_pStringTable->translate("ed_st_wm_invalid_shader").c_str(), *slot->sh_name); bRes = false; } } diff --git a/src/Editors/LevelEditor/Editor/Tools/WayPoint/ESceneWayControls.cpp b/src/Editors/LevelEditor/Editor/Tools/WayPoint/ESceneWayControls.cpp index 98df96b15e..d9014af077 100644 --- a/src/Editors/LevelEditor/Editor/Tools/WayPoint/ESceneWayControls.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/WayPoint/ESceneWayControls.cpp @@ -31,7 +31,7 @@ bool TUI_ControlWayPointAdd::Start(TShiftState Shift) ObjectList lst; Scene->GetQueryObjects(lst,OBJCLASS_WAY,1,1,-1); UIWayTool* frame=(UIWayTool*)parent_tool->pForm; if (1!=lst.size()){ - ELog.DlgMsg(mtInformation,"Select one WayObject."); + ELog.DlgMsg(mtInformation,g_pStringTable->translate("ed_st_sel_one_way_obj").c_str()); return false; } Fvector p; diff --git a/src/Editors/LevelEditor/Editor/Tools/WayPoint/ESceneWayToolsIO.cpp b/src/Editors/LevelEditor/Editor/Tools/WayPoint/ESceneWayToolsIO.cpp index 429addf0b1..9bda5d676b 100644 --- a/src/Editors/LevelEditor/Editor/Tools/WayPoint/ESceneWayToolsIO.cpp +++ b/src/Editors/LevelEditor/Editor/Tools/WayPoint/ESceneWayToolsIO.cpp @@ -12,7 +12,7 @@ bool ESceneWayTool::LoadLTX(CInifile& ini) u32 version = ini.r_u32("main","version"); if( version!=WAY_TOOLS_VERSION ) { - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } @@ -33,7 +33,7 @@ bool ESceneWayTool::LoadStream(IReader& F) if(F.r_chunk(CHUNK_VERSION,&version)) if( version!=WAY_TOOLS_VERSION ) { - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } @@ -56,7 +56,7 @@ bool ESceneWayTool::LoadSelection(IReader& F) u16 version = 0; R_ASSERT(F.r_chunk(CHUNK_VERSION,&version)); if( version!=WAY_TOOLS_VERSION ){ - ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc()); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_tools_unsupported_ver").c_str(), ClassDesc()); return false; } diff --git a/src/Editors/LevelEditor/Editor/UI_LevelMain.cpp b/src/Editors/LevelEditor/Editor/UI_LevelMain.cpp index f6b473cef7..08753d28cd 100644 --- a/src/Editors/LevelEditor/Editor/UI_LevelMain.cpp +++ b/src/Editors/LevelEditor/Editor/UI_LevelMain.cpp @@ -137,7 +137,7 @@ CCommandVar CLevelTool::CommandMultiRenameObjects(CCommandVar p1, CCommandVar p2 { if( !Scene->locked() ) { - if (mrYes==ELog.DlgMsg(mtConfirmation, mbYes |mbNo, "Are you sure to rename selected objects?")) + if (mrYes==ELog.DlgMsg(mtConfirmation, mbYes |mbNo, g_pStringTable->translate("ed_st_rename_sel_msg").c_str())) { int cnt = Scene->MultiRenameObjects(); if (cnt) @@ -145,11 +145,11 @@ CCommandVar CLevelTool::CommandMultiRenameObjects(CCommandVar p1, CCommandVar p2 ExecCommand (COMMAND_UPDATE_PROPERTIES); Scene->UndoSave(); } - ELog.DlgMsg ( mtInformation, "%d - objects are renamed.", cnt ); + ELog.DlgMsg ( mtInformation, g_pStringTable->translate("ed_st_renamed_objects").c_str(), cnt); } }else { - ELog.DlgMsg ( mtError, "Scene sharing violation" ); + ELog.DlgMsg ( mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str() ); } return FALSE; } @@ -184,7 +184,7 @@ CCommandVar CommandLoad(CCommandVar p1, CCommandVar p2) if (!Scene->IfModified()) return FALSE; - UI->SetStatus ("Level loading..."); + UI->SetStatus (g_pStringTable->translate("ed_st_level_load").c_str()); ExecCommand (COMMAND_CLEAR); FS.TryLoad(temp_fn.c_str()); IReader* R = FS.r_open (temp_fn.c_str()); @@ -220,7 +220,7 @@ CCommandVar CommandLoad(CCommandVar p1, CCommandVar p2) EPrefs->AppendRecentFile(temp_fn.c_str()); }else { - ELog.DlgMsg ( mtError, "Can't load map '%s'", temp_fn.c_str() ); + ELog.DlgMsg ( mtError, g_pStringTable->translate("ed_st_cant_load_map").c_str(), temp_fn.c_str()); LTools->m_LastFileName = ""; } // update props @@ -228,7 +228,7 @@ CCommandVar CommandLoad(CCommandVar p1, CCommandVar p2) UI->RedrawScene (); } } else { - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } return TRUE; @@ -279,7 +279,7 @@ CCommandVar CommandSave(CCommandVar p1, CCommandVar p2) } } } else { - ELog.DlgMsg ( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } } @@ -301,7 +301,7 @@ CCommandVar CommandClear(CCommandVar p1, CCommandVar p2) Scene->UndoSave (); return TRUE; } else { - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } } @@ -387,7 +387,7 @@ CCommandVar CommandValidateScene(CCommandVar p1, CCommandVar p2) Scene->Validate (true,true,true,true,true,true); return TRUE; } else { - ELog.DlgMsg ( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } } @@ -397,7 +397,7 @@ CCommandVar CommandCleanLibrary(CCommandVar p1, CCommandVar p2) Lib.CleanLibrary(); return TRUE; }else{ - ELog.DlgMsg (mtError, "Scene must be empty before refreshing library!"); + ELog.DlgMsg (mtError, g_pStringTable->translate("ed_st_scene_must_be_empty_refresh").c_str()); return FALSE; } } @@ -417,7 +417,7 @@ CCommandVar CommandCut(CCommandVar p1, CCommandVar p2) Scene->UndoSave (); return TRUE; } else { - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } return FALSE; @@ -428,8 +428,8 @@ CCommandVar CommandCopy(CCommandVar p1, CCommandVar p2) Scene->CopySelection(LTools->CurrentClassID()); return TRUE; } else { - ELog.DlgMsg ( mtError, "Scene sharing violation" ); - return FALSE; + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); + return FALSE; } return FALSE; } @@ -441,7 +441,7 @@ CCommandVar CommandPaste(CCommandVar p1, CCommandVar p2) Scene->UndoSave (); return TRUE; } else { - ELog.DlgMsg ( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } return FALSE; @@ -455,8 +455,8 @@ CCommandVar CommandDuplicate(CCommandVar p1, CCommandVar p2) return TRUE; } else { - ELog.DlgMsg(mtError, "Scene sharing violation"); - return FALSE; + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); + return FALSE; } return FALSE; } @@ -471,7 +471,7 @@ CCommandVar CommandLoadSelection(CCommandVar p1, CCommandVar p2) LPCSTR maps_path = FS.get_path(_maps_)->m_Path; if (fn.c_str()==strstr(fn.c_str(),maps_path)) LTools->m_LastSelectionName = fn.c_str()+xr_strlen(maps_path); - UI->SetStatus ("Fragment loading..."); + UI->SetStatus (g_pStringTable->translate("ed_st_fragment_load").c_str()); Scene->LoadSelection(fn.c_str()); @@ -483,7 +483,7 @@ CCommandVar CommandLoadSelection(CCommandVar p1, CCommandVar p2) return TRUE; } } else { - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); } return FALSE; } @@ -495,13 +495,13 @@ CCommandVar CommandSaveSelection(CCommandVar p1, CCommandVar p2) LPCSTR maps_path = FS.get_path(_maps_)->m_Path; if (fn.c_str()==strstr(fn.c_str(),maps_path)) LTools->m_LastSelectionName = fn.c_str()+xr_strlen(maps_path); - UI->SetStatus ("Fragment saving..."); + UI->SetStatus (g_pStringTable->translate("ed_st_fragment_save").c_str()); Scene->SaveSelection(LTools->CurrentClassID(),fn.c_str()); UI->ResetStatus (); return TRUE; } } else { - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); } return FALSE; } @@ -509,14 +509,14 @@ CCommandVar CommandSaveSelection(CCommandVar p1, CCommandVar p2) CCommandVar CommandUndo(CCommandVar p1, CCommandVar p2) { if( !Scene->locked() ){ - if( !Scene->Undo() ) ELog.DlgMsg( mtInformation, "Undo buffer empty" ); + if( !Scene->Undo() ) ELog.DlgMsg( mtInformation, g_pStringTable->translate("ed_st_undo_empty_buf").c_str() ); else{ LTools->Reset (); ExecCommand (COMMAND_CHANGE_ACTION, etaSelect); return TRUE; } } else { - ELog.DlgMsg ( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); } return FALSE; } @@ -524,14 +524,14 @@ CCommandVar CommandUndo(CCommandVar p1, CCommandVar p2) CCommandVar CommandRedo(CCommandVar p1, CCommandVar p2) { if( !Scene->locked() ){ - if( !Scene->Redo() ) ELog.DlgMsg( mtInformation, "Redo buffer empty" ); + if( !Scene->Redo() ) ELog.DlgMsg( mtInformation, g_pStringTable->translate("ed_st_redo_empty_buf").c_str() ); else{ LTools->Reset (); ExecCommand (COMMAND_CHANGE_ACTION, etaSelect); return TRUE; } } else { - ELog.DlgMsg ( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); } return FALSE; } @@ -542,7 +542,7 @@ CCommandVar CommandClearSceneSummary(CCommandVar p1, CCommandVar p2) Scene->ClearSummaryInfo (); return TRUE; } else { - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } } @@ -552,7 +552,7 @@ CCommandVar CommandCollectSceneSummary(CCommandVar p1, CCommandVar p2) Scene->CollectSummaryInfo(); return TRUE; } else { - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } } @@ -562,7 +562,7 @@ CCommandVar CommandShowSceneSummary(CCommandVar p1, CCommandVar p2) Scene->ShowSummaryInfo(); return TRUE; } else { - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } } @@ -572,7 +572,7 @@ CCommandVar CommandExportSceneSummary(CCommandVar p1, CCommandVar p2) Scene->ExportSummaryInfo(xr_string(p1).c_str()); return TRUE; } else { - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } } @@ -598,7 +598,7 @@ CCommandVar CommandOptions(CCommandVar p1, CCommandVar p2) ExecCommand (COMMAND_SHOW_PROPERTIES, p1, p2); return TRUE; } else { - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } } @@ -606,10 +606,10 @@ CCommandVar CommandOptions(CCommandVar p1, CCommandVar p2) CCommandVar CommandBuild(CCommandVar p1, CCommandVar p2) { if( !Scene->locked() ){ - if (mrYes==ELog.DlgMsg(mtConfirmation, mbYes |mbNo, "Are you sure to build level?")) + if (mrYes==ELog.DlgMsg(mtConfirmation, mbYes |mbNo, g_pStringTable->translate("ed_st_level_export").c_str())) return Builder.Compile(false); }else{ - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); } return FALSE; } @@ -627,60 +627,60 @@ CCommandVar CommandMakeGizmo(CCommandVar p1, CCommandVar p2) CCommandVar CommandMakeAIMap(CCommandVar p1, CCommandVar p2) { if( !Scene->locked() ){ - if (mrYes==ELog.DlgMsg(mtConfirmation, mbYes |mbNo, "Are you sure to export ai-map?")) + if (mrYes==ELog.DlgMsg(mtConfirmation, mbYes |mbNo, g_pStringTable->translate("ed_st_ai_map_export").c_str())) return Builder.MakeAIMap( ); }else{ - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); } return FALSE; } CCommandVar CommandMakeGame(CCommandVar p1, CCommandVar p2) { if( !Scene->locked() ){ - if (mrYes==ELog.DlgMsg(mtConfirmation, mbYes |mbNo, "Are you sure to export game?")) + if (mrYes==ELog.DlgMsg(mtConfirmation, mbYes |mbNo, g_pStringTable->translate("ed_st_game_export").c_str())) return Builder.MakeGame( ); }else{ - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); } return FALSE; } CCommandVar CommandMakePuddles(CCommandVar p1, CCommandVar p2) { if( !Scene->locked() ){ - if (mrYes==ELog.DlgMsg(mtConfirmation, mbYes |mbNo, "Are you sure to export puddles?")) + if (mrYes==ELog.DlgMsg(mtConfirmation, mbYes |mbNo, g_pStringTable->translate("ed_st_puddles_export").c_str())) return Builder.MakePuddles( ); }else{ - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); } return FALSE; } CCommandVar CommandMakeDetails(CCommandVar p1, CCommandVar p2) { if( !Scene->locked() ){ - if (mrYes==ELog.DlgMsg(mtConfirmation, mbYes |mbNo, "Are you sure to export details?")) + if (mrYes==ELog.DlgMsg(mtConfirmation, mbYes |mbNo, g_pStringTable->translate("ed_st_details_export").c_str())) return Builder.MakeDetails(); }else{ - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); } return FALSE; } CCommandVar CommandMakeHOM(CCommandVar p1, CCommandVar p2) { if( !Scene->locked() ){ - if (mrYes==ELog.DlgMsg(mtConfirmation, mbYes |mbNo, "Are you sure to export HOM?")) + if (mrYes==ELog.DlgMsg(mtConfirmation, mbYes |mbNo, g_pStringTable->translate("ed_st_hom_export").c_str())) return Builder.MakeHOM(); }else{ - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg(mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); } return FALSE; } CCommandVar CommandMakeSOM(CCommandVar p1, CCommandVar p2) { if( !Scene->locked() ){ - if (mrYes==ELog.DlgMsg(mtConfirmation, mbYes |mbNo, "Are you sure to export Sound Occlusion Model?")) + if (mrYes==ELog.DlgMsg(mtConfirmation, mbYes |mbNo, g_pStringTable->translate("ed_st_som_export").c_str())) return Builder.MakeSOM(); }else{ - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); } return FALSE; } @@ -690,7 +690,7 @@ CCommandVar CommandInvertSelectionAll(CCommandVar p1, CCommandVar p2) Scene->InvertSelection (LTools->CurrentClassID()); return TRUE; } else { - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); } return FALSE; } @@ -701,7 +701,7 @@ CCommandVar CommandSelectAll(CCommandVar p1, CCommandVar p2) Scene->SelectObjects (true,LTools->CurrentClassID()); return TRUE; } else { - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); } return FALSE; } @@ -712,7 +712,7 @@ CCommandVar CommandDeselectAll(CCommandVar p1, CCommandVar p2) Scene->SelectObjects (false,LTools->CurrentClassID()); return TRUE; } else { - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } } @@ -724,7 +724,7 @@ CCommandVar CommandDeleteSelection(CCommandVar p1, CCommandVar p2) Scene->UndoSave (); return TRUE; } else { - ELog.DlgMsg( mtError, "Scene sharing violation" ); + ELog.DlgMsg( mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } } @@ -737,7 +737,7 @@ CCommandVar CommandHideUnsel(CCommandVar p1, CCommandVar p2) ExecCommand (COMMAND_UPDATE_PROPERTIES); return TRUE; } else { - ELog.DlgMsg ( mtError, "Scene sharing violation" ); + ELog.DlgMsg ( mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } } @@ -749,7 +749,7 @@ CCommandVar CommandHideSel(CCommandVar p1, CCommandVar p2) ExecCommand (COMMAND_UPDATE_PROPERTIES); return TRUE; } else { - ELog.DlgMsg ( mtError, "Scene sharing violation" ); + ELog.DlgMsg ( mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } } @@ -761,7 +761,7 @@ CCommandVar CommandHideAll(CCommandVar p1, CCommandVar p2) ExecCommand (COMMAND_UPDATE_PROPERTIES); return TRUE; }else{ - ELog.DlgMsg ( mtError, "Scene sharing violation" ); + ELog.DlgMsg ( mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } } @@ -771,7 +771,7 @@ CCommandVar CommandSetSnapObjects(CCommandVar p1, CCommandVar p2) Scene->SetSnapList (); return TRUE; }else{ - ELog.DlgMsg ( mtError, "Scene sharing violation" ); + ELog.DlgMsg ( mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } } @@ -781,7 +781,7 @@ CCommandVar CommandAddSelSnapObjects(CCommandVar p1, CCommandVar p2) Scene->AddSelToSnapList (); return TRUE; }else{ - ELog.DlgMsg ( mtError, "Scene sharing violation" ); + ELog.DlgMsg ( mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } } @@ -791,7 +791,7 @@ CCommandVar CommandDelSelSnapObjects(CCommandVar p1, CCommandVar p2) Scene->DelSelFromSnapList(); return TRUE; }else{ - ELog.DlgMsg ( mtError, "Scene sharing violation" ); + ELog.DlgMsg ( mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str()); return FALSE; } } @@ -801,7 +801,7 @@ CCommandVar CommandClearSnapObjects(CCommandVar p1, CCommandVar p2) Scene->ClearSnapList (true); return TRUE; }else{ - ELog.DlgMsg ( mtError, "Scene sharing violation" ); + ELog.DlgMsg ( mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str() ); return FALSE; } } @@ -811,7 +811,7 @@ CCommandVar CommandSelectSnapObjects(CCommandVar p1, CCommandVar p2) Scene->SelectSnapList (); return TRUE; }else{ - ELog.DlgMsg ( mtError, "Scene sharing violation" ); + ELog.DlgMsg ( mtError, g_pStringTable->translate("ed_st_scene_share_vilation").c_str() ); return FALSE; } } @@ -1355,15 +1355,15 @@ void CLevelMain::OnStats(CGameFont* font) font->SetHeight(14); if (!Scene->m_RTFlags.is(EScene::flIsBuildedCForm)) { - font->OutNext("NEED REBUILD CFORM"); + font->OutNext(g_pStringTable->translate("ed_st_cform_rebuild_msg").c_str()); } if (!Scene->m_RTFlags.is(EScene::flIsBuildedAIMap)) { - font->OutNext("NEED REBUILD AIMAP"); + font->OutNext(g_pStringTable->translate("ed_st_ai_map_rebuild_msg").c_str()); } if (!Scene->m_RTFlags.is(EScene::flIsBuildedGameGraph)) { - font->OutNext("NEED REBUILD GAME GRAPH"); + font->OutNext(g_pStringTable->translate("ed_st_game_graph_rebuild_msg").c_str()); } diff --git a/src/Editors/LevelEditor/Editor/Utils/GeometryPartExtractor.cpp b/src/Editors/LevelEditor/Editor/Utils/GeometryPartExtractor.cpp index bc0be79dec..784dea5651 100644 --- a/src/Editors/LevelEditor/Editor/Utils/GeometryPartExtractor.cpp +++ b/src/Editors/LevelEditor/Editor/Utils/GeometryPartExtractor.cpp @@ -75,7 +75,7 @@ bool SBPart::prepare (SBAdjVec& adjs, u32 bone_face_min) for (auto f_it=m_Faces.begin(); f_it!=m_Faces.end(); f_it++){ SBFace* F = (*f_it); if (F->adjs.empty()){ - ELog.Msg(mtError,"Error face found at pos: [%3.2f,%3.2f,%3.2f]",VPUSH(F->o[0])); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_invalid_face_found").c_str(), VPUSH(F->o[0])); Tools->m_DebugDraw.AppendWireFace(F->o[0],F->o[1],F->o[2]); m_bValid = false; } @@ -193,7 +193,7 @@ bool SBPart::Export (IWriter& F, u8 infl) { VERIFY (!m_Bones.empty()); if (m_Bones.size()>63){ - ELog.Msg(mtError,"Breakable object cannot handle more than 63 parts."); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_br_obj_more_than_63_parts").c_str()); return false; } @@ -236,12 +236,12 @@ bool SBPart::Export (IWriter& F, u8 infl) for (SplitIt split_it=m_Splits.begin(); split_it!=m_Splits.end(); split_it++) { if (!split_it->valid()){ - ELog.Msg(mtError,"Degenerate part found (Texture '%s').",*split_it->m_Texture); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_degenerate_texture").c_str(), *split_it->m_Texture); bRes = false; break; } if (0!=split_it->invalid_faces){ - ELog.Msg(mtError,"Part [texture '%s'] have %d duplicate(degenerate) face(s).",*split_it->m_Texture,split_it->invalid_faces); + ELog.Msg(mtError,g_pStringTable->translate("ed_st_texture_duplicated_faces").c_str(), *split_it->m_Texture, split_it->invalid_faces); } // calculate T&B components split_it->CalculateTB(); @@ -388,7 +388,7 @@ BOOL CGeomPartExtractor::Process() } // extract parts { - SPBItem* pb = UI->ProgressStart(m_Faces.size(),"Extract Parts..."); + SPBItem* pb = UI->ProgressStart(m_Faces.size(),g_pStringTable->translate("ed_st_extract_parts").c_str()); for (SBFaceVecIt f_it=m_Faces.begin(); f_it!=m_Faces.end(); f_it++){ pb->Inc(); SBFace* F = *f_it; @@ -402,7 +402,7 @@ BOOL CGeomPartExtractor::Process() } // simplify parts { - SPBItem* pb = UI->ProgressStart(m_Parts.size(),"Simplify Parts..."); + SPBItem* pb = UI->ProgressStart(m_Parts.size(),g_pStringTable->translate("ed_st_simplify_parts").c_str()); for (SBPartVecIt p_it=m_Parts.begin(); p_it!=m_Parts.end(); p_it++){ pb->Inc(); (*p_it)->prepare (m_Adjs,m_PerBoneFaceCountMin); diff --git a/src/Editors/LevelEditor/Editor/Utils/LevelPreferences.cpp b/src/Editors/LevelEditor/Editor/Utils/LevelPreferences.cpp index f1f0c2e0af..aea86a892a 100644 --- a/src/Editors/LevelEditor/Editor/Utils/LevelPreferences.cpp +++ b/src/Editors/LevelEditor/Editor/Utils/LevelPreferences.cpp @@ -61,11 +61,11 @@ void CLevelPreferences::FillProp(PropItemVec& items) for (; _I!=_E; _I++) if (_I->second&&(_I->first!=OBJCLASS_DUMMY)){ if (_I->second->AllowEnabling()){ - PropValue* V = PHelper().CreateFlag32(items,PrepareKey("Scene\\Targets\\Enable",_I->second->ClassDesc()), &_I->second->m_EditFlags, ESceneToolBase::flEnable); + PropValue* V = PHelper().CreateFlag32(items,PrepareKey(g_pStringTable->translate("ed_st_scene_targets_enable").c_str(), _I->second->ClassDesc()), &_I->second->m_EditFlags, ESceneToolBase::flEnable); V->tag = _I->second->FClassID; V->OnChangeEvent.bind(this,&CLevelPreferences::OnEnabledChange); } - PropValue* V = PHelper().CreateFlag32(items,PrepareKey("Scene\\Targets\\Read Only",_I->second->ClassDesc()), &_I->second->m_EditFlags, ESceneToolBase::flForceReadonly); + PropValue* V = PHelper().CreateFlag32(items,PrepareKey(g_pStringTable->translate("ed_st_scene_targets_read_only").c_str(), _I->second->ClassDesc()), &_I->second->m_EditFlags, ESceneToolBase::flForceReadonly); V->tag = _I->second->FClassID; V->OnChangeEvent.bind(this,&CLevelPreferences::OnReadonlyChange); }