From f748874601ec83184f9f489a53da3ad957a9c33c Mon Sep 17 00:00:00 2001 From: Mark Vejvoda Date: Sat, 24 Apr 2010 11:15:15 +0000 Subject: [PATCH] Ported streflop code to win32 --- mk/windoze/CopyWindowsRuntimeDlls.bat | 2 +- mk/windoze/Glest.sln | 6 + mk/windoze/Glest.suo | Bin 194048 -> 217600 bytes mk/windoze/g3d_viewer.vcproj | 7 +- mk/windoze/glest_editor.vcproj | 2 +- mk/windoze/glest_game.vcproj | 18 +- mk/windoze/libstreflop.vcproj | 473 ++++++++++++++++++ mk/windoze/shared_lib.vcproj | 60 ++- source/glest_game/ai/ai.h | 8 +- source/glest_game/facilities/auto_test.cpp | 3 +- source/glest_game/facilities/auto_test.h | 57 +++ source/glest_game/graphics/renderer.cpp | 2 +- source/glest_game/gui/gui.h | 6 +- source/glest_game/menu/menu_background.h | 6 +- source/glest_game/sound/sound_container.h | 6 +- source/glest_game/type_instances/object.cpp | 4 +- source/glest_game/type_instances/unit.cpp | 8 +- source/glest_game/world/tileset.h | 6 +- source/glest_game/world/unit_updater.h | 6 +- source/glest_game/world/world.h | 6 +- source/glest_map_editor/map.h | 134 +++++ source/shared_lib/include/graphics/particle.h | 6 +- source/shared_lib/include/util/randomgen.h | 41 ++ source/shared_lib/sources/graphics/pixmap.cpp | 4 +- .../sources/sound/ds8/sound_player_ds8.cpp | 2 +- source/shared_lib/sources/util/randomgen.cpp | 45 ++ 26 files changed, 867 insertions(+), 51 deletions(-) create mode 100644 mk/windoze/libstreflop.vcproj create mode 100644 source/glest_game/facilities/auto_test.h create mode 100644 source/glest_map_editor/map.h create mode 100644 source/shared_lib/include/util/randomgen.h create mode 100644 source/shared_lib/sources/util/randomgen.cpp diff --git a/mk/windoze/CopyWindowsRuntimeDlls.bat b/mk/windoze/CopyWindowsRuntimeDlls.bat index c54532e6..4b59dafb 100644 --- a/mk/windoze/CopyWindowsRuntimeDlls.bat +++ b/mk/windoze/CopyWindowsRuntimeDlls.bat @@ -1,6 +1,6 @@ @echo off -if not exist ..\..\data\glest_game\dsound.dll copy dsound.dll ..\..\data\glest_game\ +rem if not exist ..\..\data\glest_game\dsound.dll copy dsound.dll ..\..\data\glest_game\ if not exist ..\..\data\glest_game\xerces-c_3_0.dll copy xerces-c_3_0.dll ..\..\data\glest_game\ if not exist ..\..\data\glest_game\libpng14.dll copy libpng14.dll ..\..\data\glest_game\ if not exist ..\..\data\glest_game\zlib1.dll copy zlib1.dll ..\..\data\glest_game\ diff --git a/mk/windoze/Glest.sln b/mk/windoze/Glest.sln index 5d8a8778..73b2a3ea 100755 --- a/mk/windoze/Glest.sln +++ b/mk/windoze/Glest.sln @@ -20,6 +20,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g3d_viewer", "g3d_viewer.vc EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glest_configurator", "glest_configurator.vcproj", "{FE5C7C7C-F109-44F5-8329-19A4E24F162D}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libstreflop", "libstreflop.vcproj", "{CDF4DDB9-945E-4D0D-9F0E-2BBEB5D22141}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -46,6 +48,10 @@ Global {FE5C7C7C-F109-44F5-8329-19A4E24F162D}.Debug|Win32.Build.0 = Debug|Win32 {FE5C7C7C-F109-44F5-8329-19A4E24F162D}.Release|Win32.ActiveCfg = Release|Win32 {FE5C7C7C-F109-44F5-8329-19A4E24F162D}.Release|Win32.Build.0 = Release|Win32 + {CDF4DDB9-945E-4D0D-9F0E-2BBEB5D22141}.Debug|Win32.ActiveCfg = Debug|Win32 + {CDF4DDB9-945E-4D0D-9F0E-2BBEB5D22141}.Debug|Win32.Build.0 = Debug|Win32 + {CDF4DDB9-945E-4D0D-9F0E-2BBEB5D22141}.Release|Win32.ActiveCfg = Release|Win32 + {CDF4DDB9-945E-4D0D-9F0E-2BBEB5D22141}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/mk/windoze/Glest.suo b/mk/windoze/Glest.suo index c6253989474a84fe2c1b13199dbe27612a39e20e..68548b36da298e073bcbcab06833654d9d3ecb9f 100755 GIT binary patch delta 26824 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

