Merge branch 'master' into repackage

Conflicts:
	patches/minecraft/net/minecraft/client/EntityFX.java.patch
This commit is contained in:
Christian 2012-12-03 17:31:29 -05:00
commit 9cdbadb66c
33 changed files with 147 additions and 105 deletions

1
fml/.gitattributes vendored
View file

@ -5,5 +5,6 @@
*.exe binary
*.dll binary
*.zip binary
*.pyd binary
*.cfg text eol=lf
*.py text eol=lf

2
fml/.gitignore vendored
View file

@ -8,3 +8,5 @@
fmlbranding.properties
/fernflower.zip
/commands.py.bck
/mcp*.zip
/mcp

View file

@ -9,20 +9,6 @@
====================================================================== -->
<project name="FML" default="jenkinsbuild">
<description>The Forge Mod Loader</description>
<macrodef name="side">
<attribute name="prop" />
<attribute name="src" />
<attribute name="side" />
<sequential>
<property name="@{prop}" value="${@{side}.@{src}}" />
<condition property="is.client">
<equals arg1="@{side}" arg2="client" />
</condition>
<condition property="is.server">
<equals arg1="@{side}" arg2="server" />
</condition>
</sequential>
</macrodef>
<target name="writeversion" depends="buildenvsetup">
<exec executable="${python.exe}" dir="${basedir}" failonerror="true">
<arg value="${basedir}/getversion.py" />
@ -46,9 +32,13 @@
<condition property="mcp.home" value="${env.WORKSPACE}/mcpworkspace" else="${default.mcp.home}">
<isset property="env.WORKSPACE" />
</condition>
<condition property="python.exe" value="${mcp.home}/runtime/bin/python/python_mcp" else="python">
<property name="fml.python.dir" location="${basedir}/python" />
<condition property="python.exe" value="${fml.python.dir}/python_fml" else="python">
<os family="Windows" />
</condition>
<condition property="mcp.exists">
<available file="${mcp.home}/runtime/commands.py"/>
</condition>
<property name="mcp.obfoutput" location="${mcp.home}/reobf" />
<property name="client.mcp.obfoutput" location="${mcp.obfoutput}/minecraft" />
<property name="mcp.srcdir" location="${mcp.home}/src" />
@ -74,14 +64,19 @@
<property name="version.major" value="${fmlbuild.major.number}" />
<property name="version.minor" value="${fmlbuild.minor.number}" />
<property name="version.rev" value="${fmlbuild.revision.number}" />
<property name="version.minecraft" value="${fmlbuild.mcversion}" />
<property name="version.branch" value="${fmlbuild.branch}" />
<property name="version" value="${version.major}.${version.minor}.${version.rev}.${version.build}" />
</target>
<target name="clean" depends="buildenvsetup">
<target name="makeclean" depends="buildenvsetup" if="mcp.exists">
<exec executable="${python.exe}" dir="${mcp.home}">
<arg value="${mcp.home}/runtime/cleanup.py" />
<arg value="-f" />
</exec>
</target>
<target name="clean" depends="buildenvsetup,makeclean" if="mcp.exists">
<exec executable="${python.exe}" dir="${mcp.home}">
<arg value="${mcp.home}/runtime/decompile.py" />
<arg value="-d" />
@ -137,38 +132,11 @@
<target name="merge-source" depends="buildenvsetup,merge-client,merge-common" />
<target name="build-client" depends="buildenvsetup,merge-client,merge-common,reobfuscate,makeversion"/>
<target name="build-universal" depends="buildenvsetup,merge-client,merge-common,reobfuscate,makeversion">
<condition property="universal.jarname" value="${modname}-universal-${version.minecraft}-${version}" else="${modname}-universal-${version.minecraft}-${version}-${version.branch}">
<equals arg1="${version.branch}" arg2="master" />
</condition>
<target name="extract-built-jar">
<side prop="output" src="mcp.obfoutput" side="${side}" />
<property name="jarname" value="${modname}-${side}-${version}" />
<mkdir dir="${basedir}/target" />
<zip destfile="${basedir}/target/${jarname}.zip">
<fileset dir="${output}" includes="**/*.class" />
<zipfileset dir="${basedir}" includes="fmlversion.properties"/>
<zipfileset dir="${basedir}" includes="LICENSE-fml.txt" />
<zipfileset dir="${basedir}" includes="install/CREDITS-fml.txt" fullpath="CREDITS-fml.txt"/>
<zipfileset dir="${common.src.dir}" includes="*.cfg" />
<mappedresources>
<concat>
<fileset dir="${basedir}/install" includes="README.txt" />
<filterchain>
<replacetokens>
<token key="MAJOR" value="${version.major}" />
<token key="MINOR" value="${version.minor}" />
<token key="REV" value="${version.rev}" />
<token key="BUILD" value="${version.build}" />
<token key="MCVERSION" value="${version.minecraft}" />
</replacetokens>
</filterchain>
</concat>
<mergemapper to="README-fml.txt" />
</mappedresources>
</zip>
</target>
<target name="build-universal" depends="build-client">
<property name="universal.jarname" value="${modname}-universal-${version}" />
<mkdir dir="${basedir}/target" />
<jar destfile="${basedir}/target/${universal.jarname}.zip" duplicate="preserve">
<manifest>
@ -201,7 +169,7 @@
</target>
<target name="build-source-pack" depends="makeversion">
<property name="srcpack.jarname" value="${modname}-src-${version}" />
<property name="srcpack.jarname" value="${modname}-src-${version.minecraft}-${version}-${version.branch}" />
<zip destfile="${basedir}/target/${srcpack.jarname}.zip">
<zipfileset dir="${basedir}" includes="LICENSE-fml.txt,difflist.txt,commands.patch,mcp_merge.cfg,mc_versions.cfg" prefix="fml" />
<zipfileset dir="${common.src.dir}" includes="**/*.java" prefix="fml/common" />
@ -212,6 +180,7 @@
<zipfileset dir="${common.src.dir}" includes="mcpmod.info" prefix="fml/common" />
<zipfileset dir="${patch.src.dir}" includes="**/*.patch" prefix="fml/patches" />
<zipfileset dir="${fml.conf.dir}" prefix="fml/conf" />
<zipfileset dir="${fml.python.dir}" prefix="fml/python" />
<mappedresources>
<concat>
<fileset dir="${basedir}/install" includes="README.txt" />
@ -231,7 +200,7 @@
</zip>
</target>
<target name="build" depends="buildenvsetup,merge-client,merge-common,build-client,build-universal,build-source-pack" />
<target name="build" depends="buildenvsetup,merge-client,merge-common,build-universal,build-source-pack" />
<target name="jenkinsbuild" depends="buildenvsetup,jenkinsfmldecompile,patch,build"/>
@ -270,14 +239,10 @@
<fileset dir="${mcp.srcdir}"/>
</copy>
<antcall target="writeversion"/>
<echo>Setup complete! You should now be able to open ${basedir}/eclipse as a workspace in eclipse and import/refresh the FML-Server and FML-Client projects</echo>
<echo>Setup complete! You should now be able to open ${basedir}/eclipse as a workspace in eclipse and import/refresh the FML project</echo>
</target>
<target name="fmldecompile" depends="buildenvsetup">
<exec executable="${python.exe}" dir="${mcp.home}">
<arg value="${mcp.home}/runtime/cleanup.py" />
<arg value="-f" />
</exec>
<target name="fmldecompile" depends="buildenvsetup,makeclean">
<exec executable="${python.exe}" dir="${basedir}">
<arg value="${basedir}/decompile.py" />
<arg value="${mcp.home}" />
@ -285,11 +250,7 @@
</exec>
</target>
<target name="jenkinsfmldecompile" depends="buildenvsetup">
<exec executable="${python.exe}" dir="${mcp.home}">
<arg value="${mcp.home}/runtime/cleanup.py" />
<arg value="-f" />
</exec>
<target name="jenkinsfmldecompile" depends="buildenvsetup,makeclean">
<exec executable="${python.exe}" dir="${basedir}">
<arg value="${basedir}/decompile.py" />
<arg value="${mcp.home}" />

