디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

마인크래프트 소스는 공개됬는데.. 한글화를 몬하겠음 ㅠㅠ

빈지노(221.162) 2011.01.26 00:43:40
조회 670 추천 0 댓글 12


package net.minecraft.src;
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) braces deadcode

import java.awt.image.BufferedImage;
import java.io.IOException;
import java.nio.IntBuffer;
import javax.imageio.ImageIO;
import org.lwjgl.opengl.GL11;

public class FontRenderer
{

    public FontRenderer(GameSettings gamesettings, String s, RenderEngine renderengine)
    {
        charWidth = new int[256];
        fontTextureName = 0;
        buffer = GLAlcreateDirectIntBuffer(1024 /*GL_FRONT_LEFT*/);
        BufferedImage bufferedimage;
        try
        {
            bufferedimage = ImageIO.read((RenderEngine.class).getResourceAsStream(s));
        }
        catch(IOException ioexception)
        {
            throw new RuntimeException(ioexception);
        }
        int i = bufferedimage.getWidth();
        int j = bufferedimage.getHeight();
        int ai[] = new int[i * j];
        bufferedimage.getRGB(0, 0, i, j, ai, 0, i);
        for(int k = 0; k < 256; k++)
        {
            int l = k % 16;
            int k1 = k / 16;
            int j2 = 7;
            do
            {
                if(j2 < 0)
                {
                    break;
                }
                int i3 = l * 8 + j2;
                boolean flag = true;
                for(int l3 = 0; l3 < 8 && flag; l3++)
                {
                    int i4 = (k1 * 8 + l3) * i;
                    int k4 = ai[i3 + i4] & 0xff;
                    if(k4 > 0)
                    {
                        flag = false;
                    }
                }

                if(!flag)
                {
                    break;
                }
                j2--;
            } while(true);
            if(k == 32)
            {
                j2 = 2;
            }
            charWidth[k] = j2 + 2;
        }

        fontTextureName = renderengine.allocateAndSetupTexture(bufferedimage);
        fontDisplayLists = GLAlgenerateDisplayLists(288);
        Tessellator tessellator = Tessellator.instance;
        for(int i1 = 0; i1 < 256; i1++)
        {
            GL11.glNewList(fontDisplayLists + i1, 4864 /*GL_COMPILE*/);
            tessellator.startDrawingQuads();
            int l1 = (i1 % 16) * 8;
            int k2 = (i1 / 16) * 8;
            float f = 7.99F;
            float f1 = 0.0F;
            float f2 = 0.0F;
            tessellator.addVertexWithUV(0.0D, 0.0F + f, 0.0D, (float)l1 / 128F + f1, ((float)k2 + f) / 128F + f2);
            tessellator.addVertexWithUV(0.0F + f, 0.0F + f, 0.0D, ((float)l1 + f) / 128F + f1, ((float)k2 + f) / 128F + f2);
            tessellator.addVertexWithUV(0.0F + f, 0.0D, 0.0D, ((float)l1 + f) / 128F + f1, (float)k2 / 128F + f2);
            tessellator.addVertexWithUV(0.0D, 0.0D, 0.0D, (float)l1 / 128F + f1, (float)k2 / 128F + f2);
            tessellator.draw();
            GL11.glTranslatef(charWidth[i1], 0.0F, 0.0F);
            GL11.glEndList();
        }

        for(int j1 = 0; j1 < 32; j1++)
        {
            int i2 = (j1 >> 3 & 1) * 85;
            int l2 = (j1 >> 2 & 1) * 170 + i2;
            int j3 = (j1 >> 1 & 1) * 170 + i2;
            int k3 = (j1 >> 0 & 1) * 170 + i2;
            if(j1 == 6)
            {
                l2 += 85;
            }
            boolean flag1 = j1 >= 16;
            if(gamesettings.anaglyph)
            {
                int j4 = (l2 * 30 + j3 * 59 + k3 * 11) / 100;
                int l4 = (l2 * 30 + j3 * 70) / 100;
                int i5 = (l2 * 30 + k3 * 70) / 100;
                l2 = j4;
                j3 = l4;
                k3 = i5;
            }
            if(flag1)
            {
                l2 /= 4;
                j3 /= 4;
                k3 /= 4;
            }
            GL11.glNewList(fontDisplayLists + 256 + j1, 4864 /*GL_COMPILE*/);
            GL11.glColor3f((float)l2 / 255F, (float)j3 / 255F, (float)k3 / 255F);
            GL11.glEndList();
        }

    }

    public void drawStringWithShadow(String s, int i, int j, int k)
    {
        renderString(s, i + 1, j + 1, k, true);
        drawString(s, i, j, k);
    }

