Construct-bugs icon indicating copy to clipboard operation
Construct-bugs copied to clipboard

Z-order in templates does not translate to replicas

Open Wackytoaster opened this issue 1 year ago • 1 comments

Problem description

According to this thread it should work but it doesn't https://www.construct.net/en/forum/construct-3/how-do-i-8/create-entire-hierarchy-181971#forumPost1107461

Attach a .c3p

hierarchyzorder.zip

Steps to reproduce

  1. Try apply hierarchy replace whole
  2. Try deleting the sprite in the replica and reapplying
  3. The funniest one: If you manually change the z-order in the replica and then replace whole, it goes back to the wrong z-order again

Observed result

Z-order not replicated

Expected result

Relative z-order to be replicated

More details

Affected browsers/platforms:

First affected release: IIrc that has been this way for a long while actually.

System details

View details

Platform information Product: Construct 3 r389 (beta) Browser: Chrome 124.0.6367.63 Browser engine: Chromium Context: webapp Operating system: Windows 11 Device type: desktop Device pixel ratio: 1 Logical CPU cores: 20 Approx. device memory: 8 GB User agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Language setting: en-US

Local storage Storage quota (approx): 558 gb Storage usage (approx): 5.5 gb (1%) Persistant storage: No

Browser support notes This list contains missing features that are not required, but could improve performance or user experience if supported.

Nothing is missing. Everything is OK! WebGL information Version string: WebGL 2.0 (OpenGL ES 3.0 Chromium) Numeric version: 2 Supports NPOT textures: yes Supports GPU profiling: no Supports highp precision: yes Vendor: Google Inc. (NVIDIA) Renderer: ANGLE (NVIDIA, NVIDIA GeForce RTX 4080 (0x00002704) Direct3D11 vs_5_0 ps_5_0, D3D11) Major performance caveat: no Maximum texture size: 16384 Point size range: 1 to 1024 Extensions:

EXT_clip_control EXT_color_buffer_float EXT_color_buffer_half_float EXT_conservative_depth EXT_depth_clamp EXT_disjoint_timer_query_webgl2 EXT_float_blend EXT_polygon_offset_clamp EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic EXT_texture_mirror_clamp_to_edge EXT_texture_norm16 KHR_parallel_shader_compile NV_shader_noperspective_interpolation OES_draw_buffers_indexed OES_texture_float_linear OVR_multiview2 WEBGL_blend_func_extended WEBGL_clip_cull_distance WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw WEBGL_polygon_mode WEBGL_provoking_vertex WEBGL_stencil_texturing Audio information System sample rate: 48000 Hz Output channels: 2 Output interpretation: speakers Supported decode formats:

WebM Opus (audio/webm;codecs=opus) WebM Vorbis (audio/webm;codecs=vorbis) MPEG-4 Opus (audio/mp4;codecs=opus) MPEG-4 AAC (audio/mp4;codecs=mp4a.40.2) MP3 (audio/mpeg) FLAC (audio/flac) PCM WAV (audio/wav;codecs=1) Supported encode formats:

WebM Opus (audio/webm;codecs=opus) Video information Supported decode formats:

WebM AV1 (video/webm;codecs=av01.0.00M.08) WebM VP9 (video/webm;codecs=vp9) WebM VP8 (video/webm;codecs=vp8) MPEG-4 AV1 (video/mp4;codecs=av01.0.00M.08) MPEG-4 H.265 (video/mp4;codecs=hev1.1.2.L93.B0) MPEG-4 H.264 (video/mp4;codecs=avc1.420034) Supported encode formats:

WebM AV1 (video/webm;codecs=av01.0.00M.08) WebM VP9 (video/webm;codecs=vp9) WebM VP8 (video/webm;codecs=vp8) WebM H.264 (video/webm;codecs=avc1.420034)

Wackytoaster avatar Apr 30 '24 17:04 Wackytoaster

same problem but:

  • Is only happening on export, for some weird reason in test is working correctly, but after exporting to windows or apk they loose control of their z value.

it looks is something specific to the replicas, not hierarchy. I also tested with manipulating individual Z order and seems that they all are reseting e original z order of the template.

kingpirux avatar May 03 '24 01:05 kingpirux

This should be fixed in the next beta.

It's a rather involved change because it affects all the different ways in which z indexing can change. That includes, moving an instance to the top or bottom of it's layer through context menu options and changing an instance's layer from context menu options or the Properties bar.

When a replica with a hierarchy is on the same layout as it's template, it will replicate the layer ordering of the template's hierarchy because it is guaranteed that the replica's hierarchy can be placed in the same layers as the templates hierarchy.

In the case a replica is not in the same layout as the template, and because the layers are not guaranteed to be the same, the relative z index order will be replicated, but not the layer ordering, so they should only visually look the same.

This change only affects the editor. No changes have been made to the runtime.

DiegoScirra avatar May 20 '24 18:05 DiegoScirra

@kingpirux

I am not really sure what you mean, but I am sure that it's a different issue. Make sure to check the next release to see if your problem still reproduces and if it does open a new issue.

DiegoScirra avatar May 20 '24 18:05 DiegoScirra