1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
def sprite_lookup
{
0 => [3, 0],
1 => [3, 1],
2 => [3, 2],
3 => [3, 3],
4 => [3, 4],
5 => [3, 5],
6 => [3, 6],
7 => [3, 7],
8 => [3, 8],
9 => [3, 9],
'@' => [4, 0],
A: [ 4, 1],
B: [ 4, 2],
C: [ 4, 3],
D: [ 4, 4],
E: [ 4, 5],
F: [ 4, 6],
G: [ 4, 7],
H: [ 4, 8],
I: [ 4, 9],
J: [ 4, 10],
K: [ 4, 11],
L: [ 4, 12],
M: [ 4, 13],
N: [ 4, 14],
O: [ 4, 15],
P: [ 5, 0],
Q: [ 5, 1],
R: [ 5, 2],
S: [ 5, 3],
T: [ 5, 4],
U: [ 5, 5],
V: [ 5, 6],
W: [ 5, 7],
X: [ 5, 8],
Y: [ 5, 9],
Z: [ 5, 10],
a: [ 6, 1],
b: [ 6, 2],
c: [ 6, 3],
d: [ 6, 4],
e: [ 6, 5],
f: [ 6, 6],
g: [ 6, 7],
h: [ 6, 8],
i: [ 6, 9],
j: [ 6, 10],
k: [ 6, 11],
l: [ 6, 12],
m: [ 6, 13],
n: [ 6, 14],
o: [ 6, 15],
p: [ 7, 0],
q: [ 7, 1],
r: [ 7, 2],
s: [ 7, 3],
t: [ 7, 4],
u: [ 7, 5],
v: [ 7, 6],
w: [ 7, 7],
x: [ 7, 8],
y: [ 7, 9],
z: [ 7, 10],
'|' => [ 7, 12]
}
end
def sprite key
$gtk.args.state.reserved.sprite_lookup[key]
end
def member_name_as_code raw_member_name
if raw_member_name.is_a? Symbol
":#{raw_member_name}"
elsif raw_member_name.is_a? String
"'#{raw_member_name}'"
elsif raw_member_name.is_a? Fixnum
"#{raw_member_name}"
else
"UNKNOWN: #{raw_member_name}"
end
end
def tile x, y, tile_row_column_or_key
tile_extended x, y, DESTINATION_TILE_SIZE, DESTINATION_TILE_SIZE, TILE_R, TILE_G, TILE_B, TILE_A, tile_row_column_or_key
end
def tile_extended x, y, w, h, r, g, b, a, tile_row_column_or_key
row_or_key, column = tile_row_column_or_key
if !column
row, column = sprite row_or_key
else
row, column = row_or_key, column
end
if !row
member_name = member_name_as_code tile_row_column_or_key
raise "Unabled to find a sprite for #{member_name}. Make sure the value exists in app/sprite_lookup.rb."
end
# Sprite provided by Rogue Yun
# http://www.bay12forums.com/smf/index.php?topic=144897.0
# License: Public Domain
{
x: x,
y: y,
w: w,
h: h,
tile_x: column * 16,
tile_y: (row * 16),
tile_w: 16,
tile_h: 16,
r: r,
g: g,
b: b,
a: a,
path: 'sprites/simple-mood-16x16.png'
}
end
$gtk.args.state.reserved.sprite_lookup = sprite_lookup
|