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

Use of Hierarchy (add child) with Physics - cause wrong game load objects physics states and after GoTo Layout - hangs the project

Open MihaMS opened this issue 6 months ago • 0 comments

Problem description

When using Hierarchy (add child, just to control Visiblity, no other relations) on objects with Physics (in my case with revolute joint) this cause:

  1. Physics state of objects loads not correctly and links broke
  2. More CRITICAL - project hangs with error in console on "GoTo Layout" after Load Game Action

Attach a .c3p

PhySaveLoadBug1.zip

Steps to reproduce

  1. Load attached c3p project
  2. Click Save game button
  3. Click Load game button - Physics relations will broke
  4. Click again Load game button - Game load will be failed
  5. Click GoTo Layout2 button - the project will hang with error in console.

Observed result

a) On Load, game Physics relations - broke b) On second game load - loading failed c) On GoTo Layout (after failed load) - project hangs

Expected result

Game Loads as it should.

More details

Using Hierarchy with Physics is initially danger thing that can cause position loop dependencies, but in my case I created it to easy control visibility of objects and not enable any position, rotation or size hierarchy dependencies. Broken relations of objects - is not so critical issue, but failing to Load the game and even worse - freezing the runtime - is critical. I already made workaround in my production project for this case, but want to be sure that there will be no such hangs due to the use of hierarchies. image

Affected browsers/platforms: All

First affected release: r397 Stable. Looks like in previous releases too, but not really sure.

System details

View details

Platform information Product: Construct 3 r397 (stable) Browser: Chrome 127.0.6533.100 Browser engine: Chromium Context: webapp Operating system: Windows 10 Device type: desktop Device pixel ratio: 1.5 Logical CPU cores: 16 Approx. device memory: 8 GB User agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Language setting: en-US

Local storage Storage quota (approx): 67 gb Storage usage (approx): 3.6 gb (5.5%) Persistant storage: Yes

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_render_snorm 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_sample_variables OES_shader_multisample_interpolation 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: 44100 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) MPEG-4 Opus (audio/mp4;codecs=opus) MPEG-4 AAC (audio/mp4;codecs=mp4a.40.2) 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) MPEG-4 VP9 (video/mp4;codecs=vp9) MPEG-4 H.264 (video/mp4;codecs=avc1.420034)

MihaMS avatar Aug 13 '24 07:08 MihaMS