ID:93509
 
BYOND Version:464
Operating System:Windows 7 Ultimate 64-bit
Web Browser:Internet Explorer 8.0
Applies to:Dream Seeker
Status: Deferred

This issue may be low priority or very difficult to fix, and has been put on the back burner for the time being.
Duplicates:id:101946, id:105819, id:94997
Descriptive Problem Summary:

When things like stat panels, and game windows change the skin can often become currupted looking. The previous stat panels/windows are shown overt the top (but are not actually there). Resizing the game window (maximize/minimize) fix's it, but often people have to click on another stat panel to get the window to refresh.

Having images displayed in stat panels, they wont show until i resize the window or click another stat panel. Sometimes people have told me resizing the window didnt fix it either. They had to find a way for the game to add a stat panel to the window to get it to "refresh".

Numbered Steps to Reproduce Problem:

Remove stat panels, any with images shown in them (or objects even).

Have a window or control replace another window or control. Often the old one gets "stuck" visually over it.

http://yfrog.com/9fstat1xp (image 1)
In this one, stat panels were removed by the game after exiting a duel. Leaving those 3 behind. The stat panels that were previously there is shown over the commands stat panel. Clicking between them refreshs the screen and shows it properly,

http://yfrog.com/5ywindows2p (image 2)
The control above it can be "hidden" and the game removes the RIGHT value, and then when its added back, you can see the stat panels shown in the HTML window (that window is a browser window).

http://yfrog.com/jvwindowuj
When the game loads. The main child's right is "_load" then it sets left to "_map" and right to "lpane". As you can see the previous pane is shown over the map area, until the window is resized it remains that way and you cannot see the map.

Expected Results:

The skin to look normal.

Actual Results:

The skin looks currupted, windows are show partially over controls/panels.

Does the problem occur:
Every time? Or how often? Often.
In other games? Probably.
In other user accounts? Yes!
On other computers? Yes, ive had reports from lots of people blaming my game! I have tried to fix it but it seems to be out of my control.

When does the problem NOT occur?

Most of the time, with normal use things seem ok. But as soon as stat panels and windows are added/removed then this bug seems to crop up.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)

I don't recall having this problem when 4.0 and skins came around, im not sure exactly when it started happening. I was alerted to it by players gradually, so it seems to be something that slipped in as versions were updated.

At first i thought it was a graphics driver issue with certain players, so waited it out. But i have it happen to me, on two different systems. However both do have ATI graphics cards... I will try and find out what Graphics cards users who are having this problem have and see if it affects all types.

Workarounds:

None im aware of.

I appreciate the addition of screenshots, but I'm afraid I still don't fully understand what's causing the problem. I can see some controls aren't redrawing but your description isn't fully clear to me. Can you clarify that further? Also it would be helpful to see this in action with some kind of demo project.
Hi, sorry didnt see that there was a comment on this.

Well i stripped the game down to its skin only. Umm i added a sleep() on the load to simulate Save File Loading and Hub Score Fetching.

I was not able to reproduce 2 of the bugs i mentioned, but i can easily reproduce this one (http://yfrog.com/5ywindows2p)

Here is the Demo File..
http://www.megaupload.com/?d=40X1Q19O

You should be able to reproduce the error with the Avatar window just by clicking the hide arrow, then showing it again (see pic). It will cover it up and wont refresh.
I'll check out that demo, thanks. It would still help to have a clearer description of this issue because I don't fully understand the description you've provided in the post. I need to know what I should be looking at in your demo.
I should add that the kinds of details it would help to know are things like which control names are involved and what exact sequences I should follow to see any issues appear.

Your description of how to get this issue to show up was still very, very vague, but I followed these steps:

1) I looked at the header in the upper right, with the small image.
2) I clicked the button on the upper right that looked like an up arrow.
3) I clicked the down arrow that appeared after that upper section was hidden.
4) I saw that the small image did not refresh properly until I tabbed away from the window and came back.

You just said "hide arrow" so I had to guess at which one you meant. More details would have helped here.

Further info that would have helped in particular would have been knowing that the window with the avatar image is info_header_p, and that the control showing the avatar image is called avatar and is actually a browser control, not a label or button as I would have suspected. (A label or button would actually make more sense for this purpose.) I was only able to find this out by looking in your source for the gradient background image you use, and then opening your skin in a text editor to search for the control that uses it. No offense, but the names for the skin's windows and controls are really terrible; I was totally lost trying to find it in the DM editor. If you've seen similar issues in other controls please let me know specifically which controls are at fault, and I can take a look at those too.

The fact that a browser control is not updating is something I think I've seen before, and is probably a simple fix if I can isolate it.
The browser control seems to play by its own rules when it comes to refreshing. I'll have to get back to this later. In the meantime, a good workaround is to use a label or a button for your avatar image, which is a more appropriate choice for this purpose anyway.
Hi,

Thanks for looking. Sorry again i meant to try and explain this properly but ive been a little distracted/busy and seems i dont get an kind of notification when you reply to this. I am used to seeing the BYOND logo spin or getting an email alert or such.

Anyways, hmmm well i would use a label for this but the way avatar's are done is by an image link (to save server resources if it was being stored in the save files). The users just put a link in and thats whats used in the game.

The behaviour you saw with the browser window is also exactly what happens at times with Stat panel and sometimes the Map Window within my game.

I would invite you to enter an active server;

http://www.byond.com/games/EternalDuelistSoul/ DuelMonstersGenesis?tab=live

If you enter a game, ask for an Admin and just mention who you are. I will post a notice in the games forums so they know why you are there.

I'm sure they will help show you the issue, or if im there then ill do so too.

I could not seem to replicate the behaviour with the demo i made, even though it was my game stripped down to just the skin. I could only assume that server lag plays a part in this refresh problem.

The map window issue only happens sometimes, but the stat panel issue seems more consistant (it happens every time in a live server, and you have to faff with the window to get them to refresh).

------

Once again, apologies you found it hard to figure out what i was talking about and that i was unable to reply sooner.

EDIT: No scrub that, i can replicate it offline too in my game. Will work on trying to isolate it & will post up a new demo asap.
Ok....

Think ive figured it out.

The problem seems to happen (with stat panels) when you remove the stat panels that are 'refreshing'.

In my last demo, it switched from a stat panel with some images, back to some with text. But that text was still in the stat() proc and was being refreshed (even though the values didnt change).

SO instead ive added verbs which show up in the panel (like what a player in my game would see) and clicking "Start Duel" shows a fake Deck & some fake stats (with images).

If you click "Start Duel" again like in the previous demo, it will remove those stat panels and just show that commands tab. HOWEVER it will display it incorrectly with the previous stat panels over the top. You cannot actually fix it. Resizing the window etc still will not make it show up properly.

LINK: http://www.megaupload.com/?d=33SX4TLI

I have found a work around now though this testing. If i create a stat panel (something showing their name or whatver, anything as long as its displayed in a stat window through stats()) and have that display during non dueling/watching/etc then it wont glitch when the rest are removed. If i go back to just a Commands/Verbs panel thats when this problem happens.

EDIT: The control you are looking for in the skin file is just called "Stats" btw. Nothing special about it, other than it being the LEFT window of "Info_".
Well I certainly wouldn't think of this as low priority, so I'm guessing too difficult to fix? It's been 8 months. :-(

Edit: Although I did see your more recent response to PopLava's duplicate (2147), and I appreciate that you have put more effort into it since this original report. I just really hope that you're able to get some sort of epiphany about it or get someone else to fix it someday though.