author | koda |
Tue, 13 Nov 2012 23:56:50 +0100 | |
branch | webgl |
changeset 8050 | c82b68016c68 |
parent 7691 | 55c0a856ecd0 |
child 10017 | de822cd3df3a |
permissions | -rw-r--r-- |
7314
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
1 |
/* |
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
2 |
* Hedgewars, a free turn based strategy game |
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
3 |
* Copyright (C) 2012 Simeon Maxein <smaxein@googlemail.com> |
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
4 |
* |
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
5 |
* This program is free software; you can redistribute it and/or |
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
6 |
* modify it under the terms of the GNU General Public License |
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
7 |
* as published by the Free Software Foundation; either version 2 |
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
8 |
* of the License, or (at your option) any later version. |
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
9 |
* |
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
10 |
* This program is distributed in the hope that it will be useful, |
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
11 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
12 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
13 |
* GNU General Public License for more details. |
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
14 |
* |
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
15 |
* You should have received a copy of the GNU General Public License |
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
16 |
* along with this program; if not, write to the Free Software |
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
17 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
18 |
*/ |
6171f0bad318
frontlib: Fixes and improvements. Added a GPLv2+ license header to all frontlib
Medo <smaxein@googlemail.com>
parents:
7275
diff
changeset
|
19 |
|
7273
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
20 |
#include "netconn_internal.h" |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
21 |
|
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
22 |
#include "../util/logging.h" |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
23 |
#include "../util/util.h" |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
24 |
|
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
25 |
#include <string.h> |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
26 |
#include <stdlib.h> |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
27 |
#include <ctype.h> |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
28 |
|
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
29 |
static void defaultCallback_onMessage(void *context, int msgtype, const char *msg) { |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
30 |
flib_log_i("Net: [%i] %s", msgtype, msg); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
31 |
} |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
32 |
|
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
33 |
static void defaultCallback_onChat(void *context, const char *nick, const char *msg) { |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
34 |
flib_log_i("%s: %s", nick, msg); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
35 |
} |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
36 |
|
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
37 |
// Change the name by suffixing it with a number. If it already ends in a number, increase that number by 1. |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
38 |
static void defaultCallback_onNickTaken(void *context, const char *requestedNick) { |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
39 |
flib_netconn *conn = context; |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
40 |
size_t namelen = strlen(requestedNick); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
41 |
int digits = 0; |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
42 |
while(digits<namelen && isdigit(requestedNick[namelen-1-digits])) { |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
43 |
digits++; |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
44 |
} |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
45 |
long suffix = 0; |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
46 |
if(digits>0) { |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
47 |
suffix = atol(requestedNick+namelen-digits)+1; |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
48 |
} |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
49 |
char *newPlayerName = flib_asprintf("%.*s%li", namelen-digits, requestedNick, suffix); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
50 |
if(newPlayerName) { |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
51 |
flib_netconn_send_nick(conn, newPlayerName); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
52 |
} else { |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
53 |
flib_netconn_send_quit(conn, "Nick already taken."); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
54 |
} |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
55 |
free(newPlayerName); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
56 |
} |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
57 |
|
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
58 |
// Default behavior: Quit |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
59 |
static void defaultCallback_onPasswordRequest(void *context, const char *requestedNick) { |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
60 |
flib_netconn_send_quit((flib_netconn*)context, "Authentication failed"); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
61 |
} |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
62 |
|
7275
15f722e0b96f
frontlib: Getting there :) Added commandline client for testing
Medo <smaxein@googlemail.com>
parents:
7273
diff
changeset
|
63 |
void netconn_clearCallbacks(flib_netconn *conn) { |
7273
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
64 |
flib_netconn_onMessage(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
65 |
flib_netconn_onConnected(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
66 |
flib_netconn_onDisconnected(conn, NULL, NULL); |
7338 | 67 |
flib_netconn_onRoomlist(conn, NULL, NULL); |
7273
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
68 |
flib_netconn_onRoomAdd(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
69 |
flib_netconn_onRoomDelete(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
70 |
flib_netconn_onRoomUpdate(conn, NULL, NULL); |
7691
55c0a856ecd0
frontlib+Hedgeroid: Added support for the new client flags (chief, admin, reg)
Medo <smaxein@googlemail.com>
parents:
7580
diff
changeset
|
71 |
flib_netconn_onClientFlags(conn, NULL, NULL); |
7273
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
72 |
flib_netconn_onChat(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
73 |
flib_netconn_onLobbyJoin(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
74 |
flib_netconn_onLobbyLeave(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
75 |
flib_netconn_onRoomJoin(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
76 |
flib_netconn_onRoomLeave(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
77 |
flib_netconn_onNickTaken(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
78 |
flib_netconn_onPasswordRequest(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
79 |
flib_netconn_onEnterRoom(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
80 |
flib_netconn_onLeaveRoom(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
81 |
flib_netconn_onTeamAdd(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
82 |
flib_netconn_onTeamDelete(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
83 |
flib_netconn_onRunGame(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
84 |
flib_netconn_onTeamAccepted(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
85 |
flib_netconn_onHogCountChanged(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
86 |
flib_netconn_onTeamColorChanged(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
87 |
flib_netconn_onEngineMessage(conn, NULL, NULL); |
7580
c92596feac0d
frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents:
7482
diff
changeset
|
88 |
flib_netconn_onSchemeChanged(conn, NULL, NULL); |
7273
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
89 |
flib_netconn_onMapChanged(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
90 |
flib_netconn_onScriptChanged(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
91 |
flib_netconn_onWeaponsetChanged(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
92 |
flib_netconn_onServerVar(conn, NULL, NULL); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
93 |
} |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
94 |
|
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
95 |
/** |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
96 |
* This macro generates a callback setter function. It uses the name of the callback to |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
97 |
* automatically generate the function name and the fields to set, so a consistent naming |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
98 |
* convention needs to be enforced (not that that is a bad thing). If null is passed as |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
99 |
* callback to the generated function, the defaultCb will be set instead (with conn |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
100 |
* as the context). |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
101 |
*/ |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
102 |
#define GENERATE_CB_SETTER(cbName, cbParameterTypes, defaultCb) \ |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
103 |
void flib_netconn_##cbName(flib_netconn *conn, void (*callback)cbParameterTypes, void *context) { \ |
7316
f7b49b2c5d84
frontlib: Improved and unified parameter checking, moved the cmdlineClient out
Medo <smaxein@googlemail.com>
parents:
7314
diff
changeset
|
104 |
if(!log_badargs_if(conn==NULL)) { \ |
7273
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
105 |
conn->cbName##Cb = callback ? callback : &defaultCb; \ |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
106 |
conn->cbName##Ctx = callback ? context : conn; \ |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
107 |
} \ |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
108 |
} |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
109 |
|
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
110 |
/** |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
111 |
* Generate a callback setter function like GENERATE_CB_SETTER, and automatically generate a |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
112 |
* no-op callback function as well that is used as default. |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
113 |
*/ |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
114 |
#define GENERATE_CB_SETTER_AND_DEFAULT(cbName, cbParameterTypes) \ |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
115 |
static void _noop_callback_##cbName cbParameterTypes {} \ |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
116 |
GENERATE_CB_SETTER(cbName, cbParameterTypes, _noop_callback_##cbName) |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
117 |
|
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
118 |
GENERATE_CB_SETTER(onMessage, (void *context, int msgtype, const char *msg), defaultCallback_onMessage); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
119 |
GENERATE_CB_SETTER_AND_DEFAULT(onConnected, (void *context)); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
120 |
GENERATE_CB_SETTER_AND_DEFAULT(onDisconnected, (void *context, int reason, const char *message)); |
7338 | 121 |
GENERATE_CB_SETTER_AND_DEFAULT(onRoomlist, (void *context, const flib_room **rooms, int roomCount)); |
7275
15f722e0b96f
frontlib: Getting there :) Added commandline client for testing
Medo <smaxein@googlemail.com>
parents:
7273
diff
changeset
|
122 |
GENERATE_CB_SETTER_AND_DEFAULT(onRoomAdd, (void *context, const flib_room *room)); |
7273
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
123 |
GENERATE_CB_SETTER_AND_DEFAULT(onRoomDelete, (void *context, const char *name)); |
7275
15f722e0b96f
frontlib: Getting there :) Added commandline client for testing
Medo <smaxein@googlemail.com>
parents:
7273
diff
changeset
|
124 |
GENERATE_CB_SETTER_AND_DEFAULT(onRoomUpdate, (void *context, const char *oldName, const flib_room *room)); |
7691
55c0a856ecd0
frontlib+Hedgeroid: Added support for the new client flags (chief, admin, reg)
Medo <smaxein@googlemail.com>
parents:
7580
diff
changeset
|
125 |
GENERATE_CB_SETTER_AND_DEFAULT(onClientFlags, (void *context, const char *nick, const char *flags, bool newFlagState)); |
7273
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
126 |
GENERATE_CB_SETTER(onChat, (void *context, const char *nick, const char *msg), defaultCallback_onChat); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
127 |
GENERATE_CB_SETTER_AND_DEFAULT(onLobbyJoin, (void *context, const char *nick)); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
128 |
GENERATE_CB_SETTER_AND_DEFAULT(onLobbyLeave, (void *context, const char *nick, const char *partMsg)); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
129 |
GENERATE_CB_SETTER_AND_DEFAULT(onRoomJoin, (void *context, const char *nick)); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
130 |
GENERATE_CB_SETTER_AND_DEFAULT(onRoomLeave, (void *context, const char *nick, const char *partMessage)); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
131 |
GENERATE_CB_SETTER(onNickTaken, (void *context, const char *nick), defaultCallback_onNickTaken); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
132 |
GENERATE_CB_SETTER(onPasswordRequest, (void *context, const char *nick), defaultCallback_onPasswordRequest); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
133 |
GENERATE_CB_SETTER_AND_DEFAULT(onEnterRoom, (void *context, bool chief)); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
134 |
GENERATE_CB_SETTER_AND_DEFAULT(onLeaveRoom, (void *context, int reason, const char *message)); |
7320
e704706008d4
frontlib: Renamed cfg to scheme, Un-refcounted some types, small API adjustments
Medo <smaxein@googlemail.com>
parents:
7316
diff
changeset
|
135 |
GENERATE_CB_SETTER_AND_DEFAULT(onTeamAdd, (void *context, const flib_team *team)); |
7273
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
136 |
GENERATE_CB_SETTER_AND_DEFAULT(onTeamDelete, (void *context, const char *teamname)); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
137 |
GENERATE_CB_SETTER_AND_DEFAULT(onRunGame, (void *context)); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
138 |
GENERATE_CB_SETTER_AND_DEFAULT(onTeamAccepted, (void *context, const char *teamName)); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
139 |
GENERATE_CB_SETTER_AND_DEFAULT(onHogCountChanged, (void *context, const char *teamName, int hogs)); |
7275
15f722e0b96f
frontlib: Getting there :) Added commandline client for testing
Medo <smaxein@googlemail.com>
parents:
7273
diff
changeset
|
140 |
GENERATE_CB_SETTER_AND_DEFAULT(onTeamColorChanged, (void *context, const char *teamName, int colorIndex)); |
15f722e0b96f
frontlib: Getting there :) Added commandline client for testing
Medo <smaxein@googlemail.com>
parents:
7273
diff
changeset
|
141 |
GENERATE_CB_SETTER_AND_DEFAULT(onEngineMessage, (void *context, const uint8_t *message, size_t size)); |
7580
c92596feac0d
frontlib: Improved documentation of netconn, unified naming of a callback
Medo <smaxein@googlemail.com>
parents:
7482
diff
changeset
|
142 |
GENERATE_CB_SETTER_AND_DEFAULT(onSchemeChanged, (void *context, const flib_scheme *scheme)); |
7273
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
143 |
GENERATE_CB_SETTER_AND_DEFAULT(onMapChanged, (void *context, const flib_map *map, int changetype)); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
144 |
GENERATE_CB_SETTER_AND_DEFAULT(onScriptChanged, (void *context, const char *script)); |
7320
e704706008d4
frontlib: Renamed cfg to scheme, Un-refcounted some types, small API adjustments
Medo <smaxein@googlemail.com>
parents:
7316
diff
changeset
|
145 |
GENERATE_CB_SETTER_AND_DEFAULT(onWeaponsetChanged, (void *context, const flib_weaponset *weaponset)); |
7273
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
146 |
GENERATE_CB_SETTER_AND_DEFAULT(onServerVar, (void *context, const char *name, const char *value)); |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
147 |
|
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
148 |
#undef GENERATE_CB_SETTER_AND_DEFAULT |
8eed495fd8da
frontlib: Using macros for simplification of callbacks
Medo <smaxein@googlemail.com>
parents:
diff
changeset
|
149 |
#undef GENERATE_CB_SETTER |