디시인사이드 갤러리

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

갤러리 본문 영역

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

빈지노(221.162) 2011.01.26 00:43:40
조회 675 추천 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
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 현역으로 군대 안 간게 의아한 스타는? 운영자 25/06/30 - -
AD 휴대폰 바꿀까? 특가 구매 찬스! 운영자 25/07/02 - -
342938 형들 16진수를 10수 변환 어떻게 하는겨 ? [9] 옵빅갤로그로 이동합니다. 13.01.14 171 0
342937 초보앙 이거 ~ [1] 상상(175.123) 13.01.14 71 1
342935 초보앙 이거 질문 [1] 상상(175.123) 13.01.14 94 1
342933 갑위치에 있는것처럼 보여도 슈퍼갑은 존재한다. 1돌대갈(116.33) 13.01.13 78 0
342931 여기 유동닉 햄톨이란 사람 있으면 뎃글좀 달아바 저격수(211.218) 13.01.13 35 0
342928 형들 중상위 대학 다니는데 나 졸업하면 아마도 갑질 할 것 같아 [4] asdf(222.100) 13.01.13 205 0
342927 상상 보셈 [6] Unbalance(222.232) 13.01.13 176 0
342926 C언어본색하고(박정민)VS C프로그래밍(윤성우) [11] 101010(125.136) 13.01.13 392 0
342925 이제 컴공 2학년 들어가는 대학생입니다! [7] leanne(125.186) 13.01.13 268 0
342923 프겔의 주제는 코딩으로 나가면 안된다. [5] 힝아(115.161) 13.01.13 199 0
342922 역시 내가 잘못안게 아니다. 너희들이 arm 구조를 모르기 때문에 ... [43] 상상(175.123) 13.01.13 458 0
342921 리눅스를 공부 셋째날 [6] 펔끄유갤로그로 이동합니다. 13.01.13 233 0
342919 자바 짬짬히 공부할수잇음? [1] ㅇㅇ(182.210) 13.01.13 93 0
342918 정보보안 묻는새끼들 [7] (203.252) 13.01.13 415 2
342916 C에서 이거 머가 문제인가요 [1] 으악(122.35) 13.01.13 66 0
342915 아무것도모르는데 자바책 뇌를 자극하는 JAVA 프로그래밍 이거살만함? [1] ㅇㅇㅇ(182.210) 13.01.13 141 0
342913 좋은 아이디어가 생기면 이래야된다 JSpiner갤로그로 이동합니다. 13.01.13 84 0
342911 네이버는 왜 미국진출을안함? [5] 123ss(175.215) 13.01.13 215 1
342907 형들 컴공초보인데 정보보안전문가를 꿈꾸고 있는데 테크트리 좀알려주세용 [5] ㅇㅇ(119.192) 13.01.13 278 0
342906 아이디어는 개똥이다. [2] r(168.126) 13.01.13 109 0
342905 형님덜 visual studio2010이거 왜그러나여? [1] 이거왜그럼?(123.254) 13.01.13 65 0
342904 형들 내가시발 개 쩌는 아이디어(페이스북/구글 급) 있는데 누가 만들어줄 [4] zzz(175.215) 13.01.13 205 0
342902 c 에서 동적할당 잡아놓고 free 안해주고 프로그램많이 돌리면 [9] 123(124.5) 13.01.13 190 0
342901 형들 내가 모르고 c# 3.5 포함되어잇는 c#3.0 책 삿는데 문제없겟 [1] asdfsadf(175.215) 13.01.13 52 0
342900 형들 내가만약에 페이스북 급의 아이디어를 하나 생각나서 만들었다고 치자 [8] 123123123123(175.215) 13.01.13 181 0
342899 횽들 메모리 해제 안하고....... ㅇㅇ(112.148) 13.01.13 62 0
342898 형들 나 갓 나온 뉴비인데 자바스크립트 질문좀 할께 [1] script갤로그로 이동합니다. 13.01.13 72 0
342897 간단한 윈속 질문좀 짱짱 고수들 도움좀 (요약있음) 도퍼로시갤로그로 이동합니다. 13.01.13 62 0
342895 Why SPLIT unicode codebase u2em갤로그로 이동합니다. 13.01.13 40 0
342894 소멤이나 공모전나갈 플젝 보통 어떤걸로함? [1] 라러어아(222.107) 13.01.13 208 0
342893 이갤 새끼들은 냉정하네 [5] 역시(211.234) 13.01.13 232 0
342891 소스 코드 많은 사이트좀 알려주세요 [2] 12312321(14.37) 13.01.13 100 0
342890 어제 내질문 해답이 멉냐구욤ㅜㅠ 답글만 많고 [32] 상상(175.223) 13.01.13 231 1
342889 굿모닝! 비주얼베이직 다루는 형 좀 도와줄 수 있어?? [1] 궁금(1.241) 13.01.13 68 0
342887 궁금한거 있는데 비트컴터학원가면.. [6] 질문(183.108) 13.01.13 290 0
342886 프갤시발롬들아 한번더 질문한다 C++먼저하는게낫냐 아니면 java먼저? [6] 우희우희우희찡갤로그로 이동합니다. 13.01.13 163 0
342885 ?? 형들 콘솔창에 띄울때 gotoxy 안쓰심?? 뭐 쓰심?? [4] ㅁㄴㅇㄹ(183.106) 13.01.13 115 0
342884 늬들은 어떤걸 공부하냐 [2] 도와줘(165.132) 13.01.13 90 1
342883 형들 대체 왜 c에서 글한줄 띄울려고 많은거씀? [5] 옵빅갤로그로 이동합니다. 13.01.13 167 0
342882 시밯롬들아 나 롤갤에서왓는데 비베할줄모른다 나좀 도와저 [5] 우희우희우희찡갤로그로 이동합니다. 13.01.13 108 0
342881 vm설치가능하신분 ㅠㅠ [1] vm헬프(119.206) 13.01.13 62 0
342880 프갤러형들 안드로이드 관련질문좀 될까? [6] I고갤로그로 이동합니다. 13.01.13 77 0
342879 올해 23살인데 막막함... [12] 김쿼티갤로그로 이동합니다. 13.01.13 418 0
342878 리눅스를 공부 둘째날 [13] 펔끄유갤로그로 이동합니다. 13.01.12 347 0
342877 고수가 있낭? 아까 컴구조 질문에 대한 이해 점검.. 이거 맞나영? [23] 상상(175.123) 13.01.12 289 1
342875 자바 공부하려고하는데 영어잘해야되지? [4] ㅇㅇㅇ(182.210) 13.01.12 119 1
342873 아무것도모르는 아다상태에서 스마트폰게임 혼자만들려면 얼마나걸리냐 [2] ㅇㅇㅇ(182.210) 13.01.12 140 0
342871 진짜 테트리스가 좆밥이냐?ㅠㅠ [5] 대기업?숭컴!갤로그로 이동합니다. 13.01.12 223 0
342869 월욜 첫출근인데 ㄷㄷ해 [2] 123(58.233) 13.01.12 197 0
342868 윈도우api 좌표계 중에 사소한데 신경쓰이는거 질문좀 뷰포트함수 [2] 초급노력가(123.140) 13.01.12 58 0
뉴스 '남주의 첫날밤을 가져버렸다' 서현, 충격적인 납치 엔딩! 서현을 납치한 범인은? 궁금증 폭발! 디시트렌드 07.04
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2