@@ -67,26 +67,16 @@ CAddonManager::~CAddonManager( void )
6767void CAddonManager::GameFrame ()
6868{
6969 // Dispatch all tick listeners
70- get_tick_listener_manager ()->call_listeners (0 );
70+ get_tick_listener_manager ()->call_listeners ();
7171}
7272
7373// ---------------------------------------------------------------------------------
7474// Calls network id validated listeners.
7575// ---------------------------------------------------------------------------------
7676void CAddonManager::NetworkIDValidated ( const char *pszUserName, const char *pszNetworkID )
7777{
78- // Wrap the parameters
79- CListenerManager::Param p1, p2;
80-
81- p1.name =" playername" ;
82- p1.type =CListenerManager::CONST_CHAR_PTR;
83- p1.const_char_ptr = pszUserName;
84-
85- p2.name =" networkid" ;
86- p2.type =CListenerManager::CONST_CHAR_PTR;
87- p2.const_char_ptr = pszNetworkID;
8878 // Dispatch all NetwordIDValidatedListeners
89- get_networkid_validated_listener_manager ()->call_listeners (2 , p1, p2 );
79+ get_networkid_validated_listener_manager ()->call_listeners (pszUserName, pszNetworkID );
9080}
9181
9282
@@ -95,14 +85,8 @@ void CAddonManager::NetworkIDValidated( const char *pszUserName, const char *psz
9585// ---------------------------------------------------------------------------------
9686void CAddonManager::LevelInit ( char const *pMapName )
9787{
98- // Wrap the parameters
99- CListenerManager::Param p1;
100-
101- p1.name =" mapname" ;
102- p1.type =CListenerManager::CONST_CHAR_PTR;
103- p1.const_char_ptr = pMapName;
10488 // Dispatch all LevelInit listeners
105- get_level_init_listener_manager ()->call_listeners (1 , p1 );
89+ get_level_init_listener_manager ()->call_listeners (pMapName );
10690}
10791
10892// ---------------------------------------------------------------------------------
@@ -111,22 +95,8 @@ void CAddonManager::LevelInit( char const *pMapName )
11195// TODO: will not work if this is really a list
11296void CAddonManager::ServerActivate ( edict_t *pEdictList, int edictCount, int clientMax )
11397{
114- // Wrap the parameters
115- CListenerManager::Param p1, p2, p3;
116-
117- p1.name =" edictlist" ;
118- p1.type =CListenerManager::EDICT_T_PTR;
119- p1.edict_t_ptr = pEdictList;
120-
121- p2.name =" edict_count" ;
122- p2.type =CListenerManager::INT;
123- p2.int_value =edictCount;
124-
125- p3.name =" max_clients" ;
126- p3.type =CListenerManager::INT;
127- p3.int_value =clientMax;
12898 // Dispatch all LevelInit listeners
129- get_server_activate_listener_manager ()->call_listeners (3 , p1, p2, p3 );
99+ get_server_activate_listener_manager ()->call_listeners (pEdictList, edictCount, clientMax );
130100}
131101
132102// ---------------------------------------------------------------------------------
@@ -135,7 +105,7 @@ void CAddonManager::ServerActivate( edict_t *pEdictList, int edictCount, int cli
135105void CAddonManager::LevelShutdown ( void )
136106{
137107 // Dispatch all tick listeners
138- get_level_shutdown_listener_manager ()->call_listeners (0 );
108+ get_level_shutdown_listener_manager ()->call_listeners ();
139109}
140110
141111
@@ -144,63 +114,35 @@ void CAddonManager::LevelShutdown( void )
144114// ---------------------------------------------------------------------------------
145115void CAddonManager::ClientActive ( edict_t *pEntity )
146116{
147- // Wrap the parameters
148- CListenerManager::Param p1;
149-
150- p1.name =" edict" ;
151- p1.type =CListenerManager::EDICT_T_PTR;
152- p1.edict_t_ptr = pEntity;
153117 // Dispatch all LevelInit listeners
154- get_client_active_listener_manager ()->call_listeners (1 , p1 );
118+ get_client_active_listener_manager ()->call_listeners (pEntity );
155119}
156120
157121// ---------------------------------------------------------------------------------
158122// Calls client disconnect listeners.
159123// ---------------------------------------------------------------------------------
160124void CAddonManager::ClientDisconnect ( edict_t *pEntity )
161125{
162- // Wrap the parameters
163- CListenerManager::Param p1;
164-
165- p1.name =" edict" ;
166- p1.type =CListenerManager::EDICT_T_PTR;
167- p1.edict_t_ptr = pEntity;
168126 // Dispatch all LevelInit listeners
169- get_client_disconnect_listener_manager ()->call_listeners (1 , p1 );
127+ get_client_disconnect_listener_manager ()->call_listeners (pEntity );
170128}
171129
172130// ---------------------------------------------------------------------------------
173131// Calls client put in server listeners.
174132// ---------------------------------------------------------------------------------
175133void CAddonManager::ClientPutInServer ( edict_t *pEntity, char const *playername )
176134{
177- // Wrap the parameters
178- CListenerManager::Param p1, p2;
179-
180- p1.name =" edict" ;
181- p1.type =CListenerManager::EDICT_T_PTR;
182- p1.edict_t_ptr = pEntity;
183-
184- p2.name =" playername" ;
185- p2.type =CListenerManager::CONST_CHAR_PTR;
186- p2.const_char_ptr = playername;
187135 // Dispatch all LevelInit listeners
188- get_client_put_in_server_listener_manager ()->call_listeners (2 , p1, p2 );
136+ get_client_put_in_server_listener_manager ()->call_listeners (pEntity, playername );
189137}
190138
191139// ---------------------------------------------------------------------------------
192140// Calls client settings changed listeners.
193141// ---------------------------------------------------------------------------------
194142void CAddonManager::ClientSettingsChanged ( edict_t *pEdict )
195143{
196- // Wrap the parameters
197- CListenerManager::Param p1;
198-
199- p1.name =" edict" ;
200- p1.type =CListenerManager::EDICT_T_PTR;
201- p1.edict_t_ptr = pEdict;
202144 // Dispatch all LevelInit listeners
203- get_client_settings_changed_listener_manager ()->call_listeners (1 , p1 );
145+ get_client_settings_changed_listener_manager ()->call_listeners (pEdict );
204146}
205147
206148// ---------------------------------------------------------------------------------
@@ -209,39 +151,8 @@ void CAddonManager::ClientSettingsChanged( edict_t *pEdict )
209151void CAddonManager::ClientConnect ( bool *bAllowConnect, edict_t *pEntity,
210152 const char *pszName, const char *pszAddress, char *reject, int maxrejectlen )
211153{
212- // Wrap the parameters
213- CListenerManager::Param p1, p2, p3, p4, p5, p6;
214-
215- p1.name =" edict" ;
216- p1.type =CListenerManager::EDICT_T_PTR;
217- p1.edict_t_ptr =pEntity;
218-
219- p2.name =" playername" ;
220- p2.type =CListenerManager::CONST_CHAR_PTR;
221- p2.const_char_ptr =pszName;
222-
223- p3.name =" network_address" ;
224- p3.type =CListenerManager::CONST_CHAR_PTR;
225- p3.const_char_ptr =pszAddress;
226-
227- p4.name =" max_reject_len" ;
228- p4.type =CListenerManager::INT;
229- p4.int_value =maxrejectlen;
230-
231- // Must be casted in order to avoid crash
232- // TODO: Maybe in the future this can done properly, so people can reject the
233- // connection from python, but for now it's read-only
234- const char * reject_copy = reject;
235- p5.name =" reject" ;
236- p5.type =CListenerManager::CONST_CHAR_PTR;
237- p5.const_char_ptr =reject_copy;
238-
239- p6.name =" is_allowed_to_connect" ;
240- p6.type =CListenerManager::BOOL;
241- p6.bool_value =&bAllowConnect;
242-
243154 // Dispatch all LevelInit listeners
244- get_client_connect_listener_manager ()->call_listeners (6 , p1, p2, p3, p4, p5, p6 );
155+ get_client_connect_listener_manager ()->call_listeners (bAllowConnect, pEntity, pszName, pszAddress, reject, maxrejectlen );
245156}
246157
247158// ---------------------------------------------------------------------------------
@@ -251,73 +162,29 @@ void CAddonManager::OnQueryCvarValueFinished( QueryCvarCookie_t iCookie,
251162 edict_t *pPlayerEntity, EQueryCvarValueStatus eStatus, const char *pCvarName,
252163 const char *pCvarValue )
253164{
254- // Wrap the parameters
255- CListenerManager::Param p1, p2, p3, p4, p5;
256-
257- p1.name =" cookie_id" ;
258- p1.type =CListenerManager::INT;
259- // iCookie is just an int
260- p1.int_value =(int )iCookie;
261-
262- p2.name =" edict" ;
263- p2.type =CListenerManager::EDICT_T_PTR;
264- p2.edict_t_ptr =pPlayerEntity;
265-
266- p3.name =" cookie_status" ;
267- p3.type =CListenerManager::INT;
268- p3.int_value =static_cast <int >(eStatus);
269-
270- p4.name =" cvar_name" ;
271- p4.type =CListenerManager::CONST_CHAR_PTR;
272- p4.const_char_ptr =pCvarName;
273165
274- p5.name =" cvar_value" ;
275- p5.type =CListenerManager::CONST_CHAR_PTR;
276- p5.const_char_ptr =pCvarValue;
277166 // Dispatch all LevelInit listeners
278- get_client_fully_connect_listener_manager ()->call_listeners (5 , p1, p2, p3, p4, p5 );
167+ get_client_fully_connect_listener_manager ()->call_listeners (iCookie, pPlayerEntity, eStatus, pCvarName, pCvarValue );
279168}
280169//
281170//
282171//
283172#if (SOURCE_ENGINE >= 3)
284173void CAddonManager::ClientFullyConnect ( edict_t *pEntity )
285174{
286- // Wrap the parameters
287- CListenerManager::Param p1;
288-
289- p1.name =" edict" ;
290- p1.type =CListenerManager::EDICT_T_PTR;
291- p1.edict_t_ptr =pEntity;
292175 // Dispatch all LevelInit listeners
293- get_client_fully_connect_listener_manager ()->call_listeners (1 , p1 );
176+ get_client_fully_connect_listener_manager ()->call_listeners (pEntity );
294177}
295178
296179void CAddonManager::OnEdictAllocated ( edict_t *edict )
297180{
298- // Wrap the parameters
299- CListenerManager::Param p1;
300-
301- p1.name =" edict" ;
302- p1.type =CListenerManager::EDICT_T_PTR;
303- p1.edict_t_ptr =edict;
304181 // Dispatch all LevelInit listeners
305- get_on_edict_allocated_listener_manager ()->call_listeners (1 , p1 );
182+ get_on_edict_allocated_listener_manager ()->call_listeners (edict );
306183}
307184
308185void CAddonManager::OnEdictFreed ( const edict_t *edict )
309186{
310- // Wrap the parameters
311- CListenerManager::Param p1;
312-
313- p1.name =" edict" ;
314- p1.type =CListenerManager::EDICT_T_PTR;
315- // This might not be a good idea, who knows :P
316- p1.edict_t_ptr =const_cast <edict_t *>(edict);
317-
318187 // Dispatch all LevelInit listeners
319- get_on_edict_freed_listener_manager ()->call_listeners (1 , p1);
320-
321- // get_on_edict_freed_listener_manager()->call_listeners(0);
188+ get_on_edict_freed_listener_manager ()->call_listeners (const_cast <edict_t *>(edict));
322189}
323190#endif
0 commit comments