75 errors

This commit is contained in:
catfoolyou 2025-01-31 10:11:34 -05:00
parent 00c82f9530
commit b458ce2332
81 changed files with 750 additions and 375 deletions

View File

@ -0,0 +1,222 @@
// copyright (c) 2020-2023 lax1dude
#line 4
precision highp int;
precision highp sampler2D;
precision highp float;
uniform mat4 matrix_m;
uniform mat4 matrix_p;
uniform mat4 matrix_t;
#ifdef CC_VERT
in vec3 a_position;
#ifdef CC_a_texture0
in vec2 a_texture0;
#endif
#ifdef CC_a_color
in vec4 a_color;
#endif
#ifdef CC_a_normal
in vec4 a_normal;
#endif
#ifdef CC_a_texture1
in vec2 a_texture1;
#endif
#ifdef CC_TEX_GEN_STRQ
out vec4 v_object_pos;
#endif
out vec4 v_position;
#ifdef CC_a_color
out vec4 v_color;
#endif
#ifdef CC_a_normal
out vec4 v_normal;
#endif
#ifdef CC_a_texture0
out vec2 v_texture0;
#endif
#ifdef CC_a_texture1
out vec2 v_texture1;
#endif
#endif
#ifdef CC_VERT
void main(){
vec4 pos = matrix_m * vec4(a_position, 1.0);
v_position = pos;
#ifdef CC_TEX_GEN_STRQ
v_object_pos = vec4(a_position, 1.0);
#endif
#ifdef CC_a_color
v_color = a_color;
#endif
#ifdef CC_a_normal
v_normal = a_normal;
#endif
#ifdef CC_a_texture0
v_texture0 = a_texture0;
#endif
#ifdef CC_a_texture1
v_texture1 = a_texture1;
#endif
gl_Position = matrix_p * pos;
}
#endif
#ifdef CC_FRAG
uniform sampler2D tex0;
uniform sampler2D tex1;
uniform vec2 texCoordV0;
uniform vec2 texCoordV1;
#ifdef CC_lighting
uniform vec3 light0Pos;
uniform vec3 light1Pos;
uniform vec3 normalUniform;
#endif
#ifdef CC_fog
uniform vec4 fogColor;
//X = uniform float fogMode;
//Y = uniform float fogStart;
//Z = uniform float fogEnd - fogStart;
//W = uniform float fogDensity;
uniform vec4 fogParam;
#endif
uniform vec4 colorUniform;
#ifdef CC_alphatest
uniform float alphaTestF;
#endif
#ifdef CC_TEX_GEN_STRQ
//uniform int textureGenS_M;
//uniform int textureGenT_M;
//uniform int textureGenR_M;
//uniform int textureGenQ_M;
uniform ivec4 textureGen_M;
uniform vec4 textureGenS_V;
uniform vec4 textureGenT_V;
uniform vec4 textureGenR_V;
uniform vec4 textureGenQ_V;
#endif
#ifdef CC_patch_anisotropic
uniform vec2 anisotropic_fix;
#endif
#ifdef CC_TEX_GEN_STRQ
in vec4 v_object_pos;
#endif
in vec4 v_position;
#ifdef CC_a_color
in vec4 v_color;
#endif
#ifdef CC_a_normal
in vec4 v_normal;
#endif
#ifdef CC_a_texture0
in vec2 v_texture0;
#endif
#ifdef CC_a_texture1
in vec2 v_texture1;
#endif
out vec4 fragColor;
#define TEX_MAT3x2(mat4In) mat3x2(mat4In[0].xy,mat4In[1].xy,mat4In[3].xy)
#define TEX_MAT4x3(mat4In) mat4x3(mat4In[0].xyw,mat4In[1].xyw,mat4In[2].xyw,mat4In[3].xyw)
void main(){
#ifdef CC_a_color
vec4 color = colorUniform * v_color;
#else
vec4 color = colorUniform;
#endif
#ifdef CC_TEX_GEN_STRQ
vec4 texSrc[2];
texSrc[0] = v_object_pos;
texSrc[1] = v_position;
vec4 texPos;
texPos.x = dot(texSrc[textureGen_M.x], textureGenS_V);
texPos.y = dot(texSrc[textureGen_M.y], textureGenT_V);
texPos.z = dot(texSrc[textureGen_M.z], textureGenR_V);
texPos.w = dot(texSrc[textureGen_M.w], textureGenQ_V);
texPos.xyz = TEX_MAT4x3(matrix_t) * texPos;
color *= texture(tex0, texPos.xy / texPos.z).bgra;
#ifdef CC_alphatest
if(color.a < alphaTestF){
discard;
}
#endif
#else
#ifdef CC_unit0
#ifdef CC_a_texture0
#ifdef CC_patch_anisotropic
vec2 uv = TEX_MAT3x2(matrix_t) * vec3(v_texture0, 1.0);
/* https://bugs.chromium.org/p/angleproject/issues/detail?id=4994 */
uv = ((uv * anisotropic_fix) - fract(uv * anisotropic_fix) + 0.5) / anisotropic_fix;
vec4 texColor = texture(tex0, uv);
#else
vec4 texColor = texture(tex0, TEX_MAT3x2(matrix_t) * vec3(v_texture0, 1.0));
#endif
#else
vec4 texColor = texture(tex0, TEX_MAT3x2(matrix_t) * vec3(texCoordV0, 1.0));
#endif
#ifdef CC_swap_rb
color *= texColor.rgba;
#else
color *= texColor.bgra;
#endif
#endif
#ifdef CC_alphatest
if(color.a < alphaTestF){
discard;
}
#endif
#ifdef CC_unit1
#ifdef CC_a_texture1
color.rgb *= texture(tex1, (v_texture1 + 8.0) * 0.00390625).bgr;
#else
color.rgb *= texture(tex1, (texCoordV1 + 8.0) * 0.00390625).bgr;
#endif
#endif
#endif
#ifdef CC_lighting
#ifdef CC_a_normal
vec3 normal = ((v_normal.xyz - 0.5) * 2.0);
#else
vec3 normal = normalUniform;
#endif
normal = normalize(mat3(matrix_m) * normal);
float ins = max(dot(normal, -light0Pos), 0.0) + max(dot(normal, -light1Pos), 0.0);
color.rgb *= min((0.4 + ins * 0.6), 1.0);
#endif
#ifdef CC_fog
float dist = sqrt(dot(v_position, v_position));
float i = fogParam.x == 1.0 ? (dist - fogParam.y) / fogParam.z : 1.0 - exp(-fogParam.w * dist);
color.rgb = mix(color.rgb, fogColor.xyz, clamp(i, 0.0, 1.0) * fogColor.a);
#endif
fragColor = color;
}
#endif

