add game build
BIN
favicon.ico
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
3544
html5game/RPG Starter Pack.js
Normal file
BIN
html5game/RPG Starter Pack_texture_0.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
html5game/RPG Starter Pack_texture_1.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
html5game/builtinfonts/FONT_builtin.png
Normal file
|
After Width: | Height: | Size: 9.5 KiB |
1476
html5game/builtinfonts/FONT_builtin.yy
Normal file
BIN
html5game/particles/IDR_GIF1.png
Normal file
|
After Width: | Height: | Size: 301 B |
BIN
html5game/particles/IDR_GIF10.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
html5game/particles/IDR_GIF11.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
html5game/particles/IDR_GIF12.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
html5game/particles/IDR_GIF13.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
html5game/particles/IDR_GIF14.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
html5game/particles/IDR_GIF15.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
html5game/particles/IDR_GIF2.png
Normal file
|
After Width: | Height: | Size: 266 B |
BIN
html5game/particles/IDR_GIF3.png
Normal file
|
After Width: | Height: | Size: 930 B |
BIN
html5game/particles/IDR_GIF4.png
Normal file
|
After Width: | Height: | Size: 301 B |
BIN
html5game/particles/IDR_GIF5.png
Normal file
|
After Width: | Height: | Size: 301 B |
BIN
html5game/particles/IDR_GIF6.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
html5game/particles/IDR_GIF7.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
html5game/particles/IDR_GIF8.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
html5game/particles/IDR_GIF9.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
html5game/snd_death.mp3
Normal file
BIN
html5game/snd_death.ogg
Normal file
BIN
html5game/snd_dialogue_beep.mp3
Normal file
BIN
html5game/snd_dialogue_beep.ogg
Normal file
BIN
html5game/snd_gui_decline.mp3
Normal file
BIN
html5game/snd_gui_decline.ogg
Normal file
BIN
html5game/snd_gui_select.mp3
Normal file
BIN
html5game/snd_gui_select.ogg
Normal file
BIN
html5game/snd_hit.mp3
Normal file
BIN
html5game/snd_hit.ogg
Normal file
BIN
html5game/snd_player_hurt.mp3
Normal file
BIN
html5game/snd_player_hurt.ogg
Normal file
BIN
html5game/snd_weapon_swipe.mp3
Normal file
BIN
html5game/snd_weapon_swipe.ogg
Normal file
BIN
html5game/snd_win.mp3
Normal file
BIN
html5game/snd_win.ogg
Normal file
50
html5game/sound/worklets/audio-worklet.js
Normal file
@@ -0,0 +1,50 @@
|
||||
AudioWorkletProcessor.prototype._03=function(){this._13=true;this.port.onmessage=(_23)=>{if(_23.data==="kill")this._13=false;};};class _33 extends AudioWorkletProcessor{static get parameterDescriptors(){return [{name:"bypass",automationRate:"a-rate",defaultValue:0,minValue:0,maxValue:1}];}constructor(){super();this._03();}process(_43,_53,parameters){const input=_43[0];const bypass=parameters.bypass;for(let c=0;c<input.length;++c){const _63=input[c];for(let _73=0;_73<_63.length;++_73){const _83=(bypass[_73]!==undefined)?bypass[_73]:bypass[0];
|
||||
_53[_83][c][_73]=_63[_73];}}return this._13;}}class _93 extends AudioWorkletProcessor{static get parameterDescriptors(){return [{name:"gain",automationRate:"a-rate",defaultValue:1,minValue:0}];}constructor(){super();this._03();}process(_43,_53,parameters){const _a3=_43[0];const _b3=_43[1];const output=_53[0];const gain=parameters.gain;for(let c=0;c<_b3.length;++c){const _63=_b3[c];const _c3=output[c];for(let _73=0;_73<_63.length;++_73)_c3[_73]=_63[_73];}for(let c=0;c<_a3.length;++c){const _63=_a3[c];const _c3=output[c];
|
||||
for(let _73=0;_73<_63.length;++_73){const _d3=(gain[_73]!==undefined)?gain[_73]:gain[0];_c3[_73]+=_63[_73]*_d3;}}return this._13;}}registerProcessor("audio-bus-input",_33);registerProcessor("audio-bus-output",_93);class _e3 extends AudioWorkletProcessor{static get parameterDescriptors(){return [{name:"bypass",automationRate:"a-rate",defaultValue:0,minValue:0,maxValue:1},{name:"gain",automationRate:"a-rate",defaultValue:1.0,minValue:0.0},{name:"factor",automationRate:"a-rate",defaultValue:20,minValue:1,maxValue:100}
|
||||
,{name:"resolution",automationRate:"a-rate",defaultValue:8,minValue:2,maxValue:16},{name:"mix",automationRate:"a-rate",defaultValue:0.8,minValue:0.0,maxValue:1.0}];}static _f3=[undefined,undefined,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768];constructor(_g3){super();this._03();const _h3=_g3.outputChannelCount[0];this._i3=new Float32Array(_h3);this._j3=new Uint32Array(_h3);}process(_43,_53,parameters){const input=_43[0];const output=_53[0];const bypass=parameters.bypass;const gain=parameters.gain;
|
||||
const factor=parameters.factor;const resolution=parameters.resolution;const mix=parameters.mix;for(let c=0;c<input.length;++c){const _63=input[c];const _c3=output[c];for(let _73=0;_73<_63.length;++_73){_c3[_73]=_63[_73];if(this._j3[c]===0)this._i3[c]=_63[_73];const _k3=(factor[_73]!==undefined)?factor[_73]:factor[0];++this._j3[c];this._j3[c]%=_k3;const _83=(bypass[_73]!==undefined)?bypass[_73]:bypass[0];if(_83>0.0){continue;}let _l3=this._i3[c];const _d3=(gain[_73]!==undefined)?gain[_73]:gain[0];_l3*=_d3;_l3=Math.max(Math.min(_l3,
|
||||
1.0),-1.0);const _m3=(resolution[_73]!==undefined)?resolution[_73]:resolution[0];const max=(_l3>0.0)?_e3._f3[_m3]-1:_e3._f3[_m3];_l3=Math.round(_l3*max)/max;const _n3=(mix[_73]!==undefined)?mix[_73]:mix[0];_c3[_73]*=(1.0-_n3);_c3[_73]+=(_l3*_n3);}}return this._13;}}registerProcessor("bitcrusher-processor",_e3);class _o3{constructor(_p3=1e-3){this.setTime(_p3);}setTime(_p3){this._q3=Math.exp(-1/(_p3*sampleRate));}process(_r3,_s3){return _r3+this._q3*(_s3-_r3);}}class _t3{constructor(_u3,_v3){this._w3=new _o3(_u3);
|
||||
this._x3=new _o3(_v3);this._y3=_u3;this._z3=_v3;}_A3(_p3){if(_p3===this._y3)return;this._w3.setTime(_p3);this._y3=_p3;}_B3(_p3){if(_p3===this._z3)return;this._x3.setTime(_p3);this._z3=_p3;}process(_r3,_s3){if(_r3>_s3)return this._w3.process(_r3,_s3);else return this._x3.process(_r3,_s3);}}class _C3 extends AudioWorkletProcessor{static get parameterDescriptors(){return [{name:"bypass",automationRate:"a-rate",defaultValue:0,minValue:0,maxValue:1},{name:"ingain",automationRate:"a-rate",defaultValue:1,minValue:0}
|
||||
,{name:"threshold",automationRate:"a-rate",defaultValue:0.125,minValue:1e-3,maxValue:1},{name:"ratio",automationRate:"a-rate",defaultValue:4,minValue:1},{name:"attack",automationRate:"a-rate",defaultValue:0.05,minValue:1e-3,maxValue:1e-1},{name:"release",automationRate:"a-rate",defaultValue:0.25,minValue:1e-2,maxValue:1},{name:"outgain",automationRate:"a-rate",defaultValue:1,minValue:0}];}constructor(_D3){super();this._03();const _w3=_C3.parameterDescriptors.find(_E3=>_E3.name==="attack");const _x3=_C3.parameterDescriptors.find(_E3=>_E3.name==="release");
|
||||
this._F3=new _t3(_w3.defaultValue,_x3.defaultValue);this._G3=0;}process(_H3,_I3,_J3){const input=_H3[0];const output=_I3[0];const bypass=_J3.bypass;const ingain=_J3.ingain;const outgain=_J3.outgain;const threshold=_J3.threshold;const ratio=_J3.ratio;const attack=_J3.attack;const release=_J3.release;if(input.length===0)return this._13;for(let _73=0;_73<input[0].length;++_73){let frame=input.map(_K3=>_K3[_73]);output.forEach((_K3,_L3)=>{_K3[_73]=frame[_L3];});const _M3=(ingain[_73]!==undefined)?ingain[_73]:ingain[0];
|
||||
frame=frame.map(_N3=>_N3*=_M3);const rect=frame.map(_N3=>Math.abs(_N3));const max=Math.max(...rect);const _O3=_P3(max);const _Q3=(threshold[_73]!==undefined)?threshold[_73]:threshold[0];const _R3=_P3(_Q3);const _S3=Math.max(0,_O3-_R3);const _w3=(attack[_73]!==undefined)?attack[_73]:attack[0];const _x3=(release[_73]!==undefined)?release[_73]:release[0];this._F3._A3(_w3);this._F3._B3(_x3);this._G3=this._F3.process(_S3,this._G3);const _83=(bypass[_73]!==undefined)?bypass[_73]:bypass[0];if(_83>0)continue;const _m3=(ratio[_73]!==undefined)?ratio[_73]:ratio[0];
|
||||
const _T3=(this._G3/_m3)-this._G3;const _d3=_U3(_T3);frame=frame.map(_N3=>_N3*=_d3);const _V3=(outgain[_73]!==undefined)?outgain[_73]:outgain[0];frame=frame.map(_N3=>_N3*=_V3);output.forEach((_K3,_L3)=>{_K3[_73]=frame[_L3];});}return this._13;}}function _P3(_W3){return 20*Math.log10(_W3);}function _U3(_W3){return Math.pow(10,_W3/20);}registerProcessor("compressor-processor",_C3);class _X3 extends AudioWorkletProcessor{static _Y3=5.0;static get parameterDescriptors(){return [{name:"bypass",automationRate:"a-rate",
|
||||
defaultValue:0,minValue:0,maxValue:1},{name:"time",automationRate:"a-rate",defaultValue:0.2,minValue:0.0,maxValue:_X3._Y3},{name:"feedback",automationRate:"a-rate",defaultValue:0.5,minValue:0.0,maxValue:1.0},{name:"mix",automationRate:"a-rate",defaultValue:0.35,minValue:0.0,maxValue:1.0}];}constructor(_g3){super();this._03();const _h3=_g3.outputChannelCount[0];const _Z3=(_X3._Y3*sampleRate)+1;this.buffer=new Array(_h3);this.__3=new Uint32Array(_h3);for(let c=0;c<_h3;++c)this.buffer[c]=new Float32Array(_Z3);
|
||||
}process(_43,_53,parameters){const input=_43[0];const output=_53[0];const bypass=parameters.bypass;const time=parameters.time;const feedback=parameters.feedback;const mix=parameters.mix;for(let c=0;c<input.length;++c){const _63=input[c];const _c3=output[c];for(let _73=0;_73<_63.length;++_73){_c3[_73]=_63[_73];const _Q3=(time[_73]!==undefined)?time[_73]:time[0];const _04=this._14(c,_Q3);const _k3=(feedback[_73]!==undefined)?feedback[_73]:feedback[0];const _24=_63[_73]+(_04*_k3);this.write(c,_24);const _83=(bypass[_73]!==undefined)?bypass[_73]:bypass[0];
|
||||
if(_83>0.0){continue;}const _n3=(mix[_73]!==undefined)?mix[_73]:mix[0];_c3[_73]*=(1-_n3);_c3[_73]+=(_04*_n3);}}return this._13;}_14(_34,_p3){const _44=_p3*sampleRate;let _54=(this.__3[_34]-~~_44);let _64=(_54-1);while(_54<0)_54+=this.buffer[_34].length;while(_64<0)_64+=this.buffer[_34].length;const frac=_44-~~_44;const _74=this.buffer[_34][_54];const _84=this.buffer[_34][_64];return _74+(_84-_74)*frac;}write(_34,_94){++this.__3[_34];this.__3[_34]%=this.buffer[_34].length;this.buffer[_34][this.__3[_34]]=_94;
|
||||
}}registerProcessor("delay-processor",_X3);class _a4 extends AudioWorkletProcessor{static get parameterDescriptors(){return [];}constructor(){super();this._03();}process(_b4,_c4,_d4){const input=_b4[0];const _e4=_c4[0];const _f4=_c4[1];for(let c=0;c<input.length;++c){const _63=input[c];const _g4=_e4[c];const _h4=_f4[c];for(let _73=0;_73<_63.length;++_73){_g4[_73]=_63[_73];_h4[_73]=_63[_73];}}return this._13;}}class _i4 extends AudioWorkletProcessor{static get parameterDescriptors(){return [{name:"bypass",automationRate:"a-rate",
|
||||
defaultValue:0,minValue:0,maxValue:1}];}constructor(){super();this._03();}process(_b4,_c4,_d4){const _a3=_b4[0];const _b3=_b4[1];const output=_c4[0];const bypass=_d4.bypass;for(let c=0;c<_b3.length;++c){const _j4=_a3[c];const _k4=_b3[c];const _c3=output[c];for(let _73=0;_73<_j4.length;++_73){const _83=(bypass[_73]!==undefined)?bypass[_73]:bypass[0];if(_83>0){_c3[_73]=_k4[_73];}else {_c3[_73]=_j4[_73];}}}return this._13;}}registerProcessor("eq-input",_a4);registerProcessor("eq-output",_i4);class _l4 extends AudioWorkletProcessor{
|
||||
static get parameterDescriptors(){return [{name:"bypass",automationRate:"a-rate",defaultValue:0,minValue:0,maxValue:1},{name:"gain",automationRate:"a-rate",defaultValue:0.5,minValue:0.0}];}constructor(){super();this._03();}process(_43,_53,parameters){const input=_43[0];const output=_53[0];const bypass=parameters.bypass;const gain=parameters.gain;for(let c=0;c<input.length;++c){const _63=input[c];const _c3=output[c];for(let _73=0;_73<_63.length;++_73){_c3[_73]=_63[_73];const _83=(bypass[_73]!==undefined)?bypass[_73]:bypass[0];
|
||||
if(_83>0.0){continue;}const _d3=(gain[_73]!==undefined)?gain[_73]:gain[0];_c3[_73]*=_d3;}}return this._13;}}registerProcessor("gain-processor",_l4);class _m4 extends AudioWorkletProcessor{static get parameterDescriptors(){const _n4=sampleRate*0.45;return [{name:"bypass",automationRate:"a-rate",defaultValue:0,minValue:0,maxValue:1},{name:"freq",automationRate:"a-rate",defaultValue:Math.min(5000.0,_n4),minValue:10.0,maxValue:_n4},{name:"q",automationRate:"a-rate",defaultValue:1.0,minValue:1.0,maxValue:100.0}
|
||||
,{name:"gain",automationRate:"a-rate",defaultValue:1e-2,minValue:1e-6}];}constructor(_g3){super();this._03();const _h3=_g3.outputChannelCount[0];this._o4=0;this._p4=0;this._q4=0;this._r4=0;this._s4=0;this._t4=new Float32Array(_h3);this._u4=new Float32Array(_h3);this._v4=new Float32Array(_h3);this._w4=new Float32Array(_h3);this._x4=-1;this._y4=-1;this._z4=-1;}process(_43,_53,parameters){const input=_43[0];const output=_53[0];const bypass=parameters.bypass;const freq=parameters.freq;const q=parameters.q;const gain=parameters.gain;
|
||||
const _A4=(freq.length===1&&q.length===1&&gain.length===1);if(_A4)this._B4(freq[0],q[0],gain[0]);for(let c=0;c<input.length;++c){const _63=input[c];const _c3=output[c];for(let _73=0;_73<_63.length;++_73){if(_A4===false){const _k3=(freq[_73]!==undefined)?freq[_73]:freq[0];const _C4=(q[_73]!==undefined)?q[_73]:q[0];const _d3=(gain[_73]!==undefined)?gain[_73]:gain[0];this._B4(_k3,_C4,_d3);}const _D4=this._q4*_63[_73]+this._r4*this._t4[c]+this._s4*this._u4[c]-this._o4*this._v4[c]-this._p4*this._w4[c];this._u4[c]=this._t4[c];
|
||||
this._t4[c]=_63[_73];this._w4[c]=this._v4[c];this._v4[c]=_D4;const _83=(bypass[_73]!==undefined)?bypass[_73]:bypass[0];_c3[_73]=(_83>0)?_63[_73]:_D4;}}return this._13;}_B4(_E4,_F4,_G4){if(_E4===this._x4&&_F4===this._y4&&_G4===this._z4)return;const _H4=2*Math.PI*_E4/sampleRate;const _I4=Math.cos(_H4);const _J4=Math.sqrt(_G4);const _K4=_J4+1;const _L4=_J4-1;const _M4=_K4*_I4;const _N4=_L4*_I4;const _O4=_K4-_N4;const _P4=_K4+_N4;const alpha=Math.sin(_H4)/(2*_F4);const _Q4=(2*Math.sqrt(_J4)*alpha);const _R4=_O4+_Q4;
|
||||
const _o4=2*(_L4-_M4);const _p4=_O4-_Q4;const _q4=_J4*(_P4+_Q4);const _r4=-2*_J4*(_L4+_M4);const _s4=_J4*(_P4-_Q4);this._o4=_o4/_R4;this._p4=_p4/_R4;this._q4=_q4/_R4;this._r4=_r4/_R4;this._s4=_s4/_R4;this._x4=_E4;this._y4=_F4;this._z4=_G4;}}registerProcessor("hi-shelf-processor",_m4);class _S4 extends AudioWorkletProcessor{static get parameterDescriptors(){const _T4=sampleRate*0.45;return [{name:"bypass",automationRate:"a-rate",defaultValue:0,minValue:0,maxValue:1},{name:"cutoff",automationRate:"a-rate",defaultValue:Math.min(1500.0,
|
||||
_T4),minValue:10.0,maxValue:_T4},{name:"q",automationRate:"a-rate",defaultValue:1.5,minValue:1.0,maxValue:100.0}];}constructor(_g3){super();this._03();const _h3=_g3.outputChannelCount[0];this._o4=0;this._p4=0;this._q4=0;this._r4=0;this._s4=0;this._t4=new Float32Array(_h3);this._u4=new Float32Array(_h3);this._v4=new Float32Array(_h3);this._w4=new Float32Array(_h3);this._U4=-1;this._y4=-1;}process(_43,_53,parameters){const input=_43[0];const output=_53[0];const bypass=parameters.bypass;const cutoff=parameters.cutoff;
|
||||
const q=parameters.q;const _A4=(cutoff.length===1&&q.length===1);if(_A4)this._B4(cutoff[0],q[0]);for(let c=0;c<input.length;++c){const _63=input[c];const _c3=output[c];for(let _73=0;_73<_63.length;++_73){if(_A4===false){const c=(cutoff[_73]!==undefined)?cutoff[_73]:cutoff[0];const _C4=(q[_73]!==undefined)?q[_73]:q[0];this._B4(c,_C4);}const _D4=this._q4*_63[_73]+this._r4*this._t4[c]+this._s4*this._u4[c]-this._o4*this._v4[c]-this._p4*this._w4[c];this._u4[c]=this._t4[c];this._t4[c]=_63[_73];this._w4[c]=this._v4[c];
|
||||
this._v4[c]=_D4;const _83=(bypass[_73]!==undefined)?bypass[_73]:bypass[0];_c3[_73]=(_83>0)?_63[_73]:_D4;}}return this._13;}_B4(_V4,_F4){if(_V4===this._U4&&_F4===this._y4)return;const _H4=2*Math.PI*_V4/sampleRate;const alpha=Math.sin(_H4)/(2*_F4);const _I4=Math.cos(_H4);const _R4=1+alpha;const _o4=-2*_I4;const _p4=1-alpha;const _q4=(1+_I4)/2;const _r4=-1-_I4;const _s4=(1+_I4)/2;this._o4=_o4/_R4;this._p4=_p4/_R4;this._q4=_q4/_R4;this._r4=_r4/_R4;this._s4=_s4/_R4;this._U4=_V4;this._y4=_F4;}}registerProcessor("hpf2-processor",
|
||||
_S4);class _W4 extends AudioWorkletProcessor{static get parameterDescriptors(){const _n4=sampleRate*0.45;return [{name:"bypass",automationRate:"a-rate",defaultValue:0,minValue:0,maxValue:1},{name:"freq",automationRate:"a-rate",defaultValue:Math.min(500.0,_n4),minValue:10.0,maxValue:_n4},{name:"q",automationRate:"a-rate",defaultValue:1.0,minValue:1.0,maxValue:100.0},{name:"gain",automationRate:"a-rate",defaultValue:1e-2,minValue:1e-6}];}constructor(_g3){super();this._03();const _h3=_g3.outputChannelCount[0];
|
||||
this._o4=0;this._p4=0;this._q4=0;this._r4=0;this._s4=0;this._t4=new Float32Array(_h3);this._u4=new Float32Array(_h3);this._v4=new Float32Array(_h3);this._w4=new Float32Array(_h3);this._x4=-1;this._y4=-1;this._z4=-1;}process(_43,_53,parameters){const input=_43[0];const output=_53[0];const bypass=parameters.bypass;const freq=parameters.freq;const q=parameters.q;const gain=parameters.gain;const _A4=(freq.length===1&&q.length===1&&gain.length===1);if(_A4)this._B4(freq[0],q[0],gain[0]);for(let c=0;c<input.length;
|
||||
++c){const _63=input[c];const _c3=output[c];for(let _73=0;_73<_63.length;++_73){if(_A4===false){const _k3=(freq[_73]!==undefined)?freq[_73]:freq[0];const _C4=(q[_73]!==undefined)?q[_73]:q[0];const _d3=(gain[_73]!==undefined)?gain[_73]:gain[0];this._B4(_k3,_C4,_d3);}const _D4=this._q4*_63[_73]+this._r4*this._t4[c]+this._s4*this._u4[c]-this._o4*this._v4[c]-this._p4*this._w4[c];this._u4[c]=this._t4[c];this._t4[c]=_63[_73];this._w4[c]=this._v4[c];this._v4[c]=_D4;const _83=(bypass[_73]!==undefined)?bypass[_73]:bypass[0];
|
||||
_c3[_73]=(_83>0)?_63[_73]:_D4;}}return this._13;}_B4(_E4,_F4,_G4){if(_E4===this._x4&&_F4===this._y4&&_G4===this._z4)return;const _H4=2*Math.PI*_E4/sampleRate;const _I4=Math.cos(_H4);const _J4=Math.sqrt(_G4);const _K4=_J4+1;const _L4=_J4-1;const _M4=_K4*_I4;const _N4=_L4*_I4;const _O4=_K4-_N4;const _P4=_K4+_N4;const alpha=Math.sin(_H4)/(2*_F4);const _Q4=(2*Math.sqrt(_J4)*alpha);const _R4=_P4+_Q4;const _o4=-2*(_L4+_M4);const _p4=_P4-_Q4;const _q4=_J4*(_O4+_Q4);const _r4=2*_J4*(_L4-_M4);const _s4=_J4*(_O4-_Q4);this._o4=_o4/_R4;
|
||||
this._p4=_p4/_R4;this._q4=_q4/_R4;this._r4=_r4/_R4;this._s4=_s4/_R4;this._x4=_E4;this._y4=_F4;this._z4=_G4;}}registerProcessor("lo-shelf-processor",_W4);class _X4 extends AudioWorkletProcessor{static get parameterDescriptors(){const _T4=sampleRate*0.45;return [{name:"bypass",automationRate:"a-rate",defaultValue:0,minValue:0,maxValue:1},{name:"cutoff",automationRate:"a-rate",defaultValue:Math.min(500.0,_T4),minValue:10.0,maxValue:_T4},{name:"q",automationRate:"a-rate",defaultValue:1.5,minValue:1.0,maxValue:100.0}
|
||||
];}constructor(_g3){super();this._03();const _h3=_g3.outputChannelCount[0];this._o4=0;this._p4=0;this._q4=0;this._r4=0;this._s4=0;this._t4=new Float32Array(_h3);this._u4=new Float32Array(_h3);this._v4=new Float32Array(_h3);this._w4=new Float32Array(_h3);this._U4=-1;this._y4=-1;}process(_43,_53,parameters){const input=_43[0];const output=_53[0];const bypass=parameters.bypass;const cutoff=parameters.cutoff;const q=parameters.q;const _A4=(cutoff.length===1&&q.length===1);if(_A4)this._B4(cutoff[0],q[0]);for(let c=0;
|
||||
c<input.length;++c){const _63=input[c];const _c3=output[c];for(let _73=0;_73<_63.length;++_73){if(_A4===false){const c=(cutoff[_73]!==undefined)?cutoff[_73]:cutoff[0];const _C4=(q[_73]!==undefined)?q[_73]:q[0];this._B4(c,_C4);}const _D4=this._q4*_63[_73]+this._r4*this._t4[c]+this._s4*this._u4[c]-this._o4*this._v4[c]-this._p4*this._w4[c];this._u4[c]=this._t4[c];this._t4[c]=_63[_73];this._w4[c]=this._v4[c];this._v4[c]=_D4;const _83=(bypass[_73]!==undefined)?bypass[_73]:bypass[0];_c3[_73]=(_83>0)?_63[_73]:_D4;
|
||||
}}return this._13;}_B4(_V4,_F4){if(_V4===this._U4&&_F4===this._y4)return;const _H4=2*Math.PI*_V4/sampleRate;const alpha=Math.sin(_H4)/(2*_F4);const _I4=Math.cos(_H4);const _R4=1+alpha;const _o4=-2*_I4;const _p4=1-alpha;const _q4=(1-_I4)/2;const _r4=1-_I4;const _s4=(1-_I4)/2;this._o4=_o4/_R4;this._p4=_p4/_R4;this._q4=_q4/_R4;this._r4=_r4/_R4;this._s4=_s4/_R4;this._U4=_V4;this._y4=_F4;}}registerProcessor("lpf2-processor",_X4);class _Y4 extends AudioWorkletProcessor{static get parameterDescriptors(){const _n4=sampleRate*0.45;
|
||||
return [{name:"bypass",automationRate:"a-rate",defaultValue:0,minValue:0,maxValue:1},{name:"freq",automationRate:"a-rate",defaultValue:Math.min(1500.0,_n4),minValue:10.0,maxValue:_n4},{name:"q",automationRate:"a-rate",defaultValue:1.0,minValue:1.0,maxValue:100.0},{name:"gain",automationRate:"a-rate",defaultValue:1e-2,minValue:1e-6}];}constructor(_g3){super();this._03();const _h3=_g3.outputChannelCount[0];this._o4=0;this._p4=0;this._q4=0;this._r4=0;this._s4=0;this._t4=new Float32Array(_h3);this._u4=new Float32Array(_h3);
|
||||
this._v4=new Float32Array(_h3);this._w4=new Float32Array(_h3);this._x4=-1;this._y4=-1;this._z4=-1;}process(_43,_53,parameters){const input=_43[0];const output=_53[0];const bypass=parameters.bypass;const freq=parameters.freq;const q=parameters.q;const gain=parameters.gain;const _A4=(freq.length===1&&q.length===1&&gain.length===1);if(_A4)this._B4(freq[0],q[0],gain[0]);for(let c=0;c<input.length;++c){const _63=input[c];const _c3=output[c];for(let _73=0;_73<_63.length;++_73){if(_A4===false){const _k3=(freq[_73]!==undefined)?freq[_73]:freq[0];
|
||||
const _C4=(q[_73]!==undefined)?q[_73]:q[0];const _d3=(gain[_73]!==undefined)?gain[_73]:gain[0];this._B4(_k3,_C4,_d3);}const _D4=this._q4*_63[_73]+this._r4*this._t4[c]+this._s4*this._u4[c]-this._o4*this._v4[c]-this._p4*this._w4[c];this._u4[c]=this._t4[c];this._t4[c]=_63[_73];this._w4[c]=this._v4[c];this._v4[c]=_D4;const _83=(bypass[_73]!==undefined)?bypass[_73]:bypass[0];_c3[_73]=(_83>0)?_63[_73]:_D4;}}return this._13;}_B4(_E4,_F4,_G4){if(_E4===this._x4&&_F4===this._y4&&_G4===this._z4)return;const _H4=2*Math.PI*_E4/sampleRate;
|
||||
const _I4=Math.cos(_H4);const _J4=Math.sqrt(_G4);const alpha=Math.sin(_H4)/(2*_F4);const _Z4=alpha/_J4;const __4=alpha*_J4;const _R4=1+_Z4;const _o4=-2*_I4;const _p4=1-_Z4;const _q4=1+__4;const _r4=_o4;const _s4=1-__4;this._o4=_o4/_R4;this._p4=_p4/_R4;this._q4=_q4/_R4;this._r4=_r4/_R4;this._s4=_s4/_R4;this._x4=_E4;this._y4=_F4;this._z4=_G4;}}registerProcessor("peak-eq-processor",_Y4);class _05{constructor(_15){this._25=0;this._35=0;this.feedback=0;this._45=0;this.buffer=new Float32Array(_15);this._55=0;}process(_94){
|
||||
const out=this.buffer[this._55];this._45=(this._45*this._25)+(out*this._35);this.buffer[this._55]=_94+(this._45*this.feedback);++this._55;this._55%=this.buffer.length;return out;}_65(_75){this.feedback=Math.min(Math.max(0,_75),1);}_85(_95){this._25=Math.min(Math.max(0,_95),1);this._35=1-this._25;}}class _a5{constructor(_15){this.feedback=0;this.buffer=new Float32Array(_15);this._55=0;}process(_94){const out=this.buffer[this._55];this.buffer[this._55]=_94+(out*this.feedback);++this._55;this._55%=this.buffer.length;
|
||||
return(out-_94);}_65(_75){this.feedback=Math.min(Math.max(0,_75),1);}}class _b5 extends AudioWorkletProcessor{static _c5=8;static _d5=4;static _e5=0.015;static _f5=0.4;static _g5=0.28;static _h5=0.7;static _i5=[1116,1188,1277,1356,1422,1491,1557,1617];static _j5=[1139,1211,1300,1379,1445,1514,1580,1640];static _k5=[556,441,341,225];static _l5=[579,464,364,248];static get parameterDescriptors(){return [{name:"bypass",automationRate:"a-rate",defaultValue:0,minValue:0,maxValue:1},{name:"size",automationRate:"a-rate",
|
||||
defaultValue:0.7,minValue:0.0,maxValue:1.0},{name:"damp",automationRate:"a-rate",defaultValue:0.1,minValue:0.0,maxValue:1.0},{name:"mix",automationRate:"a-rate",defaultValue:0.35,minValue:0.0,maxValue:1.0}];}constructor(_g3){super();this._03();const _h3=_g3.outputChannelCount[0];this._m5=-1;this._n5=-1;this._o5=new Array(_h3);this._p5=new Array(_h3);const _q5=[_b5._i5,_b5._j5];const _r5=[_b5._k5,_b5._l5];for(let c=0;c<_h3;++c){this._o5[c]=new Array(_b5._c5);this._p5[c]=new Array(_b5._d5);for(let i=0;i<_b5._c5;
|
||||
++i)this._o5[c][i]=new _05(_q5[c%_q5.length][i]);for(let i=0;i<_b5._d5;++i)this._p5[c][i]=new _a5(_r5[c%_r5.length][i]);}this._s5(0.5);this._85(0.5);for(let c=0;c<_h3;++c)for(let i=0;i<_b5._d5;++i)this._p5[c][i]._65(0.5);}process(_43,_53,parameters){const input=_43[0];const output=_53[0];const bypass=parameters.bypass;const size=parameters.size;const damp=parameters.damp;const mix=parameters.mix;for(let c=0;c<input.length;++c){const _63=input[c];const _c3=output[c];for(let _t5=0;_t5<_63.length;++_t5){const _73=(size[_t5]!==undefined)?size[_t5]:size[0];
|
||||
const _u5=(damp[_t5]!==undefined)?damp[_t5]:damp[0];this._s5(_73);this._85(_u5);_c3[_t5]=_63[_t5];let out=0;const _l3=_63[_t5]*_b5._e5;for(let i=0;i<_b5._c5;++i)out+=this._o5[c][i].process(_l3);for(let i=0;i<_b5._d5;++i)out=this._p5[c][i].process(out);const _83=(bypass[_t5]!==undefined)?bypass[_t5]:bypass[0];if(_83>0.0){continue;}const _n3=(mix[_t5]!==undefined)?mix[_t5]:mix[0];_c3[_t5]*=(1-_n3);_c3[_t5]+=(out*_n3);}}return this._13;}_s5(_15){if(_15===this._m5)return;const size=(_15*_b5._g5)+_b5._h5;for(let c=0;
|
||||
c<this._o5.length;++c)for(let i=0;i<_b5._c5;++i)this._o5[c][i]._65(size);this._m5=_15;}_85(_95){if(_95===this._n5)return;const damp=_95*_b5._f5;for(let c=0;c<this._o5.length;++c)for(let i=0;i<_b5._c5;++i)this._o5[c][i]._85(damp);this._n5=_95;}}registerProcessor("reverb1-processor",_b5);class _v5 extends AudioWorkletProcessor{static get parameterDescriptors(){return [{name:"bypass",automationRate:"a-rate",defaultValue:0,minValue:0,maxValue:1},{name:"rate",automationRate:"a-rate",defaultValue:5.0,minValue:0.0,
|
||||
maxValue:20.0},{name:"intensity",automationRate:"a-rate",defaultValue:1.0,minValue:0.0,maxValue:1.0},{name:"offset",automationRate:"a-rate",defaultValue:0.0,minValue:0.0,maxValue:1.0},{name:"shape",automationRate:"a-rate",defaultValue:0,minValue:0,maxValue:4}];}constructor(_g3){super();this._03();const _h3=_g3.outputChannelCount[0];this._w5=new Array(_h3).fill(1.0);this._x5=new Array(_h3).fill(0.0);this._y5=new Array(_h3).fill(_z5._A5._B5);this._C5=new Array(_h3);for(let c=0;c<_h3;++c){this._C5[c]=new _D5();
|
||||
this._C5[c]._E5(sampleRate);this._C5[c]._F5(this._w5[c]);this._C5[c]._G5(this._y5[c]);if(c%2===1){this._C5[c]._H5(this._x5[c]);}}}process(_43,_53,parameters){const input=_43[0];const output=_53[0];const bypass=parameters.bypass;const rate=parameters.rate;const intensity=parameters.intensity;const offset=parameters.offset;const shape=parameters.shape;for(let c=0;c<input.length;++c){const _63=input[c];const _c3=output[c];for(let _73=0;_73<_63.length;++_73){_c3[_73]=_63[_73];const _m3=(rate[_73]!==undefined)?rate[_73]:rate[0];
|
||||
const _I5=(offset[_73]!==undefined)?offset[_73]:offset[0];const _J5=(shape[_73]!==undefined)?shape[_73]:shape[0];this._K5(c,_m3,_I5,_J5);const _L5=this._C5[c]._14();const _83=(bypass[_73]!==undefined)?bypass[_73]:bypass[0];if(_83>0.0){continue;}const i=(intensity[_73]!==undefined)?intensity[_73]:intensity[0];const out=_63[_73]*_L5*i;_c3[_73]*=(1.0-i);_c3[_73]+=out;}}return this._13;}_K5(_34,_M5,_N5,_O5){if(_M5!==this._w5[_34]){this._C5[_34]._F5(_M5);this._w5[_34]=_M5;}if(_N5!==this._x5[_34]){if(_34%2===1){
|
||||
this._C5[_34]._H5(_N5);}this._x5[_34]=_N5;}if(_O5!==this._y5[_34]){this._C5[_34]._G5(_O5);this._y5[_34]=_O5;}}}registerProcessor("tremolo-processor",_v5);function _z5(){}_z5._A5={_B5:0,_P5:1,_Q5:2,_R5:3,_S5:4,_T5:5};_z5._U5=function(_V5){return 1.0-_V5;};_z5._W5=function(_V5){return _V5;};_z5._X5=function(_V5){return 0.5*(Math.sin((_V5*2.0*Math.PI)-(Math.PI/2.0))+1.0);};_z5._Y5=function(_V5){if(_V5<0.5){return 0.0;}return 1.0;};_z5._Z5=function(_V5){if(_V5<0.5){return 2.0*_V5;}return 2.0-(2.0*_V5);};_z5.__5=[_z5._U5,
|
||||
_z5._W5,_z5._X5,_z5._Y5,_z5._Z5];_06._16=512;_06._26=1.0/_06._16;function _06(_36){this.data=new Float32Array(_06._16);for(let i=0;i<_06._16;++i){this.data[i]=_36(i*_06._26);}}_06.prototype._14=function(_V5){_V5=Math.max(0.0,_V5);_V5=Math.min(_V5,1.0);const _46=_V5*_06._16;const _56=~~_46;const _66=_46-_56;let _54=_56;let _64=_54+1;if(_54>=_06._16){_54-=_06._16;}if(_64>=_06._16){_64-=_06._16;}const _74=this.data[_54];const _84=this.data[_64];return _74+(_84-_74)*_66;};_D5._76=[];_D5._86=false;_D5._96=0.0;_D5._n4=20.0;
|
||||
function _D5(){this._a6=48000;this.shape=_z5._A5._Q5;this.freq=1.0;this._b6=0.0;this._26=0.0;this._c6=0.0;if(_D5._86==true){return;}for(let i=0;i<_z5._A5._T5;++i){_D5._76[i]=new _06(_z5.__5[i]);}_D5._86=true;}_D5._d6=function(){return(_D5._86==true);};_D5.prototype._E5=function(_e6){this._a6=_e6;this._f6();};_D5.prototype._F5=function(_E4){_E4=Math.max(_D5._96,_E4);_E4=Math.min(_E4,_D5._n4);this.freq=_E4;this._f6();};_D5.prototype._H5=function(_N5){_N5=Math.max(0.0,_N5);_N5=Math.min(_N5,1.0);const _g6=_N5-this._c6;
|
||||
this._c6=_N5;this._b6+=_g6;while(this._b6>=1.0){this._b6-=1.0;}while(this._b6<0.0){this._b6+=1.0;}};_D5.prototype._G5=function(_O5){_O5=Math.max(0,_O5);_O5=Math.min(_O5,_z5._A5._T5-1);this.shape=_O5;};_D5.prototype._14=function(){const result=_D5._76[this.shape]._14(this._b6);this._b6+=this._26;while(this._b6>=1.0){this._b6-=1.0;}return result;};_D5.prototype._f6=function(){this._26=this.freq/this._a6;};
|
||||
BIN
html5game/splash.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
119
index.html
Normal file
@@ -0,0 +1,119 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<!-- Custom PreHead code is injected here -->
|
||||
|
||||
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name ="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<meta charset="utf-8"/>
|
||||
|
||||
<!-- Builtin injector for disabling cache -->
|
||||
<meta http-equiv="pragma" content="no-cache"/>
|
||||
|
||||
<!-- Set the title bar of the page -->
|
||||
<title>My Awesome RPG Game</title>
|
||||
|
||||
<!-- Custom PreStyle code is injected here -->
|
||||
|
||||
|
||||
<!-- Set the background colour of the document -->
|
||||
<style>
|
||||
body {
|
||||
background: #000000;
|
||||
color: #cccccc;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
canvas {
|
||||
image-rendering: optimizeSpeed;
|
||||
-webkit-interpolation-mode: nearest-neighbor;
|
||||
-ms-touch-action: none;
|
||||
touch-action: none;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px;
|
||||
}
|
||||
:-webkit-full-screen #canvas {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
:-webkit-full-screen {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/* Custom Runner Styles */
|
||||
div.gm4html5_div_class {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px;
|
||||
}
|
||||
div.gm4html5_login {
|
||||
padding: 20px;
|
||||
position: absolute;
|
||||
border: solid 2px #000000;
|
||||
background-color: #404040;
|
||||
color:#00ff00;
|
||||
border-radius: 15px;
|
||||
box-shadow: #101010 20px 20px 40px;
|
||||
}
|
||||
div.gm4html5_cancel_button {
|
||||
float: right;
|
||||
}
|
||||
div.gm4html5_login_button {
|
||||
float: left;
|
||||
}
|
||||
div.gm4html5_login_header {
|
||||
text-align: center;
|
||||
}
|
||||
/* END - Custom Runner Styles */
|
||||
|
||||
</style>
|
||||
|
||||
<!-- Custom PostStyle code is injected here -->
|
||||
|
||||
|
||||
<!-- Builtin injector for injecting flurry analytics code -->
|
||||
|
||||
</head>
|
||||
|
||||
<!-- Custom PostHead code is injected here -->
|
||||
|
||||
|
||||
<!-- Custom PreBody code is injected here -->
|
||||
|
||||
|
||||
<body>
|
||||
<div class="gm4html5_div_class" id="gm4html5_div_id">
|
||||
|
||||
<!-- Builtin injector for splash screen -->
|
||||
|
||||
|
||||
<!-- Create the canvas element the game draws to -->
|
||||
<canvas id="canvas" width="800" height="600" style="position: absolute; top: 50%; left: 50%; bottom: -50%; right: -50%; transform: translate(-50%, -50%);">
|
||||
<p>Your browser doesn't support HTML5 canvas.</p>
|
||||
</canvas>
|
||||
</div>
|
||||
|
||||
<!-- Run the game code -->
|
||||
<script type="text/javascript" src="html5game/RPG Starter Pack.js?cachebust=366600936"></script>
|
||||
|
||||
<!-- Builtin injector for injecting runner path -->
|
||||
|
||||
|
||||
<script>window.onload = GameMaker_Init;</script>
|
||||
|
||||
<!-- Builtin injector for injecting google analytics code -->
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
<!-- Custom PostBody code is injected here -->
|
||||
|
||||
</html>
|
||||
6
options.ini
Normal file
@@ -0,0 +1,6 @@
|
||||
[HTML5]
|
||||
MajorVersion=1
|
||||
MinorVersion=0
|
||||
BuildVersion=0
|
||||
RevisionVersion=0
|
||||
DisplayName="My Awesome RPG Game"
|
||||