<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>dipplum.com &#187; stratagus</title>
	<atom:link href="http://dipplum.com/tag/stratagus/feed/" rel="self" type="application/rss+xml" />
	<link>http://dipplum.com</link>
	<description>Be  the change you wanna see in the world</description>
	<lastBuildDate>Sat, 12 Nov 2011 07:38:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>stratagus最新Windows版</title>
		<link>http://dipplum.com/2009/11/13/stratagus-svn-windows/</link>
		<comments>http://dipplum.com/2009/11/13/stratagus-svn-windows/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 09:12:23 +0000</pubDate>
		<dc:creator>li</dc:creator>
				<category><![CDATA[开源软件]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[patch]]></category>
		<category><![CDATA[stratagus]]></category>
		<category><![CDATA[visualc]]></category>
		<category><![CDATA[warcraft]]></category>
		<category><![CDATA[wargus]]></category>

		<guid isPermaLink="false">http://dipplum.com/2009/11/13/stratagus-svn-windows/</guid>
		<description><![CDATA[简介 stratagus的前身是freecraft。freecraft重写了Blizzard公司的经典游戏Warcraft II的RTS游戏引擎。后因版权问题改名。freecraft改名后分成了几个部分，stratagus项目承接了其游戏引擎的部分，wargus在stratagus引擎上进行二次开发，几乎完美重现了Warcaft II的功能。下面是Wargus/Stratagus的效果： 下载说明 Statagus已经在2年前停止开发了，开发人员用同样的引擎转去开发别的游戏了。最后一个版本是2.2.4。但SVN库里还陆续有大的变动，开发人员好像是会不时的merge一些新的功能过来。 我编译的是最新的Stratagus SVN版本r8003，截图上显示的是2.2.5，这个版本有bug，打上了好几处补丁。编译环境是Visual C++ 2008。 1. stratagus-r8003引擎本地下载，需要再下载2 2. 支持stratagus-r8003的Wargus游戏数据 网盘下载 3. 用VMWare ThinApp打包的单可执行程序，单独可运行 网盘下载 开发包下载 如果对源码感兴趣，想自己编译的，可以下载我的Patch和编译环境打包 1. r8003的patch文件，自己checkout的stratagus svn r8003目录，解压后覆盖之 2. stratagus引用的外部lib和头文件打包，用Visual C++ 2008编译，解压后放在stratagus源码上级目录]]></description>
			<content:encoded><![CDATA[<h4>简介</h4>
<p><a href="http://stratagus.sourceforge.net/" target="_blank">stratagus</a>的前身是freecraft。freecraft重写了Blizzard公司的经典游戏<a href="http://us.blizzard.com/en-us/games/legacy/" target="_blank">Warcraft II</a>的RTS游戏引擎。后因<a href="http://en.wikipedia.org/wiki/Stratagus" target="_blank">版权问题改名</a>。freecraft改名后分成了几个部分，stratagus项目承接了其游戏引擎的部分，wargus在stratagus引擎上进行二次开发，几乎完美重现了Warcaft II的功能。下面是Wargus/Stratagus的效果：</p>
<p><a href="http://dipplum.com/files/2009/11/stratagus1.png" rel="shadowbox[sbpost-441];player=img;"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="stratagus1" border="0" alt="stratagus1" src="http://dipplum.com/files/2009/11/stratagus1_thumb.png" width="244" height="184" /></a> <a href="http://dipplum.com/files/2009/11/stratagus2.png" rel="shadowbox[sbpost-441];player=img;"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="stratagus2" border="0" alt="stratagus2" src="http://dipplum.com/files/2009/11/stratagus2_thumb.png" width="244" height="184" /></a> <a href="http://dipplum.com/files/2009/11/stratagus3.png" rel="shadowbox[sbpost-441];player=img;"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="stratagus3" border="0" alt="stratagus3" src="http://dipplum.com/files/2009/11/stratagus3_thumb.png" width="244" height="184" /></a> <a href="http://dipplum.com/files/2009/11/stratagus4.png" rel="shadowbox[sbpost-441];player=img;"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="stratagus4" border="0" alt="stratagus4" src="http://dipplum.com/files/2009/11/stratagus4_thumb.png" width="244" height="184" /></a> </p>
</p>
</p>
<h4>下载说明</h4>
<p> <span id="more-441"></span>
<p>Statagus已经在2年前停止开发了，开发人员用同样的引擎转去开发别的游戏了。最后一个版本是2.2.4。但SVN库里还陆续有大的变动，开发人员好像是会不时的merge一些新的功能过来。</p>
<p>我编译的是最新的Stratagus SVN版本r8003，截图上显示的是2.2.5，这个版本有bug，打上了好几处补丁。编译环境是Visual C++ 2008。</p>
<p>1. stratagus-r8003引擎本地下载，需要再下载2 Note: There is a file embedded within this post, please visit this post to download the file.</p>
<p>2. 支持stratagus-r8003的Wargus游戏数据 <a href="http://is.gd/4U3om">网盘下载</a></p>
<p>3. 用VMWare ThinApp打包的单可执行程序，单独可运行 <a href="http://is.gd/4RO0k" target="_blank">网盘下载</a></p>
<h4>开发包下载</h4>
<p>如果对源码感兴趣，想自己编译的，可以下载我的Patch和编译环境打包</p>
<p>1. r8003的patch文件，自己checkout的stratagus svn r8003目录，解压后覆盖之 Note: There is a file embedded within this post, please visit this post to download the file.</p>
<p>2. stratagus引用的外部lib和头文件打包，用Visual C++ 2008编译，解压后放在stratagus源码上级目录 Note: There is a file embedded within this post, please visit this post to download the file.</p>
]]></content:encoded>
			<wfw:commentRss>http://dipplum.com/2009/11/13/stratagus-svn-windows/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Visual C++ 2009编译libmikmod</title>
		<link>http://dipplum.com/2009/11/10/visualc-compile-libmikmod/</link>
		<comments>http://dipplum.com/2009/11/10/visualc-compile-libmikmod/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 03:13:18 +0000</pubDate>
		<dc:creator>li</dc:creator>
				<category><![CDATA[乱七八糟]]></category>
		<category><![CDATA[mikmod]]></category>
		<category><![CDATA[stratagus]]></category>
		<category><![CDATA[visualc]]></category>

		<guid isPermaLink="false">http://dipplum.com/2009/11/10/visual-c-2009%e7%bc%96%e8%af%91libmikmod/</guid>
		<description><![CDATA[1. 主页 http://mikmod.raphnet.net/ 2. 最新版本 3.2.0-beta2，2004年2月发布 &#160;&#160;&#160; 下载 http://mikmod.raphnet.net/files/libmikmod-3.2.0-beta2.zip 3. 编译依赖 &#160;&#160;&#160; DirectX SDK中的头文件。最新的DirectX SDK 2009 Auguest可以从微软（http://is.gd/4Q3Mo）下载。或者只下载其中include目录和lib目录打包（http://is.gd/4Q416）。 4. 编译方法 &#160;&#160;&#160; 解压后，从Visual Studio 2008的命令行提示符下进入win32目录，首先设置INCLUDE变量，然后编译。如果编译静态链接库，可以参见下例（把directx的目录修改成自己的）： cd win32 set INCLUDE=..\..\directxsdk-0908\include;%INCLUDE% nmake -f makefile.static 5. Bug &#160;&#160;&#160; include\mikmod_internal.h文件中有bug，导致不能在Visual Studio 2008下编译，在该文件的include之后加入下面5行： #ifdef _mm_malloc #undef _mm_malloc #undef _mm_calloc #undef _mm_free #endif 6. 其他注意事项 &#160;&#160;&#160; 1. 编译Multithreaded DLL版的静态库 &#160;&#160;&#160; 编译生成的静态库，为了更好的与其他库交互，最好是编译生成Multithreaded DLL版本，也就是编译时加/MD参数。由于libmikmod默认的头文件不支持编译静态库的同时，链接到MSVCRT的Muiltithreaded DLL。所以要做相应修改。 [...]]]></description>
			<content:encoded><![CDATA[<p>1. 主页 <a href="http://mikmod.raphnet.net/">http://mikmod.raphnet.net/</a></p>
<p>2. 最新版本 3.2.0-beta2，2004年2月发布</p>
<p>&#160;&#160;&#160; 下载 <a href="http://mikmod.raphnet.net/files/libmikmod-3.2.0-beta2.zip">http://mikmod.raphnet.net/files/libmikmod-3.2.0-beta2.zip</a></p>
<p>3. 编译依赖</p>
<p>&#160;&#160;&#160; DirectX SDK中的头文件。最新的DirectX SDK 2009 Auguest可以从微软（<a href="http://is.gd/4Q3Mo）">http://is.gd/4Q3Mo）</a>下载。或者只下载其中include目录和lib目录打包（<a href="http://is.gd/4Q416">http://is.gd/4Q416</a>）。</p>
<p>4. 编译方法</p>
<p>&#160;&#160;&#160; 解压后，从Visual Studio 2008的命令行提示符下进入win32目录，首先设置INCLUDE变量，然后编译。如果编译静态链接库，可以参见下例（把directx的目录修改成自己的）：</p>

<div class="wp_syntax"><div class="code"><pre class="batch" style="font-family:monospace;">cd win32
set INCLUDE=..\..\directxsdk-0908\include;%INCLUDE%
nmake -f makefile.static</pre></div></div>

</p>
<p><span id="more-425"></span></p>
<p>5. Bug</p>
<p>&#160;&#160;&#160; include\mikmod_internal.h文件中有bug，导致不能在Visual Studio 2008下编译，在该文件的include之后加入下面5行：</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#ifdef _mm_malloc</span>
<span style="color: #339933;">#undef _mm_malloc</span>
<span style="color: #339933;">#undef _mm_calloc</span>
<span style="color: #339933;">#undef _mm_free</span>
<span style="color: #339933;">#endif</span></pre></div></div>

<p>6. 其他注意事项</p>
<p>&#160;&#160;&#160; 1. 编译Multithreaded DLL版的静态库</p>
<p>&#160;&#160;&#160; 编译生成的静态库，为了更好的与其他库交互，最好是编译生成Multithreaded DLL版本，也就是编译时加/MD参数。由于libmikmod默认的头文件不支持编译静态库的同时，链接到MSVCRT的Muiltithreaded DLL。所以要做相应修改。</p>
<p>&#160;&#160;&#160; 2. 生成include\mikmod.h</p>
<p>&#160;&#160;&#160; 由于Windows系统没有configure过程，include目录下仅有一个mikmod.h.in，要把其中的版本号替换生成mikmod.h。 </p>
<p>&#160;&#160;&#160; 3. 静态库中缺少load_asy</p>
<p>&#160;&#160;&#160; 静态库中包含的目标文件好像不全，却load_asy，需要修改Makefile将其加进来。</p>
<p>7. 完整的patch</p>
<p>&#160;&#160;&#160; 下面是包含上述改动完整的patch。打上后把include\mikmod.in.h改名为include\mikmod.h即可。</p>

<div class="wp_syntax"><div class="code"><pre class="diff" style="font-family:monospace;">diff -Naur libmikmod-3.2.0-beta2\include\mikmod.h.in libmikmod-3.2.0-beta2-<span style="">2</span>\include\mikmod.h.in
<span style="color: #888822;">--- libmikmod-3.2.0-beta2\include\mikmod.h.in	Wed Feb 18 09:10:40 2004</span>
<span style="color: #888822;">+++ libmikmod-3.2.0-beta2-2\include\mikmod.h.in	Mon Apr 26 18:33:00 2004</span>
<span style="color: #440088;">@@ -44,7 +44,7 @@</span>
 #ifdef DLL_EXPORTS
 #define MIKMODAPI __declspec<span style="">&#40;</span>dllexport<span style="">&#41;</span>
 #else
<span style="color: #991111;">-#define MIKMODAPI __declspec<span style="">&#40;</span>dllimport<span style="">&#41;</span></span>
<span style="color: #00b000;">+#define MIKMODAPI</span>
 #endif
 #else
 #define MIKMODAPI
<span style="color: #440088;">@@ -54,9 +54,9 @@</span>
  *	========== Library version
  */
&nbsp;
<span style="color: #991111;">-#define LIBMIKMOD_VERSION_MAJOR @LIBMIKMOD_MAJOR_VERSION@L</span>
<span style="color: #991111;">-#define LIBMIKMOD_VERSION_MINOR @LIBMIKMOD_MINOR_VERSION@L</span>
<span style="color: #991111;">-#define LIBMIKMOD_REVISION      @LIBMIKMOD_MICRO_VERSION@L</span>
<span style="color: #00b000;">+#define LIBMIKMOD_VERSION_MAJOR 3L</span>
<span style="color: #00b000;">+#define LIBMIKMOD_VERSION_MINOR 2L</span>
<span style="color: #00b000;">+#define LIBMIKMOD_REVISION      0L</span>
&nbsp;
 #define LIBMIKMOD_VERSION \
 	<span style="">&#40;</span><span style="">&#40;</span>LIBMIKMOD_VERSION_MAJOR&amp;lt;&amp;lt;<span style="">16</span><span style="">&#41;</span>| \
<span style="color: #440088;">@@ -83,7 +83,7 @@</span>
 typedef char CHAR;
 #endif
&nbsp;
<span style="color: #991111;">-@DOES_NOT_HAVE_SIGNED@</span>
<span style="color: #00b000;">+</span>
&nbsp;
 #if defined<span style="">&#40;</span>__arch64__<span style="">&#41;</span> || defined<span style="">&#40;</span>__alpha<span style="">&#41;</span>
 /* <span style="">64</span> bit architectures */
diff -Naur libmikmod-3.2.0-beta2\include\mikmod_internals.h libmikmod-3.2.0-beta2-<span style="">2</span>\include\mikmod_internals.h
<span style="color: #888822;">--- libmikmod-3.2.0-beta2\include\mikmod_internals.h	Wed Feb 18 08:29:18 2004</span>
<span style="color: #888822;">+++ libmikmod-3.2.0-beta2-2\include\mikmod_internals.h	Tue Nov 10 10:47:10 2009</span>
<span style="color: #440088;">@@ -47,6 +47,12 @@</span>
 #pragma warning<span style="">&#40;</span>disable:<span style="">4761</span><span style="">&#41;</span>
 #endif
&nbsp;
<span style="color: #00b000;">+#ifdef _mm_malloc</span>
<span style="color: #00b000;">+#undef _mm_malloc</span>
<span style="color: #00b000;">+#undef _mm_calloc</span>
<span style="color: #00b000;">+#undef _mm_free</span>
<span style="color: #00b000;">+#endif</span>
<span style="color: #00b000;">+</span>
 /*========== More type definitions */
&nbsp;
 /* SLONGLONG: 64bit, signed */
diff -Naur libmikmod-3.2.0-beta2\win32\Makefile.static libmikmod-3.2.0-beta2-<span style="">2</span>\win32\Makefile.static
<span style="color: #888822;">--- libmikmod-3.2.0-beta2\win32\Makefile.static	Wed Jan 21 12:29:36 2004</span>
<span style="color: #888822;">+++ libmikmod-3.2.0-beta2-2\win32\Makefile.static	Mon Nov 09 15:28:39 2009</span>
<span style="color: #440088;">@@ -11,7 +11,7 @@</span>
 # Your compiler here
 CC=cl
 # Compiler flags
<span style="color: #991111;">-CFLAGS=/nologo /O2 /MTd /Zi /Fm /c /DWIN32 /DDRV_DS /DDRV_WIN /DHAVE_FCNTL_H /DHAVE_MALLOC_H /DHAVE_LIMITS_H</span>
<span style="color: #00b000;">+CFLAGS=/nologo /O2 /MD /Zi /Fm /c /DWIN32 /DDRV_DS /DDRV_WIN /DHAVE_FCNTL_H /DHAVE_MALLOC_H /DHAVE_LIMITS_H</span>
 COMPILE=$<span style="">&#40;</span>CC<span style="">&#41;</span> $<span style="">&#40;</span>CFLAGS<span style="">&#41;</span> /I..\include /I.. /I..\win32
&nbsp;
 .SUFFIXES:
<span style="color: #440088;">@@ -29,6 +29,7 @@</span>
     load_669.o load_amf.o load_dsm.o load_far.o load_gdm.o load_it.o  \
     load_imf.o load_m15.o load_med.o load_mod.o load_mtm.o load_okt.o \
     load_s3m.o load_stm.o load_stx.o load_ult.o load_uni.o load_xm.o \
<span style="color: #00b000;">+    load_asy.o \</span>
     mmalloc.o mmerror.o mmio.o \
     mdriver.o mdreg.o mloader.o mlreg.o mlutil.o mplayer.o munitrk.o mwav.o \
     npertab.o sloader.o virtch.o virtch2.o virtch_common.o
<span style="color: #440088;">@@ -106,6 +107,9 @@</span>
 load_s3m.o:     ..\loaders\load_s3m.c \
 	                ..\win32\mikmod_build.h ..\include\mikmod_internals.h
 	$<span style="">&#40;</span>COMPILE<span style="">&#41;</span> /Fo$@ ..\loaders\load_s3m.c
<span style="color: #00b000;">+load_asy.o:     ..\loaders\load_asy.c \</span>
<span style="color: #00b000;">+	                ..\win32\mikmod_build.h ..\include\mikmod_internals.h</span>
<span style="color: #00b000;">+	$<span style="">&#40;</span>COMPILE<span style="">&#41;</span> /Fo$@ ..\loaders\load_asy.c</span>
 load_stm.o:     ..\loaders\load_stm.c \
 	                ..\win32\mikmod_build.h ..\include\mikmod_internals.h
 	$<span style="">&#40;</span>COMPILE<span style="">&#41;</span> /Fo$@ ..\loaders\load_stm.c
diff -Naur libmikmod-3.2.0-beta2\win32\mikmod_build.h libmikmod-3.2.0-beta2-<span style="">2</span>\win32\mikmod_build.h
<span style="color: #888822;">--- libmikmod-3.2.0-beta2\win32\mikmod_build.h	Thu Feb 19 09:15:22 2004</span>
<span style="color: #888822;">+++ libmikmod-3.2.0-beta2-2\win32\mikmod_build.h	Mon Nov 09 15:19:11 2009</span>
<span style="color: #440088;">@@ -44,7 +44,7 @@</span>
 #ifdef DLL_EXPORTS
 #define MIKMODAPI __declspec<span style="">&#40;</span>dllexport<span style="">&#41;</span>
 #else
<span style="color: #991111;">-#define MIKMODAPI __declspec<span style="">&#40;</span>dllimport<span style="">&#41;</span></span>
<span style="color: #00b000;">+#define MIKMODAPI</span>
 #endif
 #else
 #define MIKMODAPI</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://dipplum.com/2009/11/10/visualc-compile-libmikmod/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

