aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornathansmithsmith <thenathansmithsmith@gmail.com>2023-07-12 02:33:30 -0600
committernathansmithsmith <thenathansmithsmith@gmail.com>2023-07-12 02:33:30 -0600
commitf368f2811a3f8ca0a4b9572b300358bd17d8dac1 (patch)
treeb93bda2b6c50c5ce9cb9354be4c24bb0c7123fbf
parent23be929353d4583edbd8621cd755f8a636c3fd90 (diff)
Maresciallo added
-rw-r--r--LICENSE21
-rw-r--r--assets/caporale.mtl12
-rw-r--r--assets/caporale.obj140
-rw-r--r--assets/maresciallo.mtl12
-rw-r--r--assets/maresciallo.obj103
-rw-r--r--assets/sergente.mtl12
-rw-r--r--assets/sergente.obj460
-rw-r--r--src/assets.c5
-rw-r--r--src/assets.h7
-rw-r--r--src/entities/antifaShip.c24
-rw-r--r--src/entities/antifaShip.h2
-rw-r--r--src/entities/caporale.c19
-rw-r--r--src/entities/caporale.h12
-rw-r--r--src/entities/maresciallo.c19
-rw-r--r--src/entities/maresciallo.h12
-rw-r--r--src/entities/sergente.c19
-rw-r--r--src/entities/sergente.h12
-rw-r--r--src/entity.c8
-rw-r--r--src/game.c6
-rw-r--r--src/playerCamera.c3
-rw-r--r--src/settings.c8
-rw-r--r--src/settings.h14
22 files changed, 915 insertions, 15 deletions
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..3918360
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2023 Nathan Smith
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/assets/caporale.mtl b/assets/caporale.mtl
new file mode 100644
index 0000000..6fe6403
--- /dev/null
+++ b/assets/caporale.mtl
@@ -0,0 +1,12 @@
+# Blender 3.5.1 MTL File: 'coporate.blend'
+# www.blender.org
+
+newmtl Material
+Ns 250.000000
+Ka 1.000000 1.000000 1.000000
+Kd 0.800000 0.800000 0.800000
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.450000
+d 1.000000
+illum 2
diff --git a/assets/caporale.obj b/assets/caporale.obj
new file mode 100644
index 0000000..5cee839
--- /dev/null
+++ b/assets/caporale.obj
@@ -0,0 +1,140 @@
+# Blender 3.5.1
+# www.blender.org
+mtllib caporale.mtl
+o Cube
+v 1.300000 0.800000 -1.000000
+v 1.500000 -0.800000 -1.000000
+v 1.500000 0.300000 1.000000
+v 1.500000 -0.800000 1.000000
+v -1.300000 0.800000 -1.000000
+v -1.500000 -0.800000 -1.000000
+v -1.500000 0.300000 1.000000
+v -1.500000 -0.800000 1.000000
+v 0.000000 -0.700000 10.000000
+v 1.500000 -0.800000 -1.000000
+v 1.500000 -0.800000 1.000000
+v 5.000000 -0.800000 -1.000000
+v 1.500000 0.000000 -1.000000
+v -5.000000 -0.800000 -1.000000
+v -1.500000 0.000000 -1.000000
+v 0.000000 0.800000 1.000000
+v 0.000000 0.800000 -1.000000
+v 1.334549 0.012606 -1.100000
+v 1.334549 -0.699154 -1.100000
+v -1.334549 0.012606 -1.100000
+v -1.334549 -0.699154 -1.100000
+v 0.000000 0.724365 -1.100000
+v 1.156609 0.724365 -1.100000
+v -1.156609 0.724365 -1.100000
+vn 0.3098 0.9293 0.2013
+vn -0.0000 -1.0000 -0.0000
+vn -0.0000 -0.0000 -1.0000
+vn -0.5201 0.1300 -0.8441
+vn -0.3123 0.9370 0.1562
+vn -0.9864 -0.0000 0.1644
+vn -0.0000 -0.9999 0.0111
+vn -0.0000 1.0000 -0.0000
+vn 0.9695 0.2424 -0.0364
+vn 1.0000 -0.0000 -0.0000
+vn -0.9695 0.2424 -0.0364
+vn -1.0000 -0.0000 -0.0000
+vn -0.2076 0.9082 0.3633
+vn 0.3123 0.9370 0.1562
+vn -0.3098 0.9293 0.2013
+vn -0.0000 0.7976 -0.6032
+vn -0.5173 -0.0000 -0.8558
+vn 0.5173 -0.0000 -0.8558
+vn 0.5201 0.1300 -0.8441
+vn -0.0000 -0.7041 -0.7101
+vn 0.2076 0.9082 0.3633
+vn 0.9864 -0.0000 0.1644
+vt 0.625000 0.500000
+vt 0.000000 0.000000
+vt 0.625000 0.750000
+vt 0.000000 0.000000
+vt 0.000000 0.000000
+vt 0.875000 0.500000
+vt 0.375000 0.250000
+vt 0.000000 0.000000
+vt 0.875000 0.750000
+vt 0.000000 0.000000
+vt 0.000000 0.000000
+vt 0.000000 0.000000
+vt 0.000000 0.000000
+vt 0.000000 0.000000
+vt 0.000000 0.000000
+vt 0.312500 0.250000
+vt 0.000000 0.000000
+vt 0.625000 0.375000
+vt 0.750000 0.750000
+vt 0.750000 0.500000
+vt 0.000000 0.000000
+vt 0.312500 0.250000
+vt 0.000000 0.000000
+vt 0.000000 0.000000
+vt 0.625000 0.375000
+vt 0.375000 0.250000
+vt 0.000000 0.000000
+vt 0.750000 0.500000
+vt 0.625000 0.500000
+vt 0.875000 0.500000
+s 0
+usemtl Material
+f 1/1/1 16/19/1 3/3/1
+f 10/12/2 12/14/2 11/13/2
+f 6/7/3 14/17/3 15/18/3
+f 5/6/4 20/25/4 15/18/4
+f 6/7/2 2/2/2 8/10/2
+f 2/2/2 4/5/2 8/10/2
+f 7/9/5 9/11/5 16/19/5
+f 7/9/6 8/10/6 9/11/6
+f 8/10/7 4/5/7 9/11/7
+f 4/5/8 10/12/8 11/13/8
+f 13/16/8 10/12/8 2/2/8
+f 6/7/2 8/10/2 14/17/2
+f 3/3/9 13/16/9 1/1/9
+f 11/13/8 13/16/8 4/5/8
+f 3/4/10 4/5/10 13/15/10
+f 11/13/8 9/11/8 4/5/8
+f 5/6/11 15/18/11 7/9/11
+f 7/9/12 15/18/12 8/10/12
+f 15/18/13 14/17/13 8/10/13
+f 9/11/14 3/3/14 16/19/14
+f 16/19/15 5/6/15 7/9/15
+f 17/20/16 23/29/16 22/28/16
+f 15/18/17 21/26/17 6/7/17
+f 17/20/16 24/30/16 5/6/16
+f 19/23/18 18/21/18 10/12/18
+f 1/1/19 18/22/19 23/29/19
+f 6/7/20 19/23/20 2/2/20
+f 21/26/3 20/25/3 19/23/3
+f 20/25/3 24/30/3 22/28/3
+f 23/29/16 22/28/16 1/1/16
+f 24/30/16 5/6/16 22/28/16
+f 2/2/8 21/27/8 10/12/8
+f 6/7/20 21/26/20 19/23/20
+f 18/22/19 23/29/19 13/16/19
+f 19/23/18 18/22/18 13/16/18
+f 20/25/4 5/6/4 24/30/4
+f 21/26/17 6/7/17 20/25/17
+f 18/22/3 22/28/3 23/29/3
+f 22/28/3 18/22/3 20/25/3
+f 18/21/3 19/23/3 20/24/3
+f 20/25/3 18/22/3 21/26/3
+f 1/1/8 17/20/8 16/19/8
+f 4/5/2 6/8/2 2/2/2
+f 4/5/8 2/2/8 10/12/8
+f 13/16/3 12/14/3 10/12/3
+f 11/13/21 12/14/21 13/16/21
+f 3/4/8 11/13/8 4/5/8
+f 11/13/22 3/4/22 9/11/22
+f 16/19/8 17/20/8 5/6/8
+f 17/20/16 1/1/16 23/29/16
+f 15/18/17 20/25/17 21/26/17
+f 17/20/16 22/28/16 24/30/16
+f 13/16/18 2/2/18 19/23/18
+f 1/1/19 13/16/19 18/22/19
+f 20/25/4 15/18/4 24/30/4
+f 2/2/20 21/27/20 19/23/20
+f 19/23/8 2/2/8 10/12/8
+f 4/5/8 11/13/8 6/8/8
diff --git a/assets/maresciallo.mtl b/assets/maresciallo.mtl
new file mode 100644
index 0000000..22d5c01
--- /dev/null
+++ b/assets/maresciallo.mtl
@@ -0,0 +1,12 @@
+# Blender 3.5.1 MTL File: 'maresciallo.blend'
+# www.blender.org
+
+newmtl Material
+Ns 250.000000
+Ka 1.000000 1.000000 1.000000
+Kd 0.800000 0.800000 0.800000
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.450000
+d 1.000000
+illum 2
diff --git a/assets/maresciallo.obj b/assets/maresciallo.obj
new file mode 100644
index 0000000..78eee09
--- /dev/null
+++ b/assets/maresciallo.obj
@@ -0,0 +1,103 @@
+# Blender 3.5.1
+# www.blender.org
+mtllib maresciallo.mtl
+o Cube
+v 7.000000 -0.450000 -1.166667
+v -7.000000 -0.450000 -1.166667
+v 0.000000 -0.450000 5.833333
+v 0.000000 0.450000 -1.166667
+v 7.000000 -0.450000 -1.666667
+v 0.000000 0.450000 -1.666667
+v -7.000000 -0.450000 -1.666667
+v 0.000000 -0.450000 -1.666667
+v 3.500000 -0.450000 -1.666667
+v -3.500000 -0.450000 -1.666667
+v -3.500000 0.000000 -1.666667
+v 3.500000 0.000000 -1.666667
+v -5.250000 -0.281250 -3.166667
+v -5.250000 -0.393750 -3.166667
+v 5.250000 -0.281250 -3.166667
+v 5.250000 -0.393750 -3.166667
+v -1.750000 0.056250 -2.366667
+v -1.750000 -0.281250 -2.366667
+v 1.750000 0.056250 -2.366667
+v 1.750000 -0.281250 -2.366667
+v 0.000000 -0.450000 -1.166667
+vn -0.1265 0.9839 0.1265
+vn 0.1265 0.9839 0.1265
+vn -0.0000 -1.0000 -0.0000
+vn -0.1275 0.9918 -0.0000
+vn 0.1275 0.9918 -0.0000
+vn 0.6508 -0.0000 -0.7593
+vn -0.3714 -0.0000 -0.9285
+vn -0.1274 0.9912 -0.0372
+vn -0.6508 -0.0000 -0.7593
+vn -0.0000 -0.9993 -0.0375
+vn 0.1274 0.9912 -0.0372
+vn -0.1240 0.9646 -0.2325
+vn 0.3714 -0.0000 -0.9285
+vn -0.0000 -0.9722 -0.2344
+vn 0.1240 0.9646 -0.2325
+vt 0.375000 0.750000
+vt 0.125000 0.750000
+vt 0.250000 0.750000
+vt 0.000000 0.000000
+vt 0.000000 0.000000
+vt 0.375000 0.750000
+vt 0.000000 0.000000
+vt 0.125000 0.750000
+vt 0.250000 0.750000
+vt 0.000000 0.000000
+vt 0.312500 0.750000
+vt 0.187500 0.750000
+vt 0.062500 0.375000
+vt 0.187500 0.375000
+vt 0.000000 0.000000
+vt 0.000000 0.000000
+vt 0.000000 0.000000
+vt 0.000000 0.000000
+vt 0.000000 0.000000
+vt 0.000000 0.000000
+vt 0.000000 0.000000
+vt 0.000000 0.000000
+vt 0.250000 0.750000
+s 0
+usemtl Material
+f 3/3/1 4/4/1 2/2/1
+f 1/1/2 4/4/2 3/3/2
+f 3/3/3 21/23/3 1/1/3
+f 4/4/4 6/7/4 11/13/4
+f 1/1/5 5/6/5 12/14/5
+f 15/17/6 5/5/6 16/18/6
+f 18/20/7 11/13/7 17/19/7
+f 10/12/6 13/15/6 11/13/6
+f 11/13/8 13/15/8 7/8/8
+f 13/15/9 14/16/9 7/8/9
+f 7/8/10 14/16/10 10/12/10
+f 5/5/11 15/17/11 12/14/11
+f 15/17/9 9/11/9 12/14/9
+f 5/5/10 9/11/10 16/18/10
+f 11/13/12 6/7/12 17/19/12
+f 8/10/13 17/19/13 6/7/13
+f 8/10/14 10/12/14 18/20/14
+f 8/10/7 19/21/7 20/22/7
+f 6/7/15 12/14/15 19/21/15
+f 20/22/13 12/14/13 9/11/13
+f 8/10/14 20/22/14 9/11/14
+f 1/1/3 9/11/3 5/6/3
+f 10/12/3 2/2/3 7/8/3
+f 1/1/3 21/23/3 9/11/3
+f 2/2/3 10/12/3 21/23/3
+f 9/11/3 21/23/3 8/9/3
+f 3/3/3 2/2/3 21/23/3
+f 21/23/3 10/12/3 8/9/3
+f 7/8/4 2/2/4 11/13/4
+f 2/2/4 4/4/4 11/13/4
+f 6/7/5 4/4/5 12/14/5
+f 4/4/5 1/1/5 12/14/5
+f 18/20/7 10/12/7 11/13/7
+f 10/12/6 14/16/6 13/15/6
+f 15/17/9 16/18/9 9/11/9
+f 8/10/13 18/20/13 17/19/13
+f 8/10/7 6/7/7 19/21/7
+f 20/22/13 19/21/13 12/14/13
diff --git a/assets/sergente.mtl b/assets/sergente.mtl
new file mode 100644
index 0000000..69fede4
--- /dev/null
+++ b/assets/sergente.mtl
@@ -0,0 +1,12 @@
+# Blender 3.5.1 MTL File: 'sergente.blend'
+# www.blender.org
+
+newmtl Material
+Ns 250.000000
+Ka 1.000000 1.000000 1.000000
+Kd 0.800000 0.800000 0.800000
+Ks 0.500000 0.500000 0.500000
+Ke 0.000000 0.000000 0.000000
+Ni 1.450000
+d 1.000000
+illum 2
diff --git a/assets/sergente.obj b/assets/sergente.obj
new file mode 100644
index 0000000..04b9664
--- /dev/null
+++ b/assets/sergente.obj
@@ -0,0 +1,460 @@
+# Blender 3.5.1
+# www.blender.org
+mtllib sergente.mtl
+o Icosphere.001
+v -0.129762 -2.000000 0.129667
+v 0.871263 -0.900000 -1.269600
+v 1.569871 -0.900000 0.630912
+v -0.131080 -0.900000 1.929667
+v -1.830128 -0.900000 0.628422
+v -1.128736 -0.900000 -1.271065
+v 1.570604 0.900000 -0.369088
+v 0.869213 0.900000 1.530399
+v -1.130787 0.900000 1.528934
+v -1.829395 0.900000 -0.371578
+v -0.128444 0.900000 -1.670333
+v -0.129762 2.000000 0.129667
+v 0.870018 -1.700000 0.430399
+v 0.470824 -1.700000 -0.669894
+v 1.470604 -1.000000 -0.369161
+v -0.128517 -1.000000 -1.570333
+v -0.729176 -1.700000 -0.670772
+v -0.130494 -1.700000 1.129667
+v 0.869213 -1.000000 1.530399
+v -1.129981 -1.700000 0.428934
+v -1.130787 -1.000000 1.528934
+v -1.729395 -1.000000 -0.371505
+v 0.471630 0.000000 -1.769893
+v -0.728370 0.000000 -1.770772
+v 1.720421 0.450000 -0.118978
+v 1.471117 0.000000 -1.069161
+v 0.468846 0.000000 2.030106
+v 1.469359 0.000000 1.330839
+v -1.730641 0.000000 1.328495
+v -0.731153 0.000000 2.029227
+v -1.728883 0.000000 -1.071505
+v -2.979944 -0.450000 0.377579
+v 0.871263 1.000000 -1.269600
+v 1.469872 1.000000 0.630839
+v -0.131007 1.000000 1.829667
+v -1.730128 1.000000 0.628495
+v -1.128736 1.000000 -1.271065
+v 0.870458 1.700000 -0.169601
+v -0.129030 1.700000 -0.870333
+v 0.469652 1.700000 0.930106
+v -0.730348 1.700000 0.929227
+v -1.129542 1.700000 -0.171065
+v 1.720055 -0.450000 0.381022
+v 1.720421 0.450000 -0.118978
+v 1.669798 0.000000 0.730985
+v 1.670055 0.500000 0.380985
+v 1.670677 0.000000 -0.469015
+v 1.670421 -0.500000 -0.119015
+v 1.720421 0.450000 -0.118978
+v 2.720420 0.450000 -0.118246
+v 1.669798 0.000000 0.730985
+v 1.670055 0.500000 0.380985
+v 1.720055 -0.450000 0.381022
+v 1.670677 0.000000 -0.469015
+v 1.670421 -0.500000 -0.119015
+v 1.669798 0.000000 2.730985
+v 1.670055 0.500000 0.380985
+v 1.720055 -0.450000 0.381022
+v 1.670677 0.000000 -2.469015
+v 1.670421 -0.500000 -0.119015
+v 2.870237 0.000000 0.131864
+v 2.669798 0.000000 2.731718
+v 2.670054 0.500000 0.381718
+v 2.720054 -0.450000 0.381754
+v 2.670677 0.000000 -2.468282
+v 2.670420 -0.500000 -0.118282
+v -1.979578 0.450000 -0.121688
+v -1.979945 -0.450000 0.378312
+v -1.929945 0.500000 0.378349
+v -1.930201 0.000000 0.728348
+v -1.929322 0.000000 -0.471651
+v -1.929578 -0.500000 -0.121651
+v -1.979945 -0.450000 0.378312
+v -1.929322 0.000000 -2.471651
+v -1.979578 0.450000 -0.121688
+v -1.929945 0.500000 0.378349
+v -1.930201 0.000000 2.728348
+v -1.929578 -0.500000 -0.121651
+v -3.129761 0.000000 0.127470
+v -2.929322 0.000000 -2.472384
+v -2.979578 0.450000 -0.122420
+v -2.929944 0.500000 0.377616
+v -2.930201 0.000000 2.727616
+v -2.929578 -0.500000 -0.122384
+vn 0.3171 -0.9414 -0.1150
+vn 0.2760 -0.6611 -0.6977
+vn 0.1970 -0.9390 0.2818
+vn -0.1974 -0.9390 0.2816
+vn -0.3169 -0.9414 -0.1155
+vn 0.3016 -0.3574 -0.8839
+vn -0.0000 1.0000 -0.0000
+vn 0.3244 -0.3157 0.8917
+vn -0.7595 -0.3450 0.5515
+vn -0.7494 -0.3794 -0.5426
+vn 0.5629 -0.1964 -0.8029
+vn -0.0007 -0.1104 0.9939
+vn -0.5617 -0.1964 -0.8037
+vn 0.6301 0.6553 -0.4166
+vn 0.5961 0.6507 0.4704
+vn -0.2760 0.6611 0.6977
+vn -0.7537 0.6571 0.0091
+vn -0.2070 0.6917 -0.6919
+vn -0.1970 0.9390 -0.2818
+vn -0.3514 0.7897 -0.5028
+vn -0.6295 0.6553 -0.4175
+vn -0.3171 0.9414 0.1150
+vn -0.6030 0.7672 0.2188
+vn -0.5968 0.6507 0.4695
+vn -0.0003 0.9363 0.3511
+vn -0.0004 0.7894 0.6139
+vn 0.2750 0.6611 0.6981
+vn 0.3169 0.9414 0.1155
+vn 0.6026 0.7672 0.2196
+vn 0.7537 0.6571 0.0102
+vn 0.1974 0.9390 -0.2816
+vn 0.3522 0.7897 -0.5023
+vn 0.2080 0.6917 -0.6916
+vn -0.3244 0.3157 -0.8917
+vn -0.5638 0.1774 -0.8067
+vn -0.7587 0.3450 -0.5526
+vn -0.9367 0.3451 0.0585
+vn -0.9265 0.2161 0.3081
+vn -0.7502 0.3794 0.5415
+vn -0.3016 0.3574 0.8839
+vn -0.0007 0.1961 0.9806
+vn 0.3003 0.3574 0.8843
+vn 0.7494 0.3794 0.5426
+vn 0.9367 0.3451 0.0598
+vn 0.7595 0.3450 -0.5515
+vn 0.5650 0.1774 -0.8058
+vn 0.3257 0.3157 -0.8912
+vn 1.0000 -0.0005 -0.0000
+vn -0.5629 0.1964 0.8029
+vn -0.5650 -0.1774 0.8058
+vn -0.3257 -0.3157 0.8912
+vn 0.5617 0.1964 0.8037
+vn 0.5638 -0.1774 0.8067
+vn 0.7587 -0.3450 0.5526
+vn 0.9397 0.1392 -0.3125
+vn 0.9265 -0.2161 -0.3081
+vn 0.7502 -0.3794 -0.5415
+vn 0.0007 0.1104 -0.9939
+vn 0.0007 -0.1961 -0.9806
+vn -0.3003 -0.3574 -0.8843
+vn -0.5961 -0.6507 -0.4704
+vn -0.6026 -0.7672 -0.2196
+vn -0.7537 -0.6571 -0.0102
+vn -0.6301 -0.6553 0.4166
+vn -0.3522 -0.7897 0.5023
+vn -0.2080 -0.6917 0.6916
+vn 0.2070 -0.6917 0.6919
+vn 0.3514 -0.7897 0.5028
+vn 0.6295 -0.6553 0.4175
+vn -0.2750 -0.6611 -0.6981
+vn 0.0004 -0.7894 -0.6139
+vn 0.0003 -0.9363 -0.3511
+vn 0.7537 -0.6571 -0.0091
+vn 0.6030 -0.7672 -0.2188
+vn 0.5968 -0.6507 -0.4695
+vn 0.9260 0.2161 0.3094
+vn 0.9392 -0.1392 0.3138
+vn 0.9367 -0.3451 -0.0585
+vn -0.9938 -0.1110 -0.0000
+vn -0.9939 0.1099 -0.0000
+vn -0.0001 -0.9822 0.1881
+vn 0.0001 0.9822 -0.1881
+vn -0.0002 0.9781 0.2081
+vn -0.0001 -0.9950 0.0995
+vn 0.0002 -0.9781 -0.2081
+vn 0.0001 0.9950 -0.0995
+vn 0.9576 -0.2786 0.0738
+vn 0.9379 0.3394 0.0723
+vn 0.9381 -0.3389 -0.0720
+vn 0.9578 0.2780 -0.0735
+vn -0.9367 -0.3451 -0.0598
+vn -0.9260 -0.2161 -0.3094
+vn -0.9392 0.1392 -0.3138
+vn -0.9397 -0.1392 0.3125
+vn -0.9578 -0.2780 0.0735
+vn -0.9576 0.2786 -0.0738
+vn -0.9379 -0.3394 -0.0723
+vn -0.9381 0.3389 0.0720
+vn 0.9938 0.1110 -0.0000
+vn -1.0000 0.0005 -0.0000
+vn 0.9939 -0.1099 -0.0000
+vt 0.181819 0.000000
+vt 0.909091 0.000000
+vt 0.727273 0.000000
+vt 0.545455 0.000000
+vt 0.363637 0.000000
+vt 0.272728 0.157461
+vt 1.000000 0.157461
+vt 0.090910 0.157461
+vt 0.818182 0.157461
+vt 0.636364 0.157461
+vt 0.454546 0.157461
+vt 0.181819 0.314921
+vt 0.000000 0.314921
+vt 0.909091 0.314921
+vt 0.727273 0.314921
+vt 0.545455 0.314921
+vt 0.363637 0.314921
+vt 0.454546 0.472382
+vt 0.636364 0.472382
+vt 0.818182 0.472382
+vt 0.090910 0.472382
+vt 0.272728 0.472382
+vt 0.954545 0.078731
+vt 0.136365 0.078731
+vt 0.318182 0.078731
+vt 0.227273 0.078731
+vt 0.181819 0.157461
+vt 0.363637 0.157461
+vt 0.500000 0.078731
+vt 0.409092 0.078731
+vt 0.772727 0.078731
+vt 0.863636 0.078731
+vt 0.909091 0.157461
+vt 0.590909 0.078731
+vt 0.681818 0.078731
+vt 0.727273 0.157461
+vt 0.545455 0.157461
+vt 0.318182 0.236191
+vt 0.409092 0.236191
+vt 0.159092 0.275556
+vt 0.227273 0.236191
+vt 0.863636 0.236191
+vt 0.954545 0.236191
+vt 0.045455 0.236191
+vt 0.681818 0.236191
+vt 0.772727 0.236191
+vt 0.500000 0.236191
+vt 0.613637 0.196826
+vt 0.272728 0.314921
+vt 0.090910 0.314921
+vt 0.818182 0.314921
+vt 0.636364 0.314921
+vt 0.454546 0.314921
+vt 0.136365 0.393651
+vt 0.227273 0.393651
+vt 0.409092 0.393651
+vt 0.318182 0.393651
+vt 0.863636 0.393651
+vt 0.045455 0.393651
+vt 0.681818 0.393651
+vt 0.772727 0.393651
+vt 0.500000 0.393651
+vt 0.590909 0.393651
+vt 0.113637 0.196826
+vt 0.159092 0.275556
+vt 0.090910 0.236191
+vt 0.113637 0.275556
+vt 0.181819 0.236191
+vt 0.159092 0.196826
+vt 0.159092 0.275556
+vt 0.159092 0.275556
+vt 0.090910 0.236191
+vt 0.113637 0.275556
+vt 0.113637 0.196826
+vt 0.181819 0.236191
+vt 0.159092 0.196826
+vt 0.090910 0.236191
+vt 0.113637 0.275556
+vt 0.113637 0.196826
+vt 0.181819 0.236191
+vt 0.159092 0.196826
+vt 0.136365 0.236191
+vt 0.090910 0.236191
+vt 0.113637 0.275556
+vt 0.113637 0.196826
+vt 0.181819 0.236191
+vt 0.159092 0.196826
+vt 0.568182 0.275556
+vt 0.613637 0.196826
+vt 0.613637 0.275556
+vt 0.636364 0.236191
+vt 0.545455 0.236191
+vt 0.568182 0.196826
+vt 0.613637 0.196826
+vt 0.545455 0.236191
+vt 0.568182 0.275556
+vt 0.613637 0.275556
+vt 0.636364 0.236191
+vt 0.568182 0.196826
+vt 0.590909 0.236191
+vt 0.545455 0.236191
+vt 0.568182 0.275556
+vt 0.613637 0.275556
+vt 0.636364 0.236191
+vt 0.568182 0.196826
+s 0
+usemtl Material
+f 1/1/1 14/26/1 13/24/1
+f 2/6/2 14/25/2 16/28/2
+f 1/2/3 13/23/3 18/32/3
+f 1/3/4 18/31/4 20/35/4
+f 1/4/5 20/34/5 17/29/5
+f 2/6/6 16/28/6 23/38/6
+f 47/68/7 49/70/7 54/75/7
+f 4/9/8 19/33/8 27/42/8
+f 5/10/9 21/36/9 29/45/9
+f 6/11/10 22/37/10 31/47/10
+f 2/6/11 23/38/11 26/41/11
+f 46/67/7 51/72/7 52/73/7
+f 4/9/12 27/42/12 30/46/12
+f 72/93/7 73/94/7 78/99/7
+f 6/11/13 31/47/13 24/39/13
+f 7/12/14 33/49/14 38/55/14
+f 8/13/15 34/50/15 40/59/15
+f 9/15/16 35/51/16 41/61/16
+f 10/16/17 36/52/17 42/63/17
+f 11/17/18 37/53/18 39/56/18
+f 39/56/19 42/62/19 12/18/19
+f 39/56/20 37/53/20 42/62/20
+f 37/53/21 10/16/21 42/62/21
+f 42/63/22 41/60/22 12/19/22
+f 42/63/23 36/52/23 41/60/23
+f 36/52/24 9/15/24 41/60/24
+f 41/61/25 40/58/25 12/20/25
+f 41/61/26 35/51/26 40/58/26
+f 35/51/27 8/14/27 40/58/27
+f 40/59/28 38/54/28 12/21/28
+f 40/59/29 34/50/29 38/54/29
+f 34/50/30 7/12/30 38/54/30
+f 38/55/31 39/57/31 12/22/31
+f 38/55/32 33/49/32 39/57/32
+f 33/49/33 11/17/33 39/57/33
+f 24/39/34 37/53/34 11/17/34
+f 24/39/35 31/47/35 37/53/35
+f 31/47/36 10/16/36 37/53/36
+f 69/90/37 10/16/37 67/88/37
+f 70/91/38 36/52/38 69/90/38
+f 29/45/39 9/15/39 36/52/39
+f 30/46/40 35/51/40 9/15/40
+f 30/46/41 27/42/41 35/51/41
+f 27/42/42 8/14/42 35/51/42
+f 28/44/43 34/50/43 8/13/43
+f 43/64/7 55/76/7 53/74/7
+f 7/12/44 46/67/44 44/65/44
+f 26/41/45 33/49/45 7/12/45
+f 26/41/46 23/38/46 33/49/46
+f 23/38/47 11/17/47 33/49/47
+f 67/88/7 74/95/7 75/96/7
+f 69/90/7 75/96/7 76/97/7
+f 71/92/48 78/99/48 74/95/48
+f 29/45/49 30/46/49 9/15/49
+f 29/45/50 21/36/50 30/46/50
+f 21/36/51 4/9/51 30/46/51
+f 27/42/52 28/43/52 8/14/52
+f 27/42/53 19/33/53 28/43/53
+f 19/33/54 3/7/54 28/43/54
+f 47/68/55 7/12/55 44/65/55
+f 15/27/56 47/68/56 48/69/56
+f 15/27/57 2/6/57 26/41/57
+f 23/38/58 24/39/58 11/17/58
+f 23/38/59 16/28/59 24/39/59
+f 16/28/60 6/11/60 24/39/60
+f 17/29/61 22/37/61 6/11/61
+f 17/29/62 20/34/62 22/37/62
+f 20/34/63 5/10/63 22/37/63
+f 20/35/64 21/36/64 5/10/64
+f 20/35/65 18/31/65 21/36/65
+f 18/31/66 4/9/66 21/36/66
+f 18/32/67 19/33/67 4/9/67
+f 18/32/68 13/23/68 19/33/68
+f 13/23/69 3/7/69 19/33/69
+f 16/28/70 17/30/70 6/11/70
+f 16/28/71 14/25/71 17/30/71
+f 14/25/72 1/5/72 17/30/72
+f 13/24/73 15/27/73 3/8/73
+f 13/24/74 14/26/74 15/27/74
+f 14/26/75 2/6/75 15/27/75
+f 48/69/7 54/75/7 55/76/7
+f 44/65/7 52/73/7 49/70/7
+f 45/66/7 53/74/7 51/72/7
+f 45/66/76 34/50/76 28/44/76
+f 3/8/77 45/66/77 28/44/77
+f 3/8/78 48/69/78 43/64/78
+f 53/74/7 60/81/7 58/79/7
+f 55/76/7 59/80/7 60/81/7
+f 49/70/7 57/78/7 25/40/7
+f 51/72/79 58/79/79 56/77/79
+f 54/75/80 25/40/80 59/80/80
+f 52/73/7 56/77/7 57/78/7
+f 58/79/81 62/83/81 56/77/81
+f 25/40/82 65/86/82 59/80/82
+f 56/77/83 63/84/83 57/78/83
+f 58/79/84 66/87/84 64/85/84
+f 60/81/85 65/86/85 66/87/85
+f 25/40/86 63/84/86 50/71/86
+f 64/85/78 66/87/78 61/82/78
+f 64/85/87 61/82/87 62/83/87
+f 62/83/88 61/82/88 63/84/88
+f 61/82/89 66/87/89 65/86/89
+f 61/82/90 65/86/90 50/71/90
+f 61/82/44 50/71/44 63/84/44
+f 5/10/91 72/93/91 22/37/91
+f 22/37/92 71/92/92 31/47/92
+f 71/92/93 10/16/93 31/47/93
+f 70/91/48 76/97/48 77/98/48
+f 68/89/7 77/98/7 73/94/7
+f 5/10/94 70/91/94 68/89/94
+f 74/95/85 84/105/85 80/101/85
+f 76/97/83 83/104/83 77/98/83
+f 73/94/81 83/104/81 32/48/81
+f 73/94/84 84/105/84 78/99/84
+f 75/96/82 80/101/82 81/102/82
+f 75/96/86 82/103/86 76/97/86
+f 32/48/95 83/104/95 79/100/95
+f 80/101/96 79/100/96 81/102/96
+f 80/101/97 84/105/97 79/100/97
+f 84/105/91 32/48/91 79/100/91
+f 79/100/98 83/104/98 82/103/98
+f 79/100/37 82/103/37 81/102/37
+f 47/68/7 44/65/7 49/70/7
+f 46/67/7 45/66/7 51/72/7
+f 72/93/7 68/89/7 73/94/7
+f 69/90/37 36/52/37 10/16/37
+f 70/91/38 29/45/38 36/52/38
+f 43/64/7 48/69/7 55/76/7
+f 7/12/44 34/50/44 46/67/44
+f 67/88/99 71/92/99 74/95/99
+f 69/90/7 67/88/7 75/96/7
+f 71/92/7 72/93/7 78/99/7
+f 47/68/55 26/41/55 7/12/55
+f 15/27/56 26/41/56 47/68/56
+f 48/69/7 47/68/7 54/75/7
+f 44/65/7 46/67/7 52/73/7
+f 45/66/7 43/64/7 53/74/7
+f 45/66/76 46/67/76 34/50/76
+f 3/8/77 43/64/77 45/66/77
+f 3/8/78 15/27/78 48/69/78
+f 53/74/7 55/76/7 60/81/7
+f 55/76/100 54/75/100 59/80/100
+f 49/70/7 52/73/7 57/78/7
+f 51/72/7 53/74/7 58/79/7
+f 54/75/7 49/70/7 25/40/7
+f 52/73/100 51/72/100 56/77/100
+f 58/79/81 64/85/81 62/83/81
+f 25/40/82 50/71/82 65/86/82
+f 56/77/83 62/83/83 63/84/83
+f 58/79/84 60/81/84 66/87/84
+f 60/81/85 59/80/85 65/86/85
+f 25/40/86 57/78/86 63/84/86
+f 5/10/91 68/89/91 72/93/91
+f 22/37/92 72/93/92 71/92/92
+f 71/92/93 67/88/93 10/16/93
+f 70/91/7 69/90/7 76/97/7
+f 68/89/101 70/91/101 77/98/101
+f 5/10/94 29/45/94 70/91/94
+f 74/95/85 78/99/85 84/105/85
+f 76/97/83 82/103/83 83/104/83
+f 73/94/81 77/98/81 83/104/81
+f 73/94/84 32/48/84 84/105/84
+f 75/96/82 74/95/82 80/101/82
+f 75/96/86 81/102/86 82/103/86
diff --git a/src/assets.c b/src/assets.c
index c8fe3be..bfc823a 100644
--- a/src/assets.c
+++ b/src/assets.c
@@ -8,7 +8,10 @@ const char textureAssetPaths[TEXTURE_ASSET_COUNT][ASSET_PATH_MAX] = {
const char modelAssetPaths[MODEL_ASSET_COUNT][ASSET_PATH_MAX] = {
"/home/nathan/Documents/KillaFacsista/assets/antifaShip.obj",
- "/home/nathan/Documents/KillaFacsista/assets/soldato.obj"
+ "/home/nathan/Documents/KillaFacsista/assets/soldato.obj",
+ "/home/nathan/Documents/KillaFacsista/assets/caporale.obj",
+ "/home/nathan/Documents/KillaFacsista/assets/sergente.obj",
+ "/home/nathan/Documents/KillaFacsista/assets/maresciallo.obj"
};
void LoadAssets(Assets * assets) {
diff --git a/src/assets.h b/src/assets.h
index 658367a..3797c3f 100644
--- a/src/assets.h
+++ b/src/assets.h
@@ -6,7 +6,7 @@
#define ASSET_PATH_MAX 255
#define TEXTURE_ASSET_COUNT 3
-#define MODEL_ASSET_COUNT 2
+#define MODEL_ASSET_COUNT 5
// Paths to assets.
extern const char textureAssetPaths[TEXTURE_ASSET_COUNT][ASSET_PATH_MAX];
@@ -24,7 +24,10 @@ enum {
// Model asset ids.
enum {
ANTIFA_SHIP_ASSET,
- SOLDATO_ASSET
+ SOLDATO_ASSET,
+ CAPORATE_ASSET,
+ SERGENTE_ASSET,
+ MARESCIALLO_ASSET
};
typedef struct Assets {
diff --git a/src/entities/antifaShip.c b/src/entities/antifaShip.c
index f102f6c..c2e292a 100644
--- a/src/entities/antifaShip.c
+++ b/src/entities/antifaShip.c
@@ -1,5 +1,6 @@
#include "antifaShip.h"
#include "game.h"
+#include "settings.h"
// TODO: Get rid of some magic numbers.
@@ -33,14 +34,25 @@ void closeAntifaShip(Entity * entity) {
}
void controlAntifaShipJoystick(Game * game, Entity * entity) {
+ Settings settings = game->settings;
+ int gamePadNum = settings.gamePadNum;
+
+ // Get joystick values.
+ float pitchStick = GetGamepadAxisMovement(gamePadNum, settings.pitchStick);
+ float yawStick = GetGamepadAxisMovement(gamePadNum, settings.yawStick);
+ float rollStick = GetGamepadAxisMovement(gamePadNum, settings.rollStick);
+ float speedStick = GetGamepadAxisMovement(gamePadNum, settings.speedStick);
+
Vector3 stick = (Vector3){
- GetGamepadAxisMovement(0, 1),
- -GetGamepadAxisMovement(0, 0),
- GetGamepadAxisMovement(0, 2) * 0.25
+ pitchStick,
+ -yawStick,
+ rollStick
};
- stick = Vector3Scale(stick, 0.5);
- entityJoystickControl(entity, stick, fabs(GetGamepadAxisMovement(0, 3) * 300.0));
+ stick = Vector3Scale(stick, settings.joystickSensitivity);
+ float speed = fabs(speedStick * ANTIFA_SHIP_MAX_SPEED);
+
+ entityJoystickControl(entity, stick, speed);
}
void controlAntifaShipKeyboardAndMouse(Game * game, Entity * entity) {
@@ -54,6 +66,8 @@ void controlAntifaShipKeyboardAndMouse(Game * game, Entity * entity) {
if (data->forwardSpeed < 0.0)
data->forwardSpeed = 0.0;
+ else if (data->forwardSpeed > ANTIFA_SHIP_MAX_SPEED)
+ data->forwardSpeed = ANTIFA_SHIP_MAX_SPEED;
Vector2 v = Vector2Subtract(mouse, data->lastMouse);
data->lastMouse = mouse;
diff --git a/src/entities/antifaShip.h b/src/entities/antifaShip.h
index 61d843c..06ef094 100644
--- a/src/entities/antifaShip.h
+++ b/src/entities/antifaShip.h
@@ -4,6 +4,8 @@
#ifndef ANTIFA_SHIP_H
#define ANTIFA_SHIP_H
+#define ANTIFA_SHIP_MAX_SPEED 200.0
+
typedef struct AntifaShip {
Vector2 lastMouse;
float forwardSpeed;
diff --git a/src/entities/caporale.c b/src/entities/caporale.c
new file mode 100644
index 0000000..bf95235
--- /dev/null
+++ b/src/entities/caporale.c
@@ -0,0 +1,19 @@
+#include "caporale.h"
+#include "assets.h"
+#include "game.h"
+
+void initCaporale(Entity * entity, Game * game) {
+ entity->model = &game->assets.models[CAPORATE_ASSET];
+ entity->velocity.angularVelocity = (AxisAngle){(Vector3){1.0, 1.0, 1.0}, 1.0};
+}
+
+void closeCaporale(Entity * entity) {
+}
+
+void updateCaporale(Game * game, Entity * entity) {
+ entityUpdateRotation(entity);
+}
+
+void drawCaporale(Game * game, Entity * entity) {
+ entityDraw(entity);
+}
diff --git a/src/entities/caporale.h b/src/entities/caporale.h
new file mode 100644
index 0000000..13f86d1
--- /dev/null
+++ b/src/entities/caporale.h
@@ -0,0 +1,12 @@
+#include "gameCommon.h"
+#include "entity.h"
+
+#ifndef CAPORALE_H
+#define CAPORALE_H
+
+void initCaporale(Entity * entity, Game * game);
+void closeCaporale(Entity * entity);
+void updateCaporale(Game * game, Entity * entity);
+void drawCaporale(Game * game, Entity * entity);
+
+#endif
diff --git a/src/entities/maresciallo.c b/src/entities/maresciallo.c
new file mode 100644
index 0000000..568d056
--- /dev/null
+++ b/src/entities/maresciallo.c
@@ -0,0 +1,19 @@
+#include "maresciallo.h"
+#include "assets.h"
+#include "game.h"
+
+void initMaresciallo(Entity * entity, Game * game) {
+ entity->model = &game->assets.models[MARESCIALLO_ASSET];
+ entity->velocity.angularVelocity = (AxisAngle){(Vector3){1.0, 1.0, 1.0}, 1.0};
+}
+
+void closeMaresciallo(Entity * entity) {
+}
+
+void updateMaresciallo(Game * game, Entity * entity) {
+ entityUpdateRotation(entity);
+}
+
+void drawMaresciallo(Game * game, Entity * entity) {
+ entityDraw(entity);
+}
diff --git a/src/entities/maresciallo.h b/src/entities/maresciallo.h
new file mode 100644
index 0000000..51714df
--- /dev/null
+++ b/src/entities/maresciallo.h
@@ -0,0 +1,12 @@
+#include "gameCommon.h"
+#include "entity.h"
+
+#ifndef MARESCIALLO_H
+#define MARESCIALLO_H
+
+void initMaresciallo(Entity * entity, Game * game);
+void closeMaresciallo(Entity * entity);
+void updateMaresciallo(Game * game, Entity * entity);
+void drawMaresciallo(Game * game, Entity * entity);
+
+#endif
diff --git a/src/entities/sergente.c b/src/entities/sergente.c
new file mode 100644
index 0000000..4a821dc
--- /dev/null
+++ b/src/entities/sergente.c
@@ -0,0 +1,19 @@
+#include "sergente.h"
+#include "assets.h"
+#include "game.h"
+
+void initSergente(Entity * entity, Game * game) {
+ entity->model = &game->assets.models[SERGENTE_ASSET];
+ entity->velocity.angularVelocity = (AxisAngle){(Vector3){1.0, 1.0, 1.0}, 1.0};
+}
+
+void closeSergente(Entity * entity) {
+}
+
+void updateSergente(Game * game, Entity * entity) {
+ entityUpdateRotation(entity);
+}
+
+void drawSergente(Game * game, Entity * entity) {
+ entityDraw(entity);
+}
diff --git a/src/entities/sergente.h b/src/entities/sergente.h
new file mode 100644
index 0000000..15d4c0d
--- /dev/null
+++ b/src/entities/sergente.h
@@ -0,0 +1,12 @@
+#include "gameCommon.h"
+#include "entity.h"
+
+#ifndef SERGENTE_H
+#define SERGENTE_H
+
+void initSergente(Entity * entity, Game * game);
+void closeSergente(Entity * entity);
+void updateSergente(Game * game, Entity * entity);
+void drawSergente(Game * game, Entity * entity);
+
+#endif
diff --git a/src/entity.c b/src/entity.c
index f4066b5..956c40f 100644
--- a/src/entity.c
+++ b/src/entity.c
@@ -1,11 +1,17 @@
#include "entity.h"
#include "entities/antifaShip.h"
#include "entities/soldato.h"
+#include "entities/caporale.h"
+#include "entities/sergente.h"
+#include "entities/maresciallo.h"
// This fucker is used for creating entities.
const EntityTypeInfo entityTypeInfo[ENTITY_TYPE_COUNT] = {
(EntityTypeInfo){initAntifaShip, closeAntifaShip, updateAntifaShip, drawAntifaShip},
- (EntityTypeInfo){initSoldato, closeSoldato, updateSoldato, drawSoldato}
+ (EntityTypeInfo){initSoldato, closeSoldato, updateSoldato, drawSoldato},
+ (EntityTypeInfo){initCaporale, closeCaporale, updateCaporale, drawCaporale},
+ (EntityTypeInfo){initSergente, closeSergente, updateSergente, drawSergente},
+ (EntityTypeInfo){initMaresciallo, closeMaresciallo, updateMaresciallo, drawMaresciallo}
};
EntityVelocity entityVelocityIdentity() {
diff --git a/src/game.c b/src/game.c
index 2044cac..ffe844e 100644
--- a/src/game.c
+++ b/src/game.c
@@ -26,10 +26,10 @@ void initGame(Game * game) {
// Debug.
WorldEntry entries[] = {
(WorldEntry){ENTITY_ANTIFA, Vector3Zero(), QuaternionIdentity()},
- (WorldEntry){ENTITY_SOLDATO, (Vector3){10.0, 10.0, 10.0}, QuaternionIdentity()},
(WorldEntry){ENTITY_SOLDATO, (Vector3){20.0, 20.0, 20.0}, QuaternionIdentity()},
- (WorldEntry){ENTITY_SOLDATO, (Vector3){30.0, 30.0, 30.0}, QuaternionIdentity()},
- (WorldEntry){ENTITY_SOLDATO, (Vector3){40.0, 40.0, 40.0}, QuaternionIdentity()}
+ (WorldEntry){ENTITY_CAPORALE, (Vector3){30.0, 30.0, 30.0}, QuaternionIdentity()},
+ (WorldEntry){ENTITY_SERGENTE, (Vector3){40.0, 40.0, 40.0}, QuaternionIdentity()},
+ (WorldEntry){ENTITY_MARESCIALLO, (Vector3){50.0, 50.0, 50.0}, QuaternionIdentity()}
};
addEntriesToWorld(
diff --git a/src/playerCamera.c b/src/playerCamera.c
index e7db154..fd7ffac 100644
--- a/src/playerCamera.c
+++ b/src/playerCamera.c
@@ -1,5 +1,6 @@
#include "playerCamera.h"
#include "game.h"
+#include "world.h"
void initPlayerCamera(Camera3D * camera) {
*camera = (Camera3D){
@@ -9,7 +10,7 @@ void initPlayerCamera(Camera3D * camera) {
}
void updatePlayerCamera(Camera3D * camera, Game * game) {
- Entity * player = &game->world.entities[0];
+ Entity * player = getEntityFromWorld(game->world, 0);
camera->target = player->position;
diff --git a/src/settings.c b/src/settings.c
index d46bc86..d58b222 100644
--- a/src/settings.c
+++ b/src/settings.c
@@ -2,9 +2,15 @@
void initSettings(Settings * settings) {
*settings = (Settings){
+ .controlMode = KEYBOARD_AND_MOUSE_CONTROL,
.mouseSensitivity = 0.05,
.scrollBarSpeed = 10.0,
- .controlMode = KEYBOARD_AND_MOUSE_CONTROL,
+ .gamePadNum = 0,
+ .pitchStick = 1,
+ .yawStick = 0,
+ .rollStick = 2,
+ .speedStick = 3,
+ .joystickSensitivity = 1.0,
.fps = 60,
.drawFps = true
};
diff --git a/src/settings.h b/src/settings.h
index 15cdcb7..0e648bb 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -10,10 +10,22 @@ typedef enum ControlMode {
} ControlMode;
typedef struct Settings {
+ // Player control stuff.
+ ControlMode controlMode;
+
+ // Keyboard and mouse control.
float mouseSensitivity;
float scrollBarSpeed;
- ControlMode controlMode;
+ // Joystick control.
+ int gamePadNum;
+ int pitchStick;
+ int yawStick;
+ int rollStick;
+ int speedStick;
+ float joystickSensitivity;
+
+ // Fps shit.
int fps;
bool drawFps;
} Settings;