Compare commits

..
Author SHA1 Message Date
TaikoZhongandClaude Opus 5.5 68e07f3c22 Tutorial: crisp wave rows
- Pixels tinted by the green filler take the nearest clean pixel's colour and
  keep their own coverage (the neighbourhood average smeared the joints)
- The background layers are drawn at whole pixels: between pixels, filtering
  softened them and darkened their edges

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 14:42:02 +08:00
TaikoZhong 4acb5411c7 Update checksums.sha256 2026-11-02 14:22:58 +08:00
GanYiZhong b8dcef4fe0 Merge pull request 'Tutorial: fill the wave rows' joints' (#82) from GanYiZhong/YataiDONNijiiro:fix/tutorial-wave-joints into main 2026-11-02 07:22:37 +01:00
6 changed files with 20 additions and 15 deletions

No files matched your search

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+8 -3
View File
@@ -37,12 +37,17 @@ local function at(track, list, f, n)
return track[list][(f % n) + 1]
end
-- whole pixels: drawn between pixels, the filtered layers came out soft
local function px(v)
return math.floor(v + 0.5)
end
-- a strip whose x / y follow its track; rows above the top band are cut off
function TutorialBackground:strip(name, track_name, f)
local tr = TRACKS[track_name]
local x = at(tr, "x", f, tr.n)
local x = px(at(tr, "x", f, tr.n))
local y = name == "pat" and 0 or (name == "mtn" and 0 or at(tr, "y", f, 120))
local top = y + L[name].ytop
local top = px(y + L[name].ytop)
local cut = math.max(0, BAND_TOP - top)
tex.draw_texture(self.id[name], {
x = x, y = top + cut, y2 = -cut,
@@ -70,7 +75,7 @@ function TutorialBackground:draw_back()
local cx = at(TRACKS.cloud, "x", f, TRACKS.cloud.n)
local cy = at(TRACKS.c9, "y", f, 120) - CLOUD_Y0
for k = 0, CLOUD_COUNT - 1 do
tex.draw_texture(self.id.cloud, { x = cx + CLOUD_X0 + CLOUD_PITCH * k + L.cloud.dx, y = cy + L.cloud.dy })
tex.draw_texture(self.id.cloud, { x = px(cx + CLOUD_X0 + CLOUD_PITCH * k + L.cloud.dx), y = px(cy + L.cloud.dy) })
end
self:strip("w13", "w13", f)
self:strip("w16", "w16", f)
+4 -4
View File
@@ -5105,10 +5105,10 @@ d6b007e4fdb3e8dfe259ce8a591956bd3a8073dbfb8eded5c28a6d02b8dba4c9 *./Graphics/bac
f8a44f4dc7386da694b3749f1a7b77c88b79bec584bc0cf48bc93a12742be8ab *./Graphics/background/tutorial_ac/mtn.png
ff76783f5f03ca095e12b005cad93ef1c91748ddcf27755f16ff53c899851d15 *./Graphics/background/tutorial_ac/pat.png
7c4957cbb71eb25e0b09964af536be1ed6d20c673cf4bb2c8e6452dd3b2ae879 *./Graphics/background/tutorial_ac/texture.json
548ccff92287330f65e5fb5c920878aa5f6013c720120fa3698a83c036325322 *./Graphics/background/tutorial_ac/w13.png
00a4fd2afef6124e3735e32a3077fdc5f43839464f1f10c2a5000c18df1fdc3b *./Graphics/background/tutorial_ac/w16.png
548ccff92287330f65e5fb5c920878aa5f6013c720120fa3698a83c036325322 *./Graphics/background/tutorial_ac/w21.png
808669ca6635df3383111f0e30a47efc0edc419f1433baf55e0f187fc4964f46 *./Graphics/background/tutorial_ac/w24.png
14537a9b48e59051eb02ac41cfdbd77afdc5b81eae0ebc1d29cc76c439734d35 *./Graphics/background/tutorial_ac/w13.png
abc4af84c1af148b9d245cb2815ca17be12fd44e6d619048a6d8df914bc117d9 *./Graphics/background/tutorial_ac/w16.png
14537a9b48e59051eb02ac41cfdbd77afdc5b81eae0ebc1d29cc76c439734d35 *./Graphics/background/tutorial_ac/w21.png
1b587c30c522042a6c04290b4998dca36ef84496810bac4ae12648c5337f7eba *./Graphics/background/tutorial_ac/w24.png
8bcf5446e8bee1b1e13e7778a875b27771d736b55bc616434e7bc9668f504084 *./Graphics/song_select/box/box_chara/10.png
393113431aefde1f2ca5c580295cd15fc744fb8190c0b28ffce57379889616db *./Scripts/background/bg_data/tutorial_ac.lua
7a438cb70361275daed4356d23a504ab38d4ac105bf09bd8c1db0e0577dce775 *./Sounds/game/tutorial/balloon.ogg