<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://bitpost.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SquidBoy</id>
	<title>Bitpost wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://bitpost.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SquidBoy"/>
	<link rel="alternate" type="text/html" href="https://bitpost.com/wiki/Special:Contributions/SquidBoy"/>
	<updated>2026-04-19T07:02:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1675</id>
		<title>Terminus Making the code portable to linux</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1675"/>
		<updated>2006-08-01T02:06:55Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
&lt;br /&gt;
To me this looks like it is not finding the Sint32 type in SDL_types.h?&lt;br /&gt;
Either that or it is not finding my util/graph.h?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
But hey, on the positive side, main.cpp and config.cpp have successfully compiled!  :&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Compiling craftselect.cpp... here&#039;s the full first error:&lt;br /&gt;
&lt;br /&gt;
 In file included from world/weapon.hpp:8,&lt;br /&gt;
                  from world/craft.hpp:11,&lt;br /&gt;
                  from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
 world/bullet.hpp: In member function `TeRect TeBullet::getBoundRect()&#039;:&lt;br /&gt;
 world/bullet.hpp:236: error: request for member `CenteredAt&#039; in `rclBullet&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;non-aggregate&amp;quot; apparently means the compiler doesn&#039;t think the return value from CenteredAt is a class or struct.  &lt;br /&gt;
It looks fine to me:&lt;br /&gt;
&lt;br /&gt;
 TeRect CenteredAt( TePoint pt ) const;&lt;br /&gt;
&lt;br /&gt;
Lemme sleep on it, I&#039;ll give you an answer in the morning...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I emailed you the entire makefile generated by Dev-Cpp.&lt;br /&gt;
&lt;br /&gt;
Here is the portion that applies to craftselect.cpp:&lt;br /&gt;
&lt;br /&gt;
 craftselect.o: craftselect.cpp craftselect.hpp util/gui.hpp&lt;br /&gt;
  util/graph.hpp util/fixmath.hpp util/text.hpp  util/image.hpp   &lt;br /&gt;
  util/element.hpp util/../system.hpp util/../util/log.hpp   util/../util/graph.hpp util/../config.hpp&lt;br /&gt;
  util/../xml/xmlutils.h   util/../xml/tinyxml.h util/../profile.hpp util/../util/audio.hpp&lt;br /&gt;
  util/../util/graph.hpp util/../xml/xmlutils.h util/blit.hpp   world/craft.hpp world/../gamedef.hpp&lt;br /&gt;
  world/../util/image.hpp   world/../util/smoke.hpp world/../util/element.hpp   world/../util/body.hpp&lt;br /&gt;
  world/../util/../system.hpp   world/../util/graph.hpp world/../util/fixmath.hpp world/weapon.hpp&lt;br /&gt;
  world/bullet.hpp world/../util/anim.hpp world/../util/blit.hpp   world/../util/audio.hpp&lt;br /&gt;
  world/../util/exhaust.hpp   world/../util/smoke.hpp world/../util/../gamedef.hpp&lt;br /&gt;
  world/../xml/xmlutils.h world/target.hpp world/../util/log.hpp   gamesys.hpp system.hpp&lt;br /&gt;
  game.hpp scene.hpp util/text.hpp   util/element.hpp mainmenu.hpp results.hpp world/capital.hpp&lt;br /&gt;
  world/block.hpp world/../util/body.hpp world/target.hpp   util/message.hpp world/event.hpp&lt;br /&gt;
  world/../util/graph.hpp $(CPP) -c craftselect.cpp -o craftselect.o $(CXXFLAGS)&lt;br /&gt;
  &lt;br /&gt;
where&lt;br /&gt;
&lt;br /&gt;
 CPP  = g++.exe -D__DEBUG__&lt;br /&gt;
 CXXFLAGS = $(CXXINCS)   -fexceptions -g3&lt;br /&gt;
 CXXINCS = &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I&#039;m thinking it&#039;s a [const] issue... checking...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
On the side, there is a new Windows demo available at http://soloforge.com/files/TerminusDemo.zip&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Dang John!  The content is BURSTING FORTH!  This is fun stuff... like a graphic novel come to life...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Cool :-)  Oh, the fighter melee tutorial is broken.  The latest SVN version fixes it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Trying to isolate the error in bullet.hpp...&lt;br /&gt;
&lt;br /&gt;
 cd terminus/terminus/world&lt;br /&gt;
 cp bullet.hpp test.cpp&lt;br /&gt;
 g++ -I/home/m/development/terminus/fmod/api -I/usr/include/SDL test.cpp&lt;br /&gt;
&lt;br /&gt;
That does it.  Now to play with test.cpp...&lt;br /&gt;
OK, looks like g++ sees these and thinks they are function declarations:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
Change to this and g++ &amp;quot;gets&amp;quot; it:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet = TeSize( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet = TeRect( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
John, I hope you don&#039;t mind, I checked in that change, and one other similar change in world/craft.hpp.  I want to be EXTREMELY careful about breaking anything of yours, can you see if it still works for you?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I am not on my home DEV station, so I cannot just check this just now, but I am sure it is fine.  Go ahead and make these kind of changes with no worries.  If there are any issues I will let you know.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I suppose to do this right, I should have both Linux and Windows builds set up and test in both... eventually... :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next up: replace _finddata_t in the Linux build with a Linux equivalent...&lt;br /&gt;
&lt;br /&gt;
 profile.cpp:6:16: io.h: No such file or directory&lt;br /&gt;
 profile.cpp: In member function `void&lt;br /&gt;
    TeProfileMgr::Load(std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;,&lt;br /&gt;
    std::allocator&amp;lt;char&amp;gt; &amp;gt;)&#039;:&lt;br /&gt;
 profile.cpp:449: error: `_finddata_t&#039; undeclared (first use this function)&lt;br /&gt;
&lt;br /&gt;
I found some suggestions:&lt;br /&gt;
&lt;br /&gt;
 Try looking at the following functions&lt;br /&gt;
 opendir&lt;br /&gt;
 readdir, readdir_r&lt;br /&gt;
 fnmatch[/color]&lt;br /&gt;
 scandir, where available&lt;br /&gt;
 take a look at glob(3c) and ftw/nftw&lt;br /&gt;
&lt;br /&gt;
I have two options:&lt;br /&gt;
&lt;br /&gt;
# Make my own reusable functions for file operations using M$ calls or [http://docs.hp.com/en/B2355-60105/directory.3C.html Unix calls] depending on the build target&lt;br /&gt;
# Use [http://www.boost.org/libs/filesystem/doc/index.htm the filesystem library in boost]&lt;br /&gt;
&lt;br /&gt;
The first is better if the job is small, but little guys can&#039;t afford to reinvent the wheel for anything substantial.  I already use boost in HTDJ for serialization.  It&#039;s definitely got a ramp up time, but it&#039;s not too heavy once you&#039;re up to speed.  I will explore the boost filesystem library docs next...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
That io.h include is coming from the MinGW lib, which is base set of C/C++ headers that allows you to compile windows apps with GCC.  Look at www.mingw.org.  There should be a mingw or a mingw32 package to install under Linux.  I run mepis, which uses Synaptic, and there is a mingw32 package.&lt;br /&gt;
&lt;br /&gt;
I used mingw and gcc specificall so for easo-breezo cross platform.  Not so easy I guess.&lt;br /&gt;
&lt;br /&gt;
Try changing the &amp;quot;io.h&amp;quot; to &amp;lt;io.h&amp;gt; or &amp;lt;io&amp;gt; and see if that works?  Then maybe install that mingw32 package and try &amp;lt;io.h&amp;gt;?  I thought this stuff bought us cross-platform in a big way, so I would like to try and figure it out first before the boost option.&lt;br /&gt;
&lt;br /&gt;
1/2 of the stuff I do at work is on Linux, BTW, so I am coming up to speed rather quick.  I use Kdevelop at work, although I try to do as much as I can from the command line so that I can be a Linux nerd too :-)  So far, cream is my favorite command line style editing proggie.&lt;br /&gt;
&lt;br /&gt;
I am building up a linux laptop tonight so that I can be more useful on the Linux side.  It will take me a while to get it all config&#039;d and updated like my box at work is.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Doh, I hadn&#039;t thought of that, I will go check out www.mingw.org now.  If you get work time on Linux you are probably past me by now.  :&amp;gt;  Hey, regarding the autotools setup I&#039;ve put together, I believe autotools and Kdevelop play nicely, but not positive.  Feel free to change direction if Kdevelop has a different way of building the project that you would prefer.  In the meantime, I&#039;m checking out MinGW...&lt;br /&gt;
&lt;br /&gt;
Hrmm, at first glance it looks like MinGW is specifically for a Windows development environment.  IE, it allows you to use gcc on Windows with Windows-specific API&#039;s and functions (like _finddata_t).  But you mention that Synaptic serves it up on mepis.  I&#039;m digging to see if a Fedora package exists...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
The autotools stuff is cool - let&#039;s keep it - viss our command line ve shall take over za vurld!  :)&lt;br /&gt;
My linux box is built, but I haven&#039;t done anything with it yet - I am working on the Windows side tonight.&lt;br /&gt;
&lt;br /&gt;
Oh, btw, the code changes you checked in work fine.  I haven&#039;t received emails from the last couple of wiki changes you entered, so I was not aware of the code changes until you sent that email.  Is your SMTP the wiki points to working?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I think the wiki&#039;s working, I&#039;m getting emails.  You might need to fix your watch settings, as I moved the pages around a little bit - try clicking on that &amp;quot;watch&amp;quot; tab above...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Yeah, I was no longer set up to watch this page.  Testing, 1.. 2.. 3..&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
How about if *I* change it?  That should send you an email...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Back to Linux...&lt;br /&gt;
&lt;br /&gt;
I built up a Fedora box and could not get the autotools working (see the autotools page).  So I installed Anjuta and tried to get it working under an IDE and ran into the same compile problem that you had.&lt;br /&gt;
&lt;br /&gt;
I modified profile.cpp slightly so that the file compiles.  I will get back to converting the profile search to boost (or whatever) later.  The modified code will just cause the game to run with the default profile, which is perfectly fine for playing the game in development.&lt;br /&gt;
&lt;br /&gt;
After that, I was able to compile!!!  But not to link, heh, and I gave up at that point because I had solved the important issue.  So, get an update of profile.cpp and let me know if the game runs :-)&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Hey Johnny!  I just svn&#039;ed version 31.  I got past profile!  And other modules.  Final compile results:&lt;br /&gt;
&lt;br /&gt;
 system.cpp:67: error: type specifier omitted for parameter `szScreen&#039;&lt;br /&gt;
 system.cpp:67: error: `TeRect rclScreen(TePoint (*)())&#039; redeclared as different kind of symbol&lt;br /&gt;
 system.hpp:35: error: previous declaration of `TeRect rclScreen&#039;&lt;br /&gt;
 system.hpp:35: error: previous non-function declaration `TeRect rclScreen&#039;&lt;br /&gt;
 system.cpp:67: error: conflicts with function declaration `TeRect rclScreen(TePoint (*)())&#039;&lt;br /&gt;
&lt;br /&gt;
Will dig deeper now...&lt;br /&gt;
It&#039;s the same gcc issue I mentioned before, fixed by changing from constructor to assignment (like this):&lt;br /&gt;
&lt;br /&gt;
 TeSize szScreen( nScreenW, nScreenH );&lt;br /&gt;
&lt;br /&gt;
...becomes...&lt;br /&gt;
&lt;br /&gt;
 TeSize szScreen = TeSize( nScreenW, nScreenH );&lt;br /&gt;
&lt;br /&gt;
Now I&#039;m getting &amp;quot;No rule to make anim.cpp&amp;quot;, I assume that file is new?  Redoing autotools...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Cool!  anim.cpp has been around for some time, though.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Yeah, it&#039;s the first file I&#039;ve gotten to in a subdirectory... looks like I need to tweak my autotools setup...  I will check in that one little change I made first.&lt;br /&gt;
&lt;br /&gt;
Curses!  Backslashes be damned!  :P  Moving forward again, after updating terminus/Makefile.am to use FORWARD slashes doh...&lt;br /&gt;
&lt;br /&gt;
 util/graph.cpp: In member function `void TeRect::ThickRect(int, unsigned int) const&#039;:&lt;br /&gt;
 util/graph.cpp:196: error: syntax error before `,&#039; token&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Huh.  Just taking a gander at the code, I don&#039;t see what the issue is there.  They really don&#039;t like the way I use constructors, do they?&lt;br /&gt;
&lt;br /&gt;
When I compiled under Linux, I saw all kinds of warnings that I don&#039;t get under Windows.  To compensate, I cranked up the warning level under my Windows IDE to do some compliance clean-up.  But THEN the FMOD header wouldn&#039;t compile in, and ther e is nothing I can do about the FMOD libs.&lt;br /&gt;
&lt;br /&gt;
Perhaps a PCLint scan could be tuned to pick up minor compliance problems but not the major ones from FMOD?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I don&#039;t get why g++ is complaining, other than it can&#039;t seem to distinguish the static constructor from a function declaration for some reason.  That&#039;s the only real issue I&#039;ve had, not a big one for sure.  Now digging back in to the latest error...&lt;br /&gt;
&lt;br /&gt;
OK, changed this:&lt;br /&gt;
&lt;br /&gt;
 	TeRect( r(), y - nPad, nPad, h + ( nPad &amp;lt;&amp;lt; 1 ) ).FillRect( uiColor );&lt;br /&gt;
&lt;br /&gt;
...to this (again, not sure why, just going with what works, and isn&#039;t TOO messy)...&lt;br /&gt;
&lt;br /&gt;
 	TeRect( this-&amp;gt;r(), y - nPad, nPad, h + ( nPad &amp;lt;&amp;lt; 1 ) ).FillRect( uiColor );&lt;br /&gt;
&lt;br /&gt;
Now I&#039;m up to the linking errors too!!  Whoo!  getting closer...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Excellent!  I am &amp;quot;working&amp;quot; tonight too :-)  I will turn AIM on.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
First link error:&lt;br /&gt;
&lt;br /&gt;
 game.o(.text+0x150): In function `TeGame::TeGame[not-in-charge]()&#039;:&lt;br /&gt;
 /home/m/development/terminus/terminus/game.cpp:42: undefined reference to `TeResultsGui::TeResultsGui[in-charge](TeGame*)&#039;&lt;br /&gt;
&lt;br /&gt;
OK got through them by adding SDL libs to Makefile.am!&lt;br /&gt;
&lt;br /&gt;
 terminus_LDADD = ../fmod/api/lib/libfmodex.so /usr/lib/libSDL.so /usr/lib/libSDL_gfx.so /usr/lib/libSDL_image.so&lt;br /&gt;
&lt;br /&gt;
It linked!  Now getting a segfault... time for gdb...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
This is a total side rail:&lt;br /&gt;
&lt;br /&gt;
http://linux.slashdot.org/article.pl?sid=06/07/31/2227205&amp;amp;threshold=2&lt;br /&gt;
&lt;br /&gt;
Some interesting points to note:&lt;br /&gt;
&lt;br /&gt;
1. Still not that many games for Linux?  Good for us!&lt;br /&gt;
&lt;br /&gt;
2. We make our own live CD that runs the game on ANY machine!  Brilliant idea!&lt;br /&gt;
&lt;br /&gt;
3. &amp;quot;Ever heard of the Linux Standards Base? If they develop for LSB, it will run on any Linux distro that supports LSB (namely, almost any of the big ones as of now).&amp;quot;  I&#039;ve never even heard of this, myself.&lt;br /&gt;
&lt;br /&gt;
Reading this article made the Linux port of Terminus Est all the more sexy, IMO :-)&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1672</id>
		<title>Terminus Making the code portable to linux</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1672"/>
		<updated>2006-07-27T01:45:55Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
&lt;br /&gt;
To me this looks like it is not finding the Sint32 type in SDL_types.h?&lt;br /&gt;
Either that or it is not finding my util/graph.h?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
But hey, on the positive side, main.cpp and config.cpp have successfully compiled!  :&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Compiling craftselect.cpp... here&#039;s the full first error:&lt;br /&gt;
&lt;br /&gt;
 In file included from world/weapon.hpp:8,&lt;br /&gt;
                  from world/craft.hpp:11,&lt;br /&gt;
                  from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
 world/bullet.hpp: In member function `TeRect TeBullet::getBoundRect()&#039;:&lt;br /&gt;
 world/bullet.hpp:236: error: request for member `CenteredAt&#039; in `rclBullet&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;non-aggregate&amp;quot; apparently means the compiler doesn&#039;t think the return value from CenteredAt is a class or struct.  &lt;br /&gt;
It looks fine to me:&lt;br /&gt;
&lt;br /&gt;
 TeRect CenteredAt( TePoint pt ) const;&lt;br /&gt;
&lt;br /&gt;
Lemme sleep on it, I&#039;ll give you an answer in the morning...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I emailed you the entire makefile generated by Dev-Cpp.&lt;br /&gt;
&lt;br /&gt;
Here is the portion that applies to craftselect.cpp:&lt;br /&gt;
&lt;br /&gt;
 craftselect.o: craftselect.cpp craftselect.hpp util/gui.hpp&lt;br /&gt;
  util/graph.hpp util/fixmath.hpp util/text.hpp  util/image.hpp   &lt;br /&gt;
  util/element.hpp util/../system.hpp util/../util/log.hpp   util/../util/graph.hpp util/../config.hpp&lt;br /&gt;
  util/../xml/xmlutils.h   util/../xml/tinyxml.h util/../profile.hpp util/../util/audio.hpp&lt;br /&gt;
  util/../util/graph.hpp util/../xml/xmlutils.h util/blit.hpp   world/craft.hpp world/../gamedef.hpp&lt;br /&gt;
  world/../util/image.hpp   world/../util/smoke.hpp world/../util/element.hpp   world/../util/body.hpp&lt;br /&gt;
  world/../util/../system.hpp   world/../util/graph.hpp world/../util/fixmath.hpp world/weapon.hpp&lt;br /&gt;
  world/bullet.hpp world/../util/anim.hpp world/../util/blit.hpp   world/../util/audio.hpp&lt;br /&gt;
  world/../util/exhaust.hpp   world/../util/smoke.hpp world/../util/../gamedef.hpp&lt;br /&gt;
  world/../xml/xmlutils.h world/target.hpp world/../util/log.hpp   gamesys.hpp system.hpp&lt;br /&gt;
  game.hpp scene.hpp util/text.hpp   util/element.hpp mainmenu.hpp results.hpp world/capital.hpp&lt;br /&gt;
  world/block.hpp world/../util/body.hpp world/target.hpp   util/message.hpp world/event.hpp&lt;br /&gt;
  world/../util/graph.hpp $(CPP) -c craftselect.cpp -o craftselect.o $(CXXFLAGS)&lt;br /&gt;
  &lt;br /&gt;
where&lt;br /&gt;
&lt;br /&gt;
 CPP  = g++.exe -D__DEBUG__&lt;br /&gt;
 CXXFLAGS = $(CXXINCS)   -fexceptions -g3&lt;br /&gt;
 CXXINCS = &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I&#039;m thinking it&#039;s a [const] issue... checking...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
On the side, there is a new Windows demo available at http://soloforge.com/files/TerminusDemo.zip&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Dang John!  The content is BURSTING FORTH!  This is fun stuff... like a graphic novel come to life...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Cool :-)  Oh, the fighter melee tutorial is broken.  The latest SVN version fixes it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Trying to isolate the error in bullet.hpp...&lt;br /&gt;
&lt;br /&gt;
 cd terminus/terminus/world&lt;br /&gt;
 cp bullet.hpp test.cpp&lt;br /&gt;
 g++ -I/home/m/development/terminus/fmod/api -I/usr/include/SDL test.cpp&lt;br /&gt;
&lt;br /&gt;
That does it.  Now to play with test.cpp...&lt;br /&gt;
OK, looks like g++ sees these and thinks they are function declarations:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
Change to this and g++ &amp;quot;gets&amp;quot; it:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet = TeSize( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet = TeRect( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
John, I hope you don&#039;t mind, I checked in that change, and one other similar change in world/craft.hpp.  I want to be EXTREMELY careful about breaking anything of yours, can you see if it still works for you?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I am not on my home DEV station, so I cannot just check this just now, but I am sure it is fine.  Go ahead and make these kind of changes with no worries.  If there are any issues I will let you know.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I suppose to do this right, I should have both Linux and Windows builds set up and test in both... eventually... :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next up: replace _finddata_t in the Linux build with a Linux equivalent...&lt;br /&gt;
&lt;br /&gt;
 profile.cpp:6:16: io.h: No such file or directory&lt;br /&gt;
 profile.cpp: In member function `void&lt;br /&gt;
    TeProfileMgr::Load(std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;,&lt;br /&gt;
    std::allocator&amp;lt;char&amp;gt; &amp;gt;)&#039;:&lt;br /&gt;
 profile.cpp:449: error: `_finddata_t&#039; undeclared (first use this function)&lt;br /&gt;
&lt;br /&gt;
I found some suggestions:&lt;br /&gt;
&lt;br /&gt;
 Try looking at the following functions&lt;br /&gt;
 opendir&lt;br /&gt;
 readdir, readdir_r&lt;br /&gt;
 fnmatch[/color]&lt;br /&gt;
 scandir, where available&lt;br /&gt;
 take a look at glob(3c) and ftw/nftw&lt;br /&gt;
&lt;br /&gt;
I have two options:&lt;br /&gt;
&lt;br /&gt;
# Make my own reusable functions for file operations using M$ calls or [http://docs.hp.com/en/B2355-60105/directory.3C.html Unix calls] depending on the build target&lt;br /&gt;
# Use [http://www.boost.org/libs/filesystem/doc/index.htm the filesystem library in boost]&lt;br /&gt;
&lt;br /&gt;
The first is better if the job is small, but little guys can&#039;t afford to reinvent the wheel for anything substantial.  I already use boost in HTDJ for serialization.  It&#039;s definitely got a ramp up time, but it&#039;s not too heavy once you&#039;re up to speed.  I will explore the boost filesystem library docs next...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
That io.h include is coming from the MinGW lib, which is base set of C/C++ headers that allows you to compile windows apps with GCC.  Look at www.mingw.org.  There should be a mingw or a mingw32 package to install under Linux.  I run mepis, which uses Synaptic, and there is a mingw32 package.&lt;br /&gt;
&lt;br /&gt;
I used mingw and gcc specificall so for easo-breezo cross platform.  Not so easy I guess.&lt;br /&gt;
&lt;br /&gt;
Try changing the &amp;quot;io.h&amp;quot; to &amp;lt;io.h&amp;gt; or &amp;lt;io&amp;gt; and see if that works?  Then maybe install that mingw32 package and try &amp;lt;io.h&amp;gt;?  I thought this stuff bought us cross-platform in a big way, so I would like to try and figure it out first before the boost option.&lt;br /&gt;
&lt;br /&gt;
1/2 of the stuff I do at work is on Linux, BTW, so I am coming up to speed rather quick.  I use Kdevelop at work, although I try to do as much as I can from the command line so that I can be a Linux nerd too :-)  So far, cream is my favorite command line style editing proggie.&lt;br /&gt;
&lt;br /&gt;
I am building up a linux laptop tonight so that I can be more useful on the Linux side.  It will take me a while to get it all config&#039;d and updated like my box at work is.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Doh, I hadn&#039;t thought of that, I will go check out www.mingw.org now.  If you get work time on Linux you are probably past me by now.  :&amp;gt;  Hey, regarding the autotools setup I&#039;ve put together, I believe autotools and Kdevelop play nicely, but not positive.  Feel free to change direction if Kdevelop has a different way of building the project that you would prefer.  In the meantime, I&#039;m checking out MinGW...&lt;br /&gt;
&lt;br /&gt;
Hrmm, at first glance it looks like MinGW is specifically for a Windows development environment.  IE, it allows you to use gcc on Windows with Windows-specific API&#039;s and functions (like _finddata_t).  But you mention that Synaptic serves it up on mepis.  I&#039;m digging to see if a Fedora package exists...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
The autotools stuff is cool - let&#039;s keep it - viss our command line ve shall take over za vurld!  :)&lt;br /&gt;
My linux box is built, but I haven&#039;t done anything with it yet - I am working on the Windows side tonight.&lt;br /&gt;
&lt;br /&gt;
Oh, btw, the code changes you checked in work fine.  I haven&#039;t received emails from the last couple of wiki changes you entered, so I was not aware of the code changes until you sent that email.  Is your SMTP the wiki points to working?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I think the wiki&#039;s working, I&#039;m getting emails.  You might need to fix your watch settings, as I moved the pages around a little bit - try clicking on that &amp;quot;watch&amp;quot; tab above...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Yeah, I was no longer set up to watch this page.  Testing, 1.. 2.. 3..&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
How about if *I* change it?  That should send you an email...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Back to Linux...&lt;br /&gt;
&lt;br /&gt;
I built up a Fedora box and could not get the autotools working (see the autotools page).  So I installed Anjuta and tried to get it working under an IDE and ran into the same compile problem that you had.&lt;br /&gt;
&lt;br /&gt;
I modified profile.cpp slightly so that the file compiles.  I will get back to converting the profile search to boost (or whatever) later.  The modified code will just cause the game to run with the default profile, which is perfectly fine for playing the game in development.&lt;br /&gt;
&lt;br /&gt;
After that, I was able to compile!!!  But not to link, heh, and I gave up at that point because I had solved the important issue.  So, get an update of profile.cpp and let me know if the game runs :-)&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Hey Johnny!  I just svn&#039;ed version 31.  I got past profile!  And other modules.  Final compile results:&lt;br /&gt;
&lt;br /&gt;
 system.cpp:67: error: type specifier omitted for parameter `szScreen&#039;&lt;br /&gt;
 system.cpp:67: error: `TeRect rclScreen(TePoint (*)())&#039; redeclared as different kind of symbol&lt;br /&gt;
 system.hpp:35: error: previous declaration of `TeRect rclScreen&#039;&lt;br /&gt;
 system.hpp:35: error: previous non-function declaration `TeRect rclScreen&#039;&lt;br /&gt;
 system.cpp:67: error: conflicts with function declaration `TeRect rclScreen(TePoint (*)())&#039;&lt;br /&gt;
&lt;br /&gt;
Will dig deeper now...&lt;br /&gt;
It&#039;s the same gcc issue I mentioned before, fixed by changing from constructor to assignment (like this):&lt;br /&gt;
&lt;br /&gt;
 TeSize szScreen( nScreenW, nScreenH );&lt;br /&gt;
&lt;br /&gt;
...becomes...&lt;br /&gt;
&lt;br /&gt;
 TeSize szScreen = TeSize( nScreenW, nScreenH );&lt;br /&gt;
&lt;br /&gt;
Now I&#039;m getting &amp;quot;No rule to make anim.cpp&amp;quot;, I assume that file is new?  Redoing autotools...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Cool!  anim.cpp has been around for some time, though.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Yeah, it&#039;s the first file I&#039;ve gotten to in a subdirectory... looks like I need to tweak my autotools setup...  I will check in that one little change I made first.&lt;br /&gt;
&lt;br /&gt;
Curses!  Backslashes be damned!  :P  Moving forward again, after updating terminus/Makefile.am to use FORWARD slashes doh...&lt;br /&gt;
&lt;br /&gt;
 util/graph.cpp: In member function `void TeRect::ThickRect(int, unsigned int) const&#039;:&lt;br /&gt;
 util/graph.cpp:196: error: syntax error before `,&#039; token&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Huh.  Just taking a gander at the code, I don&#039;t see what the issue is there.  They really don&#039;t like the way I use constructors, do they?&lt;br /&gt;
&lt;br /&gt;
When I compiled under Linux, I saw all kinds of warnings that I don&#039;t get under Windows.  To compensate, I cranked up the warning level under my Windows IDE to do some compliance clean-up.  But THEN the FMOD header wouldn&#039;t compile in, and ther e is nothing I can do about the FMOD libs.&lt;br /&gt;
&lt;br /&gt;
Perhaps a PCLint scan could be tuned to pick up minor compliance problems but not the major ones from FMOD?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I don&#039;t get why g++ is complaining, other than it can&#039;t seem to distinguish the static constructor from a function declaration for some reason.  That&#039;s the only real issue I&#039;ve had, not a big one for sure.  Now digging back in to the latest error...&lt;br /&gt;
&lt;br /&gt;
OK, changed this:&lt;br /&gt;
&lt;br /&gt;
 	TeRect( r(), y - nPad, nPad, h + ( nPad &amp;lt;&amp;lt; 1 ) ).FillRect( uiColor );&lt;br /&gt;
&lt;br /&gt;
...to this (again, not sure why, just going with what works, and isn&#039;t TOO messy)...&lt;br /&gt;
&lt;br /&gt;
 	TeRect( this-&amp;gt;r(), y - nPad, nPad, h + ( nPad &amp;lt;&amp;lt; 1 ) ).FillRect( uiColor );&lt;br /&gt;
&lt;br /&gt;
Now I&#039;m up to the linking errors too!!  Whoo!  getting closer...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Excellent!  I am &amp;quot;working&amp;quot; tonight too :-)  I will turn AIM on.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1671</id>
		<title>Terminus Making the code portable to linux</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1671"/>
		<updated>2006-07-27T01:45:05Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
&lt;br /&gt;
To me this looks like it is not finding the Sint32 type in SDL_types.h?&lt;br /&gt;
Either that or it is not finding my util/graph.h?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
But hey, on the positive side, main.cpp and config.cpp have successfully compiled!  :&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Compiling craftselect.cpp... here&#039;s the full first error:&lt;br /&gt;
&lt;br /&gt;
 In file included from world/weapon.hpp:8,&lt;br /&gt;
                  from world/craft.hpp:11,&lt;br /&gt;
                  from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
 world/bullet.hpp: In member function `TeRect TeBullet::getBoundRect()&#039;:&lt;br /&gt;
 world/bullet.hpp:236: error: request for member `CenteredAt&#039; in `rclBullet&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;non-aggregate&amp;quot; apparently means the compiler doesn&#039;t think the return value from CenteredAt is a class or struct.  &lt;br /&gt;
It looks fine to me:&lt;br /&gt;
&lt;br /&gt;
 TeRect CenteredAt( TePoint pt ) const;&lt;br /&gt;
&lt;br /&gt;
Lemme sleep on it, I&#039;ll give you an answer in the morning...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I emailed you the entire makefile generated by Dev-Cpp.&lt;br /&gt;
&lt;br /&gt;
Here is the portion that applies to craftselect.cpp:&lt;br /&gt;
&lt;br /&gt;
 craftselect.o: craftselect.cpp craftselect.hpp util/gui.hpp&lt;br /&gt;
  util/graph.hpp util/fixmath.hpp util/text.hpp  util/image.hpp   &lt;br /&gt;
  util/element.hpp util/../system.hpp util/../util/log.hpp   util/../util/graph.hpp util/../config.hpp&lt;br /&gt;
  util/../xml/xmlutils.h   util/../xml/tinyxml.h util/../profile.hpp util/../util/audio.hpp&lt;br /&gt;
  util/../util/graph.hpp util/../xml/xmlutils.h util/blit.hpp   world/craft.hpp world/../gamedef.hpp&lt;br /&gt;
  world/../util/image.hpp   world/../util/smoke.hpp world/../util/element.hpp   world/../util/body.hpp&lt;br /&gt;
  world/../util/../system.hpp   world/../util/graph.hpp world/../util/fixmath.hpp world/weapon.hpp&lt;br /&gt;
  world/bullet.hpp world/../util/anim.hpp world/../util/blit.hpp   world/../util/audio.hpp&lt;br /&gt;
  world/../util/exhaust.hpp   world/../util/smoke.hpp world/../util/../gamedef.hpp&lt;br /&gt;
  world/../xml/xmlutils.h world/target.hpp world/../util/log.hpp   gamesys.hpp system.hpp&lt;br /&gt;
  game.hpp scene.hpp util/text.hpp   util/element.hpp mainmenu.hpp results.hpp world/capital.hpp&lt;br /&gt;
  world/block.hpp world/../util/body.hpp world/target.hpp   util/message.hpp world/event.hpp&lt;br /&gt;
  world/../util/graph.hpp $(CPP) -c craftselect.cpp -o craftselect.o $(CXXFLAGS)&lt;br /&gt;
  &lt;br /&gt;
