78 lines
3.0 KiB
YAML
78 lines
3.0 KiB
YAML
name: Commit V36 Retail Soft decode
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- test/v36-retail-jfa-soft
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
commit-v36-soft:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
ref: test/v36-retail-jfa-soft
|
|
|
|
- name: Apply V36 decode
|
|
shell: bash
|
|
run: |
|
|
set -euo pipefail
|
|
python3 <<'PY'
|
|
from pathlib import Path
|
|
p = Path('src/outline/d3d9_hook.zig')
|
|
s = p.read_text()
|
|
if 'V36 RETAIL-SOFT' in s:
|
|
raise SystemExit(0)
|
|
start = s.index('/// V32 POLISH: hard 3px outline, no feather.')
|
|
end = s.index('/// Debug: composite silhouette RT directly.')
|
|
lines = [
|
|
'/// V36 RETAIL-SOFT: keep the proven V34 JFA, soften only final decode.',
|
|
'/// c0 = (screen_width, screen_height, core_radius_px, halo_radius_px).',
|
|
'/// Uses the same two texture reads as V34: no 17-tap full-screen morphology.',
|
|
'const jfa_decode_src =',
|
|
' "ps_3_0\\n" ++',
|
|
' "def c1, 0.0, 0.22, 0.82, -0.002\\n" ++',
|
|
' "def c2, 1.0, 0.95, 0.58, 0.0\\n" ++',
|
|
' "dcl_2d s0\\n" ++',
|
|
' "dcl_2d s1\\n" ++',
|
|
' "dcl_texcoord0 v0\\n" ++',
|
|
' "texld r0, v0, s0\\n" ++',
|
|
' "sub r1.xy, v0.xy, r0.xy\\n" ++',
|
|
' "mul r1.xy, r1.xy, c0.xy\\n" ++',
|
|
' "dp2add r1.z, r1, r1, c1.x\\n" ++',
|
|
' "mul r3.x, c0.z, c0.z\\n" ++',
|
|
' "mul r3.y, c0.w, c0.w\\n" ++',
|
|
' "sub r4.x, r1.z, r3.y\\n" ++',
|
|
' "cmp r6.w, r4.x, c1.x, c1.y\\n" ++',
|
|
' "sub r4.x, r1.z, r3.x\\n" ++',
|
|
' "cmp r6.w, r4.x, r6.w, c1.z\\n" ++',
|
|
' "texld r5, v0, s1\\n" ++',
|
|
' "add r5.x, r5.a, c1.w\\n" ++',
|
|
' "cmp r6.w, r5.x, c1.x, r6.w\\n" ++',
|
|
' "mov r6.xyz, c2.xyz\\n" ++',
|
|
' "mov oC0, r6\\n";',
|
|
'',
|
|
'',
|
|
]
|
|
s = s[:start] + '\n'.join(lines) + s[end:]
|
|
old = ' // V34: hard 3px edge unchanged; JFA seed precision is now full-float.\n c0 = [4]f32{ fw, fh, 3.0, 0.0 };'
|
|
new_cpu = ' // V36: thin 1.5px core plus a subtle 3px halo.\n c0 = [4]f32{ fw, fh, 1.5, 3.0 };'
|
|
if old not in s:
|
|
raise SystemExit('V34 CPU decode constants not found')
|
|
p.write_text(s.replace(old, new_cpu))
|
|
PY
|
|
|
|
- name: Commit source
|
|
shell: bash
|
|
run: |
|
|
set -euo pipefail
|
|
if git diff --quiet; then exit 0; fi
|
|
git config user.name "github-actions[bot]"
|
|
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
git add src/outline/d3d9_hook.zig
|
|
git commit -m "V36: soft Retail-style JFA decode"
|
|
git push origin HEAD:test/v36-retail-jfa-soft
|