diff --git a/build/cheats.txt b/build/cheats.txt new file mode 100644 index 0000000..fae5d50 --- /dev/null +++ b/build/cheats.txt @@ -0,0 +1,10 @@ +cheats for Battle zone! + To activate a cheat, just type the command into the game. They work at most times. +Hold down delete and press z: gives you extra 250 armor +Alt+backslash: evade blades forever +Control+f9: skip this level and go on to the next +hold down space and press 9: give you a whole whole whole whole whole lot of ammo! +Hold down f4 and press enter: give you 250 extra lives! +Hold down enter and press x: give you 500 more potions! +Hold down u, then hold down space, and then press left shift: give you 500 extra booby traps! +Press Ctrl+Shift+I: Each item gets automatically caught for you! \ No newline at end of file diff --git a/opt.ini b/build/data/opt.ini similarity index 100% rename from opt.ini rename to build/data/opt.ini diff --git a/build/game.exe b/build/game.exe new file mode 100644 index 0000000..65b472c Binary files /dev/null and b/build/game.exe differ diff --git a/build/languages/English b/build/languages/English new file mode 100644 index 0000000..40aa85d --- /dev/null +++ b/build/languages/English @@ -0,0 +1,134 @@ +1=Battle Zone +2=Yay! You beat the game. New levels are going to be added soon! Oh, I forgot to tell you something! Your score was +3=. +4=Start the Game +5=Play in Reality Mode +6=Load Last Saved Game +7=Read instructions +8=Change Options +9=Exit +10=Battle Zone main menu. Select an item from the menu. +11=Original: "Dark Mark-a-Tark" +12=Windows XP Error Message Song: "MetaNights Revenge" +13=Tech House +14=Techno Chase +15=Orchestral Loop 1 +16=Tension Chase +17=Random Music Which Changes Between Levels +18=Turn the Music off +19=Please select the background music you want to use! +20=Change Background Music +21=Keyboard Mode +22=Select Gender of Enemies +23=Select Sword Sound +24=Toggle Enemy Attack Taunt Sounds +25=Stop All Sounds Between Levels +26=Save Options +27=Options Menu +28=Off +29=On +30=Desktop +31=Laptop +32=Male +33=Female +34=Both +35=Select the gender of enemy you want! +36=Random +37=Select the sword sound you want! +38=The options file could not be found. The default settings will be used. Save your options from within the options menu to turn this message off. +39=Level 1 +40=Yes +41=No +42=Blade Protectors +43=Booby Traps +44=Lives +45=Points +46=Potions +47=Running +48=Walking +49=Health: +50=. Armor: +51=Ammo +52=Do you want to exit? Press enter to exit, or space to go back to the game. +53=You lost a life! +54=Level +55=you beat the boss! +56=You spent +57= seconds on this level, resulting in a time bonus of +58=. +59=Score for this level was +60=. You now have +61= total points. +62=level 6 +63=sword! +64=gun! +65=booby traps! +66=machine gun! +67=extra points! +68=extra life! +69=buy extra lives, 4000 points per life +70=Buy potions, 1000 points per potion +71=buy ammo, 900 points for each pack of 30 ammo +72=buy booby traps, 1200 points for each set of 5 booby traps +73=buy armor, 800 points for each armor +74=buy evade blades items, 1500 points per item +75=Welcome to the battle zone shop! You have +76= points that you can give me! Select an item you wish to buy! +77=ammo packs +78=booby trap sets +79=armor ratings +80=How much of the item do you want to buy? +81=so. You want to buy +82=. I hope you have +83= points to give me, because that's how much it will cost. You still want to buy it? +84=What do you think you are doing? Are you trying to cheat the shopkeeper? Well, you don't have enough points to buy stuff. Sorry man, come back later, and don't cheap me next time! +85=oh wait, you're playing in reality mode. I'm sorry, but we're sold out on extra lives. Here's your money bac. +86=you don't have any more evade blade items! +87=boring blast +88=Medium mass murder +89=Advanced arson +90=I just wanna die now! +91=Choose your difficulty level! +92=cheats for Battle zone! To activate a cheat, just type the command into the game. They work at most times. Hold down delete and press z: give you 250 armor Alt+backslash: evade blades forever Control+f9: skip this level and go on to the next hold down space and press 9: give you a whole whole whole whole whole lot of ammo! Hold down f4 and press enter: give you 250 extra lives! Hold down enter and press x: give you 500 more potions! Hold down u, then hold down space, and then press left shift: give you 500 extra booby traps! +93=For gaining over 20000 points in the game, you have just received a cheats file! It can be found in your battle zone directory. +94=Getting out of the lab +95=scenes from country, I mean city, life +96=The water of death +97=Street know how +98=Forest excursions +99=rumbles in the dark +100=A winter wonder land, full of enemies ... +101=The Vile River +102=Cave of violence +103=Danger on the road +104=caught in the storm! +105=Your game has been saved! +106=It seems that the save file was not found. Save a game and try again. +107=options were saved! +108=The boss is dead! You have now gained 7000 points! +109=Your total score is: +110=Item +111=item falls +112=You collected ammo +113=You collected potion +114=You collected armor +115=you collected evade blades item +116=Ahwhwhwhwhwhwhwhwhwh, you got a fake item, too bad! +117=Pit +118=Enemy jumps over a pit +119=enemy falls into a pit +120=booby trap +121=Enemy accidentally stepped onto a booby trap and just died! +122=you accidentally step on to your own booby trap and go boom! +123=blades +124=blades cut you +125=blades protection destroyed +126=boulder +127=boulder hits enemy +128=boulder hits you +129=Enemy attack completely absorbed by armor +130=Fireball +131=Fireball hits you +132=you are injured +133=end of level +134=Use up and down arrow keys to navigate, and press enter to select. \ No newline at end of file diff --git a/build/languages/Spanish b/build/languages/Spanish new file mode 100644 index 0000000..1b5a790 --- /dev/null +++ b/build/languages/Spanish @@ -0,0 +1,134 @@ +1=Zona de batalla +2=¡Sí! Ganaste el juego. ¡Pronto se agregarán nuevos niveles! ¡Oh, olvidé decirte algo! Tu puntaje fue +3=. +4=Comienza el juego +5=Jugar en modo Realidad +6=Cargar el último juego guardado +7=Leer instrucciones +8=Cambiar opciones +9=Salir +10=Menú principal de Battle Zone. Seleccione un elemento del menú. +11=Original: "Dark Mark-a-Tark" +12=Canción de mensaje de error de Windows XP: "MetaNights Revenge" +13=Tech House +14=Techno Chase +15=Lazo orquestal 1 +16=Caza de tensión +17=Música aleatoria que cambia entre niveles +18=Apaga la música +19=¡Seleccione la música de fondo que desea usar! +20=Cambiar música de fondo +21=Modo de teclado +22=Seleccionar género de enemigos +23=Seleccionar sonido de espada +24=Toggle Enemy Attack Taunt Sounds +25=Detener todos los sonidos entre niveles +26=Guardar opciones +27=Menú de opciones +28=apagado +29=encendido +30=escritorio +31=computadora portátil +32=hombre +33=mujer +34=Ambos +35=¡Selecciona el género de enemigo que quieras! +36=aleatorio +37=¡Selecciona el sonido de espada que quieras! +38=No se pudo encontrar el archivo de opciones. Se usará la configuración predeterminada. Guarde sus opciones desde el menú de opciones para desactivar este mensaje. +39=Nivel 1 +40=sí +41=no +42=Protectores de cuchillas +43=trampas explosivas +44=vidas +45=Puntos +46=Pociones +47=corriendo +48=caminar +49=Salud: +50=. Armadura: +51=munición +52=¿Quieres salir? Presiona Intro para salir, o espacio para volver al juego. +53=Perdiste una vida! +54=Nivel +55=le ganaste al jefe! +56=Gastaste +57= segundos en este nivel, lo que resulta en una bonificación de tiempo de +58=. +59=La puntuación para este nivel fue +60=. Ahora tienes +61= puntos totales. +62=nivel 6 +63=espada! +64=arma! +65=trampas explosivas! +66=ametralladora! +67=puntos extra! +68=vida extra! +69=comprar vidas extra, 4000 puntos por vida +70=Comprar pociones, 1000 puntos por poción +71=comprar munición, 900 puntos por cada paquete de 30 municiones +72=comprar trampas explosivas, 1200 puntos por cada conjunto de 5 trampas explosivas +73=comprar armadura, 800 puntos por cada armadura +74=comprar artículos de hojas de evasión, 1500 puntos por artículo +75=¡Bienvenido a la tienda de la zona de batalla! Tienes +76= puntos que me puedes dar! ¡Seleccione un artículo que desea comprar! +77=paquetes de munición +78=conjuntos de trampas explosivas +79=clasificaciones de armadura +80=¿Cuánto del artículo quieres comprar? +81=así, Tú quieres comprar +82=. espero que tengas +83= puntos para darme, porque eso es lo que costará. ¿Aún quieres comprarlo? +84=¿Qué crees que estás haciendo? ¿Estás tratando de engañar al tendero? Bueno, no tienes suficientes puntos para comprar cosas. Lo siento, vuelve más tarde, ¡y no me vuelvas barato la próxima vez! +85=oh, espera, estás jugando en el modo de realidad. Lo siento, pero estamos agotados en vidas extra. Aquí está tu dinero bac. +86=¡ya no tienes más objetos para evadir cuchillas! +87=explosión aburrida +88=asesinato en masa medio +89=incendio premeditado avanzado +90=¡Solo quiero morir ahora! +91=¡Elige tu nivel de dificultad! +92=trucos para la zona de batalla! Para activar un truco, solo escribe el comando en el juego. Trabajan la mayoría de las veces. Mantén presionada la tecla Eliminar y presiona z: da 250 armaduras Alt + barra invertida: evade las cuchillas para siempre Control + f9: salta este nivel y pasa al siguiente espacio de espera y presiona 9: ¡te da una gran cantidad de munición! Mantenga presionada la tecla f4 y presione enter: ¡le da 250 vidas extra! Mantenga presionada la tecla enter y presione x: ¡le da 500 pociones más! Mantén presionada u, luego mantén presionado el espacio y luego presiona el desplazamiento a la izquierda: ¡te dan 500 trampas explosivas adicionales! +93=Por ganar más de 20000 puntos en el juego, ¡acabas de recibir un archivo de trucos! Se puede encontrar en el directorio de su zona de batalla. +94=salir del laboratorio +95=escenas del país, quiero decir ciudad, vida +96=El agua de la muerte +97=Calle saber cómo +98=excursiones forestales +99=retumba en la oscuridad +100=Una tierra de maravillas de invierno, llena de enemigos ... +101=El río Vile +102=Cueva de violencia +103=peligro en el camino +104=atrapado en la tormenta! +105=¡Tu juego ha sido guardado! +106=Parece que no se encontró el archivo de guardar. Guarda un juego e inténtalo de nuevo. +107=las opciones fueron guardadas! +108=¡El jefe está muerto! ¡Ahora has ganado 7000 puntos! +109=Su puntaje total es: +110=artículo +111=el artículo cae +112=Recogiste munición +113=Recogiste poción +114=Recogiste armadura +115=recogiste el objeto evadir cuchillas +116=Ahwhwhwhwhwhwhwhwhwh, tienes un artículo falso, ¡qué pena! +117=hoyo +118=El enemigo salta sobre un hoyo +119=el enemigo cae en un pozo +120=trampa explosiva +121=¡El enemigo accidentalmente pisó una trampa explosiva y murió! +122=¡accidentalmente pisas tu propia trampa explosiva y te disparas! +123=cuchillas +124=las cuchillas te cortan +125=protección de cuchillas destruida +126=roca +127=roca golpea al enemigo +128=roca te golpea +129=ataque enemigo completamente absorbido por la armadura +130=bola de fuego +131=Fireball te golpea +132=estás herido +133=fin de nivel +134=Use las teclas de flecha hacia arriba y hacia abajo para navegar, y presione enter para seleccionar. \ No newline at end of file diff --git a/build/nvdaControllerClient32.dll b/build/nvdaControllerClient32.dll new file mode 100644 index 0000000..1d061b1 Binary files /dev/null and b/build/nvdaControllerClient32.dll differ diff --git a/build/readme.textile b/build/readme.textile new file mode 100644 index 0000000..f72ee01 --- /dev/null +++ b/build/readme.textile @@ -0,0 +1,51 @@ +h2. A BattleZone by GameMadnessInteractive fork + +This is a fork of a game for blind and visually impaired written in "Blastbay Gaming Toolkit":http://blastbay.com/ scripting language. +*Note*: There's no graphics, only sound! +the original version as well as the discussion of the game can be found "here":http://forum.audiogames.net/viewtopic.php?id=3800&p=52. +Copyright В© the original code and sounds were developed by "Carlos Macintosh":http://twitter.com/KeyWasFull. +You can find out how to play the game by reading _user guide.txt_ file. + +h2. Changes made by Brogar2000 on 04/16/2020 +* Made a data folder and moved a few files to it. Hopefully I can move more files over to it at a later date. +* Renamed ss.bgt to game.bgt. +* The level 5 boss works propperly now. I did not make any changes to fix this blitch, it seems to have fixed itself. +* Sarcastic messages when you get killed have made a come back. +* Changed some of the sounds, mainly some of the weapon and menu sounds. There are other sounds that have been changed as well. +* Now using the DFSpeech/DLG method of speaking text. This means that Battle Zone can now be played with Jaws or NVDA once again. DFSpeech was made by http://masonasons.me and found at https://github.com/cartertemm?tab=repositories +* Took out the old menu system and replaced it with m_pro, made by http://masonasons.me and found at https://github.com/cartertemm?tab=repositories +* Battle Zone now makes use of dialogues. To scroll through dialogues, just press the enter key. +* Battle Zone now has support for multiple languages. To make a new language, go into the languages folder. You can use the English file as a template. Remember not to add a file extention to your language file, or else the game will read out .txt at the end of the language name. +* New language: Spanish, (Google Translated). +* Readded enter sounds for the menus. + +h3. Plans for future: +* Hopefully we can improve the language system. While it works, it has some major flaws. + +h3. Known issues: +* When generating the cheats.txt file, there are no line breaks. I had to put tabs instead. This is do to how the language system works, so unfortunately nothing can be done about it at the moment. +* There's a little sound glitch where you hear certain bits of sound right before a level starts. This glitch does not happen all the time, and it can be mostly noticed when using the next level cheat or beating the first boss and going to the next level. I'm not sure how this happens, so I can't find a way to fix it. + +h2. Changes made by Menelion Elensúlë: +* Removed the @maxarmor@ restriction — no useless armor anymore! +* Removed the annoying evading blades sound — use the _V_ key more frequently instead +* Removed annoying life loss messages +* Removed bombs — they were quite instable +* Now each ammo pack that you can buy contains 30 ammo, not 10 — I think it's more realistic to pay 30 points per gunshot +* Now when you get an evade blades, nothing is said — the sound is enough +* Cheats: _F4+Enter_ gives you extra 250 lives, not just 250 +* Cheats: _Del+Z_ gives you extra 250 armor, not just 250 +* New cheat: press _Ctrl+Shift+I_, and every item gets caught automatically for you +* A potion now gives more health (between 70 and 120, not between 50 and 100) + +h3. Plans for future: +* SHOP: Allow items selling, not only buying. When being sold, items cost half their original price +* ITEMS: Change all voice messages to sounds for extra points, lives, boobies etc. +* Code optimizing and cleaning +* Implement update manager from 13.4 branch or develop an alternative one +* Allow armor protection from boulders (you will need really lots of armor for this, and you'll lose lots of armor when hit by a boulder) +* Maybe make a Russian branch or a bilingual interface +* Provide a hints.txt file after gaining 50000 points + +h3. Known issues: +* Level 5 is not working: to beat a boss, just press Spacebar. That was so before my intrusion, and for now I don't know how to solve this. Pull requests are welcome. \ No newline at end of file diff --git a/build/sounds/amb_lvl1.ogg b/build/sounds/amb_lvl1.ogg new file mode 100644 index 0000000..86a3c4b Binary files /dev/null and b/build/sounds/amb_lvl1.ogg differ diff --git a/build/sounds/amb_lvl11.ogg b/build/sounds/amb_lvl11.ogg new file mode 100644 index 0000000..069b3d4 Binary files /dev/null and b/build/sounds/amb_lvl11.ogg differ diff --git a/build/sounds/amb_lvl12.ogg b/build/sounds/amb_lvl12.ogg new file mode 100644 index 0000000..3f91ee0 Binary files /dev/null and b/build/sounds/amb_lvl12.ogg differ diff --git a/build/sounds/amb_lvl13.ogg b/build/sounds/amb_lvl13.ogg new file mode 100644 index 0000000..9aa2fff Binary files /dev/null and b/build/sounds/amb_lvl13.ogg differ diff --git a/build/sounds/amb_lvl2.ogg b/build/sounds/amb_lvl2.ogg new file mode 100644 index 0000000..4a33a8f Binary files /dev/null and b/build/sounds/amb_lvl2.ogg differ diff --git a/build/sounds/amb_lvl3.ogg b/build/sounds/amb_lvl3.ogg new file mode 100644 index 0000000..6101903 Binary files /dev/null and b/build/sounds/amb_lvl3.ogg differ diff --git a/build/sounds/amb_lvl4.ogg b/build/sounds/amb_lvl4.ogg new file mode 100644 index 0000000..4a33a8f Binary files /dev/null and b/build/sounds/amb_lvl4.ogg differ diff --git a/build/sounds/amb_lvl6.ogg b/build/sounds/amb_lvl6.ogg new file mode 100644 index 0000000..c0d3c1b Binary files /dev/null and b/build/sounds/amb_lvl6.ogg differ diff --git a/build/sounds/amb_lvl7.ogg b/build/sounds/amb_lvl7.ogg new file mode 100644 index 0000000..31a3661 Binary files /dev/null and b/build/sounds/amb_lvl7.ogg differ diff --git a/build/sounds/amb_lvl8.ogg b/build/sounds/amb_lvl8.ogg new file mode 100644 index 0000000..495972c Binary files /dev/null and b/build/sounds/amb_lvl8.ogg differ diff --git a/build/sounds/amb_lvl9.ogg b/build/sounds/amb_lvl9.ogg new file mode 100644 index 0000000..a2cae2a Binary files /dev/null and b/build/sounds/amb_lvl9.ogg differ diff --git a/build/sounds/ammo.wav b/build/sounds/ammo.wav new file mode 100644 index 0000000..9d1bcbb Binary files /dev/null and b/build/sounds/ammo.wav differ diff --git a/build/sounds/bgrunt1.wav b/build/sounds/bgrunt1.wav new file mode 100644 index 0000000..d6eb946 Binary files /dev/null and b/build/sounds/bgrunt1.wav differ diff --git a/build/sounds/bgrunt2.wav b/build/sounds/bgrunt2.wav new file mode 100644 index 0000000..d0e0368 Binary files /dev/null and b/build/sounds/bgrunt2.wav differ diff --git a/build/sounds/bladedie.ogg b/build/sounds/bladedie.ogg new file mode 100644 index 0000000..a41a09c Binary files /dev/null and b/build/sounds/bladedie.ogg differ diff --git a/build/sounds/bladeoff.wav b/build/sounds/bladeoff.wav new file mode 100644 index 0000000..9fe373e Binary files /dev/null and b/build/sounds/bladeoff.wav differ diff --git a/build/sounds/blades.wav b/build/sounds/blades.wav new file mode 100644 index 0000000..7833ce8 Binary files /dev/null and b/build/sounds/blades.wav differ diff --git a/build/sounds/bomb.ogg b/build/sounds/bomb.ogg new file mode 100644 index 0000000..46e10a8 Binary files /dev/null and b/build/sounds/bomb.ogg differ diff --git a/build/sounds/booby.wav b/build/sounds/booby.wav new file mode 100644 index 0000000..8c5bed3 Binary files /dev/null and b/build/sounds/booby.wav differ diff --git a/build/sounds/boobydie.ogg b/build/sounds/boobydie.ogg new file mode 100644 index 0000000..731442d Binary files /dev/null and b/build/sounds/boobydie.ogg differ diff --git a/build/sounds/boss.wav b/build/sounds/boss.wav new file mode 100644 index 0000000..bb7f6ab Binary files /dev/null and b/build/sounds/boss.wav differ diff --git a/build/sounds/boss2conv.wav b/build/sounds/boss2conv.wav new file mode 100644 index 0000000..de74ea0 Binary files /dev/null and b/build/sounds/boss2conv.wav differ diff --git a/build/sounds/boss2die.wav b/build/sounds/boss2die.wav new file mode 100644 index 0000000..c916d9d Binary files /dev/null and b/build/sounds/boss2die.wav differ diff --git a/build/sounds/boss2elec.wav b/build/sounds/boss2elec.wav new file mode 100644 index 0000000..6007db7 Binary files /dev/null and b/build/sounds/boss2elec.wav differ diff --git a/build/sounds/boss2elecdie.wav b/build/sounds/boss2elecdie.wav new file mode 100644 index 0000000..2164f17 Binary files /dev/null and b/build/sounds/boss2elecdie.wav differ diff --git a/build/sounds/boss2hit1.wav b/build/sounds/boss2hit1.wav new file mode 100644 index 0000000..94decaa Binary files /dev/null and b/build/sounds/boss2hit1.wav differ diff --git a/build/sounds/boss2hit2.wav b/build/sounds/boss2hit2.wav new file mode 100644 index 0000000..8600b79 Binary files /dev/null and b/build/sounds/boss2hit2.wav differ diff --git a/build/sounds/boss2mus.ogg b/build/sounds/boss2mus.ogg new file mode 100644 index 0000000..5739562 Binary files /dev/null and b/build/sounds/boss2mus.ogg differ diff --git a/build/sounds/boss2taunt1.wav b/build/sounds/boss2taunt1.wav new file mode 100644 index 0000000..961e911 Binary files /dev/null and b/build/sounds/boss2taunt1.wav differ diff --git a/build/sounds/boss2taunt2.wav b/build/sounds/boss2taunt2.wav new file mode 100644 index 0000000..fe170e0 Binary files /dev/null and b/build/sounds/boss2taunt2.wav differ diff --git a/build/sounds/boss3mus.ogg b/build/sounds/boss3mus.ogg new file mode 100644 index 0000000..81d34ab Binary files /dev/null and b/build/sounds/boss3mus.ogg differ diff --git a/build/sounds/bosshit1.wav b/build/sounds/bosshit1.wav new file mode 100644 index 0000000..ea99cb5 Binary files /dev/null and b/build/sounds/bosshit1.wav differ diff --git a/build/sounds/bossmusic.ogg b/build/sounds/bossmusic.ogg new file mode 100644 index 0000000..a798eb2 Binary files /dev/null and b/build/sounds/bossmusic.ogg differ diff --git a/build/sounds/bossvoice.wav b/build/sounds/bossvoice.wav new file mode 100644 index 0000000..fdf6e7f Binary files /dev/null and b/build/sounds/bossvoice.wav differ diff --git a/build/sounds/boulderHit.wav b/build/sounds/boulderHit.wav new file mode 100644 index 0000000..8a40ef9 Binary files /dev/null and b/build/sounds/boulderHit.wav differ diff --git a/build/sounds/break.wav b/build/sounds/break.wav new file mode 100644 index 0000000..3e766f6 Binary files /dev/null and b/build/sounds/break.wav differ diff --git a/build/sounds/cash.wav b/build/sounds/cash.wav new file mode 100644 index 0000000..ba1bb35 Binary files /dev/null and b/build/sounds/cash.wav differ diff --git a/build/sounds/converse.ogg b/build/sounds/converse.ogg new file mode 100644 index 0000000..53cd46c Binary files /dev/null and b/build/sounds/converse.ogg differ diff --git a/build/sounds/coughing.wav b/build/sounds/coughing.wav new file mode 100644 index 0000000..33162a7 Binary files /dev/null and b/build/sounds/coughing.wav differ diff --git a/build/sounds/diebossfire.wav b/build/sounds/diebossfire.wav new file mode 100644 index 0000000..e98a1e2 Binary files /dev/null and b/build/sounds/diebossfire.wav differ diff --git a/build/sounds/dieknife.ogg b/build/sounds/dieknife.ogg new file mode 100644 index 0000000..0e3b844 Binary files /dev/null and b/build/sounds/dieknife.ogg differ diff --git a/build/sounds/diepit1.wav b/build/sounds/diepit1.wav new file mode 100644 index 0000000..b377df0 Binary files /dev/null and b/build/sounds/diepit1.wav differ diff --git a/build/sounds/dlg.wav b/build/sounds/dlg.wav new file mode 100644 index 0000000..761ea05 Binary files /dev/null and b/build/sounds/dlg.wav differ diff --git a/build/sounds/dlgend.wav b/build/sounds/dlgend.wav new file mode 100644 index 0000000..b7de020 Binary files /dev/null and b/build/sounds/dlgend.wav differ diff --git a/build/sounds/duck.wav b/build/sounds/duck.wav new file mode 100644 index 0000000..0f51c73 Binary files /dev/null and b/build/sounds/duck.wav differ diff --git a/build/sounds/endoflevel.wav b/build/sounds/endoflevel.wav new file mode 100644 index 0000000..efeb9c6 Binary files /dev/null and b/build/sounds/endoflevel.wav differ diff --git a/build/sounds/enempit.wav b/build/sounds/enempit.wav new file mode 100644 index 0000000..1364146 Binary files /dev/null and b/build/sounds/enempit.wav differ diff --git a/build/sounds/enemy/boulderHit.wav b/build/sounds/enemy/boulderHit.wav new file mode 100644 index 0000000..69f8125 Binary files /dev/null and b/build/sounds/enemy/boulderHit.wav differ diff --git a/build/sounds/enemy/die1.wav b/build/sounds/enemy/die1.wav new file mode 100644 index 0000000..7f31a31 Binary files /dev/null and b/build/sounds/enemy/die1.wav differ diff --git a/build/sounds/enemy/die10.wav b/build/sounds/enemy/die10.wav new file mode 100644 index 0000000..ab949b6 Binary files /dev/null and b/build/sounds/enemy/die10.wav differ diff --git a/build/sounds/enemy/die11.wav b/build/sounds/enemy/die11.wav new file mode 100644 index 0000000..e548a9e Binary files /dev/null and b/build/sounds/enemy/die11.wav differ diff --git a/build/sounds/enemy/die12.wav b/build/sounds/enemy/die12.wav new file mode 100644 index 0000000..3695650 Binary files /dev/null and b/build/sounds/enemy/die12.wav differ diff --git a/build/sounds/enemy/die13.wav b/build/sounds/enemy/die13.wav new file mode 100644 index 0000000..c2bf279 Binary files /dev/null and b/build/sounds/enemy/die13.wav differ diff --git a/build/sounds/enemy/die14.wav b/build/sounds/enemy/die14.wav new file mode 100644 index 0000000..d6eeb26 Binary files /dev/null and b/build/sounds/enemy/die14.wav differ diff --git a/build/sounds/enemy/die15.wav b/build/sounds/enemy/die15.wav new file mode 100644 index 0000000..2f0b36f Binary files /dev/null and b/build/sounds/enemy/die15.wav differ diff --git a/build/sounds/enemy/die16.wav b/build/sounds/enemy/die16.wav new file mode 100644 index 0000000..5acdf43 Binary files /dev/null and b/build/sounds/enemy/die16.wav differ diff --git a/build/sounds/enemy/die17.wav b/build/sounds/enemy/die17.wav new file mode 100644 index 0000000..bbf8627 Binary files /dev/null and b/build/sounds/enemy/die17.wav differ diff --git a/build/sounds/enemy/die18.wav b/build/sounds/enemy/die18.wav new file mode 100644 index 0000000..5138201 Binary files /dev/null and b/build/sounds/enemy/die18.wav differ diff --git a/build/sounds/enemy/die19.wav b/build/sounds/enemy/die19.wav new file mode 100644 index 0000000..6315f74 Binary files /dev/null and b/build/sounds/enemy/die19.wav differ diff --git a/build/sounds/enemy/die2.wav b/build/sounds/enemy/die2.wav new file mode 100644 index 0000000..a6732bf Binary files /dev/null and b/build/sounds/enemy/die2.wav differ diff --git a/build/sounds/enemy/die20.wav b/build/sounds/enemy/die20.wav new file mode 100644 index 0000000..63bdcb4 Binary files /dev/null and b/build/sounds/enemy/die20.wav differ diff --git a/build/sounds/enemy/die21.wav b/build/sounds/enemy/die21.wav new file mode 100644 index 0000000..302436a Binary files /dev/null and b/build/sounds/enemy/die21.wav differ diff --git a/build/sounds/enemy/die22.wav b/build/sounds/enemy/die22.wav new file mode 100644 index 0000000..5ffb68a Binary files /dev/null and b/build/sounds/enemy/die22.wav differ diff --git a/build/sounds/enemy/die23.wav b/build/sounds/enemy/die23.wav new file mode 100644 index 0000000..0509ebb Binary files /dev/null and b/build/sounds/enemy/die23.wav differ diff --git a/build/sounds/enemy/die24.wav b/build/sounds/enemy/die24.wav new file mode 100644 index 0000000..f69cf0a Binary files /dev/null and b/build/sounds/enemy/die24.wav differ diff --git a/build/sounds/enemy/die3.wav b/build/sounds/enemy/die3.wav new file mode 100644 index 0000000..00ebc78 Binary files /dev/null and b/build/sounds/enemy/die3.wav differ diff --git a/build/sounds/enemy/die4.wav b/build/sounds/enemy/die4.wav new file mode 100644 index 0000000..3e1be10 Binary files /dev/null and b/build/sounds/enemy/die4.wav differ diff --git a/build/sounds/enemy/die5.wav b/build/sounds/enemy/die5.wav new file mode 100644 index 0000000..1ffdfd1 Binary files /dev/null and b/build/sounds/enemy/die5.wav differ diff --git a/build/sounds/enemy/die6.wav b/build/sounds/enemy/die6.wav new file mode 100644 index 0000000..3af447b Binary files /dev/null and b/build/sounds/enemy/die6.wav differ diff --git a/build/sounds/enemy/die7.wav b/build/sounds/enemy/die7.wav new file mode 100644 index 0000000..40df848 Binary files /dev/null and b/build/sounds/enemy/die7.wav differ diff --git a/build/sounds/enemy/die8.wav b/build/sounds/enemy/die8.wav new file mode 100644 index 0000000..6315f74 Binary files /dev/null and b/build/sounds/enemy/die8.wav differ diff --git a/build/sounds/enemy/die9.wav b/build/sounds/enemy/die9.wav new file mode 100644 index 0000000..1a4c883 Binary files /dev/null and b/build/sounds/enemy/die9.wav differ diff --git a/build/sounds/enemy/diepit1.sound b/build/sounds/enemy/diepit1.sound new file mode 100644 index 0000000..1364146 Binary files /dev/null and b/build/sounds/enemy/diepit1.sound differ diff --git a/build/sounds/enemy/diepit2.sound b/build/sounds/enemy/diepit2.sound new file mode 100644 index 0000000..1137f70 Binary files /dev/null and b/build/sounds/enemy/diepit2.sound differ diff --git a/build/sounds/enemy/drop1.wav b/build/sounds/enemy/drop1.wav new file mode 100644 index 0000000..11e5539 Binary files /dev/null and b/build/sounds/enemy/drop1.wav differ diff --git a/build/sounds/enemy/drop10.wav b/build/sounds/enemy/drop10.wav new file mode 100644 index 0000000..75bffae Binary files /dev/null and b/build/sounds/enemy/drop10.wav differ diff --git a/build/sounds/enemy/drop11.wav b/build/sounds/enemy/drop11.wav new file mode 100644 index 0000000..e1fa695 Binary files /dev/null and b/build/sounds/enemy/drop11.wav differ diff --git a/build/sounds/enemy/drop12.wav b/build/sounds/enemy/drop12.wav new file mode 100644 index 0000000..2ce7908 Binary files /dev/null and b/build/sounds/enemy/drop12.wav differ diff --git a/build/sounds/enemy/drop13.wav b/build/sounds/enemy/drop13.wav new file mode 100644 index 0000000..a0e3e5a Binary files /dev/null and b/build/sounds/enemy/drop13.wav differ diff --git a/build/sounds/enemy/drop14.wav b/build/sounds/enemy/drop14.wav new file mode 100644 index 0000000..8e712c7 Binary files /dev/null and b/build/sounds/enemy/drop14.wav differ diff --git a/build/sounds/enemy/drop15.wav b/build/sounds/enemy/drop15.wav new file mode 100644 index 0000000..6714a12 Binary files /dev/null and b/build/sounds/enemy/drop15.wav differ diff --git a/build/sounds/enemy/drop16.wav b/build/sounds/enemy/drop16.wav new file mode 100644 index 0000000..ffd2502 Binary files /dev/null and b/build/sounds/enemy/drop16.wav differ diff --git a/build/sounds/enemy/drop17.wav b/build/sounds/enemy/drop17.wav new file mode 100644 index 0000000..2a61efb Binary files /dev/null and b/build/sounds/enemy/drop17.wav differ diff --git a/build/sounds/enemy/drop2.wav b/build/sounds/enemy/drop2.wav new file mode 100644 index 0000000..c0d1681 Binary files /dev/null and b/build/sounds/enemy/drop2.wav differ diff --git a/build/sounds/enemy/drop3.wav b/build/sounds/enemy/drop3.wav new file mode 100644 index 0000000..90574dd Binary files /dev/null and b/build/sounds/enemy/drop3.wav differ diff --git a/build/sounds/enemy/drop4.wav b/build/sounds/enemy/drop4.wav new file mode 100644 index 0000000..0dc419e Binary files /dev/null and b/build/sounds/enemy/drop4.wav differ diff --git a/build/sounds/enemy/drop5.wav b/build/sounds/enemy/drop5.wav new file mode 100644 index 0000000..e290d54 Binary files /dev/null and b/build/sounds/enemy/drop5.wav differ diff --git a/build/sounds/enemy/drop6.wav b/build/sounds/enemy/drop6.wav new file mode 100644 index 0000000..479f8ae Binary files /dev/null and b/build/sounds/enemy/drop6.wav differ diff --git a/build/sounds/enemy/drop7.wav b/build/sounds/enemy/drop7.wav new file mode 100644 index 0000000..7ad223a Binary files /dev/null and b/build/sounds/enemy/drop7.wav differ diff --git a/build/sounds/enemy/drop8.wav b/build/sounds/enemy/drop8.wav new file mode 100644 index 0000000..614e4e2 Binary files /dev/null and b/build/sounds/enemy/drop8.wav differ diff --git a/build/sounds/enemy/drop9.wav b/build/sounds/enemy/drop9.wav new file mode 100644 index 0000000..d6ba1ce Binary files /dev/null and b/build/sounds/enemy/drop9.wav differ diff --git a/build/sounds/enemy/dropwater1.sound b/build/sounds/enemy/dropwater1.sound new file mode 100644 index 0000000..29eb360 Binary files /dev/null and b/build/sounds/enemy/dropwater1.sound differ diff --git a/build/sounds/enemy/dropwater2.sound b/build/sounds/enemy/dropwater2.sound new file mode 100644 index 0000000..5864776 Binary files /dev/null and b/build/sounds/enemy/dropwater2.sound differ diff --git a/build/sounds/enemy/dropwater3.sound b/build/sounds/enemy/dropwater3.sound new file mode 100644 index 0000000..e8b3ca2 Binary files /dev/null and b/build/sounds/enemy/dropwater3.sound differ diff --git a/build/sounds/enemy/dropwater4.sound b/build/sounds/enemy/dropwater4.sound new file mode 100644 index 0000000..d4ed994 Binary files /dev/null and b/build/sounds/enemy/dropwater4.sound differ diff --git a/build/sounds/enemy/dropwater5.sound b/build/sounds/enemy/dropwater5.sound new file mode 100644 index 0000000..880e626 Binary files /dev/null and b/build/sounds/enemy/dropwater5.sound differ diff --git a/build/sounds/enemy/female/die1.wav b/build/sounds/enemy/female/die1.wav new file mode 100644 index 0000000..abf7863 Binary files /dev/null and b/build/sounds/enemy/female/die1.wav differ diff --git a/build/sounds/enemy/female/die10.wav b/build/sounds/enemy/female/die10.wav new file mode 100644 index 0000000..f7345ea Binary files /dev/null and b/build/sounds/enemy/female/die10.wav differ diff --git a/build/sounds/enemy/female/die11.wav b/build/sounds/enemy/female/die11.wav new file mode 100644 index 0000000..bd1ecef Binary files /dev/null and b/build/sounds/enemy/female/die11.wav differ diff --git a/build/sounds/enemy/female/die12.wav b/build/sounds/enemy/female/die12.wav new file mode 100644 index 0000000..8fe418d Binary files /dev/null and b/build/sounds/enemy/female/die12.wav differ diff --git a/build/sounds/enemy/female/die13.wav b/build/sounds/enemy/female/die13.wav new file mode 100644 index 0000000..3f3645f Binary files /dev/null and b/build/sounds/enemy/female/die13.wav differ diff --git a/build/sounds/enemy/female/die14.wav b/build/sounds/enemy/female/die14.wav new file mode 100644 index 0000000..683ca1e Binary files /dev/null and b/build/sounds/enemy/female/die14.wav differ diff --git a/build/sounds/enemy/female/die15.wav b/build/sounds/enemy/female/die15.wav new file mode 100644 index 0000000..94127fc Binary files /dev/null and b/build/sounds/enemy/female/die15.wav differ diff --git a/build/sounds/enemy/female/die2.wav b/build/sounds/enemy/female/die2.wav new file mode 100644 index 0000000..f945f8b Binary files /dev/null and b/build/sounds/enemy/female/die2.wav differ diff --git a/build/sounds/enemy/female/die3.wav b/build/sounds/enemy/female/die3.wav new file mode 100644 index 0000000..a72fad8 Binary files /dev/null and b/build/sounds/enemy/female/die3.wav differ diff --git a/build/sounds/enemy/female/die4.wav b/build/sounds/enemy/female/die4.wav new file mode 100644 index 0000000..9ccbecb Binary files /dev/null and b/build/sounds/enemy/female/die4.wav differ diff --git a/build/sounds/enemy/female/die5.wav b/build/sounds/enemy/female/die5.wav new file mode 100644 index 0000000..5f33532 Binary files /dev/null and b/build/sounds/enemy/female/die5.wav differ diff --git a/build/sounds/enemy/female/die6.wav b/build/sounds/enemy/female/die6.wav new file mode 100644 index 0000000..86070f9 Binary files /dev/null and b/build/sounds/enemy/female/die6.wav differ diff --git a/build/sounds/enemy/female/die7.wav b/build/sounds/enemy/female/die7.wav new file mode 100644 index 0000000..6a84800 Binary files /dev/null and b/build/sounds/enemy/female/die7.wav differ diff --git a/build/sounds/enemy/female/die8.wav b/build/sounds/enemy/female/die8.wav new file mode 100644 index 0000000..7c8fd76 Binary files /dev/null and b/build/sounds/enemy/female/die8.wav differ diff --git a/build/sounds/enemy/female/die9.wav b/build/sounds/enemy/female/die9.wav new file mode 100644 index 0000000..a10fe34 Binary files /dev/null and b/build/sounds/enemy/female/die9.wav differ diff --git a/build/sounds/enemy/female/diepit1.sound b/build/sounds/enemy/female/diepit1.sound new file mode 100644 index 0000000..b377df0 Binary files /dev/null and b/build/sounds/enemy/female/diepit1.sound differ diff --git a/build/sounds/enemy/female/diepit2.sound b/build/sounds/enemy/female/diepit2.sound new file mode 100644 index 0000000..b377df0 Binary files /dev/null and b/build/sounds/enemy/female/diepit2.sound differ diff --git a/build/sounds/enemy/female/hitplayer1.wav b/build/sounds/enemy/female/hitplayer1.wav new file mode 100644 index 0000000..6ff20f3 Binary files /dev/null and b/build/sounds/enemy/female/hitplayer1.wav differ diff --git a/build/sounds/enemy/female/hitplayer2.wav b/build/sounds/enemy/female/hitplayer2.wav new file mode 100644 index 0000000..52d900b Binary files /dev/null and b/build/sounds/enemy/female/hitplayer2.wav differ diff --git a/build/sounds/enemy/female/hitplayer3.wav b/build/sounds/enemy/female/hitplayer3.wav new file mode 100644 index 0000000..3bfb00c Binary files /dev/null and b/build/sounds/enemy/female/hitplayer3.wav differ diff --git a/build/sounds/enemy/female/hitplayer4.wav b/build/sounds/enemy/female/hitplayer4.wav new file mode 100644 index 0000000..f13d1fd Binary files /dev/null and b/build/sounds/enemy/female/hitplayer4.wav differ diff --git a/build/sounds/enemy/female/hitplayer5.wav b/build/sounds/enemy/female/hitplayer5.wav new file mode 100644 index 0000000..fa04529 Binary files /dev/null and b/build/sounds/enemy/female/hitplayer5.wav differ diff --git a/build/sounds/enemy/female/hitplayer6.wav b/build/sounds/enemy/female/hitplayer6.wav new file mode 100644 index 0000000..18813ae Binary files /dev/null and b/build/sounds/enemy/female/hitplayer6.wav differ diff --git a/build/sounds/enemy/female/hitplayer7.wav b/build/sounds/enemy/female/hitplayer7.wav new file mode 100644 index 0000000..5874154 Binary files /dev/null and b/build/sounds/enemy/female/hitplayer7.wav differ diff --git a/build/sounds/enemy/female/hitplayer8.wav b/build/sounds/enemy/female/hitplayer8.wav new file mode 100644 index 0000000..bf062d6 Binary files /dev/null and b/build/sounds/enemy/female/hitplayer8.wav differ diff --git a/build/sounds/enemy/female/hitplayer9.wav b/build/sounds/enemy/female/hitplayer9.wav new file mode 100644 index 0000000..f4cfac2 Binary files /dev/null and b/build/sounds/enemy/female/hitplayer9.wav differ diff --git a/build/sounds/enemy/female/pain1.wav b/build/sounds/enemy/female/pain1.wav new file mode 100644 index 0000000..7a5e485 Binary files /dev/null and b/build/sounds/enemy/female/pain1.wav differ diff --git a/build/sounds/enemy/female/pain10.ogg b/build/sounds/enemy/female/pain10.ogg new file mode 100644 index 0000000..3ed634a Binary files /dev/null and b/build/sounds/enemy/female/pain10.ogg differ diff --git a/build/sounds/enemy/female/pain2.wav b/build/sounds/enemy/female/pain2.wav new file mode 100644 index 0000000..4681869 Binary files /dev/null and b/build/sounds/enemy/female/pain2.wav differ diff --git a/build/sounds/enemy/female/pain3.wav b/build/sounds/enemy/female/pain3.wav new file mode 100644 index 0000000..8dd442d Binary files /dev/null and b/build/sounds/enemy/female/pain3.wav differ diff --git a/build/sounds/enemy/female/pain4.wav b/build/sounds/enemy/female/pain4.wav new file mode 100644 index 0000000..4c926b4 Binary files /dev/null and b/build/sounds/enemy/female/pain4.wav differ diff --git a/build/sounds/enemy/female/pain5.wav b/build/sounds/enemy/female/pain5.wav new file mode 100644 index 0000000..1dfefe4 Binary files /dev/null and b/build/sounds/enemy/female/pain5.wav differ diff --git a/build/sounds/enemy/female/pain6.wav b/build/sounds/enemy/female/pain6.wav new file mode 100644 index 0000000..b00a0aa Binary files /dev/null and b/build/sounds/enemy/female/pain6.wav differ diff --git a/build/sounds/enemy/female/pain7.wav b/build/sounds/enemy/female/pain7.wav new file mode 100644 index 0000000..e968c0b Binary files /dev/null and b/build/sounds/enemy/female/pain7.wav differ diff --git a/build/sounds/enemy/female/pain8.wav b/build/sounds/enemy/female/pain8.wav new file mode 100644 index 0000000..dfb0e57 Binary files /dev/null and b/build/sounds/enemy/female/pain8.wav differ diff --git a/build/sounds/enemy/female/pain9.wav b/build/sounds/enemy/female/pain9.wav new file mode 100644 index 0000000..1506923 Binary files /dev/null and b/build/sounds/enemy/female/pain9.wav differ diff --git a/build/sounds/enemy/female/voice1.wav b/build/sounds/enemy/female/voice1.wav new file mode 100644 index 0000000..0409d79 Binary files /dev/null and b/build/sounds/enemy/female/voice1.wav differ diff --git a/build/sounds/enemy/female/voice10.wav b/build/sounds/enemy/female/voice10.wav new file mode 100644 index 0000000..ceef89a Binary files /dev/null and b/build/sounds/enemy/female/voice10.wav differ diff --git a/build/sounds/enemy/female/voice11.wav b/build/sounds/enemy/female/voice11.wav new file mode 100644 index 0000000..2391610 Binary files /dev/null and b/build/sounds/enemy/female/voice11.wav differ diff --git a/build/sounds/enemy/female/voice12.wav b/build/sounds/enemy/female/voice12.wav new file mode 100644 index 0000000..7d11907 Binary files /dev/null and b/build/sounds/enemy/female/voice12.wav differ diff --git a/build/sounds/enemy/female/voice13.wav b/build/sounds/enemy/female/voice13.wav new file mode 100644 index 0000000..ab0070a Binary files /dev/null and b/build/sounds/enemy/female/voice13.wav differ diff --git a/build/sounds/enemy/female/voice14.wav b/build/sounds/enemy/female/voice14.wav new file mode 100644 index 0000000..17c5be7 Binary files /dev/null and b/build/sounds/enemy/female/voice14.wav differ diff --git a/build/sounds/enemy/female/voice15.wav b/build/sounds/enemy/female/voice15.wav new file mode 100644 index 0000000..1c98fda Binary files /dev/null and b/build/sounds/enemy/female/voice15.wav differ diff --git a/build/sounds/enemy/female/voice16.wav b/build/sounds/enemy/female/voice16.wav new file mode 100644 index 0000000..226fa8d Binary files /dev/null and b/build/sounds/enemy/female/voice16.wav differ diff --git a/build/sounds/enemy/female/voice2.wav b/build/sounds/enemy/female/voice2.wav new file mode 100644 index 0000000..8b0d576 Binary files /dev/null and b/build/sounds/enemy/female/voice2.wav differ diff --git a/build/sounds/enemy/female/voice3.wav b/build/sounds/enemy/female/voice3.wav new file mode 100644 index 0000000..f7453e6 Binary files /dev/null and b/build/sounds/enemy/female/voice3.wav differ diff --git a/build/sounds/enemy/female/voice4.wav b/build/sounds/enemy/female/voice4.wav new file mode 100644 index 0000000..ee36d70 Binary files /dev/null and b/build/sounds/enemy/female/voice4.wav differ diff --git a/build/sounds/enemy/female/voice5.wav b/build/sounds/enemy/female/voice5.wav new file mode 100644 index 0000000..a3917b7 Binary files /dev/null and b/build/sounds/enemy/female/voice5.wav differ diff --git a/build/sounds/enemy/female/voice6.wav b/build/sounds/enemy/female/voice6.wav new file mode 100644 index 0000000..25e2f7c Binary files /dev/null and b/build/sounds/enemy/female/voice6.wav differ diff --git a/build/sounds/enemy/female/voice7.wav b/build/sounds/enemy/female/voice7.wav new file mode 100644 index 0000000..a4312ff Binary files /dev/null and b/build/sounds/enemy/female/voice7.wav differ diff --git a/build/sounds/enemy/female/voice8.wav b/build/sounds/enemy/female/voice8.wav new file mode 100644 index 0000000..b9b0b58 Binary files /dev/null and b/build/sounds/enemy/female/voice8.wav differ diff --git a/build/sounds/enemy/female/voice9.wav b/build/sounds/enemy/female/voice9.wav new file mode 100644 index 0000000..443a468 Binary files /dev/null and b/build/sounds/enemy/female/voice9.wav differ diff --git a/build/sounds/enemy/hitarmor/1.ogg b/build/sounds/enemy/hitarmor/1.ogg new file mode 100644 index 0000000..b94eafe Binary files /dev/null and b/build/sounds/enemy/hitarmor/1.ogg differ diff --git a/build/sounds/enemy/hitarmor/10.ogg b/build/sounds/enemy/hitarmor/10.ogg new file mode 100644 index 0000000..2ac5cc1 Binary files /dev/null and b/build/sounds/enemy/hitarmor/10.ogg differ diff --git a/build/sounds/enemy/hitarmor/2.ogg b/build/sounds/enemy/hitarmor/2.ogg new file mode 100644 index 0000000..db8b8d4 Binary files /dev/null and b/build/sounds/enemy/hitarmor/2.ogg differ diff --git a/build/sounds/enemy/hitarmor/3.ogg b/build/sounds/enemy/hitarmor/3.ogg new file mode 100644 index 0000000..d084201 Binary files /dev/null and b/build/sounds/enemy/hitarmor/3.ogg differ diff --git a/build/sounds/enemy/hitarmor/4.ogg b/build/sounds/enemy/hitarmor/4.ogg new file mode 100644 index 0000000..7994596 Binary files /dev/null and b/build/sounds/enemy/hitarmor/4.ogg differ diff --git a/build/sounds/enemy/hitarmor/5.ogg b/build/sounds/enemy/hitarmor/5.ogg new file mode 100644 index 0000000..0e3215f Binary files /dev/null and b/build/sounds/enemy/hitarmor/5.ogg differ diff --git a/build/sounds/enemy/hitarmor/6.ogg b/build/sounds/enemy/hitarmor/6.ogg new file mode 100644 index 0000000..422db19 Binary files /dev/null and b/build/sounds/enemy/hitarmor/6.ogg differ diff --git a/build/sounds/enemy/hitarmor/7.ogg b/build/sounds/enemy/hitarmor/7.ogg new file mode 100644 index 0000000..e1065da Binary files /dev/null and b/build/sounds/enemy/hitarmor/7.ogg differ diff --git a/build/sounds/enemy/hitarmor/8.ogg b/build/sounds/enemy/hitarmor/8.ogg new file mode 100644 index 0000000..3e47735 Binary files /dev/null and b/build/sounds/enemy/hitarmor/8.ogg differ diff --git a/build/sounds/enemy/hitarmor/9.ogg b/build/sounds/enemy/hitarmor/9.ogg new file mode 100644 index 0000000..a258cf2 Binary files /dev/null and b/build/sounds/enemy/hitarmor/9.ogg differ diff --git a/build/sounds/enemy/hitplayer1.wav b/build/sounds/enemy/hitplayer1.wav new file mode 100644 index 0000000..ae3e095 Binary files /dev/null and b/build/sounds/enemy/hitplayer1.wav differ diff --git a/build/sounds/enemy/hitplayer10.wav b/build/sounds/enemy/hitplayer10.wav new file mode 100644 index 0000000..3a5534c Binary files /dev/null and b/build/sounds/enemy/hitplayer10.wav differ diff --git a/build/sounds/enemy/hitplayer11.ogg b/build/sounds/enemy/hitplayer11.ogg new file mode 100644 index 0000000..df6a5c0 Binary files /dev/null and b/build/sounds/enemy/hitplayer11.ogg differ diff --git a/build/sounds/enemy/hitplayer11.wav b/build/sounds/enemy/hitplayer11.wav new file mode 100644 index 0000000..cb43f6f Binary files /dev/null and b/build/sounds/enemy/hitplayer11.wav differ diff --git a/build/sounds/enemy/hitplayer2.wav b/build/sounds/enemy/hitplayer2.wav new file mode 100644 index 0000000..be27c66 Binary files /dev/null and b/build/sounds/enemy/hitplayer2.wav differ diff --git a/build/sounds/enemy/hitplayer3.wav b/build/sounds/enemy/hitplayer3.wav new file mode 100644 index 0000000..a8375c2 Binary files /dev/null and b/build/sounds/enemy/hitplayer3.wav differ diff --git a/build/sounds/enemy/hitplayer4.wav b/build/sounds/enemy/hitplayer4.wav new file mode 100644 index 0000000..8b826df Binary files /dev/null and b/build/sounds/enemy/hitplayer4.wav differ diff --git a/build/sounds/enemy/hitplayer5.wav b/build/sounds/enemy/hitplayer5.wav new file mode 100644 index 0000000..dde8bab Binary files /dev/null and b/build/sounds/enemy/hitplayer5.wav differ diff --git a/build/sounds/enemy/hitplayer6.wav b/build/sounds/enemy/hitplayer6.wav new file mode 100644 index 0000000..0fcd59a Binary files /dev/null and b/build/sounds/enemy/hitplayer6.wav differ diff --git a/build/sounds/enemy/hitplayer7.wav b/build/sounds/enemy/hitplayer7.wav new file mode 100644 index 0000000..e88e7e9 Binary files /dev/null and b/build/sounds/enemy/hitplayer7.wav differ diff --git a/build/sounds/enemy/hitplayer8.wav b/build/sounds/enemy/hitplayer8.wav new file mode 100644 index 0000000..cbbe09f Binary files /dev/null and b/build/sounds/enemy/hitplayer8.wav differ diff --git a/build/sounds/enemy/hitplayer9.wav b/build/sounds/enemy/hitplayer9.wav new file mode 100644 index 0000000..d7c12ea Binary files /dev/null and b/build/sounds/enemy/hitplayer9.wav differ diff --git a/build/sounds/enemy/jump.wav b/build/sounds/enemy/jump.wav new file mode 100644 index 0000000..05bbce3 Binary files /dev/null and b/build/sounds/enemy/jump.wav differ diff --git a/build/sounds/enemy/laugh/male/1.ogg b/build/sounds/enemy/laugh/male/1.ogg new file mode 100644 index 0000000..e723354 Binary files /dev/null and b/build/sounds/enemy/laugh/male/1.ogg differ diff --git a/build/sounds/enemy/laugh/male/2.ogg b/build/sounds/enemy/laugh/male/2.ogg new file mode 100644 index 0000000..cb2b8c1 Binary files /dev/null and b/build/sounds/enemy/laugh/male/2.ogg differ diff --git a/build/sounds/enemy/pain1.wav b/build/sounds/enemy/pain1.wav new file mode 100644 index 0000000..39030ed Binary files /dev/null and b/build/sounds/enemy/pain1.wav differ diff --git a/build/sounds/enemy/pain10.wav b/build/sounds/enemy/pain10.wav new file mode 100644 index 0000000..e570d91 Binary files /dev/null and b/build/sounds/enemy/pain10.wav differ diff --git a/build/sounds/enemy/pain11.wav b/build/sounds/enemy/pain11.wav new file mode 100644 index 0000000..310dd0f Binary files /dev/null and b/build/sounds/enemy/pain11.wav differ diff --git a/build/sounds/enemy/pain12.wav b/build/sounds/enemy/pain12.wav new file mode 100644 index 0000000..0b53ac2 Binary files /dev/null and b/build/sounds/enemy/pain12.wav differ diff --git a/build/sounds/enemy/pain13.wav b/build/sounds/enemy/pain13.wav new file mode 100644 index 0000000..7245e5f Binary files /dev/null and b/build/sounds/enemy/pain13.wav differ diff --git a/build/sounds/enemy/pain14.wav b/build/sounds/enemy/pain14.wav new file mode 100644 index 0000000..8b3ee05 Binary files /dev/null and b/build/sounds/enemy/pain14.wav differ diff --git a/build/sounds/enemy/pain15.wav b/build/sounds/enemy/pain15.wav new file mode 100644 index 0000000..bf61789 Binary files /dev/null and b/build/sounds/enemy/pain15.wav differ diff --git a/build/sounds/enemy/pain2.wav b/build/sounds/enemy/pain2.wav new file mode 100644 index 0000000..e29ff74 Binary files /dev/null and b/build/sounds/enemy/pain2.wav differ diff --git a/build/sounds/enemy/pain3.wav b/build/sounds/enemy/pain3.wav new file mode 100644 index 0000000..591afd2 Binary files /dev/null and b/build/sounds/enemy/pain3.wav differ diff --git a/build/sounds/enemy/pain4.wav b/build/sounds/enemy/pain4.wav new file mode 100644 index 0000000..e77126d Binary files /dev/null and b/build/sounds/enemy/pain4.wav differ diff --git a/build/sounds/enemy/pain5.wav b/build/sounds/enemy/pain5.wav new file mode 100644 index 0000000..18dd506 Binary files /dev/null and b/build/sounds/enemy/pain5.wav differ diff --git a/build/sounds/enemy/pain6.wav b/build/sounds/enemy/pain6.wav new file mode 100644 index 0000000..ba230d7 Binary files /dev/null and b/build/sounds/enemy/pain6.wav differ diff --git a/build/sounds/enemy/pain7.wav b/build/sounds/enemy/pain7.wav new file mode 100644 index 0000000..de540d9 Binary files /dev/null and b/build/sounds/enemy/pain7.wav differ diff --git a/build/sounds/enemy/pain8.ogg b/build/sounds/enemy/pain8.ogg new file mode 100644 index 0000000..52f9310 Binary files /dev/null and b/build/sounds/enemy/pain8.ogg differ diff --git a/build/sounds/enemy/pain8.wav b/build/sounds/enemy/pain8.wav new file mode 100644 index 0000000..4a88a49 Binary files /dev/null and b/build/sounds/enemy/pain8.wav differ diff --git a/build/sounds/enemy/pain9.wav b/build/sounds/enemy/pain9.wav new file mode 100644 index 0000000..da016ce Binary files /dev/null and b/build/sounds/enemy/pain9.wav differ diff --git a/build/sounds/enemy/voice1.wav b/build/sounds/enemy/voice1.wav new file mode 100644 index 0000000..b06da91 Binary files /dev/null and b/build/sounds/enemy/voice1.wav differ diff --git a/build/sounds/enemy/voice10.wav b/build/sounds/enemy/voice10.wav new file mode 100644 index 0000000..e63012b Binary files /dev/null and b/build/sounds/enemy/voice10.wav differ diff --git a/build/sounds/enemy/voice11.wav b/build/sounds/enemy/voice11.wav new file mode 100644 index 0000000..a21e9a6 Binary files /dev/null and b/build/sounds/enemy/voice11.wav differ diff --git a/build/sounds/enemy/voice12.wav b/build/sounds/enemy/voice12.wav new file mode 100644 index 0000000..3edfec0 Binary files /dev/null and b/build/sounds/enemy/voice12.wav differ diff --git a/build/sounds/enemy/voice13.wav b/build/sounds/enemy/voice13.wav new file mode 100644 index 0000000..addeada Binary files /dev/null and b/build/sounds/enemy/voice13.wav differ diff --git a/build/sounds/enemy/voice14.wav b/build/sounds/enemy/voice14.wav new file mode 100644 index 0000000..9b4245d Binary files /dev/null and b/build/sounds/enemy/voice14.wav differ diff --git a/build/sounds/enemy/voice15.wav b/build/sounds/enemy/voice15.wav new file mode 100644 index 0000000..c09d70a Binary files /dev/null and b/build/sounds/enemy/voice15.wav differ diff --git a/build/sounds/enemy/voice16.wav b/build/sounds/enemy/voice16.wav new file mode 100644 index 0000000..bc557f8 Binary files /dev/null and b/build/sounds/enemy/voice16.wav differ diff --git a/build/sounds/enemy/voice17.wav b/build/sounds/enemy/voice17.wav new file mode 100644 index 0000000..8f66828 Binary files /dev/null and b/build/sounds/enemy/voice17.wav differ diff --git a/build/sounds/enemy/voice18.wav b/build/sounds/enemy/voice18.wav new file mode 100644 index 0000000..9f590ea Binary files /dev/null and b/build/sounds/enemy/voice18.wav differ diff --git a/build/sounds/enemy/voice19.wav b/build/sounds/enemy/voice19.wav new file mode 100644 index 0000000..c895859 Binary files /dev/null and b/build/sounds/enemy/voice19.wav differ diff --git a/build/sounds/enemy/voice2.wav b/build/sounds/enemy/voice2.wav new file mode 100644 index 0000000..47ab662 Binary files /dev/null and b/build/sounds/enemy/voice2.wav differ diff --git a/build/sounds/enemy/voice20.wav b/build/sounds/enemy/voice20.wav new file mode 100644 index 0000000..97c3100 Binary files /dev/null and b/build/sounds/enemy/voice20.wav differ diff --git a/build/sounds/enemy/voice21.wav b/build/sounds/enemy/voice21.wav new file mode 100644 index 0000000..006e50b Binary files /dev/null and b/build/sounds/enemy/voice21.wav differ diff --git a/build/sounds/enemy/voice3.wav b/build/sounds/enemy/voice3.wav new file mode 100644 index 0000000..ea486c1 Binary files /dev/null and b/build/sounds/enemy/voice3.wav differ diff --git a/build/sounds/enemy/voice4.wav b/build/sounds/enemy/voice4.wav new file mode 100644 index 0000000..cf56b5a Binary files /dev/null and b/build/sounds/enemy/voice4.wav differ diff --git a/build/sounds/enemy/voice5.wav b/build/sounds/enemy/voice5.wav new file mode 100644 index 0000000..26910f3 Binary files /dev/null and b/build/sounds/enemy/voice5.wav differ diff --git a/build/sounds/enemy/voice6.wav b/build/sounds/enemy/voice6.wav new file mode 100644 index 0000000..03bc7d4 Binary files /dev/null and b/build/sounds/enemy/voice6.wav differ diff --git a/build/sounds/enemy/voice7.wav b/build/sounds/enemy/voice7.wav new file mode 100644 index 0000000..2794e1b Binary files /dev/null and b/build/sounds/enemy/voice7.wav differ diff --git a/build/sounds/enemy/voice8.wav b/build/sounds/enemy/voice8.wav new file mode 100644 index 0000000..803042f Binary files /dev/null and b/build/sounds/enemy/voice8.wav differ diff --git a/build/sounds/enemy/voice9.wav b/build/sounds/enemy/voice9.wav new file mode 100644 index 0000000..1617a73 Binary files /dev/null and b/build/sounds/enemy/voice9.wav differ diff --git a/build/sounds/enemy/weapon/1/1.ogg b/build/sounds/enemy/weapon/1/1.ogg new file mode 100644 index 0000000..01cd826 Binary files /dev/null and b/build/sounds/enemy/weapon/1/1.ogg differ diff --git a/build/sounds/enemy/weapon/1/2.ogg b/build/sounds/enemy/weapon/1/2.ogg new file mode 100644 index 0000000..1182e68 Binary files /dev/null and b/build/sounds/enemy/weapon/1/2.ogg differ diff --git a/build/sounds/enemy/weapon/1/3.ogg b/build/sounds/enemy/weapon/1/3.ogg new file mode 100644 index 0000000..591451e Binary files /dev/null and b/build/sounds/enemy/weapon/1/3.ogg differ diff --git a/build/sounds/enemy/weapon/1/4.ogg b/build/sounds/enemy/weapon/1/4.ogg new file mode 100644 index 0000000..b3145d5 Binary files /dev/null and b/build/sounds/enemy/weapon/1/4.ogg differ diff --git a/build/sounds/enemy/weapon/2/1.ogg b/build/sounds/enemy/weapon/2/1.ogg new file mode 100644 index 0000000..a531dc9 Binary files /dev/null and b/build/sounds/enemy/weapon/2/1.ogg differ diff --git a/build/sounds/enemy/weapon/2/2.ogg b/build/sounds/enemy/weapon/2/2.ogg new file mode 100644 index 0000000..d820265 Binary files /dev/null and b/build/sounds/enemy/weapon/2/2.ogg differ diff --git a/build/sounds/enemy/weapon/2/3.ogg b/build/sounds/enemy/weapon/2/3.ogg new file mode 100644 index 0000000..01abd3e Binary files /dev/null and b/build/sounds/enemy/weapon/2/3.ogg differ diff --git a/build/sounds/enemy/weapon/3/1.ogg b/build/sounds/enemy/weapon/3/1.ogg new file mode 100644 index 0000000..023dc0b Binary files /dev/null and b/build/sounds/enemy/weapon/3/1.ogg differ diff --git a/build/sounds/enemy/weapon/3/2.ogg b/build/sounds/enemy/weapon/3/2.ogg new file mode 100644 index 0000000..e972db8 Binary files /dev/null and b/build/sounds/enemy/weapon/3/2.ogg differ diff --git a/build/sounds/enemy/weapon/3/3.ogg b/build/sounds/enemy/weapon/3/3.ogg new file mode 100644 index 0000000..ff270c0 Binary files /dev/null and b/build/sounds/enemy/weapon/3/3.ogg differ diff --git a/build/sounds/enemy/weapon/3/4.ogg b/build/sounds/enemy/weapon/3/4.ogg new file mode 100644 index 0000000..c9d4771 Binary files /dev/null and b/build/sounds/enemy/weapon/3/4.ogg differ diff --git a/build/sounds/enemy/weapon/4/1.ogg b/build/sounds/enemy/weapon/4/1.ogg new file mode 100644 index 0000000..f02375e Binary files /dev/null and b/build/sounds/enemy/weapon/4/1.ogg differ diff --git a/build/sounds/enemy/weapon/4/2.ogg b/build/sounds/enemy/weapon/4/2.ogg new file mode 100644 index 0000000..b23699c Binary files /dev/null and b/build/sounds/enemy/weapon/4/2.ogg differ diff --git a/build/sounds/enemystep/lvl1/1.wav b/build/sounds/enemystep/lvl1/1.wav new file mode 100644 index 0000000..559b774 Binary files /dev/null and b/build/sounds/enemystep/lvl1/1.wav differ diff --git a/build/sounds/enemystep/lvl1/2.wav b/build/sounds/enemystep/lvl1/2.wav new file mode 100644 index 0000000..a8a4140 Binary files /dev/null and b/build/sounds/enemystep/lvl1/2.wav differ diff --git a/build/sounds/enemystep/lvl1/3.wav b/build/sounds/enemystep/lvl1/3.wav new file mode 100644 index 0000000..2612b1a Binary files /dev/null and b/build/sounds/enemystep/lvl1/3.wav differ diff --git a/build/sounds/enemystep/lvl11/1.wav b/build/sounds/enemystep/lvl11/1.wav new file mode 100644 index 0000000..f54f6b2 Binary files /dev/null and b/build/sounds/enemystep/lvl11/1.wav differ diff --git a/build/sounds/enemystep/lvl11/2.wav b/build/sounds/enemystep/lvl11/2.wav new file mode 100644 index 0000000..ec89903 Binary files /dev/null and b/build/sounds/enemystep/lvl11/2.wav differ diff --git a/build/sounds/enemystep/lvl11/3.wav b/build/sounds/enemystep/lvl11/3.wav new file mode 100644 index 0000000..2a4ca62 Binary files /dev/null and b/build/sounds/enemystep/lvl11/3.wav differ diff --git a/build/sounds/enemystep/lvl12/1.wav b/build/sounds/enemystep/lvl12/1.wav new file mode 100644 index 0000000..2d27ed8 Binary files /dev/null and b/build/sounds/enemystep/lvl12/1.wav differ diff --git a/build/sounds/enemystep/lvl12/2.wav b/build/sounds/enemystep/lvl12/2.wav new file mode 100644 index 0000000..94644f7 Binary files /dev/null and b/build/sounds/enemystep/lvl12/2.wav differ diff --git a/build/sounds/enemystep/lvl12/3.wav b/build/sounds/enemystep/lvl12/3.wav new file mode 100644 index 0000000..ba709ea Binary files /dev/null and b/build/sounds/enemystep/lvl12/3.wav differ diff --git a/build/sounds/enemystep/lvl13/1.wav b/build/sounds/enemystep/lvl13/1.wav new file mode 100644 index 0000000..b23540a Binary files /dev/null and b/build/sounds/enemystep/lvl13/1.wav differ diff --git a/build/sounds/enemystep/lvl13/2.wav b/build/sounds/enemystep/lvl13/2.wav new file mode 100644 index 0000000..9b56e04 Binary files /dev/null and b/build/sounds/enemystep/lvl13/2.wav differ diff --git a/build/sounds/enemystep/lvl13/3.wav b/build/sounds/enemystep/lvl13/3.wav new file mode 100644 index 0000000..f0a7d18 Binary files /dev/null and b/build/sounds/enemystep/lvl13/3.wav differ diff --git a/build/sounds/enemystep/lvl2/1.wav b/build/sounds/enemystep/lvl2/1.wav new file mode 100644 index 0000000..55e7098 Binary files /dev/null and b/build/sounds/enemystep/lvl2/1.wav differ diff --git a/build/sounds/enemystep/lvl2/2.wav b/build/sounds/enemystep/lvl2/2.wav new file mode 100644 index 0000000..89121ec Binary files /dev/null and b/build/sounds/enemystep/lvl2/2.wav differ diff --git a/build/sounds/enemystep/lvl2/3.wav b/build/sounds/enemystep/lvl2/3.wav new file mode 100644 index 0000000..9911e68 Binary files /dev/null and b/build/sounds/enemystep/lvl2/3.wav differ diff --git a/build/sounds/enemystep/lvl3/1.wav b/build/sounds/enemystep/lvl3/1.wav new file mode 100644 index 0000000..c967388 Binary files /dev/null and b/build/sounds/enemystep/lvl3/1.wav differ diff --git a/build/sounds/enemystep/lvl3/2.wav b/build/sounds/enemystep/lvl3/2.wav new file mode 100644 index 0000000..a5538ee Binary files /dev/null and b/build/sounds/enemystep/lvl3/2.wav differ diff --git a/build/sounds/enemystep/lvl3/3.wav b/build/sounds/enemystep/lvl3/3.wav new file mode 100644 index 0000000..f9e47ed Binary files /dev/null and b/build/sounds/enemystep/lvl3/3.wav differ diff --git a/build/sounds/enemystep/lvl4/1.wav b/build/sounds/enemystep/lvl4/1.wav new file mode 100644 index 0000000..a50cfea Binary files /dev/null and b/build/sounds/enemystep/lvl4/1.wav differ diff --git a/build/sounds/enemystep/lvl4/2.wav b/build/sounds/enemystep/lvl4/2.wav new file mode 100644 index 0000000..3e97be0 Binary files /dev/null and b/build/sounds/enemystep/lvl4/2.wav differ diff --git a/build/sounds/enemystep/lvl4/3.wav b/build/sounds/enemystep/lvl4/3.wav new file mode 100644 index 0000000..127d4bd Binary files /dev/null and b/build/sounds/enemystep/lvl4/3.wav differ diff --git a/build/sounds/enemystep/lvl6/1.wav b/build/sounds/enemystep/lvl6/1.wav new file mode 100644 index 0000000..8b09fa6 Binary files /dev/null and b/build/sounds/enemystep/lvl6/1.wav differ diff --git a/build/sounds/enemystep/lvl6/2.wav b/build/sounds/enemystep/lvl6/2.wav new file mode 100644 index 0000000..d45c410 Binary files /dev/null and b/build/sounds/enemystep/lvl6/2.wav differ diff --git a/build/sounds/enemystep/lvl6/3.wav b/build/sounds/enemystep/lvl6/3.wav new file mode 100644 index 0000000..384d582 Binary files /dev/null and b/build/sounds/enemystep/lvl6/3.wav differ diff --git a/build/sounds/enemystep/lvl7/1.wav b/build/sounds/enemystep/lvl7/1.wav new file mode 100644 index 0000000..4f145a9 Binary files /dev/null and b/build/sounds/enemystep/lvl7/1.wav differ diff --git a/build/sounds/enemystep/lvl7/2.wav b/build/sounds/enemystep/lvl7/2.wav new file mode 100644 index 0000000..e2e6310 Binary files /dev/null and b/build/sounds/enemystep/lvl7/2.wav differ diff --git a/build/sounds/enemystep/lvl7/3.wav b/build/sounds/enemystep/lvl7/3.wav new file mode 100644 index 0000000..17b24e8 Binary files /dev/null and b/build/sounds/enemystep/lvl7/3.wav differ diff --git a/build/sounds/enemystep/lvl8/1.wav b/build/sounds/enemystep/lvl8/1.wav new file mode 100644 index 0000000..f0920ea Binary files /dev/null and b/build/sounds/enemystep/lvl8/1.wav differ diff --git a/build/sounds/enemystep/lvl8/2.wav b/build/sounds/enemystep/lvl8/2.wav new file mode 100644 index 0000000..814f563 Binary files /dev/null and b/build/sounds/enemystep/lvl8/2.wav differ diff --git a/build/sounds/enemystep/lvl8/3.wav b/build/sounds/enemystep/lvl8/3.wav new file mode 100644 index 0000000..ee608f3 Binary files /dev/null and b/build/sounds/enemystep/lvl8/3.wav differ diff --git a/build/sounds/enemystep/lvl9/1.wav b/build/sounds/enemystep/lvl9/1.wav new file mode 100644 index 0000000..1402302 Binary files /dev/null and b/build/sounds/enemystep/lvl9/1.wav differ diff --git a/build/sounds/enemystep/lvl9/2.wav b/build/sounds/enemystep/lvl9/2.wav new file mode 100644 index 0000000..a7cbcb3 Binary files /dev/null and b/build/sounds/enemystep/lvl9/2.wav differ diff --git a/build/sounds/enemystep/lvl9/3.wav b/build/sounds/enemystep/lvl9/3.wav new file mode 100644 index 0000000..3fae081 Binary files /dev/null and b/build/sounds/enemystep/lvl9/3.wav differ diff --git a/build/sounds/enemytrap.WAV b/build/sounds/enemytrap.WAV new file mode 100644 index 0000000..3ff3e6e Binary files /dev/null and b/build/sounds/enemytrap.WAV differ diff --git a/build/sounds/evadeGet.wav b/build/sounds/evadeGet.wav new file mode 100644 index 0000000..5f0e0d0 Binary files /dev/null and b/build/sounds/evadeGet.wav differ diff --git a/build/sounds/fake.wav b/build/sounds/fake.wav new file mode 100644 index 0000000..e0dff30 Binary files /dev/null and b/build/sounds/fake.wav differ diff --git a/build/sounds/fireBall.wav b/build/sounds/fireBall.wav new file mode 100644 index 0000000..f3c5a11 Binary files /dev/null and b/build/sounds/fireBall.wav differ diff --git a/build/sounds/firehit.wav b/build/sounds/firehit.wav new file mode 100644 index 0000000..14822e6 Binary files /dev/null and b/build/sounds/firehit.wav differ diff --git a/build/sounds/grabarmor.ogg b/build/sounds/grabarmor.ogg new file mode 100644 index 0000000..c4be2bf Binary files /dev/null and b/build/sounds/grabarmor.ogg differ diff --git a/build/sounds/gun.wav b/build/sounds/gun.wav new file mode 100644 index 0000000..c0467b3 Binary files /dev/null and b/build/sounds/gun.wav differ diff --git a/build/sounds/health0conv.ogg b/build/sounds/health0conv.ogg new file mode 100644 index 0000000..6d0f3a6 Binary files /dev/null and b/build/sounds/health0conv.ogg differ diff --git a/build/sounds/hit.wav b/build/sounds/hit.wav new file mode 100644 index 0000000..e5d0238 Binary files /dev/null and b/build/sounds/hit.wav differ diff --git a/build/sounds/idead.wav b/build/sounds/idead.wav new file mode 100644 index 0000000..a411422 Binary files /dev/null and b/build/sounds/idead.wav differ diff --git a/build/sounds/intro.ogg b/build/sounds/intro.ogg new file mode 100644 index 0000000..e68eeb6 Binary files /dev/null and b/build/sounds/intro.ogg differ diff --git a/build/sounds/introSeq.ogg b/build/sounds/introSeq.ogg new file mode 100644 index 0000000..abc5e28 Binary files /dev/null and b/build/sounds/introSeq.ogg differ diff --git a/build/sounds/item.wav b/build/sounds/item.wav new file mode 100644 index 0000000..0f890b2 Binary files /dev/null and b/build/sounds/item.wav differ diff --git a/build/sounds/jump.wav b/build/sounds/jump.wav new file mode 100644 index 0000000..bd19ae3 Binary files /dev/null and b/build/sounds/jump.wav differ diff --git a/build/sounds/lifeloss/1.ogg b/build/sounds/lifeloss/1.ogg new file mode 100644 index 0000000..a06c877 Binary files /dev/null and b/build/sounds/lifeloss/1.ogg differ diff --git a/build/sounds/lifeloss/10.ogg b/build/sounds/lifeloss/10.ogg new file mode 100644 index 0000000..722d645 Binary files /dev/null and b/build/sounds/lifeloss/10.ogg differ diff --git a/build/sounds/lifeloss/11.ogg b/build/sounds/lifeloss/11.ogg new file mode 100644 index 0000000..35453b3 Binary files /dev/null and b/build/sounds/lifeloss/11.ogg differ diff --git a/build/sounds/lifeloss/12.ogg b/build/sounds/lifeloss/12.ogg new file mode 100644 index 0000000..adf0457 Binary files /dev/null and b/build/sounds/lifeloss/12.ogg differ diff --git a/build/sounds/lifeloss/13.ogg b/build/sounds/lifeloss/13.ogg new file mode 100644 index 0000000..833c2f0 Binary files /dev/null and b/build/sounds/lifeloss/13.ogg differ diff --git a/build/sounds/lifeloss/14.ogg b/build/sounds/lifeloss/14.ogg new file mode 100644 index 0000000..ec64363 Binary files /dev/null and b/build/sounds/lifeloss/14.ogg differ diff --git a/build/sounds/lifeloss/15.ogg b/build/sounds/lifeloss/15.ogg new file mode 100644 index 0000000..8e32838 Binary files /dev/null and b/build/sounds/lifeloss/15.ogg differ diff --git a/build/sounds/lifeloss/16.ogg b/build/sounds/lifeloss/16.ogg new file mode 100644 index 0000000..4645738 Binary files /dev/null and b/build/sounds/lifeloss/16.ogg differ diff --git a/build/sounds/lifeloss/17.ogg b/build/sounds/lifeloss/17.ogg new file mode 100644 index 0000000..975bbc6 Binary files /dev/null and b/build/sounds/lifeloss/17.ogg differ diff --git a/build/sounds/lifeloss/18.ogg b/build/sounds/lifeloss/18.ogg new file mode 100644 index 0000000..e671cde Binary files /dev/null and b/build/sounds/lifeloss/18.ogg differ diff --git a/build/sounds/lifeloss/19.ogg b/build/sounds/lifeloss/19.ogg new file mode 100644 index 0000000..532960e Binary files /dev/null and b/build/sounds/lifeloss/19.ogg differ diff --git a/build/sounds/lifeloss/2.ogg b/build/sounds/lifeloss/2.ogg new file mode 100644 index 0000000..6f04729 Binary files /dev/null and b/build/sounds/lifeloss/2.ogg differ diff --git a/build/sounds/lifeloss/20.ogg b/build/sounds/lifeloss/20.ogg new file mode 100644 index 0000000..d1e7401 Binary files /dev/null and b/build/sounds/lifeloss/20.ogg differ diff --git a/build/sounds/lifeloss/21.ogg b/build/sounds/lifeloss/21.ogg new file mode 100644 index 0000000..40999c0 Binary files /dev/null and b/build/sounds/lifeloss/21.ogg differ diff --git a/build/sounds/lifeloss/22.ogg b/build/sounds/lifeloss/22.ogg new file mode 100644 index 0000000..2b978c4 Binary files /dev/null and b/build/sounds/lifeloss/22.ogg differ diff --git a/build/sounds/lifeloss/23.ogg b/build/sounds/lifeloss/23.ogg new file mode 100644 index 0000000..85f173d Binary files /dev/null and b/build/sounds/lifeloss/23.ogg differ diff --git a/build/sounds/lifeloss/24.ogg b/build/sounds/lifeloss/24.ogg new file mode 100644 index 0000000..7f5659d Binary files /dev/null and b/build/sounds/lifeloss/24.ogg differ diff --git a/build/sounds/lifeloss/25.ogg b/build/sounds/lifeloss/25.ogg new file mode 100644 index 0000000..0f9a8ea Binary files /dev/null and b/build/sounds/lifeloss/25.ogg differ diff --git a/build/sounds/lifeloss/26.ogg b/build/sounds/lifeloss/26.ogg new file mode 100644 index 0000000..a8a2a9f Binary files /dev/null and b/build/sounds/lifeloss/26.ogg differ diff --git a/build/sounds/lifeloss/27.ogg b/build/sounds/lifeloss/27.ogg new file mode 100644 index 0000000..94c6e9a Binary files /dev/null and b/build/sounds/lifeloss/27.ogg differ diff --git a/build/sounds/lifeloss/28.ogg b/build/sounds/lifeloss/28.ogg new file mode 100644 index 0000000..8b5c22e Binary files /dev/null and b/build/sounds/lifeloss/28.ogg differ diff --git a/build/sounds/lifeloss/3.ogg b/build/sounds/lifeloss/3.ogg new file mode 100644 index 0000000..e1794e7 Binary files /dev/null and b/build/sounds/lifeloss/3.ogg differ diff --git a/build/sounds/lifeloss/4.ogg b/build/sounds/lifeloss/4.ogg new file mode 100644 index 0000000..34b7c93 Binary files /dev/null and b/build/sounds/lifeloss/4.ogg differ diff --git a/build/sounds/lifeloss/5.ogg b/build/sounds/lifeloss/5.ogg new file mode 100644 index 0000000..a2a965f Binary files /dev/null and b/build/sounds/lifeloss/5.ogg differ diff --git a/build/sounds/lifeloss/6.ogg b/build/sounds/lifeloss/6.ogg new file mode 100644 index 0000000..cfef5be Binary files /dev/null and b/build/sounds/lifeloss/6.ogg differ diff --git a/build/sounds/lifeloss/7.ogg b/build/sounds/lifeloss/7.ogg new file mode 100644 index 0000000..4c92b09 Binary files /dev/null and b/build/sounds/lifeloss/7.ogg differ diff --git a/build/sounds/lifeloss/8.ogg b/build/sounds/lifeloss/8.ogg new file mode 100644 index 0000000..9266c2d Binary files /dev/null and b/build/sounds/lifeloss/8.ogg differ diff --git a/build/sounds/lifeloss/9.ogg b/build/sounds/lifeloss/9.ogg new file mode 100644 index 0000000..a717137 Binary files /dev/null and b/build/sounds/lifeloss/9.ogg differ diff --git a/build/sounds/macgun.wav b/build/sounds/macgun.wav new file mode 100644 index 0000000..2be5eea Binary files /dev/null and b/build/sounds/macgun.wav differ diff --git a/build/sounds/menuclick.wav b/build/sounds/menuclick.wav new file mode 100644 index 0000000..b04fe31 Binary files /dev/null and b/build/sounds/menuclick.wav differ diff --git a/build/sounds/menuenter.wav b/build/sounds/menuenter.wav new file mode 100644 index 0000000..526848a Binary files /dev/null and b/build/sounds/menuenter.wav differ diff --git a/build/sounds/menumusic.ogg b/build/sounds/menumusic.ogg new file mode 100644 index 0000000..34c9830 Binary files /dev/null and b/build/sounds/menumusic.ogg differ diff --git a/build/sounds/money1.wav b/build/sounds/money1.wav new file mode 100644 index 0000000..ba1bb35 Binary files /dev/null and b/build/sounds/money1.wav differ diff --git a/build/sounds/money2.wav b/build/sounds/money2.wav new file mode 100644 index 0000000..85190d2 Binary files /dev/null and b/build/sounds/money2.wav differ diff --git a/build/sounds/moto1.wav b/build/sounds/moto1.wav new file mode 100644 index 0000000..ac273b1 Binary files /dev/null and b/build/sounds/moto1.wav differ diff --git a/build/sounds/moto2.wav b/build/sounds/moto2.wav new file mode 100644 index 0000000..abebc81 Binary files /dev/null and b/build/sounds/moto2.wav differ diff --git a/build/sounds/motocrash.wav b/build/sounds/motocrash.wav new file mode 100644 index 0000000..05cf2ee Binary files /dev/null and b/build/sounds/motocrash.wav differ diff --git a/build/sounds/music1.ogg b/build/sounds/music1.ogg new file mode 100644 index 0000000..8104590 Binary files /dev/null and b/build/sounds/music1.ogg differ diff --git a/build/sounds/music2.ogg b/build/sounds/music2.ogg new file mode 100644 index 0000000..68e75e9 Binary files /dev/null and b/build/sounds/music2.ogg differ diff --git a/build/sounds/music3.ogg b/build/sounds/music3.ogg new file mode 100644 index 0000000..0cb2066 Binary files /dev/null and b/build/sounds/music3.ogg differ diff --git a/build/sounds/music4.ogg b/build/sounds/music4.ogg new file mode 100644 index 0000000..09ea52d Binary files /dev/null and b/build/sounds/music4.ogg differ diff --git a/build/sounds/music5.ogg b/build/sounds/music5.ogg new file mode 100644 index 0000000..8d07a8f Binary files /dev/null and b/build/sounds/music5.ogg differ diff --git a/build/sounds/music6.ogg b/build/sounds/music6.ogg new file mode 100644 index 0000000..53edaff Binary files /dev/null and b/build/sounds/music6.ogg differ diff --git a/build/sounds/newlevel.wav b/build/sounds/newlevel.wav new file mode 100644 index 0000000..7acbe55 Binary files /dev/null and b/build/sounds/newlevel.wav differ diff --git a/build/sounds/oopsy.wav b/build/sounds/oopsy.wav new file mode 100644 index 0000000..3f5db10 Binary files /dev/null and b/build/sounds/oopsy.wav differ diff --git a/build/sounds/pausing.wav b/build/sounds/pausing.wav new file mode 100644 index 0000000..516b5a3 Binary files /dev/null and b/build/sounds/pausing.wav differ diff --git a/build/sounds/pit.wav b/build/sounds/pit.wav new file mode 100644 index 0000000..6a40718 Binary files /dev/null and b/build/sounds/pit.wav differ diff --git a/build/sounds/pitdie.ogg b/build/sounds/pitdie.ogg new file mode 100644 index 0000000..e4966d6 Binary files /dev/null and b/build/sounds/pitdie.ogg differ diff --git a/build/sounds/pitdie.z b/build/sounds/pitdie.z new file mode 100644 index 0000000..e4966d6 Binary files /dev/null and b/build/sounds/pitdie.z differ diff --git a/build/sounds/pitdieconv.ogg b/build/sounds/pitdieconv.ogg new file mode 100644 index 0000000..cb7389d Binary files /dev/null and b/build/sounds/pitdieconv.ogg differ diff --git a/build/sounds/police/fire.wav b/build/sounds/police/fire.wav new file mode 100644 index 0000000..b0691b0 Binary files /dev/null and b/build/sounds/police/fire.wav differ diff --git a/build/sounds/police/policeshot.wav b/build/sounds/police/policeshot.wav new file mode 100644 index 0000000..4e4e5de Binary files /dev/null and b/build/sounds/police/policeshot.wav differ diff --git a/build/sounds/police/voice1.wav b/build/sounds/police/voice1.wav new file mode 100644 index 0000000..8720121 Binary files /dev/null and b/build/sounds/police/voice1.wav differ diff --git a/build/sounds/police/voice2.wav b/build/sounds/police/voice2.wav new file mode 100644 index 0000000..11c24fb Binary files /dev/null and b/build/sounds/police/voice2.wav differ diff --git a/build/sounds/police/voice3.wav b/build/sounds/police/voice3.wav new file mode 100644 index 0000000..ea0ed40 Binary files /dev/null and b/build/sounds/police/voice3.wav differ diff --git a/build/sounds/police/voice4.wav b/build/sounds/police/voice4.wav new file mode 100644 index 0000000..5ad286d Binary files /dev/null and b/build/sounds/police/voice4.wav differ diff --git a/build/sounds/restore.wav b/build/sounds/restore.wav new file mode 100644 index 0000000..4bb2b28 Binary files /dev/null and b/build/sounds/restore.wav differ diff --git a/build/sounds/rock.wav b/build/sounds/rock.wav new file mode 100644 index 0000000..c9524ce Binary files /dev/null and b/build/sounds/rock.wav differ diff --git a/build/sounds/step/lvl1/1.wav b/build/sounds/step/lvl1/1.wav new file mode 100644 index 0000000..559b774 Binary files /dev/null and b/build/sounds/step/lvl1/1.wav differ diff --git a/build/sounds/step/lvl1/2.wav b/build/sounds/step/lvl1/2.wav new file mode 100644 index 0000000..a8a4140 Binary files /dev/null and b/build/sounds/step/lvl1/2.wav differ diff --git a/build/sounds/step/lvl1/3.wav b/build/sounds/step/lvl1/3.wav new file mode 100644 index 0000000..2612b1a Binary files /dev/null and b/build/sounds/step/lvl1/3.wav differ diff --git a/build/sounds/step/lvl1/4.wav b/build/sounds/step/lvl1/4.wav new file mode 100644 index 0000000..3a8cd3b Binary files /dev/null and b/build/sounds/step/lvl1/4.wav differ diff --git a/build/sounds/step/lvl1/5.wav b/build/sounds/step/lvl1/5.wav new file mode 100644 index 0000000..1a22a01 Binary files /dev/null and b/build/sounds/step/lvl1/5.wav differ diff --git a/build/sounds/step/lvl10/1.wav b/build/sounds/step/lvl10/1.wav new file mode 100644 index 0000000..dcfb3b5 Binary files /dev/null and b/build/sounds/step/lvl10/1.wav differ diff --git a/build/sounds/step/lvl11/1.wav b/build/sounds/step/lvl11/1.wav new file mode 100644 index 0000000..f54f6b2 Binary files /dev/null and b/build/sounds/step/lvl11/1.wav differ diff --git a/build/sounds/step/lvl11/2.wav b/build/sounds/step/lvl11/2.wav new file mode 100644 index 0000000..ec89903 Binary files /dev/null and b/build/sounds/step/lvl11/2.wav differ diff --git a/build/sounds/step/lvl11/3.wav b/build/sounds/step/lvl11/3.wav new file mode 100644 index 0000000..2a4ca62 Binary files /dev/null and b/build/sounds/step/lvl11/3.wav differ diff --git a/build/sounds/step/lvl12/1.ogg b/build/sounds/step/lvl12/1.ogg new file mode 100644 index 0000000..5d054b0 Binary files /dev/null and b/build/sounds/step/lvl12/1.ogg differ diff --git a/build/sounds/step/lvl12/10.ogg b/build/sounds/step/lvl12/10.ogg new file mode 100644 index 0000000..ba709ea Binary files /dev/null and b/build/sounds/step/lvl12/10.ogg differ diff --git a/build/sounds/step/lvl12/2.ogg b/build/sounds/step/lvl12/2.ogg new file mode 100644 index 0000000..b79a7ed Binary files /dev/null and b/build/sounds/step/lvl12/2.ogg differ diff --git a/build/sounds/step/lvl12/3.ogg b/build/sounds/step/lvl12/3.ogg new file mode 100644 index 0000000..e416eff Binary files /dev/null and b/build/sounds/step/lvl12/3.ogg differ diff --git a/build/sounds/step/lvl12/4.ogg b/build/sounds/step/lvl12/4.ogg new file mode 100644 index 0000000..87bdb1e Binary files /dev/null and b/build/sounds/step/lvl12/4.ogg differ diff --git a/build/sounds/step/lvl12/5.ogg b/build/sounds/step/lvl12/5.ogg new file mode 100644 index 0000000..43922ec Binary files /dev/null and b/build/sounds/step/lvl12/5.ogg differ diff --git a/build/sounds/step/lvl12/6.ogg b/build/sounds/step/lvl12/6.ogg new file mode 100644 index 0000000..a276c5e Binary files /dev/null and b/build/sounds/step/lvl12/6.ogg differ diff --git a/build/sounds/step/lvl12/7.ogg b/build/sounds/step/lvl12/7.ogg new file mode 100644 index 0000000..fcc7228 Binary files /dev/null and b/build/sounds/step/lvl12/7.ogg differ diff --git a/build/sounds/step/lvl12/8.ogg b/build/sounds/step/lvl12/8.ogg new file mode 100644 index 0000000..2d27ed8 Binary files /dev/null and b/build/sounds/step/lvl12/8.ogg differ diff --git a/build/sounds/step/lvl12/9.ogg b/build/sounds/step/lvl12/9.ogg new file mode 100644 index 0000000..94644f7 Binary files /dev/null and b/build/sounds/step/lvl12/9.ogg differ diff --git a/build/sounds/step/lvl13/1.wav b/build/sounds/step/lvl13/1.wav new file mode 100644 index 0000000..113b8fa Binary files /dev/null and b/build/sounds/step/lvl13/1.wav differ diff --git a/build/sounds/step/lvl13/2.wav b/build/sounds/step/lvl13/2.wav new file mode 100644 index 0000000..4c16e39 Binary files /dev/null and b/build/sounds/step/lvl13/2.wav differ diff --git a/build/sounds/step/lvl13/3.wav b/build/sounds/step/lvl13/3.wav new file mode 100644 index 0000000..6c2a578 Binary files /dev/null and b/build/sounds/step/lvl13/3.wav differ diff --git a/build/sounds/step/lvl2/1.wav b/build/sounds/step/lvl2/1.wav new file mode 100644 index 0000000..2bde0ea Binary files /dev/null and b/build/sounds/step/lvl2/1.wav differ diff --git a/build/sounds/step/lvl2/2.wav b/build/sounds/step/lvl2/2.wav new file mode 100644 index 0000000..5eb189f Binary files /dev/null and b/build/sounds/step/lvl2/2.wav differ diff --git a/build/sounds/step/lvl2/3.wav b/build/sounds/step/lvl2/3.wav new file mode 100644 index 0000000..1c05ea8 Binary files /dev/null and b/build/sounds/step/lvl2/3.wav differ diff --git a/build/sounds/step/lvl3/1.wav b/build/sounds/step/lvl3/1.wav new file mode 100644 index 0000000..d3be708 Binary files /dev/null and b/build/sounds/step/lvl3/1.wav differ diff --git a/build/sounds/step/lvl3/2.wav b/build/sounds/step/lvl3/2.wav new file mode 100644 index 0000000..751b2e8 Binary files /dev/null and b/build/sounds/step/lvl3/2.wav differ diff --git a/build/sounds/step/lvl3/3.wav b/build/sounds/step/lvl3/3.wav new file mode 100644 index 0000000..6a06250 Binary files /dev/null and b/build/sounds/step/lvl3/3.wav differ diff --git a/build/sounds/step/lvl4/1.wav b/build/sounds/step/lvl4/1.wav new file mode 100644 index 0000000..a50cfea Binary files /dev/null and b/build/sounds/step/lvl4/1.wav differ diff --git a/build/sounds/step/lvl4/2.wav b/build/sounds/step/lvl4/2.wav new file mode 100644 index 0000000..3e97be0 Binary files /dev/null and b/build/sounds/step/lvl4/2.wav differ diff --git a/build/sounds/step/lvl4/3.wav b/build/sounds/step/lvl4/3.wav new file mode 100644 index 0000000..127d4bd Binary files /dev/null and b/build/sounds/step/lvl4/3.wav differ diff --git a/build/sounds/step/lvl5/1.wav b/build/sounds/step/lvl5/1.wav new file mode 100644 index 0000000..7c1c05a Binary files /dev/null and b/build/sounds/step/lvl5/1.wav differ diff --git a/build/sounds/step/lvl5/2.wav b/build/sounds/step/lvl5/2.wav new file mode 100644 index 0000000..7c1c05a Binary files /dev/null and b/build/sounds/step/lvl5/2.wav differ diff --git a/build/sounds/step/lvl5/3.wav b/build/sounds/step/lvl5/3.wav new file mode 100644 index 0000000..7c1c05a Binary files /dev/null and b/build/sounds/step/lvl5/3.wav differ diff --git a/build/sounds/step/lvl6/1.wav b/build/sounds/step/lvl6/1.wav new file mode 100644 index 0000000..8b09fa6 Binary files /dev/null and b/build/sounds/step/lvl6/1.wav differ diff --git a/build/sounds/step/lvl6/2.wav b/build/sounds/step/lvl6/2.wav new file mode 100644 index 0000000..d45c410 Binary files /dev/null and b/build/sounds/step/lvl6/2.wav differ diff --git a/build/sounds/step/lvl6/3.wav b/build/sounds/step/lvl6/3.wav new file mode 100644 index 0000000..384d582 Binary files /dev/null and b/build/sounds/step/lvl6/3.wav differ diff --git a/build/sounds/step/lvl7/1.wav b/build/sounds/step/lvl7/1.wav new file mode 100644 index 0000000..8d26a07 Binary files /dev/null and b/build/sounds/step/lvl7/1.wav differ diff --git a/build/sounds/step/lvl7/2.wav b/build/sounds/step/lvl7/2.wav new file mode 100644 index 0000000..dc98c86 Binary files /dev/null and b/build/sounds/step/lvl7/2.wav differ diff --git a/build/sounds/step/lvl7/3.wav b/build/sounds/step/lvl7/3.wav new file mode 100644 index 0000000..3de2c45 Binary files /dev/null and b/build/sounds/step/lvl7/3.wav differ diff --git a/build/sounds/step/lvl8/1.wav b/build/sounds/step/lvl8/1.wav new file mode 100644 index 0000000..f0920ea Binary files /dev/null and b/build/sounds/step/lvl8/1.wav differ diff --git a/build/sounds/step/lvl8/2.wav b/build/sounds/step/lvl8/2.wav new file mode 100644 index 0000000..814f563 Binary files /dev/null and b/build/sounds/step/lvl8/2.wav differ diff --git a/build/sounds/step/lvl8/3.wav b/build/sounds/step/lvl8/3.wav new file mode 100644 index 0000000..ee608f3 Binary files /dev/null and b/build/sounds/step/lvl8/3.wav differ diff --git a/build/sounds/step/lvl9/1.wav b/build/sounds/step/lvl9/1.wav new file mode 100644 index 0000000..1402302 Binary files /dev/null and b/build/sounds/step/lvl9/1.wav differ diff --git a/build/sounds/step/lvl9/2.wav b/build/sounds/step/lvl9/2.wav new file mode 100644 index 0000000..a7cbcb3 Binary files /dev/null and b/build/sounds/step/lvl9/2.wav differ diff --git a/build/sounds/step/lvl9/3.wav b/build/sounds/step/lvl9/3.wav new file mode 100644 index 0000000..3fae081 Binary files /dev/null and b/build/sounds/step/lvl9/3.wav differ diff --git a/build/sounds/storepotion.wav b/build/sounds/storepotion.wav new file mode 100644 index 0000000..e1eec79 Binary files /dev/null and b/build/sounds/storepotion.wav differ diff --git a/build/sounds/sword1.wav b/build/sounds/sword1.wav new file mode 100644 index 0000000..f13c743 Binary files /dev/null and b/build/sounds/sword1.wav differ diff --git a/build/sounds/sword2.wav b/build/sounds/sword2.wav new file mode 100644 index 0000000..7e94239 Binary files /dev/null and b/build/sounds/sword2.wav differ diff --git a/build/sounds/sword3.wav b/build/sounds/sword3.wav new file mode 100644 index 0000000..c465bb8 Binary files /dev/null and b/build/sounds/sword3.wav differ diff --git a/build/sounds/teleport.wav b/build/sounds/teleport.wav new file mode 100644 index 0000000..464d3f6 Binary files /dev/null and b/build/sounds/teleport.wav differ diff --git a/build/sounds/unduck.wav b/build/sounds/unduck.wav new file mode 100644 index 0000000..ae685d9 Binary files /dev/null and b/build/sounds/unduck.wav differ diff --git a/build/sounds/winthegame.ogg b/build/sounds/winthegame.ogg new file mode 100644 index 0000000..68d51ba Binary files /dev/null and b/build/sounds/winthegame.ogg differ diff --git a/build/user guide.txt b/build/user guide.txt new file mode 100644 index 0000000..59305f0 --- /dev/null +++ b/build/user guide.txt @@ -0,0 +1,185 @@ +Battle Zone readme + +the main Menu + +Use the arrow keys to move around in the main menu and the enter to select an option. Start game starts a new game (what else?) Load last saved game loads a saved game. Read instructions allows you to read this file from within the game. Change options brings you into the options menu, which has several options in it. Exit lets you get out of battle zone, and back into the boring old real world. + +Options menu +This menu contains 5 options in it: +change background music: allows you to select from some different music tracks, or select random music (the default). You can also turn the music off completely from here. +Select gender of enemies: It does exactly waht it says. Choose male, female, or both. +Select sword sound: This allows you to choose a different sword sound. +Keyboard mode: This allows you to toggle between desktop and laptop mode. +Toggle enemy attack taunt sounds: This toggles on or off whether enemies play an additional taunt when they hit you with their weapons. +Stop all sounds between levels: this is a toggle that does exactly what its name says. +Save options: This saves all the options so that when you reload the program, the options have all been configured to what they were when you saved them. This option will return you back to the main menu. + +Learn game sounds +During gameplay, Press f3 to get a menu of game sounds, and press enter to hear the sound. You can access this any time during the game. Use it if you don't know what the sound means. + +Difficulty levels +Before you really start the game, you'll be asked to choose your difficulty level. Choose from the levels provided, and play away! You should be able to notice the changes in the enemies and other stuff. + +Reality mode +Reality mode is similar to the survival mode on some games. You only start out with 1 life, and can't get any more by bonus items. However, you have more health, and twice the normal amount of ammo, and booby traps as you do in the normal game. This kind of simulates what it would be like in real life, as much as you can get it here, without the arcade-style luxury of extra lives to keep you going. + +How to play +After listening to or skipping the intro cut scene, you will begin playing in level 1. You move around with the left and right arrow keys. Hold down any of those arrow keys to move continuously in that direction. Press right shift to toggle your status from walking to running and back again + +Enemies +You will hear enemies come at you because they are saying something and making loud stepping noises. This is when you think about using a weapon. Press 1, 2, 3, or 4 to select sword , gun, booby traps, or machine gun, respectively, and press space to fire the weapon. If you are using the sword you must be very close to the enemy in order to hit it. It takes several hits of the sword to take out an enemy, but the sword can hit more than one enemy at once, if they are all in its range. The gun has a chance to miss enemies, but it can take enemies out with one shot. You have 25 ammo in your gun to start, and this can be raised if you get extra ammo. Hold down your spacebar while using the machine gun to fire a continuous stream of bullets both in front and behind you. It takes several bullets to kill an enemy. The drawback is that the machinegun uses the same ammo as your normal gun, and you only get 10 points for killing an enemy with it. + When an enemy attacks you he will take a little amount of your health away. You start out with 250 health (500 on reality mode); press h to check your current health. When your health drops below 80, you will hear a quiet coughing sound and your steps might slow down a little. Then, as your health drops even lower, your moving will slow down more and more, and your coughing willl get louder, until you reach 0, when you die. + +Moving Boulders +A special kind of enemy, the moving boulder, will begin to appear after level 2. Boulders roll along the ground toward you. You must jump past them as they roll so as not to be smashed by them. Boulders take off an amazingly large chunk of your health if you are smashed by them, and they will continue to smash at you until you jump out of the way. A player who hasn't gotten any potions and who hasn't gotten hurt by any of the normal enemies will only last two smashes by the boulders, so keep that in mind when you hear the boulder sound. And unlike blades, discussed next, there is no item that gives you impunity from boulders. Boulders can hurt normal enemies sometimes, but not often, because the enemies will jump past the boulders almost all of the time. Note: I have been known to try to jump the boulders, only to be cut by the blades, or fall into the pits. SO be very careful when you are around boulders. +oh, and boulders can't fall in the pits. They're too big. Sure, they tip dangerously over, but so what. They make it across, and they don't have the ability to jump. The kidnapper made quite sure of that; he's the one who brought you into this nightmare. + +Fireballs +These annoying insindiary nuisances begin appearing a few levels after the boss level. They are difficult to hear, because that is how fire can be if it is correctly made. And these fireballs have been tampered with to destroy any living matter at their altitude or higher. Unfortunately for you, the boss's hired helps aren't tall enough to be hurt by the spikes or these fireballs, so they are for you and you alone. When you hear one coming towards you, press your down arrow to duck. You will stay ducked until your back starts hurting and you just need to stand back up, which is about two seconds after you duck. Make sure you time it right. If you duck too late, you get some nice burns on your face, and if you duck too early you could stand up to find your hair in flames. While you are ducked, you can only fire the weapon you are using right now. You can't move, and if an item falls, you daren't come up to try and catch it for fear of some nasty burns. YOu also can't switch weapons. Fireballs take a good amount of your health away, about a third as much health as the boulders take. If you jump while you are ducked, 400 points will be deducted from your score as a penalty, but this can be used to jump over boulders and avoid the fireballs. + +Teleportation +Starting at level 6 enemies can appear out of nowhere. You will have a quick warning just before it happens, and then, you will need to fight all of them off. Have fun. + +Booby traps +If you select booby traps and press space to set one, a booby trap will be placed two positions to the right of your current position. Any enemy that walks over a booby trap is destroyed--along with the trap itself. This means that a trap will only destroy 1 enemy before it becomes useless. You start out with 5 booby traps and can get more by bonus items. Use these if you are facing a very annoying foe or he keeps dodgin your bullets, or if you don't have enough health or potions to use the sword. Be warned however: these can kill you if you step on them. Jump instead, and you will be okay. You can press B to hear how many booby traps you currently have. Note that boulders cannot be destroyed by booby traps. + +Bombs +These bombs will destroy 20 enemies on a level when you fire one. Unfortunately you can only buy them in the shop, and they cost a wallet lightening 10000 points each. Press 5 to switch to bombs--if you have them. Press space to fire. YOu will hear a bunch of enemies dying. Unfortunately for you, you probably didn't kill all of the enemies. If you have no more bombs left, you will automatically witch back to using your sword. Note: if you have no bombs, pressing 5 will do nothing. Press m to check how many bombs you have. You can't use bombs while items are falling or during the boss level of course. + +Police cars +Police cars are one of the most annoying things to deal with in the game. The police cars go on a patrol route: they have a small space in which they patrol and will go up and down the area, reversing direction when the boundary of the patrol is reached. +When you hear the tell-tale sirens getting closer to you, duck, or otherwise they could shoot you! They never miss. If you hear yourself grunt, then you know you got hit by their armor-piercing shells. You heard right--armor piercing shells ignore armor. Police cars can run you over (not implemented yet), so you may have to lose 400 points by humping while you are ducked so as to not get crushed by them. Armor piercing shells take off between 15 and 30 health, so don't let them shoot you! + +Hazards +pits. pits can be dangerous, especially when there are two pits side by side or very close to each other that you have to jump over. TO jump, press your up arrow key, and press the right arrow key as quickly as you can. You have one second to jump, and every time you press the right arrow key, you move one space to the right. The same holds true for jumping left, excpet that you use your left arrow key. If you fall down the pit, you lose a life. +Blades. Unlike pits, these come on and off periodically, but always at the same interval. Run past them to stay alive. Don't try jumping over them. The blades are low enough that if you go up into the air the blades will slice through your head even if they are off. You can use an evade blades item with e to allow the item to be cut up instead of you though, if you feel like there is no way to avoid the blades, or if you just don't feel like trying for some reason. Note that since the blades cut off the protection, the protection stays on only for the first blade that it touches. + +Items +Items will be heard periodically from your left, center or right. If you hear an item sound on the left, press the f1 key. If you hear it in the center press f6, and if on the right, f12. If you aren't fast enough, the item shatters to earth. These are the desktop keys. +The laptop keys are similar. If you hear an item on your left press the tab key. If you hear an item on your center, press y. If you hear it on your right, use the backslash key which is right above enter in most cases. +If you press the correct key you will be told what you gained. There are 7 item types as of now. +Potion: gives you a potion in reserve to use. Press p to use a potion. Potions can give you between 50 and 100 health back if you've been being toyed with by enemies. If you need to know how many potions you have press control+p. +Ammo: gives you extra ammo for your gun. You'll get 15 on Boring blast, 20 on medium, 25 on advanced, and 30 on I just wanna die now. +Extra points: Gives you, well, uh, extra points? You get 100 on Boring Blast, 125 on medium, 150 on advanced and 175 on I just wanna die now difficulty. +Evade blades: This will give you an inventory item of blades protection. If you use this, you will hear the evade blades sound, and if you are cut by a blade or jump over one while you are using it (press e to use it), the item will be cut up instead of you. However, this of course means that the item only works once before it is useless and falls off. +Extra booby traps: It gives you extra booby traps to blast away enemies. You get 3 on boring blast, 7 on medium, 11 on advanced, and 15 on I just wanna die now. +Armor: Armor can help absorb the damage that enemies do to you. Once you receive armor, your armor rating goes up. THis can really help you with the normal enemies and can also be an aid in fighting off the boss. Unfortunately, though the armor will protect you a tiny bit against boulders ... well ... unless you have a whooooole lot of it, you won't be too safe from those. And normally you can only have up to 22 armor on boring blast, 25 on medium, 27 on advanced or 30 armor on I just wanna die now. +Extra life: It gives you an extra life. This item isn't available in reality mode. +Fake item: It could've been something nice, but the boss decides that he doesn't like what you got, so he smashes it. + +Lives +You start the game with 3 lives (1 on reality mode). When an enemy kills you, you fall into a pit, you get cut by a blade, or you step on one of your own booby traps, you lose one of your lives. You will restart the level with full health. You can gain extra lives, if you are lucky, when an item falls. + +Levels +Every level you complete, you will be moved into the next level. Just before, you will hear how many time bonus points you got. You start with a base time bonus score of 300, plus 15 points times your current level. So if you were playing on level 4 you would have 360 time bonus points. Every second you lose 1 point. So if you ended level 4 in 60 seconds, your score would be 300, which is an awful good time bonus for that level. +Notice that your step sound and the level ambience changes as the new levels start. There are also more enemies and pits that you need to worry about. Currently there are 9 normal levels in the game plus 2 boss levels. + +The first boss +This boss is just like a normal enemy on steroids. The only weapon he is vulnerable to is your sword; he took your gun away and is using it to hurt you. To kill him, get in some cheap shots, then jump out of the way before he starts shooting. Enjoy! + +The second boss +The second boss is a lot harder than the first one. He's a pyromaniac, and, as a result, loves to throw fireballs at you. Your machinegun is the only weapon you can use in this level, and as a result, you are switched to it automatically when you start level 10. Note: the boss has tampered with your machine gun, so it fires a lot slower, but you don't want to fire quickly anyway. WHen you start, you are plopped onto a completely empty game board with you at position 0 and the boss at position 80. Every 10 or so seconds, the boss will yell "take this", and will throw a fireball from his position on the game screen. Your job is to run into range with your machinegun and shoot at the boss. Fireballs only move one way, to the left. As a result, the boss, knowing this, has set up a large electrical force shield that moves along with him, that stops you from going past him. If you run into the forcefield, you lose a life, and you have to start all over again from the beginning of the boss level. + Note also that holding down your down arrow key keeps you ducked for as long as the key is down, and you become unducked when you release the key. + When you shoot him, things will get harder. The boss will retreat pretty far away, bringing the forcefield with him. Run back into range, ducking fireballs as they come, and shoot him again. Note: the boss fires fireballs faster, and the fireballs he fires speeds up, as you take more of his health away. Have a good time, and don't get hurt by the fireballs. They take off 200 health, and if you lose all of your health from them, you will lose 3 lives instead of one. Have a fun time--and good luck! You can use your pageup and pagedown keys to adjust your background music. + +The shop +The shop is only available after you get to level 4. To open up the shop, press control+s. You will hear the shopkeeper saying some junk about welcome to the shop, and you can use your up and down arrow keys to navigate the shop menu to find something you might want to buy. The prices are also listed. The monetary value in battle zone is the player's points. Note that you cannot spend points that you are collecting during the level. You can only spend points that are safely stored from collecting in other levels. For instance, if you were playing in level 4, and you had 3000 total points, 500 of them being gained in level 4, you would be able to spend 2500 points. +After selecting some item you want to buy, the shopkeeper will ask you how many of the item you want. Press a number from 1 to 10 on your numbers row, 0 being 10 of the item. The shopkeeper will calculate how much it costs, and he will tell you. NOte: he's never wrong; he won't cheat you. If you like the price, press y to buy the items. If you don't press n. you will be returned to the game right where you left off, with a lighter wallet of points but a greater supply of whatever you bought. Note: you can't access the shop while an item is falling or during the boss level. + +Saving the game +To save the game, press alt+s, and just keep playing. A load game option is in the main menu, and you can use it to reload the game. For now, the level you have just played on is saved, and when you reload you will be started back at the beginning of the level. The layout is different though. Coming up will be much more precise saves which save all the enemies and hazards as they are. + +points system +The points system in the game works like this: +Enemy is killed with gun: 45 points on boring blast +54 on medium +63 on advanced +72 on i just wanna die +Enemy is killed with sword: 75 points on boring blast +90 on medium +105 on advanced +120 on i just wanna die now +Enemy is killed with booby trap: 50 points on boring blast +60 on medium +70 on advanced +80 on i just wanna die now +enemy is killed with machine gun: 10 points +Enemy is killed with bomb: 0 points (too easy to get points) +Enemy falls into pit or dies by being hit by rock/cyclist: 20 points +Catch an item: 50 points on boring blast +75 on medium +100 on advanced +120 on i just wanna die now +Extra points (from item): 100 points, not including the item catch bonus +Complete level: 200 points times the level you just finished (boring blast +240 points times the level on medium +280 times the level you finished on advanced +320 times the level you finished, on i just wanna die now. +Kill boss 1: 5000 points on boring blast +6000 on medium +7000 on advanced +8000 on I just wanna die now +Kill boss 2: 7000 points for all difficulties +Press pageUp and pageDown to change the background music volume. Either your number pad or your six pack will work. + +pausing/unpausing +Let's say that you have something else to do. Your mom is calling you to clean your room, the fire alarm is beeping furiously in your house, or perhaps your dog is just barking uproariously and you need to take his leash and run him out to the fence so it can annoy someone else for a while. In these times you don't want to gain a huge negative time bonus score, do you? +I didn't think so. If you press F8, you'll hear some nice quiet music playing, and you can do whatever, whether that be throwing shirts and pants haphazardly under your bed, turning off the annoying smoke detector (and maybe even taking out the batteries), or kicking the dog a few times before taking it out and giving it a sound lecture on what you had just been doing ("I was playing this game called Battle zone! And you were interrupting me! As punishment you will stay here! Forever!) and when you get back from those kinds of duties you'll find that you can press f8 and continue as if nothing happened. Everything pauses. Your time is saved. You can use any of the status keys in the pause mode, in case you need to check your inventory. + +Full command reference +This is a full command summary for the game. Be prepared. +Move right: right arrow key +Move left: left arrow key +Jump: up arrow, followed by the arrow key in which you want to jump, till you land. +Duck: down arrow key + Fire weapon: spacebar +Switch to sword: 1 +Switch to gun: 2 +Switch to booby traps: 3 +Switch to machine gun: 4 +Switch to bombs if you have them: 5 +Open up the shop: control+s +Use potion: p +Open up learn game sounds: f3 +Exit the game and return to the main menu: escape then y +Music up/down: page up and page down +background ambience up/down: home/end +Use evade blades item: e +Skip cut scenes: enter +Pause the game: f8 +Save the game: alt+s + +Status keys +The following keys can be used to check certain things about yourself in the game: +Ammo in your gun: A +Number of booby traps you have: B +Number of evade blades items you have: control+e +Health and armor: H +lives you have: l +Potions you have: control+p +Level score: s +Total score: T +Whether you are using an evade blades item: v + + +How to gain the cheats +If you gain over 20000 points in the game, when you finish the level, you'll get cheats! + +level names, for those of you who have quiet synthesizers: +level 1, getting out of the lab +level 2, scenes from city life +level 3, the water of death +level 4, street knowhow +level 5, boss 1 +level 6, forest excursions +level 7, rumbles in the dark +level 8, a winter wonderland ... full of enemies +level 9, the Vile river (the largest river on earth!) +level 10, boss 2 +level 11, Cave of violence +level 12: danger on the road +level 13: caught in the storm + +Autopilot +This feature is still in progress. In the autopilot mode, you can't do anything. BUt you can watch the computer player try to play a game of battle zone. To activate the autopilot, press left shift+right alt+space bar, in that order. You will lose control of the game until you press escape to turn this off. Just check it out; it's pretty cool. +Now, close this file, and check the game out! \ No newline at end of file diff --git a/autopilot.bgt b/data/autopilot.bgt similarity index 88% rename from autopilot.bgt rename to data/autopilot.bgt index 708e742..06e284e 100644 --- a/autopilot.bgt +++ b/data/autopilot.bgt @@ -5,8 +5,8 @@ bool usingblades; 0 = player is close to pit 1 = player can move normally 2 = player is within range of enemy -4 = player must use evade blade to jump pit and blade 3 = player is close to blades +4 = player must use evade blade to jump pit and blade 5 = player is near boulder */ timer useswordtimer; @@ -65,7 +65,7 @@ else enemy[x].drop.play(); } if(playerhealth<=0) { dieStopSounds(); -iamdead.play_wait(); +dlgplay("sounds/idead.wav", true, false); lives--; if(lives<=0) { sound diecomp; @@ -76,16 +76,17 @@ while(diecomp.playing) {if(key_pressed(KEY_SPACE)||key_pressed(KEY_RETURN)) {die menu(); } if(lives>0) { -voice.speak_interrupt_wait("you lost a life!"); -voice.speak_wait("level "+level); -levelDesc(); +dlgscroll.play();dlg(voice[53]); +dlgplay("sounds/lifeloss/"+random(1,find_files('sounds/lifeloss/*.*').length())+".ogg",true,false); +dlgscroll.play();dlg(voice[54]+level); +dlgscroll.play();levelDesc();dlgend.play(); playerhealth=250; playerposition=0; initAfterLevels(); } } if(playerhealth<=50) usepotion(); -if(key_pressed(KEY_H)) voice.speak_interrupt("Health: "+playerhealth+", armor: "+armor); +if(key_pressed(KEY_H)) speak(voice[49]+playerhealth +voice[50]+armor); if(key_pressed(KEY_ESCAPE)) { autopiloting=false; break; @@ -180,7 +181,7 @@ avoiding=false; } if(playerposition==blades[x].position&&!usingblades) { dieStopSounds(); -dieblades.play_wait(); +dlgplay("sounds/dieknife.ogg", true, false); lives--; if(lives<=0) { @@ -194,9 +195,10 @@ if(key_pressed(KEY_SPACE)||key_pressed(KEY_RETURN)) conv.stop(); menu(); } if(lives>0) { -voice.speak_interrupt_wait("you lost a life!"); -voice.speak_wait("level "+level); -levelDesc(); +dlgscroll.play();dlg(voice[53]); +dlgplay("sounds/lifeloss/"+random(1,find_files('sounds/lifeloss/*.*').length())+".ogg",true,false); +dlgscroll.play();dlg(voice[54]+level); +dlgscroll.play();levelDesc();dlgend.play(); playerhealth=250; playerposition=0; initAfterLevels(); diff --git a/bossfights.bgt b/data/bossfights.bgt similarity index 91% rename from bossfights.bgt rename to data/bossfights.bgt index 027e81e..ae48ff2 100644 --- a/bossfights.bgt +++ b/data/bossfights.bgt @@ -76,8 +76,8 @@ if(key_down(KEY_LCONTROL)&&key_pressed(KEY_F9)) { music.stop(); level++;initAfterLevels();} if(level==11) {keys();break;} -if(key_pressed(KEY_H)) voice.speak_interrupt("health: "+playerhealth); -if(key_pressed(KEY_A)) voice.speak_interrupt("ammo: "+ammo); +if(key_pressed(KEY_H)) speak(voice[49]+playerhealth +voice[50]+armor); +if(key_pressed(KEY_A)) speak(ammo+voice[51]); if(playerhealth<=0) { for(uint x=0; x0) { -voice.speak_interrupt_wait("you lost a life!"); -voice.speak_wait("level "+level); -levelDesc(); +dlgscroll.play();dlg(voice[53]); +dlgplay("sounds/lifeloss/"+random(1,find_files('sounds/lifeloss/*.*').length())+".ogg",true,false); +dlgscroll.play();dlg(voice[54]+level); +dlgscroll.play();levelDesc();dlgend.play(); playerhealth=250; playerposition=0; initAfterLevels(); diff --git a/diffstuff.bgt b/data/diffstuff.bgt similarity index 100% rename from diffstuff.bgt rename to data/diffstuff.bgt diff --git a/data/dlg.bgt b/data/dlg.bgt new file mode 100644 index 0000000..7b4ad79 --- /dev/null +++ b/data/dlg.bgt @@ -0,0 +1,39 @@ +void dlg(string message) +{ +speak(message); +while(true) +{ +if (key_pressed(KEY_LEFT) or key_pressed(KEY_RIGHT) or key_pressed(KEY_UP) or key_pressed(KEY_DOWN)) +{ +speak(message); +} +if (key_pressed(KEY_RETURN) or key_pressed(KEY_ESCAPE)) +{ +break; +} +wait(5); +} +} +void dlgplay(string dlgsound, bool enableenter=true, bool fade=false, int fadetime=40) +{ +sound dlgaudio; +dlgaudio.load(dlgsound); +dlgaudio.play(); +while(dlgaudio.playing) +{ +wait(5); +if(key_pressed(KEY_RETURN) and enableenter==true) +{ +if (fade==true) +{ +while (dlgaudio.volume>=-40) +{ +dlgaudio.volume=dlgaudio.volume-2; +wait(fadetime); +} +} +dlgaudio.stop(); +break; +} +} +} \ No newline at end of file diff --git a/extendedmenu.bgt b/data/extendedmenu.bgt similarity index 100% rename from extendedmenu.bgt rename to data/extendedmenu.bgt diff --git a/data/key_hold.bgt b/data/key_hold.bgt new file mode 100644 index 0000000..c42e6b4 --- /dev/null +++ b/data/key_hold.bgt @@ -0,0 +1,46 @@ +class key_hold +{ +bool status; +short key_flag=0; +int key_code; +int repeat_time; +int setting_1; +int setting_2; +timer key_timer; +key_hold(int _key_code, int _setting_1, int _setting_2) +{ +key_code=_key_code; +setting_1=_setting_1; +setting_2=_setting_2; +repeat_time=setting_1; +} +bool pressing() +{ +status=key_down(key_code); +if(status==false) +{ +repeat_time=0; +key_timer.restart(); +key_flag=0; +return false; +} +if(key_timer.elapsed>=repeat_time) +{ +switch(key_flag) +{ +case 0: +key_flag=1; +repeat_time=setting_1; +key_timer.restart(); +break; +case 1: +repeat_time=setting_2; +key_timer.restart(); +break; +} +return true; +} +return false; +} +} + diff --git a/data/language_manager.bgt b/data/language_manager.bgt new file mode 100644 index 0000000..c0fa6c6 --- /dev/null +++ b/data/language_manager.bgt @@ -0,0 +1,133 @@ +//=================================================================================== +// +// LANGUAGE MANAGER (VERSION 1) / GESTOR DE IDIOMA (VERSIÓN 1) +// +//=================================================================================== +/* English Description: +Started: August 15, 2015. +Finished: August 17, 2015. +Developed by: Camilo Ortiz of Graffi Games. +Web: www.graffigames.cl + +Details: +1) This library allows you enable multilingual games. To do it, you only need the language files and the folder containing them. +2) The name of the language file must be the name of the language (for example, "english.txt". +3) The extension of the file (.txt, .yourgame, etc.) is not important, but it must be created in notepad. +4) Each message into the language file must starts with the number and equal sign (=) to identifier the message. The number of the first message must be the 1. For example, 1=Hello world! +5) When you finish the message, you must press Enter and repeat the previos step until finish all messages into your file. +6) To use library in your game, include the library like any library (#include) and in void main() initialize the function writing this: + language_manager("Language_Folder_Name"); +The "Language_Folder_Name" is the path of the folder that contents the language files. +7) If you have two o more language files, a menu is activated automatically to select a language file. And if you have only one language file, it is selected automatically without active the menu. +8) The more important: To show the messages into your game, call the array voice[position], where "position" is the number of the message. For example, voice[1]; + + +Descripción en español: +Fecha de inicio: 15 de agosto de 2015. +Fecha de término: 17 de agosto de 2015. +Desarrollado por: Camilo Ortiz de Graffi Games. +Web: www.graffigames.cl + +Detalles: +1) Esta librería te permite activar juegos con multiidioma. Para hacerlo necesitas solo de los archivos de idioma y la carpeta que los contenga. +2) Los nombres de los archivos de idioma deben ser el nombre del idioma (por ejemplo, "español.txt"). +3) La extensión del archivo (.txt, .tujuego, etc.) no es importante, pero debe ser creado en el bloc de notas. +4) Cada mensaje dentro del archivo de idioma debe comenzar con el número y el signo igual (=) para identificar el mensaje. El número del primer mensaje debe ser el 1. Por ejemplo, 1=¡Hola mundo! +5) Cuando finalices el mensaje, debes presionar Enter y repetir el paso anterior hasta terminar con todos los mensajes en tu archivo. +6) Para usar la librería en tu juego, incluye la librería como cualquier librería (#include) y en el void main() inicializa la función escribiendo esto + language_manager("nombre_carpeta_idioma"); +El "nombre_carpeta_idioma" es la ruta de la carpeta que contiene los archivos de idioma. +7) Si tienes dos o más archivos de idioma, se activa un menú para seleccionar un archivo de idioma. Y si tienes solo un archivo de idioma, se selecciona automáticamente sin activar el menú. +8) Lo más importante: Para mostrar los mensajes en tu juego, llama al array voice[posicion], donde "posicion" es el número del mensaje. Por ejemplo, voice[1]; +*/ + + + + +// Global variables. Variables Globales +string[] voice; // The array that contents the messages. El array que contiene los mensajes +sound menuclick, menuenter; + +// Language Manager Function. Funcionamiento del Gestor de idioma +void language_manager(string folder_name) + { + int voice_size=0; // Total messages into language file (this is calculated automatically later). Total de mensajes en el archivo de idioma (se calcula automáticamente después) + string filename; // The current language file used. Archivo de idioma usado actualemnte + file language; // File object. Objeto file + string[] language_files; // List of the language files. Lista de los archivos de idioma + + language_files=find_files(folder_name+"\\*.*"); // Searching language files. Buscamos los arhivos de idioma + if(language_files.length()==0) // Files not found. No se encontraron los archivos + { + alert("Error", "Language files not found in directory "+folder_name+". Los archivos de idioma no se encontraron en el directorio "+folder_name); + exit(); + } + if(language_files.length()==1) filename=folder_name+"\\"+language_files[0]; // Only 1 language file. Solo 1 archivo de idioma + if(language_files.length()>1) // Two or more language files. If it is, a menu is opened. Dos o más archivos de idioma. Si es así, se abre un menú + { +show_game_window("Select Language"); +menuclick.load("sounds/menuclick.wav"); +menuenter.load("sounds/menuenter.wav"); + string[] menu_items(language_files.length()); // This array contains the name of language files. Este array contiene los nombres de los archivos de idioma + for(int i=0; i0) { item_number--; -text.speak_interrupt(desc_list[item_number]); -if(speak_values) text.speak(item_number+1+" of "+desc_list.length()); +speak(desc_list[item_number]); +if(speak_values) speak(item_number+1+" of "+desc_list.length()); continue; } if(item_number==0) @@ -80,12 +80,12 @@ if(item_number==0) if(wrap==true) { item_number=desc_list.length()-1; -text.speak_interrupt(desc_list[item_number]); -if(speak_values) text.speak(item_number+1+" of "+desc_list.length()); +speak(desc_list[item_number]); +if(speak_values) speak(item_number+1+" of "+desc_list.length()); } if(wrap==false) { -if(speak_boundaries) text.speak_interrupt(desc_list[item_number]); +if(speak_boundaries) speak(desc_list[item_number]); } } } diff --git a/data/m_pro.bgt b/data/m_pro.bgt new file mode 100644 index 0000000..631cb48 --- /dev/null +++ b/data/m_pro.bgt @@ -0,0 +1,1025 @@ +//M Pro +//Version: 2.8 + +#include"key_hold.bgt" +#include"speech.bgt" +key_hold left(KEY_LEFT,500,50); +key_hold right(KEY_RIGHT,500,50); +key_hold up(KEY_UP,500,50); +key_hold down(KEY_DOWN,500,50); +tts_voice tts; +int found_reader=0; +sound_pool spool; +settings menuset; +void fade (sound@ handle, double final_volume=-50, double delay=25) +{ +if (handle.volume == final_volume) +{ +return; +} +while (handle.volume != final_volume) +{ +if (handle.volume > final_volume) +{ +handle.volume=handle.volume-1; +} +else if (handle.volume < final_volume) +{ +handle.volume=handle.volume+1; +} +wait (delay); +} +} +class dynamic_menu_item +{ +string option; +bool is_filename; +bool activate; +string name; +string letter; +dynamic_menu_item() +{ +option=""; +is_filename=true; +name=""; +activate=false; +} +} + +class dynamic_menu_pro +{ +bool letters_autospeak=true; +bool letters_autoactivate; +bool speak_letter; +bool enable_first_letter_navigation; +bool enable_multi_letter_navigation; +bool click_at_edge; +bool repeat_items_at_edges; +bool music_added=false; +timer multinav_timer; +int voltime=50; +timer voltimer; +sound music; +int volkeyup=KEY_PRIOR; +int volkeydown=KEY_NEXT; +int volkeycheck=KEY_V; +string open_sound; +string click_sound; +string edge_sound; +string wrap_sound; +string enter_sound; +bool enable_numbers; +bool enable_space; +bool enable_enter; +bool speak_position_information; +bool enable_side_scrolling; +bool wrap; +bool allow_escape; +bool force_sapi; +bool enable_home_and_end; +bool enable_up_and_down; +bool enable_left_and_right; +void set_volume_keys(int key1, int key2, int key3) +{ +volkeyup=key1; +volkeydown=key2; +volkeycheck=key3; +} +void fade_music(int value1) +{ +fade(music,-50,value1); +music.stop(); +} +void stop_music() +{ +music.stop(); +} +void play_music() +{ +if (music.playing==false) +music.play_looped(); +} +void add_music(string musicpath) +{ +if (music.playing==false) +{ +music.load(musicpath); +music_added=true; +} +} +void play_click_sound() { +if (click_sound!="" or !file_exists(click_sound)) +{ +if (enable_side_scrolling==true) +spool.play_stationary_extended(click_sound, false, 0, convert_to_pan(get_item_count(),menu_position,-25,25), 0, 100, false); +else +spool.play_stationary(click_sound, false, false); +} +} +void play_edge_sound() { +if (edge_sound!="" or !file_exists(edge_sound)) +{ +if (enable_side_scrolling==true) +spool.play_stationary_extended(edge_sound, false, 0, convert_to_pan(get_item_count(),menu_position,-25,25), 0, 100, false); +else +spool.play_stationary(edge_sound, false, false); +} +} +void play_enter_sound() { +if (enter_sound!="" or !file_exists(enter_sound)) +{ +if (enable_side_scrolling==true) +spool.play_stationary_extended(enter_sound, false, 0, convert_to_pan(get_item_count(),menu_position,-25,25), 0, 100, false); +else +spool.play_stationary(enter_sound, false, false); +} +} +dynamic_menu_pro() +{ +running=false; +reset(true); +} + +int add_item(string filename, string name="", string key="", bool act=true) +{ +return add_item_extended(filename, true, name,key, act); +} + +int add_item_tts(string text, string name="", string key="", bool act=true) +{ +return add_item_extended(text, false, name,key,act); +} + +bool set_speech_mode(int speech_output) +{ +if((speech_output<0)||(speech_output>4)) +{ +return false; +} +this.speech_output=speech_output; +return true; +} + +int get_item_count() +{ +return item_list.length(); +} + +int get_position() +{ +if(running==false) +{ +return -1; +} +return menu_position; +} + +bool is_running() +{ +return running; +} + +bool set_tts_object(tts_voice@ handle) +{ +if(running==true) +{ +return false; +} +@tts_handle=@handle; +return true; +} + +bool set_sound_object(sound@ handle) +{ +if(running==true) +{ +return false; +} +@sound_handle=@handle; +return true; +} + +bool set_callback(menu_callback@ callback, string user_data) +{ +if(running==true) +{ +return false; +} +@callback_handle=@callback; +callback_data=user_data; +return true; +} + +string get_item_name(int item) +{ +if(item<1 or item>item_list.length()) +{ +return ""; +} +return item_list[item-1].name; +} + +int run(string intro, bool is_intro_tts) +{ +return run_extended(intro, is_intro_tts, 0, false); +} + +int run_extended(string intro, bool is_intro_tts, int start_position, bool auto_speak_first) +{ +if(running==true) +{ +return -1; +} +int item_count=item_list.length(); +if(item_count==0) +{ +return -1; +} +if(start_position>item_count) +{ +return -1; +} +menu_position=start_position; +bool speak_item=false; +if(start_position<1 && auto_speak_first==true) +{ +return -1; +} +bool initial=auto_speak_first; +sound@ internal_sound; +tts_voice@ internal_tts; +if(@sound_handle==null) +{ +sound temp_sound; +@internal_sound=temp_sound; +} +else +{ +@internal_sound=sound_handle; +} +bool has_tts_items=is_intro_tts; +if(has_tts_items==false) +{ +for(int i=0;i0 and speech_output<5) +{ +if(screen_reader_speak_interrupt(speech_output, intro)==false) +{ +return -1; +} +} +else if (force_sapi==false) +{ +if(speak(intro, false)==false) +{ +return -1; +} +} +else +{ +if(internal_tts.speak_interrupt(intro)==false) +{ +return -1; +} +} +} +else +{ +if(internal_sound.stream(intro)==false) +{ +return -1; +} +internal_sound.play(); +} +} +bool success=menuset.setup("mtg studios", "menu", true); +if (success==false) +{ +alert("error", "menu music volume could not be set"); +} +if (menuset.exists("volume")) +{ +double volume=menuset.read_number("volume"); +music.volume=volume; +} +spool.play_stationary(open_sound, false); +music.play_looped(); +running=true; +if (enable_first_letter_navigation==true or enable_multi_letter_navigation==true) +get_characters(); +string char; +string multichar; +string test; +while(true) +{ +s.bufferloop(); +// Invoke the user callback. +if (enable_first_letter_navigation==false and enable_multi_letter_navigation==true) +{ +if(multinav_timer.elapsed>1000 and multichar!="") +multichar=""; +string c=get_characters(); +if(c!="" and !string_is_digits(c) and multichar!=c) +{ +multinav_timer.restart(); +multichar+=c; +} +if(multichar!="" and c!="") +{ +bool found=false; +for (uint i=menu_position; i0) +{ +if(string_left(test, multichar.length())==string_left(item_list[menu_position-1].option, multichar.length()) and multichar.length()>1) +{ +found=true; +break; +} +} +if (menu_position-1i) +menu_position=i+1; +play_click_sound(); +if (letters_autospeak==true) +speak_item=true; +if (letters_autoactivate==true) +{ +play_enter_sound(); +running=false; +return menu_position; +} +found=true; +break; +} +else +{ +continue; +} +} +if (found==false) +{ +for (uint i=0; i0) +{ +if(string_left(test, multichar.length())==string_left(item_list[menu_position-1].option, multichar.length()) and multichar.length()>1) +{ +found=true; +break; +} +} +if (menu_position-1i) +menu_position=i+1; +play_click_sound(); +if (letters_autospeak==true) +speak_item=true; +if (letters_autoactivate==true) +{ +play_enter_sound(); +running=false; +return menu_position; +} +break; +} +else +{ +continue; +} +} +} +} +} +if (enable_first_letter_navigation==true and enable_multi_letter_navigation==false) +{ +char=get_characters(); +if(char!="" and !string_is_digits(char)) +{ +bool found=false; +for (uint i=menu_position; ii and test==char) +menu_position=i+1; +play_click_sound(); +if (letters_autospeak==true) +speak_item=true; +if (letters_autoactivate==true) +{ +play_enter_sound(); +running=false; +return menu_position; +} +found=true; +break; +} +else +{ +continue; +} +} +if (found==false) +{ +for (uint i=0; ii and test==char) +menu_position=i+1; +play_click_sound(); +if (letters_autospeak==true) +speak_item=true; +if (letters_autoactivate==true) +{ +play_enter_sound(); +running=false; +return menu_position; +} +break; +} +else +{ +continue; +} +} +} +} +} +if(@callback_handle!=null) +{ +int callback_result=callback_handle(this, callback_data); +if(callback_result!=0) +{ +running=false; +return callback_result; +} +} + +// Check to see if there's an item that needs to be spoken. +if(speak_item==true) +{ +string secondary; +if (speak_letter==true) +{ +secondary=" "+item_list[menu_position-1].letter; +} +if(item_list[menu_position-1].is_filename==true) +{ +if(@internal_tts!=null) +{ +internal_tts.stop(); +} +if(internal_sound.stream(item_list[menu_position-1].option)==false) +{ +running=false; +return -1; +} +internal_sound.play(); +} +else +{ +if(internal_sound.active==true) +{ +internal_sound.close(); +} +if(speech_output>0 and speech_output<5) +{ +if (speak_position_information==true) +{ +if(screen_reader_speak_interrupt(speech_output, item_list[menu_position-1].option+secondary+". "+menu_position+" of "+get_item_count())==false) +{ +running=false; +return -1; +} +} +else +{ +if(screen_reader_speak_interrupt(speech_output, item_list[menu_position-1].option+secondary+". "+menu_position+" of "+get_item_count())==false) +{ +running=false; +return -1; +} +} +} +else if (force_sapi==false) +{ +if (speak_position_information==true) +{ +if(speak(item_list[menu_position-1].option+secondary+". "+menu_position+" of "+get_item_count())==false) +{ +running=false; +return -1; +} +} +else +{ +if(speak(item_list[menu_position-1].option+secondary)==false) +{ +running=false; +return -1; +} +} +} +else +{ +if (speak_position_information==true) +{ +if(internal_tts.speak_interrupt(item_list[menu_position-1].option+secondary+". "+menu_position+" of "+get_item_count())==false) +{ +running=false; +return -1; +} +} +else +{ +if(internal_tts.speak_interrupt(item_list[menu_position-1].option+secondary)==false) +{ +running=false; +return -1; +} +} +} +} +speak_item=false; +} +if(initial==true) +{ +bool finished_intro=false; +if(is_intro_tts==false) +{ +if(internal_sound.playing==false) +finished_intro=true; +} +else +{ +if(speech_output>0 and speech_output<5) +{ +finished_intro=true; +} +else +{ +if(internal_tts.speaking==false) +finished_intro=true; +} +} + +if(finished_intro==true) +{ +initial=false; +if(item_list[menu_position-1].is_filename==true) +{ +speak_item=true; +continue; +} +else +{ +if(speech_output>0 and speech_output<5) +{ +if(screen_reader_speak(speech_output, item_list[menu_position-1].option)==false) +{ +running=false; +return -1; +} +} +else +{ +speak_item=true; +continue; +} +} +} +} +if (enable_numbers==true) { +if (key_up(KEY_RSHIFT) and key_pressed(KEY_1) and get_item_count()>=1) { +menu_position=1; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_up(KEY_RSHIFT) and key_pressed(KEY_2) and get_item_count()>=2) { +menu_position=2; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_up(KEY_RSHIFT) and key_pressed(KEY_3) and get_item_count()>=3) { +menu_position=3; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_up(KEY_RSHIFT) and key_pressed(KEY_4) and get_item_count()>=4) { +menu_position=4; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_up(KEY_RSHIFT) and key_pressed(KEY_5) and get_item_count()>=5) { +menu_position=5; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_up(KEY_RSHIFT) and key_pressed(KEY_6) and get_item_count()>=6) { +menu_position=6; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_up(KEY_RSHIFT) and key_pressed(KEY_7) and get_item_count()>=7) { +menu_position=7; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_up(KEY_RSHIFT) and key_pressed(KEY_8) and get_item_count()>=8) { +menu_position=8; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_up(KEY_RSHIFT) and key_pressed(KEY_9) and get_item_count()>=9) { +menu_position=9; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_up(KEY_RSHIFT) and key_pressed(KEY_0) and get_item_count()>=10) { +menu_position=10; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_up(KEY_RSHIFT) and key_pressed(KEY_MINUS) and get_item_count()>=11) { +menu_position=11; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_up(KEY_RSHIFT) and key_pressed(KEY_EQUALS) and get_item_count()>=12) { +menu_position=12; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_up(KEY_RSHIFT) and key_pressed(KEY_BACK) and get_item_count()>=13) { +menu_position=13; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_down(KEY_RSHIFT) and key_pressed(KEY_1) and get_item_count()>=14) { +menu_position=14; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_down(KEY_RSHIFT) and key_pressed(KEY_2) and get_item_count()>=15) { +menu_position=15; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_down(KEY_RSHIFT) and key_pressed(KEY_3) and get_item_count()>=16) { +menu_position=16; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_down(KEY_RSHIFT) and key_pressed(KEY_4) and get_item_count()>=17) { +menu_position=17; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_down(KEY_RSHIFT) and key_pressed(KEY_5) and get_item_count()>=18) { +menu_position=18; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_down(KEY_RSHIFT) and key_pressed(KEY_6) and get_item_count()>=19) { +menu_position=19; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_down(KEY_RSHIFT) and key_pressed(KEY_7) and get_item_count()>=20) { +menu_position=20; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_down(KEY_RSHIFT) and key_pressed(KEY_8) and get_item_count()>=21) { +menu_position=21; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_down(KEY_RSHIFT) and key_pressed(KEY_9) and get_item_count()>=22) { +menu_position=22; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_down(KEY_RSHIFT) and key_pressed(KEY_0) and get_item_count()>=23) { +menu_position=23; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_down(KEY_RSHIFT) and key_pressed(KEY_MINUS) and get_item_count()>=24) { +menu_position=24; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_down(KEY_RSHIFT) and key_pressed(KEY_EQUALS) and get_item_count()>=25) { +menu_position=25; +play_click_sound(); +speak_item=true; +continue; +} +else if (key_down(KEY_RSHIFT) and key_pressed(KEY_BACK) and get_item_count()>=26) { +menu_position=26; +play_click_sound(); +speak_item=true; +continue; +} +} +if(enable_enter==true and key_pressed(KEY_RETURN) or enable_space==true and key_pressed(KEY_SPACE)) +{ +if(menu_position!=0) +{ +play_enter_sound(); +if (item_list[menu_position-1].activate==true) +{ +running=false; +return menu_position; +} +} +} +if(allow_escape==true) +{ +if(key_pressed(KEY_ESCAPE)) +{ +running=false; +return 0; +} +} +if (key_pressed(volkeycheck) and music_added==true) +{ +if(speech_output>0 and speech_output<5) +{ +screen_reader_speak_interrupt(speech_output, "music volume: "+music.volume); +} +else if (force_sapi==false) +{ +speak("music volume: "+music.volume); +} +else +{ +internal_tts.speak_interrupt("music volume: "+music.volume); +} +} +if (key_down(volkeydown) and voltimer.elapsed>=voltime) +{ +music.volume=music.volume-2; +menuset.write_number("volume", music.volume); +voltimer.restart(); +} +if (key_down(volkeyup) and voltimer.elapsed>=voltime) +{ +music.volume=music.volume+2; +menuset.write_number("volume", music.volume); +voltimer.restart(); +} +if(enable_up_and_down==true and key_pressed(KEY_UP)==false and up.pressing() or enable_left_and_right==true and key_pressed(KEY_LEFT)==false and left.pressing()) +{ +initial=false; +if(menu_position==0) +{ +menu_position=item_count; +play_click_sound(); +speak_item=true; +continue; +} +if(menu_position==1) +{ +if(wrap==true) +{ +menu_position=item_count; +spool.play_stationary(wrap_sound, false); +play_click_sound(); +speak_item=true; +continue; +} +else +{ +if (click_at_edge==true) +{ +play_click_sound(); +} +if (repeat_items_at_edges==true) +{ +speak_item=true; +} +play_edge_sound(); +continue; +} +} +menu_position-=1; +play_click_sound(); +speak_item=true; +continue; +} +if(enable_up_and_down==true and key_pressed(KEY_DOWN)==false and down.pressing() or enable_left_and_right==true and key_pressed(KEY_RIGHT)==false and right.pressing()) +{ +initial=false; +if(menu_position==item_count) +{ +if(wrap==true) +{ +menu_position=1; +spool.play_stationary(wrap_sound, false); +play_click_sound(); +speak_item=true; +continue; +} +else +{ +if (click_at_edge==true) +{ +play_click_sound(); +} +if (repeat_items_at_edges==true) +{ +speak_item=true; +} +play_edge_sound(); +continue; +} +} +menu_position+=1; +play_click_sound(); +speak_item=true; +continue; +} +if(enable_home_and_end==true) +{ +if(key_pressed(KEY_HOME)) +{ +initial=false; +menu_position=1; +play_click_sound(); +speak_item=true; +continue; +} +if(key_pressed(KEY_END)) +{ +initial=false; +menu_position=item_count; +play_click_sound(); +speak_item=true; +continue; +} +} +wait(5); +} +running=false; +return -1; +} + +bool reset(bool completely) +{ +/* +if(running==true) +{ +return false; +} +*/ +running=false; +item_list.resize(0); +if(completely==true) +{ +letters_autospeak=true; +letters_autoactivate=false; +speak_letter=false; +enable_first_letter_navigation=false; +click_at_edge=false; +repeat_items_at_edges=false; +music_added=false; +volkeyup=KEY_PRIOR; +volkeydown=KEY_NEXT; +enable_space=false; +enable_enter=true; +speak_position_information=false; +open_sound=""; +edge_sound=""; +music.close(); +click_sound=""; +force_sapi=false; +enable_up_and_down=false; +enable_left_and_right=false; +wrap=true; +allow_escape=true; +enable_home_and_end=false; +speech_output=0; +@tts_handle=null; +@sound_handle=null; +@callback_handle=null; +} +return true; +} + +// The following is private content and should not be modified from the outside. + +tts_voice@ tts_handle; +sound@ sound_handle; +int speech_output; +menu_callback@ callback_handle; +string callback_data; +bool running; +int menu_position; +dynamic_menu_item[] item_list; + +int add_item_extended(string filename, bool is_filename, string name="", string key="", bool act=true) +{ +if(running==true) +{ +return -1; +} +int new_index=item_list.length(); +item_list.resize(new_index+1); +item_list[new_index].option=filename; +item_list[new_index].is_filename=is_filename; +item_list[new_index].name=name; +item_list[new_index].activate=act; +if (key=="") +{ +key=filename[0]; +key=string_to_lower_case(key); +} +item_list[new_index].letter=key; +return new_index+1; +} + +} + +funcdef int menu_callback(dynamic_menu_pro@, string); + +double convert_to_pan(double length,double index, double range1, double range2) +{ +double range=range2-range1; +double percent=index/(length-1); +double value=range1+range*percent; +return value; +} +bool speak(string text, bool inter=true) +{ +if (inter==true) +return s.say(text,1); +else if (inter==false) +return s.say(text,0); +return false; +} \ No newline at end of file diff --git a/data/opt.ini b/data/opt.ini new file mode 100644 index 0000000..37ef3f0 --- /dev/null +++ b/data/opt.ini @@ -0,0 +1 @@ +8 4 0 1 1 3 \ No newline at end of file diff --git a/data/speech.bgt b/data/speech.bgt new file mode 100644 index 0000000..3768022 --- /dev/null +++ b/data/speech.bgt @@ -0,0 +1,199 @@ +//DFSpeech +//By DarkFlier Productions +//Created on 06-19-2016 through 06-20-2016 +class DFSpeech +{ +string filename; //The filename of the save file for speech settings. +int bpos; //The buffer position +string[] b; //The buffer array +string buffer; //the variable for the filename of output buffer. +int output; //Internal variable specifying the output mode. +tts_voice t; //Internal TTS variable +int mode=0; //Variable for either SAPI or Auto SR output +int voice; +int rate; +int pitch; +int volume; +bool say(string text, int interrupt=1, bool wait=false) +{ +//Speak function +if (buffer!="") +{ +if (string_contains(SCRIPT_EXECUTABLE,"Dropbox",1)==-1) +{ +file f; +f.open(buffer,"ab"); +f.write(text+"\r\n"); +f.close(); +} +b.insert_last(text); +} +if (mode==0) +output=check_available_outputs(); +else +output=0; +if (output==0) +{ +if (interrupt==1) +{ +if (wait==true) +return t.speak_interrupt_wait(text); +else if (wait==false) +return t.speak_interrupt(text); +} +else +{ +if (wait==true) +return t.speak_wait(text); +else if (wait==false) +return t.speak(text); +} +} +else +{ +if (interrupt==1) +return screen_reader_speak_interrupt(output,text); +else if (interrupt==0) +return screen_reader_speak(output,text); +} +return false; +} +int check_available_outputs() +{ +//function to check for running screen readers. +if (screen_reader_is_running(1)) +//jaws +return 1; +//Skip over Window-Eyes, as it has errors. +else if (screen_reader_is_running(3)) +//SA +return 3; +else if (screen_reader_is_running(4)) +//NVDA +return 4; +return 0; +} +void bufferloop() +{ +//A loop you can implement for using the buffer. +if (buffer.length()>0) +{ +if (key_pressed(KEY_F4)) +{ +if (key_down(KEY_LCONTROL) or key_down(KEY_RCONTROL)) +bpos=b.length()-1; +else +{ +if (bpos>=b.length()-1) +bpos=b.length()-1; +else +bpos++; +} +string tb=buffer; +buffer=""; +say(b[bpos]); +buffer=tb; +} +if (key_pressed(KEY_F3)) +{ +if (key_down(KEY_LCONTROL) or key_down(KEY_RCONTROL)) +bpos=0; +else +{ +if (bpos<=0) +bpos=0; +else +bpos--; +} +string tb=buffer; +buffer=""; +say(b[bpos]); +buffer=tb; +} +} +} +bool set_voice(int v) +{ +//Function for setting the SAPI voice. +voice=v; +return t.set_current_voice(v); +} +int select_voice() +{ +//Spawns a menu where the user can select a SAPI voice. +string[] vn=t.get_voice_names(); +int vp=-1; +while(true) +{ +if (key_pressed(KEY_UP) and vp>0) +{ +vp--; +say(vn[vp]); +} +if (key_pressed(KEY_DOWN) and vp<=vn.length()) +{ +vp++; +say(vn[vp]); +} +if (key_pressed(KEY_RETURN)) +{ +return vp; +} +} +return -1; +} +bool save() +{ +//Save our properties. +file f; +f.open(filename,"wb"); +f.write(voice+";;"+rate+";;"+pitch+";;"+volume+";;"+mode); +f.close(); +return true; +} +bool load() +{ +//Load our properties. +file f; +if (file_exists(filename)) +{ +f.open(filename,"rb"); +string d=f.read(); +f.close(); +string[] d2=string_split(d,";;",true); +if (d2.length()==5) +{ +voice=string_to_number(d2[0]); +rate=string_to_number(d2[1]); +pitch=string_to_number(d2[2]); +volume=string_to_number(d2[3]); +mode=string_to_number(d2[4]); +set_voice(voice); +t.rate=rate; +t.pitch=pitch; +t.volume=volume; +return true; +} +else +return false; +} +else +return false; +} +void set_speech_params(int r, int p, int v) +{ +//Set the parameters for the tts voice. R is rate, P is pitch, V is volume. +t.pitch=p; +t.volume=v; +t.rate=r; +rate=r; +pitch=p; +volume=v; +} +void set_speech_mode(int m) +{ +//Set the speech mode. 0 is auto, 1 is SAPI. +mode=m; +} +//I think that's it. If you need anything else implemented, let me know. +} \ No newline at end of file diff --git a/ss.bgt b/game.bgt similarity index 76% rename from ss.bgt rename to game.bgt index 51ff04d..abf1cae 100644 --- a/ss.bgt +++ b/game.bgt @@ -1,12 +1,15 @@ -#include "autopilot.bgt" -#include "diffstuff.bgt" -#include "lgs.bgt" +#include "data/dlg.bgt" +#include "data/speech.bgt" +#include "data/language_manager.bgt" +#include "data/autopilot.bgt" +#include "data/diffstuff.bgt" +#include "data/lgs.bgt" #include "sound_pool.bgt" -#include "bossfights.bgt" -#include "classes.bgt" -#include "learngamesounds.bgt" +#include "data/bossfights.bgt" +#include "data/classes.bgt" +#include "data/learngamesounds.bgt" #include "sound_positioning.bgt" -#include "extendedmenu.bgt" +#include "data/m_pro.bgt" sound_pool sounds(125); const ushort weapon_sword=1, weapon_fist=2, weapon_gun=3, weapon_whip=4; const ushort f=2, m=1; @@ -18,10 +21,11 @@ int[] teleportpositions(); bool jumping=false, isItemFalling=false, avoiding=false, isUsingLaptop=false, ducked, stopall=false, enemytaunt=true, iveplayedalready, reality=false, iveheardtheconv=false; //level and cheat bools bool l13switch=false, charmor=false, chavoid=false, chitems=false; -sound shoot, iamdead, pitdie, jump, youmadeit, itemsound, itembreak, storepotion, healing, loadgun, music, dieblades, boobysound, enemytrap, levelend, bossconversation, bgrunt, cheatactivated, armorgrab, machinegun, intro, godown, goup, evader, breakblade, sword2, sword3, cough, fake, oops, playershot; +sound dlgscroll, dlgend, shoot, jump, itemsound, itembreak, storepotion, healing, loadgun, music, boobysound, enemytrap, levelend, bossconversation, bgrunt, cheatactivated, armorgrab, machinegun, godown, goup, evader, breakblade, sword2, sword3, cough, fake, playershot; sound[] step(); timer intheair, movetimer, itemfalling, changer, duration, leveltimer, machineguntimer, ducktimer; -tts_voice voice; +//musicpath="data/music.ini"; +DFSpeech s; movable_hazard[] boulder(); enem[] enemy(); enem boss(344,33*enemdam,80,45*enemhp,"sounds/bossvoice.wav"); @@ -38,7 +42,7 @@ boss=enem(344,33*enemdam,80,45*enemhp,"sounds/bossvoice.wav"); moveinterval=264; sounds.destroy_all(); if(level>=beatengame) { -voice.speak_wait("yay! You beat the game. New levels are going to be added soon! Oh, I forgot to tell you something! Your score was "+totalpoints); +dlgscroll.play();dlg(voice[2]+totalpoints+voice[3]);dlgend.play(); menu(); } police.resize(0); @@ -135,19 +139,8 @@ wait(40); } sound bosssound; sound boss2; -bosssound.load("sounds/boss.wav"); -boss2.load("sounds/boss.wav"); -bossconversation.load("sounds/converse.ogg"); -bossconversation.play(); -iveheardtheconv=true; -while(bossconversation.playing) {if(key_pressed(KEY_RETURN)) break; -} -bossconversation.stop(); -bosssound.pan=-100; -boss2.pan=100; -bosssound.play(); -wait(17); -boss2.play_wait(); +dlgplay("sounds/converse.ogg",true,true); +dlgplay("sounds/boss.wav",true,false); } if(musictype!=8) music.load("sounds/bossmusic.ogg"); music.volume=0; @@ -243,8 +236,7 @@ if(boobyposition!=-1) boobysound.play_looped(); } void menu() { sounds.destroy_all(); -dynamic_menu main; -voice.stop(); +dynamic_menu_pro main; itemsound.stop(); cough.stop(); boobysound.stop(); @@ -252,17 +244,20 @@ boss.voice.stop(); music.load("sounds/menumusic.ogg"); dieStopSounds(); music.play_looped(); -music.volume=-9; -main.add_click_sound("sounds/menuclick.wav"); -main.set_tts_object(voice); -main.add_item_tts("start the game"); -main.add_item_tts("play in reality mode"); -main.add_item_tts("load last saved game"); -main.add_item_tts("Read instructions"); -main.add_item_tts("Change options"); -main.add_item_tts("exit"); +music.volume=-15; +main.click_sound="sounds/menuclick.wav"; +main.enter_sound="sounds/menuenter.wav"; +main.enable_multi_letter_navigation=true; +main.enable_up_and_down=true; main.allow_escape=false; -int result=main.run_extended("Battle zone main menu. Select an item from the menu",true,1,true); +main.add_item_tts(voice[4]); +main.add_item_tts(voice[5]); +main.add_item_tts(voice[6]); +main.add_item_tts(voice[7]); +main.add_item_tts(voice[8]); +main.add_item_tts(voice[9]); +main.allow_escape=false; +int result=main.run_extended(voice[10],true,1,true); switch(result) {case 1: reality=false; chooseDiff(); @@ -278,43 +273,48 @@ break; case 4: readme.open("readme.txt","r"); music.volume=-16; -voice.speak_interrupt(readme.read(0)); -while(voice.speaking) {if(key_pressed(KEY_SPACE)||key_pressed(KEY_RETURN)) voice.stop();} +dlgscroll.play();dlg(readme.read(0));dlgend.play(); menu(); break;}} void changeMusic() { -dynamic_menu musicmenu; -musicmenu.set_tts_object(voice); -musicmenu.add_click_sound("sounds/menuclick.wav"); +dynamic_menu_pro musicmenu; +musicmenu.click_sound="sounds/menuclick.wav"; +musicmenu.enter_sound="sounds/menuenter.wav"; musicmenu.allow_escape=true; -musicmenu.add_item_tts("original: dark mark a tark"); -musicmenu.add_item_tts("windows xp error message song metaNights revenge"); -musicmenu.add_item_tts("tech house"); -musicmenu.add_item_tts("techno chase"); -musicmenu.add_item_tts("Orchestral loop 1"); -musicmenu.add_item_tts("tension chase"); -musicmenu.add_item_tts("random music which changes between levels"); -musicmenu.add_item_tts("Turn the music off"); -int result=musicmenu.run_extended("please select the background music you want to use!", true,musictype,true); +musicmenu.enable_multi_letter_navigation=true; +musicmenu.enable_up_and_down=true; +musicmenu.allow_escape=false; +musicmenu.add_item_tts(voice[11]); +musicmenu.add_item_tts(voice[12]); +musicmenu.add_item_tts(voice[13]); +musicmenu.add_item_tts(voice[14]); +musicmenu.add_item_tts(voice[15]); +musicmenu.add_item_tts(voice[16]); +musicmenu.add_item_tts(voice[17]); +musicmenu.add_item_tts(voice[18]); +int result=musicmenu.run_extended(voice[19], true,musictype,true); if(result>0) {musictype=result; } opt(); return; } void opt() { -dynamic_menu options; -options.set_tts_object(voice); -options.add_click_sound("sounds/menuclick.wav"); -options.add_item_tts("Change background music"); +dynamic_menu_pro options; +options.click_sound="sounds/menuclick.wav"; +options.enter_sound="sounds/menuenter.wav"; options.wrap=true; options.allow_escape=true; -options.add_item_tts("keyboard mode"); -options.add_item_tts("select gender of enemies"); -options.add_item_tts("select sword sound"); -options.add_item_tts("Toggle enemy attack taunt sounds"); -options.add_item_tts("stop all sounds between levels"); -options.add_item_tts("save options"); -int optionresult=options.run_extended("Options menu",true,1,true); +options.enable_multi_letter_navigation=true; +options.enable_up_and_down=true; +options.allow_escape=false; +options.add_item_tts(voice[20]); +options.add_item_tts(voice[21]); +options.add_item_tts(voice[22]); +options.add_item_tts(voice[23]); +options.add_item_tts(voice[24]); +options.add_item_tts(voice[25]); +options.add_item_tts(voice[26]); +int optionresult=options.run_extended(voice[27],true,1,true); switch(optionresult) { case 0: menu(); case 7: @@ -324,34 +324,34 @@ case 1:changeMusic(); break; case 4:swordplay();break; case 5: if(enemytaunt==true) {enemytaunt=false; -voice.speak_interrupt_wait("off"); +dlgscroll.play();dlg(voice[28]);dlgend.play(); opt(); break; } if(!enemytaunt) {enemytaunt=true; -voice.speak_interrupt_wait("on"); +dlgscroll.play();dlg(voice[29]);dlgend.play(); opt(); break; } break; case 6: if(stopall==true) {stopall=false; -voice.speak_wait("off"); +dlgscroll.play();dlg(voice[28]);dlgend.play(); opt(); break; } if(stopall==false) {stopall=true; -voice.speak_wait("on"); +dlgscroll.play();dlg(voice[29]);dlgend.play(); opt(); break; } case 2: if(isUsingLaptop) {isUsingLaptop=false; -voice.speak_interrupt_wait("desktop"); +dlgscroll.play();dlg(voice[30]);dlgend.play(); opt(); } if(!isUsingLaptop) {isUsingLaptop=true; -voice.speak_interrupt_wait("laptop"); +dlgscroll.play();dlg(voice[31]);dlgend.play(); opt(); } break; @@ -363,40 +363,46 @@ menu(); return; } void genderofenemy() { -dynamic_menu menu; -menu.set_tts_object(voice); -menu.add_click_sound("sounds/menuclick.wav"); +dynamic_menu_pro menu; +menu.click_sound="sounds/menuclick.wav"; +menu.enter_sound="sounds/menuenter.wav"; +menu.allow_escape=false; +menu.enable_multi_letter_navigation=true; +menu.enable_up_and_down=true; menu.allow_escape=false; -menu.add_item_tts("male"); -menu.add_item_tts("female"); -menu.add_item_tts("both"); -enemygender=menu.run_extended("select the gender of enemy you want!",true,1,true); +menu.add_item_tts(voice[32]); +menu.add_item_tts(voice[33]); +menu.add_item_tts(voice[34]); +enemygender=menu.run_extended(voice[35],true,1,true); opt(); return; } void swordplay() { -dynamic_menu swordmenu; -swordmenu.set_tts_object(voice); -swordmenu.add_click_sound("sounds/menuclick.wav"); +dynamic_menu_pro swordmenu; +swordmenu.click_sound="sounds/menuclick.wav"; +swordmenu.enter_sound="sounds/menuenter.wav"; +swordmenu.allow_escape=false; +swordmenu.enable_multi_letter_navigation=true; +swordmenu.enable_up_and_down=true; swordmenu.allow_escape=false; swordmenu.add_item("sounds/sword1.wav"); swordmenu.add_item("sounds/sword2.wav"); swordmenu.add_item("sounds/sword3.wav"); -swordmenu.add_item_tts("random"); +swordmenu.add_item_tts(voice[36]); swordmenu.wrap=true; -whichsword=swordmenu.run("Select the sword sound you want",true); +whichsword=swordmenu.run(voice[37],true); opt(); return; } void main() { +language_manager("languages"); sounds.max_distance=30; sounds.pan_step=4; sounds.volume_step=2; -show_game_window("battle zone"); -sound gamestart; -gamestart.load("sounds/intro.ogg"); -intro.load("sounds/introSeq.ogg"); -if(optfile.open("opt.ini","r")==true) { +show_game_window(voice[1]); +dlgscroll.load("sounds/dlg.wav"); +dlgend.load("sounds/dlgend.wav"); +if(optfile.open("data/opt.ini","r")==true) { musictype=string_to_number(optfile.read(1)); optfile.seek(2); whichsword=string_to_number(optfile.read(1)); @@ -413,19 +419,8 @@ optfile.seek(10); enemygender=string_to_number(optfile.read(1)); optfile.close(); } -else {voice.speak_interrupt_wait("The options file could not be found. The default settings will be used. Save your options from within the options menu to turn this message off.");} -gamestart.play(); -while(gamestart.volume>-45) { -if(key_pressed(KEY_RETURN)) { -int x=0; -while(x<100) { -gamestart.volume=gamestart.volume-0.5; -x++; -wait(10); -}} -wait(5); -if(gamestart.playing==false) break; -} +else {dlgscroll.play();dlg(voice[38]);dlgend.play();} +dlgplay("sounds/intro.ogg",true,true); menu(); return; } @@ -433,8 +428,6 @@ void loadSounds() { playershot.load("sounds/police/policeshot.wav"); loadgun.load("sounds/ammo.wav"); jump.load("sounds/jump.wav"); -youmadeit.load("sounds/newlevel.wav"); -pitdie.load("sounds/pitdie.z"); shoot.load("sounds/sword.wav"); levelend.load("sounds/endoflevel.wav"); storepotion.load("sounds/storepotion.wav"); @@ -445,17 +438,15 @@ enemytrap.load("sounds/enemytrap.wav"); healing.load("sounds/restore.wav"); sword3.load("sounds/sword3.wav"); cheatactivated.load("sounds/hit.wav"); -oops.load("sounds/oopsy.wav"); + fake.load("sounds/fake.wav"); godown.load("sounds/duck.wav"); goup.load("sounds/unduck.wav"); -iamdead.load("sounds/idead.wav"); machinegun.load("sounds/macgun.wav"); boss.hitplayer.load("sounds/bosshit1.wav"); armorgrab.load("sounds/grabarmor.ogg"); boobysound.load("sounds/booby.wav"); cough.load("sounds/coughing.wav"); -dieblades.load("sounds/dieknife.ogg"); if(musictype!=7) music.load("sounds/music"+musictype+".ogg"); } void start() { @@ -465,9 +456,9 @@ iveplayedalready=true; music.stop(); boss.isDead=false; level=1; -voice.speak_interrupt_wait("level 1"); +dlgscroll.play();dlg(voice[39]); levelDesc(); -intro.play(); +dlgplay("sounds/introSeq.ogg", true, true); loadSounds(); evades=0; if(reality) { @@ -510,10 +501,6 @@ levelendposition=100; jumping=false; numberofpits=2; playerposition=0; -while(intro.playing) {if(key_pressed(KEY_RETURN)||key_pressed(KEY_SPACE)) { -intro.stop(); -break; -}} enemy.resize(0); initAfterLevels(); itemfalling.restart(); @@ -588,9 +575,9 @@ itemfalling.restart(); int doIt=random(1,2); if(doIt==1&&level!=5) items(); }} -if(key_pressed(KEY_V)) {if(avoiding) voice.speak_interrupt("yes"); -if(!avoiding) voice.speak_interrupt("no");} -if((key_down(KEY_LCONTROL)||key_down(KEY_RCONTROL))&&key_pressed(KEY_E)) voice.speak_interrupt(evades+" blade protectors"); +if(key_pressed(KEY_V)) {if(avoiding) speak(voice[40]); +if(!avoiding) speak(voice[41]);} +if((key_down(KEY_LCONTROL)||key_down(KEY_RCONTROL))&&key_pressed(KEY_E)) speak(evades+voice[42]); if(armor<=0) armor=0; if(key_pressed(KEY_E)&&!avoiding) useevadeblades(); if(level==10) {initAfterLevels(); @@ -684,7 +671,7 @@ cheatactivated.play(); chavoid=true; } if((key_pressed(KEY_4))&&(level!=5)) weapon(4); -if(key_pressed(KEY_B)) voice.speak_interrupt(boobies+" booby traps"); +if(key_pressed(KEY_B)) speak(boobies+voice[43]); if(key_pressed(KEY_3)) weapon(3); if(key_pressed(KEY_F3)) {itemfalling.pause(); changer.pause(); @@ -696,7 +683,7 @@ changer.resume(); leveltimer.resume(); duration.resume(); } -if(key_pressed(KEY_L)) voice.speak_interrupt(lives+" lives"); +if(key_pressed(KEY_L)) speak(lives+voice[44]); if(key_down(KEY_LCONTROL)&&key_pressed(KEY_F9)) {level++; totalpoints+=levelpoints; playerposition=0; @@ -713,29 +700,29 @@ wait(25);} if((key_down(KEY_NEXT)||key_down(KEY_NUMPAD3))&&music.volume>=-65) {music.volume=music.volume-0.5; wait(25);} if(key_pressed(KEY_1)) weapon(1); -if(key_pressed(KEY_S)) voice.speak_interrupt(levelpoints+"points"); +if(key_pressed(KEY_S)) speak(levelpoints+voice[45]); if(key_pressed(KEY_T)) { int allpoints=totalpoints+levelpoints; -voice.speak_interrupt(allpoints+" points"); +speak(allpoints+voice[45]); } -if(key_down(KEY_LCONTROL)&&key_pressed(KEY_P)) voice.speak_interrupt(potions+" potions"); +if(key_down(KEY_LCONTROL)&&key_pressed(KEY_P)) speak(potions+voice[46]); if(key_pressed(KEY_RSHIFT)) { -if(moveinterval==400) {voice.speak_interrupt("running"); +if(moveinterval==400) {speak(voice[47]); moveinterval=275;} -else {voice.speak_interrupt("walking"); +else {speak(voice[48]); moveinterval=400;}} if(key_pressed(KEY_2)) weapon(2); -if(key_pressed(KEY_H)) voice.speak_interrupt("health: "+playerhealth +". Armor: "+armor); +if(key_pressed(KEY_H)) speak(voice[49]+playerhealth +voice[50]+armor); if(key_pressed(KEY_UP)&&intheair.elapsed>1000) jumpup(); if(key_pressed(KEY_P)) usepotion(); -if(key_pressed(KEY_A)) voice.speak_interrupt(ammo+" ammo"); +if(key_pressed(KEY_A)) speak(ammo+voice[51]); if(key_down(KEY_RIGHT)) move(1); if(key_down(KEY_LEFT)&&playerposition>0) move(2); if(key_down(KEY_SPACE)&&using==4) shootsword(); if(key_pressed(KEY_SPACE)) shootsword(); if(key_pressed(KEY_ESCAPE)) { -voice.speak_interrupt("do you want to exit? Press enter to exit, or space to go back to the game"); +speak(voice[52]); leveltimer.pause(); itemfalling.pause(); while(true) {if(key_pressed(KEY_RETURN)) {menu(); break;} @@ -743,7 +730,7 @@ if(key_pressed(KEY_SPACE)) {itemfalling.resume();leveltimer.resume();break;} }} if(playerhealth<=0) { dieStopSounds(); -iamdead.play_wait(); +dlgplay("sounds/idead.wav", true, false); lives--; if(lives<=0) { sound diecomp; @@ -755,8 +742,9 @@ while(diecomp.playing) {if(key_pressed(KEY_SPACE)||key_pressed(KEY_RETURN)) {die menu(); } if(lives>0) { -voice.speak_interrupt_wait("you lost a life!"); -voice.speak_wait("level "+level); +dlgscroll.play();dlg(voice[53]); +dlgplay("sounds/lifeloss/"+random(1,find_files('sounds/lifeloss/*.*').length())+".ogg",true,false); +dlgscroll.play();dlg(voice[54]+level); levelDesc(); playerhealth=250; playerposition=0; @@ -843,8 +831,8 @@ positions(); boobyposition=playerposition+2; } if(boss.health<=0) {boss.die(); -voice.speak_interrupt_wait("you beat the boss!"); -youmadeit.play_wait(); +dlgscroll.play();dlg(voice[55]);dlgend.play(); +dlgplay("sounds/newlevel.wav", true, false); if(stopall) dieStopSounds(); playerposition=0; levelpoints+=5000*pointmult; @@ -853,10 +841,10 @@ level++; timebonuspoints-=(leveltimer.elapsed/1000); levelpoints+=timebonuspoints; levelend.volume=-10; -voice.speak_wait("You spent "+leveltimer.elapsed/1000+" seconds on this level, resulting in a time bonus of: "+timebonuspoints); +dlgscroll.play();dlg(voice[56]+leveltimer.elapsed/1000+voice[57]+timebonuspoints+voice[58]); totalpoints+=levelpoints; -voice.speak_interrupt("Score for this level was "+levelpoints+". You now have "+totalpoints+" points total."); -voice.speak_wait("level 6"); +dlgscroll.play();dlg(voice[59]+levelpoints+voice[60]+totalpoints+voice[61]); +dlgscroll.play();dlg(voice[62]); levelDesc(); initAfterLevels(); }} @@ -932,7 +920,7 @@ enemyTeleport(); }}} for(uint x=0; x0) { -voice.speak_interrupt_wait("you lost a life!"); -voice.speak_wait("level "+level); +dlgscroll.play();dlg(voice[53]); +dlgplay("sounds/lifeloss/"+random(1,find_files('sounds/lifeloss/*.*').length())+".ogg",true,false); +dlgscroll.play();dlg(voice[54]+level); levelDesc(); playerhealth=250; playerposition=0; @@ -955,7 +944,7 @@ initAfterLevels(); } }} if(level>=beatengame) { -voice.speak_wait("yay! You beat the game. New levels are going to be added soon! Oh, I forgot to tell you something! Your score was "+totalpoints); +dlgscroll.play();dlg(voice[2]+totalpoints+voice[3]);dlgend.play(); menu(); } if(playerposition==levelendposition&&level!=5) { @@ -963,7 +952,7 @@ itemfalling.pause(); changer.pause(); duration.pause(); leveltimer.pause(); -youmadeit.play_wait(); +dlgplay("sounds/newlevel.wav", true, false); if(stopall) dieStopSounds(); leveltimer.resume(); changer.resume(); @@ -974,17 +963,17 @@ levelpoints+=(level*200)*pointmult; levelpoints+=timebonuspoints; totalpoints+=levelpoints; levelend.volume=-10; -voice.speak_wait("You spent "+leveltimer.elapsed/1000+" seconds on this level, resulting in a time bonus of: "+timebonuspoints); -voice.speak_interrupt_wait("Score for this level was "+levelpoints+". You now have "+totalpoints+" points total."); +dlgscroll.play();dlg(voice[56]+leveltimer.elapsed/1000+voice[57]+timebonuspoints+voice[58]); +dlgscroll.play();dlg(voice[59]+levelpoints+voice[60]+totalpoints+voice[61]); if(totalpoints>20000) { if(!file_exists("cheats.txt")) { cheatfile.open("cheats.txt","w"); -cheatfile.write("cheats for Battle zone! \r\n To activate a cheat, just type the command into the game. They work at most times.\r\nHold down delete and press z: give you 250 armor\r\nAlt+backslash: evade blades forever\r\nControl+f9: skip this level and go on to the next\r\nhold down space and press 9: give you a whole whole whole whole whole lot of ammo!\r\nHold down f4 and press enter: give you 250 extra lives!\r\nHold down enter and press x: give you 500 more potions!\r\nHold down u, then hold down space, and then press left shift: give you 500 extra booby traps!"); -voice.speak_wait("For gaining over 20000 points in the game, you have just received a cheats file! It can be found in your battle zone directory."); +cheatfile.write(voice[92]); +dlgscroll.play();dlg(voice[93]); }} if(level>=8) fireballs+=2; level++; -voice.speak("level "+level); +dlgscroll.play();dlg("level "+level); levelDesc(); playerposition=0; int x=random(0,step.length()-1); @@ -1001,7 +990,7 @@ positions(); } if(playerposition==boobyposition) { boobysound.volume=-13; -oops.play_wait(); +dlgplay("sounds/oopsy.wav", true, false); lives--; dieStopSounds(); if(lives<=0) { @@ -1013,8 +1002,9 @@ while(boobydie.playing) {if(key_pressed(KEY_RETURN)||key_pressed(KEY_SPACE)) boo menu(); } if(lives>0) { -voice.speak_interrupt_wait("you lost a life!"); -voice.speak_wait("level "+level); +dlgscroll.play();dlg(voice[53]); +dlgplay("sounds/lifeloss/"+random(1,find_files('sounds/lifeloss/*.*').length())+".ogg",true,false); +dlgscroll.play();dlg(voice[54]+level); levelDesc(); playerhealth=250; boobyposition=-1; @@ -1066,7 +1056,7 @@ avoiding=false; } if(playerposition==blades[x].position&&!usingblades) { dieStopSounds(); -dieblades.play_wait(); +dlgplay("sounds/dieknife.ogg", true, false); lives--; if(lives<=0) { @@ -1080,8 +1070,9 @@ if(key_pressed(KEY_SPACE)||key_pressed(KEY_RETURN)) conv.stop(); menu(); } if(lives>0) { -voice.speak_interrupt_wait("you lost a life!"); -voice.speak_wait("level "+level); +dlgscroll.play();dlg(voice[53]); +dlgplay("sounds/lifeloss/"+random(1,find_files('sounds/lifeloss/*.*').length())+".ogg",true,false); +dlgscroll.play();dlg(voice[54]+level); levelDesc(); playerhealth=250; playerposition=0; @@ -1115,7 +1106,7 @@ for(uint x=0; x20000) { if(!file_exists("cheats.txt")) { cheatfile.open("cheats.txt","w"); -cheatfile.write("cheats for Battle zone! \r\n To activate a cheat, just type the command into the game. They work at most times.\r\nHold down delete and press z: give you 250 armor\r\nAlt+backslash: evade blades forever\r\nControl+f9: skip this level and go on to the next\r\nhold down space and press 9: give you a whole whole whole whole whole lot of ammo!\r\nHold down f4 and press enter: give you 250 extra lives\r\nHold down enter and press x: give you 500 more potions\r\nHold down u, then hold down space, and then press left shift: give you 500 extra booby traps!"); -voice.speak_wait("For gaining over 20000 points in the game, you have just received a cheats file! It can be found in your battle zone directory."); +cheatfile.write(voice[92]); +dlgscroll.play();dlg(voice[93]); }} if(level>2) boulders+=1; fireballs+=2; @@ -1137,7 +1128,7 @@ levelenemies+=5; if(level%2==0) numberofpits++; if(level>=12) polices+=2; numberofblades++; -voice.speak("level "+level); +dlgscroll.play();dlg("level "+level); levelDesc(); playerposition=0; levelendposition+=25; @@ -1155,13 +1146,13 @@ checkMove(); } void weapon(int whichWeapon) { using=whichWeapon; -switch(using) {case 1: voice.speak_interrupt("sword!"); +switch(using) {case 1: speak(voice[63]); break; -case 2: voice.speak_interrupt("gun!"); +case 2: speak(voice[64]); break; -case 3: voice.speak_interrupt("booby traps!"); +case 3: speak(voice[65]); break; -case 4: voice.speak_interrupt("machine gun!"); +case 4: speak(voice[66]); }} void items() { itemfalling.restart(); @@ -1206,7 +1197,7 @@ loadgun.play(); } if(checkout==21||checkout==20) fake.play(); if(checkout==3||checkout==10) { -voice.speak_interrupt("extra points!"); +speak(voice[67]); levelpoints+=100+(25*(gameDiff-1)); } if(checkout==4||checkout==14) { @@ -1218,7 +1209,7 @@ evades++; } if(checkout==5||checkout==11) { boobies+=3+(4*(gameDiff-1)); -voice.speak_interrupt("booby traps!"); +speak(voice[65]); } if(checkout==6||checkout==12||checkout==16||checkout==17) { armorgrab.play(); @@ -1226,7 +1217,7 @@ armor++; } if(checkout==7||checkout==13||checkout==15||checkout==18) { if(!reality) { -voice.speak_interrupt("extra life!"); +speak(voice[68]); lives++; } if(reality) { @@ -1296,77 +1287,84 @@ enemy[x].voice.play_looped(); } void levelDesc() { switch(level) {case 1: -voice.speak_wait("Getting out of the lab"); +dlgscroll.play();dlg(voice[94]);dlgend.play(); break; -case 2: voice.speak_wait("scenes from country, I mean city, life"); +case 2: +dlgscroll.play();dlg(voice[95]);dlgend.play(); break; case 3: -voice.speak_wait("The water of death"); +dlgscroll.play();dlg(voice[96]);dlgend.play(); break; case 4: -voice.speak_wait("Street know how"); +dlgscroll.play();dlg(voice[97]);dlgend.play(); break; case 6: -voice.speak_wait("Forest excursions"); +dlgscroll.play();dlg(voice[98]);dlgend.play(); break; case 7: -voice.speak_wait("rumbles in the dark"); +dlgscroll.play();dlg(voice[99]);dlgend.play(); break; -case 8: voice.speak_wait("A winter wonder land, full of enemies ..."); +case 8: +dlgscroll.play();dlg(voice[100]);dlgend.play(); break; -case 9: voice.speak_wait("The Vile River"); +case 9: +dlgscroll.play();dlg(voice[101]);dlgend.play(); break; case 11: -voice.speak_wait("Cave of violence"); +dlgscroll.play();dlg(voice[102]);dlgend.play(); break; case 12: -voice.speak_wait("Danger on the road"); +dlgscroll.play();dlg(voice[103]);dlgend.play(); break; case 13: -voice.speak_wait("caught in the storm!"); +dlgscroll.play();dlg(voice[104]);dlgend.play(); }} void shop() { int cost; int buy; string name; -dynamic_menu shopmenu; -shopmenu.set_tts_object(voice); -shopmenu.add_item_tts("buy extra lives, 4000 points per life"); -shopmenu.add_item_tts("Buy potions, 1000 points per potion"); -shopmenu.add_item_tts("buy ammo, 900 points for each pack of 30 ammo"); -shopmenu.add_item_tts("buy booby traps, 1200 points for each set of 5 booby traps"); -shopmenu.add_item_tts("buy armor, 800 points for each armor"); -shopmenu.add_item_tts("buy evade blades items, 1500 points per item"); +dynamic_menu_pro shopmenu; +shopmenu.click_sound="sounds/menuclick.wav"; +shopmenu.enter_sound="sounds/menuenter.wav"; +shopmenu.enable_multi_letter_navigation=true; +shopmenu.enable_up_and_down=true; +shopmenu.allow_escape=false; +shopmenu.add_item_tts(voice[69]); +shopmenu.add_item_tts(voice[70]); +shopmenu.add_item_tts(voice[71]); +shopmenu.add_item_tts(voice[72]); +shopmenu.add_item_tts(voice[73]); +shopmenu.add_item_tts(voice[74]); shopmenu.allow_escape=true; shopmenu.wrap=true; -int result=shopmenu.run("Welcome to the battle zone shop! You have "+totalpoints+" points that you can give me! Select an item you wish to buy!",true); +int result=shopmenu.run(voice[75]+totalpoints+voice[76],true); switch(result) { case 1: -name="lives"; +name=voice[44]; cost=4000; break; case 2: -name="potions"; +name=voice[46]; cost=1000; break; case 3: -name="ammo packs"; +name=voice[77]; cost=900; break; case 4: -name="booby trap sets"; +name=voice[78]; cost=1200; break; case 5: -name="armor ratings"; +name=voice[79]; cost=800; break; case 6: -name="Blade protectors"; +name=voice[42]; cost=1500; } if(result==0) return; -voice.speak_interrupt("How much of the item do you want to buy?"); +speak(voice[80]); while(true) { if(key_pressed(KEY_1)) {buy=1;break;} if(key_pressed(KEY_2)) {buy=2;break;} @@ -1379,20 +1377,18 @@ if(key_pressed(KEY_8)) {buy=8;break;} if(key_pressed(KEY_9)) {buy=9;break;} if(key_pressed(KEY_0)) {buy=10;break;} wait(10);} -voice.speak_interrupt("so. You want to buy "+buy+" "+name+". I hope you have "+cost*buy+" points to give me, because that's how much it will cost. You still want to buy it?"); +speak(voice[81]+buy+" "+name+voice[82]+cost*buy+voice[83]); while(true) { -if(key_pressed(KEY_Y)) {sound cashreg; -cashreg.load("sounds/money"+random(1,2)+".wav"); -if(totalpointscost*buy) { -cashreg.play_wait(); -voice.stop(); +dlgplay("sounds/money"+random(1,2)+".wav", true, false); totalpoints-=cost*buy; if(result==1) { if(!reality) lives+=buy; if(reality) { -voice.speak_interrupt_wait("oh wait, you're playing in reality mode. I'm sorry, but we're sold out on extra lives. Here's your money bac."); -cashreg.play_wait(); +dlgscroll.play();dlg(voice[85]);dlgend.play(); +dlgplay("sounds/money"+random(1,2)+".wav", true, false); totalpoints+=cost*buy;} } if(result==2) {potions+=buy;storepotion.play();} @@ -1407,7 +1403,7 @@ wait(5); }} void useevadeblades() { if(evades<=0) { -voice.speak_interrupt("you don't have any more evade blade items!"); +speak(voice[86]); return; } else { @@ -1445,21 +1441,21 @@ if(blades[x].whereitis.playing) blades[x].whereitis.pause(); if(level!=5||level!=10) levelend.pause(); while(true) { if(key_pressed(KEY_ESCAPE)) { -voice.speak_interrupt("do you want to exit? Press y enter to exit, or space to return to the game"); +speak(voice[52]); while(true) {if(key_pressed(KEY_RETURN)) {paus.stop();menu(); break;} -if(key_pressed(KEY_SPACE)) {voice.stop();break;} +if(key_pressed(KEY_SPACE)) {break;} }} -if(key_pressed(KEY_T)) voice.speak_interrupt(number_to_words(totalpoints+levelpoints, true)+" points"); -if(key_pressed(KEY_A)) voice.speak_interrupt(ammo+" ammo"); -if(key_pressed(KEY_B)) voice.speak_interrupt(boobies+" traps"); -if(key_down(KEY_LCONTROL)&&key_pressed(KEY_P)) voice.speak_interrupt(potions+" potions"); -if(key_pressed(KEY_H)) voice.speak_interrupt("health "+playerhealth+", armor "+armor); -if(key_pressed(KEY_TAB)) voice.speak_interrupt("level"+level); +if(key_pressed(KEY_T)) speak(number_to_words(totalpoints+levelpoints, true)+" points"); +if(key_pressed(KEY_A)) speak(ammo+voice[51]); +if(key_pressed(KEY_B)) speak(boobies+voice[43]); +if(key_down(KEY_LCONTROL)&&key_pressed(KEY_P)) speak(potions+voice[46]); +if(key_pressed(KEY_H)) speak(voice[49]+playerhealth +voice[50]+armor); +if(key_pressed(KEY_TAB)) speak(voice[54]+level); if(key_pressed(KEY_SPACE)) { if(paus.playing) {paus.pause();continue;} if(paus.paused) {paus.play_looped();continue;} } -if(key_pressed(KEY_L)) voice.speak_interrupt(lives+" lives"); +if(key_pressed(KEY_L)) speak(lives+voice[44]); if(key_pressed(KEY_F8)) { sounds.resume_all(); paus.close(); @@ -1494,14 +1490,18 @@ wait(5); } } void chooseDiff() { -dynamic_menu diffmenu; -diffmenu.set_tts_object(voice); -diffmenu.add_item_tts("boring blast"); -diffmenu.add_item_tts("Medium mass murder"); -diffmenu.add_item_tts("Advanced arson"); -diffmenu.add_item_tts("I just wanna die now!"); +dynamic_menu_pro diffmenu; +diffmenu.click_sound="sounds/menuclick.wav"; +diffmenu.enter_sound="sounds/menuenter.wav"; +diffmenu.enable_multi_letter_navigation=true; +diffmenu.enable_up_and_down=true; +diffmenu.allow_escape=false; +diffmenu.add_item_tts(voice[87]); +diffmenu.add_item_tts(voice[88]); +diffmenu.add_item_tts(voice[89]); +diffmenu.add_item_tts(voice[90]); diffmenu.allow_escape=false; -gameDiff=diffmenu.run_extended("Choose your difficulty level!",true,1,true); +gameDiff=diffmenu.run_extended(voice[91],true,1,true); } void savegame() { file enemyfile; @@ -1519,13 +1519,13 @@ savefile.write(writer); for(int x=0; x