Compare commits
37 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
9a865e418f
|
|||
|
4a086be607
|
|||
|
09a09b646a
|
|||
|
0574fe4021
|
|||
|
79d6321891
|
|||
|
bf6fa03374
|
|||
|
078e9a9887
|
|||
|
bf9667e766
|
|||
|
066142e62c
|
|||
|
69e9336d7f
|
|||
|
e83f7002a2
|
|||
|
c35c9f0c3e
|
|||
|
537a086e9b
|
|||
|
eb76795de1
|
|||
|
5a1ce6fe91
|
|||
|
1ea5057111
|
|||
|
2a2f487dfb
|
|||
|
38b4da8c80
|
|||
|
6cb0b54cdd
|
|||
|
3400325154
|
|||
|
3462815118
|
|||
|
aee3b29d69
|
|||
|
9d4bc8998b
|
|||
|
9ea66b9756
|
|||
|
85ee8f113f
|
|||
|
621ae777d0
|
|||
|
44b8826720
|
|||
|
02e5533eb1
|
|||
|
0dda2596af
|
|||
|
b237ccb152
|
|||
|
1ffa6197fd
|
|||
|
0b89989264
|
|||
|
2aa62b8e2d
|
|||
|
9669658414
|
|||
|
05417e851a
|
|||
|
bf46878f34
|
|||
|
170af5bc01
|
@@ -1,2 +1,3 @@
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
.vscode/settings.json
|
.vscode/settings.json
|
||||||
|
vacation.bin
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
[submodule "shrinko8"]
|
||||||
|
path = shrinko8
|
||||||
|
url = https://github.com/thisismypassport/shrinko8.git
|
||||||
@@ -6,6 +6,7 @@ Arcade Mode palette notes:
|
|||||||
-- 2: dolphin shading
|
-- 2: dolphin shading
|
||||||
-- 3: azure water, maybe score display? (140)
|
-- 3: azure water, maybe score display? (140)
|
||||||
-- 4, 5: keep default in sky layer (for emergency awakener)
|
-- 4, 5: keep default in sky layer (for emergency awakener)
|
||||||
|
-- 4 (underwater) is a deeper blue shade part of sea
|
||||||
-- 6: dolphin specular highlights
|
-- 6: dolphin specular highlights
|
||||||
-- 7: dolphin white paint
|
-- 7: dolphin white paint
|
||||||
-- 8, 9: unassigned, layer specific
|
-- 8, 9: unassigned, layer specific
|
||||||
|
|||||||
Submodule
+1
Submodule shrinko8 added at aa7ac7aa9d
Binary file not shown.
|
After Width: | Height: | Size: 31 KiB |
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 38 KiB |
+578
-125
@@ -3,7 +3,7 @@ version 41
|
|||||||
__lua__
|
__lua__
|
||||||
|
|
||||||
-- vacation (18+)
|
-- vacation (18+)
|
||||||
-- kistaro windrider
|
-- kistaro windrider and ossie
|
||||||
|
|
||||||
--------------------------------
|
--------------------------------
|
||||||
-- copyright (C) 2024 kistaro windrider
|
-- copyright (C) 2024 kistaro windrider
|
||||||
@@ -48,7 +48,7 @@ function mknew(tt, more)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
event_list = {is_event_list=true}
|
event_list = {}
|
||||||
mknew(event_list, function(x)
|
mknew(event_list, function(x)
|
||||||
x.next=nil
|
x.next=nil
|
||||||
x.tail=x
|
x.tail=x
|
||||||
@@ -59,21 +59,12 @@ function event_list:pb(x)
|
|||||||
self.tail = x
|
self.tail = x
|
||||||
end
|
end
|
||||||
|
|
||||||
function event_list:strip(f)
|
function event_list:pf(x)
|
||||||
local p, n = self, self.next
|
if (not self.next) self.tail = x
|
||||||
while n do
|
x.next = self.next
|
||||||
if f(n) then
|
self.next = x
|
||||||
p.next = n.next
|
|
||||||
else
|
|
||||||
p = n
|
|
||||||
end
|
|
||||||
n = n.next
|
|
||||||
end
|
|
||||||
self.tail = p
|
|
||||||
return p
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function event_list:u()
|
function event_list:u()
|
||||||
local p, n = self, self.next
|
local p, n = self, self.next
|
||||||
while n do
|
while n do
|
||||||
@@ -114,45 +105,6 @@ blank = {}
|
|||||||
function blank:u() end
|
function blank:u() end
|
||||||
function blank:draw() end
|
function blank:draw() end
|
||||||
|
|
||||||
function puke(item, indent, seen, hidekey)
|
|
||||||
if (type(item) ~= "table") return tostr(item)
|
|
||||||
|
|
||||||
seen = seen or {}
|
|
||||||
if (seen[item]) return "<<...>>"
|
|
||||||
seen[item] = true
|
|
||||||
|
|
||||||
indent = indent or 0
|
|
||||||
local pfx = "\n"
|
|
||||||
for _=1,indent do
|
|
||||||
pfx ..= " "
|
|
||||||
end
|
|
||||||
local xpfx = pfx.." "
|
|
||||||
|
|
||||||
if item.is_event_list then
|
|
||||||
local ret,n = "event_list <",0
|
|
||||||
item:strip(function(x)
|
|
||||||
n += 1
|
|
||||||
ret ..= xpfx..tostr(n)..": "..puke(x, indent+2, seen, "next")
|
|
||||||
end)
|
|
||||||
return ret..pfx..">"
|
|
||||||
end
|
|
||||||
|
|
||||||
local ret = "{"
|
|
||||||
for k, v in pairs(item) do
|
|
||||||
if (k ~= hidekey) ret ..= xpfx..tostr(k)..": "..puke(v, indent+2, seen)
|
|
||||||
end
|
|
||||||
return ret..pfx.."}"
|
|
||||||
end
|
|
||||||
|
|
||||||
-- convenience for debugging
|
|
||||||
function puketh(item, ...)
|
|
||||||
printh(puke(item), ...)
|
|
||||||
end
|
|
||||||
|
|
||||||
function pukeboard(item)
|
|
||||||
puketh(item, "@clip")
|
|
||||||
end
|
|
||||||
|
|
||||||
view = {
|
view = {
|
||||||
x=0,
|
x=0,
|
||||||
y=0,
|
y=0,
|
||||||
@@ -203,20 +155,38 @@ function _init()
|
|||||||
awakener_hold_frames = 0
|
awakener_hold_frames = 0
|
||||||
-- debug mode: skip splahes
|
-- debug mode: skip splahes
|
||||||
mainview = ao_splash.new()
|
mainview = ao_splash.new()
|
||||||
|
menuitem(1, "⬅️ music: on ➡️", cycle_music)
|
||||||
|
musicmode = 0
|
||||||
--arm_awakener()
|
--arm_awakener()
|
||||||
--mainview=newtitle()
|
--mainview=newtitle()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
mlbl={"on", "text", "game", "off"}
|
||||||
|
|
||||||
|
function cycle_music(b)
|
||||||
|
if b & 1 ~= 0 then
|
||||||
|
-- left
|
||||||
|
musicmode -= 1
|
||||||
|
if (musicmode < 0) musicmode = 3
|
||||||
|
elseif b & 34 ~= 0 then
|
||||||
|
musicmode += 1
|
||||||
|
if (musicmode > 3) musicmode = 0
|
||||||
|
end
|
||||||
|
if (mainview and mainview.onmchg) mainview:onmchg(musicmode)
|
||||||
|
menuitem(nil, "⬅️ music: "..mlbl[musicmode+1].." ➡️")
|
||||||
|
return true -- stay open
|
||||||
|
end
|
||||||
|
|
||||||
function arm_awakener()
|
function arm_awakener()
|
||||||
awakener_hold_frames=0
|
awakener_hold_frames=0
|
||||||
awakener_armed=true
|
awakener_armed=true
|
||||||
menuitem(1, "awaken now", awaken_now)
|
menuitem(2, "awaken now", awaken_now)
|
||||||
end
|
end
|
||||||
|
|
||||||
function awaken_now()
|
function awaken_now()
|
||||||
exit_dither = ditherer.new{di=1}
|
exit_dither = ditherer.new{di=1}
|
||||||
awakener_armed = false
|
awakener_armed = false
|
||||||
menuitem(1)
|
menuitem(2)
|
||||||
end
|
end
|
||||||
|
|
||||||
function _update60()
|
function _update60()
|
||||||
@@ -710,7 +680,6 @@ mknew(zonk_mode, function(self)
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
function zonk_mode:set(_, field,value)
|
function zonk_mode:set(_, field,value)
|
||||||
pukeboard{field=field, value=value}
|
|
||||||
self[field]=value
|
self[field]=value
|
||||||
end
|
end
|
||||||
function zonk_mode:unset(_, ...)
|
function zonk_mode:unset(_, ...)
|
||||||
@@ -757,7 +726,25 @@ function zonk_mode:av()
|
|||||||
if (type(self.file) == "string") self.file = split(self.file, "\n")
|
if (type(self.file) == "string") self.file = split(self.file, "\n")
|
||||||
if (not self.file) self:nf()
|
if (not self.file) self:nf()
|
||||||
assert(self.file)
|
assert(self.file)
|
||||||
|
if self.bgm and not self.xbgm and (musicmode & 2 == 0) then
|
||||||
|
music(self.bgm,1000,7)
|
||||||
|
else
|
||||||
|
music(-1, 250)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function zonk_mode:onmchg()
|
||||||
|
if (musicmode & 2 == 0 and not self.xbgm) then
|
||||||
|
music(self.nextbgm or self.bgm or -1, 500, 7)
|
||||||
|
if self.nextbgm then
|
||||||
|
self.bgm = self.nextbgm
|
||||||
|
self.nextbgm = nil
|
||||||
|
end
|
||||||
|
else
|
||||||
|
music(-1, 250)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function zonk_mode:nf()
|
function zonk_mode:nf()
|
||||||
if #self.files > 0 then
|
if #self.files > 0 then
|
||||||
self.file=split(deli(self.files,1), "\n")
|
self.file=split(deli(self.files,1), "\n")
|
||||||
@@ -872,6 +859,7 @@ function zonk_mode:u()
|
|||||||
elseif self:ey() then
|
elseif self:ey() then
|
||||||
self.txt_frame=blank
|
self.txt_frame=blank
|
||||||
self.d = ditherer.new{di=0.5}
|
self.d = ditherer.new{di=0.5}
|
||||||
|
music(-1,533)
|
||||||
else
|
else
|
||||||
self.nxp = false
|
self.nxp = false
|
||||||
self.cf=false
|
self.cf=false
|
||||||
@@ -884,6 +872,11 @@ function zonk_mode:u()
|
|||||||
self.brth:u()
|
self.brth:u()
|
||||||
self.txt_frame:u()
|
self.txt_frame:u()
|
||||||
if (self.d and self.d:u()) seq:next()
|
if (self.d and self.d:u()) seq:next()
|
||||||
|
if not self.d and self.nextbgm and not self.xbgm and (musicmode & 2 == 0) and stat(56) <= 0 then
|
||||||
|
music(self.nextbgm, 500, 7)
|
||||||
|
self.bgm = self.nextbgm
|
||||||
|
self.nextbgm = nil
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function zonk_mode:draw()
|
function zonk_mode:draw()
|
||||||
@@ -905,6 +898,9 @@ function zonk_mode:draw()
|
|||||||
print("➡️",120,120,self.brth:mt(self.bwt) and (hz(2) and 7 or 6) or 5)
|
print("➡️",120,120,self.brth:mt(self.bwt) and (hz(2) and 7 or 6) or 5)
|
||||||
end
|
end
|
||||||
if(self.d) self.d:draw()
|
if(self.d) self.d:draw()
|
||||||
|
-- debug info
|
||||||
|
-- print(tostr(stat(56)), 0, 0, 7)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-->8
|
-->8
|
||||||
@@ -933,13 +929,13 @@ set:exf:10 set:txf:30 set:txd:45 set:ac:1 bgwt:9 bgdy:0.1 bspd:225 c:1:1
|
|||||||
bspd:210 bgdy:0.15 bgwt:10 c:1:1
|
bspd:210 bgdy:0.15 bgwt:10 c:1:1
|
||||||
2
|
2
|
||||||
-----
|
-----
|
||||||
bspd:180 bgdy:0.2 bgwt:11 c:1:1
|
bspd:180 bgdy:0.2 bgwt:11 c:1:1 set:nextbgm:21
|
||||||
3
|
3
|
||||||
-----
|
-----
|
||||||
bgdy:0.25 bpal:2 bgwt:12 c:1:1
|
bgdy:0.25 bpal:2 bgwt:12 c:1:1
|
||||||
4
|
4
|
||||||
-----
|
-----
|
||||||
bgdy:0.3 bgwt:13 c:1:1
|
bgdy:0.3 bgwt:13 c:1:1 set:nextbgm:-1
|
||||||
5
|
5
|
||||||
-----
|
-----
|
||||||
set:hide_breath:1 unset:ac set:hide_stripes:1 boff set:txf:1 set:txd:0 set:exd:0 set:exf:1 set:bwt:0 c:1:11
|
set:hide_breath:1 unset:ac set:hide_stripes:1 boff set:txf:1 set:txd:0 set:exd:0 set:exf:1 set:bwt:0 c:1:11
|
||||||
@@ -948,6 +944,7 @@ wide awake!
|
|||||||
|
|
||||||
function normal_awakener()
|
function normal_awakener()
|
||||||
return zonk_mode.new{
|
return zonk_mode.new{
|
||||||
|
bgm=19,
|
||||||
br_cols=brth_bg,
|
br_cols=brth_bg,
|
||||||
file=[[c:2:15 bon
|
file=[[c:2:15 bon
|
||||||
yOU'VE LEARNED
|
yOU'VE LEARNED
|
||||||
@@ -971,7 +968,7 @@ yOU GET TO TAKE YOUR
|
|||||||
!MEMORIES OF THIS
|
!MEMORIES OF THIS
|
||||||
EXPERIENCE WITH YOU,
|
EXPERIENCE WITH YOU,
|
||||||
-----
|
-----
|
||||||
c:4:20 bgdy:-0.15 bspd:270
|
c:4:20 bgdy:-0.15 bspd:270 set:nextbgm:20
|
||||||
BUT !ALL THE HYPNOTIC
|
BUT !ALL THE HYPNOTIC
|
||||||
!SUGGESTIONS FROM
|
!SUGGESTIONS FROM
|
||||||
>THIS GAME WILL !FADE
|
>THIS GAME WILL !FADE
|
||||||
@@ -986,6 +983,7 @@ function fast_awakener()
|
|||||||
{f=awakener_lock},
|
{f=awakener_lock},
|
||||||
}
|
}
|
||||||
return zonk_mode.new{
|
return zonk_mode.new{
|
||||||
|
xbgm=true,
|
||||||
br_speed=240,
|
br_speed=240,
|
||||||
br_cols=brth_bg,
|
br_cols=brth_bg,
|
||||||
bg_dy=-0.12,
|
bg_dy=-0.12,
|
||||||
@@ -1089,8 +1087,7 @@ mknew(consent_splash, function(self)
|
|||||||
self.d = ditherer.new{
|
self.d = ditherer.new{
|
||||||
di=-1
|
di=-1
|
||||||
}
|
}
|
||||||
awakener_armed = true
|
arm_awakener()
|
||||||
awakener_hold_frames = 0
|
|
||||||
end)
|
end)
|
||||||
|
|
||||||
function consent_splash:u()
|
function consent_splash:u()
|
||||||
@@ -1144,8 +1141,6 @@ end
|
|||||||
-->8
|
-->8
|
||||||
-- title screen
|
-- title screen
|
||||||
|
|
||||||
-- currently just loading
|
|
||||||
-- whatever view I want to debug
|
|
||||||
function newtitle()
|
function newtitle()
|
||||||
local ret = title_screen.new()
|
local ret = title_screen.new()
|
||||||
ret:av()
|
ret:av()
|
||||||
@@ -1153,14 +1148,14 @@ function newtitle()
|
|||||||
end
|
end
|
||||||
|
|
||||||
title_screen = {}
|
title_screen = {}
|
||||||
mknew(title_screen, function(t)
|
mknew(title_screen, function(self)
|
||||||
t.a = arcade_level.new{
|
self.a = arcade_level.new{
|
||||||
noscore=true,
|
noscore=true,
|
||||||
max_score=9999,
|
max_score=9999,
|
||||||
wordwait=9999,
|
wordwait=9999,
|
||||||
extra_layer={
|
extra_layer={
|
||||||
draw=function()
|
draw=function()
|
||||||
t:m()
|
self:m()
|
||||||
end,
|
end,
|
||||||
u=nop,
|
u=nop,
|
||||||
},
|
},
|
||||||
@@ -1172,6 +1167,9 @@ function title_screen:av()
|
|||||||
self.a:av()
|
self.a:av()
|
||||||
font_monogram()
|
font_monogram()
|
||||||
end
|
end
|
||||||
|
function title_screen:onmchg()
|
||||||
|
self.a:onmchg()
|
||||||
|
end
|
||||||
|
|
||||||
function title_screen:draw()
|
function title_screen:draw()
|
||||||
self.a:draw()
|
self.a:draw()
|
||||||
@@ -1192,7 +1190,7 @@ function title_screen:m()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function title_screen:u()
|
function title_screen:u()
|
||||||
self.a.wordwait=999
|
self.a.wordtimer=9999
|
||||||
if btnp(1) and self.a.wordremain ~= 0 and not self.pp then
|
if btnp(1) and self.a.wordremain ~= 0 and not self.pp then
|
||||||
self.a.wordremain=0
|
self.a.wordremain=0
|
||||||
self.pp=true
|
self.pp=true
|
||||||
@@ -1435,24 +1433,20 @@ function wordtarget:draw()
|
|||||||
print(self.str, self.x, self.y, 0x100a)
|
print(self.str, self.x, self.y, 0x100a)
|
||||||
end
|
end
|
||||||
|
|
||||||
game_nrm_pal = {
|
|
||||||
[0] = 1, 0, 2, 140, 4, 5, 7, 7, 8, 9, 10, 132, 12, 12, 14, 7
|
|
||||||
}
|
|
||||||
|
|
||||||
-- undersea palette local decisions:
|
|
||||||
-- 4: deeper sea blue (129)
|
|
||||||
game_uw_pal = {
|
|
||||||
[0]=1, 0, 130, 140, 129, 5, 141, 13, 8, 9, 10, 132, 131, 12, 141, 7
|
|
||||||
}
|
|
||||||
|
|
||||||
function setup_arcade_pal()
|
function setup_arcade_pal()
|
||||||
-- per-line color mode
|
-- per-line color mode
|
||||||
poke(0x5f5f, 0x10)
|
poke(0x5f5f, 0x10)
|
||||||
-- rows 72 and lower: sea
|
-- rows 72 and lower: sea
|
||||||
memset(0x5f79,0xff,7)
|
memset(0x5f79,0xff,7)
|
||||||
pal()
|
pal()
|
||||||
pal(game_nrm_pal, 1)
|
--game_nrm_pal
|
||||||
pal(game_uw_pal, 2)
|
pal({
|
||||||
|
[0] = 1, 0, 2, 140, 4, 5, 7, 7, 8, 9, 10, 132, 12, 12, 14, 7
|
||||||
|
}, 1)
|
||||||
|
--game_uw_pal
|
||||||
|
pal({
|
||||||
|
[0]=1, 0, 130, 140, 129, 5, 141, 13, 8, 9, 10, 132, 131, 12, 141, 7
|
||||||
|
}, 2)
|
||||||
end
|
end
|
||||||
|
|
||||||
function wave()
|
function wave()
|
||||||
@@ -1497,9 +1491,72 @@ function spark:draw()
|
|||||||
spr(48+self.f\2, self.x, self.y)
|
spr(48+self.f\2, self.x, self.y)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- other fields: level, item
|
||||||
|
-- level must provide:
|
||||||
|
-- function :pdone(item)
|
||||||
|
-- field .pdx (scrolling parallax dx)
|
||||||
|
-- item must provide:
|
||||||
|
-- drawable api
|
||||||
|
-- .x readwrite (draw coord)
|
||||||
|
-- .w (width)
|
||||||
|
parallax = {
|
||||||
|
dx=0,
|
||||||
|
z=1,
|
||||||
|
}
|
||||||
|
mknew(parallax)
|
||||||
|
|
||||||
|
function parallax:u()
|
||||||
|
local item = self.item
|
||||||
|
if item:u() then
|
||||||
|
self.level:pdone(self)
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
item.x += self.dx
|
||||||
|
item.x += self.level.pdx * self.z
|
||||||
|
|
||||||
|
if item.x > 256 or item.x + item.w < -128 then
|
||||||
|
self.level:pdone(self)
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function parallax:draw()
|
||||||
|
self.item:draw()
|
||||||
|
end
|
||||||
|
|
||||||
|
spritem = {
|
||||||
|
s = {0},
|
||||||
|
sw = 1,
|
||||||
|
sh = 1,
|
||||||
|
i = 1,
|
||||||
|
xf = -1,
|
||||||
|
f = 4,
|
||||||
|
x = 0,
|
||||||
|
y = 0,
|
||||||
|
}
|
||||||
|
mknew(spritem, function(self)
|
||||||
|
self.w = (self.sw or spritem.sw) << 3
|
||||||
|
self.h = (self.sh or spritem.sh) << 3
|
||||||
|
end)
|
||||||
|
|
||||||
|
function spritem:u()
|
||||||
|
self.xf += 1
|
||||||
|
if self.xf > self.f then
|
||||||
|
self.i += 1
|
||||||
|
if (self.i > #self.s) self.i = 1
|
||||||
|
self.xf = 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function spritem:draw()
|
||||||
|
spr(self.s[self.i], self.x, self.y, self.sw, self.sh, self.flipx, self.flipy)
|
||||||
|
end
|
||||||
|
|
||||||
arcade_level = {
|
arcade_level = {
|
||||||
score=0,
|
score=0,
|
||||||
wordwait = 90,
|
wordwait = 90,
|
||||||
|
pdx=0,
|
||||||
}
|
}
|
||||||
mknew(arcade_level, function(x)
|
mknew(arcade_level, function(x)
|
||||||
x.phin = toyphin.new{
|
x.phin = toyphin.new{
|
||||||
@@ -1543,10 +1600,40 @@ mknew(arcade_level, function(x)
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
function arcade_level:av()
|
function arcade_level:av()
|
||||||
-- TODO: fade in level music
|
if (musicmode & 1 ==0) music(0,1000,7)
|
||||||
|
for _=1,5 do
|
||||||
|
self:gen_fish(-127, 256)
|
||||||
|
end
|
||||||
font_compact()
|
font_compact()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function arcade_level:gen_fish(xmin, xrg)
|
||||||
|
local fishdx = rnd(0.5) - 0.25, rnd(xrg) + xmin
|
||||||
|
local fish = spritem.new{
|
||||||
|
x = rnd(xrg) + xmin,
|
||||||
|
y = 80 + irnd(44),
|
||||||
|
s = {54, 55, 56, 55},
|
||||||
|
flipx = fishdx > 0,
|
||||||
|
i = irnd(4) + 1,
|
||||||
|
f = 20,
|
||||||
|
}
|
||||||
|
self.bg:pf(parallax.new{
|
||||||
|
level=self,
|
||||||
|
item=fish,
|
||||||
|
dx=fishdx,
|
||||||
|
z=0.5 + rnd(0.4),
|
||||||
|
id="fish",
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
function arcade_level:pdone(item)
|
||||||
|
if (item.id == "fish") self:gen_fish(129, 50)
|
||||||
|
end
|
||||||
|
|
||||||
|
function arcade_level:onmchg()
|
||||||
|
music((musicmode & 0x1 == 0) and 0 or -1, 500, 7)
|
||||||
|
end
|
||||||
|
|
||||||
function arcade_level:u()
|
function arcade_level:u()
|
||||||
if self.phin.entered then
|
if self.phin.entered then
|
||||||
if self.wordtimer <= 0 and self.wordremain > 0 then
|
if self.wordtimer <= 0 and self.wordremain > 0 then
|
||||||
@@ -1560,8 +1647,13 @@ function arcade_level:u()
|
|||||||
self.phin.exiting = true
|
self.phin.exiting = true
|
||||||
end
|
end
|
||||||
if self.phin.x > 90 then
|
if self.phin.x > 90 then
|
||||||
|
if not self.mstp then
|
||||||
|
self.mstp = true
|
||||||
|
music(-1,800)
|
||||||
|
end
|
||||||
if (self.d:u()) seq:next()
|
if (self.d:u()) seq:next()
|
||||||
end
|
end
|
||||||
|
self.pdx = (self.phin.entered and not self.phin.exiting) and -1 or 0
|
||||||
self.v:u()
|
self.v:u()
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1639,13 +1731,13 @@ function arcade_level:draw_splash(x, force)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function arcade_level:surfacing_splash(x, force, harder)
|
function arcade_level:landing_splash(x, force, harder)
|
||||||
-- TODO: sfx, vfx for surfacing from a dive
|
-- TODO: sfx, vfx for surfacing from a dive
|
||||||
if (force > 1) psound(harder and 13 or 12, harder and 16 or 0, 16)
|
if (force > 1) psound(harder and 13 or 12, harder and 16 or 0, 16)
|
||||||
self:draw_splash(x, force)
|
self:draw_splash(x, force)
|
||||||
end
|
end
|
||||||
|
|
||||||
function arcade_level:landing_splash(x, force, harder)
|
function arcade_level:surfacing_splash(x, force, harder)
|
||||||
-- TODO: sfx, vfx for landing from a jump
|
-- TODO: sfx, vfx for landing from a jump
|
||||||
if (force > 1) psound(harder and 13 or 12, 0, 16)
|
if (force > 1) psound(harder and 13 or 12, 0, 16)
|
||||||
self:draw_splash(x, force)
|
self:draw_splash(x, force)
|
||||||
@@ -1683,9 +1775,10 @@ mknew(ggwp)
|
|||||||
|
|
||||||
function ggwp:av()
|
function ggwp:av()
|
||||||
font_monogram()
|
font_monogram()
|
||||||
|
if (musicmode & 1 == 0) music(0,500,7)
|
||||||
local score_pct = 100
|
local score_pct = 100
|
||||||
if seq.max_score ~= 0 then
|
if seq.max_score ~= 0 then
|
||||||
score_pct = seq.score*100\seq.max_score
|
score_pct = seq.score/seq.max_score*100\1
|
||||||
end
|
end
|
||||||
if (score_pct == 0 and seq.score > 0) score_pct = 1
|
if (score_pct == 0 and seq.score > 0) score_pct = 1
|
||||||
self.score_pct = "\^w\^t"..tostr(score_pct).."%"
|
self.score_pct = "\^w\^t"..tostr(score_pct).."%"
|
||||||
@@ -1722,6 +1815,10 @@ accomplishment already. will you
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function ggwp:onmchg()
|
||||||
|
music((musicmode & 0x1 == 0) and 0 or -1, 500, 7)
|
||||||
|
end
|
||||||
|
|
||||||
function ggwp:u()
|
function ggwp:u()
|
||||||
if (hz(2) ~= self.lasthz) self.col = irnd(8)+8
|
if (hz(2) ~= self.lasthz) self.col = irnd(8)+8
|
||||||
self.lasthz = hz(2)
|
self.lasthz = hz(2)
|
||||||
@@ -1754,7 +1851,7 @@ function ggwp:draw()
|
|||||||
print(self.score_str, xpos+1, 33, 12)
|
print(self.score_str, xpos+1, 33, 12)
|
||||||
print(self.score_str, xpos, 32, 0)
|
print(self.score_str, xpos, 32, 0)
|
||||||
|
|
||||||
print(self.score_pct,64-3*#self.score_pct,59,self.col)
|
print(self.score_pct,64-print(self.score_pct,0,-9999)/2,59,self.col)
|
||||||
|
|
||||||
font_default()
|
font_default()
|
||||||
local xoff = print(self.final_text, 0, -999, 0) - 1
|
local xoff = print(self.final_text, 0, -999, 0) - 1
|
||||||
@@ -1782,6 +1879,11 @@ bREATHE IN...
|
|||||||
-----
|
-----
|
||||||
c:1:14 set:bwt:2
|
c:1:14 set:bwt:2
|
||||||
bREATHE OUT...]]
|
bREATHE OUT...]]
|
||||||
|
crescendo_breathe=[[c:1:13 set:bwt:1 set:nextbgm:19
|
||||||
|
bREATHE IN...
|
||||||
|
-----
|
||||||
|
c:1:14 set:bwt:2
|
||||||
|
bREATHE OUT...]]
|
||||||
|
|
||||||
function sequencer:next()
|
function sequencer:next()
|
||||||
if (mainview.score) self.score += mainview.score
|
if (mainview.score) self.score += mainview.score
|
||||||
@@ -1886,6 +1988,7 @@ SINK,DEEP,TRANCE,FOLLOW]],
|
|||||||
txd=8,
|
txd=8,
|
||||||
txf=15,
|
txf=15,
|
||||||
exf=30,
|
exf=30,
|
||||||
|
bgm=16,
|
||||||
br_spd = 240,
|
br_spd = 240,
|
||||||
files={[[c:3:18
|
files={[[c:3:18
|
||||||
hEY, WELCOME BACK!
|
hEY, WELCOME BACK!
|
||||||
@@ -1903,7 +2006,7 @@ c:6:18
|
|||||||
ALREADY! bUT THESE
|
ALREADY! bUT THESE
|
||||||
>TEXT SEGMENTS ARE
|
>TEXT SEGMENTS ARE
|
||||||
MORE TRADITIONALLY
|
MORE TRADITIONALLY
|
||||||
>!HYPNOTIC.
|
>#HYPNOTIC.
|
||||||
-----
|
-----
|
||||||
c:8:20
|
c:8:20
|
||||||
nOW, YOU MIGHT NOT
|
nOW, YOU MIGHT NOT
|
||||||
@@ -1932,7 +2035,7 @@ tHAT ALL SOUNDS LIKE
|
|||||||
YOU NEED TO DO RIGHT
|
YOU NEED TO DO RIGHT
|
||||||
!NOW IS TO #BREATHE.
|
!NOW IS TO #BREATHE.
|
||||||
-----
|
-----
|
||||||
c:1:13 bon bpal:1 set:ac:1 set:bwt:1 set:txf:4 set:txd:0 set:exd:0 set:exf:10
|
c:1:13 bon bpal:1 set:ac:1 set:bwt:1 set:txf:4 set:txd:0 set:exd:0 set:exf:10 set:nextbgm:17
|
||||||
bREATHE IN...
|
bREATHE IN...
|
||||||
-----
|
-----
|
||||||
c:1:14 set:bwt:2 bspd:270
|
c:1:14 set:bwt:2 bspd:270
|
||||||
@@ -1986,33 +2089,52 @@ c:4:19
|
|||||||
MIND LIKE WATER OFF
|
MIND LIKE WATER OFF
|
||||||
A POOLTOY'S BACK.
|
A POOLTOY'S BACK.
|
||||||
-----
|
-----
|
||||||
c:5:19
|
c:6:19
|
||||||
bUT WON'T IT BE FUN
|
bUT WON'T IT BE !FUN
|
||||||
TO #FEEL #THE #SEA
|
!TO FEEL YOUR MIND
|
||||||
>#BENEATH #YOU AS YOU
|
>!REALLY #DIVE #DEEP
|
||||||
SURF OVER THE WAVES
|
INTO A FANTASY
|
||||||
NEXT ROUND?]]},
|
>WHERE YOU GET TO
|
||||||
|
!BE A #POOLTOY?
|
||||||
|
-----
|
||||||
|
c:6:20
|
||||||
|
>wHEN WILL IT !BECOME
|
||||||
|
>SO #VIVID THAT YOU
|
||||||
|
FEEL THE WAVES UNDER
|
||||||
|
>YOU, FEEL THE WATER
|
||||||
|
AGAINST YOUR !PLASTIC
|
||||||
|
>#EVERY #ARCADE #ROUND?
|
||||||
|
-----
|
||||||
|
c:4:20 bpal:1
|
||||||
|
tHESE !WORDS MIGHT
|
||||||
|
>!SINK #DEEP !INTO YOUR
|
||||||
|
MIND SOONER THAN !YOU
|
||||||
|
>EXPECT!]],
|
||||||
|
},
|
||||||
}},
|
}},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
f = arcade_level.new,
|
f = arcade_level.new,
|
||||||
params = {{
|
params = {{
|
||||||
max_score=25,
|
max_score=30,
|
||||||
wordsets=csv[[JUMP,PLAY,AIR,SUN
|
wordsets=csv[[JUMP,PLAY,AIR,SUN,SQUEAKY
|
||||||
DRIFT,SURF,FLOAT,WAVES
|
DRIFT,SURF,FLOAT,WAVES,FUN
|
||||||
DIVE,WATER,OCEAN,SEA
|
DIVE,WATER,OCEAN,SEA,SPLASH
|
||||||
DRIFT,SOAR,IMAGINE,BE
|
DRIFT,SOAR,IMAGINE,POOLTOY
|
||||||
RELAX,CHILL,TOY,POOLTOY
|
RELAX,CHILL,TOY,ORCA,VIVID
|
||||||
SINK,DEEP,TRANCE,FOLLOW]],
|
SINK,DEEP,TRANCE,FOLLOW,FANTASIZE]],
|
||||||
}},
|
}},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
f=zonk_mode.new,
|
f=zonk_mode.new,
|
||||||
params={{files={
|
params={{
|
||||||
[[c:3:19
|
bgm=17,
|
||||||
|
files={
|
||||||
|
[[c:4:19
|
||||||
>dON'T THOSE LEVELS
|
>dON'T THOSE LEVELS
|
||||||
>JUST #FLY BY WHEN
|
>JUST #FLY BY WHEN
|
||||||
YOU'RE IN A #TRANCE?
|
>YOU'RE FEELING
|
||||||
|
SO !RELAXED?
|
||||||
-----
|
-----
|
||||||
c:7:20 bpal:1
|
c:7:20 bpal:1
|
||||||
hAVE YOU YET NOTICED
|
hAVE YOU YET NOTICED
|
||||||
@@ -2044,7 +2166,7 @@ FAMILIAR, !THAT SENSE
|
|||||||
#RESPONSES TO THESE
|
#RESPONSES TO THESE
|
||||||
WORDS IN !TRANCE.]],
|
WORDS IN !TRANCE.]],
|
||||||
basic_breathe,
|
basic_breathe,
|
||||||
basic_breathe,
|
crescendo_breathe,
|
||||||
[[set:bwt:0 bpal:2 unset:ac c:8:20
|
[[set:bwt:0 bpal:2 unset:ac c:8:20
|
||||||
sO #RELAXED NOW, !THAT
|
sO #RELAXED NOW, !THAT
|
||||||
!BODY BARELY WANTS TO
|
!BODY BARELY WANTS TO
|
||||||
@@ -2155,12 +2277,296 @@ c:7:20
|
|||||||
f = arcade_level.new,
|
f = arcade_level.new,
|
||||||
params = {{
|
params = {{
|
||||||
max_score=40,
|
max_score=40,
|
||||||
wordsets=csv[[JUMP,PLAY,AIR,FIN,BOUNCE
|
wordsets=csv[[JUMP,PLAY,AIR,FIN,BOUNCE,SQUEAKY
|
||||||
SURF,FLOAT,WAVES,TAIL,FLIPPERS
|
SURF,FLOAT,WAVES,TAIL,VINYL,DRIFT
|
||||||
DIVE,WATER,SEA,FLUKES,VINYL
|
DIVE,WATER,SEA,FLUKES,FLIPPERS,CETACEAN
|
||||||
DRIFT,SOAR,INFLATED
|
DRIFT,IMAGINE,INFLATED,BULGING,SWELL
|
||||||
RELAX,TOY,SEAMS,
|
RELAX,TOY,SEAMS,ORCA,DROP
|
||||||
DEEP,TRANCE,PLASTIC]],
|
DEEP,TRANCE,PLASTIC,HYPNOSIS,SENSE]],
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
f=zonk_mode.new,
|
||||||
|
params={{
|
||||||
|
bgm=17,
|
||||||
|
files={
|
||||||
|
[[c:3:19
|
||||||
|
>yOU'RE DEFINITELY
|
||||||
|
GETTING A !FEEL FOR
|
||||||
|
>THIS !NOW!
|
||||||
|
-----
|
||||||
|
c:7:20
|
||||||
|
iT'S NOT #JUST YOUR
|
||||||
|
>!PLASTIC SURFACE, OR
|
||||||
|
>YOUR AIR-FILLED
|
||||||
|
>FLIPPERS, OR YOUR
|
||||||
|
>PUFFY !INFLATED TAIL
|
||||||
|
FLUKES THAT MAKE YOU
|
||||||
|
>A !TOY, OF COURSE.
|
||||||
|
-----
|
||||||
|
c:5:20 set:bwt:2 bpal:1
|
||||||
|
>iT'S THE ENTIRE
|
||||||
|
>#MINDSET! oF COURSE,
|
||||||
|
#HYPNOSIS CAN BE !VERY
|
||||||
|
!GOOD AT #SHIFTING A
|
||||||
|
>PERSON'S !MINDSET.]],
|
||||||
|
basic_breathe,
|
||||||
|
crescendo_breathe,
|
||||||
|
[[unset:ac set:bwt:0 bpal:2 c:7:18
|
||||||
|
a TOY IS AN #OBJECT
|
||||||
|
TO BE #PLAYED #WITH.
|
||||||
|
tHINK ABOUT THAT
|
||||||
|
PAINTED-ON !HAPPY
|
||||||
|
>EXPRESSION! a TOY
|
||||||
|
>#DOESN'T #NEED #MUCH
|
||||||
|
#GOING #ON IN THAT
|
||||||
|
!AIR-FILLED !HEAD.
|
||||||
|
-----
|
||||||
|
c:5:20
|
||||||
|
>tHAT TOY'S SHAPE IS
|
||||||
|
SIMPLIFIED AND SOFT.
|
||||||
|
>sMOOTH VINYL YIELDS
|
||||||
|
EASILY; IT'S PLIABLE
|
||||||
|
>AND FLEXIBLE.
|
||||||
|
-----
|
||||||
|
c:7:19
|
||||||
|
>jUST BEING A TOY
|
||||||
|
FEELS GREAT! yOUR
|
||||||
|
MIND CAN !BE FULL OF
|
||||||
|
GIDDY, PLAYFUL #JOY,
|
||||||
|
>BECAUSE THAT'S ALL
|
||||||
|
IT NEEDS TO BE !AN
|
||||||
|
>!INFLATABLE !OBJECT!
|
||||||
|
-----
|
||||||
|
c:9:20
|
||||||
|
!sMOOTH #VINYL, AN
|
||||||
|
>#INFLATABLE !ORCA
|
||||||
|
#BOBBING ABOUT UPON
|
||||||
|
>THE #WAVES -- THERE
|
||||||
|
ARE SO MANY THINGS
|
||||||
|
>ABOUT BEING A !TOY
|
||||||
|
THAT IMMERSE IT IN
|
||||||
|
ITS #NATURAL #STATE OF
|
||||||
|
>CAREFREE #EUPHORIA.
|
||||||
|
-----
|
||||||
|
c:7:20
|
||||||
|
oF COURSE, THESE !TOY
|
||||||
|
>THOUGHTS MIGHT FEEL
|
||||||
|
>SO #NATURAL THAT THE
|
||||||
|
!ORCA TOY DOESN'T YET
|
||||||
|
REALIZE HOW MUCH ITS
|
||||||
|
>!THOUGHTS ARE SHAPED
|
||||||
|
BY #HYPNOSIS !NOW!
|
||||||
|
-----
|
||||||
|
c:7:20
|
||||||
|
bUT A !TOY THAT !LIKES
|
||||||
|
THE IDEA OF BEING #SO
|
||||||
|
#PLIANT #AND #SIMPLE
|
||||||
|
MIGHT NOTICE HOW
|
||||||
|
ITS IMAGINATION IS
|
||||||
|
PURSUING THESE !WORDS
|
||||||
|
>SO EAGERLY...
|
||||||
|
-----
|
||||||
|
c:9:20
|
||||||
|
>a TOY THAT WANTS TO
|
||||||
|
>FEEL ITS MIND #SWIRL
|
||||||
|
#AWAY IN A GIDDY HAZE
|
||||||
|
MIGHT DEEPLY !ENJOY
|
||||||
|
>HOW !AUTOMATIC ITS
|
||||||
|
>OWN !RESPONSES FEEL,
|
||||||
|
PLAYING A SIMPLE
|
||||||
|
>ARCADE GAME #WITHOUT
|
||||||
|
>#A #SINGLE #THOUGHT IN
|
||||||
|
ITS AIR-FILLED HEAD!
|
||||||
|
-----
|
||||||
|
c:10:20
|
||||||
|
iT'S SO FUN TO #DRIFT
|
||||||
|
AND #FLOAT AND #FEEL
|
||||||
|
#YOUR #PLASTIC #BODY ON
|
||||||
|
>THE WAVES THAT !IT
|
||||||
|
>!CAN !FEEL MORE AND
|
||||||
|
>MORE #AUTOMATIC TO
|
||||||
|
PRESS THE BUTTONS,
|
||||||
|
BECAUSE IT'S !GREAT
|
||||||
|
>TO BE A PLAYFUL
|
||||||
|
INFLATABLE OBJECT!]],
|
||||||
|
}}},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
f = arcade_level.new,
|
||||||
|
params = {{
|
||||||
|
max_score=50,
|
||||||
|
wordsets=csv[[JUMP,PLAY,AIR,FIN,GIDDY,HIGH,SQUEAKY
|
||||||
|
SURF,FLOAT,WAVES,VINYL,TAIL,JOY,HAPPY
|
||||||
|
DIVE,WATER,SEA,FLUKES,FLIPPERS,SIMPLE,ORCA
|
||||||
|
INFLATED,HYPNOTIZED,EUPHORIA,VACANT,INFLATABLE
|
||||||
|
RELAX,TOY,THING,SWIRL,HAZE
|
||||||
|
DEEP,SINK,PLIANT,AUTOMATIC,HOLLOW]]
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
f=zonk_mode.new,
|
||||||
|
params={{
|
||||||
|
bgm=19,
|
||||||
|
files={
|
||||||
|
[[c:1:16 bon bpal:1
|
||||||
|
sUCH A #GOOD #TOY!]],
|
||||||
|
basic_breathe,
|
||||||
|
basic_breathe,
|
||||||
|
[[c:5:19 bpal:2
|
||||||
|
rEMINDING A !SQUASHY
|
||||||
|
!VINYL !THING THAT IT
|
||||||
|
IS A #"GOOD #TOY" CAN
|
||||||
|
BE SUCH A RUSH OF
|
||||||
|
>#EUPHORIA FOR IT!
|
||||||
|
-----
|
||||||
|
c:9:20
|
||||||
|
tOYS DON'T HAVE TO
|
||||||
|
!LET !THAT WAVE OF
|
||||||
|
GOOD FEELINGS #WASH
|
||||||
|
#AWAY #EVERYTHING ELSE
|
||||||
|
IN THAT HOLLOW !HEAD,
|
||||||
|
>BUT MANY DO BECAUSE
|
||||||
|
>#IT #FEELS #SO #GOOD TO
|
||||||
|
>!SINK !DEEPER INTO
|
||||||
|
TOYMINDEDNESS...
|
||||||
|
-----
|
||||||
|
c:3:20
|
||||||
|
aND BECAUSE IT FEELS
|
||||||
|
>SO !GOOD TO BE A
|
||||||
|
>#GOOD #TOY!
|
||||||
|
-----
|
||||||
|
c:7:20
|
||||||
|
aND BECAUSE IT FEELS
|
||||||
|
>SO GOOD TO !BE A
|
||||||
|
#SIMPLE #HOLLOW #OBJECT
|
||||||
|
>OF !VINYL AND AIR,
|
||||||
|
!AND LET EVERYTHING
|
||||||
|
>ELSE !DRIFT AWAY FOR
|
||||||
|
>THE TIME BEING...
|
||||||
|
-----
|
||||||
|
c:6:20
|
||||||
|
>dOES A !TOY NOTICE
|
||||||
|
>WHEN SO MUCH OF ITS
|
||||||
|
#IDENTITY HAS SWIRLED
|
||||||
|
AWAY INTO THAT #GIDDY
|
||||||
|
#HAZE THAT THE ONLY
|
||||||
|
!THING LEFT IS #"TOY"?
|
||||||
|
-----
|
||||||
|
c:8:20
|
||||||
|
>yOU COULD IMAGINE A
|
||||||
|
TOY THAT LIKES THE
|
||||||
|
IDEA WOULD FEEL SO
|
||||||
|
#EUPHORIC WHEN IT
|
||||||
|
>TRIES !HARD !TO !THINK
|
||||||
|
>ABOUT WHO IT IS YET
|
||||||
|
EVERY CONCEPT SWIRLS
|
||||||
|
>AWAY BUT #"TOY"...
|
||||||
|
-----
|
||||||
|
c:7:19 bpal:1
|
||||||
|
>sOME !TOYS !LIKE THE
|
||||||
|
IDEA SO MUCH THEY
|
||||||
|
>#LET #GO OF THEIR
|
||||||
|
>MEMORY! #tHEY #DON'T
|
||||||
|
#HAVE #TO, BUT IT CAN
|
||||||
|
BE SO MUCH FUN !TO
|
||||||
|
FEEL IT !DRIFT AWAY.
|
||||||
|
-----
|
||||||
|
c:10:20
|
||||||
|
>a !TOY THAT WANTS TO
|
||||||
|
LET GO OF ITS MEMORY
|
||||||
|
FOR NOW CAN TRY TO
|
||||||
|
>RECALL ANYTHING BUT
|
||||||
|
>WATER AND !PLASTIC
|
||||||
|
AND !AIR YET ONLY GET
|
||||||
|
A VAGUE #SWIRL, A CUP
|
||||||
|
OF !WATER POURED IN
|
||||||
|
>THE SEA AND LOST TO
|
||||||
|
THE WAVES...
|
||||||
|
-----
|
||||||
|
c:8:20
|
||||||
|
>iF IT FEELS !GOOD TO
|
||||||
|
FIND ONLY #AIR WITHIN
|
||||||
|
THAT !HOLLOW CETACEAN
|
||||||
|
>HEAD, THAT !MIND CAN
|
||||||
|
GET EVEN #BETTER AT
|
||||||
|
>FINDING NOTHING BUT
|
||||||
|
>#GIDDY #EUPHORIA WHEN
|
||||||
|
IT TRIES FOR MEMORY!
|
||||||
|
-----
|
||||||
|
c:9:20
|
||||||
|
iMAGINE A TOY'S !MIND
|
||||||
|
#WASHED #AWAY BY THE
|
||||||
|
>WAVES, EVERY JUMP
|
||||||
|
AND DIVE MAKING IT
|
||||||
|
>#SIMPLER, WAVES OF
|
||||||
|
#EUPHORIA !LEAVING
|
||||||
|
>ONLY #"TOY", #"ORCA",
|
||||||
|
>#"INFLATED", #"PLAY",
|
||||||
|
>#"OBJECT"...
|
||||||
|
-----
|
||||||
|
c:1:9 bpal:2
|
||||||
|
!gOOD !TOY!
|
||||||
|
-----
|
||||||
|
c:8:20
|
||||||
|
>!a TOY ONLY NEEDS TO
|
||||||
|
PLAY, AND FLOAT, AND
|
||||||
|
#ENJOY ITS OWN #SMOOTH
|
||||||
|
>#PLASTIC TEXTURE AND
|
||||||
|
ITS !HOLLOW, BULGING,
|
||||||
|
>#INFLATED !CETACEAN
|
||||||
|
>SHAPE! a !TOY CAN BE
|
||||||
|
SUCH A #SIMPLE THING.
|
||||||
|
-----
|
||||||
|
c:7:20
|
||||||
|
>iMAGINE HOW !EAGER
|
||||||
|
THAT !TOY IS TO #FLOAT
|
||||||
|
>AND #DRIFT AND #PLAY!
|
||||||
|
eVERY TIME IT GOES
|
||||||
|
OUT ON THE WAVES, IT
|
||||||
|
FINDS THE !EXPERIENCE
|
||||||
|
EVEN MORE #VIVID.
|
||||||
|
-----
|
||||||
|
c:8:20
|
||||||
|
a !TOY MIGHT BE READY
|
||||||
|
TO PLAY ON THE WAVES
|
||||||
|
FOR #QUITE #A #WHILE,
|
||||||
|
NOW THAT ITS !MIND !IS
|
||||||
|
>SO WELL-VERSED IN
|
||||||
|
THE !SIMPLE, EUPHORIC
|
||||||
|
>#JOYS OF BEING A
|
||||||
|
#HOLLOW #VINYL #ORCA!
|
||||||
|
-----
|
||||||
|
c:8:20 bpal:1
|
||||||
|
>aFTER ALL, IT CAN
|
||||||
|
>!FEEL EVERY #JUMP AND
|
||||||
|
>#SPLASH NOW, AND !THE
|
||||||
|
>!WAVES CAN WASH AWAY
|
||||||
|
>EVERYTHING A #SIMPLE
|
||||||
|
#MINDLESS #TOY DOESN'T
|
||||||
|
NEED, LEAVING ONLY
|
||||||
|
GIDDY VINYL #JOY...
|
||||||
|
-----
|
||||||
|
c:4:20 set:cmul:2
|
||||||
|
sMOOTH PLASTIC...
|
||||||
|
#COOL #WATER...
|
||||||
|
SOLAR WARMTH...
|
||||||
|
#SPRINGY #BUOYANCY!
|
||||||
|
-----
|
||||||
|
c:1:9
|
||||||
|
!gOOD !TOY!]],
|
||||||
|
}}},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
f = arcade_level.new,
|
||||||
|
params = {{
|
||||||
|
max_score=100,
|
||||||
|
wordsets=csv[[JUMP,PLAY,AIR,FIN,GIDDY,HIGH,SQUEAKY,BREEZE,SUN,WARM,PLASTIC,BUOYANT
|
||||||
|
SURF,FLOAT,WAVES,VINYL,TAIL,JOY,HAPPY,SWIM,WET,ORCA,COOL,pvc,DRIFT
|
||||||
|
DIVE,WATER,SEA,FLUKES,FLIPPERS,SIMPLE,SPLASH,DREAM,IMAGINE,POOLTOY,DREAM
|
||||||
|
INFLATED,HYPNOTIZED,EUPHORIA,VACANT,gOOD TOY!,gOOD TOY!,gOOD TOY!
|
||||||
|
RELAX,TOY,THING,SWIRL,HAZE,EMPTY,BLANK,DROP
|
||||||
|
DEEP,SINK,PLIANT,AUTOMATIC,MINDLESS,BULGING,gOOD TOY!,gOOD TOY!,gOOD TOY!]],
|
||||||
}},
|
}},
|
||||||
},
|
},
|
||||||
{f=normal_awakener},
|
{f=normal_awakener},
|
||||||
@@ -2193,14 +2599,14 @@ __gfx__
|
|||||||
0000000070000000000000000000000700000000000000000000000070000222222000070000000000222e000000000000000000002227000000000000000000
|
0000000070000000000000000000000700000000000000000000000070000222222000070000000000222e000000000000000000002227000000000000000000
|
||||||
000000007000000000000000000000070000000000000000000000007000000000000007000000000002222e0000000000000000000222270000000000000000
|
000000007000000000000000000000070000000000000000000000007000000000000007000000000002222e0000000000000000000222270000000000000000
|
||||||
000000007777777777777777777777770000000000000000000000007777777777777777022000000022e222ee20000002200000002272227720000000000000
|
000000007777777777777777777777770000000000000000000000007777777777777777022000000022e222ee20000002200000002272227720000000000000
|
||||||
000000000000000000000000a00aa00a000aa00000a00a0000000000000000000000000022e200002ee222222222200022720000277222222222200000000000
|
000000000000000000000000a00aa00a000aa00000a00a0000000001000000000000000022e200002ee222222222200022720000277222222222200000000000
|
||||||
00000000000aa0000f0aa0f0000ff00000a00a000000000000000000000000000000000002ee22222222222227772e2002772222222222222777272000000000
|
00000000000aa0000f0aa0f0000ff00000a00a000000000000010001000100010000100002ee22222222222227772e2002772222222222222777272000000000
|
||||||
000aa0000000000000affa0000a00a000a0000a0a000000a000000000000000000000000022e22ee2222222227c122e20e2722772222222227c1227200000000
|
000aa0000000000000affa0000a00a000a0000a0a000000a011110110111101101111001022e22ee2222222227c122e20e2722772222222227c1227200000000
|
||||||
00aaaa000a0ff0a00afaafa0af0000faa000000a000000000000000000000000000000002222227772222222227772e2222222eee222222222eee27200000000
|
00aaaa000a0ff0a00afaafa0af0000faa000000a000000001111111111111111111111112222227772222222227772e2222222eee222222222eee27200000000
|
||||||
00aaaa000a0ff0a00afaafa0af0000faa000000a00000000000000000000000000000000222777777777722227777770222eeeeeeeeee2222eeeeee000000000
|
00aaaa000a0ff0a00afaafa0af0000faa000000a00000000111111111111111111111111222777777777722227777770222eeeeeeeeee2222eeeeee000000000
|
||||||
000aa0000000000000affa0000a00a000a0000a0a000000a00000000000000000000000027770000777722e2777770002eee0000eeee2272eeeee00000000000
|
000aa0000000000000affa0000a00a000a0000a0a000000a01111001011110110111101127770000777722e2777770002eee0000eeee2272eeeee00000000000
|
||||||
00000000000aa0000f0aa0f0000ff00000a00a0000000000000000000000000000000000770000000002222e00000000ee000000000222270000000000000000
|
00000000000aa0000f0aa0f0000ff00000a00a0000000000000010000001000100010001770000000002222e00000000ee000000000222270000000000000000
|
||||||
000000000000000000000000a00aa00a000aa00000a00a00000000000000000000000000000000000222770000000000000000000222ee000000000000000000
|
000000000000000000000000a00aa00a000aa00000a00a00000000000000000000000001000000000222770000000000000000000222ee000000000000000000
|
||||||
00000000000066000000000000000000000002200000000000000000000002200000000000000000000000000000000000000000000000000000000000000000
|
00000000000066000000000000000000000002200000000000000000000002200000000000000000000000000000000000000000000000000000000000000000
|
||||||
0000000000022260000000000000000000222662000000000000000000222662000000000000000000000000000070220000000000220e220000000000000000
|
0000000000022260000000000000000000222662000000000000000000222662000000000000000000000000000070220000000000220e220000000000000000
|
||||||
00000000002222e000000000000000006227222e00000000000000002227222e0000000000000000000000000222026200000000022262220000000000000000
|
00000000002222e000000000000000006227222e00000000000000002227222e0000000000000000000000000222026200000000022262220000000000000000
|
||||||
@@ -2421,10 +2827,10 @@ __map__
|
|||||||
000204020507050000020102050705000002050205070500000a0506090f090000050002050705000002000205070500001e050f051d0000000e0101010e040000020407030107000002010703010700000205070301070000050007030107000001020002020200000201000101010000020500020202000005000002020200
|
000204020507050000020102050705000002050205070500000a0506090f090000050002050705000002000205070500001e050f051d0000000e0101010e040000020407030107000002010703010700000205070301070000050007030107000001020002020200000201000101010000020500020202000005000002020200
|
||||||
0002050e09090600000a05090b0d0900000204060909060000040206090906000002050609090600000a0506090906000009000609090600000200070002000000160915120d00000002040909090600000402090909060000020508090906000009000909090600000402050502020000010709090701000005000505020200
|
0002050e09090600000a05090b0d0900000204060909060000040206090906000002050609090600000a0506090906000009000609090600000200070002000000160915120d00000002040909090600000402090909060000020508090906000009000909090600000402050502020000010709090701000005000505020200
|
||||||
__sfx__
|
__sfx__
|
||||||
010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
950100003565035650356503565035610356103561035610356103561035610356100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
0c0100003065030610306103061000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
0e1000010d21000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
0f1000010c21000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
@@ -2433,7 +2839,54 @@ __sfx__
|
|||||||
010800002b545000000000000000000000000000000000001c535245350000000000000000000000000000003055024555187301f730137301373013720137100000000000000000000000000000000000000000
|
010800002b545000000000000000000000000000000000001c535245350000000000000000000000000000003055024555187301f730137301373013720137100000000000000000000000000000000000000000
|
||||||
480c00002b53518045305503054030530305203051000500005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500
|
480c00002b53518045305503054030530305203051000500005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500
|
||||||
290800000c5751f575245750c5551f555245550c5351f535245350c5151f515245150050500505005050050500505005050050500505005050050500505005050050500505005050050500505005050050500505
|
290800000c5751f575245750c5551f555245550c5351f535245350c5151f515245150050500505005050050500505005050050500505005050050500505005050050500505005050050500505005050050500505
|
||||||
01030000016100d6111c61131611146110c6110861105611026150160100004000040000400004000040000400004000040000400004000040000400004000040000400004000040000400004000040000400000
|
00030000016300d6311c6213162121621166310d63108631046250262101614006240000400004000040000400004000040000400004000040000400004000040000400004000040000400004000040000400000
|
||||||
010300002762022621206211b6211661115611116110d6110b611076110561103611026110261102610026103162029621236111e6111961114611106110d6110b61109611076110661005610046130361303613
|
00030000016400d0411d0413104114620186311b6211c6351c6151a6111a6141a61400004000040000400004016401e0411004106041126311362117631186111861515611156141561400004000040000400004
|
||||||
010300003163029620236101e6101961014610106100d6100b6100961007610066100561004613036130361300605006050060500605006050060500605006050060500605006050060500000000000000000000
|
010300003163029620236101e6101961014610106100d6100b6100961007610066100561004613036130361300605006050060500605006050060500605006050060500605006050060500000000000000000000
|
||||||
11030000285502b55030550285102b510305100050000500005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500
|
10030000285502b55030550285102b510305100050000500005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500005000050000500
|
||||||
|
0014001024850189201992024850189201992024850189201992018920248500c9201992024850189201992000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
010a0020067500675000700007000a7500a7500475004750007000070000700007000070000700087500875002750027500070000700067500675001750017500070000700007000070000700007000070000700
|
||||||
|
010a00000575005750057500575005750057500575005750057500575005750057500000000000000000000005750057500575005750057500575005750057500575005750057500575000000000000000000000
|
||||||
|
010a00000675006750067500675006750067500675006750067500675006750067500000000000000000000006750067500675006750067500675006750067500675006750067500675000000000000000000000
|
||||||
|
010a00000675006750067500675006750067500675006750067500675006750067500000000000097500975009750097500975009750097500975009750097500000000000000000000000000000000000000000
|
||||||
|
010a000006750067500675006750067500675006750067500675006750067500675000000000000a7500a75000000000000a7500a75000000000000a7500a75000000000000a7500a75000000000000a7500a750
|
||||||
|
010a00000575005750057500575005750057500575005750057500575005750057500000000000087500875000000000000875008750000000000008750087500000000000087500875000000000000875008750
|
||||||
|
010a00002a0502a05000000000002e0502e05031050310500000000000000000000000000000002e0502e05031050310500000000000330503305031050310500000000000000000000000000000000000000000
|
||||||
|
010a0000330503305031050310502e0502e0502a0502a0502e0502e05031050310500000000000330503305000000000003105031050310403104031030310303102031020310103101000000000000000000000
|
||||||
|
010a0000330503305031050310502e0502e0502a0502a0502e0502e050310503105000000000002c0502c05000000000002a0502a0502a0402a0402a0302a0302a0202a0202a0102a01000000000000000000000
|
||||||
|
010a00002a0502a05000000000002e0502e05031050310500000000000000000000000000000002e0502e05036051360503300033000330503305031050310500000000000000000000000000000000000000000
|
||||||
|
010a0000360503605000000000002e0502e0502a0512a0502e0512e05031050310500000000000360503605000000000003305033050310503105000000000002e0502e050000000000025050250502705027050
|
||||||
|
010a000027054270502e0502e05025050250502e0502e0502c0502c0502e0502e0502c0502c05029050290502a0502a0502a0402a0402a0302a0302a0202a0100000000000000000000025050250502705027050
|
||||||
|
010a00002905029050290502905029050290502c0502c05000000000002c0502c05000000000002c0502c05000000000002c0502c05000000000002c0502c05000000000002c0502c05000000000002c0502c050
|
||||||
|
010a00002a0502a0502a0502a0502a0502a0502e0502e05000000000002e0502e05000000000002e0502e05000000000002e0502e05000000000002e0502e05000000000002e0502e05000000000002e0502e050
|
||||||
|
010a00002a0502a0502a0502a0502a0502a0502e0502e05000000000002e0502e05000000000002d0502d0502d0502d0502d0502d050000000000000000000000000000000000000000025050250502705027050
|
||||||
|
010a00002a0502a0502a0502a0502a0502a0502e0502e05000000000002e0502e050000000000031050310503105031050310503105000000000000000000000000000000000000000002e0502e0502c0502c050
|
||||||
|
010a00000675006750067500675006750067500675006750067500675006750067500000000000017500175001750017500175001750017500175001750017500000000000000000000000000000000000000000
|
||||||
|
a9120020060400604000700007000a0400a0400404004040007000070000700007000070000700080400804002040020400070000700060400604001040010400070000700007000070000700007000070000700
|
||||||
|
0f1000010db4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0f1000010cb4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0f1000010db7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
0f1000010cb7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
|
__music__
|
||||||
|
01 10111744
|
||||||
|
00 10111844
|
||||||
|
00 10111744
|
||||||
|
00 10111944
|
||||||
|
00 10111a44
|
||||||
|
00 10111844
|
||||||
|
00 10111b44
|
||||||
|
00 10111c44
|
||||||
|
00 10121d44
|
||||||
|
00 10131e44
|
||||||
|
00 10121d44
|
||||||
|
00 10141f44
|
||||||
|
00 10161d44
|
||||||
|
00 10151e44
|
||||||
|
00 10161d44
|
||||||
|
02 10212044
|
||||||
|
03 22636444
|
||||||
|
03 22232444
|
||||||
|
03 22252544
|
||||||
|
03 22252644
|
||||||
|
03 41252644
|
||||||
|
03 41232444
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Binary file not shown.
Reference in New Issue
Block a user