DEADSOFTWARE

Optimize font
[cavedroid.git] / core / src / ru / deadsoftware / cavecraft / Assets.java
1 package ru.deadsoftware.cavecraft;
3 import com.badlogic.gdx.Gdx;
4 import com.badlogic.gdx.graphics.Texture;
5 import com.badlogic.gdx.graphics.g2d.BitmapFont;
6 import com.badlogic.gdx.graphics.g2d.GlyphLayout;
7 import com.badlogic.gdx.graphics.g2d.Sprite;
8 import com.badlogic.gdx.graphics.g2d.TextureRegion;
10 public class Assets {
12 public static final int BLOCK_TEXTURES = 18;
14 private static GlyphLayout layout;
16 public static BitmapFont minecraftFont;
18 public static Sprite gameLogo;
20 public static Texture menuButtonTexture;
21 public static TextureRegion[] menuButton = new TextureRegion[3];
23 public static Texture playerTexture;
24 public static Sprite[][] playerSprite = new Sprite[2][4];
26 public static Texture pigTexture;
27 public static Sprite[][] pigSprite = new Sprite[2][2];
29 public static Sprite shade;
31 public static Texture terrain;
32 public static TextureRegion[] blockTextures = new TextureRegion[BLOCK_TEXTURES];
34 public static Texture gui;
35 public static TextureRegion invBar;
36 public static TextureRegion invBarCur;
37 public static TextureRegion guiCur;
39 public static Texture creativeTexture;
40 public static TextureRegion creativeInv;
41 public static TextureRegion creativeScroll;
43 public static Texture touchGui;
44 public static TextureRegion[] touchArrows = new TextureRegion[4];
45 public static TextureRegion touchLMB, touchRMB;
46 public static TextureRegion touchToggleMode;
47 public static TextureRegion touchSpace;
49 private static void loadPlayer() {
50 playerTexture = new Texture(Gdx.files.internal("mobs/char.png"));
51 //LOOK TO LEFT
52 //head
53 playerSprite[0][0] = new Sprite(new TextureRegion(playerTexture, 0,0,12,12));
54 playerSprite[0][0].flip(false,true);
55 //body
56 playerSprite[0][1] = new Sprite(new TextureRegion(playerTexture, 0,13,12,12));
57 playerSprite[0][1].flip(false,true);
58 //hand
59 playerSprite[0][2] = new Sprite(new TextureRegion(playerTexture, 25,5,20,20));
60 playerSprite[0][2].flip(false,true);
61 //leg
62 playerSprite[0][3] = new Sprite(new TextureRegion(playerTexture, 25,27,20,20));
63 playerSprite[0][3].flip(false,true);
64 //LOOK TO RIGHT
65 //head
66 playerSprite[1][0] = new Sprite(new TextureRegion(playerTexture, 13,0,12,12));
67 playerSprite[1][0].flip(false,true);
68 //body
69 playerSprite[1][1] = new Sprite(new TextureRegion(playerTexture, 13,13,12,12));
70 playerSprite[1][1].flip(false,true);
71 //hand
72 playerSprite[1][2] = new Sprite(new TextureRegion(playerTexture, 37,5,20,20));
73 playerSprite[1][2].flip(false,true);
74 //leg
75 playerSprite[1][3] = new Sprite(new TextureRegion(playerTexture, 37,27,20,20));
76 playerSprite[1][3].flip(false,true);
77 }
79 private static void loadPig() {
80 pigTexture = new Texture(Gdx.files.internal("mobs/pig.png"));
81 pigSprite[0][0] = new Sprite(new TextureRegion(pigTexture, 0, 0, 25, 12));
82 pigSprite[0][0].flip(false,true);
83 pigSprite[1][0] = new Sprite(new TextureRegion(pigTexture, 0, 12, 25, 12));
84 pigSprite[1][0].flip(false,true);
85 pigSprite[0][1] = new Sprite(new TextureRegion(pigTexture, 4, 26, 12, 12));
86 pigSprite[0][1].flip(false,true);
87 pigSprite[1][1] = new Sprite(new TextureRegion(pigTexture, 16, 26, 12, 12));
88 pigSprite[1][1].flip(false,true);
89 }
91 public static void load() {
92 minecraftFont = new BitmapFont(Gdx.files.internal("font.fnt"), true);
93 minecraftFont.getData().setScale(.375f);
95 layout = new GlyphLayout();
97 gameLogo = new Sprite(new Texture(Gdx.files.internal("gamelogo.png")));
98 gameLogo.flip(false, true);
100 menuButtonTexture = new Texture(Gdx.files.internal("buttons.png"));
101 for (int i=0; i<3; i++) {
102 menuButton[i] = new TextureRegion(menuButtonTexture, 0, 20*i, 200, 20);
103 menuButton[i].flip(false, true);
106 loadPlayer();
107 loadPig();
109 shade = new Sprite(new Texture(Gdx.files.internal("shade.png")));
111 gui = new Texture(Gdx.files.internal("gui.png"));
112 guiCur = new TextureRegion(gui,0,0,16,16);
113 invBar = new TextureRegion(gui,0,16,182,22);
114 invBarCur = new TextureRegion(gui,0,38,24,24);
116 creativeTexture = new Texture(Gdx.files.internal("allitems.png"));
117 creativeInv = new TextureRegion(creativeTexture, 0, 0, 176, 136);
118 creativeInv.flip(false,true);
119 creativeScroll = new TextureRegion(creativeTexture, 3, 137, 12, 15);
120 creativeScroll.flip(false, true);
122 if (CaveGame.TOUCH) {
123 touchGui = new Texture(Gdx.files.internal("touch_gui.png"));
124 for (int i = 0; i < 4; i++) {
125 touchArrows[i] = new TextureRegion(touchGui, i * 26, 0, 26, 26);
126 touchArrows[i].flip(false, true);
128 touchLMB = new TextureRegion(touchGui, 0, 26, 26, 26);
129 touchLMB.flip(false, true);
130 touchRMB = new TextureRegion(touchGui, 52, 26, 26, 26);
131 touchRMB.flip(false, true);
132 touchToggleMode = new TextureRegion(touchGui, 26, 26, 26, 26);
133 touchToggleMode.flip(false, true);
134 touchSpace = new TextureRegion(touchGui, 0, 52, 104, 26);
135 touchSpace.flip(false, true);
138 terrain = new Texture(Gdx.files.internal("terrain.png"));
139 for (int i=0; i<BLOCK_TEXTURES; i++) {
140 blockTextures[i] = new TextureRegion(terrain,
141 (i%16)*16, (i/16)*16, 16,16);
142 blockTextures[i].flip(false,true);
146 public static int getStringWidth(String s){
147 layout.setText(minecraftFont,s);
148 return (int)layout.width;
151 public static int getStringHeight(String s){
152 layout.setText(minecraftFont,s);
153 return (int)layout.height;