M1 | M2 | 055 | 001
|Summary:||integration of client and server code|
|Product:||Odamex||Reporter:||Russell Rice <russell>|
|Component:||Server & Client||Assignee:||Odamex Bug Reporter <odamex-bug-reporter>|
|Severity:||normal||CC:||charles.gunyon, Ralphis, spleen.the.bloody|
|Version:||(old) 0.x Alpha|
|Bug Depends on:||21, 509|
|Attachments:||A list of differences|
Description Russell Rice 2008-03-29 06:50:15 UTC
Comparing the differences between some Client and Server files shows up inconsistence between them. Such stuff includes either simple things like formatting issues.. Or more seriously, code differences. This is an ongoing bug that will try to rectify some of these issues, as Denis pointed out, some inconsistencies/hacks are there to get things to work. So be aware. A tool such as WinMerge can be used to view the differences, however a list will be posted soon.
Comment 1 Russell Rice 2008-03-29 15:06:54 UTC
Created attachment 80 [details] A list of differences Heres the list
Comment 2 Denis Lukianov 2008-05-15 13:00:54 UTC
depend on bug 21, which has been closed. this bug carries the torch.
Comment 3 Charlie Gunyon 2010-09-02 02:22:14 UTC
*** Bug 627 has been marked as a duplicate of this bug. ***
Comment 4 Spleen 2010-09-02 04:05:24 UTC
Current list of files to be merged (16 cpp, 12 h): c_console.cpp c_console.h d_main.cpp d_main.h d_net.cpp d_netinfo.cpp d_player.h g_game.cpp g_game.h g_level.cpp g_level.h m_misc.cpp m_misc.h p_interaction.cpp p_mobj.cpp r_draw.cpp r_draw.h r_main.cpp r_main.h r_plane.cpp r_plane.h r_sky.cpp r_sky.h r_things.cpp s_sound.cpp s_sound.h v_palette.cpp v_palette.h Also, KDiff3 seems to work pretty nicely for this. Most of the sound and rendering code in the server files is gone. For sound and rendering, it is probably a good idea to move the remaining code into existing common files and delete the server files, rather than copying over the missing code to the server files and merging them with the client files, in order to avoid bloating the server. r_draw.cpp seems like one of the most obvious offenders to me. However, another issue is that some common files include headers that exist on the client but aren't needed on the server. Without a major code refactoring, either stubs for server headers will have to be left, or an #ifdef will have to be used to conditionally include them depending on whether the client or server is being compiled.
Comment 5 Spleen 2010-09-02 04:32:59 UTC
Update: I moved the only variable in r_draw.cpp/h to r_data.cpp/h, which is a common file. r_draw.cpp should now be ready for deletion. However, r_draw.h is unfortunately #included by a common file, so I recommend just blanking it for now.
Comment 6 Charlie Gunyon 2010-09-07 22:39:10 UTC
All headers have been merged and moved, will discuss in #odadev how to proceed from here (besides updating IDE project files).
Comment 7 Mike Lightner 2014-03-30 16:22:15 UTC
At this point is there much left to do on this?
Comment 8 Ralph Vickers 2020-04-11 03:31:56 UTC
Per discussion with Sean, marking fixed. "I think we can close 404 and open tickets for more specific areas of code if we find there's still stuff that can be move to /common" -Dr. Sean