Bug Tracker – Bug 404

integration of client and server code

Last modified: 2014-03-30 16:22:15 CDT
Bug 404 - (ARRAY(0x51d26a0)) integration of client and server code
(ARRAY(0x51d26a0))
integration of client and server code
Status: ASSIGNED
Product: Odamex
Classification: Unclassified
Component: Server & Client
(old) 0.x Alpha
All All
: P2 normal
: ARRAY(0x543f3f0) (view as bug list)
Depends on: ARRAY(0x39442e0) ARRAY(0x543ee98)
Blocks: ARRAY(0x550af28)
  Show dependency tree
 
Reported: 2008-03-29 06:50:15 CDT by Russell Rice
Modified: 2014-03-30 16:22 CDT (History)
2 users (show)

See Also:


Attachments
A list of differences (7.24 KB, text/plain)
2008-03-29 15:06:54 CDT, Russell Rice
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Russell Rice 2008-03-29 06:50:15 CDT
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 CDT
Created ﷒0﷓
A list of differences

Heres the list
Comment 2 Denis Lukianov 2008-05-15 13:00:54 CDT
depend on bug 21, which has been closed. this bug carries the torch.
Comment 3 Charlie Gunyon 2010-09-02 02:22:14 CDT
*** Bug 627 has been marked as a duplicate of this bug. ***
Comment 4 Spleen 2010-09-02 04:05:24 CDT
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 CDT
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 CDT
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 CDT
At this point is there much left to do on this?