Bug Tracker – Full Text Bug Listing

Bug 404

Summary: integration of client and server code
Product: Odamex Reporter: Russell Rice <russell>
Component: Server & ClientAssignee: Odamex Bug Reporter <odamex-bug-reporter>
Status: ASSIGNED ---    
Severity: normal CC: charles.gunyon, spleen.the.bloody
Priority: P2    
Version: (old) 0.x Alpha   
Hardware: All   
OS: All   
Bug Depends on: 21, 509    
Bug Blocks: 620    
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?