No, it was clearly a server-not-recognizing newlines problem that seems to recur with some browsers.
I tested now, and it occurs with IE7. With Firefox, it does not occur.
When I look at the server logs, the differences are:
When Firefox does the
SOAP call, the server receives the following request:
doRenderWtxt("MTE5Njc2MDQ3NzrlFyGvtKrpygR6yrullZKmVQ+7kA==", "Run Saber (SNES) beaten in 56087 frames, 15min 34.783sec
Run Saber is a pretty blatant ripoff of Strider by Horisoft. It\'s a fun game, though, and rather more stylistic than Strider, I think. It has one of those dime-a-dozen plots, though; aliens are invading (or have conquered the planet already, the game\'s opening is not clear on this point,) and the two Run Sabers (genetically enhanced soldiers) are the world\'s only hope.
This TAS uses the male Run Saber, Alow, and beats the game in 15min 34.783sec, delivering the final hit to the final boss at exactly frame 56067. In order of priority, my goals were:
*Aims for fastest time
**Contains speed/entertainment tradeoffs (boss fights)
*Takes no damage
*Plays at hardest level
*Manipulates luck (enemy positions)
Recorded with ZSNES 1.51, primarily at 20% and 25% speed, no special options enabled.
All of the stages are the same concept (Get from point A to B, kill or dodge everything in your way,) so I don\'t see any need to discuss them.
Possible future optimizations:
*Two players? IMO, this would only help at the last few bosses because of the long invulnerability timer.
*Use bombs? Not likely; they take a full five seconds to go off, and you can\'t do anything during the animation.
*Go for pure speed on bosses instead of trying to be entertaining?
*Jump from ledges instead of running/sliding off more often?
Thanks to:
*Dromiceius, for telling me about dashing.
*Dyce, for his Run Saber FAQ on GameFAQs", "", "")
When IE does the SOAP call, the server receives the following request:
doRenderWtxt("MTE5Njc2MDUxMTqQdHkp4EBvPAViVdi3TkhBK152PQ==", "Run Saber (SNES) beaten in 56087 frames, 15min 34.783sec
Run Saber is a pretty blatant ripoff of Strider by Horisoft. It\'s a fun game, though, and rather more stylistic than Strider, I think. It has one of those dime-a-dozen plots, though; aliens are invading (or have conquered the planet already, the game\'s opening is not clear on this point,) and the two Run Sabers (genetically enhanced soldiers) are the world\'s only hope.
This TAS uses the male Run Saber, Alow, and beats the game in 15min 34.783sec, delivering the final hit to the final boss at exactly frame 56067. In order of priority, my goals were:
*Aims for fastest time**Contains speed/entertainment tradeoffs (boss fights)
*Takes no damage*Plays at hardest level*Manipulates luck (enemy positions)
Recorded with ZSNES 1.51, primarily at 20% and 25% speed, no special options enabled.
All of the stages are the same concept (Get from point A to B, kill or dodge everything in your way,) so I don\'t see any need to discuss them.
Possible future optimizations:
*Two players? IMO, this would only help at the last few bosses because of the long invulnerability timer.
*Use bombs? Not likely; they take a full five seconds to go off, and you can\'t do anything during the animation.
*Go for pure speed on bosses instead of trying to be entertaining?
*Jump from ledges instead of running/sliding off more often?Thanks to:
*Dromiceius, for telling me about dashing.
*Dyce, for his Run Saber FAQ on GameFAQs", "", "")
So IE7 borks the submission text even before the server can receive it.
What happens in the source code? The following happens:
function gel(id) { return document.getElementById(id) }
function tx(id) { return gel(id).value }
function subpreview_init()
{
with(gel('previewpane').style)
{
visibility='visible';
display='block';
}
gel('subsavebutton').style.visibility='visible';
}
wtxt={
preview:function(input,cbok,fnok)
{
var params = new cloneObject(soap_defs);
params.wtxt = input;
SOAP.q_async_json(
soap_api_url, 'urn:TasvideosQuery', 'doRenderWtxt',
params, function(data)
{
/*alert(displayObject(data));*/
cbok(data.html)
}, fnok)
},
preview_div:function(divname,input)
{
var e = function(h) { gel(divname).innerHTML=h }
e('');
wtxt.preview(input, e, function(h) { alert('Preview not available') } )
}
}
And
<input type="button" value="Preview comments"
onclick="subpreview_init();wtxt.preview_div('subpreviewwin',tx('subtext'))">
So what happens is that the SOAP call gets the value of the textarea as a parameter, and somehow, it gets fried in the process by MSIE, but not on Firefox.
This function encodes the query parameters into XML for the SOAP call:
function sq_(a)
{
if(typeof a != 'object') return xe(a);
var p,res='';
for(p in a) res += '<' + p + '>' + sq_(a[p]) + '</' + p + '>';
return res
}
function xe(s)
{
/* This technique comes from prototype.js */
return dom_tag_text('div', s).innerHTML
}
Likely, it is the function xe() that makes IE7 bork the input somehow. For the reference, here's how prototype.js implements it:
function escapeHTML() {
var self = arguments.callee;
self.text.data = this;
return self.div.innerHTML;
}
Has someone the energy to look into this problem? Because I'm just "ditch IE and use a sane browser".