ID:1986273
 
I have a problem using the web-client, I was told I did not need to do anything as the web-client should handle all the skin function, skin conveting, ect... My game uses the byond skin heavily so I figured id fire up the web-client and try it out.

I have a problem where when I join the game it should take me to the starting spot of the game but it does not and just ends up being a black screen.

I believe the client.eye code does not work with web-client. So I just set it back on my character and skipped the client.eye = character creation turf for more test purposes.

There are verbs that should not be showing up in the web-client commands. Ill update this more as I progress through the web-client.
Specific bug reports on each item would be best. (The verb thing has probably been reported already.) With those I'll need some source to test, either your regular source (you can PM me) or a demo that shows the problem, and instructions for what to do/look for.
I will make demo for you to look into, in the meantime you are welcome to come try it out. I bypassed most of the bugs but god damn, im running my game with my usual round settings and the web-client is handling the game very well. Well done!

http://www.byond.com/play/1965266552

Glad to hear it.
- Command verbs that should not be popping up.


- Full-screen mode disappears from the browser sometimes.(Not sure what causes it.)

- Music only loops once. despite sound("song", 1)

- Right-clicking objs and selecting options from there sub-menus do not work.(verbs)
//Test with this obj in src.contents
obj/bat/verb
Detach()
set src in usr
set category = null
//set hidden = 1
world << "Does not work!"



- winset() has no function over the web-client so I cant open the perk menu in my game that uses the byond skin features or the second mini-map window. Or pre-set window back to defaults when the server reboots. Cant use it to pre-set or reset web-clients macros either.

- Weird client.screen glitch where the objs hang even if u remove them from client.screen. Usually happens outside on black areas that are not in view of mob. Will go away if you move.


- Sometimes the chats dont keep up with the output box and gets left behind(Gotta scroll down the chat boxs manually to see new chats)

- client.eye does not seem to work when you set it on anything other than yourself, could also be cause by a range/z level limit.(my games client is set to client.perspective = (EYE_PERSPECTIVE))

- Topics dont include <select name => options anymore to the topic href_list[].
mob/Topic(href, href_list[])
switch(href_list["action"])
if("options")
var/TEST = href_list["music"]
world << "[TEST] Outputs null"

