45 #include "scriptreader.h" |
45 #include "scriptreader.h" |
46 #include "str.h" |
46 #include "str.h" |
47 #include "events.h" |
47 #include "events.h" |
48 |
48 |
49 EventDef* g_EventDef; |
49 EventDef* g_EventDef; |
|
50 |
|
51 // ============================================================================ |
|
52 // Read event definitions from file |
50 void ReadEvents () { |
53 void ReadEvents () { |
51 ScriptReader* r = new ScriptReader ("events.def"); |
54 ScriptReader* r = new ScriptReader ("events.def"); |
52 g_EventDef = NULL; |
55 g_EventDef = NULL; |
53 EventDef* curdef = g_EventDef; |
56 EventDef* curdef = g_EventDef; |
54 unsigned int numEventDefs = 0; |
57 unsigned int numEventDefs = 0; |
73 |
76 |
74 delete r; |
77 delete r; |
75 printf ("%d event definitions read.\n", numEventDefs); |
78 printf ("%d event definitions read.\n", numEventDefs); |
76 } |
79 } |
77 |
80 |
|
81 // ============================================================================ |
|
82 // Delete event definitions recursively |
78 void UnlinkEvents (EventDef* e) { |
83 void UnlinkEvents (EventDef* e) { |
79 if (e->next) |
84 if (e->next) |
80 UnlinkEvents (e->next); |
85 UnlinkEvents (e->next); |
81 delete e; |
86 delete e; |
82 } |
87 } |
83 |
88 |
|
89 // ============================================================================ |
|
90 // Finds an event definition by index |
84 EventDef* FindEventByIdx (unsigned int idx) { |
91 EventDef* FindEventByIdx (unsigned int idx) { |
85 EventDef* e = g_EventDef; |
92 EventDef* e = g_EventDef; |
86 while (idx > 0) { |
93 while (idx > 0) { |
87 if (!e->next) |
94 if (!e->next) |
88 return NULL; |
95 return NULL; |