View file

@ -60,12 +60,12 @@ public class SpriteHelper
"0000000000000000" +
"0000000000000000" +
"0000000000000000" +
"0111100000000000" +
"1111100010000000" +
"0000101110000000" +
"0111000000000000" +
"1100001100001111" +
"0000000000001111" +
"0111110000000000" +
"1111111010000000" +
"0111111110000000" +
"0111111111111001" +
"1111111111111111" +
"0000011111111111" +
"0000000000000000");
spriteInfo.put("/gui/items.png", slots);
}

View file

@ -3,7 +3,7 @@
"modid": "mcp",
"name": "Minecraft Coder Pack",
"description": "Modding toolkit to decompile and deobfuscate the Minecraft client and server files.",
"version": "7.22",
"version": "7.23",
"mcversion": "1.4.5",
"logoFile": "/mcp.png",
"url": "http://mcp.ocean-labs.de/",

View file

@ -2126,7 +2126,6 @@ net/minecraft/src/EffectRenderer.func_78871_a(IIIII)V=|p_78871_1_,p_78871_2_,p_7
net/minecraft/src/EffectRenderer.func_78872_b(Lnet/minecraft/src/Entity;F)V=|p_78872_1_,p_78872_2_
net/minecraft/src/EffectRenderer.func_78873_a(Lnet/minecraft/src/EntityFX;)V=|p_78873_1_
net/minecraft/src/EffectRenderer.func_78874_a(Lnet/minecraft/src/Entity;F)V=|p_78874_1_,p_78874_2_
net/minecraft/src/EffectRenderer.func_90037_b(Lnet/minecraft/src/EntityFX;)V=|p_90037_1_
net/minecraft/src/EmptyChunk.<init>(Lnet/minecraft/src/World;II)V=|p_i3770_1_,p_i3770_2_,p_i3770_3_
net/minecraft/src/EmptyChunk.func_76588_a(Lnet/minecraft/src/Entity;Lnet/minecraft/src/AxisAlignedBB;Ljava/util/List;)V=|p_76588_1_,p_76588_2_,p_76588_3_
net/minecraft/src/EmptyChunk.func_76589_b(IIII)Z=|p_76589_1_,p_76589_2_,p_76589_3_,p_76589_4_

