From 3eee0541a4b54f9b76aa8843a28b9a041b872f9c Mon Sep 17 00:00:00 2001 From: Lucas Azevedo Date: Thu, 11 Apr 2024 16:31:09 -0300 Subject: [PATCH] Cleanup project root --- .github/workflows/build.yml | 2 +- .github/workflows/build_matching.yml | 2 +- .github/workflows/test.yml | 2 +- .gitignore | 6 +- DEVELOPMENT.md | 7 + asmsh.sub | 2 - lnk_matching.sub => build/lnk_matching.sub | 162 ++++++++--------- .../lnk_matching_sdk.sub | 156 ++++++++-------- build/lnk_template.sub | 120 +++++++++++++ shc.sub => build/shc.sub | 0 shc_testing.sub => build/shc_testing.sub | 0 diff_settings.py | 12 -- Dockerfile => docker/Dockerfile | 30 ++-- docker/gdibuilder.patch | 33 ++++ lnk_template.sub | 120 ------------- run_tests.sh | 168 ------------------ bnc.sh => scripts/bnc.sh | 0 build.sh => scripts/build.sh | 18 +- scripts/build_gdi.sh | 12 ++ .../build_matching.sh | 16 +- scripts/run_tests.sh | 168 ++++++++++++++++++ .../set_kt.example.sh | 0 22 files changed, 540 insertions(+), 496 deletions(-) create mode 100644 DEVELOPMENT.md delete mode 100644 asmsh.sub rename lnk_matching.sub => build/lnk_matching.sub (67%) rename lnk_matching_sdk.sub => build/lnk_matching_sdk.sub (90%) create mode 100644 build/lnk_template.sub rename shc.sub => build/shc.sub (100%) rename shc_testing.sub => build/shc_testing.sub (100%) delete mode 100644 diff_settings.py rename Dockerfile => docker/Dockerfile (50%) create mode 100644 docker/gdibuilder.patch delete mode 100644 lnk_template.sub delete mode 100755 run_tests.sh rename bnc.sh => scripts/bnc.sh (100%) rename build.sh => scripts/build.sh (87%) create mode 100644 scripts/build_gdi.sh rename build_matching.sh => scripts/build_matching.sh (90%) create mode 100755 scripts/run_tests.sh rename set_kt.example.sh => scripts/set_kt.example.sh (100%) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1b3aca1..f17709c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -47,4 +47,4 @@ jobs: echo "HLNK_LIBRARY3=$(winepath -w $DC_SDK/shc/lib/sh4nlfzn.lib)" >> "$GITHUB_ENV" - name: Build - run: bash build.sh + run: bash scripts/build.sh diff --git a/.github/workflows/build_matching.yml b/.github/workflows/build_matching.yml index e0c6da8..e6588e7 100644 --- a/.github/workflows/build_matching.yml +++ b/.github/workflows/build_matching.yml @@ -44,4 +44,4 @@ jobs: echo "SHC_INC=$(winepath -w $DC_SDK/shc/include),$(winepath -w $DC_SDK/shinobi/include)" >> "$GITHUB_ENV" - name: Build - run: bash build_matching.sh + run: bash scripts/build_matching.sh diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3b31817..a4748d8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -46,4 +46,4 @@ jobs: echo "SHC_INC=$(winepath -w $DC_SDK/shc/include),$(winepath -w $DC_SDK/shinobi/include)" >> "$GITHUB_ENV" - name: Test - run: bash run_tests.sh + run: bash scripts/run_tests.sh diff --git a/.gitignore b/.gitignore index 34f617d..eefd855 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,8 @@ -/build +/build/output /diskroot # Ignore game binary 1ST_READ.BIN -set_kt.sh -lnk.sub +scripts/set_kt.sh +build/lnk.sub diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md new file mode 100644 index 0000000..c17f79f --- /dev/null +++ b/DEVELOPMENT.md @@ -0,0 +1,7 @@ +# Development + +You can either use the provided Docker container, or setup your environment +manually. + +## Developing with Docker + diff --git a/asmsh.sub b/asmsh.sub deleted file mode 100644 index 5a40f9b..0000000 --- a/asmsh.sub +++ /dev/null @@ -1,2 +0,0 @@ --debug=d --cpu=sh4 -endian=little -sjis diff --git a/lnk_matching.sub b/build/lnk_matching.sub similarity index 67% rename from lnk_matching.sub rename to build/lnk_matching.sub index a5012cc..7b0625b 100644 --- a/lnk_matching.sub +++ b/build/lnk_matching.sub @@ -2,7 +2,7 @@ align_section udfcheck ; debug elf -output build\tbg.elf +output build\output\tbg.elf define _ADXT_Init(8C04F7A2) define _ADXT_Create(8C04F8C0) @@ -182,87 +182,87 @@ define _njPrint(8C079DB0) define __BSG_END(8C0E7FCC) ; USER OBJS -input build\010000.obj -input build\010080_main.obj -input build\0100bc_sound.obj -input build\010e90.obj -input build\010fe8_unused.obj -input build\011120_asset_queues.obj -input build\012324.obj -input build\012504.obj -input build\0129cc.obj -input build\012f44.obj -input build\_012101_data.obj -input build\013ae8.obj -input build\014934.obj -input build\0149b0_sbinit.obj -input build\014a9c_tasks.obj -input build\014b8c_backup.obj -input build\014f54.obj -input build\015ab8_title.obj -input build\016108.obj -input build\01614c.obj -input build\016bf4.obj -input build\016c58.obj -input build\016d2c.obj -input build\018644.obj -input build\018784.obj -input build\0193c8.obj -input build\019e98.obj -input build\01a148.obj -input build\01b19c.obj -input build\01bb48.obj -input build\01c980.obj -input build\01d290.obj -input build\01d7fc.obj -input build\01e27c.obj -input build\01f3c0.obj -input build\01fa78.obj -input build\020214.obj -input build\020528.obj -input build\020594.obj -input build\0206f0.obj -input build\0207d4.obj -input build\02081c.obj -input build\020914.obj -input build\020b6c.obj -input build\02171c.obj -input build\021b9c.obj -input build\0222dc.obj -input build\022464.obj -input build\022bdc.obj -input build\023310.obj -input build\023938.obj -input build\02412c.obj -input build\024280.obj -input build\024b4c.obj -input build\025870.obj -input build\025b98.obj -input build\026710.obj -input build\02786c.obj -input build\027958.obj -input build\028258.obj -input build\02af78.obj -input build\02b2f0.obj -input build\02b464.obj -input build\02c884.obj -input build\02d06c.obj -input build\02d19c.obj -input build\02d968.obj -input build\02df3c.obj -input build\02e2dc.obj -input build\02e400.obj -input build\02e51c.obj -input build\02f0c8.obj -input build\02f320.obj -input build\02fb50_sh4nlfzn.obj -input build\03327c_strt1_sectionC.obj -input build\0332a4_sectionC.obj -input build\03bd80_sectionD.obj -input build\04f6c0_SDK.obj -input build\0fcd20_sectionB.obj +input build\output\010000.obj +input build\output\010080_main.obj +input build\output\0100bc_sound.obj +input build\output\010e90.obj +input build\output\010fe8_unused.obj +input build\output\011120_asset_queues.obj +input build\output\012324.obj +input build\output\012504.obj +input build\output\0129cc.obj +input build\output\012f44.obj +input build\output\_012101_data.obj +input build\output\013ae8.obj +input build\output\014934.obj +input build\output\0149b0_sbinit.obj +input build\output\014a9c_tasks.obj +input build\output\014b8c_backup.obj +input build\output\014f54.obj +input build\output\015ab8_title.obj +input build\output\016108.obj +input build\output\01614c.obj +input build\output\016bf4.obj +input build\output\016c58.obj +input build\output\016d2c.obj +input build\output\018644.obj +input build\output\018784.obj +input build\output\0193c8.obj +input build\output\019e98.obj +input build\output\01a148.obj +input build\output\01b19c.obj +input build\output\01bb48.obj +input build\output\01c980.obj +input build\output\01d290.obj +input build\output\01d7fc.obj +input build\output\01e27c.obj +input build\output\01f3c0.obj +input build\output\01fa78.obj +input build\output\020214.obj +input build\output\020528.obj +input build\output\020594.obj +input build\output\0206f0.obj +input build\output\0207d4.obj +input build\output\02081c.obj +input build\output\020914.obj +input build\output\020b6c.obj +input build\output\02171c.obj +input build\output\021b9c.obj +input build\output\0222dc.obj +input build\output\022464.obj +input build\output\022bdc.obj +input build\output\023310.obj +input build\output\023938.obj +input build\output\02412c.obj +input build\output\024280.obj +input build\output\024b4c.obj +input build\output\025870.obj +input build\output\025b98.obj +input build\output\026710.obj +input build\output\02786c.obj +input build\output\027958.obj +input build\output\028258.obj +input build\output\02af78.obj +input build\output\02b2f0.obj +input build\output\02b464.obj +input build\output\02c884.obj +input build\output\02d06c.obj +input build\output\02d19c.obj +input build\output\02d968.obj +input build\output\02df3c.obj +input build\output\02e2dc.obj +input build\output\02e400.obj +input build\output\02e51c.obj +input build\output\02f0c8.obj +input build\output\02f320.obj +input build\output\02fb50_sh4nlfzn.obj +input build\output\03327c_strt1_sectionC.obj +input build\output\0332a4_sectionC.obj +input build\output\03bd80_sectionD.obj +input build\output\04f6c0_SDK.obj +input build\output\0fcd20_sectionB.obj -print build\tbg.map +print build\output\tbg.map form a start P,C,D,SDK(8C010000) exit diff --git a/lnk_matching_sdk.sub b/build/lnk_matching_sdk.sub similarity index 90% rename from lnk_matching_sdk.sub rename to build/lnk_matching_sdk.sub index bc7315b..50ba13a 100644 --- a/lnk_matching_sdk.sub +++ b/build/lnk_matching_sdk.sub @@ -2,7 +2,7 @@ align_section udfcheck ; debug elf -output build\tbg.elf +output build\output\tbg.elf define _ADXT_Init(8C04F7A2) define _ADXT_Create(8C04F8C0) @@ -202,80 +202,80 @@ define __BSG_END(8C0E7FCC) ; input E:\dc_sdk\155j\shinobi\lib\zero.obj ; USER OBJS -input build\010000.obj -input build\010080_main.obj -input build\0100bc_sound.obj -input build\010e90.obj -input build\010fe8_unused.obj -input build\011120.obj -input build\_005168_8c011430.obj -input build\_008160_8c011fe0.obj -input build\014934.obj -input build\0149b0_sbinit.obj -input build\014a9c_tasks.obj -input build\014b8c_backup.obj -input build\014f54.obj -input build\015ab8_title.obj -input build\016108.obj -input build\01614c.obj -input build\01614c.obj -input build\016bf4.obj -input build\016c58.obj -input build\016d2c.obj -input build\018644.obj -input build\018784.obj -input build\0193c8.obj -input build\019e98.obj -input build\01a148.obj -input build\01b19c.obj -input build\01bb48.obj -input build\01c980.obj -input build\01d290.obj -input build\01d7fc.obj -input build\01e27c.obj -input build\01f3c0.obj -input build\01fa78.obj -input build\020214.obj -input build\020528.obj -input build\020594.obj -input build\0206f0.obj -input build\0207d4.obj -input build\02081c.obj -input build\020914.obj -input build\020b6c.obj -input build\02171c.obj -input build\021b9c.obj -input build\0222dc.obj -input build\022464.obj -input build\022bdc.obj -input build\023310.obj -input build\023938.obj -input build\02412c.obj -input build\024280.obj -input build\024b4c.obj -input build\025870.obj -input build\025b98.obj -input build\026710.obj -input build\02786c.obj -input build\027958.obj -input build\028258.obj -input build\02af78.obj -input build\02b2f0.obj -input build\02b464.obj -input build\02c884.obj -input build\02d06c.obj -input build\02d19c.obj -input build\02d968.obj -input build\02df3c.obj -input build\02e2dc.obj -input build\02e400.obj -input build\02e51c.obj -input build\02f0c8.obj -input build\02f320.obj -input build\02fb50_sh4nlfzn.obj -input build\03327c_strt1_sectionC.obj -input build\0332a4_sectionC.obj -input build\03bd80_sectionD.obj +input build\output\010000.obj +input build\output\010080_main.obj +input build\output\0100bc_sound.obj +input build\output\010e90.obj +input build\output\010fe8_unused.obj +input build\output\011120.obj +input build\output\_005168_8c011430.obj +input build\output\_008160_8c011fe0.obj +input build\output\014934.obj +input build\output\0149b0_sbinit.obj +input build\output\014a9c_tasks.obj +input build\output\014b8c_backup.obj +input build\output\014f54.obj +input build\output\015ab8_title.obj +input build\output\016108.obj +input build\output\01614c.obj +input build\output\01614c.obj +input build\output\016bf4.obj +input build\output\016c58.obj +input build\output\016d2c.obj +input build\output\018644.obj +input build\output\018784.obj +input build\output\0193c8.obj +input build\output\019e98.obj +input build\output\01a148.obj +input build\output\01b19c.obj +input build\output\01bb48.obj +input build\output\01c980.obj +input build\output\01d290.obj +input build\output\01d7fc.obj +input build\output\01e27c.obj +input build\output\01f3c0.obj +input build\output\01fa78.obj +input build\output\020214.obj +input build\output\020528.obj +input build\output\020594.obj +input build\output\0206f0.obj +input build\output\0207d4.obj +input build\output\02081c.obj +input build\output\020914.obj +input build\output\020b6c.obj +input build\output\02171c.obj +input build\output\021b9c.obj +input build\output\0222dc.obj +input build\output\022464.obj +input build\output\022bdc.obj +input build\output\023310.obj +input build\output\023938.obj +input build\output\02412c.obj +input build\output\024280.obj +input build\output\024b4c.obj +input build\output\025870.obj +input build\output\025b98.obj +input build\output\026710.obj +input build\output\02786c.obj +input build\output\027958.obj +input build\output\028258.obj +input build\output\02af78.obj +input build\output\02b2f0.obj +input build\output\02b464.obj +input build\output\02c884.obj +input build\output\02d06c.obj +input build\output\02d19c.obj +input build\output\02d968.obj +input build\output\02df3c.obj +input build\output\02e2dc.obj +input build\output\02e400.obj +input build\output\02e51c.obj +input build\output\02f0c8.obj +input build\output\02f320.obj +input build\output\02fb50_sh4nlfzn.obj +input build\output\03327c_strt1_sectionC.obj +input build\output\0332a4_sectionC.obj +input build\output\03bd80_sectionD.obj input sdk_obj\adx_inis.obj input sdk_obj\adx_tlk.obj @@ -1352,12 +1352,12 @@ input sdk_obj\mpsmp_.obj input sdk_obj\adx_qtbl.obj input sdk_obj\_0sbver_.obj -; input build\04f6c0_SDK.obj -input build\0fcd20_sectionB.obj +; input build\output\04f6c0_SDK.obj +input build\output\0fcd20_sectionB.obj library E:\dc_sdk\155j\shc\lib\sh4nlfzn.lib -print build\tbg.map +print build\output\tbg.map form a entry SG_SEC start IP(8C008000),DSGLH(8C010000) diff --git a/build/lnk_template.sub b/build/lnk_template.sub new file mode 100644 index 0000000..0348b74 --- /dev/null +++ b/build/lnk_template.sub @@ -0,0 +1,120 @@ +align_section +udfcheck +; debug +elf +output build\output\tbg.elf + +; STARTUPS +input @DC_SDK@\shinobi\lib\strt1.obj +input @DC_SDK@\shinobi\lib\strt2.obj + +; IP OBJS +input @DC_SDK@\shinobi\lib\systemid.obj +input @DC_SDK@\shinobi\lib\toc.obj +input @DC_SDK@\shinobi\lib\sg_sec.obj +input @DC_SDK@\shinobi\lib\sg_arejp.obj +input @DC_SDK@\shinobi\lib\sg_areus.obj +input @DC_SDK@\shinobi\lib\sg_areec.obj +input @DC_SDK@\shinobi\lib\sg_are00.obj +input @DC_SDK@\shinobi\lib\sg_are01.obj +input @DC_SDK@\shinobi\lib\sg_are02.obj +input @DC_SDK@\shinobi\lib\sg_are03.obj +input @DC_SDK@\shinobi\lib\sg_are04.obj +input @DC_SDK@\shinobi\lib\sg_ini.obj +input @DC_SDK@\shinobi\lib\aip.obj +input @DC_SDK@\shinobi\lib\zero.obj + +; USER OBJS +input build\output\010080_main.obj +input build\output\0100bc_sound.obj +input build\output\010e90.obj +input build\output\010fe8_unused.obj +input build\output\011120_asset_queues.obj +input build\output\012324.obj +input build\output\012504.obj +input build\output\0129cc.obj +input build\output\012f44.obj +input build\output\_012101_data.obj +input build\output\013ae8.obj +input build\output\014934.obj +input build\output\0149b0_sbinit.obj +input build\output\014a9c_tasks.obj +input build\output\014b8c_backup.obj +input build\output\014f54.obj +input build\output\015ab8_title.obj +input build\output\016108.obj +input build\output\01614c.obj +input build\output\016bf4.obj +input build\output\016c58.obj +input build\output\016d2c.obj +input build\output\018644.obj +input build\output\018784.obj +input build\output\0193c8.obj +input build\output\019e98.obj +input build\output\01a148.obj +input build\output\01b19c.obj +input build\output\01bb48.obj +input build\output\01c980.obj +input build\output\01d290.obj +input build\output\01d7fc.obj +input build\output\01e27c.obj +input build\output\01f3c0.obj +input build\output\01fa78.obj +input build\output\020214.obj +input build\output\020528.obj +input build\output\020594.obj +input build\output\0206f0.obj +input build\output\0207d4.obj +input build\output\02081c.obj +input build\output\020914.obj +input build\output\020b6c.obj +input build\output\02171c.obj +input build\output\021b9c.obj +input build\output\0222dc.obj +input build\output\022464.obj +input build\output\022bdc.obj +input build\output\023310.obj +input build\output\023938.obj +input build\output\02412c.obj +input build\output\024280.obj +input build\output\024b4c.obj +input build\output\025870.obj +input build\output\025b98.obj +input build\output\026710.obj +input build\output\02786c.obj +input build\output\027958.obj +input build\output\028258.obj +input build\output\02af78.obj +input build\output\02b2f0.obj +input build\output\02b464.obj +input build\output\02c884.obj +input build\output\02d06c.obj +input build\output\02d19c.obj +input build\output\02d968.obj +input build\output\02df3c.obj +input build\output\02e2dc.obj +input build\output\02e400.obj +input build\output\02e51c.obj +input build\output\02f0c8.obj +input build\output\02f320.obj +input build\output\0332a4_sectionC.obj +input build\output\03bd80_sectionD.obj +input build\output\0fcd20_sectionB.obj + +input build\output\scif.obj + +; USER LIBS +library @DC_SDK@\shinobi\lib\cri_adxs.lib +library @DC_SDK@\shinobi\lib\sg_mw.lib +library @DC_SDK@\shinobi\lib\sg_sd.lib + +; HLNK LIBS +library @DC_SDK@\shinobi\lib\shinobi.lib +library @DC_SDK@\shinobi\lib\ninja.lib +library @DC_SDK@\shc\lib\sh4nlfzn.lib + +print build\output\tbg.map +form a +entry SG_SEC +start IP(8C008000),DSGLH(8C010000) +exit diff --git a/shc.sub b/build/shc.sub similarity index 100% rename from shc.sub rename to build/shc.sub diff --git a/shc_testing.sub b/build/shc_testing.sub similarity index 100% rename from shc_testing.sub rename to build/shc_testing.sub diff --git a/diff_settings.py b/diff_settings.py deleted file mode 100644 index f39a7ec..0000000 --- a/diff_settings.py +++ /dev/null @@ -1,12 +0,0 @@ -def apply(config, args): - config["baseimg"] = "1ST_READ.BIN" - config["myimg"] = "build/tbg.bin" - # config["mapfile"] = "build.map" - # config["source_directories"] = ["."] - # config["show_line_numbers_default"] = True - config["arch"] = "sh4" - # config["map_format"] = "gnu" # gnu, mw, ms - # config["build_dir"] = "build/" # only needed for mw and ms map format - # config["expected_dir"] = "expected/" # needed for -o - # config["makeflags"] = [] - # config["objdump_executable"] = "" diff --git a/Dockerfile b/docker/Dockerfile similarity index 50% rename from Dockerfile rename to docker/Dockerfile index 29e7e24..325c3aa 100644 --- a/Dockerfile +++ b/docker/Dockerfile @@ -1,17 +1,21 @@ -# FROM bitnami/dotnet-sdk:3.1 as gdibuilder +FROM bitnami/dotnet-sdk:6 as gdibuilder -# RUN apt-get update && apt-get install -y \ -# clang \ -# && rm -rf /var/lib/apt/lists/* +COPY gdibuilder.patch /app/gdibuilder.patch -# RUN wget https://github.com/Sappharad/GDIbuilder/archive/refs/heads/master.tar.gz \ -# && tar -xzf master.tar.gz \ -# && cd GDIbuilder-master/buildgdi \ -# && dotnet publish -r linux-x64 --self-contained - # && ls -lah /app/GDIbuilder-master/buildgdi/bin \ - # && ls -lah /app/GDIbuilder-master/buildgdi/bin/Debug/netcoreapp3.1 +RUN apt-get update && apt-get install -y \ + clang \ + zlib1g-dev \ + libkrb5-dev \ + libtinfo5 \ + && rm -rf /var/lib/apt/lists/* + +RUN cd /app \ + && git clone https://github.com/Sappharad/GDIbuilder.git \ + && cd GDIbuilder \ + && git apply /app/gdibuilder.patch \ + && cd buildgdi \ + && dotnet publish --configuration Release -r linux-x64 --self-contained -# RUN apt-get update && apt-get install -y FROM php:8.3-cli @@ -33,4 +37,6 @@ RUN chmod uga+x /usr/local/bin/install-php-extensions && sync \ RUN addgroup --gid 1000 user \ && useradd --create-home --home-dir /home/user --shell /bin/bash --uid 1000 --gid user user -# COPY --from=gdibuilder /app/GDIbuilder-master/buildgdi/bin/Debug/netcoreapp3.1/buildgdi* /bin/ +COPY --from=gdibuilder /app/GDIbuilder/buildgdi/bin/Release/net6.0/linux-x64/publish /opt/buildgdi + +RUN ln -s /opt/buildgdi/buildgdi /usr/local/bin/buildgdi diff --git a/docker/gdibuilder.patch b/docker/gdibuilder.patch new file mode 100644 index 0000000..c2df6ef --- /dev/null +++ b/docker/gdibuilder.patch @@ -0,0 +1,33 @@ +diff --git a/GDIbuilder/GDIbuilder.csproj b/GDIbuilder/GDIbuilder.csproj +index 4d4a893..96ee974 100644 +--- a/GDIbuilder/GDIbuilder.csproj ++++ b/GDIbuilder/GDIbuilder.csproj +@@ -1,6 +1,6 @@ +  + +- netcoreapp3.1 ++ net6.0 + true + x86 + WinExe +diff --git a/buildgdi/buildgdi.csproj b/buildgdi/buildgdi.csproj +index ea78659..56b13b3 100644 +--- a/buildgdi/buildgdi.csproj ++++ b/buildgdi/buildgdi.csproj +@@ -1,6 +1,6 @@ +  + +- netcoreapp3.1 ++ net6.0 + x86 + Exe + false +@@ -19,7 +19,7 @@ + + + +- ++ + + + diff --git a/lnk_template.sub b/lnk_template.sub deleted file mode 100644 index c049159..0000000 --- a/lnk_template.sub +++ /dev/null @@ -1,120 +0,0 @@ -align_section -udfcheck -; debug -elf -output build\tbg.elf - -; STARTUPS -input @DC_SDK@\shinobi\lib\strt1.obj -input @DC_SDK@\shinobi\lib\strt2.obj - -; IP OBJS -input @DC_SDK@\shinobi\lib\systemid.obj -input @DC_SDK@\shinobi\lib\toc.obj -input @DC_SDK@\shinobi\lib\sg_sec.obj -input @DC_SDK@\shinobi\lib\sg_arejp.obj -input @DC_SDK@\shinobi\lib\sg_areus.obj -input @DC_SDK@\shinobi\lib\sg_areec.obj -input @DC_SDK@\shinobi\lib\sg_are00.obj -input @DC_SDK@\shinobi\lib\sg_are01.obj -input @DC_SDK@\shinobi\lib\sg_are02.obj -input @DC_SDK@\shinobi\lib\sg_are03.obj -input @DC_SDK@\shinobi\lib\sg_are04.obj -input @DC_SDK@\shinobi\lib\sg_ini.obj -input @DC_SDK@\shinobi\lib\aip.obj -input @DC_SDK@\shinobi\lib\zero.obj - -; USER OBJS -input build\010080_main.obj -input build\0100bc_sound.obj -input build\010e90.obj -input build\010fe8_unused.obj -input build\011120_asset_queues.obj -input build\012324.obj -input build\012504.obj -input build\0129cc.obj -input build\012f44.obj -input build\_012101_data.obj -input build\013ae8.obj -input build\014934.obj -input build\0149b0_sbinit.obj -input build\014a9c_tasks.obj -input build\014b8c_backup.obj -input build\014f54.obj -input build\015ab8_title.obj -input build\016108.obj -input build\01614c.obj -input build\016bf4.obj -input build\016c58.obj -input build\016d2c.obj -input build\018644.obj -input build\018784.obj -input build\0193c8.obj -input build\019e98.obj -input build\01a148.obj -input build\01b19c.obj -input build\01bb48.obj -input build\01c980.obj -input build\01d290.obj -input build\01d7fc.obj -input build\01e27c.obj -input build\01f3c0.obj -input build\01fa78.obj -input build\020214.obj -input build\020528.obj -input build\020594.obj -input build\0206f0.obj -input build\0207d4.obj -input build\02081c.obj -input build\020914.obj -input build\020b6c.obj -input build\02171c.obj -input build\021b9c.obj -input build\0222dc.obj -input build\022464.obj -input build\022bdc.obj -input build\023310.obj -input build\023938.obj -input build\02412c.obj -input build\024280.obj -input build\024b4c.obj -input build\025870.obj -input build\025b98.obj -input build\026710.obj -input build\02786c.obj -input build\027958.obj -input build\028258.obj -input build\02af78.obj -input build\02b2f0.obj -input build\02b464.obj -input build\02c884.obj -input build\02d06c.obj -input build\02d19c.obj -input build\02d968.obj -input build\02df3c.obj -input build\02e2dc.obj -input build\02e400.obj -input build\02e51c.obj -input build\02f0c8.obj -input build\02f320.obj -input build\0332a4_sectionC.obj -input build\03bd80_sectionD.obj -input build\0fcd20_sectionB.obj - -input build\scif.obj - -; USER LIBS -library @DC_SDK@\shinobi\lib\cri_adxs.lib -library @DC_SDK@\shinobi\lib\sg_mw.lib -library @DC_SDK@\shinobi\lib\sg_sd.lib - -; HLNK LIBS -library @DC_SDK@\shinobi\lib\shinobi.lib -library @DC_SDK@\shinobi\lib\ninja.lib -library @DC_SDK@\shc\lib\sh4nlfzn.lib - -print build\tbg.map -form a -entry SG_SEC -start IP(8C008000),DSGLH(8C010000) -exit diff --git a/run_tests.sh b/run_tests.sh deleted file mode 100755 index 3e5234c..0000000 --- a/run_tests.sh +++ /dev/null @@ -1,168 +0,0 @@ -set -e - -sh4objtest=sh4objtest - -ASMSH_FLAGS="-define=UNIT_TESTING=1 -debug=d -cpu=sh4 -endian=little -sjis" - -assemble() { - local src_file="$1" - local base_name=$(basename "$src_file" .src) - local obj_file="build\\${base_name}_src.obj" - - wine "$SHC_BIN/asmsh.exe" $(echo "$src_file"| tr / '\\') -object="$obj_file" $ASMSH_FLAGS -} - -compile() { - local src_file="$1" - local base_name=$(basename "$src_file" .c) - local obj_file="build\\${base_name}_c.obj" - local asm_file="build\\${base_name}_c.src" - - wine "$SHC_BIN/shc.exe" $(echo "$src_file" | tr / '\\') -object="$obj_file" -sub=shc_testing.sub - - # Generate ASM file, useful for debugging. - # wine "$SHC_BIN/shc.exe" $(echo "$src_file" | tr / '\\') -code=asm -object="$asm_file" -sub=shc_testing.sub -} - -rm -rf build -mkdir build - -# 015ab8_title -assemble src/asm/decompiled/015ab8_title.src -$sh4objtest "tests/015ab8_title.php" "build/015ab8_title_src.obj" -compile src/015ab8_title.c -$sh4objtest "tests/015ab8_title.php" "build/015ab8_title_c.obj" - -# 0207d4 -assemble src/asm/decompiled/0207d4.src -$sh4objtest "tests/0207d4.php" "build/0207d4_src.obj" -compile src/0207d4.c -$sh4objtest "tests/0207d4.php" "build/0207d4_c.obj" - -# 016c58 -assemble src/asm/decompiled/016c58.src -$sh4objtest "tests/016c58.php" "build/016c58_src.obj" -compile src/016c58.c -$sh4objtest "tests/016c58.php" "build/016c58_c.obj" - -# 012f44 -assemble src/asm/decompiled/012f44.src -$sh4objtest "tests/012f44.php" "build/012f44_src.obj" -compile src/012f44.c -$sh4objtest "tests/012f44.php" "build/012f44_c.obj" - -# 011120 -# TODO: Integrate -assemble src/asm/decompiled/011120_asset_queues.src -compile src/011120_asset_queues.c - -$sh4objtest "tests/011120/4338_initDatQueue_8c011124.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/4338_initDatQueue_8c011124.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/4384_nop_8c011120.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/4384_nop_8c011120.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/4458_resetDatQueue_8c01116a.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/4458_resetDatQueue_8c01116a.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/4532_task_loadQueuedDats_8c0111b4.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/4532_task_loadQueuedDats_8c0111b4.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/4880_sortAndLoadDatQueue_8c011310.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/4880_sortAndLoadDatQueue_8c011310.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/5324_task_loadQueuedNjs_8c0114cc.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/5324_task_loadQueuedNjs_8c0114cc.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/5814_sortAndLoadNjQueue_8c0116b6.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/5814_sortAndLoadNjQueue_8c0116b6.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/6052_freeNjQueue_8c0117a4.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/6052_freeNjQueue_8c0117a4.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/6072_initTexlistQueue_8c0117b8.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/6072_initTexlistQueue_8c0117b8.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/6142_resetTexlistQueue_8c0117fe.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/6142_resetTexlistQueue_8c0117fe.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/6172_requestTexlist_8c01181c.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/6172_requestTexlist_8c01181c.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/6206_task_loadQueuedTexlists_8c01183e.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/6206_task_loadQueuedTexlists_8c01183e.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/6648_loadTexlistQueue_8c0119f8.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/6648_loadTexlistQueue_8c0119f8.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/6722_texlistQueueIsIdle_8c011a42.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/6722_texlistQueueIsIdle_8c011a42.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/6728_freeTexlistQueue_8c011a48.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/6728_freeTexlistQueue_8c011a48.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/6748_initPvmQueue_8c011a5c.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/6748_initPvmQueue_8c011a5c.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/6848_requestPvm_8c011ac0.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/6848_requestPvm_8c011ac0.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/6912_task_loadQueuedPvms_8c011b00.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/6912_task_loadQueuedPvms_8c011b00.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/7460_sortAndLoadPvmQueue_8c011d24.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/7460_sortAndLoadPvmQueue_8c011d24.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/7714_pvmQueueIsIdle_8c011e22.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/7714_pvmQueueIsIdle_8c011e22.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/7720_freePvmQueue_8c011e28.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/7720_freePvmQueue_8c011e28.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/7740_releaseAndFreeTexlist_8c011e3c.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/7740_releaseAndFreeTexlist_8c011e3c.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/7776_freeTexlist_8c011e60.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/7776_freeTexlist_8c011e60.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/7808_task_processQueues_8c011e80.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/7808_task_processQueues_8c011e80.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/7990_initQueues_8c011f36.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/7990_initQueues_8c011f36.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/8044_resetQueues_8c011f6c.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/8044_resetQueues_8c011f6c.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/8062_freeQueues_8c011f7e.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/8062_freeQueues_8c011f7e.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/8160_processQueues_8c011fe0.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/8160_processQueues_8c011fe0.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/8240_requestNjPvmPairs_8c012030.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/8240_requestNjPvmPairs_8c012030.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/8446_freeNjPvmPairs_8c0120fe.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/8446_freeNjPvmPairs_8c0120fe.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/8544_FUN_8c012160.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/8544_FUN_8c012160.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/8550_FUN_8c012166.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/8550_FUN_8c012166.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/8568_FUN_8c012178.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/8568_FUN_8c012178.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/8610_FUN_8c0121a2.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/8610_FUN_8c0121a2.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/8616_FUN_8c0121a8.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/8616_FUN_8c0121a8.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/8638_FUN_8c0121be.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/8638_FUN_8c0121be.php" "build/011120_asset_queues_c.obj" - -$sh4objtest "tests/011120/8680_FUN_8c0121e8.php" "build/011120_asset_queues_src.obj" -$sh4objtest "tests/011120/8680_FUN_8c0121e8.php" "build/011120_asset_queues_c.obj" diff --git a/bnc.sh b/scripts/bnc.sh similarity index 100% rename from bnc.sh rename to scripts/bnc.sh diff --git a/build.sh b/scripts/build.sh similarity index 87% rename from build.sh rename to scripts/build.sh index 1d25ab4..95cd1c1 100755 --- a/build.sh +++ b/scripts/build.sh @@ -5,7 +5,7 @@ ASMSH_FLAGS="-debug=d -cpu=sh4 -endian=little -sjis" assemble() { local src_file="$1" local base_name=$(basename "$src_file" .src) - local obj_file="build\\$base_name.obj" + local obj_file="build\\output\\$base_name.obj" wine "$SHC_BIN/asmsh.exe" $(echo "$src_file"| tr / '\\') -object="$obj_file" $ASMSH_FLAGS } @@ -13,15 +13,15 @@ assemble() { compile() { local src_file="$1" local base_name=$(basename "$src_file" .c) - local obj_file="build\\$base_name.obj" + local obj_file="build\\output\\$base_name.obj" - wine "$SHC_BIN/shc.exe" $(echo "$src_file" | tr / '\\') -object="$obj_file" -sub=shc.sub + wine "$SHC_BIN/shc.exe" $(echo "$src_file" | tr / '\\') -object="$obj_file" -sub=build/shc.sub } -sed "s/@DC_SDK@/$(printf %q "$KATANA_SDK_DIR")/g" lnk_template.sub > lnk.sub +sed "s/@DC_SDK@/$(printf %q "$KATANA_SDK_DIR")/g" build/lnk_template.sub > build/lnk.sub -rm -rf build -mkdir build +rm -rf build/output +mkdir build/output compile src/010080_main.c assemble src/asm/0100bc_sound.src @@ -101,14 +101,14 @@ assemble src/asm/0fcd20_sectionB.src compile src/scif.c -wine $SHC_BIN/lnk.exe -sub=lnk.sub +wine $SHC_BIN/lnk.exe -sub=build\\lnk.sub rm -f build/tbg.bin -wine $KATANA_SDK_DIR/bin/elf2bin.exe -s 8c010000 build/tbg.elf +wine $KATANA_SDK_DIR/bin/elf2bin.exe -s 8c010000 build/output/tbg.elf echo -if ! sha1sum --status -c <<<"a6df9e0de39b2d11e9339aef915d20e35763ec81 *build/tbg.bin"; then +if ! sha1sum --status -c <<<"a6df9e0de39b2d11e9339aef915d20e35763ec81 *build/output/tbg.bin"; then echo "================" echo "Project built :)" echo "================" diff --git a/scripts/build_gdi.sh b/scripts/build_gdi.sh new file mode 100644 index 0000000..a6a6e91 --- /dev/null +++ b/scripts/build_gdi.sh @@ -0,0 +1,12 @@ +set -e + +# ./build.sh + +# cp build/tbg.bin ../tbg_root/data/1ST_READ.BIN + +# ../GDIbuilder/repo/buildgdi/bin/Release/net6.0/linux-x64/buildgdi -raw -data ../tbg_root/data/ -ip ../tbg_root/IP.BIN -output ../tbg_root/ + +# mv ../tbg_root/track03.bin ~/Downloads/Roms/DC/Tokyo\ Bus\ Guide\ \(Japan\)/tbg_t3.bin + +~/Downloads/flycast-x86_64.AppImage ~/Downloads/Roms/DC/Tokyo\ Bus\ Guide\ \(Japan\)/tbg.gdi + diff --git a/build_matching.sh b/scripts/build_matching.sh similarity index 90% rename from build_matching.sh rename to scripts/build_matching.sh index 9b293d3..e0d0e56 100755 --- a/build_matching.sh +++ b/scripts/build_matching.sh @@ -5,7 +5,7 @@ ASMSH_FLAGS="-debug=d -cpu=sh4 -endian=little -sjis" assemble() { local src_file="$1" local base_name=$(basename "$src_file" .src) - local obj_file="build\\$base_name.obj" + local obj_file="build\\output\\$base_name.obj" wine "$SHC_BIN/asmsh.exe" $(echo "$src_file"| tr / '\\') -object="$obj_file" $ASMSH_FLAGS } @@ -13,13 +13,13 @@ assemble() { compile() { local src_file="$1" local base_name=$(basename "$src_file" .c) - local obj_file="build\\$base_name.obj" + local obj_file="build\\output\\$base_name.obj" - wine "$SHC_BIN/shc.exe" $(echo "$src_file" | tr / '\\') -object="$obj_file" -sub=shc.sub + wine "$SHC_BIN/shc.exe" $(echo "$src_file" | tr / '\\') -object="$obj_file" -sub=build/shc.sub } -rm -rf build -mkdir build +rm -rf build/output +mkdir build/output assemble src/asm/010000.src compile src/010080_main.c @@ -101,14 +101,14 @@ assemble src/asm/03bd80_sectionD.src assemble src/asm/04f6c0_SDK.src assemble src/asm/0fcd20_sectionB.src -wine $SHC_BIN/lnk.exe -sub=lnk_matching.sub +wine $SHC_BIN/lnk.exe -sub=build\\lnk_matching.sub rm -f build/tbg.bin -wine $KATANA_SDK_DIR/bin/elf2bin.exe -s 8c010000 build/tbg.elf +wine $KATANA_SDK_DIR/bin/elf2bin.exe -s 8c010000 build/output/tbg.elf echo -if ! sha1sum --status -c <<<"a6df9e0de39b2d11e9339aef915d20e35763ec81 *build/tbg.bin"; then +if ! sha1sum --status -c <<<"a6df9e0de39b2d11e9339aef915d20e35763ec81 *build/output/tbg.bin"; then echo "======================" echo "Oops, build differs :/" echo "======================" diff --git a/scripts/run_tests.sh b/scripts/run_tests.sh new file mode 100755 index 0000000..f8517c2 --- /dev/null +++ b/scripts/run_tests.sh @@ -0,0 +1,168 @@ +set -e + +sh4objtest=~/.config/composer/vendor/bin/sh4objtest + +ASMSH_FLAGS="-define=UNIT_TESTING=1 -debug=d -cpu=sh4 -endian=little -sjis" + +assemble() { + local src_file="$1" + local base_name=$(basename "$src_file" .src) + local obj_file="build\\output\\${base_name}_src.obj" + + wine "$SHC_BIN/asmsh.exe" $(echo "$src_file"| tr / '\\') -object="$obj_file" $ASMSH_FLAGS +} + +compile() { + local src_file="$1" + local base_name=$(basename "$src_file" .c) + local obj_file="build\\output\\${base_name}_c.obj" + local asm_file="build\\output\\${base_name}_c.src" + + wine "$SHC_BIN/shc.exe" $(echo "$src_file" | tr / '\\') -object="$obj_file" -sub=build/shc_testing.sub + + # Generate ASM file, useful for debugging. + # wine "$SHC_BIN/shc.exe" $(echo "$src_file" | tr / '\\') -code=asm -object="$asm_file" -sub=build/shc_testing.sub +} + +rm -rf build/output +mkdir build/output + +# 015ab8_title +assemble src/asm/decompiled/015ab8_title.src +$sh4objtest "tests/015ab8_title.php" "build/output/015ab8_title_src.obj" +compile src/015ab8_title.c +$sh4objtest "tests/015ab8_title.php" "build/output/015ab8_title_c.obj" + +# 0207d4 +assemble src/asm/decompiled/0207d4.src +$sh4objtest "tests/0207d4.php" "build/output/0207d4_src.obj" +compile src/0207d4.c +$sh4objtest "tests/0207d4.php" "build/output/0207d4_c.obj" + +# 016c58 +assemble src/asm/decompiled/016c58.src +$sh4objtest "tests/016c58.php" "build/output/016c58_src.obj" +compile src/016c58.c +$sh4objtest "tests/016c58.php" "build/output/016c58_c.obj" + +# 012f44 +assemble src/asm/decompiled/012f44.src +$sh4objtest "tests/012f44.php" "build/output/012f44_src.obj" +compile src/012f44.c +$sh4objtest "tests/012f44.php" "build/output/012f44_c.obj" + +# 011120 +# TODO: Integrate +assemble src/asm/decompiled/011120_asset_queues.src +compile src/011120_asset_queues.c + +$sh4objtest "tests/011120/4338_initDatQueue_8c011124.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/4338_initDatQueue_8c011124.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/4384_nop_8c011120.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/4384_nop_8c011120.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/4458_resetDatQueue_8c01116a.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/4458_resetDatQueue_8c01116a.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/4532_task_loadQueuedDats_8c0111b4.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/4532_task_loadQueuedDats_8c0111b4.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/4880_sortAndLoadDatQueue_8c011310.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/4880_sortAndLoadDatQueue_8c011310.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/5324_task_loadQueuedNjs_8c0114cc.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/5324_task_loadQueuedNjs_8c0114cc.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/5814_sortAndLoadNjQueue_8c0116b6.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/5814_sortAndLoadNjQueue_8c0116b6.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/6052_freeNjQueue_8c0117a4.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/6052_freeNjQueue_8c0117a4.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/6072_initTexlistQueue_8c0117b8.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/6072_initTexlistQueue_8c0117b8.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/6142_resetTexlistQueue_8c0117fe.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/6142_resetTexlistQueue_8c0117fe.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/6172_requestTexlist_8c01181c.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/6172_requestTexlist_8c01181c.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/6206_task_loadQueuedTexlists_8c01183e.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/6206_task_loadQueuedTexlists_8c01183e.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/6648_loadTexlistQueue_8c0119f8.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/6648_loadTexlistQueue_8c0119f8.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/6722_texlistQueueIsIdle_8c011a42.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/6722_texlistQueueIsIdle_8c011a42.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/6728_freeTexlistQueue_8c011a48.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/6728_freeTexlistQueue_8c011a48.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/6748_initPvmQueue_8c011a5c.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/6748_initPvmQueue_8c011a5c.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/6848_requestPvm_8c011ac0.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/6848_requestPvm_8c011ac0.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/6912_task_loadQueuedPvms_8c011b00.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/6912_task_loadQueuedPvms_8c011b00.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/7460_sortAndLoadPvmQueue_8c011d24.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/7460_sortAndLoadPvmQueue_8c011d24.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/7714_pvmQueueIsIdle_8c011e22.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/7714_pvmQueueIsIdle_8c011e22.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/7720_freePvmQueue_8c011e28.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/7720_freePvmQueue_8c011e28.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/7740_releaseAndFreeTexlist_8c011e3c.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/7740_releaseAndFreeTexlist_8c011e3c.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/7776_freeTexlist_8c011e60.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/7776_freeTexlist_8c011e60.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/7808_task_processQueues_8c011e80.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/7808_task_processQueues_8c011e80.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/7990_initQueues_8c011f36.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/7990_initQueues_8c011f36.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/8044_resetQueues_8c011f6c.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/8044_resetQueues_8c011f6c.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/8062_freeQueues_8c011f7e.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/8062_freeQueues_8c011f7e.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/8160_processQueues_8c011fe0.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/8160_processQueues_8c011fe0.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/8240_requestNjPvmPairs_8c012030.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/8240_requestNjPvmPairs_8c012030.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/8446_freeNjPvmPairs_8c0120fe.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/8446_freeNjPvmPairs_8c0120fe.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/8544_FUN_8c012160.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/8544_FUN_8c012160.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/8550_FUN_8c012166.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/8550_FUN_8c012166.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/8568_FUN_8c012178.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/8568_FUN_8c012178.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/8610_FUN_8c0121a2.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/8610_FUN_8c0121a2.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/8616_FUN_8c0121a8.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/8616_FUN_8c0121a8.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/8638_FUN_8c0121be.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/8638_FUN_8c0121be.php" "build/output/011120_asset_queues_c.obj" + +$sh4objtest "tests/011120/8680_FUN_8c0121e8.php" "build/output/011120_asset_queues_src.obj" +$sh4objtest "tests/011120/8680_FUN_8c0121e8.php" "build/output/011120_asset_queues_c.obj" diff --git a/set_kt.example.sh b/scripts/set_kt.example.sh similarity index 100% rename from set_kt.example.sh rename to scripts/set_kt.example.sh