Author Topic: 0.3 branch  (Read 5218 times)

hailstone

  • Local Moderator
  • Battle Machine
  • ********
  • Posts: 1,568
    • View Profile
0.3 branch
« on: 16 January 2009, 09:20:27 »
I've downloaded and compiled the 0.3 branch. Is it meant to be able to use shortcut keys, such as escape for exiting?

I also tried using a 0.2 branch binary and it wouldn't load because the glestadv.ini had been modified and was no longer correct. I just replaced it with an older version to fix it.
« Last Edit: 16 January 2009, 09:26:14 by hailstone »
Glest Advanced Engine - Admin/Programmer
https://sourceforge.net/projects/glestae/

daniel.santos

  • Guest
Re: 0.3 branch
« Reply #1 on: 22 January 2009, 19:20:31 »
Yea, the 0.3 branch should have all of the new hotkey and keymap.ini functionality.  Bare in mind that the escape key will first unselect your current selection.  If you don't have any units selected, then it will bring up the "Exit Game" dialogue box -- this is a change from the original Glest engine, I like to be able to use escape to deselect, but maybe that's a bad idea.

Are you able to get 0.3 compiled on windows?  Sorry I was out for most of the last week.

hailstone

  • Local Moderator
  • Battle Machine
  • ********
  • Posts: 1,568
    • View Profile
Re: 0.3 branch
« Reply #2 on: 23 January 2009, 01:17:25 »
It compiles on Windows. The exit dialog appears now. I don't know what was happening before. It crashes when I go to exit the game though. Something to do with gamesettings - might be what you were saying before.

Some games use F10 instead of escape for the menu.
Glest Advanced Engine - Admin/Programmer
https://sourceforge.net/projects/glestae/

titi

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 4,240
    • View Profile
    • http://www.titusgames.de
Re: 0.3 branch
« Reply #3 on: 23 January 2009, 12:21:31 »
I dont like the idea to change the escape key function.
Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios

ZaggyDad

  • Guest
Re: 0.3 branch
« Reply #4 on: 30 January 2009, 04:24:42 »
It compiles on Windows. The exit dialog appears now. I don't know what was happening before. It crashes when I go to exit the game though. Something to do with gamesettings - might be what you were saying before.

Some games use F10 instead of escape for the menu.

Hey, could you post 0.3.0? *has been longing to try it out for a while, but couldn't compile it*

daniel.santos

  • Guest
