mirror of
https://github.com/bdnugget/rs-sdk.git
synced 2026-11-07 09:07:30 +00:00
Updates all three upstream repos (Engine-TS, Content, Client-TS) to the September 7, 2004 game snapshot with all rs-sdk modifications re-applied. ## New Game Content (254) - Duel Arena — full PvP dueling with configurable rule sets - Death Plateau quest — find a safe route past trolls in Burthorpe - Troll Stronghold quest — infiltrate the stronghold to rescue Godric - Quest journals — proper progress tracking for all quests - Mime random event — emote-copying theater event - Maze random event — navigate a maze to the center - Varbit support — engine-level variable bit support - Combat formula fixes and improvements - New map areas around Burthorpe/Trollheim ## SDK & Engine Changes - Regenerated collision data (+51k new tiles for 254 map areas) - Fixed playerpositions API (World.playerLoop.all() for 254 HashTable) - Updated StateCollector for 254 field renames (scene→world, varps→var, skillLevel→statEffectiveLevel, etc.) - Re-applied all bot framework, auth, session, and hiscore modifications - MapView: restored unified underground map, player tracking, wheel/touch zoom, trails, and teleport markers on 254 webclient API - MapView: tighter region packing (underground overlaps overworld edge) - Generated worldmap.jag for mapview Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
76 lines
2.6 KiB
Plaintext
76 lines
2.6 KiB
Plaintext
<HTML>
|
|
<STYLE>
|
|
BODY {
|
|
margin: 0px;
|
|
overflow: auto;
|
|
}
|
|
</STYLE>
|
|
|
|
<BODY topmargin=0 leftmargin=0 bgcolor=black onload=startloop();>
|
|
<center>
|
|
<applet name=app width=765 height=503 archive=loader.jar code=loader.class MAYSCRIPT>
|
|
<param name=portoff value=<%= portoff %>>
|
|
<param name=nodeid value=<%= nodeid %>>
|
|
<param name=free value=<%= members %>>
|
|
<param name=lowmem value=<%= lowmem %>>
|
|
<%= lowmem %>
|
|
</applet><br>
|
|
|
|
<br>
|
|
<bgsound id=midibox loop=0 volume=0 autostart=yes>
|
|
<bgsound id=wavebox loop=0 volume=0 autostart=yes>
|
|
|
|
<script language="javascript">
|
|
var fadestop = null;
|
|
var fade = 50;
|
|
var fademidi;
|
|
var fadevol = 0;
|
|
|
|
function dofade() {
|
|
fade = fade + 1;
|
|
midibox.volume = -(fade * 100);
|
|
if (fade >= 36) {
|
|
clearInterval(fadestop);
|
|
clearInterval(fadestop);
|
|
midibox.src = fademidi; midibox.volume = fadevol; fade = -(fadevol / 100);
|
|
clearInterval(fadestop);
|
|
clearInterval(fadestop);
|
|
}
|
|
}
|
|
|
|
function givetrue() { return true; }
|
|
|
|
function musicloop() {
|
|
var midi = document.app.getmidi();
|
|
if (midi != "none") {
|
|
if (fadestop != null) clearInterval(fadestop);
|
|
var midivol = document.app.getmidivol();
|
|
var midifade = document.app.getmidifade();
|
|
if (midi == "stop") { midibox.src = "c:\silence.mid"; fade = 50; return; }
|
|
if (midi == "voladjust") { midibox.volume = midivol; if (midifade == 1) fade = -(midivol / 100); else fade = 50; return; }
|
|
if (midifade == 1) {
|
|
fademidi = midi; fadevol = midivol;
|
|
if (fadestop != null) clearInterval(fadestop);
|
|
fadestop = setInterval("dofade()", 200);
|
|
} else {
|
|
midibox.src = midi; midibox.volume = midivol; fade = 50;
|
|
}
|
|
}
|
|
|
|
var wave = document.app.getwave();
|
|
if (wave != "none") {
|
|
var wavevol = document.app.getwavevol();
|
|
wavebox.src = wave; wavebox.volume = wavevol;
|
|
}
|
|
}
|
|
|
|
function startloop() {
|
|
onerror = givetrue;
|
|
setInterval("musicloop()", 50);
|
|
}
|
|
</script>
|
|
</center>
|
|
</body>
|
|
|
|
</html>
|