diff --git a/src/main/java/cpw/mods/fml/client/SplashProgress.java b/src/main/java/cpw/mods/fml/client/SplashProgress.java index 2e07b40..ef510b2 100644 --- a/src/main/java/cpw/mods/fml/client/SplashProgress.java +++ b/src/main/java/cpw/mods/fml/client/SplashProgress.java @@ -106,7 +106,7 @@ public static void start() { - File configFile = new File(Loader.instance().getConfigDir(),"splash.properties"); + File configFile = new File(Minecraft.getMinecraft().mcDataDir, "config/splash.properties"); FileReader r = null; config = new Properties(); try @@ -126,8 +126,8 @@ // Enable if we have the flag, and there's either no optifine, or optifine has added a key to the blackboard ("optifine.ForgeSplashCompatible") // Optifine authors - add this key to the blackboard if you feel your modifications are now compatible with this code. enabled = getBool("enabled", true) && ( (!FMLClientHandler.instance().hasOptifine()) || Launch.blackboard.containsKey("optifine.ForgeSplashCompatible")); - rotate = getBool("rotate", true); - logoOffset = getInt("logoOffset", 10); + rotate = getBool("rotate", false); + logoOffset = getInt("logoOffset", 0); backgroundColor = getHex("background", 0xFFFFFF); fontColor = getHex("font", 0x000000); barBorderColor = getHex("barBorder", 0xC0C0C0); @@ -136,7 +136,7 @@ final ResourceLocation fontLoc = new ResourceLocation(getString("fontTexture", "textures/font/ascii.png")); final ResourceLocation logoLoc = new ResourceLocation(getString("logoTexture", "textures/gui/title/mojang.png")); - final ResourceLocation forgeLoc = new ResourceLocation(getString("forgeTexture", "fml:textures/gui/forge.png")); + final ResourceLocation forgeLoc = new ResourceLocation(getString("forgeTexture", "fml:textures/gui/forge.gif")); File miscPackFile = new File(Minecraft.getMinecraft().mcDataDir, getString("resourcePackPath", "resources")); @@ -534,9 +534,12 @@ height = images[0].getHeight(); while((size / width) * (size / height) < frames) size *= 2; this.size = size; - name = glGenTextures(); glEnable(GL_TEXTURE_2D); - glBindTexture(GL_TEXTURE_2D, name); + synchronized(SplashProgress.class) + { + name = glGenTextures(); + glBindTexture(GL_TEXTURE_2D, name); + } glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, size, size, 0, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, (IntBuffer)null); diff --git a/src/main/java/cpw/mods/fml/common/LoadController.java b/src/main/java/cpw/mods/fml/common/LoadController.java index f9380a9..9a4d43a 100644 --- a/src/main/java/cpw/mods/fml/common/LoadController.java +++ b/src/main/java/cpw/mods/fml/common/LoadController.java @@ -352,4 +352,9 @@ { return accessibleManager.getStackClasses(); } + + LoaderState getState() + { + return state; + } } diff --git a/src/main/java/cpw/mods/fml/common/Loader.java b/src/main/java/cpw/mods/fml/common/Loader.java index 43c354f..9641322 100644 --- a/src/main/java/cpw/mods/fml/common/Loader.java +++ b/src/main/java/cpw/mods/fml/common/Loader.java @@ -1060,4 +1060,9 @@ { return injectedAfter.get(modId); } + + public final LoaderState getLoaderState() + { + return modController != null ? modController.getState() : LoaderState.NOINIT; + } } \ No newline at end of file diff --git a/src/main/java/net/minecraft/client/renderer/texture/TextureUtil.java b/src/main/java/net/minecraft/client/renderer/texture/TextureUtil.java index 7b2207a..a0ac6bf 100644 --- a/src/main/java/net/minecraft/client/renderer/texture/TextureUtil.java +++ b/src/main/java/net/minecraft/client/renderer/texture/TextureUtil.java @@ -201,8 +201,11 @@ public static void allocateTextureImpl(int p_147946_0_, int p_147946_1_, int p_147946_2_, int p_147946_3_, float p_147946_4_) { + synchronized(cpw.mods.fml.client.SplashProgress.class) + { deleteTexture(p_147946_0_); bindTexture(p_147946_0_); + } if (OpenGlHelper.anisotropicFilteringSupported) { diff --git a/src/main/resources/assets/fml/textures/gui/forge.gif b/src/main/resources/assets/fml/textures/gui/forge.gif new file mode 100644 index 0000000..b316837 --- /dev/null +++ b/src/main/resources/assets/fml/textures/gui/forge.gif Binary files differ