mob/verb/H()
var/html = {"
<html>
<head>
<title>Options</title>
</head>
<body>
<form method=get action=''>
<input type=hidden name=src value=\ref
[src]>
<style type="text/css">
body{background: background-position:center; background-color: black; color: white}
a:link,a:visited{color: ;text-decoration: none}a:hover {color:}
input{background-color: white ;color: black; border-color: grey}
select{background-color: white ;color: black}
radio{background-color: black; color: black}
</style>
<center><big><b><u>Options</u></b></big></center>
<br>
<table cellpadding="3" cellspacing="0" border="1" align="center">
<td>
<table cellpadding="3" cellspacing="0" border="0" align="center">
<tr>
"}


html += {"<tr><td>Music: </td><td><select name = music>
<option value="1" selected>On</option>
<option value="0" >Off</option>
</select></td></tr>"}


html += {"
<input type="hidden" name="action" value="options">
<center><input type="submit" value="Submit"> - <input type="reset" value="Reset"></center>
</table>
</form>
</body>
</html>
"}


src << browse(html, "window=Topic;size=480x444")

This is all that I have found so far with the web-client but other than these problems, my game runs just fine. I will leave the server web-client up for another day in case you want to take a look at the problems. Also noticed the chat was black so I may have to fix that problem when I can.
In response to Darker Emerald
Darker Emerald wrote:
- Command verbs that should not be popping up.

The fact that duplicate verbs are listed bugs me; I know I dealt with something like that in the past, so that shouldn't be happening now.

- Music only loops once. despite sound("song", 1)

If you're using Firefox, that may be why; that's a known and reported issue.

- Right-clicking objs and selecting options from there sub-menus do not work.(verbs)
> //Test with this obj in src.contents
> obj/bat/verb
> Detach()
> set src in usr
> set category = null
> //set hidden = 1
> world << "Does not work!"
>


Strange, the right-click menu went through a fix not all that long ago that took care of an issue just like this (which appeared post-DSification). I'll definitely need to try that on your code.

If I do end up moving the parser totally to the client for 510, that will eventually be moot.

- winset() has no function over the web-client so I cant open the perk menu in my game that uses the byond skin features or the second mini-map window. Or pre-set window back to defaults when the server reboots. Cant use it to pre-set or reset web-clients macros either.

Winset definitely does work on the webclient, but maybe there's a specific command that's not acting the way it should. I'd need more information. Winset also does work with macros; it's been tested with dynamic macros. Again I'd need more info on what winsets you're using and how. Probably each individual case where winset is having issues needs its own bug report.

As a caveat, if your skin is using really bad naming conventions that could potentially be a part of it. If you have any controls that include non-ID characters (alphanumeric or underscore), that should be changed. The skin translator and all commands that interact with the skin try to adjust for that as best they can. That's just a top-of-my-head guess as to why you might be having so many winset troubles across the board.

- Weird client.screen glitch where the objs hang even if u remove them from client.screen. Usually happens outside on black areas that are not in view of mob. Will go away if you move.

That should definitely get a new bug report. Probably an easy fix.

- Sometimes the chats dont keep up with the output box and gets left behind(Gotta scroll down the chat boxs manually to see new chats)

Grr, that kind of thing has been a thorn in my side. Seems to be very inconsistent as to when I can ever get that to happen, but it's something I can look into. I don't think there's an existing report for it.

- client.eye does not seem to work when you set it on anything other than yourself, could also be cause by a range/z level limit.(my games client is set to client.perspective = (EYE_PERSPECTIVE))

Oh! It could in fact be a Z issue. I'll check on that, but that should get a bug report too.

- Topics dont include <select name => options anymore to the topic href_list[].

Good catch. It looks like I did not properly account for this in the submit() function in browser.dms. Should also be an easy fix. As with the others, this should have a report too.

Damn, DE making Lummox earn his paycheck tonight.
- Web-client appears to be somehow connected with any atom in view of the web-client and inherits all of its verbs including category=null ones.

obj/vstuff/Admin/verb
Give_Money()
set category = "Admin"
Ban()
set category = "Admin"

mob/Login()
..()
if(src.key in list("Darker Emerald"))
src.verbs += typesof(/obj/vstuff/Admin/verb)


----------

The winset widnows issue could be my bad than, heres what im currently using and what my windows are named.

mob
Login()
..()
winset(usr, "main.main_spliter", "left=title_screen;right=")
winset(usr, "layout_perk", "size=400x536")
winset(usr, "stats_window", "size=262x458")
winset(usr, "pm_labels", "text=")
usr << output(null, "announce_output")
winset(usr, "main","macro=")
winshow(usr, "layout_map",0)
winshow(usr, "tutorial_window", 0)
winshow(usr, "store_take_window", 0)
winshow(usr, "info_ic", 0)
winshow(usr, "how_to_window", 0)
winshow(usr, "passcode_window", 0)
winshow(usr, "key_item_window", 0)
usr << output(null, "pm_output")
usr << output(null, "chat_output")
usr << output(null, "announce_output")
usr << output(null, "clan_output")
usr << output(null, "key_item_output")
src.loc = null
winset(usr, "main","macro=newgame")
src << title_music
winset(usr, "SPACE+UP", {"parent=newgame;name=SPACE+UP;command=gstart"})


I will definitely rewrite all my skin names to not include underscores or anything and confirm the fix, as for the setting macros ill have to look into a different method.


- Music only loops once. despite sound("song", 1)

If you're using Firefox, that may be why; that's a known and >>reported issue.

Im using google chrome.
How's the FPS for your users, Darker? On my machine I have noticeable delays compared to running it in DS, so uploading a CPU profile might be a good idea: http://www.byond.com/ forum/?post=1917533&page=2#comment16563641
I uploaded 1 for u, im not entirely sure how to do it but I ran it through 1 round in game, my game is also based pn 10fps. If theres a certain way I should do it let me know.
Underscores ought to be okay; it's stuff like slashes and apostrophes that'd be bad.
In response to Lummox JR
Hrm, than there has to be an issue with winset if that's the case. Maybe Winshow is the problem and not winset. I'll confirm that tommorrow when I have more free time.