1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
#include "infoScreen.h"
#include "game.h"
// Fuck this capitalist society. Long live Karl Marx!
const EntityUserInfo infoScreenEntityInfo[INFO_SCREEN_ENTITY_COUNT] = {
(EntityUserInfo){
.type = ENTITY_ANTIFA,
.assetId = ANTIFA_SHIP_ASSET,
.cameraPosition = (Vector3){10.0, 10.0, 10.0},
.msg = "The player ship. Its a anti fascist ship and is completely bad ass."
},
(EntityUserInfo){
.type = ENTITY_SOLDATO,
.assetId = SOLDATO_ASSET,
.cameraPosition = (Vector3){10.0, 10.0, 10.0},
.msg = "A wippy little ship. It follows the other ships like ants."
},
(EntityUserInfo){
.type = ENTITY_CAPORALE,
.assetId = CAPORATE_ASSET,
.cameraPosition = (Vector3){10.0, 10.0, 10.0},
.msg = "A pretty normal space ship. Often acts as a leader for the soldato."
},
(EntityUserInfo){
.type = ENTITY_SERGENTE,
.assetId = SERGENTE_ASSET,
.cameraPosition = (Vector3){10.0, 10.0, 10.0},
.msg = "A funny little dude that packs a lot of power"
},
(EntityUserInfo){
.type = ENTITY_MARESCIALLO,
.assetId = MARESCIALLO_ASSET,
.cameraPosition = (Vector3){10.0, 10.0, 10.0},
.msg = "A sneaky little ship based on a stealth jet."
},
(EntityUserInfo)
{
.type = ENTITY_GENERALE,
.assetId = GENERALE_ASSET,
.cameraPosition = (Vector3){10.0, 10.0, 10.0},
.msg = "A ufo that goes zig zag and shoots its epic deadly laser.",
},
(EntityUserInfo){
.type = ENTITY_MUSSOLINI,
.assetId = MUSSOLINI_ASSET,
.cameraPosition = (Vector3){100.0, 100.0, 100.0},
.msg = "A deadly mother fucker named after the Italian fascist dictator"
}
};
void initInfoScreen(Game * game) {
InfoScreen * infoScreen = &game->infoScreen;
infoScreen->goBackButton = (Rectangle){0.0, 25.0, 100.0, 50.0};
infoScreen->camera = (Camera3D){
.position = infoScreenEntityInfo[0].cameraPosition,
.target = Vector3Zero(),
.up = (Vector3){0.0, 1.0, 0.0},
.fovy = 90.0,
.projection = CAMERA_PERSPECTIVE
};
infoScreen->currentEntity = 0;
}
void updateInfoScreen(Game * game) {
InfoScreen * infoScreen = &game->infoScreen;
ClearBackground(BLACK);
if (GuiButton(infoScreen->goBackButton, "Back"))
game->screenId = SCREEN_MAIN_MENU;
EntityUserInfo info = infoScreenEntityInfo[infoScreen->currentEntity];
BeginMode3D(infoScreen->camera);
DrawModelWires(game->assets.models[info.assetId], Vector3Zero(), 1.0, GREEN);
DrawGrid(32, 5.0);
EndMode3D();
}
void resizeInfoScreen(Game * game, InfoScreen * infoScreen) {
}
|