where&lt;br /&gt;
&lt;br /&gt;
 CPP  = g++.exe -D__DEBUG__&lt;br /&gt;
 CXXFLAGS = $(CXXINCS)   -fexceptions -g3&lt;br /&gt;
 CXXINCS = &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I&#039;m thinking it&#039;s a [const] issue... checking...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
On the side, there is a new Windows demo available at http://soloforge.com/files/TerminusDemo.zip&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Dang John!  The content is BURSTING FORTH!  This is fun stuff... like a graphic novel come to life...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Cool :-)  Oh, the fighter melee tutorial is broken.  The latest SVN version fixes it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Trying to isolate the error in bullet.hpp...&lt;br /&gt;
&lt;br /&gt;
 cd terminus/terminus/world&lt;br /&gt;
 cp bullet.hpp test.cpp&lt;br /&gt;
 g++ -I/home/m/development/terminus/fmod/api -I/usr/include/SDL test.cpp&lt;br /&gt;
&lt;br /&gt;
That does it.  Now to play with test.cpp...&lt;br /&gt;
OK, looks like g++ sees these and thinks they are function declarations:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
Change to this and g++ &amp;quot;gets&amp;quot; it:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet = TeSize( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet = TeRect( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
John, I hope you don&#039;t mind, I checked in that change, and one other similar change in world/craft.hpp.  I want to be EXTREMELY careful about breaking anything of yours, can you see if it still works for you?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I am not on my home DEV station, so I cannot just check this just now, but I am sure it is fine.  Go ahead and make these kind of changes with no worries.  If there are any issues I will let you know.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I suppose to do this right, I should have both Linux and Windows builds set up and test in both... eventually... :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next up: replace _finddata_t in the Linux build with a Linux equivalent...&lt;br /&gt;
&lt;br /&gt;
 profile.cpp:6:16: io.h: No such file or directory&lt;br /&gt;
 profile.cpp: In member function `void&lt;br /&gt;
    TeProfileMgr::Load(std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;,&lt;br /&gt;
    std::allocator&amp;lt;char&amp;gt; &amp;gt;)&#039;:&lt;br /&gt;
 profile.cpp:449: error: `_finddata_t&#039; undeclared (first use this function)&lt;br /&gt;
&lt;br /&gt;
I found some suggestions:&lt;br /&gt;
&lt;br /&gt;
 Try looking at the following functions&lt;br /&gt;
 opendir&lt;br /&gt;
 readdir, readdir_r&lt;br /&gt;
 fnmatch[/color]&lt;br /&gt;
 scandir, where available&lt;br /&gt;
 take a look at glob(3c) and ftw/nftw&lt;br /&gt;
&lt;br /&gt;
I have two options:&lt;br /&gt;
&lt;br /&gt;
# Make my own reusable functions for file operations using M$ calls or [http://docs.hp.com/en/B2355-60105/directory.3C.html Unix calls] depending on the build target&lt;br /&gt;
# Use [http://www.boost.org/libs/filesystem/doc/index.htm the filesystem library in boost]&lt;br /&gt;
&lt;br /&gt;
The first is better if the job is small, but little guys can&#039;t afford to reinvent the wheel for anything substantial.  I already use boost in HTDJ for serialization.  It&#039;s definitely got a ramp up time, but it&#039;s not too heavy once you&#039;re up to speed.  I will explore the boost filesystem library docs next...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
That io.h include is coming from the MinGW lib, which is base set of C/C++ headers that allows you to compile windows apps with GCC.  Look at www.mingw.org.  There should be a mingw or a mingw32 package to install under Linux.  I run mepis, which uses Synaptic, and there is a mingw32 package.&lt;br /&gt;
&lt;br /&gt;
I used mingw and gcc specificall so for easo-breezo cross platform.  Not so easy I guess.&lt;br /&gt;
&lt;br /&gt;
Try changing the &amp;quot;io.h&amp;quot; to &amp;lt;io.h&amp;gt; or &amp;lt;io&amp;gt; and see if that works?  Then maybe install that mingw32 package and try &amp;lt;io.h&amp;gt;?  I thought this stuff bought us cross-platform in a big way, so I would like to try and figure it out first before the boost option.&lt;br /&gt;
&lt;br /&gt;
1/2 of the stuff I do at work is on Linux, BTW, so I am coming up to speed rather quick.  I use Kdevelop at work, although I try to do as much as I can from the command line so that I can be a Linux nerd too :-)  So far, cream is my favorite command line style editing proggie.&lt;br /&gt;
&lt;br /&gt;
I am building up a linux laptop tonight so that I can be more useful on the Linux side.  It will take me a while to get it all config&#039;d and updated like my box at work is.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Doh, I hadn&#039;t thought of that, I will go check out www.mingw.org now.  If you get work time on Linux you are probably past me by now.  :&amp;gt;  Hey, regarding the autotools setup I&#039;ve put together, I believe autotools and Kdevelop play nicely, but not positive.  Feel free to change direction if Kdevelop has a different way of building the project that you would prefer.  In the meantime, I&#039;m checking out MinGW...&lt;br /&gt;
&lt;br /&gt;
Hrmm, at first glance it looks like MinGW is specifically for a Windows development environment.  IE, it allows you to use gcc on Windows with Windows-specific API&#039;s and functions (like _finddata_t).  But you mention that Synaptic serves it up on mepis.  I&#039;m digging to see if a Fedora package exists...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
The autotools stuff is cool - let&#039;s keep it - viss our command line ve shall take over za vurld!  :)&lt;br /&gt;
My linux box is built, but I haven&#039;t done anything with it yet - I am working on the Windows side tonight.&lt;br /&gt;
&lt;br /&gt;
Oh, btw, the code changes you checked in work fine.  I haven&#039;t received emails from the last couple of wiki changes you entered, so I was not aware of the code changes until you sent that email.  Is your SMTP the wiki points to working?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I think the wiki&#039;s working, I&#039;m getting emails.  You might need to fix your watch settings, as I moved the pages around a little bit - try clicking on that &amp;quot;watch&amp;quot; tab above...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Yeah, I was no longer set up to watch this page.  Testing, 1.. 2.. 3..&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
How about if *I* change it?  That should send you an email...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Back to Linux...&lt;br /&gt;
&lt;br /&gt;
I built up a Fedora box and could not get the autotools working (see the autotools page).  So I installed Anjuta and tried to get it working under an IDE and ran into the same compile problem that you had.&lt;br /&gt;
&lt;br /&gt;
I modified profile.cpp slightly so that the file compiles.  I will get back to converting the profile search to boost (or whatever) later.  The modified code will just cause the game to run with the default profile, which is perfectly fine for playing the game in development.&lt;br /&gt;
&lt;br /&gt;
After that, I was able to compile!!!  But not to link, heh, and I gave up at that point because I had solved the important issue.  So, get an update of profile.cpp and let me know if the game runs :-)&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Hey Johnny!  I just svn&#039;ed version 31.  I got past profile!  And other modules.  Final compile results:&lt;br /&gt;
&lt;br /&gt;
 system.cpp:67: error: type specifier omitted for parameter `szScreen&#039;&lt;br /&gt;
 system.cpp:67: error: `TeRect rclScreen(TePoint (*)())&#039; redeclared as different kind of symbol&lt;br /&gt;
 system.hpp:35: error: previous declaration of `TeRect rclScreen&#039;&lt;br /&gt;
 system.hpp:35: error: previous non-function declaration `TeRect rclScreen&#039;&lt;br /&gt;
 system.cpp:67: error: conflicts with function declaration `TeRect rclScreen(TePoint (*)())&#039;&lt;br /&gt;
&lt;br /&gt;
Will dig deeper now...&lt;br /&gt;
It&#039;s the same gcc issue I mentioned before, fixed by changing from constructor to assignment (like this):&lt;br /&gt;
&lt;br /&gt;
 TeSize szScreen( nScreenW, nScreenH );&lt;br /&gt;
&lt;br /&gt;
...becomes...&lt;br /&gt;
&lt;br /&gt;
 TeSize szScreen = TeSize( nScreenW, nScreenH );&lt;br /&gt;
&lt;br /&gt;
Now I&#039;m getting &amp;quot;No rule to make anim.cpp&amp;quot;, I assume that file is new?  Redoing autotools...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Cool!  anim.cpp has been around for some time, though.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Yeah, it&#039;s the first file I&#039;ve gotten to in a subdirectory... looks like I need to tweak my autotools setup...  I will check in that one little change I made first.&lt;br /&gt;
&lt;br /&gt;
Curses!  Backslashes be damned!  :P  Moving forward again, after updating terminus/Makefile.am to use FORWARD slashes doh...&lt;br /&gt;
&lt;br /&gt;
 util/graph.cpp: In member function `void TeRect::ThickRect(int, unsigned int) const&#039;:&lt;br /&gt;
 util/graph.cpp:196: error: syntax error before `,&#039; token&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Huh.  Just taking a gander at the code, I don&#039;t see what the issue it there.  They really don&#039;t like the way I use constructors, do they?&lt;br /&gt;
&lt;br /&gt;
When I compiled under Linux, I saw all kinds of warnings that I don&#039;t get under Windows.  To compensate, I cranked up the warning level under my Windows IDE to do some compliance clean-up.  But THEN the FMOD header wouldn&#039;t compile in, and ther e is nothing I can do about the FMOD libs.&lt;br /&gt;
&lt;br /&gt;
Perhaps a PCLint scan could be tuned to pick up minor compliance problems but not the major ones from FMOD?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I don&#039;t get why g++ is complaining, other than it can&#039;t seem to distinguish the static constructor from a function declaration for some reason.  That&#039;s the only real issue I&#039;ve had, not a big one for sure.  Now digging back in to the latest error...&lt;br /&gt;
&lt;br /&gt;
OK, changed this:&lt;br /&gt;
&lt;br /&gt;
 	TeRect( r(), y - nPad, nPad, h + ( nPad &amp;lt;&amp;lt; 1 ) ).FillRect( uiColor );&lt;br /&gt;
&lt;br /&gt;
...to this (again, not sure why, just going with what works, and isn&#039;t TOO messy)...&lt;br /&gt;
&lt;br /&gt;
 	TeRect( this-&amp;gt;r(), y - nPad, nPad, h + ( nPad &amp;lt;&amp;lt; 1 ) ).FillRect( uiColor );&lt;br /&gt;
&lt;br /&gt;
Now I&#039;m up to the linking errors too!!  Whoo!  getting closer...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Excellent!  I am &amp;quot;working&amp;quot; tonight too :-)  I will turn AIM on.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1668</id>
		<title>Terminus Making the code portable to linux</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1668"/>
		<updated>2006-07-26T22:28:32Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
&lt;br /&gt;
To me this looks like it is not finding the Sint32 type in SDL_types.h?&lt;br /&gt;
Either that or it is not finding my util/graph.h?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
But hey, on the positive side, main.cpp and config.cpp have successfully compiled!  :&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Compiling craftselect.cpp... here&#039;s the full first error:&lt;br /&gt;
&lt;br /&gt;
 In file included from world/weapon.hpp:8,&lt;br /&gt;
                  from world/craft.hpp:11,&lt;br /&gt;
                  from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
 world/bullet.hpp: In member function `TeRect TeBullet::getBoundRect()&#039;:&lt;br /&gt;
 world/bullet.hpp:236: error: request for member `CenteredAt&#039; in `rclBullet&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;non-aggregate&amp;quot; apparently means the compiler doesn&#039;t think the return value from CenteredAt is a class or struct.  &lt;br /&gt;
It looks fine to me:&lt;br /&gt;
&lt;br /&gt;
 TeRect CenteredAt( TePoint pt ) const;&lt;br /&gt;
&lt;br /&gt;
Lemme sleep on it, I&#039;ll give you an answer in the morning...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I emailed you the entire makefile generated by Dev-Cpp.&lt;br /&gt;
&lt;br /&gt;
Here is the portion that applies to craftselect.cpp:&lt;br /&gt;
&lt;br /&gt;
 craftselect.o: craftselect.cpp craftselect.hpp util/gui.hpp&lt;br /&gt;
  util/graph.hpp util/fixmath.hpp util/text.hpp  util/image.hpp   &lt;br /&gt;
  util/element.hpp util/../system.hpp util/../util/log.hpp   util/../util/graph.hpp util/../config.hpp&lt;br /&gt;
  util/../xml/xmlutils.h   util/../xml/tinyxml.h util/../profile.hpp util/../util/audio.hpp&lt;br /&gt;
  util/../util/graph.hpp util/../xml/xmlutils.h util/blit.hpp   world/craft.hpp world/../gamedef.hpp&lt;br /&gt;
  world/../util/image.hpp   world/../util/smoke.hpp world/../util/element.hpp   world/../util/body.hpp&lt;br /&gt;
  world/../util/../system.hpp   world/../util/graph.hpp world/../util/fixmath.hpp world/weapon.hpp&lt;br /&gt;
  world/bullet.hpp world/../util/anim.hpp world/../util/blit.hpp   world/../util/audio.hpp&lt;br /&gt;
  world/../util/exhaust.hpp   world/../util/smoke.hpp world/../util/../gamedef.hpp&lt;br /&gt;
  world/../xml/xmlutils.h world/target.hpp world/../util/log.hpp   gamesys.hpp system.hpp&lt;br /&gt;
  game.hpp scene.hpp util/text.hpp   util/element.hpp mainmenu.hpp results.hpp world/capital.hpp&lt;br /&gt;
  world/block.hpp world/../util/body.hpp world/target.hpp   util/message.hpp world/event.hpp&lt;br /&gt;
  world/../util/graph.hpp $(CPP) -c craftselect.cpp -o craftselect.o $(CXXFLAGS)&lt;br /&gt;
  &lt;br /&gt;
where&lt;br /&gt;
&lt;br /&gt;
 CPP  = g++.exe -D__DEBUG__&lt;br /&gt;
 CXXFLAGS = $(CXXINCS)   -fexceptions -g3&lt;br /&gt;
 CXXINCS = &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I&#039;m thinking it&#039;s a [const] issue... checking...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
On the side, there is a new Windows demo available at http://soloforge.com/files/TerminusDemo.zip&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Dang John!  The content is BURSTING FORTH!  This is fun stuff... like a graphic novel come to life...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Cool :-)  Oh, the fighter melee tutorial is broken.  The latest SVN version fixes it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Trying to isolate the error in bullet.hpp...&lt;br /&gt;
&lt;br /&gt;
 cd terminus/terminus/world&lt;br /&gt;
 cp bullet.hpp test.cpp&lt;br /&gt;
 g++ -I/home/m/development/terminus/fmod/api -I/usr/include/SDL test.cpp&lt;br /&gt;
&lt;br /&gt;
That does it.  Now to play with test.cpp...&lt;br /&gt;
OK, looks like g++ sees these and thinks they are function declarations:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
Change to this and g++ &amp;quot;gets&amp;quot; it:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet = TeSize( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet = TeRect( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
John, I hope you don&#039;t mind, I checked in that change, and one other similar change in world/craft.hpp.  I want to be EXTREMELY careful about breaking anything of yours, can you see if it still works for you?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I am not on my home DEV station, so I cannot just check this just now, but I am sure it is fine.  Go ahead and make these kind of changes with no worries.  If there are any issues I will let you know.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I suppose to do this right, I should have both Linux and Windows builds set up and test in both... eventually... :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next up: replace _finddata_t in the Linux build with a Linux equivalent...&lt;br /&gt;
&lt;br /&gt;
 profile.cpp:6:16: io.h: No such file or directory&lt;br /&gt;
 profile.cpp: In member function `void&lt;br /&gt;
    TeProfileMgr::Load(std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;,&lt;br /&gt;
    std::allocator&amp;lt;char&amp;gt; &amp;gt;)&#039;:&lt;br /&gt;
 profile.cpp:449: error: `_finddata_t&#039; undeclared (first use this function)&lt;br /&gt;
&lt;br /&gt;
I found some suggestions:&lt;br /&gt;
&lt;br /&gt;
 Try looking at the following functions&lt;br /&gt;
 opendir&lt;br /&gt;
 readdir, readdir_r&lt;br /&gt;
 fnmatch[/color]&lt;br /&gt;
 scandir, where available&lt;br /&gt;
 take a look at glob(3c) and ftw/nftw&lt;br /&gt;
&lt;br /&gt;
I have two options:&lt;br /&gt;
&lt;br /&gt;
# Make my own reusable functions for file operations using M$ calls or [http://docs.hp.com/en/B2355-60105/directory.3C.html Unix calls] depending on the build target&lt;br /&gt;
# Use [http://www.boost.org/libs/filesystem/doc/index.htm the filesystem library in boost]&lt;br /&gt;
&lt;br /&gt;
The first is better if the job is small, but little guys can&#039;t afford to reinvent the wheel for anything substantial.  I already use boost in HTDJ for serialization.  It&#039;s definitely got a ramp up time, but it&#039;s not too heavy once you&#039;re up to speed.  I will explore the boost filesystem library docs next...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
That io.h include is coming from the MinGW lib, which is base set of C/C++ headers that allows you to compile windows apps with GCC.  Look at www.mingw.org.  There should be a mingw or a mingw32 package to install under Linux.  I run mepis, which uses Synaptic, and there is a mingw32 package.&lt;br /&gt;
&lt;br /&gt;
I used mingw and gcc specificall so for easo-breezo cross platform.  Not so easy I guess.&lt;br /&gt;
&lt;br /&gt;
Try changing the &amp;quot;io.h&amp;quot; to &amp;lt;io.h&amp;gt; or &amp;lt;io&amp;gt; and see if that works?  Then maybe install that mingw32 package and try &amp;lt;io.h&amp;gt;?  I thought this stuff bought us cross-platform in a big way, so I would like to try and figure it out first before the boost option.&lt;br /&gt;
&lt;br /&gt;
1/2 of the stuff I do at work is on Linux, BTW, so I am coming up to speed rather quick.  I use Kdevelop at work, although I try to do as much as I can from the command line so that I can be a Linux nerd too :-)  So far, cream is my favorite command line style editing proggie.&lt;br /&gt;
&lt;br /&gt;
I am building up a linux laptop tonight so that I can be more useful on the Linux side.  It will take me a while to get it all config&#039;d and updated like my box at work is.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Doh, I hadn&#039;t thought of that, I will go check out www.mingw.org now.  If you get work time on Linux you are probably past me by now.  :&amp;gt;  Hey, regarding the autotools setup I&#039;ve put together, I believe autotools and Kdevelop play nicely, but not positive.  Feel free to change direction if Kdevelop has a different way of building the project that you would prefer.  In the meantime, I&#039;m checking out MinGW...&lt;br /&gt;
&lt;br /&gt;
Hrmm, at first glance it looks like MinGW is specifically for a Windows development environment.  IE, it allows you to use gcc on Windows with Windows-specific API&#039;s and functions (like _finddata_t).  But you mention that Synaptic serves it up on mepis.  I&#039;m digging to see if a Fedora package exists...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
The autotools stuff is cool - let&#039;s keep it - viss our command line ve shall take over za vurld!  :)&lt;br /&gt;
My linux box is built, but I haven&#039;t done anything with it yet - I am working on the Windows side tonight.&lt;br /&gt;
&lt;br /&gt;
Oh, btw, the code changes you checked in work fine.  I haven&#039;t received emails from the last couple of wiki changes you entered, so I was not aware of the code changes until you sent that email.  Is your SMTP the wiki points to working?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I think the wiki&#039;s working, I&#039;m getting emails.  You might need to fix your watch settings, as I moved the pages around a little bit - try clicking on that &amp;quot;watch&amp;quot; tab above...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Yeah, I was no longer set up to watch this page.  Testing, 1.. 2.. 3..&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
How about if *I* change it?  That should send you an email...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Back to Linux...&lt;br /&gt;
&lt;br /&gt;
I built up a Fedora box and could not get the autotools working (see the autotools page).  So I installed Anjuta and tried to get it working under an IDE and ran into the same compile problem that you had.&lt;br /&gt;
&lt;br /&gt;
I modified profile.cpp slightly so that the file compiles.  I will get back to converting the profile search to boost (or whatever) later.  The modified code will just cause the game to run with the default profile, which is perfectly fine for playing the game in development.&lt;br /&gt;
&lt;br /&gt;
After that, I was able to compile!!!  But not to link, heh, and I gave up at that point because I had solved the important issue.  So, get an update of profile.cpp and let me know if the game runs :-)&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Hey Johnny!  I just svn&#039;ed version 31.  I got past profile!  And other modules.  Final compile results:&lt;br /&gt;
&lt;br /&gt;
 system.cpp:67: error: type specifier omitted for parameter `szScreen&#039;&lt;br /&gt;
 system.cpp:67: error: `TeRect rclScreen(TePoint (*)())&#039; redeclared as different kind of symbol&lt;br /&gt;
 system.hpp:35: error: previous declaration of `TeRect rclScreen&#039;&lt;br /&gt;
 system.hpp:35: error: previous non-function declaration `TeRect rclScreen&#039;&lt;br /&gt;
 system.cpp:67: error: conflicts with function declaration `TeRect rclScreen(TePoint (*)())&#039;&lt;br /&gt;
&lt;br /&gt;
Will dig deeper now...&lt;br /&gt;
It&#039;s the same gcc issue I mentioned before, fixed by changing from constructor to assignment (like this):&lt;br /&gt;
&lt;br /&gt;
 TeSize szScreen( nScreenW, nScreenH );&lt;br /&gt;
&lt;br /&gt;
...becomes...&lt;br /&gt;
&lt;br /&gt;
 TeSize szScreen = TeSize( nScreenW, nScreenH );&lt;br /&gt;
&lt;br /&gt;
Now I&#039;m getting &amp;quot;No rule to make anim.cpp&amp;quot;, I assume that file is new?  Redoing autotools...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Cool!  anim.cpp has been around for some time, though.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Yeah, it&#039;s the first file I&#039;ve gotten to in a subdirectory... looks like I need to tweak my autotools setup...  I will check in that one little change I made first.&lt;br /&gt;
&lt;br /&gt;
Curses!  Backslashes be damned!  :P  Moving forward again, after updating terminus/Makefile.am to use FORWARD slashes doh...&lt;br /&gt;
&lt;br /&gt;
 util/graph.cpp: In member function `void TeRect::ThickRect(int, unsigned int) const&#039;:&lt;br /&gt;
 util/graph.cpp:196: error: syntax error before `,&#039; token&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Huh.  Just taking a gander at the code, I don&#039;t see what the issue it there.  They really don&#039;t like the way I use constructors, do they?&lt;br /&gt;
&lt;br /&gt;
When I compiled under Linux, I saw all kinds of warnings that I don&#039;t get under Windows.  To compensate, I cranked up the warning level under my Windows IDE to do some compliance clean-up.  But THEN the FMOD header wouldn&#039;t compile in, and ther e is nothing I can do about the FMOD libs.&lt;br /&gt;
&lt;br /&gt;
Perhaps a PCLint scan could be tuned to pick up minor compliance problems but not the major ones from FMOD?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1665</id>
		<title>Terminus Making the code portable to linux</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1665"/>
		<updated>2006-07-26T18:45:41Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
&lt;br /&gt;
To me this looks like it is not finding the Sint32 type in SDL_types.h?&lt;br /&gt;
Either that or it is not finding my util/graph.h?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
But hey, on the positive side, main.cpp and config.cpp have successfully compiled!  :&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Compiling craftselect.cpp... here&#039;s the full first error:&lt;br /&gt;
&lt;br /&gt;
 In file included from world/weapon.hpp:8,&lt;br /&gt;
                  from world/craft.hpp:11,&lt;br /&gt;
                  from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
 world/bullet.hpp: In member function `TeRect TeBullet::getBoundRect()&#039;:&lt;br /&gt;
 world/bullet.hpp:236: error: request for member `CenteredAt&#039; in `rclBullet&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;non-aggregate&amp;quot; apparently means the compiler doesn&#039;t think the return value from CenteredAt is a class or struct.  &lt;br /&gt;
It looks fine to me:&lt;br /&gt;
&lt;br /&gt;
 TeRect CenteredAt( TePoint pt ) const;&lt;br /&gt;
&lt;br /&gt;
Lemme sleep on it, I&#039;ll give you an answer in the morning...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I emailed you the entire makefile generated by Dev-Cpp.&lt;br /&gt;
&lt;br /&gt;
Here is the portion that applies to craftselect.cpp:&lt;br /&gt;
&lt;br /&gt;
 craftselect.o: craftselect.cpp craftselect.hpp util/gui.hpp&lt;br /&gt;
  util/graph.hpp util/fixmath.hpp util/text.hpp  util/image.hpp   &lt;br /&gt;
  util/element.hpp util/../system.hpp util/../util/log.hpp   util/../util/graph.hpp util/../config.hpp&lt;br /&gt;
  util/../xml/xmlutils.h   util/../xml/tinyxml.h util/../profile.hpp util/../util/audio.hpp&lt;br /&gt;
  util/../util/graph.hpp util/../xml/xmlutils.h util/blit.hpp   world/craft.hpp world/../gamedef.hpp&lt;br /&gt;
  world/../util/image.hpp   world/../util/smoke.hpp world/../util/element.hpp   world/../util/body.hpp&lt;br /&gt;
  world/../util/../system.hpp   world/../util/graph.hpp world/../util/fixmath.hpp world/weapon.hpp&lt;br /&gt;
  world/bullet.hpp world/../util/anim.hpp world/../util/blit.hpp   world/../util/audio.hpp&lt;br /&gt;
  world/../util/exhaust.hpp   world/../util/smoke.hpp world/../util/../gamedef.hpp&lt;br /&gt;
  world/../xml/xmlutils.h world/target.hpp world/../util/log.hpp   gamesys.hpp system.hpp&lt;br /&gt;
  game.hpp scene.hpp util/text.hpp   util/element.hpp mainmenu.hpp results.hpp world/capital.hpp&lt;br /&gt;
  world/block.hpp world/../util/body.hpp world/target.hpp   util/message.hpp world/event.hpp&lt;br /&gt;
  world/../util/graph.hpp $(CPP) -c craftselect.cpp -o craftselect.o $(CXXFLAGS)&lt;br /&gt;
  &lt;br /&gt;
where&lt;br /&gt;
&lt;br /&gt;
 CPP  = g++.exe -D__DEBUG__&lt;br /&gt;
 CXXFLAGS = $(CXXINCS)   -fexceptions -g3&lt;br /&gt;
 CXXINCS = &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I&#039;m thinking it&#039;s a [const] issue... checking...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
On the side, there is a new Windows demo available at http://soloforge.com/files/TerminusDemo.zip&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Dang John!  The content is BURSTING FORTH!  This is fun stuff... like a graphic novel come to life...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Cool :-)  Oh, the fighter melee tutorial is broken.  The latest SVN version fixes it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Trying to isolate the error in bullet.hpp...&lt;br /&gt;
&lt;br /&gt;
 cd terminus/terminus/world&lt;br /&gt;
 cp bullet.hpp test.cpp&lt;br /&gt;
 g++ -I/home/m/development/terminus/fmod/api -I/usr/include/SDL test.cpp&lt;br /&gt;
