In Progress Scene Editor Crash when painting on resized terrain node

Users who are viewing this thread

Version number
e1.9.0
Branch
Beta
Modded/unmodded
Unmodded

Failware

Recruit
Summary:
Painting on a resized terrain node crashes the Scene Editor to desktop. This happens on the 1.7.2 beta branch (EDIT: also 1.7.2 main, 1.8.0 beta, 1.9.0 beta).
This may be related to the now very old bug reported in this thread, but is much more specific and thus hopefully warrants a timely inspection.

How to Reproduce (at least on 1.7.2 beta branch (EDIT: also 1.7.2 main, 1.8.0 beta, 1.9.0 beta):
  1. On the empty default scene (displayed on startup), create terrain with default properties (4x4, 64x64 resolution, etc.) and default base layer.
  2. Resize a node to 32x32.
  3. OPTIONAL: Deselect the resized node, select the resized node again and resize it back to 64x64. (To notice that the resizing is the problem, not the resolution itself.)
  4. Add a new terrain layer (default_1).
  5. Painting default_1 on any unresized node works as expected.
  6. Painting default_1 on the resized node crashes to desktop.
Details:
Sometimes the crash reporter dialogue shows up but crashes to desktop after confirming or declining, but usually it does not show up and goes straight to the desktop.

dnSpy shows an unhandled System.AccessViolationException:
dsSjCq3.png

Behaviour on an actual map:
In an old scene which I started in 1.7.0, painting on resized nodes also does not work as intended, but does not cause a crash (both when I was using 1.7.0 and now when using 1.7.2 beta branch (EDIT: also 1.7.2 main, 1.8.0 beta). I suspect this is caused by the same underlying problem.
  • Painting manually works only inside the middle nodes.
  • Painting outside the middle nodes only shows up at the node edges (e.g. the thin brown line going from the selected node diagonally to the lower right corner of the screenshot).
  • Importing a material map works and applies the layer "correctly". But the next time the game is started, the outside part is gone already or it disappears as soon as I paint on the node.
  • The middle nodes are each 512x512 (original size).
  • The nodes just outside the middle nodes are 256x256 and the others between 512x512 and 64x64.
  • The scene has 16x16 nodes with 172m size each.
eGsWQ1h.jpg

Why it matters:
A scene I'm working on has 16x16 nodes and I need a resolution of 512x512 on a few nodes (see the hill above) for enough terrain detail. The other nodes are resized.
This results in reasonable load time, save time (~7s), and file sizes (7MB terrain.bin).

Having 512x512 resolution on all nodes results in unreasonable load time, save time (~33s), and file sizes (70MB terrain.bin).

Resizing is also actively encouraged in the Taleworlds Documentation and on the forums and practically required to be able to have more than a few paint layers.
So as long as this bug exists, I cannot reasonably finish my map.

Specific Tool: Scene Editor

Media (Screenshots & Video):

Computer Specs:
OS: Windows 10 Home, 64-bit
GPU: NVIDIA GeForce RTX 2070 SUPER
GPU Driver Version: 512.15
CPU: Intel i5-12600K
RAM: 16GB (DDR4)
Motherboard:
Storage Device (HDD/SSD): SSD
 
Last edited:
i can confirm the steps provided for reproduction do indeed crash the engine. as detailed in the background information, i first noticed this issue while working on a map originally created prior to 1.7.2 (i don't recall which version the map was started on unfortunately). on the outskirts of the scene, the node resolution was changed to 16x16, and painting on these nodes worked as intended. after an update (and again, i can't confirm which update it was), any new paint layer will not work correctly on the resized nodes. the engine does not crash but instead the brush only affects the very edges of the node, regardless of where the paint is applied. see screenshot:
unknown.png

here is the same map with the default resolution (128x128, as seen) with the same paint layer working properly:
unknown.png

OS: Windows 10 Pro, 64-bit
GPU: NVIDIA GeForce GTX 1080
CPU: AMD Ryzen 7 1800X
RAM: 16GB
Storage Device (HDD/SSD): SSD
 
I'm on 1.7.2 and while I don't get a crash, I can't paint on nodes that have been resized
Does your observed behaviour (not crashing) happen on a map which was created in a version before 1.7.2? If so, that lines up with with the behaviour reported in my initial post and by ToyBoat. If not, could you please check whether you can reproduce the crash by following the steps provided in my initial post under "How to Reproduce"?
 
Does your observed behaviour (not crashing) happen on a map which was created in a version before 1.7.2? If so, that lines up with with the behaviour reported in my initial post and by ToyBoat. If not, could you please check whether you can reproduce the crash by following the steps provided in my initial post under "How to Reproduce"?
Yeah. Started on 1.7.1.
 
Back
Top Bottom