View File

@ -0,0 +1,255 @@
#line 0
precision lowp int;
precision lowp sampler2D;
precision lowp float;
in vec2 pos;
out vec4 fragColor;
#define FXAA_PC 1
#define FXAA_GLSL_130 1
#define FXAA_FAST_PIXEL_OFFSET 0
#define FXAA_GATHER4_ALPHA 0
#ifndef FXAA_GREEN_AS_LUMA
// For those using non-linear color,
// and either not able to get luma in alpha, or not wanting to,
// this enables FXAA to run using green as a proxy for luma.
// So with this enabled, no need to pack luma in alpha.
//
// This will turn off AA on anything which lacks some amount of green.
// Pure red and blue or combination of only R and B, will get no AA.
//
// Might want to lower the settings for both,
// fxaaConsoleEdgeThresholdMin
// fxaaQualityEdgeThresholdMin
// In order to insure AA does not get turned off on colors
// which contain a minor amount of green.
//
// 1 = On.
// 0 = Off.
//
#define FXAA_GREEN_AS_LUMA 1
#endif
#ifndef FXAA_DISCARD
// 1 = Use discard on pixels which don't need AA.
// 0 = Return unchanged color on pixels which don't need AA.
#define FXAA_DISCARD 0
#endif
/*============================================================================
API PORTING
============================================================================*/
#define FxaaBool bool
#define FxaaDiscard discard
#define FxaaFloat float
#define FxaaFloat2 vec2
#define FxaaFloat3 vec3
#define FxaaFloat4 vec4
#define FxaaHalf float
#define FxaaHalf2 vec2
#define FxaaHalf3 vec3
#define FxaaHalf4 vec4
#define FxaaInt2 ivec2
#define FxaaSat(x) clamp(x, 0.0, 1.0)
#define FxaaTex sampler2D
/*--------------------------------------------------------------------------*/
#define FxaaTexTop(t, p) textureLod(t, p, 0.0)
/*============================================================================
GREEN AS LUMA OPTION SUPPORT FUNCTION
============================================================================*/
#if (FXAA_GREEN_AS_LUMA == 0)
// TODO Luma
FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return dot(rgba.xyz, vec3(0.299, 0.587, 0.114)); }
#else
FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; }
#endif
/*============================================================================
FXAA3 CONSOLE - PC VERSION
============================================================================*/
/*--------------------------------------------------------------------------*/
FxaaFloat4 FxaaPixelShader(
// See FXAA Quality FxaaPixelShader() source for docs on Inputs!
//
// Use noperspective interpolation here (turn off perspective interpolation).
// {xy} = center of pixel
FxaaFloat2 pos,
//
// Used only for FXAA Console, and not used on the 360 version.
// Use noperspective interpolation here (turn off perspective interpolation).
// {xy__} = upper left of pixel
// {__zw} = lower right of pixel
FxaaFloat4 fxaaConsolePosPos,
//
// Input color texture.
// {rgb_} = color in linear or perceptual color space
// if (FXAA_GREEN_AS_LUMA == 0)
// {___a} = luma in perceptual color space (not linear)
FxaaTex tex,
//
// Only used on FXAA Console.
// This must be from a constant/uniform.
// This effects sub-pixel AA quality and inversely sharpness.
// Where N ranges between,
// N = 0.50 (default)
// N = 0.33 (sharper)
// {x___} = -N/screenWidthInPixels
// {_y__} = -N/screenHeightInPixels
// {__z_} = N/screenWidthInPixels
// {___w} = N/screenHeightInPixels
FxaaFloat4 fxaaConsoleRcpFrameOpt,
//
// Only used on FXAA Console.
// Not used on 360, but used on PS3 and PC.
// This must be from a constant/uniform.
// {x___} = -2.0/screenWidthInPixels
// {_y__} = -2.0/screenHeightInPixels
// {__z_} = 2.0/screenWidthInPixels
// {___w} = 2.0/screenHeightInPixels
FxaaFloat4 fxaaConsoleRcpFrameOpt2,
//
// Only used on FXAA Console.
// This used to be the FXAA_CONSOLE__EDGE_SHARPNESS define.
// It is here now to allow easier tuning.
// This does not effect PS3, as this needs to be compiled in.
// Use FXAA_CONSOLE__PS3_EDGE_SHARPNESS for PS3.
// Due to the PS3 being ALU bound,
// there are only three safe values here: 2 and 4 and 8.
// These options use the shaders ability to a free *|/ by 2|4|8.
// For all other platforms can be a non-power of two.
// 8.0 is sharper (default!!!)
// 4.0 is softer
// 2.0 is really soft (good only for vector graphics inputs)
FxaaFloat fxaaConsoleEdgeSharpness,
//
// Only used on FXAA Console.
// This used to be the FXAA_CONSOLE__EDGE_THRESHOLD define.
// It is here now to allow easier tuning.
// This does not effect PS3, as this needs to be compiled in.
// Use FXAA_CONSOLE__PS3_EDGE_THRESHOLD for PS3.
// Due to the PS3 being ALU bound,
// there are only two safe values here: 1/4 and 1/8.
// These options use the shaders ability to a free *|/ by 2|4|8.
// The console setting has a different mapping than the quality setting.
// Other platforms can use other values.
// 0.125 leaves less aliasing, but is softer (default!!!)
// 0.25 leaves more aliasing, and is sharper
FxaaFloat fxaaConsoleEdgeThreshold,
//
// Only used on FXAA Console.
// This used to be the FXAA_CONSOLE__EDGE_THRESHOLD_MIN define.
// It is here now to allow easier tuning.
// Trims the algorithm from processing darks.
// The console setting has a different mapping than the quality setting.
// This does not apply to PS3,
// PS3 was simplified to avoid more shader instructions.
// 0.06 - faster but more aliasing in darks
// 0.05 - default
// 0.04 - slower and less aliasing in darks
// Special notes when using FXAA_GREEN_AS_LUMA,
// Likely want to set this to zero.
// As colors that are mostly not-green
// will appear very dark in the green channel!
// Tune by looking at mostly non-green content,
// then start at zero and increase until aliasing is a problem.
FxaaFloat fxaaConsoleEdgeThresholdMin
) {
/*--------------------------------------------------------------------------*/
FxaaFloat lumaNw = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.xy));
FxaaFloat lumaSw = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.xw));
FxaaFloat lumaNe = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.zy));
FxaaFloat lumaSe = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.zw));
/*--------------------------------------------------------------------------*/
FxaaFloat4 rgbyM = FxaaTexTop(tex, pos.xy);
#if (FXAA_GREEN_AS_LUMA == 0)
// TODO Luma
FxaaFloat lumaM = FxaaLuma(rgbyM);
#else
FxaaFloat lumaM = rgbyM.y;
#endif
/*--------------------------------------------------------------------------*/
FxaaFloat lumaMaxNwSw = max(lumaNw, lumaSw);
lumaNe += 1.0/384.0;
FxaaFloat lumaMinNwSw = min(lumaNw, lumaSw);
/*--------------------------------------------------------------------------*/
FxaaFloat lumaMaxNeSe = max(lumaNe, lumaSe);
FxaaFloat lumaMinNeSe = min(lumaNe, lumaSe);
/*--------------------------------------------------------------------------*/
FxaaFloat lumaMax = max(lumaMaxNeSe, lumaMaxNwSw);
FxaaFloat lumaMin = min(lumaMinNeSe, lumaMinNwSw);
/*--------------------------------------------------------------------------*/
FxaaFloat lumaMaxScaled = lumaMax * fxaaConsoleEdgeThreshold;
/*--------------------------------------------------------------------------*/
FxaaFloat lumaMinM = min(lumaMin, lumaM);
FxaaFloat lumaMaxScaledClamped = max(fxaaConsoleEdgeThresholdMin, lumaMaxScaled);
FxaaFloat lumaMaxM = max(lumaMax, lumaM);
FxaaFloat dirSwMinusNe = lumaSw - lumaNe;
FxaaFloat lumaMaxSubMinM = lumaMaxM - lumaMinM;
FxaaFloat dirSeMinusNw = lumaSe - lumaNw;
if(lumaMaxSubMinM < lumaMaxScaledClamped)
{
#if (FXAA_DISCARD == 1)
FxaaDiscard;
#else
return rgbyM;
#endif
}
/*--------------------------------------------------------------------------*/
FxaaFloat2 dir;
dir.x = dirSwMinusNe + dirSeMinusNw;
dir.y = dirSwMinusNe - dirSeMinusNw;
/*--------------------------------------------------------------------------*/
FxaaFloat2 dir1 = normalize(dir.xy);
FxaaFloat4 rgbyN1 = FxaaTexTop(tex, pos.xy - dir1 * fxaaConsoleRcpFrameOpt.zw);
FxaaFloat4 rgbyP1 = FxaaTexTop(tex, pos.xy + dir1 * fxaaConsoleRcpFrameOpt.zw);
/*--------------------------------------------------------------------------*/
FxaaFloat dirAbsMinTimesC = min(abs(dir1.x), abs(dir1.y)) * fxaaConsoleEdgeSharpness;
FxaaFloat2 dir2 = clamp(dir1.xy / dirAbsMinTimesC, -2.0, 2.0);
/*--------------------------------------------------------------------------*/
FxaaFloat2 dir2x = dir2 * fxaaConsoleRcpFrameOpt2.zw;
FxaaFloat4 rgbyN2 = FxaaTexTop(tex, pos.xy - dir2x);
FxaaFloat4 rgbyP2 = FxaaTexTop(tex, pos.xy + dir2x);
/*--------------------------------------------------------------------------*/
FxaaFloat4 rgbyA = rgbyN1 + rgbyP1;
FxaaFloat4 rgbyB = ((rgbyN2 + rgbyP2) * 0.25) + (rgbyA * 0.25);
/*--------------------------------------------------------------------------*/
#if (FXAA_GREEN_AS_LUMA == 0)
// TODO Luma
float lumaB = FxaaLuma(rgbyB);
#else
float lumaB = rgbyB.y;
#endif
if((lumaB < lumaMin) || (lumaB > lumaMax))
rgbyB.xyz = rgbyA.xyz * 0.5;
//
return rgbyB;
}
/*==========================================================================*/
uniform sampler2D f_color;
uniform vec2 screenSize;
#define edgeSharpness 7.0
#define edgeThreshold 0.1
#define edgeThresholdMin 0.005
void main(){
vec2 screenSize05 = 0.5 * screenSize;
vec4 posPos;
posPos.xy = pos;
posPos.zw = pos + screenSize;
vec4 rcpFrameOpt;
rcpFrameOpt.xy = -screenSize05;
rcpFrameOpt.zw = screenSize05;
fragColor = vec4(FxaaPixelShader(pos + screenSize05, posPos, f_color, rcpFrameOpt, rcpFrameOpt * 4.0, edgeSharpness, edgeThreshold, edgeThresholdMin).rgb, 1.0);
}

