17
17
18
18
#include <string.h>
19
19
20
+ #define DECLARE_SEQUENCE_EVENT_HANDLER_FUNC (name ) \
21
+ int32_t name( \
22
+ JSON_OBJECT *event_obj, GAME_FLOW_SEQUENCE_EVENT *event, \
23
+ void *extra_data, void *user_arg)
20
24
typedef int32_t (* M_SEQUENCE_EVENT_HANDLER_FUNC )(
21
25
JSON_OBJECT * event_obj , GAME_FLOW_SEQUENCE_EVENT * event , void * extra_data ,
22
26
void * user_arg );
23
-
24
27
typedef struct {
25
28
GAME_FLOW_SEQUENCE_EVENT_TYPE event_type ;
26
29
M_SEQUENCE_EVENT_HANDLER_FUNC handler_func ;
@@ -31,28 +34,20 @@ typedef void (*M_LOAD_ARRAY_FUNC)(
31
34
JSON_OBJECT * source_elem , GAME_FLOW * gf , void * target_elem ,
32
35
size_t target_elem_idx , void * user_arg );
33
36
37
+ static GAME_OBJECT_ID M_GetObjectFromJSONValue (const JSON_VALUE * value );
38
+
34
39
static void M_LoadArray (
35
40
JSON_OBJECT * obj , const char * key , size_t element_size ,
36
41
M_LOAD_ARRAY_FUNC load_func , GAME_FLOW * gf , int32_t * count , void * * elements ,
37
42
void * user_arg );
38
43
39
- static GAME_OBJECT_ID M_GetObjectFromJSONValue (const JSON_VALUE * value );
40
44
static bool M_IsLegacySequence (const char * type_str );
41
- static int32_t M_HandleIntEvent (
42
- JSON_OBJECT * event_obj , GAME_FLOW_SEQUENCE_EVENT * event , void * extra_data ,
43
- void * user_arg );
44
- static int32_t M_HandlePictureEvent (
45
- JSON_OBJECT * event_obj , GAME_FLOW_SEQUENCE_EVENT * event , void * extra_data ,
46
- void * user_arg );
47
- static int32_t M_HandleTotalStatsEvent (
48
- JSON_OBJECT * event_obj , GAME_FLOW_SEQUENCE_EVENT * event , void * extra_data ,
49
- void * user_arg );
50
- static int32_t M_HandleAddItemEvent (
51
- JSON_OBJECT * event_obj , GAME_FLOW_SEQUENCE_EVENT * event , void * extra_data ,
52
- void * user_arg );
53
- static int32_t M_HandleMeshSwapEvent (
54
- JSON_OBJECT * event_obj , GAME_FLOW_SEQUENCE_EVENT * event , void * extra_data ,
55
- void * user_arg );
45
+ static DECLARE_SEQUENCE_EVENT_HANDLER_FUNC (M_HandleIntEvent );
46
+ static DECLARE_SEQUENCE_EVENT_HANDLER_FUNC (M_HandlePictureEvent );
47
+ static DECLARE_SEQUENCE_EVENT_HANDLER_FUNC (M_HandleTotalStatsEvent );
48
+ static DECLARE_SEQUENCE_EVENT_HANDLER_FUNC (M_HandleAddItemEvent );
49
+ static DECLARE_SEQUENCE_EVENT_HANDLER_FUNC (M_HandleMeshSwapEvent );
50
+
56
51
static void M_LoadSettings (
57
52
JSON_OBJECT * obj , GAME_FLOW_LEVEL_SETTINGS * settings );
58
53
static void M_LoadLevelSequence (
@@ -167,9 +162,7 @@ static bool M_IsLegacySequence(const char *const type_str)
167
162
|| strcmp (type_str , "stop_cine" ) == 0 ;
168
163
}
169
164
170
- static int32_t M_HandleIntEvent (
171
- JSON_OBJECT * const event_obj , GAME_FLOW_SEQUENCE_EVENT * const event ,
172
- void * const extra_data , void * const user_arg )
165
+ static DECLARE_SEQUENCE_EVENT_HANDLER_FUNC (M_HandleIntEvent )
173
166
{
174
167
if (event != NULL ) {
175
168
event -> data =
@@ -178,9 +171,7 @@ static int32_t M_HandleIntEvent(
178
171
return 0 ;
179
172
}
180
173
181
- static int32_t M_HandlePictureEvent (
182
- JSON_OBJECT * const event_obj , GAME_FLOW_SEQUENCE_EVENT * const event ,
183
- void * const extra_data , void * const user_arg )
174
+ static DECLARE_SEQUENCE_EVENT_HANDLER_FUNC (M_HandlePictureEvent )
184
175
{
185
176
const char * const path = JSON_ObjectGetString (event_obj , "path" , NULL );
186
177
if (path == NULL ) {
@@ -199,9 +190,7 @@ static int32_t M_HandlePictureEvent(
199
190
return sizeof (GAME_FLOW_DISPLAY_PICTURE_DATA ) + strlen (path ) + 1 ;
200
191
}
201
192
202
- static int32_t M_HandleTotalStatsEvent (
203
- JSON_OBJECT * const event_obj , GAME_FLOW_SEQUENCE_EVENT * const event ,
204
- void * const extra_data , void * const user_arg )
193
+ static DECLARE_SEQUENCE_EVENT_HANDLER_FUNC (M_HandleTotalStatsEvent )
205
194
{
206
195
const char * const path =
207
196
JSON_ObjectGetString (event_obj , "background_path" , NULL );
@@ -217,9 +206,7 @@ static int32_t M_HandleTotalStatsEvent(
217
206
return strlen (path ) + 1 ;
218
207
}
219
208
220
- static int32_t M_HandleAddItemEvent (
221
- JSON_OBJECT * const event_obj , GAME_FLOW_SEQUENCE_EVENT * const event ,
222
- void * const extra_data , void * const user_arg )
209
+ static DECLARE_SEQUENCE_EVENT_HANDLER_FUNC (M_HandleAddItemEvent )
223
210
{
224
211
const GAME_OBJECT_ID object_id =
225
212
M_GetObjectFromJSONValue (JSON_ObjectGetValue (event_obj , "object_id" ));
@@ -236,9 +223,7 @@ static int32_t M_HandleAddItemEvent(
236
223
return sizeof (GAME_FLOW_ADD_ITEM_DATA );
237
224
}
238
225
239
- static int32_t M_HandleMeshSwapEvent (
240
- JSON_OBJECT * const event_obj , GAME_FLOW_SEQUENCE_EVENT * const event ,
241
- void * const extra_data , void * const user_arg )
226
+ static DECLARE_SEQUENCE_EVENT_HANDLER_FUNC (M_HandleMeshSwapEvent )
242
227
{
243
228
const GAME_OBJECT_ID object1_id =
244
229
M_GetObjectFromJSONValue (JSON_ObjectGetValue (event_obj , "object1_id" ));
0 commit comments