Reorganization
<i>This post was originally made by <b>skyjake</b> on the dengDevs blog. It was posted under the categories: Engine, Games, Mac OS X, SourceForge, Unix/Linux, Windows.</i>
The restructuring of the sources will commence very soon. I will commit the new directory structure and relocated files tonight (apart from Defs, Src, and Include, which will have to wait for tomorrow). All of this is happening in the trunk, so branch-1-9-0 remains usable. It should be possible to do bug fixing on branch-1-9-0, although I don't recommend committing much because merging them back into the reorganized trunk may prove tricky (although Subversion should be able to handle it).
Please note that once the files have been relocated, all build scripts and project files become obsolete. makedmt.py and other scripts need to be checked for path references. On Windows (<tt>/build/win32/</tt>), the old dsp, dsw, and vcproj files should simply be deleted until replaced with updated versions (if that is ever done...).
EDIT: The SF.net SVN server is giving me a "403 Forbidden" error message. OK, I'll try again in the morning...
EDIT#2: Still getting the same error message on commit, even though I activated the new SVN write access access flag. Hmm...
The restructuring of the sources will commence very soon. I will commit the new directory structure and relocated files tonight (apart from Defs, Src, and Include, which will have to wait for tomorrow). All of this is happening in the trunk, so branch-1-9-0 remains usable. It should be possible to do bug fixing on branch-1-9-0, although I don't recommend committing much because merging them back into the reorganized trunk may prove tricky (although Subversion should be able to handle it).
Please note that once the files have been relocated, all build scripts and project files become obsolete. makedmt.py and other scripts need to be checked for path references. On Windows (<tt>/build/win32/</tt>), the old dsp, dsw, and vcproj files should simply be deleted until replaced with updated versions (if that is ever done...).
EDIT: The SF.net SVN server is giving me a "403 Forbidden" error message. OK, I'll try again in the morning...
EDIT#2: Still getting the same error message on commit, even though I activated the new SVN write access access flag. Hmm...
Comments
I commited to SVN (trunk) myself early this morning and everything seemed OK.
Revision 3275 has relocated files for everything except Defs, Src, and Include.
As to the VC++ project files I'll set myself up with the new 2005 free edition once the source tree is finalized and generate them again.
While I think of it doomsday_res.obj is always missing from the win32 source packages and has to be gotten from the old dev package seperately.
The deal with the <tt>portable/win32/unix/mac</tt> subdirectories: if the module has platform variants of certain files, these subdirectories are used for separating them. There are <tt>src</tt> and <tt>include</tt> directories inside each platform-specific directory (also <tt>res</tt> in some cases). If the module is completely platform-independent (like all games should be), then the platform variant subdirectories are omitted entirely (although having just the "portable" directory is OK, but a bit pointless).
The compiled win32 resource files (doomsday_res.obj) should be committed into the "engine/win32/res" directory.
Yes I think a jDoom.PK3 for example would be a good idea.
I'll start updating the vcbuild bat files for this new layout.
EDIT:
Oh dear. The input line in the call to cl in vcbuild.bat for Doomsday.exe is now longer than that allowed by the shell. We'll have to look at either:
<ul>
<li>Use a linker response file
In which case build will have to take place in \doomsday as opposed to \doomsday\build\win32 - due to not being able to pass parameters from the BAT file to the response file (otherwise full paths would need to be specified) OR generate the response file dynamically (perhaps from a py script).</li>
<li>Use an incremental build</li>
</ul>
In which case build will have to take place in \doomsday as opposed to \doomsday\build\win32 - due to not being able to pass parameters from the BAT file to the response file (otherwise full paths would need to be specified)</blockquote>Using a response file is recommended. Wouldn't it be possible to just use relative paths like ../../engine/src/something.c?
Yeah thats possible but only if the build takes place in /trunk/Doomsday instead of /trunk/Doomsday/build/win32/ as I thought thats where you wanted it to happen?
EDIT:
Doh! Nevermind I see what you mean now.
I have now updated the Xcode project so that I can build and run the game. The next thing to take care of is the generation of the PK3s that are organized using the old Defs/game & Data/game system, so that at runtime the engine can access files from there. Yagisan, any progress on the .pk3 script?
Hey hey hey.
I was wondering, that instead of having the doomsday install all the files into $prefix/lib,include,share,bin I was wondering if it was possible to have tell configure to put all the files in something like
"/usr/local/games/doomsday"
I tried the --prefix=/home/byteframe/doomsday (testing all this out) and it worked. I moved bin out from doomsday/bin to doomsday and it still knew where to find the libraries files.
I would like to do a loki installer for doomsday, and for those of you who don't know, it allows you to change the installation direcotry, however, since the instlaler will be installing precompiled binaries, how would I make it so that the location selected in the installer, works for the binarys, which are precoded to have a specific place, work?
this is hrad to replain, but I would think maybe it can work. Also, would there be a way to just have the doomsday binary look for the librarys and other files relative to ITs location?
Get back to me, thanks.