&lt;br /&gt;
That does it.  Now to play with test.cpp...&lt;br /&gt;
OK, looks like g++ sees these and thinks they are function declarations:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
Change to this and g++ &amp;quot;gets&amp;quot; it:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet = TeSize( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet = TeRect( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
John, I hope you don&#039;t mind, I checked in that change, and one other similar change in world/craft.hpp.  I want to be EXTREMELY careful about breaking anything of yours, can you see if it still works for you?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I am not on my home DEV station, so I cannot just check this just now, but I am sure it is fine.  Go ahead and make these kind of changes with no worries.  If there are any issues I will let you know.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I suppose to do this right, I should have both Linux and Windows builds set up and test in both... eventually... :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next up: replace _finddata_t in the Linux build with a Linux equivalent...&lt;br /&gt;
&lt;br /&gt;
 profile.cpp:6:16: io.h: No such file or directory&lt;br /&gt;
 profile.cpp: In member function `void&lt;br /&gt;
    TeProfileMgr::Load(std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;,&lt;br /&gt;
    std::allocator&amp;lt;char&amp;gt; &amp;gt;)&#039;:&lt;br /&gt;
 profile.cpp:449: error: `_finddata_t&#039; undeclared (first use this function)&lt;br /&gt;
&lt;br /&gt;
I found some suggestions:&lt;br /&gt;
&lt;br /&gt;
 Try looking at the following functions&lt;br /&gt;
 opendir&lt;br /&gt;
 readdir, readdir_r&lt;br /&gt;
 fnmatch[/color]&lt;br /&gt;
 scandir, where available&lt;br /&gt;
 take a look at glob(3c) and ftw/nftw&lt;br /&gt;
&lt;br /&gt;
I have two options:&lt;br /&gt;
&lt;br /&gt;
# Make my own reusable functions for file operations using M$ calls or [http://docs.hp.com/en/B2355-60105/directory.3C.html Unix calls] depending on the build target&lt;br /&gt;
# Use [http://www.boost.org/libs/filesystem/doc/index.htm the filesystem library in boost]&lt;br /&gt;
&lt;br /&gt;
The first is better if the job is small, but little guys can&#039;t afford to reinvent the wheel for anything substantial.  I already use boost in HTDJ for serialization.  It&#039;s definitely got a ramp up time, but it&#039;s not too heavy once you&#039;re up to speed.  I will explore the boost filesystem library docs next...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
That io.h include is coming from the MinGW lib, which is base set of C/C++ headers that allows you to compile windows apps with GCC.  Look at www.mingw.org.  There should be a mingw or a mingw32 package to install under Linux.  I run mepis, which uses Synaptic, and there is a mingw32 package.&lt;br /&gt;
&lt;br /&gt;
I used mingw and gcc specificall so for easo-breezo cross platform.  Not so easy I guess.&lt;br /&gt;
&lt;br /&gt;
Try changing the &amp;quot;io.h&amp;quot; to &amp;lt;io.h&amp;gt; or &amp;lt;io&amp;gt; and see if that works?  Then maybe install that mingw32 package and try &amp;lt;io.h&amp;gt;?  I thought this stuff bought us cross-platform in a big way, so I would like to try and figure it out first before the boost option.&lt;br /&gt;
&lt;br /&gt;
1/2 of the stuff I do at work is on Linux, BTW, so I am coming up to speed rather quick.  I use Kdevelop at work, although I try to do as much as I can from the command line so that I can be a Linux nerd too :-)  So far, cream is my favorite command line style editing proggie.&lt;br /&gt;
&lt;br /&gt;
I am building up a linux laptop tonight so that I can be more useful on the Linux side.  It will take me a while to get it all config&#039;d and updated like my box at work is.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Doh, I hadn&#039;t thought of that, I will go check out www.mingw.org now.  If you get work time on Linux you are probably past me by now.  :&amp;gt;  Hey, regarding the autotools setup I&#039;ve put together, I believe autotools and Kdevelop play nicely, but not positive.  Feel free to change direction if Kdevelop has a different way of building the project that you would prefer.  In the meantime, I&#039;m checking out MinGW...&lt;br /&gt;
&lt;br /&gt;
Hrmm, at first glance it looks like MinGW is specifically for a Windows development environment.  IE, it allows you to use gcc on Windows with Windows-specific API&#039;s and functions (like _finddata_t).  But you mention that Synaptic serves it up on mepis.  I&#039;m digging to see if a Fedora package exists...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
The autotools stuff is cool - let&#039;s keep it - viss our command line ve shall take over za vurld!  :)&lt;br /&gt;
My linux box is built, but I haven&#039;t done anything with it yet - I am working on the Windows side tonight.&lt;br /&gt;
&lt;br /&gt;
Oh, btw, the code changes you checked in work fine.  I haven&#039;t received emails from the last couple of wiki changes you entered, so I was not aware of the code changes until you sent that email.  Is your SMTP the wiki points to working?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I think the wiki&#039;s working, I&#039;m getting emails.  You might need to fix your watch settings, as I moved the pages around a little bit - try clicking on that &amp;quot;watch&amp;quot; tab above...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Yeah, I was no longer set up to watch this page.  Testing, 1.. 2.. 3..&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
How about if *I* change it?  That should send you an email...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Back to Linux...&lt;br /&gt;
&lt;br /&gt;
I built up a Fedora box and could not get the autotools working (see the autotools page).  So I installed Anjuta and tried to get it working under an IDE and ran into the same compile problem that you had.&lt;br /&gt;
&lt;br /&gt;
I modified profile.cpp slightly so that the file compiles.  I will get back to converting the profile search to boost (or whatever) later.  The modified code will just cause the game to run with the default profile, which is perfectly fine for playing the game in development.&lt;br /&gt;
&lt;br /&gt;
After that, I was able to compile!!!  But not to link, heh, and I gave up at that point because I had solved the important issue.  So, get an update of profile.cpp and let me know if the game runs :-)&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Hey Johnny!  I just svn&#039;ed version 31.  I got past profile!  And other modules.  Final compile results:&lt;br /&gt;
&lt;br /&gt;
 system.cpp:67: error: type specifier omitted for parameter `szScreen&#039;&lt;br /&gt;
 system.cpp:67: error: `TeRect rclScreen(TePoint (*)())&#039; redeclared as different kind of symbol&lt;br /&gt;
 system.hpp:35: error: previous declaration of `TeRect rclScreen&#039;&lt;br /&gt;
 system.hpp:35: error: previous non-function declaration `TeRect rclScreen&#039;&lt;br /&gt;
 system.cpp:67: error: conflicts with function declaration `TeRect rclScreen(TePoint (*)())&#039;&lt;br /&gt;
&lt;br /&gt;
Will dig deeper now...&lt;br /&gt;
It&#039;s the same gcc issue I mentioned before, fixed by changing from constructor to assignment (like this):&lt;br /&gt;
&lt;br /&gt;
 TeSize szScreen( nScreenW, nScreenH );&lt;br /&gt;
&lt;br /&gt;
...becomes...&lt;br /&gt;
&lt;br /&gt;
 TeSize szScreen = TeSize( nScreenW, nScreenH );&lt;br /&gt;
&lt;br /&gt;
Now I&#039;m getting &amp;quot;No rule to make anim.cpp&amp;quot;, I assume that file is new?  Redoing autotools...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Cool!  anim.cpp has been around for some time, though.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1660</id>
		<title>Terminus Making the code portable to linux</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1660"/>
		<updated>2006-07-26T00:53:19Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
&lt;br /&gt;
To me this looks like it is not finding the Sint32 type in SDL_types.h?&lt;br /&gt;
Either that or it is not finding my util/graph.h?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
But hey, on the positive side, main.cpp and config.cpp have successfully compiled!  :&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Compiling craftselect.cpp... here&#039;s the full first error:&lt;br /&gt;
&lt;br /&gt;
 In file included from world/weapon.hpp:8,&lt;br /&gt;
                  from world/craft.hpp:11,&lt;br /&gt;
                  from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
 world/bullet.hpp: In member function `TeRect TeBullet::getBoundRect()&#039;:&lt;br /&gt;
 world/bullet.hpp:236: error: request for member `CenteredAt&#039; in `rclBullet&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;non-aggregate&amp;quot; apparently means the compiler doesn&#039;t think the return value from CenteredAt is a class or struct.  &lt;br /&gt;
It looks fine to me:&lt;br /&gt;
&lt;br /&gt;
 TeRect CenteredAt( TePoint pt ) const;&lt;br /&gt;
&lt;br /&gt;
Lemme sleep on it, I&#039;ll give you an answer in the morning...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I emailed you the entire makefile generated by Dev-Cpp.&lt;br /&gt;
&lt;br /&gt;
Here is the portion that applies to craftselect.cpp:&lt;br /&gt;
&lt;br /&gt;
 craftselect.o: craftselect.cpp craftselect.hpp util/gui.hpp&lt;br /&gt;
  util/graph.hpp util/fixmath.hpp util/text.hpp  util/image.hpp   &lt;br /&gt;
  util/element.hpp util/../system.hpp util/../util/log.hpp   util/../util/graph.hpp util/../config.hpp&lt;br /&gt;
  util/../xml/xmlutils.h   util/../xml/tinyxml.h util/../profile.hpp util/../util/audio.hpp&lt;br /&gt;
  util/../util/graph.hpp util/../xml/xmlutils.h util/blit.hpp   world/craft.hpp world/../gamedef.hpp&lt;br /&gt;
  world/../util/image.hpp   world/../util/smoke.hpp world/../util/element.hpp   world/../util/body.hpp&lt;br /&gt;
  world/../util/../system.hpp   world/../util/graph.hpp world/../util/fixmath.hpp world/weapon.hpp&lt;br /&gt;
  world/bullet.hpp world/../util/anim.hpp world/../util/blit.hpp   world/../util/audio.hpp&lt;br /&gt;
  world/../util/exhaust.hpp   world/../util/smoke.hpp world/../util/../gamedef.hpp&lt;br /&gt;
  world/../xml/xmlutils.h world/target.hpp world/../util/log.hpp   gamesys.hpp system.hpp&lt;br /&gt;
  game.hpp scene.hpp util/text.hpp   util/element.hpp mainmenu.hpp results.hpp world/capital.hpp&lt;br /&gt;
  world/block.hpp world/../util/body.hpp world/target.hpp   util/message.hpp world/event.hpp&lt;br /&gt;
  world/../util/graph.hpp $(CPP) -c craftselect.cpp -o craftselect.o $(CXXFLAGS)&lt;br /&gt;
  &lt;br /&gt;
where&lt;br /&gt;
&lt;br /&gt;
 CPP  = g++.exe -D__DEBUG__&lt;br /&gt;
 CXXFLAGS = $(CXXINCS)   -fexceptions -g3&lt;br /&gt;
 CXXINCS = &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I&#039;m thinking it&#039;s a [const] issue... checking...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
On the side, there is a new Windows demo available at http://soloforge.com/files/TerminusDemo.zip&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Dang John!  The content is BURSTING FORTH!  This is fun stuff... like a graphic novel come to life...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Cool :-)  Oh, the fighter melee tutorial is broken.  The latest SVN version fixes it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Trying to isolate the error in bullet.hpp...&lt;br /&gt;
&lt;br /&gt;
 cd terminus/terminus/world&lt;br /&gt;
 cp bullet.hpp test.cpp&lt;br /&gt;
 g++ -I/home/m/development/terminus/fmod/api -I/usr/include/SDL test.cpp&lt;br /&gt;
&lt;br /&gt;
That does it.  Now to play with test.cpp...&lt;br /&gt;
OK, looks like g++ sees these and thinks they are function declarations:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
Change to this and g++ &amp;quot;gets&amp;quot; it:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet = TeSize( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet = TeRect( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
John, I hope you don&#039;t mind, I checked in that change, and one other similar change in world/craft.hpp.  I want to be EXTREMELY careful about breaking anything of yours, can you see if it still works for you?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I am not on my home DEV station, so I cannot just check this just now, but I am sure it is fine.  Go ahead and make these kind of changes with no worries.  If there are any issues I will let you know.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I suppose to do this right, I should have both Linux and Windows builds set up and test in both... eventually... :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next up: replace _finddata_t in the Linux build with a Linux equivalent...&lt;br /&gt;
&lt;br /&gt;
 profile.cpp:6:16: io.h: No such file or directory&lt;br /&gt;
 profile.cpp: In member function `void&lt;br /&gt;
    TeProfileMgr::Load(std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;,&lt;br /&gt;
    std::allocator&amp;lt;char&amp;gt; &amp;gt;)&#039;:&lt;br /&gt;
 profile.cpp:449: error: `_finddata_t&#039; undeclared (first use this function)&lt;br /&gt;
&lt;br /&gt;
I found some suggestions:&lt;br /&gt;
&lt;br /&gt;
 Try looking at the following functions&lt;br /&gt;
 opendir&lt;br /&gt;
 readdir, readdir_r&lt;br /&gt;
 fnmatch[/color]&lt;br /&gt;
 scandir, where available&lt;br /&gt;
 take a look at glob(3c) and ftw/nftw&lt;br /&gt;
&lt;br /&gt;
I have two options:&lt;br /&gt;
&lt;br /&gt;
# Make my own reusable functions for file operations using M$ calls or [http://docs.hp.com/en/B2355-60105/directory.3C.html Unix calls] depending on the build target&lt;br /&gt;
# Use [http://www.boost.org/libs/filesystem/doc/index.htm the filesystem library in boost]&lt;br /&gt;
&lt;br /&gt;
The first is better if the job is small, but little guys can&#039;t afford to reinvent the wheel for anything substantial.  I already use boost in HTDJ for serialization.  It&#039;s definitely got a ramp up time, but it&#039;s not too heavy once you&#039;re up to speed.  I will explore the boost filesystem library docs next...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
That io.h include is coming from the MinGW lib, which is base set of C/C++ headers that allows you to compile windows apps with GCC.  Look at www.mingw.org.  There should be a mingw or a mingw32 package to install under Linux.  I run mepis, which uses Synaptic, and there is a mingw32 package.&lt;br /&gt;
&lt;br /&gt;
I used mingw and gcc specificall so for easo-breezo cross platform.  Not so easy I guess.&lt;br /&gt;
&lt;br /&gt;
Try changing the &amp;quot;io.h&amp;quot; to &amp;lt;io.h&amp;gt; or &amp;lt;io&amp;gt; and see if that works?  Then maybe install that mingw32 package and try &amp;lt;io.h&amp;gt;?  I thought this stuff bought us cross-platform in a big way, so I would like to try and figure it out first before the boost option.&lt;br /&gt;
&lt;br /&gt;
1/2 of the stuff I do at work is on Linux, BTW, so I am coming up to speed rather quick.  I use Kdevelop at work, although I try to do as much as I can from the command line so that I can be a Linux nerd too :-)  So far, cream is my favorite command line style editing proggie.&lt;br /&gt;
&lt;br /&gt;
I am building up a linux laptop tonight so that I can be more useful on the Linux side.  It will take me a while to get it all config&#039;d and updated like my box at work is.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Doh, I hadn&#039;t thought of that, I will go check out www.mingw.org now.  If you get work time on Linux you are probably past me by now.  :&amp;gt;  Hey, regarding the autotools setup I&#039;ve put together, I believe autotools and Kdevelop play nicely, but not positive.  Feel free to change direction if Kdevelop has a different way of building the project that you would prefer.  In the meantime, I&#039;m checking out MinGW...&lt;br /&gt;
&lt;br /&gt;
Hrmm, at first glance it looks like MinGW is specifically for a Windows development environment.  IE, it allows you to use gcc on Windows with Windows-specific API&#039;s and functions (like _finddata_t).  But you mention that Synaptic serves it up on mepis.  I&#039;m digging to see if a Fedora package exists...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
The autotools stuff is cool - let&#039;s keep it - viss our command line ve shall take over za vurld!  :)&lt;br /&gt;
My linux box is built, but I haven&#039;t done anything with it yet - I am working on the Windows side tonight.&lt;br /&gt;
&lt;br /&gt;
Oh, btw, the code changes you checked in work fine.  I haven&#039;t received emails from the last couple of wiki changes you entered, so I was not aware of the code changes until you sent that email.  Is your SMTP the wiki points to working?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I think the wiki&#039;s working, I&#039;m getting emails.  You might need to fix your watch settings, as I moved the pages around a little bit - try clicking on that &amp;quot;watch&amp;quot; tab above...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Yeah, I was no longer set up to watch this page.  Testing, 1.. 2.. 3..&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
How about if *I* change it?  That should send you an email...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Back to Linux...&lt;br /&gt;
&lt;br /&gt;
I built up a Fedora box and could not get the autotools working (see the autotools page).  So I installed Anjuta and tried to get it working under an IDE and ran into the same compile problem that you had.&lt;br /&gt;
&lt;br /&gt;
I modified profile.cpp slightly so that the file compiles.  I will get back to converting the profile search to boost (or whatever) later.  The modified code will just cause the game to run with the default profile, which is perfectly fine for playing the game in development.&lt;br /&gt;
&lt;br /&gt;
After that, I was able to compile!!!  But not to link, heh, and I gave up at that point because I had solved the important issue.  So, get an update of profile.cpp and let me know if the game runs :-)&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_autotools_setup&amp;diff=1659</id>
		<title>Terminus autotools setup</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_autotools_setup&amp;diff=1659"/>
		<updated>2006-07-23T13:53:54Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I am going to set up to build with gcc using [http://sourceware.org/autobook/autobook/autobook_toc.html GNU autotools].  It seems to be a pretty common way of doing things, it&#039;s not too hard to set up, and once an autotools-built project is set up, maintaining it is a breeze.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s my script to create a new project for existing source files:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ cat ~m/scripts/setup_new_project.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 # MDM This sets up some default files, to prevent warnings.&lt;br /&gt;
 touch NEWS README AUTHORS ChangeLog&lt;br /&gt;
 &lt;br /&gt;
 # MDM We want to redo everything, kill anything that might screw us up.&lt;br /&gt;
 rm -rf config_backup 2&amp;gt;&amp;amp;1&lt;br /&gt;
 rm -rf autom4te.cache_backup 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mv config config_backup 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mv autom4te.cache autom4te.cache_backup 2&amp;gt;&amp;amp;1&lt;br /&gt;
 &lt;br /&gt;
 # MDM Set up default dirs, too.&lt;br /&gt;
 mkdir src &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mkdir test &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mkdir config &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mkdir doc &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 &lt;br /&gt;
 # MDM This creates configure.scan, an initial template for configure.ac,&lt;br /&gt;
 # based on the code it finds in the current directory.&lt;br /&gt;
 autoscan&lt;br /&gt;
 &lt;br /&gt;
 # MDM From http://lists.nongnu.org/archive/html/automake/2003-04/msg00226.html&lt;br /&gt;
 # libtoolize is the tool that will install (config.sub, ltmain.sh) in your package.&lt;br /&gt;
 # Consider also autoreconf, which will run&lt;br /&gt;
 # libtoolize/autopoint/aclocal/autoconf/automake in the right&lt;br /&gt;
 # order for you.&lt;br /&gt;
 libtoolize --force&lt;br /&gt;
 &lt;br /&gt;
 # MDM This runs all the automake tools.&lt;br /&gt;
 bootstrap&lt;br /&gt;
 &lt;br /&gt;
 # MDM Go ahead and configure and make, to see if it works.&lt;br /&gt;
 ./configure &amp;amp;&amp;amp; make clean &amp;amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
And my boostrap script:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ cat ~m/scripts/bootstrap&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 aclocal \&lt;br /&gt;
     &amp;amp;&amp;amp; automake --add-missing --copy \&lt;br /&gt;
     &amp;amp;&amp;amp; autoconf&lt;br /&gt;
&lt;br /&gt;
Before I can run those successfully we need to create a configure.in file.&lt;br /&gt;
&lt;br /&gt;
But first, where should I put the autotools files?  My ShareTheDJ project has all the autotools files in the project root, and the source code under project/src.  It would be nice if I could set up the autotools files under a subdirectory, since the root already has source files in it.  I&#039;ll see if I can pull that off...&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ ls&lt;br /&gt;
 config.cpp       craftselect.hpp  gamedef.hpp  gamesys.hpp   mainmenu.hpp  profiles   startup.cpp  system.hpp    Terminus_private.h    util&lt;br /&gt;
 config.hpp       data             game.hpp     main.cpp      profile.cpp   scene.cpp  startup.hpp  Terminus.ico  Terminus_private.rc   world&lt;br /&gt;
 craftselect.cpp  game.cpp         gamesys.cpp  mainmenu.cpp  profile.hpp   scene.hpp  system.cpp   Terminus.png  Terminus_private.res  xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Heh, you are way beyond me here.  I have never used the autotools stuff.  Dev-Cpp builds a makefile for me from the project settings that I set up in the IDE.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is a bunch of stuff in the root dir that I did not put into the SC (such as the Dev-Cpp project config file) because it did not apply to the Linux build.  Should that kind of stuff end up in the SC?  Should it be put into a seperate repository?&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am thinking maybe stuff like that I will put into a zip and check it into the root as &amp;quot;windows_build.zip&amp;quot; with each release.  NBD.&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I think we should add all building configuration right into the terminus repository.  Then comes the question of directory structure.  Maybe something like this?&lt;br /&gt;
&lt;br /&gt;
 terminus/&lt;br /&gt;
   (source code)&lt;br /&gt;
   (source code subdirs)&lt;br /&gt;
   linux&lt;br /&gt;
   windows&lt;br /&gt;
&lt;br /&gt;
autotools expects the source to be UNDER the autotools build directory, but I can get around that with a symlink:&lt;br /&gt;
&lt;br /&gt;
 terminus/&lt;br /&gt;
   (source code)&lt;br /&gt;
   (source code subdirs)&lt;br /&gt;
   linux&lt;br /&gt;
      src (just a symlink to ../)&lt;br /&gt;
   windows&lt;br /&gt;
&lt;br /&gt;
I&#039;m pretty sure that will work for me.  Can you set up Dev-Cpp configuration under the windows subdir?  If not, I say just dump the files right in with the source code, should be fine.  What do you think?&lt;br /&gt;
&lt;br /&gt;
I&#039;m slowly making progress on the autotools config.  SDL requires a little trickery, you have to include an autotools &amp;quot;M4&amp;quot; macro.  I will wait until I get autotools working, then check in the linux directory, if that sounds OK.  The only thing outside the linux directory will be one or two autotools config files in the root - I don&#039;t see a way around that - does that sound OK?&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Back.  I have screwed around with setting up autotools under the linux directory until I couldn&#039;t stand it any more.  As of now I am able to compile and get code-related errors, but the autotools config files are located at the parent of the terminus source directory.  Here are the files required to build:&lt;br /&gt;
&lt;br /&gt;
  terminus/&lt;br /&gt;
    configure.in&lt;br /&gt;
    Makefile.am&lt;br /&gt;
    terminus/&lt;br /&gt;
      code from svn repository&lt;br /&gt;
      Makefile.am&lt;br /&gt;
&lt;br /&gt;
Do this to set up to build:&lt;br /&gt;
&lt;br /&gt;
  cd terminus&lt;br /&gt;
  setup_new_project.sh&lt;br /&gt;
&lt;br /&gt;
From that point on I can build by typing &amp;quot;make&amp;quot;.  Here are the first errors I get:&lt;br /&gt;
&lt;br /&gt;
 In file included from world/weapon.hpp:8,&lt;br /&gt;
                  from world/craft.hpp:11,&lt;br /&gt;
                  from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
 world/bullet.hpp: In member function `TeRect TeBullet::getBoundRect()&#039;:&lt;br /&gt;
 world/bullet.hpp:236: error: request for member `CenteredAt&#039; in `rclBullet&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
 In file included from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/craft.hpp: At global scope:&lt;br /&gt;
 world/craft.hpp:22: error: type specifier omitted for parameter `szCraft&#039;&lt;br /&gt;
 world/craft.hpp: In member function `TeRect TeCraft::getBoundRect()&#039;:&lt;br /&gt;
 world/craft.hpp:192: error: request for member `CenteredAt&#039; in `rclCraft&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
 make[1]: *** [craftselect.o] Error 1&lt;br /&gt;
 make[1]: Leaving directory `/home/m/development/terminus/terminus&#039;&lt;br /&gt;
 make: *** [all-recursive] Error 1&lt;br /&gt;
&lt;br /&gt;
Bedtime...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Sorry I did not response to this last night - I was thinking about it, but did not come up with a conclusion until this morning:&lt;br /&gt;
&lt;br /&gt;
 terminus (the only thing that goes here is the stuff that HAS to go here, like your autotools stuff)&lt;br /&gt;
   src (plus subdirs)&lt;br /&gt;
   data (plus subdirs)&lt;br /&gt;
   linux (build scripts, dlls, libs, diaries, project files, etc.)&lt;br /&gt;
      output (obj files)&lt;br /&gt;
      release&lt;br /&gt;
         current&lt;br /&gt;
         1.0.0&lt;br /&gt;
         1.1.0&lt;br /&gt;
   windows (build scripts, dlls, libs, diaries, project files, etc.)&lt;br /&gt;
      output (obj files)&lt;br /&gt;
      release&lt;br /&gt;
         current&lt;br /&gt;
         1.0.0&lt;br /&gt;
         1.1.0&lt;br /&gt;
&lt;br /&gt;
However, if you are up and running (and happy with it) let&#039;s not change things.  I would have to refactor my project files, my old VSS, and the new SVN to match the changes :-(&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Sounds like a plan, man!  It will take a little more autotools tweaking.  I would agree with you and hold off on the reorganization in the short term, though, since we both have everything working as it is.  I can just tar up what&#039;s needed and put it in the root, like you had planned to do with the windoze stuff.  Here&#039;s what I plan on adding, if it sounds OK:&lt;br /&gt;
&lt;br /&gt;
 terminus &lt;br /&gt;
   (existing source code and data)&lt;br /&gt;
   setup_linux_build.sh&lt;br /&gt;
   linux/&lt;br /&gt;
     autotools.tar.gz&lt;br /&gt;
&lt;br /&gt;
autotools.tar.gz consists of the following autotools configuration files:&lt;br /&gt;
&lt;br /&gt;
 configure.in                the primary autotools configuration file&lt;br /&gt;
 Makefile.am                 makefile details for the root dir&lt;br /&gt;
 acinclude.m4                macros needed for SDL - this is a copy of /usr/share/aclocal/sdl.m4&lt;br /&gt;
 terminus/Makefile.am        makefile details for the source code in the terminus dir&lt;br /&gt;
 terminus/util/Makefile.am   makefile details for util&lt;br /&gt;
 terminus/world/Makefile.am  makefile details for world&lt;br /&gt;
 terminus/xml/Makefile.am    makefile details for xml&lt;br /&gt;
&lt;br /&gt;
After you run the setup script, you will have the following mess (which unfortunately seems to be the linux &amp;quot;standard&amp;quot;).  Note that the script WILL dump files one directory above the terminus subversion repository directory.&lt;br /&gt;
&lt;br /&gt;
 (tons of autotools files)&lt;br /&gt;
 config/(autotools config files)&lt;br /&gt;
 autom4te.cache/(autotools junk)&lt;br /&gt;
 terminus/&lt;br /&gt;
   (source code)&lt;br /&gt;
   (source code.o)&lt;br /&gt;
   Makefile.am&lt;br /&gt;
   Makefile.in&lt;br /&gt;
   Makefile&lt;br /&gt;
   (source code subdirs)&lt;br /&gt;
     (source code)&lt;br /&gt;
     (source code.o)&lt;br /&gt;
     Makefile.am&lt;br /&gt;
     Makefile.in&lt;br /&gt;
     Makefile&lt;br /&gt;
&lt;br /&gt;
What do you think?  It&#039;s not terrible I guess.  And we can revisit and reorganize later.  So... upwards and onwards?  :&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Yes, that is all cool.  You da man!&lt;br /&gt;
&lt;br /&gt;
You need any help with those errors?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Sure!  For now, here is what I am adding:&lt;br /&gt;
&lt;br /&gt;
 terminus &lt;br /&gt;
   (existing source code and data)&lt;br /&gt;
   setup_linux_build.sh&lt;br /&gt;
   linux/&lt;br /&gt;
     root/&lt;br /&gt;
       acinclude.md4&lt;br /&gt;
       configure.in&lt;br /&gt;
       Makefile.am&lt;br /&gt;
     Makefile.am&lt;br /&gt;
     ToDo.txt (just some notes)&lt;br /&gt;
&lt;br /&gt;
I still need to check this stuff out fresh and test it.  rollin rollin rollin...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I was unable to get the autotools stuff working.  I think I have all the correct SW installed but am missing a step.  Help!&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_SDL_and_fmod_under_linux&amp;diff=1658</id>
		<title>Terminus SDL and fmod under linux</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_SDL_and_fmod_under_linux&amp;diff=1658"/>
		<updated>2006-07-23T12:19:58Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here&#039;s John&#039;s &amp;quot;getting started&amp;quot; list...&lt;br /&gt;
&lt;br /&gt;
 There is some stuff in here on getting set up to build SDL apps with&lt;br /&gt;
 KDeveloper: http://gpwiki.org/index.php/SDL&lt;br /&gt;
 &lt;br /&gt;
 You will need SDL, plus the SDL_image and SDL_gfx support libs.  &lt;br /&gt;
 Available from: http://www.libsdl.org/index.php&lt;br /&gt;
 &lt;br /&gt;
 And the FMOD sound system from http://www.fmod.org.&lt;br /&gt;
&lt;br /&gt;
Typically I&#039;ll be using either Fedora or Gentoo during my porting effort.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FEDORA&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039; Install SDL and fmod:&lt;br /&gt;
&lt;br /&gt;
 yum install SDL-devel&lt;br /&gt;
 yum install SDL_gfx&lt;br /&gt;
 yum install SDL_gfx-devel&lt;br /&gt;
 yum install SDL_image&lt;br /&gt;
 yum install SDL_image-devel&lt;br /&gt;
 yum install fmod&lt;br /&gt;
 yum install fmod-devel&lt;br /&gt;
 &lt;br /&gt;
 Mar 19 22:42:01 Installed: SDL_gfx.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
 Mar 19 22:45:23 Installed: SDL_image.i386 1.2.4-1.2.fc4.rf&lt;br /&gt;
 Mar 19 23:11:05 Installed: fmod.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:22:26 Installed: fmod-devel.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:24:32 Installed: alsa-lib-devel.i386 1.0.10-27.rhfc4.at&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4 &lt;br /&gt;
 Mar 20 21:27:59 Installed: SDL_gfx-devel.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
&lt;br /&gt;
Mike&#039;s comments will occasionally be &amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;marked in blue&amp;lt;/font&amp;gt;, John&#039;s comments &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;in green&amp;lt;/span&amp;gt;, when we&#039;re not feeling lazy.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Huh.  Does that yum app go out and get the latest version too?  Slick.&lt;br /&gt;
I will get some source control up and running today.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Yep it auto-updates everything to the latest stable versions, including tracking down dependencies.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039; Grab the source - John is using subversion - very l337!&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
   Mar 20 20:00:03 Installed: subversion.i386 1.2.3-2.1&lt;br /&gt;
 &lt;br /&gt;
 cd development&lt;br /&gt;
 mkdir terminus&lt;br /&gt;
 cd terminus&lt;br /&gt;
 svn checkout http://xxxxx/terminus/&lt;br /&gt;
&lt;br /&gt;
and there it is!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039; Build it&lt;br /&gt;
&lt;br /&gt;
sdl-config tells you what you need on the gcc command line:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --libs &lt;br /&gt;
 -L/usr/lib -lSDL -lpthread&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --static-libs&lt;br /&gt;
 -L/usr/lib -lSDL -lpthread -lm -ldl -lasound -L/usr/X11R6/lib -lX11 -lXext&lt;br /&gt;
&lt;br /&gt;
So let&#039;s try this:&lt;br /&gt;
&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs`&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what we got so far:&lt;br /&gt;
&lt;br /&gt;
  In file included from system.hpp:17,&lt;br /&gt;
                  from startup.hpp:8,&lt;br /&gt;
                  from main.cpp:8:&lt;br /&gt;
 util/audio.hpp:82: error: syntax error before `*&#039; token&lt;br /&gt;
 util/audio.hpp:145: error: `FMOD_SOUND&#039; was not declared in this scope&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Looks like the version of fmod that Fedora wants to pull down is old (3.74).  I believe we need to go with FMOD Ex 4 (4.03.03 as of this writing).  I will pull down the code from fmod.org and build a local version.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Hmmm... There are two versions of FMOD Ex, the C and the C++ version.  I had to use the C version because the C++ version is not compatable with Dev-C++ and MinGW.  Check and make sure that you have the C version of the lib installed too.&lt;br /&gt;
&lt;br /&gt;
FYI, here is my linker options:&lt;br /&gt;
&lt;br /&gt;
 -lmingw32 -lSDLmain -lSDL -mwindows&lt;br /&gt;
 ../../Dev-Cpp/lib/libSDL_image.a&lt;br /&gt;
 ../../Dev-Cpp/lib/libfmodex.a&lt;br /&gt;
 ../../Dev-Cpp/lib/libSDL_gfx.a&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Try this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Download the linux tar.gz from http://www.fmod.org&amp;lt;br&amp;gt;&lt;br /&gt;
Notice there is both a fmod.h and an fmod.hpp in the inc dir.&amp;lt;br&amp;gt;&lt;br /&gt;
Put into the compile path, the compiler should compile in the correct one (fmod.h) since that is what is in my files.&amp;lt;br&amp;gt;&lt;br /&gt;
There are two .03 files in the lib dir, is one of those the C version of the lib and the other the CPP?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
OK I&#039;m getting to the bottom of this.  :&amp;gt;  Looks like FMOD Ex 4 is not open source.  The download includes pre-built libraries but no source code.  The &amp;quot;makefile&amp;quot; just copies the pre-built libraries into place.  I think that will be OK but I have to make sure I know what it&#039;s doing.  From the &amp;quot;makefile&amp;quot; script: &lt;br /&gt;
&lt;br /&gt;
 VERSION    = 4.03.03&lt;br /&gt;
 LIBDIR     = api/lib&lt;br /&gt;
 HDRDIR     = api/inc&lt;br /&gt;
 DESTLIBDIR = /usr/local/lib&lt;br /&gt;
 DESTHDRDIR = /usr/local/include/fmodex&lt;br /&gt;
&lt;br /&gt;
I am going to uninstall Fedora&#039;s fmod 3.74 then try the makefile.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
FMOD is the one &amp;quot;pay for&amp;quot; piece to the game.  The built-in SDL sound libs were problomatic.  That, and FMOD allows me to use a compressed XM file format that will save me about 5M off my downloadable size.  I think that I will pay about $100 per OS license, once for Win, once for Mac, and once for Linux.  To me, it was a close call, borderline, but in the end I deemed it worth it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Sounds good to me.  Removing the older (open-source?) fmod:&lt;br /&gt;
&lt;br /&gt;
 yum remove fmod&lt;br /&gt;
  Removing:&lt;br /&gt;
   fmod                    i386       3.74.1-1.2.fc4.rf  installed         431 k&lt;br /&gt;
  Removing for dependencies:&lt;br /&gt;
   fmod-devel              i386       3.74.1-1.2.fc4.rf  installed         1.8 M&lt;br /&gt;
&lt;br /&gt;
Then, I believe I won&#039;t need to run the &amp;quot;Makefile&amp;quot;, I should be able to use the libraries and includes from my local copy, with a little stupid trickery.&lt;br /&gt;
&lt;br /&gt;
 cd /home/m/development/terminus&lt;br /&gt;
 ls&lt;br /&gt;
   fmodapi40303linux  fmodapi40303linux.tar.gz  terminus&lt;br /&gt;
 ln -s fmodapi40303linux fmod&lt;br /&gt;
 cd fmod/api&lt;br /&gt;
 ln -s inc fmod&lt;br /&gt;
 cd ../../terminus&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs` -I../fmod/api/ -L../fmod/api/lib/libfmodex.so&lt;br /&gt;
&lt;br /&gt;
Getting further...&lt;br /&gt;
&lt;br /&gt;
 /tmp/cc4ahy85.o(.text+0x12): In function `main&#039;:&lt;br /&gt;
 main.cpp: undefined reference to `TeSystem::Start()&#039;&lt;br /&gt;
 /tmp/cc4ahy85.o(.text+0x22):main.cpp: undefined reference to `TeStartUp::Execute()&#039;&lt;br /&gt;
&lt;br /&gt;
Awesome, that&#039;s in system.hpp.  Sounds like time to build that makefile!  And I see in the meantime, John&#039;s checked in another round of changes, we&#039;re at big fat [10] now, whoop! :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
I am excited!  The changes I checked in last night include the &amp;quot;introduction movie&amp;quot; from the first campaign.  Right now I am completing mission one.  If you get the movie up and running on Linux that will be a HUGE milestone.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BTW, I hadn&#039;t planned on having any other developers on board, so the code is perhaps not quite up to my normal &amp;quot;team standards&amp;quot;.  I certainly have not taken any pains to &amp;quot;do the right thing&amp;quot; when the end results would be solely cosmetic.  So keep that in mind as you start to dig through the code :)&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take a peek at os.cpp, that is where I planned on putting any OS specific code.  Right now the only thing that could use implementing is a window centering routine.  And that is a very non-critical piece - cosmetic only.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Hahaha no excuses!  Seriously I haven&#039;t been up to &amp;quot;Earthmover&amp;quot; quality since... well, Earthmover.  Everybody wants it done YESTERDAY!  :&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
We use mepis at work, so I built a mepis box here at home and began installing everything I needed from above.  When I went to install the SDL libs, synaptic started uninstalling X and KDE and a bunch of other stuff.  I guess I should have checked what it was going to do before I clicked ok :-)  Needless to say, my mepis box was toast.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
So I built it &amp;lt;B&amp;gt;again&amp;lt;/B&amp;gt; from Fedora 5 and followed your instruction above to the letter :-)  Everything worked beautifully, thanks Mike.  I compiled main.o same as you did.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1656</id>
		<title>Terminus Making the code portable to linux</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1656"/>
		<updated>2006-07-22T12:57:02Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
