Just for information, I post here a note about my current work. It is what I plan to do for removing the WorldServer from the engine and put it entirely in the game dll. This note also point all my previous modifications in the engine :
Code:
AfterMoon Version 0.3 :
Engine code to remove :
+---------------------
+--------
| /client
+--------
cl_scrn.c : cl_drawfps, SCR_showFPS => Drop
scr_graph => Drop
SCR_ExecuteLayoutString => Add in new engine (optional)
cl_main.c : CL_Shutdown(RPC_Logout) => Move to dll
CL_PingServers_f => Add in new engine (optional)
menu.c : Login, StartMap, Logout => Move to dll
console.c : Con_DrawNotify(layout) => Add in new engine (optional)
keys.c : International keyboard => Add in new engine (optional)
qmenu.c : Menu little enhancement => Drop
+---------
| /qcommon
+---------
wsrv_rpc.c RPC function => Move to dll
wsrv_rpc.h RPC function header => Move to dll
common.c Keytrans_Init => Add in new engine (optional)
cvar.c ??? => Drop
+---------
| /server
+---------
sv_ccmds.c wsrv_changemap (lock) => Move to dll if possible
use $ for map spawpoint => Move to dll if possible
CL_WSrv_Login_f => Move to dll
sv_game.c import HTTP_SendRPC in dll => Drop
sv_init.c SV_InitGame(RPC_ServerRegister) => Move to dll
wsrv_changemap => Drop
sv_main.c RPC_Heartbeat => Move to dll
RPC_ServerUnregister => Move to dll
sv_user.c RCON_PASSWORD issue => Drop
+-------
| /win32
+-------
HTTP.c RPC low level function => Move to dll
glw_imp.c ShowWindowbug fix => Drop
sys_win.c Sys_GetGameAPI(Get WSrv dll API) => Drop