Re: 0.3 branch
« Reply #5 on: 30 January 2009, 19:23:58 »
Well, 0.3.0 is a long way from being ready, sorry. :(  For one, I've spent most my effort on 0.2.x trying to get multiplayer 100% working.  Thanks to titi & sons for all the help there! :)  I suppose it wouldn't hurt to make a list of out aims for 0.3.0 however.  Briefly, it includes locally stored resources, an astral travel/mothership type of skill (where a unit can emerge from a mother unit), implementation of multiple planes of visibility (for FPM, it will introduce the astral plane of visibility, but it's a generic concept that will also support concepts "radar" that can see certain units in the distance, although not the landscape, etc.) and the initial new GUI library integration (w00t!!).  It's may also  include something similar to "Influence" (see https://bugs.codemonger.org/show_bug.cgi?id=71) allowing effects to add, remove and modify the available skills and commands that a unit has.  The way this differs from current effects that can modify the damage (which effects all damage skills) is that it can specify which skills or commands it modifies explicitly and modify attributes of those skills as well as availability of both skills and commands (so can add an entirely new skill & command to a unit that didn't have it prior) -- there are a multitude of reasons for this that I wont get into for now. :)  But that's just a summary, I should put together a more precise list.

I dont like the idea to change the escape key function.
Thanks for the feedback.  I was a bit concerned about modifying it actually.  Maybe I can make "deselect" a mappable command like everything else and figure out a more suitable default key for it.  There are just times when I want to make sure I don't have anything selected, I guess I'll figure that out.

gameboy

  • Guest
Re: 0.3 branch
« Reply #6 on: 1 February 2009, 11:53:47 »
What about Air to Land morphing, it doesn't work at the moment.

modman

  • Guest
Re: 0.3 branch
« Reply #7 on: 1 February 2009, 20:39:36 »
That actually was a major bug, because at the time I had it, the Witch was supposed to morph into a Flying Witch (Renamed and designed into the Imp), and the Flying Witch was always land instead of air!  Annoying.

daniel.santos

  • Guest
Re: 0.3 branch
« Reply #8 on: 15 February 2009, 10:40:06 »
dunno, is there a bug opened for this yet?  ;)  :P  ;)

IF You open a bug, I'll try to make sure it gets into 0.3.0 :)

modman

  • Guest
Re: 0.3 branch
« Reply #9 on: 17 February 2009, 01:30:59 »
Awesome!

hailstone

  • Local Moderator
  • Battle Machine
  • ********
  • Posts: 1,568
    • View Profile
Re: 0.3 branch
« Reply #10 on: 8 April 2009, 09:06:54 »
Just curious if the latest 0.3 branch is meant to be playable?
Glest Advanced Engine - Admin/Programmer
https://sourceforge.net/projects/glestae/

daniel.santos

  • Guest
Re: 0.3 branch
« Reply #11 on: 11 April 2009, 00:50:35 »
I can't remember to be honest! :)  I didn't play on spending this much time on the networking and I haven't played with 0.3 in a little while.

However, (off topic) I have checked in my most recent changes for 0.2.  This is going to require Boost and CPPUnit and I haven't integrated that stuff into the configure.ac yet.  I'm having a LOT of problems getting the build system to do what I want, you have to specify the build target explicitly right now to prevent it from building all files under source/game twice! :(  The Boost thing is very helpful, but the only parts of it I'm using right now are shared_ptr and BOOST_FOREACH.  We can optionally use tr1 instead, but that requires a pretty recent version of msvc++ (2008 Express Edition + their "Feature Pack", but I haven't tested that yet).  So I figured it couldn't be too much of a gamble to use Boost for now.  The executable bloated horribly, but that may be due to something I'm doing wrong in the build setup.

bork

  • Guest
Re: 0.3 branch
« Reply #12 on: 11 April 2009, 20:53:26 »
I can't remember to be honest! :)  I didn't play on spending this much time on the networking and I haven't played with 0.3 in a little while.

However, (off topic) I have checked in my most recent changes for 0.2.  This is going to require Boost and CPPUnit and I haven't integrated that stuff into the configure.ac yet.  I'm having a LOT of problems getting the build system to do what I want, you have to specify the build target explicitly right now to prevent it from building all files under source/game twice! :(

That (a bit more offtopic, if you don't mind) should not be a big problem, if I understand it right the only thing you should do is extract all game stuff into the library, which will be linked with main.cpp for the game itself and with testing code. I've actually tried this and have a patch for Jamfile if you interested. I didn't work with jam before so it might be not ideal, but should let you build without conflicts between game and tests. I've also patched jam files and source code to be able to use precompiled headers on linux and added all (that I found) external headers used to pch.h, so here these patches also.

All patches are for gae/branches/0.2.x, r303 code base.

precompiled-header-for-shared-lib.patch
Code: [Select]
diff -r ecee57ea4557 source/shared_lib/include/pch.h
--- a/source/shared_lib/include/pch.h Sat Apr 11 18:27:13 2009 +0400
+++ b/source/shared_lib/include/pch.h Sat Apr 11 21:14:26 2009 +0400
@@ -33,7 +33,6 @@
  #endif
 
  #include <windows.h>
- //#include <io.h>
 
 #else
  #include <unistd.h>
@@ -51,28 +50,32 @@
 #include <math.h>
 #include <time.h>
 
+// boost
+#include <boost/foreach.hpp>
+#include <boost/shared_ptr.hpp>
 
-// lib c++ & stl
-#include <cstdlib>
+// c++ standard library
+#include <algorithm>
 #include <cassert>
 #include <cctype>
 #include <cmath>
-#include <cstring>
 #include <cstddef>
 #include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <ctime>
 #include <deque>
+#include <exception>
 #include <fstream>
-#include <algorithm>
-#include <vector>
+#include <iostream>
 #include <list>
 #include <map>
-#include <deque>
-#include <string>
-#include <cassert>
-#include <iostream>
+#include <ostream>
 #include <sstream>
 #include <stdexcept>
-#include <ctime>
+#include <string>
+#include <string.h>
+#include <vector>
 
 // will this fly on windoze?
 #include <sys/types.h>
@@ -85,16 +88,17 @@
  #include <arpa/inet.h>
  #include <netdb.h>
  #include <fcntl.h>
-// #include <sys/filio.h>
  #include <sys/ioctl.h>
 
 #endif
 
 #ifdef USE_SDL
  #include <SDL.h>
+ #define GL_GLEXT_PROTOTYPES
  #include <SDL_opengl.h>
  #include <SDL_thread.h>
  #include <SDL_mutex.h>
+ #include <execinfo.h>
  #include <glob.h>
  #include <AL/al.h>
  #include <AL/alc.h>
@@ -110,7 +114,6 @@
 #if !(defined(WIN32) || defined(WIN64))
  #include <GL/glx.h>
 #endif
-
 
 // vorbis
 #include <vorbis/codec.h>
@@ -128,6 +131,7 @@
  #include <glprocs.h>
  #include <winsock.h>
  #include <dsound.h>
+ #include <io.h>
 #endif
 
 #endif // USE_PCH
diff -r ecee57ea4557 source/shared_lib/sources/util/simple_data_buffer.cpp
--- a/source/shared_lib/sources/util/simple_data_buffer.cpp Sat Apr 11 18:27:13 2009 +0400
+++ b/source/shared_lib/sources/util/simple_data_buffer.cpp Sat Apr 11 21:14:26 2009 +0400
@@ -245,7 +245,7 @@ void SimpleDataBuffer::uudecodeUncompres
  if(actualSize != expectedSize) {
  throw runtime_error("Error extracting uuencoded data from xml.  Expected "
  + Conversion::toStr(expectedSize) + " bytes of uncompressed data, but actual size was "
- + Conversion::toStr(actualSize));
+ + Conversion::toStr(static_cast<uint64>(actualSize)));
  }
 
  resize(expectedSize);

precompiled-header-for-glestadv.patch
Code: [Select]
diff -r 5b6d48f36be5 mk/linux/Jamfile
--- a/mk/linux/Jamfile Sat Apr 11 21:42:05 2009 +0400
+++ b/mk/linux/Jamfile Sat Apr 11 22:17:54 2009 +0400
@@ -59,7 +59,7 @@ for i in $(GAME_DIRS) {
 
 if $(USE_PCH) = "yes" {
  GLEST_PCH = pch.h ;
-# CPPFLAGS += -DUSE_PCH=1 [ CreateIncludeFlags $(LOCATE_TARGET)/include ] ;
+ CPPFLAGS += -DUSE_PCH=1 [ CreateIncludeFlags $(LOCATE_TARGET) ] ;
 }
 
 Application glestadv : $(GAME_SOURCES) : : $(GLEST_PCH) ;
diff -r 5b6d48f36be5 mk/linux/mk/jam/application.jam
--- a/mk/linux/mk/jam/application.jam Sat Apr 11 21:42:05 2009 +0400
+++ b/mk/linux/mk/jam/application.jam Sat Apr 11 22:17:54 2009 +0400
@@ -74,9 +74,17 @@ rule Application
         Depends install_bin : $($(<)_INSTALLTARGET) ;
     }
 
+ local app_objects ;
+
+ for i in $(objects) {
+ if [ MATCH (\.o) : $(i) ] {
+     app_objects += $(i) ;
+   }
+ }
+
     # Link
     MakeLocate $(target) : $(LOCATE_TARGETS) ;
-    SystemLinkApplication $(<) : $(objects) : $(3) ;
+    SystemLinkApplication $(<) : $(app_objects) : $(3) ;
 
     # Import default flags
     CppFlags $(<) : $(APPLICTION_CPPFLAGS) ;
diff -r 5b6d48f36be5 source/game/global/core_data.cpp
--- a/source/game/global/core_data.cpp Sat Apr 11 21:42:05 2009 +0400
+++ b/source/game/global/core_data.cpp Sat Apr 11 22:17:54 2009 +0400
@@ -26,6 +26,8 @@ using namespace Shared::Util;
 using namespace Shared::Util;
 
 namespace Game {
+
+using Shared::Graphics::Font;
 
 // =====================================================
 //  class CoreData
diff -r 5b6d48f36be5 source/game/gui/keymap.h
--- a/source/game/gui/keymap.h Sat Apr 11 21:42:05 2009 +0400
+++ b/source/game/gui/keymap.h Sat Apr 11 22:17:54 2009 +0400
@@ -20,9 +20,10 @@ using Shared::Util::Properties;
 using Shared::Util::Properties;
 using namespace Shared::Platform;
 using Shared::Platform::Key;
-using Shared::Platform::KeyCode;
 
 namespace Game {
+
+using Shared::Platform::KeyCode;
 
 // =====================================================
 // class Keymap
@@ -110,7 +111,7 @@ public:
 
 #pragma pack(pop)
 
- /**
+ /**
  * A single key map entry specifying a KeyCode and a set of modifiers.  Modifiers use the values
  * of the BasicKeyModifier enum as bit masks for each modifier key.
  */
@@ -132,18 +133,18 @@ public:
  bool operator ==(const Entry &arg) const {
  return key == arg.key && mod == arg.mod;
  }
-
+
  bool matches(KeyCode key, int mod) const {
  return this->key == key && this->mod == mod;
  }
-
+
  KeyCode getKey() const {return key;}
  int getMod() const {return mod;}
  void clear() {key = keyNone; mod = bkmNone;}
  void init(const string &str);
  string toString() const;
  };
-
+
  class EntryPair {
  Entry a;
  Entry b;
@@ -158,7 +159,7 @@ public:
  bool matches(KeyCode keyCode, int mod) const {
  return a.matches(keyCode, mod) || b.matches(keyCode, mod);
  }
-
+
  const Entry &getA() const {return a;}
  const Entry &getB() const {return b;}
  void clear() {a.clear(); b.clear();}
@@ -185,7 +186,7 @@ public:
  }
  return entries[cmd].matches(keyCode, getCurrentMods());
  }
-
+
  UserCommand getCommand(Key key) const {
  KeyCode keyCode = key.getCode();
  if(keyCode > keyUnknown) {
@@ -195,14 +196,14 @@ public:
  }
  return ucNone;
  }
-
+
  int getCurrentMods() const {
  return   (input.isShiftDown() ? bkmShift : 0)
  | (input.isCtrlDown() ? bkmCtrl : 0)
  | (input.isAltDown() ? bkmAlt : 0)
  | (input.isMetaDown() ? bkmMeta : 0);
  }
-
+
  static const char* getCommandName(UserCommand cmd) {
  assert(cmd >= 0 && cmd < ucCount);
  return commandInfo[cmd].name;
diff -r 5b6d48f36be5 source/game/network/network_message.cpp
--- a/source/game/network/network_message.cpp Sat Apr 11 21:42:05 2009 +0400
+++ b/source/game/network/network_message.cpp Sat Apr 11 22:17:54 2009 +0400
@@ -354,7 +354,8 @@ void NetworkWriteableXmlDoc::read(Networ
  free(data);
  data = NULL;
  throw runtime_error(string("Decompressed data in xml document not the specified size. Should be ")
- + Conversion::toStr(size) + " bytes but it's " + Conversion::toStr(destLen));
+ + Conversion::toStr(size) + " bytes but it's "
+ + Conversion::toStr(static_cast<uint64>(destLen)));
  }
 
  // data is now uncompressed
@@ -577,7 +578,7 @@ NetworkPlayerStatus::NetworkPlayerStatus
  : connections(node.getChildIntValue("connections"))
  , data(node.getChildIntValue("data"))
  , frame(!hasFrame() ? 0 : node.getChildIntValue("frame"))
- , targetFrame(!hasTargetFrame() ? 0 : node.getChildIntValue("targetFrame")) {
+ , targetFrame(!hasTargetFrame() ? 0 : node.getChildIntValue("targetFrame")) {
 }
 
 NetworkPlayerStatus::~NetworkPlayerStatus() {
@@ -841,14 +842,14 @@ NetworkMessageGameInfo::NetworkMessageGa
  players.push_back(PlayerStatusAndInfo(new NetworkPlayerStatus(peer), peer.getPlayer().clone()));
  }
  }
-
+
  XmlNode &playersNode = *root.addChild("players");
  for(int i = 0; i < players.size(); ++i) {
  XmlNode &playerNode = *playersNode.addChild("player");
  players[i].first->write(*playerNode.addChild("status"));
  players[i].second->write(*playerNode.addChild("info"));
  }
-
+
  gi.getFactionControllers().write(*root.addChild("faction-controllers"));*/
 }
 
diff -r 5b6d48f36be5 source/game/pch.h
--- a/source/game/pch.h Sat Apr 11 21:42:05 2009 +0400
+++ b/source/game/pch.h Sat Apr 11 22:17:54 2009 +0400
@@ -49,29 +49,31 @@
 #include <errno.h>
 #include <math.h>
 #include <time.h>
-
+#include <stdarg.h>
 
 // lib c++ & stl
-#include <cstdlib>
+#include <algorithm>
 #include <cassert>
 #include <cctype>
 #include <cmath>
-#include <cstring>
 #include <cstddef>
 #include <cstdio>
+#include <cstdlib>
+#include <cstring>
+#include <ctime>
 #include <deque>
+#include <exception>
 #include <fstream>
-#include <algorithm>
-#include <vector>
+#include <iostream>
 #include <list>
 #include <map>
-#include <deque>
-#include <string>
-#include <cassert>
-#include <iostream>
+#include <queue>
+#include <set>
 #include <sstream>
 #include <stdexcept>
-#include <ctime>
+#include <string>
+#include <utility>
+#include <vector>
 
 #include <sys/types.h>
 
diff -r 5b6d48f36be5 source/game/sound/sound_renderer.h
--- a/source/game/sound/sound_renderer.h Sat Apr 11 21:42:05 2009 +0400
+++ b/source/game/sound/sound_renderer.h Sat Apr 11 22:17:54 2009 +0400
@@ -3,9 +3,9 @@
 //
 // Copyright (C) 2001-2008 Martino Figueroa
 //
-// You can redistribute this code and/or modify it under
-// the terms of the GNU General Public License as published
-// by the Free Software Foundation; either version 2 of the
+// You can redistribute this code and/or modify it under
+// the terms of the GNU General Public License as published
+// by the Free Software Foundation; either version 2 of the
 // License, or (at your option) any later version
 // ==============================================================
 
@@ -23,6 +23,7 @@ using Shared::Sound::StaticSound;
 using Shared::Sound::StaticSound;
 using Shared::Sound::SoundPlayer;
 using Shared::Graphics::Vec3f;
+using Shared::Platform::Window;
 
 // =====================================================
 // class SoundRenderer
@@ -56,7 +57,7 @@ public:
  //music
  void playMusic(StrSound *strSound);
  void stopMusic(StrSound *strSound);
-
+
  //fx
  void playFx(StaticSound *staticSound, Vec3f soundPos, Vec3f camPos);
  void playFx(StaticSound *staticSound);
@@ -65,7 +66,7 @@ public:
  //void playAmbient(StaticSound *staticSound);
  void playAmbient(StrSound *strSound);
  void stopAmbient(StrSound *strSound);
-
+
  //misc
  void stopAllSounds();
  void loadConfig();

build-gae-as-library.patch
Code: [Select]
diff -r 151a2fb3662a mk/linux/Jamfile
--- a/mk/linux/Jamfile Sat Apr 11 22:21:05 2009 +0400
+++ b/mk/linux/Jamfile Sat Apr 11 22:54:24 2009 +0400
@@ -29,11 +29,13 @@ if $(USE_PCH) = "yes" {
  CPPFLAGS += -DUSE_PCH=1 [ CreateIncludeFlags $(LOCATE_TARGET)/include ] ;
 }
 
+LDFLAGS += -L$(LOCATE_TARGET) ;
+
 Library glestlib : $(LIB_SOURCES) : : $(LIB_PCH) ;
 ExternalLibs glestlib : SDL GL GLU XERCES VORBIS VORBISFILE OGG OPENAL Z ;
 IncludeDir glestlib : $(LIB_INCLUDE_DIRS) ;
 
-#### Game ####
+#### Game Library ####
 SubDir TOP game ;
 
 GAME_DIRS =
@@ -54,7 +56,13 @@ GAME_DIRS =
 ;
 
 for i in $(GAME_DIRS) {
-  GAME_SOURCES += [ Wildcard $(i) : *.cpp *.h ] ;
+  GAME_FILES += [ Wildcard $(i) : *.cpp *.h ] ;
+}
+
+for i in $(GAME_FILES) {
+ if ! [ MATCH (main.cpp) : $(i) ] {
+    GAMELIB_SOURCES += $(i) ;
+  }
 }
 
 if $(USE_PCH) = "yes" {
@@ -62,8 +70,30 @@ if $(USE_PCH) = "yes" {
  CPPFLAGS += -DUSE_PCH=1 [ CreateIncludeFlags $(LOCATE_TARGET) ] ;
 }
 
+LDFLAGS += -L$(LOCATE_TARGET) ;
+
+Library glestadvlib : $(GAMELIB_SOURCES) : : $(GLEST_PCH) ;
+ExternalLibs glestadvlib : SDL GL GLU XERCES VORBIS VORBISFILE OGG OPENAL Z ;
+IncludeDir glestadvlib : ../shared_lib/$(LIB_INCLUDE_DIRS) $(GAME_DIRS) ;
+
+#### Game ####
+SubDir TOP game ;
+
+for i in $(GAME_FILES) {
+ if [ MATCH (main.cpp) : $(i) ] {
+    GAME_SOURCES += $(i) ;
+  }
+}
+
+if $(USE_PCH) = "yes" {
+ GLEST_PCH = pch.h ;
+ CPPFLAGS += -DUSE_PCH=1 [ CreateIncludeFlags $(LOCATE_TARGET) ] ;
+}
+
+LIBS += -lglestlib -lglestadvlib ;
+
 Application glestadv : $(GAME_SOURCES) : : $(GLEST_PCH) ;
-LinkWith glestadv : glestlib ;
+LinkWith glestadv : glestlib glestadvlib ;
 ExternalLibs glestadv : SDL GL GLU XERCES VORBIS VORBISFILE OGG OPENAL Z ;
 IncludeDir glestadv : ../shared_lib/$(LIB_INCLUDE_DIRS) $(GAME_DIRS) ;
 
@@ -91,19 +121,12 @@ for i in $(TEST_DIRS) {
   TEST_SOURCES += [ Wildcard $(i) : *.cpp *.h ] ;
 }
 
-for i in game/$(GAME_SOURCES) {
- if ! [ MATCH (main.cpp) : $(i) ] {
-    TEST_SOURCES += $(i) ;
-  }
-}
-
-#Echo $(TEST_SOURCES) ;
-
 LDFLAGS += "-lcppunit" ;
+LIBS += -lglestlib -lglestadvlib ;
 
 # Includes all game sources
 Application testgae : $(TEST_SOURCES) : console : game/$(GAME_PCH) ;
-LinkWith testgae : glestlib ;
+LinkWith testgae : glestlib glestadvlib ;
 ExternalLibs testgae : SDL GL GLU XERCES VORBIS VORBISFILE OGG OPENAL Z ;
 IncludeDir testgae : $(TEST_DIRS) shared_lib/$(LIB_INCLUDE_DIRS) game/$(GAME_DIRS) ;
 


 The Boost thing is very helpful, but the only parts of it I'm using right now are shared_ptr and BOOST_FOREACH.  We can optionally use tr1 instead, but that requires a pretty recent version of msvc++ (2008 Express Edition + their "Feature Pack", but I haven't tested that yet).  So I figured it couldn't be too much of a gamble to use Boost for now.  The executable bloated horribly, but that may be due to something I'm doing wrong in the build setup.

Yeah, I've got 133Mb glestadv binary, also, looks a bit bigger than one might expect :)

daniel.santos

  • Guest
Re: 0.3 branch
« Reply #13 on: 12 April 2009, 09:40:03 »
Very sweet! thanks! :)

