Initial Commit

This commit is contained in:
dazedanon 2025-06-06 10:42:34 -05:00
commit 2386eb5bc1
381 changed files with 4625387 additions and 0 deletions

44
.gitignore vendored Normal file
View file

@ -0,0 +1,44 @@
# Ignore all files
*.*
# File Types
!*.mps
!*.dat
!*.json
!*.txt
!*.project
!*.js
!*.zip
!*.7z
!*.csv
!*.ain
!*.fnl
!*.ks
!*.tjs
!*.yaml
!*.rb
!*.rvdata2
# Other Needed Files
!.gitignore
!README.md
!patch-config.txt
!GameUpdate*
!patch*
!Game.dat
# Ignore
previous_patch_sha.txt
kabe3_save.dat
kabe3_system.dat
psbpack.dat
Save*
# Images
!kuppuku.png_
!kurenwaku.png_
!manzokudo.png_
!manzokudo2.png_
!manzokudo3.png_
!manzokudo4.png_
!titunai_migi1.png_

14
GameUpdate.bat Normal file
View file

@ -0,0 +1,14 @@
@echo off
setlocal
REM Copy GAMEUPDATE.bat to a new file
copy patch.bat patch2.bat
REM Run the new file
call patch2.bat
REM Delete the new file
del patch2.bat
endlocal
@echo on

13
GameUpdate_linux.sh Normal file
View file

@ -0,0 +1,13 @@
#!/bin/bash
# Enable error handling
set -e
# Copy patch.bat to a new file
cp patch.sh patch2.sh
# Run the new file
bash patch2.sh
# Delete the new file
rm patch2.sh

102
README.md Normal file
View file