View file

@ -4,4 +4,3 @@ eclipse.preferences.version=1
org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\n<launchPerspectives/>\n
org.eclipse.debug.ui.UseContextualLaunch=false
org.eclipse.debug.ui.user_view_bindings=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<viewBindings>\r\n<view id\="org.eclipse.ui.console.ConsoleView">\r\n<perspective id\="org.eclipse.jdt.ui.JavaPerspective" userAction\="opened"/>\r\n</view>\r\n</viewBindings>\r\n
preferredTargets=default\:default|

View file

@ -1,15 +1,14 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
org.eclipse.jdt.core.codeComplete.visibilityCheck=enabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
#Sun Sep 18 16:44:39 NZST 2011
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.problem.deprecation=ignore
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=ignore
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
org.eclipse.jdt.core.compiler.problem.unusedImport=ignore
org.eclipse.jdt.core.compiler.problem.deprecation=ignore
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore
org.eclipse.jdt.core.compiler.problem.unusedImport=ignore
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.source=1.6

View file

@ -4,6 +4,6 @@ PROBLEMS_FILTERS_MIGRATE=true
SAVE_ALL_BEFORE_BUILD=true
TASKS_FILTERS_MIGRATE=true
eclipse.preferences.version=1
platformState=1352044473268
platformState=1349115159163
quickStart=false
tipsAndTricks=true

View file

@ -10,13 +10,15 @@
</launchGroup>
<launchGroup id="org.eclipse.debug.ui.launchGroup.debug">
<mruHistory>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;New_configuration&quot;/&gt;&#10;"/>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Client&quot;/&gt;&#13;&#10;"/>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Server&quot;/&gt;&#13;&#10;"/>
</mruHistory>
<favorites/>
</launchGroup>
<launchGroup id="org.eclipse.debug.ui.launchGroup.run">
<mruHistory>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;New_configuration&quot;/&gt;&#10;"/>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Client&quot;/&gt;&#13;&#10;"/>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Server&quot;/&gt;&#13;&#10;"/>
</mruHistory>
<favorites/>
</launchGroup>

View file

@ -47,6 +47,17 @@ def main():
(mcpversion,mcclientversion,mcserverversion) = re.match("[.\w]+ \(data: ([.\w]+), client: ([.\w.]+), server: ([.\w.]+)\)",Commands.fullversion()).groups()
if os.getenv("GIT_BRANCH") is None:
cmd = "git rev-parse --abbrev-ref HEAD"
try:
process = subprocess.Popen(cmdsplit(cmd), stdout=subprocess.PIPE, stderr=subprocess.STDOUT, bufsize=-1)
branch, _ = process.communicate()
except OSError:
print("Git not found")
branch="none"
else:
branch=os.getenv("GIT_BRANCH").rpartition('/')[2]
with open("fmlversion.properties","w") as f:
f.write("%s=%s\n" %("fmlbuild.major.number",major))
f.write("%s=%s\n" %("fmlbuild.minor.number",minor))
@ -54,8 +65,9 @@ def main():
f.write("%s=%s\n" %("fmlbuild.githash",githash))
f.write("%s=%s\n" %("fmlbuild.mcpversion",mcpversion))
f.write("%s=%s\n" %("fmlbuild.mcversion",mcclientversion))
f.write("%s=%s\n" %("fmlbuild.branch",branch))
print("Version information: FML %s.%s.%s using MCP %s for minecraft %s" % (major, minor, rev, mcpversion, mcclientversion))
print("Version information: FML %s.%s.%s (%s) using MCP %s for minecraft %s" % (major, minor, rev, branch, mcpversion, mcclientversion))
if __name__ == '__main__':
main()

