View Issue Details

IDProjectCategoryView StatusLast Update
0005220DarkRadiantMap Editingpublic20.04.2020 04:49
Reportergreebo Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityalways
Status resolvedResolutionfixed 
Product Version2.7.0 
Target Version2.8.0Fixed in Version2.8.0 
Summary0005220: Resized Models lose their scale in auto-saved maps
DescriptionWhen a model is resized in a map and an auto-save occurs *before* the map is actually saved, that model's scale will be reset to its default on loading the auto-save.
Steps To Reproduce- Open the attached map, it contains a few brushes and two models
- Rescale the model(s) and wait for an auto-save to kick in (do *not* save the map yet by hitting the save button or pressing Ctrl-S)
- Close the map and open the auto-saved one
- The models are set back to their original size
TagsNo tags attached.

Relationships

related to 0005168 resolvedgreebo Autosaves don't save last camera angle & position 

Activities

greebo

greebo

19.04.2020 18:06

administrator  

rubbles.map (5,880 bytes)   
Version 2
// entity 0
{
"classname" "worldspawn"
// primitive 0
{
brushDef3
{
( 0 0 1 -80 ) ( ( 0.01136363670229912 0 0.3636363744735718 ) ( 0 0.01388888899236917 255.3333282470703 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 0 1 0 -56 ) ( ( 0.01388888899236917 0 1.666666626930237 ) ( 0 0.125 10 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 1 0 0 -120 ) ( ( 0.01136363670229912 0 0.3636363744735718 ) ( 0 0.125 10 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 0 -1 0 -32 ) ( ( 0.01388888899236917 0 255.3333282470703 ) ( 0 0.125 10 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( -1 0 0 48 ) ( ( 0.01136363670229912 0 0.6363636255264282 ) ( 0 0.125 10 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 0 0 -1 72 ) ( ( 0.01136363670229912 0 0.3636363744735718 ) ( 0 0.01388888899236917 1.666666626930237 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
}
}
// primitive 1
{
brushDef3
{
( 0 0 1 -72 ) ( ( 0.125 0 249 ) ( 0 0.01388888899236917 255.3333282470703 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 0 1 0 -64 ) ( ( 0.01388888899236917 0 1.666666626930237 ) ( 0 0.008928571827709675 0.6428571343421936 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 1 0 0 -120 ) ( ( 0.125 0 249 ) ( 0 0.008928571827709675 0.6428571343421936 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 0 0 -1 -40 ) ( ( 0.125 0 249 ) ( 0 0.01388888899236917 1.666666626930237 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( -1 0 0 48 ) ( ( 0.125 0 8 ) ( 0 0.008928571827709675 0.6428571343421936 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 0 -1 0 56 ) ( ( 0.01388888899236917 0 255.3333282470703 ) ( 0 0.008928571827709675 0.6428571343421936 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
}
}
// primitive 2
{
brushDef3
{
( 0 0 1 -72 ) ( ( 0.01136363670229912 0 0.3636363744735718 ) ( 0 0.125 241 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 0 1 0 -56 ) ( ( 0.125 0 16 ) ( 0 0.008928571827709675 0.6428571343421936 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 1 0 0 -128 ) ( ( 0.01136363670229912 0 0.3636363744735718 ) ( 0 0.008928571827709675 0.6428571343421936 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 0 0 -1 -40 ) ( ( 0.01136363670229912 0 0.3636363744735718 ) ( 0 0.125 16 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 0 -1 0 -32 ) ( ( 0.125 0 241 ) ( 0 0.008928571827709675 0.6428571343421936 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( -1 0 0 120 ) ( ( 0.01136363670229912 0 0.6363636255264282 ) ( 0 0.008928571827709675 0.6428571343421936 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
}
}
// primitive 3
{
brushDef3
{
( 0 1 0 -56 ) ( ( 0.01388888899236917 0 1.666666626930237 ) ( 0 0.125 251 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 1 0 0 -120 ) ( ( 0.01136363670229912 0 0.3636363744735718 ) ( 0 0.125 251 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 0 0 -1 -48 ) ( ( 0.01136363670229912 0 0.3636363744735718 ) ( 0 0.01388888899236917 1.666666626930237 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 0 -1 0 -32 ) ( ( 0.01388888899236917 0 255.3333282470703 ) ( 0 0.125 251 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( -1 0 0 48 ) ( ( 0.01136363670229912 0 0.6363636255264282 ) ( 0 0.125 251 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 0 0 1 40 ) ( ( 0.01136363670229912 0 0.3636363744735718 ) ( 0 0.01388888899236917 255.3333282470703 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
}
}
// primitive 4
{
brushDef3
{
( 0 0 1 -72 ) ( ( 0.125 0 5 ) ( 0 0.01388888899236917 255.3333282470703 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 1 0 0 -120 ) ( ( 0.125 0 5 ) ( 0 0.008928571827709675 0.6428571343421936 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 0 0 -1 -40 ) ( ( 0.125 0 5 ) ( 0 0.01388888899236917 1.666666626930237 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 0 -1 0 -40 ) ( ( 0.01388888899236917 0 255.3333282470703 ) ( 0 0.008928571827709675 0.6428571343421936 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( -1 0 0 48 ) ( ( 0.125 0 252 ) ( 0 0.008928571827709675 0.6428571343421936 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 0 1 0 32 ) ( ( 0.01388888899236917 0 1.666666626930237 ) ( 0 0.008928571827709675 0.6428571343421936 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
}
}
// primitive 5
{
brushDef3
{
( 0 0 1 -72 ) ( ( 0.01136363670229912 0 0.3636363744735718 ) ( 0 0.125 251 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 0 1 0 -56 ) ( ( 0.125 0 6 ) ( 0 0.008928571827709675 0.6428571343421936 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 0 0 -1 -40 ) ( ( 0.01136363670229912 0 0.3636363744735718 ) ( 0 0.125 6 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 0 -1 0 -32 ) ( ( 0.125 0 251 ) ( 0 0.008928571827709675 0.6428571343421936 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( -1 0 0 40 ) ( ( 0.01136363670229912 0 0.6363636255264282 ) ( 0 0.008928571827709675 0.6428571343421936 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
( 1 0 0 -48 ) ( ( 0.01136363670229912 0 0.3636363744735718 ) ( 0 0.008928571827709675 0.6428571343421936 ) ) "textures/darkmod/plaster/halftimber_gables" 0 0 0
}
}
}
// entity 1
{
"classname" "func_static"
"name" "func_static_1"
"model" "models/darkmod/nature/rocks/rubble_medium_2.ase"
"origin" "74.7686 23.7989 23.0681"
"rotation" "0.823217 0.564768 -0.0578878 -0.56752 0.815875 -0.110765 -0.0153271 0.124036 0.992159"
}
// entity 2
{
"classname" "func_static"
"name" "func_static_2"
"model" "models/darkmod/nature/rocks/rubble_medium_2.ase"
"origin" "87.7069 -2.9901 15.2334"
"rotation" "0.823217 0.564768 -0.0578878 -0.56752 0.815875 -0.110765 -0.0153271 0.124036 0.992159"
}
rubbles.map (5,880 bytes)   

Related Changesets

DarkRadiant: master 2ea59909

2020-04-19 18:53:29

greebo

Details Diff
0005220: Towards fixing models losing their scale: preserve any modified scale at the point right before the scene is passed to the map writers.
In regular save events no models will have a modified scale anymore since the rescaled models will have been written to disk already, but in the case of auto-saves or (prefab) export no models will have been processed.
Affected Issues
0005220
mod - include/imodel.h Diff File
mod - radiant/md5model/MD5ModelNode.cpp Diff File
mod - radiant/md5model/MD5ModelNode.h Diff File
mod - radiant/model/NullModelNode.cpp Diff File
mod - radiant/model/NullModelNode.h Diff File
mod - radiant/model/ScaledModelExporter.cpp Diff File
mod - radiant/model/ScaledModelExporter.h Diff File
mod - radiant/modelfile/PicoModelNode.cpp Diff File
mod - radiant/modelfile/PicoModelNode.h Diff File

DarkRadiant: master e2caf953

2020-04-20 04:26:29

greebo

Details Diff
0005220: Move model scale spawnarg handling code to a separate class owned by the map module. Affected Issues
0005220
mod - radiant/Makefile.am Diff File
mod - radiant/map/Map.cpp Diff File
mod - radiant/map/Map.h Diff File
add - radiant/model/ModelScalePreserver.cpp Diff File
add - radiant/model/ModelScalePreserver.h Diff File
mod - radiant/model/ScaledModelExporter.cpp Diff File
mod - tools/msvc/DarkRadiant.vcxproj Diff File
mod - tools/msvc/DarkRadiant.vcxproj.filters Diff File

DarkRadiant: master 89e88432

2020-04-20 04:48:22

greebo

Details Diff
0005220: Model scale is restored when recovering from an auto-save Affected Issues
0005220
mod - radiant/model/ModelScalePreserver.cpp Diff File
mod - radiant/model/ModelScalePreserver.h Diff File

Issue History

Date Modified Username Field Change
19.04.2020 18:06 greebo New Issue
19.04.2020 18:06 greebo File Added: rubbles.map
19.04.2020 18:08 greebo Relationship added related to 0005168
19.04.2020 18:08 greebo Status new => confirmed
20.04.2020 04:48 greebo Changeset attached => DarkRadiant master 89e88432
20.04.2020 04:48 greebo Changeset attached => DarkRadiant master e2caf953
20.04.2020 04:49 greebo Changeset attached => DarkRadiant master 2ea59909
20.04.2020 04:49 greebo Assigned To => greebo
20.04.2020 04:49 greebo Status confirmed => assigned
20.04.2020 04:49 greebo Target Version => 2.8.0
20.04.2020 04:49 greebo Status assigned => resolved
20.04.2020 04:49 greebo Resolution open => fixed
20.04.2020 04:49 greebo Fixed in Version => 2.8.0