Scirra / Construct-bugs

Public bug report submissions for Construct 3 and Construct Animate. Please read the guidelines then click the 'Issues' tab to get started.
https://www.construct.net
107 stars 83 forks source link

Duplicate animation or folder name in Animation editor #6314

Closed dop2000 closed 1 year ago

dop2000 commented 1 year ago

Problem description

I got the following error today when trying to open my project: image

Since another person is managing the animation, I wasn't able to find the way to reproduce this bug. I believe it happened after duplicating or importing an animation twice.

I did however found another bug, possibly related - copying and pasting a folder creates a folder with the same name: image

It's also possible to create nested folders with the same name, and then drag them to the root level. image

Expected result

Folder name must be unique.

More details

It took me a lot of time to find the duplicate animation in JSON and fix it. Could you please add the animation name into the console error message?

System details

View details Platform information Product: Construct 3 r317.2 (stable) Browser: Chrome 110.0.5464.0 Browser engine: Chromium Context: browser Operating system: Windows 10 Device type: desktop Device pixel ratio: 1.75 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/110.0.0.0 Safari/537.36 Language setting: en-US Local storage Storage quota (approx): 275 gb Storage usage (approx): 28 mb (0%) 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: yes Supports highp precision: yes Vendor: Google Inc. (AMD) Renderer: ANGLE (AMD, AMD Radeon(TM) Graphics Direct3D11 vs_5_0 ps_5_0, D3D11) Major performance caveat: no Maximum texture size: 16384 Point size range: 1 to 1024 Extensions: EXT_color_buffer_float EXT_color_buffer_half_float EXT_disjoint_timer_query_webgl2 EXT_float_blend EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic EXT_texture_norm16 KHR_parallel_shader_compile OES_draw_buffers_indexed OES_texture_float_linear OVR_multiview2 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw Audio information System sample rate: 48000 Hz Output channels: 2 Output interpretation: speakers Supported decode formats: WebM Opus (audio/webm; codecs=opus) Ogg Opus (audio/ogg; codecs=opus) WebM Vorbis (audio/webm; codecs=vorbis) Ogg Vorbis (audio/ogg; codecs=vorbis) MPEG-4 AAC (audio/mp4; codecs=mp4a.40.5) 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) MP4 AV1 (video/mp4; codecs=av01.0.00M.08) WebM VP9 (video/webm; codecs=vp9) WebM VP8 (video/webm; codecs=vp8) Ogg Theora (video/ogg; codecs=theora) H.265 (video/mp4; codecs=hev1.1.2.L93.B0) H.264 (video/mp4; codecs=avc1.42E01E) Supported encode formats: WebM VP9 (video/webm; codecs=vp9) WebM VP8 (video/webm; codecs=vp8)
DiegoScirra commented 1 year ago

Not sure if I was able to fix this issue, but I did find a case which produced a duplicate animation and it will be fixed on the next beta. It happens if you try dragging an animation into a folder but drop it while an inset mark is showing, since it is not possible to drop an animation in between folders, the animation is dropped inside the nearest folder, and that case was not being handled properly.

I made another fix that will rename a folder so it is given a unique name if it is moved into another level where there is an existing folder with the same name. Having nested folders with the same name is valid, that just replicates the behaviour of common operating systems.

Will also show the duplicate name in console from now on.