From ef8d4c3ad2eb055a37358922b6de15f7b3edfcc5 Mon Sep 17 00:00:00 2001 From: PoliEcho Date: Sat, 23 Aug 2025 15:51:45 +0200 Subject: [PATCH] add projectiles --- assets/basic_projectile.pdf | Bin 0 -> 7420 bytes assets/basic_projectile.svg | 765 ++++ misc/basic_projectile.dxf | 7770 +++++++++++++++++++++++++++++++++++ src/const.hpp | 6 +- src/macro.hpp | 3 + src/main.cpp | 118 +- src/main.hpp | 3 + src/meth.cpp | 29 + src/meth.hpp | 5 + src/projectiles.cpp | 63 + src/projectiles.hpp | 7 + src/types.hpp | 104 +- 12 files changed, 8792 insertions(+), 81 deletions(-) create mode 100644 assets/basic_projectile.pdf create mode 100644 assets/basic_projectile.svg create mode 100644 misc/basic_projectile.dxf create mode 100644 src/macro.hpp create mode 100644 src/main.hpp create mode 100644 src/meth.cpp create mode 100644 src/meth.hpp create mode 100644 src/projectiles.cpp create mode 100644 src/projectiles.hpp diff --git a/assets/basic_projectile.pdf b/assets/basic_projectile.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a6a37fb1e69c947f7ffaaeaff5b77b994ecedd31 GIT binary patch literal 7420 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 rL8&^3LZi@VBnpl~p^&)$&#CzF!D17bY + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/misc/basic_projectile.dxf b/misc/basic_projectile.dxf new file mode 100644 index 0000000..e6f99ce --- /dev/null +++ b/misc/basic_projectile.dxf @@ -0,0 +1,7770 @@ +999 +dxflib 3.26.4.0 + 0 +SECTION + 2 +HEADER + 9 +$ACADVER + 1 +AC1015 + 9 +$HANDSEED + 5 +FFFF + 9 +$DIMADEC + 70 +0 + 9 +$DIMASZ + 40 +0.125 + 9 +$DIMATFIT + 70 +0 + 9 +$DIMAUNIT + 70 +0 + 9 +$DIMAZIN + 70 +2 + 9 +$DIMBLK + 1 + + 9 +$DIMDEC + 70 +4 + 9 +$DIMDLI + 40 +0.25 + 9 +$DIMDSEP + 70 +46 + 9 +$DIMEXE + 40 +0.0625 + 9 +$DIMEXO + 40 +0.03125 + 9 +$DIMGAP + 40 +0.03125 + 9 +$DIMLFAC + 40 +1.0 + 9 +$DIMLUNIT + 70 +2 + 9 +$DIMSCALE + 40 +1.0 + 9 +$DIMTAD + 70 +1 + 9 +$DIMTIH + 70 +0 + 9 +$DIMTSZ + 40 +0.0 + 9 +$DIMTXT + 40 +0.125 + 9 +$DIMZIN + 70 +8 + 9 +$DWGCODEPAGE + 3 +ANSI_1252 + 9 +$INSUNITS + 70 +4 + 9 +$LTSCALE + 40 +1.0 + 9 +$MAXACTVP + 70 +64 + 9 +$MEASUREMENT + 70 +1 + 9 +$MIRRTEXT + 70 +0 + 9 +$PDMODE + 70 +0 + 9 +$PDSIZE + 40 +0.0 + 0 +ENDSEC + 0 +SECTION + 2 +TABLES + 0 +TABLE + 2 +VPORT + 5 +8 +100 +AcDbSymbolTable + 70 +1 + 0 +VPORT + 5 +30 +100 +AcDbSymbolTableRecord +100 +AcDbViewportTableRecord + 2 +*Active + 70 +0 + 10 +0.0 + 20 +0.0 + 11 +1.0 + 21 +1.0 + 12 +286.3055555555554861 + 22 +148.5 + 13 +0.0 + 23 +0.0 + 14 +10.0 + 24 +10.0 + 15 +10.0 + 25 +10.0 + 16 +0.0 + 26 +0.0 + 36 +1.0 + 17 +0.0 + 27 +0.0 + 37 +0.0 + 40 +297.0 + 41 +1.92798353909465 + 42 +50.0 + 43 +0.0 + 44 +0.0 + 50 +0.0 + 51 +0.0 + 71 +0 + 72 +100 + 73 +1 + 74 +3 + 75 +1 + 76 +1 + 77 +0 + 78 +0 +281 +0 + 65 +1 +110 +0.0 +120 +0.0 +130 +0.0 +111 +1.0 +121 +0.0 +131 +0.0 +112 +0.0 +122 +1.0 +132 +0.0 + 79 +0 +146 +0.0 + 0 +ENDTAB + 0 +TABLE + 2 +LTYPE + 5 +5 +100 +AcDbSymbolTable + 70 +41 + 0 +LTYPE + 5 +16 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +Continuous + 70 +0 + 3 +Solid line + 72 +65 + 73 +0 + 40 +0.0 + 0 +LTYPE + 5 +31 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +CENTER2 + 70 +0 + 3 +Center (.5x) ___ _ ___ _ ___ _ ___ _ ___ _ ___ + 72 +65 + 73 +4 + 40 +28.5750000000000028 + 49 +19.0500000000000007 + 74 +0 + 49 +-3.1749999999999998 + 74 +0 + 49 +3.1749999999999998 + 74 +0 + 49 +-3.1749999999999998 + 74 +0 + 0 +LTYPE + 5 +32 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +ACAD_ISO13W100 + 70 +0 + 3 +ISO double-dash double-dot __ __ . . __ __ . . _ + 72 +65 + 73 +8 + 40 +36.0 + 49 +12.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +12.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 0 +LTYPE + 5 +33 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +ACAD_ISO04W100 + 70 +0 + 3 +ISO long-dash dot ____ . ____ . ____ . ____ . _ + 72 +65 + 73 +4 + 40 +30.0 + 49 +24.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 0 +LTYPE + 5 +34 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +CENTERX2 + 70 +0 + 3 +Center (2x) ________ __ ________ __ _____ + 72 +65 + 73 +4 + 40 +101.6000000000000085 + 49 +63.5 + 74 +0 + 49 +-12.6999999999999993 + 74 +0 + 49 +12.6999999999999993 + 74 +0 + 49 +-12.6999999999999993 + 74 +0 + 0 +LTYPE + 5 +35 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +ACAD_ISO15W100 + 70 +0 + 3 +ISO double-dash triple-dot __ __ . . . __ __ . . + 72 +65 + 73 +10 + 40 +39.0 + 49 +12.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +12.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 0 +LTYPE + 5 +36 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +DASHED + 70 +0 + 3 +Dashed __ __ __ __ __ __ __ __ __ __ __ __ __ _ + 72 +65 + 73 +2 + 40 +19.0499999999999972 + 49 +12.6999999999999993 + 74 +0 + 49 +-6.3499999999999996 + 74 +0 + 0 +LTYPE + 5 +15 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +BYLAYER + 70 +0 + 3 + + 72 +65 + 73 +0 + 40 +0.0 + 0 +LTYPE + 5 +37 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +ACAD_ISO11W100 + 70 +0 + 3 +ISO double-dash dot __ __ . __ __ . __ __ . __ _ + 72 +65 + 73 +6 + 40 +33.0 + 49 +12.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +12.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 0 +LTYPE + 5 +38 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +DASHDOT + 70 +0 + 3 +Dash dot __ . __ . __ . __ . __ . __ . __ . __ + 72 +65 + 73 +4 + 40 +25.3999999999999986 + 49 +12.6999999999999993 + 74 +0 + 49 +-6.3499999999999996 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-6.3499999999999996 + 74 +0 + 0 +LTYPE + 5 +39 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +DOTX2 + 70 +0 + 3 +Dot (2x) . . . . . . . . . . . . . . + 72 +65 + 73 +2 + 40 +12.6999999999999993 + 49 +0.0 + 74 +0 + 49 +-12.6999999999999993 + 74 +0 + 0 +LTYPE + 5 +3A +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +PHANTOM2 + 70 +0 + 3 +Phantom (.5x) ___ _ _ ___ _ _ ___ _ _ ___ _ _ + 72 +65 + 73 +6 + 40 +31.7500000000000036 + 49 +15.875 + 74 +0 + 49 +-3.1749999999999998 + 74 +0 + 49 +3.1749999999999998 + 74 +0 + 49 +-3.1749999999999998 + 74 +0 + 49 +3.1749999999999998 + 74 +0 + 49 +-3.1749999999999998 + 74 +0 + 0 +LTYPE + 5 +3B +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +ACAD_ISO08W100 + 70 +0 + 3 +ISO long-dash short-dash ____ __ ____ __ ____ _ + 72 +65 + 73 +4 + 40 +36.0 + 49 +24.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +6.0 + 74 +0 + 49 +-3.0 + 74 +0 + 0 +LTYPE + 5 +3C +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +ACAD_ISO03W100 + 70 +0 + 3 +ISO dash space __ __ __ __ __ __ + 72 +65 + 73 +2 + 40 +30.0 + 49 +12.0 + 74 +0 + 49 +-18.0 + 74 +0 + 0 +LTYPE + 5 +3D +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +BORDERX2 + 70 +0 + 3 +Border (2x) ____ ____ . ____ ____ . ___ + 72 +65 + 73 +6 + 40 +88.8999999999999915 + 49 +25.3999999999999986 + 74 +0 + 49 +-12.6999999999999993 + 74 +0 + 49 +25.3999999999999986 + 74 +0 + 49 +-12.6999999999999993 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-12.6999999999999993 + 74 +0 + 0 +LTYPE + 5 +3E +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +HIDDEN + 70 +0 + 3 +Hidden __ __ __ __ __ __ __ __ __ __ __ __ __ __ + 72 +65 + 73 +2 + 40 +9.5249999999999986 + 49 +6.3499999999999996 + 74 +0 + 49 +-3.1749999999999998 + 74 +0 + 0 +LTYPE + 5 +3F +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +ACAD_ISO12W100 + 70 +0 + 3 +ISO dash double-dot __ . . __ . . __ . . __ . . + 72 +65 + 73 +6 + 40 +21.0 + 49 +12.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 0 +LTYPE + 5 +40 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +BORDER + 70 +0 + 3 +Border __ __ . __ __ . __ __ . __ __ . __ __ . + 72 +65 + 73 +6 + 40 +44.4499999999999957 + 49 +12.6999999999999993 + 74 +0 + 49 +-6.3499999999999996 + 74 +0 + 49 +12.6999999999999993 + 74 +0 + 49 +-6.3499999999999996 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-6.3499999999999996 + 74 +0 + 0 +LTYPE + 5 +41 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +ACAD_ISO09W100 + 70 +0 + 3 +ISO long-dash double-short-dash ____ __ __ ____ + 72 +65 + 73 +6 + 40 +45.0 + 49 +24.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +6.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +6.0 + 74 +0 + 49 +-3.0 + 74 +0 + 0 +LTYPE + 5 +42 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +ACAD_ISO14W100 + 70 +0 + 3 +ISO dash triple-dot __ . . . __ . . . __ . . . _ + 72 +65 + 73 +8 + 40 +24.0 + 49 +12.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 0 +LTYPE + 5 +43 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +DASHDOT2 + 70 +0 + 3 +Dash dot (.5x) _._._._._._._._._._._._._._._. + 72 +65 + 73 +4 + 40 +12.6999999999999993 + 49 +6.3499999999999996 + 74 +0 + 49 +-3.1749999999999998 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.1749999999999998 + 74 +0 + 0 +LTYPE + 5 +44 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +PHANTOM + 70 +0 + 3 +Phantom ______ __ __ ______ __ __ ______ + 72 +65 + 73 +6 + 40 +63.5000000000000071 + 49 +31.75 + 74 +0 + 49 +-6.3499999999999996 + 74 +0 + 49 +6.3499999999999996 + 74 +0 + 49 +-6.3499999999999996 + 74 +0 + 49 +6.3499999999999996 + 74 +0 + 49 +-6.3499999999999996 + 74 +0 + 0 +LTYPE + 5 +45 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +ACAD_ISO05W100 + 70 +0 + 3 +ISO long-dash double-dot ____ .. ____ .. ____ . + 72 +65 + 73 +6 + 40 +33.0 + 49 +24.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 0 +LTYPE + 5 +46 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +DASHED2 + 70 +0 + 3 +Dashed (.5x) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + 72 +65 + 73 +2 + 40 +9.5249999999999986 + 49 +6.3499999999999996 + 74 +0 + 49 +-3.1749999999999998 + 74 +0 + 0 +LTYPE + 5 +47 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +DIVIDE + 70 +0 + 3 +Divide ____ . . ____ . . ____ . . ____ . . ____ + 72 +65 + 73 +6 + 40 +31.75 + 49 +12.6999999999999993 + 74 +0 + 49 +-6.3499999999999996 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-6.3499999999999996 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-6.3499999999999996 + 74 +0 + 0 +LTYPE + 5 +48 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +HIDDEN2 + 70 +0 + 3 +Hidden (.5x) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + 72 +65 + 73 +2 + 40 +4.7624999999999993 + 49 +3.1749999999999998 + 74 +0 + 49 +-1.5874999999999999 + 74 +0 + 0 +LTYPE + 5 +49 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +HIDDENX2 + 70 +0 + 3 +Hidden (2x) ____ ____ ____ ____ ____ ____ ____ + 72 +65 + 73 +2 + 40 +19.0499999999999972 + 49 +12.6999999999999993 + 74 +0 + 49 +-6.3499999999999996 + 74 +0 + 0 +LTYPE + 5 +4A +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +DOT2 + 70 +0 + 3 +Dot (.5x) ........................................ + 72 +65 + 73 +2 + 40 +3.1749999999999998 + 49 +0.0 + 74 +0 + 49 +-3.1749999999999998 + 74 +0 + 0 +LTYPE + 5 +4B +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +DOT + 70 +0 + 3 +Dot . . . . . . . . . . . . . . . . . . . . . . . . + 72 +65 + 73 +2 + 40 +6.3499999999999996 + 49 +0.0 + 74 +0 + 49 +-6.3499999999999996 + 74 +0 + 0 +LTYPE + 5 +4C +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +DASHEDX2 + 70 +0 + 3 +Dashed (2x) ____ ____ ____ ____ ____ ___ + 72 +65 + 73 +2 + 40 +38.0999999999999943 + 49 +25.3999999999999986 + 74 +0 + 49 +-12.6999999999999993 + 74 +0 + 0 +LTYPE + 5 +4D +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +ACAD_ISO10W100 + 70 +0 + 3 +ISO dash dot __ . __ . __ . __ . __ . __ . __ . + 72 +65 + 73 +4 + 40 +18.0 + 49 +12.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 0 +LTYPE + 5 +4E +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +ACAD_ISO07W100 + 70 +0 + 3 +ISO dot . . . . . . . . . . . . . . . . . . . . + 72 +65 + 73 +2 + 40 +3.0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 0 +LTYPE + 5 +4F +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +DASHDOTX2 + 70 +0 + 3 +Dash dot (2x) ____ . ____ . ____ . ___ + 72 +65 + 73 +4 + 40 +50.7999999999999972 + 49 +25.3999999999999986 + 74 +0 + 49 +-12.6999999999999993 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-12.6999999999999993 + 74 +0 + 0 +LTYPE + 5 +50 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +PHANTOMX2 + 70 +0 + 3 +Phantom (2x) ____________ ____ ____ _ + 72 +65 + 73 +6 + 40 +127.0000000000000142 + 49 +63.5 + 74 +0 + 49 +-12.6999999999999993 + 74 +0 + 49 +12.6999999999999993 + 74 +0 + 49 +-12.6999999999999993 + 74 +0 + 49 +12.6999999999999993 + 74 +0 + 49 +-12.6999999999999993 + 74 +0 + 0 +LTYPE + 5 +51 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +DIVIDEX2 + 70 +0 + 3 +Divide (2x) ________ . . ________ . . _ + 72 +65 + 73 +6 + 40 +63.5 + 49 +25.3999999999999986 + 74 +0 + 49 +-12.6999999999999993 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-12.6999999999999993 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-12.6999999999999993 + 74 +0 + 0 +LTYPE + 5 +52 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +BORDER2 + 70 +0 + 3 +Border (.5x) __.__.__.__.__.__.__.__.__.__.__. + 72 +65 + 73 +6 + 40 +22.2249999999999979 + 49 +6.3499999999999996 + 74 +0 + 49 +-3.1749999999999998 + 74 +0 + 49 +6.3499999999999996 + 74 +0 + 49 +-3.1749999999999998 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.1749999999999998 + 74 +0 + 0 +LTYPE + 5 +53 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +ACAD_ISO02W100 + 70 +0 + 3 +ISO dash __ __ __ __ __ __ __ __ __ __ __ __ __ + 72 +65 + 73 +2 + 40 +15.0 + 49 +12.0 + 74 +0 + 49 +-3.0 + 74 +0 + 0 +LTYPE + 5 +54 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +CENTER + 70 +0 + 3 +Center ____ _ ____ _ ____ _ ____ _ ____ _ ____ + 72 +65 + 73 +4 + 40 +50.8000000000000043 + 49 +31.75 + 74 +0 + 49 +-6.3499999999999996 + 74 +0 + 49 +6.3499999999999996 + 74 +0 + 49 +-6.3499999999999996 + 74 +0 + 0 +LTYPE + 5 +55 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +ACAD_ISO06W100 + 70 +0 + 3 +ISO long-dash triple-dot ____ ... ____ ... ____ + 72 +65 + 73 +8 + 40 +36.0 + 49 +24.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.0 + 74 +0 + 0 +LTYPE + 5 +14 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +BYBLOCK + 70 +0 + 3 + + 72 +65 + 73 +0 + 40 +0.0 + 0 +LTYPE + 5 +56 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +DIVIDE2 + 70 +0 + 3 +Divide (.5x) __..__..__..__..__..__..__..__.._ + 72 +65 + 73 +6 + 40 +15.875 + 49 +6.3499999999999996 + 74 +0 + 49 +-3.1749999999999998 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.1749999999999998 + 74 +0 + 49 +0.0 + 74 +0 + 49 +-3.1749999999999998 + 74 +0 + 0 +ENDTAB + 0 +TABLE + 2 +LAYER + 5 +2 +100 +AcDbSymbolTable + 70 +1 + 0 +LAYER + 5 +10 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +0 + 70 +0 + 62 +7 +420 +16777215 + 6 +Continuous +370 +13 +390 +F + 0 +ENDTAB + 0 +TABLE + 2 +STYLE + 5 +3 +100 +AcDbSymbolTable + 70 +1 + 0 +STYLE + 5 +57 +100 +AcDbSymbolTableRecord +100 +AcDbTextStyleTableRecord + 2 +Standard + 70 +0 + 40 +0.0 + 41 +1.0 + 50 +0.0 + 71 +0 + 42 +2.5 + 3 + + 4 + +1001 +ACAD +1000 +txt +1071 +0 + 0 +ENDTAB + 0 +TABLE + 2 +VIEW + 5 +6 +100 +AcDbSymbolTable + 70 +0 + 0 +ENDTAB + 0 +TABLE + 2 +UCS + 5 +7 +100 +AcDbSymbolTable + 70 +0 + 0 +ENDTAB + 0 +TABLE + 2 +APPID + 5 +9 +100 +AcDbSymbolTable + 70 +1 + 0 +APPID + 5 +12 +100 +AcDbSymbolTableRecord +100 +AcDbRegAppTableRecord + 2 +ACAD + 70 +0 + 0 +APPID + 5 +58 +100 +AcDbSymbolTableRecord +100 +AcDbRegAppTableRecord + 2 +QCAD + 70 +0 + 0 +ENDTAB + 0 +TABLE + 2 +DIMSTYLE + 5 +A +100 +AcDbSymbolTable + 70 +1 +100 +AcDbDimStyleTable + 71 +0 + 0 +DIMSTYLE +105 +27 +100 +AcDbSymbolTableRecord +100 +AcDbDimStyleTableRecord + 2 +Standard + 41 +0.125 + 42 +0.03125 + 43 +3.75 + 44 +0.0625 + 70 +0 + 73 +0 + 74 +0 + 77 +1 + 78 +8 +140 +0.125 +141 +2.5 +143 +0.03937007874016 +147 +0.03125 +171 +3 +172 +1 +271 +2 +272 +2 +274 +3 +278 +44 +283 +0 +284 +8 +340 +57 + 0 +ENDTAB + 0 +TABLE + 2 +BLOCK_RECORD + 5 +1 +100 +AcDbSymbolTable + 70 +1 + 0 +BLOCK_RECORD + 5 +1F +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*Model_Space +340 +22 + 0 +BLOCK_RECORD + 5 +1B +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*Paper_Space +340 +1E + 0 +BLOCK_RECORD + 5 +23 +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*Paper_Space0 +340 +26 + 0 +ENDTAB + 0 +ENDSEC + 0 +SECTION + 2 +BLOCKS + 0 +BLOCK + 5 +20 +100 +AcDbEntity + 8 +0 +100 +AcDbBlockBegin + 2 +*Model_Space + 70 +0 + 10 +0.0 + 20 +0.0 + 30 +0.0 + 3 +*Model_Space + 1 + + 0 +ENDBLK + 5 +21 +100 +AcDbEntity + 8 +0 +100 +AcDbBlockEnd + 0 +BLOCK + 5 +1C +100 +AcDbEntity + 67 +1 + 8 +0 +100 +AcDbBlockBegin + 2 +*Paper_Space + 70 +0 + 10 +0.0 + 20 +0.0 + 30 +0.0 + 3 +*Paper_Space + 1 + + 0 +ENDBLK + 5 +1D +100 +AcDbEntity + 67 +1 + 8 +0 +100 +AcDbBlockEnd + 0 +BLOCK + 5 +24 +100 +AcDbEntity + 8 +0 +100 +AcDbBlockBegin + 2 +*Paper_Space0 + 70 +0 + 10 +0.0 + 20 +0.0 + 30 +0.0 + 3 +*Paper_Space0 + 1 + + 0 +ENDBLK + 5 +25 +100 +AcDbEntity + 8 +0 +100 +AcDbBlockEnd + 0 +ENDSEC + 0 +SECTION + 2 +ENTITIES + 0 +CIRCLE + 5 +59 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbCircle + 10 +5.0 + 20 +4.9999999999999991 + 30 +0.0 + 40 +5.0 + 0 +LINE + 5 +5A +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +1.0908425876598504 + 20 +8.1174490092936686 + 30 +0.0 + 11 +0.1253604390908807 + 21 +3.8873953302184274 + 31 +0.0 + 0 +LINE + 5 +5B +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +0.1253604390908807 + 20 +3.8873953302184274 + 30 +0.0 + 11 +2.8305813044122083 + 21 +0.495155660487903 + 31 +0.0 + 0 +LINE + 5 +5C +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +2.8305813044122083 + 20 +0.495155660487903 + 30 +0.0 + 11 +7.1694186955877903 + 21 +0.4951556604879022 + 31 +0.0 + 0 +LINE + 5 +5D +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +7.1694186955877903 + 20 +0.4951556604879022 + 30 +0.0 + 11 +9.8746395609091184 + 21 +3.8873953302184256 + 31 +0.0 + 0 +LINE + 5 +5E +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +9.8746395609091184 + 20 +3.8873953302184256 + 30 +0.0 + 11 +8.90915741234015 + 21 +8.1174490092936669 + 31 +0.0 + 0 +LINE + 5 +5F +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +8.90915741234015 + 20 +8.1174490092936669 + 30 +0.0 + 11 +5.0000000000000018 + 21 +10.0 + 31 +0.0 + 0 +LINE + 5 +60 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.0000000000000018 + 20 +10.0 + 30 +0.0 + 11 +1.0908425876598504 + 21 +8.1174490092936686 + 31 +0.0 + 0 +LINE + 5 +61 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.954578706170075 + 20 +9.0587245046468325 + 30 +0.0 + 11 +3.0454212938299259 + 21 +9.0587245046468325 + 31 +0.0 + 0 +LINE + 5 +62 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.0454212938299259 + 20 +9.0587245046468325 + 30 +0.0 + 11 +0.6081015133753667 + 21 +6.0024221697560476 + 31 +0.0 + 0 +LINE + 5 +63 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +0.6081015133753667 + 20 +6.0024221697560476 + 30 +0.0 + 11 +1.4779708717515456 + 21 +2.1912754953531661 + 31 +0.0 + 0 +LINE + 5 +64 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +1.4779708717515456 + 20 +2.1912754953531661 + 30 +0.0 + 11 +4.9999999999999991 + 21 +0.4951556604879039 + 31 +0.0 + 0 +LINE + 5 +65 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.9999999999999991 + 20 +0.4951556604879039 + 30 +0.0 + 11 +8.5220291282484535 + 21 +2.1912754953531648 + 31 +0.0 + 0 +LINE + 5 +66 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +8.5220291282484535 + 20 +2.1912754953531648 + 30 +0.0 + 11 +9.3918984866246333 + 21 +6.0024221697560458 + 31 +0.0 + 0 +LINE + 5 +67 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +9.3918984866246333 + 20 +6.0024221697560458 + 30 +0.0 + 11 +6.954578706170075 + 21 +9.0587245046468325 + 31 +0.0 + 0 +LINE + 5 +68 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.0 + 20 +9.0587245046468325 + 30 +0.0 + 11 +1.8267614036026463 + 21 +7.5305733372014405 + 31 +0.0 + 0 +LINE + 5 +69 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +1.8267614036026463 + 20 +7.5305733372014405 + 30 +0.0 + 11 +1.0430361925634566 + 21 +4.0968488325546071 + 31 +0.0 + 0 +LINE + 5 +6A +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +1.0430361925634566 + 20 +4.0968488325546071 + 30 +0.0 + 11 +3.2389854358757724 + 21 +1.3432155779205353 + 31 +0.0 + 0 +LINE + 5 +6B +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.2389854358757724 + 20 +1.3432155779205353 + 30 +0.0 + 11 +6.7610145641242259 + 21 +1.3432155779205344 + 31 +0.0 + 0 +LINE + 5 +6C +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.7610145641242259 + 20 +1.3432155779205344 + 30 +0.0 + 11 +8.9569638074365425 + 21 +4.0968488325546053 + 31 +0.0 + 0 +LINE + 5 +6D +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +8.9569638074365425 + 20 +4.0968488325546053 + 30 +0.0 + 11 +8.1732385963973542 + 21 +7.5305733372014387 + 31 +0.0 + 0 +LINE + 5 +6E +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +8.1732385963973542 + 20 +7.5305733372014387 + 30 +0.0 + 11 +5.0 + 21 +9.0587245046468325 + 31 +0.0 + 0 +LINE + 5 +6F +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.4133807018013234 + 20 +8.2946489209241356 + 30 +0.0 + 11 +1.4348987980830512 + 21 +5.8137110848780233 + 31 +0.0 + 0 +LINE + 5 +70 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +1.4348987980830512 + 20 +5.8137110848780233 + 30 +0.0 + 11 +2.1410108142196145 + 21 +2.7200322052375712 + 31 +0.0 + 0 +LINE + 5 +71 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +2.1410108142196145 + 20 +2.7200322052375712 + 30 +0.0 + 11 +4.9999999999999991 + 21 +1.3432155779205348 + 31 +0.0 + 0 +LINE + 5 +72 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.9999999999999991 + 20 +1.3432155779205348 + 30 +0.0 + 11 +7.8589891857803842 + 21 +2.7200322052375698 + 31 +0.0 + 0 +LINE + 5 +73 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +7.8589891857803842 + 20 +2.7200322052375698 + 30 +0.0 + 11 +8.5651012019169492 + 21 +5.8137110848780225 + 31 +0.0 + 0 +LINE + 5 +74 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +8.5651012019169492 + 20 +5.8137110848780225 + 30 +0.0 + 11 +6.586619298198678 + 21 +8.2946489209241356 + 31 +0.0 + 0 +LINE + 5 +75 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.586619298198678 + 20 +8.2946489209241356 + 30 +0.0 + 11 +3.4133807018013234 + 21 +8.2946489209241356 + 31 +0.0 + 0 +LINE + 5 +76 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.0 + 20 +8.2946489209241356 + 30 +0.0 + 11 +2.4241397499421873 + 21 +7.0541800029010799 + 31 +0.0 + 0 +LINE + 5 +77 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +2.4241397499421873 + 20 +7.0541800029010799 + 30 +0.0 + 11 +1.7879548061513328 + 21 +4.2668716450577975 + 31 +0.0 + 0 +LINE + 5 +78 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +1.7879548061513328 + 20 +4.2668716450577975 + 30 +0.0 + 11 +3.570505407109807 + 21 +2.031623891579053 + 31 +0.0 + 0 +LINE + 5 +79 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.570505407109807 + 20 +2.031623891579053 + 30 +0.0 + 11 +6.4294945928901921 + 21 +2.0316238915790521 + 31 +0.0 + 0 +LINE + 5 +7A +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.4294945928901921 + 20 +2.0316238915790521 + 30 +0.0 + 11 +8.2120451938486667 + 21 +4.2668716450577957 + 31 +0.0 + 0 +LINE + 5 +7B +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +8.2120451938486667 + 20 +4.2668716450577957 + 30 +0.0 + 11 +7.5758602500578132 + 21 +7.054180002901079 + 31 +0.0 + 0 +LINE + 5 +7C +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +7.5758602500578132 + 20 +7.054180002901079 + 30 +0.0 + 11 +5.0 + 21 +8.2946489209241356 + 31 +0.0 + 0 +LINE + 5 +7D +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +7.3207698933694294 + 20 +3.1492477683184239 + 30 +0.0 + 11 +7.8939527219532399 + 21 +5.6605258239794374 + 31 +0.0 + 0 +LINE + 5 +7E +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +7.8939527219532399 + 20 +5.6605258239794374 + 30 +0.0 + 11 +6.2879301250289075 + 21 +7.6744144619126082 + 31 +0.0 + 0 +LINE + 5 +7F +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.2879301250289075 + 20 +7.6744144619126082 + 30 +0.0 + 11 +3.7120698749710943 + 21 +7.6744144619126082 + 31 +0.0 + 0 +LINE + 5 +80 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.7120698749710943 + 20 +7.6744144619126082 + 30 +0.0 + 11 +2.1060472780467605 + 21 +5.6605258239794392 + 31 +0.0 + 0 +LINE + 5 +81 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +2.1060472780467605 + 20 +5.6605258239794392 + 30 +0.0 + 11 +2.6792301066305697 + 21 +3.1492477683184257 + 31 +0.0 + 0 +LINE + 5 +82 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +2.6792301066305697 + 20 +3.1492477683184257 + 30 +0.0 + 11 +4.9999999999999991 + 21 +2.0316238915790525 + 31 +0.0 + 0 +LINE + 5 +83 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.9999999999999991 + 20 +2.0316238915790525 + 30 +0.0 + 11 +7.3207698933694294 + 21 +3.1492477683184239 + 31 +0.0 + 0 +LINE + 5 +84 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +2.9090585765089267 + 20 +6.6674701429460237 + 30 +0.0 + 11 +2.3926386923386649 + 21 +4.404886796148932 + 31 +0.0 + 0 +LINE + 5 +85 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +2.3926386923386649 + 20 +4.404886796148932 + 30 +0.0 + 11 +3.8396150533152844 + 21 +2.5904358299487384 + 31 +0.0 + 0 +LINE + 5 +86 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.8396150533152844 + 20 +2.5904358299487384 + 30 +0.0 + 11 +6.1603849466847151 + 21 +2.590435829948738 + 31 +0.0 + 0 +LINE + 5 +87 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.1603849466847151 + 20 +2.590435829948738 + 30 +0.0 + 11 +7.6073613076613356 + 21 +4.4048867961489311 + 31 +0.0 + 0 +LINE + 5 +88 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +7.6073613076613356 + 20 +4.4048867961489311 + 30 +0.0 + 11 +7.0909414234910741 + 21 +6.6674701429460228 + 31 +0.0 + 0 +LINE + 5 +89 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +7.0909414234910741 + 20 +6.6674701429460228 + 30 +0.0 + 11 +5.0000000000000009 + 21 +7.6744144619126082 + 31 +0.0 + 0 +LINE + 5 +8A +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.0000000000000009 + 20 +7.6744144619126082 + 30 +0.0 + 11 +2.9090585765089267 + 21 +6.6674701429460237 + 31 +0.0 + 0 +LINE + 5 +8B +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.045470711745538 + 20 +7.1709423024293155 + 30 +0.0 + 11 +3.9545292882544643 + 21 +7.1709423024293164 + 31 +0.0 + 0 +LINE + 5 +8C +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.9545292882544643 + 20 +7.1709423024293164 + 30 +0.0 + 11 +2.6508486344237956 + 21 +5.5361784695474787 + 31 +0.0 + 0 +LINE + 5 +8D +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +2.6508486344237956 + 20 +5.5361784695474787 + 30 +0.0 + 11 +3.1161268728269738 + 21 +3.4976613130488357 + 31 +0.0 + 0 +LINE + 5 +8E +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.1161268728269738 + 20 +3.4976613130488357 + 30 +0.0 + 11 +4.9999999999999973 + 21 +2.590435829948738 + 31 +0.0 + 0 +LINE + 5 +8F +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.9999999999999973 + 20 +2.590435829948738 + 30 +0.0 + 11 +6.8838731271730236 + 21 +3.4976613130488325 + 31 +0.0 + 0 +LINE + 5 +90 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.8838731271730236 + 20 +3.4976613130488325 + 30 +0.0 + 11 +7.3491513655762049 + 21 +5.5361784695474743 + 31 +0.0 + 0 +LINE + 5 +91 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +7.3491513655762049 + 20 +5.5361784695474743 + 30 +0.0 + 11 +6.045470711745538 + 21 +7.1709423024293155 + 31 +0.0 + 0 +LINE + 5 +92 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.6973110386608736 + 20 +6.3535603859883931 + 30 +0.0 + 11 +5.0000000000000044 + 21 +7.1709423024293155 + 31 +0.0 + 0 +LINE + 5 +93 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.0000000000000044 + 20 +7.1709423024293155 + 30 +0.0 + 11 +3.3026889613391321 + 21 +6.3535603859884002 + 31 +0.0 + 0 +LINE + 5 +94 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.3026889613391321 + 20 +6.3535603859884002 + 30 +0.0 + 11 +2.883487753625384 + 21 +4.5169198912981603 + 31 +0.0 + 0 +LINE + 5 +95 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +2.883487753625384 + 20 +4.5169198912981603 + 30 +0.0 + 11 +4.0580634364134829 + 21 +3.0440485714987884 + 31 +0.0 + 0 +LINE + 5 +96 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.0580634364134829 + 20 +3.0440485714987884 + 30 +0.0 + 11 +5.9419365635865082 + 21 +3.0440485714987844 + 31 +0.0 + 0 +LINE + 5 +97 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.9419365635865082 + 20 +3.0440485714987844 + 30 +0.0 + 11 +7.1165122463746133 + 21 +4.5169198912981514 + 31 +0.0 + 0 +LINE + 5 +98 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +7.1165122463746133 + 20 +4.5169198912981514 + 30 +0.0 + 11 +6.6973110386608736 + 21 +6.3535603859883931 + 31 +0.0 + 0 +LINE + 5 +99 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.1513444806695681 + 20 +6.7622513442088579 + 30 +0.0 + 11 +3.0930883574822579 + 21 +5.4352401386432803 + 31 +0.0 + 0 +LINE + 5 +9A +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.0930883574822579 + 20 +5.4352401386432803 + 30 +0.0 + 11 +3.4707755950194339 + 21 +3.7804842313984741 + 31 +0.0 + 0 +LINE + 5 +9B +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.4707755950194339 + 20 +3.7804842313984741 + 30 +0.0 + 11 +4.9999999999999964 + 21 +3.0440485714987862 + 31 +0.0 + 0 +LINE + 5 +9C +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.9999999999999964 + 20 +3.0440485714987862 + 30 +0.0 + 11 +6.5292244049805612 + 21 +3.7804842313984683 + 31 +0.0 + 0 +LINE + 5 +9D +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.5292244049805612 + 20 +3.7804842313984683 + 30 +0.0 + 11 +6.9069116425177439 + 21 +5.4352401386432723 + 31 +0.0 + 0 +LINE + 5 +9E +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.9069116425177439 + 20 +5.4352401386432723 + 30 +0.0 + 11 +5.848655519330439 + 21 +6.7622513442088543 + 31 +0.0 + 0 +LINE + 5 +9F +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.848655519330439 + 20 +6.7622513442088543 + 30 +0.0 + 11 +4.1513444806695681 + 21 +6.7622513442088579 + 31 +0.0 + 0 +LINE + 5 +A0 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.0000000000000044 + 20 +6.7622513442088561 + 30 +0.0 + 11 +3.6222164190759139 + 21 +6.09874574142607 + 31 +0.0 + 0 +LINE + 5 +A1 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.6222164190759139 + 20 +6.09874574142607 + 30 +0.0 + 11 +3.2819319762508457 + 21 +4.6078621850208785 + 31 +0.0 + 0 +LINE + 5 +A2 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.2819319762508457 + 20 +4.6078621850208785 + 30 +0.0 + 11 +4.2353877975097136 + 21 +3.4122664014486306 + 31 +0.0 + 0 +LINE + 5 +A3 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.2353877975097136 + 20 +3.4122664014486306 + 30 +0.0 + 11 +5.7646122024902775 + 21 +3.4122664014486266 + 31 +0.0 + 0 +LINE + 5 +A4 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.7646122024902775 + 20 +3.4122664014486266 + 30 +0.0 + 11 +6.7180680237491526 + 21 +4.6078621850208688 + 31 +0.0 + 0 +LINE + 5 +A5 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.7180680237491526 + 20 +4.6078621850208688 + 30 +0.0 + 11 +6.3777835809240919 + 21 +6.0987457414260628 + 31 +0.0 + 0 +LINE + 5 +A6 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.3777835809240919 + 20 +6.0987457414260628 + 30 +0.0 + 11 +5.0000000000000044 + 21 +6.7622513442088561 + 31 +0.0 + 0 +LINE + 5 +A7 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.5479258023366231 + 20 +5.3533039632234658 + 30 +0.0 + 11 +5.6888917904620495 + 21 +6.4304985428174595 + 31 +0.0 + 0 +LINE + 5 +A8 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.6888917904620495 + 20 +6.4304985428174595 + 30 +0.0 + 11 +4.3111082095379585 + 21 +6.430498542817463 + 31 +0.0 + 0 +LINE + 5 +A9 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.3111082095379585 + 20 +6.430498542817463 + 30 +0.0 + 11 +3.4520741976633786 + 21 +5.3533039632234738 + 31 +0.0 + 0 +LINE + 5 +AA +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.4520741976633786 + 20 +5.3533039632234738 + 30 +0.0 + 11 +3.7586598868802801 + 21 +4.0100642932347537 + 31 +0.0 + 0 +LINE + 5 +AB +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.7586598868802801 + 20 +4.0100642932347537 + 30 +0.0 + 11 +4.9999999999999964 + 21 +3.4122664014486279 + 31 +0.0 + 0 +LINE + 5 +AC +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.9999999999999964 + 20 +3.4122664014486279 + 30 +0.0 + 11 +6.2413401131197155 + 21 +4.0100642932347483 + 31 +0.0 + 0 +LINE + 5 +AD +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.2413401131197155 + 20 +4.0100642932347483 + 30 +0.0 + 11 +6.5479258023366231 + 21 +5.3533039632234658 + 31 +0.0 + 0 +LINE + 5 +AE +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.3946329577281684 + 20 +4.6816841282291062 + 30 +0.0 + 11 +6.1184087963993363 + 21 +5.8919012530204622 + 31 +0.0 + 0 +LINE + 5 +AF +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.1184087963993363 + 20 +5.8919012530204622 + 30 +0.0 + 11 +5.0000000000000044 + 21 +6.4304985428174621 + 31 +0.0 + 0 +LINE + 5 +B0 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.0000000000000044 + 20 +6.4304985428174621 + 30 +0.0 + 11 +3.881591203600669 + 21 +5.8919012530204684 + 31 +0.0 + 0 +LINE + 5 +B1 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.881591203600669 + 20 +5.8919012530204684 + 30 +0.0 + 11 +3.6053670422718298 + 21 +4.6816841282291133 + 31 +0.0 + 0 +LINE + 5 +B2 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.6053670422718298 + 20 +4.6816841282291133 + 30 +0.0 + 11 +4.3793299434401378 + 21 +3.7111653473416908 + 31 +0.0 + 0 +LINE + 5 +B3 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.3793299434401378 + 20 +3.7111653473416908 + 30 +0.0 + 11 +5.620670056559856 + 21 +3.7111653473416881 + 31 +0.0 + 0 +LINE + 5 +B4 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.620670056559856 + 20 +3.7111653473416881 + 30 +0.0 + 11 +6.3946329577281684 + 21 +4.6816841282291062 + 31 +0.0 + 0 +LINE + 5 +B5 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.5592043981996699 + 20 +6.1611998979189622 + 30 +0.0 + 11 +4.4407956018003372 + 21 +6.1611998979189657 + 31 +0.0 + 0 +LINE + 5 +B6 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.4407956018003372 + 20 +6.1611998979189657 + 30 +0.0 + 11 +3.7434791229362494 + 21 +5.2867926906247922 + 31 +0.0 + 0 +LINE + 5 +B7 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.7434791229362494 + 20 +5.2867926906247922 + 30 +0.0 + 11 +3.9923484928559834 + 21 +4.1964247377854038 + 31 +0.0 + 0 +LINE + 5 +B8 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.9923484928559834 + 20 +4.1964247377854038 + 30 +0.0 + 11 +4.9999999999999964 + 21 +3.7111653473416899 + 31 +0.0 + 0 +LINE + 5 +B9 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.9999999999999964 + 20 +3.7111653473416899 + 30 +0.0 + 11 +6.0076515071440122 + 21 +4.1964247377853976 + 31 +0.0 + 0 +LINE + 5 +BA +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.0076515071440122 + 20 +4.1964247377853976 + 30 +0.0 + 11 +6.2565208770637524 + 21 +5.2867926906247842 + 31 +0.0 + 0 +LINE + 5 +BB +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.2565208770637524 + 20 +5.2867926906247842 + 30 +0.0 + 11 +5.5592043981996699 + 21 +6.1611998979189622 + 31 +0.0 + 0 +LINE + 5 +BC +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.496174246427989 + 20 +3.9537950425635469 + 30 +0.0 + 11 +5.503825753572003 + 21 +3.9537950425635433 + 31 +0.0 + 0 +LINE + 5 +BD +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.503825753572003 + 20 +3.9537950425635433 + 30 +0.0 + 11 +6.1320861921038823 + 21 +4.74160871420509 + 31 +0.0 + 0 +LINE + 5 +BE +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.1320861921038823 + 20 +4.74160871420509 + 30 +0.0 + 11 +5.9078626376317116 + 21 +5.7239962942718723 + 31 +0.0 + 0 +LINE + 5 +BF +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.9078626376317116 + 20 +5.7239962942718723 + 30 +0.0 + 11 +5.0000000000000044 + 21 +6.1611998979189639 + 31 +0.0 + 0 +LINE + 5 +C0 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.0000000000000044 + 20 +6.1611998979189639 + 30 +0.0 + 11 +4.0921373623682937 + 21 +5.7239962942718794 + 31 +0.0 + 0 +LINE + 5 +C1 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.0921373623682937 + 20 +5.7239962942718794 + 30 +0.0 + 11 +3.8679138078961159 + 21 +4.7416087142050989 + 31 +0.0 + 0 +LINE + 5 +C2 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.8679138078961159 + 20 +4.7416087142050989 + 30 +0.0 + 11 +4.496174246427989 + 21 +3.9537950425635469 + 31 +0.0 + 0 +LINE + 5 +C3 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.9999999999999964 + 20 +3.9537950425635446 + 30 +0.0 + 11 +5.8179559728379431 + 21 +4.3477018783843162 + 31 +0.0 + 0 +LINE + 5 +C4 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.8179559728379431 + 20 +4.3477018783843162 + 30 +0.0 + 11 +6.0199744148677974 + 21 +5.2328025042384816 + 31 +0.0 + 0 +LINE + 5 +C5 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +6.0199744148677974 + 20 +5.2328025042384816 + 30 +0.0 + 11 +5.453931318815858 + 21 +5.9425980960954181 + 31 +0.0 + 0 +LINE + 5 +C6 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.453931318815858 + 20 +5.9425980960954181 + 30 +0.0 + 11 +4.5460686811841491 + 21 +5.9425980960954217 + 31 +0.0 + 0 +LINE + 5 +C7 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.5460686811841491 + 20 +5.9425980960954217 + 30 +0.0 + 11 +3.9800255851322044 + 21 +5.2328025042384887 + 31 +0.0 + 0 +LINE + 5 +C8 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +3.9800255851322044 + 20 +5.2328025042384887 + 30 +0.0 + 11 +4.1820440271620525 + 21 +4.3477018783843224 + 31 +0.0 + 0 +LINE + 5 +C9 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.1820440271620525 + 20 +4.3477018783843224 + 30 +0.0 + 11 +4.9999999999999964 + 21 +3.9537950425635446 + 31 +0.0 + 0 +LINE + 5 +CA +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.591022013581024 + 20 +4.1507484604739338 + 30 +0.0 + 11 +5.4089779864189698 + 21 +4.1507484604739302 + 31 +0.0 + 0 +LINE + 5 +CB +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.4089779864189698 + 20 +4.1507484604739302 + 30 +0.0 + 11 +5.9189651938528698 + 21 +4.7902521913113985 + 31 +0.0 + 0 +LINE + 5 +CC +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.9189651938528698 + 20 +4.7902521913113985 + 30 +0.0 + 11 +5.7369528668418281 + 21 +5.5877003001669499 + 31 +0.0 + 0 +LINE + 5 +CD +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.7369528668418281 + 20 +5.5877003001669499 + 30 +0.0 + 11 +5.0000000000000036 + 21 +5.9425980960954199 + 31 +0.0 + 0 +LINE + 5 +CE +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.0000000000000036 + 20 +5.9425980960954199 + 30 +0.0 + 11 +4.2630471331581772 + 21 +5.5877003001669561 + 31 +0.0 + 0 +LINE + 5 +CF +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.2630471331581772 + 20 +5.5877003001669561 + 30 +0.0 + 11 +4.0810348061471284 + 21 +4.7902521913114056 + 31 +0.0 + 0 +LINE + 5 +D0 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.0810348061471284 + 20 +4.7902521913114056 + 30 +0.0 + 11 +4.591022013581024 + 21 +4.1507484604739338 + 31 +0.0 + 0 +LINE + 5 +D1 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.1720409696526533 + 20 +5.1889762457391813 + 30 +0.0 + 11 +4.3360284098640758 + 21 +4.4705003258926705 + 31 +0.0 + 0 +LINE + 5 +D2 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.3360284098640758 + 20 +4.4705003258926705 + 30 +0.0 + 11 +4.9999999999999964 + 21 +4.150748460473932 + 31 +0.0 + 0 +LINE + 5 +D3 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.9999999999999964 + 20 +4.150748460473932 + 30 +0.0 + 11 +5.6639715901359189 + 21 +4.4705003258926643 + 31 +0.0 + 0 +LINE + 5 +D4 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.6639715901359189 + 20 +4.4705003258926643 + 30 +0.0 + 11 +5.8279590303473485 + 21 +5.1889762457391733 + 31 +0.0 + 0 +LINE + 5 +D5 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.8279590303473485 + 20 +5.1889762457391733 + 30 +0.0 + 11 +5.3684764334209163 + 21 +5.7651491981311844 + 31 +0.0 + 0 +LINE + 5 +D6 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.3684764334209163 + 20 +5.7651491981311844 + 30 +0.0 + 11 +4.6315235665790917 + 21 +5.765149198131188 + 31 +0.0 + 0 +LINE + 5 +D7 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.6315235665790917 + 20 +5.765149198131188 + 30 +0.0 + 11 +4.1720409696526533 + 21 +5.1889762457391813 + 31 +0.0 + 0 +LINE + 5 +D8 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.0000000000000036 + 20 +5.7651491981311853 + 30 +0.0 + 11 +4.4017822681158725 + 21 +5.4770627219351846 + 31 +0.0 + 0 +LINE + 5 +D9 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.4017822681158725 + 20 +5.4770627219351846 + 30 +0.0 + 11 +4.254034689758365 + 21 +4.8297382858159263 + 31 +0.0 + 0 +LINE + 5 +DA +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.254034689758365 + 20 +4.8297382858159263 + 30 +0.0 + 11 +4.6680142049320361 + 21 +4.3106243931833017 + 31 +0.0 + 0 +LINE + 5 +DB +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.6680142049320361 + 20 +4.3106243931833017 + 30 +0.0 + 11 +5.3319857950679577 + 21 +4.310624393183299 + 31 +0.0 + 0 +LINE + 5 +DC +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.3319857950679577 + 20 +4.310624393183299 + 30 +0.0 + 11 +5.7459653102416333 + 21 +4.8297382858159192 + 31 +0.0 + 0 +LINE + 5 +DD +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.7459653102416333 + 20 +4.8297382858159192 + 30 +0.0 + 11 +5.598217731884132 + 21 +5.4770627219351784 + 31 +0.0 + 0 +LINE + 5 +DE +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.598217731884132 + 20 +5.4770627219351784 + 30 +0.0 + 11 +5.0000000000000036 + 21 +5.7651491981311853 + 31 +0.0 + 0 +LINE + 5 +DF +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.2991088659420678 + 20 +5.6211059600331819 + 30 +0.0 + 11 +4.7008911340579376 + 21 +5.6211059600331845 + 31 +0.0 + 0 +LINE + 5 +E0 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.7008911340579376 + 20 +5.6211059600331845 + 30 +0.0 + 11 +4.3279084789371183 + 21 +5.153400503875555 + 31 +0.0 + 0 +LINE + 5 +E1 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.3279084789371183 + 20 +5.153400503875555 + 30 +0.0 + 11 +4.461024447345201 + 21 +4.570181339499614 + 31 +0.0 + 0 +LINE + 5 +E2 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.461024447345201 + 20 +4.570181339499614 + 30 +0.0 + 11 +4.9999999999999964 + 21 +4.3106243931832999 + 31 +0.0 + 0 +LINE + 5 +E3 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +4.9999999999999964 + 20 +4.3106243931832999 + 30 +0.0 + 11 +5.5389755526547955 + 21 +4.5701813394996087 + 31 +0.0 + 0 +LINE + 5 +E4 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.5389755526547955 + 20 +4.5701813394996087 + 30 +0.0 + 11 +5.6720915210628826 + 21 +5.1534005038755488 + 31 +0.0 + 0 +LINE + 5 +E5 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbLine + 10 +5.6720915210628826 + 20 +5.1534005038755488 + 30 +0.0 + 11 +5.2991088659420678 + 21 +5.6211059600331819 + 31 +0.0 + 0 +CIRCLE + 5 +E6 +100 +AcDbEntity + 8 +0 + 62 +256 +370 +-1 + 48 +1.0 + 6 +BYLAYER +100 +AcDbCircle + 10 +5.0 + 20 +4.9999999999999991 + 30 +0.0 + 40 +0.6211059600331845 + 0 +ENDSEC + 0 +SECTION + 2 +OBJECTS + 0 +DICTIONARY + 5 +C +100 +AcDbDictionary +280 +0 +281 +1 + 3 +ACAD_GROUP +350 +D + 3 +ACAD_LAYOUT +350 +1A + 3 +ACAD_MLINESTYLE +350 +17 + 3 +ACAD_PLOTSETTINGS +350 +19 + 3 +ACAD_PLOTSTYLENAME +350 +E + 3 +AcDbVariableDictionary +350 +E7 + 3 +QCAD_OBJECTS +350 +E8 + 0 +DICTIONARY + 5 +D +100 +AcDbDictionary +280 +0 +281 +1 + 0 +ACDBDICTIONARYWDFLT + 5 +E +100 +AcDbDictionary +281 +1 + 3 +Normal +350 +F +100 +AcDbDictionaryWithDefault +340 +F + 0 +ACDBPLACEHOLDER + 5 +F + 0 +DICTIONARY + 5 +17 +100 +AcDbDictionary +280 +0 +281 +1 + 3 +Standard +350 +18 + 0 +MLINESTYLE + 5 +18 +100 +AcDbMlineStyle + 2 +STANDARD + 70 +0 + 3 + + 62 +256 + 51 +90.0 + 52 +90.0 + 71 +2 + 49 +0.5 + 62 +256 + 6 +BYLAYER + 49 +-0.5 + 62 +256 + 6 +BYLAYER + 0 +DICTIONARY + 5 +19 +100 +AcDbDictionary +280 +0 +281 +1 + 0 +DICTIONARY + 5 +1A +100 +AcDbDictionary +281 +1 + 3 +Layout1 +350 +1E + 3 +Layout2 +350 +26 + 3 +Model +350 +22 + 0 +LAYOUT + 5 +1E +100 +AcDbPlotSettings + 1 + + 2 +none_device + 4 + + 6 + + 40 +0.0 + 41 +0.0 + 42 +0.0 + 43 +0.0 + 44 +0.0 + 45 +0.0 + 46 +0.0 + 47 +0.0 + 48 +0.0 + 49 +0.0 +140 +0.0 +141 +0.0 +142 +1.0 +143 +1.0 + 70 +688 + 72 +0 + 73 +0 + 74 +5 + 7 + + 75 +16 +147 +1.0 +148 +0.0 +149 +0.0 +100 +AcDbLayout + 1 +Layout1 + 70 +1 + 71 +1 + 10 +0.0 + 20 +0.0 + 11 +420.0 + 21 +297.0 + 12 +0.0 + 22 +0.0 + 32 +0.0 + 14 +100000000000000000000.0 + 24 +100000000000000000000.0 + 34 +100000000000000000000.0 + 15 +-100000000000000000000.0 + 25 +-100000000000000000000.0 + 35 +-100000000000000000000.0 +146 +0.0 + 13 +0.0 + 23 +0.0 + 33 +0.0 + 16 +1.0 + 26 +0.0 + 36 +0.0 + 17 +0.0 + 27 +1.0 + 37 +0.0 + 76 +0 +330 +1B + 0 +LAYOUT + 5 +22 +100 +AcDbPlotSettings + 1 + + 2 +none_device + 4 + + 6 + + 40 +0.0 + 41 +0.0 + 42 +0.0 + 43 +0.0 + 44 +0.0 + 45 +0.0 + 46 +0.0 + 47 +0.0 + 48 +0.0 + 49 +0.0 +140 +0.0 +141 +0.0 +142 +1.0 +143 +1.0 + 70 +1712 + 72 +0 + 73 +0 + 74 +0 + 7 + + 75 +0 +147 +1.0 +148 +0.0 +149 +0.0 +100 +AcDbLayout + 1 +Model + 70 +1 + 71 +0 + 10 +0.0 + 20 +0.0 + 11 +12.0 + 21 +9.0 + 12 +0.0 + 22 +0.0 + 32 +0.0 + 14 +0.0 + 24 +0.0 + 34 +0.0 + 15 +0.0 + 25 +0.0 + 35 +0.0 +146 +0.0 + 13 +0.0 + 23 +0.0 + 33 +0.0 + 16 +1.0 + 26 +0.0 + 36 +0.0 + 17 +0.0 + 27 +1.0 + 37 +0.0 + 76 +0 +330 +1F + 0 +LAYOUT + 5 +26 +100 +AcDbPlotSettings + 1 + + 2 +none_device + 4 + + 6 + + 40 +0.0 + 41 +0.0 + 42 +0.0 + 43 +0.0 + 44 +0.0 + 45 +0.0 + 46 +0.0 + 47 +0.0 + 48 +0.0 + 49 +0.0 +140 +0.0 +141 +0.0 +142 +1.0 +143 +1.0 + 70 +688 + 72 +0 + 73 +0 + 74 +5 + 7 + + 75 +16 +147 +1.0 +148 +0.0 +149 +0.0 +100 +AcDbLayout + 1 +Layout2 + 70 +1 + 71 +2 + 10 +0.0 + 20 +0.0 + 11 +12.0 + 21 +9.0 + 12 +0.0 + 22 +0.0 + 32 +0.0 + 14 +0.0 + 24 +0.0 + 34 +0.0 + 15 +0.0 + 25 +0.0 + 35 +0.0 +146 +0.0 + 13 +0.0 + 23 +0.0 + 33 +0.0 + 16 +1.0 + 26 +0.0 + 36 +0.0 + 17 +0.0 + 27 +1.0 + 37 +0.0 + 76 +0 +330 +23 + 0 +DICTIONARY + 5 +E7 +100 +AcDbDictionary +281 +1 + 3 +DIMASSOC +350 +EA + 3 +HIDETEXT +350 +E9 + 0 +DICTIONARYVAR + 5 +E9 +100 +DictionaryVariables +280 +0 + 1 +2 + 0 +DICTIONARYVAR + 5 +EA +100 +DictionaryVariables +280 +0 + 1 +1 + 0 +DICTIONARY + 5 +E8 +100 +AcDbDictionary +281 +1 + 3 +ColorSettings/BackgroundColor +350 +EB + 3 +ColorSettings/ColorMode +350 +EC + 3 +Grid/DisplayGrid00 +350 +ED + 3 +Grid/DisplayGrid01 +350 +EE + 3 +Grid/DisplayGrid02 +350 +EF + 3 +Grid/DisplayGrid03 +350 +F0 + 3 +Grid/GridSpacingX00 +350 +F1 + 3 +Grid/GridSpacingX01 +350 +F2 + 3 +Grid/GridSpacingX02 +350 +F3 + 3 +Grid/GridSpacingX03 +350 +F4 + 3 +Grid/GridSpacingY00 +350 +F5 + 3 +Grid/GridSpacingY01 +350 +F6 + 3 +Grid/GridSpacingY02 +350 +F7 + 3 +Grid/GridSpacingY03 +350 +F8 + 3 +Grid/IsometricGrid00 +350 +F9 + 3 +Grid/IsometricGrid01 +350 +FA + 3 +Grid/IsometricGrid02 +350 +FB + 3 +Grid/IsometricGrid03 +350 +FC + 3 +Grid/IsometricProjection00 +350 +FD + 3 +Grid/IsometricProjection01 +350 +FE + 3 +Grid/IsometricProjection02 +350 +FF + 3 +Grid/IsometricProjection03 +350 +100 + 3 +Grid/MetaGridSpacingX00 +350 +101 + 3 +Grid/MetaGridSpacingX01 +350 +102 + 3 +Grid/MetaGridSpacingX02 +350 +103 + 3 +Grid/MetaGridSpacingX03 +350 +104 + 3 +Grid/MetaGridSpacingY00 +350 +105 + 3 +Grid/MetaGridSpacingY01 +350 +106 + 3 +Grid/MetaGridSpacingY02 +350 +107 + 3 +Grid/MetaGridSpacingY03 +350 +108 + 3 +MultiPageSettings/Columns +350 +109 + 3 +MultiPageSettings/GlueMarginsBottom +350 +10A + 3 +MultiPageSettings/GlueMarginsLeft +350 +10B + 3 +MultiPageSettings/GlueMarginsRight +350 +10C + 3 +MultiPageSettings/GlueMarginsTop +350 +10D + 3 +MultiPageSettings/PrintCropMarks +350 +10E + 3 +MultiPageSettings/Rows +350 +10F + 3 +PageSettings/OffsetX +350 +110 + 3 +PageSettings/OffsetY +350 +111 + 3 +PageSettings/PageOrientation +350 +112 + 3 +PageSettings/PaperHeight +350 +113 + 3 +PageSettings/PaperWidth +350 +114 + 3 +PageSettings/Scale +350 +115 + 3 +PageSettings/ShowPaperBorders +350 +116 + 3 +PageTagSettings/EnablePageTags +350 +117 + 3 +PageTagSettings/TagAlignment +350 +118 + 3 +PageTagSettings/TagFont +350 +119 + 3 +PageTagSettings/TagPosition +350 +11A + 3 +QCADVersion +350 +11B + 3 +UnitSettings/PaperUnit +350 +11C + 3 +ViewportCenter +350 +11D + 3 +ViewportHeight +350 +11E + 3 +ViewportWidth +350 +11F + 0 +XRECORD + 5 +EC +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +FullColor + 0 +XRECORD + 5 +ED +330 +E8 +100 +AcDbXrecord +280 +1 +290 +1 + 0 +XRECORD + 5 +EE +330 +E8 +100 +AcDbXrecord +280 +1 +290 +1 + 0 +XRECORD + 5 +EF +330 +E8 +100 +AcDbXrecord +280 +1 +290 +1 + 0 +XRECORD + 5 +F0 +330 +E8 +100 +AcDbXrecord +280 +1 +290 +1 + 0 +XRECORD + 5 +F1 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +auto + 0 +XRECORD + 5 +F2 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +auto + 0 +XRECORD + 5 +F3 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +auto + 0 +XRECORD + 5 +F4 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +auto + 0 +XRECORD + 5 +F5 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +auto + 0 +XRECORD + 5 +F6 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +auto + 0 +XRECORD + 5 +F7 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +auto + 0 +XRECORD + 5 +F8 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +auto + 0 +XRECORD + 5 +F9 +330 +E8 +100 +AcDbXrecord +280 +1 +290 +0 + 0 +XRECORD + 5 +FA +330 +E8 +100 +AcDbXrecord +280 +1 +290 +0 + 0 +XRECORD + 5 +FB +330 +E8 +100 +AcDbXrecord +280 +1 +290 +0 + 0 +XRECORD + 5 +FC +330 +E8 +100 +AcDbXrecord +280 +1 +290 +0 + 0 +XRECORD + 5 +FD +330 +E8 +100 +AcDbXrecord +280 +1 + 90 +65537 + 0 +XRECORD + 5 +FE +330 +E8 +100 +AcDbXrecord +280 +1 + 90 +65537 + 0 +XRECORD + 5 +FF +330 +E8 +100 +AcDbXrecord +280 +1 + 90 +65537 + 0 +XRECORD + 5 +100 +330 +E8 +100 +AcDbXrecord +280 +1 + 90 +65537 + 0 +XRECORD + 5 +101 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +auto + 0 +XRECORD + 5 +102 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +auto + 0 +XRECORD + 5 +103 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +auto + 0 +XRECORD + 5 +104 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +auto + 0 +XRECORD + 5 +105 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +auto + 0 +XRECORD + 5 +106 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +auto + 0 +XRECORD + 5 +107 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +auto + 0 +XRECORD + 5 +108 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +auto + 0 +XRECORD + 5 +109 +330 +E8 +100 +AcDbXrecord +280 +1 + 90 +1 + 0 +XRECORD + 5 +10A +330 +E8 +100 +AcDbXrecord +280 +1 + 40 +0.5 + 0 +XRECORD + 5 +10B +330 +E8 +100 +AcDbXrecord +280 +1 + 40 +0.5 + 0 +XRECORD + 5 +10C +330 +E8 +100 +AcDbXrecord +280 +1 + 40 +0.5 + 0 +XRECORD + 5 +10D +330 +E8 +100 +AcDbXrecord +280 +1 + 40 +0.5 + 0 +XRECORD + 5 +10E +330 +E8 +100 +AcDbXrecord +280 +1 +290 +0 + 0 +XRECORD + 5 +10F +330 +E8 +100 +AcDbXrecord +280 +1 + 90 +1 + 0 +XRECORD + 5 +110 +330 +E8 +100 +AcDbXrecord +280 +1 + 40 +-100.0 + 0 +XRECORD + 5 +111 +330 +E8 +100 +AcDbXrecord +280 +1 + 40 +-143.5 + 0 +XRECORD + 5 +112 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +Portrait + 0 +XRECORD + 5 +113 +330 +E8 +100 +AcDbXrecord +280 +1 + 40 +297.0 + 0 +XRECORD + 5 +114 +330 +E8 +100 +AcDbXrecord +280 +1 + 40 +210.0 + 0 +XRECORD + 5 +115 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +1" = 1" + 0 +XRECORD + 5 +116 +330 +E8 +100 +AcDbXrecord +280 +1 +290 +1 + 0 +XRECORD + 5 +117 +330 +E8 +100 +AcDbXrecord +280 +1 +290 +0 + 0 +XRECORD + 5 +118 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +Inside + 0 +XRECORD + 5 +119 +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +Arial,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1 + 0 +XRECORD + 5 +11A +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +TopLeft + 0 +XRECORD + 5 +11B +330 +E8 +100 +AcDbXrecord +280 +1 +1000 +3.32.3.1 + 0 +XRECORD + 5 +11C +330 +E8 +100 +AcDbXrecord +280 +1 + 90 +4 + 0 +XRECORD + 5 +11E +330 +E8 +100 +AcDbXrecord +280 +1 + 40 +344.06814580031687 + 0 +XRECORD + 5 +11F +330 +E8 +100 +AcDbXrecord +280 +1 + 40 +662.2488114104594388 + 0 +ENDSEC + 0 +EOF diff --git a/src/const.hpp b/src/const.hpp index aba54f2..8651d89 100644 --- a/src/const.hpp +++ b/src/const.hpp @@ -1,13 +1,9 @@ +#pragma once #include -#ifndef CONST_NS -#define CONST_NS - constexpr int SCREEN_WIDTH = 1600; constexpr int SCREEN_HEIGHT = 1200; constexpr int WORLD_WIDTH = 20000; constexpr int WORLD_HEIGHT = 200000; constexpr int TARGET_FPS = 120; constexpr Uint64 TARGET_FRAME_TIME_NS = 1'000'000'000 / TARGET_FPS; - -#endif \ No newline at end of file diff --git a/src/macro.hpp b/src/macro.hpp new file mode 100644 index 0000000..6d28118 --- /dev/null +++ b/src/macro.hpp @@ -0,0 +1,3 @@ +#pragma once + +#define FIND_CENTER(rect) {rect.x + (rect.w / 2), rect.y + (rect.h / 2)} \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index 232aefd..be39dc1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,21 +1,28 @@ #include "const.hpp" +#include "projectiles.hpp" #include "types.hpp" #include #include #include +#include #include #include #include #include +#include #include #include +#include #include +#include sdl_session main_sdl_session; +SDL_DisplayMode *mode; #define WIDTH_RATIO 15 #define HEIGHT_RATIO 41.53846153846154 -#define MIN_INPUT_DELAY 0 +#define MIN_INPUT_DELAY_MOVEMENT 0 +#define MIN_INPUT_DELAY_FIRE 200 int main(int argc, char *argv[]) { SDL_Init(SDL_INIT_VIDEO); @@ -29,35 +36,36 @@ int main(int argc, char *argv[]) { main_sdl_session.renderer = SDL_CreateRenderer(main_sdl_session.window, "gpu,vulcan"); - SDL_Texture *player_ship_texture = nullptr; - { - SDL_IOStream *texture_file = SDL_IOFromFile("assets/player_ship.svg", "r"); - SDL_Surface *player_ship_surface = IMG_LoadSizedSVG_IO( - texture_file, - static_cast(static_cast(mode->w) / - static_cast(WIDTH_RATIO)), - static_cast(static_cast(mode->h) / - static_cast(HEIGHT_RATIO))); + player_ship_type player_ship = [&mode]() -> player_ship_type { + SDL_Texture *player_ship_texture = nullptr; + SDL_IOStream *texture_file = SDL_IOFromFile("assets/player_ship.svg", "r"); + + float ship_width = static_cast(static_cast(mode->w) / + static_cast(WIDTH_RATIO)); + float ship_height = static_cast(static_cast(mode->h) / + static_cast(HEIGHT_RATIO)); + + SDL_Surface *player_ship_surface = + IMG_LoadSizedSVG_IO(texture_file, ship_width, ship_height); SDL_CloseIO(texture_file); player_ship_texture = SDL_CreateTextureFromSurface( main_sdl_session.renderer, player_ship_surface); SDL_DestroySurface(player_ship_surface); - } - SDL_FRect player_ship_rect = { - 0, 0, - static_cast(static_cast(mode->w) / - static_cast(WIDTH_RATIO)), - static_cast(static_cast(mode->h) / - static_cast(HEIGHT_RATIO))}; + SDL_FRect player_ship_rect = {0, 0, ship_width, ship_height}; + SDL_FPoint gun_offset = {ship_width * 0.9f, ship_height * 0.9f}; + + return {player_ship_rect, gun_offset, player_ship_texture}; + }(); bool running = true; Uint64 lastFrameTime = SDL_GetTicksNS(); float deltaTime = 0.0f; Uint8 player_ship_speed = 1; + std::vector projectiles; while (running) { const Uint64 frameStart = SDL_GetTicksNS(); @@ -72,35 +80,61 @@ int main(int argc, char *argv[]) { } } - const bool *keystate = SDL_GetKeyboardState(NULL); - static Uint32 last_toggle_direction[4]; - std::memset(last_toggle_direction, 0, sizeof(last_toggle_direction)); - if ((keystate[SDL_SCANCODE_DOWN] || keystate[SDL_SCANCODE_S]) && - (SDL_GetTicks() - last_toggle_direction[0] > MIN_INPUT_DELAY)) { - player_ship_rect.y += player_ship_speed; - last_toggle_direction[0] = SDL_GetTicks(); - } - if ((keystate[SDL_SCANCODE_UP] || keystate[SDL_SCANCODE_W]) && - (SDL_GetTicks() - last_toggle_direction[1] > MIN_INPUT_DELAY)) { - player_ship_rect.y -= player_ship_speed; - last_toggle_direction[1] = SDL_GetTicks(); - } - if ((keystate[SDL_SCANCODE_RIGHT] || keystate[SDL_SCANCODE_D]) && - (SDL_GetTicks() - last_toggle_direction[2] > MIN_INPUT_DELAY)) { - player_ship_rect.x += player_ship_speed; - last_toggle_direction[2] = SDL_GetTicks(); - } - if ((keystate[SDL_SCANCODE_LEFT] || keystate[SDL_SCANCODE_A]) && - (SDL_GetTicks() - last_toggle_direction[3] > MIN_INPUT_DELAY)) { - player_ship_rect.x -= player_ship_speed; - last_toggle_direction[3] = SDL_GetTicks(); + { + const bool *keystate = SDL_GetKeyboardState(NULL); + static Uint32 last_toggle_direction[4]; + std::memset(last_toggle_direction, 0, sizeof(last_toggle_direction)); + if ((keystate[SDL_SCANCODE_DOWN] || keystate[SDL_SCANCODE_S]) && + (SDL_GetTicks() - last_toggle_direction[0] > + MIN_INPUT_DELAY_MOVEMENT)) { + player_ship.rect.y += player_ship_speed; + last_toggle_direction[0] = SDL_GetTicks(); + } + if ((keystate[SDL_SCANCODE_UP] || keystate[SDL_SCANCODE_W]) && + (SDL_GetTicks() - last_toggle_direction[1] > + MIN_INPUT_DELAY_MOVEMENT)) { + player_ship.rect.y -= player_ship_speed; + last_toggle_direction[1] = SDL_GetTicks(); + } + if ((keystate[SDL_SCANCODE_RIGHT] || keystate[SDL_SCANCODE_D]) && + (SDL_GetTicks() - last_toggle_direction[2] > + MIN_INPUT_DELAY_MOVEMENT)) { + player_ship.rect.x += player_ship_speed; + last_toggle_direction[2] = SDL_GetTicks(); + } + if ((keystate[SDL_SCANCODE_LEFT] || keystate[SDL_SCANCODE_A]) && + (SDL_GetTicks() - last_toggle_direction[3] > + MIN_INPUT_DELAY_MOVEMENT)) { + player_ship.rect.x -= player_ship_speed; + last_toggle_direction[3] = SDL_GetTicks(); + } + + const SDL_MouseButtonFlags mousestate = + SDL_GetMouseState(nullptr, nullptr); + static Uint32 last_fire = 0; + if ((mousestate & SDL_BUTTON_LMASK || keystate[SDL_SCANCODE_SPACE]) && + SDL_GetTicks() - last_fire > MIN_INPUT_DELAY_FIRE) { + projectiles.push_back( + spawn_projectile({player_ship.rect.x + player_ship.gun_offset.x, + player_ship.rect.y + player_ship.gun_offset.y}, + 1, 0, 3, "assets/basic_projectile.svg", nullptr)); + last_fire = SDL_GetTicks(); + } } SDL_SetRenderDrawColor(main_sdl_session.renderer, 0, 0, 0, 255); SDL_RenderClear(main_sdl_session.renderer); - SDL_RenderTexture(main_sdl_session.renderer, player_ship_texture, nullptr, - &player_ship_rect); + for (projectile &p : projectiles) { + if (p.rect.x > mode->w || p.rect.y > mode->h) { + projectiles.erase(projectiles.begin() + (&p - projectiles.data())); + } else { // TODO colision detection + step_projectile(p); + } + } + + SDL_RenderTexture(main_sdl_session.renderer, player_ship.texture, nullptr, + &player_ship.rect); SDL_RenderPresent(main_sdl_session.renderer); @@ -118,7 +152,7 @@ int main(int argc, char *argv[]) { lastFrameTime = SDL_GetTicksNS(); } - SDL_DestroyTexture(player_ship_texture); + SDL_DestroyTexture(player_ship.texture); SDL_DestroyRenderer(main_sdl_session.renderer); SDL_DestroyWindow(main_sdl_session.window); SDL_Quit(); diff --git a/src/main.hpp b/src/main.hpp new file mode 100644 index 0000000..4c65371 --- /dev/null +++ b/src/main.hpp @@ -0,0 +1,3 @@ +#pragma once +#include "types.hpp" +extern sdl_session main_sdl_session; \ No newline at end of file diff --git a/src/meth.cpp b/src/meth.cpp new file mode 100644 index 0000000..41bd937 --- /dev/null +++ b/src/meth.cpp @@ -0,0 +1,29 @@ +#pragma once + +#include "types.hpp" +#include + +SDL_FPoint find_dst_point_with_angle_and_distance(SDL_FPoint start, Angle angle, + float distance) { + float angle_rad = (angle - 90) * M_PI / 180.0f; + + float dx = std::cos(angle_rad) * distance; + float dy = std::sin(angle_rad) * distance; + + float calculated_distance = std::sqrt(dx * dx + dy * dy); + + SDL_FPoint result; + + if (calculated_distance > 0) { + dx /= calculated_distance; + dy /= calculated_distance; + + result.x = start.x + dx * distance; + result.y = start.y + dy * distance; + } else { + result.x = start.x; + result.y = start.y; + } + + return result; +} diff --git a/src/meth.hpp b/src/meth.hpp new file mode 100644 index 0000000..6e42dcc --- /dev/null +++ b/src/meth.hpp @@ -0,0 +1,5 @@ +#pragma once +#include "types.hpp" +#include +SDL_FPoint find_dst_point_with_angle_and_distance(SDL_FPoint start, Angle angle, + float distance); \ No newline at end of file diff --git a/src/projectiles.cpp b/src/projectiles.cpp new file mode 100644 index 0000000..83ac3c5 --- /dev/null +++ b/src/projectiles.cpp @@ -0,0 +1,63 @@ +#include "macro.hpp" +#include "main.hpp" +#include "meth.hpp" +#include "types.hpp" +#include +#include +#include +#include +#include +#include +void step_projectile(projectile p); + +projectile spawn_projectile(SDL_FPoint position, float size_multiplier, + Angle angle, float speed, char *texture_file_name, + SDL_FRect *target) { + + projectile p; + SDL_IOStream *texture_file = SDL_IOFromFile(texture_file_name, "r"); + std::array texture_base_size; + { + SDL_Surface *tmp_surface = IMG_LoadSVG_IO(texture_file); + texture_base_size = {tmp_surface->w, tmp_surface->h}; + SDL_DestroySurface(tmp_surface); + } + SDL_SeekIO(texture_file, 0, SDL_IO_SEEK_SET); // reset to top of the file + SDL_Surface *projectile_surface = + IMG_LoadSizedSVG_IO(texture_file, texture_base_size[0] * size_multiplier, + texture_base_size[1] * size_multiplier); + + SDL_CloseIO(texture_file); + + p.texture = SDL_CreateTextureFromSurface(main_sdl_session.renderer, + projectile_surface); + SDL_DestroySurface(projectile_surface); + + p.angle = angle; + p.rect = {position.x, position.y, static_cast(p.texture->w), + static_cast(p.texture->h)}; + p.speed = speed; + if (target == nullptr) { + p.target = nullptr; + p.guided = false; + } else { + p.target = target; + p.guided = true; + } + + return p; +} + +void step_projectile(projectile &p) { + SDL_FPoint center = FIND_CENTER(p.rect); + + SDL_FPoint dst = + find_dst_point_with_angle_and_distance(center, p.angle, p.speed); + + p.rect.x = dst.x - (p.rect.w / 2); + p.rect.y = dst.y - (p.rect.h / 2); + center = FIND_CENTER(p.rect); + SDL_RenderTexture(main_sdl_session.renderer, p.texture, nullptr, &p.rect); + // SDL_RenderTextureRotated(main_sdl_session.renderer, p.texture, nullptr, + // &p.rect, p.angle, ¢er, SDL_FLIP_NONE); +} \ No newline at end of file diff --git a/src/projectiles.hpp b/src/projectiles.hpp new file mode 100644 index 0000000..3042899 --- /dev/null +++ b/src/projectiles.hpp @@ -0,0 +1,7 @@ +#pragma once +#include "types.hpp" +#include +projectile spawn_projectile(SDL_FPoint position, float size_multiplier, + Angle angle, float speed, char *texture_file_name, + SDL_FRect *target); +void step_projectile(projectile &p); diff --git a/src/types.hpp b/src/types.hpp index 142cd42..ffbb5ef 100644 --- a/src/types.hpp +++ b/src/types.hpp @@ -1,12 +1,9 @@ -#include "const.hpp" +#pragma once #include +#include #include #include #include -#include - -#ifndef TYPES_NS -#define TYPES_NS struct Angle { private: @@ -41,9 +38,61 @@ public: normalize(); return *this; } + // Binary operators for int + Angle operator+(int rhs) const { + return Angle(static_cast(value) + rhs); + } + + Angle operator-(int rhs) const { + return Angle(static_cast(value) - rhs); + } + + Angle operator*(int rhs) const { + return Angle(static_cast(value * rhs)); + } + + Angle operator/(int rhs) const { + return Angle(static_cast(value / rhs)); + } + + // Binary operators for double + Angle operator+(double rhs) const { + return Angle(static_cast(value + rhs)); + } + + Angle operator-(double rhs) const { + return Angle(static_cast(value - rhs)); + } + + Angle operator*(double rhs) const { + return Angle(static_cast(value * rhs)); + } + + Angle operator/(double rhs) const { + return Angle(static_cast(value / rhs)); + } + + // Binary operators for float + Angle operator+(float rhs) const { + return Angle(static_cast(value + rhs)); + } + + Angle operator-(float rhs) const { + return Angle(static_cast(value - rhs)); + } + + Angle operator*(float rhs) const { + return Angle(static_cast(value * rhs)); + } + + Angle operator/(float rhs) const { + return Angle(static_cast(value / rhs)); + } // Type conversion - operator int() const { return value; } + operator int() const { return static_cast(value); } + operator double() const { return static_cast(value); } + operator float() const { return value; } // Stream output friend std::ostream &operator<<(std::ostream &os, const Angle &a) { @@ -51,35 +100,22 @@ public: } }; -struct basic_cords { - float x; - float y; -}; - -struct Entity { - SDL_FRect position; - SDL_FRect Tposition; - bool gotoT = false; - SDL_Texture *texture; - SDL_Rect srcRect; - float speed; - Angle angle = 0; - - basic_cords Central_position(std::optional x = std::nullopt, - std::optional y = std::nullopt) { - if (x != std::nullopt) { - position.x = *x - position.w / 2; - } - if (y != std::nullopt) { - position.y = *y - position.h / 2; - } - - return {position.x + position.w / 2, position.y + position.h / 2}; - } -}; - struct sdl_session { SDL_Window *window; SDL_Renderer *renderer; }; -#endif \ No newline at end of file + +struct player_ship_type { + SDL_FRect rect; + SDL_FPoint gun_offset; + SDL_Texture *texture; +}; + +struct projectile { + SDL_FRect rect; + SDL_Texture *texture; + float speed; + Angle angle = 0; + bool guided; + SDL_FRect *target; +};