Closed Skarfester closed 6 years ago
Some special objects like entry and exit beams and particle emitter are invisible, making very hard to find them with the pointer. I found that dragging them makes them visible (except for the particle emitter).
Moving the camera usually also makes them visible. I'm not yet sure what causes this.
Pointer behaviour: sometimes you need to move the pointer past an object to actually be able to select it.
This happens only with moving objects, especially enemies. What happens in reality is that the editor draws the object at its start coordinates, but reacts to the pointer at where the object currently is in the level (but does not draw it there). This is clearly buggy behaviour.
Sometimes objects cannot be selected, dragged or deleted, like if they weren't actually there (Alex graphic for example).
This is a direct consequence of the above. Try clicking/dragging at the position where Alex in the level currently really is, and it will mysteriously work.
Some images are not displayed in the menu (image not found), but can be picked normally.
This is actually intentional, because these have no image. I think the special objects displayed "special object" instead of "image not found" earlier, which was lost somewhere during removing our use of private CEGUI APIs and rewriting the editor object panel image loader.
Vale, Quintus
The objects outline showing its properties (massive, passive, climbable...) is so thin it's difficult to see the colour.
This is most certainly a subjective impression, because the line width has always been 1px since the beginning of TSC. I will change it to 2px nevertheless, because you're right that it occasionally is a little hard to see.
@Skarfester While fixing the pointer problem (which was caused by a missing position update on editor startup) it appears I have also fixed the invisible objects problem. Could you please verify that? Also, please verify that the pointer and select/drag problems described in the OP are fixed by now.
@Skarfester I think I have resolved all of your problems listed in the OP now. Please verify!
Update:
The outline is more clear now, but the dots look inconsistent (see screenshot). It's not important, but maybe it will look better using wider dashes than dots.
special keys problem solved.
special objects are visible except the particle emitter, wich square is not coloured.
pointer problems: I found an offset between the image in the editor and the selectable area. As you can see in the screenshot, the selectable area starts at a lower point and ends after the image. This happens to all objects in levels and worlds, only on the Y axis.
This happens only with moving objects, especially enemies. What happens in reality is that the editor draws the object at its start coordinates, but reacts to the pointer at where the object currently is in the level (but does not draw it there).
This still happens. You need to reload the level into the editor menu or as you said click into the actual game position.
As for the "image not found" issue the special objects are fixed but there are some more. The errors shown at the terminal are like this:
CEGUI::RendererException in function 'virtual void CEGUI::OpenGLTexture::loadFromFile(const CEGUI::String&, const CEGUI::String&)' (/build/cegui-mk2-u4yeoM/cegui-mk2-0.8.7/cegui/src/RendererModules/OpenGL/Texture.cpp:246) : SILLYImageCodec - Official SILLY based image codec failed to load image 'ground/ghost_1/spiderweb_1.png'. Warning: Failed to load as editor item image: "/opt/tsc/share/tsc/pixmaps/ground/ghost_1/spiderweb_1.png" Using dummy image instead.
The complete list of objects: Plastic grey_up grey_down grey_right grey_left Platforms shaft_bottom shaft_top Ropes cainend cain Bones Rackabones (all 3) Stuff lattice_ (all) spiderweb spiderwebbig stone* plinth_1 Enemies static enemy metal s (both) Blocks brick_grey brick_white
The outline is more clear now, but the dots look inconsistent (see screenshot).
I cannot reproduce this. Are you sure your driver is working correctly? Which resolution do you play TSC on?
pointer problems: I found an offset between the image in the editor and the selectable area. As you can see in the screenshot, the selectable area starts at a lower point and ends after the image. This happens to all objects in levels and worlds, only on the Y axis. [...] This still happens.
The problem is definitely gone on my system, I cannot further reproduce it and have no Y offset problems. How did you update your repository? Didn't you forget to run make install
?
The complete list of objects:
None of these exhibit the problem for me. Please delete ~/.cache/tsc
(the image cache) and retry.
Valete, Quintus
I followed the instructions on readme.md for updating from git (I did make install
as root, all previous commands as user). My version is 2.1.0-dev commit d2049009.
The offset problem appears on 1024x768 windowed. Using 800x600 or 640x480 windowed works fine, idem using 1024x768 full-screen. I see the strange dots in all resolutions.
Removing the image cache didn't help with missing images. I see some GL related errors and a segfault when I quit the game. Probably it's just my system. Super Tux Kart didn't work on my computer because it needs a newer openGL version, but my videocard don't support it.
The offset problem appears on 1024x768 windowed. Using 800x600 or 640x480 windowed works fine, idem using 1024x768 full-screen.
I just tried at 1024x768, but still no success in reproducing it. @datahead8888 could you try to reproduce the issue after updating your Git checkout?
I see the strange dots in all resolutions.
The thing is that the dots are not drawn by TSC one by one or such things. There is a request sent to the graphics card to draw a dotted line, an atomic operation. Thus if there is an issue in drawing the dots, it must be something below TSC that is at fault.
I see some GL related errors and a segfault when I quit the game.
The warning you posted above is a real warning. For whatever reason, CEGUI could not load that file from disk and hence displays the dummy image to you. Does the file mentioned in the error message exist, and do you have read access to it?
The segfault is most likely a consequence of the failure to load these images, though it should not happen even in that case (TSC probably thinks the images are there and tries to free them on game exit, causing the segfault as they aren't). You could try to generate a backtrace by compiling TSC with -DCMAKE_BUILD_TYPE=Debug
and then running TSC via gdb like this:
$ gdb /opt/tsc/bin/tsc
> r
[play until it segfaults]
> bt
[long backtrace]
> quit
Please post the entire output you get from this run.
Vale, Quintus
By debugging in IRC, we found out that the offset problem results from skarfester using the XFCE bar, which occupies part of the screen and overlaps the TSC window. It is this overlap that causes the offset.
Here's my full console output by just opening and closing the game. You'll see a lot of GL errors about missing images. I think they appear because I have worlds edited on 2.0 using my own graphics put in folders different that in 2.1 (and some of them, like the river, not included at all). https://gist.github.com/Skarfester/e87fafec77f6eaaf0eacce3acca3b92b
As for the "image not found" issue the special objects are fixed but there are some more. The errors shown at the terminal are like this:
This was a tricky one. I finally found the culprit. It depends on CEGUI's compilation options. Debian and Debian-based Linux distributions compile CEGUI with the default image codec set to SILLY, and SILLY has problems with some of our PNG files, albeit they're valid PNGs. Commit 7f52d2d48d8bb2e59e1da483268f36567e27ead7 forces the DevIL codec to be used, which made the problem disappear for me. @skarfester, can you please test again with that commit applied and see whether the items in the menu are now all displayed properly for you?
Actually, re-reading the OP, this was all. The bugs described in this ticket are fixed now, so I close this. Still, would be nice if @skarfester would verify.
These problems weren't on version 2.0. Some of them are related to #596
The objects outline showing its properties (massive, passive, climbable...) is so thin it's difficult to see the colour.
When writing on the right panel the special keys still have effect, like "N" and "P" moving the camera.
Some special objects like entry and exit beams and particle emitter are invisible, making very hard to find them with the pointer. I found that dragging them makes them visible (except for the particle emitter).
Pointer behaviour: sometimes you need to move the pointer past an object to actually be able to select it.
Sometimes objects cannot be selected, dragged or deleted, like if they weren't actually there (Alex graphic for example).
Some images are not displayed in the menu (image not found), but can be picked normally.