View File

@ -0,0 +1,25 @@
#line 2
precision highp int;
precision highp sampler2D;
precision highp float;
#ifdef CC_VERT
uniform mat4 matrix_m;
uniform mat4 matrix_p;
in vec3 a_vert;
void main(){
gl_Position = (matrix_p * (matrix_m * vec4(a_vert, 1.0)));
}
#endif
#ifdef CC_FRAG
out vec4 fragColor;
void main(){
fragColor = vec4(1.0);
}
#endif

View File

@ -0,0 +1,13 @@
#line 0
precision lowp int;
precision lowp sampler2D;
precision lowp float;
in vec2 a_pos;
out vec2 pos;
void main(){
gl_Position = vec4((pos = a_pos) * 2.0 - 1.0, 0.0, 1.0);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 867 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 498 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 658 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 573 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 785 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 838 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 895 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 923 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 692 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 640 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 700 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 B

View File

@ -0,0 +1,57 @@
[C]§f===============
[C]§eMinecraft Credits
[C]§f===============
§7Created by:
§f Markus Persson
§7Game design, programming and graphics:
§f Markus Persson
§f Jens Bergensten
§7Music and sound:
§f Daniel Rosenfeld
§7Ingame artwork and paintings:
§f Kristoffer Zetterstrand
§7End game narrative:
§f Julian Gough
§7Website development:
§f Tobias Möllstam
§f Daniel Frisk
§f Leonard Axelsson
§f Jens Bergensten
§f Markus Persson
§7Logo and promotional artwork:
§f Markus Toivonen
§7Business and administration:
§f Carl Manneh
§f Daniel Kaplan
§7Director of fun:
§f Lydia Winters
§7Number crunching and statistics:
§f Patrick Geuder
§7Additional programming:
§f Paul Spooner
§f Ryan 'Scaevolus' Hitchman
§f Elliot 'Hippoplatimus' Segal
§7Technologies used:
§f Java by Oracle
§f LWJGL by many talented people
§f "3d Sound System" by Paul Lamb
§f JOrbis by JCraft
§f"Twenty years from now you will be more disappointed by the things that you didn't do than by the ones you did do. So throw off the bowlines. Sail away from the safe harbor. Catch the trade winds in your sails. Explore. Dream. Discover." §7- Unknown

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@ -0,0 +1,151 @@
§3I see the player you mean.
§2PLAYERNAME?
§3Yes. Take care. It has reached a higher level now. It can read our thoughts.
§2That doesn't matter. It thinks we are part of the game.
§3I like this player. It played well. It did not give up.
§2It is reading our thoughts as though they were words on a screen.
§3That is how it chooses to imagine many things, when it is deep in the dream of a game.
§2Words make a wonderful interface. Very flexible. And less terrifying than staring at the reality behind the screen.
§3They used to hear voices. Before players could read. Back in the days when those who did not play called the players witches, and warlocks. And players dreamed they flew through the air, on sticks powered by demons.
§2What did this player dream?
§3This player dreamed of sunlight and trees. Of fire and water. It dreamed it created. And it dreamed it destroyed. It dreamed it hunted, and was hunted. It dreamed of shelter.
§2Hah, the original interface. A million years old, and it still works. But what true structure did this player create, in the reality behind the screen?
§3It worked, with a million others, to sculpt a true world in a fold of the §f§k§a§b§3, and created a §f§k§a§b§3 for §f§k§a§b§3, in the §f§k§a§b§3.
§2It cannot read that thought.
§3No. It has not yet achieved the highest level. That, it must achieve in the long dream of life, not the short dream of a game.
§2Does it know that we love it? That the universe is kind?
§3Sometimes, through the noise of its thoughts, it hears the universe, yes.
§2But there are times it is sad, in the long dream. It creates worlds that have no summer, and it shivers under a black sun, and it takes its sad creation for reality.
§3To cure it of sorrow would destroy it. The sorrow is part of its own private task. We cannot interfere.
§2Sometimes when they are deep in dreams, I want to tell them, they are building true worlds in reality. Sometimes I want to tell them of their importance to the universe. Sometimes, when they have not made a true connection in a while, I want to help them to speak the word they fear.
§3It reads our thoughts.
§2Sometimes I do not care. Sometimes I wish to tell them, this world you take for truth is merely §f§k§a§b§2 and §f§k§a§b§2, I wish to tell them that they are §f§k§a§b§2 in the §f§k§a§b§2. They see so little of reality, in their long dream.
§3And yet they play the game.
§2But it would be so easy to tell them...
§3Too strong for this dream. To tell them how to live is to prevent them living.
§2I will not tell the player how to live.
§3The player is growing restless.
§2I will tell the player a story.
§3But not the truth.
§2No. A story that contains the truth safely, in a cage of words. Not the naked truth that can burn over any distance.
§3Give it a body, again.
§2Yes. Player...
§3Use its name.
§2PLAYERNAME. Player of games.
§3Good.
§2Take a breath, now. Take another. Feel air in your lungs. Let your limbs return. Yes, move your fingers. Have a body again, under gravity, in air. Respawn in the long dream. There you are. Your body touching the universe again at every point, as though you were separate things. As though we were separate things.
§3Who are we? Once we were called the spirit of the mountain. Father sun, mother moon. Ancestral spirits, animal spirits. Jinn. Ghosts. The green man. Then gods, demons. Angels. Poltergeists. Aliens, extraterrestrials. Leptons, quarks. The words change. We do not change.
§2We are the universe. We are everything you think isn't you. You are looking at us now, through your skin and your eyes. And why does the universe touch your skin, and throw light on you? To see you, player. To know you. And to be known. I shall tell you a story.
§2Once upon a time, there was a player.
§3The player was you, PLAYERNAME.
§2Sometimes it thought itself human, on the thin crust of a spinning globe of molten rock. The ball of molten rock circled a ball of blazing gas that was three hundred and thirty thousand times more massive than it. They were so far apart that light took eight minutes to cross the gap. The light was information from a star, and it could burn your skin from a hundred and fifty million kilometres away.
§2Sometimes the player dreamed it was a miner, on the surface of a world that was flat, and infinite. The sun was a square of white. The days were short; there was much to do; and death was a temporary inconvenience.
§3Sometimes the player dreamed it was lost in a story.
§2Sometimes the player dreamed it was other things, in other places. Sometimes these dreams were disturbing. Sometimes very beautiful indeed. Sometimes the player woke from one dream into another, then woke from that into a third.
§3Sometimes the player dreamed it watched words on a screen.
§2Let's go back.
§2The atoms of the player were scattered in the grass, in the rivers, in the air, in the ground. A woman gathered the atoms; she drank and ate and inhaled; and the woman assembled the player, in her body.
§2And the player awoke, from the warm, dark world of its mother's body, into the long dream.
§2And the player was a new story, never told before, written in letters of DNA. And the player was a new program, never run before, generated by a sourcecode a billion years old. And the player was a new human, never alive before, made from nothing but milk and love.
§3You are the player. The story. The program. The human. Made from nothing but milk and love.
§2Let's go further back.
§2The seven billion billion billion atoms of the player's body were created, long before this game, in the heart of a star. So the player, too, is information from a star. And the player moves through a story, which is a forest of information planted by a man called Julian, on a flat, infinite world created by a man called Markus, that exists inside a small, private world created by the player, who inhabits a universe created by...
§3Shush. Sometimes the player created a small, private world that was soft and warm and simple. Sometimes hard, and cold, and complicated. Sometimes it built a model of the universe in its head; flecks of energy, moving through vast empty spaces. Sometimes it called those flecks "electrons" and "protons".
§2Sometimes it called them "planets" and "stars".
§2Sometimes it believed it was in a universe that was made of energy that was made of offs and ons; zeros and ones; lines of code. Sometimes it believed it was playing a game. Sometimes it believed it was reading words on a screen.
§3You are the player, reading words...
§2Shush... Sometimes the player read lines of code on a screen. Decoded them into words; decoded words into meaning; decoded meaning into feelings, emotions, theories, ideas, and the player started to breathe faster and deeper and realised it was alive, it was alive, those thousand deaths had not been real, the player was alive
§3You. You. You are alive.
§2and sometimes the player believed the universe had spoken to it through the sunlight that came through the shuffling leaves of the summer trees
§3and sometimes the player believed the universe had spoken to it through the light that fell from the crisp night sky of winter, where a fleck of light in the corner of the player's eye might be a star a million times as massive as the sun, boiling its planets to plasma in order to be visible for a moment to the player, walking home at the far side of the universe, suddenly smelling food, almost at the familiar door, about to dream again
§2and sometimes the player believed the universe had spoken to it through the zeros and ones, through the electricity of the world, through the scrolling words on a screen at the end of a dream
§3and the universe said I love you
§2and the universe said you have played the game well
§3and the universe said everything you need is within you
§2and the universe said you are stronger than you know
§3and the universe said you are the daylight
§2and the universe said you are the night
§3and the universe said the darkness you fight is within you
§2and the universe said the light you seek is within you
§3and the universe said you are not alone
§2and the universe said you are not separate from every other thing
§3and the universe said you are the universe tasting itself, talking to itself, reading its own code
§2and the universe said I love you because you are love.
§3And the game was over and the player woke up from the dream. And the player began a new dream. And the player dreamed again, dreamed better. And the player was the universe. And the player was love.
§3You are the player.
§2Wake up.

View File

@ -5,6 +5,7 @@ import java.util.List;
import java.util.Random;
import net.lax1dude.eaglercraft.TextureLocation;
import net.lax1dude.eaglercraft.adapter.Tessellator;
import org.lwjgl.opengl.GL11;
public class EffectRenderer

View File

@ -1,5 +1,7 @@
package net.minecraft.src;
import net.lax1dude.eaglercraft.adapter.Tessellator;
public class EntityFX extends Entity
{
protected int particleTextureIndexX;

View File

@ -4,6 +4,7 @@ import java.nio.FloatBuffer;
import java.util.List;
import java.util.Random;
import net.lax1dude.eaglercraft.EaglerAdapter;
import net.lax1dude.eaglercraft.EaglerImage;
import net.lax1dude.eaglercraft.TextureLocation;
import net.lax1dude.eaglercraft.adapter.Tessellator;
@ -77,13 +78,12 @@ public class EntityRenderer
/**
* The texture id of the blocklight/skylight texture used for lighting effects
*/
private final DynamicTexture lightmapTexture;
private int lightmapTexture;
/**
* Colors computed in updateLightmap() and loaded into the lightmap emptyTexture
*/
private final int[] lightmapColors;
private final TextureLocation locationLightMap;
/** FOV modifier hand */
private float fovModifierHand;
@ -162,9 +162,8 @@ public class EntityRenderer
{
this.mc = par1Minecraft;
this.itemRenderer = new ItemRenderer(par1Minecraft);
this.lightmapTexture = new DynamicTexture(16, 16);
this.locationLightMap = par1Minecraft.renderEngine.allocateAndSetupTexture(new EaglerImage(16, 16, true));
this.lightmapColors = this.lightmapTexture.getTextureData();
this.lightmapTexture = par1Minecraft.renderEngine.allocateAndSetupTexture(new EaglerImage(16, 16, true));
this.lightmapColors = new int[256];
}
/**
@ -712,21 +711,20 @@ public class EntityRenderer
public void enableLightmap(double par1)
{
OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit);
GL11.glMatrixMode(GL11.GL_TEXTURE);
GL11.glLoadIdentity();
float var3 = 0.00390625F;
GL11.glScalef(var3, var3, var3);
GL11.glTranslatef(8.0F, 8.0F, 8.0F);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
this.locationLightMap.bindTexture();
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, GL11.GL_CLAMP);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, GL11.GL_CLAMP);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glEnable(GL11.GL_TEXTURE_2D);
//EaglerAdapter.glMatrixMode(EaglerAdapter.GL_TEXTURE);
//EaglerAdapter.glLoadIdentity();
//float var3 = 0.00390625F;
//EaglerAdapter.glScalef(var3, var3, var3);
//EaglerAdapter.glTranslatef(8.0F, 8.0F, 8.0F);
//EaglerAdapter.glMatrixMode(EaglerAdapter.GL_MODELVIEW);
EaglerAdapter.glBindTexture(EaglerAdapter.GL_TEXTURE_2D, this.lightmapTexture);
EaglerAdapter.glTexParameteri(EaglerAdapter.GL_TEXTURE_2D, EaglerAdapter.GL_TEXTURE_MIN_FILTER, EaglerAdapter.GL_LINEAR);
EaglerAdapter.glTexParameteri(EaglerAdapter.GL_TEXTURE_2D, EaglerAdapter.GL_TEXTURE_MAG_FILTER, EaglerAdapter.GL_LINEAR);
EaglerAdapter.glTexParameteri(EaglerAdapter.GL_TEXTURE_2D, EaglerAdapter.GL_TEXTURE_WRAP_S, EaglerAdapter.GL_CLAMP);
EaglerAdapter.glTexParameteri(EaglerAdapter.GL_TEXTURE_2D, EaglerAdapter.GL_TEXTURE_WRAP_T, EaglerAdapter.GL_CLAMP);
EaglerAdapter.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
EaglerAdapter.glEnable(EaglerAdapter.GL_TEXTURE_2D);
this.mc.renderEngine.resetBoundTexture();
OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit);
}
@ -876,8 +874,7 @@ public class EntityRenderer
this.lightmapColors[var3] = var20 << 24 | var21 << 16 | var22 << 8 | var23;
}
this.lightmapTexture.updateDynamicTexture();
this.lightmapUpdateNeeded = false;
this.mc.renderEngine.createTextureFromBytes(this.lightmapColors, 16, 16, this.lightmapTexture);
}
}

View File

@ -1,201 +0,0 @@
package net.minecraft.src;
import java.io.File;
import java.io.IOException;
import java.net.URI;
import org.lwjgl.Sys;
public class GuiScreenTemporaryResourcePackSelect extends GuiScreen
{
protected GuiScreen field_110347_a;
private int refreshTimer = -1;
private GuiScreenTemporaryResourcePackSelectSelectionList field_110346_c;
private GameSettings field_96146_n;
public GuiScreenTemporaryResourcePackSelect(GuiScreen par1GuiScreen, GameSettings par2GameSettings)
{
this.field_110347_a = par1GuiScreen;
this.field_96146_n = par2GameSettings;
}
/**
* Adds the buttons (and other controls) to the screen in question.
*/
public void initGui()
{
this.buttonList.add(new GuiSmallButton(5, this.width / 2 - 154, this.height - 48, I18n.getString("resourcePack.openFolder")));
this.buttonList.add(new GuiSmallButton(6, this.width / 2 + 4, this.height - 48, I18n.getString("gui.done")));
this.field_110346_c = new GuiScreenTemporaryResourcePackSelectSelectionList(this, this.mc.getResourcePackRepository());
this.field_110346_c.registerScrollButtons(7, 8);
}
/**
* Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e).
*/
protected void actionPerformed(GuiButton par1GuiButton)
{
if (par1GuiButton.enabled)
{
if (par1GuiButton.id == 5)
{
File var2 = GuiScreenTemporaryResourcePackSelectSelectionList.func_110510_a(this.field_110346_c).getDirResourcepacks();
String var3 = var2.getAbsolutePath();
if (Util.getOSType() == EnumOS.MACOS)
{
try
{
this.mc.getLogAgent().logInfo(var3);
Runtime.getRuntime().exec(new String[] {"/usr/bin/open", var3});
return;
}
catch (IOException var9)
{
var9.printStackTrace();
}
}
else if (Util.getOSType() == EnumOS.WINDOWS)
{
String var4 = String.format("cmd.exe /C start \"Open file\" \"%s\"", new Object[] {var3});
try
{
Runtime.getRuntime().exec(var4);
return;
}
catch (IOException var8)
{
var8.printStackTrace();
}
}
boolean var10 = false;
try
{
Class var5 = Class.forName("java.awt.Desktop");
Object var6 = var5.getMethod("getDesktop", new Class[0]).invoke((Object)null, new Object[0]);
var5.getMethod("browse", new Class[] {URI.class}).invoke(var6, new Object[] {var2.toURI()});
}
catch (Throwable var7)
{
var7.printStackTrace();
var10 = true;
}
if (var10)
{
this.mc.getLogAgent().logInfo("Opening via system class!");
Sys.openURL("file://" + var3);
}
}
else if (par1GuiButton.id == 6)
{
this.mc.displayGuiScreen(this.field_110347_a);
}
else
{
this.field_110346_c.actionPerformed(par1GuiButton);
}
}
}
/**
* Called when the mouse is clicked.
*/
protected void mouseClicked(int par1, int par2, int par3)
{
super.mouseClicked(par1, par2, par3);
}
/**
* Called when the mouse is moved or a mouse button is released. Signature: (mouseX, mouseY, which) which==-1 is
* mouseMove, which==0 or which==1 is mouseUp
*/
protected void mouseMovedOrUp(int par1, int par2, int par3)
{
super.mouseMovedOrUp(par1, par2, par3);
}
/**
* Draws the screen and all the components in it.
*/
public void drawScreen(int par1, int par2, float par3)
{
this.field_110346_c.drawScreen(par1, par2, par3);
if (this.refreshTimer <= 0)
{
GuiScreenTemporaryResourcePackSelectSelectionList.func_110510_a(this.field_110346_c).updateRepositoryEntriesAll();
this.refreshTimer = 20;
}
this.drawCenteredString(this.fontRenderer, I18n.getString("resourcePack.title"), this.width / 2, 16, 16777215);
this.drawCenteredString(this.fontRenderer, I18n.getString("resourcePack.folderInfo"), this.width / 2 - 77, this.height - 26, 8421504);
super.drawScreen(par1, par2, par3);
}
/**
* Called from the main game loop to update the screen.
*/
public void updateScreen()
{
super.updateScreen();
--this.refreshTimer;
}
static Minecraft func_110344_a(GuiScreenTemporaryResourcePackSelect par0GuiScreenTemporaryResourcePackSelect)
{
return par0GuiScreenTemporaryResourcePackSelect.mc;
}
static Minecraft func_110341_b(GuiScreenTemporaryResourcePackSelect par0GuiScreenTemporaryResourcePackSelect)
{
return par0GuiScreenTemporaryResourcePackSelect.mc;
}
static Minecraft func_110339_c(GuiScreenTemporaryResourcePackSelect par0GuiScreenTemporaryResourcePackSelect)
{
return par0GuiScreenTemporaryResourcePackSelect.mc;
}
static Minecraft func_110345_d(GuiScreenTemporaryResourcePackSelect par0GuiScreenTemporaryResourcePackSelect)
{
return par0GuiScreenTemporaryResourcePackSelect.mc;
}
static Minecraft func_110334_e(GuiScreenTemporaryResourcePackSelect par0GuiScreenTemporaryResourcePackSelect)
{
return par0GuiScreenTemporaryResourcePackSelect.mc;
}
static Minecraft func_110340_f(GuiScreenTemporaryResourcePackSelect par0GuiScreenTemporaryResourcePackSelect)
{
return par0GuiScreenTemporaryResourcePackSelect.mc;
}
static FontRenderer func_130017_g(GuiScreenTemporaryResourcePackSelect par0GuiScreenTemporaryResourcePackSelect)
{
return par0GuiScreenTemporaryResourcePackSelect.fontRenderer;
}
static FontRenderer func_130016_h(GuiScreenTemporaryResourcePackSelect par0GuiScreenTemporaryResourcePackSelect)
{
return par0GuiScreenTemporaryResourcePackSelect.fontRenderer;
}
static FontRenderer func_110337_i(GuiScreenTemporaryResourcePackSelect par0GuiScreenTemporaryResourcePackSelect)
{
return par0GuiScreenTemporaryResourcePackSelect.fontRenderer;
}
static FontRenderer func_110335_j(GuiScreenTemporaryResourcePackSelect par0GuiScreenTemporaryResourcePackSelect)
{
return par0GuiScreenTemporaryResourcePackSelect.fontRenderer;
}
static FontRenderer func_110338_k(GuiScreenTemporaryResourcePackSelect par0GuiScreenTemporaryResourcePackSelect)
{
return par0GuiScreenTemporaryResourcePackSelect.fontRenderer;
}
}

View File

@ -1,148 +0,0 @@
package net.minecraft.src;
import java.io.IOException;
import java.util.List;
import net.lax1dude.eaglercraft.TextureLocation;
import org.lwjgl.opengl.GL11;
import net.lax1dude.eaglercraft.adapter.Tessellator;
class GuiScreenTemporaryResourcePackSelectSelectionList extends GuiSlot
{
private final ResourcePackRepository field_110511_b;
private TextureLocation field_110513_h;
final GuiScreenTemporaryResourcePackSelect field_110512_a;
public GuiScreenTemporaryResourcePackSelectSelectionList(GuiScreenTemporaryResourcePackSelect par1GuiScreenTemporaryResourcePackSelect, ResourcePackRepository par2ResourcePackRepository)
{
super(GuiScreenTemporaryResourcePackSelect.func_110344_a(par1GuiScreenTemporaryResourcePackSelect), par1GuiScreenTemporaryResourcePackSelect.width, par1GuiScreenTemporaryResourcePackSelect.height, 32, par1GuiScreenTemporaryResourcePackSelect.height - 55 + 4, 36);
this.field_110512_a = par1GuiScreenTemporaryResourcePackSelect;
this.field_110511_b = par2ResourcePackRepository;
par2ResourcePackRepository.updateRepositoryEntriesAll();
}
/**
* Gets the size of the current slot list.
*/
protected int getSize()
{
return 1 + this.field_110511_b.getRepositoryEntriesAll().size();
}
/**
* the element in the slot that was clicked, boolean for wether it was double clicked or not
*/
protected void elementClicked(int par1, boolean par2)
{
List var3 = this.field_110511_b.getRepositoryEntriesAll();
try
{
if (par1 == 0)
{
throw new RuntimeException("This is so horrible ;D");
}
this.field_110511_b.setRepositoryEntries(new ResourcePackRepositoryEntry[] {(ResourcePackRepositoryEntry)var3.get(par1 - 1)});
GuiScreenTemporaryResourcePackSelect.func_110341_b(this.field_110512_a).refreshResources();
}
catch (Exception var5)
{
this.field_110511_b.setRepositoryEntries(new ResourcePackRepositoryEntry[0]);
GuiScreenTemporaryResourcePackSelect.func_110339_c(this.field_110512_a).refreshResources();
}
GuiScreenTemporaryResourcePackSelect.func_110345_d(this.field_110512_a).gameSettings.skin = this.field_110511_b.getResourcePackName();
GuiScreenTemporaryResourcePackSelect.func_110334_e(this.field_110512_a).gameSettings.saveOptions();
}
/**
* returns true if the element passed in is currently selected
*/
protected boolean isSelected(int par1)
{
List var2 = this.field_110511_b.getRepositoryEntries();
return par1 == 0 ? var2.isEmpty() : var2.contains(this.field_110511_b.getRepositoryEntriesAll().get(par1 - 1));
}
/**
* return the height of the content being scrolled
*/
protected int getContentHeight()
{
return this.getSize() * 36;
}
protected void drawBackground()
{
this.field_110512_a.drawDefaultBackground();
}
protected void drawSlot(int par1, int par2, int par3, int par4, Tessellator par5Tessellator)
{
RenderEngine var6 = GuiScreenTemporaryResourcePackSelect.func_110340_f(this.field_110512_a).getTextureManager();
if (par1 == 0)
{
try
{
ResourcePack var12 = this.field_110511_b.rprDefaultResourcePack;
PackMetadataSection var13 = (PackMetadataSection)var12.getPackMetadata(this.field_110511_b.rprMetadataSerializer, "pack");
if (this.field_110513_h == null)
{
this.field_110513_h = var6.getDynamicTextureLocation("texturepackicon", new DynamicTexture(var12.getPackImage()));
}
this.field_110513_h.bindTexture();
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
par5Tessellator.startDrawingQuads();
par5Tessellator.setColorOpaque_I(16777215);
par5Tessellator.addVertexWithUV((double)par2, (double)(par3 + par4), 0.0D, 0.0D, 1.0D);
par5Tessellator.addVertexWithUV((double)(par2 + 32), (double)(par3 + par4), 0.0D, 1.0D, 1.0D);
par5Tessellator.addVertexWithUV((double)(par2 + 32), (double)par3, 0.0D, 1.0D, 0.0D);
par5Tessellator.addVertexWithUV((double)par2, (double)par3, 0.0D, 0.0D, 0.0D);
par5Tessellator.draw();
this.field_110512_a.drawString(GuiScreenTemporaryResourcePackSelect.func_130017_g(this.field_110512_a), "Default", par2 + 32 + 2, par3 + 1, 16777215);
this.field_110512_a.drawString(GuiScreenTemporaryResourcePackSelect.func_130016_h(this.field_110512_a), var13.getPackDescription(), par2 + 32 + 2, par3 + 12 + 10, 8421504);
}
catch (IOException var11)
{
;
}
}
else
{
ResourcePackRepositoryEntry var7 = (ResourcePackRepositoryEntry)this.field_110511_b.getRepositoryEntriesAll().get(par1 - 1);
var7.bindTexturePackIcon(var6);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
par5Tessellator.startDrawingQuads();
par5Tessellator.setColorOpaque_I(16777215);
par5Tessellator.addVertexWithUV((double)par2, (double)(par3 + par4), 0.0D, 0.0D, 1.0D);
par5Tessellator.addVertexWithUV((double)(par2 + 32), (double)(par3 + par4), 0.0D, 1.0D, 1.0D);
par5Tessellator.addVertexWithUV((double)(par2 + 32), (double)par3, 0.0D, 1.0D, 0.0D);
par5Tessellator.addVertexWithUV((double)par2, (double)par3, 0.0D, 0.0D, 0.0D);
par5Tessellator.draw();
String var8 = var7.getResourcePackName();
if (var8.length() > 32)
{
var8 = var8.substring(0, 32).trim() + "...";
}
this.field_110512_a.drawString(GuiScreenTemporaryResourcePackSelect.func_110337_i(this.field_110512_a), var8, par2 + 32 + 2, par3 + 1, 16777215);
List var9 = GuiScreenTemporaryResourcePackSelect.func_110335_j(this.field_110512_a).listFormattedStringToWidth(var7.getTexturePackDescription(), 183);
for (int var10 = 0; var10 < 2 && var10 < var9.size(); ++var10)
{
this.field_110512_a.drawString(GuiScreenTemporaryResourcePackSelect.func_110338_k(this.field_110512_a), (String)var9.get(var10), par2 + 32 + 2, par3 + 12 + 10 * var10, 8421504);
}
}
}
static ResourcePackRepository func_110510_a(GuiScreenTemporaryResourcePackSelectSelectionList par0GuiScreenTemporaryResourcePackSelectSelectionList)
{
return par0GuiScreenTemporaryResourcePackSelectSelectionList.field_110511_b;
}
}

View File

@ -219,7 +219,7 @@ public class Item
private String potionEffect;
/** The unlocalized name of this item. */
private String unlocalizedName;
public String unlocalizedName;
/** Icon index in the icons table. */
protected Icon itemIcon;

View File

@ -1,5 +1,6 @@
package net.minecraft.src;
import net.lax1dude.eaglercraft.adapter.Tessellator;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.GL11;
@ -117,7 +118,7 @@ public class LoadingScreenRenderer implements IProgressUpdate
GL11.glTranslatef(0.0F, 0.0F, -200.0F);
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
Tessellator var7 = Tessellator.instance;
this.mc.getTextureManager().bindTexture(Gui.optionsBackground);
Gui.optionsBackground.bindTexture();
float var8 = 32.0F;
var7.startDrawingQuads();
var7.setColorOpaque_I(4210752);

View File

@ -185,9 +185,9 @@ public class RenderItem extends Render
}
}
protected TextureLocation func_110796_a(EntityItem par1EntityItem)
protected TextureLocation func_110796_a(EntityItem par1EntityItem) // FIX THIS (maybe)
{
return (par1EntityItem.getEntityItem().getItemSpriteNumber());
return new TextureLocation("textures/items/" + par1EntityItem.getEntityItem().getItem().unlocalizedName + ".png");
}
/**