&lt;br /&gt;
To me this looks like it is not finding the Sint32 type in SDL_types.h?&lt;br /&gt;
Either that or it is not finding my util/graph.h?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
But hey, on the positive side, main.cpp and config.cpp have successfully compiled!  :&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Compiling craftselect.cpp... here&#039;s the full first error:&lt;br /&gt;
&lt;br /&gt;
 In file included from world/weapon.hpp:8,&lt;br /&gt;
                  from world/craft.hpp:11,&lt;br /&gt;
                  from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
 world/bullet.hpp: In member function `TeRect TeBullet::getBoundRect()&#039;:&lt;br /&gt;
 world/bullet.hpp:236: error: request for member `CenteredAt&#039; in `rclBullet&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;non-aggregate&amp;quot; apparently means the compiler doesn&#039;t think the return value from CenteredAt is a class or struct.  &lt;br /&gt;
It looks fine to me:&lt;br /&gt;
&lt;br /&gt;
 TeRect CenteredAt( TePoint pt ) const;&lt;br /&gt;
&lt;br /&gt;
Lemme sleep on it, I&#039;ll give you an answer in the morning...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I emailed you the entire makefile generated by Dev-Cpp.&lt;br /&gt;
&lt;br /&gt;
Here is the portion that applies to craftselect.cpp:&lt;br /&gt;
&lt;br /&gt;
 craftselect.o: craftselect.cpp craftselect.hpp util/gui.hpp&lt;br /&gt;
  util/graph.hpp util/fixmath.hpp util/text.hpp  util/image.hpp   &lt;br /&gt;
  util/element.hpp util/../system.hpp util/../util/log.hpp   util/../util/graph.hpp util/../config.hpp&lt;br /&gt;
  util/../xml/xmlutils.h   util/../xml/tinyxml.h util/../profile.hpp util/../util/audio.hpp&lt;br /&gt;
  util/../util/graph.hpp util/../xml/xmlutils.h util/blit.hpp   world/craft.hpp world/../gamedef.hpp&lt;br /&gt;
  world/../util/image.hpp   world/../util/smoke.hpp world/../util/element.hpp   world/../util/body.hpp&lt;br /&gt;
  world/../util/../system.hpp   world/../util/graph.hpp world/../util/fixmath.hpp world/weapon.hpp&lt;br /&gt;
  world/bullet.hpp world/../util/anim.hpp world/../util/blit.hpp   world/../util/audio.hpp&lt;br /&gt;
  world/../util/exhaust.hpp   world/../util/smoke.hpp world/../util/../gamedef.hpp&lt;br /&gt;
  world/../xml/xmlutils.h world/target.hpp world/../util/log.hpp   gamesys.hpp system.hpp&lt;br /&gt;
  game.hpp scene.hpp util/text.hpp   util/element.hpp mainmenu.hpp results.hpp world/capital.hpp&lt;br /&gt;
  world/block.hpp world/../util/body.hpp world/target.hpp   util/message.hpp world/event.hpp&lt;br /&gt;
  world/../util/graph.hpp $(CPP) -c craftselect.cpp -o craftselect.o $(CXXFLAGS)&lt;br /&gt;
  &lt;br /&gt;
where&lt;br /&gt;
&lt;br /&gt;
 CPP  = g++.exe -D__DEBUG__&lt;br /&gt;
 CXXFLAGS = $(CXXINCS)   -fexceptions -g3&lt;br /&gt;
 CXXINCS = &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I&#039;m thinking it&#039;s a [const] issue... checking...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
On the side, there is a new Windows demo available at http://soloforge.com/files/TerminusDemo.zip&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Dang John!  The content is BURSTING FORTH!  This is fun stuff... like a graphic novel come to life...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Cool :-)  Oh, the fighter melee tutorial is broken.  The latest SVN version fixes it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Trying to isolate the error in bullet.hpp...&lt;br /&gt;
&lt;br /&gt;
 cd terminus/terminus/world&lt;br /&gt;
 cp bullet.hpp test.cpp&lt;br /&gt;
 g++ -I/home/m/development/terminus/fmod/api -I/usr/include/SDL test.cpp&lt;br /&gt;
