View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005220 | DarkRadiant | Map Editing | public | 19.04.2020 18:06 | 08.11.2020 18:34 |
Reporter | greebo | Assigned To | greebo | ||
Priority | normal | Severity | normal | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 2.7.0 | ||||
Target Version | 2.8.0 | Fixed in Version | 2.8.0 | ||
Summary | 0005220: Resized Models lose their scale in auto-saved maps | ||||
Description | When 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 | ||||
Tags | No tags attached. | ||||
Attached Files | 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" } | ||||
DarkRadiant: master 2ea59909 19.04.2020 18:53 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 20.04.2020 04:26 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 20.04.2020 04:48 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 |
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 |
08.11.2020 18:34 | greebo | Status | resolved => closed |