    public void drawString(String s, int i, int j, int k)
    {
        renderString(s, i, j, k, false);
    }

    public void renderString(String s, int i, int j, int k, boolean flag)
    {
        if(s == null)
        {
            return;
        }
        if(flag)
        {
            int l = k & 0xff000000;
            k = (k & 0xfcfcfc) >> 2;
            k += l;
        }
        GL11.glBindTexture(3553 /*GL_TEXTURE_2D*/, fontTextureName);
        float f = (float)(k >> 16 & 0xff) / 255F;
        float f1 = (float)(k >> 8 & 0xff) / 255F;
        float f2 = (float)(k & 0xff) / 255F;
        float f3 = (float)(k >> 24 & 0xff) / 255F;
        if(f3 == 0.0F)
        {
            f3 = 1.0F;
        }
        GL11.glColor4f(f, f1, f2, f3);
        buffer.clear();
        GL11.glPushMatrix();
        GL11.glTranslatef(i, j, 0.0F);
        for(int i1 = 0; i1 < s.length(); i1++)
        {
            for(; s.charAt(i1) == \'\\247\' && s.length() > i1 + 1; i1 += 2)
            {
                int j1 = "0123456789abcdef".indexOf(s.toLowerCase().charAt(i1 + 1));
                if(j1 < 0 || j1 > 15)
                {
                    j1 = 15;
                }
                buffer.put(fontDisplayLists + 256 + j1 + (flag ? 16 : 0));
                if(buffer.remaining() == 0)
                {
                    buffer.flip();
                    GL11.glCallLists(buffer);
                    buffer.clear();
                }
            }

            int k1 = FontAllowedCharacters.field_20157_a.indexOf(s.charAt(i1));
            if(k1 >= 0)
            {
                buffer.put(fontDisplayLists + k1 + 32);
            }
            if(buffer.remaining() == 0)
            {
                buffer.flip();
                GL11.glCallLists(buffer);
                buffer.clear();
            }
        }

        buffer.flip();
        GL11.glCallLists(buffer);
        GL11.glPopMatrix();
    }

    public int getStringWidth(String s)
    {
        if(s == null)
        {
            return 0;
        }
        int i = 0;
        for(int j = 0; j < s.length(); j++)
        {
            if(s.charAt(j) == \'\\247\')
            {
                j++;
                continue;
            }
            int k = FontAllowedCharacters.field_20157_a.indexOf(s.charAt(j));
            if(k >= 0)
            {
                i += charWidth[k + 32];
            }
        }

        return i;
    }

    private int charWidth[];
    public int fontTextureName;
    private int fontDisplayLists;
    private IntBuffer buffer;
}









폰트렌더러부분의 소스임

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 가족과 완벽하게 손절해야 할 것 같은 스타는? 운영자 24/06/24 - -
235949 jquery 종나 아름답구나. [4] 계백(61.255) 11.02.25 145 0
235948 아이폰 코딩중인데 뭐가 문젤까? [1] (218.152) 11.02.25 122 0
235947 자바에서 단축키 어떻게 만들어요?ㅠ [1] 형님들아(121.163) 11.02.25 100 0
235945 java가 oracle로 넘어오면서 jdk에서 제거된 패키지도 있어? [3] Qs(110.11) 11.02.25 142 0
235944 sosal 횽아 보시라능 [3] monoless갤로그로 이동합니다. 11.02.25 64 0
235942 C언어 처음배우는데 머들어야해염?ㅠㅠㅠㅠ [3] (220.78) 11.02.25 149 0
235941 퍼지 클러스터링 [3] [성대아싸]갤로그로 이동합니다. 11.02.25 145 0
235939 IOCP의 순차성을 해결하는 방법은...? ssonacy갤로그로 이동합니다. 11.02.25 86 0
235937 님들 게임엔진프로그래밍에 대해서 질문 하나만 할께 [2] 전역자(112.164) 11.02.25 179 0
235935 파이썬배울만해요? [7] Pr0xy갤로그로 이동합니다. 11.02.25 236 0
235934 내일 면접.. [2] KKK(180.68) 11.02.25 113 0
235933 리눅스에 제로보드 올리려는데 접근권한이 이상하네요 ;; [25] sosal♡갤로그로 이동합니다. 11.02.24 213 0
235932 핡핡 이거 멋지지않아?? [2] elwlwlwk갤로그로 이동합니다. 11.02.24 156 0
235931 니들 척추는 레알 소중한거다. [2] 계백(61.255) 11.02.24 150 0
235930 다짜 고차 VB를 무시하는 사람들에게... ㅁㄴㅇㄹ(175.199) 11.02.24 133 1
235929 개발자가.. [5] 레시피(114.206) 11.02.24 149 0
235928 100만원으로 할 수 있는 [3] 궁금(119.198) 11.02.24 277 0
235926 패딩이 궁금해. [2] nRESET추종자(183.105) 11.02.24 80 0
235925 ACM-ICPC 구체적으로 좀 알려줘 [6] asdf(58.236) 11.02.24 188 0
235924 퇴개르 수Z갤로그로 이동합니다. 11.02.24 29 0
235923 디씨 갤 글 읽는 프로그램 뿌린다 수Z갤로그로 이동합니다. 11.02.24 135 0
235921 고치다가 다 날라갈뻔했다 [2] 수Z갤로그로 이동합니다. 11.02.24 125 0
235920 오라클 9i auto commit 때문에 3시간을 썼다 [2] 허허벌판갤로그로 이동합니다. 11.02.24 219 0
235919 이번 학기부터 컴공과 수업 듣게 되었는데; [7] 문과천민(220.85) 11.02.24 186 0
235918 다시 만들어 봤는데 [8] 수Z갤로그로 이동합니다. 11.02.24 133 0
235917 디씨인사이드 갤러리 글 확인기 [6] 수Z갤로그로 이동합니다. 11.02.24 182 0
235916 야 혹시 포켓몬 돌리는 TGB 프로그램 잘아는새-끼잇냐 [2] ㅁㅎ(121.64) 11.02.24 507 0
235915 갤러리도배프로그램좀 선물해주실분없나요 [1] 1(59.15) 11.02.24 100 0
235914 탈탈탈 [8] Ynobe갤로그로 이동합니다. 11.02.24 185 0
235913 우리과가 임베디드 과야... [2] ㅇㅇ(112.152) 11.02.24 177 0
235912 프로그래밍 다시 시작하려는 잉여가 질문하나만 할께요 [1] 잉여(121.131) 11.02.24 77 0
235909 웹 해킹하는데도 C언어나 C++언어가 필요하나요? [6] 데일링갤로그로 이동합니다. 11.02.24 341 0
235908 특정 url로 get메소드 보낸거에 대한 결과를 내가 임의로 바꾸려면 [3] blackskirts갤로그로 이동합니다. 11.02.24 73 0
235907 내일 게임회사로 견학갑니다. [2] 데일링갤로그로 이동합니다. 11.02.24 220 0
235906 TV에서 갑상선 질환걸린 사람나왔는데 꿀레(14.33) 11.02.24 104 0
235903 Vs2008 서비스팩1 깔아본형 있음? [2] ㅋㅋ(220.120) 11.02.24 130 0
235902 헐 구글에서 메일왔다. [4] 계백(61.255) 11.02.24 214 0
235900 회사 에서 갈굼당하는 거.. [5] d(61.43) 11.02.24 311 0
235899 디씨 앱은 유동닉은 글도 못 싸네 ㅅㅂ [2] =^=(211.50) 11.02.24 71 0
235898 리더의 도메인과 개발자의 도메인. ㅁㄴㅇㄹ(175.199) 11.02.24 119 0
235897 안철수식 공부. [7] ㅁㄴㅇㄹ(175.199) 11.02.24 332 0
235896 좋은 커뮤니티 사이트좀 추천해 주십쇼 [5] 개마무사갤로그로 이동합니다. 11.02.24 193 0
235895 고급 보인터 질문입니다 ㅜ-ㅜ [1] 아주아슬갤로그로 이동합니다. 11.02.24 104 0
235894 국가에서 내논 C언어 문제인데 [19] 허허벌판갤로그로 이동합니다. 11.02.24 394 0
235893 고급 포인터 질문입니다 ㅜ-ㅜ [24] 질문(147.6) 11.02.24 209 0
235892 국가에서 제공하는 c언어 자격증이라는게 있었구나. [12] 물속의다이아갤로그로 이동합니다. 11.02.24 589 0
235889 아이돌마스터2 샀다 [5] 아주아슬갤로그로 이동합니다. 11.02.24 195 0
235887 조언이 필요함돠..ㅠ.ㅠ [5] 낭군(121.140) 11.02.24 109 0
235886 너희들도 지인들이 컴퓨터 살 때 전화오냐. [10] 물속의다이아갤로그로 이동합니다. 11.02.24 181 0
235885 프갤 일베가 몇일동안 안바뀌는거같다. [1] 할리의본링갤로그로 이동합니다. 11.02.24 62 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2