Yea, I was actually looking at the debug build, which is 82mb, but when I compile for release and strip it's down to only 20k more than the last release, (I think it was 1.8mb) so I'm not too worried about it now.  It looks like your patch to the Jamfile is perfect!  I personally don't mind making a static lib out of it and was considering it, but if you got it working, then it's a done deal!

As far as the PCH, I started on that at some point and never finished it so I'm glad you did that.  I'll get these patches integrated. :)  Maybe I stopped worrying about the pre-compiled headers for linux so much after I upgraded to a quad core phenom.  ;D  The build is pretty quick for me now.

Also, I see that you ran across my code that compresses binary data and then converts it to uuencoded text that gets shoved in an XML file.  I told one of my programmer buddies about this and he laughed his ass off.  I realize it's a tad bit crazy, but that's how I was able to get all of the map data stored in an otherwise XML saved game file format without inflating it horrendously.

daniel.santos

  • Guest
Re: 0.3 branch
« Reply #14 on: 13 April 2009, 11:04:59 »
Hey bork!  I merged your stuff and checked it in.  It had a few problems, most of which I overcame.  However, when building with pre-compiled headers on, the build doesn't seem to realize that the object files need to wait for the pre-compiled header to finish building, so the first several object files fail.  Of course, this only happens when using "jam -jx" where x is > 1.  Please check it out and let me know what you think. Also, you can either post patch files directly to bug reports on bugs.codemonger.org or you can email them to me as well (daniel.santos@pobox.com) -- public postings of patches are always preferred of course.  I wish we could have patch files attached directly to forum postings personally.

Thanks again