;0}f_73EFLX-Sr@~kWKNEIF7;D5g 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 XT#Zd{Gz @@ -115,7 +116,7 @@ /> + + + + diff --git a/mk/windoze/libstreflop.vcproj b/mk/windoze/libstreflop.vcproj new file mode 100644 index 00000000..1c3b941b --- /dev/null +++ b/mk/windoze/libstreflop.vcproj @@ -0,0 +1,473 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mk/windoze/shared_lib.vcproj b/mk/windoze/shared_lib.vcproj index 842d7d5d..04e483ed 100755 --- a/mk/windoze/shared_lib.vcproj +++ b/mk/windoze/shared_lib.vcproj @@ -113,11 +113,11 @@ InlineFunctionExpansion="2" EnableIntrinsicFunctions="true" FavorSizeOrSpeed="1" - AdditionalIncludeDirectories="../../../deps/include/lua;../../../deps/include;../../source/shared_lib/include;../../source/shared_lib/include/graphics;../../source/shared_lib/include/graphics/gl;../../source/shared_lib/include/platform;../../source/shared_lib/include/platform/win32;../../source/shared_lib/include/sound;../../source/shared_lib/include/sound/ds8;../../source/shared_lib/include/util;../../source/shared_lib/include/lua;../../source/shared_lib/include/xml;../../source/win32_deps/include;"../../source/win32_deps/xerces-c-3.0.1/src";"../../source/win32_deps/xerces-c-3.0.1/src/xercesc/xinclude";../../source/win32_deps/libpng141;"../../source/win32_deps/jpeg-8a";"../../source/win32_deps/SDL-1.2.14/include";../../source/shared_lib/include/platform/sdl;"../../source/win32_deps/openal-soft-1.12.854/include";../../source/shared_lib/include/sound/openal;../../source/shared_lib/include/platform/posix" - PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;USE_PCH=1" + AdditionalIncludeDirectories="../../../deps/include/lua;../../../deps/include;../../source/shared_lib/include;../../source/shared_lib/include/graphics;../../source/shared_lib/include/graphics/gl;../../source/shared_lib/include/platform;../../source/shared_lib/include/platform/win32;../../source/shared_lib/include/sound;../../source/shared_lib/include/sound/ds8;../../source/shared_lib/include/util;../../source/shared_lib/include/lua;../../source/shared_lib/include/xml;../../source/win32_deps/include;"../../source/win32_deps/xerces-c-3.0.1/src";"../../source/win32_deps/xerces-c-3.0.1/src/xercesc/xinclude";../../source/win32_deps/libpng141;"../../source/win32_deps/jpeg-8a";"../../source/win32_deps/SDL-1.2.14/include";../../source/shared_lib/include/platform/sdl;"../../source/win32_deps/openal-soft-1.12.854/include";../../source/shared_lib/include/sound/openal;../../source/shared_lib/include/platform/posix;../../source/shared_lib/include/streflop;../../source/shared_lib/include/streflop/libm_flt32_source" + PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;USE_PCH=1;USE_STREFLOP;STREFLOP_SSE;LIBM_COMPILING_FLT32" RuntimeLibrary="0" EnableFunctionLevelLinking="true" - EnableEnhancedInstructionSet="2" + EnableEnhancedInstructionSet="1" FloatingPointModel="2" RuntimeTypeInfo="false" WarningLevel="3" @@ -134,6 +134,8 @@ /> + + + + + + @@ -332,7 +346,7 @@ > + + + + + + + + + + + + + + + + + + @@ -726,7 +776,7 @@ > + +#include "randomgen.h" + +using Shared::Util::RandomGen; + +namespace Glest{ namespace Game{ + +class Program; +class MainMenu; +class MenuStateScenario; +class Game; + +// ===================================================== +// class AutoTest +// +/// Interface to write log files +// ===================================================== + +class AutoTest{ +private: + int gameStartTime; + RandomGen random; + +private: + static const time_t invalidTime; + static const time_t gameTime; + +public: + static AutoTest & getInstance(); + AutoTest(); + + void updateIntro(Program *program); + void updateRoot(Program *program, MainMenu *mainMenu); + void updateNewGame(Program *program, MainMenu *mainMenu); + void updateScenario(MenuStateScenario *menuStateScenario); + void updateGame(Game *game); + void updateBattleEnd(Program *program); +}; + +}}//end namespace + +#endif diff --git a/source/glest_game/graphics/renderer.cpp b/source/glest_game/graphics/renderer.cpp index 2f484f14..c29f8b77 100644 --- a/source/glest_game/graphics/renderer.cpp +++ b/source/glest_game/graphics/renderer.cpp @@ -24,7 +24,7 @@ #include "opengl.h" #include "faction.h" #include "factory_repository.h" -#include +//#include #include "leak_dumper.h" diff --git a/source/glest_game/gui/gui.h b/source/glest_game/gui/gui.h index 1ee95a70..1d44a59a 100644 --- a/source/glest_game/gui/gui.h +++ b/source/glest_game/gui/gui.h @@ -18,10 +18,10 @@ #include "commander.h" #include "console.h" #include "selection.h" -#include "random.h" +#include "randomgen.h" #include -//using Shared::Util::Random; +using Shared::Util::RandomGen; namespace Glest{ namespace Game{ @@ -102,7 +102,7 @@ public: private: //External objects - Shared::Util::Random random; + RandomGen random; const Commander *commander; const World *world; GameCamera *gameCamera; diff --git a/source/glest_game/menu/menu_background.h b/source/glest_game/menu/menu_background.h index 2edbbcd0..a655dd63 100644 --- a/source/glest_game/menu/menu_background.h +++ b/source/glest_game/menu/menu_background.h @@ -17,7 +17,7 @@ #include "vec.h" #include "texture.h" #include "model.h" -#include "random.h" +#include "randomgen.h" using Shared::Graphics::RainParticleSystem; using Shared::Graphics::FireParticleSystem; @@ -26,7 +26,7 @@ using Shared::Graphics::Vec3f; using Shared::Graphics::Vec2f; using Shared::Graphics::Texture2D; using Shared::Graphics::Model; -//using Shared::Util::Random; +using Shared::Util::RandomGen; namespace Glest{ namespace Game{ @@ -67,7 +67,7 @@ private: float t; //misc - Shared::Util::Random random; + RandomGen random; Model *characterModels[characterCount]; float anim; float fade; diff --git a/source/glest_game/sound/sound_container.h b/source/glest_game/sound/sound_container.h index 5f5cd347..697d4bf0 100644 --- a/source/glest_game/sound/sound_container.h +++ b/source/glest_game/sound/sound_container.h @@ -15,10 +15,10 @@ #include #include "sound.h" -#include "random.h" +#include "randomgen.h" using std::vector; -//using Shared::Util::Random; +using Shared::Util::RandomGen; using Shared::Sound::StaticSound; namespace Glest{ namespace Game{ @@ -35,7 +35,7 @@ public: private: Sounds sounds; - mutable Shared::Util::Random random; + mutable RandomGen random; mutable int lastSound; public: diff --git a/source/glest_game/type_instances/object.cpp b/source/glest_game/type_instances/object.cpp index 0825a055..44085664 100644 --- a/source/glest_game/type_instances/object.cpp +++ b/source/glest_game/type_instances/object.cpp @@ -18,7 +18,7 @@ #include "object_type.h" #include "resource.h" #include "util.h" -#include "random.h" +#include "randomgen.h" #include "leak_dumper.h" using namespace Shared::Util; @@ -31,7 +31,7 @@ namespace Glest{ namespace Game{ // ===================================================== Object::Object(ObjectType *objectType, const Vec3f &pos){ - Shared::Util::Random random; + RandomGen random; random.init(static_cast(pos.x*pos.z)); diff --git a/source/glest_game/type_instances/unit.cpp b/source/glest_game/type_instances/unit.cpp index d14c02ff..d9951135 100644 --- a/source/glest_game/type_instances/unit.cpp +++ b/source/glest_game/type_instances/unit.cpp @@ -23,11 +23,11 @@ #include "skill_type.h" #include "core_data.h" #include "renderer.h" -#include "leak_dumper.h" -#include - +//#include #include "socket.h" +#include "leak_dumper.h" + using namespace Shared::Graphics; using namespace Shared::Util; @@ -115,7 +115,7 @@ Unit::Unit(int id, const Vec2i &pos, const UnitType *type, Faction *faction, Map allowRotateUnits = Config::getInstance().getBool("AllowRotateUnits","0"); modelFacing = CardinalDir::NORTH; - Random random; + RandomGen random; this->pos=pos; this->type=type; diff --git a/source/glest_game/world/tileset.h b/source/glest_game/world/tileset.h index 9229b6df..0e2a444a 100644 --- a/source/glest_game/world/tileset.h +++ b/source/glest_game/world/tileset.h @@ -18,7 +18,7 @@ #include "xml_parser.h" #include "object_type.h" #include "sound.h" -#include "random.h" +#include "randomgen.h" #include "surface_atlas.h" #include "checksum.h" @@ -31,7 +31,7 @@ using Shared::Graphics::Model; using Shared::Graphics::Vec3f; using Shared::Graphics::Texture2D; using Shared::Graphics::Texture3D; -using Shared::Util::Random; +using Shared::Util::RandomGen; using Shared::Util::Checksum; using std::map; @@ -115,7 +115,7 @@ private: SurfProbs surfProbs[surfCount]; SurfPixmaps surfPixmaps[surfCount]; - Random random; + RandomGen random; Texture3D *waterTex; bool waterEffects; bool fog; diff --git a/source/glest_game/world/unit_updater.h b/source/glest_game/world/unit_updater.h index be70cf12..14c231e9 100644 --- a/source/glest_game/world/unit_updater.h +++ b/source/glest_game/world/unit_updater.h @@ -15,10 +15,10 @@ #include "gui.h" #include "path_finder.h" #include "particle.h" -#include "random.h" +#include "randomgen.h" using Shared::Graphics::ParticleObserver; -//using Shared::Util::Random; +using Shared::Util::RandomGen; namespace Glest{ namespace Game{ @@ -55,7 +55,7 @@ private: ScriptManager *scriptManager; PathFinder pathFinder; Game *game; - Shared::Util::Random random; + RandomGen random; bool allowRotateUnits; public: diff --git a/source/glest_game/world/world.h b/source/glest_game/world/world.h index a98af70d..022ce865 100644 --- a/source/glest_game/world/world.h +++ b/source/glest_game/world/world.h @@ -28,14 +28,14 @@ #include "water_effects.h" #include "faction.h" #include "unit_updater.h" -#include "random.h" +#include "randomgen.h" #include "game_constants.h" namespace Glest{ namespace Game{ using Shared::Graphics::Quad2i; using Shared::Graphics::Rect2i; -using Shared::Util::Random; +using Shared::Util::RandomGen; class Faction; class Unit; @@ -74,7 +74,7 @@ private: Factions factions; - Random random; + RandomGen random; ScriptManager* scriptManager; diff --git a/source/glest_map_editor/map.h b/source/glest_map_editor/map.h new file mode 100644 index 00000000..3c8926b5 --- /dev/null +++ b/source/glest_map_editor/map.h @@ -0,0 +1,134 @@ +// ============================================================== +// This file is part of Glest (www.glest.org) +// +// Copyright (C) 2001-2008 Martiņo 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 +// License, or (at your option) any later version +// ============================================================== + +#ifndef _MAPEDITOR_MAP_H_ +#define _MAPEDITOR_MAP_H_ + +#include "util.h" +#include "types.h" +#include "randomgen.h" + +using Shared::Platform::int8; +using Shared::Platform::int32; +using Shared::Platform::float32; +using Shared::Util::RandomGen; + +namespace MapEditor { + +struct MapFileHeader { + int32 version; + int32 maxFactions; + int32 width; + int32 height; + int32 altFactor; + int32 waterLevel; + int8 title[128]; + int8 author[128]; + int8 description[256]; +}; + +// =============================================== +// class Map +// =============================================== + +class Map { +public: + static const int maxHeight = 20; + static const int minHeight = 0; + +private: + struct Cell { + int surface; + int object; + int resource; + float height; + }; + + struct StartLocation { + int x; + int y; + }; + + RandomGen random; + string title; + string author; + string desc; + string recScn; + int type; + int h; + int w; + int altFactor; + int waterLevel; + Cell **cells; + int maxFactions; + StartLocation *startLocations; + int refAlt; + +public: + Map(); + ~Map(); + float getHeight(int x, int y) const; + int getSurface(int x, int y) const; + int getObject(int x, int y) const; + int getResource(int x, int y) const; + int getStartLocationX(int index) const; + int getStartLocationY(int index) const; + int getHeightFactor() const; + int getWaterLevel() const; + bool inside(int x, int y); + + void setRefAlt(int x, int y); + void setAdvanced(int altFactor, int waterLevel); + void setTitle(const string &title); + void setDesc(const string &desc); + void setAuthor(const string &author); + + int getH() const {return h;} + int getW() const {return w;} + int getMaxFactions() const {return maxFactions;} + string getTitle() const {return title;} + string getDesc() const {return desc;} + string getAuthor() const {return author;} + + void glestChangeHeight(int x, int y, int height, int radius); + void pirateChangeHeight(int x, int y, int height, int radius); + void changeSurface(int x, int y, int surface, int radius); + void changeObject(int x, int y, int object, int radius); + void changeResource(int x, int y, int resource, int radius); + void changeStartLocation(int x, int y, int player); + + void setHeight(int x, int y, float height); + void setSurface(int x, int y, int surface); + void setObject(int x, int y, int object); + void setResource(int x, int y, int resource); + + void flipX(); + void flipY(); + void reset(int w, int h, float alt, int surf); + void resize(int w, int h, float alt, int surf); + void resetFactions(int maxFactions); + void randomizeHeights(); + void randomize(); + void switchSurfaces(int surf1, int surf2); + + void loadFromFile(const string &path); + void saveToFile(const string &path); + +public: + void resetHeights(int height); + void sinRandomize(int strenght); + void decalRandomize(int strenght); + void applyNewHeight(float newHeight, int x, int y, int strenght); +}; + +}// end namespace + +#endif diff --git a/source/shared_lib/include/graphics/particle.h b/source/shared_lib/include/graphics/particle.h index f779a2c9..752ce533 100644 --- a/source/shared_lib/include/graphics/particle.h +++ b/source/shared_lib/include/graphics/particle.h @@ -18,10 +18,10 @@ #include "vec.h" #include "pixmap.h" #include "texture_manager.h" -#include "random.h" +#include "randomgen.h" using std::list; -//using Shared::Util::Random; +using Shared::Util::RandomGen; namespace Shared{ namespace Graphics{ @@ -95,7 +95,7 @@ protected: protected: Particle *particles; - Shared::Util::Random random; + RandomGen random; BlendMode blendMode; State state; diff --git a/source/shared_lib/include/util/randomgen.h b/source/shared_lib/include/util/randomgen.h new file mode 100644 index 00000000..e05de3fd --- /dev/null +++ b/source/shared_lib/include/util/randomgen.h @@ -0,0 +1,41 @@ +// ============================================================== +// This file is part of Glest Shared Library (www.glest.org) +// +// Copyright (C) 2001-2008 Martiņo 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 +// License, or (at your option) any later version +// ============================================================== + +#ifndef _SHARED_UTIL_RANDOM_H_ +#define _SHARED_UTIL_RANDOM_H_ + +namespace Shared { namespace Util { + +// ===================================================== +// class RandomGen +// ===================================================== + +class RandomGen { +private: + static const int m; + static const int a; + static const int b; + +private: + int lastNumber; + +public: + RandomGen(); + void init(int seed); + + int rand(); + int randRange(int min, int max); + float randRange(float min, float max); +}; + +}}//end namespace + +#endif diff --git a/source/shared_lib/sources/graphics/pixmap.cpp b/source/shared_lib/sources/graphics/pixmap.cpp index b564e6e7..6eea0427 100644 --- a/source/shared_lib/sources/graphics/pixmap.cpp +++ b/source/shared_lib/sources/graphics/pixmap.cpp @@ -18,7 +18,7 @@ #include "util.h" #include "math_util.h" -#include "random.h" +#include "randomgen.h" #include "FileReader.h" #include "ImageReaders.h" @@ -631,7 +631,7 @@ float splatDist(Vec2i a, Vec2i b){ void Pixmap2D::splat(const Pixmap2D *leftUp, const Pixmap2D *rightUp, const Pixmap2D *leftDown, const Pixmap2D *rightDown){ - Random random; + RandomGen random; assert(components==3 || components==4); diff --git a/source/shared_lib/sources/sound/ds8/sound_player_ds8.cpp b/source/shared_lib/sources/sound/ds8/sound_player_ds8.cpp index 7916c6bb..bbfe51b5 100644 --- a/source/shared_lib/sources/sound/ds8/sound_player_ds8.cpp +++ b/source/shared_lib/sources/sound/ds8/sound_player_ds8.cpp @@ -12,7 +12,7 @@ #include "sound_player_ds8.h" #include -//#include +#include //#include "streflop.h" #include "util.h" diff --git a/source/shared_lib/sources/util/randomgen.cpp b/source/shared_lib/sources/util/randomgen.cpp new file mode 100644 index 00000000..c26dc8b1 --- /dev/null +++ b/source/shared_lib/sources/util/randomgen.cpp @@ -0,0 +1,45 @@ +#include "randomgen.h" +#include + +#include "leak_dumper.h" + +namespace Shared { namespace Util { + +// ===================================================== +// class RandomGen +// ===================================================== + +const int RandomGen::m= 714025; +const int RandomGen::a= 1366; +const int RandomGen::b= 150889; + +RandomGen::RandomGen(){ + lastNumber= 0; +} + +void RandomGen::init(int seed){ + lastNumber= seed % m; +} + +int RandomGen::rand(){ + lastNumber= (a*lastNumber + b) % m; + return lastNumber; +} + +int RandomGen::randRange(int min, int max){ + assert(min<=max); + int diff= max-min; + int res= min + static_cast(static_cast(diff+1)*RandomGen::rand() / m); + assert(res>=min && res<=max); + return res; +} + +float RandomGen::randRange(float min, float max){ + assert(min<=max); + float rand01= static_cast(RandomGen::rand())/(m-1); + float res= min+(max-min)*rand01; + assert(res>=min && res<=max); + return res; +} + +}}//end namespace