Skip to content

Commit 11a3f7e

Browse files
committed
rescale gfx
1 parent d589082 commit 11a3f7e

11 files changed

+147
-141
lines changed

data/gfx.tgz

42.6 KB
Binary file not shown.

src/gfx.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ void gfx_init(void)
173173
gfx_init13();
174174
gfx_init14();
175175
gfx_init15();
176+
gfx_init_16x16();
176177
gfx_init2();
177178
gfx_init3();
178179
gfx_init_32x32();

src/gfx_16x16.cpp

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
//
2+
// Copyright Neil McGill, goblinhack@gmail.com
3+
//
4+
5+
#include "my_tile.hpp"
6+
#include "my_ui.hpp"
7+
8+
void gfx_init_16x16(void)
9+
{
10+
std::initializer_list< std::string > tiles = {
11+
// clang-format off
12+
// ##############################################################################
13+
"dungeon_floor.1",
14+
"dungeon_floor.2",
15+
"dungeon_floor.3",
16+
"dungeon_floor.4",
17+
};
18+
const std::vector< std::string > arr(tiles);
19+
tile_load_arr("data/gfx/tiles_16x16.tga", "tiles_16x16", 16, 16, arr);
20+
}

src/gfx_32x32.cpp

+101-22
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,6 @@ void gfx_init_32x32(void)
99
{
1010
std::initializer_list< std::string > tiles = {
1111
// clang-format off
12-
"dungeon_entrance",
13-
"",
14-
"",
15-
"",
16-
"",
17-
"",
18-
"",
19-
"",
20-
"dungeon_floor.1",
21-
"dungeon_floor.2",
22-
"dungeon_floor.3",
23-
"dungeon_floor.4",
24-
"",
25-
"",
26-
"",
27-
"",
28-
"",
29-
"",
3012
// ##############################################################################
3113
"dungeon_exit.0",
3214
"dungeon_exit.1",
@@ -40,13 +22,110 @@ void gfx_init_32x32(void)
4022
"",
4123
"",
4224
"",
25+
// ##############################################################################
26+
"dungeon_wall.IS_JOIN_TL2",
27+
"dungeon_wall.IS_JOIN_T_3",
28+
"dungeon_wall.IS_JOIN_TR2",
29+
"dungeon_wall.IS_JOIN_TOP",
30+
"dungeon_wall.IS_JOIN_X4_180",
31+
"dungeon_wall.IS_JOIN_X4_270",
32+
"dungeon_wall.IS_JOIN_X2_270",
33+
"dungeon_wall.IS_JOIN_X2",
34+
"dungeon_wall.IS_JOIN_X1_180",
35+
"dungeon_wall.IS_JOIN_X1",
36+
"dungeon_wall.IS_JOIN_X",
4337
"",
38+
// ##############################################################################
39+
"dungeon_wall.IS_JOIN_T270_3",
40+
"dungeon_wall.IS_JOIN_BLOCK",
41+
"dungeon_wall.IS_JOIN_T90_3",
42+
"dungeon_wall.IS_JOIN_VERT",
43+
"dungeon_wall.IS_JOIN_X4_90",
44+
"dungeon_wall.IS_JOIN_X4",
45+
"dungeon_wall.IS_JOIN_X2_180",
46+
"dungeon_wall.IS_JOIN_X2_90",
47+
"dungeon_wall.IS_JOIN_X1_90",
48+
"dungeon_wall.IS_JOIN_X1_270",
49+
"dungeon_wall.IS_JOIN_X3_180",
50+
"dungeon_wall.IS_JOIN_X3",
51+
// ##############################################################################
52+
"dungeon_wall.IS_JOIN_BL2",
53+
"dungeon_wall.IS_JOIN_T180_3",
54+
"dungeon_wall.IS_JOIN_BR2",
55+
"dungeon_wall.IS_JOIN_BOT",
56+
"dungeon_wall.IS_JOIN_T_1",
57+
"dungeon_wall.IS_JOIN_T_2",
58+
"dungeon_wall.IS_JOIN_T270_2",
59+
"dungeon_wall.IS_JOIN_T90_1",
60+
"dungeon_wall.IS_JOIN_T",
61+
"dungeon_wall.IS_JOIN_T90",
62+
"dungeon_wall.IS_JOIN_TL",
63+
"dungeon_wall.IS_JOIN_TR",
64+
// ##############################################################################
65+
"dungeon_wall.IS_JOIN_LEFT",
66+
"dungeon_wall.IS_JOIN_HORIZ",
67+
"dungeon_wall.IS_JOIN_RIGHT",
68+
"dungeon_wall.IS_JOIN_NODE",
69+
"dungeon_wall.IS_JOIN_T180_2",
70+
"dungeon_wall.IS_JOIN_T180_1",
71+
"dungeon_wall.IS_JOIN_T270_1",
72+
"dungeon_wall.IS_JOIN_T90_2",
73+
"dungeon_wall.IS_JOIN_T270",
74+
"dungeon_wall.IS_JOIN_T180",
75+
"dungeon_wall.IS_JOIN_BL",
76+
"dungeon_wall.IS_JOIN_BR",
77+
// ##############################################################################
78+
"dungeon_door.IS_JOIN_TL2",
79+
"dungeon_door.IS_JOIN_T_3",
80+
"dungeon_door.IS_JOIN_TR2",
81+
"dungeon_door.IS_JOIN_TOP",
82+
"dungeon_door.IS_JOIN_X4_180",
83+
"dungeon_door.IS_JOIN_X4_270",
84+
"dungeon_door.IS_JOIN_X2_270",
85+
"dungeon_door.IS_JOIN_X2",
86+
"dungeon_door.IS_JOIN_X1_180",
87+
"dungeon_door.IS_JOIN_X1",
88+
"dungeon_door.IS_JOIN_X",
4489
"",
45-
"",
46-
"",
47-
"",
48-
"",
4990
// ##############################################################################
91+
"dungeon_door.IS_JOIN_T270_3",
92+
"dungeon_door.IS_JOIN_BLOCK",
93+
"dungeon_door.IS_JOIN_T90_3",
94+
"dungeon_door.IS_JOIN_VERT",
95+
"dungeon_door.IS_JOIN_X4_90",
96+
"dungeon_door.IS_JOIN_X4",
97+
"dungeon_door.IS_JOIN_X2_180",
98+
"dungeon_door.IS_JOIN_X2_90",
99+
"dungeon_door.IS_JOIN_X1_90",
100+
"dungeon_door.IS_JOIN_X1_270",
101+
"dungeon_door.IS_JOIN_X3_180",
102+
"dungeon_door.IS_JOIN_X3",
103+
// ##############################################################################
104+
"dungeon_door.IS_JOIN_BL2",
105+
"dungeon_door.IS_JOIN_T180_3",
106+
"dungeon_door.IS_JOIN_BR2",
107+
"dungeon_door.IS_JOIN_BOT",
108+
"dungeon_door.IS_JOIN_T_1",
109+
"dungeon_door.IS_JOIN_T_2",
110+
"dungeon_door.IS_JOIN_T270_2",
111+
"dungeon_door.IS_JOIN_T90_1",
112+
"dungeon_door.IS_JOIN_T",
113+
"dungeon_door.IS_JOIN_T90",
114+
"dungeon_door.IS_JOIN_TL",
115+
"dungeon_door.IS_JOIN_TR",
116+
// ##############################################################################
117+
"dungeon_door.IS_JOIN_LEFT",
118+
"dungeon_door.IS_JOIN_HORIZ",
119+
"dungeon_door.IS_JOIN_RIGHT",
120+
"dungeon_door.IS_JOIN_NODE",
121+
"dungeon_door.IS_JOIN_T180_2",
122+
"dungeon_door.IS_JOIN_T180_1",
123+
"dungeon_door.IS_JOIN_T270_1",
124+
"dungeon_door.IS_JOIN_T90_2",
125+
"dungeon_door.IS_JOIN_T270",
126+
"dungeon_door.IS_JOIN_T180",
127+
"dungeon_door.IS_JOIN_BL",
128+
"dungeon_door.IS_JOIN_BR",
50129
};
51130
const std::vector< std::string > arr(tiles);
52131
tile_load_arr("data/gfx/tiles_32x32.tga", "tiles_32x32", 32, 32, arr);

src/gfx_64x64.cpp

-104
Original file line numberDiff line numberDiff line change
@@ -36,110 +36,6 @@ void gfx_init_64x64(void)
3636
"",
3737
"",
3838
// ##############################################################################
39-
"dungeon_wall.IS_JOIN_TL2",
40-
"dungeon_wall.IS_JOIN_T_3",
41-
"dungeon_wall.IS_JOIN_TR2",
42-
"dungeon_wall.IS_JOIN_TOP",
43-
"dungeon_wall.IS_JOIN_X4_180",
44-
"dungeon_wall.IS_JOIN_X4_270",
45-
"dungeon_wall.IS_JOIN_X2_270",
46-
"dungeon_wall.IS_JOIN_X2",
47-
"dungeon_wall.IS_JOIN_X1_180",
48-
"dungeon_wall.IS_JOIN_X1",
49-
"dungeon_wall.IS_JOIN_X",
50-
"",
51-
// ##############################################################################
52-
"dungeon_wall.IS_JOIN_T270_3",
53-
"dungeon_wall.IS_JOIN_BLOCK",
54-
"dungeon_wall.IS_JOIN_T90_3",
55-
"dungeon_wall.IS_JOIN_VERT",
56-
"dungeon_wall.IS_JOIN_X4_90",
57-
"dungeon_wall.IS_JOIN_X4",
58-
"dungeon_wall.IS_JOIN_X2_180",
59-
"dungeon_wall.IS_JOIN_X2_90",
60-
"dungeon_wall.IS_JOIN_X1_90",
61-
"dungeon_wall.IS_JOIN_X1_270",
62-
"dungeon_wall.IS_JOIN_X3_180",
63-
"dungeon_wall.IS_JOIN_X3",
64-
// ##############################################################################
65-
"dungeon_wall.IS_JOIN_BL2",
66-
"dungeon_wall.IS_JOIN_T180_3",
67-
"dungeon_wall.IS_JOIN_BR2",
68-
"dungeon_wall.IS_JOIN_BOT",
69-
"dungeon_wall.IS_JOIN_T_1",
70-
"dungeon_wall.IS_JOIN_T_2",
71-
"dungeon_wall.IS_JOIN_T270_2",
72-
"dungeon_wall.IS_JOIN_T90_1",
73-
"dungeon_wall.IS_JOIN_T",
74-
"dungeon_wall.IS_JOIN_T90",
75-
"dungeon_wall.IS_JOIN_TL",
76-
"dungeon_wall.IS_JOIN_TR",
77-
// ##############################################################################
78-
"dungeon_wall.IS_JOIN_LEFT",
79-
"dungeon_wall.IS_JOIN_HORIZ",
80-
"dungeon_wall.IS_JOIN_RIGHT",
81-
"dungeon_wall.IS_JOIN_NODE",
82-
"dungeon_wall.IS_JOIN_T180_2",
83-
"dungeon_wall.IS_JOIN_T180_1",
84-
"dungeon_wall.IS_JOIN_T270_1",
85-
"dungeon_wall.IS_JOIN_T90_2",
86-
"dungeon_wall.IS_JOIN_T270",
87-
"dungeon_wall.IS_JOIN_T180",
88-
"dungeon_wall.IS_JOIN_BL",
89-
"dungeon_wall.IS_JOIN_BR",
90-
// ##############################################################################
91-
"dungeon_door.IS_JOIN_TL2",
92-
"dungeon_door.IS_JOIN_T_3",
93-
"dungeon_door.IS_JOIN_TR2",
94-
"dungeon_door.IS_JOIN_TOP",
95-
"dungeon_door.IS_JOIN_X4_180",
96-
"dungeon_door.IS_JOIN_X4_270",
97-
"dungeon_door.IS_JOIN_X2_270",
98-
"dungeon_door.IS_JOIN_X2",
99-
"dungeon_door.IS_JOIN_X1_180",
100-
"dungeon_door.IS_JOIN_X1",
101-
"dungeon_door.IS_JOIN_X",
102-
"",
103-
// ##############################################################################
104-
"dungeon_door.IS_JOIN_T270_3",
105-
"dungeon_door.IS_JOIN_BLOCK",
106-
"dungeon_door.IS_JOIN_T90_3",
107-
"dungeon_door.IS_JOIN_VERT",
108-
"dungeon_door.IS_JOIN_X4_90",
109-
"dungeon_door.IS_JOIN_X4",
110-
"dungeon_door.IS_JOIN_X2_180",
111-
"dungeon_door.IS_JOIN_X2_90",
112-
"dungeon_door.IS_JOIN_X1_90",
113-
"dungeon_door.IS_JOIN_X1_270",
114-
"dungeon_door.IS_JOIN_X3_180",
115-
"dungeon_door.IS_JOIN_X3",
116-
// ##############################################################################
117-
"dungeon_door.IS_JOIN_BL2",
118-
"dungeon_door.IS_JOIN_T180_3",
119-
"dungeon_door.IS_JOIN_BR2",
120-
"dungeon_door.IS_JOIN_BOT",
121-
"dungeon_door.IS_JOIN_T_1",
122-
"dungeon_door.IS_JOIN_T_2",
123-
"dungeon_door.IS_JOIN_T270_2",
124-
"dungeon_door.IS_JOIN_T90_1",
125-
"dungeon_door.IS_JOIN_T",
126-
"dungeon_door.IS_JOIN_T90",
127-
"dungeon_door.IS_JOIN_TL",
128-
"dungeon_door.IS_JOIN_TR",
129-
// ##############################################################################
130-
"dungeon_door.IS_JOIN_LEFT",
131-
"dungeon_door.IS_JOIN_HORIZ",
132-
"dungeon_door.IS_JOIN_RIGHT",
133-
"dungeon_door.IS_JOIN_NODE",
134-
"dungeon_door.IS_JOIN_T180_2",
135-
"dungeon_door.IS_JOIN_T180_1",
136-
"dungeon_door.IS_JOIN_T270_1",
137-
"dungeon_door.IS_JOIN_T90_2",
138-
"dungeon_door.IS_JOIN_T270",
139-
"dungeon_door.IS_JOIN_T180",
140-
"dungeon_door.IS_JOIN_BL",
141-
"dungeon_door.IS_JOIN_BR",
142-
// ##############################################################################
14339
};
14440
const std::vector< std::string > arr(tiles);
14541
tile_load_arr("data/gfx/tiles_64x64.tga", "tiles_64x64", 64, 64, arr);