View file

@ -95,8 +95,7 @@ def download_minecraft(mcp_dir, fml_dir, version=None):
default = config_get_section(config, 'default')
if version is None:
version = default['current_ver']
version = default['current_ver']
bin_folder = os.path.join(mcp_dir, 'jars', 'bin')
if not os.path.exists(bin_folder):
@ -571,9 +570,54 @@ def merge_tree(root_src_dir, root_dst_dir):
if os.path.exists(dst_file):
os.remove(dst_file)
shutil.copy(src_file, dst_dir)
def download_mcp(mcp_dir, fml_dir, version=None):
if os.path.isfile(os.path.join(mcp_dir, 'runtime', 'commands.py')):
print 'MCP Detected already, not downloading'
return True
if os.path.isdir(mcp_dir):
print 'Old MCP Directory exists, but MCP was not detected, please delete MCP directory at \'%s\'' % mcp_dir
sys.exit(1)
versions_file = os.path.join(fml_dir, 'mc_versions.cfg')
if not os.path.isfile(versions_file):
print 'Could not find mc_versions.cfg in FML directory.'
sys.exit(1)
config = ConfigParser.ConfigParser()
config.read(versions_file)
default = config_get_section(config, 'default')
if version is None:
version = default['current_ver']
if not config.has_section(version):
print 'Error: Invalid minecraft version, could not find \'%s\' in mc_versions.cfg' % version
sys.exit(1)
mc_info = config_get_section(config, version)
mcp_zip = os.path.join(fml_dir, 'mcp%s.zip' % mc_info['mcp_ver'])
if not download_file(mc_info['mcp_url'], mcp_zip, mc_info['mcp_md5']):
sys.exit(1)
if not os.path.isdir(mcp_dir):
_mkdir(mcp_dir)
print 'Extracting MCP to \'%s\'' % mcp_dir
zf = ZipFile(mcp_zip)
zf.extractall(mcp_dir)
zf.close()
return True
def setup_mcp(fml_dir, mcp_dir, dont_gen_conf=True):
global mcp_version
if not download_mcp(mcp_dir, fml_dir):
sys.exit(1)
backup = os.path.join(mcp_dir, 'runtime', 'commands.py.bck')
runtime = os.path.join(mcp_dir, 'runtime', 'commands.py')
patch = os.path.join(fml_dir, 'commands.patch')
@ -898,4 +942,4 @@ def gen_renamed_conf(mcp_dir, fml_dir):
with open(patch_tmp, 'w') as fh:
fh.write(buf)
shutil.move(patch_tmp, patch_in)
shutil.move(patch_tmp, patch_in)

View file

@ -1,4 +1,4 @@
echo off
@set PATH=%PATH%;%SystemDir%\system32;%SystemRoot%\System32;..\runtime\bin\python
python_mcp install.py
@set PATH=%PATH%;%SystemDir%\system32;%SystemRoot%\System32;.\python\
python_fml install.py
pause

View file

@ -1,4 +1,5 @@
import os, os.path, sys
from optparse import OptionParser
from fml import setup_fml, finish_setup_fml, apply_fml_patches, setup_mcp
@ -11,4 +12,15 @@ def fml_main(fml_dir, mcp_dir, dont_gen_conf=True):
print '================ Forge ModLoader Setup End ==================='
if __name__ == '__main__':
fml_main(os.path.dirname(os.path.abspath(__file__)), os.path.abspath('..'))
parser = OptionParser()
parser.add_option('-m', '--mcp-dir', action='store_true', dest='mcp_dir', help='Path to download/extract MCP to', default=None)
options, _ = parser.parse_args()
fml_dir = os.path.dirname(os.path.abspath(__file__))
if not options.mcp_dir is None:
fml_main(fml_dir, os.path.abspath(options.mcp_dir))
elif os.path.isfile(os.path.join('..', 'runtime', 'commands.py')):
fml_main(fml_dir, os.path.abspath('..'))
else:
fml_main(fml_dir, os.path.abspath('mcp'))