@ -0,0 +1,102 @@
# Apply Patch
1. Click Code
2. Click Download ZIP
3. Extract to game folder and Replace All.
## Future Patching
1. Run GAMEUPDATE.bat to auto patch.
# Troubleshooting
**GAMEUPDATE.bat doesn't update and closes immediately**
1. Make sure your path doesn't contain any Japanese characters or lots of whitespace.
2. Make sure you actually have permissions in the folder
For WOLF RPG games, if you downloaded the game off of DLSite, you will need to do some extra steps to patch it. This is because there is a "master" file called Data.wolf that will take priority over the english patch files. You will need this file to be a folder before patching will work.
# Wolf Games
1) Download the latest UberWolf.exe release from the following link:
https://github.com/Sinflower/UberWolf/releases
2) Drag Data.wolf onto UberWolf.exe. This will create a new folder called data.wolf~
3) Rename the new data.wolf~ folder to Data
4) Delete the Data.wolf file
5) Delete previous_patch_sha.txt (this will exist if you ran GameUpdate.bat previously)
6) Run GameUpdate.bat
# Edit/Contribute
TLDR 3 steps.
Fork the repository.
Make the changes.
Submit a merge request.
If everything looks good and doesn't break things I'll merge it in.
Longer Version:
# Required Software:
* [VSCode](https://code.visualstudio.com/) Make sure you check all the boxes for context menus.
* [Git](https://git-scm.com/downloads) (Use the default for everything. Just keep clicking Next)
# Guide to contributing
### 1. Fork the Repository
- Go to the repository you want to fork.
- Click the "Fork" button.
### 2. Clone Your Fork
- Clone your forked repository to your local machine.
```sh
git clone https://gitgud.io/YOUR_USERNAME/REPO_NAME.git
```
### 3. Make Your Changes (In VSCode)
- Edit the files locally on your new branch using VSCode.
- Add and commit your changes.
```sh
git add .
git commit -m "Description of your changes"
```
### 4. Push Your Changes
- Push your changes to your fork on GitGud.io.
```sh
git push origin your-feature-branch
```
### 5. Create a Merge Request
- Go to your fork on GitGud.io.
- Click on "Merge Requests" in the sidebar.
- Click the "New merge request" button.
- Select the branch you made changes to and the target project (the original repo).
- Provide a title and description for your merge request and submit it.
---
## Example
Assuming you want to fork a repository named `example-project`:
### 1. Fork the Repo
- Navigate to `https://gitgud.io/original_user/example-project` and click "Fork".
### 2. Clone Your Fork
```sh
git clone https://gitgud.io/YOUR_USERNAME/example-project.git
```
### 3. Make Changes and Commit
```sh
# Make changes to the files
git add .
git commit -m "Add new feature to example project"
```
### 4. Push Changes
```sh
git push origin add-new-feature
```
### 5. Create a Merge Request
- Go to `https://gitgud.io/YOUR_USERNAME/example-project/merge_requests` and click on "New merge request".
- Choose the source branch `add-new-feature` and target branch (default: `main` or `master`).
- Fill in the details and submit the merge request.

BIN
icudtl.dat Normal file

Binary file not shown.

12
package.json Normal file
View file

@ -0,0 +1,12 @@
{
"name": "",
"main": "www/index.html",
"js-flags": "--expose-gc",
"window": {
"title": "",
"toolbar": false,
"width": 816,
"height": 624,
"icon": "www/icon/icon.png"
}
}

3
patch-config.txt Normal file
View file

@ -0,0 +1,3 @@
username=dazed-translations
repo=sister-sophie-and-the-witchs-curse
branch=main

109
patch.bat Normal file
View file

@ -0,0 +1,109 @@
@echo off
setlocal EnableExtensions EnableDelayedExpansion
echo Checking for pwsh...
set _my_shell=pwsh
REM Check if pwsh.exe exists
where /q !_my_shell!
if !errorlevel! neq 0 (
echo pwsh not found. Falling back to powershell...
REM If pwsh is not found, set to powershell
set _my_shell=powershell
REM Check if powershell.exe exists
echo Checking for powershell...
where /q !_my_shell!
if !errorlevel! neq 0 (
echo.Error: Powershell not found!
pause
exit /B 1
) else (
echo powershell found.
)
) else (
echo pwsh found.
)
echo Using !_my_shell! for script execution.
REM Check if patch-config.txt exists
if not exist patch-config.txt (
echo "Config file (patch-config.txt) not found! Assuming no patching needed."
pause
exit /b
)
REM Read configuration from file
for /f "tokens=1,2 delims==" %%a in (patch-config.txt) do (
if "%%a"=="username" set "username=%%b"
if "%%a"=="repo" set "repo=%%b"
if "%%a"=="branch" set "branch=%%b"
)
REM Get the latest hash
echo "Getting latest commit SHA hash"
!_my_shell! -Command "(Invoke-RestMethod -Uri 'https://gitgud.io/api/v4/projects/%username%%%2F%repo%/repository/branches/%branch%').commit.id" > latest_patch_sha.txt
REM Read the latest SHA from the file
set /p latest_patch_sha=<latest_patch_sha.txt
REM Check if previous_patch_sha.txt exists
if not exist previous_patch_sha.txt (
echo "Previous SHA hash not found!"
echo "Assuming first time patching..."
goto download_extract
)
REM Read the stored SHA from previous check
set /p previous_patch_sha=<previous_patch_sha.txt
REM Trim whitespace from SHA strings
set "previous_patch_sha=%previous_patch_sha: =%"
set "latest_patch_sha=%latest_patch_sha: =%"
REM Compare trimmed SHAs
if "%latest_patch_sha%" neq "%previous_patch_sha%" (
echo "Update found! Patching..."
goto download_extract
) else (
echo "Patch is up to date."
)
REM Delete latest_patch_sha.txt
del latest_patch_sha.txt
endlocal
pause
exit /b
:download_extract
REM Escape single quotes in paths
set "escaped_cd=%CD:'=''%"
REM Download zip file
echo "Downloading latest patch..."
!_my_shell! -Command "Set-Location -LiteralPath '%escaped_cd%'; Invoke-WebRequest -Uri 'https://gitgud.io/%username%/%repo%/-/archive/%branch%/%repo%-%branch%.zip' -OutFile 'repo.zip'"
if !errorlevel! neq 0 (
pause
exit /b
)
REM Extract contents, overwriting conflicts
echo "Extracting..."
!_my_shell! -Command "Set-Location -LiteralPath '%escaped_cd%'; Expand-Archive -Path '.\repo.zip' -DestinationPath '.' -Force"
echo "Applying patch..."
xcopy /s /e /y "%repo%-%branch%\*" "."
REM Clean up
echo "Cleaning up..."
del repo.zip
rmdir /s /q "%repo%-%branch%"
del latest_patch_sha.txt
REM Store latest SHA for next check
echo %latest_patch_sha% > previous_patch_sha.txt
endlocal
pause
exit /b

74
patch.sh Normal file
View file

@ -0,0 +1,74 @@
#!/bin/bash
check_dependency() {
if ! command -v "$1" > /dev/null 2>&1; then
echo "Error: '$1' is not installed. Please install it using 'pkg install $1'."
exit 1
fi
}
# Check for jq, unzip, and curl
check_dependency jq
check_dependency unzip
check_dependency curl
CONFIG_FILE="patch-config.txt"
# Check if CONFIG_FILE exists
if [ ! -f "$CONFIG_FILE" ]; then
echo "Config file '$CONFIG_FILE' not found! Assuming no patching needed."
exit 0
fi
# Convert line endings to Unix format
sed -i 's/\r$//' "$CONFIG_FILE"
# Debug information
echo "Current directory: $(pwd)"
echo "Config file path: $(pwd)/$CONFIG_FILE"
# Read configuration from file
. "$(pwd)/$CONFIG_FILE"
# Get the latest hash
echo "Getting latest commit SHA hash"
latest_patch_sha=$(curl -s "https://gitgud.io/api/v4/projects/$username%2F$repo/repository/branches/$branch" | jq -r '.commit.id')
download_extract() {
# Download zip file
echo "Downloading latest patch..."
curl -sL "https://gitgud.io/$username/$repo/-/archive/$branch/$repo-$branch.zip" -o repo.zip
# Extract contents, overwriting conflicts
echo "Extracting..."
unzip -qo repo.zip
echo "Applying patch..."
cp -r "$repo-$branch/"* .
echo "Cleaning up..."
rm repo.zip
rm -rf "$repo-$branch"
rm -f latest_patch_sha.txt
# Store latest SHA for next check
echo "$latest_patch_sha" > previous_patch_sha.txt
}
# Check if previous_patch_sha.txt exists
if [ ! -f previous_patch_sha.txt ]; then
echo "Previous SHA hash not found!"
echo "Assuming first time patching..."
download_extract
else
# Read the stored SHA from previous check
previous_patch_sha=$(cat previous_patch_sha.txt)
# Compare trimmed SHAs
if [ "$latest_patch_sha" != "$previous_patch_sha" ]; then
echo "Update found! Patching..."
download_extract
else
echo "Patch is up to date."
fi
fi

1064
www/data/Actors.json Normal file

File diff suppressed because it is too large Load diff

467980
www/data/Animations.json Normal file

File diff suppressed because it is too large Load diff

8166
www/data/Armors.json Normal file

File diff suppressed because it is too large Load diff

43409
www/data/Classes.json Normal file

File diff suppressed because it is too large Load diff

1064187
www/data/CommonEvents.json Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,150 @@
{
"Scene_Menu": {
"WindowLayer": {
"0,Window_SoloStatus": {
"x": 280,
"y": 0,
"width": 600,
"height": 800,
"opacity": 255,
"hidden": false,
"_customFontSize": 28,
"_customPadding": 18,
"_customLineHeight": 36,
"_customBackOpacity": 192,
"_customBackFileName": "",
"_customFontFace": ""
},
"1,Window_SoloStatus": {
"x": 240,
"y": 0,
"width": 680,
"height": 800,
"opacity": 255,
"hidden": false,
"_customFontSize": 18,
"_customPadding": 18,
"_customLineHeight": 36,
"_customBackOpacity": 192,
"_customBackFileName": "",
"_customFontFace": ""
},
"0,Window_MenuCommand": {
"x": 0,
"y": 0,
"width": 240,
"height": 288,
"opacity": 255,
"hidden": false,
"_customFontSize": 18,
"_customPadding": 18,
"_customLineHeight": 36,
"_customBackOpacity": 192,
"_customBackFileName": "",
"_customFontFace": ""
}
},
"Scene_Menu": {
"4,Window_Gold": {
"x": 0,
"y": 360,
"width": 240,
"height": 72,
"opacity": 255,
"hidden": false,
"_customFontSize": 28,
"_customPadding": 18,
"_customLineHeight": 36,
"_customBackOpacity": 192,
"_customBackFileName": "",
"_customFontFace": ""
},
"3,Window_Gold": {
"x": 0,
"y": 828,
"width": 240,
"height": 72,
"opacity": 255,
"hidden": false,
"_customFontSize": 18,
"_customPadding": 18,
"_customLineHeight": 36,
"_customBackOpacity": 192,
"_customBackFileName": "",
"_customFontFace": ""
},
"0,Sprite": {
"x": 0,
"y": 0
}
}
},
"Scene_Title": {
"WindowLayer": {
"0,Window_TitleCommand": {
"x": 105,
"y": 632,
"width": 240,
"height": 144,
"opacity": 255,
"hidden": false,
"_customFontSize": 20,
"_customPadding": 18,
"_customLineHeight": 36,
"_customBackOpacity": 192,
"_customBackFileName": "",
"_customFontFace": ""
}
}
},
"Scene_Map": {
"Scene_Map": {
"5,Window_MapHpGauge": {
"x": 901,
"y": 0,
"width": 200,
"height": 72,
"opacity": 255,
"hidden": false,
"_customFontSize": 18,
"_customPadding": 0,
"_customLineHeight": 36,
"_customBackOpacity": 192,
"_customBackFileName": "",
"_customFontFace": ""
}
}
},
"Scene_Battle": {
"WindowLayer": {
"1,Window_BattleStatus": {
"x": 192,
"y": 831,
"width": 1088,
"height": 180,
"opacity": 255,
"hidden": false,
"_customFontSize": 18,
"_customPadding": 18,
"_customLineHeight": 36,
"_customBackOpacity": 192,
"_customBackFileName": "",
"_customFontFace": ""
},
"3,Window_ActorCommand": {
"x": 0,
"y": 720,
"width": 192,
"height": 180,
"opacity": 255,
"hidden": false,
"_customFontSize": 18,
"_customPadding": 18,
"_customLineHeight": 36,
"_customBackOpacity": 192,
"_customBackFileName": "",
"_customFontFace": ""
}
}
}
}

17056
www/data/Enemies.json Normal file

File diff suppressed because it is too large Load diff

6395
www/data/Items.json Normal file

File diff suppressed because it is too large Load diff

15922
www/data/Map001.json Normal file

File diff suppressed because it is too large Load diff

16147
www/data/Map002.json Normal file

File diff suppressed because it is too large Load diff

56035
www/data/Map003.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map004.json Normal file

File diff suppressed because it is too large Load diff

24614
www/data/Map005.json Normal file

File diff suppressed because it is too large Load diff

16704
www/data/Map006.json Normal file

File diff suppressed because it is too large Load diff

12479
www/data/Map007.json Normal file

File diff suppressed because it is too large Load diff

5280
www/data/Map008.json Normal file

File diff suppressed because it is too large Load diff

8804
www/data/Map009.json Normal file

File diff suppressed because it is too large Load diff

29524
www/data/Map010.json Normal file

File diff suppressed because it is too large Load diff

23095
www/data/Map011.json Normal file

File diff suppressed because it is too large Load diff

2336
www/data/Map012.json Normal file

File diff suppressed because it is too large Load diff

2336
www/data/Map013.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map014.json Normal file

File diff suppressed because it is too large Load diff

2336
www/data/Map015.json Normal file

File diff suppressed because it is too large Load diff

14355
www/data/Map016.json Normal file

File diff suppressed because it is too large Load diff

22518
www/data/Map017.json Normal file

File diff suppressed because it is too large Load diff

4689
www/data/Map018.json Normal file

File diff suppressed because it is too large Load diff

4778
www/data/Map019.json Normal file

File diff suppressed because it is too large Load diff

6259
www/data/Map020.json Normal file

File diff suppressed because it is too large Load diff

7629
www/data/Map021.json Normal file

File diff suppressed because it is too large Load diff

3773
www/data/Map022.json Normal file

File diff suppressed because it is too large Load diff

20247
www/data/Map023.json Normal file

File diff suppressed because it is too large Load diff

3388
www/data/Map024.json Normal file

File diff suppressed because it is too large Load diff

6094
www/data/Map025.json Normal file

File diff suppressed because it is too large Load diff

3716
www/data/Map026.json Normal file

File diff suppressed because it is too large Load diff

8227
www/data/Map027.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map028.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map029.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map030.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map031.json Normal file

File diff suppressed because it is too large Load diff

6030
www/data/Map032.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map033.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map034.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map035.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map036.json Normal file

File diff suppressed because it is too large Load diff

1363
www/data/Map037.json Normal file

File diff suppressed because it is too large Load diff

9791
www/data/Map038.json Normal file

File diff suppressed because it is too large Load diff

45146
www/data/Map039.json Normal file

File diff suppressed because it is too large Load diff

11911
www/data/Map040.json Normal file

File diff suppressed because it is too large Load diff

435566
www/data/Map041.json Normal file

File diff suppressed because it is too large Load diff

39876
www/data/Map042.json Normal file

File diff suppressed because it is too large Load diff

8894
www/data/Map043.json Normal file

File diff suppressed because it is too large Load diff

10062
www/data/Map044.json Normal file

File diff suppressed because it is too large Load diff

81699
www/data/Map045.json Normal file

File diff suppressed because it is too large Load diff

34068
www/data/Map046.json Normal file

File diff suppressed because it is too large Load diff

61308
www/data/Map047.json Normal file

File diff suppressed because it is too large Load diff

17271
www/data/Map048.json Normal file

File diff suppressed because it is too large Load diff

9122
www/data/Map049.json Normal file

File diff suppressed because it is too large Load diff

40208
www/data/Map050.json Normal file

File diff suppressed because it is too large Load diff

8894
www/data/Map051.json Normal file

File diff suppressed because it is too large Load diff

13974
www/data/Map052.json Normal file

File diff suppressed because it is too large Load diff

10667
www/data/Map053.json Normal file

File diff suppressed because it is too large Load diff

7155
www/data/Map054.json Normal file

File diff suppressed because it is too large Load diff

9115
www/data/Map055.json Normal file

File diff suppressed because it is too large Load diff

4743
www/data/Map056.json Normal file

File diff suppressed because it is too large Load diff

101566
www/data/Map057.json Normal file

File diff suppressed because it is too large Load diff

4457
www/data/Map058.json Normal file

File diff suppressed because it is too large Load diff

40541
www/data/Map059.json Normal file

File diff suppressed because it is too large Load diff

9198
www/data/Map060.json Normal file

File diff suppressed because it is too large Load diff

8894
www/data/Map061.json Normal file

File diff suppressed because it is too large Load diff

8584
www/data/Map062.json Normal file

File diff suppressed because it is too large Load diff

9115
www/data/Map063.json Normal file

File diff suppressed because it is too large Load diff

40491
www/data/Map064.json Normal file

File diff suppressed because it is too large Load diff

8894
www/data/Map065.json Normal file

File diff suppressed because it is too large Load diff

92278
www/data/Map066.json Normal file

File diff suppressed because it is too large Load diff

2454
www/data/Map067.json Normal file

File diff suppressed because it is too large Load diff

63135
www/data/Map068.json Normal file

File diff suppressed because it is too large Load diff

13782
www/data/Map069.json Normal file

File diff suppressed because it is too large Load diff

29585
www/data/Map070.json Normal file

File diff suppressed because it is too large Load diff

15880
www/data/Map071.json Normal file

File diff suppressed because it is too large Load diff

48970
www/data/Map072.json Normal file

File diff suppressed because it is too large Load diff

104155
www/data/Map073.json Normal file

File diff suppressed because it is too large Load diff

27011
www/data/Map074.json Normal file

File diff suppressed because it is too large Load diff

3248
www/data/Map075.json Normal file

File diff suppressed because it is too large Load diff

2395
www/data/Map076.json Normal file

File diff suppressed because it is too large Load diff

2454
www/data/Map077.json Normal file

File diff suppressed because it is too large Load diff

2929
www/data/Map078.json Normal file

File diff suppressed because it is too large Load diff

8431
www/data/Map079.json Normal file

File diff suppressed because it is too large Load diff

9132
www/data/Map084.json Normal file

File diff suppressed because it is too large Load diff

40419
www/data/Map085.json Normal file

File diff suppressed because it is too large Load diff

8894
www/data/Map086.json Normal file

File diff suppressed because it is too large Load diff

9122
www/data/Map087.json Normal file

File diff suppressed because it is too large Load diff

Some files were not shown because too many files have changed in this diff Show more