@@ -119,157 +119,120 @@ UnsignedShort GenerateNextCommandID() {
119119/* *
120120 * Returns true if this type of command requires a unique command ID.
121121 */
122- Bool DoesCommandRequireACommandID (NetCommandType type) {
123- if ((type == NETCOMMANDTYPE_GAMECOMMAND ) ||
124- (type == NETCOMMANDTYPE_FRAMEINFO ) ||
125- (type == NETCOMMANDTYPE_PLAYERLEAVE ) ||
126- (type == NETCOMMANDTYPE_DESTROYPLAYER ) ||
127- (type == NETCOMMANDTYPE_RUNAHEADMETRICS ) ||
128- (type == NETCOMMANDTYPE_RUNAHEAD ) ||
129- (type == NETCOMMANDTYPE_CHAT ) ||
130- (type == NETCOMMANDTYPE_DISCONNECTVOTE ) ||
131- (type == NETCOMMANDTYPE_LOADCOMPLETE ) ||
132- (type == NETCOMMANDTYPE_TIMEOUTSTART ) ||
133- (type == NETCOMMANDTYPE_WRAPPER ) ||
134- (type == NETCOMMANDTYPE_FILE ) ||
135- (type == NETCOMMANDTYPE_FILEANNOUNCE ) ||
136- (type == NETCOMMANDTYPE_FILEPROGRESS ) ||
137- (type == NETCOMMANDTYPE_DISCONNECTPLAYER ) ||
138- (type == NETCOMMANDTYPE_DISCONNECTFRAME ) ||
139- (type == NETCOMMANDTYPE_DISCONNECTSCREENOFF ) ||
140- (type == NETCOMMANDTYPE_FRAMERESENDREQUEST ))
141- {
122+ Bool DoesCommandRequireACommandID (NetCommandType type)
123+ {
124+ switch (type) {
125+ case NETCOMMANDTYPE_FRAMEINFO :
126+ case NETCOMMANDTYPE_GAMECOMMAND :
127+ case NETCOMMANDTYPE_PLAYERLEAVE :
128+ case NETCOMMANDTYPE_RUNAHEADMETRICS :
129+ case NETCOMMANDTYPE_RUNAHEAD :
130+ case NETCOMMANDTYPE_DESTROYPLAYER :
131+ case NETCOMMANDTYPE_CHAT :
132+ case NETCOMMANDTYPE_LOADCOMPLETE :
133+ case NETCOMMANDTYPE_TIMEOUTSTART :
134+ case NETCOMMANDTYPE_WRAPPER :
135+ case NETCOMMANDTYPE_FILE :
136+ case NETCOMMANDTYPE_FILEANNOUNCE :
137+ case NETCOMMANDTYPE_FILEPROGRESS :
138+ case NETCOMMANDTYPE_FRAMERESENDREQUEST :
139+ case NETCOMMANDTYPE_DISCONNECTPLAYER :
140+ case NETCOMMANDTYPE_DISCONNECTVOTE :
141+ case NETCOMMANDTYPE_DISCONNECTFRAME :
142+ case NETCOMMANDTYPE_DISCONNECTSCREENOFF :
142143 return TRUE ;
144+ default :
145+ return FALSE ;
143146 }
144- return FALSE ;
145147}
146148
147149/* *
148150 * Returns true if this type of network command requires an ack.
149151 */
150- Bool CommandRequiresAck (NetCommandMsg *msg) {
151- if ((msg->getNetCommandType () == NETCOMMANDTYPE_GAMECOMMAND ) ||
152- (msg->getNetCommandType () == NETCOMMANDTYPE_FRAMEINFO ) ||
153- (msg->getNetCommandType () == NETCOMMANDTYPE_PLAYERLEAVE ) ||
154- (msg->getNetCommandType () == NETCOMMANDTYPE_DESTROYPLAYER ) ||
155- (msg->getNetCommandType () == NETCOMMANDTYPE_RUNAHEADMETRICS ) ||
156- (msg->getNetCommandType () == NETCOMMANDTYPE_RUNAHEAD ) ||
157- (msg->getNetCommandType () == NETCOMMANDTYPE_CHAT ) ||
158- (msg->getNetCommandType () == NETCOMMANDTYPE_DISCONNECTVOTE ) ||
159- (msg->getNetCommandType () == NETCOMMANDTYPE_DISCONNECTPLAYER ) ||
160- (msg->getNetCommandType () == NETCOMMANDTYPE_LOADCOMPLETE ) ||
161- (msg->getNetCommandType () == NETCOMMANDTYPE_TIMEOUTSTART ) ||
162- (msg->getNetCommandType () == NETCOMMANDTYPE_WRAPPER ) ||
163- (msg->getNetCommandType () == NETCOMMANDTYPE_FILE ) ||
164- (msg->getNetCommandType () == NETCOMMANDTYPE_FILEANNOUNCE ) ||
165- (msg->getNetCommandType () == NETCOMMANDTYPE_FILEPROGRESS ) ||
166- (msg->getNetCommandType () == NETCOMMANDTYPE_DISCONNECTPLAYER ) ||
167- (msg->getNetCommandType () == NETCOMMANDTYPE_DISCONNECTFRAME ) ||
168- (msg->getNetCommandType () == NETCOMMANDTYPE_DISCONNECTSCREENOFF ) ||
169- (msg->getNetCommandType () == NETCOMMANDTYPE_FRAMERESENDREQUEST ))
170- {
171- return TRUE ;
172- }
173- return FALSE ;
152+ Bool CommandRequiresAck (const NetCommandMsg* msg)
153+ {
154+ return DoesCommandRequireACommandID (msg->getNetCommandType ());
174155}
175156
176- Bool IsCommandSynchronized (NetCommandType type) {
177- if ((type == NETCOMMANDTYPE_GAMECOMMAND ) ||
178- (type == NETCOMMANDTYPE_FRAMEINFO ) ||
179- (type == NETCOMMANDTYPE_PLAYERLEAVE ) ||
180- (type == NETCOMMANDTYPE_DESTROYPLAYER ) ||
181- (type == NETCOMMANDTYPE_RUNAHEAD ))
182- {
157+ Bool IsCommandSynchronized (NetCommandType type)
158+ {
159+ switch (type) {
160+ case NETCOMMANDTYPE_FRAMEINFO :
161+ case NETCOMMANDTYPE_GAMECOMMAND :
162+ case NETCOMMANDTYPE_PLAYERLEAVE :
163+ case NETCOMMANDTYPE_RUNAHEAD :
164+ case NETCOMMANDTYPE_DESTROYPLAYER :
183165 return TRUE ;
166+ default :
167+ return FALSE ;
184168 }
185- return FALSE ;
186169}
187170
188171/* *
189172 * Returns true if this type of network command requires the ack to be sent directly to the player
190173 * rather than going through the packet router. This should really only be used by commands
191174 * used on the disconnect screen.
192175 */
193- Bool CommandRequiresDirectSend (NetCommandMsg *msg) {
194- if ((msg->getNetCommandType () == NETCOMMANDTYPE_DISCONNECTVOTE ) ||
195- (msg->getNetCommandType () == NETCOMMANDTYPE_DISCONNECTPLAYER ) ||
196- (msg->getNetCommandType () == NETCOMMANDTYPE_LOADCOMPLETE ) ||
197- (msg->getNetCommandType () == NETCOMMANDTYPE_TIMEOUTSTART ) ||
198- (msg->getNetCommandType () == NETCOMMANDTYPE_FILE ) ||
199- (msg->getNetCommandType () == NETCOMMANDTYPE_FILEANNOUNCE ) ||
200- (msg->getNetCommandType () == NETCOMMANDTYPE_FILEPROGRESS ) ||
201- (msg->getNetCommandType () == NETCOMMANDTYPE_DISCONNECTFRAME ) ||
202- (msg->getNetCommandType () == NETCOMMANDTYPE_DISCONNECTSCREENOFF ) ||
203- (msg->getNetCommandType () == NETCOMMANDTYPE_FRAMERESENDREQUEST )) {
204- return TRUE ;
205- }
206- return FALSE ;
207- }
208-
209- const char * GetNetCommandTypeAsString (NetCommandType type) {
210-
211- switch (type) {
212- case NETCOMMANDTYPE_ACKBOTH :
213- return " NETCOMMANDTYPE_ACKBOTH" ;
214- case NETCOMMANDTYPE_ACKSTAGE1 :
215- return " NETCOMMANDTYPE_ACKSTAGE1" ;
216- case NETCOMMANDTYPE_ACKSTAGE2 :
217- return " NETCOMMANDTYPE_ACKSTAGE2" ;
218- case NETCOMMANDTYPE_FRAMEINFO :
219- return " NETCOMMANDTYPE_FRAMEINFO" ;
220- case NETCOMMANDTYPE_GAMECOMMAND :
221- return " NETCOMMANDTYPE_GAMECOMMAND" ;
222- case NETCOMMANDTYPE_PLAYERLEAVE :
223- return " NETCOMMANDTYPE_PLAYERLEAVE" ;
224- case NETCOMMANDTYPE_RUNAHEADMETRICS :
225- return " NETCOMMANDTYPE_RUNAHEADMETRICS" ;
226- case NETCOMMANDTYPE_RUNAHEAD :
227- return " NETCOMMANDTYPE_RUNAHEAD" ;
228- case NETCOMMANDTYPE_DESTROYPLAYER :
229- return " NETCOMMANDTYPE_DESTROYPLAYER" ;
230- case NETCOMMANDTYPE_KEEPALIVE :
231- return " NETCOMMANDTYPE_KEEPALIVE" ;
232- case NETCOMMANDTYPE_DISCONNECTCHAT :
233- return " NETCOMMANDTYPE_DISCONNECTCHAT" ;
234- case NETCOMMANDTYPE_CHAT :
235- return " NETCOMMANDTYPE_CHAT" ;
236- case NETCOMMANDTYPE_MANGLERQUERY :
237- return " NETCOMMANDTYPE_MANGLERQUERY" ;
238- case NETCOMMANDTYPE_MANGLERRESPONSE :
239- return " NETCOMMANDTYPE_MANGLERRESPONSE" ;
240- case NETCOMMANDTYPE_PROGRESS :
241- return " NETCOMMANDTYPE_PROGRESS" ;
176+ Bool CommandRequiresDirectSend (const NetCommandMsg* msg)
177+ {
178+ switch (msg->getNetCommandType ()) {
242179 case NETCOMMANDTYPE_LOADCOMPLETE :
243- return " NETCOMMANDTYPE_LOADCOMPLETE" ;
244180 case NETCOMMANDTYPE_TIMEOUTSTART :
245- return " NETCOMMANDTYPE_TIMEOUTSTART" ;
246- case NETCOMMANDTYPE_WRAPPER :
247- return " NETCOMMANDTYPE_WRAPPER" ;
248181 case NETCOMMANDTYPE_FILE :
249- return " NETCOMMANDTYPE_FILE" ;
250182 case NETCOMMANDTYPE_FILEANNOUNCE :
251- return " NETCOMMANDTYPE_FILEANNOUNCE" ;
252183 case NETCOMMANDTYPE_FILEPROGRESS :
253- return " NETCOMMANDTYPE_FILEPROGRESS" ;
254- case NETCOMMANDTYPE_DISCONNECTKEEPALIVE :
255- return " NETCOMMANDTYPE_DISCONNECTKEEPALIVE" ;
184+ case NETCOMMANDTYPE_FRAMERESENDREQUEST :
256185 case NETCOMMANDTYPE_DISCONNECTPLAYER :
257- return " NETCOMMANDTYPE_DISCONNECTPLAYER" ;
258- case NETCOMMANDTYPE_PACKETROUTERQUERY :
259- return " NETCOMMANDTYPE_PACKETROUTERQUERY" ;
260- case NETCOMMANDTYPE_PACKETROUTERACK :
261- return " NETCOMMANDTYPE_PACKETROUTERACK" ;
262186 case NETCOMMANDTYPE_DISCONNECTVOTE :
263- return " NETCOMMANDTYPE_DISCONNECTVOTE" ;
264187 case NETCOMMANDTYPE_DISCONNECTFRAME :
265- return " NETCOMMANDTYPE_DISCONNECTFRAME" ;
266188 case NETCOMMANDTYPE_DISCONNECTSCREENOFF :
267- return " NETCOMMANDTYPE_DISCONNECTSCREENOFF" ;
268- case NETCOMMANDTYPE_FRAMERESENDREQUEST :
269- return " NETCOMMANDTYPE_FRAMERESENDREQUEST" ;
189+ return TRUE ;
190+ default :
191+ return FALSE ;
192+ }
193+ }
194+
195+ const char * GetNetCommandTypeAsString (NetCommandType type)
196+ {
197+ #define CASE_LABEL (x ) case x: return #x;
198+
199+ switch (type) {
200+ CASE_LABEL (NETCOMMANDTYPE_UNKNOWN )
201+ CASE_LABEL (NETCOMMANDTYPE_ACKBOTH )
202+ CASE_LABEL (NETCOMMANDTYPE_ACKSTAGE1 )
203+ CASE_LABEL (NETCOMMANDTYPE_ACKSTAGE2 )
204+ CASE_LABEL (NETCOMMANDTYPE_FRAMEINFO )
205+ CASE_LABEL (NETCOMMANDTYPE_GAMECOMMAND )
206+ CASE_LABEL (NETCOMMANDTYPE_PLAYERLEAVE )
207+ CASE_LABEL (NETCOMMANDTYPE_RUNAHEADMETRICS )
208+ CASE_LABEL (NETCOMMANDTYPE_RUNAHEAD )
209+ CASE_LABEL (NETCOMMANDTYPE_DESTROYPLAYER )
210+ CASE_LABEL (NETCOMMANDTYPE_KEEPALIVE )
211+ CASE_LABEL (NETCOMMANDTYPE_DISCONNECTCHAT )
212+ CASE_LABEL (NETCOMMANDTYPE_CHAT )
213+ CASE_LABEL (NETCOMMANDTYPE_MANGLERQUERY )
214+ CASE_LABEL (NETCOMMANDTYPE_MANGLERRESPONSE )
215+ CASE_LABEL (NETCOMMANDTYPE_PROGRESS )
216+ CASE_LABEL (NETCOMMANDTYPE_LOADCOMPLETE )
217+ CASE_LABEL (NETCOMMANDTYPE_TIMEOUTSTART )
218+ CASE_LABEL (NETCOMMANDTYPE_WRAPPER )
219+ CASE_LABEL (NETCOMMANDTYPE_FILE )
220+ CASE_LABEL (NETCOMMANDTYPE_FILEANNOUNCE )
221+ CASE_LABEL (NETCOMMANDTYPE_FILEPROGRESS )
222+ CASE_LABEL (NETCOMMANDTYPE_FRAMERESENDREQUEST )
223+ CASE_LABEL (NETCOMMANDTYPE_DISCONNECTSTART )
224+ CASE_LABEL (NETCOMMANDTYPE_DISCONNECTKEEPALIVE )
225+ CASE_LABEL (NETCOMMANDTYPE_DISCONNECTPLAYER )
226+ CASE_LABEL (NETCOMMANDTYPE_PACKETROUTERQUERY )
227+ CASE_LABEL (NETCOMMANDTYPE_PACKETROUTERACK )
228+ CASE_LABEL (NETCOMMANDTYPE_DISCONNECTVOTE )
229+ CASE_LABEL (NETCOMMANDTYPE_DISCONNECTFRAME )
230+ CASE_LABEL (NETCOMMANDTYPE_DISCONNECTSCREENOFF )
231+ CASE_LABEL (NETCOMMANDTYPE_DISCONNECTEND )
270232 default :
271- DEBUG_CRASH ((" Unknown NetCommandType in GetNetCommandTypeAsString" ));
272- return " UNKNOWN " ;
233+ DEBUG_CRASH ((" Unhandled NetCommandType in GetNetCommandTypeAsString" ));
234+ return " <NETCOMMANDTYPE_INVALID> " ;
273235 }
274236
237+ #undef CASE_LABEL
275238}
0 commit comments