src/level_dungeon.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ void Level::dungeon_create_and_place()
1010
map_set(data,
1111
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
1212
"x...x...........x..............x"
13-
"x...x=xx=xx.....x..xxxx==xxxx..x"
14-
"x...x..x...x....x..xxxx...xxx..x"
15-
"x===x..xx...x...x..xxx.===.=...x"
13+
"x...x=xx=x...=..x..xxxx==xxxx..x"
14+
"x...x..x....===.x..xxxx...xxx..x"
15+
"x===x..xx....=..x..xxx.===.=...x"
1616
"x...=.xx........x...=..===.=...x"
17-
"x...=..x.====...x..xxx.===.=...x"
18-
"xxx.=.xx.=..=...x..xxxx...xxx..x"
19-
"x...=....====...x..xxxx==xxxx..x"
17+
"x...=..x.======.x..xxx.===.=...x"
18+
"xxx.=.xx.=..=.=.x..xxxx...xxx..x"
19+
"x...=....======.x..xxxx==xxxx..x"
2020
"x...=.xx........x..............x"
2121
"x...=.......xxxxx...x.......x..x"
2222
"x..xxxxx.====...x..x.x=====x...x"

src/my_ascii.hpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@
1111
#include "my_tile.hpp"
1212
#include "my_ui.hpp"
1313

14-
#define TERM_GFX_WIDTH_DEF 128
15-
#define TERM_GFX_HEIGHT_DEF 44
14+
#define TERM_GFX_WIDTH_DEF 80
15+
#define TERM_GFX_HEIGHT_DEF 40
1616

17-
#define TERM_WIDTH_MAX (TERM_GFX_WIDTH_DEF)
18-
#define TERM_HEIGHT_MAX (TERM_GFX_HEIGHT_DEF)
17+
#define TERM_WIDTH_MAX (TERM_GFX_WIDTH_DEF * 2)
18+
#define TERM_HEIGHT_MAX (TERM_GFX_HEIGHT_DEF * 2)
1919

2020
class AsciiCell
2121
{

src/my_gfx.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ extern void gfx_init12();
2323
extern void gfx_init13();
2424
extern void gfx_init14();
2525
extern void gfx_init15();
26+
extern void gfx_init_16x16();
2627
extern void gfx_init_32x32();
2728
extern void gfx_init_48x48();
2829
extern void gfx_init_64x64();

src/my_tile.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
#include "my_sys.hpp"
1212

1313
#define TILE_VARIANTS 6
14-
#define TILE_HEIGHT 32
15-
#define TILE_WIDTH 32
14+
#define TILE_HEIGHT 16
15+
#define TILE_WIDTH 16
1616
#define TILE_HEIGHT_MAX 64
1717
#define TILE_WIDTH_MAX 64 // Largest tile for collisions
1818

src/sdl.cpp

+5-3
Original file line numberDiff line numberDiff line change
@@ -773,7 +773,7 @@ void config_game_gfx_update(void)
773773
game->config.aspect_ratio = (double) game->config.window_pix_width / (double) game->config.window_pix_height;
774774
game->config.game_pix_height = game->config.window_pix_height;
775775
game->config.game_pix_width = game->config.window_pix_width;
776-
game->config.game_pix_height = 480;
776+
game->config.game_pix_height = 16 * 16;
777777
game->config.game_pix_width = (int) (((double) game->config.game_pix_height) * game->config.aspect_ratio);
778778

779779
if (! game->config.game_pix_width) {
@@ -787,6 +787,8 @@ void config_game_gfx_update(void)
787787

788788
game->config.ui_pix_width = game->config.window_pix_width;
789789
game->config.ui_pix_height = game->config.window_pix_height;
790+
game->config.ui_pix_width = game->config.game_pix_width;
791+
game->config.ui_pix_height = game->config.game_pix_height;
790792

791793
if (! TILE_WIDTH) {
792794
ERR("TILE_WIDTH zero");
@@ -851,8 +853,8 @@ void config_game_gfx_update(void)
851853
//
852854
// Account for rounding errors, so the tiles look smoother.
853855
//
854-
game->config.ascii_gl_width = game->config.config_pix_width / TERM_WIDTH;
855-
game->config.ascii_gl_height = game->config.config_pix_height / TERM_HEIGHT;
856+
game->config.ascii_gl_width = UI_FONT_WIDTH;
857+
game->config.ascii_gl_height = UI_FONT_HEIGHT;
856858

857859
//
858860
// If we overflow the screen, try to cut a few rows and columns off

src/sdl_display.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ void sdl_display(void)
1717

1818
glBlendFunc(GL_ONE, GL_ZERO);
1919
blit_fbo_window_pix(FBO_MAP);
20+
if (0) {
21+
auto x_offset = (game->config.ui_pix_width - game->config.ui_pix_height) / 2;
22+
blit_init();
23+
blit(fbo_tex_id[ FBO_MAP ], 0.0, 1.0, 1.0, 0.0, x_offset, 0, game->config.ui_pix_height + x_offset,
24+
game->config.ui_pix_height);
25+
blit_flush();
26+
}
2027

2128
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
2229
blit_fbo_window_pix(FBO_WID);

0 commit comments

Comments
 (0)