diff --git a/Readme.md b/Readme.md index e04df8a..b1223e4 100644 --- a/Readme.md +++ b/Readme.md @@ -2,9 +2,11 @@ What began as a test for importing UT vertex meshes has turned into an actual full UT weapon and item mod. -This mod requires GZDoom 4.3 or later. +This mod requires GZDoom 4.9 or later. -## Currently implemented +Four years have passed since all of this started, in 2018. It took four years for some of the planned features to finally be possible. A lot of time sure has passed, huh? + +## What's In - Flak Cannon (slot 8) - ASMD Shock Rifle (slot 4) @@ -52,29 +54,25 @@ This mod requires GZDoom 4.3 or later. - UT player classes - Heretic compatibility - Spanish localization - - UT gore system (WIP, toggleable) - Liquid splashes - Original Invulnerability and Night Vision items - Hexen compatibility - Fancy titlemap - Semi-accurate UT sound behaviour - - Hacky cameratexture ammo counters for Pulsegun, Minigun, Flak Cannon and rocket launcher (may break) + - Ammo counters on weapon models + - Support for player skin customization + - On-the-fly reskins for certain weapons and items -## In progress +## What's Barely There - - N/A this is the 1.1.3 release. + - UT gore system (incomplete, toggleable, other gore mods are recommended instead) -## Planned +## What Didn't Make It - - Stuff for 1.2 - - Refactor everything, backporting many fixes and improvements from SWWM GZ. - - Touch up blood/gibbing features. At the moment, Nashgore is still a superior alternative. - - Help screens describing items and stuff (maybe?). - - Stuff for much later - - Proper scripted textures for ammo counters, if they are ever implemented. - - Redo player models once GZDoom gets a well deserved model animation system overhaul (mainly to clean up the current, messy implementation of this). - - Add weapon attachment support to player models when that is also added in (at the moment all player models have an integrated placeholder weapon). + - Third person weapon models (all players currently look like they're holding a Quadshot, features for this are not in 4.9) + - Additional player classes (Skaarj Hybrid, Nali, War Cow), including those that use skeletal models (Xan Mk2, War Boss) + - Relics -## Known bugs +## Known Bugs - Biorifle sludge doesn't attach properly when it lands on the edge between sectors. This is most noticeable with moving sectors and 3d floors. It doesn't seem like there's an easy fix for this. diff --git a/animdefs.txt b/animdefs.txt index 17cc507..f83970b 100644 --- a/animdefs.txt +++ b/animdefs.txt @@ -4,7 +4,7 @@ texture static1 range static4 tics 1 texture invis00 range invis31 tics 2 -cameratexture PAmmoLed 256 128 -cameratexture FlakALed 128 64 -cameratexture MiniALed 64 64 -cameratexture RAmmoLed 64 64 +canvastexture PAmmoLed 256 128 +canvastexture FlakALed 128 64 +canvastexture MiniALed 64 64 +canvastexture AmbGlowT 4 4 diff --git a/brightmaps/220/Judamage1.png b/brightmaps/220/Judamage1.png new file mode 100644 index 0000000..dde37a1 Binary files /dev/null and b/brightmaps/220/Judamage1.png differ diff --git a/brightmaps/220/Jwarhead4.png b/brightmaps/220/Jwarhead4.png new file mode 100644 index 0000000..e20e37d Binary files /dev/null and b/brightmaps/220/Jwarhead4.png differ diff --git a/brightmaps/220/Jwhpick1.png b/brightmaps/220/Jwhpick1.png new file mode 100644 index 0000000..b63b451 Binary files /dev/null and b/brightmaps/220/Jwhpick1.png differ diff --git a/brightmaps/220/oldtloc1.png b/brightmaps/220/oldtloc1.png new file mode 100644 index 0000000..ccf17ae Binary files /dev/null and b/brightmaps/220/oldtloc1.png differ diff --git a/brightmaps/222/JPulseGun_02.png b/brightmaps/222/JPulseGun_02.png new file mode 100644 index 0000000..588dce9 Binary files /dev/null and b/brightmaps/222/JPulseGun_02.png differ diff --git a/brightmaps/222/JPulsePickup_01.png b/brightmaps/222/JPulsePickup_01.png new file mode 100644 index 0000000..588dce9 Binary files /dev/null and b/brightmaps/222/JPulsePickup_01.png differ diff --git a/brightmaps/222/Jwarhead4.png b/brightmaps/222/Jwarhead4.png new file mode 100644 index 0000000..e20e37d Binary files /dev/null and b/brightmaps/222/Jwarhead4.png differ diff --git a/brightmaps/222/Jwhpick1.png b/brightmaps/222/Jwhpick1.png new file mode 100644 index 0000000..b63b451 Binary files /dev/null and b/brightmaps/222/Jwhpick1.png differ diff --git a/brightmaps/322/JPulseGun_02.png b/brightmaps/322/JPulseGun_02.png new file mode 100644 index 0000000..df0cbed Binary files /dev/null and b/brightmaps/322/JPulseGun_02.png differ diff --git a/brightmaps/322/JPulsePickup_01.png b/brightmaps/322/JPulsePickup_01.png new file mode 100644 index 0000000..588dce9 Binary files /dev/null and b/brightmaps/322/JPulsePickup_01.png differ diff --git a/brightmaps/JAllMap1_a00.png b/brightmaps/JAllMap1_a00.png index 6ca149b..b51abbd 100644 Binary files a/brightmaps/JAllMap1_a00.png and b/brightmaps/JAllMap1_a00.png differ diff --git a/brightmaps/JAllMap1_a01.png b/brightmaps/JAllMap1_a01.png index bc36315..e16ea6f 100644 Binary files a/brightmaps/JAllMap1_a01.png and b/brightmaps/JAllMap1_a01.png differ diff --git a/brightmaps/JAmmoBox1.png b/brightmaps/JAmmoBox1.png index ebc2c47..642e630 100644 Binary files a/brightmaps/JAmmoBox1.png and b/brightmaps/JAmmoBox1.png differ diff --git a/brightmaps/JBRifle22.png b/brightmaps/JBRifle22.png index 9bf2360..eca7ac7 100644 Binary files a/brightmaps/JBRifle22.png and b/brightmaps/JBRifle22.png differ diff --git a/brightmaps/JBRifle24.png b/brightmaps/JBRifle24.png index bcad603..8ba1bc7 100644 Binary files a/brightmaps/JBRifle24.png and b/brightmaps/JBRifle24.png differ diff --git a/brightmaps/S_Ammo.png b/brightmaps/S_Ammo.png index bc5cee2..7f6da4e 100644 Binary files a/brightmaps/S_Ammo.png and b/brightmaps/S_Ammo.png differ diff --git a/brightmaps/tloc2.png b/brightmaps/tloc2.png index 23930ac..07e8e00 100644 Binary files a/brightmaps/tloc2.png and b/brightmaps/tloc2.png differ diff --git a/credits.txt b/credits.txt index 5cb08ed..3ba6109 100644 --- a/credits.txt +++ b/credits.txt @@ -1,6 +1,6 @@ Models, textures and audio (C)1999 Epic Games. -Porting and adjustments by Marisa Kirisame. +Porting and adjustments by Marisa the Magician. -Special thanks to KeksDose for libeye. +Special thanks to Gutawer for Gutamatics. Special thanks also to Skerion for the video used by the anti-bd switch. diff --git a/cvarinfo.txt b/cvarinfo.txt index 03a0d5a..59f655a 100644 --- a/cvarinfo.txt +++ b/cvarinfo.txt @@ -1,29 +1,28 @@ -user int flak_protomenu = 0; // version of main menu (0: final, 1: 22x betas, 2: same as 1, but with extended menu music) -user bool flak_showmenu = true; // show the UT main menu background whenever the menu is open +nosave int flak_protomenu = 0; // version of main menu (0: final, 1: 22x betas, 2: same as 1, but with extended menu music) +nosave bool flak_showmenu = true; // show the UT main menu background whenever the menu is open server bool flak_pulsereload = false; // pulsegun can reload (features unused animation from early versions) server bool flak_enforcerreload = false; // enforcer can reload -user bool flak_redeemerreadout = true; // enable target readout, may cause slowdowns on weak CPUs -user bool flak_redeemerreadout_perframe = false; // target readout updates per-frame rather than per-tic. experimental for asmjit performance testing (seems to work well so far) -user int flak_colorprefs = 2; // 0: team color, 1: player color, 2: custom color -user color flak_colorcustom = "00 80 ff"; // custom hud color -user int flak_opacity = 15; // UT's opacity is 1 <-> 16 in steps of 1 (default 15) +nosave bool flak_redeemerreadout = true; // enable target readout, may cause slowdowns on weak CPUs +nosave int flak_colorprefs = 2; // 0: team color, 1: player color, 2: custom color +nosave color flak_colorcustom = "00 80 ff"; // custom hud color +nosave int flak_opacity = 15; // UT's opacity is 1 <-> 16 in steps of 1 (default 15) // 16 means fully opaque, everything else is just additive with gradually lowering alpha // status is never fully opaque (clamped under 16) // currently selected weapon and numbers are fully opaque until 8 opacity (their opacity is bumped by 7 basically) -user bool flak_showweapons = true; // if disabled, frags and ammo are shown centered, with a gap for armor and health -user bool flak_showstatus = true; // if disabled armor and health show on the top right (or center between frags and ammo if weapon display is disabled) -user bool flak_showammo = true; // show ammo counters -user bool flak_showfrags = true; // show kill/frag count -user bool flak_showinfo = true; // show name of aimed at player in mp (and their health if in coop or same team) -user float flak_hudsize = 1.0; // 0.2 <-> 1.0 in steps of 0.2 (default 1.0) -user float flak_weaponsize = 0.8; // 0.2 <-> 1.0 in steps of 0.2 (default 0.8) -user float flak_statussize = 1.0; // 0.5 <-> 1.5 in steps of 0.1 (default 1.0) -user bool flak_footsteps = true; // players make footstep sounds -user bool flak_bossfootsteps = false; // boss players play mechanic footsteps (unlike in vanilla UT) +nosave bool flak_showweapons = true; // if disabled, frags and ammo are shown centered, with a gap for armor and health +nosave bool flak_showstatus = true; // if disabled armor and health show on the top right (or center between frags and ammo if weapon display is disabled) +nosave bool flak_showammo = true; // show ammo counters +nosave bool flak_showfrags = true; // show kill/frag count +nosave bool flak_showinfo = true; // show name of aimed at player in mp (and their health if in coop or same team) +nosave float flak_hudsize = 1.0; // 0.2 <-> 1.0 in steps of 0.2 (default 1.0) +nosave float flak_weaponsize = 0.8; // 0.2 <-> 1.0 in steps of 0.2 (default 0.8) +nosave float flak_statussize = 1.0; // 0.5 <-> 1.5 in steps of 0.1 (default 1.0) +nosave bool flak_footsteps = true; // players make footstep sounds +nosave bool flak_bossfootsteps = false; // boss players play mechanic footsteps (unlike in vanilla UT) server bool flak_translocator = false; // translocator is enabled (hello, sequence breaking) server bool flak_transloc2k4 = false; // translocator has recharging ammo like in UT2k4 and up user bool flak_noswitchdeemer = true; // don't switch to redeemer when out of ammo -user bool flak_deemershader = false; // fancy blur/grain/tint shader +nosave bool flak_deemershader = false; // fancy blur/grain/tint shader server bool flak_classicsshock = false; // classic enhanced shock rifle (no altfire, beams don't have splash damage) server bool flak_utmovement = false; // emulate UE1's air/ground movement physics server bool flak_doomspeed = false; // keep Doomguy run speed when using UT movement @@ -38,8 +37,31 @@ server bool flak_blood = true; // [WIP] use doom tournament blood (disable if server bool flak_gibs = false; // [WIP/UNSTABLE] use doom tournament gibbing (disable if using another gore mod) server bool flak_doomtest = false; // made toggleable due to loud complaints server noarchive bool flak_instagib = false; // instagib mode (only for dm) - this cvar has to be set from the command line -user float flak_flashstrength = 1.0; // strength of screen flashes +nosave float flak_flashstrength = 1.0; // strength of screen flashes server bool flak_sawammo = false; // chainsaw uses fuel -user bool flak_zoomsound = false; // sniper rifle plays unused zoom sounds (annoying) -user bool flak_zoomshader = false; // sniper rifle has a scope shader +nosave bool flak_zoomsound = false; // sniper rifle plays unused zoom sounds (annoying) +nosave bool flak_zoomshader = false; // sniper rifle has a scope shader server bool flak_vanillaarmor = true; // shield belt removes body/thigh armors on pickup +nosave int flak_ambglow = 1; // ambient glow for pickup skins (0: none, 1: normal, 2: high visibility) + +user int flak_skinteam = -1; // team color for player skin +user String flak_cmdoskin = "cmdo"; // skin for Male Commando class +user String flak_cmdoface = "blake"; // face for Male Commando class +user String flak_fcmdskin = "cmdo"; // skin for Female Commando class +user String flak_fcmdface = "ivana"; // face for Female Commando class +user String flak_sldrskin = "sldr"; // skin for Male Soldier class +user String flak_sldrface = "brock"; // face for Male Soldier class +user String flak_armyskin = "army"; // skin for Female Soldier class +user String flak_armyface = "lauren"; // face for Female Soldier class + +nosave bool flak_oldudamage = false; // v220 UDamage skin +nosave int flak_oldredeemer = 0; // v220 or v222 Redeemer skin +nosave bool flak_oldimpact = false; // v220 Impact Hammer skin +server bool flak_oldtloc = false; // v220 Translocator (not a skin, so can't be clientside) +nosave int flak_oldpulse = 0; // v222 or v322 Pulsegun skin + +nosave bool flak_announcer = false; // enable UT announcer +nosave float flak_announcervol = 0.5; // volume of announcer + +nosave bool flak_voices = false; // enable UT taunts +nosave float flak_voicevol = 1.0; // volume of taunts diff --git a/fonts/Tahoma10/0020.png b/fonts/Tahoma10/0020.png deleted file mode 100644 index 4a602e2..0000000 Binary files a/fonts/Tahoma10/0020.png and /dev/null differ diff --git a/fonts/Tahoma10/0021.png b/fonts/Tahoma10/0021.png index 1bfdb96..b7dbe0d 100644 Binary files a/fonts/Tahoma10/0021.png and b/fonts/Tahoma10/0021.png differ diff --git a/fonts/Tahoma10/0022.png b/fonts/Tahoma10/0022.png index be0dc8b..29a72b4 100644 Binary files a/fonts/Tahoma10/0022.png and b/fonts/Tahoma10/0022.png differ diff --git a/fonts/Tahoma10/0023.png b/fonts/Tahoma10/0023.png index b1695d7..1a1255a 100644 Binary files a/fonts/Tahoma10/0023.png and b/fonts/Tahoma10/0023.png differ diff --git a/fonts/Tahoma10/0024.png b/fonts/Tahoma10/0024.png index 6c4c6f7..9973ed4 100644 Binary files a/fonts/Tahoma10/0024.png and b/fonts/Tahoma10/0024.png differ diff --git a/fonts/Tahoma10/0025.png b/fonts/Tahoma10/0025.png index d4b7d38..0c5ce9a 100644 Binary files a/fonts/Tahoma10/0025.png and b/fonts/Tahoma10/0025.png differ diff --git a/fonts/Tahoma10/0026.png b/fonts/Tahoma10/0026.png index a84902a..b6b90c2 100644 Binary files a/fonts/Tahoma10/0026.png and b/fonts/Tahoma10/0026.png differ diff --git a/fonts/Tahoma10/0027.png b/fonts/Tahoma10/0027.png index 1042b62..57daccc 100644 Binary files a/fonts/Tahoma10/0027.png and b/fonts/Tahoma10/0027.png differ diff --git a/fonts/Tahoma10/0028.png b/fonts/Tahoma10/0028.png index 8567eeb..3aceb4c 100644 Binary files a/fonts/Tahoma10/0028.png and b/fonts/Tahoma10/0028.png differ diff --git a/fonts/Tahoma10/0029.png b/fonts/Tahoma10/0029.png index f6329b3..5beda9e 100644 Binary files a/fonts/Tahoma10/0029.png and b/fonts/Tahoma10/0029.png differ diff --git a/fonts/Tahoma10/002a.png b/fonts/Tahoma10/002a.png index d93b31b..9b9285d 100644 Binary files a/fonts/Tahoma10/002a.png and b/fonts/Tahoma10/002a.png differ diff --git a/fonts/Tahoma10/002b.png b/fonts/Tahoma10/002b.png index 2ffd1b8..9e754ed 100644 Binary files a/fonts/Tahoma10/002b.png and b/fonts/Tahoma10/002b.png differ diff --git a/fonts/Tahoma10/002c.png b/fonts/Tahoma10/002c.png index 81b8073..e1317db 100644 Binary files a/fonts/Tahoma10/002c.png and b/fonts/Tahoma10/002c.png differ diff --git a/fonts/Tahoma10/002d.png b/fonts/Tahoma10/002d.png index fb47a11..b7421ca 100644 Binary files a/fonts/Tahoma10/002d.png and b/fonts/Tahoma10/002d.png differ diff --git a/fonts/Tahoma10/002e.png b/fonts/Tahoma10/002e.png index 51815d2..78f6f52 100644 Binary files a/fonts/Tahoma10/002e.png and b/fonts/Tahoma10/002e.png differ diff --git a/fonts/Tahoma10/002f.png b/fonts/Tahoma10/002f.png index 0c49a39..0bdebd0 100644 Binary files a/fonts/Tahoma10/002f.png and b/fonts/Tahoma10/002f.png differ diff --git a/fonts/Tahoma10/0030.png b/fonts/Tahoma10/0030.png index 3ba3c0c..0ad24a7 100644 Binary files a/fonts/Tahoma10/0030.png and b/fonts/Tahoma10/0030.png differ diff --git a/fonts/Tahoma10/0031.png b/fonts/Tahoma10/0031.png index 47dd5f2..5220e97 100644 Binary files a/fonts/Tahoma10/0031.png and b/fonts/Tahoma10/0031.png differ diff --git a/fonts/Tahoma10/0032.png b/fonts/Tahoma10/0032.png index db59eb4..b11726d 100644 Binary files a/fonts/Tahoma10/0032.png and b/fonts/Tahoma10/0032.png differ diff --git a/fonts/Tahoma10/0033.png b/fonts/Tahoma10/0033.png index 3f2b8f4..eaf02db 100644 Binary files a/fonts/Tahoma10/0033.png and b/fonts/Tahoma10/0033.png differ diff --git a/fonts/Tahoma10/0034.png b/fonts/Tahoma10/0034.png index 805428f..6927ec8 100644 Binary files a/fonts/Tahoma10/0034.png and b/fonts/Tahoma10/0034.png differ diff --git a/fonts/Tahoma10/0035.png b/fonts/Tahoma10/0035.png index 4f2b9e8..9bcc384 100644 Binary files a/fonts/Tahoma10/0035.png and b/fonts/Tahoma10/0035.png differ diff --git a/fonts/Tahoma10/0036.png b/fonts/Tahoma10/0036.png index 0223ced..cb923d5 100644 Binary files a/fonts/Tahoma10/0036.png and b/fonts/Tahoma10/0036.png differ diff --git a/fonts/Tahoma10/0037.png b/fonts/Tahoma10/0037.png index 3b62727..bbce44c 100644 Binary files a/fonts/Tahoma10/0037.png and b/fonts/Tahoma10/0037.png differ diff --git a/fonts/Tahoma10/0038.png b/fonts/Tahoma10/0038.png index cb57d75..532e1fa 100644 Binary files a/fonts/Tahoma10/0038.png and b/fonts/Tahoma10/0038.png differ diff --git a/fonts/Tahoma10/0039.png b/fonts/Tahoma10/0039.png index f808b55..9757966 100644 Binary files a/fonts/Tahoma10/0039.png and b/fonts/Tahoma10/0039.png differ diff --git a/fonts/Tahoma10/003a.png b/fonts/Tahoma10/003a.png index 7111681..6127e5b 100644 Binary files a/fonts/Tahoma10/003a.png and b/fonts/Tahoma10/003a.png differ diff --git a/fonts/Tahoma10/003b.png b/fonts/Tahoma10/003b.png index 9a9dd7f..407595c 100644 Binary files a/fonts/Tahoma10/003b.png and b/fonts/Tahoma10/003b.png differ diff --git a/fonts/Tahoma10/003c.png b/fonts/Tahoma10/003c.png index 70204ff..c493d92 100644 Binary files a/fonts/Tahoma10/003c.png and b/fonts/Tahoma10/003c.png differ diff --git a/fonts/Tahoma10/003d.png b/fonts/Tahoma10/003d.png index e179b92..15ba004 100644 Binary files a/fonts/Tahoma10/003d.png and b/fonts/Tahoma10/003d.png differ diff --git a/fonts/Tahoma10/003e.png b/fonts/Tahoma10/003e.png index f90a4c4..38c6b3d 100644 Binary files a/fonts/Tahoma10/003e.png and b/fonts/Tahoma10/003e.png differ diff --git a/fonts/Tahoma10/003f.png b/fonts/Tahoma10/003f.png index b1ab884..ee1a4cf 100644 Binary files a/fonts/Tahoma10/003f.png and b/fonts/Tahoma10/003f.png differ diff --git a/fonts/Tahoma10/0040.png b/fonts/Tahoma10/0040.png index 5759644..e74334b 100644 Binary files a/fonts/Tahoma10/0040.png and b/fonts/Tahoma10/0040.png differ diff --git a/fonts/Tahoma10/0041.png b/fonts/Tahoma10/0041.png index d429a93..1712a4e 100644 Binary files a/fonts/Tahoma10/0041.png and b/fonts/Tahoma10/0041.png differ diff --git a/fonts/Tahoma10/0042.png b/fonts/Tahoma10/0042.png index 87b954d..d80270a 100644 Binary files a/fonts/Tahoma10/0042.png and b/fonts/Tahoma10/0042.png differ diff --git a/fonts/Tahoma10/0043.png b/fonts/Tahoma10/0043.png index e406d45..b989c88 100644 Binary files a/fonts/Tahoma10/0043.png and b/fonts/Tahoma10/0043.png differ diff --git a/fonts/Tahoma10/0044.png b/fonts/Tahoma10/0044.png index 9f0b27e..6a9ca01 100644 Binary files a/fonts/Tahoma10/0044.png and b/fonts/Tahoma10/0044.png differ diff --git a/fonts/Tahoma10/0045.png b/fonts/Tahoma10/0045.png index 7e6d01b..228163d 100644 Binary files a/fonts/Tahoma10/0045.png and b/fonts/Tahoma10/0045.png differ diff --git a/fonts/Tahoma10/0046.png b/fonts/Tahoma10/0046.png index c151c42..de0c721 100644 Binary files a/fonts/Tahoma10/0046.png and b/fonts/Tahoma10/0046.png differ diff --git a/fonts/Tahoma10/0047.png b/fonts/Tahoma10/0047.png index fd26c99..b2ab4ac 100644 Binary files a/fonts/Tahoma10/0047.png and b/fonts/Tahoma10/0047.png differ diff --git a/fonts/Tahoma10/0048.png b/fonts/Tahoma10/0048.png index ce75a72..9155630 100644 Binary files a/fonts/Tahoma10/0048.png and b/fonts/Tahoma10/0048.png differ diff --git a/fonts/Tahoma10/0049.png b/fonts/Tahoma10/0049.png index 1f752c4..882579d 100644 Binary files a/fonts/Tahoma10/0049.png and b/fonts/Tahoma10/0049.png differ diff --git a/fonts/Tahoma10/004a.png b/fonts/Tahoma10/004a.png index 904e3ef..06f2b9f 100644 Binary files a/fonts/Tahoma10/004a.png and b/fonts/Tahoma10/004a.png differ diff --git a/fonts/Tahoma10/004b.png b/fonts/Tahoma10/004b.png index cc8ac07..f824857 100644 Binary files a/fonts/Tahoma10/004b.png and b/fonts/Tahoma10/004b.png differ diff --git a/fonts/Tahoma10/004c.png b/fonts/Tahoma10/004c.png index 0d2092a..54e927e 100644 Binary files a/fonts/Tahoma10/004c.png and b/fonts/Tahoma10/004c.png differ diff --git a/fonts/Tahoma10/004d.png b/fonts/Tahoma10/004d.png index 0a3f1f0..5c2a374 100644 Binary files a/fonts/Tahoma10/004d.png and b/fonts/Tahoma10/004d.png differ diff --git a/fonts/Tahoma10/004e.png b/fonts/Tahoma10/004e.png index 0ca7269..eb11e64 100644 Binary files a/fonts/Tahoma10/004e.png and b/fonts/Tahoma10/004e.png differ diff --git a/fonts/Tahoma10/004f.png b/fonts/Tahoma10/004f.png index 9e55089..3611e36 100644 Binary files a/fonts/Tahoma10/004f.png and b/fonts/Tahoma10/004f.png differ diff --git a/fonts/Tahoma10/0050.png b/fonts/Tahoma10/0050.png index 4b9a813..836cd21 100644 Binary files a/fonts/Tahoma10/0050.png and b/fonts/Tahoma10/0050.png differ diff --git a/fonts/Tahoma10/0051.png b/fonts/Tahoma10/0051.png index 86c7cc1..cc9e868 100644 Binary files a/fonts/Tahoma10/0051.png and b/fonts/Tahoma10/0051.png differ diff --git a/fonts/Tahoma10/0052.png b/fonts/Tahoma10/0052.png index 4b4e0f0..319f3be 100644 Binary files a/fonts/Tahoma10/0052.png and b/fonts/Tahoma10/0052.png differ diff --git a/fonts/Tahoma10/0053.png b/fonts/Tahoma10/0053.png index 7d3a9cb..e5f88b3 100644 Binary files a/fonts/Tahoma10/0053.png and b/fonts/Tahoma10/0053.png differ diff --git a/fonts/Tahoma10/0054.png b/fonts/Tahoma10/0054.png index 5f6d2da..100b23e 100644 Binary files a/fonts/Tahoma10/0054.png and b/fonts/Tahoma10/0054.png differ diff --git a/fonts/Tahoma10/0055.png b/fonts/Tahoma10/0055.png index 4b2f2c5..eccb20b 100644 Binary files a/fonts/Tahoma10/0055.png and b/fonts/Tahoma10/0055.png differ diff --git a/fonts/Tahoma10/0056.png b/fonts/Tahoma10/0056.png index c452699..ccd0da9 100644 Binary files a/fonts/Tahoma10/0056.png and b/fonts/Tahoma10/0056.png differ diff --git a/fonts/Tahoma10/0057.png b/fonts/Tahoma10/0057.png index 3d7978f..08cdde2 100644 Binary files a/fonts/Tahoma10/0057.png and b/fonts/Tahoma10/0057.png differ diff --git a/fonts/Tahoma10/0058.png b/fonts/Tahoma10/0058.png index b084f5d..cce6f68 100644 Binary files a/fonts/Tahoma10/0058.png and b/fonts/Tahoma10/0058.png differ diff --git a/fonts/Tahoma10/0059.png b/fonts/Tahoma10/0059.png index 873cb32..f2237a4 100644 Binary files a/fonts/Tahoma10/0059.png and b/fonts/Tahoma10/0059.png differ diff --git a/fonts/Tahoma10/005a.png b/fonts/Tahoma10/005a.png index 676afa6..5419621 100644 Binary files a/fonts/Tahoma10/005a.png and b/fonts/Tahoma10/005a.png differ diff --git a/fonts/Tahoma10/005b.png b/fonts/Tahoma10/005b.png index e501ffd..444477b 100644 Binary files a/fonts/Tahoma10/005b.png and b/fonts/Tahoma10/005b.png differ diff --git a/fonts/Tahoma10/005c.png b/fonts/Tahoma10/005c.png index f245083..438c9ca 100644 Binary files a/fonts/Tahoma10/005c.png and b/fonts/Tahoma10/005c.png differ diff --git a/fonts/Tahoma10/005d.png b/fonts/Tahoma10/005d.png index 1dd96fe..2b2e7cc 100644 Binary files a/fonts/Tahoma10/005d.png and b/fonts/Tahoma10/005d.png differ diff --git a/fonts/Tahoma10/005e.png b/fonts/Tahoma10/005e.png index bc7cf64..7c94d97 100644 Binary files a/fonts/Tahoma10/005e.png and b/fonts/Tahoma10/005e.png differ diff --git a/fonts/Tahoma10/005f.png b/fonts/Tahoma10/005f.png index 9aa7524..441039d 100644 Binary files a/fonts/Tahoma10/005f.png and b/fonts/Tahoma10/005f.png differ diff --git a/fonts/Tahoma10/0060.png b/fonts/Tahoma10/0060.png index 93fc6d5..90df31e 100644 Binary files a/fonts/Tahoma10/0060.png and b/fonts/Tahoma10/0060.png differ diff --git a/fonts/Tahoma10/0061.png b/fonts/Tahoma10/0061.png index 694c45c..416fbc8 100644 Binary files a/fonts/Tahoma10/0061.png and b/fonts/Tahoma10/0061.png differ diff --git a/fonts/Tahoma10/0062.png b/fonts/Tahoma10/0062.png index efb6241..39e62b5 100644 Binary files a/fonts/Tahoma10/0062.png and b/fonts/Tahoma10/0062.png differ diff --git a/fonts/Tahoma10/0063.png b/fonts/Tahoma10/0063.png index 351d8b3..b8db880 100644 Binary files a/fonts/Tahoma10/0063.png and b/fonts/Tahoma10/0063.png differ diff --git a/fonts/Tahoma10/0064.png b/fonts/Tahoma10/0064.png index 897a9cf..2f91507 100644 Binary files a/fonts/Tahoma10/0064.png and b/fonts/Tahoma10/0064.png differ diff --git a/fonts/Tahoma10/0065.png b/fonts/Tahoma10/0065.png index 4f52cef..3b53ba3 100644 Binary files a/fonts/Tahoma10/0065.png and b/fonts/Tahoma10/0065.png differ diff --git a/fonts/Tahoma10/0066.png b/fonts/Tahoma10/0066.png index 5f8e418..4c03493 100644 Binary files a/fonts/Tahoma10/0066.png and b/fonts/Tahoma10/0066.png differ diff --git a/fonts/Tahoma10/0067.png b/fonts/Tahoma10/0067.png index c05441d..d1cb6d0 100644 Binary files a/fonts/Tahoma10/0067.png and b/fonts/Tahoma10/0067.png differ diff --git a/fonts/Tahoma10/0068.png b/fonts/Tahoma10/0068.png index 541f5c3..6a3a977 100644 Binary files a/fonts/Tahoma10/0068.png and b/fonts/Tahoma10/0068.png differ diff --git a/fonts/Tahoma10/0069.png b/fonts/Tahoma10/0069.png index d385773..09173c5 100644 Binary files a/fonts/Tahoma10/0069.png and b/fonts/Tahoma10/0069.png differ diff --git a/fonts/Tahoma10/006a.png b/fonts/Tahoma10/006a.png index 5f6c483..1845c57 100644 Binary files a/fonts/Tahoma10/006a.png and b/fonts/Tahoma10/006a.png differ diff --git a/fonts/Tahoma10/006b.png b/fonts/Tahoma10/006b.png index a6d9727..40a0b9f 100644 Binary files a/fonts/Tahoma10/006b.png and b/fonts/Tahoma10/006b.png differ diff --git a/fonts/Tahoma10/006c.png b/fonts/Tahoma10/006c.png index 87b12dc..b526c32 100644 Binary files a/fonts/Tahoma10/006c.png and b/fonts/Tahoma10/006c.png differ diff --git a/fonts/Tahoma10/006d.png b/fonts/Tahoma10/006d.png index 35794e3..1ead7fe 100644 Binary files a/fonts/Tahoma10/006d.png and b/fonts/Tahoma10/006d.png differ diff --git a/fonts/Tahoma10/006e.png b/fonts/Tahoma10/006e.png index ea3e07e..909db61 100644 Binary files a/fonts/Tahoma10/006e.png and b/fonts/Tahoma10/006e.png differ diff --git a/fonts/Tahoma10/006f.png b/fonts/Tahoma10/006f.png index 93c3ee3..87979cc 100644 Binary files a/fonts/Tahoma10/006f.png and b/fonts/Tahoma10/006f.png differ diff --git a/fonts/Tahoma10/0070.png b/fonts/Tahoma10/0070.png index e47388c..2789e16 100644 Binary files a/fonts/Tahoma10/0070.png and b/fonts/Tahoma10/0070.png differ diff --git a/fonts/Tahoma10/0071.png b/fonts/Tahoma10/0071.png index 7efa948..c66a13b 100644 Binary files a/fonts/Tahoma10/0071.png and b/fonts/Tahoma10/0071.png differ diff --git a/fonts/Tahoma10/0072.png b/fonts/Tahoma10/0072.png index 665fc38..e034f47 100644 Binary files a/fonts/Tahoma10/0072.png and b/fonts/Tahoma10/0072.png differ diff --git a/fonts/Tahoma10/0073.png b/fonts/Tahoma10/0073.png index 76ef6b5..883c048 100644 Binary files a/fonts/Tahoma10/0073.png and b/fonts/Tahoma10/0073.png differ diff --git a/fonts/Tahoma10/0074.png b/fonts/Tahoma10/0074.png index 241ba47..fe92f55 100644 Binary files a/fonts/Tahoma10/0074.png and b/fonts/Tahoma10/0074.png differ diff --git a/fonts/Tahoma10/0075.png b/fonts/Tahoma10/0075.png index b8da743..4d43557 100644 Binary files a/fonts/Tahoma10/0075.png and b/fonts/Tahoma10/0075.png differ diff --git a/fonts/Tahoma10/0076.png b/fonts/Tahoma10/0076.png index b3b7cba..703d7e5 100644 Binary files a/fonts/Tahoma10/0076.png and b/fonts/Tahoma10/0076.png differ diff --git a/fonts/Tahoma10/0077.png b/fonts/Tahoma10/0077.png index aaced90..2bc8fe9 100644 Binary files a/fonts/Tahoma10/0077.png and b/fonts/Tahoma10/0077.png differ diff --git a/fonts/Tahoma10/0078.png b/fonts/Tahoma10/0078.png index 09e168f..2eccb15 100644 Binary files a/fonts/Tahoma10/0078.png and b/fonts/Tahoma10/0078.png differ diff --git a/fonts/Tahoma10/0079.png b/fonts/Tahoma10/0079.png index 2c05988..1646e22 100644 Binary files a/fonts/Tahoma10/0079.png and b/fonts/Tahoma10/0079.png differ diff --git a/fonts/Tahoma10/007a.png b/fonts/Tahoma10/007a.png index 046a27e..e52c388 100644 Binary files a/fonts/Tahoma10/007a.png and b/fonts/Tahoma10/007a.png differ diff --git a/fonts/Tahoma10/007b.png b/fonts/Tahoma10/007b.png index 0095455..c8f12c6 100644 Binary files a/fonts/Tahoma10/007b.png and b/fonts/Tahoma10/007b.png differ diff --git a/fonts/Tahoma10/007c.png b/fonts/Tahoma10/007c.png index b6bd348..e7206c8 100644 Binary files a/fonts/Tahoma10/007c.png and b/fonts/Tahoma10/007c.png differ diff --git a/fonts/Tahoma10/007d.png b/fonts/Tahoma10/007d.png index 7dd500d..785e3c2 100644 Binary files a/fonts/Tahoma10/007d.png and b/fonts/Tahoma10/007d.png differ diff --git a/fonts/Tahoma10/007e.png b/fonts/Tahoma10/007e.png index b3ccd2d..1ca084f 100644 Binary files a/fonts/Tahoma10/007e.png and b/fonts/Tahoma10/007e.png differ diff --git a/fonts/Tahoma10/00a1.png b/fonts/Tahoma10/00a1.png index 78746d8..09173c5 100644 Binary files a/fonts/Tahoma10/00a1.png and b/fonts/Tahoma10/00a1.png differ diff --git a/fonts/Tahoma10/00a2.png b/fonts/Tahoma10/00a2.png index dd68e41..1ef12da 100644 Binary files a/fonts/Tahoma10/00a2.png and b/fonts/Tahoma10/00a2.png differ diff --git a/fonts/Tahoma10/00a3.png b/fonts/Tahoma10/00a3.png index ac31eba..a607602 100644 Binary files a/fonts/Tahoma10/00a3.png and b/fonts/Tahoma10/00a3.png differ diff --git a/fonts/Tahoma10/00a4.png b/fonts/Tahoma10/00a4.png index d11f2b9..5c69673 100644 Binary files a/fonts/Tahoma10/00a4.png and b/fonts/Tahoma10/00a4.png differ diff --git a/fonts/Tahoma10/00a5.png b/fonts/Tahoma10/00a5.png index 88e857b..d0e1a60 100644 Binary files a/fonts/Tahoma10/00a5.png and b/fonts/Tahoma10/00a5.png differ diff --git a/fonts/Tahoma10/00a6.png b/fonts/Tahoma10/00a6.png index a94460a..68d1b9f 100644 Binary files a/fonts/Tahoma10/00a6.png and b/fonts/Tahoma10/00a6.png differ diff --git a/fonts/Tahoma10/00a7.png b/fonts/Tahoma10/00a7.png index 1a413e8..8122536 100644 Binary files a/fonts/Tahoma10/00a7.png and b/fonts/Tahoma10/00a7.png differ diff --git a/fonts/Tahoma10/00a8.png b/fonts/Tahoma10/00a8.png index 758b83c..25ee3a9 100644 Binary files a/fonts/Tahoma10/00a8.png and b/fonts/Tahoma10/00a8.png differ diff --git a/fonts/Tahoma10/00a9.png b/fonts/Tahoma10/00a9.png index b059785..b61037c 100644 Binary files a/fonts/Tahoma10/00a9.png and b/fonts/Tahoma10/00a9.png differ diff --git a/fonts/Tahoma10/00aa.png b/fonts/Tahoma10/00aa.png index bcdc712..559c642 100644 Binary files a/fonts/Tahoma10/00aa.png and b/fonts/Tahoma10/00aa.png differ diff --git a/fonts/Tahoma10/00ab.png b/fonts/Tahoma10/00ab.png index 5a6acea..40051d9 100644 Binary files a/fonts/Tahoma10/00ab.png and b/fonts/Tahoma10/00ab.png differ diff --git a/fonts/Tahoma10/00ac.png b/fonts/Tahoma10/00ac.png index 1642a33..b747e21 100644 Binary files a/fonts/Tahoma10/00ac.png and b/fonts/Tahoma10/00ac.png differ diff --git a/fonts/Tahoma10/00ad.png b/fonts/Tahoma10/00ad.png index bf8826d..b7421ca 100644 Binary files a/fonts/Tahoma10/00ad.png and b/fonts/Tahoma10/00ad.png differ diff --git a/fonts/Tahoma10/00ae.png b/fonts/Tahoma10/00ae.png index 96907c0..f5b311c 100644 Binary files a/fonts/Tahoma10/00ae.png and b/fonts/Tahoma10/00ae.png differ diff --git a/fonts/Tahoma10/00af.png b/fonts/Tahoma10/00af.png index 8818e71..638d29b 100644 Binary files a/fonts/Tahoma10/00af.png and b/fonts/Tahoma10/00af.png differ diff --git a/fonts/Tahoma10/00b0.png b/fonts/Tahoma10/00b0.png index d15b979..3e12c33 100644 Binary files a/fonts/Tahoma10/00b0.png and b/fonts/Tahoma10/00b0.png differ diff --git a/fonts/Tahoma10/00b1.png b/fonts/Tahoma10/00b1.png index 9440746..cd1f020 100644 Binary files a/fonts/Tahoma10/00b1.png and b/fonts/Tahoma10/00b1.png differ diff --git a/fonts/Tahoma10/00b2.png b/fonts/Tahoma10/00b2.png index 3c84244..551c6ac 100644 Binary files a/fonts/Tahoma10/00b2.png and b/fonts/Tahoma10/00b2.png differ diff --git a/fonts/Tahoma10/00b3.png b/fonts/Tahoma10/00b3.png index 1062cb7..0f52d0a 100644 Binary files a/fonts/Tahoma10/00b3.png and b/fonts/Tahoma10/00b3.png differ diff --git a/fonts/Tahoma10/00b4.png b/fonts/Tahoma10/00b4.png index 3c55dee..672ca0d 100644 Binary files a/fonts/Tahoma10/00b4.png and b/fonts/Tahoma10/00b4.png differ diff --git a/fonts/Tahoma10/00b5.png b/fonts/Tahoma10/00b5.png index d6c65d0..6351c73 100644 Binary files a/fonts/Tahoma10/00b5.png and b/fonts/Tahoma10/00b5.png differ diff --git a/fonts/Tahoma10/00b6.png b/fonts/Tahoma10/00b6.png index 4355311..a5966a9 100644 Binary files a/fonts/Tahoma10/00b6.png and b/fonts/Tahoma10/00b6.png differ diff --git a/fonts/Tahoma10/00b7.png b/fonts/Tahoma10/00b7.png index 73a8e34..3916f36 100644 Binary files a/fonts/Tahoma10/00b7.png and b/fonts/Tahoma10/00b7.png differ diff --git a/fonts/Tahoma10/00b8.png b/fonts/Tahoma10/00b8.png index 89c5312..c8fed39 100644 Binary files a/fonts/Tahoma10/00b8.png and b/fonts/Tahoma10/00b8.png differ diff --git a/fonts/Tahoma10/00b9.png b/fonts/Tahoma10/00b9.png index a66f767..faf2f02 100644 Binary files a/fonts/Tahoma10/00b9.png and b/fonts/Tahoma10/00b9.png differ diff --git a/fonts/Tahoma10/00ba.png b/fonts/Tahoma10/00ba.png index 5f4ba71..70d8f44 100644 Binary files a/fonts/Tahoma10/00ba.png and b/fonts/Tahoma10/00ba.png differ diff --git a/fonts/Tahoma10/00bb.png b/fonts/Tahoma10/00bb.png index e3c9364..2399f75 100644 Binary files a/fonts/Tahoma10/00bb.png and b/fonts/Tahoma10/00bb.png differ diff --git a/fonts/Tahoma10/00bc.png b/fonts/Tahoma10/00bc.png index a08a3dd..f8b7e5f 100644 Binary files a/fonts/Tahoma10/00bc.png and b/fonts/Tahoma10/00bc.png differ diff --git a/fonts/Tahoma10/00bd.png b/fonts/Tahoma10/00bd.png index 9613344..2172582 100644 Binary files a/fonts/Tahoma10/00bd.png and b/fonts/Tahoma10/00bd.png differ diff --git a/fonts/Tahoma10/00be.png b/fonts/Tahoma10/00be.png index c41146f..34bdfb2 100644 Binary files a/fonts/Tahoma10/00be.png and b/fonts/Tahoma10/00be.png differ diff --git a/fonts/Tahoma10/00bf.png b/fonts/Tahoma10/00bf.png index 1c0a4c6..1dd560d 100644 Binary files a/fonts/Tahoma10/00bf.png and b/fonts/Tahoma10/00bf.png differ diff --git a/fonts/Tahoma10/00c0.png b/fonts/Tahoma10/00c0.png index 0235d0c..1f1db85 100644 Binary files a/fonts/Tahoma10/00c0.png and b/fonts/Tahoma10/00c0.png differ diff --git a/fonts/Tahoma10/00c1.png b/fonts/Tahoma10/00c1.png index d7e3ffc..2a68562 100644 Binary files a/fonts/Tahoma10/00c1.png and b/fonts/Tahoma10/00c1.png differ diff --git a/fonts/Tahoma10/00c2.png b/fonts/Tahoma10/00c2.png index 70ab28e..1ead042 100644 Binary files a/fonts/Tahoma10/00c2.png and b/fonts/Tahoma10/00c2.png differ diff --git a/fonts/Tahoma10/00c3.png b/fonts/Tahoma10/00c3.png index 3f5ad12..8124063 100644 Binary files a/fonts/Tahoma10/00c3.png and b/fonts/Tahoma10/00c3.png differ diff --git a/fonts/Tahoma10/00c4.png b/fonts/Tahoma10/00c4.png index f0724ed..524d149 100644 Binary files a/fonts/Tahoma10/00c4.png and b/fonts/Tahoma10/00c4.png differ diff --git a/fonts/Tahoma10/00c5.png b/fonts/Tahoma10/00c5.png index 954be4e..33bd11b 100644 Binary files a/fonts/Tahoma10/00c5.png and b/fonts/Tahoma10/00c5.png differ diff --git a/fonts/Tahoma10/00c6.png b/fonts/Tahoma10/00c6.png index a2a34e3..626fea5 100644 Binary files a/fonts/Tahoma10/00c6.png and b/fonts/Tahoma10/00c6.png differ diff --git a/fonts/Tahoma10/00c7.png b/fonts/Tahoma10/00c7.png index 66a516e..eb949e8 100644 Binary files a/fonts/Tahoma10/00c7.png and b/fonts/Tahoma10/00c7.png differ diff --git a/fonts/Tahoma10/00c8.png b/fonts/Tahoma10/00c8.png index ff65f09..d2f4935 100644 Binary files a/fonts/Tahoma10/00c8.png and b/fonts/Tahoma10/00c8.png differ diff --git a/fonts/Tahoma10/00c9.png b/fonts/Tahoma10/00c9.png index fdc8153..0e16d70 100644 Binary files a/fonts/Tahoma10/00c9.png and b/fonts/Tahoma10/00c9.png differ diff --git a/fonts/Tahoma10/00ca.png b/fonts/Tahoma10/00ca.png index b7a0b2b..6d14be0 100644 Binary files a/fonts/Tahoma10/00ca.png and b/fonts/Tahoma10/00ca.png differ diff --git a/fonts/Tahoma10/00cb.png b/fonts/Tahoma10/00cb.png index 492da2e..6d14be0 100644 Binary files a/fonts/Tahoma10/00cb.png and b/fonts/Tahoma10/00cb.png differ diff --git a/fonts/Tahoma10/00cc.png b/fonts/Tahoma10/00cc.png index 9835bec..261b079 100644 Binary files a/fonts/Tahoma10/00cc.png and b/fonts/Tahoma10/00cc.png differ diff --git a/fonts/Tahoma10/00cd.png b/fonts/Tahoma10/00cd.png index 9835bec..261b079 100644 Binary files a/fonts/Tahoma10/00cd.png and b/fonts/Tahoma10/00cd.png differ diff --git a/fonts/Tahoma10/00ce.png b/fonts/Tahoma10/00ce.png index 9d0fe96..63c8eda 100644 Binary files a/fonts/Tahoma10/00ce.png and b/fonts/Tahoma10/00ce.png differ diff --git a/fonts/Tahoma10/00cf.png b/fonts/Tahoma10/00cf.png index 9d0fe96..63c8eda 100644 Binary files a/fonts/Tahoma10/00cf.png and b/fonts/Tahoma10/00cf.png differ diff --git a/fonts/Tahoma10/00d0.png b/fonts/Tahoma10/00d0.png index e4d667c..6a2c8b5 100644 Binary files a/fonts/Tahoma10/00d0.png and b/fonts/Tahoma10/00d0.png differ diff --git a/fonts/Tahoma10/00d1.png b/fonts/Tahoma10/00d1.png index f9079c0..1edbc1c 100644 Binary files a/fonts/Tahoma10/00d1.png and b/fonts/Tahoma10/00d1.png differ diff --git a/fonts/Tahoma10/00d2.png b/fonts/Tahoma10/00d2.png index fd088b3..9ca6213 100644 Binary files a/fonts/Tahoma10/00d2.png and b/fonts/Tahoma10/00d2.png differ diff --git a/fonts/Tahoma10/00d3.png b/fonts/Tahoma10/00d3.png index fd088b3..9ca6213 100644 Binary files a/fonts/Tahoma10/00d3.png and b/fonts/Tahoma10/00d3.png differ diff --git a/fonts/Tahoma10/00d4.png b/fonts/Tahoma10/00d4.png index 4309e00..b99aa9e 100644 Binary files a/fonts/Tahoma10/00d4.png and b/fonts/Tahoma10/00d4.png differ diff --git a/fonts/Tahoma10/00d5.png b/fonts/Tahoma10/00d5.png index 033bea3..7183f3b 100644 Binary files a/fonts/Tahoma10/00d5.png and b/fonts/Tahoma10/00d5.png differ diff --git a/fonts/Tahoma10/00d6.png b/fonts/Tahoma10/00d6.png index 4309e00..b99aa9e 100644 Binary files a/fonts/Tahoma10/00d6.png and b/fonts/Tahoma10/00d6.png differ diff --git a/fonts/Tahoma10/00d7.png b/fonts/Tahoma10/00d7.png index 36a654d..a388d7e 100644 Binary files a/fonts/Tahoma10/00d7.png and b/fonts/Tahoma10/00d7.png differ diff --git a/fonts/Tahoma10/00d8.png b/fonts/Tahoma10/00d8.png index 24fc0c1..8a1c730 100644 Binary files a/fonts/Tahoma10/00d8.png and b/fonts/Tahoma10/00d8.png differ diff --git a/fonts/Tahoma10/00d9.png b/fonts/Tahoma10/00d9.png index 2a020b1..481fba0 100644 Binary files a/fonts/Tahoma10/00d9.png and b/fonts/Tahoma10/00d9.png differ diff --git a/fonts/Tahoma10/00da.png b/fonts/Tahoma10/00da.png index d0f7055..11cfbff 100644 Binary files a/fonts/Tahoma10/00da.png and b/fonts/Tahoma10/00da.png differ diff --git a/fonts/Tahoma10/00db.png b/fonts/Tahoma10/00db.png index 217076e..951070a 100644 Binary files a/fonts/Tahoma10/00db.png and b/fonts/Tahoma10/00db.png differ diff --git a/fonts/Tahoma10/00dc.png b/fonts/Tahoma10/00dc.png index 3900e40..304bc72 100644 Binary files a/fonts/Tahoma10/00dc.png and b/fonts/Tahoma10/00dc.png differ diff --git a/fonts/Tahoma10/00dd.png b/fonts/Tahoma10/00dd.png index 0355ff2..e7c7c71 100644 Binary files a/fonts/Tahoma10/00dd.png and b/fonts/Tahoma10/00dd.png differ diff --git a/fonts/Tahoma10/00de.png b/fonts/Tahoma10/00de.png index faf3429..359bf89 100644 Binary files a/fonts/Tahoma10/00de.png and b/fonts/Tahoma10/00de.png differ diff --git a/fonts/Tahoma10/00df.png b/fonts/Tahoma10/00df.png index 87482a1..25fe277 100644 Binary files a/fonts/Tahoma10/00df.png and b/fonts/Tahoma10/00df.png differ diff --git a/fonts/Tahoma10/00e0.png b/fonts/Tahoma10/00e0.png index 732f307..388c101 100644 Binary files a/fonts/Tahoma10/00e0.png and b/fonts/Tahoma10/00e0.png differ diff --git a/fonts/Tahoma10/00e1.png b/fonts/Tahoma10/00e1.png index 31b2779..2134a16 100644 Binary files a/fonts/Tahoma10/00e1.png and b/fonts/Tahoma10/00e1.png differ diff --git a/fonts/Tahoma10/00e2.png b/fonts/Tahoma10/00e2.png index fedbbc3..c5be7dc 100644 Binary files a/fonts/Tahoma10/00e2.png and b/fonts/Tahoma10/00e2.png differ diff --git a/fonts/Tahoma10/00e3.png b/fonts/Tahoma10/00e3.png index 1c22ece..88d9169 100644 Binary files a/fonts/Tahoma10/00e3.png and b/fonts/Tahoma10/00e3.png differ diff --git a/fonts/Tahoma10/00e4.png b/fonts/Tahoma10/00e4.png index 133343d..7157fae 100644 Binary files a/fonts/Tahoma10/00e4.png and b/fonts/Tahoma10/00e4.png differ diff --git a/fonts/Tahoma10/00e5.png b/fonts/Tahoma10/00e5.png index 8144279..782e24f 100644 Binary files a/fonts/Tahoma10/00e5.png and b/fonts/Tahoma10/00e5.png differ diff --git a/fonts/Tahoma10/00e6.png b/fonts/Tahoma10/00e6.png index 114d2aa..a9d642d 100644 Binary files a/fonts/Tahoma10/00e6.png and b/fonts/Tahoma10/00e6.png differ diff --git a/fonts/Tahoma10/00e7.png b/fonts/Tahoma10/00e7.png index 5fdd772..e921302 100644 Binary files a/fonts/Tahoma10/00e7.png and b/fonts/Tahoma10/00e7.png differ diff --git a/fonts/Tahoma10/00e8.png b/fonts/Tahoma10/00e8.png index 397acf7..8253baa 100644 Binary files a/fonts/Tahoma10/00e8.png and b/fonts/Tahoma10/00e8.png differ diff --git a/fonts/Tahoma10/00e9.png b/fonts/Tahoma10/00e9.png index 9e580a1..f1f71d9 100644 Binary files a/fonts/Tahoma10/00e9.png and b/fonts/Tahoma10/00e9.png differ diff --git a/fonts/Tahoma10/00ea.png b/fonts/Tahoma10/00ea.png index 9efe12b..50a9c6a 100644 Binary files a/fonts/Tahoma10/00ea.png and b/fonts/Tahoma10/00ea.png differ diff --git a/fonts/Tahoma10/00eb.png b/fonts/Tahoma10/00eb.png index adfa79f..de58a26 100644 Binary files a/fonts/Tahoma10/00eb.png and b/fonts/Tahoma10/00eb.png differ diff --git a/fonts/Tahoma10/00ec.png b/fonts/Tahoma10/00ec.png index fe10835..09173c5 100644 Binary files a/fonts/Tahoma10/00ec.png and b/fonts/Tahoma10/00ec.png differ diff --git a/fonts/Tahoma10/00ed.png b/fonts/Tahoma10/00ed.png index 572ee3f..d389b20 100644 Binary files a/fonts/Tahoma10/00ed.png and b/fonts/Tahoma10/00ed.png differ diff --git a/fonts/Tahoma10/00ee.png b/fonts/Tahoma10/00ee.png index d2f4d4a..b98f4f7 100644 Binary files a/fonts/Tahoma10/00ee.png and b/fonts/Tahoma10/00ee.png differ diff --git a/fonts/Tahoma10/00ef.png b/fonts/Tahoma10/00ef.png index ee081ed..123e0c1 100644 Binary files a/fonts/Tahoma10/00ef.png and b/fonts/Tahoma10/00ef.png differ diff --git a/fonts/Tahoma10/00f0.png b/fonts/Tahoma10/00f0.png index e87c390..f4774d7 100644 Binary files a/fonts/Tahoma10/00f0.png and b/fonts/Tahoma10/00f0.png differ diff --git a/fonts/Tahoma10/00f1.png b/fonts/Tahoma10/00f1.png index 1514a69..e22f15d 100644 Binary files a/fonts/Tahoma10/00f1.png and b/fonts/Tahoma10/00f1.png differ diff --git a/fonts/Tahoma10/00f2.png b/fonts/Tahoma10/00f2.png index fab229a..0f7db2b 100644 Binary files a/fonts/Tahoma10/00f2.png and b/fonts/Tahoma10/00f2.png differ diff --git a/fonts/Tahoma10/00f3.png b/fonts/Tahoma10/00f3.png index ffc6aee..2161c44 100644 Binary files a/fonts/Tahoma10/00f3.png and b/fonts/Tahoma10/00f3.png differ diff --git a/fonts/Tahoma10/00f4.png b/fonts/Tahoma10/00f4.png index 977c05f..db7d9b7 100644 Binary files a/fonts/Tahoma10/00f4.png and b/fonts/Tahoma10/00f4.png differ diff --git a/fonts/Tahoma10/00f5.png b/fonts/Tahoma10/00f5.png index 6452536..0ec62b2 100644 Binary files a/fonts/Tahoma10/00f5.png and b/fonts/Tahoma10/00f5.png differ diff --git a/fonts/Tahoma10/00f6.png b/fonts/Tahoma10/00f6.png index 9f1b121..d4a62bc 100644 Binary files a/fonts/Tahoma10/00f6.png and b/fonts/Tahoma10/00f6.png differ diff --git a/fonts/Tahoma10/00f7.png b/fonts/Tahoma10/00f7.png index 3b0f66d..7f1bdda 100644 Binary files a/fonts/Tahoma10/00f7.png and b/fonts/Tahoma10/00f7.png differ diff --git a/fonts/Tahoma10/00f8.png b/fonts/Tahoma10/00f8.png index 19eb06c..477b069 100644 Binary files a/fonts/Tahoma10/00f8.png and b/fonts/Tahoma10/00f8.png differ diff --git a/fonts/Tahoma10/00f9.png b/fonts/Tahoma10/00f9.png index 56c2a98..3a55387 100644 Binary files a/fonts/Tahoma10/00f9.png and b/fonts/Tahoma10/00f9.png differ diff --git a/fonts/Tahoma10/00fa.png b/fonts/Tahoma10/00fa.png index f15ba49..6881eda 100644 Binary files a/fonts/Tahoma10/00fa.png and b/fonts/Tahoma10/00fa.png differ diff --git a/fonts/Tahoma10/00fb.png b/fonts/Tahoma10/00fb.png index 4f8ae64..a370338 100644 Binary files a/fonts/Tahoma10/00fb.png and b/fonts/Tahoma10/00fb.png differ diff --git a/fonts/Tahoma10/00fc.png b/fonts/Tahoma10/00fc.png index b7b1da9..19948e2 100644 Binary files a/fonts/Tahoma10/00fc.png and b/fonts/Tahoma10/00fc.png differ diff --git a/fonts/Tahoma10/00fd.png b/fonts/Tahoma10/00fd.png index eb4792c..1195463 100644 Binary files a/fonts/Tahoma10/00fd.png and b/fonts/Tahoma10/00fd.png differ diff --git a/fonts/Tahoma10/00fe.png b/fonts/Tahoma10/00fe.png index 7caeed5..0c09b11 100644 Binary files a/fonts/Tahoma10/00fe.png and b/fonts/Tahoma10/00fe.png differ diff --git a/fonts/Tahoma10/00ff.png b/fonts/Tahoma10/00ff.png index 809221c..da5302c 100644 Binary files a/fonts/Tahoma10/00ff.png and b/fonts/Tahoma10/00ff.png differ diff --git a/fonts/Tahoma10/font.inf b/fonts/Tahoma10/font.inf index 1794c6c..0ea4b21 100644 --- a/fonts/Tahoma10/font.inf +++ b/fonts/Tahoma10/font.inf @@ -1 +1,3 @@ +SpaceWidth 4 +FontHeight 13 Kerning -1 diff --git a/fonts/USmallFont/0020.png b/fonts/USmallFont/0020.png deleted file mode 100644 index c970d59..0000000 Binary files a/fonts/USmallFont/0020.png and /dev/null differ diff --git a/fonts/USmallFont/0021.png b/fonts/USmallFont/0021.png index 0f415f3..7e36645 100644 Binary files a/fonts/USmallFont/0021.png and b/fonts/USmallFont/0021.png differ diff --git a/fonts/USmallFont/0022.png b/fonts/USmallFont/0022.png index ffb083a..3892806 100644 Binary files a/fonts/USmallFont/0022.png and b/fonts/USmallFont/0022.png differ diff --git a/fonts/USmallFont/0023.png b/fonts/USmallFont/0023.png index d46210d..f20e84e 100644 Binary files a/fonts/USmallFont/0023.png and b/fonts/USmallFont/0023.png differ diff --git a/fonts/USmallFont/0024.png b/fonts/USmallFont/0024.png index ed47aee..fef10ff 100644 Binary files a/fonts/USmallFont/0024.png and b/fonts/USmallFont/0024.png differ diff --git a/fonts/USmallFont/0025.png b/fonts/USmallFont/0025.png index 9be5c16..b8d291e 100644 Binary files a/fonts/USmallFont/0025.png and b/fonts/USmallFont/0025.png differ diff --git a/fonts/USmallFont/0026.png b/fonts/USmallFont/0026.png index 4694f07..acc2d6a 100644 Binary files a/fonts/USmallFont/0026.png and b/fonts/USmallFont/0026.png differ diff --git a/fonts/USmallFont/0027.png b/fonts/USmallFont/0027.png index 6b7d722..d03b442 100644 Binary files a/fonts/USmallFont/0027.png and b/fonts/USmallFont/0027.png differ diff --git a/fonts/USmallFont/0028.png b/fonts/USmallFont/0028.png index eb5c03b..9e36716 100644 Binary files a/fonts/USmallFont/0028.png and b/fonts/USmallFont/0028.png differ diff --git a/fonts/USmallFont/0029.png b/fonts/USmallFont/0029.png index 8956774..d1f528d 100644 Binary files a/fonts/USmallFont/0029.png and b/fonts/USmallFont/0029.png differ diff --git a/fonts/USmallFont/002a.png b/fonts/USmallFont/002a.png index fa9b931..c2057db 100644 Binary files a/fonts/USmallFont/002a.png and b/fonts/USmallFont/002a.png differ diff --git a/fonts/USmallFont/002b.png b/fonts/USmallFont/002b.png index 44fc27b..77c21ee 100644 Binary files a/fonts/USmallFont/002b.png and b/fonts/USmallFont/002b.png differ diff --git a/fonts/USmallFont/002c.png b/fonts/USmallFont/002c.png index e0e360c..4795a99 100644 Binary files a/fonts/USmallFont/002c.png and b/fonts/USmallFont/002c.png differ diff --git a/fonts/USmallFont/002d.png b/fonts/USmallFont/002d.png index a5ee742..8529bd0 100644 Binary files a/fonts/USmallFont/002d.png and b/fonts/USmallFont/002d.png differ diff --git a/fonts/USmallFont/002e.png b/fonts/USmallFont/002e.png index 7821dc4..76c1956 100644 Binary files a/fonts/USmallFont/002e.png and b/fonts/USmallFont/002e.png differ diff --git a/fonts/USmallFont/002f.png b/fonts/USmallFont/002f.png index 0a79f5a..784f665 100644 Binary files a/fonts/USmallFont/002f.png and b/fonts/USmallFont/002f.png differ diff --git a/fonts/USmallFont/0030.png b/fonts/USmallFont/0030.png index 1df845f..8a6820c 100644 Binary files a/fonts/USmallFont/0030.png and b/fonts/USmallFont/0030.png differ diff --git a/fonts/USmallFont/0031.png b/fonts/USmallFont/0031.png index 6e5e979..3fa841a 100644 Binary files a/fonts/USmallFont/0031.png and b/fonts/USmallFont/0031.png differ diff --git a/fonts/USmallFont/0032.png b/fonts/USmallFont/0032.png index 6fec7ee..a98c7d9 100644 Binary files a/fonts/USmallFont/0032.png and b/fonts/USmallFont/0032.png differ diff --git a/fonts/USmallFont/0033.png b/fonts/USmallFont/0033.png index 69e0952..42dba94 100644 Binary files a/fonts/USmallFont/0033.png and b/fonts/USmallFont/0033.png differ diff --git a/fonts/USmallFont/0034.png b/fonts/USmallFont/0034.png index 6c1c69c..bf7c8cf 100644 Binary files a/fonts/USmallFont/0034.png and b/fonts/USmallFont/0034.png differ diff --git a/fonts/USmallFont/0035.png b/fonts/USmallFont/0035.png index 39274df..446ecd6 100644 Binary files a/fonts/USmallFont/0035.png and b/fonts/USmallFont/0035.png differ diff --git a/fonts/USmallFont/0036.png b/fonts/USmallFont/0036.png index 4426190..dcec5a8 100644 Binary files a/fonts/USmallFont/0036.png and b/fonts/USmallFont/0036.png differ diff --git a/fonts/USmallFont/0037.png b/fonts/USmallFont/0037.png index ca86806..05b10c2 100644 Binary files a/fonts/USmallFont/0037.png and b/fonts/USmallFont/0037.png differ diff --git a/fonts/USmallFont/0038.png b/fonts/USmallFont/0038.png index e6a2de2..42efab5 100644 Binary files a/fonts/USmallFont/0038.png and b/fonts/USmallFont/0038.png differ diff --git a/fonts/USmallFont/0039.png b/fonts/USmallFont/0039.png index 289de3f..495f503 100644 Binary files a/fonts/USmallFont/0039.png and b/fonts/USmallFont/0039.png differ diff --git a/fonts/USmallFont/003a.png b/fonts/USmallFont/003a.png index d87ff8b..4d59495 100644 Binary files a/fonts/USmallFont/003a.png and b/fonts/USmallFont/003a.png differ diff --git a/fonts/USmallFont/003b.png b/fonts/USmallFont/003b.png index b6a105e..053e4e2 100644 Binary files a/fonts/USmallFont/003b.png and b/fonts/USmallFont/003b.png differ diff --git a/fonts/USmallFont/003c.png b/fonts/USmallFont/003c.png index 6e97c0d..bc65ec6 100644 Binary files a/fonts/USmallFont/003c.png and b/fonts/USmallFont/003c.png differ diff --git a/fonts/USmallFont/003d.png b/fonts/USmallFont/003d.png index d9ca0b9..8fe12be 100644 Binary files a/fonts/USmallFont/003d.png and b/fonts/USmallFont/003d.png differ diff --git a/fonts/USmallFont/003e.png b/fonts/USmallFont/003e.png index 6897c5f..df00099 100644 Binary files a/fonts/USmallFont/003e.png and b/fonts/USmallFont/003e.png differ diff --git a/fonts/USmallFont/003f.png b/fonts/USmallFont/003f.png index 99d4815..a8a3e04 100644 Binary files a/fonts/USmallFont/003f.png and b/fonts/USmallFont/003f.png differ diff --git a/fonts/USmallFont/0040.png b/fonts/USmallFont/0040.png index a84992b..bfa5bbe 100644 Binary files a/fonts/USmallFont/0040.png and b/fonts/USmallFont/0040.png differ diff --git a/fonts/USmallFont/0041.png b/fonts/USmallFont/0041.png index d259b93..5412967 100644 Binary files a/fonts/USmallFont/0041.png and b/fonts/USmallFont/0041.png differ diff --git a/fonts/USmallFont/0042.png b/fonts/USmallFont/0042.png index 1a694a7..e735de3 100644 Binary files a/fonts/USmallFont/0042.png and b/fonts/USmallFont/0042.png differ diff --git a/fonts/USmallFont/0043.png b/fonts/USmallFont/0043.png index a028c7f..053a432 100644 Binary files a/fonts/USmallFont/0043.png and b/fonts/USmallFont/0043.png differ diff --git a/fonts/USmallFont/0044.png b/fonts/USmallFont/0044.png index 3bcaef6..bcd4f69 100644 Binary files a/fonts/USmallFont/0044.png and b/fonts/USmallFont/0044.png differ diff --git a/fonts/USmallFont/0045.png b/fonts/USmallFont/0045.png index c53e55e..d423b16 100644 Binary files a/fonts/USmallFont/0045.png and b/fonts/USmallFont/0045.png differ diff --git a/fonts/USmallFont/0046.png b/fonts/USmallFont/0046.png index a852e12..036f676 100644 Binary files a/fonts/USmallFont/0046.png and b/fonts/USmallFont/0046.png differ diff --git a/fonts/USmallFont/0047.png b/fonts/USmallFont/0047.png index 8f58be6..0bb4d70 100644 Binary files a/fonts/USmallFont/0047.png and b/fonts/USmallFont/0047.png differ diff --git a/fonts/USmallFont/0048.png b/fonts/USmallFont/0048.png index 9c324e4..f98d645 100644 Binary files a/fonts/USmallFont/0048.png and b/fonts/USmallFont/0048.png differ diff --git a/fonts/USmallFont/0049.png b/fonts/USmallFont/0049.png index 643dc92..a9779b6 100644 Binary files a/fonts/USmallFont/0049.png and b/fonts/USmallFont/0049.png differ diff --git a/fonts/USmallFont/004a.png b/fonts/USmallFont/004a.png index 0f2d0d7..05712fb 100644 Binary files a/fonts/USmallFont/004a.png and b/fonts/USmallFont/004a.png differ diff --git a/fonts/USmallFont/004b.png b/fonts/USmallFont/004b.png index e99e3a8..43d3f6d 100644 Binary files a/fonts/USmallFont/004b.png and b/fonts/USmallFont/004b.png differ diff --git a/fonts/USmallFont/004c.png b/fonts/USmallFont/004c.png index 44d48f1..d63187a 100644 Binary files a/fonts/USmallFont/004c.png and b/fonts/USmallFont/004c.png differ diff --git a/fonts/USmallFont/004d.png b/fonts/USmallFont/004d.png index dbb094d..ca66591 100644 Binary files a/fonts/USmallFont/004d.png and b/fonts/USmallFont/004d.png differ diff --git a/fonts/USmallFont/004e.png b/fonts/USmallFont/004e.png index f6b922f..4ce9b6d 100644 Binary files a/fonts/USmallFont/004e.png and b/fonts/USmallFont/004e.png differ diff --git a/fonts/USmallFont/004f.png b/fonts/USmallFont/004f.png index 9a2468a..d882fe9 100644 Binary files a/fonts/USmallFont/004f.png and b/fonts/USmallFont/004f.png differ diff --git a/fonts/USmallFont/0050.png b/fonts/USmallFont/0050.png index 4eb7c6e..4be8d88 100644 Binary files a/fonts/USmallFont/0050.png and b/fonts/USmallFont/0050.png differ diff --git a/fonts/USmallFont/0051.png b/fonts/USmallFont/0051.png index ae87833..8f6eea7 100644 Binary files a/fonts/USmallFont/0051.png and b/fonts/USmallFont/0051.png differ diff --git a/fonts/USmallFont/0052.png b/fonts/USmallFont/0052.png index cfced58..6f6de04 100644 Binary files a/fonts/USmallFont/0052.png and b/fonts/USmallFont/0052.png differ diff --git a/fonts/USmallFont/0053.png b/fonts/USmallFont/0053.png index dbb5604..7e27c66 100644 Binary files a/fonts/USmallFont/0053.png and b/fonts/USmallFont/0053.png differ diff --git a/fonts/USmallFont/0054.png b/fonts/USmallFont/0054.png index 085863e..ab7825f 100644 Binary files a/fonts/USmallFont/0054.png and b/fonts/USmallFont/0054.png differ diff --git a/fonts/USmallFont/0055.png b/fonts/USmallFont/0055.png index 34dad46..94597c0 100644 Binary files a/fonts/USmallFont/0055.png and b/fonts/USmallFont/0055.png differ diff --git a/fonts/USmallFont/0056.png b/fonts/USmallFont/0056.png index 7386449..bf91f9a 100644 Binary files a/fonts/USmallFont/0056.png and b/fonts/USmallFont/0056.png differ diff --git a/fonts/USmallFont/0057.png b/fonts/USmallFont/0057.png index cb45c6e..d430e5f 100644 Binary files a/fonts/USmallFont/0057.png and b/fonts/USmallFont/0057.png differ diff --git a/fonts/USmallFont/0058.png b/fonts/USmallFont/0058.png index 35ec5ac..e0916f8 100644 Binary files a/fonts/USmallFont/0058.png and b/fonts/USmallFont/0058.png differ diff --git a/fonts/USmallFont/0059.png b/fonts/USmallFont/0059.png index 2fe8a06..da5f62d 100644 Binary files a/fonts/USmallFont/0059.png and b/fonts/USmallFont/0059.png differ diff --git a/fonts/USmallFont/005a.png b/fonts/USmallFont/005a.png index f0b4420..44e734c 100644 Binary files a/fonts/USmallFont/005a.png and b/fonts/USmallFont/005a.png differ diff --git a/fonts/USmallFont/005b.png b/fonts/USmallFont/005b.png index 97153ea..3460032 100644 Binary files a/fonts/USmallFont/005b.png and b/fonts/USmallFont/005b.png differ diff --git a/fonts/USmallFont/005c.png b/fonts/USmallFont/005c.png index c08a4bd..b99b730 100644 Binary files a/fonts/USmallFont/005c.png and b/fonts/USmallFont/005c.png differ diff --git a/fonts/USmallFont/005d.png b/fonts/USmallFont/005d.png index b53d208..b61dd11 100644 Binary files a/fonts/USmallFont/005d.png and b/fonts/USmallFont/005d.png differ diff --git a/fonts/USmallFont/005e.png b/fonts/USmallFont/005e.png index 6b13523..fd274cc 100644 Binary files a/fonts/USmallFont/005e.png and b/fonts/USmallFont/005e.png differ diff --git a/fonts/USmallFont/005f.png b/fonts/USmallFont/005f.png index 12e1d05..0e3c618 100644 Binary files a/fonts/USmallFont/005f.png and b/fonts/USmallFont/005f.png differ diff --git a/fonts/USmallFont/0060.png b/fonts/USmallFont/0060.png index fcf16f6..56a41fc 100644 Binary files a/fonts/USmallFont/0060.png and b/fonts/USmallFont/0060.png differ diff --git a/fonts/USmallFont/0061.png b/fonts/USmallFont/0061.png index f32d0dc..5412967 100644 Binary files a/fonts/USmallFont/0061.png and b/fonts/USmallFont/0061.png differ diff --git a/fonts/USmallFont/0062.png b/fonts/USmallFont/0062.png index 04f3271..e735de3 100644 Binary files a/fonts/USmallFont/0062.png and b/fonts/USmallFont/0062.png differ diff --git a/fonts/USmallFont/0063.png b/fonts/USmallFont/0063.png index 73bce41..053a432 100644 Binary files a/fonts/USmallFont/0063.png and b/fonts/USmallFont/0063.png differ diff --git a/fonts/USmallFont/0064.png b/fonts/USmallFont/0064.png index cbd1f2f..bcd4f69 100644 Binary files a/fonts/USmallFont/0064.png and b/fonts/USmallFont/0064.png differ diff --git a/fonts/USmallFont/0065.png b/fonts/USmallFont/0065.png index 9a64fed..d423b16 100644 Binary files a/fonts/USmallFont/0065.png and b/fonts/USmallFont/0065.png differ diff --git a/fonts/USmallFont/0066.png b/fonts/USmallFont/0066.png index ceacdfa..036f676 100644 Binary files a/fonts/USmallFont/0066.png and b/fonts/USmallFont/0066.png differ diff --git a/fonts/USmallFont/0067.png b/fonts/USmallFont/0067.png index d8f854c..0bb4d70 100644 Binary files a/fonts/USmallFont/0067.png and b/fonts/USmallFont/0067.png differ diff --git a/fonts/USmallFont/0068.png b/fonts/USmallFont/0068.png index f7e716f..f98d645 100644 Binary files a/fonts/USmallFont/0068.png and b/fonts/USmallFont/0068.png differ diff --git a/fonts/USmallFont/0069.png b/fonts/USmallFont/0069.png index 54ec382..a9779b6 100644 Binary files a/fonts/USmallFont/0069.png and b/fonts/USmallFont/0069.png differ diff --git a/fonts/USmallFont/006a.png b/fonts/USmallFont/006a.png index 07acf1e..05712fb 100644 Binary files a/fonts/USmallFont/006a.png and b/fonts/USmallFont/006a.png differ diff --git a/fonts/USmallFont/006b.png b/fonts/USmallFont/006b.png index b5cdbd6..43d3f6d 100644 Binary files a/fonts/USmallFont/006b.png and b/fonts/USmallFont/006b.png differ diff --git a/fonts/USmallFont/006c.png b/fonts/USmallFont/006c.png index 74fa5c2..d63187a 100644 Binary files a/fonts/USmallFont/006c.png and b/fonts/USmallFont/006c.png differ diff --git a/fonts/USmallFont/006d.png b/fonts/USmallFont/006d.png index 5cc92fe..ca66591 100644 Binary files a/fonts/USmallFont/006d.png and b/fonts/USmallFont/006d.png differ diff --git a/fonts/USmallFont/006e.png b/fonts/USmallFont/006e.png index ba65d8b..4ce9b6d 100644 Binary files a/fonts/USmallFont/006e.png and b/fonts/USmallFont/006e.png differ diff --git a/fonts/USmallFont/006f.png b/fonts/USmallFont/006f.png index 88e5bdc..d882fe9 100644 Binary files a/fonts/USmallFont/006f.png and b/fonts/USmallFont/006f.png differ diff --git a/fonts/USmallFont/0070.png b/fonts/USmallFont/0070.png index 62b1891..4be8d88 100644 Binary files a/fonts/USmallFont/0070.png and b/fonts/USmallFont/0070.png differ diff --git a/fonts/USmallFont/0071.png b/fonts/USmallFont/0071.png index ee67444..8f6eea7 100644 Binary files a/fonts/USmallFont/0071.png and b/fonts/USmallFont/0071.png differ diff --git a/fonts/USmallFont/0072.png b/fonts/USmallFont/0072.png index 2a78660..6f6de04 100644 Binary files a/fonts/USmallFont/0072.png and b/fonts/USmallFont/0072.png differ diff --git a/fonts/USmallFont/0073.png b/fonts/USmallFont/0073.png index 09c247b..7e27c66 100644 Binary files a/fonts/USmallFont/0073.png and b/fonts/USmallFont/0073.png differ diff --git a/fonts/USmallFont/0074.png b/fonts/USmallFont/0074.png index 6d2d6ed..ab7825f 100644 Binary files a/fonts/USmallFont/0074.png and b/fonts/USmallFont/0074.png differ diff --git a/fonts/USmallFont/0075.png b/fonts/USmallFont/0075.png index 9a5f0b2..94597c0 100644 Binary files a/fonts/USmallFont/0075.png and b/fonts/USmallFont/0075.png differ diff --git a/fonts/USmallFont/0076.png b/fonts/USmallFont/0076.png index 27c51de..bf91f9a 100644 Binary files a/fonts/USmallFont/0076.png and b/fonts/USmallFont/0076.png differ diff --git a/fonts/USmallFont/0077.png b/fonts/USmallFont/0077.png index e8bf2d6..d430e5f 100644 Binary files a/fonts/USmallFont/0077.png and b/fonts/USmallFont/0077.png differ diff --git a/fonts/USmallFont/0078.png b/fonts/USmallFont/0078.png index 93b9f12..e0916f8 100644 Binary files a/fonts/USmallFont/0078.png and b/fonts/USmallFont/0078.png differ diff --git a/fonts/USmallFont/0079.png b/fonts/USmallFont/0079.png index 86f3074..da5f62d 100644 Binary files a/fonts/USmallFont/0079.png and b/fonts/USmallFont/0079.png differ diff --git a/fonts/USmallFont/007a.png b/fonts/USmallFont/007a.png index 44c4469..44e734c 100644 Binary files a/fonts/USmallFont/007a.png and b/fonts/USmallFont/007a.png differ diff --git a/fonts/USmallFont/007b.png b/fonts/USmallFont/007b.png index c3d5d03..6156e9f 100644 Binary files a/fonts/USmallFont/007b.png and b/fonts/USmallFont/007b.png differ diff --git a/fonts/USmallFont/007c.png b/fonts/USmallFont/007c.png index b0fd27d..8b18f1c 100644 Binary files a/fonts/USmallFont/007c.png and b/fonts/USmallFont/007c.png differ diff --git a/fonts/USmallFont/007d.png b/fonts/USmallFont/007d.png index d9c40c8..3f7bb4b 100644 Binary files a/fonts/USmallFont/007d.png and b/fonts/USmallFont/007d.png differ diff --git a/fonts/USmallFont/007e.png b/fonts/USmallFont/007e.png index e61a974..a5f40d7 100644 Binary files a/fonts/USmallFont/007e.png and b/fonts/USmallFont/007e.png differ diff --git a/fonts/USmallFont/007f.png b/fonts/USmallFont/007f.png index 1879c3f..93f349b 100644 Binary files a/fonts/USmallFont/007f.png and b/fonts/USmallFont/007f.png differ diff --git a/fonts/USmallFont/00a1.png b/fonts/USmallFont/00a1.png index c9ff3d5..4531e41 100644 Binary files a/fonts/USmallFont/00a1.png and b/fonts/USmallFont/00a1.png differ diff --git a/fonts/USmallFont/00a2.png b/fonts/USmallFont/00a2.png index dd404d8..d3de47a 100644 Binary files a/fonts/USmallFont/00a2.png and b/fonts/USmallFont/00a2.png differ diff --git a/fonts/USmallFont/00a3.png b/fonts/USmallFont/00a3.png index 57f55dc..61b8452 100644 Binary files a/fonts/USmallFont/00a3.png and b/fonts/USmallFont/00a3.png differ diff --git a/fonts/USmallFont/00a4.png b/fonts/USmallFont/00a4.png index 856b53b..c475236 100644 Binary files a/fonts/USmallFont/00a4.png and b/fonts/USmallFont/00a4.png differ diff --git a/fonts/USmallFont/00a5.png b/fonts/USmallFont/00a5.png index 9d4d40d..e6c82c5 100644 Binary files a/fonts/USmallFont/00a5.png and b/fonts/USmallFont/00a5.png differ diff --git a/fonts/USmallFont/00a6.png b/fonts/USmallFont/00a6.png index 06383f4..8b18f1c 100644 Binary files a/fonts/USmallFont/00a6.png and b/fonts/USmallFont/00a6.png differ diff --git a/fonts/USmallFont/00a7.png b/fonts/USmallFont/00a7.png index e3e447f..480a5f9 100644 Binary files a/fonts/USmallFont/00a7.png and b/fonts/USmallFont/00a7.png differ diff --git a/fonts/USmallFont/00a9.png b/fonts/USmallFont/00a9.png index c8ba436..d3de47a 100644 Binary files a/fonts/USmallFont/00a9.png and b/fonts/USmallFont/00a9.png differ diff --git a/fonts/USmallFont/00aa.png b/fonts/USmallFont/00aa.png index c9fbb6e..07b766f 100644 Binary files a/fonts/USmallFont/00aa.png and b/fonts/USmallFont/00aa.png differ diff --git a/fonts/USmallFont/00ab.png b/fonts/USmallFont/00ab.png deleted file mode 100644 index b0ca2a8..0000000 Binary files a/fonts/USmallFont/00ab.png and /dev/null differ diff --git a/fonts/USmallFont/00ac.png b/fonts/USmallFont/00ac.png deleted file mode 100644 index b0ca2a8..0000000 Binary files a/fonts/USmallFont/00ac.png and /dev/null differ diff --git a/fonts/USmallFont/00ad.png b/fonts/USmallFont/00ad.png deleted file mode 100644 index b0ca2a8..0000000 Binary files a/fonts/USmallFont/00ad.png and /dev/null differ diff --git a/fonts/USmallFont/00ae.png b/fonts/USmallFont/00ae.png deleted file mode 100644 index b0ca2a8..0000000 Binary files a/fonts/USmallFont/00ae.png and /dev/null differ diff --git a/fonts/USmallFont/00af.png b/fonts/USmallFont/00af.png index 3137523..bfc683b 100644 Binary files a/fonts/USmallFont/00af.png and b/fonts/USmallFont/00af.png differ diff --git a/fonts/USmallFont/00b0.png b/fonts/USmallFont/00b0.png index 63669a6..0be2386 100644 Binary files a/fonts/USmallFont/00b0.png and b/fonts/USmallFont/00b0.png differ diff --git a/fonts/USmallFont/00b1.png b/fonts/USmallFont/00b1.png index 118e8ac..16f66c6 100644 Binary files a/fonts/USmallFont/00b1.png and b/fonts/USmallFont/00b1.png differ diff --git a/fonts/USmallFont/00b2.png b/fonts/USmallFont/00b2.png index cf5b65f..9a593ec 100644 Binary files a/fonts/USmallFont/00b2.png and b/fonts/USmallFont/00b2.png differ diff --git a/fonts/USmallFont/00b3.png b/fonts/USmallFont/00b3.png index 0fec439..09f8fc9 100644 Binary files a/fonts/USmallFont/00b3.png and b/fonts/USmallFont/00b3.png differ diff --git a/fonts/USmallFont/00b4.png b/fonts/USmallFont/00b4.png index e2f0958..00fac1e 100644 Binary files a/fonts/USmallFont/00b4.png and b/fonts/USmallFont/00b4.png differ diff --git a/fonts/USmallFont/00b5.png b/fonts/USmallFont/00b5.png index ffa295b..f567dfd 100644 Binary files a/fonts/USmallFont/00b5.png and b/fonts/USmallFont/00b5.png differ diff --git a/fonts/USmallFont/00b6.png b/fonts/USmallFont/00b6.png index 7643f20..dbbaf28 100644 Binary files a/fonts/USmallFont/00b6.png and b/fonts/USmallFont/00b6.png differ diff --git a/fonts/USmallFont/00b7.png b/fonts/USmallFont/00b7.png index 36926ca..b880831 100644 Binary files a/fonts/USmallFont/00b7.png and b/fonts/USmallFont/00b7.png differ diff --git a/fonts/USmallFont/00b8.png b/fonts/USmallFont/00b8.png index 4d65f27..85c061d 100644 Binary files a/fonts/USmallFont/00b8.png and b/fonts/USmallFont/00b8.png differ diff --git a/fonts/USmallFont/00b9.png b/fonts/USmallFont/00b9.png index 4392b54..8a345ad 100644 Binary files a/fonts/USmallFont/00b9.png and b/fonts/USmallFont/00b9.png differ diff --git a/fonts/USmallFont/00ba.png b/fonts/USmallFont/00ba.png index 52e1524..0be2386 100644 Binary files a/fonts/USmallFont/00ba.png and b/fonts/USmallFont/00ba.png differ diff --git a/fonts/USmallFont/00bb.png b/fonts/USmallFont/00bb.png deleted file mode 100644 index 4184034..0000000 Binary files a/fonts/USmallFont/00bb.png and /dev/null differ diff --git a/fonts/USmallFont/00bc.png b/fonts/USmallFont/00bc.png deleted file mode 100644 index 4184034..0000000 Binary files a/fonts/USmallFont/00bc.png and /dev/null differ diff --git a/fonts/USmallFont/00bd.png b/fonts/USmallFont/00bd.png deleted file mode 100644 index c60deab..0000000 Binary files a/fonts/USmallFont/00bd.png and /dev/null differ diff --git a/fonts/USmallFont/00be.png b/fonts/USmallFont/00be.png deleted file mode 100644 index c60deab..0000000 Binary files a/fonts/USmallFont/00be.png and /dev/null differ diff --git a/fonts/USmallFont/00bf.png b/fonts/USmallFont/00bf.png index 3dd6e19..217f730 100644 Binary files a/fonts/USmallFont/00bf.png and b/fonts/USmallFont/00bf.png differ diff --git a/fonts/USmallFont/00c0.png b/fonts/USmallFont/00c0.png index 841d272..3ff1ffb 100644 Binary files a/fonts/USmallFont/00c0.png and b/fonts/USmallFont/00c0.png differ diff --git a/fonts/USmallFont/00c1.png b/fonts/USmallFont/00c1.png index acb30cf..73280a7 100644 Binary files a/fonts/USmallFont/00c1.png and b/fonts/USmallFont/00c1.png differ diff --git a/fonts/USmallFont/00c2.png b/fonts/USmallFont/00c2.png index 3a19f74..494ec49 100644 Binary files a/fonts/USmallFont/00c2.png and b/fonts/USmallFont/00c2.png differ diff --git a/fonts/USmallFont/00c3.png b/fonts/USmallFont/00c3.png deleted file mode 100644 index 73ea272..0000000 Binary files a/fonts/USmallFont/00c3.png and /dev/null differ diff --git a/fonts/USmallFont/00c4.png b/fonts/USmallFont/00c4.png index a6468db..6fe7b77 100644 Binary files a/fonts/USmallFont/00c4.png and b/fonts/USmallFont/00c4.png differ diff --git a/fonts/USmallFont/00c5.png b/fonts/USmallFont/00c5.png index ee8bf47..ceba3f0 100644 Binary files a/fonts/USmallFont/00c5.png and b/fonts/USmallFont/00c5.png differ diff --git a/fonts/USmallFont/00c6.png b/fonts/USmallFont/00c6.png index 06b5805..637eefe 100644 Binary files a/fonts/USmallFont/00c6.png and b/fonts/USmallFont/00c6.png differ diff --git a/fonts/USmallFont/00c7.png b/fonts/USmallFont/00c7.png index 31b0785..f963c1d 100644 Binary files a/fonts/USmallFont/00c7.png and b/fonts/USmallFont/00c7.png differ diff --git a/fonts/USmallFont/00c8.png b/fonts/USmallFont/00c8.png index ba2814c..29e7c55 100644 Binary files a/fonts/USmallFont/00c8.png and b/fonts/USmallFont/00c8.png differ diff --git a/fonts/USmallFont/00c9.png b/fonts/USmallFont/00c9.png index 9a56564..99eb91e 100644 Binary files a/fonts/USmallFont/00c9.png and b/fonts/USmallFont/00c9.png differ diff --git a/fonts/USmallFont/00ca.png b/fonts/USmallFont/00ca.png index 1413cf9..52cadcc 100644 Binary files a/fonts/USmallFont/00ca.png and b/fonts/USmallFont/00ca.png differ diff --git a/fonts/USmallFont/00cb.png b/fonts/USmallFont/00cb.png index d965777..e0103b0 100644 Binary files a/fonts/USmallFont/00cb.png and b/fonts/USmallFont/00cb.png differ diff --git a/fonts/USmallFont/00cc.png b/fonts/USmallFont/00cc.png index d065bed..b60f5bb 100644 Binary files a/fonts/USmallFont/00cc.png and b/fonts/USmallFont/00cc.png differ diff --git a/fonts/USmallFont/00cd.png b/fonts/USmallFont/00cd.png index e0e303d..558339c 100644 Binary files a/fonts/USmallFont/00cd.png and b/fonts/USmallFont/00cd.png differ diff --git a/fonts/USmallFont/00ce.png b/fonts/USmallFont/00ce.png index 74c81af..163b83d 100644 Binary files a/fonts/USmallFont/00ce.png and b/fonts/USmallFont/00ce.png differ diff --git a/fonts/USmallFont/00cf.png b/fonts/USmallFont/00cf.png index 58968a1..22cbd0f 100644 Binary files a/fonts/USmallFont/00cf.png and b/fonts/USmallFont/00cf.png differ diff --git a/fonts/USmallFont/00d0.png b/fonts/USmallFont/00d0.png index b1ff892..93553ad 100644 Binary files a/fonts/USmallFont/00d0.png and b/fonts/USmallFont/00d0.png differ diff --git a/fonts/USmallFont/00d1.png b/fonts/USmallFont/00d1.png index d634508..4805b00 100644 Binary files a/fonts/USmallFont/00d1.png and b/fonts/USmallFont/00d1.png differ diff --git a/fonts/USmallFont/00d2.png b/fonts/USmallFont/00d2.png index 67a3d50..2d1776d 100644 Binary files a/fonts/USmallFont/00d2.png and b/fonts/USmallFont/00d2.png differ diff --git a/fonts/USmallFont/00d3.png b/fonts/USmallFont/00d3.png index 1ebcb31..171b1ee 100644 Binary files a/fonts/USmallFont/00d3.png and b/fonts/USmallFont/00d3.png differ diff --git a/fonts/USmallFont/00d4.png b/fonts/USmallFont/00d4.png index e6cc5f0..a8f127a 100644 Binary files a/fonts/USmallFont/00d4.png and b/fonts/USmallFont/00d4.png differ diff --git a/fonts/USmallFont/00d5.png b/fonts/USmallFont/00d5.png index e0edbf5..f567dfd 100644 Binary files a/fonts/USmallFont/00d5.png and b/fonts/USmallFont/00d5.png differ diff --git a/fonts/USmallFont/00d6.png b/fonts/USmallFont/00d6.png index 9c5e38e..5681ae5 100644 Binary files a/fonts/USmallFont/00d6.png and b/fonts/USmallFont/00d6.png differ diff --git a/fonts/USmallFont/00d7.png b/fonts/USmallFont/00d7.png index e6c5fa2..86eb252 100644 Binary files a/fonts/USmallFont/00d7.png and b/fonts/USmallFont/00d7.png differ diff --git a/fonts/USmallFont/00d8.png b/fonts/USmallFont/00d8.png index 4dac16b..9caa2aa 100644 Binary files a/fonts/USmallFont/00d8.png and b/fonts/USmallFont/00d8.png differ diff --git a/fonts/USmallFont/00d9.png b/fonts/USmallFont/00d9.png index 5b058df..7a3a829 100644 Binary files a/fonts/USmallFont/00d9.png and b/fonts/USmallFont/00d9.png differ diff --git a/fonts/USmallFont/00da.png b/fonts/USmallFont/00da.png index 6038f73..b5de506 100644 Binary files a/fonts/USmallFont/00da.png and b/fonts/USmallFont/00da.png differ diff --git a/fonts/USmallFont/00db.png b/fonts/USmallFont/00db.png index 7925061..aac2b27 100644 Binary files a/fonts/USmallFont/00db.png and b/fonts/USmallFont/00db.png differ diff --git a/fonts/USmallFont/00dc.png b/fonts/USmallFont/00dc.png index 5b058df..7a3a829 100644 Binary files a/fonts/USmallFont/00dc.png and b/fonts/USmallFont/00dc.png differ diff --git a/fonts/USmallFont/00dd.png b/fonts/USmallFont/00dd.png index 22f6a1f..0ca1678 100644 Binary files a/fonts/USmallFont/00dd.png and b/fonts/USmallFont/00dd.png differ diff --git a/fonts/USmallFont/00de.png b/fonts/USmallFont/00de.png index b058258..fb648e8 100644 Binary files a/fonts/USmallFont/00de.png and b/fonts/USmallFont/00de.png differ diff --git a/fonts/USmallFont/00df.png b/fonts/USmallFont/00df.png index 5af3a05..12e875b 100644 Binary files a/fonts/USmallFont/00df.png and b/fonts/USmallFont/00df.png differ diff --git a/fonts/USmallFont/00e0.png b/fonts/USmallFont/00e0.png index 3fa0caf..676e1f4 100644 Binary files a/fonts/USmallFont/00e0.png and b/fonts/USmallFont/00e0.png differ diff --git a/fonts/USmallFont/00e1.png b/fonts/USmallFont/00e1.png index 4e6da75..73280a7 100644 Binary files a/fonts/USmallFont/00e1.png and b/fonts/USmallFont/00e1.png differ diff --git a/fonts/USmallFont/00e2.png b/fonts/USmallFont/00e2.png index 63ffb3e..494ec49 100644 Binary files a/fonts/USmallFont/00e2.png and b/fonts/USmallFont/00e2.png differ diff --git a/fonts/USmallFont/00e3.png b/fonts/USmallFont/00e3.png deleted file mode 100644 index 94acecf..0000000 Binary files a/fonts/USmallFont/00e3.png and /dev/null differ diff --git a/fonts/USmallFont/00e4.png b/fonts/USmallFont/00e4.png index b468cb6..6fe7b77 100644 Binary files a/fonts/USmallFont/00e4.png and b/fonts/USmallFont/00e4.png differ diff --git a/fonts/USmallFont/00e5.png b/fonts/USmallFont/00e5.png index 4c50ead..ceba3f0 100644 Binary files a/fonts/USmallFont/00e5.png and b/fonts/USmallFont/00e5.png differ diff --git a/fonts/USmallFont/00e6.png b/fonts/USmallFont/00e6.png index f1f5821..637eefe 100644 Binary files a/fonts/USmallFont/00e6.png and b/fonts/USmallFont/00e6.png differ diff --git a/fonts/USmallFont/00e7.png b/fonts/USmallFont/00e7.png index be11ca4..f963c1d 100644 Binary files a/fonts/USmallFont/00e7.png and b/fonts/USmallFont/00e7.png differ diff --git a/fonts/USmallFont/00e8.png b/fonts/USmallFont/00e8.png index 01bb5f6..29e7c55 100644 Binary files a/fonts/USmallFont/00e8.png and b/fonts/USmallFont/00e8.png differ diff --git a/fonts/USmallFont/00e9.png b/fonts/USmallFont/00e9.png index 395c9ae..99eb91e 100644 Binary files a/fonts/USmallFont/00e9.png and b/fonts/USmallFont/00e9.png differ diff --git a/fonts/USmallFont/00ea.png b/fonts/USmallFont/00ea.png index a4d31b1..8887622 100644 Binary files a/fonts/USmallFont/00ea.png and b/fonts/USmallFont/00ea.png differ diff --git a/fonts/USmallFont/00eb.png b/fonts/USmallFont/00eb.png index 83a0f6c..f4d4d5a 100644 Binary files a/fonts/USmallFont/00eb.png and b/fonts/USmallFont/00eb.png differ diff --git a/fonts/USmallFont/00ec.png b/fonts/USmallFont/00ec.png index f444080..b60f5bb 100644 Binary files a/fonts/USmallFont/00ec.png and b/fonts/USmallFont/00ec.png differ diff --git a/fonts/USmallFont/00ed.png b/fonts/USmallFont/00ed.png index b3785fc..558339c 100644 Binary files a/fonts/USmallFont/00ed.png and b/fonts/USmallFont/00ed.png differ diff --git a/fonts/USmallFont/00ee.png b/fonts/USmallFont/00ee.png index f53230b..163b83d 100644 Binary files a/fonts/USmallFont/00ee.png and b/fonts/USmallFont/00ee.png differ diff --git a/fonts/USmallFont/00ef.png b/fonts/USmallFont/00ef.png index be39cfb..22cbd0f 100644 Binary files a/fonts/USmallFont/00ef.png and b/fonts/USmallFont/00ef.png differ diff --git a/fonts/USmallFont/00f0.png b/fonts/USmallFont/00f0.png index 9b48885..7b84acf 100644 Binary files a/fonts/USmallFont/00f0.png and b/fonts/USmallFont/00f0.png differ diff --git a/fonts/USmallFont/00f1.png b/fonts/USmallFont/00f1.png index 95637f5..4805b00 100644 Binary files a/fonts/USmallFont/00f1.png and b/fonts/USmallFont/00f1.png differ diff --git a/fonts/USmallFont/00f2.png b/fonts/USmallFont/00f2.png index e43702b..a75451d 100644 Binary files a/fonts/USmallFont/00f2.png and b/fonts/USmallFont/00f2.png differ diff --git a/fonts/USmallFont/00f3.png b/fonts/USmallFont/00f3.png index f65a7d9..acfb4c9 100644 Binary files a/fonts/USmallFont/00f3.png and b/fonts/USmallFont/00f3.png differ diff --git a/fonts/USmallFont/00f4.png b/fonts/USmallFont/00f4.png index 2ac093d..2d1776d 100644 Binary files a/fonts/USmallFont/00f4.png and b/fonts/USmallFont/00f4.png differ diff --git a/fonts/USmallFont/00f5.png b/fonts/USmallFont/00f5.png index b3bcf46..bb0664a 100644 Binary files a/fonts/USmallFont/00f5.png and b/fonts/USmallFont/00f5.png differ diff --git a/fonts/USmallFont/00f6.png b/fonts/USmallFont/00f6.png index 2afac89..5681ae5 100644 Binary files a/fonts/USmallFont/00f6.png and b/fonts/USmallFont/00f6.png differ diff --git a/fonts/USmallFont/00f7.png b/fonts/USmallFont/00f7.png index 5f20000..a1f4686 100644 Binary files a/fonts/USmallFont/00f7.png and b/fonts/USmallFont/00f7.png differ diff --git a/fonts/USmallFont/00f8.png b/fonts/USmallFont/00f8.png index 924e09f..9caa2aa 100644 Binary files a/fonts/USmallFont/00f8.png and b/fonts/USmallFont/00f8.png differ diff --git a/fonts/USmallFont/00f9.png b/fonts/USmallFont/00f9.png index f2bc54a..4330b6a 100644 Binary files a/fonts/USmallFont/00f9.png and b/fonts/USmallFont/00f9.png differ diff --git a/fonts/USmallFont/00fa.png b/fonts/USmallFont/00fa.png index 063a812..896c882 100644 Binary files a/fonts/USmallFont/00fa.png and b/fonts/USmallFont/00fa.png differ diff --git a/fonts/USmallFont/00fb.png b/fonts/USmallFont/00fb.png index 341fca6..7a3a829 100644 Binary files a/fonts/USmallFont/00fb.png and b/fonts/USmallFont/00fb.png differ diff --git a/fonts/USmallFont/00fc.png b/fonts/USmallFont/00fc.png index 2c9d3e2..98b6344 100644 Binary files a/fonts/USmallFont/00fc.png and b/fonts/USmallFont/00fc.png differ diff --git a/fonts/USmallFont/00fd.png b/fonts/USmallFont/00fd.png index 09fd270..0ca1678 100644 Binary files a/fonts/USmallFont/00fd.png and b/fonts/USmallFont/00fd.png differ diff --git a/fonts/USmallFont/00fe.png b/fonts/USmallFont/00fe.png index 0b83259..b5de506 100644 Binary files a/fonts/USmallFont/00fe.png and b/fonts/USmallFont/00fe.png differ diff --git a/fonts/USmallFont/00ff.png b/fonts/USmallFont/00ff.png index f1724f9..f9840be 100644 Binary files a/fonts/USmallFont/00ff.png and b/fonts/USmallFont/00ff.png differ diff --git a/fonts/USmallFont/font.inf b/fonts/USmallFont/font.inf index 1794c6c..d9d0fce 100644 --- a/fonts/USmallFont/font.inf +++ b/fonts/USmallFont/font.inf @@ -1 +1,3 @@ +SpaceWidth 7 +FontHeight 9 Kerning -1 diff --git a/fonts/UTFont12/0020.png b/fonts/UTFont12/0020.png deleted file mode 100644 index 1b33297..0000000 Binary files a/fonts/UTFont12/0020.png and /dev/null differ diff --git a/fonts/UTFont12/0021.png b/fonts/UTFont12/0021.png index e25ae85..fd6b2cf 100644 Binary files a/fonts/UTFont12/0021.png and b/fonts/UTFont12/0021.png differ diff --git a/fonts/UTFont12/0022.png b/fonts/UTFont12/0022.png index 7005d27..0322766 100644 Binary files a/fonts/UTFont12/0022.png and b/fonts/UTFont12/0022.png differ diff --git a/fonts/UTFont12/0023.png b/fonts/UTFont12/0023.png index 9210404..67c42d3 100644 Binary files a/fonts/UTFont12/0023.png and b/fonts/UTFont12/0023.png differ diff --git a/fonts/UTFont12/0024.png b/fonts/UTFont12/0024.png index 2ba9ecf..2735c36 100644 Binary files a/fonts/UTFont12/0024.png and b/fonts/UTFont12/0024.png differ diff --git a/fonts/UTFont12/0025.png b/fonts/UTFont12/0025.png index fe38a45..707edca 100644 Binary files a/fonts/UTFont12/0025.png and b/fonts/UTFont12/0025.png differ diff --git a/fonts/UTFont12/0026.png b/fonts/UTFont12/0026.png index f05ed9e..2532353 100644 Binary files a/fonts/UTFont12/0026.png and b/fonts/UTFont12/0026.png differ diff --git a/fonts/UTFont12/0027.png b/fonts/UTFont12/0027.png index c69c519..09c939b 100644 Binary files a/fonts/UTFont12/0027.png and b/fonts/UTFont12/0027.png differ diff --git a/fonts/UTFont12/0028.png b/fonts/UTFont12/0028.png index 9333fd2..508048d 100644 Binary files a/fonts/UTFont12/0028.png and b/fonts/UTFont12/0028.png differ diff --git a/fonts/UTFont12/0029.png b/fonts/UTFont12/0029.png index cc4d658..9337572 100644 Binary files a/fonts/UTFont12/0029.png and b/fonts/UTFont12/0029.png differ diff --git a/fonts/UTFont12/002a.png b/fonts/UTFont12/002a.png index 6694e63..ff9da38 100644 Binary files a/fonts/UTFont12/002a.png and b/fonts/UTFont12/002a.png differ diff --git a/fonts/UTFont12/002b.png b/fonts/UTFont12/002b.png index 7b9e620..15439cc 100644 Binary files a/fonts/UTFont12/002b.png and b/fonts/UTFont12/002b.png differ diff --git a/fonts/UTFont12/002c.png b/fonts/UTFont12/002c.png index 650a9e3..3b2f90d 100644 Binary files a/fonts/UTFont12/002c.png and b/fonts/UTFont12/002c.png differ diff --git a/fonts/UTFont12/002d.png b/fonts/UTFont12/002d.png index 3eadb71..581150b 100644 Binary files a/fonts/UTFont12/002d.png and b/fonts/UTFont12/002d.png differ diff --git a/fonts/UTFont12/002e.png b/fonts/UTFont12/002e.png index c9bdff1..046f861 100644 Binary files a/fonts/UTFont12/002e.png and b/fonts/UTFont12/002e.png differ diff --git a/fonts/UTFont12/002f.png b/fonts/UTFont12/002f.png index b5b4b77..0271c0e 100644 Binary files a/fonts/UTFont12/002f.png and b/fonts/UTFont12/002f.png differ diff --git a/fonts/UTFont12/0030.png b/fonts/UTFont12/0030.png index c1345f9..dd3936f 100644 Binary files a/fonts/UTFont12/0030.png and b/fonts/UTFont12/0030.png differ diff --git a/fonts/UTFont12/0031.png b/fonts/UTFont12/0031.png index 3ca13bc..2a0a1df 100644 Binary files a/fonts/UTFont12/0031.png and b/fonts/UTFont12/0031.png differ diff --git a/fonts/UTFont12/0032.png b/fonts/UTFont12/0032.png index 49844db..43aac43 100644 Binary files a/fonts/UTFont12/0032.png and b/fonts/UTFont12/0032.png differ diff --git a/fonts/UTFont12/0033.png b/fonts/UTFont12/0033.png index faf4a1b..b678174 100644 Binary files a/fonts/UTFont12/0033.png and b/fonts/UTFont12/0033.png differ diff --git a/fonts/UTFont12/0034.png b/fonts/UTFont12/0034.png index d18fb43..3ad4787 100644 Binary files a/fonts/UTFont12/0034.png and b/fonts/UTFont12/0034.png differ diff --git a/fonts/UTFont12/0035.png b/fonts/UTFont12/0035.png index ad4b204..3fc55f1 100644 Binary files a/fonts/UTFont12/0035.png and b/fonts/UTFont12/0035.png differ diff --git a/fonts/UTFont12/0036.png b/fonts/UTFont12/0036.png index c4d731a..9ff4709 100644 Binary files a/fonts/UTFont12/0036.png and b/fonts/UTFont12/0036.png differ diff --git a/fonts/UTFont12/0037.png b/fonts/UTFont12/0037.png index ad918e7..fce3e3a 100644 Binary files a/fonts/UTFont12/0037.png and b/fonts/UTFont12/0037.png differ diff --git a/fonts/UTFont12/0038.png b/fonts/UTFont12/0038.png index 6259f9d..52dc43f 100644 Binary files a/fonts/UTFont12/0038.png and b/fonts/UTFont12/0038.png differ diff --git a/fonts/UTFont12/0039.png b/fonts/UTFont12/0039.png index 2cdae76..597f6be 100644 Binary files a/fonts/UTFont12/0039.png and b/fonts/UTFont12/0039.png differ diff --git a/fonts/UTFont12/003a.png b/fonts/UTFont12/003a.png index 626bfec..cece461 100644 Binary files a/fonts/UTFont12/003a.png and b/fonts/UTFont12/003a.png differ diff --git a/fonts/UTFont12/003b.png b/fonts/UTFont12/003b.png index 6d009d6..770af90 100644 Binary files a/fonts/UTFont12/003b.png and b/fonts/UTFont12/003b.png differ diff --git a/fonts/UTFont12/003c.png b/fonts/UTFont12/003c.png index d811fba..7f54f63 100644 Binary files a/fonts/UTFont12/003c.png and b/fonts/UTFont12/003c.png differ diff --git a/fonts/UTFont12/003d.png b/fonts/UTFont12/003d.png index 9c8402a..7ca22ea 100644 Binary files a/fonts/UTFont12/003d.png and b/fonts/UTFont12/003d.png differ diff --git a/fonts/UTFont12/003e.png b/fonts/UTFont12/003e.png index b61e5b7..453a9ad 100644 Binary files a/fonts/UTFont12/003e.png and b/fonts/UTFont12/003e.png differ diff --git a/fonts/UTFont12/003f.png b/fonts/UTFont12/003f.png index ac9e81d..c665c3b 100644 Binary files a/fonts/UTFont12/003f.png and b/fonts/UTFont12/003f.png differ diff --git a/fonts/UTFont12/0040.png b/fonts/UTFont12/0040.png index 7c9814b..01ebef3 100644 Binary files a/fonts/UTFont12/0040.png and b/fonts/UTFont12/0040.png differ diff --git a/fonts/UTFont12/0041.png b/fonts/UTFont12/0041.png index 36a7a48..4caf189 100644 Binary files a/fonts/UTFont12/0041.png and b/fonts/UTFont12/0041.png differ diff --git a/fonts/UTFont12/0042.png b/fonts/UTFont12/0042.png index 17d0212..f90e288 100644 Binary files a/fonts/UTFont12/0042.png and b/fonts/UTFont12/0042.png differ diff --git a/fonts/UTFont12/0043.png b/fonts/UTFont12/0043.png index c5fa13d..d407a47 100644 Binary files a/fonts/UTFont12/0043.png and b/fonts/UTFont12/0043.png differ diff --git a/fonts/UTFont12/0044.png b/fonts/UTFont12/0044.png index e866223..f72b549 100644 Binary files a/fonts/UTFont12/0044.png and b/fonts/UTFont12/0044.png differ diff --git a/fonts/UTFont12/0045.png b/fonts/UTFont12/0045.png index deb30a4..1421d7d 100644 Binary files a/fonts/UTFont12/0045.png and b/fonts/UTFont12/0045.png differ diff --git a/fonts/UTFont12/0046.png b/fonts/UTFont12/0046.png index 60eb7eb..983b01b 100644 Binary files a/fonts/UTFont12/0046.png and b/fonts/UTFont12/0046.png differ diff --git a/fonts/UTFont12/0047.png b/fonts/UTFont12/0047.png index 91e93df..2a19136 100644 Binary files a/fonts/UTFont12/0047.png and b/fonts/UTFont12/0047.png differ diff --git a/fonts/UTFont12/0048.png b/fonts/UTFont12/0048.png index b2e60a1..6d199e8 100644 Binary files a/fonts/UTFont12/0048.png and b/fonts/UTFont12/0048.png differ diff --git a/fonts/UTFont12/0049.png b/fonts/UTFont12/0049.png index 33b1526..37008ff 100644 Binary files a/fonts/UTFont12/0049.png and b/fonts/UTFont12/0049.png differ diff --git a/fonts/UTFont12/004a.png b/fonts/UTFont12/004a.png index 174dc47..451e7a6 100644 Binary files a/fonts/UTFont12/004a.png and b/fonts/UTFont12/004a.png differ diff --git a/fonts/UTFont12/004b.png b/fonts/UTFont12/004b.png index 83cea94..5430e31 100644 Binary files a/fonts/UTFont12/004b.png and b/fonts/UTFont12/004b.png differ diff --git a/fonts/UTFont12/004c.png b/fonts/UTFont12/004c.png index f6a37c6..618dd7e 100644 Binary files a/fonts/UTFont12/004c.png and b/fonts/UTFont12/004c.png differ diff --git a/fonts/UTFont12/004d.png b/fonts/UTFont12/004d.png index 57a3a53..54e9761 100644 Binary files a/fonts/UTFont12/004d.png and b/fonts/UTFont12/004d.png differ diff --git a/fonts/UTFont12/004e.png b/fonts/UTFont12/004e.png index 3528439..a0fe4d9 100644 Binary files a/fonts/UTFont12/004e.png and b/fonts/UTFont12/004e.png differ diff --git a/fonts/UTFont12/004f.png b/fonts/UTFont12/004f.png index 870d1bc..e1bf5a9 100644 Binary files a/fonts/UTFont12/004f.png and b/fonts/UTFont12/004f.png differ diff --git a/fonts/UTFont12/0050.png b/fonts/UTFont12/0050.png index 3256e46..106cf6e 100644 Binary files a/fonts/UTFont12/0050.png and b/fonts/UTFont12/0050.png differ diff --git a/fonts/UTFont12/0051.png b/fonts/UTFont12/0051.png index 82e1a4d..e112df3 100644 Binary files a/fonts/UTFont12/0051.png and b/fonts/UTFont12/0051.png differ diff --git a/fonts/UTFont12/0052.png b/fonts/UTFont12/0052.png index ebe1e70..24f7c48 100644 Binary files a/fonts/UTFont12/0052.png and b/fonts/UTFont12/0052.png differ diff --git a/fonts/UTFont12/0053.png b/fonts/UTFont12/0053.png index 422fa82..a9eae3b 100644 Binary files a/fonts/UTFont12/0053.png and b/fonts/UTFont12/0053.png differ diff --git a/fonts/UTFont12/0054.png b/fonts/UTFont12/0054.png index b2c91bc..2ee206d 100644 Binary files a/fonts/UTFont12/0054.png and b/fonts/UTFont12/0054.png differ diff --git a/fonts/UTFont12/0055.png b/fonts/UTFont12/0055.png index 7ca1157..9fd78bd 100644 Binary files a/fonts/UTFont12/0055.png and b/fonts/UTFont12/0055.png differ diff --git a/fonts/UTFont12/0056.png b/fonts/UTFont12/0056.png index 02e70eb..8a97886 100644 Binary files a/fonts/UTFont12/0056.png and b/fonts/UTFont12/0056.png differ diff --git a/fonts/UTFont12/0057.png b/fonts/UTFont12/0057.png index 72d978b..32645e1 100644 Binary files a/fonts/UTFont12/0057.png and b/fonts/UTFont12/0057.png differ diff --git a/fonts/UTFont12/0058.png b/fonts/UTFont12/0058.png index 2164dc4..afa20ec 100644 Binary files a/fonts/UTFont12/0058.png and b/fonts/UTFont12/0058.png differ diff --git a/fonts/UTFont12/0059.png b/fonts/UTFont12/0059.png index 1d5ef7e..93975b0 100644 Binary files a/fonts/UTFont12/0059.png and b/fonts/UTFont12/0059.png differ diff --git a/fonts/UTFont12/005a.png b/fonts/UTFont12/005a.png index f4a350c..a3af8ea 100644 Binary files a/fonts/UTFont12/005a.png and b/fonts/UTFont12/005a.png differ diff --git a/fonts/UTFont12/005b.png b/fonts/UTFont12/005b.png index 299d0b1..42b54c8 100644 Binary files a/fonts/UTFont12/005b.png and b/fonts/UTFont12/005b.png differ diff --git a/fonts/UTFont12/005c.png b/fonts/UTFont12/005c.png index 8ba1846..4114166 100644 Binary files a/fonts/UTFont12/005c.png and b/fonts/UTFont12/005c.png differ diff --git a/fonts/UTFont12/005d.png b/fonts/UTFont12/005d.png index cba997d..66bdc3d 100644 Binary files a/fonts/UTFont12/005d.png and b/fonts/UTFont12/005d.png differ diff --git a/fonts/UTFont12/005e.png b/fonts/UTFont12/005e.png index c6f4b6e..2f54fca 100644 Binary files a/fonts/UTFont12/005e.png and b/fonts/UTFont12/005e.png differ diff --git a/fonts/UTFont12/005f.png b/fonts/UTFont12/005f.png index f52da2f..64090a6 100644 Binary files a/fonts/UTFont12/005f.png and b/fonts/UTFont12/005f.png differ diff --git a/fonts/UTFont12/0060.png b/fonts/UTFont12/0060.png index c5f0186..d60259b 100644 Binary files a/fonts/UTFont12/0060.png and b/fonts/UTFont12/0060.png differ diff --git a/fonts/UTFont12/0061.png b/fonts/UTFont12/0061.png index a3a8775..c06b481 100644 Binary files a/fonts/UTFont12/0061.png and b/fonts/UTFont12/0061.png differ diff --git a/fonts/UTFont12/0062.png b/fonts/UTFont12/0062.png index 88cc54d..fb8cf31 100644 Binary files a/fonts/UTFont12/0062.png and b/fonts/UTFont12/0062.png differ diff --git a/fonts/UTFont12/0063.png b/fonts/UTFont12/0063.png index 0e06a87..c1d8ca7 100644 Binary files a/fonts/UTFont12/0063.png and b/fonts/UTFont12/0063.png differ diff --git a/fonts/UTFont12/0064.png b/fonts/UTFont12/0064.png index c24df01..395b850 100644 Binary files a/fonts/UTFont12/0064.png and b/fonts/UTFont12/0064.png differ diff --git a/fonts/UTFont12/0065.png b/fonts/UTFont12/0065.png index 8c253a3..bb0ed23 100644 Binary files a/fonts/UTFont12/0065.png and b/fonts/UTFont12/0065.png differ diff --git a/fonts/UTFont12/0066.png b/fonts/UTFont12/0066.png index 37b6bb3..ec2942c 100644 Binary files a/fonts/UTFont12/0066.png and b/fonts/UTFont12/0066.png differ diff --git a/fonts/UTFont12/0067.png b/fonts/UTFont12/0067.png index 2206200..04283c7 100644 Binary files a/fonts/UTFont12/0067.png and b/fonts/UTFont12/0067.png differ diff --git a/fonts/UTFont12/0068.png b/fonts/UTFont12/0068.png index f795249..60f37f4 100644 Binary files a/fonts/UTFont12/0068.png and b/fonts/UTFont12/0068.png differ diff --git a/fonts/UTFont12/0069.png b/fonts/UTFont12/0069.png index a61fdec..5dbda9e 100644 Binary files a/fonts/UTFont12/0069.png and b/fonts/UTFont12/0069.png differ diff --git a/fonts/UTFont12/006a.png b/fonts/UTFont12/006a.png index 7902cf7..b4b75e3 100644 Binary files a/fonts/UTFont12/006a.png and b/fonts/UTFont12/006a.png differ diff --git a/fonts/UTFont12/006b.png b/fonts/UTFont12/006b.png index 915c409..028a9be 100644 Binary files a/fonts/UTFont12/006b.png and b/fonts/UTFont12/006b.png differ diff --git a/fonts/UTFont12/006c.png b/fonts/UTFont12/006c.png index 5d58540..aeeb91d 100644 Binary files a/fonts/UTFont12/006c.png and b/fonts/UTFont12/006c.png differ diff --git a/fonts/UTFont12/006d.png b/fonts/UTFont12/006d.png index f7c05b5..e4dc907 100644 Binary files a/fonts/UTFont12/006d.png and b/fonts/UTFont12/006d.png differ diff --git a/fonts/UTFont12/006e.png b/fonts/UTFont12/006e.png index 39dcf68..c0623b5 100644 Binary files a/fonts/UTFont12/006e.png and b/fonts/UTFont12/006e.png differ diff --git a/fonts/UTFont12/006f.png b/fonts/UTFont12/006f.png index 2548afd..1568938 100644 Binary files a/fonts/UTFont12/006f.png and b/fonts/UTFont12/006f.png differ diff --git a/fonts/UTFont12/0070.png b/fonts/UTFont12/0070.png index 637d2e5..28c22be 100644 Binary files a/fonts/UTFont12/0070.png and b/fonts/UTFont12/0070.png differ diff --git a/fonts/UTFont12/0071.png b/fonts/UTFont12/0071.png index 1366799..c11334a 100644 Binary files a/fonts/UTFont12/0071.png and b/fonts/UTFont12/0071.png differ diff --git a/fonts/UTFont12/0072.png b/fonts/UTFont12/0072.png index 37184b0..45a0039 100644 Binary files a/fonts/UTFont12/0072.png and b/fonts/UTFont12/0072.png differ diff --git a/fonts/UTFont12/0073.png b/fonts/UTFont12/0073.png index bd83871..547cae0 100644 Binary files a/fonts/UTFont12/0073.png and b/fonts/UTFont12/0073.png differ diff --git a/fonts/UTFont12/0074.png b/fonts/UTFont12/0074.png index 6bb8f5f..ad585db 100644 Binary files a/fonts/UTFont12/0074.png and b/fonts/UTFont12/0074.png differ diff --git a/fonts/UTFont12/0075.png b/fonts/UTFont12/0075.png index a25a2be..6f0c46d 100644 Binary files a/fonts/UTFont12/0075.png and b/fonts/UTFont12/0075.png differ diff --git a/fonts/UTFont12/0076.png b/fonts/UTFont12/0076.png index 791b933..ecf98c3 100644 Binary files a/fonts/UTFont12/0076.png and b/fonts/UTFont12/0076.png differ diff --git a/fonts/UTFont12/0077.png b/fonts/UTFont12/0077.png index 8e0223e..5dc3876 100644 Binary files a/fonts/UTFont12/0077.png and b/fonts/UTFont12/0077.png differ diff --git a/fonts/UTFont12/0078.png b/fonts/UTFont12/0078.png index 0ef80d7..9411a67 100644 Binary files a/fonts/UTFont12/0078.png and b/fonts/UTFont12/0078.png differ diff --git a/fonts/UTFont12/0079.png b/fonts/UTFont12/0079.png index b4ae4b7..e2f2efc 100644 Binary files a/fonts/UTFont12/0079.png and b/fonts/UTFont12/0079.png differ diff --git a/fonts/UTFont12/007a.png b/fonts/UTFont12/007a.png index b0501aa..2476d45 100644 Binary files a/fonts/UTFont12/007a.png and b/fonts/UTFont12/007a.png differ diff --git a/fonts/UTFont12/007b.png b/fonts/UTFont12/007b.png index d288322..2f72d0d 100644 Binary files a/fonts/UTFont12/007b.png and b/fonts/UTFont12/007b.png differ diff --git a/fonts/UTFont12/007c.png b/fonts/UTFont12/007c.png index 0421009..a3bf766 100644 Binary files a/fonts/UTFont12/007c.png and b/fonts/UTFont12/007c.png differ diff --git a/fonts/UTFont12/007d.png b/fonts/UTFont12/007d.png index 27dc2c6..b9274c2 100644 Binary files a/fonts/UTFont12/007d.png and b/fonts/UTFont12/007d.png differ diff --git a/fonts/UTFont12/007e.png b/fonts/UTFont12/007e.png index 219286b..b3deba6 100644 Binary files a/fonts/UTFont12/007e.png and b/fonts/UTFont12/007e.png differ diff --git a/fonts/UTFont12/00a1.png b/fonts/UTFont12/00a1.png index 8ac413d..ebe1c57 100644 Binary files a/fonts/UTFont12/00a1.png and b/fonts/UTFont12/00a1.png differ diff --git a/fonts/UTFont12/00a2.png b/fonts/UTFont12/00a2.png index 2b7deb8..7f18054 100644 Binary files a/fonts/UTFont12/00a2.png and b/fonts/UTFont12/00a2.png differ diff --git a/fonts/UTFont12/00a3.png b/fonts/UTFont12/00a3.png index 07d2d58..94bfd45 100644 Binary files a/fonts/UTFont12/00a3.png and b/fonts/UTFont12/00a3.png differ diff --git a/fonts/UTFont12/00a4.png b/fonts/UTFont12/00a4.png index f19cdf5..83aafef 100644 Binary files a/fonts/UTFont12/00a4.png and b/fonts/UTFont12/00a4.png differ diff --git a/fonts/UTFont12/00a5.png b/fonts/UTFont12/00a5.png index f231d8e..3c02ebe 100644 Binary files a/fonts/UTFont12/00a5.png and b/fonts/UTFont12/00a5.png differ diff --git a/fonts/UTFont12/00a6.png b/fonts/UTFont12/00a6.png index e4e84e4..b6387c3 100644 Binary files a/fonts/UTFont12/00a6.png and b/fonts/UTFont12/00a6.png differ diff --git a/fonts/UTFont12/00a7.png b/fonts/UTFont12/00a7.png index aa5038a..cc124a8 100644 Binary files a/fonts/UTFont12/00a7.png and b/fonts/UTFont12/00a7.png differ diff --git a/fonts/UTFont12/00a8.png b/fonts/UTFont12/00a8.png index 09c4bc0..edf700f 100644 Binary files a/fonts/UTFont12/00a8.png and b/fonts/UTFont12/00a8.png differ diff --git a/fonts/UTFont12/00a9.png b/fonts/UTFont12/00a9.png index 97074ee..63aaa66 100644 Binary files a/fonts/UTFont12/00a9.png and b/fonts/UTFont12/00a9.png differ diff --git a/fonts/UTFont12/00aa.png b/fonts/UTFont12/00aa.png index f1014e7..41067d4 100644 Binary files a/fonts/UTFont12/00aa.png and b/fonts/UTFont12/00aa.png differ diff --git a/fonts/UTFont12/00ab.png b/fonts/UTFont12/00ab.png index 9162976..b002cdc 100644 Binary files a/fonts/UTFont12/00ab.png and b/fonts/UTFont12/00ab.png differ diff --git a/fonts/UTFont12/00ac.png b/fonts/UTFont12/00ac.png index e9415a9..316e2c3 100644 Binary files a/fonts/UTFont12/00ac.png and b/fonts/UTFont12/00ac.png differ diff --git a/fonts/UTFont12/00ad.png b/fonts/UTFont12/00ad.png index bfe8bb4..581150b 100644 Binary files a/fonts/UTFont12/00ad.png and b/fonts/UTFont12/00ad.png differ diff --git a/fonts/UTFont12/00ae.png b/fonts/UTFont12/00ae.png index 616a9f4..1a33c78 100644 Binary files a/fonts/UTFont12/00ae.png and b/fonts/UTFont12/00ae.png differ diff --git a/fonts/UTFont12/00af.png b/fonts/UTFont12/00af.png index 92c9ad2..3d9990c 100644 Binary files a/fonts/UTFont12/00af.png and b/fonts/UTFont12/00af.png differ diff --git a/fonts/UTFont12/00b0.png b/fonts/UTFont12/00b0.png index b34d465..0e94c2d 100644 Binary files a/fonts/UTFont12/00b0.png and b/fonts/UTFont12/00b0.png differ diff --git a/fonts/UTFont12/00b1.png b/fonts/UTFont12/00b1.png index eb05729..c278f19 100644 Binary files a/fonts/UTFont12/00b1.png and b/fonts/UTFont12/00b1.png differ diff --git a/fonts/UTFont12/00b2.png b/fonts/UTFont12/00b2.png index bcdc882..c1644e9 100644 Binary files a/fonts/UTFont12/00b2.png and b/fonts/UTFont12/00b2.png differ diff --git a/fonts/UTFont12/00b3.png b/fonts/UTFont12/00b3.png index 6f21f69..f28b2bb 100644 Binary files a/fonts/UTFont12/00b3.png and b/fonts/UTFont12/00b3.png differ diff --git a/fonts/UTFont12/00b4.png b/fonts/UTFont12/00b4.png index c346c89..687c4e4 100644 Binary files a/fonts/UTFont12/00b4.png and b/fonts/UTFont12/00b4.png differ diff --git a/fonts/UTFont12/00b5.png b/fonts/UTFont12/00b5.png index 7283937..6b4955c 100644 Binary files a/fonts/UTFont12/00b5.png and b/fonts/UTFont12/00b5.png differ diff --git a/fonts/UTFont12/00b6.png b/fonts/UTFont12/00b6.png index ee6a637..927bb0c 100644 Binary files a/fonts/UTFont12/00b6.png and b/fonts/UTFont12/00b6.png differ diff --git a/fonts/UTFont12/00b7.png b/fonts/UTFont12/00b7.png index d70265d..7c92fa9 100644 Binary files a/fonts/UTFont12/00b7.png and b/fonts/UTFont12/00b7.png differ diff --git a/fonts/UTFont12/00b8.png b/fonts/UTFont12/00b8.png index a803a44..0a9cda1 100644 Binary files a/fonts/UTFont12/00b8.png and b/fonts/UTFont12/00b8.png differ diff --git a/fonts/UTFont12/00b9.png b/fonts/UTFont12/00b9.png index 327e8ee..bf4e8a0 100644 Binary files a/fonts/UTFont12/00b9.png and b/fonts/UTFont12/00b9.png differ diff --git a/fonts/UTFont12/00ba.png b/fonts/UTFont12/00ba.png index 22a22a5..9a6956d 100644 Binary files a/fonts/UTFont12/00ba.png and b/fonts/UTFont12/00ba.png differ diff --git a/fonts/UTFont12/00bb.png b/fonts/UTFont12/00bb.png index bf85aca..54f7732 100644 Binary files a/fonts/UTFont12/00bb.png and b/fonts/UTFont12/00bb.png differ diff --git a/fonts/UTFont12/00bc.png b/fonts/UTFont12/00bc.png index 11d278d..e2fb5a1 100644 Binary files a/fonts/UTFont12/00bc.png and b/fonts/UTFont12/00bc.png differ diff --git a/fonts/UTFont12/00bd.png b/fonts/UTFont12/00bd.png index 77db250..9d30116 100644 Binary files a/fonts/UTFont12/00bd.png and b/fonts/UTFont12/00bd.png differ diff --git a/fonts/UTFont12/00be.png b/fonts/UTFont12/00be.png index 5611056..096fdca 100644 Binary files a/fonts/UTFont12/00be.png and b/fonts/UTFont12/00be.png differ diff --git a/fonts/UTFont12/00bf.png b/fonts/UTFont12/00bf.png index 0690a24..e481ea7 100644 Binary files a/fonts/UTFont12/00bf.png and b/fonts/UTFont12/00bf.png differ diff --git a/fonts/UTFont12/00c0.png b/fonts/UTFont12/00c0.png index ca3e4de..e72048a 100644 Binary files a/fonts/UTFont12/00c0.png and b/fonts/UTFont12/00c0.png differ diff --git a/fonts/UTFont12/00c1.png b/fonts/UTFont12/00c1.png index ca3e4de..e72048a 100644 Binary files a/fonts/UTFont12/00c1.png and b/fonts/UTFont12/00c1.png differ diff --git a/fonts/UTFont12/00c2.png b/fonts/UTFont12/00c2.png index 8b3d9e0..0061207 100644 Binary files a/fonts/UTFont12/00c2.png and b/fonts/UTFont12/00c2.png differ diff --git a/fonts/UTFont12/00c3.png b/fonts/UTFont12/00c3.png index 380577c..c9c2872 100644 Binary files a/fonts/UTFont12/00c3.png and b/fonts/UTFont12/00c3.png differ diff --git a/fonts/UTFont12/00c4.png b/fonts/UTFont12/00c4.png index 8b3d9e0..0061207 100644 Binary files a/fonts/UTFont12/00c4.png and b/fonts/UTFont12/00c4.png differ diff --git a/fonts/UTFont12/00c5.png b/fonts/UTFont12/00c5.png index 1b102d7..f80ce5e 100644 Binary files a/fonts/UTFont12/00c5.png and b/fonts/UTFont12/00c5.png differ diff --git a/fonts/UTFont12/00c6.png b/fonts/UTFont12/00c6.png index dfcd180..f50a662 100644 Binary files a/fonts/UTFont12/00c6.png and b/fonts/UTFont12/00c6.png differ diff --git a/fonts/UTFont12/00c7.png b/fonts/UTFont12/00c7.png index 273915f..6068f40 100644 Binary files a/fonts/UTFont12/00c7.png and b/fonts/UTFont12/00c7.png differ diff --git a/fonts/UTFont12/00c8.png b/fonts/UTFont12/00c8.png index f95a844..6f8658a 100644 Binary files a/fonts/UTFont12/00c8.png and b/fonts/UTFont12/00c8.png differ diff --git a/fonts/UTFont12/00c9.png b/fonts/UTFont12/00c9.png index f95a844..6f8658a 100644 Binary files a/fonts/UTFont12/00c9.png and b/fonts/UTFont12/00c9.png differ diff --git a/fonts/UTFont12/00ca.png b/fonts/UTFont12/00ca.png index 923651d..a40d051 100644 Binary files a/fonts/UTFont12/00ca.png and b/fonts/UTFont12/00ca.png differ diff --git a/fonts/UTFont12/00cb.png b/fonts/UTFont12/00cb.png index d46a4ac..49c77ec 100644 Binary files a/fonts/UTFont12/00cb.png and b/fonts/UTFont12/00cb.png differ diff --git a/fonts/UTFont12/00cc.png b/fonts/UTFont12/00cc.png index 730a9aa..d7c2a62 100644 Binary files a/fonts/UTFont12/00cc.png and b/fonts/UTFont12/00cc.png differ diff --git a/fonts/UTFont12/00cd.png b/fonts/UTFont12/00cd.png index 730a9aa..d7c2a62 100644 Binary files a/fonts/UTFont12/00cd.png and b/fonts/UTFont12/00cd.png differ diff --git a/fonts/UTFont12/00ce.png b/fonts/UTFont12/00ce.png index 1c97060..958a7e7 100644 Binary files a/fonts/UTFont12/00ce.png and b/fonts/UTFont12/00ce.png differ diff --git a/fonts/UTFont12/00cf.png b/fonts/UTFont12/00cf.png index 2af1faf..9cc66a5 100644 Binary files a/fonts/UTFont12/00cf.png and b/fonts/UTFont12/00cf.png differ diff --git a/fonts/UTFont12/00d0.png b/fonts/UTFont12/00d0.png index f37a1ff..f3ae29b 100644 Binary files a/fonts/UTFont12/00d0.png and b/fonts/UTFont12/00d0.png differ diff --git a/fonts/UTFont12/00d1.png b/fonts/UTFont12/00d1.png index e162b86..2e774c0 100644 Binary files a/fonts/UTFont12/00d1.png and b/fonts/UTFont12/00d1.png differ diff --git a/fonts/UTFont12/00d2.png b/fonts/UTFont12/00d2.png index 9fd4b21..e0f449c 100644 Binary files a/fonts/UTFont12/00d2.png and b/fonts/UTFont12/00d2.png differ diff --git a/fonts/UTFont12/00d3.png b/fonts/UTFont12/00d3.png index 9fd4b21..e0f449c 100644 Binary files a/fonts/UTFont12/00d3.png and b/fonts/UTFont12/00d3.png differ diff --git a/fonts/UTFont12/00d4.png b/fonts/UTFont12/00d4.png index d1b659f..c479b7d 100644 Binary files a/fonts/UTFont12/00d4.png and b/fonts/UTFont12/00d4.png differ diff --git a/fonts/UTFont12/00d5.png b/fonts/UTFont12/00d5.png index afe2363..411fa74 100644 Binary files a/fonts/UTFont12/00d5.png and b/fonts/UTFont12/00d5.png differ diff --git a/fonts/UTFont12/00d6.png b/fonts/UTFont12/00d6.png index d1b659f..c479b7d 100644 Binary files a/fonts/UTFont12/00d6.png and b/fonts/UTFont12/00d6.png differ diff --git a/fonts/UTFont12/00d7.png b/fonts/UTFont12/00d7.png index 9544d0f..bc6dd5a 100644 Binary files a/fonts/UTFont12/00d7.png and b/fonts/UTFont12/00d7.png differ diff --git a/fonts/UTFont12/00d8.png b/fonts/UTFont12/00d8.png index e0c75a0..411ed6f 100644 Binary files a/fonts/UTFont12/00d8.png and b/fonts/UTFont12/00d8.png differ diff --git a/fonts/UTFont12/00d9.png b/fonts/UTFont12/00d9.png index f9eb0ab..adaf6c7 100644 Binary files a/fonts/UTFont12/00d9.png and b/fonts/UTFont12/00d9.png differ diff --git a/fonts/UTFont12/00da.png b/fonts/UTFont12/00da.png index f9eb0ab..adaf6c7 100644 Binary files a/fonts/UTFont12/00da.png and b/fonts/UTFont12/00da.png differ diff --git a/fonts/UTFont12/00db.png b/fonts/UTFont12/00db.png index e8f4a78..5f22365 100644 Binary files a/fonts/UTFont12/00db.png and b/fonts/UTFont12/00db.png differ diff --git a/fonts/UTFont12/00dc.png b/fonts/UTFont12/00dc.png index 50e0720..a5ab554 100644 Binary files a/fonts/UTFont12/00dc.png and b/fonts/UTFont12/00dc.png differ diff --git a/fonts/UTFont12/00dd.png b/fonts/UTFont12/00dd.png index 483f081..d22823f 100644 Binary files a/fonts/UTFont12/00dd.png and b/fonts/UTFont12/00dd.png differ diff --git a/fonts/UTFont12/00de.png b/fonts/UTFont12/00de.png index 3ebb287..b8a4520 100644 Binary files a/fonts/UTFont12/00de.png and b/fonts/UTFont12/00de.png differ diff --git a/fonts/UTFont12/00df.png b/fonts/UTFont12/00df.png index 2389f4d..7de46b1 100644 Binary files a/fonts/UTFont12/00df.png and b/fonts/UTFont12/00df.png differ diff --git a/fonts/UTFont12/00e0.png b/fonts/UTFont12/00e0.png index dc823d9..d946480 100644 Binary files a/fonts/UTFont12/00e0.png and b/fonts/UTFont12/00e0.png differ diff --git a/fonts/UTFont12/00e1.png b/fonts/UTFont12/00e1.png index 2b4fd3a..feeb1f0 100644 Binary files a/fonts/UTFont12/00e1.png and b/fonts/UTFont12/00e1.png differ diff --git a/fonts/UTFont12/00e2.png b/fonts/UTFont12/00e2.png index afa109d..3466cda 100644 Binary files a/fonts/UTFont12/00e2.png and b/fonts/UTFont12/00e2.png differ diff --git a/fonts/UTFont12/00e3.png b/fonts/UTFont12/00e3.png index ce982f7..865f545 100644 Binary files a/fonts/UTFont12/00e3.png and b/fonts/UTFont12/00e3.png differ diff --git a/fonts/UTFont12/00e4.png b/fonts/UTFont12/00e4.png index 12cdc23..b5df68e 100644 Binary files a/fonts/UTFont12/00e4.png and b/fonts/UTFont12/00e4.png differ diff --git a/fonts/UTFont12/00e5.png b/fonts/UTFont12/00e5.png index a6ec4b2..5d8b134 100644 Binary files a/fonts/UTFont12/00e5.png and b/fonts/UTFont12/00e5.png differ diff --git a/fonts/UTFont12/00e6.png b/fonts/UTFont12/00e6.png index 97e179e..0290200 100644 Binary files a/fonts/UTFont12/00e6.png and b/fonts/UTFont12/00e6.png differ diff --git a/fonts/UTFont12/00e7.png b/fonts/UTFont12/00e7.png index feb3cf8..b2bf67a 100644 Binary files a/fonts/UTFont12/00e7.png and b/fonts/UTFont12/00e7.png differ diff --git a/fonts/UTFont12/00e8.png b/fonts/UTFont12/00e8.png index d7329cb..2cf4122 100644 Binary files a/fonts/UTFont12/00e8.png and b/fonts/UTFont12/00e8.png differ diff --git a/fonts/UTFont12/00e9.png b/fonts/UTFont12/00e9.png index 2bc5e0e..01a76ec 100644 Binary files a/fonts/UTFont12/00e9.png and b/fonts/UTFont12/00e9.png differ diff --git a/fonts/UTFont12/00ea.png b/fonts/UTFont12/00ea.png index 4b1cac8..cae659b 100644 Binary files a/fonts/UTFont12/00ea.png and b/fonts/UTFont12/00ea.png differ diff --git a/fonts/UTFont12/00eb.png b/fonts/UTFont12/00eb.png index 5260781..e47ee16 100644 Binary files a/fonts/UTFont12/00eb.png and b/fonts/UTFont12/00eb.png differ diff --git a/fonts/UTFont12/00ec.png b/fonts/UTFont12/00ec.png index aa78690..4c07b0c 100644 Binary files a/fonts/UTFont12/00ec.png and b/fonts/UTFont12/00ec.png differ diff --git a/fonts/UTFont12/00ed.png b/fonts/UTFont12/00ed.png index 5a6945a..6285eca 100644 Binary files a/fonts/UTFont12/00ed.png and b/fonts/UTFont12/00ed.png differ diff --git a/fonts/UTFont12/00ee.png b/fonts/UTFont12/00ee.png index c5eb5f1..e037b27 100644 Binary files a/fonts/UTFont12/00ee.png and b/fonts/UTFont12/00ee.png differ diff --git a/fonts/UTFont12/00ef.png b/fonts/UTFont12/00ef.png index bb7e1b4..8bb2d91 100644 Binary files a/fonts/UTFont12/00ef.png and b/fonts/UTFont12/00ef.png differ diff --git a/fonts/UTFont12/00f0.png b/fonts/UTFont12/00f0.png index 2241efa..f9961ce 100644 Binary files a/fonts/UTFont12/00f0.png and b/fonts/UTFont12/00f0.png differ diff --git a/fonts/UTFont12/00f1.png b/fonts/UTFont12/00f1.png index ddffdb4..a567eea 100644 Binary files a/fonts/UTFont12/00f1.png and b/fonts/UTFont12/00f1.png differ diff --git a/fonts/UTFont12/00f2.png b/fonts/UTFont12/00f2.png index 1fafb50..b4014a9 100644 Binary files a/fonts/UTFont12/00f2.png and b/fonts/UTFont12/00f2.png differ diff --git a/fonts/UTFont12/00f3.png b/fonts/UTFont12/00f3.png index 96a6840..74f566a 100644 Binary files a/fonts/UTFont12/00f3.png and b/fonts/UTFont12/00f3.png differ diff --git a/fonts/UTFont12/00f4.png b/fonts/UTFont12/00f4.png index 3fbe71c..8a02473 100644 Binary files a/fonts/UTFont12/00f4.png and b/fonts/UTFont12/00f4.png differ diff --git a/fonts/UTFont12/00f5.png b/fonts/UTFont12/00f5.png index c78761a..c50b881 100644 Binary files a/fonts/UTFont12/00f5.png and b/fonts/UTFont12/00f5.png differ diff --git a/fonts/UTFont12/00f6.png b/fonts/UTFont12/00f6.png index 8a5a46c..6f1f365 100644 Binary files a/fonts/UTFont12/00f6.png and b/fonts/UTFont12/00f6.png differ diff --git a/fonts/UTFont12/00f7.png b/fonts/UTFont12/00f7.png index f45625c..4aaa30f 100644 Binary files a/fonts/UTFont12/00f7.png and b/fonts/UTFont12/00f7.png differ diff --git a/fonts/UTFont12/00f8.png b/fonts/UTFont12/00f8.png index 9e59cb2..cdfe1ca 100644 Binary files a/fonts/UTFont12/00f8.png and b/fonts/UTFont12/00f8.png differ diff --git a/fonts/UTFont12/00f9.png b/fonts/UTFont12/00f9.png index 3726c11..5dfcabc 100644 Binary files a/fonts/UTFont12/00f9.png and b/fonts/UTFont12/00f9.png differ diff --git a/fonts/UTFont12/00fa.png b/fonts/UTFont12/00fa.png index cea7be8..113fb40 100644 Binary files a/fonts/UTFont12/00fa.png and b/fonts/UTFont12/00fa.png differ diff --git a/fonts/UTFont12/00fb.png b/fonts/UTFont12/00fb.png index 338748a..1bf2a1c 100644 Binary files a/fonts/UTFont12/00fb.png and b/fonts/UTFont12/00fb.png differ diff --git a/fonts/UTFont12/00fc.png b/fonts/UTFont12/00fc.png index 7b06e5b..8d787c5 100644 Binary files a/fonts/UTFont12/00fc.png and b/fonts/UTFont12/00fc.png differ diff --git a/fonts/UTFont12/00fd.png b/fonts/UTFont12/00fd.png index 833adc0..ee2541e 100644 Binary files a/fonts/UTFont12/00fd.png and b/fonts/UTFont12/00fd.png differ diff --git a/fonts/UTFont12/00fe.png b/fonts/UTFont12/00fe.png index 5b38b32..b89c88b 100644 Binary files a/fonts/UTFont12/00fe.png and b/fonts/UTFont12/00fe.png differ diff --git a/fonts/UTFont12/00ff.png b/fonts/UTFont12/00ff.png index 26e5c09..13b549f 100644 Binary files a/fonts/UTFont12/00ff.png and b/fonts/UTFont12/00ff.png differ diff --git a/fonts/UTFont12/font.inf b/fonts/UTFont12/font.inf index 1794c6c..58fd0ac 100644 --- a/fonts/UTFont12/font.inf +++ b/fonts/UTFont12/font.inf @@ -1 +1,3 @@ +SpaceWidth 5 +FontHeight 15 Kerning -1 diff --git a/fonts/UTFont40/0020.png b/fonts/UTFont40/0020.png deleted file mode 100644 index 58a8ce8..0000000 Binary files a/fonts/UTFont40/0020.png and /dev/null differ diff --git a/fonts/UTFont40/0021.png b/fonts/UTFont40/0021.png index d025d0e..6856315 100644 Binary files a/fonts/UTFont40/0021.png and b/fonts/UTFont40/0021.png differ diff --git a/fonts/UTFont40/0022.png b/fonts/UTFont40/0022.png index 2832aa0..435c680 100644 Binary files a/fonts/UTFont40/0022.png and b/fonts/UTFont40/0022.png differ diff --git a/fonts/UTFont40/0023.png b/fonts/UTFont40/0023.png index d84d292..70c58d7 100644 Binary files a/fonts/UTFont40/0023.png and b/fonts/UTFont40/0023.png differ diff --git a/fonts/UTFont40/0024.png b/fonts/UTFont40/0024.png index 21c777e..82935aa 100644 Binary files a/fonts/UTFont40/0024.png and b/fonts/UTFont40/0024.png differ diff --git a/fonts/UTFont40/0025.png b/fonts/UTFont40/0025.png index b761fd1..6f53a98 100644 Binary files a/fonts/UTFont40/0025.png and b/fonts/UTFont40/0025.png differ diff --git a/fonts/UTFont40/0026.png b/fonts/UTFont40/0026.png index b8fdd2f..fdd00a2 100644 Binary files a/fonts/UTFont40/0026.png and b/fonts/UTFont40/0026.png differ diff --git a/fonts/UTFont40/0027.png b/fonts/UTFont40/0027.png index 41e1d0b..29e8864 100644 Binary files a/fonts/UTFont40/0027.png and b/fonts/UTFont40/0027.png differ diff --git a/fonts/UTFont40/0028.png b/fonts/UTFont40/0028.png index 4c0c65c..ab9ee99 100644 Binary files a/fonts/UTFont40/0028.png and b/fonts/UTFont40/0028.png differ diff --git a/fonts/UTFont40/0029.png b/fonts/UTFont40/0029.png index 256d3e1..39e91d0 100644 Binary files a/fonts/UTFont40/0029.png and b/fonts/UTFont40/0029.png differ diff --git a/fonts/UTFont40/002a.png b/fonts/UTFont40/002a.png index e05217e..8cc99e8 100644 Binary files a/fonts/UTFont40/002a.png and b/fonts/UTFont40/002a.png differ diff --git a/fonts/UTFont40/002b.png b/fonts/UTFont40/002b.png index 7180046..c1274a9 100644 Binary files a/fonts/UTFont40/002b.png and b/fonts/UTFont40/002b.png differ diff --git a/fonts/UTFont40/002c.png b/fonts/UTFont40/002c.png index d6a39e7..a601a1a 100644 Binary files a/fonts/UTFont40/002c.png and b/fonts/UTFont40/002c.png differ diff --git a/fonts/UTFont40/002d.png b/fonts/UTFont40/002d.png index ad9c338..2c400af 100644 Binary files a/fonts/UTFont40/002d.png and b/fonts/UTFont40/002d.png differ diff --git a/fonts/UTFont40/002e.png b/fonts/UTFont40/002e.png index 47b6e09..c53f388 100644 Binary files a/fonts/UTFont40/002e.png and b/fonts/UTFont40/002e.png differ diff --git a/fonts/UTFont40/002f.png b/fonts/UTFont40/002f.png index 8dd35d1..0392c33 100644 Binary files a/fonts/UTFont40/002f.png and b/fonts/UTFont40/002f.png differ diff --git a/fonts/UTFont40/0030.png b/fonts/UTFont40/0030.png index f0304df..53f7e87 100644 Binary files a/fonts/UTFont40/0030.png and b/fonts/UTFont40/0030.png differ diff --git a/fonts/UTFont40/0031.png b/fonts/UTFont40/0031.png index 61ae74d..d54f645 100644 Binary files a/fonts/UTFont40/0031.png and b/fonts/UTFont40/0031.png differ diff --git a/fonts/UTFont40/0032.png b/fonts/UTFont40/0032.png index de03a9a..4f32d15 100644 Binary files a/fonts/UTFont40/0032.png and b/fonts/UTFont40/0032.png differ diff --git a/fonts/UTFont40/0033.png b/fonts/UTFont40/0033.png index f7309a3..ba0ffa5 100644 Binary files a/fonts/UTFont40/0033.png and b/fonts/UTFont40/0033.png differ diff --git a/fonts/UTFont40/0034.png b/fonts/UTFont40/0034.png index 694453d..ef7f27a 100644 Binary files a/fonts/UTFont40/0034.png and b/fonts/UTFont40/0034.png differ diff --git a/fonts/UTFont40/0035.png b/fonts/UTFont40/0035.png index 49455c1..47265ae 100644 Binary files a/fonts/UTFont40/0035.png and b/fonts/UTFont40/0035.png differ diff --git a/fonts/UTFont40/0036.png b/fonts/UTFont40/0036.png index a28748e..e107f50 100644 Binary files a/fonts/UTFont40/0036.png and b/fonts/UTFont40/0036.png differ diff --git a/fonts/UTFont40/0037.png b/fonts/UTFont40/0037.png index 0faa6fb..9015a1a 100644 Binary files a/fonts/UTFont40/0037.png and b/fonts/UTFont40/0037.png differ diff --git a/fonts/UTFont40/0038.png b/fonts/UTFont40/0038.png index 7c14abb..32f0e3e 100644 Binary files a/fonts/UTFont40/0038.png and b/fonts/UTFont40/0038.png differ diff --git a/fonts/UTFont40/0039.png b/fonts/UTFont40/0039.png index 2248d3d..59f3497 100644 Binary files a/fonts/UTFont40/0039.png and b/fonts/UTFont40/0039.png differ diff --git a/fonts/UTFont40/003a.png b/fonts/UTFont40/003a.png index 9b3bef0..c76dae8 100644 Binary files a/fonts/UTFont40/003a.png and b/fonts/UTFont40/003a.png differ diff --git a/fonts/UTFont40/003b.png b/fonts/UTFont40/003b.png index b912c3e..c2507f6 100644 Binary files a/fonts/UTFont40/003b.png and b/fonts/UTFont40/003b.png differ diff --git a/fonts/UTFont40/003c.png b/fonts/UTFont40/003c.png index 2ed69cc..9cc34de 100644 Binary files a/fonts/UTFont40/003c.png and b/fonts/UTFont40/003c.png differ diff --git a/fonts/UTFont40/003d.png b/fonts/UTFont40/003d.png index 09ca686..746a034 100644 Binary files a/fonts/UTFont40/003d.png and b/fonts/UTFont40/003d.png differ diff --git a/fonts/UTFont40/003e.png b/fonts/UTFont40/003e.png index 59aa499..3ea2fa5 100644 Binary files a/fonts/UTFont40/003e.png and b/fonts/UTFont40/003e.png differ diff --git a/fonts/UTFont40/003f.png b/fonts/UTFont40/003f.png index b8c11f8..c012e07 100644 Binary files a/fonts/UTFont40/003f.png and b/fonts/UTFont40/003f.png differ diff --git a/fonts/UTFont40/0040.png b/fonts/UTFont40/0040.png index 9ce09e2..40a0341 100644 Binary files a/fonts/UTFont40/0040.png and b/fonts/UTFont40/0040.png differ diff --git a/fonts/UTFont40/0041.png b/fonts/UTFont40/0041.png index d9ceb10..c0b8205 100644 Binary files a/fonts/UTFont40/0041.png and b/fonts/UTFont40/0041.png differ diff --git a/fonts/UTFont40/0042.png b/fonts/UTFont40/0042.png index 3a9a585..e096b66 100644 Binary files a/fonts/UTFont40/0042.png and b/fonts/UTFont40/0042.png differ diff --git a/fonts/UTFont40/0043.png b/fonts/UTFont40/0043.png index 9d570b0..04177c0 100644 Binary files a/fonts/UTFont40/0043.png and b/fonts/UTFont40/0043.png differ diff --git a/fonts/UTFont40/0044.png b/fonts/UTFont40/0044.png index 8025ad5..b0c5a0f 100644 Binary files a/fonts/UTFont40/0044.png and b/fonts/UTFont40/0044.png differ diff --git a/fonts/UTFont40/0045.png b/fonts/UTFont40/0045.png index 111c58f..82c91c1 100644 Binary files a/fonts/UTFont40/0045.png and b/fonts/UTFont40/0045.png differ diff --git a/fonts/UTFont40/0046.png b/fonts/UTFont40/0046.png index 0a0f61d..286b8fb 100644 Binary files a/fonts/UTFont40/0046.png and b/fonts/UTFont40/0046.png differ diff --git a/fonts/UTFont40/0047.png b/fonts/UTFont40/0047.png index 3049c65..257b114 100644 Binary files a/fonts/UTFont40/0047.png and b/fonts/UTFont40/0047.png differ diff --git a/fonts/UTFont40/0048.png b/fonts/UTFont40/0048.png index 2638dfc..df378a2 100644 Binary files a/fonts/UTFont40/0048.png and b/fonts/UTFont40/0048.png differ diff --git a/fonts/UTFont40/0049.png b/fonts/UTFont40/0049.png index 0a2f518..73a44c7 100644 Binary files a/fonts/UTFont40/0049.png and b/fonts/UTFont40/0049.png differ diff --git a/fonts/UTFont40/004a.png b/fonts/UTFont40/004a.png index 48cd2bd..f6bc9b3 100644 Binary files a/fonts/UTFont40/004a.png and b/fonts/UTFont40/004a.png differ diff --git a/fonts/UTFont40/004b.png b/fonts/UTFont40/004b.png index a17ae8f..0ae4888 100644 Binary files a/fonts/UTFont40/004b.png and b/fonts/UTFont40/004b.png differ diff --git a/fonts/UTFont40/004c.png b/fonts/UTFont40/004c.png index f33be49..c89d022 100644 Binary files a/fonts/UTFont40/004c.png and b/fonts/UTFont40/004c.png differ diff --git a/fonts/UTFont40/004d.png b/fonts/UTFont40/004d.png index 5b921c2..965cddd 100644 Binary files a/fonts/UTFont40/004d.png and b/fonts/UTFont40/004d.png differ diff --git a/fonts/UTFont40/004e.png b/fonts/UTFont40/004e.png index 9b6297d..201173d 100644 Binary files a/fonts/UTFont40/004e.png and b/fonts/UTFont40/004e.png differ diff --git a/fonts/UTFont40/004f.png b/fonts/UTFont40/004f.png index 33bc9f0..efa32a7 100644 Binary files a/fonts/UTFont40/004f.png and b/fonts/UTFont40/004f.png differ diff --git a/fonts/UTFont40/0050.png b/fonts/UTFont40/0050.png index 16c8c07..f8efe06 100644 Binary files a/fonts/UTFont40/0050.png and b/fonts/UTFont40/0050.png differ diff --git a/fonts/UTFont40/0051.png b/fonts/UTFont40/0051.png index 2028546..274e0a9 100644 Binary files a/fonts/UTFont40/0051.png and b/fonts/UTFont40/0051.png differ diff --git a/fonts/UTFont40/0052.png b/fonts/UTFont40/0052.png index 3b1bb9c..43b11df 100644 Binary files a/fonts/UTFont40/0052.png and b/fonts/UTFont40/0052.png differ diff --git a/fonts/UTFont40/0053.png b/fonts/UTFont40/0053.png index 88508c6..099264f 100644 Binary files a/fonts/UTFont40/0053.png and b/fonts/UTFont40/0053.png differ diff --git a/fonts/UTFont40/0054.png b/fonts/UTFont40/0054.png index 6ea9a37..de130f6 100644 Binary files a/fonts/UTFont40/0054.png and b/fonts/UTFont40/0054.png differ diff --git a/fonts/UTFont40/0055.png b/fonts/UTFont40/0055.png index 9d35588..919f4ca 100644 Binary files a/fonts/UTFont40/0055.png and b/fonts/UTFont40/0055.png differ diff --git a/fonts/UTFont40/0056.png b/fonts/UTFont40/0056.png index 742441b..38bffaa 100644 Binary files a/fonts/UTFont40/0056.png and b/fonts/UTFont40/0056.png differ diff --git a/fonts/UTFont40/0057.png b/fonts/UTFont40/0057.png index 022d9a7..9231555 100644 Binary files a/fonts/UTFont40/0057.png and b/fonts/UTFont40/0057.png differ diff --git a/fonts/UTFont40/0058.png b/fonts/UTFont40/0058.png index e6f3b2e..0b1a5bc 100644 Binary files a/fonts/UTFont40/0058.png and b/fonts/UTFont40/0058.png differ diff --git a/fonts/UTFont40/0059.png b/fonts/UTFont40/0059.png index 5248969..911cd89 100644 Binary files a/fonts/UTFont40/0059.png and b/fonts/UTFont40/0059.png differ diff --git a/fonts/UTFont40/005a.png b/fonts/UTFont40/005a.png index 2ac4a7a..3af0d22 100644 Binary files a/fonts/UTFont40/005a.png and b/fonts/UTFont40/005a.png differ diff --git a/fonts/UTFont40/005b.png b/fonts/UTFont40/005b.png index 0916515..15602e2 100644 Binary files a/fonts/UTFont40/005b.png and b/fonts/UTFont40/005b.png differ diff --git a/fonts/UTFont40/005c.png b/fonts/UTFont40/005c.png index fec6e49..666c0bd 100644 Binary files a/fonts/UTFont40/005c.png and b/fonts/UTFont40/005c.png differ diff --git a/fonts/UTFont40/005d.png b/fonts/UTFont40/005d.png index 921a92d..b684379 100644 Binary files a/fonts/UTFont40/005d.png and b/fonts/UTFont40/005d.png differ diff --git a/fonts/UTFont40/005e.png b/fonts/UTFont40/005e.png index 3204d87..7a84656 100644 Binary files a/fonts/UTFont40/005e.png and b/fonts/UTFont40/005e.png differ diff --git a/fonts/UTFont40/005f.png b/fonts/UTFont40/005f.png index 548cfa4..56ca2c1 100644 Binary files a/fonts/UTFont40/005f.png and b/fonts/UTFont40/005f.png differ diff --git a/fonts/UTFont40/0060.png b/fonts/UTFont40/0060.png index 8a6bd8a..c775b70 100644 Binary files a/fonts/UTFont40/0060.png and b/fonts/UTFont40/0060.png differ diff --git a/fonts/UTFont40/0061.png b/fonts/UTFont40/0061.png index 7d93e2e..93be75e 100644 Binary files a/fonts/UTFont40/0061.png and b/fonts/UTFont40/0061.png differ diff --git a/fonts/UTFont40/0062.png b/fonts/UTFont40/0062.png index 0555b1d..bd35d23 100644 Binary files a/fonts/UTFont40/0062.png and b/fonts/UTFont40/0062.png differ diff --git a/fonts/UTFont40/0063.png b/fonts/UTFont40/0063.png index 0f3d521..9a4ffee 100644 Binary files a/fonts/UTFont40/0063.png and b/fonts/UTFont40/0063.png differ diff --git a/fonts/UTFont40/0064.png b/fonts/UTFont40/0064.png index 98070ce..3707960 100644 Binary files a/fonts/UTFont40/0064.png and b/fonts/UTFont40/0064.png differ diff --git a/fonts/UTFont40/0065.png b/fonts/UTFont40/0065.png index 1e7c34c..e317601 100644 Binary files a/fonts/UTFont40/0065.png and b/fonts/UTFont40/0065.png differ diff --git a/fonts/UTFont40/0066.png b/fonts/UTFont40/0066.png index 77caa91..04ffd69 100644 Binary files a/fonts/UTFont40/0066.png and b/fonts/UTFont40/0066.png differ diff --git a/fonts/UTFont40/0067.png b/fonts/UTFont40/0067.png index c687d8a..61d5263 100644 Binary files a/fonts/UTFont40/0067.png and b/fonts/UTFont40/0067.png differ diff --git a/fonts/UTFont40/0068.png b/fonts/UTFont40/0068.png index 1bb4ce3..3f161ec 100644 Binary files a/fonts/UTFont40/0068.png and b/fonts/UTFont40/0068.png differ diff --git a/fonts/UTFont40/0069.png b/fonts/UTFont40/0069.png index 8b70c13..caf62ce 100644 Binary files a/fonts/UTFont40/0069.png and b/fonts/UTFont40/0069.png differ diff --git a/fonts/UTFont40/006a.png b/fonts/UTFont40/006a.png index 0a1cd0c..9494e37 100644 Binary files a/fonts/UTFont40/006a.png and b/fonts/UTFont40/006a.png differ diff --git a/fonts/UTFont40/006b.png b/fonts/UTFont40/006b.png index 6411075..2b13888 100644 Binary files a/fonts/UTFont40/006b.png and b/fonts/UTFont40/006b.png differ diff --git a/fonts/UTFont40/006c.png b/fonts/UTFont40/006c.png index c27bdf2..c4711f1 100644 Binary files a/fonts/UTFont40/006c.png and b/fonts/UTFont40/006c.png differ diff --git a/fonts/UTFont40/006d.png b/fonts/UTFont40/006d.png index 6e6ee2a..2d9f047 100644 Binary files a/fonts/UTFont40/006d.png and b/fonts/UTFont40/006d.png differ diff --git a/fonts/UTFont40/006e.png b/fonts/UTFont40/006e.png index 840164e..98c60a6 100644 Binary files a/fonts/UTFont40/006e.png and b/fonts/UTFont40/006e.png differ diff --git a/fonts/UTFont40/006f.png b/fonts/UTFont40/006f.png index d9b3491..3a91216 100644 Binary files a/fonts/UTFont40/006f.png and b/fonts/UTFont40/006f.png differ diff --git a/fonts/UTFont40/0070.png b/fonts/UTFont40/0070.png index a91b32f..3638ac5 100644 Binary files a/fonts/UTFont40/0070.png and b/fonts/UTFont40/0070.png differ diff --git a/fonts/UTFont40/0071.png b/fonts/UTFont40/0071.png index d3f027b..28a223b 100644 Binary files a/fonts/UTFont40/0071.png and b/fonts/UTFont40/0071.png differ diff --git a/fonts/UTFont40/0072.png b/fonts/UTFont40/0072.png index 6321aae..4d36150 100644 Binary files a/fonts/UTFont40/0072.png and b/fonts/UTFont40/0072.png differ diff --git a/fonts/UTFont40/0073.png b/fonts/UTFont40/0073.png index dd75ee7..f4c09bb 100644 Binary files a/fonts/UTFont40/0073.png and b/fonts/UTFont40/0073.png differ diff --git a/fonts/UTFont40/0074.png b/fonts/UTFont40/0074.png index 8697991..a772b44 100644 Binary files a/fonts/UTFont40/0074.png and b/fonts/UTFont40/0074.png differ diff --git a/fonts/UTFont40/0075.png b/fonts/UTFont40/0075.png index 9edb191..e09f586 100644 Binary files a/fonts/UTFont40/0075.png and b/fonts/UTFont40/0075.png differ diff --git a/fonts/UTFont40/0076.png b/fonts/UTFont40/0076.png index c3eeace..bb5ca2a 100644 Binary files a/fonts/UTFont40/0076.png and b/fonts/UTFont40/0076.png differ diff --git a/fonts/UTFont40/0077.png b/fonts/UTFont40/0077.png index bb6a2d7..e7303b1 100644 Binary files a/fonts/UTFont40/0077.png and b/fonts/UTFont40/0077.png differ diff --git a/fonts/UTFont40/0078.png b/fonts/UTFont40/0078.png index 43220dd..3e6c75f 100644 Binary files a/fonts/UTFont40/0078.png and b/fonts/UTFont40/0078.png differ diff --git a/fonts/UTFont40/0079.png b/fonts/UTFont40/0079.png index 541821b..4b59adb 100644 Binary files a/fonts/UTFont40/0079.png and b/fonts/UTFont40/0079.png differ diff --git a/fonts/UTFont40/007a.png b/fonts/UTFont40/007a.png index ca737e4..8fcf6c3 100644 Binary files a/fonts/UTFont40/007a.png and b/fonts/UTFont40/007a.png differ diff --git a/fonts/UTFont40/007b.png b/fonts/UTFont40/007b.png index 08b8f75..f4cbe5a 100644 Binary files a/fonts/UTFont40/007b.png and b/fonts/UTFont40/007b.png differ diff --git a/fonts/UTFont40/007c.png b/fonts/UTFont40/007c.png index d9f9118..1825adb 100644 Binary files a/fonts/UTFont40/007c.png and b/fonts/UTFont40/007c.png differ diff --git a/fonts/UTFont40/007d.png b/fonts/UTFont40/007d.png index 8920bdb..b2edf6c 100644 Binary files a/fonts/UTFont40/007d.png and b/fonts/UTFont40/007d.png differ diff --git a/fonts/UTFont40/007e.png b/fonts/UTFont40/007e.png index 2f0f483..c945d31 100644 Binary files a/fonts/UTFont40/007e.png and b/fonts/UTFont40/007e.png differ diff --git a/fonts/UTFont40/00a1.png b/fonts/UTFont40/00a1.png index 0832d61..e5e4972 100644 Binary files a/fonts/UTFont40/00a1.png and b/fonts/UTFont40/00a1.png differ diff --git a/fonts/UTFont40/00a2.png b/fonts/UTFont40/00a2.png index a951004..d5323f9 100644 Binary files a/fonts/UTFont40/00a2.png and b/fonts/UTFont40/00a2.png differ diff --git a/fonts/UTFont40/00a3.png b/fonts/UTFont40/00a3.png index e0fe8d6..a3ea09b 100644 Binary files a/fonts/UTFont40/00a3.png and b/fonts/UTFont40/00a3.png differ diff --git a/fonts/UTFont40/00a4.png b/fonts/UTFont40/00a4.png index 533e21d..6fc6694 100644 Binary files a/fonts/UTFont40/00a4.png and b/fonts/UTFont40/00a4.png differ diff --git a/fonts/UTFont40/00a5.png b/fonts/UTFont40/00a5.png index 6b50b3b..820fef1 100644 Binary files a/fonts/UTFont40/00a5.png and b/fonts/UTFont40/00a5.png differ diff --git a/fonts/UTFont40/00a6.png b/fonts/UTFont40/00a6.png index 6e232dd..a6ebe05 100644 Binary files a/fonts/UTFont40/00a6.png and b/fonts/UTFont40/00a6.png differ diff --git a/fonts/UTFont40/00a7.png b/fonts/UTFont40/00a7.png index 5ba0c78..a730910 100644 Binary files a/fonts/UTFont40/00a7.png and b/fonts/UTFont40/00a7.png differ diff --git a/fonts/UTFont40/00a8.png b/fonts/UTFont40/00a8.png index ce3dfd8..ad7f5df 100644 Binary files a/fonts/UTFont40/00a8.png and b/fonts/UTFont40/00a8.png differ diff --git a/fonts/UTFont40/00a9.png b/fonts/UTFont40/00a9.png index 4b5285c..f7fd214 100644 Binary files a/fonts/UTFont40/00a9.png and b/fonts/UTFont40/00a9.png differ diff --git a/fonts/UTFont40/00aa.png b/fonts/UTFont40/00aa.png index 9fc4b8d..cc4b19c 100644 Binary files a/fonts/UTFont40/00aa.png and b/fonts/UTFont40/00aa.png differ diff --git a/fonts/UTFont40/00ab.png b/fonts/UTFont40/00ab.png index a5e6385..5ebbbbf 100644 Binary files a/fonts/UTFont40/00ab.png and b/fonts/UTFont40/00ab.png differ diff --git a/fonts/UTFont40/00ac.png b/fonts/UTFont40/00ac.png index 9c21485..60f9bf4 100644 Binary files a/fonts/UTFont40/00ac.png and b/fonts/UTFont40/00ac.png differ diff --git a/fonts/UTFont40/00ad.png b/fonts/UTFont40/00ad.png index ad9c338..2c400af 100644 Binary files a/fonts/UTFont40/00ad.png and b/fonts/UTFont40/00ad.png differ diff --git a/fonts/UTFont40/00ae.png b/fonts/UTFont40/00ae.png index 193cc5a..4d76cd8 100644 Binary files a/fonts/UTFont40/00ae.png and b/fonts/UTFont40/00ae.png differ diff --git a/fonts/UTFont40/00af.png b/fonts/UTFont40/00af.png index 45fc8ab..09fc46a 100644 Binary files a/fonts/UTFont40/00af.png and b/fonts/UTFont40/00af.png differ diff --git a/fonts/UTFont40/00b0.png b/fonts/UTFont40/00b0.png index 77f31af..a7b19e8 100644 Binary files a/fonts/UTFont40/00b0.png and b/fonts/UTFont40/00b0.png differ diff --git a/fonts/UTFont40/00b1.png b/fonts/UTFont40/00b1.png index 3995d2a..453e2a2 100644 Binary files a/fonts/UTFont40/00b1.png and b/fonts/UTFont40/00b1.png differ diff --git a/fonts/UTFont40/00b2.png b/fonts/UTFont40/00b2.png index d35f44f..9f71eb2 100644 Binary files a/fonts/UTFont40/00b2.png and b/fonts/UTFont40/00b2.png differ diff --git a/fonts/UTFont40/00b3.png b/fonts/UTFont40/00b3.png index 723489a..887fc62 100644 Binary files a/fonts/UTFont40/00b3.png and b/fonts/UTFont40/00b3.png differ diff --git a/fonts/UTFont40/00b4.png b/fonts/UTFont40/00b4.png index 18baf4c..f3b43e1 100644 Binary files a/fonts/UTFont40/00b4.png and b/fonts/UTFont40/00b4.png differ diff --git a/fonts/UTFont40/00b5.png b/fonts/UTFont40/00b5.png index ff2eab7..a5e2d57 100644 Binary files a/fonts/UTFont40/00b5.png and b/fonts/UTFont40/00b5.png differ diff --git a/fonts/UTFont40/00b6.png b/fonts/UTFont40/00b6.png index 11875ea..7c26231 100644 Binary files a/fonts/UTFont40/00b6.png and b/fonts/UTFont40/00b6.png differ diff --git a/fonts/UTFont40/00b7.png b/fonts/UTFont40/00b7.png index 10887d1..f8a028a 100644 Binary files a/fonts/UTFont40/00b7.png and b/fonts/UTFont40/00b7.png differ diff --git a/fonts/UTFont40/00b8.png b/fonts/UTFont40/00b8.png index 9bb8068..ee29721 100644 Binary files a/fonts/UTFont40/00b8.png and b/fonts/UTFont40/00b8.png differ diff --git a/fonts/UTFont40/00b9.png b/fonts/UTFont40/00b9.png index 794ef6f..6aa28f4 100644 Binary files a/fonts/UTFont40/00b9.png and b/fonts/UTFont40/00b9.png differ diff --git a/fonts/UTFont40/00ba.png b/fonts/UTFont40/00ba.png index c53d560..325a718 100644 Binary files a/fonts/UTFont40/00ba.png and b/fonts/UTFont40/00ba.png differ diff --git a/fonts/UTFont40/00bb.png b/fonts/UTFont40/00bb.png index d0365a0..82ec28b 100644 Binary files a/fonts/UTFont40/00bb.png and b/fonts/UTFont40/00bb.png differ diff --git a/fonts/UTFont40/00bc.png b/fonts/UTFont40/00bc.png index 0c3b19c..0972f24 100644 Binary files a/fonts/UTFont40/00bc.png and b/fonts/UTFont40/00bc.png differ diff --git a/fonts/UTFont40/00bd.png b/fonts/UTFont40/00bd.png index cb8361c..847b6d1 100644 Binary files a/fonts/UTFont40/00bd.png and b/fonts/UTFont40/00bd.png differ diff --git a/fonts/UTFont40/00be.png b/fonts/UTFont40/00be.png index 3801d6c..258ddab 100644 Binary files a/fonts/UTFont40/00be.png and b/fonts/UTFont40/00be.png differ diff --git a/fonts/UTFont40/00bf.png b/fonts/UTFont40/00bf.png index 46f009b..3a00d6e 100644 Binary files a/fonts/UTFont40/00bf.png and b/fonts/UTFont40/00bf.png differ diff --git a/fonts/UTFont40/00c0.png b/fonts/UTFont40/00c0.png index 3137d5f..1a3acf6 100644 Binary files a/fonts/UTFont40/00c0.png and b/fonts/UTFont40/00c0.png differ diff --git a/fonts/UTFont40/00c1.png b/fonts/UTFont40/00c1.png index 097966d..0f50d1f 100644 Binary files a/fonts/UTFont40/00c1.png and b/fonts/UTFont40/00c1.png differ diff --git a/fonts/UTFont40/00c2.png b/fonts/UTFont40/00c2.png index 20d46f1..6e96350 100644 Binary files a/fonts/UTFont40/00c2.png and b/fonts/UTFont40/00c2.png differ diff --git a/fonts/UTFont40/00c3.png b/fonts/UTFont40/00c3.png index 0fc9afc..40be4a2 100644 Binary files a/fonts/UTFont40/00c3.png and b/fonts/UTFont40/00c3.png differ diff --git a/fonts/UTFont40/00c4.png b/fonts/UTFont40/00c4.png index 3097f90..a169737 100644 Binary files a/fonts/UTFont40/00c4.png and b/fonts/UTFont40/00c4.png differ diff --git a/fonts/UTFont40/00c5.png b/fonts/UTFont40/00c5.png index 6b0388b..793ca3e 100644 Binary files a/fonts/UTFont40/00c5.png and b/fonts/UTFont40/00c5.png differ diff --git a/fonts/UTFont40/00c6.png b/fonts/UTFont40/00c6.png index 56d64e3..a1c6853 100644 Binary files a/fonts/UTFont40/00c6.png and b/fonts/UTFont40/00c6.png differ diff --git a/fonts/UTFont40/00c7.png b/fonts/UTFont40/00c7.png index 8aca49c..c3f1a8d 100644 Binary files a/fonts/UTFont40/00c7.png and b/fonts/UTFont40/00c7.png differ diff --git a/fonts/UTFont40/00c8.png b/fonts/UTFont40/00c8.png index 7feff3d..bd88e82 100644 Binary files a/fonts/UTFont40/00c8.png and b/fonts/UTFont40/00c8.png differ diff --git a/fonts/UTFont40/00c9.png b/fonts/UTFont40/00c9.png index bfc5045..4400a97 100644 Binary files a/fonts/UTFont40/00c9.png and b/fonts/UTFont40/00c9.png differ diff --git a/fonts/UTFont40/00ca.png b/fonts/UTFont40/00ca.png index fc562ec..8ec7da9 100644 Binary files a/fonts/UTFont40/00ca.png and b/fonts/UTFont40/00ca.png differ diff --git a/fonts/UTFont40/00cb.png b/fonts/UTFont40/00cb.png index 24f4eb3..712595d 100644 Binary files a/fonts/UTFont40/00cb.png and b/fonts/UTFont40/00cb.png differ diff --git a/fonts/UTFont40/00cc.png b/fonts/UTFont40/00cc.png index a6fa38b..217e28c 100644 Binary files a/fonts/UTFont40/00cc.png and b/fonts/UTFont40/00cc.png differ diff --git a/fonts/UTFont40/00cd.png b/fonts/UTFont40/00cd.png index e308ce3..9de7803 100644 Binary files a/fonts/UTFont40/00cd.png and b/fonts/UTFont40/00cd.png differ diff --git a/fonts/UTFont40/00ce.png b/fonts/UTFont40/00ce.png index 3529791..7ec0cc1 100644 Binary files a/fonts/UTFont40/00ce.png and b/fonts/UTFont40/00ce.png differ diff --git a/fonts/UTFont40/00cf.png b/fonts/UTFont40/00cf.png index 0decd10..1aaaa17 100644 Binary files a/fonts/UTFont40/00cf.png and b/fonts/UTFont40/00cf.png differ diff --git a/fonts/UTFont40/00d0.png b/fonts/UTFont40/00d0.png index d54943c..3f86b8c 100644 Binary files a/fonts/UTFont40/00d0.png and b/fonts/UTFont40/00d0.png differ diff --git a/fonts/UTFont40/00d1.png b/fonts/UTFont40/00d1.png index 2001568..1a9ea28 100644 Binary files a/fonts/UTFont40/00d1.png and b/fonts/UTFont40/00d1.png differ diff --git a/fonts/UTFont40/00d2.png b/fonts/UTFont40/00d2.png index ed07ce8..4894dd0 100644 Binary files a/fonts/UTFont40/00d2.png and b/fonts/UTFont40/00d2.png differ diff --git a/fonts/UTFont40/00d3.png b/fonts/UTFont40/00d3.png index 2bc71f9..ba14046 100644 Binary files a/fonts/UTFont40/00d3.png and b/fonts/UTFont40/00d3.png differ diff --git a/fonts/UTFont40/00d4.png b/fonts/UTFont40/00d4.png index ce92330..df3ea73 100644 Binary files a/fonts/UTFont40/00d4.png and b/fonts/UTFont40/00d4.png differ diff --git a/fonts/UTFont40/00d5.png b/fonts/UTFont40/00d5.png index fbf3ffe..878c18b 100644 Binary files a/fonts/UTFont40/00d5.png and b/fonts/UTFont40/00d5.png differ diff --git a/fonts/UTFont40/00d6.png b/fonts/UTFont40/00d6.png index b9d07af..ea0568b 100644 Binary files a/fonts/UTFont40/00d6.png and b/fonts/UTFont40/00d6.png differ diff --git a/fonts/UTFont40/00d7.png b/fonts/UTFont40/00d7.png index da49f68..83802c1 100644 Binary files a/fonts/UTFont40/00d7.png and b/fonts/UTFont40/00d7.png differ diff --git a/fonts/UTFont40/00d8.png b/fonts/UTFont40/00d8.png index 9c7a56f..8ec776c 100644 Binary files a/fonts/UTFont40/00d8.png and b/fonts/UTFont40/00d8.png differ diff --git a/fonts/UTFont40/00d9.png b/fonts/UTFont40/00d9.png index 2dea598..69ecba9 100644 Binary files a/fonts/UTFont40/00d9.png and b/fonts/UTFont40/00d9.png differ diff --git a/fonts/UTFont40/00da.png b/fonts/UTFont40/00da.png index bf6d3b0..19314b6 100644 Binary files a/fonts/UTFont40/00da.png and b/fonts/UTFont40/00da.png differ diff --git a/fonts/UTFont40/00db.png b/fonts/UTFont40/00db.png index 1a9108a..60929cc 100644 Binary files a/fonts/UTFont40/00db.png and b/fonts/UTFont40/00db.png differ diff --git a/fonts/UTFont40/00dc.png b/fonts/UTFont40/00dc.png index 94dba7c..92a48fd 100644 Binary files a/fonts/UTFont40/00dc.png and b/fonts/UTFont40/00dc.png differ diff --git a/fonts/UTFont40/00dd.png b/fonts/UTFont40/00dd.png index be78ac4..4a5b2a2 100644 Binary files a/fonts/UTFont40/00dd.png and b/fonts/UTFont40/00dd.png differ diff --git a/fonts/UTFont40/00de.png b/fonts/UTFont40/00de.png index 1594d19..0e9fb8b 100644 Binary files a/fonts/UTFont40/00de.png and b/fonts/UTFont40/00de.png differ diff --git a/fonts/UTFont40/00df.png b/fonts/UTFont40/00df.png index 2f10f74..e441c2b 100644 Binary files a/fonts/UTFont40/00df.png and b/fonts/UTFont40/00df.png differ diff --git a/fonts/UTFont40/00e0.png b/fonts/UTFont40/00e0.png index 1e371ce..009265f 100644 Binary files a/fonts/UTFont40/00e0.png and b/fonts/UTFont40/00e0.png differ diff --git a/fonts/UTFont40/00e1.png b/fonts/UTFont40/00e1.png index 4ecf624..eebf277 100644 Binary files a/fonts/UTFont40/00e1.png and b/fonts/UTFont40/00e1.png differ diff --git a/fonts/UTFont40/00e2.png b/fonts/UTFont40/00e2.png index 9bea334..733ff22 100644 Binary files a/fonts/UTFont40/00e2.png and b/fonts/UTFont40/00e2.png differ diff --git a/fonts/UTFont40/00e3.png b/fonts/UTFont40/00e3.png index ac9109f..b667b7e 100644 Binary files a/fonts/UTFont40/00e3.png and b/fonts/UTFont40/00e3.png differ diff --git a/fonts/UTFont40/00e4.png b/fonts/UTFont40/00e4.png index edf016a..f624136 100644 Binary files a/fonts/UTFont40/00e4.png and b/fonts/UTFont40/00e4.png differ diff --git a/fonts/UTFont40/00e5.png b/fonts/UTFont40/00e5.png index 0f5b0da..d058b44 100644 Binary files a/fonts/UTFont40/00e5.png and b/fonts/UTFont40/00e5.png differ diff --git a/fonts/UTFont40/00e6.png b/fonts/UTFont40/00e6.png index 0c1f8a3..0c969b3 100644 Binary files a/fonts/UTFont40/00e6.png and b/fonts/UTFont40/00e6.png differ diff --git a/fonts/UTFont40/00e7.png b/fonts/UTFont40/00e7.png index 7fd5ebf..2aedcfb 100644 Binary files a/fonts/UTFont40/00e7.png and b/fonts/UTFont40/00e7.png differ diff --git a/fonts/UTFont40/00e8.png b/fonts/UTFont40/00e8.png index f699158..c518013 100644 Binary files a/fonts/UTFont40/00e8.png and b/fonts/UTFont40/00e8.png differ diff --git a/fonts/UTFont40/00e9.png b/fonts/UTFont40/00e9.png index 01ec072..e0fda1f 100644 Binary files a/fonts/UTFont40/00e9.png and b/fonts/UTFont40/00e9.png differ diff --git a/fonts/UTFont40/00ea.png b/fonts/UTFont40/00ea.png index dce6d28..3ee080c 100644 Binary files a/fonts/UTFont40/00ea.png and b/fonts/UTFont40/00ea.png differ diff --git a/fonts/UTFont40/00eb.png b/fonts/UTFont40/00eb.png index c85368f..d8b2b21 100644 Binary files a/fonts/UTFont40/00eb.png and b/fonts/UTFont40/00eb.png differ diff --git a/fonts/UTFont40/00ec.png b/fonts/UTFont40/00ec.png index d407037..7f686ab 100644 Binary files a/fonts/UTFont40/00ec.png and b/fonts/UTFont40/00ec.png differ diff --git a/fonts/UTFont40/00ed.png b/fonts/UTFont40/00ed.png index 2ff9727..589bde6 100644 Binary files a/fonts/UTFont40/00ed.png and b/fonts/UTFont40/00ed.png differ diff --git a/fonts/UTFont40/00ee.png b/fonts/UTFont40/00ee.png index 7de04c4..35d33f0 100644 Binary files a/fonts/UTFont40/00ee.png and b/fonts/UTFont40/00ee.png differ diff --git a/fonts/UTFont40/00ef.png b/fonts/UTFont40/00ef.png index 60eb00d..baba181 100644 Binary files a/fonts/UTFont40/00ef.png and b/fonts/UTFont40/00ef.png differ diff --git a/fonts/UTFont40/00f0.png b/fonts/UTFont40/00f0.png index 9b2e469..b1c94b6 100644 Binary files a/fonts/UTFont40/00f0.png and b/fonts/UTFont40/00f0.png differ diff --git a/fonts/UTFont40/00f1.png b/fonts/UTFont40/00f1.png index e8ceaa3..69b84fc 100644 Binary files a/fonts/UTFont40/00f1.png and b/fonts/UTFont40/00f1.png differ diff --git a/fonts/UTFont40/00f2.png b/fonts/UTFont40/00f2.png index b1af13b..458c2fb 100644 Binary files a/fonts/UTFont40/00f2.png and b/fonts/UTFont40/00f2.png differ diff --git a/fonts/UTFont40/00f3.png b/fonts/UTFont40/00f3.png index f35b32c..74f1436 100644 Binary files a/fonts/UTFont40/00f3.png and b/fonts/UTFont40/00f3.png differ diff --git a/fonts/UTFont40/00f4.png b/fonts/UTFont40/00f4.png index 861c179..cb86029 100644 Binary files a/fonts/UTFont40/00f4.png and b/fonts/UTFont40/00f4.png differ diff --git a/fonts/UTFont40/00f5.png b/fonts/UTFont40/00f5.png index 20db279..05317c2 100644 Binary files a/fonts/UTFont40/00f5.png and b/fonts/UTFont40/00f5.png differ diff --git a/fonts/UTFont40/00f6.png b/fonts/UTFont40/00f6.png index 9995246..872bb04 100644 Binary files a/fonts/UTFont40/00f6.png and b/fonts/UTFont40/00f6.png differ diff --git a/fonts/UTFont40/00f7.png b/fonts/UTFont40/00f7.png index a4d4ad6..ce5b2b2 100644 Binary files a/fonts/UTFont40/00f7.png and b/fonts/UTFont40/00f7.png differ diff --git a/fonts/UTFont40/00f8.png b/fonts/UTFont40/00f8.png index 8f16419..6ab8c1a 100644 Binary files a/fonts/UTFont40/00f8.png and b/fonts/UTFont40/00f8.png differ diff --git a/fonts/UTFont40/00f9.png b/fonts/UTFont40/00f9.png index d7c8619..127c95c 100644 Binary files a/fonts/UTFont40/00f9.png and b/fonts/UTFont40/00f9.png differ diff --git a/fonts/UTFont40/00fa.png b/fonts/UTFont40/00fa.png index e66d735..b54773f 100644 Binary files a/fonts/UTFont40/00fa.png and b/fonts/UTFont40/00fa.png differ diff --git a/fonts/UTFont40/00fb.png b/fonts/UTFont40/00fb.png index 19b6f08..e9968ff 100644 Binary files a/fonts/UTFont40/00fb.png and b/fonts/UTFont40/00fb.png differ diff --git a/fonts/UTFont40/00fc.png b/fonts/UTFont40/00fc.png index 42fc7bd..d00af2c 100644 Binary files a/fonts/UTFont40/00fc.png and b/fonts/UTFont40/00fc.png differ diff --git a/fonts/UTFont40/00fd.png b/fonts/UTFont40/00fd.png index 25ada87..5702e77 100644 Binary files a/fonts/UTFont40/00fd.png and b/fonts/UTFont40/00fd.png differ diff --git a/fonts/UTFont40/00fe.png b/fonts/UTFont40/00fe.png index f623395..180742c 100644 Binary files a/fonts/UTFont40/00fe.png and b/fonts/UTFont40/00fe.png differ diff --git a/fonts/UTFont40/00ff.png b/fonts/UTFont40/00ff.png index ecf4ccc..96dafad 100644 Binary files a/fonts/UTFont40/00ff.png and b/fonts/UTFont40/00ff.png differ diff --git a/fonts/UTFont40/font.inf b/fonts/UTFont40/font.inf new file mode 100644 index 0000000..5e18def --- /dev/null +++ b/fonts/UTFont40/font.inf @@ -0,0 +1,2 @@ +SpaceWidth 11 +FontHeight 46 diff --git a/gldefs.txt b/gldefs.txt index a8afc78..798f5ba 100644 --- a/gldefs.txt +++ b/gldefs.txt @@ -311,11 +311,13 @@ HardwareShader Texture "models/jhbox1.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/jhbox1.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/bossheadT.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/bossheadT.png" + Texture "ambglow" "AmbGlowT" } Brightmap Texture "models/bossgibT.png" { @@ -333,6 +335,7 @@ HardwareShader Texture "models/JBRifle2.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/JBRifle2.png" + Texture "ambglow" "AmbGlowT" } Brightmap Texture "models/JBRifle21.png" { @@ -354,11 +357,13 @@ HardwareShader Texture "models/JBammo1.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/JBammo1.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/ASMD_t.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/ASMD_t.png" + Texture "ambglow" "AmbGlowT" } Brightmap Texture "models/ASMD_t1.png" { @@ -376,16 +381,19 @@ HardwareShader Texture "models/JShockCore.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/JShockCore.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JShockCore_2.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/JShockCore_2.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/SASMD_t.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/ASMD_t.png" + Texture "ambglow" "AmbGlowT" } Brightmap Texture "models/SASMD_t1.png" { @@ -403,6 +411,7 @@ HardwareShader Texture "models/JSShockCore.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/JShockCore.png" + Texture "ambglow" "AmbGlowT" } Brightmap Texture "models/Jwarhead2.png" { @@ -416,11 +425,13 @@ HardwareShader Texture "models/Jwhpick1.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/Jwhpick1.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JPammo_01.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/JPammo_01.png" + Texture "ambglow" "AmbGlowT" } Brightmap Texture "models/JPulseGun_02.png" { @@ -430,145 +441,179 @@ HardwareShader Texture "models/JPulsePickup_01.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/JPulsePickup_01.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/AToxSuit1.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/GoldSkin2.png" { Shader "shaders/glsl/MeshEnviroMap_AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JFA1.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/Flak_t.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JMedBox1.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JThighPads_01.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JVial0.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/Jarmor2.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/Jflakslugel1_.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/Jhboxbeta1.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/Jmissile_01_.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/AUbelt1.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/AUbelt1.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/jinvis.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/jinvis.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/Jlboot2.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/Jlboot2.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JRelicSkull_01b.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/JRelicSkull_01.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JRelicSkull_01g.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/JRelicSkull_01.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JRelicSkull_01r.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/JRelicSkull_01.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/BlueSkin2.png" { Shader "shaders/glsl/MeshEnviroMap_AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/RedSkin2.png" { Shader "shaders/glsl/MeshEnviroMap_AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/NewGreen.png" { Shader "shaders/glsl/MeshEnviroMap_AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/bpak.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JEClip.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/Jautot1.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/BladeHopperT.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JM21.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/Mini_t.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JRocketPack1.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JuRocket1_.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/Eight_t.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/BulletBoxT.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/RifleR1.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JRifle2.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JRazorw.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/JRazorw.png" + Texture "ambglow" "AmbGlowT" } Brightmap Texture "models/JRazor2.png" { @@ -610,11 +655,13 @@ HardwareShader Texture "models/tloc1_.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/tloc1.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/tloc2_.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/tloc2.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "invis00" { @@ -795,80 +842,98 @@ Brightmap Texture "models/Chunk_a11.png" HardwareShader Texture "models/JChainSawPick1.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/jbarrel4.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/shield.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JAllMap1_a00.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/JAllMap1_a00.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JAllMap1_a01.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/JAllMap1_a01.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JAllMap1_a02.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/JAllMap1_a02.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JAllMap1_a03.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture "brighttex" "brightmaps/JAllMap1_a03.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JAllMap2.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JAllMap3.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/GOLD.png" { Shader "shaders/glsl/MeshEnviroMap_AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/s_camera.png" { Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/Effect1.png" { Shader "shaders/glsl/MeshEnviroMap_AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/ABoxBlue_env.png" { Shader "shaders/glsl/MeshEnviroMap_AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/ABoxGreen_env.png" { Shader "shaders/glsl/MeshEnviroMap_AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/ABoxRed_env.png" { Shader "shaders/glsl/MeshEnviroMap_AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/ABoxPurple_env.png" { Shader "shaders/glsl/MeshEnviroMap_AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/JAmmoBox1.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture brighttex "brightmaps/JAmmoBox1.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "models/S_Ammo.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" Texture brighttex "brightmaps/S_Ammo.png" + Texture "ambglow" "AmbGlowT" } HardwareShader Texture "graphics/UTBg.png" { @@ -880,6 +945,87 @@ HardwareShader Texture "graphics/UTProtoBg.png" { Shader "shaders/glsl/UTProtoBg.fp" } +HardwareShader Texture "models/AmmoLed.png" +{ + Shader "shaders/glsl/AmmoLed.fp" + Texture scrtex "PAmmoLed" +} +HardwareShader Texture "models/FlakAmmoLED.png" +{ + Shader "shaders/glsl/AmmoLed.fp" + Texture scrtex "FlakALed" +} +HardwareShader Texture "models/miniammoled.png" +{ + Shader "shaders/glsl/AmmoLed.fp" + Texture scrtex "MiniALed" +} +HardwareShader Texture "models/220/Judamage1.png" +{ + Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" + Texture "brighttex" "brightmaps/220/Judamage1.png" + Texture "ambglow" "AmbGlowT" +} +Brightmap Texture "models/220/oldtloc1.png" +{ + Map "brightmaps/220/oldtloc1.png" +} +HardwareShader Texture "models/220/oldtloc1_.png" +{ + Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" + Texture "brighttex" "brightmaps/220/oldtloc1.png" + Texture "ambglow" "AmbGlowT" +} +Brightmap Texture "models/220/Jwarhead4.png" +{ + Map "brightmaps/220/Jwarhead4.png" +} +HardwareShader Texture "models/220/Jwhpick1.png" +{ + Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" + Texture "brighttex" "brightmaps/220/Jwhpick1.png" + Texture "ambglow" "AmbGlowT" +} +HardwareShader Texture "models/220/wars_.png" +{ + Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" +} +Brightmap Texture "models/222/Jwarhead4.png" +{ + Map "brightmaps/222/Jwarhead4.png" +} +HardwareShader Texture "models/222/Jwhpick1.png" +{ + Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" + Texture "brighttex" "brightmaps/222/Jwhpick1.png" + Texture "ambglow" "AmbGlowT" +} +HardwareShader Texture "models/222/Jwars1_.png" +{ + Shader "shaders/glsl/AmbientGlow.fp" + Texture "ambglow" "AmbGlowT" +} +Brightmap Texture "models/222/JPulseGun_02.png" +{ + Map "brightmaps/222/JPulseGun_02.png" +} +HardwareShader Texture "models/222/JPulsePickup_01.png" +{ + Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" + Texture "brighttex" "brightmaps/222/JPulsePickup_01.png" + Texture "ambglow" "AmbGlowT" +} +Brightmap Texture "models/322/JPulseGun_02.png" +{ + Map "brightmaps/322/JPulseGun_02.png" +} +HardwareShader Texture "models/322/JPulsePickup_01.png" +{ + Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" + Texture "brighttex" "brightmaps/322/JPulsePickup_01.png" + Texture "ambglow" "AmbGlowT" +} // PP shaders HardwareShader PostProcess scene { diff --git a/graphics/Blake.png b/graphics/Blake.png deleted file mode 100644 index f804069..0000000 Binary files a/graphics/Blake.png and /dev/null differ diff --git a/graphics/BlueSky.png b/graphics/BlueSky.png index 8405251..22614a3 100644 Binary files a/graphics/BlueSky.png and b/graphics/BlueSky.png differ diff --git a/graphics/Brock.png b/graphics/Brock.png deleted file mode 100644 index 9c233f3..0000000 Binary files a/graphics/Brock.png and /dev/null differ diff --git a/graphics/Ivana.png b/graphics/Ivana.png deleted file mode 100644 index 5f96434..0000000 Binary files a/graphics/Ivana.png and /dev/null differ diff --git a/graphics/Lauren.png b/graphics/Lauren.png deleted file mode 100644 index 005647d..0000000 Binary files a/graphics/Lauren.png and /dev/null differ diff --git a/graphics/M_DOOM.png b/graphics/M_DOOM.png index 0ddd7e7..16965fe 100644 Binary files a/graphics/M_DOOM.png and b/graphics/M_DOOM.png differ diff --git a/graphics/UTBg.png b/graphics/UTBg.png index 405c93e..28b89da 100644 Binary files a/graphics/UTBg.png and b/graphics/UTBg.png differ diff --git a/graphics/UTBg_Moon.png b/graphics/UTBg_Moon.png index ef9946b..8e9149e 100644 Binary files a/graphics/UTBg_Moon.png and b/graphics/UTBg_Moon.png differ diff --git a/graphics/Xan.png b/graphics/Xan.png deleted file mode 100644 index deee134..0000000 Binary files a/graphics/Xan.png and /dev/null differ diff --git a/graphics/decals/energymk.png b/graphics/decals/energymk.png index b1a49ab..59a8776 100644 Binary files a/graphics/decals/energymk.png and b/graphics/decals/energymk.png differ diff --git a/graphics/dtsky_back.png b/graphics/dtsky_back.png index 34e30c4..4ae699f 100644 Binary files a/graphics/dtsky_back.png and b/graphics/dtsky_back.png differ diff --git a/graphics/dtsky_front.png b/graphics/dtsky_front.png index d4a6345..f774d5b 100644 Binary files a/graphics/dtsky_front.png and b/graphics/dtsky_front.png differ diff --git a/graphics/dtsky_left.png b/graphics/dtsky_left.png index 857cff6..4daf336 100644 Binary files a/graphics/dtsky_left.png and b/graphics/dtsky_left.png differ diff --git a/graphics/dtsky_right.png b/graphics/dtsky_right.png index 50b3f79..fac93b6 100644 Binary files a/graphics/dtsky_right.png and b/graphics/dtsky_right.png differ diff --git a/graphics/dtsky_up.png b/graphics/dtsky_up.png index 58457c3..f280e69 100644 Binary files a/graphics/dtsky_up.png and b/graphics/dtsky_up.png differ diff --git a/graphics/hud/IconAut2.png b/graphics/hud/IconAut2.png index 9d9cab5..7017b43 100644 Binary files a/graphics/hud/IconAut2.png and b/graphics/hud/IconAut2.png differ diff --git a/graphics/hud/IconSaw2.png b/graphics/hud/IconSaw2.png index 35ea9bf..23411a2 100644 Binary files a/graphics/hud/IconSaw2.png and b/graphics/hud/IconSaw2.png differ diff --git a/graphics/hud/ItemABox.png b/graphics/hud/ItemABox.png index 6885b6d..b85352c 100644 Binary files a/graphics/hud/ItemABox.png and b/graphics/hud/ItemABox.png differ diff --git a/graphics/redeemer/AroDup.png b/graphics/redeemer/AroDup.png index b09503f..ad7c927 100644 Binary files a/graphics/redeemer/AroDup.png and b/graphics/redeemer/AroDup.png differ diff --git a/language.txt b/language.txt index 58d1857..ae51a3b 100644 --- a/language.txt +++ b/language.txt @@ -1,4 +1,4 @@ -[default eng enc ena enz eni ens enj enb enl ent enw] +[default] /* DamNums support */ DAMNUM_TYPECOLOR_PULSED = "DamGreen"; DAMNUM_TYPECOLOR_ZAPPED = "DamGreen"; @@ -159,11 +159,30 @@ D_INVISIBILITY = "Invisibility has worn off."; D_JUMPBOOTS = "The AntiGrav Boots have drained."; D_UTINVUL = "Invulnerability has worn off."; D_UTVISION = "Night Vision has worn off."; -N_TBOSS = "Xan"; -N_TMALE1 = "Blake"; -N_TMALE2 = "Brock"; -N_TFEMALE1 = "Ivana"; -N_TFEMALE2 = "Lauren"; +N_TBOSS = "Boss"; +N_TMALE1 = "Male Commando"; +N_TMALE2 = "Male Soldier"; +N_TFEMALE1 = "Female Commando"; +N_TFEMALE2 = "Female Soldier"; +N_SCMDO = "Commando"; +N_SDACO = "Mercenary"; +N_SGOTH = "Necris"; +N_SAPHE = "Aphex"; +N_SBLKT = "Marine"; +N_SGARD = "Metal Guard"; +N_SRAWS = "Raw Steel"; +N_SSLDR = "Soldier"; +N_SHKIL = "War Machine"; +N_SARMY = "$$N_SSLDR"; +N_SGARF = "$$N_SGARD"; +N_SVENM = "Venom"; +N_SFBTH = "$$N_SBLKT"; +N_SFWAR = "$$N_SHKIL"; +N_NTEAM = "None"; +N_RTEAM = "Red"; +N_BTEAM = "Blue"; +N_GTEAM = "Green"; +N_YTEAM = "Gold"; M_SINGLEROCKETON = "Instant Rocket mode enabled"; M_SINGLEROCKETOFF = "Instant Rocket mode disabled"; M_CLIP = "Clip"; @@ -238,6 +257,16 @@ FLAK_TAUNT1 = "Victory 1"; FLAK_TAUNT2 = "Victory 2"; FLAK_TAUNT3 = "Wave"; FLAK_TAUNT4 = "Pelvic Thrust"; +FLAK_PTITLE = "Player Customization"; +FLAK_TCOLOR = "Team Color"; +FLAK_SKIN = "Skin"; +FLAK_FACE = "Face"; +FLAK_BOPTS = "Beta Models"; +FLAK_XOPTS = "Extras"; +FLAK_AMBGLOW = "Ambient Glow"; +FLAK_GLOWOFF = "Disabled"; +FLAK_GLOWON = "Standard"; +FLAK_GLOWEX = "Visible"; FLAK_MCREDS = "UT Credits"; FLAK_CDT = "Doom Tournament"; FLAK_CLEAD = "Development Lead:"; @@ -286,7 +315,7 @@ TOOLTIP_FLAK_CORPSEDAMAGE = "Monster corpses can take damage and be gibbed. This TOOLTIP_FLAK_SWINGERS = "Most weapons in this mod have visual recoil. You can disable this if it makes you uncomfortable."; TOOLTIP_FLAK_SWINGERSTRENGTH = "Fine-tune the overall scale of visual recoil."; TOOLTIP_FLAK_RADBOOTS = "Jump Boots will protect from hurting floors as long as they have charge."; -TOOLTIP_FLAK_BLOOD = "Simple blood replacement. Disable if using other gore mods."; +TOOLTIP_FLAK_BLOOD = "Simple blood replacement (not fully implemented). Disable if using other gore mods."; TOOLTIP_FLAK_GIBS = "Enables UT-style gibbing for monsters. Disable if using other gore mods."; TOOLTIP_FLAK_DOOMTEST = "Prettifies the map by adding in some custom textures, lighting and ambient sounds."; TOOLTIP_FLAK_INSTAGIB = "No items, Enhanced Shock Rifle only."; @@ -295,8 +324,164 @@ TOOLTIP_FLAK_SAWAMMO = "Chainsaw will use ammo. Replenished with fuel cans that TOOLTIP_FLAK_ZOOMSOUND = "These sound files were found in an old leak. You can guess why they were never used."; TOOLTIP_FLAK_ZOOMSHADER = "Custom scope shader, just for fancy visuals."; TOOLTIP_FLAK_VANILLAARMOR = "Disabling this option allows players to keep their body armor and thigh pads while wearing a shield belt."; +TOOLTIP_FLAK_OLDUDAMAGE = "Damage Amplifier from version 220."; +TOOLTIP_FLAK_OLDTLOC = "Translocator from version 220. Requires applying changes."; +TOOLTIP_FLAK_OLDIMPACT = "Impact Hammer from version 220."; +TOOLTIP_FLAK_OLDPULSE = "Pulse Gun from versions 222 and 322."; +TOOLTIP_FLAK_OLDREDEEMER = "Redeemer from versions 220 and 222."; +TOOLTIP_FLAK_AMBGLOW = "Item models on map will have a pulsating brightness to them."; +/* Announcer */ +FLAK_ANNOUNCER="UT Announcer"; +FLAK_ANNOUNCERVOL="Announcer Volume"; +TOOLTIP_FLAK_ANNOUNCER = "Enables the announcer voice for kill scoring."; +TOOLTIP_FLAK_ANNOUNCERVOL = "Controls the volume of the announcer (relative to overall sound volume)."; +FLOC_FOLDER="int"; +FANN_HEADSHOT="Headshot!"; +FANN_DOUBLEKILL="Double Kill!"; +FANN_TRIPLEKILL="Triple Kill!"; +FANN_MULTIKILL="Multi Kill!"; +FANN_MEGAKILL="MEGA KILL!"; +FANN_ULTRAKILL="ULTRA KILL!"; +FANN_MONSTERKILL="M O N S T E R K I L L !!!"; +FANN_OWNSPREE="%s was looking good till %s killed %s."; +FANN_ENDSPREE="%s's killing spree was ended by %s."; +FANN_ENDSPREEGEN="%s's killing spree was ended."; +FANN_FIRSTBLOOD="%s drew first blood!"; +FANN_KILLINGSPREE="%s is on a killing spree!"; +FANN_RAMPAGE="%s is on a killing spree!"; +FANN_DOMINATING="%s is on a killing spree!"; +FANN_UNSTOPPABLE="%s is on a killing spree!"; +FANN_GODLIKE="%s is on a killing spree!"; +FANN_PRONOUNN="they"; +FANN_SELFN="themselves"; +FANN_PRONOUNM="he"; +FANN_SELFM="himself"; +FANN_PRONOUNF="she"; +FANN_SELFF="herself"; +/* Voices */ +FMNU_TAUNT="Auto Taunts"; +FMNU_TAUNTVOL="Voice Volume"; +TOOLTIP_FLAK_VOICES="Play voiced taunts when killing enemies."; +TOOLTIP_FLAK_VOICEVOL="Controls the volume of the taunts (relative to overall sound volume)."; +// boss +TXT_BBOOM = "Boom!"; +TXT_BBOWDOWN = "Bow down!"; +TXT_BBURNBABY = "Burn, baby."; +TXT_BDIEHUMAN = "Die, human."; +TXT_BELIMINATED = "Target lifeform eliminated."; +TXT_BFEARME = "Fear me."; +TXT_BHADTOHURT = "That had to hurt."; +TXT_BIMONFIRE = "I'm on fire."; +TXT_BINFERIOR = "You are inferior."; +TXT_BJACKOFF = "You jackoff."; // dummied out +TXT_BMYHOUSE = "My house."; +TXT_BNEXT = "Next."; +TXT_BOBSOLETE = "You are obsolete."; +TXT_BOMEGA = "I am the alpha and the omega."; +TXT_BPERFECTION = "Witness my perfection."; +TXT_BRUNHUMAN = "Run, human."; +TXT_BSTEPASIDE = "Step aside."; +TXT_BSUPERIOR = "I am superior."; +TXT_BUSELESS = "Useless."; +TXT_BWANTSOME = "Anyone else want some?"; +TXT_BYOUDIE = "You die too easily."; +// female commando +TXT_F1BOOM = "Boom!"; +TXT_F1BURNBABY = "Burn, baby!"; +TXT_F1DIEBITCH = "Die, bitch."; +TXT_F1EATTHAT = "Eat that!"; +TXT_F1GOTIM = "Got 'im!"; +TXT_F1HADTOHURT = "That had to hurt!"; +TXT_F1LETSROCK = "Let's rock!"; +TXT_F1LIKETHAT = "You like that?"; +TXT_F1LOSER = "Loser!"; +TXT_F1OHYEAH = "Oh, yeah!"; +TXT_F1SITDOWN = "Sit down!"; +TXT_F1SLAUGHTER = "I just slaughtered that guy!"; +TXT_F1SORRY = "I'm sorry, did I blow your head apart?"; +TXT_F1SQUEEL = "Squeal boy, squeal!"; +TXT_F1STAYDOWN = "And stay down."; +TXT_F1SUCKER = "Sucker!"; +TXT_F1SUCKITDOWN = "Suck it down!"; // dummied out +TXT_F1TAG = "Tag, you're it!"; +TXT_F1TOASTED = "Toasted!"; +TXT_F1WANTSOME = "Anyone else want some?"; +TXT_F1YEEHAW = "Yeehaw!"; +TXT_F1YOUSUCK = "You suck!"; +// female soldier +TXT_F2AIM = "Learn how to aim!"; +TXT_F2BIGGERGUN = "Try a bigger gun."; +TXT_F2BOOM = "Boom!"; +TXT_F2BURNBABY = "Burn, baby!"; +TXT_F2DIE = "Die!"; +TXT_F2DIEBITCH = "Die, bitch."; +TXT_F2DIRTBAG = "Dirt bag!"; +TXT_F2EATTHAT = "Eat that!"; +TXT_F2GOTIM = "Got 'im!"; +TXT_F2HADTOHURT = "That had to hurt!"; +TXT_F2LOSER = "Loser!"; +TXT_F2MYHOUSE = "My house!"; +TXT_F2NEXT = "Next!"; +TXT_F2OHYEAH = "Oh, yeah!"; +TXT_F2SAFETY = "Try turning the safety off."; +TXT_F2SEEYA = "See ya!"; +TXT_F2STAYDOWN = "And stay down!"; +TXT_F2SUCKER = "Sucker!"; +TXT_F2SWEET = "Sweet!"; +TXT_F2TARGET = "Target eliminated."; +TXT_F2TOEASY = "Too easy!"; +TXT_F2USELESS = "Useless!"; +TXT_F2WANTSOME = "Anyone else want some?"; +TXT_F2YEEHAW = "Yeehaw!"; +TXT_F2YOULIKETHAT = "You like that?"; +TXT_F2YOUSUCK = "You suck!"; +// male commando +TXT_M1BOOM = "Boom!"; +TXT_M1BURNBABY = "Burn, baby."; +TXT_M1CLOBBER = "It's clobberin' time!"; // dummied out +TXT_M1DIEBITCH = "Die, bitch."; +TXT_M1EATTHAT = "Eat that!"; +TXT_M1LETSROCK = "Let's rock!"; +TXT_M1LIKETHAT = "You like that?"; +TXT_M1LOSER = "Loser."; +TXT_M1NAILEDEM = "Nailed 'im."; +TXT_M1NASTY = "That was nasty."; +TXT_M1NICE = "Nice."; +TXT_M1OHYEAH = "Oh, yeah!"; +TXT_M1SLAUGHTER = "I just slaughtered that guy."; +TXT_M1SUCKER = "Sucker!"; +TXT_M1SUCKITDOWN = "Suck it down!"; // dummied out +TXT_M1YEAHBITCH = "Yeah, bitch!"; +TXT_M1YEEHAW = "Yeehaw!"; +TXT_M1YOUSUCK = "You suck!"; +// male soldier +TXT_M2MEDIC = "Medic!"; +TXT_M2ONFIRE = "I'm on fire!"; +TXT_M2TARGET = "Target eliminated."; +TXT_M2USELESS = "Useless."; +TXT_M2YOUBE = "You be dead!"; +TXT_M2BITEME = "Bite me!"; +TXT_M2BOOM = "Boom!"; +TXT_M2BURNBABY = "Burn, baby."; +TXT_M2DIEBITCH = "Die, bitch."; +TXT_M2DIRTBAG = "Dirt bag!"; +TXT_M2EATTHAT = "Eat that!"; +TXT_M2GOTIM = "Got 'im!"; +TXT_M2LAUGH = "Ha ha ha!"; +TXT_M2LOSER = "Loser."; +TXT_M2MYHOUSE = "My house!"; +TXT_M2NEXT = "Next!"; +TXT_M2OHYEAH = "Oh, yeah!"; +TXT_M2SEEYA = "See ya!"; +TXT_M2STAYDOWN = "And stay down!"; +TXT_M2SUCKER = "Sucker!"; +TXT_M2THATHADTOHURT = "That had to hurt."; +TXT_M2WANTSOME = "Anyone else want some?"; +TXT_M2YALIKETHAT = "You like that?"; +TXT_M2YEEHAW = "Yeehaw!"; +TXT_M2YOUSUCK = "You suck!"; -[es esm esn esg esc esa esd esv eso esr ess esf esl esy esz esb ese esh esi esu] +[es] /* Obituaries */ O_BIORIFLE = "%o bebió un vaso del líquido verde y espeso de %k."; O_CHAINSAW = "%k cortó en pedazos a %o con una Motosierra ensangrentada."; @@ -441,6 +626,27 @@ D_INVISIBILITY = "La Invisibilidad ha desaparecido."; D_JUMPBOOTS = "Las Botas Antigravedad se han agotado."; D_UTINVUL = "La Invulnerabilidad ha desaparecido."; D_UTVISION = "La Visión Nocturna ha desaparecido."; +N_TBOSS = "Jefe"; +N_TMALE1 = "Comando Hombre"; +N_TMALE2 = "Soldado Hombre"; +N_TFEMALE1 = "Comando Mujer"; +N_TFEMALE2 = "Soldado Mujer"; +N_SCMDO = "Comando"; +N_SDACO = "Mercenario"; +N_SGARD = "Guardia de Metal"; +N_SRAWS = "Acero sin Pulir"; +N_SSLDR = "Soldado"; +N_SHKIL = "Máquina de Guerra"; +N_SARMY = "$$N_SSLDR"; +N_SGARF = "$$N_SGARD"; +N_SVENM = "Veneno"; +N_SFBTH = "$$N_SBLKT"; +N_SFWAR = "$$N_SHKIL"; +N_NTEAM = "Ninguno"; +N_RTEAM = "Rojo"; +N_BTEAM = "Azul"; +N_GTEAM = "Verde"; +N_YTEAM = "Dorado"; M_SINGLEROCKETON = "Modo de Cohetes Instantáneos activado"; M_SINGLEROCKETOFF = "Modo de Cohetes Instantáneos desactivado"; M_CLIP = "Cargador"; @@ -515,6 +721,14 @@ FLAK_TAUNT1 = "Victoria 1"; FLAK_TAUNT2 = "Victoria 2"; FLAK_TAUNT3 = "Adiós"; FLAK_TAUNT4 = "Movimiento de pelvis"; +FLAK_PTITLE = "Customización de Jugador"; +FLAK_TCOLOR = "Color de Equipo"; +FLAK_SKIN = "Piel"; +FLAK_FACE = "Cara"; +FLAK_BOPTS = "Modelos Beta"; +FLAK_AMBGLOW = "Brillo Ambiental"; +FLAK_GLOWOFF = "Desactivado"; +FLAK_GLOWON = "Estándar"; FLAK_MCREDS = "Créditos de UT"; FLAK_CLEAD = "Desarrolladora Jefe:"; FLAK_CASSETS = "Assets Adicionales:"; @@ -561,7 +775,7 @@ TOOLTIP_FLAK_CORPSEDAMAGE = "Los cadáveres de monstruos pueden recibir daño. E TOOLTIP_FLAK_SWINGERS = "La mayoría de armas en este mod tienen un efecto visual de retroceso. Puedes desactivarlo si resulta incómodo."; TOOLTIP_FLAK_SWINGERSTRENGTH = "Ajusta la escala del retroceso visual."; TOOLTIP_FLAK_RADBOOTS = "Las botas de salto protegerán de suelos dañinos mientras tengan carga.."; -TOOLTIP_FLAK_BLOOD = "Simple reemplazo de sangre. Desactiva si usas otros mods de gore.."; +TOOLTIP_FLAK_BLOOD = "Simple reemplazo de sangre (sin implementar completamente). Desactiva si usas otros mods de gore.."; TOOLTIP_FLAK_GIBS = "Habilita vísceras tipo UT para monstruos. Desactiva si usas otros mods de gore."; TOOLTIP_FLAK_DOOMTEST = "Embellece el mapa añadiendo unas cuantas texturas personalizadas, luces y sonidos de ambiente."; TOOLTIP_FLAK_INSTAGIB = "Sin items, sólo Rifle de Choque Mejorado."; @@ -570,7 +784,159 @@ TOOLTIP_FLAK_SAWAMMO = "La motosierra usará munición. Se reabastece con botes TOOLTIP_FLAK_ZOOMSOUND = "Estos archivos de sonido fueron encontrados en una vieja version filtrada. Puedes notar por que nunca fueron usados."; TOOLTIP_FLAK_ZOOMSHADER = "Shader personalizado para la mira, solo por quedar bonito."; TOOLTIP_FLAK_VANILLAARMOR = "Desactivar esta opción permite a los jugadores mantener la armadura y musleras mientras usan un escudo protector."; - -[fr] - -[it] +TOOLTIP_FLAK_OLDUDAMAGE = "Amplificador de Daño de la versión 220."; +TOOLTIP_FLAK_OLDTLOC = "Translocalizador de la versión 220. Requiere aplicar cambios."; +TOOLTIP_FLAK_OLDIMPACT = "Martillo de Impacto de la versión 220."; +TOOLTIP_FLAK_OLDPULSE = "Arma de Impulsos de las versiones 222 y 322."; +TOOLTIP_FLAK_OLDREDEEMER = "Redentor de las versiones 220 y 222."; +TOOLTIP_FLAK_AMBGLOW = "Los modelos de ítem en el mapa tendrán un brillo pulsante."; +/* Announcer */ +FLAK_ANNOUNCER="Comentarista"; +FLAK_ANNOUNCERVOL="Volumen del Comentarista"; +TOOLTIP_FLAK_ANNOUNCER="Activa la voz de comentarista para puntuar bajas."; +TOOLTIP_FLAK_ANNOUNCERVOL="Controla el volumen del comentarista (relativo al volumen de sonido general)."; +FLOC_FOLDER="est"; +FANN_HEADSHOT="¡¡¡Disparo a la cabeza!!!"; +FANN_DOUBLEKILL="¡Dos menos!"; +FANN_TRIPLEKILL="¡Tres menos!"; +FANN_MULTIKILL="¡Multidestrucción!"; +FANN_MEGAKILL="¡¡Megadestrucción!!"; +FANN_ULTRAKILL="¡¡HIPERDESTRUCCIÓN!!"; +FANN_MONSTERKILL="¡¡¡S.U.P.E.R.D.E.S.T.R.U.C.C.I.Ó.N!!!"; +FANN_OWNSPREE="%s tenía buen aspecto hasta que %s suicidó.%s"; +FANN_ENDSPREE="%s ha detenido la furia asesina de %s."; +FANN_ENDSPREEGEN="La furia asesina de %s ha sido detenida."; +FANN_FIRSTBLOOD="¡%s provocó la primera baja!"; +FANN_KILLINGSPREE="%s no deja de cargarse enemigos!"; +FANN_RAMPAGE="%s está en medio de una aniquilación!"; +FANN_DOMINATING="%s está dominando!"; +FANN_UNSTOPPABLE="%s es imparable!"; +FANN_GODLIKE="%s es una máquina!"; +FANN_PRONOUNN="se"; +FANN_SELFN=""; +FANN_PRONOUNM="se"; +FANN_SELFM=""; +FANN_PRONOUNF="se"; +FANN_SELFF=""; +/* Voices */ +FMNU_TAUNT="Provocación Autom."; +FMNU_TAUNTVOL="Volumen de voz"; +TOOLTIP_FLAK_VOICES="Reproduce provocaciones de voz al matar enemigos."; +TOOLTIP_FLAK_VOICEVOL="Controla el volumen de las provocaciones (relativo al volumen de sonido general)."; +// boss +TXT_BBOOM = "¡Buuum!"; +TXT_BBOWDOWN = "¡Inclínate ante mí!"; +TXT_BBURNBABY = "¡Te voy a achicharrar!"; +TXT_BDIEHUMAN = "¡Ahora verás, humano!"; +TXT_BELIMINATED = "Objetivo humano eliminado."; // was incorrect in original +TXT_BFEARME = "Te vas a acordar."; +TXT_BHADTOHURT = "Eso tiene que hacer pupa."; +TXT_BIMONFIRE = "No me provoques."; +TXT_BINFERIOR = "Eres un ser inferior."; +TXT_BJACKOFF = "Eres un ser inferior."; // repeat, not available +TXT_BMYHOUSE = "¡Éste es mi territorio!"; +TXT_BNEXT = "Siguiente."; +TXT_BOBSOLETE = "¡Criatura insignificante!"; +TXT_BOMEGA = "Yo soy el principio y el fin."; +TXT_BPERFECTION = "Te enfrentas a un ser perfecto."; +TXT_BRUNHUMAN = "Corre, humano."; +TXT_BSTEPASIDE = "¡Apártate!"; +TXT_BSUPERIOR = "Soy superior a ti."; +TXT_BUSELESS = "Eres picadillo."; +TXT_BWANTSOME = "¿A quién le toca ahora?"; +TXT_BYOUDIE = "Eres una presa fácil."; +// female commando +TXT_F1BOOM = "¡Buuum!"; +TXT_F1BURNBABY = "¡Te voy a achicharrar!"; +TXT_F1DIEBITCH = "Voy a acabar contigo."; +TXT_F1EATTHAT = "¡Chúpate ésa!"; +TXT_F1GOTIM = "¡Lo tengo!"; +TXT_F1HADTOHURT = "¡Eso tiene que hacer pupa!"; +TXT_F1LETSROCK = "¡Vamos a divertirnos!"; +TXT_F1LIKETHAT = "¿Qué, te ha gustado?"; +TXT_F1LOSER = "¡Qué pena me das!"; +TXT_F1OHYEAH = "¡Uau!"; +TXT_F1SITDOWN = "¡No te muevas!"; +TXT_F1SLAUGHTER = "¡Me acabo de cargar a ese tío!"; +TXT_F1SORRY = "Perdona, no quería dejarte sin cabeza."; +TXT_F1SQUEEL = "¡Sí, tú sigue gritando!"; +TXT_F1STAYDOWN = "Quieto ahí."; +TXT_F1SUCKER = "¡Imbécil!"; +TXT_F1SUCKITDOWN = "¡Imbécil!"; // repeat, not available +TXT_F1TAG = "¡Tú la llevas!"; +TXT_F1TOASTED = "¡Liquidado!"; +TXT_F1WANTSOME = "¿A quién le toca ahora?"; +TXT_F1YEEHAW = "¡Yujuuuu!"; +TXT_F1YOUSUCK = "¡Ahora verás!"; +// female soldier +TXT_F2AIM = "¡A ver si apuntas bien!"; +TXT_F2BIGGERGUN = "Prueba con algo más grande."; +TXT_F2BOOM = "¡Buuum!"; +TXT_F2BURNBABY = "¡Te voy a achicharrar!"; +TXT_F2DIE = "¡Vas a ver!"; +TXT_F2DIEBITCH = "Voy a acabar contigo."; +TXT_F2DIRTBAG = "¡Me las vas a pagar!"; +TXT_F2EATTHAT = "¡Chúpate ésa!"; +TXT_F2GOTIM = "¡Lo tengo!"; +TXT_F2HADTOHURT = "¡Eso tiene que hacer pupa!"; +TXT_F2LOSER = "¡Qué pena me das!"; +TXT_F2MYHOUSE = "¡Éste es mi territorio!"; +TXT_F2NEXT = "¡Siguiente!"; +TXT_F2OHYEAH = "¡Uau!"; +TXT_F2SAFETY = "¿Y si le quitas el seguro?"; +TXT_F2SEEYA = "¡Nos vemos!"; +TXT_F2STAYDOWN = "¡Quieto ahí!"; +TXT_F2SUCKER = "¡Imbécil!"; +TXT_F2SWEET = "¡Imbécil!"; // repeat, not available +TXT_F2TARGET = "Objetivo eliminado."; +TXT_F2TOEASY = "¡Demasiado fácil!"; +TXT_F2USELESS = "¡Eres picadillo!"; +TXT_F2WANTSOME = "¡Eres picadillo!"; // repeat, not available +TXT_F2YEEHAW = "¡Eres picadillo!"; // repeat, not available +TXT_F2YOULIKETHAT = "¿Qué, te ha gustado?"; +TXT_F2YOUSUCK = "¡Ahora verás!"; +// male commando +TXT_M1BOOM = "¡Buuum!"; +TXT_M1BURNBABY = "Te voy a achicharrar."; +TXT_M1CLOBBER = "Te voy a achicharrar."; // repeat, not available +TXT_M1DIEBITCH = "¡Voy a acabar contigo!"; +TXT_M1EATTHAT = "¡Chúpate ésa!"; +TXT_M1LETSROCK = "¡Vamos a divertirnos!"; +TXT_M1LIKETHAT = "¿Qué, te ha gustado?"; +TXT_M1LOSER = "Qué pena me das."; +TXT_M1NAILEDEM = "¡Me lo he cargado!"; +TXT_M1NASTY = "Vaya."; +TXT_M1NICE = "Genial."; +TXT_M1OHYEAH = "¡Uau!"; +TXT_M1SLAUGHTER = "Me acabo de cargar a ese tío."; +TXT_M1SUCKER = "¡Imbécil!"; +TXT_M1SUCKITDOWN = "¡Imbécil!"; // repeat, not available +TXT_M1YEAHBITCH = "¡Sí, toma!"; // was incorrect in original +TXT_M1YEEHAW = "¡Yujuuuu!"; +TXT_M1YOUSUCK = "¡Ahora verás!"; +// male soldier +TXT_M2MEDIC = "¡Un médico!"; +TXT_M2ONFIRE = "¡No me provoques!"; +TXT_M2TARGET = "Objetivo eliminado."; +TXT_M2USELESS = "Eres picadillo."; +TXT_M2YOUBE = "¡Te acordarás de ésta!"; +TXT_M2BITEME = "¡A ver si te atreves!"; +TXT_M2BOOM = "¡Buuum!"; +TXT_M2BURNBABY = "Te voy a achicharrar."; +TXT_M2DIEBITCH = "Voy a acabar contigo."; +TXT_M2DIRTBAG = "¡Me las vas a pagar!"; +TXT_M2EATTHAT = "¡Chúpate ésa!"; +TXT_M2GOTIM = "¡Lo tengo!"; +TXT_M2LAUGH = "¡Jajajajajajajajaja!"; // incorrect number of "ja" in original +TXT_M2LOSER = "Qué pena me das."; +TXT_M2MYHOUSE = "¡Éste es mi territorio!"; +TXT_M2NEXT = "¡Siguiente!"; +TXT_M2OHYEAH = "¡Uau!"; +TXT_M2SEEYA = "¡Nos vemos!"; +TXT_M2STAYDOWN = "¡Quieto ahí!"; +TXT_M2SUCKER = "¡Imbécil!"; +TXT_M2THATHADTOHURT = "Eso tiene que hacer pupa."; +TXT_M2WANTSOME = "¿A quién le toca ahora?"; +TXT_M2YALIKETHAT = "¿Qué, te ha gustado?"; +TXT_M2YEEHAW = "¡Yujuuuu!"; +TXT_M2YOUSUCK = "¡Ahora verás!"; diff --git a/menudef.txt b/menudef.txt index 97f202d..b8605b3 100644 --- a/menudef.txt +++ b/menudef.txt @@ -10,21 +10,99 @@ OptionValue "ColorPrefs" 1, "$FLAK_CPOP2" 2, "$FLAK_CPOP3" } +OptionValue "TeamSkin" +{ + -1, "$N_NTEAM" + 0, "$N_RTEAM" + 1, "$N_BTEAM" + 2, "$N_GTEAM" + 3, "$N_YTEAM" +} +OptionString "CommandoSkin" +{ + "cmdo", "$N_SCMDO" + "daco", "$N_SDACO" + "goth", "$N_SGOTH" +} +OptionString "FCommandoSkin" +{ + "cmdo", "$N_SCMDO" + "daco", "$N_SDACO" + "goth", "$N_SGOTH" + "aphe", "$N_SAPHE" +} +OptionString "SoldierSkin" +{ + "blkt", "$N_SBLKT" + "gard", "$N_SGARD" + "raws", "$N_SRAWS" + "sldr", "$N_SSLDR" + "hkil", "$N_SHKIL" +} +OptionString "SGirlSkin" +{ + "army", "$N_SARMY" + "garf", "$N_SGARF" + "venm", "$N_SVENM" + "fbth", "$N_SFBTH" + "fwar", "$N_SFWAR" +} +OptionValue "PulseVer" +{ + 0, "$TXT_NO" + 1, "222" + 2, "322" +} +OptionValue "DeemerVer" +{ + 0, "$TXT_NO" + 1, "220" + 2, "222" +} +OptionValue "AmbientGlow" +{ + 0, "$FLAK_GLOWOFF" + 1, "$FLAK_GLOWON" + 2, "$FLAK_GLOWEX" +} +OptionMenu "UTPlayerMenu" +{ + Class "UTOptionMenu" + Title "$FLAK_PTITLE" + + Option "$FLAK_TCOLOR", "flak_skinteam", "TeamSkin" + StaticText " " + UTFacePreview " " + StaticText " " + StaticText " " + StaticText " " + StaticText "$N_TMALE1", 1 + UTSkinOption "$FLAK_SKIN", "flak_cmdoskin", "CommandoSkin" + UTFaceOption "$FLAK_FACE", "flak_cmdoface", "flak_cmdoskin", 0 + StaticText "$N_TFEMALE1", 1 + UTSkinOption "$FLAK_SKIN", "flak_fcmdskin", "FCommandoSkin" + UTFaceOption "$FLAK_FACE", "flak_fcmdface", "flak_fcmdskin", 1 + StaticText "$N_TMALE2", 1 + UTSkinOption "$FLAK_SKIN", "flak_sldrskin", "SoldierSkin" + UTFaceOption "$FLAK_FACE", "flak_sldrface", "flak_sldrskin", 2 + StaticText "$N_TFEMALE2", 1 + UTSkinOption "$FLAK_SKIN", "flak_armyskin", "SGirlSkin" + UTFaceOption "$FLAK_FACE", "flak_armyface", "flak_armyskin", 3 +} OptionMenu "UTOptionMenu" { Class "UTOptionMenu" Title "$FLAK_MTITLE" - StaticText "$FLAK_MOPTS", "Gold" + StaticText "$FLAK_MOPTS", 1 Option "$FLAK_SMENU", "flak_showmenu", "YesNo" Option "$FLAK_MTYPE", "flak_protomenu", "BetaToggleMenu" Command "$FLAK_APPLY", "event refreshmenu" StaticText " " - StaticText "$FLAK_WOPTS", "Gold" + StaticText "$FLAK_WOPTS", 1 Option "$FLAK_ERELOAD", "flak_enforcerreload", "YesNo" Option "$FLAK_PRELOAD", "flak_pulsereload", "YesNo" Option "$FLAK_RREADOUT", "flak_redeemerreadout", "YesNo" - Option "$FLAK_RUPDATES", "flak_redeemerreadout_perframe", "YesNo" Option "$FLAK_RSHADER", "flak_deemershader", "YesNo" Option "$FLAK_RSWITCH", "flak_noswitchdeemer", "YesNo" Option "$FLAK_CSSHOCK", "flak_classicsshock", "YesNo" @@ -33,17 +111,19 @@ OptionMenu "UTOptionMenu" Option "$FLAK_ZSHADER", "flak_zoomshader", "YesNo" Slider "$FLAK_FSTRENGTH", "flak_flashstrength", 0.0, 1.0, 0.1, 1 StaticText " " - StaticText "$FLAK_IOPTS", "Gold" + StaticText "$FLAK_IOPTS", 1 + Option "$FLAK_AMBGLOW", "flak_ambglow", "AmbientGlow" Option "$FLAK_RADBOOTS", "flak_radboots", "YesNo" Option "$FLAK_VARMOR", "flak_vanillaarmor", "YesNo" StaticText " " - StaticText "$FLAK_TOPTS", "Gold" + StaticText "$FLAK_TOPTS", 1 Option "$FLAK_TLOCBOSS", "flak_nobosstelefrag", "YesNo" Option "$FLAK_TLOCAMMO", "flak_transloc2k4", "YesNo" Option "$FLAK_TLOCENABLE", "flak_translocator", "YesNo" Command "$FLAK_APPLY", "netevent refreshtrans" StaticText " " - StaticText "$FLAK_POPTS", "Gold" + StaticText "$FLAK_POPTS", 1 + Submenu "$FLAK_PTITLE", "UTPlayerMenu" Option "$FLAK_UTMOVE", "flak_utmovement", "YesNo" Option "$FLAK_DPSPEED", "flak_doomspeed", "YesNo", "flak_utmovement" Option "$FLAK_DACONTROL", "flak_doomaircontrol", "YesNo", "flak_utmovement" @@ -51,7 +131,7 @@ OptionMenu "UTOptionMenu" Option "$FLAK_DTDODGE", "flak_tapdodge", "YesNo", "flak_utmovement" Slider "$FLAK_DTSENS", "flak_taptics", 1, 10, 1, 0 StaticText " " - StaticText "$FLAK_HOPTS", "Gold" + StaticText "$FLAK_HOPTS", 1 Option "$FLAK_SWBAR", "flak_showweapons", "YesNo" Option "$FLAK_SSDOLL", "flak_showstatus", "YesNo" Option "$FLAK_SFRAGS", "flak_showfrags", "YesNo" @@ -69,13 +149,26 @@ OptionMenu "UTOptionMenu" ColorPicker "$FLAK_CCOLOR", "flak_colorcustom" Slider "$FLAK_HOPAC", "flak_opacity", 1, 16, 1, 0 StaticText " " - StaticText "$FLAK_MSOPTS", "Gold" + StaticText "$FLAK_MSOPTS", 1 Option "$FLAK_UTFOOT", "flak_footsteps", "YesNo" Option "$FLAK_BFOOT", "flak_bossfootsteps", "YesNo" Option "$FLAK_UBLOD", "flak_blood", "YesNo" Option "$FLAK_UGIB", "flak_gibs", "YesNo" Option "$FLAK_UCORPS", "flak_corpsedamage", "YesNo" Option "$FLAK_DTEST", "flak_doomtest", "YesNo" + StaticText " " + StaticText "$FLAK_BOPTS", 1 + Option "$T_UDAMAGE", "flak_oldudamage", "YesNo" + Option "$T_TRANSLOCATOR", "flak_oldtloc", "YesNo" + Option "$T_IMPACTHAMMER", "flak_oldimpact", "YesNo" + Option "$T_PULSEGUN", "flak_oldpulse", "PulseVer" + Option "$T_REDEEMER", "flak_oldredeemer", "DeemerVer" + StaticText " " + StaticText "$FLAK_XOPTS", 1 + Option "$FLAK_ANNOUNCER", "flak_announcer", "YesNo" + Slider "$FLAK_ANNOUNCERVOL", "flak_announcervol", 0.0, 1.0, 0.05, 2, "flak_announcer" + Option "$FMNU_TAUNT", "flak_voices", "YesNo" + Slider "$FMNU_TAUNTVOL", "flak_voicevol", 0.0, 1.0, 0.05, 2, "flak_voices" } AddOptionMenu "OptionsMenu" { @@ -90,7 +183,7 @@ OptionMenu "UTCreditsMenu" StaticText "$FLAK_CDT", "Red" StaticText " " StaticText "$FLAK_CLEAD", "Gold" - StaticText "Marisa Kirisame", "White" + StaticText "Marisa the Magician", "White" StaticText " " StaticText "$FLAK_CASSETS", "Gold" StaticText "Epic Games", "White" diff --git a/modeldef.boss b/modeldef.boss index 4f91bd2..08ee76b 100644 --- a/modeldef.boss +++ b/modeldef.boss @@ -2,16 +2,16 @@ Model "UTPlayerTBoss" { Path "models" Model 0 "Boss_d.3d" - SurfaceSkin 0 0 "boss1.png" - SurfaceSkin 0 1 "boss2.png" - SurfaceSkin 0 2 "boss3.png" - SurfaceSkin 0 3 "boss4.png" + SurfaceSkin 0 0 "Boss/boss1.png" + SurfaceSkin 0 1 "Boss/boss2.png" + SurfaceSkin 0 2 "Boss/boss3.png" + SurfaceSkin 0 3 "Boss/boss4.png" SurfaceSkin 0 5 "GunPick1.png" Scale 0.23 0.23 0.23 Offset 0 -5 29 RollOffset -90 AngleOffset -90 - IGNORETRANSLATION // I'll figure out eventually how to make color changes work, but for now this is it + IGNORETRANSLATION // Still FrameIndex PLAY A 0 373 FrameIndex PLAY B 0 374 @@ -305,11 +305,4 @@ Model "UTPlayerTBoss" FrameIndex PLT4 M 0 498 FrameIndex PLT4 N 0 499 FrameIndex PLT4 O 0 500 - // Ice Death (start of zap death) - SurfaceSkin 0 0 "boss1ice.png" - SurfaceSkin 0 1 "boss2ice.png" - SurfaceSkin 0 2 "boss3ice.png" - SurfaceSkin 0 3 "boss4ice.png" - SurfaceSkin 0 5 "GunPick1ice.png" - FrameIndex PICE A 0 622 } diff --git a/modeldef.commando b/modeldef.commando index 1420dc5..e8e6ab6 100644 --- a/modeldef.commando +++ b/modeldef.commando @@ -2,16 +2,16 @@ Model "UTPlayerTMale1" { Path "models" Model 0 "Commando_d.3d" - SurfaceSkin 0 0 "cmdo1.png" - SurfaceSkin 0 1 "cmdo2.png" - SurfaceSkin 0 2 "cmdo3.png" - SurfaceSkin 0 3 "cmdo4.png" + SurfaceSkin 0 0 "Commando/cmdo1.png" + SurfaceSkin 0 1 "Commando/cmdo2.png" + SurfaceSkin 0 2 "Commando/cmdo3.png" + SurfaceSkin 0 3 "Commando/cmdo4.png" SurfaceSkin 0 5 "GunPick1.png" Scale 0.23 0.23 0.23 Offset 0 -5 29 RollOffset -90 AngleOffset -90 - IGNORETRANSLATION // I'll figure out eventually how to make color changes work, but for now this is it + IGNORETRANSLATION // Still FrameIndex PLAY A 0 373 FrameIndex PLAY B 0 374 @@ -305,11 +305,4 @@ Model "UTPlayerTMale1" FrameIndex PLT4 M 0 498 FrameIndex PLT4 N 0 499 FrameIndex PLT4 O 0 500 - // Ice Death (start of zap death) - SurfaceSkin 0 0 "cmdo1ice.png" - SurfaceSkin 0 1 "cmdo2ice.png" - SurfaceSkin 0 2 "cmdo3ice.png" - SurfaceSkin 0 3 "cmdo4ice.png" - SurfaceSkin 0 5 "GunPick1ice.png" - FrameIndex PICE A 0 622 } diff --git a/modeldef.eightball b/modeldef.eightball index 3f2c45c..7e0de22 100644 --- a/modeldef.eightball +++ b/modeldef.eightball @@ -16,7 +16,7 @@ Model "UTRocketAmmo2" Model 0 "UTRocket_d.3d" Skin 0 "JuRocket1_.png" Offset 0 1.233 6 - Scale 0.0822 0.0822 0.07 + Scale 0.0822 0.0822 0.0822 RollOffset -90 FrameIndex RCKT A 0 0 @@ -73,7 +73,7 @@ Model "UTRocketLauncher" SurfaceSkin 0 1 "Eight_t2.png" SurfaceSkin 0 2 "Eight_t3.png" SurfaceSkin 0 3 "Eight_t4.png" - SurfaceSkin 0 4 "RAmmoLed" + SurfaceSkin 0 4 "miniammoled.png" Scale -0.2 0.22 0.2 Offset 3.4 -9.2 -8.5 AngleOffset 94 diff --git a/modeldef.fcommando b/modeldef.fcommando index 0486dcf..d53557e 100644 --- a/modeldef.fcommando +++ b/modeldef.fcommando @@ -2,15 +2,15 @@ Model "UTPlayerTFemale1" { Path "models" Model 0 "FCommando_d.3d" - SurfaceSkin 0 0 "fcmd1.png" - SurfaceSkin 0 1 "fcmd2.png" - SurfaceSkin 0 2 "fcmd4.png" + SurfaceSkin 0 0 "FCommando/cmdo1.png" + SurfaceSkin 0 1 "FCommando/cmdo2.png" + SurfaceSkin 0 2 "FCommando/cmdo4.png" SurfaceSkin 0 4 "GunPick1.png" Scale 0.23 0.23 0.23 Offset -2.5 3 36 RollOffset -90 AngleOffset -90 - IGNORETRANSLATION // I'll figure out eventually how to make color changes work, but for now this is it + IGNORETRANSLATION // Still FrameIndex PLAY A 0 359 FrameIndex PLAY B 0 360 @@ -72,7 +72,7 @@ Model "UTPlayerTFemale1" FrameIndex PLYC B 0 56 FrameIndex PLYC C 0 59 FrameIndex PLYC D 0 62 - FrameIndex PLYC E 0 75 + FrameIndex PLYC E 0 65 // Turn FrameIndex PLYT A 0 284 FrameIndex PLYT B 0 285 @@ -280,10 +280,4 @@ Model "UTPlayerTFemale1" FrameIndex PLT4 M 0 477 FrameIndex PLT4 N 0 478 FrameIndex PLT4 O 0 479 - // Ice Death (start of zap death) - SurfaceSkin 0 0 "fcmd1ice.png" - SurfaceSkin 0 1 "fcmd2ice.png" - SurfaceSkin 0 2 "fcmd4ice.png" - SurfaceSkin 0 4 "GunPick1ice.png" - FrameIndex PICE A 0 609 } diff --git a/modeldef.flak b/modeldef.flak index 3b904be..17d775d 100644 --- a/modeldef.flak +++ b/modeldef.flak @@ -234,7 +234,7 @@ Model "FlakCannon" SurfaceSkin 0 1 "flak_t2.png" SurfaceSkin 0 2 "flak_t3.png" SurfaceSkin 0 3 "flak_t4.png" - SurfaceSkin 0 4 "FlakALed" + SurfaceSkin 0 4 "FlakAmmoLED.png" AngleOffset 90 PitchOffset 180 RollOffset 178 diff --git a/modeldef.minigun b/modeldef.minigun index 677097f..7fdb8ee 100644 --- a/modeldef.minigun +++ b/modeldef.minigun @@ -77,7 +77,7 @@ Model "Minigun" SurfaceSkin 0 1 "Mini_t2.png" SurfaceSkin 0 2 "Mini_t3.png" SurfaceSkin 0 3 "Mini_t4.png" - SurfaceSkin 0 4 "MiniALed" + SurfaceSkin 0 4 "miniammoled.png" Scale 0.12 -0.08 0.12 Offset 1.8 -19.9 -13.8 AngleOffset 90 diff --git a/modeldef.misc b/modeldef.misc index b26431d..309a336 100644 --- a/modeldef.misc +++ b/modeldef.misc @@ -197,7 +197,6 @@ Model "UDamage" FrameIndex UDAM A 0 0 } - Model "ActUDamage" { Path "models" diff --git a/modeldef.pulse b/modeldef.pulse index 285aa9d..ac20b59 100644 --- a/modeldef.pulse +++ b/modeldef.pulse @@ -103,7 +103,7 @@ Model "PulseGun" Path "models" Model 0 "PulseGunR_d.3d" // indices start at 1 for this model - SurfaceSkin 0 1 "PAmmoLed" + SurfaceSkin 0 1 "AmmoLed.png" SurfaceSkin 0 2 "JPulseGun_02.png" SurfaceSkin 0 3 "JPulseGun_03.png" AngleOffset 90 diff --git a/modeldef.sgirl b/modeldef.sgirl index 35b8861..ed85712 100644 --- a/modeldef.sgirl +++ b/modeldef.sgirl @@ -2,16 +2,16 @@ Model "UTPlayerTFemale2" { Path "models" Model 0 "SGirl_d.3d" - SurfaceSkin 0 0 "army1.png" - SurfaceSkin 0 1 "army2.png" - SurfaceSkin 0 2 "army3.png" - SurfaceSkin 0 3 "army4.png" + SurfaceSkin 0 0 "SGirl/army1.png" + SurfaceSkin 0 1 "SGirl/army2.png" + SurfaceSkin 0 2 "SGirl/army3.png" + SurfaceSkin 0 3 "SGirl/army4.png" SurfaceSkin 0 5 "GunPick1.png" Scale 0.23 0.23 0.23 Offset -2.5 3 36 RollOffset -90 AngleOffset -90 - IGNORETRANSLATION // I'll figure out eventually how to make color changes work, but for now this is it + IGNORETRANSLATION // Still FrameIndex PLAY A 0 359 FrameIndex PLAY B 0 360 @@ -73,7 +73,7 @@ Model "UTPlayerTFemale2" FrameIndex PLYC B 0 56 FrameIndex PLYC C 0 59 FrameIndex PLYC D 0 62 - FrameIndex PLYC E 0 75 + FrameIndex PLYC E 0 65 // Turn FrameIndex PLYT A 0 284 FrameIndex PLYT B 0 285 @@ -281,11 +281,4 @@ Model "UTPlayerTFemale2" FrameIndex PLT4 M 0 477 FrameIndex PLT4 N 0 478 FrameIndex PLT4 O 0 479 - // Ice Death (start of zap death) - SurfaceSkin 0 0 "army1ice.png" - SurfaceSkin 0 1 "army2ice.png" - SurfaceSkin 0 2 "army3ice.png" - SurfaceSkin 0 3 "army4ice.png" - SurfaceSkin 0 5 "GunPick1ice.png" - FrameIndex PICE A 0 609 } diff --git a/modeldef.soldier b/modeldef.soldier index 7270166..bc96c7d 100644 --- a/modeldef.soldier +++ b/modeldef.soldier @@ -2,16 +2,16 @@ Model "UTPlayerTMale2" { Path "models" Model 0 "Soldier_d.3d" - SurfaceSkin 0 0 "sldr1.png" - SurfaceSkin 0 1 "sldr2.png" - SurfaceSkin 0 2 "sldr3.png" - SurfaceSkin 0 3 "sldr4.png" + SurfaceSkin 0 0 "Soldier/sldr1.png" + SurfaceSkin 0 1 "Soldier/sldr2.png" + SurfaceSkin 0 2 "Soldier/sldr3.png" + SurfaceSkin 0 3 "Soldier/sldr4.png" SurfaceSkin 0 5 "GunPick1.png" Scale 0.23 0.23 0.23 Offset 0 -5 29 RollOffset -90 AngleOffset -90 - IGNORETRANSLATION // I'll figure out eventually how to make color changes work, but for now this is it + IGNORETRANSLATION // Still FrameIndex PLAY A 0 373 FrameIndex PLAY B 0 374 @@ -305,13 +305,6 @@ Model "UTPlayerTMale2" FrameIndex PLT4 M 0 498 FrameIndex PLT4 N 0 499 FrameIndex PLT4 O 0 500 - // Ice Death (start of zap death) - SurfaceSkin 0 0 "sldr1ice.png" - SurfaceSkin 0 1 "sldr2ice.png" - SurfaceSkin 0 2 "sldr3ice.png" - SurfaceSkin 0 3 "sldr4ice.png" - SurfaceSkin 0 5 "GunPick1ice.png" - FrameIndex PICE A 0 622 } // Will use Soldier model @@ -319,14 +312,14 @@ Model "TranslocatorAfterimage" { Path "models" Model 0 "Soldier_d.3d" - SurfaceSkin 0 0 "sldr1.png" - SurfaceSkin 0 1 "sldr2.png" - SurfaceSkin 0 2 "sldr3.png" - SurfaceSkin 0 3 "sldr4.png" + SurfaceSkin 0 0 "Soldier/sldr1.png" + SurfaceSkin 0 1 "Soldier/sldr2.png" + SurfaceSkin 0 2 "Soldier/sldr3.png" + SurfaceSkin 0 3 "Soldier/sldr4.png" SurfaceSkin 0 5 "GunPick1.png" Scale 0.256 0.23 0.23 Offset 0 -5 29 RollOffset -90 AngleOffset -90 FrameIndex PLAY A 0 187 -} \ No newline at end of file +} diff --git a/modeldef.transloc b/modeldef.transloc index 4821b5c..566961d 100644 --- a/modeldef.transloc +++ b/modeldef.transloc @@ -132,3 +132,306 @@ Model "Translocator" FrameIndex TLI2 R 0 105 FrameIndex TLI2 S 0 106 } + +Model "OldTranslocatorModule" +{ + Path "models/220" + Model 0 "oldmodule_d.3d" + Skin 0 "oldtloc1_.png" + Scale 0.1 0.1 0.1 + ZOffset 1 + USEACTORPITCH + + FrameIndex TMOD A 0 0 +} + +Model "OldTranslocator" +{ + Path "models/220" + Model 1 "oldtranspick_d.3d" + Skin 1 "oldtloc1_.png" + Scale 0.1 0.1 0.1 + AngleOffset -90 + ZOffset 1 + + FrameIndex TLCP B 1 0 + + ZOffset 12 + ROTATING + FrameIndex TLCP A 1 0 +} + +Model "OldTranslocator" +{ + Path "models/220" + Model 0 "oldtransloc_d.3d" + Skin 0 "oldtloc1.png" + Scale 0.1 -0.1 0.1 + Offset -18 -30 -16 + AngleOffset 95 + RollOffset -45 + PitchOffset 10 + + // select + FrameIndex TLCS A 0 91 + FrameIndex TLCS B 0 92 + FrameIndex TLCS C 0 93 + FrameIndex TLCS D 0 94 + FrameIndex TLCS E 0 95 + FrameIndex TLCS F 0 96 + FrameIndex TLCS G 0 97 + FrameIndex TLCS H 0 98 + FrameIndex TLCS I 0 99 + FrameIndex TLCS J 0 100 + FrameIndex TLCS K 0 101 + FrameIndex TLCS L 0 102 + FrameIndex TLCS M 0 103 + FrameIndex TLCS N 0 104 + FrameIndex TLCS O 0 105 + // throw + FrameIndex TLCF A 0 60 + FrameIndex TLCF B 0 61 + FrameIndex TLCF C 0 62 + FrameIndex TLCF D 0 63 + FrameIndex TLCF E 0 64 + FrameIndex TLCF F 0 65 + FrameIndex TLCF G 0 66 + FrameIndex TLCF H 0 67 + FrameIndex TLCF I 0 68 + FrameIndex TLCF J 0 69 + FrameIndex TLCF K 0 70 + FrameIndex TLCF L 0 71 + FrameIndex TLCF M 0 72 + FrameIndex TLCF N 0 73 + FrameIndex TLCF O 0 74 + FrameIndex TLCF P 0 75 + FrameIndex TLCF Q 0 76 + FrameIndex TLCF R 0 77 + FrameIndex TLCF S 0 78 + FrameIndex TLCF T 0 79 + // idle + FrameIndex TLCI A 0 146 + FrameIndex TLCI B 0 147 + FrameIndex TLCI C 0 148 + FrameIndex TLCI D 0 149 + FrameIndex TLCI E 0 150 + FrameIndex TLCI F 0 151 + FrameIndex TLCI G 0 152 + FrameIndex TLCI H 0 153 + FrameIndex TLCI I 0 154 + FrameIndex TLCI J 0 155 + FrameIndex TLCI K 0 156 + FrameIndex TLCI L 0 157 + FrameIndex TLCI M 0 158 + FrameIndex TLCI N 0 159 + FrameIndex TLCI O 0 160 + FrameIndex TLCI P 0 161 + FrameIndex TLCI Q 0 162 + FrameIndex TLCI R 0 163 + FrameIndex TLCI S 0 164 + FrameIndex TLCI T 0 165 + FrameIndex TLCI U 0 166 + FrameIndex TLCI V 0 167 + FrameIndex TLCI W 0 168 + FrameIndex TLCI X 0 169 + FrameIndex TLCI Y 0 170 + FrameIndex TLCI Z 0 171 + FrameIndex TLI2 A 0 172 + FrameIndex TLI2 B 0 173 + FrameIndex TLI2 C 0 174 + FrameIndex TLI2 D 0 175 + FrameIndex TLI2 E 0 176 + FrameIndex TLI2 F 0 177 + FrameIndex TLI2 G 0 178 + FrameIndex TLI2 H 0 179 + FrameIndex TLI2 I 0 180 + FrameIndex TLI2 J 0 181 + FrameIndex TLI2 K 0 182 + FrameIndex TLI2 L 0 183 + FrameIndex TLI2 M 0 184 + FrameIndex TLI2 N 0 185 + FrameIndex TLI2 O 0 186 + FrameIndex TLI2 P 0 187 + FrameIndex TLI2 Q 0 188 + FrameIndex TLI2 R 0 189 + FrameIndex TLI2 S 0 190 + FrameIndex TLI2 T 0 191 + FrameIndex TLI2 U 0 192 + FrameIndex TLI2 V 0 193 + FrameIndex TLI2 W 0 194 + FrameIndex TLI2 X 0 195 + FrameIndex TLI2 Y 0 196 + FrameIndex TLI2 Z 0 197 + FrameIndex TLI3 A 0 198 + FrameIndex TLI3 B 0 199 + FrameIndex TLI3 C 0 200 + FrameIndex TLI3 D 0 201 + FrameIndex TLI3 E 0 202 + FrameIndex TLI3 F 0 203 + FrameIndex TLI3 G 0 204 + FrameIndex TLI3 H 0 205 + // down + FrameIndex TLCD A 0 80 + FrameIndex TLCD B 0 81 + FrameIndex TLCD C 0 82 + FrameIndex TLCD D 0 83 + FrameIndex TLCD E 0 84 + FrameIndex TLCD F 0 85 + FrameIndex TLCD G 0 86 + FrameIndex TLCD H 0 87 + FrameIndex TLCD I 0 88 + FrameIndex TLCD J 0 89 + FrameIndex TLCD K 0 90 + // reset (1st seq) + FrameIndex TLCR A 0 126 + FrameIndex TLCR B 0 127 + FrameIndex TLCR C 0 128 + FrameIndex TLCR D 0 129 + FrameIndex TLCR E 0 130 + FrameIndex TLCR F 0 131 + FrameIndex TLCR G 0 132 + FrameIndex TLCR H 0 133 + FrameIndex TLCR I 0 134 + FrameIndex TLCR J 0 135 + FrameIndex TLCR K 0 136 + FrameIndex TLCR L 0 137 + FrameIndex TLCR M 0 138 + FrameIndex TLCR N 0 139 + FrameIndex TLCR O 0 140 + FrameIndex TLCR P 0 141 + FrameIndex TLCR Q 0 142 + FrameIndex TLCR R 0 143 + FrameIndex TLCR S 0 144 + FrameIndex TLCR T 0 145 + // reset (2nd seq) + FrameIndex TLR2 A 0 106 + FrameIndex TLR2 B 0 107 + FrameIndex TLR2 C 0 108 + FrameIndex TLR2 D 0 109 + FrameIndex TLR2 E 0 110 + FrameIndex TLR2 F 0 111 + FrameIndex TLR2 G 0 112 + FrameIndex TLR2 H 0 113 + FrameIndex TLR2 I 0 114 + FrameIndex TLR2 J 0 115 + FrameIndex TLR2 K 0 116 + FrameIndex TLR2 L 0 117 + FrameIndex TLR2 M 0 118 + FrameIndex TLR2 N 0 119 + FrameIndex TLR2 O 0 120 + FrameIndex TLR2 P 0 121 + FrameIndex TLR2 Q 0 122 + FrameIndex TLR2 R 0 123 + FrameIndex TLR2 S 0 124 + FrameIndex TLR2 T 0 125 + // teleport + FrameIndex TLCT A 0 232 + FrameIndex TLCT B 0 233 + FrameIndex TLCT C 0 234 + FrameIndex TLCT D 0 235 + FrameIndex TLCT E 0 236 + FrameIndex TLCT F 0 237 + FrameIndex TLCT G 0 238 + FrameIndex TLCT H 0 239 + FrameIndex TLCT I 0 240 + FrameIndex TLCT J 0 241 + FrameIndex TLCT K 0 242 + FrameIndex TLCT L 0 243 + FrameIndex TLCT M 0 244 + FrameIndex TLCT N 0 245 + FrameIndex TLCT O 0 246 + FrameIndex TLCT P 0 247 + FrameIndex TLCT Q 0 248 + FrameIndex TLCT R 0 249 + FrameIndex TLCT S 0 250 + FrameIndex TLCT T 0 251 + // select 2 + FrameIndex TLS2 A 0 217 + FrameIndex TLS2 B 0 218 + FrameIndex TLS2 C 0 219 + FrameIndex TLS2 D 0 220 + FrameIndex TLS2 E 0 221 + FrameIndex TLS2 F 0 222 + FrameIndex TLS2 G 0 223 + FrameIndex TLS2 H 0 224 + FrameIndex TLS2 I 0 225 + FrameIndex TLS2 J 0 226 + FrameIndex TLS2 K 0 227 + FrameIndex TLS2 L 0 228 + FrameIndex TLS2 M 0 229 + FrameIndex TLS2 N 0 230 + FrameIndex TLS2 O 0 231 + // down 2 + FrameIndex TLD2 A 0 206 + FrameIndex TLD2 B 0 207 + FrameIndex TLD2 C 0 208 + FrameIndex TLD2 D 0 209 + FrameIndex TLD2 E 0 210 + FrameIndex TLD2 F 0 211 + FrameIndex TLD2 G 0 212 + FrameIndex TLD2 H 0 213 + FrameIndex TLD2 I 0 214 + FrameIndex TLD2 J 0 215 + FrameIndex TLD2 K 0 216 + // idle 2 + FrameIndex TLI4 A 0 0 + FrameIndex TLI4 B 0 1 + FrameIndex TLI4 C 0 2 + FrameIndex TLI4 D 0 3 + FrameIndex TLI4 E 0 4 + FrameIndex TLI4 F 0 5 + FrameIndex TLI4 G 0 6 + FrameIndex TLI4 H 0 7 + FrameIndex TLI4 I 0 8 + FrameIndex TLI4 J 0 9 + FrameIndex TLI4 K 0 10 + FrameIndex TLI4 L 0 11 + FrameIndex TLI4 M 0 12 + FrameIndex TLI4 N 0 13 + FrameIndex TLI4 O 0 14 + FrameIndex TLI4 P 0 15 + FrameIndex TLI4 Q 0 16 + FrameIndex TLI4 R 0 17 + FrameIndex TLI4 S 0 18 + FrameIndex TLI4 T 0 19 + FrameIndex TLI4 U 0 20 + FrameIndex TLI4 V 0 21 + FrameIndex TLI4 W 0 22 + FrameIndex TLI4 X 0 23 + FrameIndex TLI4 Y 0 24 + FrameIndex TLI4 Z 0 25 + FrameIndex TLI5 A 0 26 + FrameIndex TLI5 B 0 27 + FrameIndex TLI5 C 0 28 + FrameIndex TLI5 D 0 29 + FrameIndex TLI5 E 0 30 + FrameIndex TLI5 F 0 31 + FrameIndex TLI5 G 0 32 + FrameIndex TLI5 H 0 33 + FrameIndex TLI5 I 0 34 + FrameIndex TLI5 J 0 35 + FrameIndex TLI5 K 0 36 + FrameIndex TLI5 L 0 37 + FrameIndex TLI5 M 0 38 + FrameIndex TLI5 N 0 39 + FrameIndex TLI5 O 0 40 + FrameIndex TLI5 P 0 41 + FrameIndex TLI5 Q 0 42 + FrameIndex TLI5 R 0 43 + FrameIndex TLI5 S 0 44 + FrameIndex TLI5 T 0 45 + FrameIndex TLI5 U 0 46 + FrameIndex TLI5 V 0 47 + FrameIndex TLI5 W 0 48 + FrameIndex TLI5 X 0 49 + FrameIndex TLI5 Y 0 50 + FrameIndex TLI5 Z 0 51 + FrameIndex TLI6 A 0 52 + FrameIndex TLI6 B 0 53 + FrameIndex TLI6 C 0 54 + FrameIndex TLI6 D 0 55 + FrameIndex TLI6 E 0 56 + FrameIndex TLI6 F 0 57 + FrameIndex TLI6 G 0 58 + FrameIndex TLI6 H 0 59 +} diff --git a/modeldef.warhead b/modeldef.warhead index ee050b6..dd2e017 100644 --- a/modeldef.warhead +++ b/modeldef.warhead @@ -9,6 +9,27 @@ Model "WarheadAmmo" FrameIndex WMIS A 0 0 } +Model "WarheadAmmo220" +{ + Path "models/220" + Model 0 "wars_d.3d" + SurfaceSkin 0 1 "wars_.png" + Scale 0.2 0.2 0.2 + ZOffset 2 + + FrameIndex WMIS A 0 0 +} +Model "WarheadAmmo222" +{ + Path "models/222" + Model 0 "WarShellm_d.3d" + SurfaceSkin 0 1 "jwars1_.png" + Scale 0.2 0.2 0.2 + ZOffset 2 + + FrameIndex WMIS A 0 0 +} + Model "ShockWave" { Path "models" @@ -47,6 +68,33 @@ Model "GuidedWarShell" FrameIndex WMIS A 0 0 } +Model "WarShell220" +{ + Path "models/220" + Model 0 "wars_d.3d" + SurfaceSkin 0 1 "wars.png" + Scale 0.2 0.2 0.2 + Offset -30 0 0 + PitchOffset -90 + USEACTORPITCH + USEACTORROLL + + FrameIndex WMIS A 0 0 +} +Model "WarShell222" +{ + Path "models/222" + Model 0 "WarShellm_d.3d" + SurfaceSkin 0 1 "jwars1.png" + Scale 0.2 0.2 0.2 + Offset -30 0 0 + PitchOffset -90 + USEACTORPITCH + USEACTORROLL + + FrameIndex WMIS A 0 0 +} + Model "WarheadLauncher" { Path "models" diff --git a/models/220/JImpPick1.png b/models/220/JImpPick1.png new file mode 100644 index 0000000..40ed554 Binary files /dev/null and b/models/220/JImpPick1.png differ diff --git a/models/220/JImpactHammer1.png b/models/220/JImpactHammer1.png new file mode 100644 index 0000000..476d179 Binary files /dev/null and b/models/220/JImpactHammer1.png differ diff --git a/models/220/JImpactHammer2.png b/models/220/JImpactHammer2.png new file mode 100644 index 0000000..a417049 Binary files /dev/null and b/models/220/JImpactHammer2.png differ diff --git a/models/220/JImpactHammer3.png b/models/220/JImpactHammer3.png new file mode 100644 index 0000000..e760313 Binary files /dev/null and b/models/220/JImpactHammer3.png differ diff --git a/models/220/JImpactHammer4.png b/models/220/JImpactHammer4.png new file mode 100644 index 0000000..cd26d4e Binary files /dev/null and b/models/220/JImpactHammer4.png differ diff --git a/models/220/Judamage1.png b/models/220/Judamage1.png new file mode 100644 index 0000000..d5dce46 Binary files /dev/null and b/models/220/Judamage1.png differ diff --git a/models/220/Jwarhead1.png b/models/220/Jwarhead1.png new file mode 100644 index 0000000..7315ed3 Binary files /dev/null and b/models/220/Jwarhead1.png differ diff --git a/models/220/Jwarhead2.png b/models/220/Jwarhead2.png new file mode 100644 index 0000000..932d35b Binary files /dev/null and b/models/220/Jwarhead2.png differ diff --git a/models/220/Jwarhead3.png b/models/220/Jwarhead3.png new file mode 100644 index 0000000..0453ab9 Binary files /dev/null and b/models/220/Jwarhead3.png differ diff --git a/models/220/Jwarhead4.png b/models/220/Jwarhead4.png new file mode 100644 index 0000000..b6af982 Binary files /dev/null and b/models/220/Jwarhead4.png differ diff --git a/models/220/Jwhpick1.png b/models/220/Jwhpick1.png new file mode 100644 index 0000000..8f318a4 Binary files /dev/null and b/models/220/Jwhpick1.png differ diff --git a/models/220/Shockt1.png b/models/220/Shockt1.png new file mode 100644 index 0000000..ace43c1 Binary files /dev/null and b/models/220/Shockt1.png differ diff --git a/models/220/UDamage_a.3d b/models/220/UDamage_a.3d new file mode 100644 index 0000000..35056a4 Binary files /dev/null and b/models/220/UDamage_a.3d differ diff --git a/models/220/UDamage_d.3d b/models/220/UDamage_d.3d new file mode 100644 index 0000000..d14dfeb Binary files /dev/null and b/models/220/UDamage_d.3d differ diff --git a/models/220/oldmodule_a.3d b/models/220/oldmodule_a.3d new file mode 100644 index 0000000..ea6c05a Binary files /dev/null and b/models/220/oldmodule_a.3d differ diff --git a/models/220/oldmodule_d.3d b/models/220/oldmodule_d.3d new file mode 100644 index 0000000..467ea37 Binary files /dev/null and b/models/220/oldmodule_d.3d differ diff --git a/models/220/oldtloc1.png b/models/220/oldtloc1.png new file mode 100644 index 0000000..296b31f Binary files /dev/null and b/models/220/oldtloc1.png differ diff --git a/models/220/oldtloc1_.png b/models/220/oldtloc1_.png new file mode 100644 index 0000000..296b31f Binary files /dev/null and b/models/220/oldtloc1_.png differ diff --git a/models/220/oldtransloc_a.3d b/models/220/oldtransloc_a.3d new file mode 100644 index 0000000..a35b016 Binary files /dev/null and b/models/220/oldtransloc_a.3d differ diff --git a/models/220/oldtransloc_d.3d b/models/220/oldtransloc_d.3d new file mode 100644 index 0000000..fcd81f7 Binary files /dev/null and b/models/220/oldtransloc_d.3d differ diff --git a/models/220/oldtranspick_a.3d b/models/220/oldtranspick_a.3d new file mode 100644 index 0000000..64b0e33 Binary files /dev/null and b/models/220/oldtranspick_a.3d differ diff --git a/models/220/oldtranspick_d.3d b/models/220/oldtranspick_d.3d new file mode 100644 index 0000000..bb3439c Binary files /dev/null and b/models/220/oldtranspick_d.3d differ diff --git a/models/220/wars.png b/models/220/wars.png new file mode 100644 index 0000000..483564c Binary files /dev/null and b/models/220/wars.png differ diff --git a/models/220/wars_.png b/models/220/wars_.png new file mode 100644 index 0000000..483564c Binary files /dev/null and b/models/220/wars_.png differ diff --git a/models/220/wars_a.3d b/models/220/wars_a.3d new file mode 100644 index 0000000..355d5ba Binary files /dev/null and b/models/220/wars_a.3d differ diff --git a/models/220/wars_d.3d b/models/220/wars_d.3d new file mode 100644 index 0000000..d2d908c Binary files /dev/null and b/models/220/wars_d.3d differ diff --git a/models/222/JPammo_01.png b/models/222/JPammo_01.png new file mode 100644 index 0000000..055e652 Binary files /dev/null and b/models/222/JPammo_01.png differ diff --git a/models/222/JPulse3rd_01.png b/models/222/JPulse3rd_01.png new file mode 100644 index 0000000..48c54d5 Binary files /dev/null and b/models/222/JPulse3rd_01.png differ diff --git a/models/222/JPulseGun_02.png b/models/222/JPulseGun_02.png new file mode 100644 index 0000000..ddfd370 Binary files /dev/null and b/models/222/JPulseGun_02.png differ diff --git a/models/222/JPulsePickup_01.png b/models/222/JPulsePickup_01.png new file mode 100644 index 0000000..16355c0 Binary files /dev/null and b/models/222/JPulsePickup_01.png differ diff --git a/models/222/Jwarhead1.png b/models/222/Jwarhead1.png new file mode 100644 index 0000000..0b7d39b Binary files /dev/null and b/models/222/Jwarhead1.png differ diff --git a/models/222/Jwarhead2.png b/models/222/Jwarhead2.png new file mode 100644 index 0000000..6ba7c2a Binary files /dev/null and b/models/222/Jwarhead2.png differ diff --git a/models/222/Jwarhead3.png b/models/222/Jwarhead3.png new file mode 100644 index 0000000..0ea99ad Binary files /dev/null and b/models/222/Jwarhead3.png differ diff --git a/models/222/Jwarhead4.png b/models/222/Jwarhead4.png new file mode 100644 index 0000000..5c17893 Binary files /dev/null and b/models/222/Jwarhead4.png differ diff --git a/models/222/Jwars1.png b/models/222/Jwars1.png new file mode 100644 index 0000000..8678b0d Binary files /dev/null and b/models/222/Jwars1.png differ diff --git a/models/222/Jwars1_.png b/models/222/Jwars1_.png new file mode 100644 index 0000000..8678b0d Binary files /dev/null and b/models/222/Jwars1_.png differ diff --git a/models/222/Jwhpick1.png b/models/222/Jwhpick1.png new file mode 100644 index 0000000..a53ce80 Binary files /dev/null and b/models/222/Jwhpick1.png differ diff --git a/models/222/Shockt1.png b/models/222/Shockt1.png new file mode 100644 index 0000000..6726861 Binary files /dev/null and b/models/222/Shockt1.png differ diff --git a/models/222/WarShellm_a.3d b/models/222/WarShellm_a.3d new file mode 100644 index 0000000..2a9168d Binary files /dev/null and b/models/222/WarShellm_a.3d differ diff --git a/models/222/WarShellm_d.3d b/models/222/WarShellm_d.3d new file mode 100644 index 0000000..2db2d44 Binary files /dev/null and b/models/222/WarShellm_d.3d differ diff --git a/models/322/JPammo_01.png b/models/322/JPammo_01.png new file mode 100644 index 0000000..055e652 Binary files /dev/null and b/models/322/JPammo_01.png differ diff --git a/models/322/JPulse3rd_01.png b/models/322/JPulse3rd_01.png new file mode 100644 index 0000000..0412939 Binary files /dev/null and b/models/322/JPulse3rd_01.png differ diff --git a/models/322/JPulseGun_02.png b/models/322/JPulseGun_02.png new file mode 100644 index 0000000..675464e Binary files /dev/null and b/models/322/JPulseGun_02.png differ diff --git a/models/322/JPulsePickup_01.png b/models/322/JPulsePickup_01.png new file mode 100644 index 0000000..16355c0 Binary files /dev/null and b/models/322/JPulsePickup_01.png differ diff --git a/models/ABoxBlue_env.png b/models/ABoxBlue_env.png index 727b38d..da545fc 100644 Binary files a/models/ABoxBlue_env.png and b/models/ABoxBlue_env.png differ diff --git a/models/ABoxGreen_env.png b/models/ABoxGreen_env.png index 6ae2275..8b8c1fb 100644 Binary files a/models/ABoxGreen_env.png and b/models/ABoxGreen_env.png differ diff --git a/models/ABoxPurple_env.png b/models/ABoxPurple_env.png index 75b4a6b..d4bb9e3 100644 Binary files a/models/ABoxPurple_env.png and b/models/ABoxPurple_env.png differ diff --git a/models/ABoxRed_env.png b/models/ABoxRed_env.png index 65acab2..37caef8 100644 Binary files a/models/ABoxRed_env.png and b/models/ABoxRed_env.png differ diff --git a/models/ASMD_t.png b/models/ASMD_t.png index 78be174..4ca81a7 100644 Binary files a/models/ASMD_t.png and b/models/ASMD_t.png differ diff --git a/models/ASaRing.png b/models/ASaRing.png index e247655..cbad0ac 100644 Binary files a/models/ASaRing.png and b/models/ASaRing.png differ diff --git a/models/ASasRing.png b/models/ASasRing.png index fb5ac2e..553ce7f 100644 Binary files a/models/ASasRing.png and b/models/ASasRing.png differ diff --git a/models/AmmoCountBar.png b/models/AmmoCountBar.png new file mode 100644 index 0000000..aa40608 Binary files /dev/null and b/models/AmmoCountBar.png differ diff --git a/models/AmmoLed.png b/models/AmmoLed.png new file mode 100644 index 0000000..1aec6e7 Binary files /dev/null and b/models/AmmoLed.png differ diff --git a/models/AmmoLedBase.png b/models/AmmoLedBase.png new file mode 100644 index 0000000..6a1547c Binary files /dev/null and b/models/AmmoLedBase.png differ diff --git a/models/BlueSkin2.png b/models/BlueSkin2.png index bd9bc8b..939e899 100644 Binary files a/models/BlueSkin2.png and b/models/BlueSkin2.png differ diff --git a/models/Boss/boss1.png b/models/Boss/boss1.png new file mode 100644 index 0000000..1c1fe96 Binary files /dev/null and b/models/Boss/boss1.png differ diff --git a/models/Boss/boss1T_0.png b/models/Boss/boss1T_0.png new file mode 100644 index 0000000..4508e8d Binary files /dev/null and b/models/Boss/boss1T_0.png differ diff --git a/models/Boss/boss1T_1.png b/models/Boss/boss1T_1.png new file mode 100644 index 0000000..2a5ae8e Binary files /dev/null and b/models/Boss/boss1T_1.png differ diff --git a/models/Boss/boss1T_2.png b/models/Boss/boss1T_2.png new file mode 100644 index 0000000..8ae652c Binary files /dev/null and b/models/Boss/boss1T_2.png differ diff --git a/models/Boss/boss1T_3.png b/models/Boss/boss1T_3.png new file mode 100644 index 0000000..5754cfa Binary files /dev/null and b/models/Boss/boss1T_3.png differ diff --git a/models/Boss/boss1ice.png b/models/Boss/boss1ice.png new file mode 100644 index 0000000..a63dfe2 Binary files /dev/null and b/models/Boss/boss1ice.png differ diff --git a/models/Boss/boss2.png b/models/Boss/boss2.png new file mode 100644 index 0000000..fbb804d Binary files /dev/null and b/models/Boss/boss2.png differ diff --git a/models/Boss/boss2T_0.png b/models/Boss/boss2T_0.png new file mode 100644 index 0000000..b54c07c Binary files /dev/null and b/models/Boss/boss2T_0.png differ diff --git a/models/Boss/boss2T_1.png b/models/Boss/boss2T_1.png new file mode 100644 index 0000000..5dc09dc Binary files /dev/null and b/models/Boss/boss2T_1.png differ diff --git a/models/Boss/boss2T_2.png b/models/Boss/boss2T_2.png new file mode 100644 index 0000000..9e64219 Binary files /dev/null and b/models/Boss/boss2T_2.png differ diff --git a/models/Boss/boss2T_3.png b/models/Boss/boss2T_3.png new file mode 100644 index 0000000..969e951 Binary files /dev/null and b/models/Boss/boss2T_3.png differ diff --git a/models/Boss/boss2ice.png b/models/Boss/boss2ice.png new file mode 100644 index 0000000..4071af7 Binary files /dev/null and b/models/Boss/boss2ice.png differ diff --git a/models/Boss/boss3.png b/models/Boss/boss3.png new file mode 100644 index 0000000..fb308f6 Binary files /dev/null and b/models/Boss/boss3.png differ diff --git a/models/Boss/boss3T_0.png b/models/Boss/boss3T_0.png new file mode 100644 index 0000000..16d15f1 Binary files /dev/null and b/models/Boss/boss3T_0.png differ diff --git a/models/Boss/boss3T_1.png b/models/Boss/boss3T_1.png new file mode 100644 index 0000000..9bcc504 Binary files /dev/null and b/models/Boss/boss3T_1.png differ diff --git a/models/Boss/boss3T_2.png b/models/Boss/boss3T_2.png new file mode 100644 index 0000000..3c8f8cf Binary files /dev/null and b/models/Boss/boss3T_2.png differ diff --git a/models/Boss/boss3T_3.png b/models/Boss/boss3T_3.png new file mode 100644 index 0000000..1434378 Binary files /dev/null and b/models/Boss/boss3T_3.png differ diff --git a/models/Boss/boss3ice.png b/models/Boss/boss3ice.png new file mode 100644 index 0000000..1c93a07 Binary files /dev/null and b/models/Boss/boss3ice.png differ diff --git a/models/Boss/boss4.png b/models/Boss/boss4.png new file mode 100644 index 0000000..5377b6d Binary files /dev/null and b/models/Boss/boss4.png differ diff --git a/models/Boss/boss4T_0.png b/models/Boss/boss4T_0.png new file mode 100644 index 0000000..85329b9 Binary files /dev/null and b/models/Boss/boss4T_0.png differ diff --git a/models/Boss/boss4T_1.png b/models/Boss/boss4T_1.png new file mode 100644 index 0000000..1ab343e Binary files /dev/null and b/models/Boss/boss4T_1.png differ diff --git a/models/Boss/boss4T_2.png b/models/Boss/boss4T_2.png new file mode 100644 index 0000000..e585ba2 Binary files /dev/null and b/models/Boss/boss4T_2.png differ diff --git a/models/Boss/boss4T_3.png b/models/Boss/boss4T_3.png new file mode 100644 index 0000000..9f8bb61 Binary files /dev/null and b/models/Boss/boss4T_3.png differ diff --git a/models/Boss/boss4ice.png b/models/Boss/boss4ice.png new file mode 100644 index 0000000..46114f4 Binary files /dev/null and b/models/Boss/boss4ice.png differ diff --git a/models/Boss/boss5.png b/models/Boss/boss5.png new file mode 100644 index 0000000..4c70a55 Binary files /dev/null and b/models/Boss/boss5.png differ diff --git a/models/Commando/cmdo1.png b/models/Commando/cmdo1.png new file mode 100644 index 0000000..266a565 Binary files /dev/null and b/models/Commando/cmdo1.png differ diff --git a/models/Commando/cmdo1ice.png b/models/Commando/cmdo1ice.png new file mode 100644 index 0000000..950e52b Binary files /dev/null and b/models/Commando/cmdo1ice.png differ diff --git a/models/Commando/cmdo2.png b/models/Commando/cmdo2.png new file mode 100644 index 0000000..7ad80fd Binary files /dev/null and b/models/Commando/cmdo2.png differ diff --git a/models/Commando/cmdo2Blake.png b/models/Commando/cmdo2Blake.png new file mode 100644 index 0000000..48a2444 Binary files /dev/null and b/models/Commando/cmdo2Blake.png differ diff --git a/models/Commando/cmdo2Gorn.png b/models/Commando/cmdo2Gorn.png new file mode 100644 index 0000000..ddd9fc3 Binary files /dev/null and b/models/Commando/cmdo2Gorn.png differ diff --git a/models/Commando/cmdo2Nickolai.png b/models/Commando/cmdo2Nickolai.png new file mode 100644 index 0000000..5ab7a31 Binary files /dev/null and b/models/Commando/cmdo2Nickolai.png differ diff --git a/models/Commando/cmdo2Whitman.png b/models/Commando/cmdo2Whitman.png new file mode 100644 index 0000000..7ad80fd Binary files /dev/null and b/models/Commando/cmdo2Whitman.png differ diff --git a/models/Commando/cmdo2ice.png b/models/Commando/cmdo2ice.png new file mode 100644 index 0000000..003cabf Binary files /dev/null and b/models/Commando/cmdo2ice.png differ diff --git a/models/Commando/cmdo3.png b/models/Commando/cmdo3.png new file mode 100644 index 0000000..c93da45 Binary files /dev/null and b/models/Commando/cmdo3.png differ diff --git a/models/Commando/cmdo3ice.png b/models/Commando/cmdo3ice.png new file mode 100644 index 0000000..0b841e8 Binary files /dev/null and b/models/Commando/cmdo3ice.png differ diff --git a/models/Commando/cmdo3t_0.png b/models/Commando/cmdo3t_0.png new file mode 100644 index 0000000..048970f Binary files /dev/null and b/models/Commando/cmdo3t_0.png differ diff --git a/models/Commando/cmdo3t_1.png b/models/Commando/cmdo3t_1.png new file mode 100644 index 0000000..8fe913e Binary files /dev/null and b/models/Commando/cmdo3t_1.png differ diff --git a/models/Commando/cmdo3t_2.png b/models/Commando/cmdo3t_2.png new file mode 100644 index 0000000..ba777d4 Binary files /dev/null and b/models/Commando/cmdo3t_2.png differ diff --git a/models/Commando/cmdo3t_3.png b/models/Commando/cmdo3t_3.png new file mode 100644 index 0000000..d0e8e5f Binary files /dev/null and b/models/Commando/cmdo3t_3.png differ diff --git a/models/Commando/cmdo4.png b/models/Commando/cmdo4.png new file mode 100644 index 0000000..8ebb4f0 Binary files /dev/null and b/models/Commando/cmdo4.png differ diff --git a/models/Commando/cmdo4ice.png b/models/Commando/cmdo4ice.png new file mode 100644 index 0000000..392c2ab Binary files /dev/null and b/models/Commando/cmdo4ice.png differ diff --git a/models/Commando/cmdo4t_0.png b/models/Commando/cmdo4t_0.png new file mode 100644 index 0000000..5219100 Binary files /dev/null and b/models/Commando/cmdo4t_0.png differ diff --git a/models/Commando/cmdo4t_1.png b/models/Commando/cmdo4t_1.png new file mode 100644 index 0000000..004ddd3 Binary files /dev/null and b/models/Commando/cmdo4t_1.png differ diff --git a/models/Commando/cmdo4t_2.png b/models/Commando/cmdo4t_2.png new file mode 100644 index 0000000..31a83a8 Binary files /dev/null and b/models/Commando/cmdo4t_2.png differ diff --git a/models/Commando/cmdo4t_3.png b/models/Commando/cmdo4t_3.png new file mode 100644 index 0000000..0c62be5 Binary files /dev/null and b/models/Commando/cmdo4t_3.png differ diff --git a/models/Commando/cmdo5Blake.png b/models/Commando/cmdo5Blake.png new file mode 100644 index 0000000..1f0feea Binary files /dev/null and b/models/Commando/cmdo5Blake.png differ diff --git a/models/Commando/cmdo5Gorn.png b/models/Commando/cmdo5Gorn.png new file mode 100644 index 0000000..d5c683b Binary files /dev/null and b/models/Commando/cmdo5Gorn.png differ diff --git a/models/Commando/cmdo5Nickolai.png b/models/Commando/cmdo5Nickolai.png new file mode 100644 index 0000000..b54dfa4 Binary files /dev/null and b/models/Commando/cmdo5Nickolai.png differ diff --git a/models/Commando/cmdo5Whitman.png b/models/Commando/cmdo5Whitman.png new file mode 100644 index 0000000..b3b0f13 Binary files /dev/null and b/models/Commando/cmdo5Whitman.png differ diff --git a/models/Commando/daco1.png b/models/Commando/daco1.png new file mode 100644 index 0000000..ea0170e Binary files /dev/null and b/models/Commando/daco1.png differ diff --git a/models/Commando/daco2.png b/models/Commando/daco2.png new file mode 100644 index 0000000..c070736 Binary files /dev/null and b/models/Commando/daco2.png differ diff --git a/models/Commando/daco2Boris.png b/models/Commando/daco2Boris.png new file mode 100644 index 0000000..f19390b Binary files /dev/null and b/models/Commando/daco2Boris.png differ diff --git a/models/Commando/daco2Graves.png b/models/Commando/daco2Graves.png new file mode 100644 index 0000000..c07ac48 Binary files /dev/null and b/models/Commando/daco2Graves.png differ diff --git a/models/Commando/daco2Luthor.png b/models/Commando/daco2Luthor.png new file mode 100644 index 0000000..6987c86 Binary files /dev/null and b/models/Commando/daco2Luthor.png differ diff --git a/models/Commando/daco2Ramirez.png b/models/Commando/daco2Ramirez.png new file mode 100644 index 0000000..9e2dfab Binary files /dev/null and b/models/Commando/daco2Ramirez.png differ diff --git a/models/Commando/daco3.png b/models/Commando/daco3.png new file mode 100644 index 0000000..77cf448 Binary files /dev/null and b/models/Commando/daco3.png differ diff --git a/models/Commando/daco3t_0.png b/models/Commando/daco3t_0.png new file mode 100644 index 0000000..1ac4012 Binary files /dev/null and b/models/Commando/daco3t_0.png differ diff --git a/models/Commando/daco3t_1.png b/models/Commando/daco3t_1.png new file mode 100644 index 0000000..0fc3e76 Binary files /dev/null and b/models/Commando/daco3t_1.png differ diff --git a/models/Commando/daco3t_2.png b/models/Commando/daco3t_2.png new file mode 100644 index 0000000..1225e00 Binary files /dev/null and b/models/Commando/daco3t_2.png differ diff --git a/models/Commando/daco3t_3.png b/models/Commando/daco3t_3.png new file mode 100644 index 0000000..ebd3571 Binary files /dev/null and b/models/Commando/daco3t_3.png differ diff --git a/models/Commando/daco4.png b/models/Commando/daco4.png new file mode 100644 index 0000000..c8d5950 Binary files /dev/null and b/models/Commando/daco4.png differ diff --git a/models/Commando/daco4t_0.png b/models/Commando/daco4t_0.png new file mode 100644 index 0000000..2969545 Binary files /dev/null and b/models/Commando/daco4t_0.png differ diff --git a/models/Commando/daco4t_1.png b/models/Commando/daco4t_1.png new file mode 100644 index 0000000..668760e Binary files /dev/null and b/models/Commando/daco4t_1.png differ diff --git a/models/Commando/daco4t_2.png b/models/Commando/daco4t_2.png new file mode 100644 index 0000000..5ec9685 Binary files /dev/null and b/models/Commando/daco4t_2.png differ diff --git a/models/Commando/daco4t_3.png b/models/Commando/daco4t_3.png new file mode 100644 index 0000000..48e36a5 Binary files /dev/null and b/models/Commando/daco4t_3.png differ diff --git a/models/Commando/daco5Boris.png b/models/Commando/daco5Boris.png new file mode 100644 index 0000000..79995f3 Binary files /dev/null and b/models/Commando/daco5Boris.png differ diff --git a/models/Commando/daco5Graves.png b/models/Commando/daco5Graves.png new file mode 100644 index 0000000..41c0b43 Binary files /dev/null and b/models/Commando/daco5Graves.png differ diff --git a/models/Commando/daco5Luthor.png b/models/Commando/daco5Luthor.png new file mode 100644 index 0000000..b2a23c8 Binary files /dev/null and b/models/Commando/daco5Luthor.png differ diff --git a/models/Commando/daco5Ramirez.png b/models/Commando/daco5Ramirez.png new file mode 100644 index 0000000..6dcf924 Binary files /dev/null and b/models/Commando/daco5Ramirez.png differ diff --git a/models/Commando/goth1.png b/models/Commando/goth1.png new file mode 100644 index 0000000..7ebc6c8 Binary files /dev/null and b/models/Commando/goth1.png differ diff --git a/models/Commando/goth2.png b/models/Commando/goth2.png new file mode 100644 index 0000000..1154f94 Binary files /dev/null and b/models/Commando/goth2.png differ diff --git a/models/Commando/goth2Grail.png b/models/Commando/goth2Grail.png new file mode 100644 index 0000000..846e4f2 Binary files /dev/null and b/models/Commando/goth2Grail.png differ diff --git a/models/Commando/goth2Kragoth.png b/models/Commando/goth2Kragoth.png new file mode 100644 index 0000000..1154f94 Binary files /dev/null and b/models/Commando/goth2Kragoth.png differ diff --git a/models/Commando/goth2Malakai.png b/models/Commando/goth2Malakai.png new file mode 100644 index 0000000..1bcb37a Binary files /dev/null and b/models/Commando/goth2Malakai.png differ diff --git a/models/Commando/goth2Necrotic.png b/models/Commando/goth2Necrotic.png new file mode 100644 index 0000000..917adc8 Binary files /dev/null and b/models/Commando/goth2Necrotic.png differ diff --git a/models/Commando/goth3.png b/models/Commando/goth3.png new file mode 100644 index 0000000..213e15c Binary files /dev/null and b/models/Commando/goth3.png differ diff --git a/models/Commando/goth3t_0.png b/models/Commando/goth3t_0.png new file mode 100644 index 0000000..3a14597 Binary files /dev/null and b/models/Commando/goth3t_0.png differ diff --git a/models/Commando/goth3t_1.png b/models/Commando/goth3t_1.png new file mode 100644 index 0000000..3c9ef7f Binary files /dev/null and b/models/Commando/goth3t_1.png differ diff --git a/models/Commando/goth3t_2.png b/models/Commando/goth3t_2.png new file mode 100644 index 0000000..1a20538 Binary files /dev/null and b/models/Commando/goth3t_2.png differ diff --git a/models/Commando/goth3t_3.png b/models/Commando/goth3t_3.png new file mode 100644 index 0000000..0269dbe Binary files /dev/null and b/models/Commando/goth3t_3.png differ diff --git a/models/Commando/goth4.png b/models/Commando/goth4.png new file mode 100644 index 0000000..c32413a Binary files /dev/null and b/models/Commando/goth4.png differ diff --git a/models/Commando/goth4t_0.png b/models/Commando/goth4t_0.png new file mode 100644 index 0000000..1af0a70 Binary files /dev/null and b/models/Commando/goth4t_0.png differ diff --git a/models/Commando/goth4t_1.png b/models/Commando/goth4t_1.png new file mode 100644 index 0000000..4924662 Binary files /dev/null and b/models/Commando/goth4t_1.png differ diff --git a/models/Commando/goth4t_2.png b/models/Commando/goth4t_2.png new file mode 100644 index 0000000..247f84d Binary files /dev/null and b/models/Commando/goth4t_2.png differ diff --git a/models/Commando/goth4t_3.png b/models/Commando/goth4t_3.png new file mode 100644 index 0000000..1b0396c Binary files /dev/null and b/models/Commando/goth4t_3.png differ diff --git a/models/Commando/goth5Grail.png b/models/Commando/goth5Grail.png new file mode 100644 index 0000000..e89570d Binary files /dev/null and b/models/Commando/goth5Grail.png differ diff --git a/models/Commando/goth5Kragoth.png b/models/Commando/goth5Kragoth.png new file mode 100644 index 0000000..cec85ee Binary files /dev/null and b/models/Commando/goth5Kragoth.png differ diff --git a/models/Commando/goth5Malakai.png b/models/Commando/goth5Malakai.png new file mode 100644 index 0000000..aca7645 Binary files /dev/null and b/models/Commando/goth5Malakai.png differ diff --git a/models/Commando/goth5Necrotic.png b/models/Commando/goth5Necrotic.png new file mode 100644 index 0000000..3d33229 Binary files /dev/null and b/models/Commando/goth5Necrotic.png differ diff --git a/models/EMuz1.png b/models/EMuz1.png index 806d701..c7ae310 100644 Binary files a/models/EMuz1.png and b/models/EMuz1.png differ diff --git a/models/Eightm_d.3d b/models/Eightm_d.3d index aa752c6..adb33ab 100644 Binary files a/models/Eightm_d.3d and b/models/Eightm_d.3d differ diff --git a/models/FCommando/aphe1.png b/models/FCommando/aphe1.png new file mode 100644 index 0000000..05e90e2 Binary files /dev/null and b/models/FCommando/aphe1.png differ diff --git a/models/FCommando/aphe1T_0.png b/models/FCommando/aphe1T_0.png new file mode 100644 index 0000000..de035f2 Binary files /dev/null and b/models/FCommando/aphe1T_0.png differ diff --git a/models/FCommando/aphe1T_1.png b/models/FCommando/aphe1T_1.png new file mode 100644 index 0000000..a50138e Binary files /dev/null and b/models/FCommando/aphe1T_1.png differ diff --git a/models/FCommando/aphe1T_2.png b/models/FCommando/aphe1T_2.png new file mode 100644 index 0000000..e968c9a Binary files /dev/null and b/models/FCommando/aphe1T_2.png differ diff --git a/models/FCommando/aphe1T_3.png b/models/FCommando/aphe1T_3.png new file mode 100644 index 0000000..fa712cc Binary files /dev/null and b/models/FCommando/aphe1T_3.png differ diff --git a/models/FCommando/aphe2.png b/models/FCommando/aphe2.png new file mode 100644 index 0000000..8fd3349 Binary files /dev/null and b/models/FCommando/aphe2.png differ diff --git a/models/FCommando/aphe2T_0.png b/models/FCommando/aphe2T_0.png new file mode 100644 index 0000000..4469d65 Binary files /dev/null and b/models/FCommando/aphe2T_0.png differ diff --git a/models/FCommando/aphe2T_1.png b/models/FCommando/aphe2T_1.png new file mode 100644 index 0000000..eadd051 Binary files /dev/null and b/models/FCommando/aphe2T_1.png differ diff --git a/models/FCommando/aphe2T_2.png b/models/FCommando/aphe2T_2.png new file mode 100644 index 0000000..ab96314 Binary files /dev/null and b/models/FCommando/aphe2T_2.png differ diff --git a/models/FCommando/aphe2T_3.png b/models/FCommando/aphe2T_3.png new file mode 100644 index 0000000..aa64a06 Binary files /dev/null and b/models/FCommando/aphe2T_3.png differ diff --git a/models/FCommando/aphe4Indina.png b/models/FCommando/aphe4Indina.png new file mode 100644 index 0000000..69dcb7f Binary files /dev/null and b/models/FCommando/aphe4Indina.png differ diff --git a/models/FCommando/aphe4Portia.png b/models/FCommando/aphe4Portia.png new file mode 100644 index 0000000..c4d9b73 Binary files /dev/null and b/models/FCommando/aphe4Portia.png differ diff --git a/models/FCommando/aphe5Indina.png b/models/FCommando/aphe5Indina.png new file mode 100644 index 0000000..7a3aa28 Binary files /dev/null and b/models/FCommando/aphe5Indina.png differ diff --git a/models/FCommando/aphe5Portia.png b/models/FCommando/aphe5Portia.png new file mode 100644 index 0000000..18d04e3 Binary files /dev/null and b/models/FCommando/aphe5Portia.png differ diff --git a/models/FCommando/cmdo1.png b/models/FCommando/cmdo1.png new file mode 100644 index 0000000..e7fb47b Binary files /dev/null and b/models/FCommando/cmdo1.png differ diff --git a/models/FCommando/cmdo1T_0.png b/models/FCommando/cmdo1T_0.png new file mode 100644 index 0000000..6ecf0c6 Binary files /dev/null and b/models/FCommando/cmdo1T_0.png differ diff --git a/models/FCommando/cmdo1T_1.png b/models/FCommando/cmdo1T_1.png new file mode 100644 index 0000000..6e8ba1d Binary files /dev/null and b/models/FCommando/cmdo1T_1.png differ diff --git a/models/FCommando/cmdo1T_2.png b/models/FCommando/cmdo1T_2.png new file mode 100644 index 0000000..1fea63f Binary files /dev/null and b/models/FCommando/cmdo1T_2.png differ diff --git a/models/FCommando/cmdo1T_3.png b/models/FCommando/cmdo1T_3.png new file mode 100644 index 0000000..52d3d0a Binary files /dev/null and b/models/FCommando/cmdo1T_3.png differ diff --git a/models/FCommando/cmdo1ice.png b/models/FCommando/cmdo1ice.png new file mode 100644 index 0000000..e83c35c Binary files /dev/null and b/models/FCommando/cmdo1ice.png differ diff --git a/models/FCommando/cmdo2.png b/models/FCommando/cmdo2.png new file mode 100644 index 0000000..24aaeb6 Binary files /dev/null and b/models/FCommando/cmdo2.png differ diff --git a/models/FCommando/cmdo2T_0.png b/models/FCommando/cmdo2T_0.png new file mode 100644 index 0000000..b8fd403 Binary files /dev/null and b/models/FCommando/cmdo2T_0.png differ diff --git a/models/FCommando/cmdo2T_1.png b/models/FCommando/cmdo2T_1.png new file mode 100644 index 0000000..4d91c9f Binary files /dev/null and b/models/FCommando/cmdo2T_1.png differ diff --git a/models/FCommando/cmdo2T_2.png b/models/FCommando/cmdo2T_2.png new file mode 100644 index 0000000..454c6f6 Binary files /dev/null and b/models/FCommando/cmdo2T_2.png differ diff --git a/models/FCommando/cmdo2T_3.png b/models/FCommando/cmdo2T_3.png new file mode 100644 index 0000000..7551f51 Binary files /dev/null and b/models/FCommando/cmdo2T_3.png differ diff --git a/models/FCommando/cmdo2ice.png b/models/FCommando/cmdo2ice.png new file mode 100644 index 0000000..584189b Binary files /dev/null and b/models/FCommando/cmdo2ice.png differ diff --git a/models/FCommando/cmdo4.png b/models/FCommando/cmdo4.png new file mode 100644 index 0000000..427479a Binary files /dev/null and b/models/FCommando/cmdo4.png differ diff --git a/models/FCommando/cmdo4Anna.png b/models/FCommando/cmdo4Anna.png new file mode 100644 index 0000000..e7643ad Binary files /dev/null and b/models/FCommando/cmdo4Anna.png differ diff --git a/models/FCommando/cmdo4Gromida.png b/models/FCommando/cmdo4Gromida.png new file mode 100644 index 0000000..58a8f86 Binary files /dev/null and b/models/FCommando/cmdo4Gromida.png differ diff --git a/models/FCommando/cmdo4Ivana.png b/models/FCommando/cmdo4Ivana.png new file mode 100644 index 0000000..c95611b Binary files /dev/null and b/models/FCommando/cmdo4Ivana.png differ diff --git a/models/FCommando/cmdo4Nikita.png b/models/FCommando/cmdo4Nikita.png new file mode 100644 index 0000000..427479a Binary files /dev/null and b/models/FCommando/cmdo4Nikita.png differ diff --git a/models/FCommando/cmdo4ice.png b/models/FCommando/cmdo4ice.png new file mode 100644 index 0000000..36374ab Binary files /dev/null and b/models/FCommando/cmdo4ice.png differ diff --git a/models/FCommando/cmdo5Anna.png b/models/FCommando/cmdo5Anna.png new file mode 100644 index 0000000..880a548 Binary files /dev/null and b/models/FCommando/cmdo5Anna.png differ diff --git a/models/FCommando/cmdo5Ivana.png b/models/FCommando/cmdo5Ivana.png new file mode 100644 index 0000000..8e87c68 Binary files /dev/null and b/models/FCommando/cmdo5Ivana.png differ diff --git a/models/FCommando/cmdo5Nikita.png b/models/FCommando/cmdo5Nikita.png new file mode 100644 index 0000000..fe2cc7e Binary files /dev/null and b/models/FCommando/cmdo5Nikita.png differ diff --git a/models/FCommando/cmdo5gromida.png b/models/FCommando/cmdo5gromida.png new file mode 100644 index 0000000..71715fa Binary files /dev/null and b/models/FCommando/cmdo5gromida.png differ diff --git a/models/FCommando/daco1.png b/models/FCommando/daco1.png new file mode 100644 index 0000000..0475280 Binary files /dev/null and b/models/FCommando/daco1.png differ diff --git a/models/FCommando/daco1T_0.png b/models/FCommando/daco1T_0.png new file mode 100644 index 0000000..cd9e6fa Binary files /dev/null and b/models/FCommando/daco1T_0.png differ diff --git a/models/FCommando/daco1T_1.png b/models/FCommando/daco1T_1.png new file mode 100644 index 0000000..ea57758 Binary files /dev/null and b/models/FCommando/daco1T_1.png differ diff --git a/models/FCommando/daco1T_2.png b/models/FCommando/daco1T_2.png new file mode 100644 index 0000000..dc94fba Binary files /dev/null and b/models/FCommando/daco1T_2.png differ diff --git a/models/FCommando/daco1T_3.png b/models/FCommando/daco1T_3.png new file mode 100644 index 0000000..5bc8d0e Binary files /dev/null and b/models/FCommando/daco1T_3.png differ diff --git a/models/FCommando/daco2.png b/models/FCommando/daco2.png new file mode 100644 index 0000000..cb6e739 Binary files /dev/null and b/models/FCommando/daco2.png differ diff --git a/models/FCommando/daco2T_0.png b/models/FCommando/daco2T_0.png new file mode 100644 index 0000000..8593a36 Binary files /dev/null and b/models/FCommando/daco2T_0.png differ diff --git a/models/FCommando/daco2T_1.png b/models/FCommando/daco2T_1.png new file mode 100644 index 0000000..1ccd320 Binary files /dev/null and b/models/FCommando/daco2T_1.png differ diff --git a/models/FCommando/daco2T_2.png b/models/FCommando/daco2T_2.png new file mode 100644 index 0000000..547df87 Binary files /dev/null and b/models/FCommando/daco2T_2.png differ diff --git a/models/FCommando/daco2T_3.png b/models/FCommando/daco2T_3.png new file mode 100644 index 0000000..772b36c Binary files /dev/null and b/models/FCommando/daco2T_3.png differ diff --git a/models/FCommando/daco4.png b/models/FCommando/daco4.png new file mode 100644 index 0000000..552146c Binary files /dev/null and b/models/FCommando/daco4.png differ diff --git a/models/FCommando/daco4Jayce.png b/models/FCommando/daco4Jayce.png new file mode 100644 index 0000000..aecb890 Binary files /dev/null and b/models/FCommando/daco4Jayce.png differ diff --git a/models/FCommando/daco4Kyla.png b/models/FCommando/daco4Kyla.png new file mode 100644 index 0000000..ce3beae Binary files /dev/null and b/models/FCommando/daco4Kyla.png differ diff --git a/models/FCommando/daco4Mariana.png b/models/FCommando/daco4Mariana.png new file mode 100644 index 0000000..552146c Binary files /dev/null and b/models/FCommando/daco4Mariana.png differ diff --git a/models/FCommando/daco4Tanya.png b/models/FCommando/daco4Tanya.png new file mode 100644 index 0000000..d08b4b3 Binary files /dev/null and b/models/FCommando/daco4Tanya.png differ diff --git a/models/FCommando/daco5Jayce.png b/models/FCommando/daco5Jayce.png new file mode 100644 index 0000000..3393b69 Binary files /dev/null and b/models/FCommando/daco5Jayce.png differ diff --git a/models/FCommando/daco5Kyla.png b/models/FCommando/daco5Kyla.png new file mode 100644 index 0000000..769d1f4 Binary files /dev/null and b/models/FCommando/daco5Kyla.png differ diff --git a/models/FCommando/daco5Mariana.png b/models/FCommando/daco5Mariana.png new file mode 100644 index 0000000..1f5dbd3 Binary files /dev/null and b/models/FCommando/daco5Mariana.png differ diff --git a/models/FCommando/daco5Tanya.png b/models/FCommando/daco5Tanya.png new file mode 100644 index 0000000..8699f2f Binary files /dev/null and b/models/FCommando/daco5Tanya.png differ diff --git a/models/FCommando/goth1.png b/models/FCommando/goth1.png new file mode 100644 index 0000000..51ba9d8 Binary files /dev/null and b/models/FCommando/goth1.png differ diff --git a/models/FCommando/goth1T_0.png b/models/FCommando/goth1T_0.png new file mode 100644 index 0000000..a73e008 Binary files /dev/null and b/models/FCommando/goth1T_0.png differ diff --git a/models/FCommando/goth1T_1.png b/models/FCommando/goth1T_1.png new file mode 100644 index 0000000..e827839 Binary files /dev/null and b/models/FCommando/goth1T_1.png differ diff --git a/models/FCommando/goth1T_2.png b/models/FCommando/goth1T_2.png new file mode 100644 index 0000000..557f730 Binary files /dev/null and b/models/FCommando/goth1T_2.png differ diff --git a/models/FCommando/goth1T_3.png b/models/FCommando/goth1T_3.png new file mode 100644 index 0000000..2757b64 Binary files /dev/null and b/models/FCommando/goth1T_3.png differ diff --git a/models/FCommando/goth2.png b/models/FCommando/goth2.png new file mode 100644 index 0000000..92df4c8 Binary files /dev/null and b/models/FCommando/goth2.png differ diff --git a/models/FCommando/goth2T_0.png b/models/FCommando/goth2T_0.png new file mode 100644 index 0000000..bd4abf1 Binary files /dev/null and b/models/FCommando/goth2T_0.png differ diff --git a/models/FCommando/goth2T_1.png b/models/FCommando/goth2T_1.png new file mode 100644 index 0000000..9284f2d Binary files /dev/null and b/models/FCommando/goth2T_1.png differ diff --git a/models/FCommando/goth2T_2.png b/models/FCommando/goth2T_2.png new file mode 100644 index 0000000..07aa5e8 Binary files /dev/null and b/models/FCommando/goth2T_2.png differ diff --git a/models/FCommando/goth2T_3.png b/models/FCommando/goth2T_3.png new file mode 100644 index 0000000..2dba6bc Binary files /dev/null and b/models/FCommando/goth2T_3.png differ diff --git a/models/FCommando/goth4.png b/models/FCommando/goth4.png new file mode 100644 index 0000000..39d2ecb Binary files /dev/null and b/models/FCommando/goth4.png differ diff --git a/models/FCommando/goth4Cryss.png b/models/FCommando/goth4Cryss.png new file mode 100644 index 0000000..82f2cbf Binary files /dev/null and b/models/FCommando/goth4Cryss.png differ diff --git a/models/FCommando/goth4Freylis.png b/models/FCommando/goth4Freylis.png new file mode 100644 index 0000000..7178507 Binary files /dev/null and b/models/FCommando/goth4Freylis.png differ diff --git a/models/FCommando/goth4Malise.png b/models/FCommando/goth4Malise.png new file mode 100644 index 0000000..ae708aa Binary files /dev/null and b/models/FCommando/goth4Malise.png differ diff --git a/models/FCommando/goth4Visse.png b/models/FCommando/goth4Visse.png new file mode 100644 index 0000000..8476954 Binary files /dev/null and b/models/FCommando/goth4Visse.png differ diff --git a/models/FCommando/goth5Cryss.png b/models/FCommando/goth5Cryss.png new file mode 100644 index 0000000..ec7b2ca Binary files /dev/null and b/models/FCommando/goth5Cryss.png differ diff --git a/models/FCommando/goth5Freylis.png b/models/FCommando/goth5Freylis.png new file mode 100644 index 0000000..8f391c6 Binary files /dev/null and b/models/FCommando/goth5Freylis.png differ diff --git a/models/FCommando/goth5Malise.png b/models/FCommando/goth5Malise.png new file mode 100644 index 0000000..f2ae8a9 Binary files /dev/null and b/models/FCommando/goth5Malise.png differ diff --git a/models/FCommando/goth5maime.png b/models/FCommando/goth5maime.png new file mode 100644 index 0000000..5644bbb Binary files /dev/null and b/models/FCommando/goth5maime.png differ diff --git a/models/FCommando/goth5visse.png b/models/FCommando/goth5visse.png new file mode 100644 index 0000000..bd465be Binary files /dev/null and b/models/FCommando/goth5visse.png differ diff --git a/models/FlakAmmoLED.png b/models/FlakAmmoLED.png new file mode 100644 index 0000000..a59fb1e Binary files /dev/null and b/models/FlakAmmoLED.png differ diff --git a/models/Flak_t2.png b/models/Flak_t2.png index c226e96..bbe14bd 100644 Binary files a/models/Flak_t2.png and b/models/Flak_t2.png differ diff --git a/models/Flak_t4.png b/models/Flak_t4.png index f30e0e3..78922ee 100644 Binary files a/models/Flak_t4.png and b/models/Flak_t4.png differ diff --git a/models/Flakmuz.png b/models/Flakmuz.png index d152efe..7b4becb 100644 Binary files a/models/Flakmuz.png and b/models/Flakmuz.png differ diff --git a/models/GOLD.png b/models/GOLD.png index 8bde7e6..37ce2c0 100644 Binary files a/models/GOLD.png and b/models/GOLD.png differ diff --git a/models/GunPick1ice.png b/models/GunPick1ice.png index 78c1b72..030b9d4 100644 Binary files a/models/GunPick1ice.png and b/models/GunPick1ice.png differ diff --git a/models/JAllMap1_a00.png b/models/JAllMap1_a00.png index c96c445..12e3cc0 100644 Binary files a/models/JAllMap1_a00.png and b/models/JAllMap1_a00.png differ diff --git a/models/JAllMap1_a01.png b/models/JAllMap1_a01.png index 251643e..556493a 100644 Binary files a/models/JAllMap1_a01.png and b/models/JAllMap1_a01.png differ diff --git a/models/JAllMap1_a02.png b/models/JAllMap1_a02.png index acfd19e..82cc497 100644 Binary files a/models/JAllMap1_a02.png and b/models/JAllMap1_a02.png differ diff --git a/models/JAllMap1_a03.png b/models/JAllMap1_a03.png index 8276767..33fa503 100644 Binary files a/models/JAllMap1_a03.png and b/models/JAllMap1_a03.png differ diff --git a/models/JAllMap2.png b/models/JAllMap2.png index fb1c329..8eb2b57 100644 Binary files a/models/JAllMap2.png and b/models/JAllMap2.png differ diff --git a/models/JAllMap3.png b/models/JAllMap3.png index dc4674b..729df51 100644 Binary files a/models/JAllMap3.png and b/models/JAllMap3.png differ diff --git a/models/JAmmoBox1.png b/models/JAmmoBox1.png index 31c4552..5d1e50f 100644 Binary files a/models/JAmmoBox1.png and b/models/JAmmoBox1.png differ diff --git a/models/JBRifle24.png b/models/JBRifle24.png index 25d1f43..85035f6 100644 Binary files a/models/JBRifle24.png and b/models/JBRifle24.png differ diff --git a/models/JGCow1.png b/models/JGCow1.png index babf426..7d53b9f 100644 Binary files a/models/JGCow1.png and b/models/JGCow1.png differ diff --git a/models/JImpactHammer1.png b/models/JImpactHammer1.png index c4dbd4c..66b65a3 100644 Binary files a/models/JImpactHammer1.png and b/models/JImpactHammer1.png differ diff --git a/models/JImpactHammer2.png b/models/JImpactHammer2.png index 9e3e410..ec88a8e 100644 Binary files a/models/JImpactHammer2.png and b/models/JImpactHammer2.png differ diff --git a/models/JRelicSkull_01.png b/models/JRelicSkull_01.png index 60a925d..4e19354 100644 Binary files a/models/JRelicSkull_01.png and b/models/JRelicSkull_01.png differ diff --git a/models/JRelicSkull_01b.png b/models/JRelicSkull_01b.png index 52182ba..3fde51e 100644 Binary files a/models/JRelicSkull_01b.png and b/models/JRelicSkull_01b.png differ diff --git a/models/JRelicSkull_01g.png b/models/JRelicSkull_01g.png index 60a925d..4e19354 100644 Binary files a/models/JRelicSkull_01g.png and b/models/JRelicSkull_01g.png differ diff --git a/models/JRelicSkull_01r.png b/models/JRelicSkull_01r.png index e608a56..5a94b80 100644 Binary files a/models/JRelicSkull_01r.png and b/models/JRelicSkull_01r.png differ diff --git a/models/JRifle2.png b/models/JRifle2.png index 5ffedd7..7606b34 100644 Binary files a/models/JRifle2.png and b/models/JRifle2.png differ diff --git a/models/JVial0.png b/models/JVial0.png index 97468ca..d0ca28c 100644 Binary files a/models/JVial0.png and b/models/JVial0.png differ diff --git a/models/Jchainsaw2.png b/models/Jchainsaw2.png index 59d505f..27a3194 100644 Binary files a/models/Jchainsaw2.png and b/models/Jchainsaw2.png differ diff --git a/models/Jchainsaw4.png b/models/Jchainsaw4.png index e59d8df..5e52aca 100644 Binary files a/models/Jchainsaw4.png and b/models/Jchainsaw4.png differ diff --git a/models/Jflakslugel1.png b/models/Jflakslugel1.png index 1b8948c..4b5e87b 100644 Binary files a/models/Jflakslugel1.png and b/models/Jflakslugel1.png differ diff --git a/models/Jflakslugel1_.png b/models/Jflakslugel1_.png index 1b8948c..4b5e87b 100644 Binary files a/models/Jflakslugel1_.png and b/models/Jflakslugel1_.png differ diff --git a/models/Jmisc1.png b/models/Jmisc1.png index fc70e9a..0f3e941 100644 Binary files a/models/Jmisc1.png and b/models/Jmisc1.png differ diff --git a/models/Jtutot1.png b/models/Jtutot1.png index 41ebdd7..22604d3 100644 Binary files a/models/Jtutot1.png and b/models/Jtutot1.png differ diff --git a/models/Jtutot2.png b/models/Jtutot2.png index 35ddb0d..0e275c4 100644 Binary files a/models/Jtutot2.png and b/models/Jtutot2.png differ diff --git a/models/Jtutot3.png b/models/Jtutot3.png index 3be6b68..4462990 100644 Binary files a/models/Jtutot3.png and b/models/Jtutot3.png differ diff --git a/models/Jtutot4.png b/models/Jtutot4.png index 512b48d..15f5231 100644 Binary files a/models/Jtutot4.png and b/models/Jtutot4.png differ diff --git a/models/Jwarhead1.png b/models/Jwarhead1.png index b18d5b0..c883a81 100644 Binary files a/models/Jwarhead1.png and b/models/Jwarhead1.png differ diff --git a/models/Jwarhead3.png b/models/Jwarhead3.png index 1e901a1..a5caf77 100644 Binary files a/models/Jwarhead3.png and b/models/Jwarhead3.png differ diff --git a/models/LEDFont.png b/models/LEDFont.png new file mode 100644 index 0000000..4ba3600 Binary files /dev/null and b/models/LEDFont.png differ diff --git a/models/LEDFont2.png b/models/LEDFont2.png new file mode 100644 index 0000000..2453278 Binary files /dev/null and b/models/LEDFont2.png differ diff --git a/models/Mini_t.png b/models/Mini_t.png index 07de179..b35e694 100644 Binary files a/models/Mini_t.png and b/models/Mini_t.png differ diff --git a/models/Mini_t1.png b/models/Mini_t1.png index b2629df..8352f22 100644 Binary files a/models/Mini_t1.png and b/models/Mini_t1.png differ diff --git a/models/Mini_t4.png b/models/Mini_t4.png index 60edbd6..acaf151 100644 Binary files a/models/Mini_t4.png and b/models/Mini_t4.png differ diff --git a/models/Minigun2m_d.3d b/models/Minigun2m_d.3d index bb3cf38..e10abb1 100644 Binary files a/models/Minigun2m_d.3d and b/models/Minigun2m_d.3d differ diff --git a/models/Muz1.png b/models/Muz1.png index 806d701..c7ae310 100644 Binary files a/models/Muz1.png and b/models/Muz1.png differ diff --git a/models/Muz2.png b/models/Muz2.png index 72d38ff..28434d2 100644 Binary files a/models/Muz2.png and b/models/Muz2.png differ diff --git a/models/Muz3.png b/models/Muz3.png index 26f8c9f..56bf0d9 100644 Binary files a/models/Muz3.png and b/models/Muz3.png differ diff --git a/models/Muz5.png b/models/Muz5.png index 0f85bb1..65c7483 100644 Binary files a/models/Muz5.png and b/models/Muz5.png differ diff --git a/models/Muz6.png b/models/Muz6.png index 6975244..8b144b5 100644 Binary files a/models/Muz6.png and b/models/Muz6.png differ diff --git a/models/Muz7.png b/models/Muz7.png index a266727..61d0467 100644 Binary files a/models/Muz7.png and b/models/Muz7.png differ diff --git a/models/Muz8.png b/models/Muz8.png index 3fb368c..9b66427 100644 Binary files a/models/Muz8.png and b/models/Muz8.png differ diff --git a/models/MuzzleFlash2.png b/models/MuzzleFlash2.png index 31fa7cc..8403a5e 100644 Binary files a/models/MuzzleFlash2.png and b/models/MuzzleFlash2.png differ diff --git a/models/PulseGunR_d.3d b/models/PulseGunR_d.3d index 7ac7d27..abfb511 100644 Binary files a/models/PulseGunR_d.3d and b/models/PulseGunR_d.3d differ diff --git a/models/RazTrail.png b/models/RazTrail.png index a97c691..776c5fa 100644 Binary files a/models/RazTrail.png and b/models/RazTrail.png differ diff --git a/models/Rifle2c.png b/models/Rifle2c.png index 274ef0d..7b29b37 100644 Binary files a/models/Rifle2c.png and b/models/Rifle2c.png differ diff --git a/models/SGirl/Army1.png b/models/SGirl/Army1.png new file mode 100644 index 0000000..f9eaa45 Binary files /dev/null and b/models/SGirl/Army1.png differ diff --git a/models/SGirl/Army1T_0.png b/models/SGirl/Army1T_0.png new file mode 100644 index 0000000..b4c0d19 Binary files /dev/null and b/models/SGirl/Army1T_0.png differ diff --git a/models/SGirl/Army1T_1.png b/models/SGirl/Army1T_1.png new file mode 100644 index 0000000..069b909 Binary files /dev/null and b/models/SGirl/Army1T_1.png differ diff --git a/models/SGirl/Army1T_2.png b/models/SGirl/Army1T_2.png new file mode 100644 index 0000000..117b692 Binary files /dev/null and b/models/SGirl/Army1T_2.png differ diff --git a/models/SGirl/Army1T_3.png b/models/SGirl/Army1T_3.png new file mode 100644 index 0000000..f67a02f Binary files /dev/null and b/models/SGirl/Army1T_3.png differ diff --git a/models/SGirl/Army2.png b/models/SGirl/Army2.png new file mode 100644 index 0000000..9f93eb2 Binary files /dev/null and b/models/SGirl/Army2.png differ diff --git a/models/SGirl/Army2T_0.png b/models/SGirl/Army2T_0.png new file mode 100644 index 0000000..38a4947 Binary files /dev/null and b/models/SGirl/Army2T_0.png differ diff --git a/models/SGirl/Army2T_1.png b/models/SGirl/Army2T_1.png new file mode 100644 index 0000000..fc4e4ce Binary files /dev/null and b/models/SGirl/Army2T_1.png differ diff --git a/models/SGirl/Army2T_2.png b/models/SGirl/Army2T_2.png new file mode 100644 index 0000000..c514749 Binary files /dev/null and b/models/SGirl/Army2T_2.png differ diff --git a/models/SGirl/Army2T_3.png b/models/SGirl/Army2T_3.png new file mode 100644 index 0000000..e2b3e26 Binary files /dev/null and b/models/SGirl/Army2T_3.png differ diff --git a/models/SGirl/Army3.png b/models/SGirl/Army3.png new file mode 100644 index 0000000..35a84ba Binary files /dev/null and b/models/SGirl/Army3.png differ diff --git a/models/SGirl/Army4.png b/models/SGirl/Army4.png new file mode 100644 index 0000000..59e8681 Binary files /dev/null and b/models/SGirl/Army4.png differ diff --git a/models/SGirl/Army4Lauren.png b/models/SGirl/Army4Lauren.png new file mode 100644 index 0000000..efc36b1 Binary files /dev/null and b/models/SGirl/Army4Lauren.png differ diff --git a/models/SGirl/Army4Rylisa.png b/models/SGirl/Army4Rylisa.png new file mode 100644 index 0000000..00a306a Binary files /dev/null and b/models/SGirl/Army4Rylisa.png differ diff --git a/models/SGirl/Army4Sara.png b/models/SGirl/Army4Sara.png new file mode 100644 index 0000000..f0d7ce5 Binary files /dev/null and b/models/SGirl/Army4Sara.png differ diff --git a/models/SGirl/Army4Shyann.png b/models/SGirl/Army4Shyann.png new file mode 100644 index 0000000..408d4db Binary files /dev/null and b/models/SGirl/Army4Shyann.png differ diff --git a/models/SGirl/Army5Lauren.png b/models/SGirl/Army5Lauren.png new file mode 100644 index 0000000..b7092ff Binary files /dev/null and b/models/SGirl/Army5Lauren.png differ diff --git a/models/SGirl/Army5Rylisa.png b/models/SGirl/Army5Rylisa.png new file mode 100644 index 0000000..33954dc Binary files /dev/null and b/models/SGirl/Army5Rylisa.png differ diff --git a/models/SGirl/Army5Sara.png b/models/SGirl/Army5Sara.png new file mode 100644 index 0000000..ea7a9ae Binary files /dev/null and b/models/SGirl/Army5Sara.png differ diff --git a/models/SGirl/Army5Shyann.png b/models/SGirl/Army5Shyann.png new file mode 100644 index 0000000..80d531b Binary files /dev/null and b/models/SGirl/Army5Shyann.png differ diff --git a/models/SGirl/Garf1.png b/models/SGirl/Garf1.png new file mode 100644 index 0000000..fcc18ec Binary files /dev/null and b/models/SGirl/Garf1.png differ diff --git a/models/SGirl/Garf1T_0.png b/models/SGirl/Garf1T_0.png new file mode 100644 index 0000000..7975e0e Binary files /dev/null and b/models/SGirl/Garf1T_0.png differ diff --git a/models/SGirl/Garf1T_1.png b/models/SGirl/Garf1T_1.png new file mode 100644 index 0000000..a889f31 Binary files /dev/null and b/models/SGirl/Garf1T_1.png differ diff --git a/models/SGirl/Garf1T_2.png b/models/SGirl/Garf1T_2.png new file mode 100644 index 0000000..398ab5a Binary files /dev/null and b/models/SGirl/Garf1T_2.png differ diff --git a/models/SGirl/Garf1T_3.png b/models/SGirl/Garf1T_3.png new file mode 100644 index 0000000..6e165b4 Binary files /dev/null and b/models/SGirl/Garf1T_3.png differ diff --git a/models/SGirl/Garf2.png b/models/SGirl/Garf2.png new file mode 100644 index 0000000..bbb47dc Binary files /dev/null and b/models/SGirl/Garf2.png differ diff --git a/models/SGirl/Garf2T_0.png b/models/SGirl/Garf2T_0.png new file mode 100644 index 0000000..cd84650 Binary files /dev/null and b/models/SGirl/Garf2T_0.png differ diff --git a/models/SGirl/Garf2T_1.png b/models/SGirl/Garf2T_1.png new file mode 100644 index 0000000..7ae33e4 Binary files /dev/null and b/models/SGirl/Garf2T_1.png differ diff --git a/models/SGirl/Garf2T_2.png b/models/SGirl/Garf2T_2.png new file mode 100644 index 0000000..bcc8b46 Binary files /dev/null and b/models/SGirl/Garf2T_2.png differ diff --git a/models/SGirl/Garf2T_3.png b/models/SGirl/Garf2T_3.png new file mode 100644 index 0000000..6e6e172 Binary files /dev/null and b/models/SGirl/Garf2T_3.png differ diff --git a/models/SGirl/Garf3.png b/models/SGirl/Garf3.png new file mode 100644 index 0000000..fd03beb Binary files /dev/null and b/models/SGirl/Garf3.png differ diff --git a/models/SGirl/Garf4.png b/models/SGirl/Garf4.png new file mode 100644 index 0000000..95dd838 Binary files /dev/null and b/models/SGirl/Garf4.png differ diff --git a/models/SGirl/Garf4Isis.png b/models/SGirl/Garf4Isis.png new file mode 100644 index 0000000..3ddbcfb Binary files /dev/null and b/models/SGirl/Garf4Isis.png differ diff --git a/models/SGirl/Garf4Risa.png b/models/SGirl/Garf4Risa.png new file mode 100644 index 0000000..569f3b5 Binary files /dev/null and b/models/SGirl/Garf4Risa.png differ diff --git a/models/SGirl/Garf4Tasha.png b/models/SGirl/Garf4Tasha.png new file mode 100644 index 0000000..c3d9ec0 Binary files /dev/null and b/models/SGirl/Garf4Tasha.png differ diff --git a/models/SGirl/Garf4Vixen.png b/models/SGirl/Garf4Vixen.png new file mode 100644 index 0000000..2f1c6d8 Binary files /dev/null and b/models/SGirl/Garf4Vixen.png differ diff --git a/models/SGirl/Garf5Isis.png b/models/SGirl/Garf5Isis.png new file mode 100644 index 0000000..ea1d064 Binary files /dev/null and b/models/SGirl/Garf5Isis.png differ diff --git a/models/SGirl/Garf5Risa.png b/models/SGirl/Garf5Risa.png new file mode 100644 index 0000000..6dee459 Binary files /dev/null and b/models/SGirl/Garf5Risa.png differ diff --git a/models/SGirl/Garf5Tasha.png b/models/SGirl/Garf5Tasha.png new file mode 100644 index 0000000..e610866 Binary files /dev/null and b/models/SGirl/Garf5Tasha.png differ diff --git a/models/SGirl/Garf5Vixen.png b/models/SGirl/Garf5Vixen.png new file mode 100644 index 0000000..da7d264 Binary files /dev/null and b/models/SGirl/Garf5Vixen.png differ diff --git a/models/SGirl/Venm1.png b/models/SGirl/Venm1.png new file mode 100644 index 0000000..085e010 Binary files /dev/null and b/models/SGirl/Venm1.png differ diff --git a/models/SGirl/Venm1T_0.png b/models/SGirl/Venm1T_0.png new file mode 100644 index 0000000..c28b255 Binary files /dev/null and b/models/SGirl/Venm1T_0.png differ diff --git a/models/SGirl/Venm1T_1.png b/models/SGirl/Venm1T_1.png new file mode 100644 index 0000000..ffb55bd Binary files /dev/null and b/models/SGirl/Venm1T_1.png differ diff --git a/models/SGirl/Venm1T_2.png b/models/SGirl/Venm1T_2.png new file mode 100644 index 0000000..4359f81 Binary files /dev/null and b/models/SGirl/Venm1T_2.png differ diff --git a/models/SGirl/Venm1T_3.png b/models/SGirl/Venm1T_3.png new file mode 100644 index 0000000..5aa626d Binary files /dev/null and b/models/SGirl/Venm1T_3.png differ diff --git a/models/SGirl/Venm2.png b/models/SGirl/Venm2.png new file mode 100644 index 0000000..cf04126 Binary files /dev/null and b/models/SGirl/Venm2.png differ diff --git a/models/SGirl/Venm2T_0.png b/models/SGirl/Venm2T_0.png new file mode 100644 index 0000000..8623dc2 Binary files /dev/null and b/models/SGirl/Venm2T_0.png differ diff --git a/models/SGirl/Venm2T_1.png b/models/SGirl/Venm2T_1.png new file mode 100644 index 0000000..adc3e27 Binary files /dev/null and b/models/SGirl/Venm2T_1.png differ diff --git a/models/SGirl/Venm2T_2.png b/models/SGirl/Venm2T_2.png new file mode 100644 index 0000000..d7dc3c3 Binary files /dev/null and b/models/SGirl/Venm2T_2.png differ diff --git a/models/SGirl/Venm2T_3.png b/models/SGirl/Venm2T_3.png new file mode 100644 index 0000000..7c613b6 Binary files /dev/null and b/models/SGirl/Venm2T_3.png differ diff --git a/models/SGirl/Venm3.png b/models/SGirl/Venm3.png new file mode 100644 index 0000000..bef82dc Binary files /dev/null and b/models/SGirl/Venm3.png differ diff --git a/models/SGirl/Venm4.png b/models/SGirl/Venm4.png new file mode 100644 index 0000000..cadad46 Binary files /dev/null and b/models/SGirl/Venm4.png differ diff --git a/models/SGirl/Venm4Athena.png b/models/SGirl/Venm4Athena.png new file mode 100644 index 0000000..1dc86bf Binary files /dev/null and b/models/SGirl/Venm4Athena.png differ diff --git a/models/SGirl/Venm4Cilia.png b/models/SGirl/Venm4Cilia.png new file mode 100644 index 0000000..ef6e487 Binary files /dev/null and b/models/SGirl/Venm4Cilia.png differ diff --git a/models/SGirl/Venm4Sarena.png b/models/SGirl/Venm4Sarena.png new file mode 100644 index 0000000..8f53b2d Binary files /dev/null and b/models/SGirl/Venm4Sarena.png differ diff --git a/models/SGirl/Venm4Tara.png b/models/SGirl/Venm4Tara.png new file mode 100644 index 0000000..942e014 Binary files /dev/null and b/models/SGirl/Venm4Tara.png differ diff --git a/models/SGirl/Venm4Zanna.png b/models/SGirl/Venm4Zanna.png new file mode 100644 index 0000000..fbd9bed Binary files /dev/null and b/models/SGirl/Venm4Zanna.png differ diff --git a/models/SGirl/Venm5Athena.png b/models/SGirl/Venm5Athena.png new file mode 100644 index 0000000..19a232a Binary files /dev/null and b/models/SGirl/Venm5Athena.png differ diff --git a/models/SGirl/Venm5Cilia.png b/models/SGirl/Venm5Cilia.png new file mode 100644 index 0000000..c5f490b Binary files /dev/null and b/models/SGirl/Venm5Cilia.png differ diff --git a/models/SGirl/Venm5Sarena.png b/models/SGirl/Venm5Sarena.png new file mode 100644 index 0000000..8fd02ba Binary files /dev/null and b/models/SGirl/Venm5Sarena.png differ diff --git a/models/SGirl/Venm5Tara.png b/models/SGirl/Venm5Tara.png new file mode 100644 index 0000000..984258b Binary files /dev/null and b/models/SGirl/Venm5Tara.png differ diff --git a/models/SGirl/Venm5Zanna.png b/models/SGirl/Venm5Zanna.png new file mode 100644 index 0000000..6e3af1e Binary files /dev/null and b/models/SGirl/Venm5Zanna.png differ diff --git a/models/SGirl/army1ice.png b/models/SGirl/army1ice.png new file mode 100644 index 0000000..320c21d Binary files /dev/null and b/models/SGirl/army1ice.png differ diff --git a/models/SGirl/army2ice.png b/models/SGirl/army2ice.png new file mode 100644 index 0000000..274c077 Binary files /dev/null and b/models/SGirl/army2ice.png differ diff --git a/models/SGirl/army3ice.png b/models/SGirl/army3ice.png new file mode 100644 index 0000000..f2ef558 Binary files /dev/null and b/models/SGirl/army3ice.png differ diff --git a/models/SGirl/army4ice.png b/models/SGirl/army4ice.png new file mode 100644 index 0000000..5db2ad7 Binary files /dev/null and b/models/SGirl/army4ice.png differ diff --git a/models/SGirl/fbth1.png b/models/SGirl/fbth1.png new file mode 100644 index 0000000..7197cb9 Binary files /dev/null and b/models/SGirl/fbth1.png differ diff --git a/models/SGirl/fbth1T_0.png b/models/SGirl/fbth1T_0.png new file mode 100644 index 0000000..2ac7904 Binary files /dev/null and b/models/SGirl/fbth1T_0.png differ diff --git a/models/SGirl/fbth1T_1.png b/models/SGirl/fbth1T_1.png new file mode 100644 index 0000000..0c63b60 Binary files /dev/null and b/models/SGirl/fbth1T_1.png differ diff --git a/models/SGirl/fbth1T_2.png b/models/SGirl/fbth1T_2.png new file mode 100644 index 0000000..e2ba2aa Binary files /dev/null and b/models/SGirl/fbth1T_2.png differ diff --git a/models/SGirl/fbth1T_3.png b/models/SGirl/fbth1T_3.png new file mode 100644 index 0000000..f067bd0 Binary files /dev/null and b/models/SGirl/fbth1T_3.png differ diff --git a/models/SGirl/fbth2.png b/models/SGirl/fbth2.png new file mode 100644 index 0000000..cb04b37 Binary files /dev/null and b/models/SGirl/fbth2.png differ diff --git a/models/SGirl/fbth2T_0.png b/models/SGirl/fbth2T_0.png new file mode 100644 index 0000000..a91c554 Binary files /dev/null and b/models/SGirl/fbth2T_0.png differ diff --git a/models/SGirl/fbth2T_1.png b/models/SGirl/fbth2T_1.png new file mode 100644 index 0000000..2b4731a Binary files /dev/null and b/models/SGirl/fbth2T_1.png differ diff --git a/models/SGirl/fbth2T_2.png b/models/SGirl/fbth2T_2.png new file mode 100644 index 0000000..e1ea621 Binary files /dev/null and b/models/SGirl/fbth2T_2.png differ diff --git a/models/SGirl/fbth2T_3.png b/models/SGirl/fbth2T_3.png new file mode 100644 index 0000000..8c00934 Binary files /dev/null and b/models/SGirl/fbth2T_3.png differ diff --git a/models/SGirl/fbth3.png b/models/SGirl/fbth3.png new file mode 100644 index 0000000..6386d45 Binary files /dev/null and b/models/SGirl/fbth3.png differ diff --git a/models/SGirl/fbth4.png b/models/SGirl/fbth4.png new file mode 100644 index 0000000..c3ff506 Binary files /dev/null and b/models/SGirl/fbth4.png differ diff --git a/models/SGirl/fbth4Annaka.png b/models/SGirl/fbth4Annaka.png new file mode 100644 index 0000000..df21ed9 Binary files /dev/null and b/models/SGirl/fbth4Annaka.png differ diff --git a/models/SGirl/fbth4Aryss.png b/models/SGirl/fbth4Aryss.png new file mode 100644 index 0000000..8528331 Binary files /dev/null and b/models/SGirl/fbth4Aryss.png differ diff --git a/models/SGirl/fbth4Azure.png b/models/SGirl/fbth4Azure.png new file mode 100644 index 0000000..d639e0f Binary files /dev/null and b/models/SGirl/fbth4Azure.png differ diff --git a/models/SGirl/fbth4Olga.png b/models/SGirl/fbth4Olga.png new file mode 100644 index 0000000..818cc23 Binary files /dev/null and b/models/SGirl/fbth4Olga.png differ diff --git a/models/SGirl/fbth4Ryanna.png b/models/SGirl/fbth4Ryanna.png new file mode 100644 index 0000000..d438f80 Binary files /dev/null and b/models/SGirl/fbth4Ryanna.png differ diff --git a/models/SGirl/fbth5Azure.png b/models/SGirl/fbth5Azure.png new file mode 100644 index 0000000..77406ae Binary files /dev/null and b/models/SGirl/fbth5Azure.png differ diff --git a/models/SGirl/fbth5annaka.png b/models/SGirl/fbth5annaka.png new file mode 100644 index 0000000..28b83b1 Binary files /dev/null and b/models/SGirl/fbth5annaka.png differ diff --git a/models/SGirl/fbth5aryss.png b/models/SGirl/fbth5aryss.png new file mode 100644 index 0000000..06db0c4 Binary files /dev/null and b/models/SGirl/fbth5aryss.png differ diff --git a/models/SGirl/fbth5olga.png b/models/SGirl/fbth5olga.png new file mode 100644 index 0000000..3ead685 Binary files /dev/null and b/models/SGirl/fbth5olga.png differ diff --git a/models/SGirl/fbth5ryanna.png b/models/SGirl/fbth5ryanna.png new file mode 100644 index 0000000..89896d8 Binary files /dev/null and b/models/SGirl/fbth5ryanna.png differ diff --git a/models/SGirl/fwar1.png b/models/SGirl/fwar1.png new file mode 100644 index 0000000..a92ea6f Binary files /dev/null and b/models/SGirl/fwar1.png differ diff --git a/models/SGirl/fwar1T_0.png b/models/SGirl/fwar1T_0.png new file mode 100644 index 0000000..4179af1 Binary files /dev/null and b/models/SGirl/fwar1T_0.png differ diff --git a/models/SGirl/fwar1T_1.png b/models/SGirl/fwar1T_1.png new file mode 100644 index 0000000..7a37e67 Binary files /dev/null and b/models/SGirl/fwar1T_1.png differ diff --git a/models/SGirl/fwar1T_2.png b/models/SGirl/fwar1T_2.png new file mode 100644 index 0000000..00dcd37 Binary files /dev/null and b/models/SGirl/fwar1T_2.png differ diff --git a/models/SGirl/fwar1T_3.png b/models/SGirl/fwar1T_3.png new file mode 100644 index 0000000..c9ba513 Binary files /dev/null and b/models/SGirl/fwar1T_3.png differ diff --git a/models/SGirl/fwar2.png b/models/SGirl/fwar2.png new file mode 100644 index 0000000..11f8749 Binary files /dev/null and b/models/SGirl/fwar2.png differ diff --git a/models/SGirl/fwar2T_0.png b/models/SGirl/fwar2T_0.png new file mode 100644 index 0000000..5d5ff54 Binary files /dev/null and b/models/SGirl/fwar2T_0.png differ diff --git a/models/SGirl/fwar2T_1.png b/models/SGirl/fwar2T_1.png new file mode 100644 index 0000000..dc1e1d0 Binary files /dev/null and b/models/SGirl/fwar2T_1.png differ diff --git a/models/SGirl/fwar2T_2.png b/models/SGirl/fwar2T_2.png new file mode 100644 index 0000000..0790f4c Binary files /dev/null and b/models/SGirl/fwar2T_2.png differ diff --git a/models/SGirl/fwar2T_3.png b/models/SGirl/fwar2T_3.png new file mode 100644 index 0000000..6d3252f Binary files /dev/null and b/models/SGirl/fwar2T_3.png differ diff --git a/models/SGirl/fwar3.png b/models/SGirl/fwar3.png new file mode 100644 index 0000000..9cf26e6 Binary files /dev/null and b/models/SGirl/fwar3.png differ diff --git a/models/SGirl/fwar4.png b/models/SGirl/fwar4.png new file mode 100644 index 0000000..eaf16b1 Binary files /dev/null and b/models/SGirl/fwar4.png differ diff --git a/models/SGirl/fwar4Cathode.png b/models/SGirl/fwar4Cathode.png new file mode 100644 index 0000000..eaf16b1 Binary files /dev/null and b/models/SGirl/fwar4Cathode.png differ diff --git a/models/SGirl/fwar4Fury.png b/models/SGirl/fwar4Fury.png new file mode 100644 index 0000000..27b4539 Binary files /dev/null and b/models/SGirl/fwar4Fury.png differ diff --git a/models/SGirl/fwar4Lilith.png b/models/SGirl/fwar4Lilith.png new file mode 100644 index 0000000..a9049e0 Binary files /dev/null and b/models/SGirl/fwar4Lilith.png differ diff --git a/models/SGirl/fwar5Cathode.png b/models/SGirl/fwar5Cathode.png new file mode 100644 index 0000000..ba1754b Binary files /dev/null and b/models/SGirl/fwar5Cathode.png differ diff --git a/models/SGirl/fwar5Fury.png b/models/SGirl/fwar5Fury.png new file mode 100644 index 0000000..b09ce33 Binary files /dev/null and b/models/SGirl/fwar5Fury.png differ diff --git a/models/SGirl/fwar5Lilith.png b/models/SGirl/fwar5Lilith.png new file mode 100644 index 0000000..b02979a Binary files /dev/null and b/models/SGirl/fwar5Lilith.png differ diff --git a/models/S_Ammo.png b/models/S_Ammo.png index 70c46f7..401a03d 100644 Binary files a/models/S_Ammo.png and b/models/S_Ammo.png differ diff --git a/models/Shockt1.png b/models/Shockt1.png index 9ec3d29..9f9ac53 100644 Binary files a/models/Shockt1.png and b/models/Shockt1.png differ diff --git a/models/Soldier/Blkt1.png b/models/Soldier/Blkt1.png new file mode 100644 index 0000000..fe72037 Binary files /dev/null and b/models/Soldier/Blkt1.png differ diff --git a/models/Soldier/Blkt1T_0.png b/models/Soldier/Blkt1T_0.png new file mode 100644 index 0000000..241fdeb Binary files /dev/null and b/models/Soldier/Blkt1T_0.png differ diff --git a/models/Soldier/Blkt1T_1.png b/models/Soldier/Blkt1T_1.png new file mode 100644 index 0000000..27ca647 Binary files /dev/null and b/models/Soldier/Blkt1T_1.png differ diff --git a/models/Soldier/Blkt1T_2.png b/models/Soldier/Blkt1T_2.png new file mode 100644 index 0000000..297ea68 Binary files /dev/null and b/models/Soldier/Blkt1T_2.png differ diff --git a/models/Soldier/Blkt1T_3.png b/models/Soldier/Blkt1T_3.png new file mode 100644 index 0000000..751dc91 Binary files /dev/null and b/models/Soldier/Blkt1T_3.png differ diff --git a/models/Soldier/Blkt2.png b/models/Soldier/Blkt2.png new file mode 100644 index 0000000..8454e16 Binary files /dev/null and b/models/Soldier/Blkt2.png differ diff --git a/models/Soldier/Blkt2T_0.png b/models/Soldier/Blkt2T_0.png new file mode 100644 index 0000000..33ccc58 Binary files /dev/null and b/models/Soldier/Blkt2T_0.png differ diff --git a/models/Soldier/Blkt2T_1.png b/models/Soldier/Blkt2T_1.png new file mode 100644 index 0000000..24db037 Binary files /dev/null and b/models/Soldier/Blkt2T_1.png differ diff --git a/models/Soldier/Blkt2T_2.png b/models/Soldier/Blkt2T_2.png new file mode 100644 index 0000000..d08e324 Binary files /dev/null and b/models/Soldier/Blkt2T_2.png differ diff --git a/models/Soldier/Blkt2T_3.png b/models/Soldier/Blkt2T_3.png new file mode 100644 index 0000000..5f4a06c Binary files /dev/null and b/models/Soldier/Blkt2T_3.png differ diff --git a/models/Soldier/Blkt3.png b/models/Soldier/Blkt3.png new file mode 100644 index 0000000..24ced49 Binary files /dev/null and b/models/Soldier/Blkt3.png differ diff --git a/models/Soldier/Blkt4.png b/models/Soldier/Blkt4.png new file mode 100644 index 0000000..86ff363 Binary files /dev/null and b/models/Soldier/Blkt4.png differ diff --git a/models/Soldier/Blkt4Othello.png b/models/Soldier/Blkt4Othello.png new file mode 100644 index 0000000..830e40b Binary files /dev/null and b/models/Soldier/Blkt4Othello.png differ diff --git a/models/Soldier/Gard1.png b/models/Soldier/Gard1.png new file mode 100644 index 0000000..cb0bfdc Binary files /dev/null and b/models/Soldier/Gard1.png differ diff --git a/models/Soldier/Gard1T_0.png b/models/Soldier/Gard1T_0.png new file mode 100644 index 0000000..41eca60 Binary files /dev/null and b/models/Soldier/Gard1T_0.png differ diff --git a/models/Soldier/Gard1T_1.png b/models/Soldier/Gard1T_1.png new file mode 100644 index 0000000..08f7d59 Binary files /dev/null and b/models/Soldier/Gard1T_1.png differ diff --git a/models/Soldier/Gard1T_2.png b/models/Soldier/Gard1T_2.png new file mode 100644 index 0000000..2c72e9d Binary files /dev/null and b/models/Soldier/Gard1T_2.png differ diff --git a/models/Soldier/Gard1T_3.png b/models/Soldier/Gard1T_3.png new file mode 100644 index 0000000..b7e2f0b Binary files /dev/null and b/models/Soldier/Gard1T_3.png differ diff --git a/models/Soldier/Gard2.png b/models/Soldier/Gard2.png new file mode 100644 index 0000000..a0bd2d2 Binary files /dev/null and b/models/Soldier/Gard2.png differ diff --git a/models/Soldier/Gard2T_0.png b/models/Soldier/Gard2T_0.png new file mode 100644 index 0000000..f2b1e7c Binary files /dev/null and b/models/Soldier/Gard2T_0.png differ diff --git a/models/Soldier/Gard2T_1.png b/models/Soldier/Gard2T_1.png new file mode 100644 index 0000000..ce5ff7c Binary files /dev/null and b/models/Soldier/Gard2T_1.png differ diff --git a/models/Soldier/Gard2T_2.png b/models/Soldier/Gard2T_2.png new file mode 100644 index 0000000..fb3b3a4 Binary files /dev/null and b/models/Soldier/Gard2T_2.png differ diff --git a/models/Soldier/Gard2T_3.png b/models/Soldier/Gard2T_3.png new file mode 100644 index 0000000..d6aad0f Binary files /dev/null and b/models/Soldier/Gard2T_3.png differ diff --git a/models/Soldier/Gard3.png b/models/Soldier/Gard3.png new file mode 100644 index 0000000..bca6ccd Binary files /dev/null and b/models/Soldier/Gard3.png differ diff --git a/models/Soldier/Gard4.png b/models/Soldier/Gard4.png new file mode 100644 index 0000000..4adbb4d Binary files /dev/null and b/models/Soldier/Gard4.png differ diff --git a/models/Soldier/Gard4Drake.png b/models/Soldier/Gard4Drake.png new file mode 100644 index 0000000..781ba46 Binary files /dev/null and b/models/Soldier/Gard4Drake.png differ diff --git a/models/Soldier/Gard4Radkin.png b/models/Soldier/Gard4Radkin.png new file mode 100644 index 0000000..68435cd Binary files /dev/null and b/models/Soldier/Gard4Radkin.png differ diff --git a/models/Soldier/Gard4Von.png b/models/Soldier/Gard4Von.png new file mode 100644 index 0000000..0f9bc15 Binary files /dev/null and b/models/Soldier/Gard4Von.png differ diff --git a/models/Soldier/Gard4Wraith.png b/models/Soldier/Gard4Wraith.png new file mode 100644 index 0000000..176d40c Binary files /dev/null and b/models/Soldier/Gard4Wraith.png differ diff --git a/models/Soldier/Gard5Drake.png b/models/Soldier/Gard5Drake.png new file mode 100644 index 0000000..9d4a57a Binary files /dev/null and b/models/Soldier/Gard5Drake.png differ diff --git a/models/Soldier/Gard5Radkin.png b/models/Soldier/Gard5Radkin.png new file mode 100644 index 0000000..b4b796b Binary files /dev/null and b/models/Soldier/Gard5Radkin.png differ diff --git a/models/Soldier/Gard5Von.png b/models/Soldier/Gard5Von.png new file mode 100644 index 0000000..a9c9c05 Binary files /dev/null and b/models/Soldier/Gard5Von.png differ diff --git a/models/Soldier/Gard5Wraith.png b/models/Soldier/Gard5Wraith.png new file mode 100644 index 0000000..5835439 Binary files /dev/null and b/models/Soldier/Gard5Wraith.png differ diff --git a/models/Soldier/RawS1.png b/models/Soldier/RawS1.png new file mode 100644 index 0000000..0cb41fe Binary files /dev/null and b/models/Soldier/RawS1.png differ diff --git a/models/Soldier/RawS1T_0.png b/models/Soldier/RawS1T_0.png new file mode 100644 index 0000000..7eecda1 Binary files /dev/null and b/models/Soldier/RawS1T_0.png differ diff --git a/models/Soldier/RawS1T_1.png b/models/Soldier/RawS1T_1.png new file mode 100644 index 0000000..0e306b6 Binary files /dev/null and b/models/Soldier/RawS1T_1.png differ diff --git a/models/Soldier/RawS1T_2.png b/models/Soldier/RawS1T_2.png new file mode 100644 index 0000000..e610aa8 Binary files /dev/null and b/models/Soldier/RawS1T_2.png differ diff --git a/models/Soldier/RawS1T_3.png b/models/Soldier/RawS1T_3.png new file mode 100644 index 0000000..aae51f2 Binary files /dev/null and b/models/Soldier/RawS1T_3.png differ diff --git a/models/Soldier/RawS2.png b/models/Soldier/RawS2.png new file mode 100644 index 0000000..3803799 Binary files /dev/null and b/models/Soldier/RawS2.png differ diff --git a/models/Soldier/RawS2T_0.png b/models/Soldier/RawS2T_0.png new file mode 100644 index 0000000..cdfa675 Binary files /dev/null and b/models/Soldier/RawS2T_0.png differ diff --git a/models/Soldier/RawS2T_1.png b/models/Soldier/RawS2T_1.png new file mode 100644 index 0000000..67d41d6 Binary files /dev/null and b/models/Soldier/RawS2T_1.png differ diff --git a/models/Soldier/RawS2T_2.png b/models/Soldier/RawS2T_2.png new file mode 100644 index 0000000..13e6f3c Binary files /dev/null and b/models/Soldier/RawS2T_2.png differ diff --git a/models/Soldier/RawS2T_3.png b/models/Soldier/RawS2T_3.png new file mode 100644 index 0000000..dc73932 Binary files /dev/null and b/models/Soldier/RawS2T_3.png differ diff --git a/models/Soldier/RawS3.png b/models/Soldier/RawS3.png new file mode 100644 index 0000000..4f2687a Binary files /dev/null and b/models/Soldier/RawS3.png differ diff --git a/models/Soldier/RawS4.png b/models/Soldier/RawS4.png new file mode 100644 index 0000000..58241cf Binary files /dev/null and b/models/Soldier/RawS4.png differ diff --git a/models/Soldier/RawS4Arkon.png b/models/Soldier/RawS4Arkon.png new file mode 100644 index 0000000..7a718f7 Binary files /dev/null and b/models/Soldier/RawS4Arkon.png differ diff --git a/models/Soldier/RawS4Bruce.png b/models/Soldier/RawS4Bruce.png new file mode 100644 index 0000000..e1b6971 Binary files /dev/null and b/models/Soldier/RawS4Bruce.png differ diff --git a/models/Soldier/RawS4Kregore.png b/models/Soldier/RawS4Kregore.png new file mode 100644 index 0000000..0f804bb Binary files /dev/null and b/models/Soldier/RawS4Kregore.png differ diff --git a/models/Soldier/RawS4Manwell.png b/models/Soldier/RawS4Manwell.png new file mode 100644 index 0000000..d194ed7 Binary files /dev/null and b/models/Soldier/RawS4Manwell.png differ diff --git a/models/Soldier/RawS4Slain.png b/models/Soldier/RawS4Slain.png new file mode 100644 index 0000000..f48f894 Binary files /dev/null and b/models/Soldier/RawS4Slain.png differ diff --git a/models/Soldier/RawS5Arkon.png b/models/Soldier/RawS5Arkon.png new file mode 100644 index 0000000..c82bf8d Binary files /dev/null and b/models/Soldier/RawS5Arkon.png differ diff --git a/models/Soldier/RawS5Bruce.png b/models/Soldier/RawS5Bruce.png new file mode 100644 index 0000000..823fa4b Binary files /dev/null and b/models/Soldier/RawS5Bruce.png differ diff --git a/models/Soldier/RawS5Kregore.png b/models/Soldier/RawS5Kregore.png new file mode 100644 index 0000000..7ec5334 Binary files /dev/null and b/models/Soldier/RawS5Kregore.png differ diff --git a/models/Soldier/RawS5Manwell.png b/models/Soldier/RawS5Manwell.png new file mode 100644 index 0000000..959b556 Binary files /dev/null and b/models/Soldier/RawS5Manwell.png differ diff --git a/models/Soldier/RawS5Slain.png b/models/Soldier/RawS5Slain.png new file mode 100644 index 0000000..5a6dd73 Binary files /dev/null and b/models/Soldier/RawS5Slain.png differ diff --git a/models/Soldier/SLDR5Brock.png b/models/Soldier/SLDR5Brock.png new file mode 100644 index 0000000..62aa503 Binary files /dev/null and b/models/Soldier/SLDR5Brock.png differ diff --git a/models/Soldier/SLDR5Johnson.png b/models/Soldier/SLDR5Johnson.png new file mode 100644 index 0000000..efecb8d Binary files /dev/null and b/models/Soldier/SLDR5Johnson.png differ diff --git a/models/Soldier/Sldr1T_2.png b/models/Soldier/Sldr1T_2.png new file mode 100644 index 0000000..adc939f Binary files /dev/null and b/models/Soldier/Sldr1T_2.png differ diff --git a/models/Soldier/Sldr1T_3.png b/models/Soldier/Sldr1T_3.png new file mode 100644 index 0000000..b294912 Binary files /dev/null and b/models/Soldier/Sldr1T_3.png differ diff --git a/models/Soldier/Sldr2T_2.png b/models/Soldier/Sldr2T_2.png new file mode 100644 index 0000000..319365a Binary files /dev/null and b/models/Soldier/Sldr2T_2.png differ diff --git a/models/Soldier/Sldr2T_3.png b/models/Soldier/Sldr2T_3.png new file mode 100644 index 0000000..3b9c8b0 Binary files /dev/null and b/models/Soldier/Sldr2T_3.png differ diff --git a/models/Soldier/Sldr4Brock.png b/models/Soldier/Sldr4Brock.png new file mode 100644 index 0000000..e24c79a Binary files /dev/null and b/models/Soldier/Sldr4Brock.png differ diff --git a/models/Soldier/Sldr4Harlin.png b/models/Soldier/Sldr4Harlin.png new file mode 100644 index 0000000..464279c Binary files /dev/null and b/models/Soldier/Sldr4Harlin.png differ diff --git a/models/Soldier/Sldr4Rankin.png b/models/Soldier/Sldr4Rankin.png new file mode 100644 index 0000000..324ecb7 Binary files /dev/null and b/models/Soldier/Sldr4Rankin.png differ diff --git a/models/Soldier/Sldr5Harlin.png b/models/Soldier/Sldr5Harlin.png new file mode 100644 index 0000000..24ce794 Binary files /dev/null and b/models/Soldier/Sldr5Harlin.png differ diff --git a/models/Soldier/Sldr5Rankin.png b/models/Soldier/Sldr5Rankin.png new file mode 100644 index 0000000..e036bdc Binary files /dev/null and b/models/Soldier/Sldr5Rankin.png differ diff --git a/models/Soldier/blkt4Malcom.png b/models/Soldier/blkt4Malcom.png new file mode 100644 index 0000000..d08a2db Binary files /dev/null and b/models/Soldier/blkt4Malcom.png differ diff --git a/models/Soldier/blkt4Riker.png b/models/Soldier/blkt4Riker.png new file mode 100644 index 0000000..9a1b69f Binary files /dev/null and b/models/Soldier/blkt4Riker.png differ diff --git a/models/Soldier/blkt5Malcom.png b/models/Soldier/blkt5Malcom.png new file mode 100644 index 0000000..10cf51a Binary files /dev/null and b/models/Soldier/blkt5Malcom.png differ diff --git a/models/Soldier/blkt5Othello.png b/models/Soldier/blkt5Othello.png new file mode 100644 index 0000000..b4d2dae Binary files /dev/null and b/models/Soldier/blkt5Othello.png differ diff --git a/models/Soldier/blkt5Riker.png b/models/Soldier/blkt5Riker.png new file mode 100644 index 0000000..6f4fe60 Binary files /dev/null and b/models/Soldier/blkt5Riker.png differ diff --git a/models/Soldier/hkil1.png b/models/Soldier/hkil1.png new file mode 100644 index 0000000..23ece23 Binary files /dev/null and b/models/Soldier/hkil1.png differ diff --git a/models/Soldier/hkil1T_0.png b/models/Soldier/hkil1T_0.png new file mode 100644 index 0000000..571fc3a Binary files /dev/null and b/models/Soldier/hkil1T_0.png differ diff --git a/models/Soldier/hkil1T_1.png b/models/Soldier/hkil1T_1.png new file mode 100644 index 0000000..be530ad Binary files /dev/null and b/models/Soldier/hkil1T_1.png differ diff --git a/models/Soldier/hkil1T_2.png b/models/Soldier/hkil1T_2.png new file mode 100644 index 0000000..5afe2f2 Binary files /dev/null and b/models/Soldier/hkil1T_2.png differ diff --git a/models/Soldier/hkil1T_3.png b/models/Soldier/hkil1T_3.png new file mode 100644 index 0000000..767b7b6 Binary files /dev/null and b/models/Soldier/hkil1T_3.png differ diff --git a/models/Soldier/hkil2.png b/models/Soldier/hkil2.png new file mode 100644 index 0000000..22e0801 Binary files /dev/null and b/models/Soldier/hkil2.png differ diff --git a/models/Soldier/hkil2T_0.png b/models/Soldier/hkil2T_0.png new file mode 100644 index 0000000..de6498e Binary files /dev/null and b/models/Soldier/hkil2T_0.png differ diff --git a/models/Soldier/hkil2T_1.png b/models/Soldier/hkil2T_1.png new file mode 100644 index 0000000..17ddd18 Binary files /dev/null and b/models/Soldier/hkil2T_1.png differ diff --git a/models/Soldier/hkil2T_2.png b/models/Soldier/hkil2T_2.png new file mode 100644 index 0000000..74f5cbb Binary files /dev/null and b/models/Soldier/hkil2T_2.png differ diff --git a/models/Soldier/hkil2T_3.png b/models/Soldier/hkil2T_3.png new file mode 100644 index 0000000..354f155 Binary files /dev/null and b/models/Soldier/hkil2T_3.png differ diff --git a/models/Soldier/hkil3.png b/models/Soldier/hkil3.png new file mode 100644 index 0000000..b4c416b Binary files /dev/null and b/models/Soldier/hkil3.png differ diff --git a/models/Soldier/hkil4.png b/models/Soldier/hkil4.png new file mode 100644 index 0000000..bc94ccd Binary files /dev/null and b/models/Soldier/hkil4.png differ diff --git a/models/Soldier/hkil4matrix.png b/models/Soldier/hkil4matrix.png new file mode 100644 index 0000000..bafa62e Binary files /dev/null and b/models/Soldier/hkil4matrix.png differ diff --git a/models/Soldier/hkil4tensor.png b/models/Soldier/hkil4tensor.png new file mode 100644 index 0000000..2528ebd Binary files /dev/null and b/models/Soldier/hkil4tensor.png differ diff --git a/models/Soldier/hkil4vector.png b/models/Soldier/hkil4vector.png new file mode 100644 index 0000000..bc94ccd Binary files /dev/null and b/models/Soldier/hkil4vector.png differ diff --git a/models/Soldier/hkil5Matrix.png b/models/Soldier/hkil5Matrix.png new file mode 100644 index 0000000..5b37af1 Binary files /dev/null and b/models/Soldier/hkil5Matrix.png differ diff --git a/models/Soldier/hkil5Tensor.png b/models/Soldier/hkil5Tensor.png new file mode 100644 index 0000000..8541b83 Binary files /dev/null and b/models/Soldier/hkil5Tensor.png differ diff --git a/models/Soldier/hkil5Vector.png b/models/Soldier/hkil5Vector.png new file mode 100644 index 0000000..e0ad50f Binary files /dev/null and b/models/Soldier/hkil5Vector.png differ diff --git a/models/Soldier/sldr1.png b/models/Soldier/sldr1.png new file mode 100644 index 0000000..0c8ad33 Binary files /dev/null and b/models/Soldier/sldr1.png differ diff --git a/models/Soldier/sldr1T_0.png b/models/Soldier/sldr1T_0.png new file mode 100644 index 0000000..3cc3502 Binary files /dev/null and b/models/Soldier/sldr1T_0.png differ diff --git a/models/Soldier/sldr1T_1.png b/models/Soldier/sldr1T_1.png new file mode 100644 index 0000000..e5ab1a1 Binary files /dev/null and b/models/Soldier/sldr1T_1.png differ diff --git a/models/Soldier/sldr1ice.png b/models/Soldier/sldr1ice.png new file mode 100644 index 0000000..4dcb52b Binary files /dev/null and b/models/Soldier/sldr1ice.png differ diff --git a/models/Soldier/sldr2.png b/models/Soldier/sldr2.png new file mode 100644 index 0000000..d6c99b1 Binary files /dev/null and b/models/Soldier/sldr2.png differ diff --git a/models/Soldier/sldr2T_0.png b/models/Soldier/sldr2T_0.png new file mode 100644 index 0000000..65e2706 Binary files /dev/null and b/models/Soldier/sldr2T_0.png differ diff --git a/models/Soldier/sldr2T_1.png b/models/Soldier/sldr2T_1.png new file mode 100644 index 0000000..a32dd42 Binary files /dev/null and b/models/Soldier/sldr2T_1.png differ diff --git a/models/Soldier/sldr2ice.png b/models/Soldier/sldr2ice.png new file mode 100644 index 0000000..cad75d8 Binary files /dev/null and b/models/Soldier/sldr2ice.png differ diff --git a/models/Soldier/sldr3.png b/models/Soldier/sldr3.png new file mode 100644 index 0000000..1fd7ec0 Binary files /dev/null and b/models/Soldier/sldr3.png differ diff --git a/models/Soldier/sldr3ice.png b/models/Soldier/sldr3ice.png new file mode 100644 index 0000000..3e1c235 Binary files /dev/null and b/models/Soldier/sldr3ice.png differ diff --git a/models/Soldier/sldr4.png b/models/Soldier/sldr4.png new file mode 100644 index 0000000..ef1f537 Binary files /dev/null and b/models/Soldier/sldr4.png differ diff --git a/models/Soldier/sldr4Johnson.png b/models/Soldier/sldr4Johnson.png new file mode 100644 index 0000000..15b4f07 Binary files /dev/null and b/models/Soldier/sldr4Johnson.png differ diff --git a/models/Soldier/sldr4ice.png b/models/Soldier/sldr4ice.png new file mode 100644 index 0000000..d4dbd39 Binary files /dev/null and b/models/Soldier/sldr4ice.png differ diff --git a/models/WetRing.png b/models/WetRing.png index 3b97970..dcb6013 100644 Binary files a/models/WetRing.png and b/models/WetRing.png differ diff --git a/models/army1.png b/models/army1.png deleted file mode 100644 index 166195f..0000000 Binary files a/models/army1.png and /dev/null differ diff --git a/models/army1ice.png b/models/army1ice.png deleted file mode 100644 index 61be4ac..0000000 Binary files a/models/army1ice.png and /dev/null differ diff --git a/models/army2.png b/models/army2.png deleted file mode 100644 index a2daf39..0000000 Binary files a/models/army2.png and /dev/null differ diff --git a/models/army2ice.png b/models/army2ice.png deleted file mode 100644 index 6031522..0000000 Binary files a/models/army2ice.png and /dev/null differ diff --git a/models/army3.png b/models/army3.png deleted file mode 100644 index 40f2dd2..0000000 Binary files a/models/army3.png and /dev/null differ diff --git a/models/army3ice.png b/models/army3ice.png deleted file mode 100644 index 12c6293..0000000 Binary files a/models/army3ice.png and /dev/null differ diff --git a/models/army4.png b/models/army4.png deleted file mode 100644 index a6872dd..0000000 Binary files a/models/army4.png and /dev/null differ diff --git a/models/army4ice.png b/models/army4ice.png deleted file mode 100644 index a20dad8..0000000 Binary files a/models/army4ice.png and /dev/null differ diff --git a/models/boss1.png b/models/boss1.png deleted file mode 100644 index 24aacc5..0000000 Binary files a/models/boss1.png and /dev/null differ diff --git a/models/boss1ice.png b/models/boss1ice.png deleted file mode 100644 index a422136..0000000 Binary files a/models/boss1ice.png and /dev/null differ diff --git a/models/boss2.png b/models/boss2.png deleted file mode 100644 index 72e1ead..0000000 Binary files a/models/boss2.png and /dev/null differ diff --git a/models/boss2ice.png b/models/boss2ice.png deleted file mode 100644 index 6838e10..0000000 Binary files a/models/boss2ice.png and /dev/null differ diff --git a/models/boss3.png b/models/boss3.png deleted file mode 100644 index e57ec71..0000000 Binary files a/models/boss3.png and /dev/null differ diff --git a/models/boss3ice.png b/models/boss3ice.png deleted file mode 100644 index 148a8f6..0000000 Binary files a/models/boss3ice.png and /dev/null differ diff --git a/models/boss4.png b/models/boss4.png deleted file mode 100644 index ed75c7a..0000000 Binary files a/models/boss4.png and /dev/null differ diff --git a/models/boss4ice.png b/models/boss4ice.png deleted file mode 100644 index 7e477e1..0000000 Binary files a/models/boss4ice.png and /dev/null differ diff --git a/models/bpak.png b/models/bpak.png index a1e7adb..63325ef 100644 Binary files a/models/bpak.png and b/models/bpak.png differ diff --git a/models/cmdo1.png b/models/cmdo1.png deleted file mode 100644 index 46e9018..0000000 Binary files a/models/cmdo1.png and /dev/null differ diff --git a/models/cmdo1ice.png b/models/cmdo1ice.png deleted file mode 100644 index 66fc7a3..0000000 Binary files a/models/cmdo1ice.png and /dev/null differ diff --git a/models/cmdo2.png b/models/cmdo2.png deleted file mode 100644 index 6c08840..0000000 Binary files a/models/cmdo2.png and /dev/null differ diff --git a/models/cmdo2ice.png b/models/cmdo2ice.png deleted file mode 100644 index c6197ac..0000000 Binary files a/models/cmdo2ice.png and /dev/null differ diff --git a/models/cmdo3.png b/models/cmdo3.png deleted file mode 100644 index b87ebc2..0000000 Binary files a/models/cmdo3.png and /dev/null differ diff --git a/models/cmdo3ice.png b/models/cmdo3ice.png deleted file mode 100644 index 9a6e06d..0000000 Binary files a/models/cmdo3ice.png and /dev/null differ diff --git a/models/cmdo4.png b/models/cmdo4.png deleted file mode 100644 index 0305e9e..0000000 Binary files a/models/cmdo4.png and /dev/null differ diff --git a/models/cmdo4ice.png b/models/cmdo4ice.png deleted file mode 100644 index 00598fd..0000000 Binary files a/models/cmdo4ice.png and /dev/null differ diff --git a/models/fcmd1.png b/models/fcmd1.png deleted file mode 100644 index bdeecef..0000000 Binary files a/models/fcmd1.png and /dev/null differ diff --git a/models/fcmd1ice.png b/models/fcmd1ice.png deleted file mode 100644 index 43a123a..0000000 Binary files a/models/fcmd1ice.png and /dev/null differ diff --git a/models/fcmd2.png b/models/fcmd2.png deleted file mode 100644 index 6292b7a..0000000 Binary files a/models/fcmd2.png and /dev/null differ diff --git a/models/fcmd2ice.png b/models/fcmd2ice.png deleted file mode 100644 index 93d353b..0000000 Binary files a/models/fcmd2ice.png and /dev/null differ diff --git a/models/fcmd4.png b/models/fcmd4.png deleted file mode 100644 index 38b5bef..0000000 Binary files a/models/fcmd4.png and /dev/null differ diff --git a/models/fcmd4ice.png b/models/fcmd4ice.png deleted file mode 100644 index 3acfdf2..0000000 Binary files a/models/fcmd4ice.png and /dev/null differ diff --git a/models/flakm_d.3d b/models/flakm_d.3d index 1efac93..9ae584f 100644 Binary files a/models/flakm_d.3d and b/models/flakm_d.3d differ diff --git a/models/miniammoled.png b/models/miniammoled.png new file mode 100644 index 0000000..93f52f3 Binary files /dev/null and b/models/miniammoled.png differ diff --git a/sprites/ammoled/AMLDC0.png b/models/miniammoledbase.png similarity index 100% rename from sprites/ammoled/AMLDC0.png rename to models/miniammoledbase.png diff --git a/models/newgreen.png b/models/newgreen.png index 39e4e3c..3d43b1d 100644 Binary files a/models/newgreen.png and b/models/newgreen.png differ diff --git a/models/pPurpleRing.png b/models/pPurpleRing.png index a3dfb98..bbad1c8 100644 Binary files a/models/pPurpleRing.png and b/models/pPurpleRing.png differ diff --git a/models/sldr1.png b/models/sldr1.png deleted file mode 100644 index d798678..0000000 Binary files a/models/sldr1.png and /dev/null differ diff --git a/models/sldr1ice.png b/models/sldr1ice.png deleted file mode 100644 index 479b748..0000000 Binary files a/models/sldr1ice.png and /dev/null differ diff --git a/models/sldr2.png b/models/sldr2.png deleted file mode 100644 index 038e7f2..0000000 Binary files a/models/sldr2.png and /dev/null differ diff --git a/models/sldr2ice.png b/models/sldr2ice.png deleted file mode 100644 index f6b5cb2..0000000 Binary files a/models/sldr2ice.png and /dev/null differ diff --git a/models/sldr3.png b/models/sldr3.png deleted file mode 100644 index 6da9714..0000000 Binary files a/models/sldr3.png and /dev/null differ diff --git a/models/sldr3ice.png b/models/sldr3ice.png deleted file mode 100644 index 1a68b9a..0000000 Binary files a/models/sldr3ice.png and /dev/null differ diff --git a/models/sldr4.png b/models/sldr4.png deleted file mode 100644 index 1396b08..0000000 Binary files a/models/sldr4.png and /dev/null differ diff --git a/models/sldr4ice.png b/models/sldr4ice.png deleted file mode 100644 index 967b925..0000000 Binary files a/models/sldr4ice.png and /dev/null differ diff --git a/models/tloc3.png b/models/tloc3.png index 304a198..b80648e 100644 Binary files a/models/tloc3.png and b/models/tloc3.png differ diff --git a/shaders/glsl/AmbientGlow.fp b/shaders/glsl/AmbientGlow.fp index f47788a..b89ee37 100644 --- a/shaders/glsl/AmbientGlow.fp +++ b/shaders/glsl/AmbientGlow.fp @@ -1,11 +1,26 @@ // imitation of the Unreal Engine 1.x ambient glow effect vec4 ProcessLight( vec4 color ) { + vec2 gs = texture(ambglow,vec2(.5)).xy; + if ( gs.x > .5 ) return color; + if ( gs.y > .5 ) + { + float glow = max(0.,sin(timer*4)-.5); + return vec4(min(color.rgb+vec3(glow),1.),color.a); + } float glow = 0.25+0.2*sin(timer*8); return vec4(min(color.rgb+vec3(glow),1.0),color.a); } vec4 ProcessTexel() { + vec2 gs = texture(ambglow,vec2(.5)).xy; + if ( gs.x > .5 ) getTexel(vTexCoord.st); + if ( gs.y > .5 ) + { + float glow = max(0.,sin(timer*4)-.5); + vec4 col = getTexel(vTexCoord.st); + return vec4(min(col.rgb+vec3(glow),1.),col.a); + } return getTexel(vTexCoord.st); } diff --git a/shaders/glsl/AmbientGlow_Brightmapped.fp b/shaders/glsl/AmbientGlow_Brightmapped.fp index 5a2650e..79d9330 100644 --- a/shaders/glsl/AmbientGlow_Brightmapped.fp +++ b/shaders/glsl/AmbientGlow_Brightmapped.fp @@ -3,11 +3,26 @@ vec4 ProcessLight( vec4 color ) { float bright = texture(brighttex,vTexCoord.st).x; + vec2 gs = texture(ambglow,vec2(.5)).xy; + if ( gs.x > .5 ) return vec4(min(color.rgb+vec3(bright),1.0),color.a); + if ( gs.y > .5 ) + { + float glow = max(0.,sin(timer*4)-.5); + return vec4(min(color.rgb+vec3(bright)+vec3(glow),1.),color.a); + } float glow = 0.25+0.2*sin(timer*8); return vec4(min(color.rgb+vec3(bright)+vec3(glow),1.0),color.a); } vec4 ProcessTexel() { + vec2 gs = texture(ambglow,vec2(.5)).xy; + if ( gs.x > .5 ) getTexel(vTexCoord.st); + if ( gs.y > .5 ) + { + float glow = max(0.,sin(timer*4)-.5); + vec4 col = getTexel(vTexCoord.st); + return vec4(min(col.rgb+vec3(glow),1.),col.a); + } return getTexel(vTexCoord.st); } diff --git a/shaders/glsl/AmmoLed.fp b/shaders/glsl/AmmoLed.fp new file mode 100644 index 0000000..3e089f1 --- /dev/null +++ b/shaders/glsl/AmmoLed.fp @@ -0,0 +1,6 @@ +void SetupMaterial( inout Material mat ) +{ + mat.Base = texture(scrtex,vec2(vTexCoord.s,1.-vTexCoord.t)); + mat.Normal = ApplyNormalMap(vTexCoord.st); + mat.Bright = vec4(1.); +} diff --git a/shaders/glsl/MeshEnviroMap_AmbientGlow.fp b/shaders/glsl/MeshEnviroMap_AmbientGlow.fp index 937ac4e..fec7a79 100644 --- a/shaders/glsl/MeshEnviroMap_AmbientGlow.fp +++ b/shaders/glsl/MeshEnviroMap_AmbientGlow.fp @@ -1,6 +1,13 @@ // imitation of the Unreal Engine 1.x ambient glow effect vec4 ProcessLight( vec4 color ) { + vec2 gs = texture(ambglow,vec2(.5)).xy; + if ( gs.x > .5 ) return color; + if ( gs.y > .5 ) + { + float glow = max(0.,sin(timer*4)-.5); + return vec4(min(color.rgb+vec3(glow),1.),color.a); + } float glow = 0.25+0.2*sin(timer*8); return vec4(min(color.rgb+vec3(glow),1.0),color.a); } @@ -10,5 +17,13 @@ vec4 ProcessTexel() { vec3 eyedir = normalize(uCameraPos.xyz-pixelpos.xyz); vec3 norm = reflect(eyedir,normalize(vWorldNormal.xyz)); + vec2 gs = texture(ambglow,vec2(.5)).xy; + if ( gs.x > .5 ) getTexel(norm.xz*0.5+0.5); + if ( gs.y > .5 ) + { + float glow = max(0.,sin(timer*4)-.5); + vec4 col = getTexel(norm.xz*.5+.5); + return vec4(min(col.rgb+vec3(glow),1.),col.a); + } return getTexel(norm.xz*0.5+0.5); } diff --git a/sndinfo.txt b/sndinfo.txt index c42966c..8f0c820 100644 --- a/sndinfo.txt +++ b/sndinfo.txt @@ -354,3 +354,324 @@ uinvul/hit invlhit uinvul/drain invlout uvision/pickup visions + +//// ANNOUNCER + +ut/spreesound "sounds/spreesnd.ogg" +/// English +utannouncer/int/assist "sounds/announcer/int/assist.ogg" +utannouncer/int/capture "sounds/announcer/int/capture.ogg" +utannouncer/int/cd1 "sounds/announcer/int/cd1.ogg" +utannouncer/int/cd2 "sounds/announcer/int/cd2.ogg" +utannouncer/int/cd3 "sounds/announcer/int/cd3.ogg" +utannouncer/int/cd4 "sounds/announcer/int/cd4.ogg" +utannouncer/int/cd5 "sounds/announcer/int/cd5.ogg" +utannouncer/int/cd6 "sounds/announcer/int/cd6.ogg" +utannouncer/int/cd7 "sounds/announcer/int/cd7.ogg" +utannouncer/int/cd8 "sounds/announcer/int/cd8.ogg" +utannouncer/int/cd9 "sounds/announcer/int/cd9.ogg" +utannouncer/int/cd10 "sounds/announcer/int/cd10.ogg" +utannouncer/int/cd30sec "sounds/announcer/int/cd30sec.ogg" +utannouncer/int/cd1min "sounds/announcer/int/cd1min.ogg" +utannouncer/int/cd3min "sounds/announcer/int/cd3min.ogg" +utannouncer/int/cd5min "sounds/announcer/int/cd5min.ogg" +utannouncer/int/dominating "sounds/announcer/int/dominating.ogg" +utannouncer/int/doublekill "sounds/announcer/int/doublekill.ogg" +utannouncer/int/failed "sounds/announcer/int/failed.ogg" +utannouncer/int/firstblood "sounds/announcer/int/firstblood.ogg" +utannouncer/int/godlike "sounds/announcer/int/godlike.ogg" +utannouncer/int/headshot "sounds/announcer/int/headshot.ogg" +utannouncer/int/killingspree "sounds/announcer/int/killingspree.ogg" +utannouncer/int/lastplace "sounds/announcer/int/lastplace.ogg" +utannouncer/int/lostlead "sounds/announcer/int/lostlead.ogg" +utannouncer/int/lostmatch "sounds/announcer/int/lostmatch.ogg" +utannouncer/int/megakill "sounds/announcer/int/megakill.ogg" +utannouncer/int/monsterkill "sounds/announcer/int/monsterkill.ogg" +utannouncer/int/multikill "sounds/announcer/int/multikill.ogg" +utannouncer/int/nicecatch "sounds/announcer/int/nicecatch.ogg" +utannouncer/int/prepare "sounds/announcer/int/prepare.ogg" +utannouncer/int/proceed "sounds/announcer/int/proceed.ogg" +utannouncer/int/rampage "sounds/announcer/int/rampage.ogg" +utannouncer/int/takenlead "sounds/announcer/int/takenlead.ogg" +utannouncer/int/triplekill "sounds/announcer/int/triplekill.ogg" +utannouncer/int/ultrakill "sounds/announcer/int/ultrakill.ogg" +utannouncer/int/unstoppable "sounds/announcer/int/unstoppable.ogg" +utannouncer/int/winner "sounds/announcer/int/winner.ogg" +/// Spanish +utannouncer/est/assist "sounds/announcer/est/assist.ogg" +utannouncer/est/capture "sounds/announcer/est/capture.ogg" +utannouncer/est/cd1 "sounds/announcer/est/cd1.ogg" +utannouncer/est/cd2 "sounds/announcer/est/cd2.ogg" +utannouncer/est/cd3 "sounds/announcer/est/cd3.ogg" +utannouncer/est/cd4 "sounds/announcer/est/cd4.ogg" +utannouncer/est/cd5 "sounds/announcer/est/cd5.ogg" +utannouncer/est/cd6 "sounds/announcer/est/cd6.ogg" +utannouncer/est/cd7 "sounds/announcer/est/cd7.ogg" +utannouncer/est/cd8 "sounds/announcer/est/cd8.ogg" +utannouncer/est/cd9 "sounds/announcer/est/cd9.ogg" +utannouncer/est/cd10 "sounds/announcer/est/cd10.ogg" +utannouncer/est/cd30sec "sounds/announcer/est/cd30sec.ogg" +utannouncer/est/cd1min "sounds/announcer/est/cd1min.ogg" +utannouncer/est/cd3min "sounds/announcer/est/cd3min.ogg" +utannouncer/est/cd5min "sounds/announcer/est/cd5min.ogg" +utannouncer/est/dominating "sounds/announcer/est/dominating.ogg" +utannouncer/est/doublekill "sounds/announcer/est/doublekill.ogg" +utannouncer/est/failed "sounds/announcer/est/failed.ogg" +utannouncer/est/firstblood "sounds/announcer/est/firstblood.ogg" +utannouncer/est/godlike "sounds/announcer/est/godlike.ogg" +utannouncer/est/headshot "sounds/announcer/est/headshot.ogg" +utannouncer/est/killingspree "sounds/announcer/est/killingspree.ogg" +utannouncer/est/lastplace "sounds/announcer/est/lastplace.ogg" +utannouncer/est/lostlead "sounds/announcer/est/lostlead.ogg" +utannouncer/est/lostmatch "sounds/announcer/est/lostmatch.ogg" +utannouncer/est/megakill "sounds/announcer/est/megakill.ogg" +utannouncer/est/monsterkill "sounds/announcer/est/monsterkill.ogg" +utannouncer/est/multikill "sounds/announcer/est/multikill.ogg" +utannouncer/est/nicecatch "sounds/announcer/est/nicecatch.ogg" +utannouncer/est/prepare "sounds/announcer/est/prepare.ogg" +utannouncer/est/proceed "sounds/announcer/est/proceed.ogg" +utannouncer/est/rampage "sounds/announcer/est/rampage.ogg" +utannouncer/est/takenlead "sounds/announcer/est/takenlead.ogg" +utannouncer/est/triplekill "sounds/announcer/est/triplekill.ogg" +utannouncer/est/ultrakill "sounds/announcer/est/ultrakill.ogg" +utannouncer/est/unstoppable "sounds/announcer/est/unstoppable.ogg" +utannouncer/est/winner "sounds/announcer/est/winner.ogg" + +//// VOICES + +/// English +// boss +bossvoice/int/boom "sounds/boss/int/bboom.ogg" +bossvoice/int/bowdown "sounds/boss/int/bbowdown.ogg" +bossvoice/int/burnbaby "sounds/boss/int/bburnbaby.ogg" +bossvoice/int/diehuman "sounds/boss/int/bdiehuman.ogg" +bossvoice/int/eliminated "sounds/boss/int/beliminated.ogg" +bossvoice/int/fearme "sounds/boss/int/bfearme.ogg" +bossvoice/int/hadtohurt "sounds/boss/int/bhadtohurt.ogg" +bossvoice/int/imonfire "sounds/boss/int/bimonfire.ogg" +bossvoice/int/inferior "sounds/boss/int/binferior.ogg" +bossvoice/int/myhouse "sounds/boss/int/bmyhouse.ogg" +bossvoice/int/next "sounds/boss/int/bnext.ogg" +bossvoice/int/obsolete "sounds/boss/int/bobsolete.ogg" +bossvoice/int/omega "sounds/boss/int/bomega.ogg" +bossvoice/int/perfection "sounds/boss/int/bperfection.ogg" +bossvoice/int/runhuman "sounds/boss/int/brunhuman.ogg" +bossvoice/int/stepaside "sounds/boss/int/bstepaside.ogg" +bossvoice/int/superior "sounds/boss/int/bsuperior.ogg" +bossvoice/int/useless "sounds/boss/int/buseless.ogg" +bossvoice/int/wantsome "sounds/boss/int/bwantsome.ogg" +bossvoice/int/youdie "sounds/boss/int/byoudie.ogg" +bossvoice/int/jackoff "sounds/boss/int/bjackoff.ogg" +// female commando +female1voice/int/boom "sounds/female1/int/f1boom.ogg" +female1voice/int/burnbaby "sounds/female1/int/f1burnbaby.ogg" +female1voice/int/diebitch "sounds/female1/int/f1diebitch.ogg" +female1voice/int/eatthat "sounds/female1/int/f1eatthat.ogg" +female1voice/int/gotim "sounds/female1/int/f1gotim.ogg" +female1voice/int/hadtohurt "sounds/female1/int/f1hadtohurt.ogg" +female1voice/int/letsrock "sounds/female1/int/f1letsrock.ogg" +female1voice/int/likethat "sounds/female1/int/f1likethat.ogg" +female1voice/int/loser "sounds/female1/int/f1loser.ogg" +female1voice/int/ohyeah "sounds/female1/int/f1ohyeah.ogg" +female1voice/int/sitdown "sounds/female1/int/f1sitdown.ogg" +female1voice/int/slaughter "sounds/female1/int/f1slaughter.ogg" +female1voice/int/sorry "sounds/female1/int/f1sorry.ogg" +female1voice/int/squeel "sounds/female1/int/f1squeel.ogg" +female1voice/int/staydown "sounds/female1/int/f1staydown.ogg" +female1voice/int/sucker "sounds/female1/int/f1sucker.ogg" +female1voice/int/tag "sounds/female1/int/f1tag.ogg" +female1voice/int/toasted "sounds/female1/int/f1toasted.ogg" +female1voice/int/wantsome "sounds/female1/int/f1wantsome.ogg" +female1voice/int/yeehaw "sounds/female1/int/f1yeehaw.ogg" +female1voice/int/yousuck "sounds/female1/int/f1yousuck.ogg" +female1voice/int/suckitdown "sounds/female1/int/f1suckitdown.ogg" +// female soldier +female2voice/int/aim "sounds/female2/int/f2aim.ogg" +female2voice/int/biggergun "sounds/female2/int/f2biggergun.ogg" +female2voice/int/boom "sounds/female2/int/f2boom.ogg" +female2voice/int/burnbaby "sounds/female2/int/f2burnbaby.ogg" +female2voice/int/die "sounds/female2/int/f2die.ogg" +female2voice/int/diebitch "sounds/female2/int/f2diebitch.ogg" +female2voice/int/dirtbag "sounds/female2/int/f2dirtbag.ogg" +female2voice/int/eatthat "sounds/female2/int/f2eatthat.ogg" +female2voice/int/gotim "sounds/female2/int/f2gotim.ogg" +female2voice/int/hadtohurt "sounds/female2/int/f2hadtohurt.ogg" +female2voice/int/loser "sounds/female2/int/f2loser.ogg" +female2voice/int/myhouse "sounds/female2/int/f2myhouse.ogg" +female2voice/int/next "sounds/female2/int/f2next.ogg" +female2voice/int/ohyeah "sounds/female2/int/f2ohyeah.ogg" +female2voice/int/safety "sounds/female2/int/f2safety.ogg" +female2voice/int/seeya "sounds/female2/int/f2seeya.ogg" +female2voice/int/staydown "sounds/female2/int/f2staydown.ogg" +female2voice/int/sucker "sounds/female2/int/f2sucker.ogg" +female2voice/int/sweet "sounds/female2/int/f2sweet.ogg" +female2voice/int/target "sounds/female2/int/f2target.ogg" +female2voice/int/tooeasy "sounds/female2/int/f2toeasy.ogg" +female2voice/int/useless "sounds/female2/int/f2useless.ogg" +female2voice/int/wantsome "sounds/female2/int/f2wantsome.ogg" +female2voice/int/yeehaw "sounds/female2/int/f2yeehaw.ogg" +female2voice/int/youlikethat "sounds/female2/int/f2youlikethat.ogg" +female2voice/int/yousuck "sounds/female2/int/f2yousuck.ogg" +// male commando +male1voice/int/boom "sounds/male1/int/m1boom.ogg" +male1voice/int/burnbaby "sounds/male1/int/m1burnbaby.ogg" +male1voice/int/diebitch "sounds/male1/int/m1diebitch.ogg" +male1voice/int/eatthat "sounds/male1/int/m1eatthat.ogg" +male1voice/int/letsrock "sounds/male1/int/m1letsrock.ogg" +male1voice/int/likethat "sounds/male1/int/m1likethat.ogg" +male1voice/int/loser "sounds/male1/int/m1loser.ogg" +male1voice/int/nailedem "sounds/male1/int/m1nailedem.ogg" +male1voice/int/nasty "sounds/male1/int/m1nasty.ogg" +male1voice/int/nice "sounds/male1/int/m1nice.ogg" +male1voice/int/ohyeah "sounds/male1/int/m1ohyeah.ogg" +male1voice/int/slaughter "sounds/male1/int/m1slaughter.ogg" +male1voice/int/sucker "sounds/male1/int/m1sucker.ogg" +male1voice/int/yeahbitch "sounds/male1/int/m1yeahbitch.ogg" +male1voice/int/yeehaw "sounds/male1/int/m1yeehaw.ogg" +male1voice/int/yousuck "sounds/male1/int/m1yousuck.ogg" +male1voice/int/clobber "sounds/male1/int/m1clobber.ogg" +male1voice/int/suckitdown "sounds/male1/int/m1suckitdown.ogg" +// male soldier +male2voice/int/medic "sounds/male2/int/m2medic.ogg" +male2voice/int/onfire "sounds/male2/int/m2onfire.ogg" +male2voice/int/target "sounds/male2/int/m2target.ogg" +male2voice/int/useless "sounds/male2/int/m2useless.ogg" +male2voice/int/yoube "sounds/male2/int/m2yoube.ogg" +male2voice/int/biteme "sounds/male2/int/m2biteme.ogg" +male2voice/int/boom "sounds/male2/int/m2boom.ogg" +male2voice/int/burnbaby "sounds/male2/int/m2burnbaby.ogg" +male2voice/int/diebitch "sounds/male2/int/m2diebitch.ogg" +male2voice/int/dirtbag "sounds/male2/int/m2dirtbag.ogg" +male2voice/int/eatthat "sounds/male2/int/m2eatthat.ogg" +male2voice/int/gotim "sounds/male2/int/m2gotim.ogg" +male2voice/int/laugh "sounds/male2/int/m2laugh.ogg" +male2voice/int/loser "sounds/male2/int/m2loser.ogg" +male2voice/int/myhouse "sounds/male2/int/m2myhouse.ogg" +male2voice/int/next "sounds/male2/int/m2next.ogg" +male2voice/int/ohyeah "sounds/male2/int/m2ohyeah.ogg" +male2voice/int/seeya "sounds/male2/int/m2seeya.ogg" +male2voice/int/staydown "sounds/male2/int/m2staydown.ogg" +male2voice/int/sucker "sounds/male2/int/m2sucker.ogg" +male2voice/int/thathadtohurt "sounds/male2/int/m2thathadtohurt.ogg" +male2voice/int/wantsome "sounds/male2/int/m2wantsome.ogg" +male2voice/int/yalikethat "sounds/male2/int/m2yalikethat.ogg" +male2voice/int/yeehaw "sounds/male2/int/m2yeehaw.ogg" +male2voice/int/yousuck "sounds/male2/int/m2yousuck.ogg" +/// Spanish +// boss +bossvoice/est/boom "sounds/boss/est/bboom.ogg" +bossvoice/est/bowdown "sounds/boss/est/bbowdown.ogg" +bossvoice/est/burnbaby "sounds/boss/est/bburnbaby.ogg" +bossvoice/est/diehuman "sounds/boss/est/bdiehuman.ogg" +bossvoice/est/eliminated "sounds/boss/est/beliminated.ogg" +bossvoice/est/fearme "sounds/boss/est/bfearme.ogg" +bossvoice/est/hadtohurt "sounds/boss/est/bhadtohurt.ogg" +bossvoice/est/imonfire "sounds/boss/est/bimonfire.ogg" +bossvoice/est/inferior "sounds/boss/est/binferior.ogg" +bossvoice/est/myhouse "sounds/boss/est/bmyhouse.ogg" +bossvoice/est/next "sounds/boss/est/bnext.ogg" +bossvoice/est/obsolete "sounds/boss/est/bobsolete.ogg" +bossvoice/est/omega "sounds/boss/est/bomega.ogg" +bossvoice/est/perfection "sounds/boss/est/bperfection.ogg" +bossvoice/est/runhuman "sounds/boss/est/brunhuman.ogg" +bossvoice/est/stepaside "sounds/boss/est/bstepaside.ogg" +bossvoice/est/superior "sounds/boss/est/bsuperior.ogg" +bossvoice/est/useless "sounds/boss/est/buseless.ogg" +bossvoice/est/wantsome "sounds/boss/est/bwantsome.ogg" +bossvoice/est/youdie "sounds/boss/est/byoudie.ogg" +bossvoice/est/jackoff "sounds/boss/est/binferior.ogg" +// female commando +female1voice/est/boom "sounds/female1/est/f1boom.ogg" +female1voice/est/burnbaby "sounds/female1/est/f1burnbaby.ogg" +female1voice/est/diebitch "sounds/female1/est/f1diebitch.ogg" +female1voice/est/eatthat "sounds/female1/est/f1eatthat.ogg" +female1voice/est/gotim "sounds/female1/est/f1gothim.ogg" +female1voice/est/hadtohurt "sounds/female1/est/f1hadtohurt.ogg" +female1voice/est/letsrock "sounds/female1/est/f1letsrock.ogg" +female1voice/est/likethat "sounds/female1/est/f1likethat.ogg" +female1voice/est/loser "sounds/female1/est/f1loser.ogg" +female1voice/est/ohyeah "sounds/female1/est/f1ohyeah.ogg" +female1voice/est/sitdown "sounds/female1/est/f1sitdown.ogg" +female1voice/est/slaughter "sounds/female1/est/f1slaughter.ogg" +female1voice/est/sorry "sounds/female1/est/f1sorry.ogg" +female1voice/est/squeel "sounds/female1/est/f1squeel.ogg" +female1voice/est/staydown "sounds/female1/est/f1staydown.ogg" +female1voice/est/sucker "sounds/female1/est/f1sucker.ogg" +female1voice/est/tag "sounds/female1/est/f1tag.ogg" +female1voice/est/toasted "sounds/female1/est/f1toasted.ogg" +female1voice/est/wantsome "sounds/female1/est/f1wantsome.ogg" +female1voice/est/yeehaw "sounds/female1/est/f1yeehaw.ogg" +female1voice/est/yousuck "sounds/female1/est/f1yousuck.ogg" +female1voice/est/suckitdown "sounds/female1/est/f1sucker.ogg" +// female soldier +female2voice/est/aim "sounds/female2/est/f2aim.ogg" +female2voice/est/biggergun "sounds/female2/est/f2biggergun.ogg" +female2voice/est/boom "sounds/female2/est/f2boom.ogg" +female2voice/est/burnbaby "sounds/female2/est/f2burnbaby.ogg" +female2voice/est/die "sounds/female2/est/f2die.ogg" +female2voice/est/diebitch "sounds/female2/est/f2diebitch.ogg" +female2voice/est/dirtbag "sounds/female2/est/f2dirtbag.ogg" +female2voice/est/eatthat "sounds/female2/est/f2eatthat.ogg" +female2voice/est/gotim "sounds/female2/est/f2gotim.ogg" +female2voice/est/hadtohurt "sounds/female2/est/f2hadtohurt.ogg" +female2voice/est/loser "sounds/female2/est/f2loser.ogg" +female2voice/est/myhouse "sounds/female2/est/f2myhouse.ogg" +female2voice/est/next "sounds/female2/est/f2next.ogg" +female2voice/est/ohyeah "sounds/female2/est/f2ohyeah.ogg" +female2voice/est/safety "sounds/female2/est/f2safety.ogg" +female2voice/est/seeya "sounds/female2/est/f2seeya.ogg" +female2voice/est/staydown "sounds/female2/est/f2staydown.ogg" +female2voice/est/sucker "sounds/female2/est/f2sucker.ogg" +female2voice/est/sweet "sounds/female2/est/f2sucker.ogg" +female2voice/est/target "sounds/female2/est/f2target.ogg" +female2voice/est/tooeasy "sounds/female2/est/f2toeasy.ogg" +female2voice/est/useless "sounds/female2/est/f2useless.ogg" +female2voice/est/wantsome "sounds/female2/est/f2useless.ogg" +female2voice/est/yeehaw "sounds/female2/est/f2useless.ogg" +female2voice/est/youlikethat "sounds/female2/est/f2youlikethat.ogg" +female2voice/est/yousuck "sounds/female2/est/f2yousuck.ogg" +// male commando +male1voice/est/boom "sounds/male1/est/m1boom.ogg" +male1voice/est/burnbaby "sounds/male1/est/m1burnbaby.ogg" +male1voice/est/diebitch "sounds/male1/est/m1diebitch.ogg" +male1voice/est/eatthat "sounds/male1/est/m1eatthat.ogg" +male1voice/est/letsrock "sounds/male1/est/m1letsrock.ogg" +male1voice/est/likethat "sounds/male1/est/m1likethat.ogg" +male1voice/est/loser "sounds/male1/est/m1loser.ogg" +male1voice/est/nailedem "sounds/male1/est/m1nailedem.ogg" +male1voice/est/nasty "sounds/male1/est/m1nasty.ogg" +male1voice/est/nice "sounds/male1/est/m1nice.ogg" +male1voice/est/ohyeah "sounds/male1/est/m1ohyeah.ogg" +male1voice/est/slaughter "sounds/male1/est/m1slaughter.ogg" +male1voice/est/sucker "sounds/male1/est/m1sucker.ogg" +male1voice/est/yeahbitch "sounds/male1/est/m1yeahbitch.ogg" +male1voice/est/yeehaw "sounds/male1/est/m1yeehaw.ogg" +male1voice/est/yousuck "sounds/male1/est/m1yousuck.ogg" +male1voice/est/clobber "sounds/male1/est/m1burnbaby.ogg" +male1voice/est/suckitdown "sounds/male1/est/m1sucker.ogg" +// male soldier +male2voice/est/medic "sounds/male2/est/m2medic.ogg" +male2voice/est/onfire "sounds/male2/est/m2onfire.ogg" +male2voice/est/target "sounds/male2/est/m2target.ogg" +male2voice/est/useless "sounds/male2/est/m2useless.ogg" +male2voice/est/yoube "sounds/male2/est/m2yoube.ogg" +male2voice/est/biteme "sounds/male2/est/m2biteme.ogg" +male2voice/est/boom "sounds/male2/est/m2boom.ogg" +male2voice/est/burnbaby "sounds/male2/est/m2burnbaby.ogg" +male2voice/est/diebitch "sounds/male2/est/m2diebitch.ogg" +male2voice/est/dirtbag "sounds/male2/est/m2dirtbag.ogg" +male2voice/est/eatthat "sounds/male2/est/m2eatthat.ogg" +male2voice/est/gotim "sounds/male2/est/m2gotim.ogg" +male2voice/est/laugh "sounds/male2/est/m2laugh.ogg" +male2voice/est/loser "sounds/male2/est/m2loser.ogg" +male2voice/est/myhouse "sounds/male2/est/m2myhouse.ogg" +male2voice/est/next "sounds/male2/est/m2next.ogg" +male2voice/est/ohyeah "sounds/male2/est/m2ohyeah.ogg" +male2voice/est/seeya "sounds/male2/est/m2seeya.ogg" +male2voice/est/staydown "sounds/male2/est/m2staydown.ogg" +male2voice/est/sucker "sounds/male2/est/m2sucker.ogg" +male2voice/est/thathadtohurt "sounds/male2/est/m2thathadtohurt.ogg" +male2voice/est/wantsome "sounds/male2/est/m2wantsome.ogg" +male2voice/est/yalikethat "sounds/male2/est/m2yalikethat.ogg" +male2voice/est/yeehaw "sounds/male2/est/m2yeehaw.ogg" +male2voice/est/yousuck "sounds/male2/est/m2yousuck.ogg" diff --git a/sounds/announcer/est/assist.ogg b/sounds/announcer/est/assist.ogg new file mode 100644 index 0000000..761c33d Binary files /dev/null and b/sounds/announcer/est/assist.ogg differ diff --git a/sounds/announcer/est/capture.ogg b/sounds/announcer/est/capture.ogg new file mode 100644 index 0000000..f048863 Binary files /dev/null and b/sounds/announcer/est/capture.ogg differ diff --git a/sounds/announcer/est/cd1.ogg b/sounds/announcer/est/cd1.ogg new file mode 100644 index 0000000..8bc022c Binary files /dev/null and b/sounds/announcer/est/cd1.ogg differ diff --git a/sounds/announcer/est/cd10.ogg b/sounds/announcer/est/cd10.ogg new file mode 100644 index 0000000..5953cf4 Binary files /dev/null and b/sounds/announcer/est/cd10.ogg differ diff --git a/sounds/announcer/est/cd1min.ogg b/sounds/announcer/est/cd1min.ogg new file mode 100644 index 0000000..41e9022 Binary files /dev/null and b/sounds/announcer/est/cd1min.ogg differ diff --git a/sounds/announcer/est/cd2.ogg b/sounds/announcer/est/cd2.ogg new file mode 100644 index 0000000..e09c01d Binary files /dev/null and b/sounds/announcer/est/cd2.ogg differ diff --git a/sounds/announcer/est/cd3.ogg b/sounds/announcer/est/cd3.ogg new file mode 100644 index 0000000..84be3b9 Binary files /dev/null and b/sounds/announcer/est/cd3.ogg differ diff --git a/sounds/announcer/est/cd30sec.ogg b/sounds/announcer/est/cd30sec.ogg new file mode 100644 index 0000000..48c4d27 Binary files /dev/null and b/sounds/announcer/est/cd30sec.ogg differ diff --git a/sounds/announcer/est/cd3min.ogg b/sounds/announcer/est/cd3min.ogg new file mode 100644 index 0000000..6249daf Binary files /dev/null and b/sounds/announcer/est/cd3min.ogg differ diff --git a/sounds/announcer/est/cd4.ogg b/sounds/announcer/est/cd4.ogg new file mode 100644 index 0000000..4d3766b Binary files /dev/null and b/sounds/announcer/est/cd4.ogg differ diff --git a/sounds/announcer/est/cd5.ogg b/sounds/announcer/est/cd5.ogg new file mode 100644 index 0000000..8bafb7b Binary files /dev/null and b/sounds/announcer/est/cd5.ogg differ diff --git a/sounds/announcer/est/cd5min.ogg b/sounds/announcer/est/cd5min.ogg new file mode 100644 index 0000000..112d19c Binary files /dev/null and b/sounds/announcer/est/cd5min.ogg differ diff --git a/sounds/announcer/est/cd6.ogg b/sounds/announcer/est/cd6.ogg new file mode 100644 index 0000000..4787b1a Binary files /dev/null and b/sounds/announcer/est/cd6.ogg differ diff --git a/sounds/announcer/est/cd7.ogg b/sounds/announcer/est/cd7.ogg new file mode 100644 index 0000000..6c8e18a Binary files /dev/null and b/sounds/announcer/est/cd7.ogg differ diff --git a/sounds/announcer/est/cd8.ogg b/sounds/announcer/est/cd8.ogg new file mode 100644 index 0000000..4679e29 Binary files /dev/null and b/sounds/announcer/est/cd8.ogg differ diff --git a/sounds/announcer/est/cd9.ogg b/sounds/announcer/est/cd9.ogg new file mode 100644 index 0000000..02f891a Binary files /dev/null and b/sounds/announcer/est/cd9.ogg differ diff --git a/sounds/announcer/est/dominating.ogg b/sounds/announcer/est/dominating.ogg new file mode 100644 index 0000000..19f56ac Binary files /dev/null and b/sounds/announcer/est/dominating.ogg differ diff --git a/sounds/announcer/est/doublekill.ogg b/sounds/announcer/est/doublekill.ogg new file mode 100644 index 0000000..60aabdc Binary files /dev/null and b/sounds/announcer/est/doublekill.ogg differ diff --git a/sounds/announcer/est/failed.ogg b/sounds/announcer/est/failed.ogg new file mode 100644 index 0000000..e363fd1 Binary files /dev/null and b/sounds/announcer/est/failed.ogg differ diff --git a/sounds/announcer/est/firstblood.ogg b/sounds/announcer/est/firstblood.ogg new file mode 100644 index 0000000..3ba1bfa Binary files /dev/null and b/sounds/announcer/est/firstblood.ogg differ diff --git a/sounds/announcer/est/godlike.ogg b/sounds/announcer/est/godlike.ogg new file mode 100644 index 0000000..18d6034 Binary files /dev/null and b/sounds/announcer/est/godlike.ogg differ diff --git a/sounds/announcer/est/headshot.ogg b/sounds/announcer/est/headshot.ogg new file mode 100644 index 0000000..9a86ef5 Binary files /dev/null and b/sounds/announcer/est/headshot.ogg differ diff --git a/sounds/announcer/est/killingspree.ogg b/sounds/announcer/est/killingspree.ogg new file mode 100644 index 0000000..d06f222 Binary files /dev/null and b/sounds/announcer/est/killingspree.ogg differ diff --git a/sounds/announcer/est/lastplace.ogg b/sounds/announcer/est/lastplace.ogg new file mode 100644 index 0000000..df27e17 Binary files /dev/null and b/sounds/announcer/est/lastplace.ogg differ diff --git a/sounds/announcer/est/lostlead.ogg b/sounds/announcer/est/lostlead.ogg new file mode 100644 index 0000000..76b5daf Binary files /dev/null and b/sounds/announcer/est/lostlead.ogg differ diff --git a/sounds/announcer/est/lostmatch.ogg b/sounds/announcer/est/lostmatch.ogg new file mode 100644 index 0000000..5e36b8b Binary files /dev/null and b/sounds/announcer/est/lostmatch.ogg differ diff --git a/sounds/announcer/est/megakill.ogg b/sounds/announcer/est/megakill.ogg new file mode 100644 index 0000000..47fe243 Binary files /dev/null and b/sounds/announcer/est/megakill.ogg differ diff --git a/sounds/announcer/est/monsterkill.ogg b/sounds/announcer/est/monsterkill.ogg new file mode 100644 index 0000000..9e57f2b Binary files /dev/null and b/sounds/announcer/est/monsterkill.ogg differ diff --git a/sounds/announcer/est/multikill.ogg b/sounds/announcer/est/multikill.ogg new file mode 100644 index 0000000..bdf1536 Binary files /dev/null and b/sounds/announcer/est/multikill.ogg differ diff --git a/sounds/announcer/est/nicecatch.ogg b/sounds/announcer/est/nicecatch.ogg new file mode 100644 index 0000000..0c4408c Binary files /dev/null and b/sounds/announcer/est/nicecatch.ogg differ diff --git a/sounds/announcer/est/prepare.ogg b/sounds/announcer/est/prepare.ogg new file mode 100644 index 0000000..93bad0a Binary files /dev/null and b/sounds/announcer/est/prepare.ogg differ diff --git a/sounds/announcer/est/proceed.ogg b/sounds/announcer/est/proceed.ogg new file mode 100644 index 0000000..d582830 Binary files /dev/null and b/sounds/announcer/est/proceed.ogg differ diff --git a/sounds/announcer/est/rampage.ogg b/sounds/announcer/est/rampage.ogg new file mode 100644 index 0000000..23185f2 Binary files /dev/null and b/sounds/announcer/est/rampage.ogg differ diff --git a/sounds/announcer/est/takenlead.ogg b/sounds/announcer/est/takenlead.ogg new file mode 100644 index 0000000..92070da Binary files /dev/null and b/sounds/announcer/est/takenlead.ogg differ diff --git a/sounds/announcer/est/triplekill.ogg b/sounds/announcer/est/triplekill.ogg new file mode 100644 index 0000000..8be7ef3 Binary files /dev/null and b/sounds/announcer/est/triplekill.ogg differ diff --git a/sounds/announcer/est/ultrakill.ogg b/sounds/announcer/est/ultrakill.ogg new file mode 100644 index 0000000..d6d9c9e Binary files /dev/null and b/sounds/announcer/est/ultrakill.ogg differ diff --git a/sounds/announcer/est/unstoppable.ogg b/sounds/announcer/est/unstoppable.ogg new file mode 100644 index 0000000..84a3e44 Binary files /dev/null and b/sounds/announcer/est/unstoppable.ogg differ diff --git a/sounds/announcer/est/winner.ogg b/sounds/announcer/est/winner.ogg new file mode 100644 index 0000000..210723f Binary files /dev/null and b/sounds/announcer/est/winner.ogg differ diff --git a/sounds/announcer/int/assist.ogg b/sounds/announcer/int/assist.ogg new file mode 100644 index 0000000..df86ffb Binary files /dev/null and b/sounds/announcer/int/assist.ogg differ diff --git a/sounds/announcer/int/capture.ogg b/sounds/announcer/int/capture.ogg new file mode 100644 index 0000000..5f85437 Binary files /dev/null and b/sounds/announcer/int/capture.ogg differ diff --git a/sounds/announcer/int/cd1.ogg b/sounds/announcer/int/cd1.ogg new file mode 100644 index 0000000..679dfd9 Binary files /dev/null and b/sounds/announcer/int/cd1.ogg differ diff --git a/sounds/announcer/int/cd10.ogg b/sounds/announcer/int/cd10.ogg new file mode 100644 index 0000000..ad18079 Binary files /dev/null and b/sounds/announcer/int/cd10.ogg differ diff --git a/sounds/announcer/int/cd1min.ogg b/sounds/announcer/int/cd1min.ogg new file mode 100644 index 0000000..27e8309 Binary files /dev/null and b/sounds/announcer/int/cd1min.ogg differ diff --git a/sounds/announcer/int/cd2.ogg b/sounds/announcer/int/cd2.ogg new file mode 100644 index 0000000..08ff38f Binary files /dev/null and b/sounds/announcer/int/cd2.ogg differ diff --git a/sounds/announcer/int/cd3.ogg b/sounds/announcer/int/cd3.ogg new file mode 100644 index 0000000..b7e49db Binary files /dev/null and b/sounds/announcer/int/cd3.ogg differ diff --git a/sounds/announcer/int/cd30sec.ogg b/sounds/announcer/int/cd30sec.ogg new file mode 100644 index 0000000..375097f Binary files /dev/null and b/sounds/announcer/int/cd30sec.ogg differ diff --git a/sounds/announcer/int/cd3min.ogg b/sounds/announcer/int/cd3min.ogg new file mode 100644 index 0000000..9a4cf3b Binary files /dev/null and b/sounds/announcer/int/cd3min.ogg differ diff --git a/sounds/announcer/int/cd4.ogg b/sounds/announcer/int/cd4.ogg new file mode 100644 index 0000000..c278b8a Binary files /dev/null and b/sounds/announcer/int/cd4.ogg differ diff --git a/sounds/announcer/int/cd5.ogg b/sounds/announcer/int/cd5.ogg new file mode 100644 index 0000000..b15d799 Binary files /dev/null and b/sounds/announcer/int/cd5.ogg differ diff --git a/sounds/announcer/int/cd5min.ogg b/sounds/announcer/int/cd5min.ogg new file mode 100644 index 0000000..cee9e07 Binary files /dev/null and b/sounds/announcer/int/cd5min.ogg differ diff --git a/sounds/announcer/int/cd6.ogg b/sounds/announcer/int/cd6.ogg new file mode 100644 index 0000000..ab32cfe Binary files /dev/null and b/sounds/announcer/int/cd6.ogg differ diff --git a/sounds/announcer/int/cd7.ogg b/sounds/announcer/int/cd7.ogg new file mode 100644 index 0000000..df7c8bb Binary files /dev/null and b/sounds/announcer/int/cd7.ogg differ diff --git a/sounds/announcer/int/cd8.ogg b/sounds/announcer/int/cd8.ogg new file mode 100644 index 0000000..8e19469 Binary files /dev/null and b/sounds/announcer/int/cd8.ogg differ diff --git a/sounds/announcer/int/cd9.ogg b/sounds/announcer/int/cd9.ogg new file mode 100644 index 0000000..1305432 Binary files /dev/null and b/sounds/announcer/int/cd9.ogg differ diff --git a/sounds/announcer/int/dominating.ogg b/sounds/announcer/int/dominating.ogg new file mode 100644 index 0000000..63d3643 Binary files /dev/null and b/sounds/announcer/int/dominating.ogg differ diff --git a/sounds/announcer/int/doublekill.ogg b/sounds/announcer/int/doublekill.ogg new file mode 100644 index 0000000..8ea485c Binary files /dev/null and b/sounds/announcer/int/doublekill.ogg differ diff --git a/sounds/announcer/int/failed.ogg b/sounds/announcer/int/failed.ogg new file mode 100644 index 0000000..18bfaab Binary files /dev/null and b/sounds/announcer/int/failed.ogg differ diff --git a/sounds/announcer/int/firstblood.ogg b/sounds/announcer/int/firstblood.ogg new file mode 100644 index 0000000..346eedd Binary files /dev/null and b/sounds/announcer/int/firstblood.ogg differ diff --git a/sounds/announcer/int/godlike.ogg b/sounds/announcer/int/godlike.ogg new file mode 100644 index 0000000..2f27d02 Binary files /dev/null and b/sounds/announcer/int/godlike.ogg differ diff --git a/sounds/announcer/int/headshot.ogg b/sounds/announcer/int/headshot.ogg new file mode 100644 index 0000000..932a22e Binary files /dev/null and b/sounds/announcer/int/headshot.ogg differ diff --git a/sounds/announcer/int/killingspree.ogg b/sounds/announcer/int/killingspree.ogg new file mode 100644 index 0000000..e45f6ac Binary files /dev/null and b/sounds/announcer/int/killingspree.ogg differ diff --git a/sounds/announcer/int/lastplace.ogg b/sounds/announcer/int/lastplace.ogg new file mode 100644 index 0000000..9a82e77 Binary files /dev/null and b/sounds/announcer/int/lastplace.ogg differ diff --git a/sounds/announcer/int/lostlead.ogg b/sounds/announcer/int/lostlead.ogg new file mode 100644 index 0000000..0719cfa Binary files /dev/null and b/sounds/announcer/int/lostlead.ogg differ diff --git a/sounds/announcer/int/lostmatch.ogg b/sounds/announcer/int/lostmatch.ogg new file mode 100644 index 0000000..cb6ede3 Binary files /dev/null and b/sounds/announcer/int/lostmatch.ogg differ diff --git a/sounds/announcer/int/megakill.ogg b/sounds/announcer/int/megakill.ogg new file mode 100644 index 0000000..1dcb7d3 Binary files /dev/null and b/sounds/announcer/int/megakill.ogg differ diff --git a/sounds/announcer/int/monsterkill.ogg b/sounds/announcer/int/monsterkill.ogg new file mode 100644 index 0000000..eb5f1e4 Binary files /dev/null and b/sounds/announcer/int/monsterkill.ogg differ diff --git a/sounds/announcer/int/multikill.ogg b/sounds/announcer/int/multikill.ogg new file mode 100644 index 0000000..d181b7d Binary files /dev/null and b/sounds/announcer/int/multikill.ogg differ diff --git a/sounds/announcer/int/nicecatch.ogg b/sounds/announcer/int/nicecatch.ogg new file mode 100644 index 0000000..47bee48 Binary files /dev/null and b/sounds/announcer/int/nicecatch.ogg differ diff --git a/sounds/announcer/int/prepare.ogg b/sounds/announcer/int/prepare.ogg new file mode 100644 index 0000000..4cdf445 Binary files /dev/null and b/sounds/announcer/int/prepare.ogg differ diff --git a/sounds/announcer/int/proceed.ogg b/sounds/announcer/int/proceed.ogg new file mode 100644 index 0000000..f4fd13b Binary files /dev/null and b/sounds/announcer/int/proceed.ogg differ diff --git a/sounds/announcer/int/rampage.ogg b/sounds/announcer/int/rampage.ogg new file mode 100644 index 0000000..100fe86 Binary files /dev/null and b/sounds/announcer/int/rampage.ogg differ diff --git a/sounds/announcer/int/takenlead.ogg b/sounds/announcer/int/takenlead.ogg new file mode 100644 index 0000000..c50226d Binary files /dev/null and b/sounds/announcer/int/takenlead.ogg differ diff --git a/sounds/announcer/int/triplekill.ogg b/sounds/announcer/int/triplekill.ogg new file mode 100644 index 0000000..195364f Binary files /dev/null and b/sounds/announcer/int/triplekill.ogg differ diff --git a/sounds/announcer/int/ultrakill.ogg b/sounds/announcer/int/ultrakill.ogg new file mode 100644 index 0000000..094caec Binary files /dev/null and b/sounds/announcer/int/ultrakill.ogg differ diff --git a/sounds/announcer/int/unstoppable.ogg b/sounds/announcer/int/unstoppable.ogg new file mode 100644 index 0000000..da8ba97 Binary files /dev/null and b/sounds/announcer/int/unstoppable.ogg differ diff --git a/sounds/announcer/int/winner.ogg b/sounds/announcer/int/winner.ogg new file mode 100644 index 0000000..090610b Binary files /dev/null and b/sounds/announcer/int/winner.ogg differ diff --git a/sounds/boss/est/Bboom.ogg b/sounds/boss/est/Bboom.ogg new file mode 100644 index 0000000..3e25d46 Binary files /dev/null and b/sounds/boss/est/Bboom.ogg differ diff --git a/sounds/boss/est/Bbowdown.ogg b/sounds/boss/est/Bbowdown.ogg new file mode 100644 index 0000000..5bae5ed Binary files /dev/null and b/sounds/boss/est/Bbowdown.ogg differ diff --git a/sounds/boss/est/Bburnbaby.ogg b/sounds/boss/est/Bburnbaby.ogg new file mode 100644 index 0000000..032389e Binary files /dev/null and b/sounds/boss/est/Bburnbaby.ogg differ diff --git a/sounds/boss/est/Bdiehuman.ogg b/sounds/boss/est/Bdiehuman.ogg new file mode 100644 index 0000000..95537a5 Binary files /dev/null and b/sounds/boss/est/Bdiehuman.ogg differ diff --git a/sounds/boss/est/Beliminated.ogg b/sounds/boss/est/Beliminated.ogg new file mode 100644 index 0000000..4943cd7 Binary files /dev/null and b/sounds/boss/est/Beliminated.ogg differ diff --git a/sounds/boss/est/Bfearme.ogg b/sounds/boss/est/Bfearme.ogg new file mode 100644 index 0000000..9b3e37c Binary files /dev/null and b/sounds/boss/est/Bfearme.ogg differ diff --git a/sounds/boss/est/Bhadtohurt.ogg b/sounds/boss/est/Bhadtohurt.ogg new file mode 100644 index 0000000..92acf3a Binary files /dev/null and b/sounds/boss/est/Bhadtohurt.ogg differ diff --git a/sounds/boss/est/Bimonfire.ogg b/sounds/boss/est/Bimonfire.ogg new file mode 100644 index 0000000..c215d4b Binary files /dev/null and b/sounds/boss/est/Bimonfire.ogg differ diff --git a/sounds/boss/est/Binferior.ogg b/sounds/boss/est/Binferior.ogg new file mode 100644 index 0000000..2245b84 Binary files /dev/null and b/sounds/boss/est/Binferior.ogg differ diff --git a/sounds/boss/est/Bmyhouse.ogg b/sounds/boss/est/Bmyhouse.ogg new file mode 100644 index 0000000..8527084 Binary files /dev/null and b/sounds/boss/est/Bmyhouse.ogg differ diff --git a/sounds/boss/est/Bnext.ogg b/sounds/boss/est/Bnext.ogg new file mode 100644 index 0000000..41a4ce5 Binary files /dev/null and b/sounds/boss/est/Bnext.ogg differ diff --git a/sounds/boss/est/Bobsolete.ogg b/sounds/boss/est/Bobsolete.ogg new file mode 100644 index 0000000..c9fe415 Binary files /dev/null and b/sounds/boss/est/Bobsolete.ogg differ diff --git a/sounds/boss/est/Bomega.ogg b/sounds/boss/est/Bomega.ogg new file mode 100644 index 0000000..baf56a4 Binary files /dev/null and b/sounds/boss/est/Bomega.ogg differ diff --git a/sounds/boss/est/Bperfection.ogg b/sounds/boss/est/Bperfection.ogg new file mode 100644 index 0000000..c716249 Binary files /dev/null and b/sounds/boss/est/Bperfection.ogg differ diff --git a/sounds/boss/est/Brunhuman.ogg b/sounds/boss/est/Brunhuman.ogg new file mode 100644 index 0000000..9ceccb1 Binary files /dev/null and b/sounds/boss/est/Brunhuman.ogg differ diff --git a/sounds/boss/est/Bstepaside.ogg b/sounds/boss/est/Bstepaside.ogg new file mode 100644 index 0000000..8883390 Binary files /dev/null and b/sounds/boss/est/Bstepaside.ogg differ diff --git a/sounds/boss/est/Bsuperior.ogg b/sounds/boss/est/Bsuperior.ogg new file mode 100644 index 0000000..44eefe7 Binary files /dev/null and b/sounds/boss/est/Bsuperior.ogg differ diff --git a/sounds/boss/est/Buseless.ogg b/sounds/boss/est/Buseless.ogg new file mode 100644 index 0000000..baa5182 Binary files /dev/null and b/sounds/boss/est/Buseless.ogg differ diff --git a/sounds/boss/est/Bwantsome.ogg b/sounds/boss/est/Bwantsome.ogg new file mode 100644 index 0000000..07feb19 Binary files /dev/null and b/sounds/boss/est/Bwantsome.ogg differ diff --git a/sounds/boss/est/Byoudie.ogg b/sounds/boss/est/Byoudie.ogg new file mode 100644 index 0000000..1402938 Binary files /dev/null and b/sounds/boss/est/Byoudie.ogg differ diff --git a/sounds/boss/int/Bboom.ogg b/sounds/boss/int/Bboom.ogg new file mode 100644 index 0000000..3f569e4 Binary files /dev/null and b/sounds/boss/int/Bboom.ogg differ diff --git a/sounds/boss/int/Bbowdown.ogg b/sounds/boss/int/Bbowdown.ogg new file mode 100644 index 0000000..82af051 Binary files /dev/null and b/sounds/boss/int/Bbowdown.ogg differ diff --git a/sounds/boss/int/Bburnbaby.ogg b/sounds/boss/int/Bburnbaby.ogg new file mode 100644 index 0000000..05fb80f Binary files /dev/null and b/sounds/boss/int/Bburnbaby.ogg differ diff --git a/sounds/boss/int/Bdiehuman.ogg b/sounds/boss/int/Bdiehuman.ogg new file mode 100644 index 0000000..891a15a Binary files /dev/null and b/sounds/boss/int/Bdiehuman.ogg differ diff --git a/sounds/boss/int/Beliminated.ogg b/sounds/boss/int/Beliminated.ogg new file mode 100644 index 0000000..11fd838 Binary files /dev/null and b/sounds/boss/int/Beliminated.ogg differ diff --git a/sounds/boss/int/Bfearme.ogg b/sounds/boss/int/Bfearme.ogg new file mode 100644 index 0000000..3e4f116 Binary files /dev/null and b/sounds/boss/int/Bfearme.ogg differ diff --git a/sounds/boss/int/Bhadtohurt.ogg b/sounds/boss/int/Bhadtohurt.ogg new file mode 100644 index 0000000..9183014 Binary files /dev/null and b/sounds/boss/int/Bhadtohurt.ogg differ diff --git a/sounds/boss/int/Bimonfire.ogg b/sounds/boss/int/Bimonfire.ogg new file mode 100644 index 0000000..c7e0591 Binary files /dev/null and b/sounds/boss/int/Bimonfire.ogg differ diff --git a/sounds/boss/int/Binferior.ogg b/sounds/boss/int/Binferior.ogg new file mode 100644 index 0000000..8a706b8 Binary files /dev/null and b/sounds/boss/int/Binferior.ogg differ diff --git a/sounds/boss/int/Bjackoff.ogg b/sounds/boss/int/Bjackoff.ogg new file mode 100644 index 0000000..6932217 Binary files /dev/null and b/sounds/boss/int/Bjackoff.ogg differ diff --git a/sounds/boss/int/Bmyhouse.ogg b/sounds/boss/int/Bmyhouse.ogg new file mode 100644 index 0000000..e2b96d3 Binary files /dev/null and b/sounds/boss/int/Bmyhouse.ogg differ diff --git a/sounds/boss/int/Bnext.ogg b/sounds/boss/int/Bnext.ogg new file mode 100644 index 0000000..3813ef5 Binary files /dev/null and b/sounds/boss/int/Bnext.ogg differ diff --git a/sounds/boss/int/Bobsolete.ogg b/sounds/boss/int/Bobsolete.ogg new file mode 100644 index 0000000..f43c14f Binary files /dev/null and b/sounds/boss/int/Bobsolete.ogg differ diff --git a/sounds/boss/int/Bomega.ogg b/sounds/boss/int/Bomega.ogg new file mode 100644 index 0000000..c5f28e0 Binary files /dev/null and b/sounds/boss/int/Bomega.ogg differ diff --git a/sounds/boss/int/Bperfection.ogg b/sounds/boss/int/Bperfection.ogg new file mode 100644 index 0000000..f18e01c Binary files /dev/null and b/sounds/boss/int/Bperfection.ogg differ diff --git a/sounds/boss/int/Brunhuman.ogg b/sounds/boss/int/Brunhuman.ogg new file mode 100644 index 0000000..64cf367 Binary files /dev/null and b/sounds/boss/int/Brunhuman.ogg differ diff --git a/sounds/boss/int/Bstepaside.ogg b/sounds/boss/int/Bstepaside.ogg new file mode 100644 index 0000000..a41cadb Binary files /dev/null and b/sounds/boss/int/Bstepaside.ogg differ diff --git a/sounds/boss/int/Bsuperior.ogg b/sounds/boss/int/Bsuperior.ogg new file mode 100644 index 0000000..bf5b5cd Binary files /dev/null and b/sounds/boss/int/Bsuperior.ogg differ diff --git a/sounds/boss/int/Buseless.ogg b/sounds/boss/int/Buseless.ogg new file mode 100644 index 0000000..0b28a2a Binary files /dev/null and b/sounds/boss/int/Buseless.ogg differ diff --git a/sounds/boss/int/Bwantsome.ogg b/sounds/boss/int/Bwantsome.ogg new file mode 100644 index 0000000..9f27293 Binary files /dev/null and b/sounds/boss/int/Bwantsome.ogg differ diff --git a/sounds/boss/int/Byoudie.ogg b/sounds/boss/int/Byoudie.ogg new file mode 100644 index 0000000..af1ba40 Binary files /dev/null and b/sounds/boss/int/Byoudie.ogg differ diff --git a/sounds/female1/est/F1boom.ogg b/sounds/female1/est/F1boom.ogg new file mode 100644 index 0000000..a6578c2 Binary files /dev/null and b/sounds/female1/est/F1boom.ogg differ diff --git a/sounds/female1/est/F1burnbaby.ogg b/sounds/female1/est/F1burnbaby.ogg new file mode 100644 index 0000000..e256be5 Binary files /dev/null and b/sounds/female1/est/F1burnbaby.ogg differ diff --git a/sounds/female1/est/F1diebitch.ogg b/sounds/female1/est/F1diebitch.ogg new file mode 100644 index 0000000..e7b7857 Binary files /dev/null and b/sounds/female1/est/F1diebitch.ogg differ diff --git a/sounds/female1/est/F1eatthat.ogg b/sounds/female1/est/F1eatthat.ogg new file mode 100644 index 0000000..b86730d Binary files /dev/null and b/sounds/female1/est/F1eatthat.ogg differ diff --git a/sounds/female1/est/F1hadtohurt.ogg b/sounds/female1/est/F1hadtohurt.ogg new file mode 100644 index 0000000..0bb40b2 Binary files /dev/null and b/sounds/female1/est/F1hadtohurt.ogg differ diff --git a/sounds/female1/est/F1letsrock.ogg b/sounds/female1/est/F1letsrock.ogg new file mode 100644 index 0000000..cb5cdfd Binary files /dev/null and b/sounds/female1/est/F1letsrock.ogg differ diff --git a/sounds/female1/est/F1likethat.ogg b/sounds/female1/est/F1likethat.ogg new file mode 100644 index 0000000..9d63d57 Binary files /dev/null and b/sounds/female1/est/F1likethat.ogg differ diff --git a/sounds/female1/est/F1loser.ogg b/sounds/female1/est/F1loser.ogg new file mode 100644 index 0000000..3e3778c Binary files /dev/null and b/sounds/female1/est/F1loser.ogg differ diff --git a/sounds/female1/est/F1ohyeah.ogg b/sounds/female1/est/F1ohyeah.ogg new file mode 100644 index 0000000..d5fb853 Binary files /dev/null and b/sounds/female1/est/F1ohyeah.ogg differ diff --git a/sounds/female1/est/F1sitdown.ogg b/sounds/female1/est/F1sitdown.ogg new file mode 100644 index 0000000..0180c0e Binary files /dev/null and b/sounds/female1/est/F1sitdown.ogg differ diff --git a/sounds/female1/est/F1slaughter.ogg b/sounds/female1/est/F1slaughter.ogg new file mode 100644 index 0000000..e1b01e9 Binary files /dev/null and b/sounds/female1/est/F1slaughter.ogg differ diff --git a/sounds/female1/est/F1sorry.ogg b/sounds/female1/est/F1sorry.ogg new file mode 100644 index 0000000..5053352 Binary files /dev/null and b/sounds/female1/est/F1sorry.ogg differ diff --git a/sounds/female1/est/F1squeel.ogg b/sounds/female1/est/F1squeel.ogg new file mode 100644 index 0000000..3ab213a Binary files /dev/null and b/sounds/female1/est/F1squeel.ogg differ diff --git a/sounds/female1/est/F1staydown.ogg b/sounds/female1/est/F1staydown.ogg new file mode 100644 index 0000000..8236293 Binary files /dev/null and b/sounds/female1/est/F1staydown.ogg differ diff --git a/sounds/female1/est/F1sucker.ogg b/sounds/female1/est/F1sucker.ogg new file mode 100644 index 0000000..cf5a927 Binary files /dev/null and b/sounds/female1/est/F1sucker.ogg differ diff --git a/sounds/female1/est/F1tag.ogg b/sounds/female1/est/F1tag.ogg new file mode 100644 index 0000000..2141cb8 Binary files /dev/null and b/sounds/female1/est/F1tag.ogg differ diff --git a/sounds/female1/est/F1toasted.ogg b/sounds/female1/est/F1toasted.ogg new file mode 100644 index 0000000..2d2ef93 Binary files /dev/null and b/sounds/female1/est/F1toasted.ogg differ diff --git a/sounds/female1/est/F1wantsome.ogg b/sounds/female1/est/F1wantsome.ogg new file mode 100644 index 0000000..3cb4509 Binary files /dev/null and b/sounds/female1/est/F1wantsome.ogg differ diff --git a/sounds/female1/est/F1yeehaw.ogg b/sounds/female1/est/F1yeehaw.ogg new file mode 100644 index 0000000..07b102c Binary files /dev/null and b/sounds/female1/est/F1yeehaw.ogg differ diff --git a/sounds/female1/est/F1yousuck.ogg b/sounds/female1/est/F1yousuck.ogg new file mode 100644 index 0000000..c0e16e9 Binary files /dev/null and b/sounds/female1/est/F1yousuck.ogg differ diff --git a/sounds/female1/est/f1gothim.ogg b/sounds/female1/est/f1gothim.ogg new file mode 100644 index 0000000..d9a03cb Binary files /dev/null and b/sounds/female1/est/f1gothim.ogg differ diff --git a/sounds/female1/int/F1boom.ogg b/sounds/female1/int/F1boom.ogg new file mode 100644 index 0000000..10d3e10 Binary files /dev/null and b/sounds/female1/int/F1boom.ogg differ diff --git a/sounds/female1/int/F1burnbaby.ogg b/sounds/female1/int/F1burnbaby.ogg new file mode 100644 index 0000000..c5cd66a Binary files /dev/null and b/sounds/female1/int/F1burnbaby.ogg differ diff --git a/sounds/female1/int/F1diebitch.ogg b/sounds/female1/int/F1diebitch.ogg new file mode 100644 index 0000000..dfc46d6 Binary files /dev/null and b/sounds/female1/int/F1diebitch.ogg differ diff --git a/sounds/female1/int/F1eatthat.ogg b/sounds/female1/int/F1eatthat.ogg new file mode 100644 index 0000000..ced7f4b Binary files /dev/null and b/sounds/female1/int/F1eatthat.ogg differ diff --git a/sounds/female1/int/F1gotim.ogg b/sounds/female1/int/F1gotim.ogg new file mode 100644 index 0000000..3de5395 Binary files /dev/null and b/sounds/female1/int/F1gotim.ogg differ diff --git a/sounds/female1/int/F1hadtohurt.ogg b/sounds/female1/int/F1hadtohurt.ogg new file mode 100644 index 0000000..756aa45 Binary files /dev/null and b/sounds/female1/int/F1hadtohurt.ogg differ diff --git a/sounds/female1/int/F1letsrock.ogg b/sounds/female1/int/F1letsrock.ogg new file mode 100644 index 0000000..2f048a9 Binary files /dev/null and b/sounds/female1/int/F1letsrock.ogg differ diff --git a/sounds/female1/int/F1likethat.ogg b/sounds/female1/int/F1likethat.ogg new file mode 100644 index 0000000..967ac25 Binary files /dev/null and b/sounds/female1/int/F1likethat.ogg differ diff --git a/sounds/female1/int/F1loser.ogg b/sounds/female1/int/F1loser.ogg new file mode 100644 index 0000000..c408309 Binary files /dev/null and b/sounds/female1/int/F1loser.ogg differ diff --git a/sounds/female1/int/F1ohyeah.ogg b/sounds/female1/int/F1ohyeah.ogg new file mode 100644 index 0000000..1efa340 Binary files /dev/null and b/sounds/female1/int/F1ohyeah.ogg differ diff --git a/sounds/female1/int/F1sitdown.ogg b/sounds/female1/int/F1sitdown.ogg new file mode 100644 index 0000000..e40a4bb Binary files /dev/null and b/sounds/female1/int/F1sitdown.ogg differ diff --git a/sounds/female1/int/F1slaughter.ogg b/sounds/female1/int/F1slaughter.ogg new file mode 100644 index 0000000..7fe14e3 Binary files /dev/null and b/sounds/female1/int/F1slaughter.ogg differ diff --git a/sounds/female1/int/F1sorry.ogg b/sounds/female1/int/F1sorry.ogg new file mode 100644 index 0000000..163d7fb Binary files /dev/null and b/sounds/female1/int/F1sorry.ogg differ diff --git a/sounds/female1/int/F1squeel.ogg b/sounds/female1/int/F1squeel.ogg new file mode 100644 index 0000000..83f118b Binary files /dev/null and b/sounds/female1/int/F1squeel.ogg differ diff --git a/sounds/female1/int/F1staydown.ogg b/sounds/female1/int/F1staydown.ogg new file mode 100644 index 0000000..c96bc31 Binary files /dev/null and b/sounds/female1/int/F1staydown.ogg differ diff --git a/sounds/female1/int/F1sucker.ogg b/sounds/female1/int/F1sucker.ogg new file mode 100644 index 0000000..845366d Binary files /dev/null and b/sounds/female1/int/F1sucker.ogg differ diff --git a/sounds/female1/int/F1suckitdown.ogg b/sounds/female1/int/F1suckitdown.ogg new file mode 100644 index 0000000..faf1169 Binary files /dev/null and b/sounds/female1/int/F1suckitdown.ogg differ diff --git a/sounds/female1/int/F1tag.ogg b/sounds/female1/int/F1tag.ogg new file mode 100644 index 0000000..a38fc1b Binary files /dev/null and b/sounds/female1/int/F1tag.ogg differ diff --git a/sounds/female1/int/F1toasted.ogg b/sounds/female1/int/F1toasted.ogg new file mode 100644 index 0000000..364b476 Binary files /dev/null and b/sounds/female1/int/F1toasted.ogg differ diff --git a/sounds/female1/int/F1wantsome.ogg b/sounds/female1/int/F1wantsome.ogg new file mode 100644 index 0000000..2a31017 Binary files /dev/null and b/sounds/female1/int/F1wantsome.ogg differ diff --git a/sounds/female1/int/F1yeehaw.ogg b/sounds/female1/int/F1yeehaw.ogg new file mode 100644 index 0000000..59c27fc Binary files /dev/null and b/sounds/female1/int/F1yeehaw.ogg differ diff --git a/sounds/female1/int/F1yousuck.ogg b/sounds/female1/int/F1yousuck.ogg new file mode 100644 index 0000000..3038709 Binary files /dev/null and b/sounds/female1/int/F1yousuck.ogg differ diff --git a/sounds/female2/est/F2aim.ogg b/sounds/female2/est/F2aim.ogg new file mode 100644 index 0000000..e71e55a Binary files /dev/null and b/sounds/female2/est/F2aim.ogg differ diff --git a/sounds/female2/est/F2biggergun.ogg b/sounds/female2/est/F2biggergun.ogg new file mode 100644 index 0000000..f311e9a Binary files /dev/null and b/sounds/female2/est/F2biggergun.ogg differ diff --git a/sounds/female2/est/F2boom.ogg b/sounds/female2/est/F2boom.ogg new file mode 100644 index 0000000..a4a89b2 Binary files /dev/null and b/sounds/female2/est/F2boom.ogg differ diff --git a/sounds/female2/est/F2burnbaby.ogg b/sounds/female2/est/F2burnbaby.ogg new file mode 100644 index 0000000..9318661 Binary files /dev/null and b/sounds/female2/est/F2burnbaby.ogg differ diff --git a/sounds/female2/est/F2die.ogg b/sounds/female2/est/F2die.ogg new file mode 100644 index 0000000..635ec43 Binary files /dev/null and b/sounds/female2/est/F2die.ogg differ diff --git a/sounds/female2/est/F2diebitch.ogg b/sounds/female2/est/F2diebitch.ogg new file mode 100644 index 0000000..21afade Binary files /dev/null and b/sounds/female2/est/F2diebitch.ogg differ diff --git a/sounds/female2/est/F2dirtbag.ogg b/sounds/female2/est/F2dirtbag.ogg new file mode 100644 index 0000000..353ab43 Binary files /dev/null and b/sounds/female2/est/F2dirtbag.ogg differ diff --git a/sounds/female2/est/F2eatthat.ogg b/sounds/female2/est/F2eatthat.ogg new file mode 100644 index 0000000..841ab02 Binary files /dev/null and b/sounds/female2/est/F2eatthat.ogg differ diff --git a/sounds/female2/est/F2gotim.ogg b/sounds/female2/est/F2gotim.ogg new file mode 100644 index 0000000..79b507d Binary files /dev/null and b/sounds/female2/est/F2gotim.ogg differ diff --git a/sounds/female2/est/F2hadtohurt.ogg b/sounds/female2/est/F2hadtohurt.ogg new file mode 100644 index 0000000..9b0a890 Binary files /dev/null and b/sounds/female2/est/F2hadtohurt.ogg differ diff --git a/sounds/female2/est/F2loser.ogg b/sounds/female2/est/F2loser.ogg new file mode 100644 index 0000000..141dafa Binary files /dev/null and b/sounds/female2/est/F2loser.ogg differ diff --git a/sounds/female2/est/F2myhouse.ogg b/sounds/female2/est/F2myhouse.ogg new file mode 100644 index 0000000..f6ee8e2 Binary files /dev/null and b/sounds/female2/est/F2myhouse.ogg differ diff --git a/sounds/female2/est/F2next.ogg b/sounds/female2/est/F2next.ogg new file mode 100644 index 0000000..fcfc1d0 Binary files /dev/null and b/sounds/female2/est/F2next.ogg differ diff --git a/sounds/female2/est/F2ohyeah.ogg b/sounds/female2/est/F2ohyeah.ogg new file mode 100644 index 0000000..853b650 Binary files /dev/null and b/sounds/female2/est/F2ohyeah.ogg differ diff --git a/sounds/female2/est/F2safety.ogg b/sounds/female2/est/F2safety.ogg new file mode 100644 index 0000000..002a465 Binary files /dev/null and b/sounds/female2/est/F2safety.ogg differ diff --git a/sounds/female2/est/F2seeya.ogg b/sounds/female2/est/F2seeya.ogg new file mode 100644 index 0000000..08fed4c Binary files /dev/null and b/sounds/female2/est/F2seeya.ogg differ diff --git a/sounds/female2/est/F2staydown.ogg b/sounds/female2/est/F2staydown.ogg new file mode 100644 index 0000000..51d8105 Binary files /dev/null and b/sounds/female2/est/F2staydown.ogg differ diff --git a/sounds/female2/est/F2sucker.ogg b/sounds/female2/est/F2sucker.ogg new file mode 100644 index 0000000..09da3b2 Binary files /dev/null and b/sounds/female2/est/F2sucker.ogg differ diff --git a/sounds/female2/est/F2target.ogg b/sounds/female2/est/F2target.ogg new file mode 100644 index 0000000..0b1c8b4 Binary files /dev/null and b/sounds/female2/est/F2target.ogg differ diff --git a/sounds/female2/est/F2toeasy.ogg b/sounds/female2/est/F2toeasy.ogg new file mode 100644 index 0000000..16e5189 Binary files /dev/null and b/sounds/female2/est/F2toeasy.ogg differ diff --git a/sounds/female2/est/F2useless.ogg b/sounds/female2/est/F2useless.ogg new file mode 100644 index 0000000..bb57b3f Binary files /dev/null and b/sounds/female2/est/F2useless.ogg differ diff --git a/sounds/female2/est/F2youlikethat.ogg b/sounds/female2/est/F2youlikethat.ogg new file mode 100644 index 0000000..9b9ba07 Binary files /dev/null and b/sounds/female2/est/F2youlikethat.ogg differ diff --git a/sounds/female2/est/F2yousuck.ogg b/sounds/female2/est/F2yousuck.ogg new file mode 100644 index 0000000..a938da5 Binary files /dev/null and b/sounds/female2/est/F2yousuck.ogg differ diff --git a/sounds/female2/int/F2aim.ogg b/sounds/female2/int/F2aim.ogg new file mode 100644 index 0000000..6cb04a6 Binary files /dev/null and b/sounds/female2/int/F2aim.ogg differ diff --git a/sounds/female2/int/F2biggergun.ogg b/sounds/female2/int/F2biggergun.ogg new file mode 100644 index 0000000..512ac86 Binary files /dev/null and b/sounds/female2/int/F2biggergun.ogg differ diff --git a/sounds/female2/int/F2boom.ogg b/sounds/female2/int/F2boom.ogg new file mode 100644 index 0000000..789de1a Binary files /dev/null and b/sounds/female2/int/F2boom.ogg differ diff --git a/sounds/female2/int/F2burnbaby.ogg b/sounds/female2/int/F2burnbaby.ogg new file mode 100644 index 0000000..5b2b135 Binary files /dev/null and b/sounds/female2/int/F2burnbaby.ogg differ diff --git a/sounds/female2/int/F2die.ogg b/sounds/female2/int/F2die.ogg new file mode 100644 index 0000000..9572b9b Binary files /dev/null and b/sounds/female2/int/F2die.ogg differ diff --git a/sounds/female2/int/F2diebitch.ogg b/sounds/female2/int/F2diebitch.ogg new file mode 100644 index 0000000..a890e8e Binary files /dev/null and b/sounds/female2/int/F2diebitch.ogg differ diff --git a/sounds/female2/int/F2dirtbag.ogg b/sounds/female2/int/F2dirtbag.ogg new file mode 100644 index 0000000..3e276a1 Binary files /dev/null and b/sounds/female2/int/F2dirtbag.ogg differ diff --git a/sounds/female2/int/F2eatthat.ogg b/sounds/female2/int/F2eatthat.ogg new file mode 100644 index 0000000..85602b3 Binary files /dev/null and b/sounds/female2/int/F2eatthat.ogg differ diff --git a/sounds/female2/int/F2gotim.ogg b/sounds/female2/int/F2gotim.ogg new file mode 100644 index 0000000..19e5563 Binary files /dev/null and b/sounds/female2/int/F2gotim.ogg differ diff --git a/sounds/female2/int/F2hadtohurt.ogg b/sounds/female2/int/F2hadtohurt.ogg new file mode 100644 index 0000000..4ab7c7c Binary files /dev/null and b/sounds/female2/int/F2hadtohurt.ogg differ diff --git a/sounds/female2/int/F2loser.ogg b/sounds/female2/int/F2loser.ogg new file mode 100644 index 0000000..d8de43d Binary files /dev/null and b/sounds/female2/int/F2loser.ogg differ diff --git a/sounds/female2/int/F2myhouse.ogg b/sounds/female2/int/F2myhouse.ogg new file mode 100644 index 0000000..42ce85d Binary files /dev/null and b/sounds/female2/int/F2myhouse.ogg differ diff --git a/sounds/female2/int/F2next.ogg b/sounds/female2/int/F2next.ogg new file mode 100644 index 0000000..213077e Binary files /dev/null and b/sounds/female2/int/F2next.ogg differ diff --git a/sounds/female2/int/F2ohyeah.ogg b/sounds/female2/int/F2ohyeah.ogg new file mode 100644 index 0000000..4361549 Binary files /dev/null and b/sounds/female2/int/F2ohyeah.ogg differ diff --git a/sounds/female2/int/F2safety.ogg b/sounds/female2/int/F2safety.ogg new file mode 100644 index 0000000..793afe5 Binary files /dev/null and b/sounds/female2/int/F2safety.ogg differ diff --git a/sounds/female2/int/F2seeya.ogg b/sounds/female2/int/F2seeya.ogg new file mode 100644 index 0000000..e47df16 Binary files /dev/null and b/sounds/female2/int/F2seeya.ogg differ diff --git a/sounds/female2/int/F2staydown.ogg b/sounds/female2/int/F2staydown.ogg new file mode 100644 index 0000000..5646f28 Binary files /dev/null and b/sounds/female2/int/F2staydown.ogg differ diff --git a/sounds/female2/int/F2sucker.ogg b/sounds/female2/int/F2sucker.ogg new file mode 100644 index 0000000..e0f9649 Binary files /dev/null and b/sounds/female2/int/F2sucker.ogg differ diff --git a/sounds/female2/int/F2sweet.ogg b/sounds/female2/int/F2sweet.ogg new file mode 100644 index 0000000..b59773a Binary files /dev/null and b/sounds/female2/int/F2sweet.ogg differ diff --git a/sounds/female2/int/F2target.ogg b/sounds/female2/int/F2target.ogg new file mode 100644 index 0000000..1ebe31f Binary files /dev/null and b/sounds/female2/int/F2target.ogg differ diff --git a/sounds/female2/int/F2toeasy.ogg b/sounds/female2/int/F2toeasy.ogg new file mode 100644 index 0000000..8c00110 Binary files /dev/null and b/sounds/female2/int/F2toeasy.ogg differ diff --git a/sounds/female2/int/F2useless.ogg b/sounds/female2/int/F2useless.ogg new file mode 100644 index 0000000..4d5ffc7 Binary files /dev/null and b/sounds/female2/int/F2useless.ogg differ diff --git a/sounds/female2/int/F2wantsome.ogg b/sounds/female2/int/F2wantsome.ogg new file mode 100644 index 0000000..a0feccd Binary files /dev/null and b/sounds/female2/int/F2wantsome.ogg differ diff --git a/sounds/female2/int/F2yeehaw.ogg b/sounds/female2/int/F2yeehaw.ogg new file mode 100644 index 0000000..ecb1819 Binary files /dev/null and b/sounds/female2/int/F2yeehaw.ogg differ diff --git a/sounds/female2/int/F2youlikethat.ogg b/sounds/female2/int/F2youlikethat.ogg new file mode 100644 index 0000000..f13f203 Binary files /dev/null and b/sounds/female2/int/F2youlikethat.ogg differ diff --git a/sounds/female2/int/F2yousuck.ogg b/sounds/female2/int/F2yousuck.ogg new file mode 100644 index 0000000..c51e50b Binary files /dev/null and b/sounds/female2/int/F2yousuck.ogg differ diff --git a/sounds/male1/est/M1boom.ogg b/sounds/male1/est/M1boom.ogg new file mode 100644 index 0000000..a27f5e5 Binary files /dev/null and b/sounds/male1/est/M1boom.ogg differ diff --git a/sounds/male1/est/M1burnbaby.ogg b/sounds/male1/est/M1burnbaby.ogg new file mode 100644 index 0000000..300b793 Binary files /dev/null and b/sounds/male1/est/M1burnbaby.ogg differ diff --git a/sounds/male1/est/M1diebitch.ogg b/sounds/male1/est/M1diebitch.ogg new file mode 100644 index 0000000..0863e03 Binary files /dev/null and b/sounds/male1/est/M1diebitch.ogg differ diff --git a/sounds/male1/est/M1eatthat.ogg b/sounds/male1/est/M1eatthat.ogg new file mode 100644 index 0000000..8eb6792 Binary files /dev/null and b/sounds/male1/est/M1eatthat.ogg differ diff --git a/sounds/male1/est/M1letsrock.ogg b/sounds/male1/est/M1letsrock.ogg new file mode 100644 index 0000000..1b38395 Binary files /dev/null and b/sounds/male1/est/M1letsrock.ogg differ diff --git a/sounds/male1/est/M1likethat.ogg b/sounds/male1/est/M1likethat.ogg new file mode 100644 index 0000000..f8ae530 Binary files /dev/null and b/sounds/male1/est/M1likethat.ogg differ diff --git a/sounds/male1/est/M1loser.ogg b/sounds/male1/est/M1loser.ogg new file mode 100644 index 0000000..cbf5c9b Binary files /dev/null and b/sounds/male1/est/M1loser.ogg differ diff --git a/sounds/male1/est/M1nailedem.ogg b/sounds/male1/est/M1nailedem.ogg new file mode 100644 index 0000000..2cf3a1f Binary files /dev/null and b/sounds/male1/est/M1nailedem.ogg differ diff --git a/sounds/male1/est/M1nasty.ogg b/sounds/male1/est/M1nasty.ogg new file mode 100644 index 0000000..562eaa2 Binary files /dev/null and b/sounds/male1/est/M1nasty.ogg differ diff --git a/sounds/male1/est/M1nice.ogg b/sounds/male1/est/M1nice.ogg new file mode 100644 index 0000000..2001cdc Binary files /dev/null and b/sounds/male1/est/M1nice.ogg differ diff --git a/sounds/male1/est/M1ohyeah.ogg b/sounds/male1/est/M1ohyeah.ogg new file mode 100644 index 0000000..3e9d972 Binary files /dev/null and b/sounds/male1/est/M1ohyeah.ogg differ diff --git a/sounds/male1/est/M1slaughter.ogg b/sounds/male1/est/M1slaughter.ogg new file mode 100644 index 0000000..0b1e0b7 Binary files /dev/null and b/sounds/male1/est/M1slaughter.ogg differ diff --git a/sounds/male1/est/M1sucker.ogg b/sounds/male1/est/M1sucker.ogg new file mode 100644 index 0000000..b300e75 Binary files /dev/null and b/sounds/male1/est/M1sucker.ogg differ diff --git a/sounds/male1/est/M1yeahbitch.ogg b/sounds/male1/est/M1yeahbitch.ogg new file mode 100644 index 0000000..5fec017 Binary files /dev/null and b/sounds/male1/est/M1yeahbitch.ogg differ diff --git a/sounds/male1/est/M1yeehaw.ogg b/sounds/male1/est/M1yeehaw.ogg new file mode 100644 index 0000000..e9c2f19 Binary files /dev/null and b/sounds/male1/est/M1yeehaw.ogg differ diff --git a/sounds/male1/est/M1yousuck.ogg b/sounds/male1/est/M1yousuck.ogg new file mode 100644 index 0000000..f06b98b Binary files /dev/null and b/sounds/male1/est/M1yousuck.ogg differ diff --git a/sounds/male1/int/M1boom.ogg b/sounds/male1/int/M1boom.ogg new file mode 100644 index 0000000..feaeb63 Binary files /dev/null and b/sounds/male1/int/M1boom.ogg differ diff --git a/sounds/male1/int/M1burnbaby.ogg b/sounds/male1/int/M1burnbaby.ogg new file mode 100644 index 0000000..0594593 Binary files /dev/null and b/sounds/male1/int/M1burnbaby.ogg differ diff --git a/sounds/male1/int/M1clobber.ogg b/sounds/male1/int/M1clobber.ogg new file mode 100644 index 0000000..6f81d21 Binary files /dev/null and b/sounds/male1/int/M1clobber.ogg differ diff --git a/sounds/male1/int/M1diebitch.ogg b/sounds/male1/int/M1diebitch.ogg new file mode 100644 index 0000000..1b43fc5 Binary files /dev/null and b/sounds/male1/int/M1diebitch.ogg differ diff --git a/sounds/male1/int/M1eatthat.ogg b/sounds/male1/int/M1eatthat.ogg new file mode 100644 index 0000000..8680688 Binary files /dev/null and b/sounds/male1/int/M1eatthat.ogg differ diff --git a/sounds/male1/int/M1letsrock.ogg b/sounds/male1/int/M1letsrock.ogg new file mode 100644 index 0000000..c93f92d Binary files /dev/null and b/sounds/male1/int/M1letsrock.ogg differ diff --git a/sounds/male1/int/M1likethat.ogg b/sounds/male1/int/M1likethat.ogg new file mode 100644 index 0000000..c0be5fc Binary files /dev/null and b/sounds/male1/int/M1likethat.ogg differ diff --git a/sounds/male1/int/M1loser.ogg b/sounds/male1/int/M1loser.ogg new file mode 100644 index 0000000..d840bb5 Binary files /dev/null and b/sounds/male1/int/M1loser.ogg differ diff --git a/sounds/male1/int/M1nailedem.ogg b/sounds/male1/int/M1nailedem.ogg new file mode 100644 index 0000000..3ce4667 Binary files /dev/null and b/sounds/male1/int/M1nailedem.ogg differ diff --git a/sounds/male1/int/M1nasty.ogg b/sounds/male1/int/M1nasty.ogg new file mode 100644 index 0000000..8d8db04 Binary files /dev/null and b/sounds/male1/int/M1nasty.ogg differ diff --git a/sounds/male1/int/M1nice.ogg b/sounds/male1/int/M1nice.ogg new file mode 100644 index 0000000..8951af8 Binary files /dev/null and b/sounds/male1/int/M1nice.ogg differ diff --git a/sounds/male1/int/M1ohyeah.ogg b/sounds/male1/int/M1ohyeah.ogg new file mode 100644 index 0000000..b4260c4 Binary files /dev/null and b/sounds/male1/int/M1ohyeah.ogg differ diff --git a/sounds/male1/int/M1slaughter.ogg b/sounds/male1/int/M1slaughter.ogg new file mode 100644 index 0000000..ca349ed Binary files /dev/null and b/sounds/male1/int/M1slaughter.ogg differ diff --git a/sounds/male1/int/M1sucker.ogg b/sounds/male1/int/M1sucker.ogg new file mode 100644 index 0000000..a6b2f9b Binary files /dev/null and b/sounds/male1/int/M1sucker.ogg differ diff --git a/sounds/male1/int/M1suckitdown.ogg b/sounds/male1/int/M1suckitdown.ogg new file mode 100644 index 0000000..8901b77 Binary files /dev/null and b/sounds/male1/int/M1suckitdown.ogg differ diff --git a/sounds/male1/int/M1yeahbitch.ogg b/sounds/male1/int/M1yeahbitch.ogg new file mode 100644 index 0000000..ba3d891 Binary files /dev/null and b/sounds/male1/int/M1yeahbitch.ogg differ diff --git a/sounds/male1/int/M1yeehaw.ogg b/sounds/male1/int/M1yeehaw.ogg new file mode 100644 index 0000000..a637bed Binary files /dev/null and b/sounds/male1/int/M1yeehaw.ogg differ diff --git a/sounds/male1/int/M1yousuck.ogg b/sounds/male1/int/M1yousuck.ogg new file mode 100644 index 0000000..c58e7c8 Binary files /dev/null and b/sounds/male1/int/M1yousuck.ogg differ diff --git a/sounds/male2/est/M2Medic.ogg b/sounds/male2/est/M2Medic.ogg new file mode 100644 index 0000000..4837732 Binary files /dev/null and b/sounds/male2/est/M2Medic.ogg differ diff --git a/sounds/male2/est/M2OnFire.ogg b/sounds/male2/est/M2OnFire.ogg new file mode 100644 index 0000000..3eef4e1 Binary files /dev/null and b/sounds/male2/est/M2OnFire.ogg differ diff --git a/sounds/male2/est/M2Target.ogg b/sounds/male2/est/M2Target.ogg new file mode 100644 index 0000000..99aff96 Binary files /dev/null and b/sounds/male2/est/M2Target.ogg differ diff --git a/sounds/male2/est/M2Useless.ogg b/sounds/male2/est/M2Useless.ogg new file mode 100644 index 0000000..ea69eb5 Binary files /dev/null and b/sounds/male2/est/M2Useless.ogg differ diff --git a/sounds/male2/est/M2Yoube.ogg b/sounds/male2/est/M2Yoube.ogg new file mode 100644 index 0000000..08f3a24 Binary files /dev/null and b/sounds/male2/est/M2Yoube.ogg differ diff --git a/sounds/male2/est/M2biteme.ogg b/sounds/male2/est/M2biteme.ogg new file mode 100644 index 0000000..037e36d Binary files /dev/null and b/sounds/male2/est/M2biteme.ogg differ diff --git a/sounds/male2/est/M2boom.ogg b/sounds/male2/est/M2boom.ogg new file mode 100644 index 0000000..4cda90d Binary files /dev/null and b/sounds/male2/est/M2boom.ogg differ diff --git a/sounds/male2/est/M2burnbaby.ogg b/sounds/male2/est/M2burnbaby.ogg new file mode 100644 index 0000000..cdf4560 Binary files /dev/null and b/sounds/male2/est/M2burnbaby.ogg differ diff --git a/sounds/male2/est/M2diebitch.ogg b/sounds/male2/est/M2diebitch.ogg new file mode 100644 index 0000000..12aa4a6 Binary files /dev/null and b/sounds/male2/est/M2diebitch.ogg differ diff --git a/sounds/male2/est/M2dirtbag.ogg b/sounds/male2/est/M2dirtbag.ogg new file mode 100644 index 0000000..cf4065f Binary files /dev/null and b/sounds/male2/est/M2dirtbag.ogg differ diff --git a/sounds/male2/est/M2eatthat.ogg b/sounds/male2/est/M2eatthat.ogg new file mode 100644 index 0000000..769e489 Binary files /dev/null and b/sounds/male2/est/M2eatthat.ogg differ diff --git a/sounds/male2/est/M2gotim.ogg b/sounds/male2/est/M2gotim.ogg new file mode 100644 index 0000000..94de755 Binary files /dev/null and b/sounds/male2/est/M2gotim.ogg differ diff --git a/sounds/male2/est/M2laugh.ogg b/sounds/male2/est/M2laugh.ogg new file mode 100644 index 0000000..e74aefe Binary files /dev/null and b/sounds/male2/est/M2laugh.ogg differ diff --git a/sounds/male2/est/M2loser.ogg b/sounds/male2/est/M2loser.ogg new file mode 100644 index 0000000..fb7e708 Binary files /dev/null and b/sounds/male2/est/M2loser.ogg differ diff --git a/sounds/male2/est/M2myhouse.ogg b/sounds/male2/est/M2myhouse.ogg new file mode 100644 index 0000000..da26926 Binary files /dev/null and b/sounds/male2/est/M2myhouse.ogg differ diff --git a/sounds/male2/est/M2next.ogg b/sounds/male2/est/M2next.ogg new file mode 100644 index 0000000..f53daa8 Binary files /dev/null and b/sounds/male2/est/M2next.ogg differ diff --git a/sounds/male2/est/M2ohyeah.ogg b/sounds/male2/est/M2ohyeah.ogg new file mode 100644 index 0000000..fad8b30 Binary files /dev/null and b/sounds/male2/est/M2ohyeah.ogg differ diff --git a/sounds/male2/est/M2seeya.ogg b/sounds/male2/est/M2seeya.ogg new file mode 100644 index 0000000..ee0426e Binary files /dev/null and b/sounds/male2/est/M2seeya.ogg differ diff --git a/sounds/male2/est/M2staydown.ogg b/sounds/male2/est/M2staydown.ogg new file mode 100644 index 0000000..aa8692f Binary files /dev/null and b/sounds/male2/est/M2staydown.ogg differ diff --git a/sounds/male2/est/M2sucker.ogg b/sounds/male2/est/M2sucker.ogg new file mode 100644 index 0000000..f449cf0 Binary files /dev/null and b/sounds/male2/est/M2sucker.ogg differ diff --git a/sounds/male2/est/M2thathadtohurt.ogg b/sounds/male2/est/M2thathadtohurt.ogg new file mode 100644 index 0000000..f499f7a Binary files /dev/null and b/sounds/male2/est/M2thathadtohurt.ogg differ diff --git a/sounds/male2/est/M2wantsome.ogg b/sounds/male2/est/M2wantsome.ogg new file mode 100644 index 0000000..ca76faf Binary files /dev/null and b/sounds/male2/est/M2wantsome.ogg differ diff --git a/sounds/male2/est/M2yalikethat.ogg b/sounds/male2/est/M2yalikethat.ogg new file mode 100644 index 0000000..691dc5d Binary files /dev/null and b/sounds/male2/est/M2yalikethat.ogg differ diff --git a/sounds/male2/est/M2yeehaw.ogg b/sounds/male2/est/M2yeehaw.ogg new file mode 100644 index 0000000..f7665aa Binary files /dev/null and b/sounds/male2/est/M2yeehaw.ogg differ diff --git a/sounds/male2/est/M2yousuck.ogg b/sounds/male2/est/M2yousuck.ogg new file mode 100644 index 0000000..eeaa2df Binary files /dev/null and b/sounds/male2/est/M2yousuck.ogg differ diff --git a/sounds/male2/int/M2Medic.ogg b/sounds/male2/int/M2Medic.ogg new file mode 100644 index 0000000..16717c0 Binary files /dev/null and b/sounds/male2/int/M2Medic.ogg differ diff --git a/sounds/male2/int/M2OnFire.ogg b/sounds/male2/int/M2OnFire.ogg new file mode 100644 index 0000000..99aa7e1 Binary files /dev/null and b/sounds/male2/int/M2OnFire.ogg differ diff --git a/sounds/male2/int/M2Target.ogg b/sounds/male2/int/M2Target.ogg new file mode 100644 index 0000000..54b9a40 Binary files /dev/null and b/sounds/male2/int/M2Target.ogg differ diff --git a/sounds/male2/int/M2Useless.ogg b/sounds/male2/int/M2Useless.ogg new file mode 100644 index 0000000..d42c7f6 Binary files /dev/null and b/sounds/male2/int/M2Useless.ogg differ diff --git a/sounds/male2/int/M2Yoube.ogg b/sounds/male2/int/M2Yoube.ogg new file mode 100644 index 0000000..656dde0 Binary files /dev/null and b/sounds/male2/int/M2Yoube.ogg differ diff --git a/sounds/male2/int/M2biteme.ogg b/sounds/male2/int/M2biteme.ogg new file mode 100644 index 0000000..c8446af Binary files /dev/null and b/sounds/male2/int/M2biteme.ogg differ diff --git a/sounds/male2/int/M2boom.ogg b/sounds/male2/int/M2boom.ogg new file mode 100644 index 0000000..e64f829 Binary files /dev/null and b/sounds/male2/int/M2boom.ogg differ diff --git a/sounds/male2/int/M2burnbaby.ogg b/sounds/male2/int/M2burnbaby.ogg new file mode 100644 index 0000000..d34d3b7 Binary files /dev/null and b/sounds/male2/int/M2burnbaby.ogg differ diff --git a/sounds/male2/int/M2diebitch.ogg b/sounds/male2/int/M2diebitch.ogg new file mode 100644 index 0000000..9064636 Binary files /dev/null and b/sounds/male2/int/M2diebitch.ogg differ diff --git a/sounds/male2/int/M2dirtbag.ogg b/sounds/male2/int/M2dirtbag.ogg new file mode 100644 index 0000000..596e0f1 Binary files /dev/null and b/sounds/male2/int/M2dirtbag.ogg differ diff --git a/sounds/male2/int/M2eatthat.ogg b/sounds/male2/int/M2eatthat.ogg new file mode 100644 index 0000000..ba5556e Binary files /dev/null and b/sounds/male2/int/M2eatthat.ogg differ diff --git a/sounds/male2/int/M2gotim.ogg b/sounds/male2/int/M2gotim.ogg new file mode 100644 index 0000000..52c7aaf Binary files /dev/null and b/sounds/male2/int/M2gotim.ogg differ diff --git a/sounds/male2/int/M2laugh.ogg b/sounds/male2/int/M2laugh.ogg new file mode 100644 index 0000000..814e22a Binary files /dev/null and b/sounds/male2/int/M2laugh.ogg differ diff --git a/sounds/male2/int/M2loser.ogg b/sounds/male2/int/M2loser.ogg new file mode 100644 index 0000000..f729744 Binary files /dev/null and b/sounds/male2/int/M2loser.ogg differ diff --git a/sounds/male2/int/M2myhouse.ogg b/sounds/male2/int/M2myhouse.ogg new file mode 100644 index 0000000..f8e99a9 Binary files /dev/null and b/sounds/male2/int/M2myhouse.ogg differ diff --git a/sounds/male2/int/M2next.ogg b/sounds/male2/int/M2next.ogg new file mode 100644 index 0000000..2522293 Binary files /dev/null and b/sounds/male2/int/M2next.ogg differ diff --git a/sounds/male2/int/M2ohyeah.ogg b/sounds/male2/int/M2ohyeah.ogg new file mode 100644 index 0000000..ace08ea Binary files /dev/null and b/sounds/male2/int/M2ohyeah.ogg differ diff --git a/sounds/male2/int/M2seeya.ogg b/sounds/male2/int/M2seeya.ogg new file mode 100644 index 0000000..29de3f1 Binary files /dev/null and b/sounds/male2/int/M2seeya.ogg differ diff --git a/sounds/male2/int/M2staydown.ogg b/sounds/male2/int/M2staydown.ogg new file mode 100644 index 0000000..4b3e7f2 Binary files /dev/null and b/sounds/male2/int/M2staydown.ogg differ diff --git a/sounds/male2/int/M2sucker.ogg b/sounds/male2/int/M2sucker.ogg new file mode 100644 index 0000000..6301f71 Binary files /dev/null and b/sounds/male2/int/M2sucker.ogg differ diff --git a/sounds/male2/int/M2thathadtohurt.ogg b/sounds/male2/int/M2thathadtohurt.ogg new file mode 100644 index 0000000..7c046f9 Binary files /dev/null and b/sounds/male2/int/M2thathadtohurt.ogg differ diff --git a/sounds/male2/int/M2wantsome.ogg b/sounds/male2/int/M2wantsome.ogg new file mode 100644 index 0000000..67a21e6 Binary files /dev/null and b/sounds/male2/int/M2wantsome.ogg differ diff --git a/sounds/male2/int/M2yalikethat.ogg b/sounds/male2/int/M2yalikethat.ogg new file mode 100644 index 0000000..88ea617 Binary files /dev/null and b/sounds/male2/int/M2yalikethat.ogg differ diff --git a/sounds/male2/int/M2yeehaw.ogg b/sounds/male2/int/M2yeehaw.ogg new file mode 100644 index 0000000..f71a380 Binary files /dev/null and b/sounds/male2/int/M2yeehaw.ogg differ diff --git a/sounds/male2/int/M2yousuck.ogg b/sounds/male2/int/M2yousuck.ogg new file mode 100644 index 0000000..a36e40c Binary files /dev/null and b/sounds/male2/int/M2yousuck.ogg differ diff --git a/sounds/spreesnd.ogg b/sounds/spreesnd.ogg new file mode 100644 index 0000000..6c25946 Binary files /dev/null and b/sounds/spreesnd.ogg differ diff --git a/sprites/FEXPB0.png b/sprites/FEXPB0.png index ec63a0d..526ea95 100644 Binary files a/sprites/FEXPB0.png and b/sprites/FEXPB0.png differ diff --git a/sprites/FEXPC0.png b/sprites/FEXPC0.png index 28d2e0e..b121878 100644 Binary files a/sprites/FEXPC0.png and b/sprites/FEXPC0.png differ diff --git a/sprites/FEXPD0.png b/sprites/FEXPD0.png index 1de21d1..505642c 100644 Binary files a/sprites/FEXPD0.png and b/sprites/FEXPD0.png differ diff --git a/sprites/TPEFA0.png b/sprites/TPEFA0.png index d477e75..a7209aa 100644 Binary files a/sprites/TPEFA0.png and b/sprites/TPEFA0.png differ diff --git a/sprites/UTFLB0.png b/sprites/UTFLB0.png index 1a01e08..3729898 100644 Binary files a/sprites/UTFLB0.png and b/sprites/UTFLB0.png differ diff --git a/sprites/UTFLC0.png b/sprites/UTFLC0.png index c2454b3..5a56f6a 100644 Binary files a/sprites/UTFLC0.png and b/sprites/UTFLC0.png differ diff --git a/sprites/UTFLD0.png b/sprites/UTFLD0.png index 1e46fc3..2d73e88 100644 Binary files a/sprites/UTFLD0.png and b/sprites/UTFLD0.png differ diff --git a/sprites/UTFLE0.png b/sprites/UTFLE0.png index fc98a8c..d7bb842 100644 Binary files a/sprites/UTFLE0.png and b/sprites/UTFLE0.png differ diff --git a/sprites/UTFLF0.png b/sprites/UTFLF0.png index 5d15eba..0f3065d 100644 Binary files a/sprites/UTFLF0.png and b/sprites/UTFLF0.png differ diff --git a/sprites/UTFLG0.png b/sprites/UTFLG0.png index d167068..c701dc6 100644 Binary files a/sprites/UTFLG0.png and b/sprites/UTFLG0.png differ diff --git a/sprites/UTFLH0.png b/sprites/UTFLH0.png index 29fcd83..4d11c5c 100644 Binary files a/sprites/UTFLH0.png and b/sprites/UTFLH0.png differ diff --git a/sprites/ammoled/AMCBA0.png b/sprites/ammoled/AMCBA0.png deleted file mode 100644 index 15880d0..0000000 Binary files a/sprites/ammoled/AMCBA0.png and /dev/null differ diff --git a/sprites/ammoled/AMLDA0.png b/sprites/ammoled/AMLDA0.png deleted file mode 100644 index 20166e9..0000000 Binary files a/sprites/ammoled/AMLDA0.png and /dev/null differ diff --git a/sprites/ammoled/AMLDB0.png b/sprites/ammoled/AMLDB0.png deleted file mode 100644 index ebf5ea2..0000000 Binary files a/sprites/ammoled/AMLDB0.png and /dev/null differ diff --git a/sprites/ammoled/AMLDD0.png b/sprites/ammoled/AMLDD0.png deleted file mode 100644 index 56af507..0000000 Binary files a/sprites/ammoled/AMLDD0.png and /dev/null differ diff --git a/sprites/ammoled/LFN1A0.png b/sprites/ammoled/LFN1A0.png deleted file mode 100644 index 20da6f0..0000000 Binary files a/sprites/ammoled/LFN1A0.png and /dev/null differ diff --git a/sprites/ammoled/LFN1B0.png b/sprites/ammoled/LFN1B0.png deleted file mode 100644 index 655391b..0000000 Binary files a/sprites/ammoled/LFN1B0.png and /dev/null differ diff --git a/sprites/ammoled/LFN1C0.png b/sprites/ammoled/LFN1C0.png deleted file mode 100644 index c55154a..0000000 Binary files a/sprites/ammoled/LFN1C0.png and /dev/null differ diff --git a/sprites/ammoled/LFN1D0.png b/sprites/ammoled/LFN1D0.png deleted file mode 100644 index 928a142..0000000 Binary files a/sprites/ammoled/LFN1D0.png and /dev/null differ diff --git a/sprites/ammoled/LFN1E0.png b/sprites/ammoled/LFN1E0.png deleted file mode 100644 index 058a049..0000000 Binary files a/sprites/ammoled/LFN1E0.png and /dev/null differ diff --git a/sprites/ammoled/LFN1F0.png b/sprites/ammoled/LFN1F0.png deleted file mode 100644 index 129492d..0000000 Binary files a/sprites/ammoled/LFN1F0.png and /dev/null differ diff --git a/sprites/ammoled/LFN1G0.png b/sprites/ammoled/LFN1G0.png deleted file mode 100644 index a711249..0000000 Binary files a/sprites/ammoled/LFN1G0.png and /dev/null differ diff --git a/sprites/ammoled/LFN1H0.png b/sprites/ammoled/LFN1H0.png deleted file mode 100644 index 17c9ad5..0000000 Binary files a/sprites/ammoled/LFN1H0.png and /dev/null differ diff --git a/sprites/ammoled/LFN1I0.png b/sprites/ammoled/LFN1I0.png deleted file mode 100644 index e6388e3..0000000 Binary files a/sprites/ammoled/LFN1I0.png and /dev/null differ diff --git a/sprites/ammoled/LFN1J0.png b/sprites/ammoled/LFN1J0.png deleted file mode 100644 index 55a79bb..0000000 Binary files a/sprites/ammoled/LFN1J0.png and /dev/null differ diff --git a/sprites/ammoled/LFN2A0.png b/sprites/ammoled/LFN2A0.png deleted file mode 100644 index 087bc86..0000000 Binary files a/sprites/ammoled/LFN2A0.png and /dev/null differ diff --git a/sprites/ammoled/LFN2B0.png b/sprites/ammoled/LFN2B0.png deleted file mode 100644 index ee67476..0000000 Binary files a/sprites/ammoled/LFN2B0.png and /dev/null differ diff --git a/sprites/ammoled/LFN2C0.png b/sprites/ammoled/LFN2C0.png deleted file mode 100644 index cc4c679..0000000 Binary files a/sprites/ammoled/LFN2C0.png and /dev/null differ diff --git a/sprites/ammoled/LFN2D0.png b/sprites/ammoled/LFN2D0.png deleted file mode 100644 index 26ade44..0000000 Binary files a/sprites/ammoled/LFN2D0.png and /dev/null differ diff --git a/sprites/ammoled/LFN2E0.png b/sprites/ammoled/LFN2E0.png deleted file mode 100644 index 29aadeb..0000000 Binary files a/sprites/ammoled/LFN2E0.png and /dev/null differ diff --git a/sprites/ammoled/LFN2F0.png b/sprites/ammoled/LFN2F0.png deleted file mode 100644 index a861a46..0000000 Binary files a/sprites/ammoled/LFN2F0.png and /dev/null differ diff --git a/sprites/ammoled/LFN2G0.png b/sprites/ammoled/LFN2G0.png deleted file mode 100644 index 15fac4c..0000000 Binary files a/sprites/ammoled/LFN2G0.png and /dev/null differ diff --git a/sprites/ammoled/LFN2H0.png b/sprites/ammoled/LFN2H0.png deleted file mode 100644 index 0b3c3ed..0000000 Binary files a/sprites/ammoled/LFN2H0.png and /dev/null differ diff --git a/sprites/ammoled/LFN2I0.png b/sprites/ammoled/LFN2I0.png deleted file mode 100644 index d714185..0000000 Binary files a/sprites/ammoled/LFN2I0.png and /dev/null differ diff --git a/sprites/ammoled/LFN2J0.png b/sprites/ammoled/LFN2J0.png deleted file mode 100644 index caa1987..0000000 Binary files a/sprites/ammoled/LFN2J0.png and /dev/null differ diff --git a/sprites/asmd/ASMXA0.png b/sprites/asmd/ASMXA0.png index b372bd5..df1ce0a 100644 Binary files a/sprites/asmd/ASMXA0.png and b/sprites/asmd/ASMXA0.png differ diff --git a/sprites/asmd/ASMXB0.png b/sprites/asmd/ASMXB0.png index 67c6128..d62d9fa 100644 Binary files a/sprites/asmd/ASMXB0.png and b/sprites/asmd/ASMXB0.png differ diff --git a/sprites/asmd/ASMXC0.png b/sprites/asmd/ASMXC0.png index 6597e7f..b5a8c30 100644 Binary files a/sprites/asmd/ASMXC0.png and b/sprites/asmd/ASMXC0.png differ diff --git a/sprites/asmd/ASMXD0.png b/sprites/asmd/ASMXD0.png index 7f3a39b..4eebd5b 100644 Binary files a/sprites/asmd/ASMXD0.png and b/sprites/asmd/ASMXD0.png differ diff --git a/sprites/asmd/ASMXE0.png b/sprites/asmd/ASMXE0.png index 209fa96..263219f 100644 Binary files a/sprites/asmd/ASMXE0.png and b/sprites/asmd/ASMXE0.png differ diff --git a/sprites/asmd/ASMXF0.png b/sprites/asmd/ASMXF0.png index 02bf1cf..092fb84 100644 Binary files a/sprites/asmd/ASMXF0.png and b/sprites/asmd/ASMXF0.png differ diff --git a/sprites/asmd/ASMXG0.png b/sprites/asmd/ASMXG0.png index e737527..18bb5c1 100644 Binary files a/sprites/asmd/ASMXG0.png and b/sprites/asmd/ASMXG0.png differ diff --git a/sprites/asmd/ASMXH0.png b/sprites/asmd/ASMXH0.png index 2c53e07..432886c 100644 Binary files a/sprites/asmd/ASMXH0.png and b/sprites/asmd/ASMXH0.png differ diff --git a/sprites/asmd/SSMXD0.png b/sprites/asmd/SSMXD0.png index 331d80d..c66b0ea 100644 Binary files a/sprites/asmd/SSMXD0.png and b/sprites/asmd/SSMXD0.png differ diff --git a/sprites/asmd/SSMXE0.png b/sprites/asmd/SSMXE0.png index d59c425..8fe1509 100644 Binary files a/sprites/asmd/SSMXE0.png and b/sprites/asmd/SSMXE0.png differ diff --git a/sprites/asmd/SSMXF0.png b/sprites/asmd/SSMXF0.png index 4db8d7c..37a6035 100644 Binary files a/sprites/asmd/SSMXF0.png and b/sprites/asmd/SSMXF0.png differ diff --git a/sprites/blood/BPF1H0.png b/sprites/blood/BPF1H0.png index e6880b8..ab239d3 100644 Binary files a/sprites/blood/BPF1H0.png and b/sprites/blood/BPF1H0.png differ diff --git a/sprites/flak/FGLOA0.png b/sprites/flak/FGLOA0.png index 7891b46..f40d227 100644 Binary files a/sprites/flak/FGLOA0.png and b/sprites/flak/FGLOA0.png differ diff --git a/sprites/flak/FGLOB0.png b/sprites/flak/FGLOB0.png index c2bb3a5..2c95fef 100644 Binary files a/sprites/flak/FGLOB0.png and b/sprites/flak/FGLOB0.png differ diff --git a/sprites/flak/FGLOC0.png b/sprites/flak/FGLOC0.png index d62099a..30a21aa 100644 Binary files a/sprites/flak/FGLOC0.png and b/sprites/flak/FGLOC0.png differ diff --git a/sprites/flak/FGLOD0.png b/sprites/flak/FGLOD0.png index aa92a5a..6eb2c69 100644 Binary files a/sprites/flak/FGLOD0.png and b/sprites/flak/FGLOD0.png differ diff --git a/sprites/flak/FGLOE0.png b/sprites/flak/FGLOE0.png index a6b3690..fe1855e 100644 Binary files a/sprites/flak/FGLOE0.png and b/sprites/flak/FGLOE0.png differ diff --git a/sprites/flak/FGLOF0.png b/sprites/flak/FGLOF0.png index df33421..5e7ec8d 100644 Binary files a/sprites/flak/FGLOF0.png and b/sprites/flak/FGLOF0.png differ diff --git a/sprites/flak/FGLOG0.png b/sprites/flak/FGLOG0.png index a771c78..e404698 100644 Binary files a/sprites/flak/FGLOG0.png and b/sprites/flak/FGLOG0.png differ diff --git a/sprites/flak/FGLOH0.png b/sprites/flak/FGLOH0.png index 01039bc..45f34f3 100644 Binary files a/sprites/flak/FGLOH0.png and b/sprites/flak/FGLOH0.png differ diff --git a/sprites/flak/FLEXM0.png b/sprites/flak/FLEXM0.png index d5a22e8..42eb035 100644 Binary files a/sprites/flak/FLEXM0.png and b/sprites/flak/FLEXM0.png differ diff --git a/sprites/flak/FLEXO0.png b/sprites/flak/FLEXO0.png index 5e26c40..d58c149 100644 Binary files a/sprites/flak/FLEXO0.png and b/sprites/flak/FLEXO0.png differ diff --git a/sprites/ges/GEX1A0.png b/sprites/ges/GEX1A0.png index b327ece..83e606b 100644 Binary files a/sprites/ges/GEX1A0.png and b/sprites/ges/GEX1A0.png differ diff --git a/sprites/ges/GEX2A0.png b/sprites/ges/GEX2A0.png index 26ad46c..8e7158c 100644 Binary files a/sprites/ges/GEX2A0.png and b/sprites/ges/GEX2A0.png differ diff --git a/sprites/player/TBOSA0.png b/sprites/player/TBOSA0.png deleted file mode 100644 index 5697fec..0000000 Binary files a/sprites/player/TBOSA0.png and /dev/null differ diff --git a/sprites/player/TFEMA0.png b/sprites/player/TFEMA0.png deleted file mode 100644 index 147c1c4..0000000 Binary files a/sprites/player/TFEMA0.png and /dev/null differ diff --git a/sprites/player/TFEMB0.png b/sprites/player/TFEMB0.png deleted file mode 100644 index 78abe52..0000000 Binary files a/sprites/player/TFEMB0.png and /dev/null differ diff --git a/sprites/player/TMALA0.png b/sprites/player/TMALA0.png deleted file mode 100644 index 4360236..0000000 Binary files a/sprites/player/TMALA0.png and /dev/null differ diff --git a/sprites/player/TMALB0.png b/sprites/player/TMALB0.png deleted file mode 100644 index 769482f..0000000 Binary files a/sprites/player/TMALB0.png and /dev/null differ diff --git a/sprites/pulse/PBALA0.png b/sprites/pulse/PBALA0.png index 2e31b86..f90f29c 100644 Binary files a/sprites/pulse/PBALA0.png and b/sprites/pulse/PBALA0.png differ diff --git a/sprites/pulse/PBALB0.png b/sprites/pulse/PBALB0.png index acc7ef7..238b238 100644 Binary files a/sprites/pulse/PBALB0.png and b/sprites/pulse/PBALB0.png differ diff --git a/sprites/pulse/PBALC0.png b/sprites/pulse/PBALC0.png index 720354d..5901d96 100644 Binary files a/sprites/pulse/PBALC0.png and b/sprites/pulse/PBALC0.png differ diff --git a/sprites/pulse/PBALD0.png b/sprites/pulse/PBALD0.png index 32c438f..1edf5e0 100644 Binary files a/sprites/pulse/PBALD0.png and b/sprites/pulse/PBALD0.png differ diff --git a/sprites/pulse/PCAPA0.png b/sprites/pulse/PCAPA0.png index f8e1da4..b746f46 100644 Binary files a/sprites/pulse/PCAPA0.png and b/sprites/pulse/PCAPA0.png differ diff --git a/sprites/pulse/PCAPB0.png b/sprites/pulse/PCAPB0.png index 143bc8d..10957bd 100644 Binary files a/sprites/pulse/PCAPB0.png and b/sprites/pulse/PCAPB0.png differ diff --git a/sprites/pulse/PCAPC0.png b/sprites/pulse/PCAPC0.png index 66fdf94..5b42b3a 100644 Binary files a/sprites/pulse/PCAPC0.png and b/sprites/pulse/PCAPC0.png differ diff --git a/sprites/pulse/PHITC0.png b/sprites/pulse/PHITC0.png index e3027c5..db13267 100644 Binary files a/sprites/pulse/PHITC0.png and b/sprites/pulse/PHITC0.png differ diff --git a/sprites/redeemer/NE__J0.png b/sprites/redeemer/NE__J0.png index f8dc092..4dd74b1 100644 Binary files a/sprites/redeemer/NE__J0.png and b/sprites/redeemer/NE__J0.png differ diff --git a/textures/doomtest/rClfBas0.png b/textures/doomtest/rClfBas0.png index 0c37779..eac3b3e 100644 Binary files a/textures/doomtest/rClfBas0.png and b/textures/doomtest/rClfBas0.png differ diff --git a/textures/fizzfull.png b/textures/fizzfull.png index 5aad6c4..0467ff7 100644 Binary files a/textures/fizzfull.png and b/textures/fizzfull.png differ diff --git a/textures/fizzside.png b/textures/fizzside.png index 699535c..a49801c 100644 Binary files a/textures/fizzside.png and b/textures/fizzside.png differ diff --git a/textures/fizztop.png b/textures/fizztop.png index 4714f75..fef600b 100644 Binary files a/textures/fizztop.png and b/textures/fizztop.png differ diff --git a/textures/invis03.png b/textures/invis03.png index 2b9d1e2..22f1ab7 100644 Binary files a/textures/invis03.png and b/textures/invis03.png differ diff --git a/zmapinfo.txt b/zmapinfo.txt index 34d8fa0..065c9b8 100644 --- a/zmapinfo.txt +++ b/zmapinfo.txt @@ -1,10 +1,11 @@ GameInfo { - AddEventHandlers = "RedeemerHUDHandler", "UTStaticHandler", "UTMainHandler" + AddEventHandlers = "UTStaticHandler", "UTMainHandler" PlayerClasses = "UTPlayerTMale1", "UTPlayerTMale2", "UTPlayerTFemale1", "UTPlayerTFemale2", "UTPlayerTBoss" StatusBarClass = "UTHud" BackpackType = "UTBackpack" BorderFlat = "TEMPBG" Border = 3, 3, "BordTR", "BordT", "BordTL", "BordR", "BordL", "BordBR", "BordB", "BordBL" MessageBoxClass = "UTMessageBox" + NoRandomPlayerClass = true } diff --git a/zscript.txt b/zscript.txt index 2bf503d..866887f 100644 --- a/zscript.txt +++ b/zscript.txt @@ -1,11 +1,8 @@ -version "4.6" +version "4.9" -#include "zscript/dt_libeye/projector.txt" -#include "zscript/dt_libeye/projector gl.txt" -#include "zscript/dt_libeye/projector planar.txt" -#include "zscript/dt_libeye/viewport.txt" +#include "zscript/dt_Gutamatics/Include.zsc" +#include "zscript/dt_utility.zsc" #include "zscript/dt_coordutil.zsc" -#include "zscript/dt_quaternion.zsc" #include "zscript/utcommon.zsc" #include "zscript/utgore.zsc" #include "zscript/impacthammer.zsc" @@ -27,4 +24,3 @@ version "4.6" #include "zscript/uthud.zsc" #include "zscript/compat.zsc" #include "zscript/utmenu.zsc" -#include "zscript/ammoled.zsc" diff --git a/zscript/ammoled.zsc b/zscript/ammoled.zsc deleted file mode 100644 index 6c25845..0000000 --- a/zscript/ammoled.zsc +++ /dev/null @@ -1,259 +0,0 @@ -const PULSELEDBASE = 60000.; -const FLAKLEDBASE = 61000.; -const MINILEDBASE = 62000.; -const ROCKETLEDBASE = 63000.; - -Class PulseGunLED : Actor -{ - Actor base, digits[3], bar; - transient PulseGun mygun; - - Default - { - +NOGRAVITY; - +NOBLOCKMAP; - +NOINTERACTION; - +DONTSPLASH; - Radius .1; - Height 0; - } - - override void PostBeginPlay() - { - SetOrigin((PULSELEDBASE+128.,PULSELEDBASE,0),false); - SetZ(floorz); - roll = 180; - angle = 180; - double halfstretch = (1.+level.pixelstretch)/2.; - double zofs = (ceilingz>floorz)?CurSector.GetFloorTerrain(0).footclip*16.:0.; - if ( !base ) base = Spawn("AmmoLEDScreen",(PULSELEDBASE,PULSELEDBASE-128.,pos.z+64.*halfstretch-zofs)); - for ( int i=0; i<3; i++ ) - { - if ( !digits[i] ) - digits[i] = Spawn("LEDFont",(PULSELEDBASE+1.,PULSELEDBASE-72.+48.*i,pos.z+50.*halfstretch-zofs)); - } - if ( !bar ) bar = Spawn("AmmoCountBar",(PULSELEDBASE+1.,PULSELEDBASE-98.,pos.z-26.*halfstretch-zofs)); - } - override void Tick() - { - if ( !mygun ) return; - base.SetState(base.SpawnState); - int amo = flak_pulsereload?mygun.ClipCount:mygun.Ammo1.Amount; - int mamo = flak_pulsereload?mygun.default.ClipCount:mygun.Ammo1.MaxAmount; - digits[0].SetState(digits[0].SpawnState+1+((amo/100)%10)); - digits[1].SetState(digits[1].SpawnState+1+((amo/10)%10)); - digits[2].SetState(digits[2].SpawnState+1+(amo%10)); - if ( amo < 10 ) - { - digits[0].SetShade(Color(255,0,0)); - digits[1].SetShade(Color(255,0,0)); - digits[2].SetShade(Color(255,0,0)); - } - else - { - digits[0].SetShade(Color(0,0,255)); - digits[1].SetShade(Color(0,0,255)); - digits[2].SetShade(Color(0,0,255)); - } - bar.scale.x = amo/double(mamo); - } -} - -Class FlakCannonLED : Actor -{ - Actor base, digits[3]; - transient FlakCannon mygun; - - Default - { - +NOGRAVITY; - +NOBLOCKMAP; - +NOINTERACTION; - +DONTSPLASH; - Radius .1; - Height 0; - } - - override void PostBeginPlay() - { - SetOrigin((FLAKLEDBASE+64,FLAKLEDBASE,0),false); - SetZ(floorz); - roll = 180; - angle = 180; - double halfstretch = (1.+level.pixelstretch)/2.; - double zofs = (ceilingz>floorz)?CurSector.GetFloorTerrain(0).footclip*16.:0.; - if ( !base ) base = Spawn("AmmoLEDScreen",(FLAKLEDBASE,FLAKLEDBASE-64.,floorz+32.*halfstretch-zofs)); - for ( int i=0; i<3; i++ ) - { - if ( !digits[i] ) - digits[i] = Spawn("LEDFont",(FLAKLEDBASE+1.,FLAKLEDBASE-30.+20.*i,floorz+16.*halfstretch-zofs)); - } - } - override void Tick() - { - if ( !mygun ) return; - base.SetState(base.SpawnState+1); - int amo = mygun.Ammo1.Amount; - digits[0].SetState(digits[0].SpawnState+11+((amo/100)%10)); - digits[1].SetState(digits[1].SpawnState+11+((amo/10)%10)); - digits[2].SetState(digits[2].SpawnState+11+(amo%10)); - digits[0].SetShade(Color(255,0,0)); - digits[1].SetShade(Color(255,0,0)); - digits[2].SetShade(Color(255,0,0)); - } -} - -Class MinigunLED : Actor -{ - Actor base, digits[3]; - transient Minigun mygun; - - Default - { - +NOGRAVITY; - +NOBLOCKMAP; - +NOINTERACTION; - +DONTSPLASH; - Radius .1; - Height 0; - } - - override void PostBeginPlay() - { - SetOrigin((MINILEDBASE+32,MINILEDBASE,0),false); - SetZ(floorz); - roll = 180; - angle = 180; - double halfstretch = (1.+level.pixelstretch)/2.; - double zofs = (ceilingz>floorz)?CurSector.GetFloorTerrain(0).footclip*16.:0.; - if ( !base ) base = Spawn("AmmoLEDScreen",(MINILEDBASE,MINILEDBASE-32.,floorz+32.*halfstretch-zofs)); - for ( int i=0; i<3; i++ ) - { - if ( !digits[i] ) - digits[i] = Spawn("LEDFont",(MINILEDBASE+1.,MINILEDBASE-30.+20.*i,floorz+16.*halfstretch-zofs)); - } - } - override void Tick() - { - if ( !mygun ) return; - base.SetState(base.SpawnState+2); - int amo = mygun.Ammo1.Amount; - digits[0].SetState(digits[0].SpawnState+11+((amo/100)%10)); - digits[1].SetState(digits[1].SpawnState+11+((amo/10)%10)); - digits[2].SetState(digits[2].SpawnState+11+(amo%10)); - digits[0].SetShade(Color(255,0,0)); - digits[1].SetShade(Color(255,0,0)); - digits[2].SetShade(Color(255,0,0)); - } -} - -Class UTRocketLauncherLED : Actor -{ - Actor base, digits[3]; - transient UTRocketLauncher mygun; - - Default - { - +NOGRAVITY; - +NOBLOCKMAP; - +NOINTERACTION; - +DONTSPLASH; - Radius .1; - Height 0; - } - - override void PostBeginPlay() - { - SetOrigin((ROCKETLEDBASE+32,ROCKETLEDBASE,0),false); - SetZ(floorz); - roll = 180; - angle = 180; - double halfstretch = (1.+level.pixelstretch)/2.; - double zofs = (ceilingz>floorz)?CurSector.GetFloorTerrain(0).footclip*16.:0.; - if ( !base ) base = Spawn("AmmoLEDScreen",(ROCKETLEDBASE,ROCKETLEDBASE-32.,floorz+32.*halfstretch-zofs)); - for ( int i=0; i<3; i++ ) - { - if ( !digits[i] ) - digits[i] = Spawn("LEDFont",(ROCKETLEDBASE+1.,ROCKETLEDBASE-30.+20.*i,floorz+16.*halfstretch-zofs)); - } - } - override void Tick() - { - if ( !mygun ) return; - base.SetState(base.SpawnState+3); - int amo = mygun.Ammo1.Amount; - digits[0].SetState(digits[0].SpawnState+11+((amo/100)%10)); - digits[1].SetState(digits[1].SpawnState+11+((amo/10)%10)); - digits[2].SetState(digits[2].SpawnState+11+(amo%10)); - digits[0].SetShade(Color(255,0,0)); - digits[1].SetShade(Color(255,0,0)); - digits[2].SetShade(Color(255,0,0)); - } -} - -Class LEDFont : Actor -{ - Default - { - RenderStyle "Shaded"; - StencilColor "FF 00 00"; - Radius .1; - Height 0.; - RenderRadius 131072; - +NOBLOCKMAP; - +NOGRAVITY; - +NOINTERACTION; - +DONTSPLASH; - +WALLSPRITE; - } - States - { - Spawn: - TNT1 A -1; - LFN1 ABCDEFGHIJ -1 Bright; - LFN2 ABCDEFGHIJ -1 Bright; - Stop; - } -} - -Class AmmoCountBar : Actor -{ - Default - { - Radius .1; - Height 0.; - RenderRadius 131072; - +NOBLOCKMAP; - +NOGRAVITY; - +NOINTERACTION; - +DONTSPLASH; - +WALLSPRITE; - } - States - { - Spawn: - AMCB A -1 Bright; - Stop; - } -} - -Class AmmoLEDScreen : Actor -{ - Default - { - Radius .1; - Height 0.; - RenderRadius 131072; - +NOBLOCKMAP; - +NOGRAVITY; - +NOINTERACTION; - +DONTSPLASH; - +WALLSPRITE; - } - States - { - Spawn: - AMLD ABCD -1 Bright; - Stop; - } -} diff --git a/zscript/biorifle.zsc b/zscript/biorifle.zsc index 8204622..29fb869 100644 --- a/zscript/biorifle.zsc +++ b/zscript/biorifle.zsc @@ -647,7 +647,7 @@ Class BioGlob : BioGel void SpawnSplash() { - Vector3 ofs = (cos(angle)*cos(pitch),sin(angle)*cos(pitch),-sin(pitch)); + Vector3 ofs = dt_Utility.Vec3FromAngle(angle,pitch); for ( int i=0; i<2; i++ ) { if ( numsplash-- <= 0 ) return; @@ -659,7 +659,7 @@ Class BioGlob : BioGel d.scale *= FRandom[GES](0.5,0.7); d.angle = atan2(dir.y,dir.x); d.pitch = -asin(dir.z); - d.vel = (cos(d.angle)*cos(d.pitch),sin(d.angle)*cos(d.pitch),-sin(d.pitch))*d.speed*FRandom[GES](0.4,0.6); + d.vel = dt_Utility.Vec3FromAngle(d.angle,d.pitch)*d.speed*FRandom[GES](0.4,0.6); d.vel.z -= 2; } } @@ -724,7 +724,7 @@ Class BioRifle : UTWeapon else p = Spawn("BioGel",origin); p.angle = angle; p.pitch = BulletSlope(); - p.vel = (cos(p.angle)*cos(p.pitch),sin(p.angle)*cos(p.pitch),-sin(p.pitch))*p.speed; + p.vel = dt_Utility.Vec3FromAngle(p.angle,p.pitch)*p.speed; p.target = self; for ( int i=0; i<12; i++ ) { @@ -781,6 +781,7 @@ Class BioRifle : UTWeapon Weapon.AmmoUse2 1; Weapon.AmmoGive 25; UTWeapon.DropAmmo 5; + UTWeapon.NameColor "00 FF 00"; } States { diff --git a/zscript/chainsaw.zsc b/zscript/chainsaw.zsc index 4509a2d..0557e9d 100644 --- a/zscript/chainsaw.zsc +++ b/zscript/chainsaw.zsc @@ -14,7 +14,7 @@ Class SawImpact : Actor Super.PostBeginPlay(); A_SprayDecal("WallCrack",20); int numpt = Random[Chainsaw](5,10); - Vector3 x = (cos(angle)*cos(pitch),sin(angle)*cos(pitch),-sin(pitch)); + Vector3 x = dt_Utility.Vec3FromAngle(angle,pitch); for ( int i=0; i 0) return 1; + if (s < 0) return -1; + return 0; + } + + /// Copies the sign from signSource to source. + static int copySignInt(int source, int signSource) { + return abs(source) * sign(signSource); + } + + /// Copies the sign from signSource to source. + static double copySignDouble(double source, double signSource) { + return abs(source) * sign(signSource); + } + + /// Remaps a value in a range to another range. + static double remapRange(double value, double range1L, double range1H, double range2L, double range2H) { + return range2L + (value - range1L) * (range2H - range1H) / (range1H - range1L); + } + + /// Remaps a value in a range to another range. + static int remapRangeInt(int value, int range1L, int range1H, int range2L, int range2H) { + return int(range2L + (value - range1L) * (range2H - range1H) / double(range1H - range1L)); + } + + /// Returns if two values are close enough to be considered equal. + static bool closeEnough(double a, double b, double epsilon = double.epsilon) { + if (a == b) return true; + return abs(a - b) <= epsilon; + } + + // Creates a smoothed transition between edge0 and edge1. + static double smoothStep(double x, double edge0 = 0, double edge1 = 1) { + x = clamp((x - edge0) / (edge1 - edge0), 0, 1); + return x * x * (3 - 2 * x); + } + + // Creates a smoother transition between edge0 and edge1. + static double smootherStep(double x, double edge0 = 0, double edge1 = 1) { + x = clamp((x - edge0) / (edge1 - edge0), 0, 1); + return x * x * x * (x * (x * 6 - 15) + 10); + } + + /// Converts from horizontal FOV to vertical FOV, according to how GZDoom handles it. + static double fovHToY(double fovH) { + // this is how gzdoom does it internally, so i'm using it here + double aspect = Screen.getAspectRatio(); + double fovratio = (aspect >= 1.3) ? 1.333333 : aspect; + return 2 * atan(tan(clamp(fovH, 5, 170) / 2.0) / fovratio); + } + + /// Linearly interpolates between two doubles, clamping the parameters. + static double lerpDouble(double from, double to, double time) { + time = clamp(time, 0, 1); + return lerpUnclampedDouble(from, to, time); + } + + /// Linearly interpolates between two doubles. + static double lerpUnclampedDouble(double from, double to, double time) { + double ret; + double reverseTime = 1 - time; + ret = reverseTime * from + time * to; + return ret; + } + + // Converts from Normalised Device Coordinates to Viewport coordinates. + // This is `ui` scope to safely access `screenblocks`. + static ui Vector2 ndcToViewport(Vector3 ndcCoords, bool useScreenblocks = true) { + if (useScreenblocks) { + int viewwindowx, viewwindowy, viewwidth, viewheight; + [viewwindowx, viewwindowy, viewwidth, viewheight] = Screen.getViewWindow(); + int screenHeight = Screen.getHeight(); + int height = screenHeight; + if (screenblocks < 10) { + height = (screenblocks * screenHeight / 10) & ~7; + } + int bottom = screenHeight - (height + viewwindowy - ((height - viewheight) / 2)); + return (viewwindowx, screenHeight - bottom - height) + (((ndcCoords.x + 1) * viewwidth) / 2, ((-ndcCoords.y + 1) * height) / 2); + } + else { + return (((ndcCoords.x + 1) * Screen.getWidth()) / 2, ((-ndcCoords.y + 1) * Screen.getHeight()) / 2); + } + } + + enum OutCode { + OUT_Inside = 0, + OUT_Left = 1 << 0, + OUT_Right = 1 << 1, + OUT_Bottom = 1 << 2, + OUT_Top = 1 << 3 + } + + /// Computes an outcode for a point in a rectangle. + static OutCode computeOutcode(Vector2 point, Vector2 min, Vector2 max) { + OutCode code = OUT_Inside; + + if (point.x < min.x) { + code |= OUT_Left; + } + else if (point.x > max.x) { + code |= OUT_Right; + } + if (point.y < min.y) { + code |= OUT_Top; + } + else if (point.y > max.y) { + code |= OUT_Bottom; + } + + return code; + } + + /// Clips a line to a rectangle. + static bool, Vector2, Vector2 cohenSutherlandClip(Vector2 point0, Vector2 point1, Vector2 min, Vector2 max) { + OutCode outcode0 = computeOutCode(point0, min, max); + OutCode outcode1 = computeOutCode(point1, min, max); + + while (true) { + // trivial accept - points are both on screen + if ((outcode0 | outcode1) == 0) { + return true, point0, point1; + } + // trivial reject - points are in the same region offscreen + else if ((outcode0 & outcode1) != 0) { + return false, point0, point1; + } + else { + Vector2 new; + OutCode outcodeOut = (outcode0 != 0) ? outcode0 : outcode1; + + if ((outcodeOut & OUT_Bottom) != 0) { + new.x = point0.x + (point1.x - point0.x) * (max.y - point0.y) / (point1.y - point0.y); + new.y = max.y; + } + else if ((outcodeOut & OUT_Top) != 0) { + new.x = point0.x + (point1.x - point0.x) * (min.y - point0.y) / (point1.y - point0.y); + new.y = min.y; + } + else if ((outcodeOut & OUT_Right) != 0) { + new.y = point0.y + (point1.y - point0.y) * (max.x - point0.x) / (point1.x - point0.x); + new.x = max.x; + } + else if ((outcodeOut & OUT_Left) != 0) { + new.y = point0.y + (point1.y - point0.y) * (min.x - point0.x) / (point1.x - point0.x); + new.x = min.x; + } + + if (outcodeOut == outCode0) { + point0.x = new.x; + point0.y = new.y; + outCode0 = computeOutCode(point0, min, max); + } + else { + point1.x = new.x; + point1.y = new.y; + outCode1 = computeOutCode(point1, min, max); + } + } + } + return false, (0, 0), (0, 0); + } + + // Normalizes an angle to (-180, 180]. Like Actor.normalize180, but callable in data scope. + static double normalize180(double ang) { + ang = ang % 360; + ang = (ang + 360) % 360; + if (ang > 180) ang -= 360; + return ang; + } +} diff --git a/zscript/dt_Gutamatics/Include.zsc b/zscript/dt_Gutamatics/Include.zsc new file mode 100644 index 0000000..018a46e --- /dev/null +++ b/zscript/dt_Gutamatics/Include.zsc @@ -0,0 +1,5 @@ +#include "zscript/dt_Gutamatics/GlobalMaths.zsc" +#include "zscript/dt_Gutamatics/Matrix.zsc" +#include "zscript/dt_Gutamatics/Matrix4.zsc" +#include "zscript/dt_Gutamatics/Quaternion.zsc" +#include "zscript/dt_Gutamatics/VectorUtil.zsc" diff --git a/zscript/dt_Gutamatics/LICENSE.md b/zscript/dt_Gutamatics/LICENSE.md new file mode 100644 index 0000000..cab7d22 --- /dev/null +++ b/zscript/dt_Gutamatics/LICENSE.md @@ -0,0 +1,7 @@ +Copyright 2020 Jessica Russell + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/zscript/dt_Gutamatics/Matrix.zsc b/zscript/dt_Gutamatics/Matrix.zsc new file mode 100644 index 0000000..17d1bd4 --- /dev/null +++ b/zscript/dt_Gutamatics/Matrix.zsc @@ -0,0 +1,335 @@ +enum dt_GM_VectorType { + dt_GM_Vector_Position, + dt_GM_Vector_Direction +} + +class dt_GM_Matrix { + private Array values; + private int columns; + private int rows; + + /// Initialises a new Matrix. + dt_GM_Matrix init(int columns, int rows) { + if (columns <= 0 || rows <= 0) { + throwAbortException("Error: <%p>.init(%d, %d) - Matrix needs to be at least 1 * 1", self, columns, rows); + } + + self.rows = rows; + self.columns = columns; + values.resize(columns * rows); + for (int i = 0; i < values.size(); i++) { + values[i] = 0; + } + + return self; + } + + /// Initialises a new Matrix in a static context. + static dt_GM_Matrix create(int columns, int rows) { + return new("dt_GM_Matrix").init(columns, rows); + } + + /// Returns an identity matrix. + static dt_GM_Matrix identity(int dimension) { + dt_GM_Matrix ret = dt_GM_Matrix.create(dimension, dimension); + for (int i = 0; i < dimension; i++) { + ret.set(i, i, 1); + } + return ret; + } + + /// Returns a rotation matrix from euler angles. + static dt_GM_Matrix fromEulerAngles(double yaw, double pitch, double roll) { + dt_GM_Matrix rYaw = dt_GM_Matrix.identity(4); + double sYaw = sin(yaw); + double cYaw = cos(yaw); + rYaw.set(0, 0, cYaw); + rYaw.set(0, 1, -sYaw); + rYaw.set(1, 0, sYaw); + rYaw.set(1, 1, cYaw); + + dt_GM_Matrix rPitch = dt_GM_Matrix.identity(4); + double sPitch = sin(pitch); + double cPitch = cos(pitch); + rPitch.set(0, 0, cPitch); + rPitch.set(2, 0, -sPitch); + rPitch.set(0, 2, sPitch); + rPitch.set(2, 2, cPitch); + + dt_GM_Matrix rRoll = dt_GM_Matrix.identity(4); + double sRoll = sin(roll); + double cRoll = cos(roll); + rRoll.set(1, 1, cRoll); + rRoll.set(1, 2, -sRoll); + rRoll.set(2, 1, sRoll); + rRoll.set(2, 2, cRoll); + + // concatenate ypr to get the final matrix + dt_GM_Matrix ret = rYaw.multiplyMatrix(rPitch); + ret = ret.multiplyMatrix(rRoll); + return ret; + } + + /// Returns a rotation matrix from an axis and an angle. + static dt_GM_Matrix fromAxisAngle(Vector3 axis, double angle) { + dt_GM_Matrix ret = dt_GM_Matrix.identity(4); + double c = cos(angle); + double s = sin(angle); + double x = axis.x; + double y = axis.y; + double z = axis.z; + + ret.set(0, 0, (x * x * (1.0 - c) + c)); + ret.set(0, 1, (x * y * (1.0 - c) - z * s)); + ret.set(0, 2, (x * z * (1.0 - c) + y * s)); + ret.set(1, 0, (y * x * (1.0 - c) + z * s)); + ret.set(1, 1, (y * y * (1.0 - c) + c)); + ret.set(1, 2, (y * z * (1.0 - c) - x * s)); + ret.set(2, 0, (x * z * (1.0 - c) - y * s)); + ret.set(2, 1, (y * z * (1.0 - c) + x * s)); + ret.set(2, 2, (z * z * (1.0 - c) + c)); + + return ret; + } + + /// Converts back from the rotation matrix to euler angles. + double, double, double rotationToEulerAngles() { + if (dt_GM_GlobalMaths.closeEnough(get(2, 0), -1)) { + double x = 90; + double y = 0; + double z = atan2(get(0, 1), get(0, 2)); + return z, x, y; + } + else if (dt_GM_GlobalMaths.closeEnough(get(2, 0), 1)) { + double x = -90; + double y = 0; + double z = atan2(-get(0, 1), -get(0, 2)); + return z, x, y; + } + else { + float x1 = -asin(get(2, 0)); + float x2 = 180 - x1; + + float y1 = atan2(get(2, 1) / cos(x1), get(2, 2) / cos(x1)); + float y2 = atan2(get(2, 1) / cos(x2), get(2, 2) / cos(x2)); + + float z1 = atan2(get(1, 0) / cos(x1), get(0, 0) / cos(x1)); + float z2 = atan2(get(1, 0) / cos(x2), get(0, 0) / cos(x2)); + + if ((abs(x1) + abs(y1) + abs(z1)) <= (abs(x2) + abs(y2) + abs(z2))) { + return z1, x1, y1; + } + else { + return z2, x2, y2; + } + } + } + + static dt_GM_Matrix createTRSEuler(Vector3 translate, double yaw, double pitch, double roll, Vector3 scale) { + dt_GM_Matrix translateMat = dt_GM_Matrix.identity(4); + translateMat.set(0, 3, translate.x); + translateMat.set(1, 3, translate.y); + translateMat.set(2, 3, translate.z); + + dt_GM_Matrix rotateMat = dt_GM_Matrix.fromEulerAngles(yaw, pitch, roll); + + dt_GM_Matrix scaleMat = dt_GM_Matrix.identity(4); + scaleMat.set(0, 0, scale.x); + scaleMat.set(1, 1, scale.y); + scaleMat.set(2, 2, scale.z); + + dt_GM_Matrix ret = translateMat.multiplyMatrix(rotateMat); + ret = ret.multiplyMatrix(scaleMat); + return ret; + } + + static dt_GM_Matrix createTRSAxisAngle(Vector3 translate, Vector3 axis, double angle, Vector3 scale) { + dt_GM_Matrix translateMat = dt_GM_Matrix.identity(4); + translateMat.set(0, 3, translate.x); + translateMat.set(1, 3, translate.y); + translateMat.set(2, 3, translate.z); + + dt_GM_Matrix rotateMat = dt_GM_Matrix.fromAxisAngle(axis, angle); + + dt_GM_Matrix scaleMat = dt_GM_Matrix.identity(4); + scaleMat.set(0, 0, scale.x); + scaleMat.set(1, 1, scale.y); + scaleMat.set(2, 2, scale.z); + + dt_GM_Matrix ret = translateMat.multiplyMatrix(rotateMat); + ret = ret.multiplyMatrix(scaleMat); + return ret; + } + + /// Returns a view matrix. + static dt_GM_Matrix view(Vector3 camPos, double yaw, double pitch, double roll) { + // all of this is basically lifted and converted from PolyRenderer::SetupPerspectiveMatrix(), + // so credit goes to Graf Zahl/dpJudas/whoever else + // pitch needs to be adjusted by the pixel ratio + float pixelRatio = level.pixelstretch; + double angx = cos(pitch); + double angy = sin(pitch) * pixelRatio; + double alen = sqrt(angx * angx + angy * angy); + double adjustedPitch = asin(angy / alen); + double adjustedYaw = yaw - 90; + + // rotations + dt_GM_Matrix rotR = dt_GM_Matrix.fromAxisAngle((0, 0, 1), roll); + dt_GM_Matrix rotP = dt_GM_Matrix.fromAxisAngle((1, 0, 0), adjustedPitch); + dt_GM_Matrix rotY = dt_GM_Matrix.fromAxisAngle((0, -1, 0), adjustedYaw); + // pixel ratio scaling + dt_GM_Matrix scale = dt_GM_Matrix.identity(4); + scale.set(1, 1, pixelRatio); + // swapping y and z + dt_GM_Matrix swapYZ = dt_GM_Matrix.create(4, 4); + swapYZ.set(0, 0, 1); + swapYZ.set(1, 2, 1); + swapYZ.set(2, 1, -1); + swapYZ.set(3, 3, 1); + // translation + dt_GM_Matrix translate = dt_GM_Matrix.identity(4); + translate.set(0, 3, -camPos.x); + translate.set(1, 3, -camPos.y); + translate.set(2, 3, -camPos.z); + + // concatenate them all to get a final matrix + dt_GM_Matrix ret = rotR.multiplyMatrix(rotP); + ret = ret.multiplyMatrix(rotY); + ret = ret.multiplyMatrix(scale); + ret = ret.multiplyMatrix(swapYZ); + ret = ret.multiplyMatrix(translate); + + return ret; + } + + /// Returns a perspective matrix (same format as gluPerspective). + static dt_GM_Matrix perspective(double fovy, double aspect, double zNear, double zFar) { + dt_GM_Matrix ret = dt_GM_Matrix.create(4, 4); + double f = 1 / tan(fovy / 2.0); + // x coord + ret.set(0, 0, f / aspect); + // y coord + ret.set(1, 1, f); + // z buffer coord + ret.set(2, 2, (zFar + zNear) / (zNear - zFar)); + ret.set(2, 3, (2 * zFar * zNear) / (zNear - zFar)); + // w (homogeneous coordinates) + ret.set(3, 2, -1); + return ret; + } + + /// Returns a world->clip coords matrix from the passed args. + static dt_GM_Matrix worldToClip(Vector3 viewPos, double yaw, double pitch, double roll, double FOV) { + double aspect = Screen.getAspectRatio(); + double fovy = dt_GM_GlobalMaths.fovHToY(FOV); + dt_GM_Matrix view = dt_GM_Matrix.view(viewPos, yaw, pitch, roll); + // 5 & 65535 are what are used internally, so they're used here for consistency + dt_GM_Matrix perp = dt_GM_Matrix.perspective(fovy, aspect, 5, 65535); + dt_GM_Matrix worldToClip = perp.multiplyMatrix(view); + return worldToClip; + } + + /// Gets the value at row, col. + double get(int row, int col) const { + return values[columns * row + col]; + } + + /// Sets the value at row, col. + void set(int row, int col, double val) { + values[columns * row + col] = val; + } + + /// Adds two matrices and returns the result. + dt_GM_Matrix addMatrix(dt_GM_Matrix other) const { + if (rows != other.rows || columns != other.columns) { + throwAbortException("Error: <%p>.addMatrix(<%p>) - Matrices need to be equal size", self, other); + } + dt_GM_Matrix ret = dt_GM_Matrix.create(columns, rows); + for (int row = 0; row < rows; row++) { + for (int col = 0; col < columns; col++) { + ret.set(row, col, get(row, col) + other.get(row, col)); + } + } + return ret; + } + + /// Multiplies the matrix by a scalar and returns the result. + dt_GM_Matrix multiplyScalar(double scalar) const { + dt_GM_Matrix ret = dt_GM_Matrix.create(rows, columns); + for (int row = 0; row < rows; row++) { + for (int col = 0; col < columns; col++) { + ret.set(row, col, get(row, col) * scalar); + } + } + return ret; + } + + /// Multiplies two matrices and returns the result. + dt_GM_Matrix multiplyMatrix(dt_GM_Matrix other) const { + if (columns != other.rows) { + throwAbortException("Error: <%p>.multiplyMatrix(<%p>) - Matrix A columns needs to equal Matrix B rows", self, other); + } + dt_GM_Matrix ret = dt_GM_Matrix.create(other.columns, rows); + for (int row = 0; row < ret.rows; row++) { + for (int col = 0; col < ret.columns; col++) { + double val = 0; + for (int i = 0; i < columns; i++) { + val += get(row, i) * other.get(i, col); + } + ret.set(row, col, val); + } + } + return ret; + } + + /// Multiplies this Matrix by a 2D vector. + dt_GM_Matrix multiplyVector2(Vector2 vec, dt_GM_VectorType type = dt_GM_Vector_Position) const { + dt_GM_Matrix vec2Matrix = dt_GM_Matrix.create(1, 3); + vec2Matrix.set(0, 0, vec.x); + vec2Matrix.set(1, 0, vec.y); + if (type == dt_GM_Vector_Position) vec2Matrix.set(2, 0, 1); + else if (type == dt_GM_Vector_Direction) vec2Matrix.set(2, 0, 0); + else throwAbortException("Error: Invalid vector type for multiplyVector2 (%d)", type); + return multiplyMatrix(vec2Matrix); + } + + /// Multiplies this Matrix by a 3D vector. + dt_GM_Matrix multiplyVector3(Vector3 vec, dt_GM_VectorType type = dt_GM_Vector_Position) const { + dt_GM_Matrix vec3Matrix = dt_GM_Matrix.create(1, 4); + vec3Matrix.set(0, 0, vec.x); + vec3Matrix.set(1, 0, vec.y); + vec3Matrix.set(2, 0, vec.z); + if (type == dt_GM_Vector_Position) vec3Matrix.set(3, 0, 1); + else if (type == dt_GM_Vector_Direction) vec3Matrix.set(3, 0, 0); + else throwAbortException("Error: Invalid vector type for multiplyVector3 (%d)", type); + return multiplyMatrix(vec3Matrix); + } + + /// Returns the Matrix in Vector2 form, optionally dividing by z. + Vector2 asVector2(bool divideZ = true) const { + if (columns != 1 || rows != 3) { + throwAbortException("Error: <%p>.asVector2() - Matrix needs to be 1 * 3", self); + } + if (divideZ) return (get(0, 0), get(1, 0)) / get(2, 0); + else return (get(0, 0), get(1, 0)); + } + + /// Returns the Matrix in Vector3 form, optionally dividing by w. + Vector3 asVector3(bool divideW = true) const { + if (columns != 1 || rows != 4) { + throwAbortException("Error: <%p>.asVector3() - Matrix needs to be 1 * 4", self); + } + if (divideW) return (get(0, 0), get(1, 0), get(2, 0)) / get(3, 0); + else return (get(0, 0), get(1, 0), get(2, 0)); + } + + /// Returns the number of columns. + int getColumns() const { + return columns; + } + + /// Returns the number of rows. + int getRows() const { + return rows; + } +} diff --git a/zscript/dt_Gutamatics/Matrix4.zsc b/zscript/dt_Gutamatics/Matrix4.zsc new file mode 100644 index 0000000..0525d82 --- /dev/null +++ b/zscript/dt_Gutamatics/Matrix4.zsc @@ -0,0 +1,319 @@ +class dt_GM_Matrix4 { + double values[4][4]; + + /// Initialises a new Matrix4 in a static context. + static dt_GM_Matrix4 create() { + return new("dt_GM_Matrix4"); + } + + /// Returns an identity matrix. + static dt_GM_Matrix4 identity() { + let ret = dt_GM_Matrix4.create(); + ret.values[0][0] = 1; + ret.values[1][1] = 1; + ret.values[2][2] = 1; + ret.values[3][3] = 1; + return ret; + } + + /// Returns a rotation matrix from euler angles. + static dt_GM_Matrix4 fromEulerAngles(double yaw, double pitch, double roll) { + dt_GM_Matrix4 rYaw = dt_GM_Matrix4.identity(); + double sYaw = sin(yaw); + double cYaw = cos(yaw); + rYaw.values[0][0] = cYaw; + rYaw.values[0][1] = -sYaw; + rYaw.values[1][0] = sYaw; + rYaw.values[1][1] = cYaw; + + dt_GM_Matrix4 rPitch = dt_GM_Matrix4.identity(); + double sPitch = sin(pitch); + double cPitch = cos(pitch); + rPitch.values[0][0] = cPitch; + rPitch.values[2][0] = -sPitch; + rPitch.values[0][2] = sPitch; + rPitch.values[2][2] = cPitch; + + dt_GM_Matrix4 rRoll = dt_GM_Matrix4.identity(); + double sRoll = sin(roll); + double cRoll = cos(roll); + rRoll.values[1][1] = cRoll; + rRoll.values[1][2] = -sRoll; + rRoll.values[2][1] = sRoll; + rRoll.values[2][2] = cRoll; + + // concatenate ypr to get the final matrix + dt_GM_Matrix4 ret = rYaw.multiplyMatrix(rPitch); + ret = ret.multiplyMatrix(rRoll); + return ret; + } + + /// Returns a rotation matrix from an axis and an angle. + static dt_GM_Matrix4 fromAxisAngle(Vector3 axis, double angle) { + dt_GM_Matrix4 ret = dt_GM_Matrix4.identity(); + double c = cos(angle); + double s = sin(angle); + double x = axis.x; + double y = axis.y; + double z = axis.z; + + ret.values[0][0] = (x * x * (1.0 - c) + c); + ret.values[0][1] = (x * y * (1.0 - c) - z * s); + ret.values[0][2] = (x * z * (1.0 - c) + y * s); + ret.values[1][0] = (y * x * (1.0 - c) + z * s); + ret.values[1][1] = (y * y * (1.0 - c) + c); + ret.values[1][2] = (y * z * (1.0 - c) - x * s); + ret.values[2][0] = (x * z * (1.0 - c) - y * s); + ret.values[2][1] = (y * z * (1.0 - c) + x * s); + ret.values[2][2] = (z * z * (1.0 - c) + c); + + return ret; + } + + /// Converts back from the rotation matrix to euler angles. + double, double, double rotationToEulerAngles() { + if (dt_GM_GlobalMaths.closeEnough(values[2][0], -1)) { + double x = 90; + double y = 0; + double z = atan2(values[0][1], values[0][2]); + return z, x, y; + } + else if (dt_GM_GlobalMaths.closeEnough(values[2][0], 1)) { + double x = -90; + double y = 0; + double z = atan2(-values[0][1], -values[0][2]); + return z, x, y; + } + else { + float x1 = -asin(values[2][0]); + float x2 = 180 - x1; + + float y1 = atan2(values[2][1] / cos(x1), values[2][2] / cos(x1)); + float y2 = atan2(values[2][1] / cos(x2), values[2][2] / cos(x2)); + + float z1 = atan2(values[1][0] / cos(x1), values[0][0] / cos(x1)); + float z2 = atan2(values[1][0] / cos(x2), values[0][0] / cos(x2)); + + if ((abs(x1) + abs(y1) + abs(z1)) <= (abs(x2) + abs(y2) + abs(z2))) { + return z1, x1, y1; + } + else { + return z2, x2, y2; + } + } + } + + static dt_GM_Matrix4 createTRSEuler(Vector3 translate, double yaw, double pitch, double roll, Vector3 scale) { + dt_GM_Matrix4 translateMat = dt_GM_Matrix4.identity(); + translateMat.values[0][3] = translate.x; + translateMat.values[1][3] = translate.y; + translateMat.values[2][3] = translate.z; + + dt_GM_Matrix4 rotateMat = dt_GM_Matrix4.fromEulerAngles(yaw, pitch, roll); + + dt_GM_Matrix4 scaleMat = dt_GM_Matrix4.identity(); + scaleMat.values[0][0] = scale.x; + scaleMat.values[1][1] = scale.y; + scaleMat.values[2][2] = scale.z; + + dt_GM_Matrix4 ret = translateMat.multiplyMatrix(rotateMat); + ret = ret.multiplyMatrix(scaleMat); + return ret; + } + + static dt_GM_Matrix4 createTRSAxisAngle(Vector3 translate, Vector3 axis, double angle, Vector3 scale) { + dt_GM_Matrix4 translateMat = dt_GM_Matrix4.identity(); + translateMat.values[0][3] = translate.x; + translateMat.values[1][3] = translate.y; + translateMat.values[2][3] = translate.z; + + dt_GM_Matrix4 rotateMat = dt_GM_Matrix4.fromAxisAngle(axis, angle); + + dt_GM_Matrix4 scaleMat = dt_GM_Matrix4.identity(); + scaleMat.values[0][0] = scale.x; + scaleMat.values[1][1] = scale.y; + scaleMat.values[2][2] = scale.z; + + dt_GM_Matrix4 ret = translateMat.multiplyMatrix(rotateMat); + ret = ret.multiplyMatrix(scaleMat); + return ret; + } + + /// Returns a view matrix. + static dt_GM_Matrix4 view(Vector3 camPos, double yaw, double pitch, double roll) { + // all of this is basically lifted and converted from PolyRenderer::SetupPerspectiveMatrix(), + // so credit goes to Graf Zahl/dpJudas/whoever else + // pitch needs to be adjusted by the pixel ratio + float pixelRatio = level.pixelstretch; + double angx = cos(pitch); + double angy = sin(pitch) * pixelRatio; + double alen = sqrt(angx * angx + angy * angy); + double adjustedPitch = asin(angy / alen); + double adjustedYaw = 90 - yaw; + + // rotations + let cz = cos(roll); + let sz = sin(roll); + let cx = cos(adjustedPitch); + let sx = sin(adjustedPitch); + let cy = cos(adjustedYaw); + let sy = sin(adjustedYaw); + + let rot = dt_GM_Matrix4.create(); + rot.values[0][0] = cz * cy - sz * sx * sy; + rot.values[0][1] = -sz * cx; + rot.values[0][2] = cz * sy + sz * sx * cy; + + rot.values[1][0] = sz * cy + cz * sx * sy; + rot.values[1][1] = cz * cx; + rot.values[1][2] = sz * sy - cz * sx * cy; + + rot.values[2][0] = -cx * sy; + rot.values[2][1] = sx; + rot.values[2][2] = cx * cy; + + rot.values[3][3] = 1.0; + + // pixel ratio scaling + dt_GM_Matrix4 scale = dt_GM_Matrix4.identity(); + scale.values[1][1] = pixelRatio; + // swapping y and z + dt_GM_Matrix4 swapYZ = dt_GM_Matrix4.create(); + swapYZ.values[0][0] = 1; + swapYZ.values[1][2] = 1; + swapYZ.values[2][1] = -1; + swapYZ.values[3][3] = 1; + // translation + dt_GM_Matrix4 translate = dt_GM_Matrix4.identity(); + translate.values[0][3] = -camPos.x; + translate.values[1][3] = -camPos.y; + translate.values[2][3] = -camPos.z; + + // concatenate them all to get a final matrix + dt_GM_Matrix4 ret = rot.multiplyMatrix(scale); + ret = ret.multiplyMatrix(swapYZ); + ret = ret.multiplyMatrix(translate); + + return ret; + } + + /// Returns a perspective matrix (same format as gluPerspective). + static dt_GM_Matrix4 perspective(double fovy, double aspect, double zNear, double zFar) { + dt_GM_Matrix4 ret = dt_GM_Matrix4.create(); + double f = 1 / tan(fovy / 2.0); + // x coord + ret.values[0][0] = f / aspect; + // y coord + ret.values[1][1] = f; + // z buffer coord + ret.values[2][2] = (zFar + zNear) / (zNear - zFar); + ret.values[2][3] = (2 * zFar * zNear) / (zNear - zFar); + // w (homogeneous coordinates) + ret.values[3][2] = -1; + return ret; + } + + /// Returns a world->clip coords matrix from the passed args. + static dt_GM_Matrix4 worldToClip(Vector3 viewPos, double yaw, double pitch, double roll, double FOV) { + double aspect = Screen.getAspectRatio(); + double fovy = dt_GM_GlobalMaths.fovHToY(FOV); + dt_GM_Matrix4 view = dt_GM_Matrix4.view(viewPos, yaw, pitch, roll); + // 5 & 65535 are what are used internally, so they're used here for consistency + dt_GM_Matrix4 perp = dt_GM_Matrix4.perspective(fovy, aspect, 5, 65535); + dt_GM_Matrix4 worldToClip = perp.multiplyMatrix(view); + return worldToClip; + } + + /// Adds two matrices and returns the result. + dt_GM_Matrix4 addMatrix(dt_GM_Matrix4 other) const { + dt_GM_Matrix4 ret = dt_GM_Matrix4.create(); + ret.values[0][0] = values[0][0] + other.values[0][0]; + ret.values[0][1] = values[0][1] + other.values[0][1]; + ret.values[0][2] = values[0][2] + other.values[0][2]; + ret.values[0][3] = values[0][3] + other.values[0][3]; + ret.values[1][0] = values[1][0] + other.values[1][0]; + ret.values[1][1] = values[1][1] + other.values[1][1]; + ret.values[1][2] = values[1][2] + other.values[1][2]; + ret.values[1][3] = values[1][3] + other.values[1][3]; + ret.values[2][0] = values[2][0] + other.values[2][0]; + ret.values[2][1] = values[2][1] + other.values[2][1]; + ret.values[2][2] = values[2][2] + other.values[2][2]; + ret.values[2][3] = values[2][3] + other.values[2][3]; + ret.values[3][0] = values[3][0] + other.values[3][0]; + ret.values[3][1] = values[3][1] + other.values[3][1]; + ret.values[3][2] = values[3][2] + other.values[3][2]; + ret.values[3][3] = values[3][3] + other.values[3][3]; + return ret; + } + + /// Multiplies the matrix by a scalar and returns the result. + dt_GM_Matrix4 multiplyScalar(double scalar) const { + dt_GM_Matrix4 ret = dt_GM_Matrix4.create(); + ret.values[0][0] = values[0][0] * scalar; + ret.values[0][1] = values[0][1] * scalar; + ret.values[0][2] = values[0][2] * scalar; + ret.values[0][3] = values[0][3] * scalar; + ret.values[1][0] = values[1][0] * scalar; + ret.values[1][1] = values[1][1] * scalar; + ret.values[1][2] = values[1][2] * scalar; + ret.values[1][3] = values[1][3] * scalar; + ret.values[2][0] = values[2][0] * scalar; + ret.values[2][1] = values[2][1] * scalar; + ret.values[2][2] = values[2][2] * scalar; + ret.values[2][3] = values[2][3] * scalar; + ret.values[3][0] = values[3][0] * scalar; + ret.values[3][1] = values[3][1] * scalar; + ret.values[3][2] = values[3][2] * scalar; + ret.values[3][3] = values[3][3] * scalar; + return ret; + } + + /// Multiplies two matrices and returns the result. + dt_GM_Matrix4 multiplyMatrix(dt_GM_Matrix4 other) const { + dt_GM_Matrix4 ret = dt_GM_Matrix4.create(); + for (int row = 0; row < 4; row++) { + ret.values[row][0] = + values[row][0] * other.values[0][0] + + values[row][1] * other.values[1][0] + + values[row][2] * other.values[2][0] + + values[row][3] * other.values[3][0]; + + ret.values[row][1] = + values[row][0] * other.values[0][1] + + values[row][1] * other.values[1][1] + + values[row][2] * other.values[2][1] + + values[row][3] * other.values[3][1]; + + ret.values[row][2] = + values[row][0] * other.values[0][2] + + values[row][1] * other.values[1][2] + + values[row][2] * other.values[2][2] + + values[row][3] * other.values[3][2]; + + ret.values[row][3] = + values[row][0] * other.values[0][3] + + values[row][1] * other.values[1][3] + + values[row][2] * other.values[2][3] + + values[row][3] * other.values[3][3]; + } + return ret; + } + + /// Multiplies this Matrix by a 3D vector. + Vector3 multiplyVector3(Vector3 vec, dt_GM_VectorType type = dt_GM_Vector_Position, bool divideW = true) const { + let vecW = (type == dt_GM_Vector_Position) ? 1.0 : 0.0; + + let ret = ( + values[0][0] * vec.x + values[0][1] * vec.y + values[0][2] * vec.z + values[0][3] * vecW, + values[1][0] * vec.x + values[1][1] * vec.y + values[1][2] * vec.z + values[1][3] * vecW, + values[2][0] * vec.x + values[2][1] * vec.y + values[2][2] * vec.z + values[2][3] * vecW + ); + + if (divideW) { + let retW = values[3][0] * vec.x + values[3][1] * vec.y + values[3][2] * vec.z + values[3][3] * vecW; + ret /= retW; + } + + return ret; + } +} diff --git a/zscript/dt_Gutamatics/Quaternion.zsc b/zscript/dt_Gutamatics/Quaternion.zsc new file mode 100644 index 0000000..44a3a17 --- /dev/null +++ b/zscript/dt_Gutamatics/Quaternion.zsc @@ -0,0 +1,275 @@ +class dt_GM_Quaternion { + double w, x, y, z; + + /// Initialises the Quaternion. + dt_GM_Quaternion init(double w, double x, double y, double z) { + self.w = w; + self.x = x; + self.y = y; + self.z = z; + + return self; + } + + /// Initialises the Quaternion in a static context. + static dt_GM_Quaternion create(double w, double x, double y, double z) { + return new("dt_GM_Quaternion").init(w, x, y, z); + } + + /// Sets up the quaternion using axis and angle. + void setAxisAngle(Vector3 axis, double angle) { + double lengthSquared = axis dot axis; + // avoid a division by 0 and just return the identity + if (dt_GM_GlobalMaths.closeEnough(lengthSquared, 0)) { + init(1, 0, 0, 0); + return; + } + + angle *= 0.5; + + double sinTheta = sin(angle); + double cosTheta = cos(angle); + double factor = sinTheta / sqrt(lengthSquared); + + w = cosTheta; + x = factor * axis.x; + y = factor * axis.y; + z = factor * axis.z; + } + + /// Initialises the Quaternion using axis and angle. + dt_GM_Quaternion initFromAxisAngle(Vector3 axis, double angle) { + setAxisAngle(axis, angle); + return self; + } + + /// Initialises the Quaternion using axis and angle in a static context. + static dt_GM_Quaternion createFromAxisAngle(Vector3 axis, double angle) { + return new("dt_GM_Quaternion").initFromAxisAngle(axis, angle); + } + + /// Sets up the quaternion using euler angles. + void setAngles(double yaw, double pitch, double roll) { + dt_GM_Quaternion zRotation = new("dt_GM_Quaternion").initFromAxisAngle((0, 0, 1), yaw); + dt_GM_Quaternion yRotation = new("dt_GM_Quaternion").initFromAxisAngle((0, 1, 0), pitch); + dt_GM_Quaternion xRotation = new("dt_GM_Quaternion").initFromAxisAngle((1, 0, 0), roll); + dt_GM_Quaternion finalRotation = zRotation.multiplyQuat(yRotation); + finalRotation = finalRotation.multiplyQuat(xRotation); + copy(finalRotation); + } + + /// Initialises the quaternion using euler angles. + dt_GM_Quaternion initFromAngles(double yaw, double pitch, double roll) { + setAngles(yaw, pitch, roll); + return self; + } + + /// Initialises the quaternion using euler angles in a static context. + static dt_GM_Quaternion createFromAngles(double yaw, double pitch, double roll) { + return new("dt_GM_Quaternion").initFromAngles(yaw, pitch, roll); + } + + /// Returns the euler angles from the Quaternion. + double, double, double toAngles() { + double singularityTest = z * x - w * y; + double yawY = 2 * (w * z + x * y); + double yawX = (1 - 2 * (y * y + z * z)); + + double singularityThreshold = 0.4999995; + + double yaw = 0; + double pitch = 0; + double roll = 0; + + if (singularityTest < -singularityThreshold) { + pitch = 90; + yaw = atan2(yawY, yawX); + roll = dt_GM_GlobalMaths.normalize180(yaw + (2 * atan2(x, w))); + } + else if (singularityTest > singularityThreshold) { + pitch = -90; + yaw = atan2(yawY, yawX); + roll = dt_GM_GlobalMaths.normalize180(yaw + (2 * atan2(x, w))); + } + else { + pitch = -asin(2 * singularityTest); + yaw = atan2(yawY, yawX); + roll = atan2(2 * (w * x + y * z), (1 - 2 * (x * x + y * y))); + } + + return yaw, pitch, roll; + } + + /// Returns the conjugate of the Quaternion. + dt_GM_Quaternion conjugate() const { + return new("dt_GM_Quaternion").init(w, -x, -y, -z); + } + + /// Returns the normalised form of the Quaternion. + dt_GM_Quaternion unit() const { + double lengthSquared = w * w + x * x + y * y + z * z; + if (dt_GM_GlobalMaths.closeEnough(lengthSquared, 0)) { + return zero(); + } + double factor = 1 / sqrt(lengthSquared); + return new("dt_GM_Quaternion").init(w * factor, x * factor, y * factor, z * factor); + } + + /// Returns the inverse of the Quaternion (equal to conjugate if normalised). + dt_GM_Quaternion inverse() { + double norm = w * w + x * x + y * y + z * z; + // if this is a zero quaternion, just return self + if (dt_GM_GlobalMaths.closeEnough(norm, 0)) { + return self; + } + double inverseNorm = 1/norm; + return new("dt_GM_Quaternion").init(w * inverseNorm, x * -inverseNorm, y * -inverseNorm, z * -inverseNorm); + } + + /// Adds two Quaternions, returning the result. + dt_GM_Quaternion add(dt_GM_Quaternion other) const { + return new("dt_GM_Quaternion").init(w + other.w, x + other.x, y + other.y, z + other.z); + } + + /// Subtracts two Quaternions, returning the result. + dt_GM_Quaternion subtract(dt_GM_Quaternion other) const { + return new("dt_GM_Quaternion").init(w - other.w, x - other.x, y - other.y, z - other.z); + } + + /// Multiplies the Quaternion by a scalar, returning the result. + dt_GM_Quaternion multiplyScalar(double scalar) const { + return new("dt_GM_Quaternion").init(w * scalar, x * scalar, y * scalar, z * scalar); + } + + /// Multiplies two Quaternions, returning the result. + dt_GM_Quaternion multiplyQuat(dt_GM_Quaternion other) const { + return new("dt_GM_Quaternion").init(w * other.w - x * other.x - y * other.y - z * other.z, + w * other.x + x * other.w + y * other.z - z * other.y, + w * other.y + y * other.w + z * other.x - x * other.z, + w * other.z + z * other.w + x * other.y - y * other.x ); + } + + /// Negates the Quaternion. + dt_GM_Quaternion negate() const { + return new("dt_GM_Quaternion").init(-w, -x, -y, -z); + } + + /// Sets the values to 0 if they're close enough to 0. + void clean() { + if (dt_GM_GlobalMaths.closeEnough(w, 0)) w = 0; + if (dt_GM_GlobalMaths.closeEnough(x, 0)) x = 0; + if (dt_GM_GlobalMaths.closeEnough(y, 0)) y = 0; + if (dt_GM_GlobalMaths.closeEnough(z, 0)) z = 0; + } + + /// Returns the length of the Quaternion squared. + double lengthSquared() const { + return (w * w + x * x + y * y + z * z); + } + + /// Returns the length of the Quaternion. + double length() const { + return sqrt(w * w + x * x + y * y + z * z); + } + + /// Returns whether the two Quaternions are equal. + bool equals(dt_GM_Quaternion other) const { + return dt_GM_GlobalMaths.closeEnough(w, other.w) && dt_GM_GlobalMaths.closeEnough(x, other.x) && + dt_GM_GlobalMaths.closeEnough(y, other.y) && dt_GM_GlobalMaths.closeEnough(z, other.z) ; + } + + /// Returns if the Quaternion is a 0 Quaternion. + bool isZero() const { + return dt_GM_GlobalMaths.closeEnough(w * w + x * x + y * y + z * z, 0); + } + + /// Returns if the Quaternion is a unit Quaternion. + bool isUnit() const { + return dt_GM_GlobalMaths.closeEnough(w * w + x * x + y * y + z * z, 1); + } + + /// Returns if the Quaternion is an identity Quaternion. + bool isIdentity() const { + return dt_GM_GlobalMaths.closeEnough(w, 1) && dt_GM_GlobalMaths.closeEnough(x, 0) && + dt_GM_GlobalMaths.closeEnough(y, 0) && dt_GM_GlobalMaths.closeEnough(z, 0) ; + } + + /// Returns the dot product of two Quaternions. + double dotProduct(dt_GM_Quaternion other) const { + return (w * other.w + x * other.x + y * other.y + z * other.z); + } + + /// Copies another Quaternion into this one. + void copy(dt_GM_Quaternion other) { + w = other.w; + x = other.x; + y = other.y; + z = other.z; + } + + /// Rotates a Vector3 using this Quaternion. + Vector3 rotateVector3(Vector3 vec) const { + dt_GM_Quaternion q = unit(); + + Vector3 u = (q.x, q.y, q.z); + double s = q.w; + + return 2 * (u dot vec) * u + (s * s - (u dot u)) * vec + 2 * s * u cross vec; + } + + /// Linearly interpolates between two Quaternions, clamping the parameters. + static dt_GM_Quaternion lerp(dt_GM_Quaternion from, dt_GM_Quaternion to, double time) { + time = clamp(time, 0, 1); + return lerpUnclamped(from, to, time); + } + + /// Linearly interpolates between two Quaternions. + static dt_GM_Quaternion lerpUnclamped(dt_GM_Quaternion from, dt_GM_Quaternion to, double time) { + dt_GM_Quaternion ret = new("dt_GM_Quaternion"); + double reverseTime = 1 - time; + ret.x = reverseTime * from.x + time * to.x; + ret.y = reverseTime * from.y + time * to.y; + ret.z = reverseTime * from.z + time * to.z; + ret.w = reverseTime * from.w + time * to.w; + ret = ret.unit(); + return ret; + } + + /// Spherically interpolates between two Quaternions, clamping the parameters. + static dt_GM_Quaternion slerp(dt_GM_Quaternion from, dt_GM_Quaternion to, double time) { + time = clamp(time, 0, 1); + return slerpUnclamped(from, to, time); + } + + /// Spherically interpolates between two Quaternions. + static dt_GM_Quaternion slerpUnclamped(dt_GM_Quaternion from, dt_GM_Quaternion to, double time) { + dt_GM_Quaternion q3; + double fromToDot = from.dotProduct(to); + + if (fromToDot < 0) { + fromToDot = -fromToDot; + q3 = to.negate(); + } + else { + q3 = to; + } + + if (fromToDot < 0.95) { + double angle = acos(fromToDot); + return ((from.multiplyScalar(sin(angle * (1 - time)))).add(q3.multiplyScalar(sin(angle * time)))).multiplyScalar(1 / sin(angle)); + } + else { + return lerp(from, q3, time); + } + } + + /// Returns the 0 Quaternion. + static dt_GM_Quaternion zero() { + return new("dt_GM_Quaternion").init(0, 0, 0, 0); + } + + /// Returns the identity Quaternion. + static dt_GM_Quaternion identity() { + return new("dt_GM_Quaternion").init(1, 0, 0, 0); + } +} diff --git a/zscript/dt_Gutamatics/VectorUtil.zsc b/zscript/dt_Gutamatics/VectorUtil.zsc new file mode 100644 index 0000000..25a21e4 --- /dev/null +++ b/zscript/dt_Gutamatics/VectorUtil.zsc @@ -0,0 +1,29 @@ +class dt_GM_VectorUtil { + /// Linearly interpolates between two Vector3s, clamping the parameters. + static Vector3 lerpVec3(Vector3 from, Vector3 to, double time) { + time = clamp(time, 0, 1); + return lerpUnclampedVec3(from, to, time); + } + + /// Linearly interpolates between two Vector3s. + static Vector3 lerpUnclampedVec3(Vector3 from, Vector3 to, double time) { + Vector3 ret; + double reverseTime = 1 - time; + ret = reverseTime * from + time * to; + return ret; + } + + /// Linearly interpolates between two Vector2s, clamping the parameters. + static Vector2 lerpVec2(Vector2 from, Vector2 to, double time) { + time = clamp(time, 0, 1); + return lerpUnclampedVec2(from, to, time); + } + + /// Linearly interpolates between two Vector2s. + static Vector2 lerpUnclampedVec2(Vector2 from, Vector2 to, double time) { + Vector2 ret; + double reverseTime = 1 - time; + ret = reverseTime * from + time * to; + return ret; + } +} diff --git a/zscript/dt_coordutil.zsc b/zscript/dt_coordutil.zsc index ec5c766..f7dbd22 100644 --- a/zscript/dt_coordutil.zsc +++ b/zscript/dt_coordutil.zsc @@ -1,16 +1,35 @@ /* Coordinate Utility helper class. - (C)2018 Marisa Kirisame, UnSX Team. - Released under the GNU Lesser General Public License version 3 (or later). - See https://www.gnu.org/licenses/lgpl-3.0.txt for its terms. + Reproduces the old UnrealScript Get(Un)Axes functions, providing XYZ axis + vectors relative to an euler rotation (defaults to left-handed coords). + + Copyright (c)2018-2022 Marisa the Magician, UnSX Team + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. */ Class dt_CoordUtil { // In Tim Sweeney's own words: "transform by a pitch-yaw-roll rotation" - static Vector3, Vector3, Vector3 GetUnAxes( double pitch, double yaw, double roll ) + static Vector3, Vector3, Vector3 GetUnAxes( double pitch, double yaw, double roll, bool rhand = false ) { - Vector3 x = (1,0,0), y = (0,-1,0), z = (0,0,1); // y inverted for left-handed result + Vector3 x = (1,0,0), y = (0,rhand?1:-1,0), z = (0,0,1); Vector3 a, b, c; // pitch and roll in gzdoom work in reverse compared to UE pitch = -pitch; @@ -40,9 +59,9 @@ Class dt_CoordUtil } // In Tim Sweeney's own words: "detransform by a pitch-yaw-roll rotation" - static Vector3, Vector3, Vector3 GetAxes( double pitch, double yaw, double roll ) + static Vector3, Vector3, Vector3 GetAxes( double pitch, double yaw, double roll, bool rhand = false ) { - Vector3 x = (1,0,0), y = (0,-1,0), z = (0,0,1); // y inverted for left-handed result + Vector3 x = (1,0,0), y = (0,rhand?1:-1,0), z = (0,0,1); Vector3 a, b, c; // pitch and roll in gzdoom work in reverse compared to UE pitch = -pitch; diff --git a/zscript/dt_libeye/libeye.txt b/zscript/dt_libeye/libeye.txt deleted file mode 100644 index 43bd070..0000000 --- a/zscript/dt_libeye/libeye.txt +++ /dev/null @@ -1,58 +0,0 @@ - libeye (for projection and deprojection) - written by KeksDose / MemeDose (May 2019) - (updated July 2019) - -All rights etc. etc. who cares, you may reuse this as you wish and edit it, and -leave this note intact. - - // - // - /////(( - @@////////// (( - (( %////((///// (( (( (( - (( @@//(((/////// ((( ////////////// (( - ( /////////////////////////(((((((////////// (( - @@///@@@@@@//////////(((((((((//@@@////////// (( - (( ///// /////((((((((((((((//@@% %%@/////////// (( - //////////((((((((((((((//////((((( %%@@////////// (( - ((%%//////////@@%% @@//(((((((/// ( (((( %%///////// ( - (( ////////@@ ((( @@//(((((((///// (( ( @@///////// - ((/////////@ (( (( @@/(((((((///// (( (( @@/((((///(( - (( ///((//@@ (( (( %@@@@@@////////// (((( /((((/// (( - ((/////((//%%( ////%%%@@////////// @//((((/// - ////(((// ///////// //@@/////////////////(((((// - ( ////(((////( //////////////////////@@@@////////////(((((////(( - ////(((((((// //////////////////////////// %%@@///(((((((((// ( - //(((((((((/////////////////// //////////// %%@//(((((((//// (( - //(((((((((((////////////((/// /////////////// @@//(((((((/// - //(((((((((((////////(( /////////((//////////// ( //(((((((/////// - //((((((( ((///////( ##### ////( ((/////// ( @@//(((((/////// - //((((((( (((//////((( ### (((( ##### ((/////// (( //(((///////@@ - //((((((((((((@@/////////(((((((((((((((((((((///// ///////////% (( - //((((((((((((%% ///////((((((((((((//////// //////////////@@%% (( - @@//(((((((((/%%(( /////////////////////// ///////////////// ((( - ( //(((((((((/ (( /////////////////////// - %%//(((((((///(( (( //////////////@///////%% - (( @@/((((((///(( (( //////////////@@%% /////// (( - (( /(((((((// ( //////////////@%% //////%(( - (( @@//(((////(( (( /////(((((((///@@ ((( /////// ( - ( @@(((((// ( ////(((((((///@@% (((( /////////%%(( - ((%%//(((/////////(((((((//@%% //////////%% (( - ((////(((((///////(((((///////////////////////% (( - ( ////(((((/////(((((((((//////////((((///@@%% (( - ////(((//////@//////(((((((((((((////@@@%% ( - (( /////////@@%% %%@@@@@@@@@@@@@@@@@@@%% (( - (( @@@@@%% (( - (( ((( - - - - %%//% - ( //((/ (( - ( ///////(( - ( ///////(( - ///// (( - // - // - - (( ///// (( \ No newline at end of file diff --git a/zscript/dt_libeye/projector gl.txt b/zscript/dt_libeye/projector gl.txt deleted file mode 100644 index 97f1687..0000000 --- a/zscript/dt_libeye/projector gl.txt +++ /dev/null @@ -1,150 +0,0 @@ -/* kd: - - In open-gl, your screen rotates nicely and you can do mostly what you know - to be sane. It's all about making a rotation of your view and using what - you know about right triangles. - - */ - -class dtLe_GlScreen : dtLe_ProjScreen { - protected vector3 forw_unit; - protected vector3 right_unit; - protected vector3 down_unit; - - override void Reorient (vector3 world_view_pos, vector3 world_ang) { - - // kd: Pitch is a weird gzd joke. It's probably to compensate looking - // speed and all. After that, you see what makes this fast. - world_ang.y = VectorAngle( - cos(world_ang.y), - sin(world_ang.y) * pixel_stretch); - - - super.Reorient(world_view_pos, world_ang); - - let cosang = cos(world_ang.x); - let cosvang = cos(world_ang.y); - let cosrang = cos(world_ang.z); - let sinang = sin(world_ang.x); - let sinvang = sin(world_ang.y); - let sinrang = sin(world_ang.z); - - let right_no_roll = ( - sinang, - - cosang, - 0); - - let down_no_roll = ( - - sinvang * cosang, - - sinvang * sinang, - - cosvang); - - forw_unit = ( - cosvang * cosang, - cosvang * sinang, - - sinvang); - - down_unit = cosrang * down_no_roll - sinrang * right_no_roll; - right_unit = cosrang * right_no_roll + sinrang * down_no_roll; - } - - // kd: Projection handling. These get called to make stuff a little faster, - // since you may wanna project many many times. - protected vector3 forw_in; - protected vector3 right_in; - protected vector3 down_in; - - override void BeginProjection () { - forw_in = forw_unit; - right_in = right_unit / tan_fov_2.x; - down_in = down_unit / tan_fov_2.y; - - forw_in.z *= pixel_stretch; - right_in.z *= pixel_stretch; - down_in.z *= pixel_stretch; - } - - override void ProjectWorldPos (vector3 world_pos) { - diff = levellocals.vec3diff(view_pos, world_pos); - proj_pos = (diff dot right_in, diff dot down_in); - depth = diff dot forw_in; - } - - override void ProjectActorPos (Actor mo, vector3 offset, double t) { - let inter_pos = mo.prev + t * (mo.pos - mo.prev); - diff = levellocals.vec3diff(view_pos, inter_pos + offset); - proj_pos = (diff dot right_in, diff dot down_in); - depth = diff dot forw_in; - } - - override void ProjectActorPosPortal (Actor mo, vector3 offset, double t) { - let inter_pos = mo.prev + t * levellocals.vec3diff(mo.prev, mo.pos); - diff = levellocals.vec3diff(view_pos, inter_pos + offset); - proj_pos = (diff dot right_in, diff dot down_in); - depth = diff dot forw_in; - } - - override vector2 ProjectToNormal () const { - return proj_pos / depth; - } - - override vector2 ProjectToScreen () const { - let normal_pos = proj_pos / depth + (1, 1); - - return 0.5 * ( - normal_pos.x * resolution.x, - normal_pos.y * resolution.y); - } - - override vector2 ProjectToCustom ( - vector2 origin, - vector2 resolution) const { - let normal_pos = proj_pos / depth + (1, 1); - - return origin + 0.5 * ( - normal_pos.x * resolution.x, - normal_pos.y * resolution.y); - } - - // kd: Same deal but backwards-ish. - protected vector3 forw_out; - protected vector3 right_out; - protected vector3 down_out; - - override void BeginDeprojection () { - - // kd: Same deal as above, but reversed. This time, we're compensating - // for what we rightfully assume is a projected position. - forw_out = forw_unit; - right_out = right_unit * tan_fov_2.x; - down_out = down_unit * tan_fov_2.y; - - forw_out.z /= pixel_stretch; - right_out.z /= pixel_stretch; - down_out.z /= pixel_stretch; - } - - override vector3 DeprojectNormalToDiff ( - vector2 normal_pos, - double depth) const { - return depth * ( - forw_out + - normal_pos.x * right_out + - normal_pos.y * down_out); - } - - override vector3 DeprojectScreenToDiff ( - vector2 screen_pos, - double depth) const { - - // kd: Same thing... - let normal_pos = 2 * ( - screen_pos.x / resolution.x, - screen_pos.y / resolution.y) - (1, 1); - - return depth * ( - forw_out + - normal_pos.x * right_out + - normal_pos.y * down_out); - } -} \ No newline at end of file diff --git a/zscript/dt_libeye/projector planar.txt b/zscript/dt_libeye/projector planar.txt deleted file mode 100644 index 0f00bf6..0000000 --- a/zscript/dt_libeye/projector planar.txt +++ /dev/null @@ -1,125 +0,0 @@ -/* kd: - - This does projection stuff in Carmack / software renderer. It's conceptually - simpler, but nonetheless a little tricky to understand if you're - used to open-gl. - - */ - -class dtLe_SwScreen : dtLe_ProjScreen { - - // kd: Less info necessary than for open-gl, but it's there. - protected vector2 right_planar_unit; - protected vector3 forw_planar_unit; - - override void Reorient (vector3 world_view_pos, vector3 world_ang) { - super.Reorient(world_view_pos, world_ang); - - right_planar_unit = ( - sin(view_ang.x), - - cos(view_ang.x)); - - forw_planar_unit = ( - - right_planar_unit.y, - right_planar_unit.x, - tan(view_ang.y)); - } - - // kd: Projection: - protected vector3 forw_planar_in; - protected vector2 right_planar_in; - - override void BeginProjection () { - - // kd: This doesn't cause any imprecisions. It also prevents two - // multiplications with every projection. - right_planar_in = right_planar_unit / tan_fov_2.x; - forw_planar_in = forw_planar_unit; - } - - override void ProjectWorldPos (vector3 world_pos) { - - // kd: Your view is flat. If you pitch up or down, imagine that all the - // actors move up and down in reality. That's effectively how it works. - // You can see this in the addition to diff.z. - diff = levellocals.vec3diff(view_pos, world_pos); - depth = forw_planar_in.xy dot diff.xy; - diff.z += forw_planar_in.z * depth; - proj_pos = ( - right_planar_in dot diff.xy, - - pixel_stretch * diff.z / tan_fov_2.y); - } - - override void ProjectActorPos (Actor mo, vector3 offset, double t) { - let inter_pos = mo.prev + t * (mo.pos - mo.prev); - ProjectWorldPos(inter_pos + offset); - } - - override void ProjectActorPosPortal (Actor mo, vector3 offset, double t) { - let inter_pos = mo.prev + t * levellocals.vec3diff(mo.prev, mo.pos); - ProjectWorldPos(inter_pos + offset); - } - - override vector2 ProjectToNormal () const { - return proj_pos / depth; - } - - override vector2 ProjectToScreen () const { - let normal_pos = proj_pos / depth + (1, 1); - - return 0.5 * ( - normal_pos.x * resolution.x, - normal_pos.y * resolution.y); - } - - override vector2 ProjectToCustom ( - vector2 origin, - vector2 resolution) const { - let normal_pos = proj_pos / depth + (1, 1); - - return origin + 0.5 * ( - normal_pos.x * resolution.x, - normal_pos.y * resolution.y); - } - - // kd: Just as simple. You again assume you are trying to reverse a - // projected position from the screen back into the world. - protected vector3 forw_planar_out; - protected vector3 right_planar_out; - protected vector3 down_planar_out; - - override void BeginDeprojection () { - forw_planar_out.xy = forw_planar_unit.xy; - forw_planar_out.z = 0; - right_planar_out.xy = tan_fov_2.x * right_planar_unit; - right_planar_out.z = 0; - down_planar_out = ( - 0, - 0, - tan_fov_2.y / pixel_stretch); - } - - override vector3 DeprojectNormalToDiff ( - vector2 normal_pos, - double depth) const { - return depth * ( - forw_planar_out + - normal_pos.x * right_planar_out + - - (0, 0, forw_planar_unit.z) - normal_pos.y * down_planar_out); - } - - override vector3 DeprojectScreenToDiff ( - vector2 screen_pos, - double depth) const { - - // kd: Same thing... - let normal_pos = 2 * ( - screen_pos.x / resolution.x, - screen_pos.y / resolution.y) - (1, 1); - - return depth * ( - forw_planar_out + - normal_pos.x * right_planar_out + - - (0, 0, forw_planar_unit.z) - normal_pos.y * down_planar_out); - } -} \ No newline at end of file diff --git a/zscript/dt_libeye/projector.txt b/zscript/dt_libeye/projector.txt deleted file mode 100644 index c888950..0000000 --- a/zscript/dt_libeye/projector.txt +++ /dev/null @@ -1,193 +0,0 @@ -/* kd: - - Here's how to do projections and deprojections. You'd use the subclasses - to do anything worthwhile. You may project world to screen and backwards. - - */ - -class dtLe_ProjScreen { - - // kd: Screen info - protected vector2 resolution; - protected vector2 origin; - protected vector2 tan_fov_2; - protected double pixel_stretch; - protected double aspect_ratio; - - // kd: Setup calls which you'll need to call at least once. - void CacheResolution () { - CacheCustomResolution((Screen.GetWidth(), Screen.GetHeight()) ); - } - - void CacheCustomResolution (vector2 new_resolution) { - - // kd: This is for convenience and converting normal <-> screen pos. - resolution = new_resolution; - - // kd: This isn't really necessary but I kinda like it. - pixel_stretch = level.pixelstretch; - - // kd: Get the aspect ratio. 5:4 is handled just like 4:3... I GUESS - // this'll do. - aspect_ratio = max(4.0 / 3, Screen.GetAspectRatio()); - } - - double AspectRatio () const { - return aspect_ratio; - } - - // kd: Once you know you got screen info, you can call this whenever your - // fov changes. Like CacheFov(player.fov) will do. - void CacheFov (double hor_fov = 90) { - - // kd: This holds: aspect ratio = tan(horizontal fov) / tan(ver fov). - // gzd always uses hor fov, but the fov only holds in 4:3 (in a 4:3 box - // in your screen centre), so we just extend it. - tan_fov_2.x = tan(hor_fov / 2) * aspect_ratio / (4.0 / 3); - tan_fov_2.y = tan_fov_2.x / aspect_ratio; - } - - // kd: Also need some view info. Angle is yaw, pitch, roll in world format - // so positive pitch is up. Call one of the following functions. - protected vector3 view_ang; - protected vector3 view_pos; - - ui void OrientForRenderOverlay (RenderEvent event) { - Reorient( - event.viewpos, ( - event.viewangle, - event.viewpitch, - event.viewroll)); - } - - ui void OrientForRenderUnderlay (RenderEvent event) { - Reorient( - event.viewpos, ( - event.viewangle, - event.viewpitch, - event.viewroll)); - } - - void OrientForPlayer (PlayerInfo player) { - Reorient( - player.mo.vec3offset(0, 0, player.viewheight), ( - player.mo.angle, - player.mo.pitch, - player.mo.roll)); - } - - virtual void Reorient (vector3 world_view_pos, vector3 world_ang) { - view_ang = world_ang; - view_pos = world_view_pos; - } - - // kd: Now we can do projections and such (position in the level, go to - // your screen). - protected double depth; - protected vector2 proj_pos; - protected vector3 diff; - - virtual void BeginProjection () {} - virtual void ProjectWorldPos (vector3 world_pos) {} - virtual void ProjectActorPos ( - Actor mo, - vector3 offset = (0,0,0), - double t = 1) {} - - // kd: Portal aware version. - virtual void ProjectActorPosPortal ( - Actor mo, - vector3 offset = (0,0,0), - double t = 1) {} - - virtual vector2 ProjectToNormal () const { return (0, 0); } - virtual vector2 ProjectToScreen () const { return (0, 0); } - - virtual vector2 ProjectToCustom ( - vector2 origin, - vector2 resolution) const { - return (0, 0); - } - - bool IsInFront () const { - return 0 < depth; - } - - bool IsInScreen () const { - if( proj_pos.x < -depth || depth < proj_pos.x || - proj_pos.y < -depth || depth < proj_pos.y) { - return false; - } - - return true; - } - - // kd: Deprojection (point on screen, go into the world): - virtual void BeginDeprojection () {} - - virtual vector3 DeprojectNormalToDiff ( - vector2 normal_pos, - double depth = 1) const { - return (0, 0, 0); - } - - virtual vector3 DeprojectScreenToDiff ( - vector2 screen_pos, - double depth = 1) const { - return (0, 0, 0); - } - - virtual vector3 DeprojectCustomToDiff ( - vector2 origin, - vector2 resolution, - vector2 screen_pos, - double depth = 1) const { - return (0, 0, 0); - } - - // kd: A normal position is in the -1 <= x, y <= 1 range on your screen. - // This will be your screen no matter the resolution: - - /* - - (-1, -1) -- --- --- (0, -1) --- --- --- --- (1, -1) - | | - | | - | | - (-1, 0) (0, 0) (1, 0) - | | - | | - | | - (-1, 1) --- --- --- (0, 1) --- --- --- --- (1, 1) - - */ - - // So this scales such a position back into your drawing resolution. - - vector2 NormalToScreen (vector2 normal_pos) const { - normal_pos = 0.5 * (normal_pos + (1, 1)); - return ( - normal_pos.x * resolution.x, - normal_pos.y * resolution.y); - } - - // kd: And this brings a screen position to normal. Make sure the resolution - // is the same for your cursor. - - vector2 ScreenToNormal (vector2 screen_pos) const { - screen_pos = ( - screen_pos.x / resolution.x, - screen_pos.y / resolution.y); - return 2 * screen_pos - (1, 1); - } - - // kd: Other interesting stuff. - - vector3 Difference () const { - return diff; - } - - double Distance () const { - return diff.length(); - } -} diff --git a/zscript/dt_libeye/viewport.txt b/zscript/dt_libeye/viewport.txt deleted file mode 100644 index e495922..0000000 --- a/zscript/dt_libeye/viewport.txt +++ /dev/null @@ -1,141 +0,0 @@ -/* kd: - - This helps repositioning the view port for stuff like screen blocks. It's a - little more than that, cuz it can also determine stuff like, "is this scene - position in the viewport?" Cuz the scene doesn't necessarily match the - viewport. - - Well yea... see the examples. Imagine how annoying it is to even get this - idea to begin with. - - */ - -struct dtLe_Viewport { - - private vector2 scene_origin; - private vector2 scene_size; - - private vector2 viewport_origin; - private vector2 viewport_bound; - private vector2 viewport_size; - - private double scene_aspect; - private double viewport_aspect; - - private double scale_f; - private vector2 scene_to_viewport; - - ui void FromHud () const { - scene_aspect = Screen.GetAspectRatio(); - - vector2 hud_origin; - vector2 hud_size; - - [hud_origin.x, hud_origin.y, hud_size.x, hud_size.y] = - Screen.GetViewWindow(); - - let window_resolution = ( - Screen.GetWidth(), - Screen.GetHeight()); - - let window_to_normal = ( - 1.0 / window_resolution.x, - 1.0 / window_resolution.y); - - viewport_origin = ( - window_to_normal.x * hud_origin.x, - window_to_normal.y * hud_origin.y); - - viewport_size = ( - window_to_normal.x * hud_size.x, - window_to_normal.y * hud_size.y); - - viewport_aspect = hud_size.x / hud_size.y; - - viewport_bound = viewport_origin + viewport_size; - - // kd: The scene is what is actually rendered. It's not always the same - // as the viewport. When the statusbar comes into play, the scene is - // obscured by the viewport being too small. - - // Example: Compare screenblocks 11 against screenblocks 10 in unmodded - // Doom. You will notice that the scaling of the 3d world is the same, - // but it's moved up by half the height of the statusbar. - - // That makes this viewport stuff kinda really annoying to deal with. - - // Also statusbar.getsomethingfromstatusbar, really really nice naming. - - let statusbar_height = - (window_resolution.y - Statusbar.GetTopOfStatusbar()) / window_resolution.y; - - scale_f = hud_size.x / window_resolution.x; - - scene_aspect = Screen.GetAspectRatio(); - - let offset = 10 < screenblocks ? 0 : 0.5 * statusbar_height; - - scene_size = ( - scale_f, - scale_f); - - scene_origin = viewport_origin - (0, 0.5 * (scene_size.y - viewport_size.y)); - - scene_to_viewport = ( - viewport_size.x / scene_size.x, - viewport_size.y / scene_size.y); - } - - // kd: Is the scene pos (normal, just like projected normal) inside the - // view port? If yes, it's visible in the 3d world, even through resizing. - bool IsInside (vector2 scene_pos) const { - let normal_pos = scene_origin + ( - scene_size.x * 0.5 * (1 + scene_pos.x), - scene_size.y * 0.5 * (1 + scene_pos.y)); - - if( normal_pos.x < viewport_origin.x || viewport_bound.x < normal_pos.x || - normal_pos.y < viewport_origin.y || viewport_bound.y < normal_pos.y) { - return false; - } - - return true; - } - - // kd: Use these for drawing (and make sure the aspect ratios match). - vector2 SceneToCustom (vector2 scene_pos, vector2 resolution) const { - let normal_pos = 0.5 * ( - (scene_pos.x + 1) * scene_size.x, - (scene_pos.y + 1) * scene_size.y); - - return ( - (scene_origin.x + normal_pos.x) * resolution.x, - (scene_origin.y + normal_pos.y) * resolution.y); - } - - vector2 SceneToWindow (vector2 scene_pos) const { - return SceneToCustom( - scene_pos, - (Screen.GetWidth(), Screen.GetHeight()) ); - } - - vector2 ViewportToCustom (vector2 viewport_pos, vector2 resolution) const { - let normal_pos = 0.5 * ( - (viewport_pos.x + 1) * viewport_size.x, - (viewport_pos.y + 1) * viewport_size.y); - - - return ( - (viewport_origin.x + normal_pos.x) * resolution.x, - (viewport_origin.y + normal_pos.y) * resolution.y); - } - - vector2 ViewportToWindow (vector2 viewport_pos) const { - return ViewportToCustom( - viewport_pos, - (Screen.GetWidth(), Screen.GetHeight()) ); - } - - double Scale () const { - return scale_f; - } -} \ No newline at end of file diff --git a/zscript/dt_quaternion.zsc b/zscript/dt_quaternion.zsc deleted file mode 100644 index 8a5770c..0000000 --- a/zscript/dt_quaternion.zsc +++ /dev/null @@ -1,97 +0,0 @@ -/* - Quaternion math helper class. - (C)2018 Marisa Kirisame, UnSX Team. - Released under the GNU Lesser General Public License version 3 (or later). - See https://www.gnu.org/licenses/lgpl-3.0.txt for its terms. -*/ - -Class dt_Quat -{ - protected double W, X, Y, Z; - - dt_Quat init( double w, double x, double y, double z ) - { - self.W = w; - self.X = x; - self.Y = y; - self.Z = z; - return self; - } - - void copy( dt_Quat q ) - { - W = q.W; - X = q.X; - Y = q.Y; - Z = q.Z; - } - - static dt_Quat create( double w, double x, double y, double z ) - { - return new("dt_Quat").init(w,x,y,z); - } - - static dt_Quat create_axis( Vector3 axis, double theta ) - { - double scale = axis dot axis; - if ( scale < double.epsilon ) return dt_Quat.create(1,0,0,0); - theta *= 0.5; - double f = sin(theta)/sqrt(scale); - return dt_Quat.create(cos(theta),axis.x*f,axis.y*f,axis.z*f); - } - - static dt_Quat create_euler( double pitch, double yaw, double roll ) - { - dt_Quat zrot = dt_Quat.create_axis((0,0,1),yaw); - dt_Quat yrot = dt_Quat.create_axis((0,1,0),pitch); - dt_Quat xrot = dt_Quat.create_axis((1,0,0),roll); - dt_Quat sum = zrot.qmul(yrot); - sum = sum.qmul(xrot); - return sum; - } - - // copied here since Actor.Normalize180 is not (yet) clearscope - static double Normalize180( double ang ) - { - ang = ang%360; - ang = (ang+360)%360; - if ( ang > 180 ) ang -= 360; - return ang; - } - - double, double, double to_euler() - { - double stest = z*x-w*y; - double yawY = 2*(w*z+x*y); - double yawX = 1-2*(y*y+z*z); - double st = 0.4999995; - double pitch = 0; - double yaw = 0; - double roll = 0; - if ( stest <= -st ) - { - pitch = 90; - yaw = atan2(yawY,yawX); - roll = Normalize180(yaw+(2*atan2(x,w))); - } - else if ( stest > st ) - { - pitch = -90; - yaw = atan2(yawY,yawX); - roll = Normalize180(yaw+(2*atan2(x,w))); - } - else - { - pitch = -asin(2*stest); - yaw = atan2(yawY,yawX); - roll = atan2(2*(w*x+y*z),(1-2*(x*x+y*y))); - } - return pitch, yaw, roll; - } - - dt_Quat qmul( dt_Quat q ) - { - return dt_Quat.create(w*q.w-x*q.x-y*q.y-z*q.z,w*q.x+x*q.w+y*q.z-z - *q.y,w*q.y+y*q.w+z*q.x-x*q.z,w*q.z+z*q.w+x*q.y-y*q.x); - } -} diff --git a/zscript/dt_utility.zsc b/zscript/dt_utility.zsc new file mode 100644 index 0000000..12245b7 --- /dev/null +++ b/zscript/dt_utility.zsc @@ -0,0 +1,67 @@ +// gutamatics projection data caching and other functions from SWWM GZ + +Struct dt_ProjectionData +{ + dt_GM_Matrix wtc; + int viewx, viewy, vieww, viewh; +} + +Class dt_Utility +{ + // gutamatics caching + static clearscope void PrepareProjData( out dt_ProjectionData d, Vector3 viewpos, double angle, double pitch, double roll, double fov ) + { + double aspect = Screen.GetAspectRatio(); + // vertical fov + double fovratio = (aspect>=1.3)?1.333333:aspect; + double fovy = 2.*atan(tan(clamp(fov,5,170)/2.)/fovratio); + // world→clip matrix + dt_GM_Matrix view = dt_GM_Matrix.view(viewpos,angle,pitch,roll); + dt_GM_Matrix perp = dt_GM_Matrix.perspective(fovy,aspect,5,65535); + d.wtc = perp.multiplyMatrix(view); + // screen coord data + int sblocks = CVar.FindCVar('screenblocks').GetInt(); + int viewx, viewy, vieww, viewh; + [viewx, viewy, vieww, viewh] = Screen.GetViewWindow(); + int sh = Screen.GetHeight(); + int h = sh; + if ( sblocks < 10 ) h = (sblocks*sh/10)&~7; + int bottom = sh-(h+viewy-((h-viewh)/2)); + d.viewx = viewx; + d.viewy = sh-bottom-h; + d.vieww = vieww; + d.viewh = h; + } + + static clearscope Vector3 ProjectPoint( dt_ProjectionData d, Vector3 worldpos ) + { + return d.wtc.multiplyVector3(worldpos).asVector3(); + } + + static clearscope Vector2 NDCToViewport( dt_ProjectionData d, Vector3 ndc ) + { + return (d.viewx,d.viewy)+(((ndc.x+1)*d.vieww)/2,((-ndc.y+1)*d.viewh)/2); + } + + // checks if a point is inside the viewport + static clearscope bool TestScreenBounds( dt_ProjectionData d, Vector2 vpos ) + { + return ((vpos.x == clamp(vpos.x,d.viewx,d.viewx+d.vieww)) + && (vpos.y == clamp(vpos.y,d.viewy,d.viewy+d.viewh))); + } + + static clearscope Vector3 Vec3FromAngle( double angle, double pitch ) + { + return (cos(angle)*cos(pitch),sin(angle)*cos(pitch),-sin(pitch)); + } + + static clearscope Vector3 CircleOffset( Vector3 y, Vector3 z, double angle, double radius ) + { + return (y*cos(angle)*radius+z*sin(angle)*radius); + } + + static clearscope Vector3 ConeSpread( Vector3 x, Vector3 y, Vector3 z, double angle, double spread ) + { + return (x+y*cos(angle)*spread+z*sin(angle)*spread).unit(); + } +} diff --git a/zscript/eightball.zsc b/zscript/eightball.zsc index dd0206d..c46b3b4 100644 --- a/zscript/eightball.zsc +++ b/zscript/eightball.zsc @@ -290,35 +290,37 @@ Class UTRocketLauncher : UTWeapon { bool LockedOn; Actor LockedTarget; - TextureID lockontex; int locktics; bool bSingleRocket; - UTRocketLauncherLED ammoled; + ui Canvas AmmoLed; + ui TextureID LedBase, LedFont; + ui TextureID lockontex; - override void DoEffect() + override void RenderOverlay( RenderEvent e ) { - Super.DoEffect(); - if ( !ammoled ) + Vector2 fnt[] = { - let ti = ThinkerIterator.Create("UTRocketLauncherLED"); - while ( ammoled=UTRocketLauncherLED(ti.Next()) ) break; - if ( !ammoled ) ammoled = UTRocketLauncherLED(Spawn("UTRocketLauncherLED")); - } - if ( !Owner || !Owner.player || (Owner != players[consoleplayer].Camera) ) return; - ammoled.mygun = self; - TexMan.SetCameraToTexture(ammoled,"RAmmoLed",90); + (0,1), (21,1), (42,1), (63,1), (84,1), + (105,1), (126,1), (147,1), (168,1), (189,1) + }; + if ( !AmmoLed ) AmmoLed = TexMan.GetCanvas("MiniALed"); + if ( !LedFont ) LedFont = TexMan.CheckForTexture("models/LEDFont2.png",TexMan.Type_Any); + AmmoLed.Clear(0,0,64,64,"Black"); + int dg3 = (Ammo1.Amount/100)%10; + int dg2 = (Ammo1.Amount/10)%10; + int dg1 = Ammo1.Amount%10; + AmmoLed.DrawTexture(LedFont,false,2,14,DTA_SrcX,fnt[dg3].x,DTA_SrcY,fnt[dg3].y,DTA_SrcWidth,20,DTA_SrcHeight,35,DTA_DestWidth,20,DTA_DestHeight,35,DTA_Color,0xFFFF0000); + AmmoLed.DrawTexture(LedFont,false,22,14,DTA_SrcX,fnt[dg2].x,DTA_SrcY,fnt[dg2].y,DTA_SrcWidth,20,DTA_SrcHeight,35,DTA_DestWidth,20,DTA_DestHeight,35,DTA_Color,0xFFFF0000); + AmmoLed.DrawTexture(LedFont,false,42,14,DTA_SrcX,fnt[dg1].x,DTA_SrcY,fnt[dg1].y,DTA_SrcWidth,20,DTA_SrcHeight,35,DTA_DestWidth,20,DTA_DestHeight,35,DTA_Color,0xFFFF0000); } - - override void PostBeginPlay() - { - Super.PostBeginPlay(); - lockontex = TexMan.CheckForTexture("Crosshr6",TexMan.Type_Any); - } - override void PreRender( double lbottom ) { - if ( LockedTarget ) Screen.DrawTexture(lockontex,false,Screen.GetWidth()*0.5,Screen.GetHeight()*0.5); + if ( LockedTarget ) + { + if ( !lockontex ) lockontex = TexMan.CheckForTexture("Crosshr6",TexMan.Type_Any); + Screen.DrawTexture(lockontex,false,Screen.GetWidth()*0.5,Screen.GetHeight()*0.5); + } } override void Tick() @@ -395,8 +397,8 @@ Class UTRocketLauncher : UTWeapon { a = FRandom[Eightball](0,360); s = FRandom[Eightball](0,(num>1)?12:0); - Vector3 dir = (x2+cos(a)*y2*s*0.004+sin(a)*z2*s*0.004).unit(); - p = Spawn("UTGrenade",level.Vec3Offset(origin,cos(a)*y*s+sin(a)*z*s)); + Vector3 dir = dt_Utility.ConeSpread(x2,y2,z2,a,s*0.004); + p = Spawn("UTGrenade",level.Vec3Offset(origin,dt_Utility.CircleOffset(y,z,a,s))); p.vel = x*(vel dot x)*0.4 + dir*p.speed*FRandom[Eightball](1.0,1.2); p.vel.z += 3.5; p.target = self; @@ -405,7 +407,7 @@ Class UTRocketLauncher : UTWeapon else if ( num <= 1 ) { // single rocket - p = Spawn("UTRocket",level.Vec3Offset(origin,cos(a)*y*s+sin(a)*z*s)); + p = Spawn("UTRocket",level.Vec3Offset(origin,dt_Utility.CircleOffset(y,z,a,s))); p.vel = x2*p.speed; p.target = self; p.tracer = invoker.LockedTarget; @@ -418,7 +420,7 @@ Class UTRocketLauncher : UTWeapon s = (num>1)?6:0; for ( int i=0; i 2000 ) continue; @@ -502,6 +504,7 @@ Class UTRocketLauncher : UTWeapon Weapon.AmmoUse2 1; Weapon.AmmoGive 6; UTWeapon.DropAmmo 3; + UTWeapon.NameColor "FF 00 00"; } States { diff --git a/zscript/enforcer.zsc b/zscript/enforcer.zsc index 7a17afb..753ad79 100644 --- a/zscript/enforcer.zsc +++ b/zscript/enforcer.zsc @@ -61,7 +61,7 @@ Class BulletImpact : Actor Super.PostBeginPlay(); A_SprayDecal("Pock",-20); int numpt = int(Random[Enforcer](5,10)*scale.x*4); - Vector3 x = (cos(angle)*cos(pitch),sin(angle)*cos(pitch),-sin(pitch)); + Vector3 x = dt_Utility.Vec3FromAngle(angle,pitch); for ( int i=0; i0)?min(10,int(chargesize/.15)):-1, -1, false, false; @@ -218,6 +249,7 @@ Class ImpactHammer : UTWeapon Weapon.SlotNumber 1; Weapon.SelectionOrder 9; +WEAPON.MELEEWEAPON; + UTWeapon.NameColor "FF C0 00"; } States { diff --git a/zscript/minigun.zsc b/zscript/minigun.zsc index 6453b14..881259a 100644 --- a/zscript/minigun.zsc +++ b/zscript/minigun.zsc @@ -74,20 +74,26 @@ Class Minigun : UTWeapon { int bcnt, tcnt; - MinigunLED ammoled; + ui Canvas AmmoLed; + ui TextureID LedBase, LedFont; - override void DoEffect() + override void RenderOverlay( RenderEvent e ) { - Super.DoEffect(); - if ( !ammoled ) + Vector2 fnt[] = { - let ti = ThinkerIterator.Create("MinigunLED"); - while ( ammoled=MinigunLED(ti.Next()) ) break; - if ( !ammoled ) ammoled = MinigunLED(Spawn("MinigunLED")); - } - if ( !Owner || !Owner.player || (Owner != players[consoleplayer].Camera) ) return; - ammoled.mygun = self; - TexMan.SetCameraToTexture(ammoled,"MiniALed",90); + (0,1), (21,1), (42,1), (63,1), (84,1), + (105,1), (126,1), (147,1), (168,1), (189,1) + }; + if ( !AmmoLed ) AmmoLed = TexMan.GetCanvas("MiniALed"); + if ( !LedBase ) LedBase = TexMan.CheckForTexture("models/miniammoledbase.png",TexMan.Type_Any); + if ( !LedFont ) LedFont = TexMan.CheckForTexture("models/LEDFont2.png",TexMan.Type_Any); + AmmoLed.DrawTexture(LedBase,false,0,0); + int dg3 = (Ammo1.Amount/100)%10; + int dg2 = (Ammo1.Amount/10)%10; + int dg1 = Ammo1.Amount%10; + AmmoLed.DrawTexture(LedFont,false,2,14,DTA_SrcX,fnt[dg3].x,DTA_SrcY,fnt[dg3].y,DTA_SrcWidth,20,DTA_SrcHeight,35,DTA_DestWidth,20,DTA_DestHeight,35,DTA_Color,0xFFFF0000); + AmmoLed.DrawTexture(LedFont,false,22,14,DTA_SrcX,fnt[dg2].x,DTA_SrcY,fnt[dg2].y,DTA_SrcWidth,20,DTA_SrcHeight,35,DTA_DestWidth,20,DTA_DestHeight,35,DTA_Color,0xFFFF0000); + AmmoLed.DrawTexture(LedFont,false,42,14,DTA_SrcX,fnt[dg1].x,DTA_SrcY,fnt[dg1].y,DTA_SrcWidth,20,DTA_SrcHeight,35,DTA_DestWidth,20,DTA_DestHeight,35,DTA_Color,0xFFFF0000); } action void A_FireBullet( bool alt = false ) @@ -115,7 +121,7 @@ Class Minigun : UTWeapon Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+y*2-z*2); double a = FRandom[Minigun](0,360), s = FRandom[Minigun](0,alt?0.05:0.02); [x2, y2, z2] = dt_CoordUtil.GetAxes(BulletSlope(),angle,roll); - Vector3 dir = (x2+y2*cos(a)*s+z2*sin(a)*s).unit(); + Vector3 dir = dt_Utility.ConeSpread(x2,y2,z2,a,s); FLineTraceData d; LineTrace(atan2(dir.y,dir.x),10000,asin(-dir.z),TRF_ABSPOSITION,origin.z,origin.x,origin.y,d); UTBulletTrail.DoTrail(self,origin,dir,10000,alt?5:3); @@ -216,6 +222,7 @@ Class Minigun : UTWeapon Weapon.AmmoGive 50; Weapon.Kickback 180; UTWeapon.DropAmmo 20; + UTWeapon.NameColor "FF FF 00"; } States { diff --git a/zscript/powerups.zsc b/zscript/powerups.zsc index f4d037b..fb00ecd 100644 --- a/zscript/powerups.zsc +++ b/zscript/powerups.zsc @@ -1,5 +1,21 @@ Class UDamage : PowerupGiver { + bool bOldSkin; + + void A_CheckSkin() + { + if ( flak_oldudamage ) + { + if ( !bOldSkin ) A_ChangeModel("",0,"models/220","UDamage_d.3d",0,"models/220","Judamage1.png"); + bOldSkin = true; + } + else + { + if ( bOldSkin ) A_ChangeModel("",0,"models","UDamage_d.3d",0,"models","GoldSkin2.png"); + bOldSkin = false; + } + } + Default { Tag "$T_UDAMAGE"; @@ -16,8 +32,8 @@ Class UDamage : PowerupGiver States { Spawn: - UDAM A -1; - Stop; + UDAM A 1 A_CheckSkin(); + Wait; } } diff --git a/zscript/pulsegun.zsc b/zscript/pulsegun.zsc index 3b82284..c6a70f6 100644 --- a/zscript/pulsegun.zsc +++ b/zscript/pulsegun.zsc @@ -1,5 +1,25 @@ Class PulseAmmo : Ammo { + int OldSkin; + + void A_CheckSkin() + { + switch ( flak_oldpulse ) + { + case 1: + if ( OldSkin != 1 ) A_ChangeModel("",1,"","",1,"models/222","JPammo_01.png"); + OldSkin = 1; + break; + case 2: + if ( OldSkin != 2 ) A_ChangeModel("",1,"","",1,"models/322","JPammo_01.png"); + OldSkin = 2; + break; + default: + if ( OldSkin != 0 ) A_ChangeModel("",1,"","",1,"models","JPammo_01.png"); + OldSkin = 0; + break; + } + } Default { Tag "$T_PULSEAMMO"; @@ -13,8 +33,8 @@ Class PulseAmmo : Ammo States { Spawn: - PAMO A -1; - Stop; + PAMO A 1 A_CheckSkin(); + Wait; } } @@ -527,7 +547,7 @@ Class StarterBolt : PulseBolt A_SetPitch(target.BulletSlope()); frame++; if ( frame > 4 ) frame = 0; - CheckBeam((cos(angle)*cos(pitch),sin(angle)*cos(pitch),-sin(pitch))); + CheckBeam(dt_Utility.Vec3FromAngle(angle,pitch)); } } @@ -562,24 +582,70 @@ Class PulseGun : UTWeapon bool ClipOut; double sangle; Actor beam; - transient ui Font usmf; Property ClipCount : clipcount; - PulseGunLED ammoled; + ui Canvas AmmoLed; + ui TextureID LedFont, LedBase, CountBar; - override void DoEffect() + int OldSkin; + + override void Tick() { - Super.DoEffect(); - if ( !ammoled ) + Super.Tick(); + switch ( flak_oldpulse ) { - let ti = ThinkerIterator.Create("PulseGunLED"); - while ( ammoled=PulseGunLED(ti.Next()) ) break; - if ( !ammoled ) ammoled = PulseGunLED(Spawn("PulseGunLED")); + case 1: + if ( OldSkin != 1 ) + { + A_ChangeModel("",1,"","",1,"models/222","JPulsePickup_01.png"); + A_ChangeModel("",0,"","",2,"models/222","JPulseGun_02.png",CMDL_USESURFACESKIN); + A_ChangeModel("",0,"","",3,"models/222","JPulseGun_03.png",CMDL_USESURFACESKIN); + } + OldSkin = 1; + break; + case 2: + if ( OldSkin != 2 ) + { + A_ChangeModel("",1,"","",1,"models/322","JPulsePickup_01.png"); + A_ChangeModel("",0,"","",2,"models/322","JPulseGun_02.png",CMDL_USESURFACESKIN); + A_ChangeModel("",0,"","",3,"models/322","JPulseGun_03.png",CMDL_USESURFACESKIN); + } + OldSkin = 2; + break; + default: + if ( OldSkin != 1 ) + { + A_ChangeModel("",1,"","",1,"models","JPulsePickup_01.png"); + A_ChangeModel("",0,"","",2,"models","JPulseGun_02.png",CMDL_USESURFACESKIN); + A_ChangeModel("",0,"","",3,"models","JPulseGun_03.png",CMDL_USESURFACESKIN); + } + OldSkin = 0; + break; } - if ( !Owner || !Owner.player || (Owner != players[consoleplayer].Camera) ) return; - ammoled.mygun = self; - TexMan.SetCameraToTexture(ammoled,"PAmmoLed",90); + } + + override void RenderOverlay( RenderEvent e ) + { + Vector2 fnt[] = + { + (0,1), (49,1), (98,1), (147,1), (196,1), + (0,87), (49,87), (98,87), (147,87), (196,87) + }; + if ( !AmmoLed ) AmmoLed = TexMan.GetCanvas("PAmmoLed"); + if ( !LedFont ) LedFont = TexMan.CheckForTexture("models/LEDFont.png",TexMan.Type_Any); + if ( !LedBase ) LedBase = TexMan.CheckForTexture("models/AmmoLedBase.png",TexMan.Type_Any); + if ( !CountBar ) CountBar = TexMan.CheckForTexture("models/AmmoCountBar.png",TexMan.Type_Any); + AmmoLed.DrawTexture(LedBase,false,0,0); + int amo = flak_pulsereload?ClipCount:Ammo1.Amount; + int mamo = flak_pulsereload?default.ClipCount:Ammo1.MaxAmount; + int dg3 = (amo/100)%10; + int dg2 = (amo/10)%10; + int dg1 = amo%10; + AmmoLed.DrawTexture(LedFont,false,56,14,DTA_SrcX,fnt[dg3].x,DTA_SrcY,fnt[dg3].y,DTA_SrcWidth,48,DTA_SrcHeight,85,DTA_DestWidth,48,DTA_DestHeight,85,DTA_Color,(amo<10)?0xFFFF0000:0xFF0000FF); + AmmoLed.DrawTexture(LedFont,false,104,14,DTA_SrcX,fnt[dg2].x,DTA_SrcY,fnt[dg2].y,DTA_SrcWidth,48,DTA_SrcHeight,85,DTA_DestWidth,48,DTA_DestHeight,85,DTA_Color,(amo<10)?0xFFFF0000:0xFF0000FF); + AmmoLed.DrawTexture(LedFont,false,152,14,DTA_SrcX,fnt[dg1].x,DTA_SrcY,fnt[dg1].y,DTA_SrcWidth,48,DTA_SrcHeight,85,DTA_DestWidth,48,DTA_DestHeight,85,DTA_Color,(amo<10)?0xFFFF0000:0xFF0000FF); + AmmoLed.DrawTexture(CountBar,false,30,100,DTA_DestWidth,(min(amo,mamo)*196)/mamo,DTA_DestHeight,10); } override int, int, bool, bool GetClipAmount() @@ -677,12 +743,12 @@ Class PulseGun : UTWeapon double a; [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+3*y-1.8*z); - origin = level.Vec3Offset(origin,y*cos(invoker.sangle)*2+z*sin(invoker.sangle)*2); + origin = level.Vec3Offset(origin,dt_Utility.CircleOffset(y,z,invoker.sangle,2)); invoker.sangle += 100; Actor p = Spawn("PulseBall",origin); p.angle = angle; p.pitch = BulletSlope(); - p.vel = (cos(p.angle)*cos(p.pitch),sin(p.angle)*cos(p.pitch),-sin(p.pitch))*p.speed; + p.vel = dt_Utility.Vec3FromAngle(p.angle,p.pitch)*p.speed; p.target = self; for ( int i=0; i<8; i++ ) { @@ -749,6 +815,7 @@ Class PulseGun : UTWeapon Weapon.AmmoGive 60; PulseGun.ClipCount 50; UTWeapon.DropAmmo 15; + UTWeapon.NameColor "80 FF 80"; } States { diff --git a/zscript/ripper.zsc b/zscript/ripper.zsc index 3718791..f0bc6c6 100644 --- a/zscript/ripper.zsc +++ b/zscript/ripper.zsc @@ -103,7 +103,7 @@ Class Razor2 : Actor A_AlertMonsters(); A_SprayDecal("WallCrack",-20); int numpt = Random[Ripper](5,10); - Vector3 x = (cos(angle)*cos(pitch),sin(angle)*cos(pitch),-sin(pitch)); + Vector3 x = dt_Utility.Vec3FromAngle(angle,pitch); for ( int i=0; i 1. ) { - if ( CVar.GetCVar('flak_zoomsound',players[consoleplayer]).GetBool() && CheckLocalView() ) + if ( flak_zoomsound && CheckLocalView() ) A_StartSound("sniper/zoomdown",CHAN_WEAPONMISC,CHANF_OVERLAP); return ResolveState("AltHold2"); } - if ( CVar.GetCVar('flak_zoomsound',players[consoleplayer]).GetBool() && CheckLocalView() ) + if ( flak_zoomsound && CheckLocalView() ) A_StartSound("sniper/zoomup",CHAN_WEAPONMISC,CHANF_OVERLAP); return ResolveState(null); } @@ -271,7 +272,7 @@ Class SniperRifle : UTWeapon Deselect: SRFD A 0 { - if ( (invoker.sniperzoom>1.0) && CVar.GetCVar('flak_zoomsound',players[consoleplayer]).GetBool() && CheckLocalView() ) + if ( (invoker.sniperzoom>1.0) && flak_zoomsound && CheckLocalView() ) A_StartSound("sniper/zoomdown",CHAN_WEAPONMISC,CHANF_OVERLAP); A_ZoomFactor(invoker.sniperzoom=1.0,ZOOM_INSTANT); } diff --git a/zscript/translocator.zsc b/zscript/translocator.zsc index be05ab6..e4525b5 100644 --- a/zscript/translocator.zsc +++ b/zscript/translocator.zsc @@ -210,8 +210,8 @@ Class TranslocatorModule : Actor States { Spawn: - TMOD A 1; - Wait; + TMOD A -1; + Stop; Bounce: TMOD A 0 { @@ -247,6 +247,26 @@ Class TranslocatorModule : Actor } } +Class OldTranslocatorModule : TranslocatorModule +{ + States + { + Death: + TMOD A -1 + { + A_SetPitch(0); + if ( tracer && !tracer.bACTLIKEBRIDGE ) + { + SetOrigin(tracer.Vec2OffsetZ(0,0,pos.z),false); + vel.xy *= 0; + tracer = null; + bHITTRACER = false; + } + } + Stop; + } +} + Class TranslocatorAfterimageParticle : Actor { Default @@ -402,7 +422,7 @@ Class Translocator : UTWeapon p.angle = angle; p.pitch = BulletSlope(); p.A_SetSize(radius); - Vector3 dir = (cos(p.angle)*cos(p.pitch),sin(p.angle)*cos(p.pitch),-sin(p.pitch)); + Vector3 dir = dt_Utility.Vec3FromAngle(p.angle,p.pitch); dir.z += 0.35*(1-abs(dir.z)); p.vel = dir*p.speed; invoker.module = p; @@ -559,3 +579,107 @@ Class Translocator : UTWeapon Wait; } } + +Class OldTranslocator : Translocator +{ + action void A_ThrowModuleOld() + { + Weapon weap = Weapon(invoker); + if ( !weap ) return; + A_StartSound("transloc/throw",CHAN_WEAPON); + invoker.FireEffect(); + A_AlertMonsters(); + Vector3 x, y, z; + [x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll); + Vector3 origin = (pos.x,pos.y,player.viewz)+15.0*x-10.0*y-4.0*z; + let p = Spawn("OldTranslocatorModule",origin); + p.target = self; + p.angle = angle; + p.pitch = BulletSlope(); + p.A_SetSize(radius); + Vector3 dir = (cos(p.angle)*cos(p.pitch),sin(p.angle)*cos(p.pitch),-sin(p.pitch)); + dir.z += 0.35*(1-abs(dir.z)); + p.vel = dir*p.speed; + invoker.module = p; + } + States + { + Spawn: + TLCP A -1; + Stop; + TLCP B -1; + Stop; + Select: + TLCS A 1 A_Raise(int.max); + Wait; + Ready: + TLCS A 0 A_JumpIf(invoker.module,"Ready2"); + TLCS ABCDEFGHIJKLMNO 1 A_WeaponReady(WRF_NOFIRE); + TLCS O 0 A_JumpIf(invoker.module,"Idle"); + Goto Idle2; + Ready2: + TLS2 ABCDEFGHIJKLMNO 1 A_WeaponReady(WRF_NOFIRE); + Goto Idle; + Idle: + TLCI ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 + { + if ( !invoker.module ) + return ResolveState("PickedUp"); + A_WeaponReady(); + return ResolveState(null); + } + TLI2 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 + { + if ( !invoker.module ) + return ResolveState("PickedUp"); + A_WeaponReady(); + return ResolveState(null); + } + TLI3 ABCDEFGH 1 + { + if ( !invoker.module ) + return ResolveState("PickedUp"); + A_WeaponReady(); + return ResolveState(null); + } + Loop; + Idle2: + TLI4 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_WeaponReady(WRF_NOSECONDARY); + TLI5 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_WeaponReady(WRF_NOSECONDARY); + TLI6 ABCDEFGH 1 A_WeaponReady(WRF_NOSECONDARY); + TLI6 H 0; + Loop; + PickedUp: + TLCI A 5; + TLR2 A 0 A_ReturnModule(); + Goto Return2; + Fire: + TLCF A 0 A_JumpIf(invoker.module||(invoker.Ammo1&&invoker.Ammo1.Amount<=0),"Return"); + TLCF ABCDEFGHIJK 1; + TLCF K 0 A_ThrowModuleOld(); + TLCF LMNOPQRST 1 A_WeaponReady(WRF_NOPRIMARY); + Goto Idle; + Return: + TLCR ABCDEFGHIJKLMNOP 1; + TLCR Q 1 A_ReturnModule(); + TLCR RST 1; + Return2: + TLR2 ABCDEFGHIJKLMNOPQRST 1; + TLR2 T 0; + Goto Idle2; + AltFire: + TLCT ABCDEFGHIJK 1; + TLCT L 1 A_Translocate(); + TLCT MNOPQRST 1; + Goto PickedUp; + Deselect: + TLCD A 0 A_JumpIf(invoker.module,"Deselect2"); + TLCD ABCDEFGIJK 1; + TLCD K 1 A_Lower(int.max); + Wait; + Deselect2: + TLD2 ABCDEFGHIJK 1; + TLD2 K 1 A_Lower(int.max); + Wait; + } +} diff --git a/zscript/utcommon.zsc b/zscript/utcommon.zsc index 0a19a20..5a4fc7e 100644 --- a/zscript/utcommon.zsc +++ b/zscript/utcommon.zsc @@ -9,6 +9,12 @@ const CHAN_POWERUP2 = 0x4366; // auxiliary powerup sounds const CHAN_POWERUP3 = 0x4367; // even more powerup sounds (used by jump boots, mainly) const CHAN_POWERUP4 = 0x4368; // even more (used by shield belt / invuln hit sounds) +// for announcer messages +const headshotmsg_id = -1400; +const firstbloodmsg_id = -1401; +const spreemsg_id = -1402; +const multimsg_id = -1403; + Class UTPlayer : DoomPlayer { bool doprintnoammo; @@ -16,7 +22,6 @@ Class UTPlayer : DoomPlayer int lastwaterlevel; int lastgroundtic; double lastvelz, prevvelz; - transient CVar footsteps; Vector2 acceleration; Vector3 acceleration3; int last_fm, last_sm; @@ -81,6 +86,7 @@ Class UTPlayer : DoomPlayer Player.DamageScreenColor "FF 00 00"; Player.ViewHeight 46; Player.GruntSpeed 20; + Player.Portrait "TNT1A0"; +NOMENU; +DONTTRANSLATE; UTPlayer.DollType DOLL_Male; @@ -276,6 +282,7 @@ Class UTPlayer : DoomPlayer } if ( InStateSequence(CurState,FindState("See",true)) ) SetStateLabel("See2"); + if ( !player || (player.mo != self) ) return; if ( (waterlevel >= 2) && (lastwaterlevel < 2) ) PlaySplash(1.); else if ( (waterlevel < 2) && (lastwaterlevel >= 2) ) @@ -288,8 +295,7 @@ Class UTPlayer : DoomPlayer else if ( (waterlevel < 3) && underwatersnd ) underwatersnd.Destroy(); lastwaterlevel = waterlevel; - if ( !footsteps ) footsteps = CVar.GetCVar('flak_footsteps',players[consoleplayer]); - if ( !footsteps.GetBool() || (Health <= 0) ) return; + if ( !flak_footsteps || (Health <= 0) ) return; double ang = level.time/(20*TICRATE/35.)*360.; bool forcefootstep = false; if ( player.onground && !bNoGravity && !lastground && (waterlevel < 2) ) @@ -991,6 +997,11 @@ Class UTPlayer : DoomPlayer PlayAttacking(); } + virtual void A_SetPlayerSkin() + { + A_ChangeModel("",0,"","",4,"models","GunPick1.png",CMDL_USESURFACESKIN,-1); + } + virtual void PlayAttacking3() { if ( player.Health <= 0 ) return; @@ -1026,7 +1037,7 @@ Class UTPlayer : DoomPlayer } double ang = FRandom[Blod](0,360); double pt = FRandom[Blod](-90,-30); - Vector3 dir = (cos(pt)*cos(ang),cos(pt)*sin(ang),sin(-pt)); + Vector3 dir = dt_Utility.Vec3FromAngle(ang,pt); h.vel = vel*0.6+dir*FRandom[Blod](8.0,12.0); } @@ -1053,6 +1064,17 @@ Class UTPlayer : DoomPlayer return Super.GetDeathHeight(); } + virtual void SetFreezeSkin() + { + A_ChangeModel("",0,"","",4,"models","GunPick1ice.png",CMDL_USESURFACESKIN,-1); + } + + void A_FreezeDeathDT() + { + SetFreezeSkin(); + A_FreezeDeath(); + } + // mostly a copy of A_FreezeDeathChunks but with some DT specific gib // behaviour void A_FreezeDeathChunksDT() @@ -1110,7 +1132,7 @@ Class UTPlayer : DoomPlayer States { Spawn: - #### # 5; + #### # 5 NoDelay A_SetPlayerSkin(); PLAY ABCDEFG 8; Goto Spawn+1; Turn: @@ -1137,7 +1159,10 @@ Class UTPlayer : DoomPlayer #### # 5; PLYC A -1; Wait; - // See state needs to be defined on each subclass for the selection menu + // See state is empty due to selection menu shenanigans + See: + TNT1 A -1; + Stop; See2: #### # 5; PLAY HIJKL 4; @@ -1290,8 +1315,8 @@ Class UTPlayer : DoomPlayer PLT4 ABCDEFGHIJKLMNO 3; Goto Spawn; Ice: - PICE A 5 A_FreezeDeath(); - PICE A 1 A_FreezeDeathChunksDT(); + #### A 5 A_FreezeDeathDT(); + ---- A 1 A_FreezeDeathChunksDT(); Wait; IceBurst: TNT1 A 35; @@ -1575,23 +1600,35 @@ Class UTNitroSplash : UTTerrainFX { } -// these only exist for sound -// female classes have identical sounds, so they use the same soundclass here +// separated classes for skins and voices Class UTPlayerTMale1 : UTPlayer { Default { Player.SoundClass "tmale1"; Player.DisplayName "$N_TMALE1"; - Player.Portrait "Blake"; UTPlayer.VoiceType VOICE_MaleOne; -NOMENU; } - States + override void A_SetPlayerSkin() { - See: - TMAL A -1; - Stop; + Super.A_SetPlayerSkin(); + int tcol = player?CVar.GetCVar('flak_skinteam',player).GetInt():-1; + String team = (tcol==-1)?"":"t_"..tcol; + String skin = player?CVar.GetCVar('flak_cmdoskin',player).GetString():"cmdo"; + String face = player?CVar.GetCVar('flak_cmdoface',player).GetString():"Blake"; + A_ChangeModel("",0,"","",0,"models/Commando",skin.."1.png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",1,"models/Commando",skin.."2"..face..".png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",2,"models/Commando",skin.."3"..team..".png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",3,"models/Commando",skin.."4"..team..".png",CMDL_USESURFACESKIN,-1); + } + override void SetFreezeSkin() + { + Super.SetFreezeSkin(); + A_ChangeModel("",0,"","",0,"models/Commando","cmdo1ice.png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",1,"models/Commando","cmdo2ice.png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",2,"models/Commando","cmdo3ice.png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",3,"models/Commando","cmdo4ice.png",CMDL_USESURFACESKIN,-1); } } Class UTPlayerTMale2 : UTPlayer @@ -1600,15 +1637,28 @@ Class UTPlayerTMale2 : UTPlayer { Player.SoundClass "tmale2"; Player.DisplayName "$N_TMALE2"; - Player.Portrait "Brock"; UTPlayer.VoiceType VOICE_MaleTwo; -NOMENU; } - States + override void A_SetPlayerSkin() { - See: - TMAL B -1; - Stop; + Super.A_SetPlayerSkin(); + int tcol = player?CVar.GetCVar('flak_skinteam',player).GetInt():-1; + String team = (tcol==-1)?"":"t_"..tcol; + String skin = player?CVar.GetCVar('flak_sldrskin',player).GetString():"sldr"; + String face = player?CVar.GetCVar('flak_sldrface',player).GetString():"Brock"; + A_ChangeModel("",0,"","",0,"models/Soldier",skin.."1"..team..".png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",1,"models/Soldier",skin.."2"..team..".png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",2,"models/Soldier",skin.."3.png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",3,"models/Soldier",skin.."4"..face..".png",CMDL_USESURFACESKIN,-1); + } + override void SetFreezeSkin() + { + Super.SetFreezeSkin(); + A_ChangeModel("",0,"","",0,"models/Soldier","sldr1ice.png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",1,"models/Soldier","sldr2ice.png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",2,"models/Soldier","sldr3ice.png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",3,"models/Soldier","sldr4ice.png",CMDL_USESURFACESKIN,-1); } } Class UTPlayerTFemale : UTPlayer @@ -1713,15 +1763,26 @@ Class UTPlayerTFemale1 : UTPlayerTFemale { Player.SoundClass "tfemale"; Player.DisplayName "$N_TFEMALE1"; - Player.Portrait "Ivana"; UTPlayer.VoiceType VOICE_FemaleOne; -NOMENU; } - States + override void A_SetPlayerSkin() { - See: - TFEM A -1; - Stop; + Super.A_SetPlayerSkin(); + int tcol = player?CVar.GetCVar('flak_skinteam',player).GetInt():-1; + String team = (tcol==-1)?"":"t_"..tcol; + String skin = player?CVar.GetCVar('flak_fcmdskin',player).GetString():"cmdo"; + String face = player?CVar.GetCVar('flak_fcmdface',player).GetString():"Ivana"; + A_ChangeModel("",0,"","",0,"models/FCommando",skin.."1"..team..".png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",1,"models/FCommando",skin.."2"..team..".png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",2,"models/FCommando",skin.."4"..face..".png",CMDL_USESURFACESKIN,-1); + } + override void SetFreezeSkin() + { + Super.SetFreezeSkin(); + A_ChangeModel("",0,"","",0,"models/FCommando","cmdo1ice.png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",1,"models/FCommando","cmdo2ice.png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",2,"models/FCommando","cmdo4ice.png",CMDL_USESURFACESKIN,-1); } } Class UTPlayerTFemale2 : UTPlayerTFemale @@ -1730,43 +1791,65 @@ Class UTPlayerTFemale2 : UTPlayerTFemale { Player.SoundClass "tfemale"; Player.DisplayName "$N_TFEMALE2"; - Player.Portrait "Lauren"; UTPlayer.VoiceType VOICE_FemaleTwo; -NOMENU; } - States + override void A_SetPlayerSkin() { - See: - TFEM B -1; - Stop; + Super.A_SetPlayerSkin(); + int tcol = player?CVar.GetCVar('flak_skinteam',player).GetInt():-1; + String team = (tcol==-1)?"":"t_"..tcol; + String skin = player?CVar.GetCVar('flak_armyskin',player).GetString():"army"; + String face = player?CVar.GetCVar('flak_armyface',player).GetString():"Lauren"; + A_ChangeModel("",0,"","",0,"models/SGirl",skin.."1"..team..".png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",1,"models/SGirl",skin.."2"..team..".png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",2,"models/SGirl",skin.."3.png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",3,"models/SGirl",skin.."4"..face..".png",CMDL_USESURFACESKIN,-1); + } + override void SetFreezeSkin() + { + Super.SetFreezeSkin(); + A_ChangeModel("",0,"","",0,"models/SGirl","army1ice.png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",1,"models/SGirl","army2ice.png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",2,"models/SGirl","army3ice.png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",3,"models/SGirl","army4ice.png",CMDL_USESURFACESKIN,-1); } } Class UTPlayerTBoss : UTPlayer { - transient CVar bossfootsteps; Default { Player.SoundClass "tboss"; Player.DisplayName "$N_TBOSS"; - Player.Portrait "Xan"; UTPlayer.DollType DOLL_Boss; UTPlayer.VoiceType VOICE_Boss; // should have NOBLOOD, but Xan did bleed in vanilla UT so... // (this is what gave birth to the theory that Xan was actually Jerl Liandri himself) -NOMENU; } + override void A_SetPlayerSkin() + { + Super.A_SetPlayerSkin(); + int tcol = player?CVar.GetCVar('flak_skinteam',player).GetInt():-1; + String team = (tcol==-1)?"":"t_"..tcol; + A_ChangeModel("",0,"","",0,"models/Boss","boss1"..team..".png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",1,"models/Boss","boss2"..team..".png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",2,"models/Boss","boss3"..team..".png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",3,"models/Boss","boss4"..team..".png",CMDL_USESURFACESKIN,-1); + } + override void SetFreezeSkin() + { + Super.SetFreezeSkin(); + A_ChangeModel("",0,"","",0,"models/Boss","boss1ice.png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",1,"models/Boss","boss2ice.png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",2,"models/Boss","boss3ice.png",CMDL_USESURFACESKIN,-1); + A_ChangeModel("",0,"","",3,"models/Boss","boss4ice.png",CMDL_USESURFACESKIN,-1); + } override void PlayFootstep( double vol ) { - if ( !bossfootsteps ) bossfootsteps = CVar.GetCVar('flak_bossfootsteps',players[consoleplayer]); - if ( bossfootsteps.GetBool() ) A_StartSound("ut/bossfootstep",CHAN_FOOTSTEP,CHANF_OVERLAP,vol); + if ( flak_bossfootsteps ) A_StartSound("ut/bossfootstep",CHAN_FOOTSTEP,CHANF_OVERLAP,vol); else Super.PlayFootstep(vol); } - States - { - See: - TBOS A -1; - Stop; - } } Class UTWeapon : Weapon @@ -1774,14 +1857,16 @@ Class UTWeapon : Weapon int DropAmmo; bool bExtraPickup; transient int lastnoammotic; + Color NameColor; Property DropAmmo: DropAmmo; + Property NameColor: NameColor; // Drawstuffs under HUD virtual ui void PreRender( double lbottom ) {} // Drawstuffs over HUD virtual ui void PostRender( double lbottom ) {} - // Future preparations for scripted textures + // scripted textures virtual ui void RenderOverlay( RenderEvent e ) {} override Inventory CreateTossable( int amt ) @@ -1951,6 +2036,7 @@ Class UTWeapon : Weapon Weapon.BobRangeX 0.2; Weapon.BobRangeY 0.4; Weapon.YAdjust 0; + UTWeapon.NameColor "FF FF FF"; +WEAPON.NOALERT; } } @@ -2211,7 +2297,7 @@ Class UTBubble : Actor scale *= FRandom[Puff](0.5,1.5); ang = FRandom[Puff](0,360); pt = FRandom[Puff](-90,90); - vel += (cos(pt)*cos(ang),cos(pt)*sin(ang),-sin(pt))*FRandom[Puff](0.2,0.8); + vel += dt_Utility.Vec3FromAngle(ang,pt)*FRandom[Puff](0.2,0.8); if ( waterlevel <= 0 ) Destroy(); SetState(ResolveState("Spawn")+Random[Puff](0,2)); } @@ -2261,7 +2347,7 @@ Class UTSmoke : Actor alpha *= FRandom[Puff](0.5,1.5); ang = FRandom[Puff](0,360); pt = FRandom[Puff](-90,90); - vel += (cos(pt)*cos(ang),cos(pt)*sin(ang),-sin(pt))*FRandom[Puff](0.2,0.8); + vel += dt_Utility.Vec3FromAngle(ang,pt)*FRandom[Puff](0.2,0.8); } override void Tick() { @@ -2326,7 +2412,7 @@ Class UTSmallSmoke : UTSmoke alpha *= FRandom[Puff](0.5,1.5); ang = FRandom[Puff](0,360); pt = FRandom[Puff](-90,90); - vel += (cos(pt)*cos(ang),cos(pt)*sin(ang),-sin(pt))*FRandom[Puff](0.04,0.16); + vel += dt_Utility.Vec3FromAngle(ang,pt)*FRandom[Puff](0.04,0.16); } } @@ -2342,7 +2428,7 @@ Class UTViewSmoke : UTSmoke alpha *= FRandom[Puff](0.5,1.5); ang = FRandom[Puff](0,360); pt = FRandom[Puff](-90,90); - vvel += (cos(pt)*cos(ang),cos(pt)*sin(ang),-sin(pt))*FRandom[Puff](0.04,0.16); + vvel += dt_Utility.Vec3FromAngle(ang,pt)*FRandom[Puff](0.04,0.16); } override void Tick() @@ -2893,7 +2979,7 @@ Class GenericFlash : HUDMessageBase { if ( automapactive || (visibility != BaseStatusBar.HUDMSGLayer_UnderHUD) ) return; if ( cam && (players[consoleplayer].camera != cam) ) return; - if ( !str ) str = CVar.GetCVar('flak_flashstrength',players[consoleplayer]); + if ( !str ) str = CVar.FindCVar('flak_flashstrength'); Screen.Dim(col,(col.a/255.)*alpha*str.GetFloat(),0,0,Screen.GetWidth(),Screen.GetHeight()); } } @@ -2913,24 +2999,26 @@ Class UTStaticHandler : StaticEventHandler ui void StartMenu() { tex[1] = TexMan.CheckForTexture("graphics/DTLogo.png",TexMan.Type_Any); - CVar protomenu = CVar.GetCVar('flak_protomenu',players[consoleplayer]); - if ( !protomenu ) return; // this can happen - int proto = protomenu.GetInt(); + int proto = flak_protomenu; if ( proto ) { tex[0] = TexMan.CheckForTexture("graphics/UTProtoBg.png",TexMan.Type_Any); tex[2] = TexMan.CheckForTexture("graphics/protobg.png",TexMan.Type_Any); - if ( gamestate != GS_TITLELEVEL ) return; - if ( proto > 1 ) S_ChangeMusic("menu2"); - else S_ChangeMusic("xyzdMenu"); } else { tex[0] = TexMan.CheckForTexture("graphics/UTBg.png",TexMan.Type_Any); tex[2] = TexMan.CheckForTexture("graphics/finalbg.png",TexMan.Type_Any); - if ( gamestate != GS_TITLELEVEL ) return; - S_ChangeMusic("utmenu23"); } + if ( gamestate == GS_TITLELEVEL ) StartMenuMusic(); + } + + clearscope void StartMenuMusic() + { + int proto = flak_protomenu; + if ( proto > 1 ) S_ChangeMusic("menu2"); + else if ( proto ) S_ChangeMusic("xyzdMenu"); + else S_ChangeMusic("utmenu23"); } override void ConsoleProcess( ConsoleEvent e ) @@ -2938,14 +3026,15 @@ Class UTStaticHandler : StaticEventHandler if ( e.Name ~== "refreshmenu" ) StartMenu(); } - override void PostUiTick() + override void WorldLoaded( WorldEvent e ) { - if ( gametic <= 0 ) StartMenu(); + if ( gamestate == GS_TITLELEVEL ) StartMenuMusic(); } override void RenderUnderlay( RenderEvent e ) { if ( gamestate != GS_TITLELEVEL ) return; + if ( tex[0].IsNull() ) StartMenu(); double ar = Screen.GetAspectRatio(); Vector2 tsize = TexMan.GetScaledSize(tex[0]); double sar = tsize.x/tsize.y; @@ -2964,10 +3053,9 @@ Class UTStaticHandler : StaticEventHandler override void RenderOverlay( RenderEvent e ) { - if ( players[consoleplayer].camera.player && players[consoleplayer].camera.player.ReadyWeapon && (players[consoleplayer].camera.player.ReadyWeapon is 'UTWeapon') ) - UTWeapon(players[consoleplayer].camera.player.ReadyWeapon).RenderOverlay(e); if ( !menuactive || (Menu.GetCurrentMenu() is 'ConversationMenu') ) return; - if ( !CVar.GetCVar('flak_showmenu',players[consoleplayer]).GetBool() ) return; + if ( !flak_showmenu ) return; + if ( tex[2].IsNull() ) StartMenu(); Screen.Dim("Black",1.,0,0,Screen.GetWidth(),Screen.GetHeight()); Screen.DrawTexture(tex[2],true,0,0,DTA_VirtualWidth,1024,DTA_VirtualHeight,768); } @@ -2984,6 +3072,96 @@ Class UTNothing : Actor } } + +// hackaround for making sounds stop playing over each other +Class VoiceSoundPlayer : Actor +{ + Default + { + +NOBLOCKMAP; + +NOGRAVITY; + +NOSECTOR; + +DONTSPLASH; + } +} + +Class QueuedTaunt : Thinker +{ + int delay; + int pnum; + String tstr, tsnd; + + static QueuedTaunt Create( int pnum, String tstr, String tsnd ) + { + let qt = new("QueuedTaunt"); + qt.pnum = pnum; + qt.tstr = tstr; + qt.tsnd = (tsnd.Length()<=0)?"misc/chat":tsnd; + return qt; + } + + override void Tick() + { + delay++; + if ( delay < 35 ) return; + Console.PrintfEx(PRINT_CHAT,"%s: %s",players[pnum].GetUserName(),tstr); + let sp = Actor(ThinkerIterator.Create("VoiceSoundPlayer").Next()); + if ( !sp ) sp = Actor.Spawn("VoiceSoundPlayer"); + sp.A_StartSound(tsnd,CHAN_VOICE,CHANF_UI,flak_voicevol,ATTN_NONE); + Destroy(); + } +} + +Class AnnouncerMessage : HUDMessageBase +{ + string text; + double scale, duration, ypos; + int tickcnt; + transient Font fnt; + + AnnouncerMessage Init( string text, double duration = 1.0, double scale = 1.0, double ypos = 0.5 ) + { + self.text = text; + self.tickcnt = int(self.duration = duration*Thinker.TICRATE); + self.scale = scale*0.125; + self.ypos = ypos; + return self; + } + + override bool Tick() + { + return !(tickcnt--); + } + + override void Draw( int bottom, int visibility ) + { + double dw = 640/scale, dh = 480/scale; + if ( !fnt ) fnt = Font.GetFont('UTFONT40'); + double tw = fnt.StringWidth(text), th = fnt.GetHeight(); + Screen.DrawText(fnt,Font.FindFontColor('UTHUDText'),(dw-tw)*0.5,dh*ypos-th*0.5,text,DTA_Alpha,tickcnt/duration,DTA_VirtualWidthF,dw,DTA_VirtualHeightF,dh,DTA_LegacyRenderStyle,STYLE_Add); + } +} + +Class QueuedAnnouncerMsg +{ + string text; + double duration, scale, ypos; + uint id; + int tic; +} + +// hackaround for making sounds stop playing over each other +Class AnnouncerSoundPlayer : Actor +{ + Default + { + +NOBLOCKMAP; + +NOGRAVITY; + +NOSECTOR; + +DONTSPLASH; + } +} + Class UTMainHandler : EventHandler { Array flashes; @@ -2991,6 +3169,27 @@ Class UTMainHandler : EventHandler transient ui int gframe; transient ui Font rfont; bool isbd, ispb; + ui RedeemerHUD rhud; + transient ui Canvas glowtcanvas; + // taunts + int lasttaunttime[MAXPLAYERS]; + int lasttaunt[4][MAXPLAYERS]; + // announcer + Array queue; + int playerkillcount; + int spree[MAXPLAYERS]; + int lastkill[MAXPLAYERS]; + int multilevel[MAXPLAYERS]; + + enum EVoiceType + { + VOICE_NONE, + VOICE_TMALE1, + VOICE_TMALE2, + VOICE_TFEMALE1, + VOICE_TFEMALE2, + VOICE_TBOSS + } override void CheckReplacement( ReplaceEvent e ) { @@ -3155,7 +3354,6 @@ Class UTMainHandler : EventHandler else if ( e.Replacee == 'Mana2' ) e.Replacement = 'UTMediumAmmoBox'; else if ( e.Replacee == 'Mana3' ) e.Replacement = 'UTMajorAmmoBox'; else if ( e.Replacee == 'ArtiBoostMana' ) e.Replacement = 'ActUTFullAmmoBox'; - // TODO Strife replacements } private Actor AddLight( Vector3 pos, Color col, int radius ) @@ -3403,13 +3601,12 @@ Class UTMainHandler : EventHandler override void PlayerEntered( PlayerEvent e ) { - if ( deathmatch && flak_instagib ) - { - players[e.playernumber].mo.GiveInventory("EnhancedShockRifle",1); - return; - } - if ( flak_translocator ) - players[e.playernumber].mo.GiveInventory("Translocator",1); + for ( int i=0; i<4; i++ ) lasttaunt[e.playernumber][i] = -1; + lasttaunttime[e.playernumber] = int.min; + spree[e.playernumber] = 0; + multilevel[e.playernumber] = 0; + lastkill[e.playernumber] = int.min; + PlayerRespawned(e); } override void PlayerRespawned( PlayerEvent e ) { @@ -3419,20 +3616,43 @@ Class UTMainHandler : EventHandler return; } if ( flak_translocator ) - players[e.playernumber].mo.GiveInventory("Translocator",1); + { + if ( flak_oldtloc ) + { + players[e.playernumber].mo.TakeInventory("Translocator",1); + players[e.playernumber].mo.GiveInventory("OldTranslocator",1); + } + else + { + players[e.playernumber].mo.TakeInventory("OldTranslocator",1); + players[e.playernumber].mo.GiveInventory("Translocator",1); + } + } } override void NetworkProcess( ConsoleEvent e ) { if ( e.Name ~== "refreshtrans" ) { - if ( flak_translocator ) + if ( flak_translocator ) for ( int i=0; i= gametic ) continue; + queue.Delete(i); + i--; + } } override void PostUiTick() @@ -3476,12 +3702,547 @@ Class UTMainHandler : EventHandler GenericFlash gf = new("GenericFlash").Setup(flashes[i].cam,flashes[i].c,flashes[i].duration); StatusBar.AttachMessage(gf,0,BaseStatusBar.HUDMSGLayer_UnderHUD); } + for ( int i=0; i 0) || e.Thing.bKilled || e.Thing.bCorpse ) return; if ( !e.Thing.player && !e.Thing.bIsMonster && !e.Thing.bCountKill ) return; + if ( (e.DamageType == 'Decapitated') && ((e.Inflictor == players[consoleplayer].mo) || (e.DamageSource == players[consoleplayer].mo)) && flak_announcer ) + { + // Headshot announcement + PlayAnnouncerSound(String.Format("utannouncer/%s/headshot",StringTable.Localize("$FLOC_FOLDER"))); + QueueMsg(headshotmsg_id,StringTable.Localize("$FANN_HEADSHOT"),2.0,2.0,0.2); + } if ( (e.Inflictor && e.Inflictor.player && (e.Inflictor != e.Thing)) || (e.DamageSource && e.DamageSource.player && (e.DamageSource != e.Thing)) ) { Weapon saw = Weapon(e.Inflictor?e.Inflictor.FindInventory("UTChainsaw"):null); @@ -3494,6 +4255,64 @@ Class UTMainHandler : EventHandler let a = Actor.Spawn("ChainsawAmmo",e.Thing.Vec3Offset(0,0,e.Thing.Height*.5)); a.TossItem(); } + int pnum = 0; + if ( e.Inflictor && e.Inflictor.player ) pnum = e.Inflictor.PlayerNumber(); + else if ( e.DamageSource && e.DamageSource.player ) pnum = e.DamageSource.PlayerNumber(); + if ( level.time > (lasttaunttime[pnum]+3*Thinker.TICRATE) ) + { + lasttaunttime[pnum] = level.time; + int taunttype = -1; + if ( e.Inflictor is 'UTPlayer' ) taunttype = UTPlayer(e.Inflictor).VoiceType; + else if ( e.DamageSource is 'UTPlayer' ) taunttype = UTPlayer(e.DamageSource).VoiceType; + int maxtaunt = NumTaunts(taunttype); + int nexttaunt = Random[UTTaunt](0,maxtaunt-1); + for ( int i=0; i<4; i++ ) + { + if ( nexttaunt == lasttaunt[pnum][i] ) nexttaunt = Random[UTTaunt](0,maxtaunt-1); + if ( i > 0 ) lasttaunt[pnum][i-1] = lasttaunt[pnum][i]; + } + lasttaunt[pnum][3] = nexttaunt; + if ( flak_voices ) PlayTaunt(pnum,taunttype,nexttaunt); + } + if ( level.time < (lastkill[pnum]+3*Thinker.TICRATE) ) + { + multilevel[pnum]++; + if ( (consoleplayer == pnum) && flak_announcer ) + { + if ( multilevel[pnum] == 1 ) + { + QueueMsg(multimsg_id,StringTable.Localize("$FANN_DOUBLEKILL"),2.0,2.0,0.3); + PlayAnnouncerSound(String.Format("utannouncer/%s/doublekill",StringTable.Localize("$FLOC_FOLDER"))); + } + else if ( multilevel[pnum] == 2 ) + { + QueueMsg(multimsg_id,StringTable.Localize("$FANN_TRIPLEKILL"),2.1,2.1,0.3); + PlayAnnouncerSound(String.Format("utannouncer/%s/triplekill",StringTable.Localize("$FLOC_FOLDER"))); + } + else if ( multilevel[pnum] == 3 ) + { + QueueMsg(multimsg_id,StringTable.Localize("$FANN_MULTIKILL"),2.2,2.2,0.3); + PlayAnnouncerSound(String.Format("utannouncer/%s/multikill",StringTable.Localize("$FLOC_FOLDER"))); + } + else if ( multilevel[pnum] == 4 ) + { + QueueMsg(multimsg_id,StringTable.Localize("$FANN_MEGAKILL"),2.4,2.4,0.3); + PlayAnnouncerSound(String.Format("utannouncer/%s/megakill",StringTable.Localize("$FLOC_FOLDER"))); + } + else if ( multilevel[pnum] == 5 ) + { + QueueMsg(multimsg_id,StringTable.Localize("$FANN_ULTRAKILL"),2.6,2.5,0.3); + PlayAnnouncerSound(String.Format("utannouncer/%s/ultrakill",StringTable.Localize("$FLOC_FOLDER"))); + } + else if ( multilevel[pnum] <= 10 ) + { + QueueMsg(multimsg_id,StringTable.Localize("$FANN_MONSTERKILL"),2.8,3.0,0.3); + PlayAnnouncerSound(String.Format("utannouncer/%s/monsterkill",StringTable.Localize("$FLOC_FOLDER"))); + } + } + } + else multilevel[pnum] = 0; + lastkill[pnum] = level.time; } } @@ -3603,23 +4422,58 @@ Class UTMainHandler : EventHandler String txtme = "STOP LOADING BRUTAL DOOM WITH EVERYTHING"; if ( !rfont ) rfont = Font.GetFont('USmallFont'); Vector2 bcoord = ((CleanWidth-rfont.StringWidth(txtme))*.5,CleanHeight*0.8); - for ( int i=0; i 7)) && UTPlayer(Gibbed).torsoless ) continue; Actor a; + Vector3 pofs = (0,partofsy[i],partofsz[i]); + pofs.xy = RotateVector(pofs.xy,angle); if ( i < 6 ) { if ( UTPlayer(Gibbed).DollType == UTPlayer.DOLL_Boss ) - a = Spawn(bossparts[i],Vec3Offset(-partofsy[i]*sin(angle),partofsy[i]*cos(angle),partofsz[i])); + a = Spawn(bossparts[i],level.Vec3Offset(pos,pofs)); else if ( UTPlayer(Gibbed).DollType == UTPlayer.DOLL_Female ) - a = Spawn(femaleparts[i],Vec3Offset(-partofsy[i]*sin(angle),partofsy[i]*cos(angle),partofsz[i])); - else a = Spawn(maleparts[i],Vec3Offset(-partofsy[i]*sin(angle),partofsy[i]*cos(angle),partofsz[i])); + a = Spawn(femaleparts[i],level.Vec3Offset(pos,pofs)); + else a = Spawn(maleparts[i],level.Vec3Offset(pos,pofs)); } - else a = Spawn(extraparts[i-6],Vec3Offset(-partofsy[i]*sin(angle),partofsy[i]*cos(angle),partofsz[i])); + else a = Spawn(extraparts[i-6],level.Vec3Offset(pos,pofs)); ang = FRandom[Blod](0,360); pt = FRandom[Blod](-90,90); if ( a is 'UTHead' ) @@ -413,7 +418,7 @@ Class UTPlayerGibber : UTGibber UTHead(a).headowner = UTPlayer(Gibbed).player; } } - dir = (cos(pt)*cos(ang),cos(pt)*sin(ang),sin(-pt)); + dir = dt_Utility.Vec3FromAngle(ang,pt); a.vel = rvel*0.6+dir*FRandom[Blod](3.0,6.0); } } @@ -422,7 +427,7 @@ Class UTPlayerGibber : UTGibber let a = Spawn("UTBloodPuff",Vec3Offset(FRandom[Blod](-0.8,0.8)*radius,FRandom[Blod](-0.8,0.8)*radius,FRandom[Blod](0.1,0.9)*height)); ang = FRandom[Blod](0,360); pt = FRandom[Blod](-90,90); - dir = (cos(pt)*cos(ang),cos(pt)*sin(ang),sin(-pt)); + dir = dt_Utility.Vec3FromAngle(ang,pt); a.vel = rvel*0.2+dir*FRandom[Blod](1.5,3.0); } A_CountDown(); @@ -505,7 +510,7 @@ Class UTGib : Actor ang = FRandom[Blood](0,360); pt = FRandom[Blood](-90,90); Vector3 dir = -vel*0.4; - dir += (cos(ang)*cos(pt),sin(ang)*cos(pt),-sin(pt))*1.3; + dir += dt_Utility.Vec3FromAngle(ang,pt)*1.3; d.vel = dir*FRandom[Blood](0.8,1.2); d.scale *= 0.75*FRandom[Blood](0.6,1.4); } diff --git a/zscript/uthud.zsc b/zscript/uthud.zsc index 92076d4..140c3b0 100644 --- a/zscript/uthud.zsc +++ b/zscript/uthud.zsc @@ -55,6 +55,11 @@ Class UTHud : BaseStatusBar double CurX, CurY; double FracTic; + Weapon lastwep; + String ntagstr; + int ntagtic; + Color ntagcol; + override void Init() { Super.Init(); @@ -179,7 +184,7 @@ Class UTHud : BaseStatusBar { Super.Draw(state,TicFrac); HScale = Screen.GetWidth()/1280.; - switch ( CVar.GetCVar('flak_colorprefs',CPlayer).GetInt() ) + switch ( flak_colorprefs ) { case 0: if ( CPlayer.GetTeam() >= Teams.Size() ) @@ -190,26 +195,26 @@ Class UTHud : BaseStatusBar tintcolor = CPlayer.GetColor(); break; case 2: - tintcolor = Color(CVar.GetCVar('flak_colorcustom',CPlayer).GetString()); + tintcolor = flak_colorcustom; break; } - opacity = CVar.GetCVar('flak_opacity',players[consoleplayer]).GetInt(); + opacity = flak_opacity; bgcolor = Color("Black"); - showweapons = CVar.GetCVar('flak_showweapons',players[consoleplayer]).GetBool(); - showstatus = CVar.GetCVar('flak_showstatus',players[consoleplayer]).GetBool(); - showfrags = CVar.GetCVar('flak_showfrags',players[consoleplayer]).GetBool(); - showammo = CVar.GetCVar('flak_showammo',players[consoleplayer]).GetBool(); - showinfo = CVar.GetCVar('flak_showinfo',players[consoleplayer]).GetBool(); - hudsize = CVar.GetCVar('flak_hudsize',players[consoleplayer]).GetFloat(); - weaponsize = CVar.GetCVar('flak_weaponsize',players[consoleplayer]).GetFloat(); - statussize = CVar.GetCVar('flak_statussize',players[consoleplayer]).GetFloat(); + showweapons = flak_showweapons; + showstatus = flak_showstatus; + showfrags = flak_showfrags; + showammo = flak_showammo; + showinfo = flak_showinfo; + hudsize = flak_hudsize; + weaponsize = flak_weaponsize; + statussize = flak_statussize; double lbottom = Screen.GetHeight(); if ( showweapons ) { if ( weaponsize*hudsize>=1.0 ) lbottom -= 64*hudsize*HScale; if ( showfrags ) lbottom -= 64*hudsize*HScale; } - if ( (CPlayer.ReadyWeapon is 'UTWeapon') ) + if ( CPlayer.ReadyWeapon is 'UTWeapon' ) UTWeapon(CPlayer.ReadyWeapon).PreRender(lbottom); if ( (state == HUD_StatusBar) || (state == HUD_Fullscreen) ) { @@ -289,7 +294,7 @@ Class UTHud : BaseStatusBar double flen = 3*step; double len = digits.length()*step; double alpha = clamp((opacity+7)/15.,0.0,1.0); - for ( int i=0; i 15 ) Screen.DrawTexture(BigNum[digits.ByteAt(i)-0x30],false,CurX/ss,CurY/ss,DTA_VirtualWidthF,dw,DTA_VirtualHeightF,dh,DTA_KeepRatio,true,DTA_FillColor,bgcolor); Screen.DrawTexture(BigNum[digits.ByteAt(i)-0x30],false,CurX/ss,CurY/ss,DTA_VirtualWidthF,dw,DTA_VirtualHeightF,dh,DTA_KeepRatio,true,DTA_Alpha,alpha,DTA_LegacyRenderStyle,STYLE_AddShaded,DTA_FillColor,DrawColor); @@ -856,22 +861,12 @@ Class UTHud : BaseStatusBar } } - private bool IsAutoTaunt( String str ) - { - // checks if this critical message is pretending to be a chat msg - if ( str.IndexOf("\c*") == 0 ) return true; - return false; - } - - private void SetChatFace( String str, bool isauto = false ) + private void SetChatFace( String str ) { Array splitme; str.Split(splitme,":"); if ( splitme.Size() < 2 ) return; String pname = splitme[0]; - // autotaunts have a leading chat color escape - if ( isauto && (pname.IndexOf("\c*") == 0) ) pname.Remove(0,2); - if ( pname.RightIndexOf("\c*") == pname.Length()-2 ) pname.Remove(pname.Length()-2,2); // guess the player int p = -1; for ( int i=0; i gametic ) + { + double scl = HScale/2.5; + CurX = (Screen.GetWidth()-mUTFont40.mFont.StringWidth(ntagstr)*scl)/2; + CurY = Screen.GetHeight()-88*HScale; + Screen.DrawText(mUTFont40.mFont,Font.CR_UNTRANSLATED,CurX/scl,CurY/scl,ntagstr,DTA_VirtualWidthF,Screen.GetWidth()/scl,DTA_VirtualHeightF,Screen.GetHeight()/scl,DTA_KeepRatio,true,DTA_Alpha,clamp((ntagtic-gametic+fractic)*0.1,0,1),DTA_LegacyRenderStyle,STYLE_AddShaded,DTA_FillColor,Color(255,ntagcol.r,ntagcol.g,ntagcol.b)); + } // talk face CurX = 0; CurY = 0; @@ -1086,8 +1092,9 @@ Class UTHud : BaseStatusBar { if ( CPlayer.mo.InvSel ) { - PickupMsg = CPlayer.mo.InvSel.GetTag(); - PickupMsgTic = gametic+50; + ntagstr = CPlayer.mo.InvSel.GetTag(); + ntagtic = gametic+70; + ntagcol = Color(255,255,255); S_StartSound("misc/hud_sel",CHAN_BODY,CHANF_UI|CHANF_MAYBE_LOCAL); } } @@ -1101,6 +1108,23 @@ Class UTHud : BaseStatusBar } justselected = true; } + // part of gross hackery to override nametag display + if ( CPlayer.PendingWeapon && (CPlayer.PendingWeapon != WP_NOCHANGE) && (CPlayer.PendingWeapon != lastwep) ) + { + if ( (displaynametags&2) && (CPlayer == players[consoleplayer]) ) + { + ntagstr = CPlayer.PendingWeapon.GetTag(); + ntagtic = gametic+70; + ntagcol = (CPlayer.PendingWeapon is 'UTWeapon')?UTWeapon(CPlayer.PendingWeapon).NameColor:Color(255,255,255); + } + } + lastwep = CPlayer.PendingWeapon; + // make sure vanilla nametags don't display + DetachMessageID(0x5745504e); // WEPN + DetachMessageID(0x53494e56); // SINV + // also try with different endianness, just in case + DetachMessageID(0x4e504557); // WEPN + DetachMessageID(0x564e4953); // SINV if ( deathmatch||teamplay ) { if ( CPlayer.fragcount != lastfragcnt ) lastfrag = level.time; @@ -1112,7 +1136,7 @@ Class UTHud : BaseStatusBar lastfragcnt = CPlayer.killcount; } vtracer.ignore = CPlayer.mo; - vtracer.trace(CPlayer.mo.Vec2OffsetZ(0,0,CPlayer.viewz),CPlayer.mo.CurSector,(cos(CPlayer.mo.angle)*cos(CPlayer.mo.pitch),sin(CPlayer.mo.angle)*cos(CPlayer.mo.pitch),-sin(CPlayer.mo.pitch)),1000,0); + vtracer.trace(CPlayer.mo.Vec2OffsetZ(0,0,CPlayer.viewz),CPlayer.mo.CurSector,dt_Utility.Vec3FromAngle(CPlayer.mo.angle,CPlayer.mo.pitch),1000,0); if ( vtracer.Results.HitType != TRACE_HitActor ) return; lastseen = vtracer.Results.HitActor; lastseentic = level.time; @@ -1143,10 +1167,10 @@ Class UTHud : BaseStatusBar int crdefault = Font.FindFontColor('UTHUDTextLight'); int highlight = Font.FindFontColor('UTHUDText'); HScale = Screen.GetWidth()/1280.; - showweapons = CVar.GetCVar('flak_showweapons',players[consoleplayer]).GetBool(); - showstatus = CVar.GetCVar('flak_showstatus',players[consoleplayer]).GetBool(); - weaponsize = CVar.GetCVar('flak_weaponsize',players[consoleplayer]).GetFloat(); - statussize = CVar.GetCVar('flak_statussize',players[consoleplayer]).GetFloat(); + showweapons = flak_showweapons; + showstatus = flak_showstatus; + weaponsize = flak_weaponsize; + statussize = flak_statussize; double cbottom = Screen.GetHeight()*0.99; let scale = GetHUDScale(); double textdist = 8./scale.Y; diff --git a/zscript/utmenu.zsc b/zscript/utmenu.zsc index 25cbe3e..b542014 100644 --- a/zscript/utmenu.zsc +++ b/zscript/utmenu.zsc @@ -51,6 +51,209 @@ Class OptionMenuItemUTHudPreview : OptionMenuItem } } +Class OptionMenuItemUTFacePreview : OptionMenuItem +{ + String texpath[4]; + TextureID talkface[4]; + CVar mCVar[8]; + + OptionMenuItemUTFacePreview Init( String dummy ) + { + Super.Init(dummy,'None',true); + mCVar[0] = CVar.FindCVar('flak_cmdoskin'); + mCVar[1] = CVar.FindCVar('flak_fcmdskin'); + mCVar[2] = CVar.FindCVar('flak_sldrskin'); + mCVar[3] = CVar.FindCVar('flak_armyskin'); + mCVar[4] = CVar.FindCVar('flak_cmdoface'); + mCVar[5] = CVar.FindCVar('flak_fcmdface'); + mCVar[6] = CVar.FindCVar('flak_sldrface'); + mCVar[7] = CVar.FindCVar('flak_armyface'); + return self; + } + + override int Draw( OptionMenuDescriptor desc, int y, int indent, bool selected ) + { + int x = Screen.GetWidth()/2-140*CleanXFac_1; + for ( int i=0; i<4; i++ ) + { + String path; + switch ( i ) + { + default: + case 0: + path = "models/Commando/"..mCVar[0].GetString().."5"..mCVar[4].GetString()..".png"; + break; + case 1: + path = "models/FCommando/"..mCVar[1].GetString().."5"..mCVar[5].GetString()..".png"; + break; + case 2: + path = "models/Soldier/"..mCVar[2].GetString().."5"..mCVar[6].GetString()..".png"; + break; + case 3: + path = "models/SGirl/"..mCVar[3].GetString().."5"..mCVar[7].GetString()..".png"; + break; + } + if ( (texpath[i] != path) || talkface[i].IsNull() ) + { + texpath[i] = path; + talkface[i] = TexMan.CheckForTexture(path,TexMan.Type_Any); + } + Screen.DrawTexture(talkface[i],false,x,y-8*CleanYFac_1,DTA_CleanNoMove_1,true); + x += 72*CleanXFac_1; + } + return -1; + } + + override bool Selectable() + { + return false; + } +} + +Class OptionMenuItemUTFaceOption : OptionMenuItemOptionBase +{ + CVar mCVar, mCVar2; + int type; + Array faces; + + void InitFaces() + { + faces.Clear(); + String path; + switch ( type ) + { + default: + case 0: + path = "models/Commando/"..mCVar2.GetString().."2"; + break; + case 1: + path = "models/FCommando/"..mCVar2.GetString().."4"; + break; + case 2: + path = "models/Soldier/"..mCVar2.GetString().."4"; + break; + case 3: + path = "models/SGirl/"..mCVar2.GetString().."4"; + break; + } + for ( int l=0; l= 0 ) + { + mValues = newtext; + int s = GetSelection(); + if ( (s >= cnt) || (s < 0) ) s = 0; + SetSelection(s); + return true; + } + } + return false; + } + + override int GetSelection() + { + int Selection = -1; + int cnt = faces.Size(); + if ( (cnt > 0) && mCVar ) + { + String cv = mCVar.GetString(); + for( int i=0; i 0) && mCVar ) + mCVar.SetString(faces[Selection]); + } + + override int Draw( OptionMenuDescriptor desc, int y, int indent, bool selected ) + { + if ( mCenter ) indent = (screen.GetWidth()/2); + drawLabel(indent,y,selected?OptionMenuSettings.mFontColorSelection:OptionMenuSettings.mFontColor,isGrayed()); + int Selection = GetSelection(); + String text = (Selection!=-1)?faces[Selection]:"unknown"; + // capitalize first letter + text = text.Left(1).MakeUpper()..text.Mid(1); + drawValue(indent,y,OptionMenuSettings.mFontColorValue,text,isGrayed()); + return indent; + } + + override bool MenuEvent( int mkey, bool fromcontroller ) + { + int cnt = faces.Size(); + if ( cnt > 0 ) + { + int Selection = GetSelection(); + if ( mkey == Menu.MKEY_Left ) + { + if ( Selection == -1 ) Selection = 0; + else if ( --Selection < 0 ) Selection = cnt-1; + } + else if ( (mkey == Menu.MKEY_Right) || (mkey == Menu.MKEY_Enter) ) + { + if ( ++Selection >= cnt ) Selection = 0; + } + else return OptionMenuItem.MenuEvent(mkey,fromcontroller); + SetSelection(Selection); + Menu.MenuSound("menu/change"); + } + else return OptionMenuItem.MenuEvent(mkey,fromcontroller); + return true; + } +} + +Class OptionMenuItemUTSkinOption : OptionMenuItemOption +{ + OptionMenuItemUTFaceOption linked; + + override void SetSelection( int Selection ) + { + int oldsel = GetSelection(); + Super.SetSelection(Selection); + int newsel = GetSelection(); + if ( oldsel == newsel ) return; + // force face to update + linked.InitFaces(); + } +} + // changes to Tahoma Class UTMessageBox : MessageBoxMenu { @@ -90,6 +293,20 @@ Class UTOptionMenu : OptionMenu { private String ttip; + override void Init( Menu parent, OptionMenuDescriptor desc ) + { + Super.Init(parent,desc); + // link skins and faces + for ( int i=0; i 0 ) { for ( int i=0; i<4; i++ ) @@ -386,15 +444,15 @@ Class GuidedWarShell : WarShell guideangle = lagangle2*0.95+lagangle*0.05; guidepitch = lagpitch2*0.95+lagpitch*0.05; guideroll = lagroll2*0.95+lagroll*0.05; - dt_Quat orient = dt_Quat.create_euler(pitch,angle,roll); - dt_Quat angles = dt_Quat.create_euler(guidepitch,guideangle,guideroll); - orient = orient.qmul(angles); - double npitch, nangle, nroll; - [npitch, nangle, nroll] = orient.to_euler(); + dt_GM_Quaternion orient = dt_GM_Quaternion.createFromAngles(angle,pitch,roll); + dt_GM_Quaternion angles = dt_GM_Quaternion.createFromAngles(guideangle,guidepitch,guideroll); + orient = orient.multiplyQuat(angles); + double nangle, npitch, nroll; + [nangle, npitch, nroll] = orient.toAngles(); angle = nangle; pitch = npitch; roll = nroll; - vel = (vel+(cos(angle)*cos(pitch),sin(angle)*cos(pitch),-sin(pitch))*0.8).unit()*11; + vel = (vel+dt_Utility.Vec3FromAngle(angle,pitch)*0.8).unit()*11; } lagangle2 = lagangle2*0.95+lagangle*0.05; lagpitch2 = lagpitch2*0.95+lagpitch*0.05; @@ -413,6 +471,10 @@ Class GuidedWarShell : WarShell } } +// dummies so we can copy MODELDEF +Class Warshell220 : Actor abstract {} +Class Warshell222 : Actor abstract {} + Class MidTracer : LineTracer { override ETraceStatus TraceCallback() @@ -427,31 +489,17 @@ Class MidTracer : LineTracer } } -Class TargetActor -{ - Vector2 vpos; - String diststr; -} - Class RedeemerHUD : HUDMessageBase { Actor Camera; Vector3 ViewPos; - double ViewAngle, ViewPitch, ViewRoll, LagRoll, LagRoll2; + double ViewAngle, ViewPitch, ViewRoll, LagRoll, LagRoll2, OldLagRoll2; TextureID reticle1, reticle2, arrow, mark, readout; Font whfont; transient ThinkerIterator t; transient MidTracer tr; - Array ta; - Shape2D sshape, darrow; bool dodim; - // libeye stuff - dtLe_ProjScreen proj; - dtLe_GLScreen gl_proj; - dtLe_SWScreen sw_proj; - dtLe_Viewport viewport; - bool can_project; - transient CVar cvar_renderer; + dt_ProjectionData projdata; RedeemerHUD Init() { @@ -461,72 +509,14 @@ Class RedeemerHUD : HUDMessageBase mark = TexMan.CheckForTexture("Crosshr6",TexMan.Type_Any); readout = TexMan.CheckForTexture("Readout",TexMan.Type_Any); whfont = Font.GetFont('WHFONT'); - sshape = new("Shape2D"); - sshape.PushCoord((0,0)); - sshape.PushCoord((1,0)); - sshape.PushCoord((0,1)); - sshape.PushCoord((1,1)); - sshape.PushTriangle(0,3,1); - sshape.PushTriangle(0,2,3); - gl_proj = new("dtLe_GLScreen"); - sw_proj = new("dtLe_SWScreen"); - PrepareProjection(); return self; } - void PrepareProjection() - { - if ( !cvar_renderer ) - cvar_renderer = CVar.GetCVar("vid_rendermode",players[consoleplayer]); - if ( !cvar_renderer ) - { - can_project = proj = gl_proj; - return; - } - switch ( cvar_renderer.GetInt() ) - { - case 0: - case 1: - proj = sw_proj; - break; - default: - proj = gl_proj; - break; - } - can_project = proj; - } override bool Tick() { - PrepareProjection(); - LagRoll = dt_Quat.Normalize180(ViewRoll-LagRoll2); - LagRoll2 += dt_Quat.Normalize180(LagRoll-LagRoll2)*0.1; - // shootable targetting - if ( CVar.GetCVar('flak_redeemerreadout',players[consoleplayer]).GetBool() && !CVar.GetCVar('flak_redeemerreadout_perframe',players[consoleplayer]).GetBool() && can_project ) - { - viewport.FromHud(); - proj.CacheResolution(); - proj.CacheFov(players[consoleplayer].fov); - proj.Reorient(ViewPos,(ViewAngle,ViewPitch,ViewRoll)); - proj.BeginProjection(); - if ( !t ) t = ThinkerIterator.Create("Actor"); - if ( !tr ) tr = new("MidTracer"); - t.Reinit(); - ta.Clear(); - Actor a; - Vector3 vdir = (cos(ViewAngle)*cos(ViewPitch),sin(ViewAngle)*cos(ViewPitch),-sin(ViewPitch)); - while ( a = Actor(t.Next()) ) - { - Vector3 tdir = Level.Vec3Diff(ViewPos,a.Pos+(0,0,a.Height*0.5)); - if ( !a.bSHOOTABLE || (a.Health <= 0) || ((Camera is 'GuidedWarShell') && (a == GuidedWarShell(Camera).b)) || (tdir.length() > 2000) || (acos(tdir.unit() dot vdir) > players[consoleplayer].FOV) || tr.Trace(ViewPos,Camera.CurSector,tdir.unit(),tdir.length(),0) ) continue; - proj.ProjectWorldPos(ViewPos+tdir); - Vector2 npos = proj.ProjectToNormal(); - if ( !proj.IsInFront() ) continue; - TargetActor te = new("TargetActor"); - te.vpos = viewport.SceneToWindow(npos); - te.diststr = String.Format("%f",tdir.length()); - te.diststr.Replace(".",""); - ta.Push(te); - } - } + + LagRoll = Actor.Normalize180(ViewRoll-LagRoll2); + OldLagRoll2 = LagRoll2; + LagRoll2 += Actor.Normalize180(LagRoll-LagRoll2)*0.1; return !Camera; } override void Draw( int bottom, int visibility ) @@ -534,71 +524,42 @@ Class RedeemerHUD : HUDMessageBase if ( visibility != StatusBar.HUDMSGLayer_UnderHUD ) return; if ( dodim ) Screen.Dim("C8 00 00",0.2,0,0,Screen.GetWidth(),Screen.GetHeight()); // shootable targetting - if ( CVar.GetCVar('flak_redeemerreadout',players[consoleplayer]).GetBool() && can_project ) + if ( flak_redeemerreadout ) { - if ( CVar.GetCVar('flak_redeemerreadout_perframe',players[consoleplayer]).GetBool() ) + dt_Utility.PrepareProjData(projdata,ViewPos,ViewAngle,ViewPitch,ViewRoll,players[consoleplayer].fov); + if ( !t ) t = ThinkerIterator.Create("Actor"); + else t.Reinit(); + if ( !tr ) tr = new("MidTracer"); + Actor a; + Vector3 vdir = dt_Utility.Vec3FromAngle(ViewAngle,ViewPitch); + while ( a = Actor(t.Next()) ) { - viewport.FromHud(); - proj.CacheResolution(); - proj.CacheFov(players[consoleplayer].fov); - proj.Reorient(ViewPos,(ViewAngle,ViewPitch,ViewRoll)); - proj.BeginProjection(); - if ( !t ) t = ThinkerIterator.Create("Actor"); - if ( !tr ) tr = new("MidTracer"); - t.Reinit(); - ta.Clear(); - Actor a; - Vector3 vdir = (cos(ViewAngle)*cos(ViewPitch),sin(ViewAngle)*cos(ViewPitch),-sin(ViewPitch)); - while ( a = Actor(t.Next()) ) - { - Vector3 tdir = Level.Vec3Diff(ViewPos,a.Pos+(0,0,a.Height*0.5)); - if ( !a.bSHOOTABLE || (a.Health <= 0) || ((Camera is 'GuidedWarShell') && (a == GuidedWarShell(Camera).b)) || (tdir.length() > 2000) || (acos(tdir.unit() dot vdir) > players[consoleplayer].FOV) || tr.Trace(ViewPos,Camera.CurSector,tdir.unit(),tdir.length(),0) ) continue; - proj.ProjectWorldPos(ViewPos+tdir); - Vector2 npos = proj.ProjectToNormal(); - if ( !proj.IsInFront() ) continue; - TargetActor te = new("TargetActor"); - te.vpos = viewport.SceneToWindow(npos); - te.diststr = String.Format("%f",tdir.length()); - te.diststr.Replace(".",""); - ta.Push(te); - } - } - for ( int i=0; i 2000) || (acos(tdir.unit() dot vdir) > players[consoleplayer].FOV) || tr.Trace(ViewPos,Camera.CurSector,tdir.unit(),tdir.length(),0) ) continue; + Vector3 ndc = dt_Utility.ProjectPoint(projdata,ViewPos+tdir); + if ( ndc.z >= 1. ) continue; + Vector2 vpos = dt_Utility.NDCToViewport(projdata,ndc); + String diststr = String.Format("%f",tdir.length()); + diststr.Replace(".",""); + Screen.DrawTexture(mark,false,vpos.x,vpos.y,DTA_LegacyRenderStyle,STYLE_Add); + Screen.DrawText(whfont,Font.CR_UNTRANSLATED,(vpos.x-whfont.StringWidth(diststr)/2)-12,vpos.y+8,diststr,DTA_LegacyRenderStyle,STYLE_Add); } } // reticle - Vector2 vs = (640,640/Screen.GetAspectRatio()); - Vector2 mid, siz, siz2; - [mid, siz] = Screen.VirtualToRealCoords(vs*0.5,(128,128),vs,false,false); - [mid, siz2] = Screen.VirtualToRealCoords(vs*0.5,(8,4),vs,false,false); - Vector2 verts[4]; - verts[0] = (-siz.x,-siz.y); - verts[1] = (siz.x,-siz.y); - verts[2] = (-siz.x,siz.y); - verts[3] = (siz.x,siz.y); - sshape.Clear(Shape2D.C_Verts); - double rrot = -LagRoll2*2; - for ( int i=0; i<4; i++ ) - sshape.PushVertex(mid+(verts[i].x*cos(rrot)-verts[i].y*sin(rrot),verts[i].x*sin(rrot)+verts[i].y*cos(rrot))); - Screen.DrawShape(reticle1,false,sshape,DTA_LegacyRenderStyle,STYLE_Add); - sshape.Clear(Shape2D.C_Verts); - verts[0] = (-siz2.x,siz.y+siz2.y); - verts[1] = (siz2.x,siz.y+siz2.y); - verts[2] = (-siz2.x,siz.y+3*siz2.y); - verts[3] = (siz2.x,siz.y+3*siz2.y); - for ( int i=0; i<4; i++ ) - sshape.PushVertex(mid+(verts[i].x*cos(rrot)-verts[i].y*sin(rrot),verts[i].x*sin(rrot)+verts[i].y*cos(rrot))); - Screen.DrawShape(arrow,false,sshape,DTA_LegacyRenderStyle,STYLE_Add); - Screen.DrawTexture(reticle2,false,vs.x*0.5,vs.y*0.5,DTA_VirtualWidthF,vs.x,DTA_VirtualHeightF,vs.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add); + double fractic = System.GetTimeFrac(); + double rrot = -(LagRoll2*fractic+OldLagRoll2*(1.-fractic))*2; + double scl = Screen.GetWidth()/640.; + Screen.DrawTexture(reticle1,false,Screen.GetWidth()/2,Screen.GetHeight()/2,DTA_ScaleX,scl,DTA_ScaleY,scl,DTA_LegacyRenderStyle,STYLE_Add,DTA_Rotate,rrot); + Vector2 apos = Actor.AngleToVector(rrot+90,140*scl); + Screen.DrawTexture(arrow,false,Screen.GetWidth()/2+apos.x,Screen.GetHeight()/2+apos.y,DTA_ScaleX,scl,DTA_ScaleY,scl,DTA_LegacyRenderStyle,STYLE_Add,DTA_Rotate,-rrot); + Screen.DrawTexture(reticle2,false,Screen.GetWidth()/2,Screen.GetHeight()/2,DTA_ScaleX,scl,DTA_ScaleY,scl,DTA_LegacyRenderStyle,STYLE_Add); // faux assembly readout - int numreadouts = int(vs.y/128+2); - for ( int i=0; i