&lt;br /&gt;
That does it.  Now to play with test.cpp...&lt;br /&gt;
OK, looks like g++ sees these and thinks they are function declarations:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
Change to this and g++ &amp;quot;gets&amp;quot; it:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet = TeSize( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet = TeRect( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
John, I hope you don&#039;t mind, I checked in that change, and one other similar change in world/craft.hpp.  I want to be EXTREMELY careful about breaking anything of yours, can you see if it still works for you?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I am not on my home DEV station, so I cannot just check this just now, but I am sure it is fine.  Go ahead and make these kind of changes with no worries.  If there are any issues I will let you know.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I suppose to do this right, I should have both Linux and Windows builds set up and test in both... eventually... :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next up: replace _finddata_t in the Linux build with a Linux equivalent...&lt;br /&gt;
&lt;br /&gt;
 profile.cpp:6:16: io.h: No such file or directory&lt;br /&gt;
 profile.cpp: In member function `void&lt;br /&gt;
    TeProfileMgr::Load(std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;,&lt;br /&gt;
    std::allocator&amp;lt;char&amp;gt; &amp;gt;)&#039;:&lt;br /&gt;
 profile.cpp:449: error: `_finddata_t&#039; undeclared (first use this function)&lt;br /&gt;
&lt;br /&gt;
I found some suggestions:&lt;br /&gt;
&lt;br /&gt;
 Try looking at the following functions&lt;br /&gt;
 opendir&lt;br /&gt;
 readdir, readdir_r&lt;br /&gt;
 fnmatch[/color]&lt;br /&gt;
 scandir, where available&lt;br /&gt;
 take a look at glob(3c) and ftw/nftw&lt;br /&gt;
&lt;br /&gt;
I have two options:&lt;br /&gt;
&lt;br /&gt;
# Make my own reusable functions for file operations using M$ calls or [http://docs.hp.com/en/B2355-60105/directory.3C.html Unix calls] depending on the build target&lt;br /&gt;
# Use [http://www.boost.org/libs/filesystem/doc/index.htm the filesystem library in boost]&lt;br /&gt;
&lt;br /&gt;
The first is better if the job is small, but little guys can&#039;t afford to reinvent the wheel for anything substantial.  I already use boost in HTDJ for serialization.  It&#039;s definitely got a ramp up time, but it&#039;s not too heavy once you&#039;re up to speed.  I will explore the boost filesystem library docs next...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
That io.h include is coming from the MinGW lib, which is base set of C/C++ headers that allows you to compile windows apps with GCC.  Look at www.mingw.org.  There should be a mingw or a mingw32 package to install under Linux.  I run mepis, which uses Synaptic, and there is a mingw32 package.&lt;br /&gt;
&lt;br /&gt;
I used mingw and gcc specificall so for easo-breezo cross platform.  Not so easy I guess.&lt;br /&gt;
&lt;br /&gt;
Try changing the &amp;quot;io.h&amp;quot; to &amp;lt;io.h&amp;gt; or &amp;lt;io&amp;gt; and see if that works?  Then maybe install that mingw32 package and try &amp;lt;io.h&amp;gt;?  I thought this stuff bought us cross-platform in a big way, so I would like to try and figure it out first before the boost option.&lt;br /&gt;
&lt;br /&gt;
1/2 of the stuff I do at work is on Linux, BTW, so I am coming up to speed rather quick.  I use Kdevelop at work, although I try to do as much as I can from the command line so that I can be a Linux nerd too :-)  So far, cream is my favorite command line style editing proggie.&lt;br /&gt;
&lt;br /&gt;
I am building up a linux laptop tonight so that I can be more useful on the Linux side.  It will take me a while to get it all config&#039;d and updated like my box at work is.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Doh, I hadn&#039;t thought of that, I will go check out www.mingw.org now.  If you get work time on Linux you are probably past me by now.  :&amp;gt;  Hey, regarding the autotools setup I&#039;ve put together, I believe autotools and Kdevelop play nicely, but not positive.  Feel free to change direction if Kdevelop has a different way of building the project that you would prefer.  In the meantime, I&#039;m checking out MinGW...&lt;br /&gt;
&lt;br /&gt;
Hrmm, at first glance it looks like MinGW is specifically for a Windows development environment.  IE, it allows you to use gcc on Windows with Windows-specific API&#039;s and functions (like _finddata_t).  But you mention that Synaptic serves it up on mepis.  I&#039;m digging to see if a Fedora package exists...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
The autotools stuff is cool - let&#039;s keep it - viss our command line ve shall take over za vurld!  :)&lt;br /&gt;
My linux box is built, but I haven&#039;t done anything with it yet - I am working on the Windows side tonight.&lt;br /&gt;
&lt;br /&gt;
Oh, btw, the code changes you checked in work fine.  I haven&#039;t received emails from the last couple of wiki changes you entered, so I was not aware of the code changes until you sent that email.  Is your SMTP the wiki points to working?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I think the wiki&#039;s working, I&#039;m getting emails.  You might need to fix your watch settings, as I moved the pages around a little bit - try clicking on that &amp;quot;watch&amp;quot; tab above...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Yeah, I was no longer set up to watch this page.  Testing, 1.. 2.. 3..&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1654</id>
		<title>Terminus Making the code portable to linux</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1654"/>
		<updated>2006-07-21T02:14:19Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
&lt;br /&gt;
To me this looks like it is not finding the Sint32 type in SDL_types.h?&lt;br /&gt;
Either that or it is not finding my util/graph.h?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
But hey, on the positive side, main.cpp and config.cpp have successfully compiled!  :&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Compiling craftselect.cpp... here&#039;s the full first error:&lt;br /&gt;
&lt;br /&gt;
 In file included from world/weapon.hpp:8,&lt;br /&gt;
                  from world/craft.hpp:11,&lt;br /&gt;
                  from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
 world/bullet.hpp: In member function `TeRect TeBullet::getBoundRect()&#039;:&lt;br /&gt;
 world/bullet.hpp:236: error: request for member `CenteredAt&#039; in `rclBullet&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;non-aggregate&amp;quot; apparently means the compiler doesn&#039;t think the return value from CenteredAt is a class or struct.  &lt;br /&gt;
It looks fine to me:&lt;br /&gt;
&lt;br /&gt;
 TeRect CenteredAt( TePoint pt ) const;&lt;br /&gt;
&lt;br /&gt;
Lemme sleep on it, I&#039;ll give you an answer in the morning...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I emailed you the entire makefile generated by Dev-Cpp.&lt;br /&gt;
&lt;br /&gt;
Here is the portion that applies to craftselect.cpp:&lt;br /&gt;
&lt;br /&gt;
 craftselect.o: craftselect.cpp craftselect.hpp util/gui.hpp&lt;br /&gt;
  util/graph.hpp util/fixmath.hpp util/text.hpp  util/image.hpp   &lt;br /&gt;
  util/element.hpp util/../system.hpp util/../util/log.hpp   util/../util/graph.hpp util/../config.hpp&lt;br /&gt;
  util/../xml/xmlutils.h   util/../xml/tinyxml.h util/../profile.hpp util/../util/audio.hpp&lt;br /&gt;
  util/../util/graph.hpp util/../xml/xmlutils.h util/blit.hpp   world/craft.hpp world/../gamedef.hpp&lt;br /&gt;
  world/../util/image.hpp   world/../util/smoke.hpp world/../util/element.hpp   world/../util/body.hpp&lt;br /&gt;
  world/../util/../system.hpp   world/../util/graph.hpp world/../util/fixmath.hpp world/weapon.hpp&lt;br /&gt;
  world/bullet.hpp world/../util/anim.hpp world/../util/blit.hpp   world/../util/audio.hpp&lt;br /&gt;
  world/../util/exhaust.hpp   world/../util/smoke.hpp world/../util/../gamedef.hpp&lt;br /&gt;
  world/../xml/xmlutils.h world/target.hpp world/../util/log.hpp   gamesys.hpp system.hpp&lt;br /&gt;
  game.hpp scene.hpp util/text.hpp   util/element.hpp mainmenu.hpp results.hpp world/capital.hpp&lt;br /&gt;
  world/block.hpp world/../util/body.hpp world/target.hpp   util/message.hpp world/event.hpp&lt;br /&gt;
  world/../util/graph.hpp $(CPP) -c craftselect.cpp -o craftselect.o $(CXXFLAGS)&lt;br /&gt;
  &lt;br /&gt;
where&lt;br /&gt;
&lt;br /&gt;
 CPP  = g++.exe -D__DEBUG__&lt;br /&gt;
 CXXFLAGS = $(CXXINCS)   -fexceptions -g3&lt;br /&gt;
 CXXINCS = &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I&#039;m thinking it&#039;s a [const] issue... checking...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
On the side, there is a new Windows demo available at http://soloforge.com/files/TerminusDemo.zip&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Dang John!  The content is BURSTING FORTH!  This is fun stuff... like a graphic novel come to life...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Cool :-)  Oh, the fighter melee tutorial is broken.  The latest SVN version fixes it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Trying to isolate the error in bullet.hpp...&lt;br /&gt;
&lt;br /&gt;
 cd terminus/terminus/world&lt;br /&gt;
 cp bullet.hpp test.cpp&lt;br /&gt;
 g++ -I/home/m/development/terminus/fmod/api -I/usr/include/SDL test.cpp&lt;br /&gt;
&lt;br /&gt;
That does it.  Now to play with test.cpp...&lt;br /&gt;
OK, looks like g++ sees these and thinks they are function declarations:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
Change to this and g++ &amp;quot;gets&amp;quot; it:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet = TeSize( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet = TeRect( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
John, I hope you don&#039;t mind, I checked in that change, and one other similar change in world/craft.hpp.  I want to be EXTREMELY careful about breaking anything of yours, can you see if it still works for you?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I am not on my home DEV station, so I cannot just check this just now, but I am sure it is fine.  Go ahead and make these kind of changes with no worries.  If there are any issues I will let you know.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I suppose to do this right, I should have both Linux and Windows builds set up and test in both... eventually... :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next up: replace _finddata_t in the Linux build with a Linux equivalent...&lt;br /&gt;
&lt;br /&gt;
 profile.cpp:6:16: io.h: No such file or directory&lt;br /&gt;
 profile.cpp: In member function `void&lt;br /&gt;
    TeProfileMgr::Load(std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;,&lt;br /&gt;
    std::allocator&amp;lt;char&amp;gt; &amp;gt;)&#039;:&lt;br /&gt;
 profile.cpp:449: error: `_finddata_t&#039; undeclared (first use this function)&lt;br /&gt;
&lt;br /&gt;
I found some suggestions:&lt;br /&gt;
&lt;br /&gt;
 Try looking at the following functions&lt;br /&gt;
 opendir&lt;br /&gt;
 readdir, readdir_r&lt;br /&gt;
 fnmatch[/color]&lt;br /&gt;
 scandir, where available&lt;br /&gt;
 take a look at glob(3c) and ftw/nftw&lt;br /&gt;
&lt;br /&gt;
I have two options:&lt;br /&gt;
&lt;br /&gt;
# Make my own reusable functions for file operations using M$ calls or [http://docs.hp.com/en/B2355-60105/directory.3C.html Unix calls] depending on the build target&lt;br /&gt;
# Use [http://www.boost.org/libs/filesystem/doc/index.htm the filesystem library in boost]&lt;br /&gt;
&lt;br /&gt;
The first is better if the job is small, but little guys can&#039;t afford to reinvent the wheel for anything substantial.  I already use boost in HTDJ for serialization.  It&#039;s definitely got a ramp up time, but it&#039;s not too heavy once you&#039;re up to speed.  I will explore the boost filesystem library docs next...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
That io.h include is coming from the MinGW lib, which is base set of C/C++ headers that allows you to compile windows apps with GCC.  Look at www.mingw.org.  There should be a mingw or a mingw32 package to install under Linux.  I run mepis, which uses Synaptic, and there is a mingw32 package.&lt;br /&gt;
&lt;br /&gt;
I used mingw and gcc specificall so for easo-breezo cross platform.  Not so easy I guess.&lt;br /&gt;
&lt;br /&gt;
Try changing the &amp;quot;io.h&amp;quot; to &amp;lt;io.h&amp;gt; or &amp;lt;io&amp;gt; and see if that works?  Then maybe install that mingw32 package and try &amp;lt;io.h&amp;gt;?  I thought this stuff bought us cross-platform in a big way, so I would like to try and figure it out first before the boost option.&lt;br /&gt;
&lt;br /&gt;
1/2 of the stuff I do at work is on Linux, BTW, so I am coming up to speed rather quick.  I use Kdevelop at work, although I try to do as much as I can from the command line so that I can be a Linux nerd too :-)  So far, cream is my favorite command line style editing proggie.&lt;br /&gt;
&lt;br /&gt;
I am building up a linux laptop tonight so that I can be more useful on the Linux side.  It will take me a while to get it all config&#039;d and updated like my box at work is.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Doh, I hadn&#039;t thought of that, I will go check out www.mingw.org now.  If you get work time on Linux you are probably past me by now.  :&amp;gt;  Hey, regarding the autotools setup I&#039;ve put together, I believe autotools and Kdevelop play nicely, but not positive.  Feel free to change direction if Kdevelop has a different way of building the project that you would prefer.  In the meantime, I&#039;m checking out MinGW...&lt;br /&gt;
&lt;br /&gt;
Hrmm, at first glance it looks like MinGW is specifically for a Windows development environment.  IE, it allows you to use gcc on Windows with Windows-specific API&#039;s and functions (like _finddata_t).  But you mention that Synaptic serves it up on mepis.  I&#039;m digging to see if a Fedora package exists...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
The autotools stuff is cool - let&#039;s keep it - viss our command line ve shall take over za vurld!  :)&lt;br /&gt;
My linux box is built, but I haven&#039;t done anything with it yet - I am working on the Windows side tonight.&lt;br /&gt;
&lt;br /&gt;
Oh, btw, the code changes you checked in work fine.  I haven&#039;t received emails from the last couple of wiki changes you entered, so I was not aware of the code changes until you sent that email.  Is your SMTP the wiki points to working?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1653</id>
		<title>Terminus Making the code portable to linux</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1653"/>
		<updated>2006-07-21T01:49:22Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
&lt;br /&gt;
To me this looks like it is not finding the Sint32 type in SDL_types.h?&lt;br /&gt;
Either that or it is not finding my util/graph.h?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
But hey, on the positive side, main.cpp and config.cpp have successfully compiled!  :&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Compiling craftselect.cpp... here&#039;s the full first error:&lt;br /&gt;
&lt;br /&gt;
 In file included from world/weapon.hpp:8,&lt;br /&gt;
                  from world/craft.hpp:11,&lt;br /&gt;
                  from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
 world/bullet.hpp: In member function `TeRect TeBullet::getBoundRect()&#039;:&lt;br /&gt;
 world/bullet.hpp:236: error: request for member `CenteredAt&#039; in `rclBullet&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;non-aggregate&amp;quot; apparently means the compiler doesn&#039;t think the return value from CenteredAt is a class or struct.  &lt;br /&gt;
It looks fine to me:&lt;br /&gt;
&lt;br /&gt;
 TeRect CenteredAt( TePoint pt ) const;&lt;br /&gt;
&lt;br /&gt;
Lemme sleep on it, I&#039;ll give you an answer in the morning...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I emailed you the entire makefile generated by Dev-Cpp.&lt;br /&gt;
&lt;br /&gt;
Here is the portion that applies to craftselect.cpp:&lt;br /&gt;
&lt;br /&gt;
 craftselect.o: craftselect.cpp craftselect.hpp util/gui.hpp&lt;br /&gt;
  util/graph.hpp util/fixmath.hpp util/text.hpp  util/image.hpp   &lt;br /&gt;
  util/element.hpp util/../system.hpp util/../util/log.hpp   util/../util/graph.hpp util/../config.hpp&lt;br /&gt;
  util/../xml/xmlutils.h   util/../xml/tinyxml.h util/../profile.hpp util/../util/audio.hpp&lt;br /&gt;
  util/../util/graph.hpp util/../xml/xmlutils.h util/blit.hpp   world/craft.hpp world/../gamedef.hpp&lt;br /&gt;
  world/../util/image.hpp   world/../util/smoke.hpp world/../util/element.hpp   world/../util/body.hpp&lt;br /&gt;
  world/../util/../system.hpp   world/../util/graph.hpp world/../util/fixmath.hpp world/weapon.hpp&lt;br /&gt;
  world/bullet.hpp world/../util/anim.hpp world/../util/blit.hpp   world/../util/audio.hpp&lt;br /&gt;
  world/../util/exhaust.hpp   world/../util/smoke.hpp world/../util/../gamedef.hpp&lt;br /&gt;
  world/../xml/xmlutils.h world/target.hpp world/../util/log.hpp   gamesys.hpp system.hpp&lt;br /&gt;
  game.hpp scene.hpp util/text.hpp   util/element.hpp mainmenu.hpp results.hpp world/capital.hpp&lt;br /&gt;
  world/block.hpp world/../util/body.hpp world/target.hpp   util/message.hpp world/event.hpp&lt;br /&gt;
  world/../util/graph.hpp $(CPP) -c craftselect.cpp -o craftselect.o $(CXXFLAGS)&lt;br /&gt;
  &lt;br /&gt;
where&lt;br /&gt;
&lt;br /&gt;
 CPP  = g++.exe -D__DEBUG__&lt;br /&gt;
 CXXFLAGS = $(CXXINCS)   -fexceptions -g3&lt;br /&gt;
 CXXINCS = &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I&#039;m thinking it&#039;s a [const] issue... checking...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
On the side, there is a new Windows demo available at http://soloforge.com/files/TerminusDemo.zip&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Dang John!  The content is BURSTING FORTH!  This is fun stuff... like a graphic novel come to life...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Cool :-)  Oh, the fighter melee tutorial is broken.  The latest SVN version fixes it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Trying to isolate the error in bullet.hpp...&lt;br /&gt;
&lt;br /&gt;
 cd terminus/terminus/world&lt;br /&gt;
 cp bullet.hpp test.cpp&lt;br /&gt;
 g++ -I/home/m/development/terminus/fmod/api -I/usr/include/SDL test.cpp&lt;br /&gt;
&lt;br /&gt;
That does it.  Now to play with test.cpp...&lt;br /&gt;
OK, looks like g++ sees these and thinks they are function declarations:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
Change to this and g++ &amp;quot;gets&amp;quot; it:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet = TeSize( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet = TeRect( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
John, I hope you don&#039;t mind, I checked in that change, and one other similar change in world/craft.hpp.  I want to be EXTREMELY careful about breaking anything of yours, can you see if it still works for you?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I am not on my home DEV station, so I cannot just check this just now, but I am sure it is fine.  Go ahead and make these kind of changes with no worries.  If there are any issues I will let you know.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I suppose to do this right, I should have both Linux and Windows builds set up and test in both... eventually... :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next up: replace _finddata_t in the Linux build with a Linux equivalent...&lt;br /&gt;
&lt;br /&gt;
 profile.cpp:6:16: io.h: No such file or directory&lt;br /&gt;
 profile.cpp: In member function `void&lt;br /&gt;
    TeProfileMgr::Load(std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;,&lt;br /&gt;
    std::allocator&amp;lt;char&amp;gt; &amp;gt;)&#039;:&lt;br /&gt;
 profile.cpp:449: error: `_finddata_t&#039; undeclared (first use this function)&lt;br /&gt;
&lt;br /&gt;
I found some suggestions:&lt;br /&gt;
&lt;br /&gt;
 Try looking at the following functions&lt;br /&gt;
 opendir&lt;br /&gt;
 readdir, readdir_r&lt;br /&gt;
 fnmatch[/color]&lt;br /&gt;
 scandir, where available&lt;br /&gt;
 take a look at glob(3c) and ftw/nftw&lt;br /&gt;
&lt;br /&gt;
I have two options:&lt;br /&gt;
&lt;br /&gt;
# Make my own reusable functions for file operations using M$ calls or [http://docs.hp.com/en/B2355-60105/directory.3C.html Unix calls] depending on the build target&lt;br /&gt;
# Use [http://www.boost.org/libs/filesystem/doc/index.htm the filesystem library in boost]&lt;br /&gt;
&lt;br /&gt;
The first is better if the job is small, but little guys can&#039;t afford to reinvent the wheel for anything substantial.  I already use boost in HTDJ for serialization.  It&#039;s definitely got a ramp up time, but it&#039;s not too heavy once you&#039;re up to speed.  I will explore the boost filesystem library docs next...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
That io.h include is coming from the MinGW lib, which is base set of C/C++ headers that allows you to compile windows apps with GCC.  Look at www.mingw.org.  There should be a mingw or a mingw32 package to install under Linux.  I run mepis, which uses Synaptic, and there is a mingw32 package.&lt;br /&gt;
&lt;br /&gt;
I used mingw and gcc specificall so for easo-breezo cross platform.  Not so easy I guess.&lt;br /&gt;
&lt;br /&gt;
Try changing the &amp;quot;io.h&amp;quot; to &amp;lt;io.h&amp;gt; or &amp;lt;io&amp;gt; and see if that works?  Then maybe install that mingw32 package and try &amp;lt;io.h&amp;gt;?  I thought this stuff bought us cross-platform in a big way, so I would like to try and figure it out first before the boost option.&lt;br /&gt;
&lt;br /&gt;
1/2 of the stuff I do at work is on Linux, BTW, so I am coming up to speed rather quick.  I use Kdevelop at work, although I try to do as much as I can from the command line so that I can be a Linux nerd too :-)  So far, cream is my favorite command line style editing proggie.&lt;br /&gt;
&lt;br /&gt;
I am building up a linux laptop tonight so that I can be more useful on the Linux side.  It will take me a while to get it all config&#039;d and updated like my box at work is.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Doh, I hadn&#039;t thought of that, I will go check out www.mingw.org now.  If you get work time on Linux you are probably past me by now.  :&amp;gt;  Hey, regarding the autotools setup I&#039;ve put together, I believe autotools and Kdevelop play nicely, but not positive.  Feel free to change direction if Kdevelop has a different way of building the project that you would prefer.  In the meantime, I&#039;m checking out MinGW...&lt;br /&gt;
&lt;br /&gt;
Hrmm, at first glance it looks like MinGW is specifically for a Windows development environment.  IE, it allows you to use gcc on Windows with Windows-specific API&#039;s and functions (like _finddata_t).  But you mention that Synaptic serves it up on mepis.  I&#039;m digging to see if a Fedora package exists...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
The autotools stuff is cool - let&#039;s keep it - viss our command line ve shall take over za vurld!  :)&lt;br /&gt;
My linux box is built, but I haven&#039;t done anything with it yet - I am working on the Windows side tonight.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1650</id>
		<title>Terminus Making the code portable to linux</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Making_the_code_portable_to_linux&amp;diff=1650"/>
		<updated>2006-07-19T02:16:27Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
&lt;br /&gt;
To me this looks like it is not finding the Sint32 type in SDL_types.h?&lt;br /&gt;
Either that or it is not finding my util/graph.h?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
But hey, on the positive side, main.cpp and config.cpp have successfully compiled!  :&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Compiling craftselect.cpp... here&#039;s the full first error:&lt;br /&gt;
&lt;br /&gt;
 In file included from world/weapon.hpp:8,&lt;br /&gt;
                  from world/craft.hpp:11,&lt;br /&gt;
                  from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
 world/bullet.hpp: In member function `TeRect TeBullet::getBoundRect()&#039;:&lt;br /&gt;
 world/bullet.hpp:236: error: request for member `CenteredAt&#039; in `rclBullet&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;non-aggregate&amp;quot; apparently means the compiler doesn&#039;t think the return value from CenteredAt is a class or struct.  &lt;br /&gt;
It looks fine to me:&lt;br /&gt;
&lt;br /&gt;
 TeRect CenteredAt( TePoint pt ) const;&lt;br /&gt;
&lt;br /&gt;
Lemme sleep on it, I&#039;ll give you an answer in the morning...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I emailed you the entire makefile generated by Dev-Cpp.&lt;br /&gt;
&lt;br /&gt;
Here is the portion that applies to craftselect.cpp:&lt;br /&gt;
&lt;br /&gt;
 craftselect.o: craftselect.cpp craftselect.hpp util/gui.hpp&lt;br /&gt;
  util/graph.hpp util/fixmath.hpp util/text.hpp  util/image.hpp   &lt;br /&gt;
  util/element.hpp util/../system.hpp util/../util/log.hpp   util/../util/graph.hpp util/../config.hpp&lt;br /&gt;
  util/../xml/xmlutils.h   util/../xml/tinyxml.h util/../profile.hpp util/../util/audio.hpp&lt;br /&gt;
  util/../util/graph.hpp util/../xml/xmlutils.h util/blit.hpp   world/craft.hpp world/../gamedef.hpp&lt;br /&gt;
  world/../util/image.hpp   world/../util/smoke.hpp world/../util/element.hpp   world/../util/body.hpp&lt;br /&gt;
  world/../util/../system.hpp   world/../util/graph.hpp world/../util/fixmath.hpp world/weapon.hpp&lt;br /&gt;
  world/bullet.hpp world/../util/anim.hpp world/../util/blit.hpp   world/../util/audio.hpp&lt;br /&gt;
  world/../util/exhaust.hpp   world/../util/smoke.hpp world/../util/../gamedef.hpp&lt;br /&gt;
  world/../xml/xmlutils.h world/target.hpp world/../util/log.hpp   gamesys.hpp system.hpp&lt;br /&gt;
  game.hpp scene.hpp util/text.hpp   util/element.hpp mainmenu.hpp results.hpp world/capital.hpp&lt;br /&gt;
  world/block.hpp world/../util/body.hpp world/target.hpp   util/message.hpp world/event.hpp&lt;br /&gt;
  world/../util/graph.hpp $(CPP) -c craftselect.cpp -o craftselect.o $(CXXFLAGS)&lt;br /&gt;
  &lt;br /&gt;
where&lt;br /&gt;
&lt;br /&gt;
 CPP  = g++.exe -D__DEBUG__&lt;br /&gt;
 CXXFLAGS = $(CXXINCS)   -fexceptions -g3&lt;br /&gt;
 CXXINCS = &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I&#039;m thinking it&#039;s a [const] issue... checking...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
On the side, there is a new Windows demo available at http://soloforge.com/files/TerminusDemo.zip&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Dang John!  The content is BURSTING FORTH!  This is fun stuff... like a graphic novel come to life...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Cool :-)  Oh, the fighter melee tutorial is broken.  The latest SVN version fixes it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Trying to isolate the error in bullet.hpp...&lt;br /&gt;
&lt;br /&gt;
 cd terminus/terminus/world&lt;br /&gt;
 cp bullet.hpp test.cpp&lt;br /&gt;
 g++ -I/home/m/development/terminus/fmod/api -I/usr/include/SDL test.cpp&lt;br /&gt;
&lt;br /&gt;
That does it.  Now to play with test.cpp...&lt;br /&gt;
OK, looks like g++ sees these and thinks they are function declarations:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
Change to this and g++ &amp;quot;gets&amp;quot; it:&lt;br /&gt;
&lt;br /&gt;
 const TeSize szBullet = TeSize( nBulletW, nBulletH );&lt;br /&gt;
 const TeRect rclBullet = TeRect( TePoint(), szBullet );&lt;br /&gt;
&lt;br /&gt;
John, I hope you don&#039;t mind, I checked in that change, and one other similar change in world/craft.hpp.  I want to be EXTREMELY careful about breaking anything of yours, can you see if it still works for you?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I am not on my home DEV station, so I cannot just check this just now, but I am sure it is fine.  Go ahead and make these kind of changes with no worries.  If there are any issues I will let you know.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I suppose to do this right, I should have both Linux and Windows builds set up and test in both... eventually... :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next up: replace _finddata_t in the Linux build with a Linux equivalent...&lt;br /&gt;
&lt;br /&gt;
 profile.cpp:6:16: io.h: No such file or directory&lt;br /&gt;
 profile.cpp: In member function `void&lt;br /&gt;
    TeProfileMgr::Load(std::basic_string&amp;lt;char, std::char_traits&amp;lt;char&amp;gt;,&lt;br /&gt;
    std::allocator&amp;lt;char&amp;gt; &amp;gt;)&#039;:&lt;br /&gt;
 profile.cpp:449: error: `_finddata_t&#039; undeclared (first use this function)&lt;br /&gt;
&lt;br /&gt;
I found some suggestions:&lt;br /&gt;
&lt;br /&gt;
 Try looking at the following functions&lt;br /&gt;
 opendir&lt;br /&gt;
 readdir, readdir_r&lt;br /&gt;
 fnmatch[/color]&lt;br /&gt;
 scandir, where available&lt;br /&gt;
 take a look at glob(3c) and ftw/nftw&lt;br /&gt;
&lt;br /&gt;
I have two options:&lt;br /&gt;
&lt;br /&gt;
# Make my own reusable functions for file operations using M$ calls or [http://docs.hp.com/en/B2355-60105/directory.3C.html Unix calls] depending on the build target&lt;br /&gt;
# Use [http://www.boost.org/libs/filesystem/doc/index.htm the filesystem library in boost]&lt;br /&gt;
&lt;br /&gt;
The first is better if the job is small, but little guys can&#039;t afford to reinvent the wheel for anything substantial.  I already use boost in HTDJ for serialization.  It&#039;s definitely got a ramp up time, but it&#039;s not too heavy once you&#039;re up to speed.  I will explore the boost filesystem library docs next...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
That io.h include is coming from the MinGW lib, which is base set of C/C++ headers that allows you to compile windows apps with GCC.  Look at www.mingw.org.  There should be a mingw or a mingw32 package to install under Linux.  I run mepis, which uses Synaptic, and there is a mingw32 package.&lt;br /&gt;
&lt;br /&gt;
I used mingw and gcc specificall so for easo-breezo cross platform.  Not so easy I guess.&lt;br /&gt;
&lt;br /&gt;
Try changing the &amp;quot;io.h&amp;quot; to &amp;lt;io.h&amp;gt; or &amp;lt;io&amp;gt; and see if that works?  Then maybe install that mingw32 package and try &amp;lt;io.h&amp;gt;?  I thought this stuff bought us cross-platform in a big way, so I would like to try and figure it out first before the boost option.&lt;br /&gt;
&lt;br /&gt;
1/2 of the stuff I do at work is on Linux, BTW, so I am coming up to speed rather quick.  I use Kdevelop at work, although I try to do as much as I can from the command line so that I can be a Linux nerd too :-)  So far, cream is my favorite command line style editing proggie.&lt;br /&gt;
&lt;br /&gt;
I am building up a linux laptop tonight so that I can be more useful on the Linux side.  It will take me a while to get it all config&#039;d and updated like my box at work is.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1372</id>
		<title>Terminus Est</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1372"/>
		<updated>2006-03-24T20:44:12Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Terminus Est is John&#039;s awesome space shooter.  See [http://soloforge.com his Soloforge website].&lt;br /&gt;
&lt;br /&gt;
Mike is hoping to help John build Terminus under linux.  &lt;br /&gt;
We&#039;ll need fmod and SDL.&lt;br /&gt;
&lt;br /&gt;
[[Terminus SDL and fmod under linux]]&lt;br /&gt;
&lt;br /&gt;
[[Terminus autotools setup]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
&lt;br /&gt;
To me this looks like it is not finding the Sint32 type in SDL_types.h?&lt;br /&gt;
Either that or it is not finding my util/graph.h?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
But hey, on the positive side, main.cpp and config.cpp have successfully compiled!  :&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Compiling craftselect.cpp... here&#039;s the full first error:&lt;br /&gt;
&lt;br /&gt;
 In file included from world/weapon.hpp:8,&lt;br /&gt;
                  from world/craft.hpp:11,&lt;br /&gt;
                  from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
 world/bullet.hpp: In member function `TeRect TeBullet::getBoundRect()&#039;:&lt;br /&gt;
 world/bullet.hpp:236: error: request for member `CenteredAt&#039; in `rclBullet&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;non-aggregate&amp;quot; apparently means the compiler doesn&#039;t think the return value from CenteredAt is a class or struct.  &lt;br /&gt;
It looks fine to me:&lt;br /&gt;
&lt;br /&gt;
 TeRect CenteredAt( TePoint pt ) const;&lt;br /&gt;
&lt;br /&gt;
Lemme sleep on it, I&#039;ll give you an answer in the morning...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I emailed you the entire makefile generated by Dev-Cpp.&lt;br /&gt;
&lt;br /&gt;
Here is the portion that applies to craftselect.cpp:&lt;br /&gt;
&lt;br /&gt;
 craftselect.o: craftselect.cpp craftselect.hpp util/gui.hpp&lt;br /&gt;
  util/graph.hpp util/fixmath.hpp util/text.hpp  util/image.hpp   &lt;br /&gt;
  util/element.hpp util/../system.hpp util/../util/log.hpp   util/../util/graph.hpp util/../config.hpp&lt;br /&gt;
  util/../xml/xmlutils.h   util/../xml/tinyxml.h util/../profile.hpp util/../util/audio.hpp&lt;br /&gt;
  util/../util/graph.hpp util/../xml/xmlutils.h util/blit.hpp   world/craft.hpp world/../gamedef.hpp&lt;br /&gt;
  world/../util/image.hpp   world/../util/smoke.hpp world/../util/element.hpp   world/../util/body.hpp&lt;br /&gt;
  world/../util/../system.hpp   world/../util/graph.hpp world/../util/fixmath.hpp world/weapon.hpp&lt;br /&gt;
  world/bullet.hpp world/../util/anim.hpp world/../util/blit.hpp   world/../util/audio.hpp&lt;br /&gt;
  world/../util/exhaust.hpp   world/../util/smoke.hpp world/../util/../gamedef.hpp&lt;br /&gt;
  world/../xml/xmlutils.h world/target.hpp world/../util/log.hpp   gamesys.hpp system.hpp&lt;br /&gt;
  game.hpp scene.hpp util/text.hpp   util/element.hpp mainmenu.hpp results.hpp world/capital.hpp&lt;br /&gt;
  world/block.hpp world/../util/body.hpp world/target.hpp   util/message.hpp world/event.hpp&lt;br /&gt;
  world/../util/graph.hpp $(CPP) -c craftselect.cpp -o craftselect.o $(CXXFLAGS)&lt;br /&gt;
  &lt;br /&gt;
where&lt;br /&gt;
&lt;br /&gt;
 CPP  = g++.exe -D__DEBUG__&lt;br /&gt;
 CXXFLAGS = $(CXXINCS)   -fexceptions -g3&lt;br /&gt;
 CXXINCS = &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I&#039;m thinking it&#039;s a [const] issue... checking...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
On the side, there is a new Windows demo available at http://soloforge.com/files/TerminusDemo.zip&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Dang John!  The content is BURSTING FORTH!  This is fun stuff... like a graphic novel come to life...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Cool :-)  Oh, the fighter melee tutorial is broken.  The latest SVN version fixes it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1370</id>
		<title>Terminus Est</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1370"/>
		<updated>2006-03-24T17:16:09Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Terminus Est is John&#039;s awesome space shooter.  See [http://soloforge.com his Soloforge website].&lt;br /&gt;
&lt;br /&gt;
Mike is hoping to help John build Terminus under linux.  &lt;br /&gt;
We&#039;ll need fmod and SDL.&lt;br /&gt;
&lt;br /&gt;
[[Terminus SDL and fmod under linux]]&lt;br /&gt;
&lt;br /&gt;
[[Terminus autotools setup]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
&lt;br /&gt;
To me this looks like it is not finding the Sint32 type in SDL_types.h?&lt;br /&gt;
Either that or it is not finding my util/graph.h?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
But hey, on the positive side, main.cpp and config.cpp have successfully compiled!  :&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Compiling craftselect.cpp... here&#039;s the full first error:&lt;br /&gt;
&lt;br /&gt;
 In file included from world/weapon.hpp:8,&lt;br /&gt;
                  from world/craft.hpp:11,&lt;br /&gt;
                  from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
 world/bullet.hpp: In member function `TeRect TeBullet::getBoundRect()&#039;:&lt;br /&gt;
 world/bullet.hpp:236: error: request for member `CenteredAt&#039; in `rclBullet&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;non-aggregate&amp;quot; apparently means the compiler doesn&#039;t think the return value from CenteredAt is a class or struct.  &lt;br /&gt;
It looks fine to me:&lt;br /&gt;
&lt;br /&gt;
 TeRect CenteredAt( TePoint pt ) const;&lt;br /&gt;
&lt;br /&gt;
Lemme sleep on it, I&#039;ll give you an answer in the morning...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I emailed you the entire makefile generated by Dev-Cpp.&lt;br /&gt;
&lt;br /&gt;
Here is the portion that applies to craftselect.cpp:&lt;br /&gt;
&lt;br /&gt;
 craftselect.o: craftselect.cpp craftselect.hpp util/gui.hpp&lt;br /&gt;
  util/graph.hpp util/fixmath.hpp util/text.hpp  util/image.hpp   &lt;br /&gt;
  util/element.hpp util/../system.hpp util/../util/log.hpp   util/../util/graph.hpp util/../config.hpp&lt;br /&gt;
  util/../xml/xmlutils.h   util/../xml/tinyxml.h util/../profile.hpp util/../util/audio.hpp&lt;br /&gt;
  util/../util/graph.hpp util/../xml/xmlutils.h util/blit.hpp   world/craft.hpp world/../gamedef.hpp&lt;br /&gt;
  world/../util/image.hpp   world/../util/smoke.hpp world/../util/element.hpp   world/../util/body.hpp&lt;br /&gt;
  world/../util/../system.hpp   world/../util/graph.hpp world/../util/fixmath.hpp world/weapon.hpp&lt;br /&gt;
  world/bullet.hpp world/../util/anim.hpp world/../util/blit.hpp   world/../util/audio.hpp&lt;br /&gt;
  world/../util/exhaust.hpp   world/../util/smoke.hpp world/../util/../gamedef.hpp&lt;br /&gt;
  world/../xml/xmlutils.h world/target.hpp world/../util/log.hpp   gamesys.hpp system.hpp&lt;br /&gt;
  game.hpp scene.hpp util/text.hpp   util/element.hpp mainmenu.hpp results.hpp world/capital.hpp&lt;br /&gt;
  world/block.hpp world/../util/body.hpp world/target.hpp   util/message.hpp world/event.hpp&lt;br /&gt;
  world/../util/graph.hpp $(CPP) -c craftselect.cpp -o craftselect.o $(CXXFLAGS)&lt;br /&gt;
  &lt;br /&gt;
where&lt;br /&gt;
&lt;br /&gt;
 CPP  = g++.exe -D__DEBUG__&lt;br /&gt;
 CXXFLAGS = $(CXXINCS)   -fexceptions -g3&lt;br /&gt;
 CXXINCS = &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I&#039;m thinking it&#039;s a [const] issue... checking...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
On the side, there is a new Windows demo available at http://soloforge.com/files/TerminusDemo.zip&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1368</id>
		<title>Terminus Est</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1368"/>
		<updated>2006-03-24T13:58:55Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Terminus Est is John&#039;s awesome space shooter.  See [http://soloforge.com his Soloforge website].&lt;br /&gt;
&lt;br /&gt;
Mike is hoping to help John build Terminus under linux.  &lt;br /&gt;
We&#039;ll need fmod and SDL.&lt;br /&gt;
&lt;br /&gt;
[[Terminus SDL and fmod under linux]]&lt;br /&gt;
&lt;br /&gt;
[[Terminus autotools setup]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
&lt;br /&gt;
To me this looks like it is not finding the Sint32 type in SDL_types.h?&lt;br /&gt;
Either that or it is not finding my util/graph.h?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
But hey, on the positive side, main.cpp and config.cpp have successfully compiled!  :&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Compiling craftselect.cpp... here&#039;s the full first error:&lt;br /&gt;
&lt;br /&gt;
 In file included from world/weapon.hpp:8,&lt;br /&gt;
                  from world/craft.hpp:11,&lt;br /&gt;
                  from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
 world/bullet.hpp: In member function `TeRect TeBullet::getBoundRect()&#039;:&lt;br /&gt;
 world/bullet.hpp:236: error: request for member `CenteredAt&#039; in `rclBullet&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;non-aggregate&amp;quot; apparently means the compiler doesn&#039;t think the return value from CenteredAt is a class or struct.  &lt;br /&gt;
It looks fine to me:&lt;br /&gt;
&lt;br /&gt;
 TeRect CenteredAt( TePoint pt ) const;&lt;br /&gt;
&lt;br /&gt;
Lemme sleep on it, I&#039;ll give you an answer in the morning...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
I emailed you the entire makefile generated by Dev-Cpp.&lt;br /&gt;
&lt;br /&gt;
Here is the portion that applies to craftselect.cpp:&lt;br /&gt;
&lt;br /&gt;
 craftselect.o: craftselect.cpp craftselect.hpp util/gui.hpp&lt;br /&gt;
  util/graph.hpp util/fixmath.hpp util/text.hpp  util/image.hpp   &lt;br /&gt;
  util/element.hpp util/../system.hpp util/../util/log.hpp   util/../util/graph.hpp util/../config.hpp&lt;br /&gt;
  util/../xml/xmlutils.h   util/../xml/tinyxml.h util/../profile.hpp util/../util/audio.hpp&lt;br /&gt;
  util/../util/graph.hpp util/../xml/xmlutils.h util/blit.hpp   world/craft.hpp world/../gamedef.hpp&lt;br /&gt;
  world/../util/image.hpp   world/../util/smoke.hpp world/../util/element.hpp   world/../util/body.hpp&lt;br /&gt;
  world/../util/../system.hpp   world/../util/graph.hpp world/../util/fixmath.hpp world/weapon.hpp&lt;br /&gt;
  world/bullet.hpp world/../util/anim.hpp world/../util/blit.hpp   world/../util/audio.hpp&lt;br /&gt;
  world/../util/exhaust.hpp   world/../util/smoke.hpp world/../util/../gamedef.hpp&lt;br /&gt;
  world/../xml/xmlutils.h world/target.hpp world/../util/log.hpp   gamesys.hpp system.hpp&lt;br /&gt;
  game.hpp scene.hpp util/text.hpp   util/element.hpp mainmenu.hpp results.hpp world/capital.hpp&lt;br /&gt;
  world/block.hpp world/../util/body.hpp world/target.hpp   util/message.hpp world/event.hpp&lt;br /&gt;
  world/../util/graph.hpp $(CPP) -c craftselect.cpp -o craftselect.o $(CXXFLAGS)&lt;br /&gt;
  &lt;br /&gt;
where&lt;br /&gt;
&lt;br /&gt;
 CPP  = g++.exe -D__DEBUG__&lt;br /&gt;
 CXXFLAGS = $(CXXINCS)   -fexceptions -g3&lt;br /&gt;
 CXXINCS = &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1361</id>
		<title>Terminus Est</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1361"/>
		<updated>2006-03-23T22:28:44Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Terminus Est is John&#039;s awesome space shooter.  See [http://soloforge.com his Soloforge website].&lt;br /&gt;
&lt;br /&gt;
Mike is hoping to help John build Terminus under linux.  Here&#039;s John&#039;s &amp;quot;getting started&amp;quot; list...&lt;br /&gt;
&lt;br /&gt;
 There is some stuff in here on getting set up to build SDL apps with&lt;br /&gt;
 KDeveloper: http://gpwiki.org/index.php/SDL&lt;br /&gt;
 &lt;br /&gt;
 You will need SDL, plus the SDL_image and SDL_gfx support libs.  &lt;br /&gt;
 Available from: http://www.libsdl.org/index.php&lt;br /&gt;
 &lt;br /&gt;
 And the FMOD sound system from http://www.fmod.org.&lt;br /&gt;
&lt;br /&gt;
Typically I&#039;ll be using either Fedora or Gentoo during my porting effort.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FEDORA&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039; Install SDL and fmod:&lt;br /&gt;
&lt;br /&gt;
 yum install SDL-devel&lt;br /&gt;
 yum install SDL_gfx&lt;br /&gt;
 yum install SDL_gfx-devel&lt;br /&gt;
 yum install SDL_image&lt;br /&gt;
 yum install SDL_image-devel&lt;br /&gt;
 yum install fmod&lt;br /&gt;
 yum install fmod-devel&lt;br /&gt;
 &lt;br /&gt;
 Mar 19 22:42:01 Installed: SDL_gfx.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
 Mar 19 22:45:23 Installed: SDL_image.i386 1.2.4-1.2.fc4.rf&lt;br /&gt;
 Mar 19 23:11:05 Installed: fmod.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:22:26 Installed: fmod-devel.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:24:32 Installed: alsa-lib-devel.i386 1.0.10-27.rhfc4.at&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4 &lt;br /&gt;
 Mar 20 21:27:59 Installed: SDL_gfx-devel.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
&lt;br /&gt;
Mike&#039;s comments will occasionally be &amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;marked in blue&amp;lt;/font&amp;gt;, John&#039;s comments &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;in green&amp;lt;/span&amp;gt;, when we&#039;re not feeling lazy.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Huh.  Does that yum app go out and get the latest version too?  Slick.&lt;br /&gt;
I will get some source control up and running today.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Yep it auto-updates everything to the latest stable versions, including tracking down dependencies.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039; Grab the source - John is using subversion - very l337!&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
   Mar 20 20:00:03 Installed: subversion.i386 1.2.3-2.1&lt;br /&gt;
 &lt;br /&gt;
 cd development&lt;br /&gt;
 mkdir terminus&lt;br /&gt;
 cd terminus&lt;br /&gt;
 svn checkout http://xxxxx/terminus/&lt;br /&gt;
&lt;br /&gt;
and there it is!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039; Build it&lt;br /&gt;
&lt;br /&gt;
sdl-config tells you what you need on the gcc command line:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --libs &lt;br /&gt;
 -L/usr/lib -lSDL -lpthread&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --static-libs&lt;br /&gt;
 -L/usr/lib -lSDL -lpthread -lm -ldl -lasound -L/usr/X11R6/lib -lX11 -lXext&lt;br /&gt;
&lt;br /&gt;
So let&#039;s try this:&lt;br /&gt;
&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs`&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what we got so far:&lt;br /&gt;
&lt;br /&gt;
  In file included from system.hpp:17,&lt;br /&gt;
                  from startup.hpp:8,&lt;br /&gt;
                  from main.cpp:8:&lt;br /&gt;
 util/audio.hpp:82: error: syntax error before `*&#039; token&lt;br /&gt;
 util/audio.hpp:145: error: `FMOD_SOUND&#039; was not declared in this scope&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Looks like the version of fmod that Fedora wants to pull down is old (3.74).  I believe we need to go with FMOD Ex 4 (4.03.03 as of this writing).  I will pull down the code from fmod.org and build a local version.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Hmmm... There are two versions of FMOD Ex, the C and the C++ version.  I had to use the C version because the C++ version is not compatable with Dev-C++ and MinGW.  Check and make sure that you have the C version of the lib installed too.&lt;br /&gt;
&lt;br /&gt;
FYI, here is my linker options:&lt;br /&gt;
&lt;br /&gt;
 -lmingw32 -lSDLmain -lSDL -mwindows&lt;br /&gt;
 ../../Dev-Cpp/lib/libSDL_image.a&lt;br /&gt;
 ../../Dev-Cpp/lib/libfmodex.a&lt;br /&gt;
 ../../Dev-Cpp/lib/libSDL_gfx.a&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Try this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Download the linux tar.gz from http://www.fmod.org&amp;lt;br&amp;gt;&lt;br /&gt;
Notice there is both a fmod.h and an fmod.hpp in the inc dir.&amp;lt;br&amp;gt;&lt;br /&gt;
Put into the compile path, the compiler should compile in the correct one (fmod.h) since that is what is in my files.&amp;lt;br&amp;gt;&lt;br /&gt;
There are two .03 files in the lib dir, is one of those the C version of the lib and the other the CPP?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
OK I&#039;m getting to the bottom of this.  :&amp;gt;  Looks like FMOD Ex 4 is not open source.  The download includes pre-built libraries but no source code.  The &amp;quot;makefile&amp;quot; just copies the pre-built libraries into place.  I think that will be OK but I have to make sure I know what it&#039;s doing.  From the &amp;quot;makefile&amp;quot; script: &lt;br /&gt;
&lt;br /&gt;
 VERSION    = 4.03.03&lt;br /&gt;
 LIBDIR     = api/lib&lt;br /&gt;
 HDRDIR     = api/inc&lt;br /&gt;
 DESTLIBDIR = /usr/local/lib&lt;br /&gt;
 DESTHDRDIR = /usr/local/include/fmodex&lt;br /&gt;
&lt;br /&gt;
I am going to uninstall Fedora&#039;s fmod 3.74 then try the makefile.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
FMOD is the one &amp;quot;pay for&amp;quot; piece to the game.  The built-in SDL sound libs were problomatic.  That, and FMOD allows me to use a compressed XM file format that will save me about 5M off my downloadable size.  I think that I will pay about $100 per OS license, once for Win, once for Mac, and once for Linux.  To me, it was a close call, borderline, but in the end I deemed it worth it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Sounds good to me.  Removing the older (open-source?) fmod:&lt;br /&gt;
&lt;br /&gt;
 yum remove fmod&lt;br /&gt;
  Removing:&lt;br /&gt;
   fmod                    i386       3.74.1-1.2.fc4.rf  installed         431 k&lt;br /&gt;
  Removing for dependencies:&lt;br /&gt;
   fmod-devel              i386       3.74.1-1.2.fc4.rf  installed         1.8 M&lt;br /&gt;
&lt;br /&gt;
Then, I believe I won&#039;t need to run the &amp;quot;Makefile&amp;quot;, I should be able to use the libraries and includes from my local copy, with a little stupid trickery.&lt;br /&gt;
&lt;br /&gt;
 cd /home/m/development/terminus&lt;br /&gt;
 ls&lt;br /&gt;
   fmodapi40303linux  fmodapi40303linux.tar.gz  terminus&lt;br /&gt;
 ln -s fmodapi40303linux fmod&lt;br /&gt;
 cd fmod/api&lt;br /&gt;
 ln -s inc fmod&lt;br /&gt;
 cd ../../terminus&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs` -I../fmod/api/ -L../fmod/api/lib/libfmodex.so&lt;br /&gt;
&lt;br /&gt;
Getting further...&lt;br /&gt;
&lt;br /&gt;
 /tmp/cc4ahy85.o(.text+0x12): In function `main&#039;:&lt;br /&gt;
 main.cpp: undefined reference to `TeSystem::Start()&#039;&lt;br /&gt;
 /tmp/cc4ahy85.o(.text+0x22):main.cpp: undefined reference to `TeStartUp::Execute()&#039;&lt;br /&gt;
&lt;br /&gt;
Awesome, that&#039;s in system.hpp.  Sounds like time to build that makefile!  And I see in the meantime, John&#039;s checked in another round of changes, we&#039;re at big fat [10] now, whoop! :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
I am excited!  The changes I checked in last night include the &amp;quot;introduction movie&amp;quot; from the first campaign.  Right now I am completing mission one.  If you get the movie up and running on Linux that will be a HUGE milestone.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BTW, I hadn&#039;t planned on having any other developers on board, so the code is perhaps not quite up to my normal &amp;quot;team standards&amp;quot;.  I certainly have not taken any pains to &amp;quot;do the right thing&amp;quot; when the end results would be solely cosmetic.  So keep that in mind as you start to dig through the code :)&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take a peek at os.cpp, that is where I planned on putting any OS specific code.  Right now the only thing that could use implementing is a window centering routine.  And that is a very non-critical piece - cosmetic only.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Hahaha no excuses!  Seriously I haven&#039;t been up to &amp;quot;Earthmover&amp;quot; quality since... well, Earthmover.  Everybody wants it done YESTERDAY!  :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am going to set up to build with gcc using [http://sourceware.org/autobook/autobook/autobook_toc.html GNU autotools].  It seems to be a pretty common way of doing things, it&#039;s not too hard to set up, and once an autotools-built project is set up, maintaining it is a breeze.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s my script to create a new project for existing source files:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ cat ~m/scripts/setup_new_project.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 # MDM This sets up some default files, to prevent warnings.&lt;br /&gt;
 touch NEWS README AUTHORS ChangeLog&lt;br /&gt;
 &lt;br /&gt;
 # MDM We want to redo everything, kill anything that might screw us up.&lt;br /&gt;
 rm -rf config_backup 2&amp;gt;&amp;amp;1&lt;br /&gt;
 rm -rf autom4te.cache_backup 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mv config config_backup 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mv autom4te.cache autom4te.cache_backup 2&amp;gt;&amp;amp;1&lt;br /&gt;
 &lt;br /&gt;
 # MDM Set up default dirs, too.&lt;br /&gt;
 mkdir src &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mkdir test &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mkdir config &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mkdir doc &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 &lt;br /&gt;
 # MDM This creates configure.scan, an initial template for configure.ac,&lt;br /&gt;
 # based on the code it finds in the current directory.&lt;br /&gt;
 autoscan&lt;br /&gt;
 &lt;br /&gt;
 # MDM From http://lists.nongnu.org/archive/html/automake/2003-04/msg00226.html&lt;br /&gt;
 # libtoolize is the tool that will install (config.sub, ltmain.sh) in your package.&lt;br /&gt;
 # Consider also autoreconf, which will run&lt;br /&gt;
 # libtoolize/autopoint/aclocal/autoconf/automake in the right&lt;br /&gt;
 # order for you.&lt;br /&gt;
 libtoolize --force&lt;br /&gt;
 &lt;br /&gt;
 # MDM This runs all the automake tools.&lt;br /&gt;
 bootstrap&lt;br /&gt;
 &lt;br /&gt;
 # MDM Go ahead and configure and make, to see if it works.&lt;br /&gt;
 ./configure &amp;amp;&amp;amp; make clean &amp;amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
And my boostrap script:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ cat ~m/scripts/bootstrap&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 aclocal \&lt;br /&gt;
     &amp;amp;&amp;amp; automake --add-missing --copy \&lt;br /&gt;
     &amp;amp;&amp;amp; autoconf&lt;br /&gt;
&lt;br /&gt;
Before I can run those successfully we need to create a configure.in file.&lt;br /&gt;
&lt;br /&gt;
But first, where should I put the autotools files?  My ShareTheDJ project has all the autotools files in the project root, and the source code under project/src.  It would be nice if I could set up the autotools files under a subdirectory, since the root already has source files in it.  I&#039;ll see if I can pull that off...&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ ls&lt;br /&gt;
 config.cpp       craftselect.hpp  gamedef.hpp  gamesys.hpp   mainmenu.hpp  profiles   startup.cpp  system.hpp    Terminus_private.h    util&lt;br /&gt;
 config.hpp       data             game.hpp     main.cpp      profile.cpp   scene.cpp  startup.hpp  Terminus.ico  Terminus_private.rc   world&lt;br /&gt;
 craftselect.cpp  game.cpp         gamesys.cpp  mainmenu.cpp  profile.hpp   scene.hpp  system.cpp   Terminus.png  Terminus_private.res  xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Heh, you are way beyond me here.  I have never used the autotools stuff.  Dev-Cpp builds a makefile for me from the project settings that I set up in the IDE.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is a bunch of stuff in the root dir that I did not put into the SC (such as the Dev-Cpp project config file) because it did not apply to the Linux build.  Should that kind of stuff end up in the SC?  Should it be put into a seperate repository?&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am thinking maybe stuff like that I will put into a zip and check it into the root as &amp;quot;windows_build.zip&amp;quot; with each release.  NBD.&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I think we should add all building configuration right into the terminus repository.  Then comes the question of directory structure.  Maybe something like this?&lt;br /&gt;
&lt;br /&gt;
 terminus/&lt;br /&gt;
   (source code)&lt;br /&gt;
   (source code subdirs)&lt;br /&gt;
   linux&lt;br /&gt;
   windows&lt;br /&gt;
&lt;br /&gt;
autotools expects the source to be UNDER the autotools build directory, but I can get around that with a symlink:&lt;br /&gt;
&lt;br /&gt;
 terminus/&lt;br /&gt;
   (source code)&lt;br /&gt;
   (source code subdirs)&lt;br /&gt;
   linux&lt;br /&gt;
      src (just a symlink to ../)&lt;br /&gt;
   windows&lt;br /&gt;
&lt;br /&gt;
I&#039;m pretty sure that will work for me.  Can you set up Dev-Cpp configuration under the windows subdir?  If not, I say just dump the files right in with the source code, should be fine.  What do you think?&lt;br /&gt;
&lt;br /&gt;
I&#039;m slowly making progress on the autotools config.  SDL requires a little trickery, you have to include an autotools &amp;quot;M4&amp;quot; macro.  I will wait until I get autotools working, then check in the linux directory, if that sounds OK.  The only thing outside the linux directory will be one or two autotools config files in the root - I don&#039;t see a way around that - does that sound OK?&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Back.  I have screwed around with setting up autotools under the linux directory until I couldn&#039;t stand it any more.  As of now I am able to compile and get code-related errors, but the autotools config files are located at the parent of the terminus source directory.  Here are the files required to build:&lt;br /&gt;
&lt;br /&gt;
  terminus/&lt;br /&gt;
    configure.in&lt;br /&gt;
    Makefile.am&lt;br /&gt;
    terminus/&lt;br /&gt;
      code from svn repository&lt;br /&gt;
      Makefile.am&lt;br /&gt;
&lt;br /&gt;
Do this to set up to build:&lt;br /&gt;
&lt;br /&gt;
  cd terminus&lt;br /&gt;
  setup_new_project.sh&lt;br /&gt;
&lt;br /&gt;
From that point on I can build by typing &amp;quot;make&amp;quot;.  Here are the first errors I get:&lt;br /&gt;
&lt;br /&gt;
 In file included from world/weapon.hpp:8,&lt;br /&gt;
                  from world/craft.hpp:11,&lt;br /&gt;
                  from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
 world/bullet.hpp: In member function `TeRect TeBullet::getBoundRect()&#039;:&lt;br /&gt;
 world/bullet.hpp:236: error: request for member `CenteredAt&#039; in `rclBullet&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
 In file included from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/craft.hpp: At global scope:&lt;br /&gt;
 world/craft.hpp:22: error: type specifier omitted for parameter `szCraft&#039;&lt;br /&gt;
 world/craft.hpp: In member function `TeRect TeCraft::getBoundRect()&#039;:&lt;br /&gt;
 world/craft.hpp:192: error: request for member `CenteredAt&#039; in `rclCraft&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
 make[1]: *** [craftselect.o] Error 1&lt;br /&gt;
 make[1]: Leaving directory `/home/m/development/terminus/terminus&#039;&lt;br /&gt;
 make: *** [all-recursive] Error 1&lt;br /&gt;
&lt;br /&gt;
Bedtime...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Sorry I did not response to this last night - I was thinking about it, but did not come up with a conclusion until this morning:&lt;br /&gt;
&lt;br /&gt;
 terminus (the only thing that goes here is the stuff that HAS to go here, like your autotools stuff)&lt;br /&gt;
   src (plus subdirs)&lt;br /&gt;
   data (plus subdirs)&lt;br /&gt;
   linux (build scripts, dlls, libs, diaries, project files, etc.)&lt;br /&gt;
      output (obj files)&lt;br /&gt;
      release&lt;br /&gt;
         current&lt;br /&gt;
         1.0.0&lt;br /&gt;
         1.1.0&lt;br /&gt;
   windows (build scripts, dlls, libs, diaries, project files, etc.)&lt;br /&gt;
      output (obj files)&lt;br /&gt;
      release&lt;br /&gt;
         current&lt;br /&gt;
         1.0.0&lt;br /&gt;
         1.1.0&lt;br /&gt;
&lt;br /&gt;
However, if you are up and running (and happy with it) let&#039;s not change things.  I would have to refactor my project files, my old VSS, and the new SVN to match the changes :-(&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Sounds like a plan, man!  It will take a little more autotools tweaking.  I would agree with you and hold off on the reorganization in the short term, though, since we both have everything working as it is.  I can just tar up what&#039;s needed and put it in the root, like you had planned to do with the windoze stuff.  Here&#039;s what I plan on adding, if it sounds OK:&lt;br /&gt;
&lt;br /&gt;
 terminus &lt;br /&gt;
   (existing source code and data)&lt;br /&gt;
   setup_linux_build.sh&lt;br /&gt;
   linux/&lt;br /&gt;
     autotools.tar.gz&lt;br /&gt;
&lt;br /&gt;
autotools.tar.gz consists of the following autotools configuration files:&lt;br /&gt;
&lt;br /&gt;
 configure.in                the primary autotools configuration file&lt;br /&gt;
 Makefile.am                 makefile details for the root dir&lt;br /&gt;
 acinclude.m4                macros needed for SDL - this is a copy of /usr/share/aclocal/sdl.m4&lt;br /&gt;
 terminus/Makefile.am        makefile details for the source code in the terminus dir&lt;br /&gt;
 terminus/util/Makefile.am   makefile details for util&lt;br /&gt;
 terminus/world/Makefile.am  makefile details for world&lt;br /&gt;
 terminus/xml/Makefile.am    makefile details for xml&lt;br /&gt;
&lt;br /&gt;
After you run the setup script, you will have the following mess (which unfortunately seems to be the linux &amp;quot;standard&amp;quot;).  Note that the script WILL dump files one directory above the terminus subversion repository directory.&lt;br /&gt;
&lt;br /&gt;
 (tons of autotools files)&lt;br /&gt;
 config/(autotools config files)&lt;br /&gt;
 autom4te.cache/(autotools junk)&lt;br /&gt;
 terminus/&lt;br /&gt;
   (source code)&lt;br /&gt;
   (source code.o)&lt;br /&gt;
   Makefile.am&lt;br /&gt;
   Makefile.in&lt;br /&gt;
   Makefile&lt;br /&gt;
   (source code subdirs)&lt;br /&gt;
     (source code)&lt;br /&gt;
     (source code.o)&lt;br /&gt;
     Makefile.am&lt;br /&gt;
     Makefile.in&lt;br /&gt;
     Makefile&lt;br /&gt;
&lt;br /&gt;
What do you think?  It&#039;s not terrible I guess.  And we can revisit and reorganize later.  So... upwards and onwards?  :&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Yes, that is all cool.  You da man!&lt;br /&gt;
&lt;br /&gt;
You need any help with those errors?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Sure!  For now, here is what I am adding:&lt;br /&gt;
&lt;br /&gt;
 terminus &lt;br /&gt;
   (existing source code and data)&lt;br /&gt;
   setup_linux_build.sh&lt;br /&gt;
   linux/&lt;br /&gt;
     root/&lt;br /&gt;
       acinclude.md4&lt;br /&gt;
       configure.in&lt;br /&gt;
       Makefile.am&lt;br /&gt;
     Makefile.am&lt;br /&gt;
     ToDo.txt (just some notes)&lt;br /&gt;
&lt;br /&gt;
I still need to check this stuff out fresh and test it.  rollin rollin rollin...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
&lt;br /&gt;
To me this looks like it is not finding the Sint32 type in SDL_types.h?&lt;br /&gt;
Either that or it is not finding my util/graph.h?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1358</id>
		<title>Terminus Est</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1358"/>
		<updated>2006-03-23T15:44:09Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Terminus Est is John&#039;s awesome space shooter.  See [http://soloforge.com his Soloforge website].&lt;br /&gt;
&lt;br /&gt;
Mike is hoping to help John build Terminus under linux.  Here&#039;s John&#039;s &amp;quot;getting started&amp;quot; list...&lt;br /&gt;
&lt;br /&gt;
 There is some stuff in here on getting set up to build SDL apps with&lt;br /&gt;
 KDeveloper: http://gpwiki.org/index.php/SDL&lt;br /&gt;
 &lt;br /&gt;
 You will need SDL, plus the SDL_image and SDL_gfx support libs.  &lt;br /&gt;
 Available from: http://www.libsdl.org/index.php&lt;br /&gt;
 &lt;br /&gt;
 And the FMOD sound system from http://www.fmod.org.&lt;br /&gt;
&lt;br /&gt;
Typically I&#039;ll be using either Fedora or Gentoo during my porting effort.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FEDORA&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039; Install SDL and fmod:&lt;br /&gt;
&lt;br /&gt;
 yum install SDL-devel&lt;br /&gt;
 yum install SDL_gfx&lt;br /&gt;
 yum install SDL_gfx-devel&lt;br /&gt;
 yum install SDL_image&lt;br /&gt;
 yum install SDL_image-devel&lt;br /&gt;
 yum install fmod&lt;br /&gt;
 yum install fmod-devel&lt;br /&gt;
 &lt;br /&gt;
 Mar 19 22:42:01 Installed: SDL_gfx.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
 Mar 19 22:45:23 Installed: SDL_image.i386 1.2.4-1.2.fc4.rf&lt;br /&gt;
 Mar 19 23:11:05 Installed: fmod.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:22:26 Installed: fmod-devel.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:24:32 Installed: alsa-lib-devel.i386 1.0.10-27.rhfc4.at&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4 &lt;br /&gt;
 Mar 20 21:27:59 Installed: SDL_gfx-devel.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
&lt;br /&gt;
Mike&#039;s comments will occasionally be &amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;marked in blue&amp;lt;/font&amp;gt;, John&#039;s comments &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;in green&amp;lt;/span&amp;gt;, when we&#039;re not feeling lazy.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Huh.  Does that yum app go out and get the latest version too?  Slick.&lt;br /&gt;
I will get some source control up and running today.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Yep it auto-updates everything to the latest stable versions, including tracking down dependencies.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039; Grab the source - John is using subversion - very l337!&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
   Mar 20 20:00:03 Installed: subversion.i386 1.2.3-2.1&lt;br /&gt;
 &lt;br /&gt;
 cd development&lt;br /&gt;
 mkdir terminus&lt;br /&gt;
 cd terminus&lt;br /&gt;
 svn checkout http://xxxxx/terminus/&lt;br /&gt;
&lt;br /&gt;
and there it is!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039; Build it&lt;br /&gt;
&lt;br /&gt;
sdl-config tells you what you need on the gcc command line:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --libs &lt;br /&gt;
 -L/usr/lib -lSDL -lpthread&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --static-libs&lt;br /&gt;
 -L/usr/lib -lSDL -lpthread -lm -ldl -lasound -L/usr/X11R6/lib -lX11 -lXext&lt;br /&gt;
&lt;br /&gt;
So let&#039;s try this:&lt;br /&gt;
&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs`&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what we got so far:&lt;br /&gt;
&lt;br /&gt;
  In file included from system.hpp:17,&lt;br /&gt;
                  from startup.hpp:8,&lt;br /&gt;
                  from main.cpp:8:&lt;br /&gt;
 util/audio.hpp:82: error: syntax error before `*&#039; token&lt;br /&gt;
 util/audio.hpp:145: error: `FMOD_SOUND&#039; was not declared in this scope&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Looks like the version of fmod that Fedora wants to pull down is old (3.74).  I believe we need to go with FMOD Ex 4 (4.03.03 as of this writing).  I will pull down the code from fmod.org and build a local version.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Hmmm... There are two versions of FMOD Ex, the C and the C++ version.  I had to use the C version because the C++ version is not compatable with Dev-C++ and MinGW.  Check and make sure that you have the C version of the lib installed too.&lt;br /&gt;
&lt;br /&gt;
FYI, here is my linker options:&lt;br /&gt;
&lt;br /&gt;
 -lmingw32 -lSDLmain -lSDL -mwindows&lt;br /&gt;
 ../../Dev-Cpp/lib/libSDL_image.a&lt;br /&gt;
 ../../Dev-Cpp/lib/libfmodex.a&lt;br /&gt;
 ../../Dev-Cpp/lib/libSDL_gfx.a&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Try this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Download the linux tar.gz from http://www.fmod.org&amp;lt;br&amp;gt;&lt;br /&gt;
Notice there is both a fmod.h and an fmod.hpp in the inc dir.&amp;lt;br&amp;gt;&lt;br /&gt;
Put into the compile path, the compiler should compile in the correct one (fmod.h) since that is what is in my files.&amp;lt;br&amp;gt;&lt;br /&gt;
There are two .03 files in the lib dir, is one of those the C version of the lib and the other the CPP?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
OK I&#039;m getting to the bottom of this.  :&amp;gt;  Looks like FMOD Ex 4 is not open source.  The download includes pre-built libraries but no source code.  The &amp;quot;makefile&amp;quot; just copies the pre-built libraries into place.  I think that will be OK but I have to make sure I know what it&#039;s doing.  From the &amp;quot;makefile&amp;quot; script: &lt;br /&gt;
&lt;br /&gt;
 VERSION    = 4.03.03&lt;br /&gt;
 LIBDIR     = api/lib&lt;br /&gt;
 HDRDIR     = api/inc&lt;br /&gt;
 DESTLIBDIR = /usr/local/lib&lt;br /&gt;
 DESTHDRDIR = /usr/local/include/fmodex&lt;br /&gt;
&lt;br /&gt;
I am going to uninstall Fedora&#039;s fmod 3.74 then try the makefile.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
FMOD is the one &amp;quot;pay for&amp;quot; piece to the game.  The built-in SDL sound libs were problomatic.  That, and FMOD allows me to use a compressed XM file format that will save me about 5M off my downloadable size.  I think that I will pay about $100 per OS license, once for Win, once for Mac, and once for Linux.  To me, it was a close call, borderline, but in the end I deemed it worth it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Sounds good to me.  Removing the older (open-source?) fmod:&lt;br /&gt;
&lt;br /&gt;
 yum remove fmod&lt;br /&gt;
  Removing:&lt;br /&gt;
   fmod                    i386       3.74.1-1.2.fc4.rf  installed         431 k&lt;br /&gt;
  Removing for dependencies:&lt;br /&gt;
   fmod-devel              i386       3.74.1-1.2.fc4.rf  installed         1.8 M&lt;br /&gt;
&lt;br /&gt;
Then, I believe I won&#039;t need to run the &amp;quot;Makefile&amp;quot;, I should be able to use the libraries and includes from my local copy, with a little stupid trickery.&lt;br /&gt;
&lt;br /&gt;
 cd /home/m/development/terminus&lt;br /&gt;
 ls&lt;br /&gt;
   fmodapi40303linux  fmodapi40303linux.tar.gz  terminus&lt;br /&gt;
 ln -s fmodapi40303linux fmod&lt;br /&gt;
 cd fmod/api&lt;br /&gt;
 ln -s inc fmod&lt;br /&gt;
 cd ../../terminus&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs` -I../fmod/api/ -L../fmod/api/lib/libfmodex.so&lt;br /&gt;
&lt;br /&gt;
Getting further...&lt;br /&gt;
&lt;br /&gt;
 /tmp/cc4ahy85.o(.text+0x12): In function `main&#039;:&lt;br /&gt;
 main.cpp: undefined reference to `TeSystem::Start()&#039;&lt;br /&gt;
 /tmp/cc4ahy85.o(.text+0x22):main.cpp: undefined reference to `TeStartUp::Execute()&#039;&lt;br /&gt;
&lt;br /&gt;
Awesome, that&#039;s in system.hpp.  Sounds like time to build that makefile!  And I see in the meantime, John&#039;s checked in another round of changes, we&#039;re at big fat [10] now, whoop! :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
I am excited!  The changes I checked in last night include the &amp;quot;introduction movie&amp;quot; from the first campaign.  Right now I am completing mission one.  If you get the movie up and running on Linux that will be a HUGE milestone.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BTW, I hadn&#039;t planned on having any other developers on board, so the code is perhaps not quite up to my normal &amp;quot;team standards&amp;quot;.  I certainly have not taken any pains to &amp;quot;do the right thing&amp;quot; when the end results would be solely cosmetic.  So keep that in mind as you start to dig through the code :)&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take a peek at os.cpp, that is where I planned on putting any OS specific code.  Right now the only thing that could use implementing is a window centering routine.  And that is a very non-critical piece - cosmetic only.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Hahaha no excuses!  Seriously I haven&#039;t been up to &amp;quot;Earthmover&amp;quot; quality since... well, Earthmover.  Everybody wants it done YESTERDAY!  :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am going to set up to build with gcc using [http://sourceware.org/autobook/autobook/autobook_toc.html GNU autotools].  It seems to be a pretty common way of doing things, it&#039;s not too hard to set up, and once an autotools-built project is set up, maintaining it is a breeze.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s my script to create a new project for existing source files:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ cat ~m/scripts/setup_new_project.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 # MDM This sets up some default files, to prevent warnings.&lt;br /&gt;
 touch NEWS README AUTHORS ChangeLog&lt;br /&gt;
 &lt;br /&gt;
 # MDM We want to redo everything, kill anything that might screw us up.&lt;br /&gt;
 rm -rf config_backup 2&amp;gt;&amp;amp;1&lt;br /&gt;
 rm -rf autom4te.cache_backup 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mv config config_backup 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mv autom4te.cache autom4te.cache_backup 2&amp;gt;&amp;amp;1&lt;br /&gt;
 &lt;br /&gt;
 # MDM Set up default dirs, too.&lt;br /&gt;
 mkdir src &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mkdir test &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mkdir config &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mkdir doc &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 &lt;br /&gt;
 # MDM This creates configure.scan, an initial template for configure.ac,&lt;br /&gt;
 # based on the code it finds in the current directory.&lt;br /&gt;
 autoscan&lt;br /&gt;
 &lt;br /&gt;
 # MDM From http://lists.nongnu.org/archive/html/automake/2003-04/msg00226.html&lt;br /&gt;
 # libtoolize is the tool that will install (config.sub, ltmain.sh) in your package.&lt;br /&gt;
 # Consider also autoreconf, which will run&lt;br /&gt;
 # libtoolize/autopoint/aclocal/autoconf/automake in the right&lt;br /&gt;
 # order for you.&lt;br /&gt;
 libtoolize --force&lt;br /&gt;
 &lt;br /&gt;
 # MDM This runs all the automake tools.&lt;br /&gt;
 bootstrap&lt;br /&gt;
 &lt;br /&gt;
 # MDM Go ahead and configure and make, to see if it works.&lt;br /&gt;
 ./configure &amp;amp;&amp;amp; make clean &amp;amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
And my boostrap script:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ cat ~m/scripts/bootstrap&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 aclocal \&lt;br /&gt;
     &amp;amp;&amp;amp; automake --add-missing --copy \&lt;br /&gt;
     &amp;amp;&amp;amp; autoconf&lt;br /&gt;
&lt;br /&gt;
Before I can run those successfully we need to create a configure.in file.&lt;br /&gt;
&lt;br /&gt;
But first, where should I put the autotools files?  My ShareTheDJ project has all the autotools files in the project root, and the source code under project/src.  It would be nice if I could set up the autotools files under a subdirectory, since the root already has source files in it.  I&#039;ll see if I can pull that off...&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ ls&lt;br /&gt;
 config.cpp       craftselect.hpp  gamedef.hpp  gamesys.hpp   mainmenu.hpp  profiles   startup.cpp  system.hpp    Terminus_private.h    util&lt;br /&gt;
 config.hpp       data             game.hpp     main.cpp      profile.cpp   scene.cpp  startup.hpp  Terminus.ico  Terminus_private.rc   world&lt;br /&gt;
 craftselect.cpp  game.cpp         gamesys.cpp  mainmenu.cpp  profile.hpp   scene.hpp  system.cpp   Terminus.png  Terminus_private.res  xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Heh, you are way beyond me here.  I have never used the autotools stuff.  Dev-Cpp builds a makefile for me from the project settings that I set up in the IDE.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is a bunch of stuff in the root dir that I did not put into the SC (such as the Dev-Cpp project config file) because it did not apply to the Linux build.  Should that kind of stuff end up in the SC?  Should it be put into a seperate repository?&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am thinking maybe stuff like that I will put into a zip and check it into the root as &amp;quot;windows_build.zip&amp;quot; with each release.  NBD.&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I think we should add all building configuration right into the terminus repository.  Then comes the question of directory structure.  Maybe something like this?&lt;br /&gt;
&lt;br /&gt;
 terminus/&lt;br /&gt;
   (source code)&lt;br /&gt;
   (source code subdirs)&lt;br /&gt;
   linux&lt;br /&gt;
   windows&lt;br /&gt;
&lt;br /&gt;
autotools expects the source to be UNDER the autotools build directory, but I can get around that with a symlink:&lt;br /&gt;
&lt;br /&gt;
 terminus/&lt;br /&gt;
   (source code)&lt;br /&gt;
   (source code subdirs)&lt;br /&gt;
   linux&lt;br /&gt;
      src (just a symlink to ../)&lt;br /&gt;
   windows&lt;br /&gt;
&lt;br /&gt;
I&#039;m pretty sure that will work for me.  Can you set up Dev-Cpp configuration under the windows subdir?  If not, I say just dump the files right in with the source code, should be fine.  What do you think?&lt;br /&gt;
&lt;br /&gt;
I&#039;m slowly making progress on the autotools config.  SDL requires a little trickery, you have to include an autotools &amp;quot;M4&amp;quot; macro.  I will wait until I get autotools working, then check in the linux directory, if that sounds OK.  The only thing outside the linux directory will be one or two autotools config files in the root - I don&#039;t see a way around that - does that sound OK?&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Back.  I have screwed around with setting up autotools under the linux directory until I couldn&#039;t stand it any more.  As of now I am able to compile and get code-related errors, but the autotools config files are located at the parent of the terminus source directory.  Here are the files required to build:&lt;br /&gt;
&lt;br /&gt;
  terminus/&lt;br /&gt;
    configure.in&lt;br /&gt;
    Makefile.am&lt;br /&gt;
    terminus/&lt;br /&gt;
      code from svn repository&lt;br /&gt;
      Makefile.am&lt;br /&gt;
&lt;br /&gt;
Do this to set up to build:&lt;br /&gt;
&lt;br /&gt;
  cd terminus&lt;br /&gt;
  setup_new_project.sh&lt;br /&gt;
&lt;br /&gt;
From that point on I can build by typing &amp;quot;make&amp;quot;.  Here are the first errors I get:&lt;br /&gt;
&lt;br /&gt;
 In file included from world/weapon.hpp:8,&lt;br /&gt;
                  from world/craft.hpp:11,&lt;br /&gt;
                  from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
 world/bullet.hpp: In member function `TeRect TeBullet::getBoundRect()&#039;:&lt;br /&gt;
 world/bullet.hpp:236: error: request for member `CenteredAt&#039; in `rclBullet&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
 In file included from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/craft.hpp: At global scope:&lt;br /&gt;
 world/craft.hpp:22: error: type specifier omitted for parameter `szCraft&#039;&lt;br /&gt;
 world/craft.hpp: In member function `TeRect TeCraft::getBoundRect()&#039;:&lt;br /&gt;
 world/craft.hpp:192: error: request for member `CenteredAt&#039; in `rclCraft&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
 make[1]: *** [craftselect.o] Error 1&lt;br /&gt;
 make[1]: Leaving directory `/home/m/development/terminus/terminus&#039;&lt;br /&gt;
 make: *** [all-recursive] Error 1&lt;br /&gt;
&lt;br /&gt;
Bedtime...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Sorry I did not response to this last night - I was thinking about it, but did not come up with a conclusion until this morning:&lt;br /&gt;
&lt;br /&gt;
 terminus (the only thing that goes here is the stuff that HAS to go here, like your autotools stuff)&lt;br /&gt;
   src (plus subdirs)&lt;br /&gt;
   data (plus subdirs)&lt;br /&gt;
   linux (build scripts, dlls, libs, diaries, project files, etc.)&lt;br /&gt;
      output (obj files)&lt;br /&gt;
      release&lt;br /&gt;
         current&lt;br /&gt;
         1.0.0&lt;br /&gt;
         1.1.0&lt;br /&gt;
   windows (build scripts, dlls, libs, diaries, project files, etc.)&lt;br /&gt;
      output (obj files)&lt;br /&gt;
      release&lt;br /&gt;
         current&lt;br /&gt;
         1.0.0&lt;br /&gt;
         1.1.0&lt;br /&gt;
&lt;br /&gt;
However, if you are up and running (and happy with it) let&#039;s not change things.  I would have to refactor my project files, my old VSS, and the new SVN to match the changes :-(&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Sounds like a plan, man!  It will take a little more autotools tweaking.  I would agree with you and hold off on the reorganization in the short term, though, since we both have everything working as it is.  I can just tar up what&#039;s needed and put it in the root, like you had planned to do with the windoze stuff.  Here&#039;s what I plan on adding, if it sounds OK:&lt;br /&gt;
&lt;br /&gt;
 terminus &lt;br /&gt;
   (existing source code and data)&lt;br /&gt;
   setup_linux_build.sh&lt;br /&gt;
   linux/&lt;br /&gt;
     autotools.tar.gz&lt;br /&gt;
&lt;br /&gt;
autotools.tar.gz consists of the following autotools configuration files:&lt;br /&gt;
&lt;br /&gt;
 configure.in                the primary autotools configuration file&lt;br /&gt;
 Makefile.am                 makefile details for the root dir&lt;br /&gt;
 acinclude.m4                macros needed for SDL - this is a copy of /usr/share/aclocal/sdl.m4&lt;br /&gt;
 terminus/Makefile.am        makefile details for the source code in the terminus dir&lt;br /&gt;
 terminus/util/Makefile.am   makefile details for util&lt;br /&gt;
 terminus/world/Makefile.am  makefile details for world&lt;br /&gt;
 terminus/xml/Makefile.am    makefile details for xml&lt;br /&gt;
&lt;br /&gt;
After you run the setup script, you will have the following mess (which unfortunately seems to be the linux &amp;quot;standard&amp;quot;).  Note that the script WILL dump files one directory above the terminus subversion repository directory.&lt;br /&gt;
&lt;br /&gt;
 (tons of autotools files)&lt;br /&gt;
 config/(autotools config files)&lt;br /&gt;
 autom4te.cache/(autotools junk)&lt;br /&gt;
 terminus/&lt;br /&gt;
   (source code)&lt;br /&gt;
   (source code.o)&lt;br /&gt;
   Makefile.am&lt;br /&gt;
   Makefile.in&lt;br /&gt;
   Makefile&lt;br /&gt;
   (source code subdirs)&lt;br /&gt;
     (source code)&lt;br /&gt;
     (source code.o)&lt;br /&gt;
     Makefile.am&lt;br /&gt;
     Makefile.in&lt;br /&gt;
     Makefile&lt;br /&gt;
&lt;br /&gt;
What do you think?  It&#039;s not terrible I guess.  And we can revisit and reorganize later.  So... upwards and onwards?  :&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Yes, that is all cool.  You da man!&lt;br /&gt;
&lt;br /&gt;
You need any help with those errors?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1356</id>
		<title>Terminus Est</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1356"/>
		<updated>2006-03-23T14:18:01Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Terminus Est is John&#039;s awesome space shooter.  See [http://soloforge.com his Soloforge website].&lt;br /&gt;
&lt;br /&gt;
Mike is hoping to help John build Terminus under linux.  Here&#039;s John&#039;s &amp;quot;getting started&amp;quot; list...&lt;br /&gt;
&lt;br /&gt;
 There is some stuff in here on getting set up to build SDL apps with&lt;br /&gt;
 KDeveloper: http://gpwiki.org/index.php/SDL&lt;br /&gt;
 &lt;br /&gt;
 You will need SDL, plus the SDL_image and SDL_gfx support libs.  &lt;br /&gt;
 Available from: http://www.libsdl.org/index.php&lt;br /&gt;
 &lt;br /&gt;
 And the FMOD sound system from http://www.fmod.org.&lt;br /&gt;
&lt;br /&gt;
Typically I&#039;ll be using either Fedora or Gentoo during my porting effort.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FEDORA&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039; Install SDL and fmod:&lt;br /&gt;
&lt;br /&gt;
 yum install SDL-devel&lt;br /&gt;
 yum install SDL_gfx&lt;br /&gt;
 yum install SDL_gfx-devel&lt;br /&gt;
 yum install SDL_image&lt;br /&gt;
 yum install SDL_image-devel&lt;br /&gt;
 yum install fmod&lt;br /&gt;
 yum install fmod-devel&lt;br /&gt;
 &lt;br /&gt;
 Mar 19 22:42:01 Installed: SDL_gfx.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
 Mar 19 22:45:23 Installed: SDL_image.i386 1.2.4-1.2.fc4.rf&lt;br /&gt;
 Mar 19 23:11:05 Installed: fmod.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:22:26 Installed: fmod-devel.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:24:32 Installed: alsa-lib-devel.i386 1.0.10-27.rhfc4.at&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4 &lt;br /&gt;
 Mar 20 21:27:59 Installed: SDL_gfx-devel.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
&lt;br /&gt;
Mike&#039;s comments will occasionally be &amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;marked in blue&amp;lt;/font&amp;gt;, John&#039;s comments &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;in green&amp;lt;/span&amp;gt;, when we&#039;re not feeling lazy.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Huh.  Does that yum app go out and get the latest version too?  Slick.&lt;br /&gt;
I will get some source control up and running today.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Yep it auto-updates everything to the latest stable versions, including tracking down dependencies.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039; Grab the source - John is using subversion - very l337!&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
   Mar 20 20:00:03 Installed: subversion.i386 1.2.3-2.1&lt;br /&gt;
 &lt;br /&gt;
 cd development&lt;br /&gt;
 mkdir terminus&lt;br /&gt;
 cd terminus&lt;br /&gt;
 svn checkout http://xxxxx/terminus/&lt;br /&gt;
&lt;br /&gt;
and there it is!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039; Build it&lt;br /&gt;
&lt;br /&gt;
sdl-config tells you what you need on the gcc command line:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --libs &lt;br /&gt;
 -L/usr/lib -lSDL -lpthread&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --static-libs&lt;br /&gt;
 -L/usr/lib -lSDL -lpthread -lm -ldl -lasound -L/usr/X11R6/lib -lX11 -lXext&lt;br /&gt;
&lt;br /&gt;
So let&#039;s try this:&lt;br /&gt;
&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs`&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what we got so far:&lt;br /&gt;
&lt;br /&gt;
  In file included from system.hpp:17,&lt;br /&gt;
                  from startup.hpp:8,&lt;br /&gt;
                  from main.cpp:8:&lt;br /&gt;
 util/audio.hpp:82: error: syntax error before `*&#039; token&lt;br /&gt;
 util/audio.hpp:145: error: `FMOD_SOUND&#039; was not declared in this scope&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Looks like the version of fmod that Fedora wants to pull down is old (3.74).  I believe we need to go with FMOD Ex 4 (4.03.03 as of this writing).  I will pull down the code from fmod.org and build a local version.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Hmmm... There are two versions of FMOD Ex, the C and the C++ version.  I had to use the C version because the C++ version is not compatable with Dev-C++ and MinGW.  Check and make sure that you have the C version of the lib installed too.&lt;br /&gt;
&lt;br /&gt;
FYI, here is my linker options:&lt;br /&gt;
&lt;br /&gt;
 -lmingw32 -lSDLmain -lSDL -mwindows&lt;br /&gt;
 ../../Dev-Cpp/lib/libSDL_image.a&lt;br /&gt;
 ../../Dev-Cpp/lib/libfmodex.a&lt;br /&gt;
 ../../Dev-Cpp/lib/libSDL_gfx.a&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Try this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Download the linux tar.gz from http://www.fmod.org&amp;lt;br&amp;gt;&lt;br /&gt;
Notice there is both a fmod.h and an fmod.hpp in the inc dir.&amp;lt;br&amp;gt;&lt;br /&gt;
Put into the compile path, the compiler should compile in the correct one (fmod.h) since that is what is in my files.&amp;lt;br&amp;gt;&lt;br /&gt;
There are two .03 files in the lib dir, is one of those the C version of the lib and the other the CPP?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
OK I&#039;m getting to the bottom of this.  :&amp;gt;  Looks like FMOD Ex 4 is not open source.  The download includes pre-built libraries but no source code.  The &amp;quot;makefile&amp;quot; just copies the pre-built libraries into place.  I think that will be OK but I have to make sure I know what it&#039;s doing.  From the &amp;quot;makefile&amp;quot; script: &lt;br /&gt;
&lt;br /&gt;
 VERSION    = 4.03.03&lt;br /&gt;
 LIBDIR     = api/lib&lt;br /&gt;
 HDRDIR     = api/inc&lt;br /&gt;
 DESTLIBDIR = /usr/local/lib&lt;br /&gt;
 DESTHDRDIR = /usr/local/include/fmodex&lt;br /&gt;
&lt;br /&gt;
I am going to uninstall Fedora&#039;s fmod 3.74 then try the makefile.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
FMOD is the one &amp;quot;pay for&amp;quot; piece to the game.  The built-in SDL sound libs were problomatic.  That, and FMOD allows me to use a compressed XM file format that will save me about 5M off my downloadable size.  I think that I will pay about $100 per OS license, once for Win, once for Mac, and once for Linux.  To me, it was a close call, borderline, but in the end I deemed it worth it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Sounds good to me.  Removing the older (open-source?) fmod:&lt;br /&gt;
&lt;br /&gt;
 yum remove fmod&lt;br /&gt;
  Removing:&lt;br /&gt;
   fmod                    i386       3.74.1-1.2.fc4.rf  installed         431 k&lt;br /&gt;
  Removing for dependencies:&lt;br /&gt;
   fmod-devel              i386       3.74.1-1.2.fc4.rf  installed         1.8 M&lt;br /&gt;
&lt;br /&gt;
Then, I believe I won&#039;t need to run the &amp;quot;Makefile&amp;quot;, I should be able to use the libraries and includes from my local copy, with a little stupid trickery.&lt;br /&gt;
&lt;br /&gt;
 cd /home/m/development/terminus&lt;br /&gt;
 ls&lt;br /&gt;
   fmodapi40303linux  fmodapi40303linux.tar.gz  terminus&lt;br /&gt;
 ln -s fmodapi40303linux fmod&lt;br /&gt;
 cd fmod/api&lt;br /&gt;
 ln -s inc fmod&lt;br /&gt;
 cd ../../terminus&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs` -I../fmod/api/ -L../fmod/api/lib/libfmodex.so&lt;br /&gt;
&lt;br /&gt;
Getting further...&lt;br /&gt;
&lt;br /&gt;
 /tmp/cc4ahy85.o(.text+0x12): In function `main&#039;:&lt;br /&gt;
 main.cpp: undefined reference to `TeSystem::Start()&#039;&lt;br /&gt;
 /tmp/cc4ahy85.o(.text+0x22):main.cpp: undefined reference to `TeStartUp::Execute()&#039;&lt;br /&gt;
&lt;br /&gt;
Awesome, that&#039;s in system.hpp.  Sounds like time to build that makefile!  And I see in the meantime, John&#039;s checked in another round of changes, we&#039;re at big fat [10] now, whoop! :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
I am excited!  The changes I checked in last night include the &amp;quot;introduction movie&amp;quot; from the first campaign.  Right now I am completing mission one.  If you get the movie up and running on Linux that will be a HUGE milestone.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BTW, I hadn&#039;t planned on having any other developers on board, so the code is perhaps not quite up to my normal &amp;quot;team standards&amp;quot;.  I certainly have not taken any pains to &amp;quot;do the right thing&amp;quot; when the end results would be solely cosmetic.  So keep that in mind as you start to dig through the code :)&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take a peek at os.cpp, that is where I planned on putting any OS specific code.  Right now the only thing that could use implementing is a window centering routine.  And that is a very non-critical piece - cosmetic only.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Hahaha no excuses!  Seriously I haven&#039;t been up to &amp;quot;Earthmover&amp;quot; quality since... well, Earthmover.  Everybody wants it done YESTERDAY!  :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am going to set up to build with gcc using [http://sourceware.org/autobook/autobook/autobook_toc.html GNU autotools].  It seems to be a pretty common way of doing things, it&#039;s not too hard to set up, and once an autotools-built project is set up, maintaining it is a breeze.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s my script to create a new project for existing source files:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ cat ~m/scripts/setup_new_project.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 # MDM This sets up some default files, to prevent warnings.&lt;br /&gt;
 touch NEWS README AUTHORS ChangeLog&lt;br /&gt;
 &lt;br /&gt;
 # MDM We want to redo everything, kill anything that might screw us up.&lt;br /&gt;
 rm -rf config_backup 2&amp;gt;&amp;amp;1&lt;br /&gt;
 rm -rf autom4te.cache_backup 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mv config config_backup 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mv autom4te.cache autom4te.cache_backup 2&amp;gt;&amp;amp;1&lt;br /&gt;
 &lt;br /&gt;
 # MDM Set up default dirs, too.&lt;br /&gt;
 mkdir src &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mkdir test &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mkdir config &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mkdir doc &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 &lt;br /&gt;
 # MDM This creates configure.scan, an initial template for configure.ac,&lt;br /&gt;
 # based on the code it finds in the current directory.&lt;br /&gt;
 autoscan&lt;br /&gt;
 &lt;br /&gt;
 # MDM From http://lists.nongnu.org/archive/html/automake/2003-04/msg00226.html&lt;br /&gt;
 # libtoolize is the tool that will install (config.sub, ltmain.sh) in your package.&lt;br /&gt;
 # Consider also autoreconf, which will run&lt;br /&gt;
 # libtoolize/autopoint/aclocal/autoconf/automake in the right&lt;br /&gt;
 # order for you.&lt;br /&gt;
 libtoolize --force&lt;br /&gt;
 &lt;br /&gt;
 # MDM This runs all the automake tools.&lt;br /&gt;
 bootstrap&lt;br /&gt;
 &lt;br /&gt;
 # MDM Go ahead and configure and make, to see if it works.&lt;br /&gt;
 ./configure &amp;amp;&amp;amp; make clean &amp;amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
And my boostrap script:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ cat ~m/scripts/bootstrap&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 aclocal \&lt;br /&gt;
     &amp;amp;&amp;amp; automake --add-missing --copy \&lt;br /&gt;
     &amp;amp;&amp;amp; autoconf&lt;br /&gt;
&lt;br /&gt;
Before I can run those successfully we need to create a configure.in file.&lt;br /&gt;
&lt;br /&gt;
But first, where should I put the autotools files?  My ShareTheDJ project has all the autotools files in the project root, and the source code under project/src.  It would be nice if I could set up the autotools files under a subdirectory, since the root already has source files in it.  I&#039;ll see if I can pull that off...&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ ls&lt;br /&gt;
 config.cpp       craftselect.hpp  gamedef.hpp  gamesys.hpp   mainmenu.hpp  profiles   startup.cpp  system.hpp    Terminus_private.h    util&lt;br /&gt;
 config.hpp       data             game.hpp     main.cpp      profile.cpp   scene.cpp  startup.hpp  Terminus.ico  Terminus_private.rc   world&lt;br /&gt;
 craftselect.cpp  game.cpp         gamesys.cpp  mainmenu.cpp  profile.hpp   scene.hpp  system.cpp   Terminus.png  Terminus_private.res  xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Heh, you are way beyond me here.  I have never used the autotools stuff.  Dev-Cpp builds a makefile for me from the project settings that I set up in the IDE.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is a bunch of stuff in the root dir that I did not put into the SC (such as the Dev-Cpp project config file) because it did not apply to the Linux build.  Should that kind of stuff end up in the SC?  Should it be put into a seperate repository?&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am thinking maybe stuff like that I will put into a zip and check it into the root as &amp;quot;windows_build.zip&amp;quot; with each release.  NBD.&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
I think we should add all building configuration right into the terminus repository.  Then comes the question of directory structure.  Maybe something like this?&lt;br /&gt;
&lt;br /&gt;
 terminus/&lt;br /&gt;
   (source code)&lt;br /&gt;
   (source code subdirs)&lt;br /&gt;
   linux&lt;br /&gt;
   windows&lt;br /&gt;
&lt;br /&gt;
autotools expects the source to be UNDER the autotools build directory, but I can get around that with a symlink:&lt;br /&gt;
&lt;br /&gt;
 terminus/&lt;br /&gt;
   (source code)&lt;br /&gt;
   (source code subdirs)&lt;br /&gt;
   linux&lt;br /&gt;
      src (just a symlink to ../)&lt;br /&gt;
   windows&lt;br /&gt;
&lt;br /&gt;
I&#039;m pretty sure that will work for me.  Can you set up Dev-Cpp configuration under the windows subdir?  If not, I say just dump the files right in with the source code, should be fine.  What do you think?&lt;br /&gt;
&lt;br /&gt;
I&#039;m slowly making progress on the autotools config.  SDL requires a little trickery, you have to include an autotools &amp;quot;M4&amp;quot; macro.  I will wait until I get autotools working, then check in the linux directory, if that sounds OK.  The only thing outside the linux directory will be one or two autotools config files in the root - I don&#039;t see a way around that - does that sound OK?&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Back.  I have screwed around with setting up autotools under the linux directory until I couldn&#039;t stand it any more.  As of now I am able to compile and get code-related errors, but the autotools config files are located at the parent of the terminus source directory.  Here are the files required to build:&lt;br /&gt;
&lt;br /&gt;
  terminus/&lt;br /&gt;
    configure.in&lt;br /&gt;
    Makefile.am&lt;br /&gt;
    terminus/&lt;br /&gt;
      code from svn repository&lt;br /&gt;
      Makefile.am&lt;br /&gt;
&lt;br /&gt;
Do this to set up to build:&lt;br /&gt;
&lt;br /&gt;
  cd terminus&lt;br /&gt;
  setup_new_project.sh&lt;br /&gt;
&lt;br /&gt;
From that point on I can build by typing &amp;quot;make&amp;quot;.  Here are the first errors I get:&lt;br /&gt;
&lt;br /&gt;
 In file included from world/weapon.hpp:8,&lt;br /&gt;
                  from world/craft.hpp:11,&lt;br /&gt;
                  from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/bullet.hpp:23: error: type specifier omitted for parameter `szBullet&#039;&lt;br /&gt;
 world/bullet.hpp: In member function `TeRect TeBullet::getBoundRect()&#039;:&lt;br /&gt;
 world/bullet.hpp:236: error: request for member `CenteredAt&#039; in `rclBullet&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
 In file included from craftselect.hpp:9,&lt;br /&gt;
                  from craftselect.cpp:5:&lt;br /&gt;
 world/craft.hpp: At global scope:&lt;br /&gt;
 world/craft.hpp:22: error: type specifier omitted for parameter `szCraft&#039;&lt;br /&gt;
 world/craft.hpp: In member function `TeRect TeCraft::getBoundRect()&#039;:&lt;br /&gt;
 world/craft.hpp:192: error: request for member `CenteredAt&#039; in `rclCraft&#039;,&lt;br /&gt;
    which is of non-aggregate type `const TeRect ()(TePoint (*)())&#039;&lt;br /&gt;
 make[1]: *** [craftselect.o] Error 1&lt;br /&gt;
 make[1]: Leaving directory `/home/m/development/terminus/terminus&#039;&lt;br /&gt;
 make: *** [all-recursive] Error 1&lt;br /&gt;
&lt;br /&gt;
Bedtime...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Sorry I did not response to this last night - I was thinking about it, but did not come up with a conclusion until this morning:&lt;br /&gt;
&lt;br /&gt;
 terminus (the only thing that goes here is the stuff that HAS to go here, like your autotools stuff)&lt;br /&gt;
   src (plus subdirs)&lt;br /&gt;
   data (plus subdirs)&lt;br /&gt;
   linux (build scripts, dlls, libs, diaries, project files, etc.)&lt;br /&gt;
      output (obj files)&lt;br /&gt;
      release&lt;br /&gt;
         current&lt;br /&gt;
         1.0.0&lt;br /&gt;
         1.1.0&lt;br /&gt;
   windows (build scripts, dlls, libs, diaries, project files, etc.)&lt;br /&gt;
      output (obj files)&lt;br /&gt;
      release&lt;br /&gt;
         current&lt;br /&gt;
         1.0.0&lt;br /&gt;
         1.1.0&lt;br /&gt;
&lt;br /&gt;
However, if you are up and running (and happy with it) let&#039;s not change things.  I would have to refactor my project files, my old VSS, and the new SVN to match the changes :-(&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1352</id>
		<title>Terminus Est</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1352"/>
		<updated>2006-03-22T03:13:57Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Terminus Est is John&#039;s awesome space shooter.  See [http://soloforge.com his Soloforge website].&lt;br /&gt;
&lt;br /&gt;
Mike is hoping to help John build Terminus under linux.  Here&#039;s John&#039;s &amp;quot;getting started&amp;quot; list...&lt;br /&gt;
&lt;br /&gt;
 There is some stuff in here on getting set up to build SDL apps with&lt;br /&gt;
 KDeveloper: http://gpwiki.org/index.php/SDL&lt;br /&gt;
 &lt;br /&gt;
 You will need SDL, plus the SDL_image and SDL_gfx support libs.  &lt;br /&gt;
 Available from: http://www.libsdl.org/index.php&lt;br /&gt;
 &lt;br /&gt;
 And the FMOD sound system from http://www.fmod.org.&lt;br /&gt;
&lt;br /&gt;
Typically I&#039;ll be using either Fedora or Gentoo during my porting effort.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FEDORA&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039; Install SDL and fmod:&lt;br /&gt;
&lt;br /&gt;
 yum install SDL-devel&lt;br /&gt;
 yum install SDL_gfx&lt;br /&gt;
 yum install SDL_gfx-devel&lt;br /&gt;
 yum install SDL_image&lt;br /&gt;
 yum install SDL_image-devel&lt;br /&gt;
 yum install fmod&lt;br /&gt;
 yum install fmod-devel&lt;br /&gt;
 &lt;br /&gt;
 Mar 19 22:42:01 Installed: SDL_gfx.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
 Mar 19 22:45:23 Installed: SDL_image.i386 1.2.4-1.2.fc4.rf&lt;br /&gt;
 Mar 19 23:11:05 Installed: fmod.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:22:26 Installed: fmod-devel.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:24:32 Installed: alsa-lib-devel.i386 1.0.10-27.rhfc4.at&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4 &lt;br /&gt;
 Mar 20 21:27:59 Installed: SDL_gfx-devel.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
&lt;br /&gt;
Mike&#039;s comments will occasionally be &amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;marked in blue&amp;lt;/font&amp;gt;, John&#039;s comments &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;in green&amp;lt;/span&amp;gt;, when we&#039;re not feeling lazy.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Huh.  Does that yum app go out and get the latest version too?  Slick.&lt;br /&gt;
I will get some source control up and running today.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Yep it auto-updates everything to the latest stable versions, including tracking down dependencies.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039; Grab the source - John is using subversion - very l337!&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
   Mar 20 20:00:03 Installed: subversion.i386 1.2.3-2.1&lt;br /&gt;
 &lt;br /&gt;
 cd development&lt;br /&gt;
 mkdir terminus&lt;br /&gt;
 cd terminus&lt;br /&gt;
 svn checkout http://xxxxx/terminus/&lt;br /&gt;
&lt;br /&gt;
and there it is!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039; Build it&lt;br /&gt;
&lt;br /&gt;
sdl-config tells you what you need on the gcc command line:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --libs &lt;br /&gt;
 -L/usr/lib -lSDL -lpthread&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --static-libs&lt;br /&gt;
 -L/usr/lib -lSDL -lpthread -lm -ldl -lasound -L/usr/X11R6/lib -lX11 -lXext&lt;br /&gt;
&lt;br /&gt;
So let&#039;s try this:&lt;br /&gt;
&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs`&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what we got so far:&lt;br /&gt;
&lt;br /&gt;
  In file included from system.hpp:17,&lt;br /&gt;
                  from startup.hpp:8,&lt;br /&gt;
                  from main.cpp:8:&lt;br /&gt;
 util/audio.hpp:82: error: syntax error before `*&#039; token&lt;br /&gt;
 util/audio.hpp:145: error: `FMOD_SOUND&#039; was not declared in this scope&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Looks like the version of fmod that Fedora wants to pull down is old (3.74).  I believe we need to go with FMOD Ex 4 (4.03.03 as of this writing).  I will pull down the code from fmod.org and build a local version.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Hmmm... There are two versions of FMOD Ex, the C and the C++ version.  I had to use the C version because the C++ version is not compatable with Dev-C++ and MinGW.  Check and make sure that you have the C version of the lib installed too.&lt;br /&gt;
&lt;br /&gt;
FYI, here is my linker options:&lt;br /&gt;
&lt;br /&gt;
 -lmingw32 -lSDLmain -lSDL -mwindows&lt;br /&gt;
 ../../Dev-Cpp/lib/libSDL_image.a&lt;br /&gt;
 ../../Dev-Cpp/lib/libfmodex.a&lt;br /&gt;
 ../../Dev-Cpp/lib/libSDL_gfx.a&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Try this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Download the linux tar.gz from http://www.fmod.org&amp;lt;br&amp;gt;&lt;br /&gt;
Notice there is both a fmod.h and an fmod.hpp in the inc dir.&amp;lt;br&amp;gt;&lt;br /&gt;
Put into the compile path, the compiler should compile in the correct one (fmod.h) since that is what is in my files.&amp;lt;br&amp;gt;&lt;br /&gt;
There are two .03 files in the lib dir, is one of those the C version of the lib and the other the CPP?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
OK I&#039;m getting to the bottom of this.  :&amp;gt;  Looks like FMOD Ex 4 is not open source.  The download includes pre-built libraries but no source code.  The &amp;quot;makefile&amp;quot; just copies the pre-built libraries into place.  I think that will be OK but I have to make sure I know what it&#039;s doing.  From the &amp;quot;makefile&amp;quot; script: &lt;br /&gt;
&lt;br /&gt;
 VERSION    = 4.03.03&lt;br /&gt;
 LIBDIR     = api/lib&lt;br /&gt;
 HDRDIR     = api/inc&lt;br /&gt;
 DESTLIBDIR = /usr/local/lib&lt;br /&gt;
 DESTHDRDIR = /usr/local/include/fmodex&lt;br /&gt;
&lt;br /&gt;
I am going to uninstall Fedora&#039;s fmod 3.74 then try the makefile.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
FMOD is the one &amp;quot;pay for&amp;quot; piece to the game.  The built-in SDL sound libs were problomatic.  That, and FMOD allows me to use a compressed XM file format that will save me about 5M off my downloadable size.  I think that I will pay about $100 per OS license, once for Win, once for Mac, and once for Linux.  To me, it was a close call, borderline, but in the end I deemed it worth it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Sounds good to me.  Removing the older (open-source?) fmod:&lt;br /&gt;
&lt;br /&gt;
 yum remove fmod&lt;br /&gt;
  Removing:&lt;br /&gt;
   fmod                    i386       3.74.1-1.2.fc4.rf  installed         431 k&lt;br /&gt;
  Removing for dependencies:&lt;br /&gt;
   fmod-devel              i386       3.74.1-1.2.fc4.rf  installed         1.8 M&lt;br /&gt;
&lt;br /&gt;
Then, I believe I won&#039;t need to run the &amp;quot;Makefile&amp;quot;, I should be able to use the libraries and includes from my local copy, with a little stupid trickery.&lt;br /&gt;
&lt;br /&gt;
 cd /home/m/development/terminus&lt;br /&gt;
 ls&lt;br /&gt;
   fmodapi40303linux  fmodapi40303linux.tar.gz  terminus&lt;br /&gt;
 ln -s fmodapi40303linux fmod&lt;br /&gt;
 cd fmod/api&lt;br /&gt;
 ln -s inc fmod&lt;br /&gt;
 cd ../../terminus&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs` -I../fmod/api/ -L../fmod/api/lib/libfmodex.so&lt;br /&gt;
&lt;br /&gt;
Getting further...&lt;br /&gt;
&lt;br /&gt;
 /tmp/cc4ahy85.o(.text+0x12): In function `main&#039;:&lt;br /&gt;
 main.cpp: undefined reference to `TeSystem::Start()&#039;&lt;br /&gt;
 /tmp/cc4ahy85.o(.text+0x22):main.cpp: undefined reference to `TeStartUp::Execute()&#039;&lt;br /&gt;
&lt;br /&gt;
Awesome, that&#039;s in system.hpp.  Sounds like time to build that makefile!  And I see in the meantime, John&#039;s checked in another round of changes, we&#039;re at big fat [10] now, whoop! :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
I am excited!  The changes I checked in last night include the &amp;quot;introduction movie&amp;quot; from the first campaign.  Right now I am completing mission one.  If you get the movie up and running on Linux that will be a HUGE milestone.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BTW, I hadn&#039;t planned on having any other developers on board, so the code is perhaps not quite up to my normal &amp;quot;team standards&amp;quot;.  I certainly have not taken any pains to &amp;quot;do the right thing&amp;quot; when the end results would be solely cosmetic.  So keep that in mind as you start to dig through the code :)&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take a peek at os.cpp, that is where I planned on putting any OS specific code.  Right now the only thing that could use implementing is a window centering routine.  And that is a very non-critical piece - cosmetic only.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Hahaha no excuses!  Seriously I haven&#039;t been up to &amp;quot;Earthmover&amp;quot; quality since... well, Earthmover.  Everybody wants it done YESTERDAY!  :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am going to set up to build with gcc using [http://sourceware.org/autobook/autobook/autobook_toc.html GNU autotools].  It seems to be a pretty common way of doing things, it&#039;s not too hard to set up, and once an autotools-built project is set up, maintaining it is a breeze.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s my script to create a new project for existing source files:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ cat ~m/scripts/setup_new_project.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 # MDM This sets up some default files, to prevent warnings.&lt;br /&gt;
 touch NEWS README AUTHORS ChangeLog&lt;br /&gt;
 &lt;br /&gt;
 # MDM Set up default dirs, too.&lt;br /&gt;
 mkdir src &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mkdir test &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mkdir config &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 mkdir doc &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 &lt;br /&gt;
 # MDM This creates configure.scan, an initial template for configure.ac,&lt;br /&gt;
 # based on the code it finds in the current directory.&lt;br /&gt;
 autoscan&lt;br /&gt;
 &lt;br /&gt;
 # MDM This runs all the automake tools.&lt;br /&gt;
 bootstrap&lt;br /&gt;
 &lt;br /&gt;
 # MDM Go ahead and configure and make, to see if it works.&lt;br /&gt;
 ./configure &amp;amp;&amp;amp; make clean &amp;amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
And my boostrap script:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ cat ~m/scripts/bootstrap&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 aclocal \&lt;br /&gt;
     &amp;amp;&amp;amp; automake --add-missing --copy \&lt;br /&gt;
     &amp;amp;&amp;amp; autoconf&lt;br /&gt;
&lt;br /&gt;
Before I can run those successfully we need to create a configure.in file.&lt;br /&gt;
&lt;br /&gt;
But first, where should I put the autotools files?  My ShareTheDJ project has all the autotools files in the project root, and the source code under project/src.  It would be nice if I could set up the autotools files under a subdirectory, since the root already has source files in it.  I&#039;ll see if I can pull that off...&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ ls&lt;br /&gt;
 config.cpp       craftselect.hpp  gamedef.hpp  gamesys.hpp   mainmenu.hpp  profiles   startup.cpp  system.hpp    Terminus_private.h    util&lt;br /&gt;
 config.hpp       data             game.hpp     main.cpp      profile.cpp   scene.cpp  startup.hpp  Terminus.ico  Terminus_private.rc   world&lt;br /&gt;
 craftselect.cpp  game.cpp         gamesys.cpp  mainmenu.cpp  profile.hpp   scene.hpp  system.cpp   Terminus.png  Terminus_private.res  xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Heh, you are way beyond me here.  I have never used the autotools stuff.  Dev-Cpp builds a makefile for me from the project settings that I set up in the IDE.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is a bunch of stuff in the root dir that I did not put into the SC (such as the Dev-Cpp project config file) because it did not apply to the Linux build.  Should that kind of stuff end up in the SC?  Should it be put into a seperate repository?&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am thinking maybe stuff like that I will put into a zip and check it into the root as &amp;quot;windows_build.zip&amp;quot; with each release.  NBD.&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1348</id>
		<title>Terminus Est</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1348"/>
		<updated>2006-03-21T22:37:48Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Terminus Est is John&#039;s awesome space shooter.  See [http://soloforge.com his Soloforge website].&lt;br /&gt;
&lt;br /&gt;
Mike is hoping to help John build Terminus under linux.  Here&#039;s John&#039;s &amp;quot;getting started&amp;quot; list...&lt;br /&gt;
&lt;br /&gt;
 There is some stuff in here on getting set up to build SDL apps with&lt;br /&gt;
 KDeveloper: http://gpwiki.org/index.php/SDL&lt;br /&gt;
 &lt;br /&gt;
 You will need SDL, plus the SDL_image and SDL_gfx support libs.  &lt;br /&gt;
 Available from: http://www.libsdl.org/index.php&lt;br /&gt;
 &lt;br /&gt;
 And the FMOD sound system from http://www.fmod.org.&lt;br /&gt;
&lt;br /&gt;
Typically I&#039;ll be using either Fedora or Gentoo during my porting effort.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FEDORA&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039; Install SDL and fmod:&lt;br /&gt;
&lt;br /&gt;
 yum install SDL-devel&lt;br /&gt;
 yum install SDL_gfx&lt;br /&gt;
 yum install SDL_gfx-devel&lt;br /&gt;
 yum install SDL_image&lt;br /&gt;
 yum install SDL_image-devel&lt;br /&gt;
 yum install fmod&lt;br /&gt;
 yum install fmod-devel&lt;br /&gt;
 &lt;br /&gt;
 Mar 19 22:42:01 Installed: SDL_gfx.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
 Mar 19 22:45:23 Installed: SDL_image.i386 1.2.4-1.2.fc4.rf&lt;br /&gt;
 Mar 19 23:11:05 Installed: fmod.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:22:26 Installed: fmod-devel.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:24:32 Installed: alsa-lib-devel.i386 1.0.10-27.rhfc4.at&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4 &lt;br /&gt;
 Mar 20 21:27:59 Installed: SDL_gfx-devel.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
&lt;br /&gt;
Mike&#039;s comments will occasionally be &amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;marked in orange&amp;lt;/span&amp;gt;, John&#039;s comments &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;in green&amp;lt;/span&amp;gt;, when we&#039;re not feeling lazy.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Huh.  Does that yum app go out and get the latest version too?  Slick.&lt;br /&gt;
I will get some source control up and running today.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&lt;br /&gt;
Yep it auto-updates everything to the latest stable versions, including tracking down dependencies.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039; Grab the source - John is using subversion - very l337!&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
   Mar 20 20:00:03 Installed: subversion.i386 1.2.3-2.1&lt;br /&gt;
 &lt;br /&gt;
 cd development&lt;br /&gt;
 mkdir terminus&lt;br /&gt;
 cd terminus&lt;br /&gt;
 svn checkout http://xxxxx/terminus/&lt;br /&gt;
&lt;br /&gt;
and there it is!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039; Build it&lt;br /&gt;
&lt;br /&gt;
sdl-config tells you what you need on the gcc command line:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --libs &lt;br /&gt;
 -L/usr/lib -lSDL -lpthread&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --static-libs&lt;br /&gt;
 -L/usr/lib -lSDL -lpthread -lm -ldl -lasound -L/usr/X11R6/lib -lX11 -lXext&lt;br /&gt;
&lt;br /&gt;
So let&#039;s try this:&lt;br /&gt;
&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs`&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what we got so far:&lt;br /&gt;
&lt;br /&gt;
  In file included from system.hpp:17,&lt;br /&gt;
                  from startup.hpp:8,&lt;br /&gt;
                  from main.cpp:8:&lt;br /&gt;
 util/audio.hpp:82: error: syntax error before `*&#039; token&lt;br /&gt;
 util/audio.hpp:145: error: `FMOD_SOUND&#039; was not declared in this scope&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:orange&amp;quot;&amp;gt;&lt;br /&gt;
Looks like the version of fmod that Fedora wants to pull down is old (3.74).  I believe we need to go with FMOD Ex 4 (4.03.03 as of this writing).  I will pull down the code from fmod.org and build a local version.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Hmmm... There are two versions of FMOD Ex, the C and the C++ version.  I had to use the C version because the C++ version is not compatable with Dev-C++ and MinGW.  Check and make sure that you have the C version of the lib installed too.&lt;br /&gt;
&lt;br /&gt;
FYI, here is my linker options:&lt;br /&gt;
&lt;br /&gt;
 -lmingw32 -lSDLmain -lSDL -mwindows&lt;br /&gt;
 ../../Dev-Cpp/lib/libSDL_image.a&lt;br /&gt;
 ../../Dev-Cpp/lib/libfmodex.a&lt;br /&gt;
 ../../Dev-Cpp/lib/libSDL_gfx.a&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Try this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Download the linux tar.gz from http://www.fmod.org&amp;lt;br&amp;gt;&lt;br /&gt;
Notice there is both a fmod.h and an fmod.hpp in the inc dir.&amp;lt;br&amp;gt;&lt;br /&gt;
Put into the compile path, the compiler should compile in the correct one (fmod.h) since that is what is in my files.&amp;lt;br&amp;gt;&lt;br /&gt;
There are two .03 files in the lib dir, is one of those the C version of the lib and the other the CPP?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:orange&amp;quot;&amp;gt;&lt;br /&gt;
OK I&#039;m getting to the bottom of this.  :&amp;gt;  Looks like FMOD Ex 4 is not open source.  The download includes pre-built libraries but no source code.  The &amp;quot;makefile&amp;quot; just copies the pre-built libraries into place.  I think that will be OK but I have to make sure I know what it&#039;s doing.  From the &amp;quot;makefile&amp;quot; script: &lt;br /&gt;
&lt;br /&gt;
 VERSION    = 4.03.03&lt;br /&gt;
 LIBDIR     = api/lib&lt;br /&gt;
 HDRDIR     = api/inc&lt;br /&gt;
 DESTLIBDIR = /usr/local/lib&lt;br /&gt;
 DESTHDRDIR = /usr/local/include/fmodex&lt;br /&gt;
&lt;br /&gt;
I am going to uninstall Fedora&#039;s fmod 3.74 then try the makefile.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
FMOD is the one &amp;quot;pay for&amp;quot; piece to the game.  The built-in SDL sound libs were problomatic.  That, and FMOD allows me to use a compressed XM file format that will save me about 5M off my downloadable size.  I think that I will pay about $100 per OS license, once for Win, once for Mac, and once for Linux.  To me, it was a close call, borderline, but in the end I deemed it worth it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:orange&amp;quot;&amp;gt;&lt;br /&gt;
Sounds good to me.  Removing the older (open-source?) fmod:&lt;br /&gt;
&lt;br /&gt;
 yum remove fmod&lt;br /&gt;
  Removing:&lt;br /&gt;
   fmod                    i386       3.74.1-1.2.fc4.rf  installed         431 k&lt;br /&gt;
  Removing for dependencies:&lt;br /&gt;
   fmod-devel              i386       3.74.1-1.2.fc4.rf  installed         1.8 M&lt;br /&gt;
&lt;br /&gt;
Then, I believe I won&#039;t need to run the &amp;quot;Makefile&amp;quot;, I should be able to use the libraries and includes from my local copy, with a little stupid trickery.&lt;br /&gt;
&lt;br /&gt;
 cd /home/m/development/terminus&lt;br /&gt;
 ls&lt;br /&gt;
   fmodapi40303linux  fmodapi40303linux.tar.gz  terminus&lt;br /&gt;
 ln -s fmodapi40303linux fmod&lt;br /&gt;
 cd fmod/api&lt;br /&gt;
 ln -s inc fmod&lt;br /&gt;
 cd ../../terminus&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs` -I../fmod/api/ -L../fmod/api/lib/libfmodex.so&lt;br /&gt;
&lt;br /&gt;
Getting further...&lt;br /&gt;
&lt;br /&gt;
 /tmp/cc4ahy85.o(.text+0x12): In function `main&#039;:&lt;br /&gt;
 main.cpp: undefined reference to `TeSystem::Start()&#039;&lt;br /&gt;
 /tmp/cc4ahy85.o(.text+0x22):main.cpp: undefined reference to `TeStartUp::Execute()&#039;&lt;br /&gt;
&lt;br /&gt;
Awesome, that&#039;s in system.hpp.  Sounds like time to build that makefile!  And I see in the meantime, John&#039;s checked in another round of changes, we&#039;re at big fat [10] now, whoop! :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
I am excited!  The changes I checked in last night include the &amp;quot;introduction movie&amp;quot; from the first campaign.  Right now I am completing mission one.  If you get the movie up and running on Linux that will be a HUGE milestone.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BTW, I hadn&#039;t planned on having any other developers on board, so the code is perhaps not quite up to my normal &amp;quot;team standards&amp;quot;.  I certainly have not taken any pains to &amp;quot;do the right thing&amp;quot; when the end results would be solely cosmetic.  So keep that in mind as you start to dig through the code :)&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take a peek at os.cpp, that is where I planned on putting any OS specific code.  Right now the only thing that could use implementing is a window centering routine.  And that is a very non-critical piece - cosmetic only.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1344</id>
		<title>Terminus Est</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1344"/>
		<updated>2006-03-21T21:58:11Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Terminus Est is John&#039;s awesome space shooter.  See [http://soloforge.com his Soloforge website].&lt;br /&gt;
&lt;br /&gt;
Mike is hoping to help John build Terminus under linux.  Here&#039;s John&#039;s &amp;quot;getting started&amp;quot; list...&lt;br /&gt;
&lt;br /&gt;
 There is some stuff in here on getting set up to build SDL apps with&lt;br /&gt;
 KDeveloper: http://gpwiki.org/index.php/SDL&lt;br /&gt;
 &lt;br /&gt;
 You will need SDL, plus the SDL_image and SDL_gfx support libs.  &lt;br /&gt;
 Available from: http://www.libsdl.org/index.php&lt;br /&gt;
 &lt;br /&gt;
 And the FMOD sound system from http://www.fmod.org.&lt;br /&gt;
&lt;br /&gt;
Typically I&#039;ll be using either Fedora or Gentoo during my porting effort.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FEDORA&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039; Install SDL and fmod:&lt;br /&gt;
&lt;br /&gt;
 yum install SDL-devel&lt;br /&gt;
 yum install SDL_gfx&lt;br /&gt;
 yum install SDL_gfx-devel&lt;br /&gt;
 yum install SDL_image&lt;br /&gt;
 yum install SDL_image-devel&lt;br /&gt;
 yum install fmod&lt;br /&gt;
 yum install fmod-devel&lt;br /&gt;
 &lt;br /&gt;
 Mar 19 22:42:01 Installed: SDL_gfx.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
 Mar 19 22:45:23 Installed: SDL_image.i386 1.2.4-1.2.fc4.rf&lt;br /&gt;
 Mar 19 23:11:05 Installed: fmod.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:22:26 Installed: fmod-devel.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:24:32 Installed: alsa-lib-devel.i386 1.0.10-27.rhfc4.at&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4 &lt;br /&gt;
 Mar 20 21:27:59 Installed: SDL_gfx-devel.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
&lt;br /&gt;
Mike&#039;s comments will occasionally be &amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;marked in orange&amp;lt;/span&amp;gt;, John&#039;s comments &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;in green&amp;lt;/span&amp;gt;, when we&#039;re not feeling lazy.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Huh.  Does that yum app go out and get the latest version too?  Slick.&lt;br /&gt;
I will get some source control up and running today.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&lt;br /&gt;
Yep it auto-updates everything to the latest stable versions, including tracking down dependencies.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039; Grab the source - John is using subversion - very l337!&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
   Mar 20 20:00:03 Installed: subversion.i386 1.2.3-2.1&lt;br /&gt;
 &lt;br /&gt;
 cd development&lt;br /&gt;
 mkdir terminus&lt;br /&gt;
 cd terminus&lt;br /&gt;
 svn checkout http://xxxxx/terminus/&lt;br /&gt;
&lt;br /&gt;
and there it is!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039; Build it&lt;br /&gt;
&lt;br /&gt;
sdl-config tells you what you need on the gcc command line:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --libs &lt;br /&gt;
 -L/usr/lib -lSDL -lpthread&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --static-libs&lt;br /&gt;
 -L/usr/lib -lSDL -lpthread -lm -ldl -lasound -L/usr/X11R6/lib -lX11 -lXext&lt;br /&gt;
&lt;br /&gt;
So let&#039;s try this:&lt;br /&gt;
&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs`&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what we got so far:&lt;br /&gt;
&lt;br /&gt;
  In file included from system.hpp:17,&lt;br /&gt;
                  from startup.hpp:8,&lt;br /&gt;
                  from main.cpp:8:&lt;br /&gt;
 util/audio.hpp:82: error: syntax error before `*&#039; token&lt;br /&gt;
 util/audio.hpp:145: error: `FMOD_SOUND&#039; was not declared in this scope&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:orange&amp;quot;&amp;gt;&lt;br /&gt;
Looks like the version of fmod that Fedora wants to pull down is old (3.74).  I believe we need to go with FMOD Ex 4 (4.03.03 as of this writing).  I will pull down the code from fmod.org and build a local version.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Hmmm... There are two versions of FMOD Ex, the C and the C++ version.  I had to use the C version because the C++ version is not compatable with Dev-C++ and MinGW.  Check and make sure that you have the C version of the lib installed too.&lt;br /&gt;
&lt;br /&gt;
FYI, here is my linker options:&lt;br /&gt;
&lt;br /&gt;
 -lmingw32 -lSDLmain -lSDL -mwindows&lt;br /&gt;
 ../../Dev-Cpp/lib/libSDL_image.a&lt;br /&gt;
 ../../Dev-Cpp/lib/libfmodex.a&lt;br /&gt;
 ../../Dev-Cpp/lib/libSDL_gfx.a&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Try this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Download the linux tar.gz from http://www.fmod.org&amp;lt;br&amp;gt;&lt;br /&gt;
Notice there is both a fmod.h and an fmod.hpp in the inc dir.&amp;lt;br&amp;gt;&lt;br /&gt;
Put into the compile path, the compiler should compile in the correct one (fmod.h) since that is what is in my files.&amp;lt;br&amp;gt;&lt;br /&gt;
There are two .03 files in the lib dir, is one of those the C version of the lib and the other the CPP?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:orange&amp;quot;&amp;gt;&lt;br /&gt;
OK I&#039;m getting to the bottom of this.  :&amp;gt;  Looks like FMOD Ex 4 is not open source.  The download includes pre-built libraries but no source code.  The &amp;quot;makefile&amp;quot; just copies the pre-built libraries into place.  I think that will be OK but I have to make sure I know what it&#039;s doing.  From the &amp;quot;makefile&amp;quot; script: &lt;br /&gt;
&lt;br /&gt;
 VERSION    = 4.03.03&lt;br /&gt;
 LIBDIR     = api/lib&lt;br /&gt;
 HDRDIR     = api/inc&lt;br /&gt;
 DESTLIBDIR = /usr/local/lib&lt;br /&gt;
 DESTHDRDIR = /usr/local/include/fmodex&lt;br /&gt;
&lt;br /&gt;
I am going to uninstall Fedora&#039;s fmod 3.74 then try the makefile.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
FMOD is the one &amp;quot;pay for&amp;quot; piece to the game.  The built-in SDL sound libs were problomatic.  That, and FMOD allows me to use a compressed XM file format that will save me about 5M off my downloadable size.  I think that I will pay about $100 per OS license, once for Win, once for Mac, and once for Linux.  To me, it was a close call, borderline, but in the end I deemed it worth it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1342</id>
		<title>Terminus Est</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1342"/>
		<updated>2006-03-21T19:15:50Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Terminus Est is John&#039;s awesome space shooter.  See [http://soloforge.com his Soloforge website].&lt;br /&gt;
&lt;br /&gt;
Mike is hoping to help John build Terminus under linux.  Here&#039;s John&#039;s &amp;quot;getting started&amp;quot; list...&lt;br /&gt;
&lt;br /&gt;
 There is some stuff in here on getting set up to build SDL apps with&lt;br /&gt;
 KDeveloper: http://gpwiki.org/index.php/SDL&lt;br /&gt;
 &lt;br /&gt;
 You will need SDL, plus the SDL_image and SDL_gfx support libs.  &lt;br /&gt;
 Available from: http://www.libsdl.org/index.php&lt;br /&gt;
 &lt;br /&gt;
 And the FMOD sound system from http://www.fmod.org.&lt;br /&gt;
&lt;br /&gt;
Typically I&#039;ll be using either Fedora or Gentoo during my porting effort.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FEDORA&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039; Install SDL and fmod:&lt;br /&gt;
&lt;br /&gt;
 yum install SDL-devel&lt;br /&gt;
 yum install SDL_gfx&lt;br /&gt;
 yum install SDL_gfx-devel&lt;br /&gt;
 yum install SDL_image&lt;br /&gt;
 yum install SDL_image-devel&lt;br /&gt;
 yum install fmod&lt;br /&gt;
 yum install fmod-devel&lt;br /&gt;
 &lt;br /&gt;
 Mar 19 22:42:01 Installed: SDL_gfx.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
 Mar 19 22:45:23 Installed: SDL_image.i386 1.2.4-1.2.fc4.rf&lt;br /&gt;
 Mar 19 23:11:05 Installed: fmod.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:22:26 Installed: fmod-devel.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:24:32 Installed: alsa-lib-devel.i386 1.0.10-27.rhfc4.at&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4 &lt;br /&gt;
 Mar 20 21:27:59 Installed: SDL_gfx-devel.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
&lt;br /&gt;
Mike&#039;s comments will occasionally be &amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;marked in orange&amp;lt;/span&amp;gt;, John&#039;s comments &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;in green&amp;lt;/span&amp;gt;, when we&#039;re not feeling lazy.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Huh.  Does that yum app go out and get the latest version too?  Slick.&lt;br /&gt;
I will get some source control up and running today.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&lt;br /&gt;
Yep it auto-updates everything to the latest stable versions, including tracking down dependencies.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039; Grab the source - John is using subversion - very l337!&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
   Mar 20 20:00:03 Installed: subversion.i386 1.2.3-2.1&lt;br /&gt;
 &lt;br /&gt;
 cd development&lt;br /&gt;
 mkdir terminus&lt;br /&gt;
 cd terminus&lt;br /&gt;
 svn checkout http://xxxxx/terminus/&lt;br /&gt;
&lt;br /&gt;
and there it is!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039; Build it&lt;br /&gt;
&lt;br /&gt;
sdl-config tells you what you need on the gcc command line:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --libs &lt;br /&gt;
 -L/usr/lib -lSDL -lpthread&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --static-libs&lt;br /&gt;
 -L/usr/lib -lSDL -lpthread -lm -ldl -lasound -L/usr/X11R6/lib -lX11 -lXext&lt;br /&gt;
&lt;br /&gt;
So let&#039;s try this:&lt;br /&gt;
&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs`&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what we got so far:&lt;br /&gt;
&lt;br /&gt;
  In file included from system.hpp:17,&lt;br /&gt;
                  from startup.hpp:8,&lt;br /&gt;
                  from main.cpp:8:&lt;br /&gt;
 util/audio.hpp:82: error: syntax error before `*&#039; token&lt;br /&gt;
 util/audio.hpp:145: error: `FMOD_SOUND&#039; was not declared in this scope&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:orange&amp;quot;&amp;gt;&lt;br /&gt;
I looked at /usr/include/fmod/fmod.h and it looks like FMOD_SOUND has been replaced with FSOUND_SAMPLE?  I could be wrong.  I tried s/r and I&#039;m getting errors on other FMOD_* defines.  Time to do some research on fmod versions...&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Hmmm... There are two versions of FMOD Ex, the C and the C++ version.  I had to use the C version because the C++ version is not compatable with Dev-C++ and MinGW.  Check and make sure that you have the C version of the lib installed too.&lt;br /&gt;
&lt;br /&gt;
FYI, here is my linker options:&lt;br /&gt;
&lt;br /&gt;
-lmingw32 -lSDLmain -lSDL -mwindows&lt;br /&gt;
../../Dev-Cpp/lib/libSDL_image.a&lt;br /&gt;
../../Dev-Cpp/lib/libfmodex.a&lt;br /&gt;
../../Dev-Cpp/lib/libSDL_gfx.a&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:orange&amp;quot;&amp;gt;Yep, you are right, I grabbed the fmod linux source and FMOD_SOUND is all over.  I will compile and link it in myself.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Try this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Download the linux tar.gz from http://www.fmod.org&amp;lt;br&amp;gt;&lt;br /&gt;
Notice there is both a fmod.h and an fmod.hpp in the inc dir.&amp;lt;br&amp;gt;&lt;br /&gt;
Put into the compile path, the compiler should compile in the correct one (fmod.h) since that is what is in my files.&amp;lt;br&amp;gt;&lt;br /&gt;
There are two .03 files in the lib dir, is one of those the C version of the lib and the other the CPP?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1334</id>
		<title>Terminus Est</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1334"/>
		<updated>2006-03-21T18:24:21Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Terminus Est is John&#039;s awesome space shooter.  See [http://soloforge.com his Soloforge website].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;Mike&#039;s comments will occasionally be marked in orange&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;John&#039;s comments in green&amp;lt;/span&amp;gt;, when we&#039;re not feeling lazy.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;&lt;br /&gt;
I am hoping to help him build it under linux.  Here&#039;s John&#039;s &amp;quot;getting started&amp;quot; list...&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 There is some stuff in here on getting set up to build SDL apps with&lt;br /&gt;
 KDeveloper: http://gpwiki.org/index.php/SDL&lt;br /&gt;
 &lt;br /&gt;
 You will need SDL, plus the SDL_image and SDL_gfx support libs.  &lt;br /&gt;
 Available from: http://www.libsdl.org/index.php&lt;br /&gt;
 &lt;br /&gt;
 And the FMOD sound system from http://www.fmod.org.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Typically I&#039;ll be using either Fedora or Gentoo during my porting effort.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FEDORA&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039; Install SDL and fmod:&lt;br /&gt;
&lt;br /&gt;
 yum install SDL-devel&lt;br /&gt;
 yum install SDL_gfx&lt;br /&gt;
 yum install SDL_gfx-devel&lt;br /&gt;
 yum install SDL_image&lt;br /&gt;
 yum install SDL_image-devel&lt;br /&gt;
 yum install fmod&lt;br /&gt;
 yum install fmod-devel&lt;br /&gt;
 &lt;br /&gt;
 Mar 19 22:42:01 Installed: SDL_gfx.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
 Mar 19 22:45:23 Installed: SDL_image.i386 1.2.4-1.2.fc4.rf&lt;br /&gt;
 Mar 19 23:11:05 Installed: fmod.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:22:26 Installed: fmod-devel.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:24:32 Installed: alsa-lib-devel.i386 1.0.10-27.rhfc4.at&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4 &lt;br /&gt;
 Mar 20 21:27:59 Installed: SDL_gfx-devel.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
&lt;br /&gt;
J: Huh.  Does that yum app go out and get the latest version too?  Slick.&lt;br /&gt;
I will get some source control up and running today.&lt;br /&gt;
&lt;br /&gt;
M: yep it auto-updates everything to the latest stable versions, including tracking down dependencies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039; Grab the source - John is using subversion - very l337!&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
   Mar 20 20:00:03 Installed: subversion.i386 1.2.3-2.1&lt;br /&gt;
 &lt;br /&gt;
 cd development&lt;br /&gt;
 mkdir terminus&lt;br /&gt;
 cd terminus&lt;br /&gt;
 svn checkout http://xxxxx/terminus/&lt;br /&gt;
&lt;br /&gt;
and there it is!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039; Build it&lt;br /&gt;
&lt;br /&gt;
sdl-config tells you what you need on the gcc command line:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --libs &lt;br /&gt;
 -L/usr/lib -lSDL -lpthread&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --static-libs&lt;br /&gt;
 -L/usr/lib -lSDL -lpthread -lm -ldl -lasound -L/usr/X11R6/lib -lX11 -lXext&lt;br /&gt;
&lt;br /&gt;
So let&#039;s try this:&lt;br /&gt;
&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs`&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what we got so far:&lt;br /&gt;
&lt;br /&gt;
  In file included from system.hpp:17,&lt;br /&gt;
                  from startup.hpp:8,&lt;br /&gt;
                  from main.cpp:8:&lt;br /&gt;
 util/audio.hpp:82: error: syntax error before `*&#039; token&lt;br /&gt;
 util/audio.hpp:145: error: `FMOD_SOUND&#039; was not declared in this scope&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
I looked at /usr/include/fmod/fmod.h and it looks like FMOD_SOUND has been replaced with FSOUND_SAMPLE?  I could be wrong.  I tried s/r and I&#039;m getting errors on other FMOD_* defines.  Time to do some research on fmod versions...&lt;br /&gt;
&lt;br /&gt;
Hmmm... There are two versions of FMOD Ex, the C and the C++ version.  I had to use the C version because the C++ version is not compatable with Dev-C++ and MinGW.  Check and make sure that you have the C version of the lib installed too.&lt;br /&gt;
&lt;br /&gt;
FYI, here is my linker options:&lt;br /&gt;
&lt;br /&gt;
-lmingw32 -lSDLmain -lSDL -mwindows&lt;br /&gt;
../../Dev-Cpp/lib/libSDL_image.a&lt;br /&gt;
../../Dev-Cpp/lib/libfmodex.a&lt;br /&gt;
../../Dev-Cpp/lib/libSDL_gfx.a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* test of email on changes *&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;( did it work?  :&amp;gt; )&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;( For your edit, not mine, which makes sense.  You should get an email for this one :-) )&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1332</id>
		<title>Terminus Est</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1332"/>
		<updated>2006-03-21T15:52:25Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Terminus Est is John&#039;s awesome space shooter.  See [http://soloforge.com his Soloforge website].&lt;br /&gt;
&lt;br /&gt;
I am hoping to help him build it under linux.  Here&#039;s John&#039;s &amp;quot;getting started&amp;quot; list...&lt;br /&gt;
&lt;br /&gt;
 There is some stuff in here on getting set up to build SDL apps with&lt;br /&gt;
 KDeveloper: http://gpwiki.org/index.php/SDL&lt;br /&gt;
 &lt;br /&gt;
 You will need SDL, plus the SDL_image and SDL_gfx support libs.  &lt;br /&gt;
 Available from: http://www.libsdl.org/index.php&lt;br /&gt;
 &lt;br /&gt;
 And the FMOD sound system from http://www.fmod.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Typically I&#039;ll be using either Fedora or Gentoo during my porting effort.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FEDORA&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039; Install SDL and fmod:&lt;br /&gt;
&lt;br /&gt;
 yum install SDL-devel&lt;br /&gt;
 yum install SDL_gfx&lt;br /&gt;
 yum install SDL_gfx-devel&lt;br /&gt;
 yum install SDL_image&lt;br /&gt;
 yum install SDL_image-devel&lt;br /&gt;
 yum install fmod&lt;br /&gt;
 yum install fmod-devel&lt;br /&gt;
 &lt;br /&gt;
 Mar 19 22:42:01 Installed: SDL_gfx.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
 Mar 19 22:45:23 Installed: SDL_image.i386 1.2.4-1.2.fc4.rf&lt;br /&gt;
 Mar 19 23:11:05 Installed: fmod.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:22:26 Installed: fmod-devel.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:24:32 Installed: alsa-lib-devel.i386 1.0.10-27.rhfc4.at&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4 &lt;br /&gt;
 Mar 20 21:27:59 Installed: SDL_gfx-devel.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
&lt;br /&gt;
J: Huh.  Does that yum app go out and get the latest version too?  Slick.&lt;br /&gt;
I will get some source control up and running today.&lt;br /&gt;
&lt;br /&gt;
M: yep it auto-updates everything to the latest stable versions, including tracking down dependencies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039; Grab the source - John is using subversion - very l337!&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
   Mar 20 20:00:03 Installed: subversion.i386 1.2.3-2.1&lt;br /&gt;
 &lt;br /&gt;
 cd development&lt;br /&gt;
 mkdir terminus&lt;br /&gt;
 cd terminus&lt;br /&gt;
 svn checkout http://xxxxx/terminus/&lt;br /&gt;
&lt;br /&gt;
and there it is!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039; Build it&lt;br /&gt;
&lt;br /&gt;
sdl-config tells you what you need on the gcc command line:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --libs &lt;br /&gt;
 -L/usr/lib -lSDL -lpthread&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --static-libs&lt;br /&gt;
 -L/usr/lib -lSDL -lpthread -lm -ldl -lasound -L/usr/X11R6/lib -lX11 -lXext&lt;br /&gt;
&lt;br /&gt;
So let&#039;s try this:&lt;br /&gt;
&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs`&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what we got so far:&lt;br /&gt;
&lt;br /&gt;
  In file included from system.hpp:17,&lt;br /&gt;
                  from startup.hpp:8,&lt;br /&gt;
                  from main.cpp:8:&lt;br /&gt;
 util/audio.hpp:82: error: syntax error before `*&#039; token&lt;br /&gt;
 util/audio.hpp:145: error: `FMOD_SOUND&#039; was not declared in this scope&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
I looked at /usr/include/fmod/fmod.h and it looks like FMOD_SOUND has been replaced with FSOUND_SAMPLE?  I could be wrong.  I tried s/r and I&#039;m getting errors on other FMOD_* defines.  Time to do some research on fmod versions...&lt;br /&gt;
&lt;br /&gt;
Hmmm... There are two versions of FMOD Ex, the C and the C++ version.  I had to use the C version because the C++ version is not compatable with Dev-C++ and MinGW.  Check and make sure that you have the C version of the lib installed too.&lt;br /&gt;
&lt;br /&gt;
FYI, here is my linker options:&lt;br /&gt;
&lt;br /&gt;
-lmingw32 -lSDLmain -lSDL -mwindows&lt;br /&gt;
../../Dev-Cpp/lib/libSDL_image.a&lt;br /&gt;
../../Dev-Cpp/lib/libfmodex.a&lt;br /&gt;
../../Dev-Cpp/lib/libSDL_gfx.a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* test of email on changes *&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1331</id>
		<title>Terminus Est</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1331"/>
		<updated>2006-03-21T12:54:56Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Terminus Est is John&#039;s awesome space shooter.  See [http://soloforge.com his Soloforge website].&lt;br /&gt;
&lt;br /&gt;
I am hoping to help him build it under linux.  Here&#039;s John&#039;s &amp;quot;getting started&amp;quot; list...&lt;br /&gt;
&lt;br /&gt;
 There is some stuff in here on getting set up to build SDL apps with&lt;br /&gt;
 KDeveloper: http://gpwiki.org/index.php/SDL&lt;br /&gt;
 &lt;br /&gt;
 You will need SDL, plus the SDL_image and SDL_gfx support libs.  &lt;br /&gt;
 Available from: http://www.libsdl.org/index.php&lt;br /&gt;
 &lt;br /&gt;
 And the FMOD sound system from http://www.fmod.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Typically I&#039;ll be using either Fedora or Gentoo during my porting effort.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FEDORA&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;&#039;&#039; Install SDL and fmod:&lt;br /&gt;
&lt;br /&gt;
 yum install SDL-devel&lt;br /&gt;
 yum install SDL_gfx&lt;br /&gt;
 yum install SDL_gfx-devel&lt;br /&gt;
 yum install SDL_image&lt;br /&gt;
 yum install SDL_image-devel&lt;br /&gt;
 yum install fmod&lt;br /&gt;
 yum install fmod-devel&lt;br /&gt;
 &lt;br /&gt;
 Mar 19 22:42:01 Installed: SDL_gfx.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
 Mar 19 22:45:23 Installed: SDL_image.i386 1.2.4-1.2.fc4.rf&lt;br /&gt;
 Mar 19 23:11:05 Installed: fmod.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:22:26 Installed: fmod-devel.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:24:32 Installed: alsa-lib-devel.i386 1.0.10-27.rhfc4.at&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4 &lt;br /&gt;
 Mar 20 21:27:59 Installed: SDL_gfx-devel.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
&lt;br /&gt;
J: Huh.  Does that yum app go out and get the latest version too?  Slick.&lt;br /&gt;
I will get some source control up and running today.&lt;br /&gt;
&lt;br /&gt;
M: yep it auto-updates everything to the latest stable versions, including tracking down dependencies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;&#039;&#039; Grab the source - John is using subversion - very l337!&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
   Mar 20 20:00:03 Installed: subversion.i386 1.2.3-2.1&lt;br /&gt;
 &lt;br /&gt;
 cd development&lt;br /&gt;
 mkdir terminus&lt;br /&gt;
 cd terminus&lt;br /&gt;
 svn checkout http://xxxxx/terminus/&lt;br /&gt;
&lt;br /&gt;
and there it is!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;&#039;&#039; Build it&lt;br /&gt;
&lt;br /&gt;
sdl-config tells you what you need on the gcc command line:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --libs &lt;br /&gt;
 -L/usr/lib -lSDL -lpthread&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --static-libs&lt;br /&gt;
 -L/usr/lib -lSDL -lpthread -lm -ldl -lasound -L/usr/X11R6/lib -lX11 -lXext&lt;br /&gt;
&lt;br /&gt;
So let&#039;s try this:&lt;br /&gt;
&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs`&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what we got so far:&lt;br /&gt;
&lt;br /&gt;
  In file included from system.hpp:17,&lt;br /&gt;
                  from startup.hpp:8,&lt;br /&gt;
                  from main.cpp:8:&lt;br /&gt;
 util/audio.hpp:82: error: syntax error before `*&#039; token&lt;br /&gt;
 util/audio.hpp:145: error: `FMOD_SOUND&#039; was not declared in this scope&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
I looked at /usr/include/fmod/fmod.h and it looks like FMOD_SOUND has been replaced with FSOUND_SAMPLE?  I could be wrong.  I tried s/r and I&#039;m getting errors on other FMOD_* defines.  Time to do some research on fmod versions...&lt;br /&gt;
&lt;br /&gt;
Hmmm... There are two versions of FMOD Ex, the C and the C++ version.  I had to use the C version because the C++ version is not compatable with Dev-C++ and MinGW.  Check and make sure that you have the C version of the lib installed too.&lt;br /&gt;
&lt;br /&gt;
FYI, here is my linker options:&lt;br /&gt;
&lt;br /&gt;
-lmingw32 -lSDLmain -lSDL -mwindows&lt;br /&gt;
../../Dev-Cpp/lib/libSDL_image.a&lt;br /&gt;
../../Dev-Cpp/lib/libfmodex.a&lt;br /&gt;
../../Dev-Cpp/lib/libSDL_gfx.a&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1322</id>
		<title>Terminus Est</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_Est&amp;diff=1322"/>
		<updated>2006-03-20T12:19:31Z</updated>

		<summary type="html">&lt;p&gt;SquidBoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Terminus Est is John&#039;s awesome space shooter.  See [http://soloforge.com his Soloforge website].&lt;br /&gt;
&lt;br /&gt;
I am hoping to help him build it under linux.  Here&#039;s John&#039;s &amp;quot;getting started&amp;quot; list...&lt;br /&gt;
&lt;br /&gt;
 There is some stuff in here on getting set up to build SDL apps with&lt;br /&gt;
 KDeveloper: http://gpwiki.org/index.php/SDL&lt;br /&gt;
 &lt;br /&gt;
 You will need SDL, plus the SDL_image and SDL_gfx support libs.  &lt;br /&gt;
 Available from: http://www.libsdl.org/index.php&lt;br /&gt;
 &lt;br /&gt;
 And the FMOD sound system from http://www.fmod.org.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Typically I&#039;ll be using either Fedora or Gentoo during my porting effort.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FEDORA&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1 Install SDL and fmod, so easy!!&lt;br /&gt;
&lt;br /&gt;
 yum install SDL_gfx&lt;br /&gt;
 yum install SDL_image&lt;br /&gt;
 yum install fmod&lt;br /&gt;
 &lt;br /&gt;
 Mar 19 22:42:01 Installed: SDL_gfx.i386 2.0.13-2.2.fc4.rf &lt;br /&gt;
 Mar 19 22:45:23 Installed: SDL_image.i386 1.2.4-1.2.fc4.rf&lt;br /&gt;
 Mar 19 23:11:05 Installed: fmod.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
&lt;br /&gt;
Huh.  Does that yum app go out and get the latest version too?  Slick.&lt;br /&gt;
I will get some source control up and running today.&lt;/div&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
</feed>