View file

@ -10,6 +10,8 @@ server_url = http://assets.minecraft.net/1_4_4/minecraft_server.jar
client_md5 = 7aa46c8058cba2f38e9d2ddddcc77c72
server_md5 = b5feed15df1db87c9aaf78dcefad513d
mcp_ver = 7.21
mcp_url = https://www.dropbox.com/s/dao8itysfwuhj9q/mcp721.zip?dl=1
mcp_md5 = 772ecfdac7e4c9491bfb131cee3bbb36
[1.4.5]
client_url = http://assets.minecraft.net/1_4_5/minecraft.jar
@ -17,3 +19,5 @@ server_url = http://assets.minecraft.net/1_4_5/minecraft_server.jar
client_md5 = b15e2b2b6b4629f0d99a95b6b44412a0
server_md5 = 250654ceae7a26ba955a30095d90a475
mcp_ver = 7.23
mcp_url = https://www.dropbox.com/s/w5vc4kfkge7jti2/mcp723.zip?dl=1
mcp_md5 = 9fbb5835b437b64bc5ce618fa5a53d1d

View file

@ -1,15 +0,0 @@
--- ../src-base/minecraft/net/minecraft/client/EntityFX.java
+++ ../src-work/minecraft/net/minecraft/client/EntityFX.java
@@ -31,9 +31,9 @@
this.func_70105_a(0.2F, 0.2F);
this.field_70129_M = this.field_70131_O / 2.0F;
this.func_70107_b(p_i3154_2_, p_i3154_4_, p_i3154_6_);
- this.field_70142_S = p_i3154_2_;
- this.field_70137_T = p_i3154_4_;
- this.field_70136_U = p_i3154_6_;
+ this.field_70169_q = p_i3154_2_;
+ this.field_70167_r = p_i3154_4_;
+ this.field_70166_s = p_i3154_6_;
this.field_70552_h = this.field_70553_i = this.field_70551_j = 1.0F;
this.field_70159_w = p_i3154_8_ + (double)((float)(Math.random() * 2.0D - 1.0D) * 0.4F);
this.field_70181_x = p_i3154_10_ + (double)((float)(Math.random() * 2.0D - 1.0D) * 0.4F);

View file

@ -0,0 +1,5 @@
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,2
[InternetShortcut]
URL=http://docs.python.org/2/license.html
IDList=

BIN
fml/python/_ctypes.pyd Normal file

Binary file not shown.

BIN
fml/python/_elementtree.pyd Normal file

Binary file not shown.

BIN
fml/python/_hashlib.pyd Normal file

Binary file not shown.

Binary file not shown.

BIN
fml/python/_socket.pyd Normal file

Binary file not shown.

BIN
fml/python/_sqlite3.pyd Normal file

Binary file not shown.

BIN
fml/python/_ssl.pyd Normal file

Binary file not shown.

BIN
fml/python/bz2.pyd Normal file

Binary file not shown.

BIN
fml/python/pyexpat.pyd Normal file

Binary file not shown.

BIN
fml/python/python27.dll Normal file

Binary file not shown.

BIN
fml/python/python27.zip Normal file

Binary file not shown.

BIN
fml/python/python_fml.exe Normal file

Binary file not shown.

BIN
fml/python/select.pyd Normal file

Binary file not shown.

BIN
fml/python/sqlite3.dll Normal file

Binary file not shown.

BIN
fml/python/unicodedata.pyd Normal file

Binary file not shown.

17
fml/updatefml.txt Normal file
View file

@ -0,0 +1,17 @@
Updating FML:
1. Grab MCP
2. Complete the mc_versions.cfg - add a new entry and update md5s from MCP
3. Copy joined.exc from MCP conf into FML conf.
4. Merge other mcp configuration changes into FML conf. (generally only mcp.cfg should need changing to update md5s)
If obfuscation changed:
5. Run the updateasmdata.py script to refresh the ASM metadata in fml_at.cfg (only
6. Inspect and update mcp_merge.cfg
7. Inspect and update fml_marker.cfg
Always:
8. Merge MCP mcmod.info into mcpmod.info and update the mcp.png graphic if necessary
9. Run ant setupenvironment to try and build the FML environment
10. Fix up any patch rejections
11. Commit the result to git
12. Tag git with a new version: git tag -a vx.y
13. Update jenkins with new MCP and jars
14. Push tags to git followed by the commit itself