all repos — hyperkaos @ 3fdb0666894383bd7172fe3091bf6402c23e811a

lightweight modular puzzle/adventure game engine in C with SDL 1.2

Kaos.h (raw)

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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
typedef struct player Player;
typedef struct hyperKaos HyperKaos;

typedef struct kaos
{
  void* kType;
  void (*run)(struct kaos* self);
  void (*destroy)(struct kaos* self);
  struct kaos* next;
} Kaos;

typedef struct kaos_Conversation
{
  Kaos* core;
  int index;
} Conversation;

typedef struct kaos_Choice
{
  Kaos* core;
  SDL_Surface* question;
  SDL_Surface* answ1;
  SDL_Surface* answ2;
  HyperKaos* path1;
  HyperKaos* path2;
} Choice;

typedef struct kaos_Manip
{
  Kaos* core;
  Player* target;
  int xSpd, ySpd;
} Manip;

typedef struct kaos_Look
{
  Kaos* core;
  Player* target;
  char dir;
} Look;

typedef struct kaos_FaceEachother
{
  Kaos* core;
  Player* p1;
  Player* p2;
} FaceEachother;

typedef struct kaos_PlaySound
{
  Kaos* core;
  int i;
} PlaySound;

typedef struct kaos_Teleport
{
  Kaos* core;
  Player* target;
  int x, y;
  int out;
  SDL_Surface* aura;
} Teleport;

typedef struct kaos_Erase
{
  Kaos* core;
  char type;
  int index;
} Erase;

typedef struct kaos_Wait
{
  Kaos* core;
  char type;
  int frames;
} Wait;

typedef struct kaos_Spell_Beam
{
  Kaos* core;
  SDL_Surface* aura;
} Spell_Beam;

Kaos* rawKaos();

Kaos* newConversation(int i);
void runConversation(Kaos* self);
void deleteConversation(Kaos* target);

Kaos* newChoice(char* q, char* a1, char* a2, HyperKaos* p1, HyperKaos* p2);
void runChoice(Kaos* self);
void deleteChoice(Kaos* target);

Kaos* newManip(Player* t, int x, int y);
void runManip(Kaos* self);
void deleteManip(Kaos* target);

Kaos* newLook(Player* t, char d);
void runLook(Kaos* self);
void deleteLook(Kaos* target);

Kaos* newTeleport(Player* p, int x, int y, int o);
void runTeleport(Kaos* self);
void deleteTeleport(Kaos* target);

Kaos* newFaceEachother(Player* p1, Player* p2);
void runFaceEachother(Kaos* self);
void deleteFaceEachother(Kaos* target);

Kaos* newPlaySound(int i);
void runPlaySound(Kaos* self);
void deletePlaySound(Kaos* target);

Kaos* newErase(char t, int i);
void runErase(Kaos* self);
void deleteErase(Kaos* target);

Kaos* newWait(char t, int i);
void runWait(Kaos* self);
void deleteWait(Kaos* target);

Kaos* newSpell_Beam();
void runSpell_Beam(Kaos* self);
void deleteSpell_Beam(Kaos* target);