From d3a918876ccf0b43ad908aae04ae52ca08b3735a Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Tue, 25 Apr 2023 22:03:57 -0500 Subject: [PATCH] Fixed wall bug, implemented IShoot enemy. Implemented next level transitions. --- Faceball2030/Editor.cpp | 31 +- Faceball2030/Editor.h | 14 + Faceball2030/assets/enemies/IShoot.mtl | 4 +- Faceball2030/assets/enemies/IShoot.obj | 1027 +++++++++----------- Faceball2030/assets/enemies/IShoot.png | Bin 7684 -> 7590 bytes Faceball2030/assets/enemies/IShoot.wings | Bin 23782 -> 19159 bytes Faceball2030/assets/enemies/ShootMe2.obj | 595 ++++++++++++ Faceball2030/assets/enemies/ShootMe2.png | Bin 0 -> 7684 bytes Faceball2030/assets/enemies/ShootMe2.wings | Bin 0 -> 23782 bytes Faceball2030/assets/enemies/cone1_auv.png | Bin 0 -> 8915 bytes Faceball2030/assets/map/map2.map | 93 +- Faceball2030/main.cpp | 106 +- Faceball2030/main.h | 42 +- 13 files changed, 1259 insertions(+), 653 deletions(-) create mode 100644 Faceball2030/assets/enemies/ShootMe2.obj create mode 100644 Faceball2030/assets/enemies/ShootMe2.png create mode 100644 Faceball2030/assets/enemies/ShootMe2.wings create mode 100644 Faceball2030/assets/enemies/cone1_auv.png diff --git a/Faceball2030/Editor.cpp b/Faceball2030/Editor.cpp index 824bba2..e11ebe0 100644 --- a/Faceball2030/Editor.cpp +++ b/Faceball2030/Editor.cpp @@ -9,11 +9,40 @@ Editor::Editor() { MAP_SIZE = { (int)map[0].size(),(int)map.size() }; } +std::string Editor::GetPowerupName(PowerupType type){ + switch (type){ + case PowerupType::ARMOR:{ + return "ARMOR"; + }break; + case PowerupType::CAMO:{ + return "CAMO"; + }break; + case PowerupType::COIN:{ + return "COIN"; + }break; + case PowerupType::MAP:{ + return "MAP"; + }break; + case PowerupType::SHIELD:{ + return "SHIELD"; + }break; + case PowerupType::SHOTS:{ + return "SHOTS"; + }break; + case PowerupType::SPEED:{ + return "SPEED"; + }break; + case PowerupType::STOP:{ + return "STOP"; + }break; + } +} + void Editor::Update(float fElapsedTime){ MouseWheelEnemySelection(); RenderLevel(); WaveLayerSelection(); - game->DrawStringDecal({ 2,16 }, "Selected Enemy ("+std::to_string(selectedEnemy) + "): " + game->GetData(selectedEnemy).name, WHITE, {3,3}); + game->DrawStringDecal({ 2,16 }, "Selected Enemy ("+std::to_string(selectedEnemy) + "): " + game->GetData(selectedEnemy).name + (game->GetData(selectedEnemy).powerupDrop!=PowerupType::NONE?"("+GetPowerupName(game->GetData(selectedEnemy).powerupDrop)+")":""), WHITE, {3,3}); game->DrawStringDecal({ 2,(float)game->ScreenHeight() - 50 }, "Layer " + std::to_string(waveLayer), WHITE, { 5,5 }); if (!game->IsTextEntryEnabled()) { if (game->GetKey(F3).bPressed) { diff --git a/Faceball2030/Editor.h b/Faceball2030/Editor.h index e570df0..bee07d7 100644 --- a/Faceball2030/Editor.h +++ b/Faceball2030/Editor.h @@ -6,6 +6,18 @@ enum class FacingDirection { NORTH, EAST, SOUTH, WEST }; +enum class PowerupType { + NONE, + ARMOR, + SPEED, + SHOTS, + STOP, + SHIELD, + CAMO, + MAP, + COIN +}; + enum EnemyID { NONE, EXIT, @@ -15,6 +27,7 @@ enum EnemyID { ISHOOT, ISHOOT2, SHOOTME_ARMOR, + ISHOOT_MAP, SONAR, POWERUP_ARMOR = 56, POWERUP_SPEED = 57, @@ -76,6 +89,7 @@ class Editor { void Update(float fElapsedTime); std::vector> LoadLevel(int level); void OnTextEntryComplete(const std::string& sText); + std::string GetPowerupName(PowerupType type); private: void LoadLevelHandling(); void MouseWheelEnemySelection(); diff --git a/Faceball2030/assets/enemies/IShoot.mtl b/Faceball2030/assets/enemies/IShoot.mtl index b875557..57027cb 100644 --- a/Faceball2030/assets/enemies/IShoot.mtl +++ b/Faceball2030/assets/enemies/IShoot.mtl @@ -1,5 +1,5 @@ # Exported from Wings 3D 2.2.9 -newmtl IShoot +newmtl cone1_auv Ns 19.999999999999996 d 1.0 illum 2 @@ -7,5 +7,5 @@ Kd 1.0 1.0 1.0 Ka 0.0 0.0 0.0 Ks 0.19 0.19 0.19 Ke 0.0 0.0 0.0 -map_Kd IShoot.png +map_Kd cone1_auv.png diff --git a/Faceball2030/assets/enemies/IShoot.obj b/Faceball2030/assets/enemies/IShoot.obj index abd4968..ef20599 100644 --- a/Faceball2030/assets/enemies/IShoot.obj +++ b/Faceball2030/assets/enemies/IShoot.obj @@ -1,595 +1,438 @@ # Exported from Wings 3D 2.2.9 mtllib IShoot.mtl -o sphere1 -#129 vertices, 254 faces -v 0.12858163 0.45401388 1.3359904e-19 -v 0.12611097 0.45401388 2.5085032e-2 -v 0.11879394 0.45401388 4.9206061e-2 -v 0.10691172 0.45401388 7.1436128e-2 -v 9.0920945e-2 0.45401388 9.0920945e-2 -v 7.1436128e-2 0.45401388 0.10691172 -v 4.9206061e-2 0.45401388 0.11879394 -v 2.5085032e-2 0.45401388 0.12611097 -v -8.7613184e-19 0.45401388 0.12858163 -v -2.5085032e-2 0.45401388 0.12611097 -v -4.9206061e-2 0.45401388 0.11879394 -v -7.1436128e-2 0.45401388 0.10691172 -v -9.0920945e-2 0.45401388 9.0920945e-2 -v -0.10691172 0.45401388 7.1436128e-2 -v -0.11879394 0.45401388 4.9206061e-2 -v -0.12611097 0.45401388 2.5085032e-2 -v -0.12858163 0.45401388 1.5880308e-17 -v -0.12611097 0.45401388 -2.5085032e-2 -v -0.11879394 0.45401388 -4.9206061e-2 -v -0.10691172 0.45401388 -7.1436128e-2 -v -9.0920945e-2 0.45401388 -9.0920945e-2 -v -7.1436128e-2 0.45401388 -0.10691172 -v -4.9206061e-2 0.45401388 -0.11879394 -v -2.5085032e-2 0.45401388 -0.12611097 -v -3.2369549e-17 0.45401388 -0.12858163 -v 2.5085032e-2 0.45401388 -0.12611097 -v 4.9206061e-2 0.45401388 -0.11879394 -v 7.1436128e-2 0.45401388 -0.10691172 -v 9.0920945e-2 0.45401388 -9.0920945e-2 -v 0.10691172 0.45401388 -7.1436128e-2 -v 0.11879394 0.45401388 -4.9206061e-2 -v 0.12611097 0.45401388 -2.5085032e-2 -v 0.23758788 0.38117824 1.3359904e-19 -v 0.23302269 0.38117824 4.6351096e-2 -v 0.21950258 0.38117824 9.0920945e-2 -v 0.19754710 0.38117824 0.13199675 -v 0.16800000 0.38117824 0.16800000 -v 0.13199675 0.38117824 0.19754710 -v 9.0920945e-2 0.38117824 0.21950258 -v 4.6351096e-2 0.38117824 0.23302269 -v 5.7985756e-18 0.38117824 0.23758788 -v -4.6351096e-2 0.38117824 0.23302269 -v -9.0920945e-2 0.38117824 0.21950258 -v -0.13199675 0.38117824 0.19754710 -v -0.16800000 0.38117824 0.16800000 -v -0.19754710 0.38117824 0.13199675 -v -0.21950258 0.38117824 9.0920945e-2 -v -0.23302269 0.38117824 4.6351096e-2 -v -0.23758788 0.38117824 2.9229723e-17 -v -0.23302269 0.38117824 -4.6351096e-2 -v -0.21950258 0.38117824 -9.0920945e-2 -v -0.19754710 0.38117824 -0.13199675 -v -0.16800000 0.38117824 -0.16800000 -v -0.13199675 0.38117824 -0.19754710 -v -9.0920945e-2 0.38117824 -0.21950258 -v -4.6351096e-2 0.38117824 -0.23302269 -v -5.2393671e-17 0.38117824 -0.23758788 -v 4.6351096e-2 0.38117824 -0.23302269 -v 9.0920945e-2 0.38117824 -0.21950258 -v 0.13199675 0.38117824 -0.19754710 -v 0.16800000 0.38117824 -0.16800000 -v 0.19754710 0.38117824 -0.13199675 -v 0.21950258 0.38117824 -9.0920945e-2 -v 0.23302269 0.38117824 -4.6351096e-2 -v 0.31042352 0.27217199 1.3359904e-19 -v 0.30445882 0.27217199 6.0560625e-2 -v 0.28679394 0.27217199 0.11879394 -v 0.25810773 0.27217199 0.17246207 -v 0.21950258 0.27217199 0.21950258 -v 0.17246207 0.27217199 0.25810773 -v 0.11879394 0.27217199 0.28679394 -v 6.0560625e-2 0.27217199 0.30445882 -v 1.0258473e-17 0.27217199 0.31042352 -v -6.0560625e-2 0.27217199 0.30445882 -v -0.11879394 0.27217199 0.28679394 -v -0.17246207 0.27217199 0.25810773 -v -0.21950258 0.27217199 0.21950258 -v -0.25810773 0.27217199 0.17246207 -v -0.28679394 0.27217199 0.11879394 -v -0.30445882 0.27217199 6.0560625e-2 -v -0.31042352 0.27217199 3.8149516e-17 -v -0.30445882 0.27217199 -6.0560625e-2 -v -0.28679394 0.27217199 -0.11879394 -v -0.25810773 0.27217199 -0.17246207 -v -0.21950258 0.27217199 -0.21950258 -v -0.17246207 0.27217199 -0.25810773 -v -0.11879394 0.27217199 -0.28679394 -v -6.0560625e-2 0.27217199 -0.30445882 -v -6.5773362e-17 0.27217199 -0.31042352 -v 6.0560625e-2 0.27217199 -0.30445882 -v 0.11879394 0.27217199 -0.28679394 -v 0.17246207 0.27217199 -0.25810773 -v 0.21950258 0.27217199 -0.21950258 -v 0.25810773 0.27217199 -0.17246207 -v 0.28679394 0.27217199 -0.11879394 -v 0.30445882 0.27217199 -6.0560625e-2 -v 0.33600000 1.1788256e-2 1.3359904e-19 -v 0.32954385 1.1788256e-2 6.5550348e-2 -v 0.31042352 1.1788256e-2 0.12858163 -v 0.27937379 1.1788256e-2 0.18667160 -v 0.23758788 1.1788256e-2 0.23758788 -v 0.18667160 1.1788256e-2 0.27937379 -v 0.12858163 1.1788256e-2 0.31042352 -v 6.5550348e-2 1.1788256e-2 0.32954385 -v 1.1824580e-17 1.1788256e-2 0.33600000 -v -6.5550348e-2 1.1788256e-2 0.32954385 -v -0.12858163 1.1788256e-2 0.31042352 -v -0.18667160 1.1788256e-2 0.27937379 -v -0.23758788 1.1788256e-2 0.23758788 -v -0.27937379 1.1788256e-2 0.18667160 -v -0.31042352 1.1788256e-2 0.12858163 -v -0.32954385 1.1788256e-2 6.5550348e-2 -v -0.33600000 1.1788256e-2 4.1281731e-17 -v -0.32954385 1.1788256e-2 -6.5550348e-2 -v -0.31042352 1.1788256e-2 -0.12858163 -v -0.27937379 1.1788256e-2 -0.18667160 -v -0.23758788 1.1788256e-2 -0.23758788 -v -0.18667160 1.1788256e-2 -0.27937379 -v -0.12858163 1.1788256e-2 -0.31042352 -v -6.5550348e-2 1.1788256e-2 -0.32954385 -v -7.0471685e-17 1.1788256e-2 -0.33600000 -v 6.5550348e-2 1.1788256e-2 -0.32954385 -v 0.12858163 1.1788256e-2 -0.31042352 -v 0.18667160 1.1788256e-2 -0.27937379 -v 0.23758788 1.1788256e-2 -0.23758788 -v 0.27937379 1.1788256e-2 -0.18667160 -v 0.31042352 1.1788256e-2 -0.12858163 -v 0.32954385 1.1788256e-2 -6.5550348e-2 -v -8.7494861e-18 0.47959036 1.3359904e-19 -vt 0.0000000e+0 0.19631322 -vt 0.0000000e+0 0.40195081 -vt 0.0000000e+0 0.64275709 -vt 3.7721035e-3 0.15801441 -vt 3.7721035e-3 0.23461203 -vt 1.4943454e-2 0.12118740 -vt 1.4943454e-2 0.27143904 -vt 1.6760480e-2 0.79579376 -vt 1.6760480e-2 0.55498748 -vt 3.3084743e-2 8.7247438e-2 -vt 3.3084743e-2 0.30537900 -vt 3.8432669e-2 0.87423899 -vt 3.8432669e-2 0.63343272 -vt 3.8565900e-2 0.63890696 -vt 3.8565900e-2 0.39810068 -vt 5.2106623e-2 0.79056028 -vt 5.2106623e-2 0.54975400 -vt 5.7498811e-2 5.7498811e-2 -vt 5.7498811e-2 0.33512763 -vt 6.6679363e-2 0.86806867 -vt 6.6679363e-2 0.62726240 -vt 7.7182532e-2 0.63599744 -vt 7.7182532e-2 0.39519116 -vt 8.6610534e-2 0.78686250 -vt 8.6610534e-2 0.54605623 -vt 8.7247438e-2 0.35954170 -vt 8.7247438e-2 3.3084743e-2 -vt 9.5576187e-2 0.86414794 -vt 9.5576187e-2 0.62334167 -vt 0.11584726 0.63414981 -vt 0.11584726 0.39334353 -vt 0.12067916 0.78466943 -vt 0.12067916 0.54386316 -vt 0.12118740 0.37768299 -vt 0.12118740 1.4943454e-2 -vt 0.12493116 0.86202745 -vt 0.12493116 0.62122117 -vt 0.15456859 0.78394568 -vt 0.15456859 0.86147018 -vt 0.15456859 0.63343272 -vt 0.15456859 0.62066390 -vt 0.15456859 0.54313940 -vt 0.15456859 0.39262644 -vt 0.15801441 0.38885434 -vt 0.15801441 3.7721035e-3 -vt 0.18420602 0.86202745 -vt 0.18420602 0.62122117 -vt 0.18845802 0.78466943 -vt 0.18845802 0.54386316 -vt 0.19328993 0.63414981 -vt 0.19328993 0.39334353 -vt 0.19631322 0.39262644 -vt 0.19631322 0.0000000e+0 -vt 0.21356100 0.62334167 -vt 0.21356100 0.86414794 -vt 0.22252665 0.78686250 -vt 0.22252665 0.54605623 -vt 0.23195465 0.63599744 -vt 0.23195465 0.39519116 -vt 0.23461203 0.38885434 -vt 0.23461203 3.7721035e-3 -vt 0.24245782 0.62726240 -vt 0.24245782 0.86806867 -vt 0.25703056 0.79056028 -vt 0.25703056 0.54975400 -vt 0.27057128 0.63890696 -vt 0.27057128 0.39810068 -vt 0.27070451 0.63343272 -vt 0.27070451 0.87423899 -vt 0.27143904 0.37768299 -vt 0.27143904 1.4943454e-2 -vt 0.29237670 0.79579376 -vt 0.29237670 0.55498748 -vt 0.30537900 0.35954170 -vt 0.30537900 3.3084743e-2 -vt 0.30913718 0.64275709 -vt 0.30913718 0.40195081 -vt 0.33512763 0.33512763 -vt 0.33512763 5.7498811e-2 -vt 0.35954170 0.30537900 -vt 0.35954170 8.7247438e-2 -vt 0.37768299 0.27143904 -vt 0.37768299 0.12118740 -vt 0.38885434 0.23461203 -vt 0.38885434 0.15801441 -vt 0.39262644 9.3243714e-3 -vt 0.39262644 0.19631322 -vt 0.39262644 0.25013065 -vt 0.40938692 0.16236104 -vt 0.40938692 0.40316732 -vt 0.43105911 0.48161255 -vt 0.43105911 0.24080628 -vt 0.43119234 5.4742437e-3 -vt 0.43119234 0.24628052 -vt 0.44473306 0.15712756 -vt 0.44473306 0.39793384 -vt 0.45930580 0.47544223 -vt 0.45930580 0.23463596 -vt 0.46980897 0.24337100 -vt 0.46980897 2.5647226e-3 -vt 0.47923697 0.15342979 -vt 0.47923697 0.39423607 -vt 0.48820263 0.47152150 -vt 0.48820263 0.23071523 -vt 0.50847370 0.24152337 -vt 0.50847370 7.1709317e-4 -vt 0.51330560 0.39204299 -vt 0.51330560 0.15123672 -vt 0.51755760 0.46940101 -vt 0.51755760 0.22859473 -vt 0.54719503 0.39131924 -vt 0.54719503 0.15051296 -vt 0.54719503 0.22803746 -vt 0.54719503 0.24080628 -vt 0.54719503 0.46884374 -vt 0.54719503 0.0000000e+0 -vt 0.57683246 0.22859473 -vt 0.57683246 0.46940101 -vt 0.58108446 0.39204299 -vt 0.58108446 0.15123672 -vt 0.58591636 0.24152337 -vt 0.58591636 7.1709317e-4 -vt 0.60618743 0.23071523 -vt 0.60618743 0.47152150 -vt 0.61515309 0.15342979 -vt 0.61515309 0.39423607 -vt 0.62458109 0.24337100 -vt 0.62458109 2.5647226e-3 -vt 0.63508426 0.23463596 -vt 0.63508426 0.47544223 -vt 0.64965700 0.15712756 -vt 0.64965700 0.39793384 -vt 0.66319772 0.24628052 -vt 0.66319772 5.4742437e-3 -vt 0.66333095 0.24080628 -vt 0.66333095 0.48161255 -vt 0.68500314 0.16236104 -vt 0.68500314 0.40316732 -vt 0.70176362 0.25013065 -vt 0.70176362 9.3243714e-3 -vt 0.70176362 0.14760339 -vt 0.70460960 0.17670010 -vt 0.70463677 0.11843187 -vt 0.71303301 0.20463292 -vt 0.71316572 9.0285897e-2 -vt 0.72669211 0.23036134 -vt 0.72744227 6.4573667e-2 -vt 0.74505709 0.25292950 -vt 0.74639130 4.2209259e-2 -vt 0.76742878 0.27149969 -vt 0.76926669 2.4003898e-2 -vt 0.77927928 0.14802626 -vt 0.78057778 0.16199663 -vt 0.78073783 0.13406754 -vt 0.78457587 0.17544060 -vt 0.78490592 0.12066329 -vt 0.79111448 0.18784396 -vt 0.79163105 0.10834178 -vt 0.79296340 0.28538179 -vt 0.79518773 1.0613758e-2 -vt 0.79993963 0.19873453 -vt 0.80063998 9.7580169e-2 -vt 0.81071226 0.20769888 -vt 0.81157598 8.8790328e-2 -vt 0.82070251 0.29405771 -vt 0.82302091 0.21439704 -vt 0.82316940 2.5175483e-3 -vt 0.82401266 8.2305431e-2 -vt 0.83639685 0.21857466 -vt 0.83747008 7.8369108e-2 -vt 0.84960704 0.29719973 -vt 0.85033122 0.22007215 -vt 0.85088181 0.14859987 -vt 0.85143240 7.7127582e-2 -vt 0.85215658 0.0000000e+0 -vt 0.86429354 0.21883062 -vt 0.86536678 7.8625073e-2 -vt 0.87775096 0.21489430 -vt 0.87859422 0.29468218 -vt 0.87874271 8.2802689e-2 -vt 0.88106111 3.1420184e-3 -vt 0.89018764 0.20840940 -vt 0.89105136 8.9500853e-2 -vt 0.90112364 0.19961956 -vt 0.90182399 9.8465201e-2 -vt 0.90657589 0.28658597 -vt 0.90880022 1.1817936e-2 -vt 0.91013258 0.18885795 -vt 0.91064915 0.10935577 -vt 0.91685770 0.17653644 -vt 0.91718775 0.12175913 -vt 0.92102579 0.16313219 -vt 0.92118584 0.13520310 -vt 0.92248434 0.14917347 -vt 0.93249693 0.27319583 -vt 0.93433484 2.5700039e-2 -vt 0.95537232 0.25499047 -vt 0.95670653 4.4270228e-2 -vt 0.97432135 0.23262606 -vt 0.97507151 6.6838391e-2 -vt 0.98859790 0.20691383 -vt 0.98873061 9.2566805e-2 -vt 0.99712686 0.17876786 -vt 0.99715402 0.12049963 -vt 1.00000000 0.14959634 -g sphere1 -usemtl IShoot +o cone1 +#97 vertices, 190 faces +v -0.26956250 0.65053335 -1.3940196e-17 +v -0.26438294 0.65053335 5.2589036e-2 +v -0.24904328 0.65053335 0.10315710 +v -0.22413303 0.65053335 0.14976090 +v -0.19060947 0.65053335 0.19060947 +v -0.14976090 0.65053335 0.22413303 +v -0.10315710 0.65053335 0.24904328 +v -5.2589036e-2 0.65053335 0.26438294 +v -1.0757600e-16 0.65053335 0.26956250 +v 5.2589036e-2 0.65053335 0.26438294 +v 0.10315710 0.65053335 0.24904328 +v 0.14976090 0.65053335 0.22413303 +v 0.19060947 0.65053335 0.19060947 +v 0.22413303 0.65053335 0.14976090 +v 0.24904328 0.65053335 0.10315710 +v 0.26438294 0.65053335 5.2589036e-2 +v 0.26956250 0.65053335 3.1948508e-17 +v 0.26438294 0.65053335 -5.2589036e-2 +v 0.24904328 0.65053335 -0.10315710 +v 0.22413303 0.65053335 -0.14976090 +v 0.19060947 0.65053335 -0.19060947 +v 0.14976090 0.65053335 -0.22413303 +v 0.10315710 0.65053335 -0.24904328 +v 5.2589036e-2 0.65053335 -0.26438294 +v -8.1871519e-17 0.65053335 -0.26956250 +v -5.2589036e-2 0.65053335 -0.26438294 +v -0.10315710 0.65053335 -0.24904328 +v -0.14976090 0.65053335 -0.22413303 +v -0.19060947 0.65053335 -0.19060947 +v -0.22413303 0.65053335 -0.14976090 +v -0.24904328 0.65053335 -0.10315710 +v -0.26438294 0.65053335 -5.2589036e-2 +v -1.3537465e-16 -5.0900207e-3 0.0000000e+0 +v -0.32621092 0.45141295 -2.4888078e-17 +v -0.31994287 0.45141295 6.3640593e-2 +v -0.30137959 0.45141295 0.12483551 +v -0.27123447 0.45141295 0.18123308 +v -0.23066595 0.45141295 0.23066595 +v -0.18123308 0.45141295 0.27123447 +v -0.12483551 0.45141295 0.30137959 +v -6.3640593e-2 0.45141295 0.31994287 +v -8.7641649e-17 0.45141295 0.32621092 +v 6.3640593e-2 0.45141295 0.31994287 +v 0.12483551 0.45141295 0.30137959 +v 0.18123308 0.45141295 0.27123447 +v 0.23066595 0.45141295 0.23066595 +v 0.27123447 0.45141295 0.18123308 +v 0.30137959 0.45141295 0.12483551 +v 0.31994287 0.45141295 6.3640593e-2 +v 0.32621092 0.45141295 -1.4435350e-17 +v 0.31994287 0.45141295 -6.3640593e-2 +v 0.30137959 0.45141295 -0.12483551 +v 0.27123447 0.45141295 -0.18123308 +v 0.23066595 0.45141295 -0.23066595 +v 0.18123308 0.45141295 -0.27123447 +v 0.12483551 0.45141295 -0.30137959 +v 6.3640593e-2 0.45141295 -0.31994287 +v 3.3696400e-17 0.45141295 -0.32621092 +v -6.3640593e-2 0.45141295 -0.31994287 +v -0.12483551 0.45141295 -0.30137959 +v -0.18123308 0.45141295 -0.27123447 +v -0.23066595 0.45141295 -0.23066595 +v -0.27123447 0.45141295 -0.18123308 +v -0.30137959 0.45141295 -0.12483551 +v -0.31994287 0.45141295 -6.3640593e-2 +v -0.29788671 0.60933980 -1.9414137e-17 +v -0.29216290 0.60933980 5.8114814e-2 +v -0.27521143 0.60933980 0.11399631 +v -0.24768375 0.60933980 0.16549699 +v -0.21063771 0.60933980 0.21063771 +v -0.16549699 0.60933980 0.24768375 +v -0.11399631 0.60933980 0.27521143 +v -5.8114814e-2 0.60933980 0.29216290 +v -9.7608827e-17 0.60933980 0.29788671 +v 5.8114814e-2 0.60933980 0.29216290 +v 0.11399631 0.60933980 0.27521143 +v 0.16549699 0.60933980 0.24768375 +v 0.21063771 0.60933980 0.21063771 +v 0.24768375 0.60933980 0.16549699 +v 0.27521143 0.60933980 0.11399631 +v 0.29216290 0.60933980 5.8114814e-2 +v 0.29788671 0.60933980 8.7565786e-18 +v 0.29216290 0.60933980 -5.8114814e-2 +v 0.27521143 0.60933980 -0.11399631 +v 0.24768375 0.60933980 -0.16549699 +v 0.21063771 0.60933980 -0.21063771 +v 0.16549699 0.60933980 -0.24768375 +v 0.11399631 0.60933980 -0.27521143 +v 5.8114814e-2 0.60933980 -0.29216290 +v -2.4087560e-17 0.60933980 -0.29788671 +v -5.8114814e-2 0.60933980 -0.29216290 +v -0.11399631 0.60933980 -0.27521143 +v -0.16549699 0.60933980 -0.24768375 +v -0.21063771 0.60933980 -0.21063771 +v -0.24768375 0.60933980 -0.16549699 +v -0.27521143 0.60933980 -0.11399631 +v -0.29216290 0.60933980 -5.8114814e-2 +vt 0.0000000e+0 0.34726541 +vt 0.0000000e+0 0.70292780 +vt 0.0000000e+0 0.86870894 +vt 8.9330122e-5 0.73174574 +vt 2.5227209e-3 0.89432255 +vt 2.5227209e-3 0.84309532 +vt 3.4363725e-3 0.31865295 +vt 6.7789276e-3 0.61573848 +vt 9.9939370e-3 0.91895185 +vt 9.9939370e-3 0.81846602 +vt 2.0829457e-2 0.23294757 +vt 2.2126533e-2 0.94165034 +vt 2.2126533e-2 0.79576753 +vt 2.9996274e-2 0.35257183 +vt 3.0509436e-2 0.73334314 +vt 3.1769202e-2 0.70512141 +vt 3.4698684e-2 0.32471612 +vt 3.6280235e-2 0.62354290 +vt 3.8454262e-2 0.96154574 +vt 3.8454262e-2 0.77587214 +vt 4.9154585e-2 0.24430200 +vt 5.8349656e-2 0.97787347 +vt 5.8349656e-2 0.75954441 +vt 6.1099150e-2 0.35885524 +vt 6.2147341e-2 0.73577484 +vt 6.3361012e-2 0.70712439 +vt 6.5371405e-2 0.62839600 +vt 6.5808252e-2 0.33056839 +vt 7.7433663e-2 0.25267712 +vt 8.1048147e-2 0.99000606 +vt 8.1048147e-2 0.74741181 +vt 9.3653940e-2 0.36452296 +vt 9.4178424e-2 0.63054084 +vt 9.5150944e-2 0.73741788 +vt 9.5281265e-2 0.70805951 +vt 9.7374419e-2 0.33540101 +vt 0.10567745 0.99747728 +vt 0.10567745 0.73994060 +vt 0.10576200 0.25832954 +vt 0.10673688 0.36870894 +vt 0.12278276 0.63008141 +vt 0.12751873 0.70722588 +vt 0.12762683 0.36856922 +vt 0.12936366 0.73727816 +vt 0.12947177 0.33851694 +vt 0.13129106 1.00000000 +vt 0.13129106 0.73741788 +vt 0.13420774 0.26137247 +vt 0.15025362 0.0000000e+0 +vt 0.15122849 0.62703848 +vt 0.15690468 0.99747728 +vt 0.15690468 0.73994060 +vt 0.15961608 0.70410994 +vt 0.16170923 0.33935058 +vt 0.16183955 0.36870894 +vt 0.16281207 0.26183190 +vt 0.16333656 0.73323190 +vt 0.17955683 0.62138606 +vt 0.18153398 0.99000606 +vt 0.18153398 0.74741181 +vt 0.19118224 0.69927733 +vt 0.19161909 0.25968707 +vt 0.19362948 0.33841545 +vt 0.19484315 0.36706591 +vt 0.19589135 0.72756418 +vt 0.20423247 0.97787347 +vt 0.20423247 0.75954441 +vt 0.20783591 0.61301094 +vt 0.22071026 0.25483396 +vt 0.22229181 0.69342506 +vt 0.22412786 0.96154574 +vt 0.22412786 0.77587214 +vt 0.22522129 0.33641247 +vt 0.22648106 0.36463420 +vt 0.22699422 0.72128076 +vt 0.23616104 0.60165651 +vt 0.24045559 0.94165034 +vt 0.24045559 0.79576753 +vt 0.25021157 0.24702954 +vt 0.25258819 0.91895185 +vt 0.25258819 0.81846602 +vt 0.25355412 0.68736189 +vt 0.25690117 0.36303680 +vt 0.25699050 0.71597435 +vt 0.25699050 0.33421886 +vt 0.25699050 0.33421886 +vt 0.25707983 0.36303680 +vt 0.26005940 0.89432255 +vt 0.26005940 0.84309532 +vt 0.26258212 0.86870894 +vt 0.26376942 0.24702954 +vt 0.28749993 0.36463420 +vt 0.28875970 0.33641247 +vt 0.29327073 0.25483396 +vt 0.31913784 0.36706591 +vt 0.32035151 0.33841545 +vt 0.32236190 0.25968707 +vt 0.35116892 0.26183190 +vt 0.35214144 0.36870894 +vt 0.35227176 0.33935058 +vt 0.36372737 0.0000000e+0 +vt 0.37977326 0.26137247 +vt 0.38450922 0.33851694 +vt 0.38635416 0.36856922 +vt 0.40821899 0.25832954 +vt 0.41660657 0.33540101 +vt 0.42032705 0.36452296 +vt 0.43654733 0.25267712 +vt 0.44817274 0.33056839 +vt 0.45288184 0.35885524 +vt 0.46482641 0.24430200 +vt 0.47928231 0.32471612 +vt 0.48398472 0.35257183 +vt 0.49315153 0.23294757 +vt 0.51054462 0.31865295 +vt 0.51398099 0.33421886 +vt 0.51398099 0.34726541 +vt 0.51407032 0.36303680 +vt 0.52075992 0.24702954 +vt 0.54449043 0.36463420 +vt 0.54575019 0.33641247 +vt 0.55026123 0.25483396 +vt 0.57612833 0.36706591 +vt 0.57734200 0.33841545 +vt 0.57935240 0.25968707 +vt 0.60815941 0.26183190 +vt 0.60913194 0.36870894 +vt 0.60926226 0.33935058 +vt 0.62071787 0.0000000e+0 +vt 0.63676375 0.26137247 +vt 0.64149972 0.33851694 +vt 0.64334465 0.36856922 +vt 0.66520948 0.25832954 +vt 0.67359707 0.33540101 +vt 0.67731755 0.36452296 +vt 0.69353782 0.25267712 +vt 0.70516323 0.33056839 +vt 0.70987234 0.35885524 +vt 0.72181690 0.24430200 +vt 0.73627280 0.32471612 +vt 0.74097521 0.35257183 +vt 0.75014203 0.23294757 +vt 0.76753511 0.31865295 +vt 0.77097149 0.34726541 +g cone1 +usemtl cone1_auv s 1 -f 1/194/ 34/204/ 33/205/ -f 1/194/ 64/203/ 32/192/ -f 1/194/ 129/173/ 2/193/ -f 2/193/ 34/204/ 1/194/ -f 2/193/ 129/173/ 3/191/ -f 3/191/ 34/204/ 2/193/ -f 3/191/ 36/200/ 35/202/ -f 3/191/ 129/173/ 4/189/ -f 4/189/ 36/200/ 3/191/ -f 4/189/ 129/173/ 5/185/ -f 5/185/ 36/200/ 4/189/ -f 5/185/ 38/196/ 37/198/ -f 5/185/ 129/173/ 6/183/ -f 6/183/ 38/196/ 5/185/ -f 6/183/ 129/173/ 7/180/ -f 7/180/ 38/196/ 6/183/ -f 7/180/ 40/181/ 39/187/ -f 7/180/ 129/173/ 8/177/ -f 8/177/ 40/181/ 7/180/ -f 8/177/ 129/173/ 9/174/ -f 9/174/ 40/181/ 8/177/ -f 9/174/ 42/167/ 41/175/ -f 9/174/ 129/173/ 10/170/ -f 10/170/ 42/167/ 9/174/ -f 10/170/ 129/173/ 11/168/ -f 11/168/ 42/167/ 10/170/ -f 11/168/ 44/151/ 43/160/ -f 11/168/ 129/173/ 12/164/ -f 12/164/ 44/151/ 11/168/ -f 12/164/ 129/173/ 13/162/ -f 13/162/ 44/151/ 12/164/ -f 13/162/ 46/147/ 45/149/ -f 13/162/ 129/173/ 14/158/ -f 14/158/ 46/147/ 13/162/ -f 14/158/ 129/173/ 15/156/ -f 15/156/ 46/147/ 14/158/ -f 15/156/ 48/143/ 47/145/ -f 15/156/ 129/173/ 16/154/ -f 16/154/ 48/143/ 15/156/ -f 16/154/ 129/173/ 17/152/ -f 17/152/ 48/143/ 16/154/ -f 17/152/ 50/142/ 49/141/ -f 17/152/ 129/173/ 18/153/ -f 18/153/ 50/142/ 17/152/ -f 18/153/ 129/173/ 19/155/ -f 19/155/ 50/142/ 18/153/ -f 19/155/ 52/146/ 51/144/ -f 19/155/ 129/173/ 20/157/ -f 20/157/ 52/146/ 19/155/ -f 20/157/ 129/173/ 21/161/ -f 21/161/ 52/146/ 20/157/ -f 21/161/ 54/150/ 53/148/ -f 21/161/ 129/173/ 22/163/ -f 22/163/ 54/150/ 21/161/ -f 22/163/ 129/173/ 23/166/ -f 23/166/ 54/150/ 22/163/ -f 23/166/ 56/165/ 55/159/ -f 23/166/ 129/173/ 24/169/ -f 24/169/ 56/165/ 23/166/ -f 24/169/ 129/173/ 25/172/ -f 25/172/ 56/165/ 24/169/ -f 25/172/ 58/179/ 57/171/ -f 25/172/ 129/173/ 26/176/ -f 26/176/ 58/179/ 25/172/ -f 26/176/ 129/173/ 27/178/ -f 27/178/ 58/179/ 26/176/ -f 27/178/ 60/195/ 59/186/ -f 27/178/ 129/173/ 28/182/ -f 28/182/ 60/195/ 27/178/ -f 28/182/ 129/173/ 29/184/ -f 29/184/ 60/195/ 28/182/ -f 29/184/ 62/199/ 61/197/ -f 29/184/ 129/173/ 30/188/ -f 30/188/ 62/199/ 29/184/ -f 30/188/ 129/173/ 31/190/ -f 31/190/ 62/199/ 30/188/ -f 31/190/ 64/203/ 63/201/ -f 31/190/ 129/173/ 32/192/ -f 32/192/ 64/203/ 31/190/ -f 32/192/ 129/173/ 1/194/ -f 33/205/ 64/203/ 1/194/ -f 33/113/ 65/112/ 64/117/ -f 34/110/ 65/112/ 33/113/ -f 34/110/ 67/101/ 66/108/ -f 35/202/ 34/204/ 3/191/ -f 35/104/ 67/101/ 34/110/ -f 36/98/ 67/101/ 35/104/ -f 36/98/ 69/89/ 68/95/ -f 37/198/ 36/200/ 5/185/ -f 37/92/ 69/89/ 36/98/ -f 38/130/ 69/138/ 37/136/ -f 38/130/ 71/126/ 70/132/ -f 39/187/ 38/196/ 7/180/ -f 39/124/ 71/126/ 38/130/ -f 40/118/ 71/126/ 39/124/ -f 40/118/ 73/111/ 72/119/ -f 41/175/ 40/181/ 9/174/ -f 41/115/ 73/111/ 40/118/ -f 42/109/ 73/111/ 41/115/ -f 42/109/ 75/102/ 74/107/ -f 43/160/ 42/167/ 11/168/ -f 43/103/ 75/102/ 42/109/ -f 44/97/ 75/102/ 43/103/ -f 44/97/ 77/90/ 76/96/ -f 45/149/ 44/151/ 13/162/ -f 45/91/ 77/90/ 44/97/ -f 46/63/ 77/72/ 45/69/ -f 46/63/ 79/56/ 78/64/ -f 47/145/ 46/147/ 15/156/ -f 47/55/ 79/56/ 46/63/ -f 48/46/ 79/56/ 47/55/ -f 48/46/ 81/38/ 80/48/ -f 49/141/ 48/143/ 17/152/ -f 49/39/ 81/38/ 48/46/ -f 50/36/ 81/38/ 49/39/ -f 50/36/ 83/24/ 82/32/ -f 51/144/ 50/142/ 19/155/ -f 51/28/ 83/24/ 50/36/ -f 52/20/ 83/24/ 51/28/ -f 52/20/ 85/8/ 84/16/ -f 53/148/ 52/146/ 21/161/ -f 53/12/ 85/8/ 52/20/ -f 54/62/ 85/73/ 53/68/ -f 54/62/ 87/57/ 86/65/ -f 55/159/ 54/150/ 23/166/ -f 55/54/ 87/57/ 54/62/ -f 56/47/ 87/57/ 55/54/ -f 56/47/ 89/42/ 88/49/ -f 57/171/ 56/165/ 25/172/ -f 57/41/ 89/42/ 56/47/ -f 58/37/ 89/42/ 57/41/ -f 58/37/ 91/25/ 90/33/ -f 59/186/ 58/179/ 27/178/ -f 59/29/ 91/25/ 58/37/ -f 60/21/ 91/25/ 59/29/ -f 60/21/ 93/9/ 92/17/ -f 61/197/ 60/195/ 29/184/ -f 61/13/ 93/9/ 60/21/ -f 62/129/ 93/137/ 61/135/ -f 62/129/ 95/125/ 94/131/ -f 63/201/ 62/199/ 31/190/ -f 63/123/ 95/125/ 62/129/ -f 64/117/ 65/112/ 96/120/ -f 64/117/ 95/125/ 63/123/ -f 65/112/ 98/106/ 97/116/ -f 65/112/ 128/122/ 96/120/ -f 66/108/ 65/112/ 34/110/ -f 66/108/ 98/106/ 65/112/ -f 67/101/ 98/106/ 66/108/ -f 67/101/ 100/93/ 99/100/ -f 68/95/ 67/101/ 36/98/ -f 68/95/ 100/93/ 67/101/ -f 69/89/ 100/93/ 68/95/ -f 69/138/ 102/133/ 101/139/ -f 70/132/ 69/138/ 38/130/ -f 70/132/ 102/133/ 69/138/ -f 71/126/ 102/133/ 70/132/ -f 71/126/ 104/121/ 103/127/ -f 72/119/ 71/126/ 40/118/ -f 72/119/ 104/121/ 71/126/ -f 73/111/ 104/121/ 72/119/ -f 73/111/ 106/105/ 105/114/ -f 74/107/ 73/111/ 42/109/ -f 74/107/ 106/105/ 73/111/ -f 75/102/ 106/105/ 74/107/ -f 75/102/ 108/94/ 107/99/ -f 76/96/ 75/102/ 44/97/ -f 76/96/ 108/94/ 75/102/ -f 77/90/ 108/94/ 76/96/ -f 77/72/ 110/66/ 109/76/ -f 78/64/ 77/72/ 46/63/ -f 78/64/ 110/66/ 77/72/ -f 79/56/ 110/66/ 78/64/ -f 79/56/ 112/50/ 111/58/ -f 80/48/ 79/56/ 48/46/ -f 80/48/ 112/50/ 79/56/ -f 81/38/ 112/50/ 80/48/ -f 81/38/ 114/30/ 113/40/ -f 82/32/ 81/38/ 50/36/ -f 82/32/ 114/30/ 81/38/ -f 83/24/ 114/30/ 82/32/ -f 83/24/ 116/14/ 115/22/ -f 84/16/ 83/24/ 52/20/ -f 84/16/ 116/14/ 83/24/ -f 85/8/ 116/14/ 84/16/ -f 85/73/ 118/67/ 117/77/ -f 86/65/ 85/73/ 54/62/ -f 86/65/ 118/67/ 85/73/ -f 87/57/ 118/67/ 86/65/ -f 87/57/ 120/51/ 119/59/ -f 88/49/ 87/57/ 56/47/ -f 88/49/ 120/51/ 87/57/ -f 89/42/ 120/51/ 88/49/ -f 89/42/ 122/31/ 121/43/ -f 90/33/ 89/42/ 58/37/ -f 90/33/ 122/31/ 89/42/ -f 91/25/ 122/31/ 90/33/ -f 91/25/ 124/15/ 123/23/ -f 92/17/ 91/25/ 60/21/ -f 92/17/ 124/15/ 91/25/ -f 93/9/ 124/15/ 92/17/ -f 93/137/ 126/134/ 125/140/ -f 94/131/ 93/137/ 62/129/ -f 94/131/ 126/134/ 93/137/ -f 95/125/ 126/134/ 94/131/ -f 95/125/ 128/122/ 127/128/ -f 96/120/ 95/125/ 64/117/ -f 96/120/ 128/122/ 95/125/ -f 97/116/ 128/122/ 65/112/ -f 98/4/ 128/5/ 97/1/ -f 99/100/ 98/106/ 67/101/ -f 99/6/ 127/7/ 98/4/ -f 100/10/ 126/11/ 99/6/ -f 101/86/ 100/93/ 69/89/ -f 101/18/ 125/19/ 100/10/ -f 102/27/ 124/26/ 101/18/ -f 103/127/ 102/133/ 71/126/ -f 103/35/ 123/34/ 102/27/ -f 104/45/ 122/44/ 103/35/ -f 105/114/ 104/121/ 73/111/ -f 105/53/ 121/52/ 104/45/ -f 106/61/ 120/60/ 105/53/ -f 107/99/ 106/105/ 75/102/ -f 107/71/ 119/70/ 106/61/ -f 108/75/ 118/74/ 107/71/ -f 109/88/ 108/94/ 77/90/ -f 109/79/ 117/78/ 108/75/ -f 110/81/ 116/80/ 109/79/ -f 111/58/ 110/66/ 79/56/ -f 111/83/ 115/82/ 110/81/ -f 112/85/ 114/84/ 111/83/ -f 113/40/ 112/50/ 81/38/ -f 113/87/ 114/84/ 112/85/ -f 115/82/ 111/83/ 114/84/ -f 115/22/ 114/30/ 83/24/ -f 116/80/ 110/81/ 115/82/ -f 117/78/ 109/79/ 116/80/ -f 117/3/ 116/14/ 85/8/ -f 118/74/ 108/75/ 117/78/ -f 119/70/ 107/71/ 118/74/ -f 119/59/ 118/67/ 87/57/ -f 120/60/ 106/61/ 119/70/ -f 121/52/ 105/53/ 120/60/ -f 121/43/ 120/51/ 89/42/ -f 122/44/ 104/45/ 121/52/ -f 123/34/ 103/35/ 122/44/ -f 123/23/ 122/31/ 91/25/ -f 124/26/ 102/27/ 123/34/ -f 125/19/ 101/18/ 124/26/ -f 125/2/ 124/15/ 93/9/ -f 126/11/ 100/10/ 125/19/ -f 127/7/ 99/6/ 126/11/ -f 127/128/ 126/134/ 95/125/ -f 128/5/ 98/4/ 127/7/ +f 1/3/ 30/12/ 32/5/ +f 1/43/ 67/54/ 2/55/ +f 1/43/ 97/36/ 66/45/ +f 2/6/ 28/22/ 1/3/ +f 2/55/ 67/54/ 3/64/ +f 3/10/ 28/22/ 2/6/ +f 3/64/ 67/54/ 68/63/ +f 3/64/ 69/73/ 4/74/ +f 4/13/ 26/37/ 3/10/ +f 4/74/ 69/73/ 5/83/ +f 5/20/ 26/37/ 4/13/ +f 5/83/ 69/73/ 70/85/ +f 5/87/ 71/93/ 6/92/ +f 6/23/ 24/51/ 5/20/ +f 6/92/ 71/93/ 7/95/ +f 7/31/ 24/51/ 6/23/ +f 7/95/ 71/93/ 72/96/ +f 7/95/ 73/100/ 8/99/ +f 8/38/ 22/66/ 7/31/ +f 8/99/ 73/100/ 9/104/ +f 9/47/ 22/66/ 8/38/ +f 9/104/ 73/100/ 74/103/ +f 9/104/ 75/106/ 10/107/ +f 10/52/ 20/77/ 9/47/ +f 10/107/ 75/106/ 11/110/ +f 11/60/ 20/77/ 10/52/ +f 11/110/ 75/106/ 76/109/ +f 11/110/ 77/112/ 12/113/ +f 12/67/ 18/88/ 11/60/ +f 12/113/ 77/112/ 13/117/ +f 13/72/ 18/88/ 12/67/ +f 13/117/ 77/112/ 78/115/ +f 13/118/ 78/116/ 14/120/ +f 14/78/ 16/89/ 13/72/ +f 14/120/ 78/116/ 79/121/ +f 14/120/ 80/124/ 15/123/ +f 15/81/ 16/89/ 14/78/ +f 15/123/ 80/124/ 16/127/ +f 16/127/ 80/124/ 81/128/ +f 16/127/ 82/131/ 17/132/ +f 17/90/ 13/72/ 16/89/ +f 17/132/ 82/131/ 18/135/ +f 18/88/ 13/72/ 17/90/ +f 18/135/ 82/131/ 83/134/ +f 18/135/ 84/137/ 19/138/ +f 19/80/ 11/60/ 18/88/ +f 19/138/ 84/137/ 20/141/ +f 20/77/ 11/60/ 19/80/ +f 20/141/ 84/137/ 85/140/ +f 20/141/ 86/143/ 21/144/ +f 21/71/ 9/47/ 20/77/ +f 21/4/ 86/2/ 22/15/ +f 22/66/ 9/47/ 21/71/ +f 22/15/ 86/2/ 87/16/ +f 22/15/ 88/26/ 23/25/ +f 23/59/ 7/31/ 22/66/ +f 23/25/ 88/26/ 24/34/ +f 24/51/ 7/31/ 23/59/ +f 24/34/ 88/26/ 89/35/ +f 24/34/ 90/42/ 25/44/ +f 25/46/ 5/20/ 24/51/ +f 25/44/ 90/42/ 26/57/ +f 26/37/ 5/20/ 25/46/ +f 26/57/ 90/42/ 91/53/ +f 26/57/ 92/61/ 27/65/ +f 27/30/ 3/10/ 26/37/ +f 27/65/ 92/61/ 28/75/ +f 28/22/ 3/10/ 27/30/ +f 28/75/ 92/61/ 93/70/ +f 28/75/ 94/82/ 29/84/ +f 29/19/ 1/3/ 28/22/ +f 29/1/ 94/7/ 30/14/ +f 30/12/ 1/3/ 29/19/ +f 30/14/ 94/7/ 95/17/ +f 30/14/ 96/28/ 31/24/ +f 31/9/ 32/5/ 30/12/ +f 31/24/ 96/28/ 32/32/ +f 32/32/ 96/28/ 97/36/ +f 32/32/ 97/36/ 1/43/ +f 33/49/ 35/56/ 34/48/ +f 33/49/ 36/62/ 35/56/ +f 33/49/ 37/69/ 36/62/ +f 33/49/ 38/79/ 37/69/ +f 33/101/ 39/94/ 38/91/ +f 33/101/ 40/97/ 39/94/ +f 33/101/ 41/98/ 40/97/ +f 33/101/ 42/102/ 41/98/ +f 33/101/ 43/105/ 42/102/ +f 33/101/ 44/108/ 43/105/ +f 33/101/ 45/111/ 44/108/ +f 33/101/ 46/114/ 45/111/ +f 33/129/ 47/122/ 46/119/ +f 33/129/ 48/125/ 47/122/ +f 33/129/ 49/126/ 48/125/ +f 33/129/ 50/130/ 49/126/ +f 33/129/ 51/133/ 50/130/ +f 33/129/ 52/136/ 51/133/ +f 33/129/ 53/139/ 52/136/ +f 33/129/ 54/142/ 53/139/ +f 33/40/ 55/18/ 54/8/ +f 33/40/ 56/27/ 55/18/ +f 33/40/ 57/33/ 56/27/ +f 33/40/ 58/41/ 57/33/ +f 33/40/ 59/50/ 58/41/ +f 33/40/ 60/58/ 59/50/ +f 33/40/ 61/68/ 60/58/ +f 33/40/ 62/76/ 61/68/ +f 33/49/ 63/21/ 62/11/ +f 33/49/ 64/29/ 63/21/ +f 33/49/ 65/39/ 64/29/ +f 34/48/ 65/39/ 33/49/ +f 34/48/ 67/54/ 66/45/ +f 35/56/ 36/62/ 67/54/ +f 36/62/ 69/73/ 68/63/ +f 37/69/ 38/79/ 69/73/ +f 38/91/ 71/93/ 70/86/ +f 39/94/ 40/97/ 71/93/ +f 40/97/ 73/100/ 72/96/ +f 41/98/ 73/100/ 40/97/ +f 42/102/ 73/100/ 41/98/ +f 42/102/ 75/106/ 74/103/ +f 43/105/ 44/108/ 75/106/ +f 44/108/ 77/112/ 76/109/ +f 45/111/ 78/115/ 77/112/ +f 46/119/ 47/122/ 78/116/ +f 47/122/ 80/124/ 79/121/ +f 48/125/ 49/126/ 80/124/ +f 49/126/ 82/131/ 81/128/ +f 50/130/ 51/133/ 82/131/ +f 51/133/ 84/137/ 83/134/ +f 52/136/ 53/139/ 84/137/ +f 53/139/ 86/143/ 85/140/ +f 54/8/ 55/18/ 86/2/ +f 55/18/ 88/26/ 87/16/ +f 56/27/ 57/33/ 88/26/ +f 57/33/ 90/42/ 89/35/ +f 59/50/ 90/42/ 58/41/ +f 59/50/ 92/61/ 91/53/ +f 60/58/ 61/68/ 92/61/ +f 60/58/ 92/61/ 59/50/ +f 61/68/ 94/82/ 93/70/ +f 62/11/ 63/21/ 94/7/ +f 63/21/ 96/28/ 95/17/ +f 64/29/ 97/36/ 96/28/ +f 65/39/ 34/48/ 97/36/ +f 66/45/ 67/54/ 1/43/ +f 66/45/ 97/36/ 34/48/ +f 67/54/ 34/48/ 35/56/ +f 68/63/ 67/54/ 36/62/ +f 68/63/ 69/73/ 3/64/ +f 69/73/ 36/62/ 37/69/ +f 70/85/ 69/73/ 38/79/ +f 70/86/ 71/93/ 5/87/ +f 71/93/ 38/91/ 39/94/ +f 72/96/ 71/93/ 40/97/ +f 72/96/ 73/100/ 7/95/ +f 74/103/ 73/100/ 42/102/ +f 74/103/ 75/106/ 9/104/ +f 75/106/ 42/102/ 43/105/ +f 76/109/ 75/106/ 44/108/ +f 76/109/ 77/112/ 11/110/ +f 77/112/ 44/108/ 45/111/ +f 78/115/ 45/111/ 46/114/ +f 79/121/ 78/116/ 47/122/ +f 79/121/ 80/124/ 14/120/ +f 80/124/ 47/122/ 48/125/ +f 81/128/ 80/124/ 49/126/ +f 81/128/ 82/131/ 16/127/ +f 82/131/ 49/126/ 50/130/ +f 83/134/ 82/131/ 51/133/ +f 83/134/ 84/137/ 18/135/ +f 84/137/ 51/133/ 52/136/ +f 85/140/ 84/137/ 53/139/ +f 85/140/ 86/143/ 20/141/ +f 86/143/ 53/139/ 54/142/ +f 87/16/ 86/2/ 55/18/ +f 87/16/ 88/26/ 22/15/ +f 88/26/ 55/18/ 56/27/ +f 89/35/ 88/26/ 57/33/ +f 89/35/ 90/42/ 24/34/ +f 90/42/ 57/33/ 58/41/ +f 91/53/ 90/42/ 59/50/ +f 91/53/ 92/61/ 26/57/ +f 93/70/ 92/61/ 61/68/ +f 93/70/ 94/82/ 28/75/ +f 94/82/ 61/68/ 62/76/ +f 95/17/ 94/7/ 63/21/ +f 95/17/ 96/28/ 30/14/ +f 96/28/ 63/21/ 64/29/ +f 97/36/ 64/29/ 65/39/ diff --git a/Faceball2030/assets/enemies/IShoot.png b/Faceball2030/assets/enemies/IShoot.png index 2d8f5a76e8dcb6cc8254ebcf1a8cb631911a4742..7faa4e02cb37af81fceebdce024ad153885e7a4f 100644 GIT binary patch delta 2931 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 diff --git a/Faceball2030/assets/enemies/IShoot.wings b/Faceball2030/assets/enemies/IShoot.wings index 5f3fafa7681650cae889d6949d850583e32f6fd6..1062898ce246383742887c9b7fae04886b49f293 100644 GIT binary patch literal 19159 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 D#6h2c diff --git a/Faceball2030/assets/enemies/ShootMe2.obj b/Faceball2030/assets/enemies/ShootMe2.obj new file mode 100644 index 0000000..abd4968 --- /dev/null +++ b/Faceball2030/assets/enemies/ShootMe2.obj @@ -0,0 +1,595 @@ +# Exported from Wings 3D 2.2.9 +mtllib IShoot.mtl +o sphere1 +#129 vertices, 254 faces +v 0.12858163 0.45401388 1.3359904e-19 +v 0.12611097 0.45401388 2.5085032e-2 +v 0.11879394 0.45401388 4.9206061e-2 +v 0.10691172 0.45401388 7.1436128e-2 +v 9.0920945e-2 0.45401388 9.0920945e-2 +v 7.1436128e-2 0.45401388 0.10691172 +v 4.9206061e-2 0.45401388 0.11879394 +v 2.5085032e-2 0.45401388 0.12611097 +v -8.7613184e-19 0.45401388 0.12858163 +v -2.5085032e-2 0.45401388 0.12611097 +v -4.9206061e-2 0.45401388 0.11879394 +v -7.1436128e-2 0.45401388 0.10691172 +v -9.0920945e-2 0.45401388 9.0920945e-2 +v -0.10691172 0.45401388 7.1436128e-2 +v -0.11879394 0.45401388 4.9206061e-2 +v -0.12611097 0.45401388 2.5085032e-2 +v -0.12858163 0.45401388 1.5880308e-17 +v -0.12611097 0.45401388 -2.5085032e-2 +v -0.11879394 0.45401388 -4.9206061e-2 +v -0.10691172 0.45401388 -7.1436128e-2 +v -9.0920945e-2 0.45401388 -9.0920945e-2 +v -7.1436128e-2 0.45401388 -0.10691172 +v -4.9206061e-2 0.45401388 -0.11879394 +v -2.5085032e-2 0.45401388 -0.12611097 +v -3.2369549e-17 0.45401388 -0.12858163 +v 2.5085032e-2 0.45401388 -0.12611097 +v 4.9206061e-2 0.45401388 -0.11879394 +v 7.1436128e-2 0.45401388 -0.10691172 +v 9.0920945e-2 0.45401388 -9.0920945e-2 +v 0.10691172 0.45401388 -7.1436128e-2 +v 0.11879394 0.45401388 -4.9206061e-2 +v 0.12611097 0.45401388 -2.5085032e-2 +v 0.23758788 0.38117824 1.3359904e-19 +v 0.23302269 0.38117824 4.6351096e-2 +v 0.21950258 0.38117824 9.0920945e-2 +v 0.19754710 0.38117824 0.13199675 +v 0.16800000 0.38117824 0.16800000 +v 0.13199675 0.38117824 0.19754710 +v 9.0920945e-2 0.38117824 0.21950258 +v 4.6351096e-2 0.38117824 0.23302269 +v 5.7985756e-18 0.38117824 0.23758788 +v -4.6351096e-2 0.38117824 0.23302269 +v -9.0920945e-2 0.38117824 0.21950258 +v -0.13199675 0.38117824 0.19754710 +v -0.16800000 0.38117824 0.16800000 +v -0.19754710 0.38117824 0.13199675 +v -0.21950258 0.38117824 9.0920945e-2 +v -0.23302269 0.38117824 4.6351096e-2 +v -0.23758788 0.38117824 2.9229723e-17 +v -0.23302269 0.38117824 -4.6351096e-2 +v -0.21950258 0.38117824 -9.0920945e-2 +v -0.19754710 0.38117824 -0.13199675 +v -0.16800000 0.38117824 -0.16800000 +v -0.13199675 0.38117824 -0.19754710 +v -9.0920945e-2 0.38117824 -0.21950258 +v -4.6351096e-2 0.38117824 -0.23302269 +v -5.2393671e-17 0.38117824 -0.23758788 +v 4.6351096e-2 0.38117824 -0.23302269 +v 9.0920945e-2 0.38117824 -0.21950258 +v 0.13199675 0.38117824 -0.19754710 +v 0.16800000 0.38117824 -0.16800000 +v 0.19754710 0.38117824 -0.13199675 +v 0.21950258 0.38117824 -9.0920945e-2 +v 0.23302269 0.38117824 -4.6351096e-2 +v 0.31042352 0.27217199 1.3359904e-19 +v 0.30445882 0.27217199 6.0560625e-2 +v 0.28679394 0.27217199 0.11879394 +v 0.25810773 0.27217199 0.17246207 +v 0.21950258 0.27217199 0.21950258 +v 0.17246207 0.27217199 0.25810773 +v 0.11879394 0.27217199 0.28679394 +v 6.0560625e-2 0.27217199 0.30445882 +v 1.0258473e-17 0.27217199 0.31042352 +v -6.0560625e-2 0.27217199 0.30445882 +v -0.11879394 0.27217199 0.28679394 +v -0.17246207 0.27217199 0.25810773 +v -0.21950258 0.27217199 0.21950258 +v -0.25810773 0.27217199 0.17246207 +v -0.28679394 0.27217199 0.11879394 +v -0.30445882 0.27217199 6.0560625e-2 +v -0.31042352 0.27217199 3.8149516e-17 +v -0.30445882 0.27217199 -6.0560625e-2 +v -0.28679394 0.27217199 -0.11879394 +v -0.25810773 0.27217199 -0.17246207 +v -0.21950258 0.27217199 -0.21950258 +v -0.17246207 0.27217199 -0.25810773 +v -0.11879394 0.27217199 -0.28679394 +v -6.0560625e-2 0.27217199 -0.30445882 +v -6.5773362e-17 0.27217199 -0.31042352 +v 6.0560625e-2 0.27217199 -0.30445882 +v 0.11879394 0.27217199 -0.28679394 +v 0.17246207 0.27217199 -0.25810773 +v 0.21950258 0.27217199 -0.21950258 +v 0.25810773 0.27217199 -0.17246207 +v 0.28679394 0.27217199 -0.11879394 +v 0.30445882 0.27217199 -6.0560625e-2 +v 0.33600000 1.1788256e-2 1.3359904e-19 +v 0.32954385 1.1788256e-2 6.5550348e-2 +v 0.31042352 1.1788256e-2 0.12858163 +v 0.27937379 1.1788256e-2 0.18667160 +v 0.23758788 1.1788256e-2 0.23758788 +v 0.18667160 1.1788256e-2 0.27937379 +v 0.12858163 1.1788256e-2 0.31042352 +v 6.5550348e-2 1.1788256e-2 0.32954385 +v 1.1824580e-17 1.1788256e-2 0.33600000 +v -6.5550348e-2 1.1788256e-2 0.32954385 +v -0.12858163 1.1788256e-2 0.31042352 +v -0.18667160 1.1788256e-2 0.27937379 +v -0.23758788 1.1788256e-2 0.23758788 +v -0.27937379 1.1788256e-2 0.18667160 +v -0.31042352 1.1788256e-2 0.12858163 +v -0.32954385 1.1788256e-2 6.5550348e-2 +v -0.33600000 1.1788256e-2 4.1281731e-17 +v -0.32954385 1.1788256e-2 -6.5550348e-2 +v -0.31042352 1.1788256e-2 -0.12858163 +v -0.27937379 1.1788256e-2 -0.18667160 +v -0.23758788 1.1788256e-2 -0.23758788 +v -0.18667160 1.1788256e-2 -0.27937379 +v -0.12858163 1.1788256e-2 -0.31042352 +v -6.5550348e-2 1.1788256e-2 -0.32954385 +v -7.0471685e-17 1.1788256e-2 -0.33600000 +v 6.5550348e-2 1.1788256e-2 -0.32954385 +v 0.12858163 1.1788256e-2 -0.31042352 +v 0.18667160 1.1788256e-2 -0.27937379 +v 0.23758788 1.1788256e-2 -0.23758788 +v 0.27937379 1.1788256e-2 -0.18667160 +v 0.31042352 1.1788256e-2 -0.12858163 +v 0.32954385 1.1788256e-2 -6.5550348e-2 +v -8.7494861e-18 0.47959036 1.3359904e-19 +vt 0.0000000e+0 0.19631322 +vt 0.0000000e+0 0.40195081 +vt 0.0000000e+0 0.64275709 +vt 3.7721035e-3 0.15801441 +vt 3.7721035e-3 0.23461203 +vt 1.4943454e-2 0.12118740 +vt 1.4943454e-2 0.27143904 +vt 1.6760480e-2 0.79579376 +vt 1.6760480e-2 0.55498748 +vt 3.3084743e-2 8.7247438e-2 +vt 3.3084743e-2 0.30537900 +vt 3.8432669e-2 0.87423899 +vt 3.8432669e-2 0.63343272 +vt 3.8565900e-2 0.63890696 +vt 3.8565900e-2 0.39810068 +vt 5.2106623e-2 0.79056028 +vt 5.2106623e-2 0.54975400 +vt 5.7498811e-2 5.7498811e-2 +vt 5.7498811e-2 0.33512763 +vt 6.6679363e-2 0.86806867 +vt 6.6679363e-2 0.62726240 +vt 7.7182532e-2 0.63599744 +vt 7.7182532e-2 0.39519116 +vt 8.6610534e-2 0.78686250 +vt 8.6610534e-2 0.54605623 +vt 8.7247438e-2 0.35954170 +vt 8.7247438e-2 3.3084743e-2 +vt 9.5576187e-2 0.86414794 +vt 9.5576187e-2 0.62334167 +vt 0.11584726 0.63414981 +vt 0.11584726 0.39334353 +vt 0.12067916 0.78466943 +vt 0.12067916 0.54386316 +vt 0.12118740 0.37768299 +vt 0.12118740 1.4943454e-2 +vt 0.12493116 0.86202745 +vt 0.12493116 0.62122117 +vt 0.15456859 0.78394568 +vt 0.15456859 0.86147018 +vt 0.15456859 0.63343272 +vt 0.15456859 0.62066390 +vt 0.15456859 0.54313940 +vt 0.15456859 0.39262644 +vt 0.15801441 0.38885434 +vt 0.15801441 3.7721035e-3 +vt 0.18420602 0.86202745 +vt 0.18420602 0.62122117 +vt 0.18845802 0.78466943 +vt 0.18845802 0.54386316 +vt 0.19328993 0.63414981 +vt 0.19328993 0.39334353 +vt 0.19631322 0.39262644 +vt 0.19631322 0.0000000e+0 +vt 0.21356100 0.62334167 +vt 0.21356100 0.86414794 +vt 0.22252665 0.78686250 +vt 0.22252665 0.54605623 +vt 0.23195465 0.63599744 +vt 0.23195465 0.39519116 +vt 0.23461203 0.38885434 +vt 0.23461203 3.7721035e-3 +vt 0.24245782 0.62726240 +vt 0.24245782 0.86806867 +vt 0.25703056 0.79056028 +vt 0.25703056 0.54975400 +vt 0.27057128 0.63890696 +vt 0.27057128 0.39810068 +vt 0.27070451 0.63343272 +vt 0.27070451 0.87423899 +vt 0.27143904 0.37768299 +vt 0.27143904 1.4943454e-2 +vt 0.29237670 0.79579376 +vt 0.29237670 0.55498748 +vt 0.30537900 0.35954170 +vt 0.30537900 3.3084743e-2 +vt 0.30913718 0.64275709 +vt 0.30913718 0.40195081 +vt 0.33512763 0.33512763 +vt 0.33512763 5.7498811e-2 +vt 0.35954170 0.30537900 +vt 0.35954170 8.7247438e-2 +vt 0.37768299 0.27143904 +vt 0.37768299 0.12118740 +vt 0.38885434 0.23461203 +vt 0.38885434 0.15801441 +vt 0.39262644 9.3243714e-3 +vt 0.39262644 0.19631322 +vt 0.39262644 0.25013065 +vt 0.40938692 0.16236104 +vt 0.40938692 0.40316732 +vt 0.43105911 0.48161255 +vt 0.43105911 0.24080628 +vt 0.43119234 5.4742437e-3 +vt 0.43119234 0.24628052 +vt 0.44473306 0.15712756 +vt 0.44473306 0.39793384 +vt 0.45930580 0.47544223 +vt 0.45930580 0.23463596 +vt 0.46980897 0.24337100 +vt 0.46980897 2.5647226e-3 +vt 0.47923697 0.15342979 +vt 0.47923697 0.39423607 +vt 0.48820263 0.47152150 +vt 0.48820263 0.23071523 +vt 0.50847370 0.24152337 +vt 0.50847370 7.1709317e-4 +vt 0.51330560 0.39204299 +vt 0.51330560 0.15123672 +vt 0.51755760 0.46940101 +vt 0.51755760 0.22859473 +vt 0.54719503 0.39131924 +vt 0.54719503 0.15051296 +vt 0.54719503 0.22803746 +vt 0.54719503 0.24080628 +vt 0.54719503 0.46884374 +vt 0.54719503 0.0000000e+0 +vt 0.57683246 0.22859473 +vt 0.57683246 0.46940101 +vt 0.58108446 0.39204299 +vt 0.58108446 0.15123672 +vt 0.58591636 0.24152337 +vt 0.58591636 7.1709317e-4 +vt 0.60618743 0.23071523 +vt 0.60618743 0.47152150 +vt 0.61515309 0.15342979 +vt 0.61515309 0.39423607 +vt 0.62458109 0.24337100 +vt 0.62458109 2.5647226e-3 +vt 0.63508426 0.23463596 +vt 0.63508426 0.47544223 +vt 0.64965700 0.15712756 +vt 0.64965700 0.39793384 +vt 0.66319772 0.24628052 +vt 0.66319772 5.4742437e-3 +vt 0.66333095 0.24080628 +vt 0.66333095 0.48161255 +vt 0.68500314 0.16236104 +vt 0.68500314 0.40316732 +vt 0.70176362 0.25013065 +vt 0.70176362 9.3243714e-3 +vt 0.70176362 0.14760339 +vt 0.70460960 0.17670010 +vt 0.70463677 0.11843187 +vt 0.71303301 0.20463292 +vt 0.71316572 9.0285897e-2 +vt 0.72669211 0.23036134 +vt 0.72744227 6.4573667e-2 +vt 0.74505709 0.25292950 +vt 0.74639130 4.2209259e-2 +vt 0.76742878 0.27149969 +vt 0.76926669 2.4003898e-2 +vt 0.77927928 0.14802626 +vt 0.78057778 0.16199663 +vt 0.78073783 0.13406754 +vt 0.78457587 0.17544060 +vt 0.78490592 0.12066329 +vt 0.79111448 0.18784396 +vt 0.79163105 0.10834178 +vt 0.79296340 0.28538179 +vt 0.79518773 1.0613758e-2 +vt 0.79993963 0.19873453 +vt 0.80063998 9.7580169e-2 +vt 0.81071226 0.20769888 +vt 0.81157598 8.8790328e-2 +vt 0.82070251 0.29405771 +vt 0.82302091 0.21439704 +vt 0.82316940 2.5175483e-3 +vt 0.82401266 8.2305431e-2 +vt 0.83639685 0.21857466 +vt 0.83747008 7.8369108e-2 +vt 0.84960704 0.29719973 +vt 0.85033122 0.22007215 +vt 0.85088181 0.14859987 +vt 0.85143240 7.7127582e-2 +vt 0.85215658 0.0000000e+0 +vt 0.86429354 0.21883062 +vt 0.86536678 7.8625073e-2 +vt 0.87775096 0.21489430 +vt 0.87859422 0.29468218 +vt 0.87874271 8.2802689e-2 +vt 0.88106111 3.1420184e-3 +vt 0.89018764 0.20840940 +vt 0.89105136 8.9500853e-2 +vt 0.90112364 0.19961956 +vt 0.90182399 9.8465201e-2 +vt 0.90657589 0.28658597 +vt 0.90880022 1.1817936e-2 +vt 0.91013258 0.18885795 +vt 0.91064915 0.10935577 +vt 0.91685770 0.17653644 +vt 0.91718775 0.12175913 +vt 0.92102579 0.16313219 +vt 0.92118584 0.13520310 +vt 0.92248434 0.14917347 +vt 0.93249693 0.27319583 +vt 0.93433484 2.5700039e-2 +vt 0.95537232 0.25499047 +vt 0.95670653 4.4270228e-2 +vt 0.97432135 0.23262606 +vt 0.97507151 6.6838391e-2 +vt 0.98859790 0.20691383 +vt 0.98873061 9.2566805e-2 +vt 0.99712686 0.17876786 +vt 0.99715402 0.12049963 +vt 1.00000000 0.14959634 +g sphere1 +usemtl IShoot +s 1 +f 1/194/ 34/204/ 33/205/ +f 1/194/ 64/203/ 32/192/ +f 1/194/ 129/173/ 2/193/ +f 2/193/ 34/204/ 1/194/ +f 2/193/ 129/173/ 3/191/ +f 3/191/ 34/204/ 2/193/ +f 3/191/ 36/200/ 35/202/ +f 3/191/ 129/173/ 4/189/ +f 4/189/ 36/200/ 3/191/ +f 4/189/ 129/173/ 5/185/ +f 5/185/ 36/200/ 4/189/ +f 5/185/ 38/196/ 37/198/ +f 5/185/ 129/173/ 6/183/ +f 6/183/ 38/196/ 5/185/ +f 6/183/ 129/173/ 7/180/ +f 7/180/ 38/196/ 6/183/ +f 7/180/ 40/181/ 39/187/ +f 7/180/ 129/173/ 8/177/ +f 8/177/ 40/181/ 7/180/ +f 8/177/ 129/173/ 9/174/ +f 9/174/ 40/181/ 8/177/ +f 9/174/ 42/167/ 41/175/ +f 9/174/ 129/173/ 10/170/ +f 10/170/ 42/167/ 9/174/ +f 10/170/ 129/173/ 11/168/ +f 11/168/ 42/167/ 10/170/ +f 11/168/ 44/151/ 43/160/ +f 11/168/ 129/173/ 12/164/ +f 12/164/ 44/151/ 11/168/ +f 12/164/ 129/173/ 13/162/ +f 13/162/ 44/151/ 12/164/ +f 13/162/ 46/147/ 45/149/ +f 13/162/ 129/173/ 14/158/ +f 14/158/ 46/147/ 13/162/ +f 14/158/ 129/173/ 15/156/ +f 15/156/ 46/147/ 14/158/ +f 15/156/ 48/143/ 47/145/ +f 15/156/ 129/173/ 16/154/ +f 16/154/ 48/143/ 15/156/ +f 16/154/ 129/173/ 17/152/ +f 17/152/ 48/143/ 16/154/ +f 17/152/ 50/142/ 49/141/ +f 17/152/ 129/173/ 18/153/ +f 18/153/ 50/142/ 17/152/ +f 18/153/ 129/173/ 19/155/ +f 19/155/ 50/142/ 18/153/ +f 19/155/ 52/146/ 51/144/ +f 19/155/ 129/173/ 20/157/ +f 20/157/ 52/146/ 19/155/ +f 20/157/ 129/173/ 21/161/ +f 21/161/ 52/146/ 20/157/ +f 21/161/ 54/150/ 53/148/ +f 21/161/ 129/173/ 22/163/ +f 22/163/ 54/150/ 21/161/ +f 22/163/ 129/173/ 23/166/ +f 23/166/ 54/150/ 22/163/ +f 23/166/ 56/165/ 55/159/ +f 23/166/ 129/173/ 24/169/ +f 24/169/ 56/165/ 23/166/ +f 24/169/ 129/173/ 25/172/ +f 25/172/ 56/165/ 24/169/ +f 25/172/ 58/179/ 57/171/ +f 25/172/ 129/173/ 26/176/ +f 26/176/ 58/179/ 25/172/ +f 26/176/ 129/173/ 27/178/ +f 27/178/ 58/179/ 26/176/ +f 27/178/ 60/195/ 59/186/ +f 27/178/ 129/173/ 28/182/ +f 28/182/ 60/195/ 27/178/ +f 28/182/ 129/173/ 29/184/ +f 29/184/ 60/195/ 28/182/ +f 29/184/ 62/199/ 61/197/ +f 29/184/ 129/173/ 30/188/ +f 30/188/ 62/199/ 29/184/ +f 30/188/ 129/173/ 31/190/ +f 31/190/ 62/199/ 30/188/ +f 31/190/ 64/203/ 63/201/ +f 31/190/ 129/173/ 32/192/ +f 32/192/ 64/203/ 31/190/ +f 32/192/ 129/173/ 1/194/ +f 33/205/ 64/203/ 1/194/ +f 33/113/ 65/112/ 64/117/ +f 34/110/ 65/112/ 33/113/ +f 34/110/ 67/101/ 66/108/ +f 35/202/ 34/204/ 3/191/ +f 35/104/ 67/101/ 34/110/ +f 36/98/ 67/101/ 35/104/ +f 36/98/ 69/89/ 68/95/ +f 37/198/ 36/200/ 5/185/ +f 37/92/ 69/89/ 36/98/ +f 38/130/ 69/138/ 37/136/ +f 38/130/ 71/126/ 70/132/ +f 39/187/ 38/196/ 7/180/ +f 39/124/ 71/126/ 38/130/ +f 40/118/ 71/126/ 39/124/ +f 40/118/ 73/111/ 72/119/ +f 41/175/ 40/181/ 9/174/ +f 41/115/ 73/111/ 40/118/ +f 42/109/ 73/111/ 41/115/ +f 42/109/ 75/102/ 74/107/ +f 43/160/ 42/167/ 11/168/ +f 43/103/ 75/102/ 42/109/ +f 44/97/ 75/102/ 43/103/ +f 44/97/ 77/90/ 76/96/ +f 45/149/ 44/151/ 13/162/ +f 45/91/ 77/90/ 44/97/ +f 46/63/ 77/72/ 45/69/ +f 46/63/ 79/56/ 78/64/ +f 47/145/ 46/147/ 15/156/ +f 47/55/ 79/56/ 46/63/ +f 48/46/ 79/56/ 47/55/ +f 48/46/ 81/38/ 80/48/ +f 49/141/ 48/143/ 17/152/ +f 49/39/ 81/38/ 48/46/ +f 50/36/ 81/38/ 49/39/ +f 50/36/ 83/24/ 82/32/ +f 51/144/ 50/142/ 19/155/ +f 51/28/ 83/24/ 50/36/ +f 52/20/ 83/24/ 51/28/ +f 52/20/ 85/8/ 84/16/ +f 53/148/ 52/146/ 21/161/ +f 53/12/ 85/8/ 52/20/ +f 54/62/ 85/73/ 53/68/ +f 54/62/ 87/57/ 86/65/ +f 55/159/ 54/150/ 23/166/ +f 55/54/ 87/57/ 54/62/ +f 56/47/ 87/57/ 55/54/ +f 56/47/ 89/42/ 88/49/ +f 57/171/ 56/165/ 25/172/ +f 57/41/ 89/42/ 56/47/ +f 58/37/ 89/42/ 57/41/ +f 58/37/ 91/25/ 90/33/ +f 59/186/ 58/179/ 27/178/ +f 59/29/ 91/25/ 58/37/ +f 60/21/ 91/25/ 59/29/ +f 60/21/ 93/9/ 92/17/ +f 61/197/ 60/195/ 29/184/ +f 61/13/ 93/9/ 60/21/ +f 62/129/ 93/137/ 61/135/ +f 62/129/ 95/125/ 94/131/ +f 63/201/ 62/199/ 31/190/ +f 63/123/ 95/125/ 62/129/ +f 64/117/ 65/112/ 96/120/ +f 64/117/ 95/125/ 63/123/ +f 65/112/ 98/106/ 97/116/ +f 65/112/ 128/122/ 96/120/ +f 66/108/ 65/112/ 34/110/ +f 66/108/ 98/106/ 65/112/ +f 67/101/ 98/106/ 66/108/ +f 67/101/ 100/93/ 99/100/ +f 68/95/ 67/101/ 36/98/ +f 68/95/ 100/93/ 67/101/ +f 69/89/ 100/93/ 68/95/ +f 69/138/ 102/133/ 101/139/ +f 70/132/ 69/138/ 38/130/ +f 70/132/ 102/133/ 69/138/ +f 71/126/ 102/133/ 70/132/ +f 71/126/ 104/121/ 103/127/ +f 72/119/ 71/126/ 40/118/ +f 72/119/ 104/121/ 71/126/ +f 73/111/ 104/121/ 72/119/ +f 73/111/ 106/105/ 105/114/ +f 74/107/ 73/111/ 42/109/ +f 74/107/ 106/105/ 73/111/ +f 75/102/ 106/105/ 74/107/ +f 75/102/ 108/94/ 107/99/ +f 76/96/ 75/102/ 44/97/ +f 76/96/ 108/94/ 75/102/ +f 77/90/ 108/94/ 76/96/ +f 77/72/ 110/66/ 109/76/ +f 78/64/ 77/72/ 46/63/ +f 78/64/ 110/66/ 77/72/ +f 79/56/ 110/66/ 78/64/ +f 79/56/ 112/50/ 111/58/ +f 80/48/ 79/56/ 48/46/ +f 80/48/ 112/50/ 79/56/ +f 81/38/ 112/50/ 80/48/ +f 81/38/ 114/30/ 113/40/ +f 82/32/ 81/38/ 50/36/ +f 82/32/ 114/30/ 81/38/ +f 83/24/ 114/30/ 82/32/ +f 83/24/ 116/14/ 115/22/ +f 84/16/ 83/24/ 52/20/ +f 84/16/ 116/14/ 83/24/ +f 85/8/ 116/14/ 84/16/ +f 85/73/ 118/67/ 117/77/ +f 86/65/ 85/73/ 54/62/ +f 86/65/ 118/67/ 85/73/ +f 87/57/ 118/67/ 86/65/ +f 87/57/ 120/51/ 119/59/ +f 88/49/ 87/57/ 56/47/ +f 88/49/ 120/51/ 87/57/ +f 89/42/ 120/51/ 88/49/ +f 89/42/ 122/31/ 121/43/ +f 90/33/ 89/42/ 58/37/ +f 90/33/ 122/31/ 89/42/ +f 91/25/ 122/31/ 90/33/ +f 91/25/ 124/15/ 123/23/ +f 92/17/ 91/25/ 60/21/ +f 92/17/ 124/15/ 91/25/ +f 93/9/ 124/15/ 92/17/ +f 93/137/ 126/134/ 125/140/ +f 94/131/ 93/137/ 62/129/ +f 94/131/ 126/134/ 93/137/ +f 95/125/ 126/134/ 94/131/ +f 95/125/ 128/122/ 127/128/ +f 96/120/ 95/125/ 64/117/ +f 96/120/ 128/122/ 95/125/ +f 97/116/ 128/122/ 65/112/ +f 98/4/ 128/5/ 97/1/ +f 99/100/ 98/106/ 67/101/ +f 99/6/ 127/7/ 98/4/ +f 100/10/ 126/11/ 99/6/ +f 101/86/ 100/93/ 69/89/ +f 101/18/ 125/19/ 100/10/ +f 102/27/ 124/26/ 101/18/ +f 103/127/ 102/133/ 71/126/ +f 103/35/ 123/34/ 102/27/ +f 104/45/ 122/44/ 103/35/ +f 105/114/ 104/121/ 73/111/ +f 105/53/ 121/52/ 104/45/ +f 106/61/ 120/60/ 105/53/ +f 107/99/ 106/105/ 75/102/ +f 107/71/ 119/70/ 106/61/ +f 108/75/ 118/74/ 107/71/ +f 109/88/ 108/94/ 77/90/ +f 109/79/ 117/78/ 108/75/ +f 110/81/ 116/80/ 109/79/ +f 111/58/ 110/66/ 79/56/ +f 111/83/ 115/82/ 110/81/ +f 112/85/ 114/84/ 111/83/ +f 113/40/ 112/50/ 81/38/ +f 113/87/ 114/84/ 112/85/ +f 115/82/ 111/83/ 114/84/ +f 115/22/ 114/30/ 83/24/ +f 116/80/ 110/81/ 115/82/ +f 117/78/ 109/79/ 116/80/ +f 117/3/ 116/14/ 85/8/ +f 118/74/ 108/75/ 117/78/ +f 119/70/ 107/71/ 118/74/ +f 119/59/ 118/67/ 87/57/ +f 120/60/ 106/61/ 119/70/ +f 121/52/ 105/53/ 120/60/ +f 121/43/ 120/51/ 89/42/ +f 122/44/ 104/45/ 121/52/ +f 123/34/ 103/35/ 122/44/ +f 123/23/ 122/31/ 91/25/ +f 124/26/ 102/27/ 123/34/ +f 125/19/ 101/18/ 124/26/ +f 125/2/ 124/15/ 93/9/ +f 126/11/ 100/10/ 125/19/ +f 127/7/ 99/6/ 126/11/ +f 127/128/ 126/134/ 95/125/ +f 128/5/ 98/4/ 127/7/ diff --git a/Faceball2030/assets/enemies/ShootMe2.png b/Faceball2030/assets/enemies/ShootMe2.png new file mode 100644 index 0000000000000000000000000000000000000000..2d8f5a76e8dcb6cc8254ebcf1a8cb631911a4742 GIT binary patch literal 7684 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 D#6h2c literal 0 HcmV?d00001 diff --git a/Faceball2030/assets/enemies/cone1_auv.png b/Faceball2030/assets/enemies/cone1_auv.png new file mode 100644 index 0000000000000000000000000000000000000000..8f9321d3f179b354c49b78b95aee119211afa9c4 GIT binary patch literal 8915 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[GetID()].fireDelay; - game->bullets.push_back({ game->bullet, pos,rot,0.2f,{std::cosf(rot) * game->shotSpd,std::sinf(rot) * game->shotSpd }, YELLOW,false,GetID(),myIndex,blinking}); + game->bullets.push_back({ game->bullet, {pos.x,pos.y+0.15f,pos.z},rot,0.2f,{std::cosf(rot) * game->shotSpd,std::sinf(rot) * game->shotSpd }, YELLOW,false,GetID(),myIndex,blinking}); } void Enemy::ReloadBullet(float fElapsedTime) { @@ -97,6 +97,11 @@ void Enemy::setExploded(bool exploded) { this->exploded = exploded; } +Enemy Enemy::freshCopy(bool randomizeLoc){ + vf2d newPos = game->GetRandomizedSpawnPosition(); + return Enemy{id,(randomizeLoc)?vec3d{newPos.x,0,newPos.y}:pos,rot,radius}; +} + bool Enemy::isBlinking() { return blinking; } @@ -247,9 +252,11 @@ void FaceBall::InitializeEnemyData() { enemyData[EnemyID::NONE] = { "VOID",undefined,BLACK }; enemyData[EXIT] = { "EXIT",undefined,GREEN }; enemyData[START] = { "SPAWN POSITION",undefined,{128,64,0} }; - enemyData[SHOOTME] = { "SHOOTME",enemy_ShootMe,YELLOW,1,1,PI / 8,2,1,0.2f,true }; - enemyData[SHOOTME2] = { "SHOOTME2",enemy_IShoot,YELLOW,1,1,PI / 6,2,1,0.3f,true }; - enemyData[SHOOTME_ARMOR] = { "SHOOTME",enemy_ShootMe,YELLOW,6,1,PI / 6,2,1,0.3f,true,PowerupType::ARMOR,true }; + enemyData[SHOOTME] = { "SHOOTME",enemy_ShootMe,YELLOW,1,1,0.5,2,1,0.2f,true }; + enemyData[SHOOTME2] = { "SHOOTME2",enemy_ShootMe2,YELLOW,1,1,PI / 6,2,1,0.35f,true }; + enemyData[ISHOOT] = { "ISHOOT",enemy_IShoot,YELLOW,1,1,0.5,2,3,0.4f,true }; + enemyData[SHOOTME_ARMOR] = { "SHOOTME",enemy_ShootMe,YELLOW,6,1,0.5,2,1,0.3f,true,PowerupType::ARMOR,true }; + enemyData[ISHOOT_MAP] = { "ISHOOT",enemy_IShoot,YELLOW,7,1,0.5,2,2,0.3f,true,PowerupType::STOP,true }; enemyData[SONAR] = { "Sonar",enemy_Sonar,RED,5,1,PI / 8,2,1 }; enemyData[COIN] = { "Coin",undefined,BLUE }; enemyData[POWERUP_ARMOR] = { "Armor",undefined,{96,0,96} }; @@ -303,6 +310,8 @@ void FaceBall::ConvertBulletColor(Mesh& bullet, Pixel col) { void FaceBall::LoadLevel(int level) { + mode = GAMEMODE::GAME; + screenAlpha=screenAlpha2=0; this->level = level; restingTriangleYDepth = 0.f; exitWallsCleared = false; @@ -316,6 +325,10 @@ void FaceBall::LoadLevel(int level) bullets.clear(); enemies.clear(); powerups.clear(); + wave2Enemies.clear(); + wave3Enemies.clear(); + knownGoodPositions.clear(); + tagsRemaining=10; exitCoords = { 0,0 }; for (int y = 0; y < MAP_SIZE.y; y++) { std::vectorrow; @@ -325,6 +338,7 @@ void FaceBall::LoadLevel(int level) mapFloor.tris.push_back({ {{(float)x + 1,0,(float)y},{(float)x,0,(float)y + 1},{(float)x + 1,0,(float)y + 1}},{{1,0},{0,1},{1,1}},{WHITE,WHITE,WHITE}, floor_tex }); EnemyID id = mapData[y][x].enemyId; if (id>=SHOOTME&& id < POWERUP_ARMOR) { + knownGoodPositions.push_back({x + 0.5f,y + 0.5f}); if (mapData[y][x].wave1) { enemies.push_back({ id,vec3d{x + 0.5f,0,y + 0.5f},((int)mapData[y][x].facingDir - 1) * PI / 2,enemyData[id].radius }); } else @@ -1451,6 +1465,7 @@ void FaceBall::HandleKeys(float fElapsedTime) { Enemy& e = enemies[enemyCollisionIndex]; e.Hurt(999); e.setExploded(true); + wave2Enemies.push_back(e.freshCopy(true)); HurtPlayer(e.GetID(), 1, e.isBlinking()); hudShakeTime = shieldDuration >= 0?0.2f:0.6f; } @@ -1464,6 +1479,7 @@ void FaceBall::HandleKeys(float fElapsedTime) { Enemy& e = enemies[enemyCollisionIndex]; e.Hurt(999); e.setExploded(true); + wave2Enemies.push_back(e.freshCopy(true)); HurtPlayer(e.GetID(), 1, e.isBlinking()); hudShakeTime = shieldDuration >= 0 ? 0.2f : 0.6f; } @@ -1487,6 +1503,7 @@ void FaceBall::HandleKeys(float fElapsedTime) { Enemy& e = enemies[enemyCollisionIndex]; e.Hurt(999); e.setExploded(true); + wave2Enemies.push_back(e.freshCopy(true)); HurtPlayer(e.GetID(), 1, e.isBlinking()); hudShakeTime = shieldDuration >= 0 ? 0.2f : 0.6f; } @@ -1500,6 +1517,7 @@ void FaceBall::HandleKeys(float fElapsedTime) { Enemy& e = enemies[enemyCollisionIndex]; e.Hurt(999); e.setExploded(true); + wave2Enemies.push_back(e.freshCopy(true)); HurtPlayer(e.GetID(), 1, e.isBlinking()); hudShakeTime = shieldDuration >= 0 ? 0.2f : 0.6f; } @@ -1520,6 +1538,7 @@ void FaceBall::HandleKeys(float fElapsedTime) { Enemy& e = enemies[enemyCollisionIndex]; e.Hurt(999); e.setExploded(true); + wave2Enemies.push_back(e.freshCopy(true)); HurtPlayer(e.GetID(), 1, e.isBlinking()); hudShakeTime = shieldDuration >= 0 ? 0.2f : 0.6f; } @@ -1533,6 +1552,7 @@ void FaceBall::HandleKeys(float fElapsedTime) { Enemy& e = enemies[enemyCollisionIndex]; e.Hurt(999); e.setExploded(true); + wave2Enemies.push_back(e.freshCopy(true)); HurtPlayer(e.GetID(), 1, e.isBlinking()); hudShakeTime = shieldDuration >= 0 ? 0.2f : 0.6f; } @@ -1540,6 +1560,7 @@ void FaceBall::HandleKeys(float fElapsedTime) { } float distanceToExit = std::sqrtf(std::powf(player.GetPos().x - exit.pos.x, 2) + std::powf(player.GetPos().z - exit.pos.z, 2)); if (distanceToExit < player.GetRadius() + exit.radius) { + screenAlpha2=screenAlpha=0; mode = LEVELCOMPLETE; } } @@ -1558,6 +1579,7 @@ void FaceBall::HandleKeys(float fElapsedTime) { Enemy& e = enemies[enemyCollisionIndex]; e.Hurt(999); e.setExploded(true); + wave2Enemies.push_back(e.freshCopy(true)); HurtPlayer(e.GetID(), 1, e.isBlinking()); hudShakeTime = shieldDuration >= 0 ? 0.2f : 0.6f; } @@ -1571,6 +1593,7 @@ void FaceBall::HandleKeys(float fElapsedTime) { Enemy& e = enemies[enemyCollisionIndex]; e.Hurt(999); e.setExploded(true); + wave2Enemies.push_back(e.freshCopy(true)); HurtPlayer(e.GetID(), 1, e.isBlinking()); hudShakeTime = shieldDuration >= 0 ? 0.2f : 0.6f; } @@ -1648,6 +1671,7 @@ bool FaceBall::OnUserCreate() enemy_Sonar_tex = new Decal(new Sprite("assets/enemies/Sonar.png")); hud = new Decal(new Sprite("assets/hud.png")); exit_wall_tex = new Decal(new Sprite("assets/exitwall.png")); + enemy_ShootMe2_tex = new Decal(new Sprite("assets/enemies/ShootMe2.png")); enemy_IShoot_tex = new Decal(new Sprite("assets/enemies/IShoot.png")); life4 = new Decal(new Sprite("assets/life4.png")); life3 = new Decal(new Sprite("assets/life3.png")); @@ -1660,8 +1684,9 @@ bool FaceBall::OnUserCreate() powerups_tex = new Decal(new Sprite("assets/powerups.png")); enemy_ShootMe = { "assets/enemies/ShootMe.obj", enemy_ShootMe_tex }; - enemy_IShoot = { "assets/enemies/IShoot.obj", enemy_IShoot_tex }; + enemy_ShootMe2 = { "assets/enemies/ShootMe2.obj", enemy_ShootMe2_tex }; enemy_Sonar = { "assets/enemies/Sonar.obj", enemy_Sonar_tex }; + enemy_IShoot = { "assets/enemies/IShoot.obj", enemy_IShoot_tex}; bullet = { "assets/enemies/bullet.obj",bullet_tex }; powerup = { "assets/Powerup.obj",powerup_tex}; powerup2 = { "assets/Powerup2.obj",powerup2_tex }; @@ -1945,6 +1970,7 @@ void FaceBall::RenderHud(float fElapsedTime) { } DrawStringPropDecal(vf2d{ hudOffset + (float)(ScreenWidth() / 2 - GetTextSizeProp(std::to_string(score)).x * 4 / 2) + 32,(float)(36 - GetTextSizeProp(std::to_string(score)).y * 4) + 18 } + hudAdjustment, std::to_string(score), { 192,96,96 }, { 4,4 }); DrawStringDecal(vf2d{ hudOffset + float(ScreenWidth() / 2 - GetTextSize(hudDisplayText).x / 2 * 4) + 32,float(ScreenHeight() - 128 - GetTextSize(hudDisplayText).y * 4) + 18 }, hudDisplayText, { 192,192,255 }, { 4,4 }); + DrawStringDecal({float(ScreenWidth()-128),24},std::to_string(wave2Enemies.size())); SetDecalMode(DecalMode::ADDITIVE); DrawDecal({ float(ScreenWidth() / 2 - crosshair->sprite->width / 2),float(ScreenHeight() / 2 - crosshair->sprite->height / 2) }, crosshair, { 1,1 }, {255,255,255,128}); if (stopDuration > 0) { @@ -1963,6 +1989,10 @@ void FaceBall::RenderHud(float fElapsedTime) { GradientFillRectDecal({ 0,float(ScreenHeight()/2)}, vf2d{(float)ScreenWidth() / 2,(float)ScreenHeight() / 2}, {(uint8_t)screenCol.r,(uint8_t)screenCol.g,(uint8_t)screenCol.b,(uint8_t)(hudShakeTime>0.2f?120:hudShakeTime>0?64:0)}, {(uint8_t)screenCol.r,(uint8_t)screenCol.g,(uint8_t)screenCol.b,(uint8_t)(hudShakeTime>0.2f?120:hudShakeTime>0?64:0)}, {(uint8_t)screenCol.r,(uint8_t)screenCol.g,(uint8_t)screenCol.b,(uint8_t)(hudShakeTime>0.2f?120:hudShakeTime>0?64:0)}, { (uint8_t)screenCol.r,(uint8_t)screenCol.g,(uint8_t)screenCol.b,(uint8_t)(hudShakeTime > 0.2f ? 64 : 0) }); GradientFillRectDecal({ float(ScreenWidth()/2),float(ScreenHeight() / 2)}, vf2d{(float)ScreenWidth() / 2,(float)ScreenHeight() / 2}, { (uint8_t)screenCol.r,(uint8_t)screenCol.g,(uint8_t)screenCol.b,(uint8_t)(hudShakeTime > 0.2f ? 64 : 0) }, {(uint8_t)screenCol.r,(uint8_t)screenCol.g,(uint8_t)screenCol.b,(uint8_t)(hudShakeTime>0.2f?120:hudShakeTime>0?64:0)}, {(uint8_t)screenCol.r,(uint8_t)screenCol.g,(uint8_t)screenCol.b,(uint8_t)(hudShakeTime>0.2f?120:hudShakeTime>0?64:0)}, {(uint8_t)screenCol.r,(uint8_t)screenCol.g,(uint8_t)screenCol.b,(uint8_t)(hudShakeTime>0.2f?120:hudShakeTime>0?64:0)}); FillRectDecal({ 0,0 }, vf2d{ (float)ScreenWidth(),(float)ScreenHeight() }, { (uint8_t)0,(uint8_t)0,(uint8_t)0,(uint8_t)screenAlpha }); + if (screenAlpha>=254.f){ + GradientFillRectDecal({0,0},{float(ScreenWidth()),float(ScreenHeight())},topCol,botCol,botCol,topCol); + FillRectDecal({ 0,0 }, vf2d{ (float)ScreenWidth(),(float)ScreenHeight() }, { (uint8_t)0,(uint8_t)0,(uint8_t)0,(uint8_t)screenAlpha2 }); + } } void FaceBall::SubtractTag() { @@ -1981,13 +2011,13 @@ void FaceBall::SubtractTag() { if (exitCoords.x != MAP_SIZE.x-1) { map[exitCoords.y][exitCoords.x].wallE = NULL; } - if (exitCoords.x-1 > 0) { + if (exitCoords.x > 0) { map[exitCoords.y][exitCoords.x - 1].wallE = NULL; } if (exitCoords.x+1 < MAP_SIZE.x) { map[exitCoords.y][exitCoords.x+1].wallW = NULL; } - if (exitCoords.y-1 > 0) { + if (exitCoords.y > 0) { map[exitCoords.y - 1][exitCoords.x].wallS = NULL; } if (exitCoords.y+1 < MAP_SIZE.y) { @@ -2041,7 +2071,7 @@ void FaceBall::RunEnemyAI(Enemy& e,float fElapsedTime,int myIndex) { switch (e.GetID()) { case SHOOTME: case SHOOTME_ARMOR: { - e.rot += 0.5 * fElapsedTime; + e.rot += dat.rotSpd * fElapsedTime; }break; case SHOOTME2: { switch (e.GetPhase()) { @@ -2052,8 +2082,9 @@ void FaceBall::RunEnemyAI(Enemy& e,float fElapsedTime,int myIndex) { if (CheckPlayerCollision({ movementVec.x,0,movementVec.y }, { e.pos.x,e.pos.z }, e.radius)) { e.Hurt(999); e.setExploded(true); + wave2Enemies.push_back(e.freshCopy(true)); HurtPlayer(e.GetID(), 1, e.isBlinking()); - hudShakeTime = 0.6f; + hudShakeTime = shieldDuration >= 0 ? 0.2f : 0.6f; } e.pos.x += movementVec.x; e.pos.z += movementVec.y; @@ -2075,6 +2106,12 @@ void FaceBall::RunEnemyAI(Enemy& e,float fElapsedTime,int myIndex) { }break; } }break; + case ISHOOT: { + e.rot += dat.rotSpd * fElapsedTime; + if (e.CanShoot()) { + e.ShootBullet(myIndex); + } + }break; case ISHOOT2: { switch (e.GetPhase()) { case Phase::DEFAULT: { @@ -2084,8 +2121,9 @@ void FaceBall::RunEnemyAI(Enemy& e,float fElapsedTime,int myIndex) { if (CheckPlayerCollision({ movementVec.x,0,movementVec.y }, { e.pos.x,e.pos.z }, e.radius)) { e.Hurt(999); e.setExploded(true); + wave2Enemies.push_back(e.freshCopy(true)); HurtPlayer(e.GetID(), 1, e.isBlinking()); - hudShakeTime = 0.6f; + hudShakeTime = shieldDuration >= 0 ? 0.2f : 0.6f; } e.pos.x += movementVec.x; e.pos.z += movementVec.y; @@ -2136,8 +2174,8 @@ bool FaceBall::OnUserUpdate(float fElapsedTime) if (wave2Enemies.size()>0){ for (int i=0;i0){ for (int i=0;i=254.f){ + screenAlpha2 = 255.f; + int colInd=rand()%colorCycle.size(); + topTargetColInd=(colInd+1)%colorCycle.size(); + botTargetColInd=(topTargetColInd+1)%colorCycle.size(); + topCol=topCurrentCol=colorCycle[colInd]; + botCol=botCurrentCol=colorCycle[topTargetColInd]; + topTargetCol=colorCycle[topTargetColInd]; + botTargetCol=colorCycle[botTargetColInd]; + } } else { + if (GetMouse(0).bPressed){ + LoadLevel(++level); + } + if (screenAlpha2>0){ + screenAlpha2 = std::max(0.f,screenAlpha2-200 * fElapsedTime); + } DrawStringDecal({ 16,16 }, "Level " + std::to_string(level) + " complete!", WHITE, { 4,8 }); } + if (colTransferAmt<1){ + colTransferAmt+=fElapsedTime*0.5; + topCol=PixelLerp(topCurrentCol,topTargetCol,colTransferAmt); + botCol=PixelLerp(botCurrentCol,botTargetCol,colTransferAmt); + } else { + topCol=topCurrentCol=colorCycle[topTargetColInd]; + botCol=botCurrentCol=colorCycle[botTargetColInd]; + topTargetColInd=(topTargetColInd+1)%colorCycle.size(); + botTargetColInd=(topTargetColInd+1)%colorCycle.size(); + topTargetCol=colorCycle[topTargetColInd]; + botTargetCol=colorCycle[botTargetColInd]; + colTransferAmt=0; + } }break; } if (GetKey(olc::F5).bPressed) { @@ -2305,6 +2372,11 @@ void FaceBall::AddScore(int score) { } } +vf2d FaceBall::GetRandomizedSpawnPosition() +{ + return knownGoodPositions[rand()%knownGoodPositions.size()]; +} + void FaceBall::ResetScore() { score = 0; lastAwardedScore = 0; @@ -2323,7 +2395,7 @@ int FaceBall::EnemiesAlive(){ int main() { FaceBall demo; - if (demo.Construct(1280, 720, 1, 1)) + if (demo.Construct(1280, 720, 2, 2)) demo.Start(); return 0; } diff --git a/Faceball2030/main.h b/Faceball2030/main.h index e3481fd..6df59fb 100644 --- a/Faceball2030/main.h +++ b/Faceball2030/main.h @@ -156,18 +156,6 @@ struct Bullet : Object{ bool Update(float fElapsedTime); }; -enum class PowerupType { - NONE, - ARMOR, - SPEED, - SHOTS, - STOP, - SHIELD, - CAMO, - MAP, - COIN -}; - struct Powerup : Object { PowerupType type; Powerup(Mesh mesh, vec3d pos, float rot, PowerupType type); @@ -250,6 +238,7 @@ struct Enemy : public Object { bool Update(float fElapsedTime); void OnDeathEvent(); vf2d GetPlayerPosition(); + Enemy freshCopy(bool randomizeLoc=false); }; class FaceBall : public PixelGameEngine @@ -271,13 +260,15 @@ class FaceBall : public PixelGameEngine std::vectorpowerups; private: Mesh mapWalls,mapFloor,enemy_ShootMe,undefined, - enemy_Sonar, mapExit,enemy_IShoot,powerup,powerup2; + enemy_Sonar, mapExit,enemy_ShootMe2,powerup,powerup2, + enemy_IShoot; Decal* dot, * enemy_ShootMe_tex,*bullet_tex,*wall_tex,*floor_tex, - *enemy_Sonar_tex,*hud,*exit_wall_tex,*enemy_IShoot_tex, + *enemy_Sonar_tex,*hud,*exit_wall_tex,*enemy_ShootMe2_tex,*enemy_IShoot_tex, *life4,*life3,*life2,*life1,*crosshair,*hudmeter,*powerup_tex,*powerup2_tex, *powerups_tex; vi2d exitCoords = { 0,0 }; + std::vectorknownGoodPositions; std::vector>map; std::vectorobjects; GAMEMODE mode=GAMEMODE::GAME; @@ -292,6 +283,27 @@ class FaceBall : public PixelGameEngine std::string hudDisplayText = ""; float stopDuration = 0,shieldDuration=0,camoDuration=0; bool hasMapUpgrade = false; + std::arraycolorCycle={ + RED, + BLACK, + YELLOW, + WHITE, + GREEN, + WHITE, + CYAN, + BLACK, + MAGENTA, + BLACK, + GREY, + WHITE, + BLUE, + BLACK + }; + int topTargetColInd,botTargetColInd; + Pixel topTargetCol,botTargetCol; + Pixel topCurrentCol,botCurrentCol; + Pixel topCol,botCol; + float colTransferAmt=0; mat4x4 matProj; @@ -351,6 +363,7 @@ class FaceBall : public PixelGameEngine float hudShakeAmt = 0; Pixel screenCol = WHITE; float screenAlpha = 0; + float screenAlpha2 = 255.f; float respawnTimer = 0; vec3d spawnLoc = { 0,0.3,0 }; FacingDirection spawnFacingDir = FacingDirection::NORTH; @@ -417,4 +430,5 @@ class FaceBall : public PixelGameEngine bool PlayerHasCamo(); vf2d GetPlayerPos(); void AddScore(int score); + vf2d GetRandomizedSpawnPosition(); }; \ No newline at end of file