Hard Light Productions Forums
Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: penguin on July 29, 2002, 08:44:23 am
-
This is a repost... the other thread won't open anymore.
I have the following changes planned -- this is more of an infrastructure issue, it won't affect gameplay at all. However, virtually every source file would be affected, and any active developers will need to delete their local CVS repository and check it out again.
Anyone who is actively working on something will need to check their changes in soon. I will tag the currently checked in stuff before I begin, so it's OK if you check in non-working code... I'll post more info about this.
This is very non-sexy stuff, so I doubt anyone will get too excited about it :blah: Here is what I want to do:
- rename all the directories to all-lower case (not an issue with Windows, but it's a PITA for unix)
- change all the #include lines to have the path of the header file (e.g., #include "graphics/2d.h" The reason for this is to clean things up, especially the god-awful compiler command line (it will eliminate all the /D options). BTW, the forward slash directory separator works for both unix and windows in the #include lines, so that's what we'll use.
I have a Perl script that will do both :D I considered doing this before initially checking the files in, but didn't... now I'm regretting that decision :doh: We'll be tweaking the CVS repository directly for the directory rename (this is know as a "CVS hack") rather than deleting and re-adding it, hence the somewhat drastic requirement that everyone clobber their local copies. Hopefully we'll never need to do this again...
I tentatively have this planned for Wednesday evening US/EDT (31 July) -- the wife and kids are going to the in-laws in WV for a week or so, so I'll have plenty of free time on my hands :nod: :D ;7
The next phase will be to eliminate all the unused #defines and #ifdefs throughout the code which no longer have any relevance (INTERPLAYQA, PRESS_TOUR_BUILD, etc.), but that will come later, and shouldn't affect anyone's progress.
Like I said, not very sexy... but it will help us move forward with a cleaner code base.
Feel free to voice any concerns here (as if I needed to say that...) :)
-
I was wondering what that dead post was :)
-
Sorry Penguin. I was going to relay your message about the broken thread to Styxx but I FUBAR'ed my keyboard and couldn't post it. (tea and peripherals don't work well together :) )
If you wish I can delete the old thread or would you like to have it recovered?
-
Originally posted by Maeglamor
Sorry Penguin. I was going to relay your message about the broken thread to Styxx but I FUBAR'ed my keyboard and couldn't post it. (tea and peripherals don't work well together :) )
If you wish I can delete the old thread or would you like to have it recovered?
Not a problem; I had a local copy of my post and there was only one reply, from RandomTiger -- I don't know what it was (maybe he killed the thread :mad: ;) )
The old thread can probably be deleted... RT can repost the comment, if he can remember it ;)
I also bumped the date back, I was gonna do it tonight, but I figured that wouldn't be nice :p
-
I like Jam
-
Originally posted by RandomTiger
I like Jam
:wtf:
-
I think that was his reply in the old thread.
-
Reminder: about twelve hours until I start changing everything.
Check stuff in now
-
starting now, hope everyone checked their changes in ;)
-
OK, I'm done, everything went smoothly. Sorry for the disruption, hopefully this will be the last time we need to do this.
Reminder: you will need to delete your local fs2_open tree and check it out again. cvs update will not work properly.
I have a few more final tests to make, but everything looks good to this point.
-
Thanks :)
-
w00t!!
I am so glad I did this...
I had to rebuild a previous version to test something, and a release build took 40 minutes. I just rebuilt the latest version (again, full build, release) and it took 10 minutes. All because the compiler doesn't have to search through 58 directories each time it needs a header file.
PH34R MY L33TNESS :cool:
Every developer here needs to be nice to me for one week because of this.
:cool: :nod: :cool:
-
Moderators: this can now be unstuck
-
Done :)
-
i don't know if the dev team got my email, but i get 242 errors saying that pstypes.h could not be found and its there
-
Originally posted by PhReAk
i don't know if the dev team got my email, but i get 242 errors saying that pstypes.h could not be found and its there
wmcoolmon had a similar problem, but I thought he corrected it and checked in the offending dsp files. Make sure you have the latest files (cvs update).
If it persists, post the actual error messages (not all 242 of them, the first few should be sufficient ;)) Files and line numbers especially.
-
Compiling...
AnimPlay.cpp
c:\games\fs2src\fs2_open\fs2_open\code\anim\animplay.cpp(0) : fatal error C1083: Cannot open include file: 'PSTypes.h': No such file or directory
PackUnpack.cpp
c:\games\fs2src\fs2_open\fs2_open\code\anim\packunpack.cpp(0) : fatal error C1083: Cannot open include file: 'PSTypes.h': No such file or directory
Asteroid.cpp
c:\games\fs2src\fs2_open\fs2_open\code\asteroid\asteroid.cpp(0) : fatal error C1083: Cannot open include file: 'PSTypes.h': No such file or directory
BmpMan.cpp
c:\games\fs2src\fs2_open\fs2_open\code\bmpman\bmpman.cpp(0) : fatal error C1083: Cannot open include file: 'PSTypes.h': No such file or directory
cfile.cpp
c:\games\fs2src\fs2_open\fs2_open\code\cfile\cfile.cpp(0) : fatal error C1083: Cannot open include file: 'PSTypes.h': No such file or directory
CfileArchive.cpp
c:\games\fs2src\fs2_open\fs2_open\code\cfile\cfilearchive.cpp(0) : fatal error C1083: Cannot open include file: 'PSTypes.h': No such file or directory
-
the makefile version still works
-
PhReAk -- this is odd. Are you sure you have the latest code.dsp? This was a problem with an earlier revision, soi I'm confused...
Here's how to find out:
cvs status Freespace2.dsp
cvs status code\code.dsp
Freespace2.dsp should have Status: Up-to-date and Revision: 1.6
code\code.dsp should have Status: Up-to-date and Revision: 1.5
AIM me (MikeHarris111) or hop on the #fs2source IRC channel
-
Ok, deleted my old sources, cvs'd a new copy,
cd'd to code; did the make after setting CXX=/opt/gcc-3.1/bin/g++ and I get this really cute error:
In file included from anim/animplay.h:108,
from anim/animplay.cpp:187:
globalincs/pstypes.h:275: declaration does not declare anything
globalincs/pstypes.h:275: parse error before `||' token
So what obvious thing am I missing?
compiling on RH7.3 with gcc-3.1
-
Originally posted by kieran
Ok, deleted my old sources, cvs'd a new copy,
cd'd to code; did the make after setting CXX=/opt/gcc-3.1/bin/g++ and I get this really cute error:
In file included from anim/animplay.h:108,
from anim/animplay.cpp:187:
globalincs/pstypes.h:275: declaration does not declare anything
globalincs/pstypes.h:275: parse error before `||' token
So what obvious thing am I missing?
compiling on RH7.3 with gcc-3.1
ugh, I though someone had fixed that... there's a struct (ccodes) that has members 'or' and 'and' that apparently gives some compilers heartache.
Stupid names for variables anyhow... :mad:
Anyhow, I have changed the names to 'cc_or' and 'cc_and' and checked the changes in. The only files affected wereglobalincs/pstypes.h
render/3ddraw.cpp
render/3dclipper.cpp
Do a "cvs update" and you should be good to go; please post any further issues.
-
/opt/gcc-3.1/bin/g++ -g -I/usr/local/include/SDL -I. -fno-exceptions -D_DEBUG -DNO_CD_CHECK -UNDEBUG -DNO_DIRECT3D -DNO_SOUND -DNO_JOYSTICK -DNO_NETWORK -DNO_STANDALONE -DUSE_OPENGL -c -o controlconfig/controlsconfig.o controlconfig/controlsconfig.cpp
In file included from controlconfig/controlsconfig.cpp:319:
ui/ui.h:385: friend declaration requires class-key, i.e. `friend struct
UI_WINDOW'
ui/ui.h:386: friend declaration requires class-key, i.e. `friend struct
UI_BUTTON'
ui/ui.h:387: friend declaration requires class-key, i.e. `friend struct
UI_KEYTRAP'
....
Look familiar?
-
Originally posted by kieran
(some errors)
....
Look familiar?
No, it doesn't ;) gcc 3.1 must be picky.
*sigh* I changed the 'friend UI_XXX' declarations to 'friend class UI_XXX' in code/ui/ui.h and committed -- it should work now. That's the ANSI C++ definition, but apparently both MSVC++ and gcc 2.95 are a little more lax.
You know the drill: cvs update ui/ui.h; make clean; make
AFAIK you're the first person to try gcc 3.1 on this code, so we're probably not done finding errors yet...
-
freespace2/freespace2.cpp
1428: static int or=0, og=0, ob=0;
1456: or = r;
Also the MulDiv function freaks out
g++ 3.1 (compiler internal error).
So sounds like 3.1 is not a good idea,
oh well.
-
As long as the source works with the other compilers, running it with gcc 3.1 will likely be useful :nod: