On 2023/09/18 13:07:23 +0100, Stuart Henderson <s...@spacehopper.org> wrote:
> On 2023/09/18 11:07, Omar Polo wrote:
> > it uses c++ to build a sub-library (basis-universal) and to link, I
> > guess that's why c++ ends up in the wantlibs but doesn't link to
> > c++abi nor pthread...  Here's why i'm not using COMPILER_LIBCXX in
> > WANTLIBs.  any clue?
> 
> no idea about that. since it sets ONLY_FOR_ARCHS to a subset of
> base-clang archs anyway that won't cause a problem with WANTLIB,
> at least.

I still can't wrap my head around this.

At first I thought it was due to lto, newly introduced with this
release, but it isn't the case.

The (only) executable is linked like this:  (formatted for readability)

c++ -o src/taisei [...many objects files...] \
    -flto \
    -Wl,--as-needed \
    -Wl,--allow-shlib-undefined -O2 -pipe -g \
    -Wl,--start-group \
    subprojects/basis_universal/libbasisu_transcoder.a \
    subprojects/koishi/src/libkoishi.a subprojects/glad/libgladGL.a \
    /usr/local/lib/libcglm.so.0.4 -lcrypto \
    /usr/X11R6/lib/libfreetype.so.30.3 -lm /usr/local/lib/libpng.so.18.0 \
    /usr/local/lib/libSDL2.so.0.14 -lz /usr/local/lib/libzstd.so.6.3 \
    /usr/local/lib/libwebpdecoder.so.2.1 /usr/local/lib/libopusfile.so.1.0 \
    /usr/local/lib/libshaderc_shared.so.0.0 \
    /usr/local/lib/libspirv-cross-c-shared.so.0.0 \
    -Wl,--end-group

this is the readelf output

% readelf -d $(make show=WRKBUILD)/src/taisei | grep NEEDED
 0x0000000000000001 (NEEDED)             Shared library: [libcrypto.so.52.0]
 0x0000000000000001 (NEEDED)             Shared library: [libfreetype.so.30.3]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.10.1]
 0x0000000000000001 (NEEDED)             Shared library: [libpng.so.18.0]
 0x0000000000000001 (NEEDED)             Shared library: [libSDL2.so.0.14]
 0x0000000000000001 (NEEDED)             Shared library: [libz.so.7.0]
 0x0000000000000001 (NEEDED)             Shared library: 
[/usr/local/lib/libzstd.so.6.3]
 0x0000000000000001 (NEEDED)             Shared library: [libwebpdecoder.so.2.1]
 0x0000000000000001 (NEEDED)             Shared library: [libopusfile.so.1.0]
 0x0000000000000001 (NEEDED)             Shared library: 
[libshaderc_shared.so.0.0]
 0x0000000000000001 (NEEDED)             Shared library: 
[libspirv-cross-c-shared.so.0.0]
 0x0000000000000001 (NEEDED)             Shared library: [libc++.so.9.0]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.97.1]

...while ldd shows libpthread and c++abi too!

% ldd $(make show=WRKBUILD)/src/taisei
/usr/ports/pobj/taisei-1.4/build-amd64/src/taisei:
        Start            End              Type  Open Ref GrpRef Name
        000008166e89c000 000008166eb58000 exe   2    0   0      
/usr/ports/pobj/taisei-1.4/build-amd64/src/taisei
        00000819551fc000 0000081955436000 rlib  0    1   0      
/usr/lib/libcrypto.so.52.0
        000008189a739000 000008189a80e000 rlib  0    1   0      
/usr/X11R6/lib/libfreetype.so.30.3
        00000818ff754000 00000818ff785000 rlib  0    12   0      
/usr/lib/libm.so.10.1
        000008195064c000 0000081950690000 rlib  0    1   0      
/usr/local/lib/libpng.so.18.0
        000008193e568000 000008193e726000 rlib  0    1   0      
/usr/local/lib/libSDL2.so.0.14
        0000081902904000 0000081902923000 rlib  0    3   0      
/usr/lib/libz.so.7.0
        000008192efa6000 000008192f09d000 rlib  0    1   0      
/usr/local/lib/libzstd.so.6.3
        0000081910c8e000 0000081910cd7000 rlib  0    1   0      
/usr/local/lib/libwebpdecoder.so.2.1
        00000818ab555000 00000818ab566000 rlib  0    1   0      
/usr/local/lib/libopusfile.so.1.0
        00000818ab566000 00000818aba5a000 rlib  0    1   0      
/usr/local/lib/libshaderc_shared.so.0.0
        0000081886cbb000 0000081886f1f000 rlib  0    1   0      
/usr/local/lib/libspirv-cross-c-shared.so.0.0
        000008188b500000 000008188b5ec000 rlib  0    6   0      
/usr/lib/libc++.so.9.0
        00000818d6d3d000 00000818d6e37000 rlib  0    1   0      
/usr/lib/libc.so.97.1
        00000818f6572000 00000818f6586000 rlib  0    1   0      
/usr/lib/libsndio.so.7.2
        000008193aaf0000 000008193ac61000 rlib  0    1   0      
/usr/local/lib/libsamplerate.so.3.0
        000008190ef2c000 000008190f08a000 rlib  0    8   0      
/usr/X11R6/lib/libX11.so.18.0
        00000818951c8000 00000818951fa000 rlib  0    9   0      
/usr/X11R6/lib/libxcb.so.4.1
        0000081884082000 0000081884099000 rlib  0    4   0      
/usr/X11R6/lib/libXext.so.13.0
        00000818793dd000 00000818793ed000 rlib  0    1   0      
/usr/X11R6/lib/libXcursor.so.5.0
        00000818f4268000 00000818f4275000 rlib  0    3   0      
/usr/X11R6/lib/libXrender.so.6.0
        00000818fd257000 00000818fd260000 rlib  0    2   0      
/usr/X11R6/lib/libXfixes.so.6.1
        00000818baaf9000 00000818bab0d000 rlib  0    1   0      
/usr/X11R6/lib/libXi.so.12.2
        00000818a7e80000 00000818a7e8e000 rlib  0    1   0      
/usr/X11R6/lib/libXrandr.so.7.1
        00000818bf789000 00000818bf78f000 rlib  0    1   0      
/usr/X11R6/lib/libXss.so.6.0
        00000818cd3c4000 00000818cd3cc000 rlib  0    1   0      
/usr/lib/libusbhid.so.7.1
        0000081944560000 000008194456d000 rlib  0    8   0      
/usr/lib/libpthread.so.27.1
        00000819009f2000 00000819009fe000 rlib  0    1   0      
/usr/local/lib/libogg.so.6.2
        000008192bedf000 000008192bf5a000 rlib  0    1   0      
/usr/local/lib/libopus.so.1.4
        000008190ca48000 000008190ccee000 rlib  0    1   0      
/usr/local/lib/libglslang.so.4.0
        00000818ea7af000 00000818eb0f0000 rlib  0    1   0      
/usr/local/lib/libSPIRV.so.3.0
        00000818d5253000 00000818d5257000 rlib  0    1   0      
/usr/local/lib/libHLSL.so.0.0
        000008192f09d000 000008192f0e4000 rlib  0    6   0      
/usr/lib/libc++abi.so.6.0
        000008187a697000 000008187a69d000 rlib  0    1   0      
/usr/X11R6/lib/libXau.so.10.0
        00000818b666c000 00000818b6675000 rlib  0    1   0      
/usr/X11R6/lib/libXdmcp.so.11.0
        000008191986d000 000008191986d000 ld.so 0    1   0      
/usr/libexec/ld.so


looking at LD_DEBUG=1 ./taisei -h shows that libc++abi is loaded via:

loading: libc++abi.so.6.0 required by /usr/local/lib/libshaderc_shared.so.0.0
[...]
loading: libc++abi.so.6.0 required by /usr/lib/libc++.so.9.0
linking dep /usr/lib/libc++abi.so.6.0 as child of /usr/lib/libc++.so.9.0

and pthread:

loading: libpthread.so.27.1 required by 
/usr/local/lib/libspirv-cross-c-shared.so.0.0
loading: libpthread.so.27.1 required by /usr/local/lib/libglslang.so.4.0
loading: libpthread.so.27.1 required by /usr/local/lib/libSPIRV.so.3.0
loading: libpthread.so.27.1 required by /usr/local/lib/libHLSL.so.0.0

so I'm puzzled.  anyone has an idea?


Index: Makefile
===================================================================
RCS file: /home/cvs/ports/games/taisei/Makefile,v
retrieving revision 1.16
diff -u -p -r1.16 Makefile
--- Makefile    26 Sep 2023 09:41:42 -0000      1.16
+++ Makefile    30 Sep 2023 07:52:30 -0000
@@ -2,28 +2,34 @@
 # modern video cards
 ONLY_FOR_ARCHS =               amd64 aarch64 i386
 
+# the koishi coroutine library needs boost 1.81.0+ for BTI
+# https://github.com/taisei-project/koishi/issues/6
+USE_NOBTCFI =          Yes
+
 COMMENT =              clone of the touhou games
 
-VERSION =              v1.3.2
+VERSION =              1.4
 DISTNAME =             taisei-${VERSION}
-PKGNAME =              taisei-${VERSION:S/^v//}
-REVISION =             4
 
 CATEGORIES =           games
 
 HOMEPAGE =             https://taisei-project.org/
 
+MAINTAINER =           Omar Polo <o...@openbsd.org>
+
 # MIT
 # Soundtrack: CC-BY 4.0 / Photos: PD and CC-0
 PERMIT_PACKAGE =       Yes
 
-WANTLIB += SDL2 SDL2_mixer c crypto freetype m opusfile png webpdecoder
-WANTLIB += z
+WANTLIB += SDL2 c c++ crypto freetype m opusfile png shaderc_shared
+WANTLIB += spirv-cross-c-shared webpdecoder z zstd
 
-SITES= https://github.com/taisei-project/taisei/releases/download/${VERSION}/
+SITES =        
https://github.com/taisei-project/taisei/releases/download/v${VERSION}/
 
 EXTRACT_SUFX=          .tar.xz
 
+COMPILER =             base-clang ports-gcc
+
 MODULES =              devel/meson \
                        lang/python
 
@@ -37,17 +43,24 @@ RUN_DEPENDS =               devel/desktop-file-utils 
 
 LIB_DEPENDS =          audio/opusfile \
                        devel/sdl2>=2.0.5 \
-                       devel/sdl2-mixer>=2.0.4 \
                        graphics/libwebp>=0.5 \
-                       graphics/png>=1.5.0
-
-# Don't include docs
-# Don't zip the ressources, it avoids using archivers/libzip
-# Don't call git(1), use upstream version as version string
-CONFIGURE_ARGS +=      -Ddocs=false \
-                       -Denable_zip=false \
-                       -Dversion_fallback=${VERSION}
+                       graphics/png>=1.5.0 \
+                       graphics/shaderc \
+                       graphics/spirv-cross
+
+CONFIGURE_ARGS +=      -Ddefault_library=shared \
+                       -Ddocs=disabled \
+                       -Dinstall_macos_bundle=disabled \
+                       -Dinstall_relocatable=disabled \
+                       -Dpackage_data=disabled \
+                       -Dvfs_zip=disabled
+
+# don't statically link to these
+.for lib in freetype glslang libpng libwebp libzip libzstd ogg opus opusfile \
+       sdl2 shaderc SPIRV-Cross vorbis zlib
+CONFIGURE_ARGS +=      -D${lib}:default_library=shared
+.endfor
 
-NO_TEST =              Yes
+DEBUG_PACKAGES =       ${BUILD_PACKAGES}
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /home/cvs/ports/games/taisei/distinfo,v
retrieving revision 1.3
diff -u -p -r1.3 distinfo
--- distinfo    10 Dec 2021 13:32:31 -0000      1.3
+++ distinfo    8 Sep 2023 13:26:41 -0000
@@ -1,2 +1,2 @@
-SHA256 (taisei-v1.3.2.tar.xz) = 28BfG1wxmB2HERMKwoM1W3v61AOJX0CWprt+mj1zo7w=
-SIZE (taisei-v1.3.2.tar.xz) = 70481856
+SHA256 (taisei-1.4.tar.xz) = zAJa1zJGeQ4aU5eMRhKzqv/A06z7/RgaOeb72FPKmb4=
+SIZE (taisei-1.4.tar.xz) = 219573588
Index: patches/patch-external_koishi_src_stack_alloc_c
===================================================================
RCS file: patches/patch-external_koishi_src_stack_alloc_c
diff -N patches/patch-external_koishi_src_stack_alloc_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-external_koishi_src_stack_alloc_c     9 Sep 2023 09:58:06 
-0000
@@ -0,0 +1,14 @@
+fix koishi' coroutine stack allocation: needs MAP_STACK
+
+Index: external/koishi/src/stack_alloc.c
+--- external/koishi/src/stack_alloc.c.orig
++++ external/koishi/src/stack_alloc.c
+@@ -39,7 +39,7 @@ static inline void *alloc_stack_mem(size_t size) {
+ #if defined KOISHI_HAVE_WIN32API
+       return VirtualAlloc(NULL, size, MEM_COMMIT, PAGE_READWRITE);
+ #elif defined KOISHI_HAVE_MMAP
+-      return mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | 
KOISHI_MAP_ANONYMOUS, -1, 0);
++      return mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_STACK | MAP_PRIVATE 
| KOISHI_MAP_ANONYMOUS, -1, 0);
+ #elif defined KOISHI_HAVE_ALIGNED_ALLOC
+       return aligned_alloc(koishi_util_page_size(), size);
+ #elif defined KOISHI_HAVE_POSIX_MEMALIGN
Index: patches/patch-scripts_taiseilib_version_py
===================================================================
RCS file: 
/home/cvs/ports/games/taisei/patches/patch-scripts_taiseilib_version_py,v
retrieving revision 1.2
diff -u -p -r1.2 patch-scripts_taiseilib_version_py
--- patches/patch-scripts_taiseilib_version_py  11 Mar 2022 19:05:00 -0000      
1.2
+++ patches/patch-scripts_taiseilib_version_py  8 Sep 2023 19:31:37 -0000
@@ -1,8 +1,8 @@
 Index: scripts/taiseilib/version.py
 --- scripts/taiseilib/version.py.orig
 +++ scripts/taiseilib/version.py
