Compare commits
37 Commits
510db3f96b
...
parallax-s
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
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
.vscode/settings.json
|
.vscode/settings.json
|
||||||
|
vacation.bin
|
||||||
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -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
|
||||||
|
1
shrinko8
Submodule
1
shrinko8
Submodule
Submodule shrinko8 added at aa7ac7aa9d
BIN
vacation-cover.png
Normal file
BIN
vacation-cover.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 31 KiB |
BIN
vacation.bin.minified.zip
Normal file
BIN
vacation.bin.minified.zip
Normal file
Binary file not shown.
1135
vacation.minified.p8
Normal file
1135
vacation.minified.p8
Normal file
File diff suppressed because it is too large
Load Diff
BIN
vacation.minified.p8.png
Normal file
BIN
vacation.minified.p8.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
703
vacation.p8
703
vacation.p8
@ -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,20 +59,11 @@ 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
|
end
|
||||||
n = n.next
|
|
||||||
end
|
|
||||||
self.tail = p
|
|
||||||
return p
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
function event_list:u()
|
function event_list:u()
|
||||||
local p, n = self, self.next
|
local p, n = self, self.next
|
||||||
@ -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
|
||||||
|
|
||||||
|
1128
vacation_html/index.html
Normal file
1128
vacation_html/index.html
Normal file
File diff suppressed because it is too large
Load Diff
157
vacation_html/vacation.js
Normal file
157
vacation_html/vacation.js
Normal file
File diff suppressed because one or more lines are too long
BIN
vacation_html/vacation_html.zip
Normal file
BIN
vacation_html/vacation_html.zip
Normal file
Binary file not shown.
Reference in New Issue
Block a user