diff options
| -rw-r--r-- | encoding.lua | 265 | ||||
| -rw-r--r-- | init.lua | 88 | ||||
| -rw-r--r-- | textures/hdf_00.png | bin | 0 -> 87 bytes | |||
| -rw-r--r-- | textures/hdf_a8.png | bin | 0 -> 150 bytes | |||
| -rw-r--r-- | textures/hdf_b8.png | bin | 0 -> 175 bytes | |||
| -rw-r--r-- | textures/hdf_b9.png | bin | 0 -> 179 bytes | |||
| -rw-r--r-- | textures/hdf_c0.png | bin | 0 -> 180 bytes | |||
| -rw-r--r-- | textures/hdf_c1.png | bin | 0 -> 173 bytes | |||
| -rw-r--r-- | textures/hdf_c2.png | bin | 0 -> 169 bytes | |||
| -rw-r--r-- | textures/hdf_c3.png | bin | 0 -> 141 bytes | |||
| -rw-r--r-- | textures/hdf_c4.png | bin | 0 -> 167 bytes | |||
| -rw-r--r-- | textures/hdf_c5.png | bin | 0 -> 149 bytes | |||
| -rw-r--r-- | textures/hdf_c6.png | bin | 0 -> 172 bytes | |||
| -rw-r--r-- | textures/hdf_c7.png | bin | 0 -> 172 bytes | |||
| -rw-r--r-- | textures/hdf_c8.png | bin | 0 -> 171 bytes | |||
| -rw-r--r-- | textures/hdf_c9.png | bin | 0 -> 173 bytes | |||
| -rw-r--r-- | textures/hdf_ca.png | bin | 0 -> 183 bytes | |||
| -rw-r--r-- | textures/hdf_cb.png | bin | 0 -> 172 bytes | |||
| -rw-r--r-- | textures/hdf_cc.png | bin | 0 -> 176 bytes | |||
| -rw-r--r-- | textures/hdf_cd.png | bin | 0 -> 160 bytes | |||
| -rw-r--r-- | textures/hdf_ce.png | bin | 0 -> 187 bytes | |||
| -rw-r--r-- | textures/hdf_cf.png | bin | 0 -> 143 bytes | |||
| -rw-r--r-- | textures/hdf_d0.png | bin | 0 -> 174 bytes | |||
| -rw-r--r-- | textures/hdf_d1.png | bin | 0 -> 185 bytes | |||
| -rw-r--r-- | textures/hdf_d2.png | bin | 0 -> 145 bytes | |||
| -rw-r--r-- | textures/hdf_d3.png | bin | 0 -> 183 bytes | |||
| -rw-r--r-- | textures/hdf_d4.png | bin | 0 -> 173 bytes | |||
| -rw-r--r-- | textures/hdf_d5.png | bin | 0 -> 186 bytes | |||
| -rw-r--r-- | textures/hdf_d6.png | bin | 0 -> 157 bytes | |||
| -rw-r--r-- | textures/hdf_d7.png | bin | 0 -> 158 bytes | |||
| -rw-r--r-- | textures/hdf_d8.png | bin | 0 -> 144 bytes | |||
| -rw-r--r-- | textures/hdf_d9.png | bin | 0 -> 150 bytes | |||
| -rw-r--r-- | textures/hdf_da.png | bin | 0 -> 175 bytes | |||
| -rw-r--r-- | textures/hdf_db.png | bin | 0 -> 167 bytes | |||
| -rw-r--r-- | textures/hdf_dc.png | bin | 0 -> 172 bytes | |||
| -rw-r--r-- | textures/hdf_dd.png | bin | 0 -> 186 bytes | |||
| -rw-r--r-- | textures/hdf_de.png | bin | 0 -> 185 bytes | |||
| -rw-r--r-- | textures/hdf_df.png | bin | 0 -> 177 bytes | |||
| -rw-r--r-- | textures/hdf_e0.png | bin | 0 -> 176 bytes | |||
| -rw-r--r-- | textures/hdf_e1.png | bin | 0 -> 178 bytes | |||
| -rw-r--r-- | textures/hdf_e2.png | bin | 0 -> 170 bytes | |||
| -rw-r--r-- | textures/hdf_e3.png | bin | 0 -> 151 bytes | |||
| -rw-r--r-- | textures/hdf_e4.png | bin | 0 -> 162 bytes | |||
| -rw-r--r-- | textures/hdf_e5.png | bin | 0 -> 186 bytes | |||
| -rw-r--r-- | textures/hdf_e6.png | bin | 0 -> 147 bytes | |||
| -rw-r--r-- | textures/hdf_e7.png | bin | 0 -> 176 bytes | |||
| -rw-r--r-- | textures/hdf_e8.png | bin | 0 -> 163 bytes | |||
| -rw-r--r-- | textures/hdf_e9.png | bin | 0 -> 167 bytes | |||
| -rw-r--r-- | textures/hdf_ea.png | bin | 0 -> 169 bytes | |||
| -rw-r--r-- | textures/hdf_eb.png | bin | 0 -> 159 bytes | |||
| -rw-r--r-- | textures/hdf_ec.png | bin | 0 -> 160 bytes | |||
| -rw-r--r-- | textures/hdf_ed.png | bin | 0 -> 155 bytes | |||
| -rw-r--r-- | textures/hdf_ee.png | bin | 0 -> 172 bytes | |||
| -rw-r--r-- | textures/hdf_ef.png | bin | 0 -> 146 bytes | |||
| -rw-r--r-- | textures/hdf_f0.png | bin | 0 -> 168 bytes | |||
| -rw-r--r-- | textures/hdf_f1.png | bin | 0 -> 172 bytes | |||
| -rw-r--r-- | textures/hdf_f2.png | bin | 0 -> 148 bytes | |||
| -rw-r--r-- | textures/hdf_f3.png | bin | 0 -> 176 bytes | |||
| -rw-r--r-- | textures/hdf_f4.png | bin | 0 -> 170 bytes | |||
| -rw-r--r-- | textures/hdf_f5.png | bin | 0 -> 172 bytes | |||
| -rw-r--r-- | textures/hdf_f6.png | bin | 0 -> 155 bytes | |||
| -rw-r--r-- | textures/hdf_f7.png | bin | 0 -> 159 bytes | |||
| -rw-r--r-- | textures/hdf_f8.png | bin | 0 -> 145 bytes | |||
| -rw-r--r-- | textures/hdf_f9.png | bin | 0 -> 151 bytes | |||
| -rw-r--r-- | textures/hdf_fa.png | bin | 0 -> 170 bytes | |||
| -rw-r--r-- | textures/hdf_fb.png | bin | 0 -> 166 bytes | |||
| -rw-r--r-- | textures/hdf_fc.png | bin | 0 -> 156 bytes | |||
| -rw-r--r-- | textures/hdf_fd.png | bin | 0 -> 180 bytes | |||
| -rw-r--r-- | textures/hdf_fe.png | bin | 0 -> 164 bytes | |||
| -rw-r--r-- | textures/hdf_ff.png | bin | 0 -> 174 bytes | 
70 files changed, 329 insertions, 24 deletions
| diff --git a/encoding.lua b/encoding.lua new file mode 100644 index 0000000..16e35fe --- /dev/null +++ b/encoding.lua @@ -0,0 +1,265 @@ +-- encoding borrowed from signs_lib mod of https://github.com/lord-server/lord + +local ansi_decode = { +	[128] = "\208\130", +	[129] = "\208\131", +	[130] = "\226\128\154", +	[131] = "\209\147", +	[132] = "\226\128\158", +	[133] = "\226\128\166", +	[134] = "\226\128\160", +	[135] = "\226\128\161", +	[136] = "\226\130\172", +	[137] = "\226\128\176", +	[138] = "\208\137", +	[139] = "\226\128\185", +	[140] = "\208\138", +	[141] = "\208\140", +	[142] = "\208\139", +	[143] = "\208\143", +	[144] = "\209\146", +	[145] = "\226\128\152", +	[146] = "\226\128\153", +	[147] = "\226\128\156", +	[148] = "\226\128\157", +	[149] = "\226\128\162", +	[150] = "\226\128\147", +	[151] = "\226\128\148", +	[152] = "\194\152", +	[153] = "\226\132\162", +	[154] = "\209\153", +	[155] = "\226\128\186", +	[156] = "\209\154", +	[157] = "\209\156", +	[158] = "\209\155", +	[159] = "\209\159", +	[160] = "\194\160", +	[161] = "\209\142", +	[162] = "\209\158", +	[163] = "\208\136", +	[164] = "\194\164", +	[165] = "\210\144", +	[166] = "\194\166", +	[167] = "\194\167", +	[168] = "\208\129", +	[169] = "\194\169", +	[170] = "\208\132", +	[171] = "\194\171", +	[172] = "\194\172", +	[173] = "\194\173", +	[174] = "\194\174", +	[175] = "\208\135", +	[176] = "\194\176", +	[177] = "\194\177", +	[178] = "\208\134", +	[179] = "\209\150", +	[180] = "\210\145", +	[181] = "\194\181", +	[182] = "\194\182", +	[183] = "\194\183", +	[184] = "\209\145", +	[185] = "\226\132\150", +	[186] = "\209\148", +	[187] = "\194\187", +	[188] = "\209\152", +	[189] = "\208\133", +	[190] = "\209\149", +	[191] = "\209\151" +} +local utf8_decode = { +	[128] = { +		[147] = "\150", +		[148] = "\151", +		[152] = "\145", +		[153] = "\146", +		[154] = "\130", +		[156] = "\147", +		[157] = "\148", +		[158] = "\132", +		[160] = "\134", +		[161] = "\135", +		[162] = "\149", +		[166] = "\133", +		[176] = "\137", +		[185] = "\139", +		[186] = "\155" +	}, +	[130] = {[172] = "\136"}, +	[132] = {[150] = "\185", [162] = "\153"}, +	[194] = { +		[152] = "\152", +		[160] = "\160", +		[164] = "\164", +		[166] = "\166", +		[167] = "\167", +		[169] = "\169", +		[171] = "\171", +		[172] = "\172", +		[173] = "\173", +		[174] = "\174", +		[176] = "\176", +		[177] = "\177", +		[181] = "\181", +		[182] = "\182", +		[183] = "\183", +		[187] = "\187" +	}, +	[208] = { +		[129] = "\168", +		[130] = "\128", +		[131] = "\129", +		[132] = "\170", +		[133] = "\189", +		[134] = "\178", +		[135] = "\175", +		[136] = "\163", +		[137] = "\138", +		[138] = "\140", +		[139] = "\142", +		[140] = "\141", +		[143] = "\143", +		[144] = "\192", +		[145] = "\193", +		[146] = "\194", +		[147] = "\195", +		[148] = "\196", +		[149] = "\197", +		[150] = "\198", +		[151] = "\199", +		[152] = "\200", +		[153] = "\201", +		[154] = "\202", +		[155] = "\203", +		[156] = "\204", +		[157] = "\205", +		[158] = "\206", +		[159] = "\207", +		[160] = "\208", +		[161] = "\209", +		[162] = "\210", +		[163] = "\211", +		[164] = "\212", +		[165] = "\213", +		[166] = "\214", +		[167] = "\215", +		[168] = "\216", +		[169] = "\217", +		[170] = "\218", +		[171] = "\219", +		[172] = "\220", +		[173] = "\221", +		[174] = "\222", +		[175] = "\223", +		[176] = "\224", +		[177] = "\225", +		[178] = "\226", +		[179] = "\227", +		[180] = "\228", +		[181] = "\229", +		[182] = "\230", +		[183] = "\231", +		[184] = "\232", +		[185] = "\233", +		[186] = "\234", +		[187] = "\235", +		[188] = "\236", +		[189] = "\237", +		[190] = "\238", +		[191] = "\239" +	}, +	[209] = { +		[128] = "\240", +		[129] = "\241", +		[130] = "\242", +		[131] = "\243", +		[132] = "\244", +		[133] = "\245", +		[134] = "\246", +		[135] = "\247", +		[136] = "\248", +		[137] = "\249", +		[138] = "\250", +		[139] = "\251", +		[140] = "\252", +		[141] = "\253", +		[142] = "\254", +		[143] = "\255", +		[144] = "\161", +		[145] = "\184", +		[146] = "\144", +		[147] = "\131", +		[148] = "\186", +		[149] = "\190", +		[150] = "\179", +		[151] = "\191", +		[152] = "\188", +		[153] = "\154", +		[154] = "\156", +		[155] = "\158", +		[156] = "\157", +		[158] = "\162", +		[159] = "\159" +	}, +	[210] = {[144] = "\165", [145] = "\180"} +} + +local nmdc = { +	[36] = "$", +	[124] = "|" +} + +function AnsiToUtf8(s) +	local r, b = "" +	for i = 1, s and s:len() or 0 do +		b = s:byte(i) +		if b < 128 then +			r = r .. string.char(b) +		else +			if b > 239 then +				r = r .. "\209" .. string.char(b - 112) +			elseif b > 191 then +				r = r .. "\208" .. string.char(b - 48) +			elseif ansi_decode[b] then +				r = r .. ansi_decode[b] +			else +				r = r .. "_" +			end +		end +	end +	return r +end + +function Utf8ToAnsi(s) +	local a, j, r, b = 0, 0, "" +	for i = 1, s and s:len() or 0 do +		b = s:byte(i) +		if b < 128 then +			if nmdc[b] then +				r = r .. nmdc[b] +			else +				r = r .. string.char(b) +			end +		elseif a == 2 then +			a, j = a - 1, b +		elseif a == 1 then +			--if j == nil or b == nil then return r end +			--print(j) +			--print(b) +			--local ansi = utf8_decode[j] +			--if ansi == nil then return r end +			--if ansi[b] == nil then return r end +			if utf8_decode[j] then +				if utf8_decode[j][b] then +					a, r = a - 1, r .. utf8_decode[j][b] +				end +			end +		elseif b == 226 then +			a = 2 +		elseif b == 194 or b == 208 or b == 209 or b == 210 then +			j, a = b, 1 +		else +			r = r .. "_" +		end +	end +	return r +end @@ -16,8 +16,16 @@ local enable_colored_metal_signs = true  local current_keyword = minetest.settings:get("interact_keyword") or "iaccept"  signs_lib = {} +signs_lib.path = minetest.get_modpath(minetest.get_current_modname())  screwdriver = screwdriver or {} +-- Load support for intllib. +local S, NS = dofile(signs_lib.path .. "/intllib.lua") +signs_lib.gettext = S + +-- text encoding +dofile(signs_lib.path .. "/encoding.lua"); +  signs_lib.wallmounted_rotate = function(pos, node, user, mode, new_param2)  	if mode ~= screwdriver.ROTATE_AXIS then return false end  	minetest.swap_node(pos, {name = node.name, param2 = (node.param2 + 1) % 6}) @@ -113,11 +121,6 @@ signs_lib.sign_post_model = {  	}  } --- Load support for intllib. -local MP = minetest.get_modpath(minetest.get_current_modname()) -local S, NS = dofile(MP.."/intllib.lua") -signs_lib.gettext = S -  -- the list of standard sign nodes  signs_lib.sign_node_list = { @@ -174,28 +177,48 @@ end  -- CONSTANTS -local MP = minetest.get_modpath("signs_lib") - --- Used by `build_char_db' to locate the file. -local FONT_FMT = "%s/hdf_%02x.png" - --- Simple texture name for building text texture. -local FONT_FMT_SIMPLE = "hdf_%02x.png" -  -- Path to the textures. -local TP = MP.."/textures" +local TP = signs_lib.path .. "/textures" +-- Font file formatter +local CHAR_FILE = "%s_%02x.png" +-- Fonts path +local CHAR_PATH = TP .. "/" .. CHAR_FILE + +-- Font name. +local font_name = "hdf"  -- Lots of overkill here. KISS advocates, go away, shoo! ;) -- kaeza  local PNG_HDR = string.char(0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A) +-- check if a file does exist +-- to avoid reopening file after checking again +-- pass TRUE as second argument +function file_exists(name, return_handle, mode) +	mode = mode or "r"; +	local f = io.open(name, mode) +	if f ~= nil then +		if (return_handle) then +			return f +		end +		io.close(f)  +		return true  +	else  +		return false  +	end +end +  -- Read the image size from a PNG file.  -- Returns image_w, image_h.  -- Only the LSB is read from each field!  local function read_image_size(filename) -	local f = io.open(filename, "rb") +	local f = file_exists(filename, true, "rb") +	-- file might not exist (don't crash the game) +	if (not f) then +		return 0, 0 +	end  	f:seek("set", 0x0) -	local hdr = f:read(8) +	local hdr = f:read(string.len(PNG_HDR))  	if hdr ~= PNG_HDR then  		f:close()  		return @@ -243,8 +266,8 @@ local function build_char_db()  	local total_width = 0  	local char_count = 0 -	for c = 32, 126 do -		local w, h = read_image_size(FONT_FMT:format(TP, c)) +	for c = 32, 255 do +		local w, h = read_image_size(CHAR_PATH:format(font_name, c))  		if w and h then  			local ch = string.char(c)  			charwidth[ch] = w @@ -308,6 +331,19 @@ local function fill_line(x, y, w, c)  	return table.concat(tex)  end +-- make char texture file name +-- if texture file does not exist use fallback texture instead +local function char_tex(font_name, ch) +	local c = ch:byte() +	local exists, tex = file_exists(CHAR_PATH:format(font_name, c)) +	if exists and c ~= 14 then +		tex = CHAR_FILE:format(font_name, c) +	else +		tex = CHAR_FILE:format(font_name, 0x0) +	end +	return tex, exists +end +  local function make_line_texture(line, lineno, pos)  	local width = 0 @@ -344,9 +380,9 @@ local function make_line_texture(line, lineno, pos)  					end  					if #chars < MAX_INPUT_CHARS then  						table.insert(chars, { -							off=ch_offs, -							tex=FONT_FMT_SIMPLE:format(c:byte()), -							col=("%X"):format(cur_color), +							off = ch_offs, +							tex = char_tex(font_name, c), +							col = ("%X"):format(cur_color),  						})  					end  					ch_offs = ch_offs + w @@ -387,7 +423,10 @@ local function make_line_texture(line, lineno, pos)  			end  			table.insert(texture, (":%d,%d=%s"):format(xpos + ch.off, ypos, ch.tex))  		end -		table.insert(texture, (":%d,%d=hdf_20.png"):format(xpos + word.w, ypos)) +		table.insert( +			texture,  +			(":%d,%d="):format(xpos + word.w, ypos) .. char_tex(font_name, " ") +		)  		xpos = xpos + word.w + charwidth[" "]  		if xpos >= (SIGN_WIDTH + charwidth[" "]) then break end  	end @@ -413,10 +452,11 @@ end  local function set_obj_text(obj, text, new, pos)  	local split = new and split_lines_and_words or split_lines_and_words_old +	local text_ansi = Utf8ToAnsi(text)  	local n = minetest.registered_nodes[minetest.get_node(pos).name]  	local text_scale = (n and n.text_scale) or DEFAULT_TEXT_SCALE  	obj:set_properties({ -		textures={make_sign_texture(split(text), pos)}, +		textures={make_sign_texture(split(text_ansi), pos)},  		visual_size = text_scale,  	})  end @@ -636,7 +676,7 @@ function signs_lib.receive_fields(pos, formname, fields, sender, lock)  	if fields and fields.text and fields.ok then  		minetest.log("action", S("@1 wrote \"@2\" to @3sign at @4",  			(sender:get_player_name() or ""), -			fields.text, +			fields.text:gsub('\\', '\\\\'):gsub("\n", "\\n"),  			lockstr,  			minetest.pos_to_string(pos)  		)) diff --git a/textures/hdf_00.png b/textures/hdf_00.pngBinary files differ new file mode 100644 index 0000000..ec762d5 --- /dev/null +++ b/textures/hdf_00.png diff --git a/textures/hdf_a8.png b/textures/hdf_a8.pngBinary files differ new file mode 100644 index 0000000..75d1495 --- /dev/null +++ b/textures/hdf_a8.png diff --git a/textures/hdf_b8.png b/textures/hdf_b8.pngBinary files differ new file mode 100644 index 0000000..c8215a1 --- /dev/null +++ b/textures/hdf_b8.png diff --git a/textures/hdf_b9.png b/textures/hdf_b9.pngBinary files differ new file mode 100644 index 0000000..765437a --- /dev/null +++ b/textures/hdf_b9.png diff --git a/textures/hdf_c0.png b/textures/hdf_c0.pngBinary files differ new file mode 100644 index 0000000..fe3e380 --- /dev/null +++ b/textures/hdf_c0.png diff --git a/textures/hdf_c1.png b/textures/hdf_c1.pngBinary files differ new file mode 100644 index 0000000..f589c1c --- /dev/null +++ b/textures/hdf_c1.png diff --git a/textures/hdf_c2.png b/textures/hdf_c2.pngBinary files differ new file mode 100644 index 0000000..ea6043a --- /dev/null +++ b/textures/hdf_c2.png diff --git a/textures/hdf_c3.png b/textures/hdf_c3.pngBinary files differ new file mode 100644 index 0000000..1cc88a8 --- /dev/null +++ b/textures/hdf_c3.png diff --git a/textures/hdf_c4.png b/textures/hdf_c4.pngBinary files differ new file mode 100644 index 0000000..1006dff --- /dev/null +++ b/textures/hdf_c4.png diff --git a/textures/hdf_c5.png b/textures/hdf_c5.pngBinary files differ new file mode 100644 index 0000000..85c9b92 --- /dev/null +++ b/textures/hdf_c5.png diff --git a/textures/hdf_c6.png b/textures/hdf_c6.pngBinary files differ new file mode 100644 index 0000000..7e5b16c --- /dev/null +++ b/textures/hdf_c6.png diff --git a/textures/hdf_c7.png b/textures/hdf_c7.pngBinary files differ new file mode 100644 index 0000000..6303b0e --- /dev/null +++ b/textures/hdf_c7.png diff --git a/textures/hdf_c8.png b/textures/hdf_c8.pngBinary files differ new file mode 100644 index 0000000..e8ece15 --- /dev/null +++ b/textures/hdf_c8.png diff --git a/textures/hdf_c9.png b/textures/hdf_c9.pngBinary files differ new file mode 100644 index 0000000..d3dc073 --- /dev/null +++ b/textures/hdf_c9.png diff --git a/textures/hdf_ca.png b/textures/hdf_ca.pngBinary files differ new file mode 100644 index 0000000..a940065 --- /dev/null +++ b/textures/hdf_ca.png diff --git a/textures/hdf_cb.png b/textures/hdf_cb.pngBinary files differ new file mode 100644 index 0000000..fa96d93 --- /dev/null +++ b/textures/hdf_cb.png diff --git a/textures/hdf_cc.png b/textures/hdf_cc.pngBinary files differ new file mode 100644 index 0000000..0c66142 --- /dev/null +++ b/textures/hdf_cc.png diff --git a/textures/hdf_cd.png b/textures/hdf_cd.pngBinary files differ new file mode 100644 index 0000000..5677f03 --- /dev/null +++ b/textures/hdf_cd.png diff --git a/textures/hdf_ce.png b/textures/hdf_ce.pngBinary files differ new file mode 100644 index 0000000..9314974 --- /dev/null +++ b/textures/hdf_ce.png diff --git a/textures/hdf_cf.png b/textures/hdf_cf.pngBinary files differ new file mode 100644 index 0000000..fb6dee9 --- /dev/null +++ b/textures/hdf_cf.png diff --git a/textures/hdf_d0.png b/textures/hdf_d0.pngBinary files differ new file mode 100644 index 0000000..74b0c17 --- /dev/null +++ b/textures/hdf_d0.png diff --git a/textures/hdf_d1.png b/textures/hdf_d1.pngBinary files differ new file mode 100644 index 0000000..5197b0f --- /dev/null +++ b/textures/hdf_d1.png diff --git a/textures/hdf_d2.png b/textures/hdf_d2.pngBinary files differ new file mode 100644 index 0000000..744f4eb --- /dev/null +++ b/textures/hdf_d2.png diff --git a/textures/hdf_d3.png b/textures/hdf_d3.pngBinary files differ new file mode 100644 index 0000000..048856b --- /dev/null +++ b/textures/hdf_d3.png diff --git a/textures/hdf_d4.png b/textures/hdf_d4.pngBinary files differ new file mode 100644 index 0000000..49e7b8c --- /dev/null +++ b/textures/hdf_d4.png diff --git a/textures/hdf_d5.png b/textures/hdf_d5.pngBinary files differ new file mode 100644 index 0000000..f2df843 --- /dev/null +++ b/textures/hdf_d5.png diff --git a/textures/hdf_d6.png b/textures/hdf_d6.pngBinary files differ new file mode 100644 index 0000000..8f77483 --- /dev/null +++ b/textures/hdf_d6.png diff --git a/textures/hdf_d7.png b/textures/hdf_d7.pngBinary files differ new file mode 100644 index 0000000..20164b9 --- /dev/null +++ b/textures/hdf_d7.png diff --git a/textures/hdf_d8.png b/textures/hdf_d8.pngBinary files differ new file mode 100644 index 0000000..72861b0 --- /dev/null +++ b/textures/hdf_d8.png diff --git a/textures/hdf_d9.png b/textures/hdf_d9.pngBinary files differ new file mode 100644 index 0000000..497b45e --- /dev/null +++ b/textures/hdf_d9.png diff --git a/textures/hdf_da.png b/textures/hdf_da.pngBinary files differ new file mode 100644 index 0000000..1c24540 --- /dev/null +++ b/textures/hdf_da.png diff --git a/textures/hdf_db.png b/textures/hdf_db.pngBinary files differ new file mode 100644 index 0000000..e750c0e --- /dev/null +++ b/textures/hdf_db.png diff --git a/textures/hdf_dc.png b/textures/hdf_dc.pngBinary files differ new file mode 100644 index 0000000..ce2e197 --- /dev/null +++ b/textures/hdf_dc.png diff --git a/textures/hdf_dd.png b/textures/hdf_dd.pngBinary files differ new file mode 100644 index 0000000..bbb07bd --- /dev/null +++ b/textures/hdf_dd.png diff --git a/textures/hdf_de.png b/textures/hdf_de.pngBinary files differ new file mode 100644 index 0000000..4c59047 --- /dev/null +++ b/textures/hdf_de.png diff --git a/textures/hdf_df.png b/textures/hdf_df.pngBinary files differ new file mode 100644 index 0000000..7c29dde --- /dev/null +++ b/textures/hdf_df.png diff --git a/textures/hdf_e0.png b/textures/hdf_e0.pngBinary files differ new file mode 100644 index 0000000..93d4b14 --- /dev/null +++ b/textures/hdf_e0.png diff --git a/textures/hdf_e1.png b/textures/hdf_e1.pngBinary files differ new file mode 100644 index 0000000..7bf2382 --- /dev/null +++ b/textures/hdf_e1.png diff --git a/textures/hdf_e2.png b/textures/hdf_e2.pngBinary files differ new file mode 100644 index 0000000..66b116a --- /dev/null +++ b/textures/hdf_e2.png diff --git a/textures/hdf_e3.png b/textures/hdf_e3.pngBinary files differ new file mode 100644 index 0000000..5b0a418 --- /dev/null +++ b/textures/hdf_e3.png diff --git a/textures/hdf_e4.png b/textures/hdf_e4.pngBinary files differ new file mode 100644 index 0000000..e3ec02d --- /dev/null +++ b/textures/hdf_e4.png diff --git a/textures/hdf_e5.png b/textures/hdf_e5.pngBinary files differ new file mode 100644 index 0000000..09b431a --- /dev/null +++ b/textures/hdf_e5.png diff --git a/textures/hdf_e6.png b/textures/hdf_e6.pngBinary files differ new file mode 100644 index 0000000..777b8cd --- /dev/null +++ b/textures/hdf_e6.png diff --git a/textures/hdf_e7.png b/textures/hdf_e7.pngBinary files differ new file mode 100644 index 0000000..9da7dab --- /dev/null +++ b/textures/hdf_e7.png diff --git a/textures/hdf_e8.png b/textures/hdf_e8.pngBinary files differ new file mode 100644 index 0000000..d7279ae --- /dev/null +++ b/textures/hdf_e8.png diff --git a/textures/hdf_e9.png b/textures/hdf_e9.pngBinary files differ new file mode 100644 index 0000000..4d40313 --- /dev/null +++ b/textures/hdf_e9.png diff --git a/textures/hdf_ea.png b/textures/hdf_ea.pngBinary files differ new file mode 100644 index 0000000..2533ec1 --- /dev/null +++ b/textures/hdf_ea.png diff --git a/textures/hdf_eb.png b/textures/hdf_eb.pngBinary files differ new file mode 100644 index 0000000..4ef9129 --- /dev/null +++ b/textures/hdf_eb.png diff --git a/textures/hdf_ec.png b/textures/hdf_ec.pngBinary files differ new file mode 100644 index 0000000..18e859b --- /dev/null +++ b/textures/hdf_ec.png diff --git a/textures/hdf_ed.png b/textures/hdf_ed.pngBinary files differ new file mode 100644 index 0000000..edd951d --- /dev/null +++ b/textures/hdf_ed.png diff --git a/textures/hdf_ee.png b/textures/hdf_ee.pngBinary files differ new file mode 100644 index 0000000..813e1f7 --- /dev/null +++ b/textures/hdf_ee.png diff --git a/textures/hdf_ef.png b/textures/hdf_ef.pngBinary files differ new file mode 100644 index 0000000..f2f24d2 --- /dev/null +++ b/textures/hdf_ef.png diff --git a/textures/hdf_f0.png b/textures/hdf_f0.pngBinary files differ new file mode 100644 index 0000000..697286c --- /dev/null +++ b/textures/hdf_f0.png diff --git a/textures/hdf_f1.png b/textures/hdf_f1.pngBinary files differ new file mode 100644 index 0000000..01c1e64 --- /dev/null +++ b/textures/hdf_f1.png diff --git a/textures/hdf_f2.png b/textures/hdf_f2.pngBinary files differ new file mode 100644 index 0000000..df2aaa3 --- /dev/null +++ b/textures/hdf_f2.png diff --git a/textures/hdf_f3.png b/textures/hdf_f3.pngBinary files differ new file mode 100644 index 0000000..e09cf75 --- /dev/null +++ b/textures/hdf_f3.png diff --git a/textures/hdf_f4.png b/textures/hdf_f4.pngBinary files differ new file mode 100644 index 0000000..2c0853b --- /dev/null +++ b/textures/hdf_f4.png diff --git a/textures/hdf_f5.png b/textures/hdf_f5.pngBinary files differ new file mode 100644 index 0000000..fd21a81 --- /dev/null +++ b/textures/hdf_f5.png diff --git a/textures/hdf_f6.png b/textures/hdf_f6.pngBinary files differ new file mode 100644 index 0000000..189a96f --- /dev/null +++ b/textures/hdf_f6.png diff --git a/textures/hdf_f7.png b/textures/hdf_f7.pngBinary files differ new file mode 100644 index 0000000..87b2eca --- /dev/null +++ b/textures/hdf_f7.png diff --git a/textures/hdf_f8.png b/textures/hdf_f8.pngBinary files differ new file mode 100644 index 0000000..3c195aa --- /dev/null +++ b/textures/hdf_f8.png diff --git a/textures/hdf_f9.png b/textures/hdf_f9.pngBinary files differ new file mode 100644 index 0000000..9fb54ba --- /dev/null +++ b/textures/hdf_f9.png diff --git a/textures/hdf_fa.png b/textures/hdf_fa.pngBinary files differ new file mode 100644 index 0000000..da72b46 --- /dev/null +++ b/textures/hdf_fa.png diff --git a/textures/hdf_fb.png b/textures/hdf_fb.pngBinary files differ new file mode 100644 index 0000000..6cfd0fe --- /dev/null +++ b/textures/hdf_fb.png diff --git a/textures/hdf_fc.png b/textures/hdf_fc.pngBinary files differ new file mode 100644 index 0000000..c8c6918 --- /dev/null +++ b/textures/hdf_fc.png diff --git a/textures/hdf_fd.png b/textures/hdf_fd.pngBinary files differ new file mode 100644 index 0000000..9130ccd --- /dev/null +++ b/textures/hdf_fd.png diff --git a/textures/hdf_fe.png b/textures/hdf_fe.pngBinary files differ new file mode 100644 index 0000000..5165296 --- /dev/null +++ b/textures/hdf_fe.png diff --git a/textures/hdf_ff.png b/textures/hdf_ff.pngBinary files differ new file mode 100644 index 0000000..a1a1f10 --- /dev/null +++ b/textures/hdf_ff.png | 