-@@ -62,6 +62,9 @@ def get(*, rootdir=None, fallback=None, args=common.de
-         rootdir = pathlib.Path(__file__).parent
+@@ -77,6 +77,9 @@ def get(*, rootdir=None, fallback=VERSION_FALLBACK, ar
+         return Version(version_str)
  
      try:
 +        # XXX do not call git, use port-provided fallback instead
Index: pkg/PLIST
===================================================================
RCS file: /home/cvs/ports/games/taisei/pkg/PLIST,v
retrieving revision 1.6
diff -u -p -r1.6 PLIST
--- pkg/PLIST   11 Mar 2022 19:05:00 -0000      1.6
+++ pkg/PLIST   9 Sep 2023 08:32:44 -0000
@@ -1,57 +1,63 @@
 @bin bin/taisei
-share/applications/taisei-replay-viewer.desktop
-share/applications/taisei.desktop
+share/applications/org.taisei_project.Taisei.desktop
+share/applications/org.taisei_project.Taisei.tsr.desktop
+share/doc/taisei/
+share/doc/taisei/COPYING
+share/icons/hicolor/128x128/apps/org.taisei_project.Taisei.png
 share/icons/hicolor/128x128/apps/taisei.png
+share/icons/hicolor/128x128/mimetypes/org.taisei_project.Taisei.tsr.png
+share/icons/hicolor/128x128/mimetypes/taisei-replay.png
+share/icons/hicolor/256x256/apps/org.taisei_project.Taisei.png
+share/icons/hicolor/256x256/apps/taisei.png
+share/icons/hicolor/256x256/mimetypes/org.taisei_project.Taisei.tsr.png
 share/icons/hicolor/256x256/mimetypes/taisei-replay.png
-share/mime/packages/taisei.xml
+share/icons/hicolor/32x32/apps/org.taisei_project.Taisei.png
+share/icons/hicolor/32x32/apps/taisei.png
+share/icons/hicolor/32x32/mimetypes/org.taisei_project.Taisei.tsr.png
+share/icons/hicolor/32x32/mimetypes/taisei-replay.png
+share/icons/hicolor/512x512/apps/org.taisei_project.Taisei.png
+share/icons/hicolor/512x512/apps/taisei.png
+share/icons/hicolor/512x512/mimetypes/org.taisei_project.Taisei.tsr.png
+share/icons/hicolor/512x512/mimetypes/taisei-replay.png
+share/icons/hicolor/64x64/apps/org.taisei_project.Taisei.png
+share/icons/hicolor/64x64/apps/taisei.png
+share/icons/hicolor/64x64/mimetypes/org.taisei_project.Taisei.tsr.png
+share/icons/hicolor/64x64/mimetypes/taisei-replay.png
+share/metainfo/
+share/metainfo/org.taisei_project.Taisei.appdata.xml
+share/mime/packages/org.taisei_project.Taisei.xml
 share/taisei/
 share/taisei/00-taisei.pkgdir/
 share/taisei/00-taisei.pkgdir/.nocompress
 share/taisei/00-taisei.pkgdir/bgm/
-share/taisei/00-taisei.pkgdir/bgm/bonus0.bgm
 share/taisei/00-taisei.pkgdir/bgm/bonus0.opus
-share/taisei/00-taisei.pkgdir/bgm/credits.bgm
 share/taisei/00-taisei.pkgdir/bgm/credits.opus
-share/taisei/00-taisei.pkgdir/bgm/ending.bgm
 share/taisei/00-taisei.pkgdir/bgm/ending.opus
-share/taisei/00-taisei.pkgdir/bgm/menu.bgm
+share/taisei/00-taisei.pkgdir/bgm/gameover.opus
+share/taisei/00-taisei.pkgdir/bgm/intro.opus
 share/taisei/00-taisei.pkgdir/bgm/menu.opus
-share/taisei/00-taisei.pkgdir/bgm/scuttle.bgm
 share/taisei/00-taisei.pkgdir/bgm/scuttle.opus
-share/taisei/00-taisei.pkgdir/bgm/stage1/
-share/taisei/00-taisei.pkgdir/bgm/stage1.bgm
-share/taisei/00-taisei.pkgdir/bgm/stage1/boss.opus
-share/taisei/00-taisei.pkgdir/bgm/stage1/stage.opus
-share/taisei/00-taisei.pkgdir/bgm/stage1boss.bgm
-share/taisei/00-taisei.pkgdir/bgm/stage2/
-share/taisei/00-taisei.pkgdir/bgm/stage2.bgm
-share/taisei/00-taisei.pkgdir/bgm/stage2/boss.opus
-share/taisei/00-taisei.pkgdir/bgm/stage2/stage.opus
-share/taisei/00-taisei.pkgdir/bgm/stage2boss.bgm
-share/taisei/00-taisei.pkgdir/bgm/stage3/
-share/taisei/00-taisei.pkgdir/bgm/stage3.bgm
-share/taisei/00-taisei.pkgdir/bgm/stage3/boss.opus
-share/taisei/00-taisei.pkgdir/bgm/stage3/stage.opus
-share/taisei/00-taisei.pkgdir/bgm/stage3boss.bgm
-share/taisei/00-taisei.pkgdir/bgm/stage4/
-share/taisei/00-taisei.pkgdir/bgm/stage4.bgm
-share/taisei/00-taisei.pkgdir/bgm/stage4/boss.opus
-share/taisei/00-taisei.pkgdir/bgm/stage4/stage.opus
-share/taisei/00-taisei.pkgdir/bgm/stage4boss.bgm
-share/taisei/00-taisei.pkgdir/bgm/stage5/
-share/taisei/00-taisei.pkgdir/bgm/stage5.bgm
-share/taisei/00-taisei.pkgdir/bgm/stage5/boss.opus
-share/taisei/00-taisei.pkgdir/bgm/stage5/stage.opus
-share/taisei/00-taisei.pkgdir/bgm/stage5boss.bgm
-share/taisei/00-taisei.pkgdir/bgm/stage6/
-share/taisei/00-taisei.pkgdir/bgm/stage6.bgm
-share/taisei/00-taisei.pkgdir/bgm/stage6/boss_phase1.opus
-share/taisei/00-taisei.pkgdir/bgm/stage6/boss_phase2.opus
-share/taisei/00-taisei.pkgdir/bgm/stage6/boss_phase3.opus
-share/taisei/00-taisei.pkgdir/bgm/stage6/stage.opus
-share/taisei/00-taisei.pkgdir/bgm/stage6boss_phase1.bgm
-share/taisei/00-taisei.pkgdir/bgm/stage6boss_phase2.bgm
-share/taisei/00-taisei.pkgdir/bgm/stage6boss_phase3.bgm
+share/taisei/00-taisei.pkgdir/bgm/stage1.opus
+share/taisei/00-taisei.pkgdir/bgm/stage1boss.opus
+share/taisei/00-taisei.pkgdir/bgm/stage2.opus
+share/taisei/00-taisei.pkgdir/bgm/stage2boss.opus
+share/taisei/00-taisei.pkgdir/bgm/stage3.opus
+share/taisei/00-taisei.pkgdir/bgm/stage3boss.opus
+share/taisei/00-taisei.pkgdir/bgm/stage4.opus
+share/taisei/00-taisei.pkgdir/bgm/stage4boss.opus
+share/taisei/00-taisei.pkgdir/bgm/stage5.opus
+share/taisei/00-taisei.pkgdir/bgm/stage5boss.opus
+share/taisei/00-taisei.pkgdir/bgm/stage6.opus
+share/taisei/00-taisei.pkgdir/bgm/stage6boss_phase1.opus
+share/taisei/00-taisei.pkgdir/bgm/stage6boss_phase2.opus
+share/taisei/00-taisei.pkgdir/bgm/stage6boss_phase3.opus
+share/taisei/00-taisei.pkgdir/demos/
+share/taisei/00-taisei.pkgdir/demos/00_stg3_reimuA_hard.tsr
+share/taisei/00-taisei.pkgdir/demos/01_stg6_youmuA_normal.tsr
+share/taisei/00-taisei.pkgdir/demos/02_stg1_marisaA_lunatic.tsr
+share/taisei/00-taisei.pkgdir/demos/03_stg5_reimuB_normal.tsr
+share/taisei/00-taisei.pkgdir/demos/04_stg2_youmuB_easy.tsr
+share/taisei/00-taisei.pkgdir/demos/05_stg4_marisaB_normal.tsr
 share/taisei/00-taisei.pkgdir/fonts/
 share/taisei/00-taisei.pkgdir/fonts/Exo2-Regular-CHANGES
 share/taisei/00-taisei.pkgdir/fonts/Exo2-Regular-LICENSE
@@ -66,16 +72,15 @@ share/taisei/00-taisei.pkgdir/fonts/mono
 share/taisei/00-taisei.pkgdir/fonts/small.font
 share/taisei/00-taisei.pkgdir/fonts/standard.font
 share/taisei/00-taisei.pkgdir/gfx/
-share/taisei/00-taisei.pkgdir/gfx/abstract_brown.webp
+share/taisei/00-taisei.pkgdir/gfx/abstract_brown.basis
+share/taisei/00-taisei.pkgdir/gfx/atlas_common_0.alphamap.png
 share/taisei/00-taisei.pkgdir/gfx/atlas_common_0.tex
 share/taisei/00-taisei.pkgdir/gfx/atlas_common_0.webp
 share/taisei/00-taisei.pkgdir/gfx/atlas_common_ui_0.tex
 share/taisei/00-taisei.pkgdir/gfx/atlas_common_ui_0.webp
-share/taisei/00-taisei.pkgdir/gfx/atlas_gray16_0.png
-share/taisei/00-taisei.pkgdir/gfx/atlas_gray16_0.tex
 share/taisei/00-taisei.pkgdir/gfx/atlas_huge_0.tex
 share/taisei/00-taisei.pkgdir/gfx/atlas_huge_0.webp
-share/taisei/00-taisei.pkgdir/gfx/atlas_portraits_0.alphamap.webp
+share/taisei/00-taisei.pkgdir/gfx/atlas_portraits_0.alphamap.png
 share/taisei/00-taisei.pkgdir/gfx/atlas_portraits_0.tex
 share/taisei/00-taisei.pkgdir/gfx/atlas_portraits_0.webp
 share/taisei/00-taisei.pkgdir/gfx/boss/
@@ -206,18 +211,145 @@ share/taisei/00-taisei.pkgdir/gfx/boss/w
 share/taisei/00-taisei.pkgdir/gfx/boss_circle.spr
 share/taisei/00-taisei.pkgdir/gfx/boss_indicator.spr
 share/taisei/00-taisei.pkgdir/gfx/boss_spellcircle0.spr
-share/taisei/00-taisei.pkgdir/gfx/cell_noise.webp
+share/taisei/00-taisei.pkgdir/gfx/cell_noise.basis
+share/taisei/00-taisei.pkgdir/gfx/credits/
+share/taisei/00-taisei.pkgdir/gfx/credits/tower.material
+share/taisei/00-taisei.pkgdir/gfx/credits/tower_ambient.basis
+share/taisei/00-taisei.pkgdir/gfx/credits/tower_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/credits/tower_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/credits/tower_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/locations/
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/locations/hakurei.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/locations/moriya.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/locations/netherworld.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/locations/sdm.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/locations/tower.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/marisa_bad/
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/marisa_bad/01.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/marisa_bad/02.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/marisa_extra/
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/marisa_extra/01.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/marisa_extra/02.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/marisa_good/
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/marisa_good/01.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/marisa_good/02.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/opening/
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/opening/01.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/opening/02.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/opening/03.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/opening/04.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/paper.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/reimu_bad/
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/reimu_bad/01.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/reimu_bad/02.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/reimu_extra/
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/reimu_extra/01.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/reimu_extra/02.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/reimu_good/
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/reimu_good/01.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/reimu_good/02.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/reimu_good/03.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/youmu_bad/
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/youmu_bad/01.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/youmu_bad/02.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/youmu_extra/
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/youmu_extra/01.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/youmu_extra/02.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/youmu_good/
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/youmu_good/01.basis
+share/taisei/00-taisei.pkgdir/gfx/cutscenes/youmu_good/02.basis
 share/taisei/00-taisei.pkgdir/gfx/dialog/
 share/taisei/00-taisei.pkgdir/gfx/dialog/cirno.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/cirno_face_angry.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/cirno_face_defeated.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/cirno_face_normal.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/cirno_variant_defeated.spr
 share/taisei/00-taisei.pkgdir/gfx/dialog/elly.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/elly_face_angry.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/elly_face_blush.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/elly_face_eyes_closed.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/elly_face_normal.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/elly_face_shouting.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/elly_face_smug.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/elly_variant_beaten.spr
 share/taisei/00-taisei.pkgdir/gfx/dialog/hina.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/hina_face_concerned.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/hina_face_defeated.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/hina_face_normal.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/hina_face_serious.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/hina_variant_defeated.spr
 share/taisei/00-taisei.pkgdir/gfx/dialog/iku.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/iku_face_defeated.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/iku_face_eyes_closed.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/iku_face_normal.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/iku_face_serious.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/iku_face_smile.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/iku_variant_defeated.spr
 share/taisei/00-taisei.pkgdir/gfx/dialog/kurumi.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/kurumi_face_defeated.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/kurumi_face_dissatisfied.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/kurumi_face_normal.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/kurumi_face_puzzled.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/kurumi_face_tsun.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/kurumi_face_tsun_blush.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/kurumi_variant_defeated.spr
 share/taisei/00-taisei.pkgdir/gfx/dialog/marisa.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/marisa_face_happy.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/marisa_face_inquisitive.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/marisa_face_normal.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/marisa_face_puzzled.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/marisa_face_smug.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/marisa_face_surprised.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/marisa_face_sweat_smile.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/marisa_face_unamused.spr
 share/taisei/00-taisei.pkgdir/gfx/dialog/reimu.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/reimu_face_annoyed.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/reimu_face_assertive.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/reimu_face_happy.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/reimu_face_irritated.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/reimu_face_normal.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/reimu_face_outraged.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/reimu_face_puzzled.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/reimu_face_sigh.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/reimu_face_smug.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/reimu_face_surprised.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/reimu_face_unamused.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/reimu_face_unsettled.spr
 share/taisei/00-taisei.pkgdir/gfx/dialog/scuttle.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/scuttle_face_normal.spr
 share/taisei/00-taisei.pkgdir/gfx/dialog/wriggle.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/wriggle_face_calm.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/wriggle_face_defeated.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/wriggle_face_normal.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/wriggle_face_outraged.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/wriggle_face_outraged_unlit.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/wriggle_face_proud.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/wriggle_variant_defeated.spr
 share/taisei/00-taisei.pkgdir/gfx/dialog/youmu.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/youmu_face_chuuni.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/youmu_face_eeeeh.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/youmu_face_embarrassed.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/youmu_face_eyes_closed.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/youmu_face_happy.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/youmu_face_normal.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/youmu_face_puzzled.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/youmu_face_relaxed.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/youmu_face_sigh.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/youmu_face_smug.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/youmu_face_surprised.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/youmu_face_unamused.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/yumemi.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/yumemi_face_defeated.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/yumemi_face_eyes_closed.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/yumemi_face_normal.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/yumemi_face_sad.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/yumemi_face_sigh.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/yumemi_face_smug.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/yumemi_face_surprised.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/yumemi_misc_code_mask.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/yumemi_misc_code_mask_variant_defeated.spr
+share/taisei/00-taisei.pkgdir/gfx/dialog/yumemi_variant_defeated.spr
 share/taisei/00-taisei.pkgdir/gfx/difficulty/
 share/taisei/00-taisei.pkgdir/gfx/difficulty/easy.spr
 share/taisei/00-taisei.pkgdir/gfx/difficulty/hard.spr
@@ -229,13 +361,31 @@ share/taisei/00-taisei.pkgdir/gfx/enemy/
 share/taisei/00-taisei.pkgdir/gfx/enemy/bigfairy.frame0001.spr
 share/taisei/00-taisei.pkgdir/gfx/enemy/bigfairy.frame0002.spr
 share/taisei/00-taisei.pkgdir/gfx/enemy/bigfairy.frame0003.spr
-share/taisei/00-taisei.pkgdir/gfx/enemy/fairy.ani
-share/taisei/00-taisei.pkgdir/gfx/enemy/fairy.frame0000.spr
-share/taisei/00-taisei.pkgdir/gfx/enemy/fairy.frame0001.spr
-share/taisei/00-taisei.pkgdir/gfx/enemy/fairy.frame0002.spr
-share/taisei/00-taisei.pkgdir/gfx/enemy/fairy.frame0003.spr
+share/taisei/00-taisei.pkgdir/gfx/enemy/fairy_blue.ani
+share/taisei/00-taisei.pkgdir/gfx/enemy/fairy_blue.frame0000.spr
+share/taisei/00-taisei.pkgdir/gfx/enemy/fairy_blue.frame0001.spr
+share/taisei/00-taisei.pkgdir/gfx/enemy/fairy_blue.frame0002.spr
+share/taisei/00-taisei.pkgdir/gfx/enemy/fairy_blue.frame0003.spr
+share/taisei/00-taisei.pkgdir/gfx/enemy/fairy_red.ani
+share/taisei/00-taisei.pkgdir/gfx/enemy/fairy_red.frame0000.spr
+share/taisei/00-taisei.pkgdir/gfx/enemy/fairy_red.frame0001.spr
+share/taisei/00-taisei.pkgdir/gfx/enemy/fairy_red.frame0002.spr
+share/taisei/00-taisei.pkgdir/gfx/enemy/fairy_red.frame0003.spr
+share/taisei/00-taisei.pkgdir/gfx/enemy/hugefairy.ani
+share/taisei/00-taisei.pkgdir/gfx/enemy/hugefairy.frame0000.spr
+share/taisei/00-taisei.pkgdir/gfx/enemy/hugefairy.frame0001.spr
+share/taisei/00-taisei.pkgdir/gfx/enemy/hugefairy.frame0002.spr
+share/taisei/00-taisei.pkgdir/gfx/enemy/hugefairy.frame0003.spr
+share/taisei/00-taisei.pkgdir/gfx/enemy/superfairy.ani
+share/taisei/00-taisei.pkgdir/gfx/enemy/superfairy.frame0000.spr
+share/taisei/00-taisei.pkgdir/gfx/enemy/superfairy.frame0001.spr
+share/taisei/00-taisei.pkgdir/gfx/enemy/superfairy.frame0002.spr
+share/taisei/00-taisei.pkgdir/gfx/enemy/superfairy.frame0003.spr
 share/taisei/00-taisei.pkgdir/gfx/enemy/swirl.spr
 share/taisei/00-taisei.pkgdir/gfx/fairy_circle.spr
+share/taisei/00-taisei.pkgdir/gfx/fairy_circle_big.spr
+share/taisei/00-taisei.pkgdir/gfx/fairy_circle_big_and_mean.spr
+share/taisei/00-taisei.pkgdir/gfx/fairy_circle_red.spr
 share/taisei/00-taisei.pkgdir/gfx/fire.ani
 share/taisei/00-taisei.pkgdir/gfx/fire.frame0000.spr
 share/taisei/00-taisei.pkgdir/gfx/fire.frame0001.spr
@@ -264,13 +414,16 @@ share/taisei/00-taisei.pkgdir/gfx/fire.f
 share/taisei/00-taisei.pkgdir/gfx/fire.frame0024.spr
 share/taisei/00-taisei.pkgdir/gfx/flare.webp
 share/taisei/00-taisei.pkgdir/gfx/focus.spr
-share/taisei/00-taisei.pkgdir/gfx/gaplight.png
+share/taisei/00-taisei.pkgdir/gfx/fractal_noise.webp
+share/taisei/00-taisei.pkgdir/gfx/gaplight.basis
 share/taisei/00-taisei.pkgdir/gfx/gaplight.tex
 share/taisei/00-taisei.pkgdir/gfx/hakkero.spr
 share/taisei/00-taisei.pkgdir/gfx/hud/
 share/taisei/00-taisei.pkgdir/gfx/hud.webp
 share/taisei/00-taisei.pkgdir/gfx/hud/heart.spr
 share/taisei/00-taisei.pkgdir/gfx/hud/star.spr
+share/taisei/00-taisei.pkgdir/gfx/ibl_brdf_lut.basis
+share/taisei/00-taisei.pkgdir/gfx/ibl_brdf_lut.tex
 share/taisei/00-taisei.pkgdir/gfx/item/
 share/taisei/00-taisei.pkgdir/gfx/item/bomb.spr
 share/taisei/00-taisei.pkgdir/gfx/item/bomb_indicator.spr
@@ -291,20 +444,54 @@ share/taisei/00-taisei.pkgdir/gfx/item/v
 share/taisei/00-taisei.pkgdir/gfx/item/voltage_indicator.spr
 share/taisei/00-taisei.pkgdir/gfx/kyoukkuri.spr
 share/taisei/00-taisei.pkgdir/gfx/kyoukkuri.webp
-share/taisei/00-taisei.pkgdir/gfx/loading.webp
-share/taisei/00-taisei.pkgdir/gfx/marisa_bombbg.webp
+share/taisei/00-taisei.pkgdir/gfx/loading.basis
+share/taisei/00-taisei.pkgdir/gfx/marisa_bombbg.basis
 share/taisei/00-taisei.pkgdir/gfx/masterspark_ring.spr
 share/taisei/00-taisei.pkgdir/gfx/menu/
 share/taisei/00-taisei.pkgdir/gfx/menu/arrow.spr
 share/taisei/00-taisei.pkgdir/gfx/menu/logo.spr
-share/taisei/00-taisei.pkgdir/gfx/menu/mainmenubg.webp
+share/taisei/00-taisei.pkgdir/gfx/menu/mainmenubg.basis
 share/taisei/00-taisei.pkgdir/gfx/part/
 share/taisei/00-taisei.pkgdir/gfx/part/arc.spr
 share/taisei/00-taisei.pkgdir/gfx/part/blast.spr
 share/taisei/00-taisei.pkgdir/gfx/part/blast_huge_halo.spr
 share/taisei/00-taisei.pkgdir/gfx/part/blast_huge_rays.spr
 share/taisei/00-taisei.pkgdir/gfx/part/boss_shadow.spr
-share/taisei/00-taisei.pkgdir/gfx/part/bullet_cloud.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.ani
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0000.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0001.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0002.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0003.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0004.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0005.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0006.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0007.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0008.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0009.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0010.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0011.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0012.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0013.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0014.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0015.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0016.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0017.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0018.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0019.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0020.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0021.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0022.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0023.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0024.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0025.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0026.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0027.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0028.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0029.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0030.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0031.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_clear.frame0032.spr
+share/taisei/00-taisei.pkgdir/gfx/part/bullet_flare.spr
 share/taisei/00-taisei.pkgdir/gfx/part/fantasyseal_impact.spr
 share/taisei/00-taisei.pkgdir/gfx/part/flare.spr
 share/taisei/00-taisei.pkgdir/gfx/part/graze.spr
@@ -365,7 +552,7 @@ share/taisei/00-taisei.pkgdir/gfx/player
 share/taisei/00-taisei.pkgdir/gfx/player/youmu.frame0008.spr
 share/taisei/00-taisei.pkgdir/gfx/player/youmu.frame0009.spr
 share/taisei/00-taisei.pkgdir/gfx/player/youmu.frame0010.spr
-share/taisei/00-taisei.pkgdir/gfx/powersurge_flow.webp
+share/taisei/00-taisei.pkgdir/gfx/powersurge_flow.basis
 share/taisei/00-taisei.pkgdir/gfx/proj/
 share/taisei/00-taisei.pkgdir/gfx/proj/apple.spr
 share/taisei/00-taisei.pkgdir/gfx/proj/ball.spr
@@ -389,75 +576,299 @@ share/taisei/00-taisei.pkgdir/gfx/proj/t
 share/taisei/00-taisei.pkgdir/gfx/proj/wave.spr
 share/taisei/00-taisei.pkgdir/gfx/proj/youhoming.spr
 share/taisei/00-taisei.pkgdir/gfx/proj/youmu.spr
-share/taisei/00-taisei.pkgdir/gfx/reimubg.webp
-share/taisei/00-taisei.pkgdir/gfx/runes.webp
+share/taisei/00-taisei.pkgdir/gfx/reimubg.basis
+share/taisei/00-taisei.pkgdir/gfx/runes.basis
 share/taisei/00-taisei.pkgdir/gfx/spell.spr
 share/taisei/00-taisei.pkgdir/gfx/stage1/
-share/taisei/00-taisei.pkgdir/gfx/stage1/cirnobg.webp
-share/taisei/00-taisei.pkgdir/gfx/stage1/fog.webp
-share/taisei/00-taisei.pkgdir/gfx/stage1/snowlayer.webp
-share/taisei/00-taisei.pkgdir/gfx/stage1/waterplants.webp
+share/taisei/00-taisei.pkgdir/gfx/stage1/cirnobg.basis
+share/taisei/00-taisei.pkgdir/gfx/stage1/fog.basis
+share/taisei/00-taisei.pkgdir/gfx/stage1/horizon.basis
+share/taisei/00-taisei.pkgdir/gfx/stage1/horizon.tex
+share/taisei/00-taisei.pkgdir/gfx/stage1/snowlayer.basis
+share/taisei/00-taisei.pkgdir/gfx/stage1/waterplants.basis
 share/taisei/00-taisei.pkgdir/gfx/stage2/
-share/taisei/00-taisei.pkgdir/gfx/stage2/border.webp
-share/taisei/00-taisei.pkgdir/gfx/stage2/leaves.webp
-share/taisei/00-taisei.pkgdir/gfx/stage2/roadgrass.webp
-share/taisei/00-taisei.pkgdir/gfx/stage2/roadstones.webp
-share/taisei/00-taisei.pkgdir/gfx/stage2/spellbg1.webp
-share/taisei/00-taisei.pkgdir/gfx/stage2/spellbg2.webp
+share/taisei/00-taisei.pkgdir/gfx/stage2/branch.material
+share/taisei/00-taisei.pkgdir/gfx/stage2/branch_ambient.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/branch_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/branch_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/branch_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/branch_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/envmap.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/ground.material
+share/taisei/00-taisei.pkgdir/gfx/stage2/ground_ambient.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/ground_ambient.tex
+share/taisei/00-taisei.pkgdir/gfx/stage2/ground_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/ground_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/ground_diffuse.tex
+share/taisei/00-taisei.pkgdir/gfx/stage2/ground_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/ground_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/lakefloor.material
+share/taisei/00-taisei.pkgdir/gfx/stage2/lakefloor_depth.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/lakefloor_depth.tex
+share/taisei/00-taisei.pkgdir/gfx/stage2/lakefloor_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/lakefloor_diffuse.tex
+share/taisei/00-taisei.pkgdir/gfx/stage2/lakefloor_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/lakefloor_normal.tex
+share/taisei/00-taisei.pkgdir/gfx/stage2/leaves.material
+share/taisei/00-taisei.pkgdir/gfx/stage2/leaves_ambient.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/leaves_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/leaves_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/leaves_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/leaves_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/rocks.material
+share/taisei/00-taisei.pkgdir/gfx/stage2/rocks_ambient.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/rocks_ambient.tex
+share/taisei/00-taisei.pkgdir/gfx/stage2/rocks_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/rocks_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/rocks_diffuse.tex
+share/taisei/00-taisei.pkgdir/gfx/stage2/rocks_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/rocks_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/spellbg1.basis
+share/taisei/00-taisei.pkgdir/gfx/stage2/spellbg2.basis
 share/taisei/00-taisei.pkgdir/gfx/stage3/
-share/taisei/00-taisei.pkgdir/gfx/stage3/border.webp
-share/taisei/00-taisei.pkgdir/gfx/stage3/spellbg1.webp
-share/taisei/00-taisei.pkgdir/gfx/stage3/spellbg2.webp
-share/taisei/00-taisei.pkgdir/gfx/stage3/wspellbg.webp
-share/taisei/00-taisei.pkgdir/gfx/stage3/wspellclouds.webp
-share/taisei/00-taisei.pkgdir/gfx/stage3/wspellswarm.webp
+share/taisei/00-taisei.pkgdir/gfx/stage3/envmap.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/ground.material
+share/taisei/00-taisei.pkgdir/gfx/stage3/ground_ambient.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/ground_ambient.tex
+share/taisei/00-taisei.pkgdir/gfx/stage3/ground_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/ground_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/ground_diffuse.tex
+share/taisei/00-taisei.pkgdir/gfx/stage3/ground_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/ground_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/leaves.material
+share/taisei/00-taisei.pkgdir/gfx/stage3/leaves_ambient.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/leaves_ambient.tex
+share/taisei/00-taisei.pkgdir/gfx/stage3/leaves_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/leaves_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/leaves_diffuse.tex
+share/taisei/00-taisei.pkgdir/gfx/stage3/leaves_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/leaves_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/rocks.material
+share/taisei/00-taisei.pkgdir/gfx/stage3/rocks_ambient.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/rocks_ambient.tex
+share/taisei/00-taisei.pkgdir/gfx/stage3/rocks_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/rocks_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/rocks_diffuse.tex
+share/taisei/00-taisei.pkgdir/gfx/stage3/rocks_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/rocks_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/spellbg1.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/spellbg2.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/trees.material
+share/taisei/00-taisei.pkgdir/gfx/stage3/trees_ambient.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/trees_ambient.tex
+share/taisei/00-taisei.pkgdir/gfx/stage3/trees_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/trees_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/trees_diffuse.tex
+share/taisei/00-taisei.pkgdir/gfx/stage3/trees_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/trees_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/wspellbg.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/wspellclouds.basis
+share/taisei/00-taisei.pkgdir/gfx/stage3/wspellswarm.basis
 share/taisei/00-taisei.pkgdir/gfx/stage4/
-share/taisei/00-taisei.pkgdir/gfx/stage4/kurumibg1.webp
-share/taisei/00-taisei.pkgdir/gfx/stage4/kurumibg2.webp
-share/taisei/00-taisei.pkgdir/gfx/stage4/lake.webp
-share/taisei/00-taisei.pkgdir/gfx/stage4/mansion.webp
-share/taisei/00-taisei.pkgdir/gfx/stage4/planks.webp
-share/taisei/00-taisei.pkgdir/gfx/stage4/wall.webp
+share/taisei/00-taisei.pkgdir/gfx/stage4/corridor.material
+share/taisei/00-taisei.pkgdir/gfx/stage4/corridor_ambient.basis
+share/taisei/00-taisei.pkgdir/gfx/stage4/corridor_ambient.tex
+share/taisei/00-taisei.pkgdir/gfx/stage4/corridor_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/stage4/corridor_diffuse.tex
+share/taisei/00-taisei.pkgdir/gfx/stage4/corridor_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage4/corridor_normal.tex
+share/taisei/00-taisei.pkgdir/gfx/stage4/corridor_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage4/corridor_roughness.tex
+share/taisei/00-taisei.pkgdir/gfx/stage4/ground.material
+share/taisei/00-taisei.pkgdir/gfx/stage4/ground_ambient.basis
+share/taisei/00-taisei.pkgdir/gfx/stage4/ground_ambient.tex
+share/taisei/00-taisei.pkgdir/gfx/stage4/ground_depth.basis
+share/taisei/00-taisei.pkgdir/gfx/stage4/ground_depth.tex
+share/taisei/00-taisei.pkgdir/gfx/stage4/ground_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/stage4/ground_diffuse.tex
+share/taisei/00-taisei.pkgdir/gfx/stage4/ground_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage4/ground_normal.tex
+share/taisei/00-taisei.pkgdir/gfx/stage4/ground_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage4/ground_roughness.tex
+share/taisei/00-taisei.pkgdir/gfx/stage4/kurumibg1.basis
+share/taisei/00-taisei.pkgdir/gfx/stage4/kurumibg2.basis
+share/taisei/00-taisei.pkgdir/gfx/stage4/mansion.material
+share/taisei/00-taisei.pkgdir/gfx/stage4/mansion_ambient.basis.zst
+share/taisei/00-taisei.pkgdir/gfx/stage4/mansion_ambient.tex
+share/taisei/00-taisei.pkgdir/gfx/stage4/mansion_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/stage4/mansion_diffuse.tex
+share/taisei/00-taisei.pkgdir/gfx/stage4/mansion_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage4/mansion_normal.tex
+share/taisei/00-taisei.pkgdir/gfx/stage4/mansion_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage4/mansion_roughness.tex
 share/taisei/00-taisei.pkgdir/gfx/stage5/
-share/taisei/00-taisei.pkgdir/gfx/stage5/noise.png
+share/taisei/00-taisei.pkgdir/gfx/stage5/envmap.basis
+share/taisei/00-taisei.pkgdir/gfx/stage5/metal.material
+share/taisei/00-taisei.pkgdir/gfx/stage5/metal_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage5/metal_ao.tex
+share/taisei/00-taisei.pkgdir/gfx/stage5/metal_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage5/metal_roughness.tex
+share/taisei/00-taisei.pkgdir/gfx/stage5/noise.basis
 share/taisei/00-taisei.pkgdir/gfx/stage5/noise.tex
-share/taisei/00-taisei.pkgdir/gfx/stage5/spell_bg.webp
-share/taisei/00-taisei.pkgdir/gfx/stage5/spell_clouds.webp
-share/taisei/00-taisei.pkgdir/gfx/stage5/spell_lightning.webp
-share/taisei/00-taisei.pkgdir/gfx/stage5/tower.webp
+share/taisei/00-taisei.pkgdir/gfx/stage5/spell_bg.basis
+share/taisei/00-taisei.pkgdir/gfx/stage5/spell_clouds.basis
+share/taisei/00-taisei.pkgdir/gfx/stage5/spell_lightning.basis
+share/taisei/00-taisei.pkgdir/gfx/stage5/stairs.material
+share/taisei/00-taisei.pkgdir/gfx/stage5/stairs_ambient.basis
+share/taisei/00-taisei.pkgdir/gfx/stage5/stairs_ambient.tex
+share/taisei/00-taisei.pkgdir/gfx/stage5/stairs_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage5/stairs_ao.tex
+share/taisei/00-taisei.pkgdir/gfx/stage5/stairs_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/stage5/stairs_diffuse.tex
+share/taisei/00-taisei.pkgdir/gfx/stage5/stairs_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage5/stairs_normal.tex
+share/taisei/00-taisei.pkgdir/gfx/stage5/stairs_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage5/stairs_roughness.tex
+share/taisei/00-taisei.pkgdir/gfx/stage5/wall.material
+share/taisei/00-taisei.pkgdir/gfx/stage5/wall_ambient.basis
+share/taisei/00-taisei.pkgdir/gfx/stage5/wall_ambient.tex
+share/taisei/00-taisei.pkgdir/gfx/stage5/wall_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage5/wall_ao.tex
+share/taisei/00-taisei.pkgdir/gfx/stage5/wall_depth.basis
+share/taisei/00-taisei.pkgdir/gfx/stage5/wall_depth.tex
+share/taisei/00-taisei.pkgdir/gfx/stage5/wall_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/stage5/wall_diffuse.tex
+share/taisei/00-taisei.pkgdir/gfx/stage5/wall_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage5/wall_normal.tex
+share/taisei/00-taisei.pkgdir/gfx/stage5/wall_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage5/wall_roughness.tex
 share/taisei/00-taisei.pkgdir/gfx/stage6/
 share/taisei/00-taisei.pkgdir/gfx/stage6/baryon.spr
 share/taisei/00-taisei.pkgdir/gfx/stage6/baryon_center.spr
 share/taisei/00-taisei.pkgdir/gfx/stage6/baryon_connector.spr
+share/taisei/00-taisei.pkgdir/gfx/stage6/floor.material
+share/taisei/00-taisei.pkgdir/gfx/stage6/floor_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/floor_ao.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/floor_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/floor_normal.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/rim.material
+share/taisei/00-taisei.pkgdir/gfx/stage6/rim_ambient.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/rim_ambient.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/rim_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/rim_ao.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/rim_depth.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/rim_depth.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/rim_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/rim_diffuse.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/rim_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/rim_normal.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/rim_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/rim_roughness.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/rim_roughness_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/rim_roughness_ao.tex
 share/taisei/00-taisei.pkgdir/gfx/stage6/scythe.spr
-share/taisei/00-taisei.pkgdir/gfx/stage6/spellbg_chalk.webp
-share/taisei/00-taisei.pkgdir/gfx/stage6/spellbg_classic.webp
-share/taisei/00-taisei.pkgdir/gfx/stage6/spellbg_modern.webp
+share/taisei/00-taisei.pkgdir/gfx/stage6/sky.basis.zst
+share/taisei/00-taisei.pkgdir/gfx/stage6/spellbg_chalk.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/spellbg_classic.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/spellbg_modern.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/spellbg_toe.basis
 share/taisei/00-taisei.pkgdir/gfx/stage6/spellbg_toe.spr
-share/taisei/00-taisei.pkgdir/gfx/stage6/spellbg_toe.webp
+share/taisei/00-taisei.pkgdir/gfx/stage6/spires.material
+share/taisei/00-taisei.pkgdir/gfx/stage6/spires_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/spires_ao.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/spires_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/spires_normal.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/spires_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/spires_roughness.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/spires_roughness_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/spires_roughness_ao.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/stairs.material
+share/taisei/00-taisei.pkgdir/gfx/stage6/stairs_ambient.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/stairs_ambient.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/stairs_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/stairs_ao.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/stairs_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/stairs_diffuse.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/stairs_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/stairs_normal.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/stairs_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/stairs_roughness.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/stairs_roughness_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/stairs_roughness_ao.tex
 share/taisei/00-taisei.pkgdir/gfx/stage6/toelagrangian/
 share/taisei/00-taisei.pkgdir/gfx/stage6/toelagrangian/0.spr
 share/taisei/00-taisei.pkgdir/gfx/stage6/toelagrangian/1.spr
 share/taisei/00-taisei.pkgdir/gfx/stage6/toelagrangian/2.spr
 share/taisei/00-taisei.pkgdir/gfx/stage6/toelagrangian/3.spr
 share/taisei/00-taisei.pkgdir/gfx/stage6/toelagrangian/4.spr
-share/taisei/00-taisei.pkgdir/gfx/stage6/towertop.webp
-share/taisei/00-taisei.pkgdir/gfx/stage6/towerwall.webp
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower.material
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_ambient.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_ambient.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_ao.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_bottom.material
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_bottom_ambient.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_bottom_ambient.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_bottom_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_bottom_ao.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_bottom_depth.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_bottom_depth.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_bottom_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_bottom_diffuse.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_bottom_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_bottom_normal.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_bottom_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_bottom_roughness.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_bottom_roughness_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_bottom_roughness_ao.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_depth.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_depth.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_diffuse.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_diffuse.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_normal.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_normal.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_roughness.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_roughness.tex
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_roughness_ao.basis
+share/taisei/00-taisei.pkgdir/gfx/stage6/tower_roughness_ao.tex
+share/taisei/00-taisei.pkgdir/gfx/stageex/
+share/taisei/00-taisei.pkgdir/gfx/stageex/bg.webp
+share/taisei/00-taisei.pkgdir/gfx/stageex/bg_binary.webp
+share/taisei/00-taisei.pkgdir/gfx/stageex/code.num_slices
+share/taisei/00-taisei.pkgdir/gfx/stageex/code.tex
+share/taisei/00-taisei.pkgdir/gfx/stageex/code.webp
+share/taisei/00-taisei.pkgdir/gfx/stageex/dissolve_mask.webp
 share/taisei/00-taisei.pkgdir/gfx/star.spr
-share/taisei/00-taisei.pkgdir/gfx/static.png
+share/taisei/00-taisei.pkgdir/gfx/static.basis
 share/taisei/00-taisei.pkgdir/gfx/static.tex
-share/taisei/00-taisei.pkgdir/gfx/titletransition.webp
+share/taisei/00-taisei.pkgdir/gfx/titletransition.basis
 share/taisei/00-taisei.pkgdir/gfx/yinyang.spr
-share/taisei/00-taisei.pkgdir/gfx/youmu_bombbg1.webp
+share/taisei/00-taisei.pkgdir/gfx/youmu_bombbg1.basis
 share/taisei/00-taisei.pkgdir/meson.build
 share/taisei/00-taisei.pkgdir/models/
-share/taisei/00-taisei.pkgdir/models/hud.obj
-share/taisei/00-taisei.pkgdir/models/lake.obj
-share/taisei/00-taisei.pkgdir/models/mansion.obj
-share/taisei/00-taisei.pkgdir/models/skysphere.obj
-share/taisei/00-taisei.pkgdir/models/tower.obj
-share/taisei/00-taisei.pkgdir/models/towertop.obj
-share/taisei/00-taisei.pkgdir/models/towerwall.obj
+share/taisei/00-taisei.pkgdir/models/credits/
+share/taisei/00-taisei.pkgdir/models/credits/metal_columns.iqm
+share/taisei/00-taisei.pkgdir/models/credits/tower.iqm
+share/taisei/00-taisei.pkgdir/models/cube.iqm
+share/taisei/00-taisei.pkgdir/models/hud.iqm
+share/taisei/00-taisei.pkgdir/models/stage2/
+share/taisei/00-taisei.pkgdir/models/stage2/branch.iqm
+share/taisei/00-taisei.pkgdir/models/stage2/grass.iqm
+share/taisei/00-taisei.pkgdir/models/stage2/ground.iqm
+share/taisei/00-taisei.pkgdir/models/stage2/leaves.iqm
+share/taisei/00-taisei.pkgdir/models/stage2/rocks.iqm
+share/taisei/00-taisei.pkgdir/models/stage3/
+share/taisei/00-taisei.pkgdir/models/stage3/ground.iqm
+share/taisei/00-taisei.pkgdir/models/stage3/leaves.iqm
+share/taisei/00-taisei.pkgdir/models/stage3/rocks.iqm
+share/taisei/00-taisei.pkgdir/models/stage3/trees.iqm
+share/taisei/00-taisei.pkgdir/models/stage4/
+share/taisei/00-taisei.pkgdir/models/stage4/corridor.iqm
+share/taisei/00-taisei.pkgdir/models/stage4/ground.iqm
+share/taisei/00-taisei.pkgdir/models/stage4/mansion.iqm
+share/taisei/00-taisei.pkgdir/models/stage5/
+share/taisei/00-taisei.pkgdir/models/stage5/metal.iqm
+share/taisei/00-taisei.pkgdir/models/stage5/stairs.iqm
+share/taisei/00-taisei.pkgdir/models/stage5/wall.iqm
+share/taisei/00-taisei.pkgdir/models/stage6/
+share/taisei/00-taisei.pkgdir/models/stage6/calabi-yau-quintic.iqm
+share/taisei/00-taisei.pkgdir/models/stage6/floor.iqm
+share/taisei/00-taisei.pkgdir/models/stage6/rim.iqm
+share/taisei/00-taisei.pkgdir/models/stage6/spires.iqm
+share/taisei/00-taisei.pkgdir/models/stage6/stairs.iqm
+share/taisei/00-taisei.pkgdir/models/stage6/tower.iqm
+share/taisei/00-taisei.pkgdir/models/stage6/tower_bottom.iqm
+share/taisei/00-taisei.pkgdir/models/tower_alt_uv.iqm
 share/taisei/00-taisei.pkgdir/sfx/
 share/taisei/00-taisei.pkgdir/sfx/bomb_marisa_a.opus
 share/taisei/00-taisei.pkgdir/sfx/bomb_marisa_b.opus
@@ -470,6 +881,7 @@ share/taisei/00-taisei.pkgdir/sfx/bossde
 share/taisei/00-taisei.pkgdir/sfx/charge_extra.opus
 share/taisei/00-taisei.pkgdir/sfx/charge_generic.opus
 share/taisei/00-taisei.pkgdir/sfx/death.opus
+share/taisei/00-taisei.pkgdir/sfx/discharge.opus
 share/taisei/00-taisei.pkgdir/sfx/enemydeath.opus
 share/taisei/00-taisei.pkgdir/sfx/extra_bomb.opus
 share/taisei/00-taisei.pkgdir/sfx/extra_life.opus
@@ -499,6 +911,8 @@ share/taisei/00-taisei.pkgdir/sfx/warp.o
 share/taisei/00-taisei.pkgdir/shader/
 share/taisei/00-taisei.pkgdir/shader/alpha_depth.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/alpha_depth.prog
+share/taisei/00-taisei.pkgdir/shader/alpha_discard.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/alpha_discard.prog
 share/taisei/00-taisei.pkgdir/shader/baryon_feedback.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/baryon_feedback.prog
 share/taisei/00-taisei.pkgdir/shader/bloom.frag.glsl
@@ -515,10 +929,26 @@ share/taisei/00-taisei.pkgdir/shader/bos
 share/taisei/00-taisei.pkgdir/shader/boss_death.prog
 share/taisei/00-taisei.pkgdir/shader/boss_zoom.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/boss_zoom.prog
+share/taisei/00-taisei.pkgdir/shader/calabi-yau-quintic.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/calabi-yau-quintic.prog
+share/taisei/00-taisei.pkgdir/shader/calabi-yau-quintic.vert.glsl
 share/taisei/00-taisei.pkgdir/shader/circle_distort.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/circle_distort.prog
-share/taisei/00-taisei.pkgdir/shader/copy_depth.frag.glsl
-share/taisei/00-taisei.pkgdir/shader/copy_depth.prog
+share/taisei/00-taisei.pkgdir/shader/cutscene.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/cutscene.prog
+share/taisei/00-taisei.pkgdir/shader/envmap_reflect.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/envmap_reflect.prog
+share/taisei/00-taisei.pkgdir/shader/extra_bg.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/extra_bg.glslh
+share/taisei/00-taisei.pkgdir/shader/extra_bg.prog
+share/taisei/00-taisei.pkgdir/shader/extra_tower_apply_mask.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/extra_tower_apply_mask.prog
+share/taisei/00-taisei.pkgdir/shader/extra_tower_mask.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/extra_tower_mask.prog
+share/taisei/00-taisei.pkgdir/shader/extra_tower_mask.vert.glsl
+share/taisei/00-taisei.pkgdir/shader/fireparticles.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/fireparticles.prog
+share/taisei/00-taisei.pkgdir/shader/fireparticles.vert.glsl
 share/taisei/00-taisei.pkgdir/shader/fxaa.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/fxaa.prog
 share/taisei/00-taisei.pkgdir/shader/fxaa.vert.glsl
@@ -536,44 +966,25 @@ share/taisei/00-taisei.pkgdir/shader/ing
 share/taisei/00-taisei.pkgdir/shader/interface/
 share/taisei/00-taisei.pkgdir/shader/interface/fxaa.glslh
 share/taisei/00-taisei.pkgdir/shader/interface/healthbar.glslh
+share/taisei/00-taisei.pkgdir/shader/interface/laser_pass1.glslh
+share/taisei/00-taisei.pkgdir/shader/interface/laser_pass2.glslh
+share/taisei/00-taisei.pkgdir/shader/interface/particle_emitter.glslh
+share/taisei/00-taisei.pkgdir/shader/interface/pbr.glslh
+share/taisei/00-taisei.pkgdir/shader/interface/pbr_water.glslh
 share/taisei/00-taisei.pkgdir/shader/interface/reimu_gap.glslh
 share/taisei/00-taisei.pkgdir/shader/interface/spellcard.glslh
 share/taisei/00-taisei.pkgdir/shader/interface/sprite.glslh
+share/taisei/00-taisei.pkgdir/shader/interface/sprite_pbr.glslh
+share/taisei/00-taisei.pkgdir/shader/interface/ssr.glslh
 share/taisei/00-taisei.pkgdir/shader/interface/standard.glslh
 share/taisei/00-taisei.pkgdir/shader/interface/tower_light.glslh
-share/taisei/00-taisei.pkgdir/shader/laser_generic.prog
-share/taisei/00-taisei.pkgdir/shader/laser_generic.vert.glsl
 share/taisei/00-taisei.pkgdir/shader/lasers/
-share/taisei/00-taisei.pkgdir/shader/lasers/accelerated.prog
-share/taisei/00-taisei.pkgdir/shader/lasers/accelerated.vert.glsl
-share/taisei/00-taisei.pkgdir/shader/lasers/circle.prog
-share/taisei/00-taisei.pkgdir/shader/lasers/circle.vert.glsl
-share/taisei/00-taisei.pkgdir/shader/lasers/common.vert.glslh
-share/taisei/00-taisei.pkgdir/shader/lasers/elly_toe_fermion.prog
-share/taisei/00-taisei.pkgdir/shader/lasers/elly_toe_fermion.vert.glsl
-share/taisei/00-taisei.pkgdir/shader/lasers/elly_toe_gluon.prog
-share/taisei/00-taisei.pkgdir/shader/lasers/elly_toe_gluon.vert.glsl
-share/taisei/00-taisei.pkgdir/shader/lasers/elly_toe_higgs.prog
-share/taisei/00-taisei.pkgdir/shader/lasers/elly_toe_higgs.vert.glsl
-share/taisei/00-taisei.pkgdir/shader/lasers/elly_toe_photon.prog
-share/taisei/00-taisei.pkgdir/shader/lasers/elly_toe_photon.vert.glsl
-share/taisei/00-taisei.pkgdir/shader/lasers/iku_cathode.prog
-share/taisei/00-taisei.pkgdir/shader/lasers/iku_cathode.vert.glsl
-share/taisei/00-taisei.pkgdir/shader/lasers/iku_lightning.prog
-share/taisei/00-taisei.pkgdir/shader/lasers/iku_lightning.vert.glsl
-share/taisei/00-taisei.pkgdir/shader/lasers/linear.prog
-share/taisei/00-taisei.pkgdir/shader/lasers/linear.vert.glsl
-share/taisei/00-taisei.pkgdir/shader/lasers/maxwell.prog
-share/taisei/00-taisei.pkgdir/shader/lasers/maxwell.vert.glsl
-share/taisei/00-taisei.pkgdir/shader/lasers/sine.prog
-share/taisei/00-taisei.pkgdir/shader/lasers/sine.vert.glsl
-share/taisei/00-taisei.pkgdir/shader/lasers/sine_expanding.prog
-share/taisei/00-taisei.pkgdir/shader/lasers/sine_expanding.vert.glsl
-share/taisei/00-taisei.pkgdir/shader/lasers/turning.prog
-share/taisei/00-taisei.pkgdir/shader/lasers/turning.vert.glsl
-share/taisei/00-taisei.pkgdir/shader/lasers/vertex_pos.glslh
-share/taisei/00-taisei.pkgdir/shader/lasers/weird_sine.prog
-share/taisei/00-taisei.pkgdir/shader/lasers/weird_sine.vert.glsl
+share/taisei/00-taisei.pkgdir/shader/lasers/sdf_apply.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/lasers/sdf_apply.prog
+share/taisei/00-taisei.pkgdir/shader/lasers/sdf_apply.vert.glsl
+share/taisei/00-taisei.pkgdir/shader/lasers/sdf_generate.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/lasers/sdf_generate.prog
+share/taisei/00-taisei.pkgdir/shader/lasers/sdf_generate.vert.glsl
 share/taisei/00-taisei.pkgdir/shader/lib/
 share/taisei/00-taisei.pkgdir/shader/lib/blur/
 share/taisei/00-taisei.pkgdir/shader/lib/blur/blur13.glslh
@@ -581,12 +992,20 @@ share/taisei/00-taisei.pkgdir/shader/lib
 share/taisei/00-taisei.pkgdir/shader/lib/blur/blur5.glslh
 share/taisei/00-taisei.pkgdir/shader/lib/blur/blur9.glslh
 share/taisei/00-taisei.pkgdir/shader/lib/defs.glslh
+share/taisei/00-taisei.pkgdir/shader/lib/frag_util.glslh
 share/taisei/00-taisei.pkgdir/shader/lib/fxaa.glslh
+share/taisei/00-taisei.pkgdir/shader/lib/hash.glslh
 share/taisei/00-taisei.pkgdir/shader/lib/legacy_compat.glslh
+share/taisei/00-taisei.pkgdir/shader/lib/parallaxmap.glslh
+share/taisei/00-taisei.pkgdir/shader/lib/pbr.glslh
+share/taisei/00-taisei.pkgdir/shader/lib/pbr_features.glslh
+share/taisei/00-taisei.pkgdir/shader/lib/pbr_generic.frag.glslh
+share/taisei/00-taisei.pkgdir/shader/lib/pbr_generic.glslh
 share/taisei/00-taisei.pkgdir/shader/lib/render_context.glslh
 share/taisei/00-taisei.pkgdir/shader/lib/sprite_default.vert.glslh
 share/taisei/00-taisei.pkgdir/shader/lib/sprite_main.frag.glslh
 share/taisei/00-taisei.pkgdir/shader/lib/util.glslh
+share/taisei/00-taisei.pkgdir/shader/lib/water.glslh
 share/taisei/00-taisei.pkgdir/shader/mainmenubg.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/mainmenubg.prog
 share/taisei/00-taisei.pkgdir/shader/marisa_laser.frag.glsl
@@ -597,6 +1016,16 @@ share/taisei/00-taisei.pkgdir/shader/mas
 share/taisei/00-taisei.pkgdir/shader/masterspark.prog
 share/taisei/00-taisei.pkgdir/shader/max_to_alpha.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/max_to_alpha.prog
+share/taisei/00-taisei.pkgdir/shader/pbr.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/pbr.prog
+share/taisei/00-taisei.pkgdir/shader/pbr.vert.glsl
+share/taisei/00-taisei.pkgdir/shader/pbr_diffuse_alpha_discard.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/pbr_diffuse_alpha_discard.prog
+share/taisei/00-taisei.pkgdir/shader/pbr_roughness_alpha_discard.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/pbr_roughness_alpha_discard.prog
+share/taisei/00-taisei.pkgdir/shader/pbr_water.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/pbr_water.prog
+share/taisei/00-taisei.pkgdir/shader/pbr_water.vert.glsl
 share/taisei/00-taisei.pkgdir/shader/player_death.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/player_death.prog
 share/taisei/00-taisei.pkgdir/shader/powersurge_effect.frag.glsl
@@ -619,14 +1048,15 @@ share/taisei/00-taisei.pkgdir/shader/spe
 share/taisei/00-taisei.pkgdir/shader/sprite_bullet.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/sprite_bullet.prog
 share/taisei/00-taisei.pkgdir/shader/sprite_bullet.vert.glsl
-share/taisei/00-taisei.pkgdir/shader/sprite_bullet_dead.frag.glsl
-share/taisei/00-taisei.pkgdir/shader/sprite_bullet_dead.prog
 share/taisei/00-taisei.pkgdir/shader/sprite_circleclipped_indicator.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/sprite_circleclipped_indicator.prog
 share/taisei/00-taisei.pkgdir/shader/sprite_circleclipped_indicator.vert.glsl
 share/taisei/00-taisei.pkgdir/shader/sprite_default.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/sprite_default.prog
 share/taisei/00-taisei.pkgdir/shader/sprite_default.vert.glsl
+share/taisei/00-taisei.pkgdir/shader/sprite_fairy.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/sprite_fairy.prog
+share/taisei/00-taisei.pkgdir/shader/sprite_fairy.vert.glsl
 share/taisei/00-taisei.pkgdir/shader/sprite_filled_circle.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/sprite_filled_circle.prog
 share/taisei/00-taisei.pkgdir/shader/sprite_filled_circle.vert.glsl
@@ -635,18 +1065,25 @@ share/taisei/00-taisei.pkgdir/shader/spr
 share/taisei/00-taisei.pkgdir/shader/sprite_hakkero.vert.glsl
 share/taisei/00-taisei.pkgdir/shader/sprite_negative.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/sprite_negative.prog
+share/taisei/00-taisei.pkgdir/shader/sprite_particle.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/sprite_particle.prog
+share/taisei/00-taisei.pkgdir/shader/sprite_pbr.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/sprite_pbr.prog
+share/taisei/00-taisei.pkgdir/shader/sprite_pbr.vert.glsl
 share/taisei/00-taisei.pkgdir/shader/sprite_silhouette.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/sprite_silhouette.prog
 share/taisei/00-taisei.pkgdir/shader/sprite_silhouette.vert.glsl
 share/taisei/00-taisei.pkgdir/shader/sprite_yinyang.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/sprite_yinyang.prog
-share/taisei/00-taisei.pkgdir/shader/sprite_youmu_charged_shot.frag.glsl
-share/taisei/00-taisei.pkgdir/shader/sprite_youmu_charged_shot.prog
-share/taisei/00-taisei.pkgdir/shader/sprite_youmu_charged_shot.vert.glsl
 share/taisei/00-taisei.pkgdir/shader/sprite_youmu_myon_shot.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/sprite_youmu_myon_shot.prog
+share/taisei/00-taisei.pkgdir/shader/ssr.vert.glsl
+share/taisei/00-taisei.pkgdir/shader/ssr_water.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/ssr_water.prog
 share/taisei/00-taisei.pkgdir/shader/stage1_water.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/stage1_water.prog
+share/taisei/00-taisei.pkgdir/shader/stage3_wriggle_bg.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/stage3_wriggle_bg.prog
 share/taisei/00-taisei.pkgdir/shader/stage6_sky.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/stage6_sky.prog
 share/taisei/00-taisei.pkgdir/shader/stage6_sky.vert.glsl
@@ -656,9 +1093,14 @@ share/taisei/00-taisei.pkgdir/shader/sta
 share/taisei/00-taisei.pkgdir/shader/standardnotex.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/standardnotex.prog
 share/taisei/00-taisei.pkgdir/shader/standardnotex.vert.glsl
+share/taisei/00-taisei.pkgdir/shader/text_cutscene.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/text_cutscene.prog
 share/taisei/00-taisei.pkgdir/shader/text_default.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/text_default.prog
 share/taisei/00-taisei.pkgdir/shader/text_default.vert.glsl
+share/taisei/00-taisei.pkgdir/shader/text_demo.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/text_demo.prog
+share/taisei/00-taisei.pkgdir/shader/text_demo.vert.glsl
 share/taisei/00-taisei.pkgdir/shader/text_dialog.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/text_dialog.prog
 share/taisei/00-taisei.pkgdir/shader/text_dialog.vert.glsl
@@ -671,9 +1113,8 @@ share/taisei/00-taisei.pkgdir/shader/tex
 share/taisei/00-taisei.pkgdir/shader/text_stagetext.prog
 share/taisei/00-taisei.pkgdir/shader/texture_post_load.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/texture_post_load.prog
-share/taisei/00-taisei.pkgdir/shader/tower_light.frag.glsl
-share/taisei/00-taisei.pkgdir/shader/tower_light.prog
-share/taisei/00-taisei.pkgdir/shader/tower_light.vert.glsl
+share/taisei/00-taisei.pkgdir/shader/tonemap.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/tonemap.prog
 share/taisei/00-taisei.pkgdir/shader/tower_wall.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/tower_wall.prog
 share/taisei/00-taisei.pkgdir/shader/tower_wall.vert.glsl
@@ -685,6 +1126,8 @@ share/taisei/00-taisei.pkgdir/shader/you
 share/taisei/00-taisei.pkgdir/shader/youmua_bomb.prog
 share/taisei/00-taisei.pkgdir/shader/zbuf_fog.frag.glsl
 share/taisei/00-taisei.pkgdir/shader/zbuf_fog.prog
+share/taisei/00-taisei.pkgdir/shader/zbuf_fog_tonemap.frag.glsl
+share/taisei/00-taisei.pkgdir/shader/zbuf_fog_tonemap.prog
 share/taisei/gamecontrollerdb.txt
 @tag gtk-update-icon-cache %D/share/icons/hicolor
 @tag update-desktop-database

Reply via email to