[crossfire] Crossfire server code cleanup/janitorial

Mark Wedel mwedel at sonic.net
Mon Apr 21 01:23:28 CDT 2014


  Going back to to the original thread - certainly win32 is used, and I also do 
sun/solaris.

  I'm not sure if there is any conditional code based on platforms in crossfire 
- if there is, I would think most could be removed through proper configure 
checks (that code may predate the conversion to autoconf).  I suspect in the 
case of sgi/irix, vax/ultrix and perhaps a few others, if support disappeared, 
no one would care.  But without knowing specific areas, support for those might 
also be part of support for other platforms (something like a #if defined(irix) 
|| defined(sun) ) or the like, so just removing irix doesn't do much.

  I think some of that might be sound code for the client - though even on 
linux, it seems that the sound 'standard' changes every 5 years or so.

Changing C standard is certainly something worth discussing - C99 would be 
reasonable (in my mind) - C11 may be a bit too recent - while it may be widely 
supported, it might also mean that certain users would be forced to upgrade 
their compilers (and perhaps other parts of their system) faster than they 
really want.  But it also really comes down to features - What C11 (or even C99) 
features are out there that would be of benefit to crossfire?  I'm not familiar 
enough with the different standards to make any assessment on that.

C++ has been touched on some.  I'd add that there are going to be more C 
programmers than C++ programmers, just on the basis that to know C++, you need 
to know C.  So by switching to C++, you may very lose some number of current or 
future potential developers.

I'm also suspect that doing a piecemeal conversion wouldn't be at all useful - 
while there is lots of crufty code in crossfire, you'd really want to look and 
figure out how all the classes interact and so forth.  Otherwise, you may just 
end up with a C++ version of crossfire which is fundamentally the same, just 
written in C++.

  I'm always a bit concerned about rewriting stuff just for the sake of 
rewriting - while it may find (and fix) some existing bugs in the code, almost 
certainly more new bugs will be introduced.

  So echoing some previous comments, I think gameplay should drive more new 
features.  I also think it would be helpful to express what the benefits of the 
changes are.

In terms of roadmap, I think there were some out on the wiki.  But like most 
volunteer based projects, trying to stick to any such roadmap gets difficult - 
people tend to work on what they want to work on, and it may or may not match 
something on the roadmap.





More information about the crossfire mailing list