From c315581544e86a443f428e636993ed76c631a4d1 Mon Sep 17 00:00:00 2001 From: Neuromancer Date: Thu, 20 Dec 2012 19:16:46 -0600 Subject: [PATCH] initual commit --- .gitattributes | 22 ++++ .gitignore | 163 ++++++++++++++++++++++++ modpack.txt | 0 phonics/depends.txt | 1 + phonics/init.lua | 169 +++++++++++++++++++++++++ phonics/sounds/SoundLicences.txt | 15 +++ phonics/sounds/a.ogg | Bin 0 -> 14759 bytes phonics/sounds/c.ogg | Bin 0 -> 6133 bytes phonics/textures/a.jpg | Bin 0 -> 919 bytes phonics/textures/b.jpg | Bin 0 -> 995 bytes phonics/textures/blue.jpg | Bin 0 -> 751 bytes phonics/textures/c.jpg | Bin 0 -> 904 bytes phonics/textures/d.jpg | Bin 0 -> 948 bytes phonics/textures/e.jpg | Bin 0 -> 1180 bytes phonics/textures/f.jpg | Bin 0 -> 1122 bytes phonics/textures/fireworks_blue.png | Bin 0 -> 295 bytes phonics/textures/fireworks_green.png | Bin 0 -> 257 bytes phonics/textures/fireworks_orange.png | Bin 0 -> 305 bytes phonics/textures/fireworks_purple.png | Bin 0 -> 265 bytes phonics/textures/fireworks_rainbow.png | Bin 0 -> 444 bytes phonics/textures/fireworks_red.png | Bin 0 -> 240 bytes phonics/textures/fireworks_yellow.png | Bin 0 -> 296 bytes phonics/textures/g.jpg | Bin 0 -> 1350 bytes phonics/textures/h.jpg | Bin 0 -> 1210 bytes phonics/textures/i.jpg | Bin 0 -> 1131 bytes phonics/textures/j.jpg | Bin 0 -> 1196 bytes phonics/textures/k.jpg | Bin 0 -> 1222 bytes phonics/textures/l.jpg | Bin 0 -> 1075 bytes phonics/textures/mouthspeaking.jpg | Bin 0 -> 1543 bytes phonics/textures/white.jpg | Bin 0 -> 749 bytes 30 files changed, 370 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 modpack.txt create mode 100644 phonics/depends.txt create mode 100644 phonics/init.lua create mode 100644 phonics/sounds/SoundLicences.txt create mode 100644 phonics/sounds/a.ogg create mode 100644 phonics/sounds/c.ogg create mode 100644 phonics/textures/a.jpg create mode 100644 phonics/textures/b.jpg create mode 100644 phonics/textures/blue.jpg create mode 100644 phonics/textures/c.jpg create mode 100644 phonics/textures/d.jpg create mode 100644 phonics/textures/e.jpg create mode 100644 phonics/textures/f.jpg create mode 100644 phonics/textures/fireworks_blue.png create mode 100644 phonics/textures/fireworks_green.png create mode 100644 phonics/textures/fireworks_orange.png create mode 100644 phonics/textures/fireworks_purple.png create mode 100644 phonics/textures/fireworks_rainbow.png create mode 100644 phonics/textures/fireworks_red.png create mode 100644 phonics/textures/fireworks_yellow.png create mode 100644 phonics/textures/g.jpg create mode 100644 phonics/textures/h.jpg create mode 100644 phonics/textures/i.jpg create mode 100644 phonics/textures/j.jpg create mode 100644 phonics/textures/k.jpg create mode 100644 phonics/textures/l.jpg create mode 100644 phonics/textures/mouthspeaking.jpg create mode 100644 phonics/textures/white.jpg diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..412eeda --- /dev/null +++ b/.gitattributes @@ -0,0 +1,22 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# Custom for Visual Studio +*.cs diff=csharp +*.sln merge=union +*.csproj merge=union +*.vbproj merge=union +*.fsproj merge=union +*.dbproj merge=union + +# Standard to msysgit +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5ebd21a --- /dev/null +++ b/.gitignore @@ -0,0 +1,163 @@ +################# +## Eclipse +################# + +*.pydevproject +.project +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.classpath +.settings/ +.loadpath + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# CDT-specific +.cproject + +# PDT-specific +.buildpath + + +################# +## Visual Studio +################# + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results +[Dd]ebug/ +[Rr]elease/ +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.vspscc +.builds +*.dotCover + +## TODO: If you have NuGet Package Restore enabled, uncomment this +#packages/ + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf + +# Visual Studio profiler +*.psess +*.vsp + +# ReSharper is a .NET coding add-in +_ReSharper* + +# Installshield output folder +[Ee]xpress + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish + +# Others +[Bb]in +[Oo]bj +sql +TestResults +*.Cache +ClientBin +stylecop.* +~$* +*.dbmdl +Generated_Code #added for RIA/Silverlight projects + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML + + + +############ +## Windows +############ + +# Windows image file caches +Thumbs.db + +# Folder config file +Desktop.ini + + +############# +## Python +############# + +*.py[co] + +# Packages +*.egg +*.egg-info +dist +build +eggs +parts +bin +var +sdist +develop-eggs +.installed.cfg + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.coverage +.tox + +#Translations +*.mo + +#Mr Developer +.mr.developer.cfg + +# Mac crap +.DS_Store diff --git a/modpack.txt b/modpack.txt new file mode 100644 index 0000000..e69de29 diff --git a/phonics/depends.txt b/phonics/depends.txt new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/phonics/depends.txt @@ -0,0 +1 @@ +default diff --git a/phonics/init.lua b/phonics/init.lua new file mode 100644 index 0000000..b9ec657 --- /dev/null +++ b/phonics/init.lua @@ -0,0 +1,169 @@ +-- +--Phonics by bacon and Neuromancer +--License code and textures WTFPL +--code borrows heavilly from InfinityProject's firework mod. +--Requirements: +--Mouth block right click says the word it wants you to spell +--mouth block left click (punch) sounds out what you have spelled (to the right of it) +--if what you have spelled matches one of the spellings for the word the block is looking for +--it makes a firework sound (eventually launching blocks into the air as fireworks) +--if you have not spelled the word the mouth block is looking for, it makes a sad noise. +--as it says each sound the corresponding block lights up +--if you destroy mouth block, it destroys all letters to the right of it (explode or fire burn) +--gray blocks are silent letters which are not sounded out +-- this means we have to create sounds for words and an array of spellings for each word. +--someday have an NPC Tutor. +--maybe have it spell out the correct answer if you put a show answer block on top of it. +--if you don't want a word and want a new word, just destroy the mouth block. + +minetest.register_abm({ + nodenames = {"phonics:a", "phonics:c"}, + interval = 8, + chance = 1, + + action = function(pos, node, active_object_count, active_object_count_wider) +-- if node.name == "fireworks:red" then +-- minetest.env:remove_node(pos,{name="fireworks:red"}) +-- elseif node.name == "fireworks:blue" then +-- minetest.env:remove_node(pos,{name="fireworks:blue"}) +-- elseif node.name == "fireworks:green" then +-- minetest.env:remove_node(pos,{name="fireworks:green"}) +-- elseif node.name == "fireworks:purple" then +-- minetest.env:remove_node(pos,{name="fireworks:purple"}) +-- elseif node.name == "fireworks:orange" then +-- minetest.env:remove_node(pos,{name="fireworks:orange"}) +-- elseif node.name == "fireworks:yellow" then +-- minetest.env:remove_node(pos,{name="fireworks:yellow"}) +-- elseif node.name == "fireworks:rainbow" then +-- minetest.env:remove_node(pos,{name="fireworks:rainbow"}) +-- +-- end + end +}) + +minetest.register_node("phonics:SayWord", { + description = "say word", + tiles = { + "white.jpg", + "white.jpg", + "white.jpg", + "white.jpg", + "white.jpg", + "mouthspeaking.jpg",}, + is_ground_content = true, + paramtype = "light", + paramtype2 = "facedir", + groups = {cracky=3}, + sounds = default.node_sound_stone_defaults(), +}) +--minetest.register_node("fireworks:red", { +-- drawtype = "plantlike", +-- description = "Red", +-- tiles = {"fireworks_red.png"}, +-- light_source = 14, --********** +-- walkable = false, +-- is_ground_content = true, +-- pointable = false, +-- groups = {cracky=3,not_in_creative_inventory=1}, +-- sounds = default.node_sound_stone_defaults(), +--}) + + +minetest.register_node("phonics:a", { + description = "a", + tiles = {"a.jpg"}, + is_ground_content = true, + groups = {cracky=3}, + sounds = { + footstep = default.node_sound_stone_defaults(), + dig = {name="a", gain= 1}, -- "__group" = group-based sound (default) + dug = default.node_sound_stone_defaults(), + }, +}) + +minetest.register_node("phonics:c", { + description = "c", + tiles = {"c.jpg"}, + light_source = 14, --********** + is_ground_content = true, + groups = {cracky=3}, + sounds = { + footstep = default.node_sound_stone_defaults(), + dig = {name="c", gain= 1}, -- "__group" = group-based sound (default) + place = {name="c", gain= 1}, + dug = default.node_sound_stone_defaults(), + }, +}) + +--minetest.register_node("fireworks:red", { +-- drawtype = "plantlike", +-- description = "Red", +-- tiles = {"fireworks_red.png"}, +-- light_source = 14, +-- walkable = false, +-- is_ground_content = true, +-- pointable = false, +-- groups = {cracky=3,not_in_creative_inventory=1}, +-- sounds = default.node_sound_stone_defaults(), +--}) + + + +local phonics = { + handler = {}, + {name="a", length=1.3, gain=1}, + {name="c", length=.3, gain=1} +} +local play_sound = function(list, number) + local gain = 1.0 + minetest.chat_send_all("number" .. number ..">" ) + --minetest.chat_send_all("list[1].name" .. list[1].name ..">" ) + --minetest.chat_send_all("list[number].name" .. list[number].name ..">" ) + local handler = minetest.sound_play(number, {gain=gain}) + --local handler = minetest.sound_play(number, {gain=gain}) +end + +function phonics_activate (pos, node) + minetest.chat_send_all("pos.x" .. pos.x ..">" ) + minetest.chat_send_all("pos.y" .. pos.y ..">" ) + minetest.chat_send_all("pos.z" .. pos.z ..">" ) +play_sound(phonics, node) +end + +--if +-- node.name == "phonics:a" +--then +--end +--elseif +-- node.name == "phonics:c" +--then +--end +-- +--end --function + +--minetest.env:remove_node(pos,{name="fireworks:firework_green"}) + +minetest.register_on_punchnode( function(pos, node, puncher) + +--minetest.chat_send_all("number" .. descr ..">" ) +--if node.name == "phonics:a" +-- then phonics_activate(pos, node.description) --1 +--end +--if node.name == "phonics:c" +-- then phonics_activate(pos, node.description) --2 +--end +--phonics_activate(pos, node.description) +if node.name == "phonics:SayWord" + then + pos.z = pos.z-2 + minetest.env:punch_node(pos) + --minetest.env:dig_node(pos) + --http://minetest.net/forum/viewtopic.php?id=2602 + --https://c9.io/lkjoel/minetest-modder/workspace/parseme.txt +end + +end + + ) + +print("Phonics Mod Loaded!") \ No newline at end of file diff --git a/phonics/sounds/SoundLicences.txt b/phonics/sounds/SoundLicences.txt new file mode 100644 index 0000000..331ad56 --- /dev/null +++ b/phonics/sounds/SoundLicences.txt @@ -0,0 +1,15 @@ +Sound Licenses +File: fireworks_triangle +Created By:Syna-Max +Licence: Attribution Noncommercial License. +URL: http://www.freesound.org/people/Syna-Max/sounds/56606/ + +File:RomanCandlesandShells.mp3 +CreatedBy: Mr Sensible +License: This work is licensed under the Creative Commons 0 License. +URL:http://www.freesound.org/people/Mr%20Sensible/sounds/15000/ + +File: MrSensibleFireworks.mp3 +CreatedBy: Mr Sensible +License: This work is licensed under the Creative Commons 0 License. +http://www.freesound.org/people/Mr%20Sensible/sounds/27757/ \ No newline at end of file diff --git a/phonics/sounds/a.ogg b/phonics/sounds/a.ogg new file mode 100644 index 0000000000000000000000000000000000000000..989abbce247dd111f6e061e887c6edc474f3eacd GIT binary patch literal 14759 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 FzW_t^P4fT% literal 0 HcmV?d00001 diff --git a/phonics/sounds/c.ogg b/phonics/sounds/c.ogg new file mode 100644 index 0000000000000000000000000000000000000000..cbb819bd1fb0e9c48803b4d1acc4f2451054f401 GIT binary patch literal 6133 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 Q3qsn%R2#AK)2}%G2@rY@L;wH) literal 0 HcmV?d00001 diff --git a/phonics/textures/a.jpg b/phonics/textures/a.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8743e6510351597c3b24ecdb50de57f52fb60459 GIT binary patch literal 919 zcmex=>OO2oLszOe7rn7yi&p<0%GzqiVE^Fa&pS*Mq0|M`l@nr+SWSy#-P zKf)jn^Z+X`TtGns1&mD0EUawo9GqO-Km}U`7?>EDnVDFaSy@?FfU0YO@(e73tU`*0 zj%>n#iR?;+B1Vl97jh^&Z9FI%bn%0VaZ*teCzqJGgrtbvx}>n zyN9P&a7buactm7Wa!P7idPZheaY<=ec|~Pab4zPmdq-#2q{&mJPMbbs=B!1Fmn>bj ze8tLDn>KIRx^4T8ox2VlK63Qf@e?OcUAlbb>b2`PZr*zM=<$=M&z`?{`Re1R&tJZN z`~KtSFOa_&8JHp7g8K~3UxGk?F|n{Pv#^8w#mH0+#LR*$tcr$gLXLs#iG{*SMvWXI zP7@byJjkhR9P~jnspuk?n2O0m)sG;rfqh1t$C}9U8QfzCf8Ao>VP*tI9vC-&)bB*nLJ%5Z|YzE`CiXTMK8UsGHsbB zvhDho)!E$^^Ioo1+deN*?K<}k(H!O`_0>OO2oLszOe7rn7yi&p<0%GzqiVE^Fa&pS*Mq0|M`l@nr+SWSy#-P zKf)jn^Z+X`TtGns1&mD0EUawo9GqO-Km}U`7?>EDnVDFaSy@?FfU0YO@(e73tU`*0 zj%>n#iR?;+B1Vl97jh^&Z9FI%bn%0VaZ*teCzqJGgrtbvx}>n zyN9P&a7buactm7Wa!P7idPZheaY<=ec|~Pab4zPmdq-#2q{&mJPMbbs=B!1Fmn>bj ze8tLDn>KIRx^4T8ox2VlK63Qf@e?OcUAlbb>b2`PZr*zM=<$=M&z`?{`Re1R&tJZN z`~KtSFOa_&8JHp7g8K~3UxGk?F|n{Pv#^8w#mH0+#LR*$tcr$gLXLs#iG{*SMvWXI zP7@byJjkhR9P~jnspuk?n2O0m)sG;rfqh1t$C}9U8QfzCf8Ao>VP*tI9% zfI;eSxoG^2;OC#ae&32;`QVVvx#NPa`S&UUgMEtt&s1-n^TC=ki~6PL180SARG=_1wgV z^+NZv#Ln{WnO2|D>OO2oLszOe7rn7yi&p<0%GzqiVE^Fa&pS*Mq0|M`l@nr+SWSy#-P zKf)jn^Z+X`TtGns1&mD0EUawo9GqO-Km}U`7?>EDnVDFaSy@?FfU0YO@(e73tU`*0 zj%>n#iR?;+B1Vl97jh^&Z9FI%bn%0VaZ*teCzqJGgrtbvx}>n zyN9P&a7buactm7Wa!P7idPZheaY<=ec|~Pab4zPmdq-#2q{&mJPMbbs=B!1Fmn>bj ze8tLDn>KIRx^4T8ox2VlK63Qf@e?OcUAlbb>b2`PZr*zM=<$=M&z`?{`Re1R&tJZN z`~KtSFOa_&8JHp7g8K~3UxGk?F|n{Pv#^8w#mH0+#LR*$tcr$gLXLs#iG{*SMvWXI zP7@byJjkhR9P~jnspuk?n2O0m)sG;rfqh1t$C}9U8QfzCf8Ao>VP*tI9SBQ5|2F}Q^x-=I literal 0 HcmV?d00001 diff --git a/phonics/textures/c.jpg b/phonics/textures/c.jpg new file mode 100644 index 0000000000000000000000000000000000000000..845ab9abf59cfaad9ff0741e33d38c04800749aa GIT binary patch literal 904 zcmex=>OO2oLszOe7rn7yi&p<0%GzqiVE^Fa&pS*Mq0|M`l@nr+SWSy#-P zKf)jn^Z+X`TtGns1&mD0EUawo9GqO-Km}U`7?>EDnVDFaSy@?FfU0YO@(e73tU`*0 zj%>n#iR?;+B1Vl97jh^&Z9FI%bn%0VaZ*teCzqJGgrtbvx}>n zyN9P&a7buactm7Wa!P7idPZheaY<=ec|~Pab4zPmdq-#2q{&mJPMbbs=B!1Fmn>bj ze8tLDn>KIRx^4T8ox2VlK63Qf@e?OcUAlbb>b2`PZr*zM=<$=M&z`?{`Re1R&tJZN z`~KtSFOa_&8JHp7g8K~3UxGk?F|n{Pv#^8w#mH0+#LR*$tcr$gLXLs#iG{*SMvWXI zP7@byJjkhR9P~jnspuk?n2O0m)sG;rfqh1t$C}9U8QfzCf8Ao>VP*tI9{m#)sfE_KWG+ljS%UYz{0-b-Js_Lq3mN-@gi%+yB1_0FzrVzyJUM literal 0 HcmV?d00001 diff --git a/phonics/textures/d.jpg b/phonics/textures/d.jpg new file mode 100644 index 0000000000000000000000000000000000000000..aa969c8712014d57ef9dc2ee93cbbf3100e7afc2 GIT binary patch literal 948 zcmex=>OO2oLszOe7rn7yi&p<0%GzqiVE^Fa&pS*Mq0|M`l@nr+SWSy#-P zKf)jn^Z+X`TtGns1&mD0EUawo9GqO-Km}U`7?>EDnVDFaSy@?FfU0YO@(e73tU`*0 zj%>n#iR?;+B1Vl97jh^&Z9FI%bn%0VaZ*teCzqJGgrtbvx}>n zyN9P&a7buactm7Wa!P7idPZheaY<=ec|~Pab4zPmdq-#2q{&mJPMbbs=B!1Fmn>bj ze8tLDn>KIRx^4T8ox2VlK63Qf@e?OcUAlbb>b2`PZr*zM=<$=M&z`?{`Re1R&tJZN z`~KtSFOa_&8JHp7g8K~3UxGk?F|n{Pv#^8w#mH0+#LR*$tcr$gLXLs#iG{*SMvWXI zP7@byJjkhR9P~jnspuk?n2O0m)sG;rfqh1t$C}9U8QfzCf8Ao>VP*tI9rLt@Dfu72q zhYRk=bImP3)BWbq`#04_YVGTGHn%WOk<^m5hp9X0%7Q}oxqHIg<4^r4| z@>r|nuAU5xy0-Lf(B{p4FJ_!Np1sm+{_+}wS~*#-d+)xQy3R`!W?F1G^^n{;wu{r4 ZC2i8z7KQ|RwaO>W+WYRE&~(H9Hvy*=Lw5iG literal 0 HcmV?d00001 diff --git a/phonics/textures/e.jpg b/phonics/textures/e.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c4de6b2c2730745b2ba140211939756e3fa4fcf0 GIT binary patch literal 1180 zcmex=eKRzec-{{Vv^2ZI8G0yCo$1Ct;lvmoRDBMkCD53qur2l59PFfuW-u(GiO zoxu%MuvGx)d}d~#qgjD22CA+F$}_MCvI;30I#U-U> z$dGXcJ4ZK_{h;?$4{I* zb?NeztJkjIxOwa0qsLF4K70P+<*SdMK7aZ8?fZ|Pzd-(CWMGDP3rJ%1mmttzOrSVm z2lxYE#}NLy#lXYN2#h>tK?ZwamT5Fd%KdSHg^{kn9U-#l02L&^7a<^`La1!sOb>SmO?;^fOzv0Lt+_i?k^q=t)b3NH&U`xF~{>(yTW z^RKku&Htfc-e{sP@b5^S$dB6}Hy^*xw)DsIsSlVhRGhWCOiwYAu7-1rY&tuZ_z@?)}Y#fsxoj}Xq47VBrPSa;{X`k{1-j7w{tic4x9 z3#{4H@_5Ul->)wFTAb27=6Q6>=Y<{f{aXwE9%8rSeKRzec-{{Vv^2ZI8G0yCo$1Ct;lvmoRDBMkCD53qur2l59PFfuW-u(GiO zoxu%MuvGx)d}d~#qgjD22CA+F$}_MCvI;30I#U-U> z$dGXcJ4ZK_{h;?$4{I* zb?NeztJkjIxOwa0qsLF4K70P+<*SdMK7aZ8?fZ|Pzd-(CWMGDP3rJ%1mmttzOrSVm z2lxYE#}NLy#lXYN2#h>tK?Zw<|6bj=8Yqrzv;; ztj9;<6t-Q~-Lv)Q+?wChJ+7W=-s;VCwl!uFYyFNHYeIR%q$;{TJ#7)5oS!mjclzfX zMXkvJUAwDf=G<~you4SSx^P*Hd$zG?+tY`MGA*TCM-t{Q4PSpj|A$`L&fk6&;g8!p z>qKAIOMl6%6S`H=bl>-b|KV8nW7o<9Gp2nrTP?by)=V<;O>D4oNk`Ao6VDg?`MaLI z#rWq(cm9C0GKr#LTAogMnQD_aPwugOTJ5QFDckMbnmW;hjYW&gewJK~{;>Pwjv@V*lH=w*E`eHC^B3S>m(&7P75eekOUxwwb9-4ve>6IR-Z$Jjk@KZHugzQPbUJ z`#w+8yX5oB{2w>>e+EtKAJ_jgBp*HguW9P%)RO%Yb^0|fKYo9-kN$D`WA+jITlZ8x zihhpEwwiuZvH7jAnbE%(jfu-053P{9dNzFO;mX{a`RxT2TxTsWF7=x;Ywzq9k?3&G cTd%#ByuB!$tnDt?y)w+&%Xj_ko&RqF0IDIB>Hq)$ literal 0 HcmV?d00001 diff --git a/phonics/textures/fireworks_blue.png b/phonics/textures/fireworks_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..99fa90bd2c3c3167d1b0ca9d9d9777bc32181f00 GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgffy1S}&3JqIinXr&gR^b;72|ZIV{S*6@^nwGrp1OzzozJv1ye_V47JEgwDK@|@eY zHh=Qn13T}=HBMh}e-}fsdq3l&DGNTWFMEHaTWCg3=x*EYV%|q){E;E++tOG{KVSIQ ln)hkbi+^buyVn0>%uYP*_I&dN3!sx3JYD@<);T3K0RRdLbddl6 literal 0 HcmV?d00001 diff --git a/phonics/textures/fireworks_green.png b/phonics/textures/fireworks_green.png new file mode 100644 index 0000000000000000000000000000000000000000..b6568ea7644dc11a7b7b4c1b5dd065ee97e17fed GIT binary patch literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgf*NOvYM0C80?w zLP|z{lfJh8IKEzd@1`?{(;nU2mDy7|$^F@`*McRx9xfBSbFqi1QS++6UcU!FH|5?F xbQFG2`Jgjx`^GOBdnVZ}=6@BZ7V-0y{@EYNVLIY!f4nJ@ErkR#;MwT(m+A>5>H=O_B-4x%!UFTW|g);p^cs{jv*GO zr%ry&dsu;|#Xi8iQFoKuCU^6b3Ue1nr-<(Om$6c)t5Hc&&g${wb8bSDJhB6B{x`OD zxVI?6?)4Fi$2FYazBhmBDCW!lr=tDkvRp|0;!?lr2}|_rIOOh{w`Qhpnqld=Er9z2 z%YTbGD>Ke7nzr?8toa7N3zv>YUwJ(%<0fyxW`~&`N*o0rt|{gR&aAk4v`AsC<8v#? wtc1ojRWH6dElmIW+bFGT+3^IfE7@PgJ+(O`pTy_h20EU>)78&qol`;+00D?|fB*mh literal 0 HcmV?d00001 diff --git a/phonics/textures/fireworks_purple.png b/phonics/textures/fireworks_purple.png new file mode 100644 index 0000000000000000000000000000000000000000..f7722a1fb42e4fae4853a77859da584a183aedc3 GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgf8a@UShfp7QoDf6`lDuDyr8Oz)2Fxy8lES?RM+LrZIB%1--@{0H{stgE>>-B;~g ze2iLU(Tb{~8J>5QRQCz||B#(-61MrKM#YnSuFJ1PCbqtEV<~^VZpGA^@1??xilO3r z^#opiir5p*QtGtAQN-ldu`7!^-GVAjzndI96TY9J@aR$ojr`+(fR1ADboFyt=akR{ E052+Ew*UYD literal 0 HcmV?d00001 diff --git a/phonics/textures/fireworks_rainbow.png b/phonics/textures/fireworks_rainbow.png new file mode 100644 index 0000000000000000000000000000000000000000..bd235881aedbaf45f4e1eeef78a947e383212ad1 GIT binary patch literal 444 zcmV;t0YmPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01m_e01m_fl`9S#00007bV*G`2iyw; z0|_G_d8E()00BHnL_t(I%au|+PXa*@eX}+ubWlmjk{AkUH9>kUO@tn58mptCr;-1m z#@ZS}puR>-&Qfa{yW4vfaO*C2Yjl#$?Ox`6%*zN#06?Y`Rh9|dh&k46M;@5ex=pM*K3T6hpxa?aFxwWlO)Ydv&>0;w+;>~ac#)+<1>tFLwb8q1YcW{L-5VV9Xt}xa;j<4(Js7nM3ed>MAZSG>-TiW zD9*hnF{x%Q0Fa>!?B#NELYKrgfSgYEoh3nAaI_iFC2_%In8bof{z?*ZASBU!tFwbE mEb)TH>1SbSWVf)T%k&MF2*bv_aLele0000o-U3d7N_S1 zJMtY+;CLNhv-^C^uFEot*^M)2Xk;!7Vey=BWUJWx&nf$#?7itLRM_tGNu@Dz=Zw$~ zmFJIY6^LH9UFLO(IXmR=jcvEJ(mENuLc^+j7Szm~{oUPB#e-jDMOE*$3oE8QiJx)C enfpoGOSZ5T$87J}Jmm)3&EVqE>2Hconcq-WYRcf5Ke6SS(^~7TVv|~U^VgTEpUnTesbZ>owZ(5uC$(oy`d8Q< z^sTg(YwDOb-P?Hfr>B~7tD1WSzwA@D+0D+izvKFIXZ9^(+iHa}A9P(_Z)?IXSbZ-o m`o!*D<2~$Ls~2hb3*|TUu^;|+;AIie%?zHdelF{r5}E*F!)ts1 literal 0 HcmV?d00001 diff --git a/phonics/textures/g.jpg b/phonics/textures/g.jpg new file mode 100644 index 0000000000000000000000000000000000000000..aaf9e687de1c6954aebdace5c3abb06ab9aba441 GIT binary patch literal 1350 zcmex=eKRzec-{{Vv^2ZI8G0yCo$1Ct;lvmoRDBMkCD53qur2l59PFfuW-u(GiO zoxu%MuvGx)d}d~#qgjD22CA+F$}_MCvI;30I#U-U> z$dGXcJ4ZK_{h;?$4{I* zb?NeztJkjIxOwa0qsLF4K70P+<*SdMK7aZ8?fZ|Pzd-(CWMGDP3rJ%1mmttzOrSVm z2lxYE#}NLy#lXYN2#h>tK?Zw9w!@F*&H)?ZdnN()vovBWBaW-s)_U zcMWBke;_pK_u_w?vzOGQ@A%tMXML~kbi6>xd*(l0yFaS8etBzt)cl@8v(wJ~8;Wan zeucKJF8H`~@8LZLeiu0xWh!sC*$}(+-_^pf+J9@Gyq7*L{{C|NemxKU%pjAWOI4O! zNj`h#?zX6#S^MX1h=^a8WIJ!S`J&wy%~Q5qy>*|*;jZJ5+ z@5 zF3zm8iOqkrEBka-$?w{rSN9?ncI}K@v~!wirdq|~6iJ6u%OAYz6F#?b=f9wjGiDXG zJ`XZ{GI>rahwmX%WlcBUm7hMlom?(9Ys%yuA8%AuMEyI*yH~h8EOTqwmi*lL^Bvaj z-JfL7S25Y+KSNVQ#eat5^Z5VH)%|C^_x;h=5~cNR-=lo4huxECy6iJ6aGlRKVfPxT zK$~eVPMv026D*$O5%oiDi;elC`=US0e!Q9|@X>7H(wHe4c_z1SDoj}U%3P6M?n+^t zYjnq^8xL1r2`F6YSG6)KW>V18J*k|>-l{F-RGal$`sfUqkbrdcgUgzJ@NB61hzpA&5^|#;Riq9vvlt|B++@G~D zs^Fe~_sN3b#U1Nj?eskvdv=A|q=4>~mS>lyz1Osj-qe#TYH`NZ#?@8B?ONE&^|Lp5 Lzl*QF^8Y3PCYTZd literal 0 HcmV?d00001 diff --git a/phonics/textures/h.jpg b/phonics/textures/h.jpg new file mode 100644 index 0000000000000000000000000000000000000000..657a3b2d265d22dbebaf2ee135a1dc438abb4327 GIT binary patch literal 1210 zcmex=eKRzec-{{Vv^2ZI8G0yCo$1Ct;lvmoRDBMkCD53qur2l59PFfuW-u(GiO zoxu%MuvGx)d}d~#qgjD22CA+F$}_MCvI;30I#U-U> z$dGXcJ4ZK_{h;?$4{I* zb?NeztJkjIxOwa0qsLF4K70P+<*SdMK7aZ8?fZ|Pzd-(CWMGDP3rJ%1mmttzOrSVm z2lxYE#}NLy#lXYN2#h>tK?ZwLs&u>siu{#Gm^RHBov;W%-F7`?9s$C3Bc~3$A{@{zvHW!F{41|1Fm3@$(){9 zU$$P_KRx+Dl=iE5*?&jpZ=T-wpCP4Q;@{Q(3>*88&6lX?y8WlX1qbN#f{S5JOEv)^WUSVX$^rTHq4HBJe&>`d17 zGV)w~sBqHdh?Ay^4UZ(QdN?QK?R)KIvocq2T^yIWK1B4}{x=d1{~4OR>h7@2sbBcV z_Vs^;#M!HUEb2PkX=MMkUAIs8R#DN_!&mq2+}{{Cw=O!iChq*S@89#!re|9nd{nnG z^4#@3sq%lg^vr+8{i~MG{C9AB*~G3r+A)Q@)edNrc% TOf3AmXQ}qjny{bp|8D{S5JAjt literal 0 HcmV?d00001 diff --git a/phonics/textures/i.jpg b/phonics/textures/i.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fa8944a9a8b3ea6e88f978914127a17db472f1b4 GIT binary patch literal 1131 zcmex=eKRzec-{{Vv^2ZI8G0yCo$1Ct;lvmoRDBMkCD53qur2l59PFfuW-u(GiO zoxu%MuvGx)d}d~#qgjD22CA+F$}_MCvI;30I#U-U> z$dGXcJ4ZK_{h;?$4{I* zb?NeztJkjIxOwa0qsLF4K70P+<*SdMK7aZ8?fZ|Pzd-(CWMGDP3rJ%1mmttzOrSVm z2lxYE#}NLy#lXYN2#h>tK?ZwAZK3!Z~FE7d1uB>|o$qa;>yV{!QnDwfT?2-^PD9{_uF)pYjzyq60tjAJG-} z+4#|HqO$J2$)-oY7^>b;m6Y%lwwUOVYCR>PZ|lDYX%bVL4ul;so34_oz2#Pz@7<-V zqq3&$?SJ+w;M>$>zPI{&9{)*ya9*s&`eWYG2llc*iavW>+fsc~=WDEf!1j#gTj!Z+ zecWZPb+C~|>dboYzng2=*VX9!U1z6OWAf4b2(SOqS^e#QN>^oGzo&jJC4KkRrERY~ z?!8JYFEjE8*)4RY=(x()^(ITFC0(=EUEJwwpUH9RrOA9Fzn8W_qjrvD5FE$g2u+B4a|*<2C-pTY0i)yE-0XAReKRzec-{{Vv^2ZI8G0yCo$1Ct;lvmoRDBMkCD53qur2l59PFfuW-u(GiO zoxu%MuvGx)d}d~#qgjD22CA+F$}_MCvI;30I#U-U> z$dGXcJ4ZK_{h;?$4{I* zb?NeztJkjIxOwa0qsLF4K70P+<*SdMK7aZ8?fZ|Pzd-(CWMGDP3rJ%1mmttzOrSVm z2lxYE#}NLy#lXYN2#h>tK?Zw7Vz^^FhT-*(#T zvW`M#`tF@mj}$sfX{g@4J2lkdqzYq*_QD_D%i^=^MQe-~XU=+iZF+I}BWaD?uhx=W zz8UYWw9ZO1ag?eUC^T`%T>stOx#Gpc<$)%%d|#Jsi4D4TZ`S;?8)7bdtbDwmsp9;@ z_8wFD_WOc1hSiH+&vLySoi!_LY2HQuY@@$VO7cS67p|H0HU9SGhtKwZnEdU~kI5g7 zAGH@UjhD!ZV(-yklfNf;o!9%yRi|Z^MmEsQqoykJ3l`MQ*$Z7yH%Lz34}BY_os#>>KHxqIyfFNlM(_5VS_= zrux|lk7bS(2d%YPwr6GVRL`OwD^yJu^MrFGq0r7Lxd2d`KA&DAQH9-GWEZ{LbFu^!isURfzSXLh_<{r{T) DZ6Ux7 literal 0 HcmV?d00001 diff --git a/phonics/textures/k.jpg b/phonics/textures/k.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b4c8d30ca959d5251115a75503ab65138cabb2d9 GIT binary patch literal 1222 zcmex=eKRzec-{{Vv^2ZI8G0yCo$1Ct;lvmoRDBMkCD53qur2l59PFfuW-u(GiO zoxu%MuvGx)d}d~#qgjD22CA+F$}_MCvI;30I#U-U> z$dGXcJ4ZK_{h;?$4{I* zb?NeztJkjIxOwa0qsLF4K70P+<*SdMK7aZ8?fZ|Pzd-(CWMGDP3rJ%1mmttzOrSVm z2lxYE#}NLy#lXYN2#h>tK?ZwLs&u>siu{#Gm^RHBov;W%-F7`?9s$C3Bc~3$A{<|3~=Wx%Ywp8JYs>ZdcXK z&sO<-KL5if3x!s0o4#9DFNB85O!8!4yte;Voc_6umTZAMv8>|i@!Y@>nA&vMSEv|oAY=29@F32Kaw3j z#57yGg7uP8?ym_jN1IR$Jz!HlN+l zE!sNW)H3eUW-m|cVz-xZ`V}XuH-$}!?)H5c)$1i{slGVAee&mb+oNrr_Wfr7`J^WK zp+Sd3-=|}d*`a@;)AA;uJtkL@6e*D(q;~)7CdFvS}a1zaaa!X^~o@TA}lTtSx^xM2z!fe5ly-)q$IQhMwd$4-XyK|oE+NVBM cK3aWTF!D;^)BNh(y0vBdzP-Hc%m4o-0P!Kyi2wiq literal 0 HcmV?d00001 diff --git a/phonics/textures/l.jpg b/phonics/textures/l.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c35e01ad9fb14d255a63987fb28c7d52a208e9aa GIT binary patch literal 1075 zcmex=eKRzec-{{Vv^2ZI8G0yCo$1Ct;lvmoRDBMkCD53qur2l59PFfuW-u(GiO zoxu%MuvGx)d}d~#qgjD22CA+F$}_MCvI;30I#U-U> z$dGXcJ4ZK_{h;?$4{I* zb?NeztJkjIxOwa0qsLF4K70P+<*SdMK7aZ8?fZ|Pzd-(CWMGDP3rJ%1mmttzOrSVm z2lxYE#}NLy#lXYN2#h>tK?Zwpb3U8pIwj{?B2?hoT1`r7d2M7uY2?`k?4h;+p z4H^>^5F#ZZBqtvzDjp*zG9e==DlZ})D?2DJCn+y1Eg>o~IW#IkFD@@E0SO8U4GRq! z4h|V9BpxI+H8nLgH8nFSH8nLgH83?bH8nFeEGafMGc`3eE;ThaHYqeTG%YkKHYqGA zEHo@EH2=T=5eNV$08#@1A^-vr0Rs^M|HJ?r000360RaF20000000000000971qKHJ z0{_GSKM()`0|NpA1_uNO2><{9000330|WpC5e6X#5)&dZK~a$uBVloYp}{hOlCc&g zVxq#*@CX$bBr`%qQj`D002%=S00RI60000000000000000R#pD0|o!Y03{Is0s;X6 z2L%8C00000000000RjUNF$5DbK~aIB5)>g}k^kBN3`3oE1HP%+AwQ&-dzIPo%p>Hs z4|Y!~en9!s+)ElOfOWQJu?3Q5ujRb zu`f+GG82KuT+Q>OC~HGp@AD(b+qCOmr0diRD+pL*rV4H65AF z(RYBLd&HCk4HSs^n)NDcVVp8jch$>drazv+FQ}>PT}+q0;H&Wv&u$% zNUL#xFKvsW~~{ee+J- zm%*F=0IYQkLs{(s4#z*cwQCmpjlWSa)VOZ7G8~bVs0^h;z=Pl1LG16SsoXcxcMare z`+iR3w#aOs!;0)G8M)FN9+B2=^4nv;PCvvmO{Lj5Gj0m$E-pTywi$ib5AKXsgm^om z5Bv*1`#b#9>L(4fb*w2(SS{cU%Aaqg$K%ZboM~+%!!2;^m{wSqFu3UsDb>8BjAt8U zpUR(Izq7OeI$I6mTv;gVBho@voQ}=X5~Tb0#Yt*@E?IQuEm}ewH(QF&B3g=%Qj_mb z+CIemNUNrkmwufc5;Y`Pu%$b?W5?ztvHL`mzp!?B;0CaC?d67}wEn1=>#d|EYxHJ% z#0}2rCx2-syH-q5Kr)wTgK%3iCBLc=?P?K$;AFtQ9yLh<0Z?e+)H)8J9CbNpht>@kKUG2kK^&`+>F0G{d%N6_2ePcVqKW{;6j4Bb|Ji!tnp*$> literal 0 HcmV?d00001 diff --git a/phonics/textures/white.jpg b/phonics/textures/white.jpg new file mode 100644 index 0000000000000000000000000000000000000000..83e5649d9e181056bb934ac5e4622cdb68f55a7f GIT binary patch literal 749 zcmex=>OO2oLszOe7rn7yi&p<0%GzqiVE^Fa&pS*Mq0|M`l@nr+SWSy#-P zKf)jn^Z+X`TtGns1&mD0EUawo9GqO-Km}U`7?>EDnVDFaSy@?FfU0YO@(e73tU`*0 zj%>n#iR?;+B1Vl97jh^&Z9FI%bn%0VaZ*teCzqJGgrtbvx}>n zyN9P&a7buactm7Wa!P7idPZheaY<=ec|~Pab4zPmdq-#2q{&mJPMbbs=B!1Fmn>bj ze8tLDn>KIRx^4T8ox2VlK63Qf@e?OcUAlbb>b2`PZr*zM=<$=M&z`?{`Re1R&tJZN z`~KtSFOa_&8JHp7g8K~3UxGk?F|n{Pv#^8w#mH0+#LR*$tcr$gLXLs#iG{*SMvWXI zP7@byJjkhR9P~jnspuk?n2O0m)sG;rfqh1t$C}9U8QfzCf8Ao>VP*tI9