Revert dumb stuff with commands patch - lots of gfx patching
This commit is contained in:
parent
0ddf61cee2
commit
8998d4c5e0
|
@ -164,6 +164,7 @@ public class FMLClientHandler implements IFMLSidedHandler
|
|||
|
||||
client = minecraft;
|
||||
ObfuscationReflectionHelper.detectObfuscation(World.class);
|
||||
TextureFXManager.instance().setClient(client);
|
||||
FMLCommonHandler.instance().beginLoading(this);
|
||||
try
|
||||
{
|
||||
|
|
|
@ -53,7 +53,12 @@ public class TextureFXManager
|
|||
private List<TextureFX> addedTextureFX = new ArrayList<TextureFX>();
|
||||
|
||||
private Minecraft client;
|
||||
|
||||
|
||||
void setClient(Minecraft client)
|
||||
{
|
||||
this.client = client;
|
||||
}
|
||||
|
||||
public boolean onUpdateTextureEffect(TextureFX effect)
|
||||
{
|
||||
ITextureFX ifx = (effect instanceof ITextureFX ? ((ITextureFX)effect) : null);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- commands.py
|
||||
+++ commands.py
|
||||
@@ -584,6 +584,9 @@
|
||||
@@ -582,6 +582,9 @@
|
||||
self.has_astyle_cfg = False
|
||||
if os.path.isfile(self.astyleconf):
|
||||
self.has_astyle_cfg = True
|
||||
|
@ -10,7 +10,15 @@
|
|||
|
||||
def creatergcfg(self, reobf=False, keep_lvt=False, keep_generics=False, rg_update=False):
|
||||
"""Create the files necessary for RetroGuard"""
|
||||
@@ -1198,20 +1201,20 @@
|
||||
@@ -1039,6 +1042,7 @@
|
||||
all_files = True
|
||||
append_pattern = False
|
||||
pkglist = filterdirs(pathsrclk[side], '*.java', append_pattern=append_pattern, all_files=all_files)
|
||||
+ pkglist = pkglist + filterdirs(self.srcshared, '*.java', append_pattern=append_pattern, all_files=all_files) #FML, Add Common folder
|
||||
dirs = ' '.join(pkglist)
|
||||
classpath = os.pathsep.join(cplk[side])
|
||||
forkcmd = self.cmdrecomp.format(classpath=classpath, sourcepath=pathsrclk[side], outpath=pathbinlk[side],
|
||||
@@ -1195,20 +1199,20 @@
|
||||
with open(self.csvmethods, 'rb') as fh:
|
||||
methodsreader = csv.DictReader(fh)
|
||||
for row in methodsreader:
|
||||
|
@ -34,7 +42,7 @@
|
|||
names['params'][row['param']] = row['name']
|
||||
|
||||
regexps = {
|
||||
@@ -1309,6 +1312,11 @@
|
||||
@@ -1238,6 +1242,11 @@
|
||||
|
||||
# HINT: We pathwalk the sources
|
||||
for path, _, filelist in os.walk(pathsrclk[side], followlinks=True):
|
||||
|
@ -46,9 +54,24 @@
|
|||
for cur_file in fnmatch.filter(filelist, '*.java'):
|
||||
updatefile(os.path.normpath(os.path.join(path, cur_file)))
|
||||
return True
|
||||
@@ -1442,6 +1450,21 @@
|
||||
if not self.has_astyle_cfg:
|
||||
self.logger.warning('!! reformatting disabled due to no config !!')
|
||||
@@ -1320,12 +1329,14 @@
|
||||
pathsrclk = {CLIENT: self.srcclient, SERVER: self.srcserver}
|
||||
|
||||
strip_comments(pathsrclk[side])
|
||||
+ strip_comments(self.srcshared)
|
||||
|
||||
def process_cleanup(self, side):
|
||||
"""Do lots of random cleanups including stripping comments, trailing whitespace and extra blank lines"""
|
||||
pathsrclk = {CLIENT: self.srcclient, SERVER: self.srcserver}
|
||||
|
||||
src_cleanup(pathsrclk[side], fix_imports=True, fix_unicode=True, fix_charval=True, fix_pi=True, fix_round=False)
|
||||
+ src_cleanup(self.srcshared, fix_imports=True, fix_unicode=True, fix_charval=True, fix_pi=True, fix_round=False)
|
||||
|
||||
def process_javadoc(self, side):
|
||||
"""Add CSV descriptions to methods and fields as javadoc"""
|
||||
@@ -1334,6 +1345,21 @@
|
||||
if not self.has_doc_csv:
|
||||
self.logger.warning('!! javadoc disabled due to no csvs !!')
|
||||
return False
|
||||
+
|
||||
+ #FML Recall this function on the common folder
|
||||
|
@ -66,15 +89,39 @@
|
|||
+ self.srcserver = tmp
|
||||
+
|
||||
|
||||
#HINT: We read the relevant CSVs
|
||||
methodsreader = csv.DictReader(open(self.csvmethods, 'r'))
|
||||
@@ -1342,13 +1368,13 @@
|
||||
methods = {}
|
||||
for row in methodsreader:
|
||||
#HINT: Only include methods that have a non-empty description
|
||||
- if int(row['side']) == side and row['desc']:
|
||||
+ if (int(row['side']) == side or int(row['side']) == 2) and row['desc']:
|
||||
methods[row['searge']] = row['desc'].replace('*/', '* /')
|
||||
|
||||
fields = {}
|
||||
for row in fieldsreader:
|
||||
#HINT: Only include fields that have a non-empty description
|
||||
- if int(row['side']) == side and row['desc']:
|
||||
+ if (int(row['side']) == side or int(row['side']) == 2) and row['desc']:
|
||||
fields[row['searge']] = row['desc'].replace('*/', '* /')
|
||||
|
||||
regexps = {
|
||||
@@ -1420,6 +1446,7 @@
|
||||
|
||||
# HINT: We create the list of source directories based on the list of packages
|
||||
pkglist = filterdirs(pathsrclk[side], '*.java', append_pattern=True)
|
||||
@@ -1591,6 +1614,9 @@
|
||||
return
|
||||
+ pkglist = pkglist + filterdirs(self.srcshared, '*.java', append_pattern=True) #FML, Add Common folder
|
||||
dirs = ' '.join(pkglist)
|
||||
forkcmd = self.cmdastyle.format(classes=dirs, conffile=self.astyleconf)
|
||||
self.runcmd(forkcmd)
|
||||
@@ -1592,6 +1619,9 @@
|
||||
sys.exit(1)
|
||||
|
||||
for entry in newfiles:
|
||||
+ if 'commands.py' in entry[0]: #FML, Disable updating of Commands.py
|
||||
+ print 'Update to runtime/commands.py found, but disbled due to using fml'
|
||||
+ continue
|
||||
if entry[3] == 'U':
|
||||
self.logger.info('New version found for : %s', entry[0])
|
||||
elif entry[3] == 'D':
|
||||
self.logger.info('Retrieving file from server : %s', entry[0])
|
||||
cur_file = os.path.normpath(entry[0])
|
||||
|
|
|
@ -7,6 +7,7 @@ import java.util.Map;
|
|||
import java.util.Set;
|
||||
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.src.EntityPlayer;
|
||||
import net.minecraft.src.EntityPlayerMP;
|
||||
import net.minecraft.src.EnumGameType;
|
||||
import net.minecraft.src.IntegratedServer;
|
||||
|
@ -14,6 +15,7 @@ import net.minecraft.src.NetHandler;
|
|||
import net.minecraft.src.NetLoginHandler;
|
||||
import net.minecraft.src.NetServerHandler;
|
||||
import net.minecraft.src.NetworkManager;
|
||||
import net.minecraft.src.Packet;
|
||||
import net.minecraft.src.Packet1Login;
|
||||
import net.minecraft.src.Packet250CustomPayload;
|
||||
import net.minecraft.src.ServerConfigurationManager;
|
||||
|
@ -196,13 +198,17 @@ public class FMLNetworkHandler
|
|||
return pkt;
|
||||
}
|
||||
|
||||
public void registerNetworkMod(NetworkModHandler handler)
|
||||
{
|
||||
networkModHandlers.put(handler.getContainer(), handler);
|
||||
networkIdLookup.put(handler.getNetworkId(), handler);
|
||||
}
|
||||
public boolean registerNetworkMod(ModContainer container, Class<?> networkModClass, ASMDataTable asmData)
|
||||
{
|
||||
NetworkModHandler handler = new NetworkModHandler(container, networkModClass, asmData);
|
||||
if (handler.isNetworkMod())
|
||||
{
|
||||
networkModHandlers.put(container, handler);
|
||||
networkIdLookup.put(handler.getNetworkId(), handler);
|
||||
registerNetworkMod(handler);
|
||||
}
|
||||
|
||||
return handler.isNetworkMod();
|
||||
|
@ -261,4 +267,9 @@ public class FMLNetworkHandler
|
|||
{
|
||||
NetworkRegistry.instance().connectionClosed(manager);
|
||||
}
|
||||
|
||||
|
||||
public static void sendPacket(Player player, Packet packet)
|
||||
{
|
||||
}
|
||||
}
|
|
@ -13,7 +13,7 @@ public class FMLCorePlugin implements IFMLLoadingPlugin
|
|||
@Override
|
||||
public String[] getASMTransformerClass()
|
||||
{
|
||||
return new String[] {"cpw.mods.fml.common.asm.ASMTransformer", "cpw.mods.fml.common.asm.MarkerTransformer"};
|
||||
return new String[] {"cpw.mods.fml.common.asm.transformers.AccessTransformer", "cpw.mods.fml.common.asm.transformers.MarkerTransformer"};
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,17 +1,16 @@
|
|||
package cpw.mods.fml.relauncher;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
import java.net.URLClassLoader;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Level;
|
||||
|
||||
public class RelaunchClassLoader extends URLClassLoader
|
||||
{
|
||||
|
@ -49,7 +48,7 @@ public class RelaunchClassLoader extends URLClassLoader
|
|||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
// error registering transformer
|
||||
FMLRelaunchLog.log(Level.SEVERE, e, "A critical problem occured registering the ASM transformer class %s", transformerClassName);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
# Marker interfaces to add to minecraft - helps in bukkit and client/server unification
|
||||
# Only runs at runtime because it's not necessary at compile time
|
||||
# has deobf and obf mappings so it runs OK in mcp
|
||||
# entityplayer -> network/player
|
||||
of cpw/mods/fml/common/network/Player
|
||||
net.minecraft.src.EntityPlayer cpw/mods/fml/common/network/Player
|
||||
# block -> blockproxy
|
||||
aif cpw/mods/fml/common/registry/BlockProxy
|
||||
net/minecraft/src/Block cpw/mods/fml/common/registry/BlockProxy
|
||||
# item -> itemproxy
|
||||
rg cpw/mods/fml/common/registry/ItemProxy
|
||||
rg cpw/mods/fml/common/registry/ItemProxy
|
||||
net/minecraft/src/Item cpw/mods/fml/common/registry/ItemProxy
|
|
@ -0,0 +1,19 @@
|
|||
--- ../src-base/minecraft/net/minecraft/src/MemoryConnection.java
|
||||
+++ ../src-work/minecraft/net/minecraft/src/MemoryConnection.java
|
||||
@@ -6,6 +6,8 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
+
|
||||
+import cpw.mods.fml.common.network.FMLNetworkHandler;
|
||||
|
||||
public class MemoryConnection implements NetworkManager
|
||||
{
|
||||
@@ -67,6 +69,7 @@
|
||||
if (this.field_74441_e && this.field_74442_b.isEmpty())
|
||||
{
|
||||
this.field_74440_d.func_72515_a(this.field_74438_f, this.field_74439_g);
|
||||
+ FMLNetworkHandler.onConnectionClosed(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,139 @@
|
|||
--- ../src-base/minecraft/net/minecraft/src/RenderEngine.java
|
||||
+++ ../src-work/minecraft/net/minecraft/src/RenderEngine.java
|
||||
@@ -1,6 +1,7 @@
|
||||
package net.minecraft.src;
|
||||
|
||||
import java.awt.Color;
|
||||
+import java.awt.Dimension;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.awt.image.ImageObserver;
|
||||
@@ -13,8 +14,14 @@
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
+import java.util.logging.Level;
|
||||
+import java.util.logging.Logger;
|
||||
+
|
||||
import javax.imageio.ImageIO;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
+
|
||||
+import cpw.mods.fml.client.TextureFXManager;
|
||||
+import cpw.mods.fml.common.FMLLog;
|
||||
|
||||
public class RenderEngine
|
||||
{
|
||||
@@ -30,6 +37,7 @@
|
||||
public boolean field_78361_b = false;
|
||||
private TexturePackList field_78366_k;
|
||||
private BufferedImage field_78364_l = new BufferedImage(64, 64, 2);
|
||||
+ public static Logger log = FMLLog.getLogger();
|
||||
|
||||
public RenderEngine(TexturePackList p_i3192_1_, GameSettings p_i3192_2_)
|
||||
{
|
||||
@@ -94,8 +102,9 @@
|
||||
this.field_78359_d.put(p_78346_1_, var7);
|
||||
return var7;
|
||||
}
|
||||
- catch (IOException var6)
|
||||
- {
|
||||
+ catch (Exception var6)
|
||||
+ {
|
||||
+ log.log(Level.INFO, String.format("An error occured reading texture file %s (getTexture)", p_78346_1_), var6);
|
||||
var6.printStackTrace();
|
||||
int[] var5 = this.func_78348_b(this.field_78364_l);
|
||||
this.field_78359_d.put(p_78346_1_, var5);
|
||||
@@ -242,6 +251,7 @@
|
||||
|
||||
int var3 = p_78351_1_.getWidth();
|
||||
int var4 = p_78351_1_.getHeight();
|
||||
+ TextureFXManager.instance().setTextureDimensions(p_78351_2_, var3, var4, (List<TextureFX>)field_78367_h);
|
||||
int[] var5 = new int[var3 * var4];
|
||||
byte[] var6 = new byte[var3 * var4 * 4];
|
||||
p_78351_1_.getRGB(0, 0, var3, var4, var5, 0, var3);
|
||||
@@ -397,6 +407,7 @@
|
||||
|
||||
public void func_78355_a(TextureFX p_78355_1_)
|
||||
{
|
||||
+ TextureFXManager.instance().onPreRegisterEffect(p_78355_1_);
|
||||
this.field_78367_h.add(p_78355_1_);
|
||||
p_78355_1_.func_76846_a();
|
||||
}
|
||||
@@ -404,16 +415,31 @@
|
||||
public void func_78343_a()
|
||||
{
|
||||
int var1 = -1;
|
||||
- Iterator var2 = this.field_78367_h.iterator();
|
||||
-
|
||||
- while (var2.hasNext())
|
||||
- {
|
||||
- TextureFX var3 = (TextureFX)var2.next();
|
||||
+
|
||||
+ for (int var2 = 0; var2 < this.field_78367_h.size(); ++var2)
|
||||
+ {
|
||||
+ TextureFX var3 = (TextureFX)this.field_78367_h.get(var2);
|
||||
var3.field_76851_c = this.field_78365_j.field_74337_g;
|
||||
- var3.func_76846_a();
|
||||
- this.field_78358_g.clear();
|
||||
- this.field_78358_g.put(var3.field_76852_a);
|
||||
- this.field_78358_g.position(0).limit(var3.field_76852_a.length);
|
||||
+ if (!TextureFXManager.instance().onUpdateTextureEffect(var3))
|
||||
+ {
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ Dimension dim = TextureFXManager.instance().getTextureDimensions(var3);
|
||||
+ int tWidth = dim.width >> 4;
|
||||
+ int tHeight = dim.height >> 4;
|
||||
+ int tLen = tWidth * tHeight << 2;
|
||||
+
|
||||
+ if (var3.field_76852_a.length == tLen)
|
||||
+ {
|
||||
+ this.field_78358_g.clear();
|
||||
+ this.field_78358_g.put(var3.field_76852_a);
|
||||
+ this.field_78358_g.position(0).limit(var3.field_76852_a.length);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ TextureFXManager.instance().scaleTextureFXData(var3.field_76852_a, field_78358_g, tWidth, tLen);
|
||||
+ }
|
||||
|
||||
if (var3.field_76850_b != var1)
|
||||
{
|
||||
@@ -423,9 +449,11 @@
|
||||
|
||||
for (int var4 = 0; var4 < var3.field_76849_e; ++var4)
|
||||
{
|
||||
+ int xOffset = var3.field_76850_b % 16 * tWidth + var4 * tWidth;
|
||||
for (int var5 = 0; var5 < var3.field_76849_e; ++var5)
|
||||
{
|
||||
- GL11.glTexSubImage2D(GL11.GL_TEXTURE_2D, 0, var3.field_76850_b % 16 * 16 + var4 * 16, var3.field_76850_b / 16 * 16 + var5 * 16, 16, 16, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, this.field_78358_g);
|
||||
+ int yOffset = var3.field_76850_b / 16 * tHeight + var5 * tHeight;
|
||||
+ GL11.glTexSubImage2D(GL11.GL_TEXTURE_2D, 0, xOffset, yOffset, tWidth, tHeight, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, this.field_78358_g);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -490,8 +518,9 @@
|
||||
this.field_78361_b = false;
|
||||
this.field_78363_a = false;
|
||||
}
|
||||
- catch (IOException var7)
|
||||
- {
|
||||
+ catch (Exception var7)
|
||||
+ {
|
||||
+ log.log(Level.INFO,String.format("An error occured reading texture file %s (refreshTexture)", var9),var7);
|
||||
var7.printStackTrace();
|
||||
}
|
||||
}
|
||||
@@ -527,8 +556,9 @@
|
||||
this.field_78361_b = false;
|
||||
this.field_78363_a = false;
|
||||
}
|
||||
- catch (IOException var6)
|
||||
- {
|
||||
+ catch (Exception var6)
|
||||
+ {
|
||||
+ log.log(Level.INFO,String.format("An error occured reading texture file data %s (refreshTexture)", var9),var6);
|
||||
var6.printStackTrace();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
--- ../src-base/minecraft/net/minecraft/src/TcpConnection.java
|
||||
+++ ../src-work/minecraft/net/minecraft/src/TcpConnection.java
|
||||
@@ -14,6 +14,8 @@
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import javax.crypto.SecretKey;
|
||||
+
|
||||
+import cpw.mods.fml.common.network.FMLNetworkHandler;
|
||||
|
||||
public class TcpConnection implements NetworkManager
|
||||
{
|
||||
@@ -373,6 +375,7 @@
|
||||
if (this.field_74472_n && this.field_74473_o.isEmpty())
|
||||
{
|
||||
this.field_74485_r.func_72515_a(this.field_74481_v, this.field_74480_w);
|
||||
+ FMLNetworkHandler.onConnectionClosed(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
--- ../src-base/minecraft/net/minecraft/src/TextureCompassFX.java
|
||||
+++ ../src-work/minecraft/net/minecraft/src/TextureCompassFX.java
|
||||
@@ -3,9 +3,10 @@
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
import javax.imageio.ImageIO;
|
||||
+import cpw.mods.fml.client.FMLTextureFX;
|
||||
import net.minecraft.client.Minecraft;
|
||||
|
||||
-public class TextureCompassFX extends TextureFX
|
||||
+public class TextureCompassFX extends FMLTextureFX
|
||||
{
|
||||
private Minecraft field_76865_g;
|
||||
private int[] field_76867_h = new int[256];
|
||||
@@ -17,13 +18,19 @@
|
||||
super(Item.field_77750_aQ.func_77617_a(0));
|
||||
this.field_76865_g = p_i3212_1_;
|
||||
this.field_76847_f = 1;
|
||||
-
|
||||
+ setup();
|
||||
+ }
|
||||
+ @Override
|
||||
+ public void setup()
|
||||
+ {
|
||||
+ super.setup();
|
||||
+ field_76867_h = new int[tileSizeSquare];
|
||||
try
|
||||
{
|
||||
- BufferedImage var2 = ImageIO.read(Minecraft.class.getResource("/gui/items.png"));
|
||||
- int var3 = this.field_76850_b % 16 * 16;
|
||||
- int var4 = this.field_76850_b / 16 * 16;
|
||||
- var2.getRGB(var3, var4, 16, 16, this.field_76867_h, 0, 16);
|
||||
+ BufferedImage var2 = ImageIO.read(field_76865_g.field_71418_C.func_77292_e().func_77532_a("/gui/items.png"));
|
||||
+ int var3 = this.field_76850_b % 16 * tileSizeBase;
|
||||
+ int var4 = this.field_76850_b / 16 * tileSizeBase;
|
||||
+ var2.getRGB(var3, var4, tileSizeBase, tileSizeBase, this.field_76867_h, 0, tileSizeBase);
|
||||
}
|
||||
catch (IOException var5)
|
||||
{
|
||||
@@ -33,7 +40,7 @@
|
||||
|
||||
public void func_76846_a()
|
||||
{
|
||||
- for (int var1 = 0; var1 < 256; ++var1)
|
||||
+ for (int var1 = 0; var1 < tileSizeSquare; ++var1)
|
||||
{
|
||||
int var2 = this.field_76867_h[var1] >> 24 & 255;
|
||||
int var3 = this.field_76867_h[var1] >> 16 & 255;
|
||||
@@ -110,11 +117,11 @@
|
||||
int var19;
|
||||
int var18;
|
||||
|
||||
- for (var9 = -4; var9 <= 4; ++var9)
|
||||
+ for (var9 = -(tileSizeBase >> 2); var9 <= (tileSizeBase >> 2); ++var9)
|
||||
{
|
||||
- var10 = (int)(8.5D + var26 * (double)var9 * 0.3D);
|
||||
- var11 = (int)(7.5D - var24 * (double)var9 * 0.3D * 0.5D);
|
||||
- var12 = var11 * 16 + var10;
|
||||
+ var10 = (int)((tileSizeBase >> 1) + 0.5D + var26 * (double)var9 * 0.3D);
|
||||
+ var11 = (int)((tileSizeBase >> 1) - 0.5D - var24 * (double)var9 * 0.3D * 0.5D);
|
||||
+ var12 = var11 * tileSizeBase + var10;
|
||||
var13 = 100;
|
||||
var14 = 100;
|
||||
var15 = 100;
|
||||
@@ -136,11 +143,11 @@
|
||||
this.field_76852_a[var12 * 4 + 3] = (byte)var16;
|
||||
}
|
||||
|
||||
- for (var9 = -8; var9 <= 16; ++var9)
|
||||
+ for (var9 = -(tileSizeBase>>2); var9 <= tileSizeBase; ++var9)
|
||||
{
|
||||
- var10 = (int)(8.5D + var24 * (double)var9 * 0.3D);
|
||||
- var11 = (int)(7.5D + var26 * (double)var9 * 0.3D * 0.5D);
|
||||
- var12 = var11 * 16 + var10;
|
||||
+ var10 = (int)((tileSizeBase >> 1) + 0.5D + var24 * (double)var9 * 0.3D);
|
||||
+ var11 = (int)((tileSizeBase >> 1) - 0.5D + var26 * (double)var9 * 0.3D * 0.5D);
|
||||
+ var12 = var11 * tileSizeBase + var10;
|
||||
var13 = var9 >= 0 ? 255 : 100;
|
||||
var14 = var9 >= 0 ? 20 : 100;
|
||||
var15 = var9 >= 0 ? 20 : 100;
|
|
@ -0,0 +1,88 @@
|
|||
--- ../src-base/minecraft/net/minecraft/src/TextureFlamesFX.java
|
||||
+++ ../src-work/minecraft/net/minecraft/src/TextureFlamesFX.java
|
||||
@@ -1,13 +1,29 @@
|
||||
package net.minecraft.src;
|
||||
|
||||
-public class TextureFlamesFX extends TextureFX
|
||||
+import cpw.mods.fml.client.FMLTextureFX;
|
||||
+
|
||||
+public class TextureFlamesFX extends FMLTextureFX
|
||||
{
|
||||
protected float[] field_76869_g = new float[320];
|
||||
protected float[] field_76870_h = new float[320];
|
||||
+ private int fireTileSize = 20;
|
||||
+ private int fireGridSize = 320;
|
||||
+
|
||||
|
||||
public TextureFlamesFX(int p_i3215_1_)
|
||||
{
|
||||
super(Block.field_72067_ar.field_72059_bZ + p_i3215_1_ * 16);
|
||||
+ setup();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setup()
|
||||
+ {
|
||||
+ super.setup();
|
||||
+ fireTileSize = tileSizeBase + (tileSizeBase >> 2);
|
||||
+ fireGridSize = fireTileSize * tileSizeBase;
|
||||
+ field_76869_g = new float[fireGridSize];
|
||||
+ field_76870_h = new float[fireGridSize];
|
||||
}
|
||||
|
||||
public void func_76846_a()
|
||||
@@ -16,31 +32,36 @@
|
||||
float var4;
|
||||
int var6;
|
||||
|
||||
- for (int var1 = 0; var1 < 16; ++var1)
|
||||
+ float fireFactor1 = 3.0F + (float)(tileSizeBase >> 4);
|
||||
+
|
||||
+ float fireFactor2 = 1.01F + (0.8F / tileSizeBase);
|
||||
+
|
||||
+ for (int var1 = 0; var1 < tileSizeBase; ++var1)
|
||||
{
|
||||
- for (int var2 = 0; var2 < 20; ++var2)
|
||||
+ for (int var2 = 0; var2 < fireTileSize; ++var2)
|
||||
{
|
||||
- var3 = 18;
|
||||
- var4 = this.field_76869_g[var1 + (var2 + 1) % 20 * 16] * (float)var3;
|
||||
+ var3 = fireTileSize - (tileSizeBase >> 3);
|
||||
+
|
||||
+ var4 = this.field_76869_g[var1 + (var2 + 1) % fireTileSize * tileSizeBase] * (float)var3;
|
||||
|
||||
for (int var5 = var1 - 1; var5 <= var1 + 1; ++var5)
|
||||
{
|
||||
for (var6 = var2; var6 <= var2 + 1; ++var6)
|
||||
{
|
||||
- if (var5 >= 0 && var6 >= 0 && var5 < 16 && var6 < 20)
|
||||
+ if (var5 >= 0 && var6 >= 0 && var5 < tileSizeBase && var6 < fireTileSize)
|
||||
{
|
||||
- var4 += this.field_76869_g[var5 + var6 * 16];
|
||||
+ var4 += this.field_76869_g[var5 + var6 * tileSizeBase];
|
||||
}
|
||||
|
||||
++var3;
|
||||
}
|
||||
}
|
||||
|
||||
- this.field_76870_h[var1 + var2 * 16] = var4 / ((float)var3 * 1.0600001F);
|
||||
+ this.field_76870_h[var1 + var2 * tileSizeBase] = var4 / ((float)var3 * fireFactor2);
|
||||
|
||||
- if (var2 >= 19)
|
||||
+ if (var2 >= fireTileSize - (tileSizeBase >> 4))
|
||||
{
|
||||
- this.field_76870_h[var1 + var2 * 16] = (float)(Math.random() * Math.random() * Math.random() * 4.0D + Math.random() * 0.10000000149011612D + 0.20000000298023224D);
|
||||
+ this.field_76870_h[var1 + var2 * tileSizeBase] = (float)(Math.random() * Math.random() * Math.random() * fireFactor1 + Math.random() * 0.1F + 0.2F);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -49,7 +70,7 @@
|
||||
this.field_76870_h = this.field_76869_g;
|
||||
this.field_76869_g = var13;
|
||||
|
||||
- for (var3 = 0; var3 < 256; ++var3)
|
||||
+ for (var3 = 0; var3 < tileSizeSquare; ++var3)
|
||||
{
|
||||
var4 = this.field_76869_g[var3] * 1.8F;
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
--- ../src-base/minecraft/net/minecraft/src/TextureLavaFX.java
|
||||
+++ ../src-work/minecraft/net/minecraft/src/TextureLavaFX.java
|
||||
@@ -1,6 +1,8 @@
|
||||
package net.minecraft.src;
|
||||
|
||||
-public class TextureLavaFX extends TextureFX
|
||||
+import cpw.mods.fml.client.FMLTextureFX;
|
||||
+
|
||||
+public class TextureLavaFX extends FMLTextureFX
|
||||
{
|
||||
protected float[] field_76876_g = new float[256];
|
||||
protected float[] field_76878_h = new float[256];
|
||||
@@ -10,6 +12,17 @@
|
||||
public TextureLavaFX()
|
||||
{
|
||||
super(Block.field_71944_C.field_72059_bZ);
|
||||
+ setup();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setup()
|
||||
+ {
|
||||
+ super.setup();
|
||||
+ field_76876_g = new float[tileSizeSquare];
|
||||
+ field_76878_h = new float[tileSizeSquare];
|
||||
+ field_76879_i = new float[tileSizeSquare];
|
||||
+ field_76877_j = new float[tileSizeSquare];
|
||||
}
|
||||
|
||||
public void func_76846_a()
|
||||
@@ -22,9 +35,9 @@
|
||||
int var8;
|
||||
int var9;
|
||||
|
||||
- for (int var1 = 0; var1 < 16; ++var1)
|
||||
+ for (int var1 = 0; var1 < tileSizeBase; ++var1)
|
||||
{
|
||||
- for (var2 = 0; var2 < 16; ++var2)
|
||||
+ for (var2 = 0; var2 < tileSizeBase; ++var2)
|
||||
{
|
||||
var3 = 0.0F;
|
||||
int var4 = (int)(MathHelper.func_76126_a((float)var2 * (float)Math.PI * 2.0F / 16.0F) * 1.2F);
|
||||
@@ -34,25 +47,25 @@
|
||||
{
|
||||
for (var7 = var2 - 1; var7 <= var2 + 1; ++var7)
|
||||
{
|
||||
- var8 = var6 + var4 & 15;
|
||||
- var9 = var7 + var5 & 15;
|
||||
- var3 += this.field_76876_g[var8 + var9 * 16];
|
||||
+ var8 = var6 + var4 & tileSizeMask;
|
||||
+ var9 = var7 + var5 & tileSizeMask;
|
||||
+ var3 += this.field_76876_g[var8 + var9 * tileSizeBase];
|
||||
}
|
||||
}
|
||||
|
||||
- this.field_76878_h[var1 + var2 * 16] = var3 / 10.0F + (this.field_76879_i[(var1 + 0 & 15) + (var2 + 0 & 15) * 16] + this.field_76879_i[(var1 + 1 & 15) + (var2 + 0 & 15) * 16] + this.field_76879_i[(var1 + 1 & 15) + (var2 + 1 & 15) * 16] + this.field_76879_i[(var1 + 0 & 15) + (var2 + 1 & 15) * 16]) / 4.0F * 0.8F;
|
||||
- this.field_76879_i[var1 + var2 * 16] += this.field_76877_j[var1 + var2 * 16] * 0.01F;
|
||||
+ this.field_76878_h[var1 + var2 * tileSizeBase] = var3 / 10.0F + (this.field_76879_i[(var1 + 0 & tileSizeMask) + (var2 + 0 & tileSizeMask) * tileSizeBase] + this.field_76879_i[(var1 + 1 & tileSizeMask) + (var2 + 0 & tileSizeMask) * tileSizeBase] + this.field_76879_i[(var1 + 1 & tileSizeMask) + (var2 + 1 & tileSizeMask) * tileSizeBase] + this.field_76879_i[(var1 + 0 & tileSizeMask) + (var2 + 1 & tileSizeMask) * tileSizeBase]) / 4.0F * 0.8F;
|
||||
+ this.field_76879_i[var1 + var2 * tileSizeBase] += this.field_76877_j[var1 + var2 * tileSizeBase] * 0.01F;
|
||||
|
||||
- if (this.field_76879_i[var1 + var2 * 16] < 0.0F)
|
||||
+ if (this.field_76879_i[var1 + var2 * tileSizeBase] < 0.0F)
|
||||
{
|
||||
- this.field_76879_i[var1 + var2 * 16] = 0.0F;
|
||||
+ this.field_76879_i[var1 + var2 * tileSizeBase] = 0.0F;
|
||||
}
|
||||
|
||||
- this.field_76877_j[var1 + var2 * 16] -= 0.06F;
|
||||
+ this.field_76877_j[var1 + var2 * tileSizeBase] -= 0.06F;
|
||||
|
||||
if (Math.random() < 0.005D)
|
||||
{
|
||||
- this.field_76877_j[var1 + var2 * 16] = 1.5F;
|
||||
+ this.field_76877_j[var1 + var2 * tileSizeBase] = 1.5F;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -61,7 +74,7 @@
|
||||
this.field_76878_h = this.field_76876_g;
|
||||
this.field_76876_g = var11;
|
||||
|
||||
- for (var2 = 0; var2 < 256; ++var2)
|
||||
+ for (var2 = 0; var2 < tileSizeSquare; ++var2)
|
||||
{
|
||||
var3 = this.field_76876_g[var2] * 2.0F;
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
--- ../src-base/minecraft/net/minecraft/src/TextureLavaFlowFX.java
|
||||
+++ ../src-work/minecraft/net/minecraft/src/TextureLavaFlowFX.java
|
||||
@@ -1,6 +1,8 @@
|
||||
package net.minecraft.src;
|
||||
|
||||
-public class TextureLavaFlowFX extends TextureFX
|
||||
+import cpw.mods.fml.client.FMLTextureFX;
|
||||
+
|
||||
+public class TextureLavaFlowFX extends FMLTextureFX
|
||||
{
|
||||
protected float[] field_76871_g = new float[256];
|
||||
protected float[] field_76874_h = new float[256];
|
||||
@@ -12,6 +14,18 @@
|
||||
{
|
||||
super(Block.field_71944_C.field_72059_bZ + 1);
|
||||
this.field_76849_e = 2;
|
||||
+ setup();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setup()
|
||||
+ {
|
||||
+ super.setup();
|
||||
+ field_76871_g = new float[tileSizeSquare];
|
||||
+ field_76874_h = new float[tileSizeSquare];
|
||||
+ field_76875_i = new float[tileSizeSquare];
|
||||
+ field_76872_j = new float[tileSizeSquare];
|
||||
+ field_76873_k = 0;
|
||||
}
|
||||
|
||||
public void func_76846_a()
|
||||
@@ -25,9 +39,9 @@
|
||||
int var8;
|
||||
int var9;
|
||||
|
||||
- for (int var1 = 0; var1 < 16; ++var1)
|
||||
+ for (int var1 = 0; var1 < tileSizeBase; ++var1)
|
||||
{
|
||||
- for (var2 = 0; var2 < 16; ++var2)
|
||||
+ for (var2 = 0; var2 < tileSizeBase; ++var2)
|
||||
{
|
||||
var3 = 0.0F;
|
||||
int var4 = (int)(MathHelper.func_76126_a((float)var2 * (float)Math.PI * 2.0F / 16.0F) * 1.2F);
|
||||
@@ -37,25 +51,25 @@
|
||||
{
|
||||
for (var7 = var2 - 1; var7 <= var2 + 1; ++var7)
|
||||
{
|
||||
- var8 = var6 + var4 & 15;
|
||||
- var9 = var7 + var5 & 15;
|
||||
- var3 += this.field_76871_g[var8 + var9 * 16];
|
||||
+ var8 = var6 + var4 & tileSizeMask;
|
||||
+ var9 = var7 + var5 & tileSizeMask;
|
||||
+ var3 += this.field_76871_g[var8 + var9 * tileSizeBase];
|
||||
}
|
||||
}
|
||||
|
||||
- this.field_76874_h[var1 + var2 * 16] = var3 / 10.0F + (this.field_76875_i[(var1 + 0 & 15) + (var2 + 0 & 15) * 16] + this.field_76875_i[(var1 + 1 & 15) + (var2 + 0 & 15) * 16] + this.field_76875_i[(var1 + 1 & 15) + (var2 + 1 & 15) * 16] + this.field_76875_i[(var1 + 0 & 15) + (var2 + 1 & 15) * 16]) / 4.0F * 0.8F;
|
||||
- this.field_76875_i[var1 + var2 * 16] += this.field_76872_j[var1 + var2 * 16] * 0.01F;
|
||||
+ this.field_76874_h[var1 + var2 * tileSizeBase] = var3 / 10.0F + (this.field_76875_i[(var1 + 0 & tileSizeMask) + (var2 + 0 & tileSizeMask) * tileSizeBase] + this.field_76875_i[(var1 + 1 & tileSizeMask) + (var2 + 0 & tileSizeMask) * tileSizeBase] + this.field_76875_i[(var1 + 1 & tileSizeMask) + (var2 + 1 & tileSizeMask) * tileSizeBase] + this.field_76875_i[(var1 + 0 & tileSizeMask) + (var2 + 1 & tileSizeMask) * tileSizeBase]) / 4.0F * 0.8F;
|
||||
+ this.field_76875_i[var1 + var2 * tileSizeBase] += this.field_76872_j[var1 + var2 * tileSizeBase] * 0.01F;
|
||||
|
||||
- if (this.field_76875_i[var1 + var2 * 16] < 0.0F)
|
||||
+ if (this.field_76875_i[var1 + var2 * tileSizeBase] < 0.0F)
|
||||
{
|
||||
- this.field_76875_i[var1 + var2 * 16] = 0.0F;
|
||||
+ this.field_76875_i[var1 + var2 * tileSizeBase] = 0.0F;
|
||||
}
|
||||
|
||||
- this.field_76872_j[var1 + var2 * 16] -= 0.06F;
|
||||
+ this.field_76872_j[var1 + var2 * tileSizeBase] -= 0.06F;
|
||||
|
||||
if (Math.random() < 0.005D)
|
||||
{
|
||||
- this.field_76872_j[var1 + var2 * 16] = 1.5F;
|
||||
+ this.field_76872_j[var1 + var2 * tileSizeBase] = 1.5F;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -64,9 +78,9 @@
|
||||
this.field_76874_h = this.field_76871_g;
|
||||
this.field_76871_g = var11;
|
||||
|
||||
- for (var2 = 0; var2 < 256; ++var2)
|
||||
+ for (var2 = 0; var2 < tileSizeSquare; ++var2)
|
||||
{
|
||||
- var3 = this.field_76871_g[var2 - this.field_76873_k / 3 * 16 & 255] * 2.0F;
|
||||
+ var3 = this.field_76871_g[(var2 - this.field_76873_k / 3 * tileSizeBase) & tileSizeSquareMask] * 2.0F;
|
||||
|
||||
if (var3 > 1.0F)
|
||||
{
|
|
@ -0,0 +1,70 @@
|
|||
--- ../src-base/minecraft/net/minecraft/src/TexturePortalFX.java
|
||||
+++ ../src-work/minecraft/net/minecraft/src/TexturePortalFX.java
|
||||
@@ -2,31 +2,41 @@
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
-public class TexturePortalFX extends TextureFX
|
||||
+import cpw.mods.fml.client.FMLTextureFX;
|
||||
+
|
||||
+public class TexturePortalFX extends FMLTextureFX
|
||||
{
|
||||
private int field_76853_g = 0;
|
||||
- private byte[][] field_76854_h = new byte[32][1024];
|
||||
+ private byte[][] field_76854_h;
|
||||
|
||||
public TexturePortalFX()
|
||||
{
|
||||
super(Block.field_72015_be.field_72059_bZ);
|
||||
+ setup();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setup()
|
||||
+ {
|
||||
+ super.setup();
|
||||
+ field_76854_h = new byte[32][tileSizeSquare << 4];
|
||||
Random var1 = new Random(100L);
|
||||
|
||||
for (int var2 = 0; var2 < 32; ++var2)
|
||||
{
|
||||
- for (int var3 = 0; var3 < 16; ++var3)
|
||||
+ for (int var3 = 0; var3 < tileSizeBase; ++var3)
|
||||
{
|
||||
- for (int var4 = 0; var4 < 16; ++var4)
|
||||
+ for (int var4 = 0; var4 < tileSizeBase; ++var4)
|
||||
{
|
||||
float var5 = 0.0F;
|
||||
int var6;
|
||||
|
||||
for (var6 = 0; var6 < 2; ++var6)
|
||||
{
|
||||
- float var7 = (float)(var6 * 16) * 0.5F;
|
||||
- float var8 = (float)(var6 * 16) * 0.5F;
|
||||
- float var9 = ((float)var3 - var7) / 16.0F * 2.0F;
|
||||
- float var10 = ((float)var4 - var8) / 16.0F * 2.0F;
|
||||
+ float var7 = (float)(var6 * tileSizeBase) * 0.5F;
|
||||
+ float var8 = (float)(var6 * tileSizeBase) * 0.5F;
|
||||
+ float var9 = ((float)var3 - var7) / (float)tileSizeBase * 2.0F;
|
||||
+ float var10 = ((float)var4 - var8) / (float)tileSizeBase * 2.0F;
|
||||
|
||||
if (var9 < -1.0F)
|
||||
{
|
||||
@@ -60,7 +70,7 @@
|
||||
int var13 = (int)(var5 * var5 * 200.0F + 55.0F);
|
||||
int var14 = (int)(var5 * var5 * var5 * var5 * 255.0F);
|
||||
int var15 = (int)(var5 * 100.0F + 155.0F);
|
||||
- int var16 = var4 * 16 + var3;
|
||||
+ int var16 = var4 * tileSizeBase + var3;
|
||||
this.field_76854_h[var2][var16 * 4 + 0] = (byte)var13;
|
||||
this.field_76854_h[var2][var16 * 4 + 1] = (byte)var14;
|
||||
this.field_76854_h[var2][var16 * 4 + 2] = (byte)var6;
|
||||
@@ -75,7 +85,7 @@
|
||||
++this.field_76853_g;
|
||||
byte[] var1 = this.field_76854_h[this.field_76853_g & 31];
|
||||
|
||||
- for (int var2 = 0; var2 < 256; ++var2)
|
||||
+ for (int var2 = 0; var2 < tileSizeSquare; ++var2)
|
||||
{
|
||||
int var3 = var1[var2 * 4 + 0] & 255;
|
||||
int var4 = var1[var2 * 4 + 1] & 255;
|
|
@ -0,0 +1,118 @@
|
|||
--- ../src-base/minecraft/net/minecraft/src/TextureWatchFX.java
|
||||
+++ ../src-work/minecraft/net/minecraft/src/TextureWatchFX.java
|
||||
@@ -1,11 +1,17 @@
|
||||
package net.minecraft.src;
|
||||
|
||||
+import java.awt.Graphics2D;
|
||||
import java.awt.image.BufferedImage;
|
||||
+import java.awt.image.ImageObserver;
|
||||
import java.io.IOException;
|
||||
+import java.util.logging.Level;
|
||||
+
|
||||
import javax.imageio.ImageIO;
|
||||
+
|
||||
+import cpw.mods.fml.client.FMLTextureFX;
|
||||
import net.minecraft.client.Minecraft;
|
||||
|
||||
-public class TextureWatchFX extends TextureFX
|
||||
+public class TextureWatchFX extends FMLTextureFX
|
||||
{
|
||||
private Minecraft field_76860_g;
|
||||
private int[] field_76863_h = new int[256];
|
||||
@@ -18,19 +24,37 @@
|
||||
super(Item.field_77752_aS.func_77617_a(0));
|
||||
this.field_76860_g = p_i3214_1_;
|
||||
this.field_76847_f = 1;
|
||||
+ setup();
|
||||
+ }
|
||||
|
||||
+ @Override
|
||||
+ public void setup()
|
||||
+ {
|
||||
+ super.setup();
|
||||
+ field_76863_h = new int[tileSizeSquare];
|
||||
+ field_76864_i = new int[tileSizeSquare];
|
||||
try
|
||||
{
|
||||
- BufferedImage var2 = ImageIO.read(Minecraft.class.getResource("/gui/items.png"));
|
||||
- int var3 = this.field_76850_b % 16 * 16;
|
||||
- int var4 = this.field_76850_b / 16 * 16;
|
||||
- var2.getRGB(var3, var4, 16, 16, this.field_76863_h, 0, 16);
|
||||
- var2 = ImageIO.read(Minecraft.class.getResource("/misc/dial.png"));
|
||||
- var2.getRGB(0, 0, 16, 16, this.field_76864_i, 0, 16);
|
||||
+ BufferedImage var2 = ImageIO.read(field_76860_g.field_71418_C.func_77292_e().func_77532_a("/gui/items.png"));
|
||||
+ int var3 = this.field_76850_b % 16 * tileSizeBase;
|
||||
+ int var4 = this.field_76850_b / 16 * tileSizeBase;
|
||||
+ var2.getRGB(var3, var4, tileSizeBase, tileSizeBase, this.field_76863_h, 0, tileSizeBase);
|
||||
+ var2 = ImageIO.read(field_76860_g.field_71418_C.func_77292_e().func_77532_a("/misc/dial.png"));
|
||||
+ if (var2.getWidth() != tileSizeBase)
|
||||
+ {
|
||||
+ BufferedImage tmp = new BufferedImage(tileSizeBase, tileSizeBase, 6);
|
||||
+ Graphics2D gfx = tmp.createGraphics();
|
||||
+ gfx.drawImage(var2, 0, 0, tileSizeBase, tileSizeBase, 0, 0, var2.getWidth(), var2.getHeight(), (ImageObserver) null);
|
||||
+ gfx.dispose();
|
||||
+ var2 = tmp;
|
||||
+ }
|
||||
+
|
||||
+ var2.getRGB(0, 0, tileSizeBase, tileSizeBase, this.field_76864_i, 0, tileSizeBase);
|
||||
}
|
||||
- catch (IOException var5)
|
||||
+ catch (Exception var5)
|
||||
{
|
||||
- var5.printStackTrace();
|
||||
+ log.log(Level.WARNING, String.format("A problem occurred with the watch texture: animation will be disabled"), var5);
|
||||
+ setErrored(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +65,7 @@
|
||||
if (this.field_76860_g.field_71441_e != null && this.field_76860_g.field_71439_g != null)
|
||||
{
|
||||
float var3 = this.field_76860_g.field_71441_e.func_72826_c(1.0F);
|
||||
- var1 = (double)(-var3 * (float)Math.PI * 2.0F);
|
||||
+ var1 = (double) (-var3 * (float) Math.PI * 2.0F);
|
||||
|
||||
if (!this.field_76860_g.field_71441_e.field_73011_w.func_76569_d())
|
||||
{
|
||||
@@ -77,7 +101,7 @@
|
||||
double var5 = Math.sin(this.field_76861_j);
|
||||
double var7 = Math.cos(this.field_76861_j);
|
||||
|
||||
- for (int var9 = 0; var9 < 256; ++var9)
|
||||
+ for (int var9 = 0; var9 < tileSizeSquare; ++var9)
|
||||
{
|
||||
int var10 = this.field_76863_h[var9] >> 24 & 255;
|
||||
int var11 = this.field_76863_h[var9] >> 16 & 255;
|
||||
@@ -86,12 +110,12 @@
|
||||
|
||||
if (var11 == var13 && var12 == 0 && var13 > 0)
|
||||
{
|
||||
- double var14 = -((double)(var9 % 16) / 15.0D - 0.5D);
|
||||
- double var16 = (double)(var9 / 16) / 15.0D - 0.5D;
|
||||
+ double var14 = -((double) (var9 % tileSizeBase) / tileSizeMask - 0.5D);
|
||||
+ double var16 = (double) (var9 / tileSizeBase) / tileSizeMask - 0.5D;
|
||||
int var18 = var11;
|
||||
- int var19 = (int)((var14 * var7 + var16 * var5 + 0.5D) * 16.0D);
|
||||
- int var20 = (int)((var16 * var7 - var14 * var5 + 0.5D) * 16.0D);
|
||||
- int var21 = (var19 & 15) + (var20 & 15) * 16;
|
||||
+ int var19 = (int) ((var14 * var7 + var16 * var5 + 0.5D) * tileSizeBase);
|
||||
+ int var20 = (int) ((var16 * var7 - var14 * var5 + 0.5D) * tileSizeBase);
|
||||
+ int var21 = (var19 & tileSizeMask) + (var20 & tileSizeMask) * tileSizeBase;
|
||||
var10 = this.field_76864_i[var21] >> 24 & 255;
|
||||
var11 = (this.field_76864_i[var21] >> 16 & 255) * var11 / 255;
|
||||
var12 = (this.field_76864_i[var21] >> 8 & 255) * var18 / 255;
|
||||
@@ -108,10 +132,10 @@
|
||||
var13 = var24;
|
||||
}
|
||||
|
||||
- this.field_76852_a[var9 * 4 + 0] = (byte)var11;
|
||||
- this.field_76852_a[var9 * 4 + 1] = (byte)var12;
|
||||
- this.field_76852_a[var9 * 4 + 2] = (byte)var13;
|
||||
- this.field_76852_a[var9 * 4 + 3] = (byte)var10;
|
||||
+ this.field_76852_a[var9 * 4 + 0] = (byte) var11;
|
||||
+ this.field_76852_a[var9 * 4 + 1] = (byte) var12;
|
||||
+ this.field_76852_a[var9 * 4 + 2] = (byte) var13;
|
||||
+ this.field_76852_a[var9 * 4 + 3] = (byte) var10;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,95 @@
|
|||
--- ../src-base/minecraft/net/minecraft/src/TextureWaterFX.java
|
||||
+++ ../src-work/minecraft/net/minecraft/src/TextureWaterFX.java
|
||||
@@ -1,6 +1,8 @@
|
||||
package net.minecraft.src;
|
||||
|
||||
-public class TextureWaterFX extends TextureFX
|
||||
+import cpw.mods.fml.client.FMLTextureFX;
|
||||
+
|
||||
+public class TextureWaterFX extends FMLTextureFX
|
||||
{
|
||||
protected float[] field_76855_g = new float[256];
|
||||
protected float[] field_76858_h = new float[256];
|
||||
@@ -11,8 +13,20 @@
|
||||
public TextureWaterFX()
|
||||
{
|
||||
super(Block.field_71942_A.field_72059_bZ);
|
||||
+ setup();
|
||||
}
|
||||
|
||||
+ @Override
|
||||
+ public void setup()
|
||||
+ {
|
||||
+ super.setup();
|
||||
+ field_76855_g = new float[tileSizeSquare];
|
||||
+ field_76858_h = new float[tileSizeSquare];
|
||||
+ field_76859_i = new float[tileSizeSquare];
|
||||
+ field_76856_j = new float[tileSizeSquare];
|
||||
+ field_76857_k = 0;
|
||||
+ }
|
||||
+
|
||||
public void func_76846_a()
|
||||
{
|
||||
++this.field_76857_k;
|
||||
@@ -22,39 +36,39 @@
|
||||
int var5;
|
||||
int var6;
|
||||
|
||||
- for (var1 = 0; var1 < 16; ++var1)
|
||||
+ for (var1 = 0; var1 < tileSizeBase; ++var1)
|
||||
{
|
||||
- for (var2 = 0; var2 < 16; ++var2)
|
||||
+ for (var2 = 0; var2 < tileSizeBase; ++var2)
|
||||
{
|
||||
var3 = 0.0F;
|
||||
|
||||
for (int var4 = var1 - 1; var4 <= var1 + 1; ++var4)
|
||||
{
|
||||
- var5 = var4 & 15;
|
||||
- var6 = var2 & 15;
|
||||
- var3 += this.field_76855_g[var5 + var6 * 16];
|
||||
+ var5 = var4 & tileSizeMask;
|
||||
+ var6 = var2 & tileSizeMask;
|
||||
+ var3 += this.field_76855_g[var5 + var6 * tileSizeBase];
|
||||
}
|
||||
|
||||
- this.field_76858_h[var1 + var2 * 16] = var3 / 3.3F + this.field_76859_i[var1 + var2 * 16] * 0.8F;
|
||||
+ this.field_76858_h[var1 + var2 * tileSizeBase] = var3 / 3.3F + this.field_76859_i[var1 + var2 * tileSizeBase] * 0.8F;
|
||||
}
|
||||
}
|
||||
|
||||
- for (var1 = 0; var1 < 16; ++var1)
|
||||
+ for (var1 = 0; var1 < tileSizeBase; ++var1)
|
||||
{
|
||||
- for (var2 = 0; var2 < 16; ++var2)
|
||||
+ for (var2 = 0; var2 < tileSizeBase; ++var2)
|
||||
{
|
||||
- this.field_76859_i[var1 + var2 * 16] += this.field_76856_j[var1 + var2 * 16] * 0.05F;
|
||||
+ this.field_76859_i[var1 + var2 * tileSizeBase] += this.field_76856_j[var1 + var2 * tileSizeBase] * 0.05F;
|
||||
|
||||
- if (this.field_76859_i[var1 + var2 * 16] < 0.0F)
|
||||
+ if (this.field_76859_i[var1 + var2 * tileSizeBase] < 0.0F)
|
||||
{
|
||||
- this.field_76859_i[var1 + var2 * 16] = 0.0F;
|
||||
+ this.field_76859_i[var1 + var2 * tileSizeBase] = 0.0F;
|
||||
}
|
||||
|
||||
- this.field_76856_j[var1 + var2 * 16] -= 0.1F;
|
||||
+ this.field_76856_j[var1 + var2 * tileSizeBase] -= 0.1F;
|
||||
|
||||
if (Math.random() < 0.05D)
|
||||
{
|
||||
- this.field_76856_j[var1 + var2 * 16] = 0.5F;
|
||||
+ this.field_76856_j[var1 + var2 * tileSizeBase] = 0.5F;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -63,7 +77,7 @@
|
||||
this.field_76858_h = this.field_76855_g;
|
||||
this.field_76855_g = var12;
|
||||
|
||||
- for (var2 = 0; var2 < 256; ++var2)
|
||||
+ for (var2 = 0; var2 < tileSizeSquare; ++var2)
|
||||
{
|
||||
var3 = this.field_76855_g[var2];
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
--- ../src-base/minecraft/net/minecraft/src/TextureWaterFlowFX.java
|
||||
+++ ../src-work/minecraft/net/minecraft/src/TextureWaterFlowFX.java
|
||||
@@ -1,6 +1,8 @@
|
||||
package net.minecraft.src;
|
||||
|
||||
-public class TextureWaterFlowFX extends TextureFX
|
||||
+import cpw.mods.fml.client.FMLTextureFX;
|
||||
+
|
||||
+public class TextureWaterFlowFX extends FMLTextureFX
|
||||
{
|
||||
protected float[] field_76880_g = new float[256];
|
||||
protected float[] field_76883_h = new float[256];
|
||||
@@ -12,6 +14,18 @@
|
||||
{
|
||||
super(Block.field_71942_A.field_72059_bZ + 1);
|
||||
this.field_76849_e = 2;
|
||||
+ setup();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setup()
|
||||
+ {
|
||||
+ super.setup();
|
||||
+ field_76880_g = new float[tileSizeSquare];
|
||||
+ field_76883_h = new float[tileSizeSquare];
|
||||
+ field_76884_i = new float[tileSizeSquare];
|
||||
+ field_76881_j = new float[tileSizeSquare];
|
||||
+ field_76882_k = 0;
|
||||
}
|
||||
|
||||
public void func_76846_a()
|
||||
@@ -23,39 +37,39 @@
|
||||
int var5;
|
||||
int var6;
|
||||
|
||||
- for (var1 = 0; var1 < 16; ++var1)
|
||||
+ for (var1 = 0; var1 < tileSizeBase; ++var1)
|
||||
{
|
||||
- for (var2 = 0; var2 < 16; ++var2)
|
||||
+ for (var2 = 0; var2 < tileSizeBase; ++var2)
|
||||
{
|
||||
var3 = 0.0F;
|
||||
|
||||
for (int var4 = var2 - 2; var4 <= var2; ++var4)
|
||||
{
|
||||
- var5 = var1 & 15;
|
||||
- var6 = var4 & 15;
|
||||
- var3 += this.field_76880_g[var5 + var6 * 16];
|
||||
+ var5 = var1 & tileSizeMask;
|
||||
+ var6 = var4 & tileSizeMask;
|
||||
+ var3 += this.field_76880_g[var5 + var6 * tileSizeBase];
|
||||
}
|
||||
|
||||
- this.field_76883_h[var1 + var2 * 16] = var3 / 3.2F + this.field_76884_i[var1 + var2 * 16] * 0.8F;
|
||||
+ this.field_76883_h[var1 + var2 * tileSizeBase] = var3 / 3.2F + this.field_76884_i[var1 + var2 * tileSizeBase] * 0.8F;
|
||||
}
|
||||
}
|
||||
|
||||
- for (var1 = 0; var1 < 16; ++var1)
|
||||
+ for (var1 = 0; var1 < tileSizeBase; ++var1)
|
||||
{
|
||||
- for (var2 = 0; var2 < 16; ++var2)
|
||||
+ for (var2 = 0; var2 < tileSizeBase; ++var2)
|
||||
{
|
||||
- this.field_76884_i[var1 + var2 * 16] += this.field_76881_j[var1 + var2 * 16] * 0.05F;
|
||||
+ this.field_76884_i[var1 + var2 * tileSizeBase] += this.field_76881_j[var1 + var2 * tileSizeBase] * 0.05F;
|
||||
|
||||
- if (this.field_76884_i[var1 + var2 * 16] < 0.0F)
|
||||
+ if (this.field_76884_i[var1 + var2 * tileSizeBase] < 0.0F)
|
||||
{
|
||||
- this.field_76884_i[var1 + var2 * 16] = 0.0F;
|
||||
+ this.field_76884_i[var1 + var2 * tileSizeBase] = 0.0F;
|
||||
}
|
||||
|
||||
- this.field_76881_j[var1 + var2 * 16] -= 0.3F;
|
||||
+ this.field_76881_j[var1 + var2 * tileSizeBase] -= 0.3F;
|
||||
|
||||
if (Math.random() < 0.2D)
|
||||
{
|
||||
- this.field_76881_j[var1 + var2 * 16] = 0.5F;
|
||||
+ this.field_76881_j[var1 + var2 * tileSizeBase] = 0.5F;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -64,9 +78,9 @@
|
||||
this.field_76883_h = this.field_76880_g;
|
||||
this.field_76880_g = var12;
|
||||
|
||||
- for (var2 = 0; var2 < 256; ++var2)
|
||||
+ for (var2 = 0; var2 < tileSizeSquare; ++var2)
|
||||
{
|
||||
- var3 = this.field_76880_g[var2 - this.field_76882_k * 16 & 255];
|
||||
+ var3 = this.field_76880_g[var2 - this.field_76882_k * tileSizeBase & tileSizeSquareMask];
|
||||
|
||||
if (var3 > 1.0F)
|
||||
{
|
|
@ -0,0 +1,19 @@
|
|||
--- ../src-base/minecraft_server/net/minecraft/src/TcpConnection.java
|
||||
+++ ../src-work/minecraft_server/net/minecraft/src/TcpConnection.java
|
||||
@@ -14,6 +14,8 @@
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import javax.crypto.SecretKey;
|
||||
+
|
||||
+import cpw.mods.fml.common.network.FMLNetworkHandler;
|
||||
|
||||
public class TcpConnection implements NetworkManager
|
||||
{
|
||||
@@ -345,6 +347,7 @@
|
||||
if (this.field_74472_n && this.field_74473_o.isEmpty())
|
||||
{
|
||||
this.field_74485_r.func_72515_a(this.field_74481_v, this.field_74480_w);
|
||||
+ FMLNetworkHandler.onConnectionClosed(this);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue