mirror of
https://github.com/cave-story-randomizer/cave-story-randomizer
synced 2025-12-07 13:01:48 +00:00
Compare commits
466 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
03be08f0a2 | ||
|
|
1c35a17717 | ||
|
|
5e6321dd55 | ||
|
|
1a632137db | ||
|
|
08f0c555f5 | ||
|
|
fad711364b | ||
|
|
902dcd71d9 | ||
|
|
140f892222 | ||
|
|
b919a44e14 | ||
|
|
ab1db92c40 | ||
|
|
6e27d66b06 | ||
|
|
6e9edf4290 | ||
|
|
45586f9a95 | ||
|
|
0a93bf3867 | ||
|
|
268209bff0 | ||
|
|
dab4ba4baa | ||
|
|
43cb531c41 | ||
|
|
a95c51c9c3 | ||
|
|
5bc2db4b58 | ||
|
|
6bf382b6b0 | ||
|
|
18a0eb77e4 | ||
|
|
ebf96d7d2f | ||
|
|
483585cd21 | ||
|
|
2ac159cd9c | ||
|
|
1bade28b09 | ||
|
|
8617fc3a0c | ||
|
|
75317390eb | ||
|
|
e7eaf7f2ee | ||
|
|
e0058a66ca | ||
|
|
106e520a32 | ||
|
|
dab682c263 | ||
|
|
91043f453b | ||
|
|
396c461738 | ||
|
|
8d129d39c4 | ||
|
|
33f12180ae | ||
|
|
83a7b13674 | ||
|
|
d6ca45ba01 | ||
|
|
d70e9214dd | ||
|
|
925b8563bf | ||
|
|
e3b44f719a | ||
|
|
7371f18cdd | ||
|
|
409aa7fed9 | ||
|
|
0e44bbcb74 | ||
|
|
6d6426ff05 | ||
|
|
5358ef9fc6 | ||
|
|
20dd317a09 | ||
|
|
81202a77eb | ||
|
|
bfc491b977 | ||
|
|
6e0dfdac37 | ||
|
|
ad4c5bbee6 | ||
|
|
3ada39e69a | ||
|
|
69df56ec09 | ||
|
|
0ee86f3df0 | ||
|
|
6f99626e4d | ||
|
|
c671f1b1dc | ||
|
|
01082581a8 | ||
|
|
db760f1710 | ||
|
|
ab605182cf | ||
|
|
d27ae7d457 | ||
|
|
753e67faa0 | ||
|
|
c9c4bf1e10 | ||
|
|
4d06730cf9 | ||
|
|
24bb760bc0 | ||
|
|
d291c3bd1d | ||
|
|
4315246bc1 | ||
|
|
e3217bbb32 | ||
|
|
75161d4491 | ||
|
|
aa32fa15d9 | ||
|
|
4c2eedb155 | ||
|
|
56d4554789 | ||
|
|
c25e8d4c27 | ||
|
|
04a51779f4 | ||
|
|
65472dfd78 | ||
|
|
02f5f3ea5e | ||
|
|
b8ac34d683 | ||
|
|
c4efb015eb | ||
|
|
1daae46f65 | ||
|
|
d1221df9fb | ||
|
|
ad204a3bc7 | ||
|
|
c1d39f7296 | ||
|
|
f7190478cd | ||
|
|
f7ff04ac79 | ||
|
|
c5bfc84257 | ||
|
|
9af7ea8336 | ||
|
|
03e3d66add | ||
|
|
36ef32dc61 | ||
|
|
eb4cf55627 | ||
|
|
3a04c8e228 | ||
|
|
1513d3f068 | ||
|
|
82cfca5f8d | ||
|
|
a02de3c01a | ||
|
|
b9191b132f | ||
|
|
24a1f0eb49 | ||
|
|
42f4e74c85 | ||
|
|
46f7d13f70 | ||
|
|
b235d47f74 | ||
|
|
55ae1250a0 | ||
|
|
08fe90b770 | ||
|
|
61407e6e0e | ||
|
|
a344869392 | ||
|
|
e38dcdb197 | ||
|
|
ea83e7643f | ||
|
|
0ef7042a60 | ||
|
|
137e30edcc | ||
|
|
bd8e4889fa | ||
|
|
05409023cd | ||
|
|
105fd7eac1 | ||
|
|
943ac7a61e | ||
|
|
1018d1c46c | ||
|
|
cedd865e24 | ||
|
|
06776a7828 | ||
|
|
2a042c24e4 | ||
|
|
347bfcdc57 | ||
|
|
0f4d0ee04c | ||
|
|
168737fc52 | ||
|
|
e49606f1b8 | ||
|
|
b5f7c9eddd | ||
|
|
d76b811fda | ||
|
|
bbfa4e5661 | ||
|
|
6b07edf4ef | ||
|
|
6ad63828c9 | ||
|
|
d576f7e275 | ||
|
|
5f9d957c9c | ||
|
|
d72738d474 | ||
|
|
4b57793746 | ||
|
|
aa1dadef18 | ||
|
|
ea6549139c | ||
|
|
170e60dcdd | ||
|
|
0f4d4d23fa | ||
|
|
d280a76d90 | ||
|
|
1cd3e0d381 | ||
|
|
5cd8fdddc2 | ||
|
|
c9e8d0452d | ||
|
|
081d7e8f25 | ||
|
|
e6a7e062f8 | ||
|
|
bd061957f2 | ||
|
|
24fb2f6c8e | ||
|
|
9ff300848c | ||
|
|
55c0c11a4b | ||
|
|
fd490d7b6f | ||
|
|
2ef19b8409 | ||
|
|
a1f825681e | ||
|
|
e3efb864b1 | ||
|
|
f62d54fe98 | ||
|
|
1f44720d31 | ||
|
|
6ffe9b3a84 | ||
|
|
2619ce5377 | ||
|
|
063f2ce0a9 | ||
|
|
9c879e0c74 | ||
|
|
969353a277 | ||
|
|
689130b536 | ||
|
|
ea3a022208 | ||
|
|
061a8d45e0 | ||
|
|
29802c3cb4 | ||
|
|
2195323b75 | ||
|
|
8fb4710c8e | ||
|
|
afbb107b3a | ||
|
|
befa3d360f | ||
|
|
7f97841714 | ||
|
|
4e3de4071f | ||
|
|
c063ee7b20 | ||
|
|
cda8d3b568 | ||
|
|
2bcd0a40aa | ||
|
|
03e1955b2f | ||
|
|
7c5fd92aa9 | ||
|
|
5bb304d1f8 | ||
|
|
a325765c63 | ||
|
|
00f29cb90c | ||
|
|
d1a270b234 | ||
|
|
d3c73177e5 | ||
|
|
e576e897db | ||
|
|
9c4d3264a9 | ||
|
|
5e08b8fcd1 | ||
|
|
8a11ff4da7 | ||
|
|
12f1dc1bb1 | ||
|
|
8b0c4c0541 | ||
|
|
a06d49d87f | ||
|
|
5acbe41fc2 | ||
|
|
e5ef1c7924 | ||
|
|
b8628a7a2c | ||
|
|
f2158589ba | ||
|
|
b1e9b4d1c3 | ||
|
|
5b6b353fff | ||
|
|
b5115d4d03 | ||
|
|
d1ecb67666 | ||
|
|
57b5f32705 | ||
|
|
4351467e38 | ||
|
|
4624065639 | ||
|
|
6158433ed3 | ||
|
|
b481be5357 | ||
|
|
6e6de0d7c1 | ||
|
|
d81b944e77 | ||
|
|
adb7135881 | ||
|
|
df8257a2aa | ||
|
|
915856a71a | ||
|
|
707e44a398 | ||
|
|
6442cc6000 | ||
|
|
277e3e2c4c | ||
|
|
5f99facdd3 | ||
|
|
5e7d3a6269 | ||
|
|
bc5b2c657d | ||
|
|
061a9ce57c | ||
|
|
65cd5a1d8b | ||
|
|
5a7fe8a25a | ||
|
|
67bf6706fc | ||
|
|
0a12d846c5 | ||
|
|
10bfd01bac | ||
|
|
60b512b365 | ||
|
|
90b64d8917 | ||
|
|
386bcc477b | ||
|
|
51c8ad2a44 | ||
|
|
9209f9992e | ||
|
|
420e506cf0 | ||
|
|
dcae310995 | ||
|
|
fb54ffdef6 | ||
|
|
f06245f2d3 | ||
|
|
31a65e1e1d | ||
|
|
e630e62e02 | ||
|
|
92c82f20a9 | ||
|
|
afb6fefb93 | ||
|
|
e4594fbb82 | ||
|
|
7bfeb7952b | ||
|
|
194641f06d | ||
|
|
f3d666efef | ||
|
|
2708aef353 | ||
|
|
b589934e71 | ||
|
|
75a69441fe | ||
|
|
4aa35092a3 | ||
|
|
3c71d0ac9b | ||
|
|
d85e02a06b | ||
|
|
65b4d76a45 | ||
|
|
382fffdca9 | ||
|
|
c443f33dad | ||
|
|
09eae80dfb | ||
|
|
4ca549f1e7 | ||
|
|
b71cf74e73 | ||
|
|
4b14645fb9 | ||
|
|
900992db5f | ||
|
|
0213e35cb4 | ||
|
|
657670737c | ||
|
|
68aa8ec09d | ||
|
|
4ef9558ea1 | ||
|
|
2c5ad7dafb | ||
|
|
f8eedf4e28 | ||
|
|
8fb4630a62 | ||
|
|
b4c3799999 | ||
|
|
67e3154b97 | ||
|
|
4e697ff787 | ||
|
|
4c0b005e18 | ||
|
|
9a7dac435d | ||
|
|
e1b24f451d | ||
|
|
bc8dbbd627 | ||
|
|
77ee541c56 | ||
|
|
763d43cd4b | ||
|
|
0606e54105 | ||
|
|
2efcf8e911 | ||
|
|
5645fe3064 | ||
|
|
55fda5d4f9 | ||
|
|
79dcf36934 | ||
|
|
e77239387c | ||
|
|
13a503e696 | ||
|
|
866e9d3ee0 | ||
|
|
8754ed6b9d | ||
|
|
03c082ae5b | ||
|
|
734f772164 | ||
|
|
9b24429db7 | ||
|
|
b4de34f4c8 | ||
|
|
ba8a2f61d3 | ||
|
|
dc7111f0c3 | ||
|
|
a924fbd63e | ||
|
|
23be631cac | ||
|
|
58f02f9180 | ||
|
|
078b9674bd | ||
|
|
068a98074c | ||
|
|
7e9f5d697a | ||
|
|
f58357832d | ||
|
|
af8421e2a5 | ||
|
|
03cf184071 | ||
|
|
67adcb6639 | ||
|
|
e52e63f8e8 | ||
|
|
9432cdcea3 | ||
|
|
57bce5fd86 | ||
|
|
6145e1e234 | ||
|
|
a75676ad2d | ||
|
|
16f1172afc | ||
|
|
69d9afdd5e | ||
|
|
c894799a5b | ||
|
|
9acc690ccf | ||
|
|
9142ee6341 | ||
|
|
e22350a2e8 | ||
|
|
1e569ebe95 | ||
|
|
c5ee18c2a6 | ||
|
|
ede8e618c1 | ||
|
|
25ecbca6d2 | ||
|
|
ca1f1bc51e | ||
|
|
8a6a8ac0ed | ||
|
|
b275ec14ad | ||
|
|
655c71a058 | ||
|
|
51b633ec13 | ||
|
|
4b75ff6abc | ||
|
|
19c6880f9a | ||
|
|
1914775e22 | ||
|
|
18d95f204f | ||
|
|
b4927ea36e | ||
|
|
e44f606479 | ||
|
|
e974d97c7f | ||
|
|
7ed589966e | ||
|
|
9ebbbfaa15 | ||
|
|
9378373661 | ||
|
|
1032d69320 | ||
|
|
c0ce91d1c6 | ||
|
|
13e531c354 | ||
|
|
435d5347f0 | ||
|
|
dc6ac6040a | ||
|
|
f6efe15df0 | ||
|
|
efea98845d | ||
|
|
03afa18131 | ||
|
|
5b172e650c | ||
|
|
4426eb69ec | ||
|
|
46eb8dc016 | ||
|
|
a09179fc56 | ||
|
|
730d7b92fd | ||
|
|
068121a278 | ||
|
|
174f3c5f4b | ||
|
|
69c8a0e2b8 | ||
|
|
ce7ee57279 | ||
|
|
49a1689010 | ||
|
|
beeae91283 | ||
|
|
a27745465f | ||
|
|
693b04b8cf | ||
|
|
1e4d875f1c | ||
|
|
6ba47caa5f | ||
|
|
98ef3ca075 | ||
|
|
b4e08a2d07 | ||
|
|
021bac9307 | ||
|
|
9eb5b6e4b1 | ||
|
|
58a771289b | ||
|
|
1a020162b0 | ||
|
|
6d1c805c56 | ||
|
|
f00114143d | ||
|
|
175b4790d5 | ||
|
|
523fe7ef65 | ||
|
|
ed6234a1c0 | ||
|
|
daf9d4c4b6 | ||
|
|
d2ec0d633f | ||
|
|
e1811934d4 | ||
|
|
2189bee2f5 | ||
|
|
ea84cf35ec | ||
|
|
a8eb4e12ed | ||
|
|
e8a8abbecd | ||
|
|
ff6701d60c | ||
|
|
b73c59a7d9 | ||
|
|
4e1dbd19cf | ||
|
|
f8f994b4ae | ||
|
|
d7969ecd65 | ||
|
|
ee3c595077 | ||
|
|
45fc1300fc | ||
|
|
45dcc77a17 | ||
|
|
a40be80975 | ||
|
|
cb2edb55fb | ||
|
|
6ceb103b15 | ||
|
|
9d1a2fc8c6 | ||
|
|
8e997d0e45 | ||
|
|
0f4186bde8 | ||
|
|
d3cb2402ce | ||
|
|
087da92f42 | ||
|
|
1e09dad380 | ||
|
|
36f282df63 | ||
|
|
5c530d318e | ||
|
|
ca655e2e55 | ||
|
|
823a9116c4 | ||
|
|
9e6ab35470 | ||
|
|
edee93e065 | ||
|
|
ba3fc3d86f | ||
|
|
bf10950a1e | ||
|
|
b12b81a856 | ||
|
|
1317d93870 | ||
|
|
d9a60fc3ce | ||
|
|
c7f8d3a66a | ||
|
|
3035764ad4 | ||
|
|
09e4883acf | ||
|
|
afd6e3405b | ||
|
|
f798197223 | ||
|
|
df3aff4628 | ||
|
|
4b5b26824d | ||
|
|
9d42f9be93 | ||
|
|
4c8e6933f3 | ||
|
|
5e83a639b6 | ||
|
|
6b097d25ba | ||
|
|
e4b35480de | ||
|
|
c45f243d15 | ||
|
|
6afa0ad2e5 | ||
|
|
744eef1bf0 | ||
|
|
d0896c21f2 | ||
|
|
64a960189a | ||
|
|
07a33104aa | ||
|
|
71b340acd9 | ||
|
|
605f103eb0 | ||
|
|
becb3bd404 | ||
|
|
688593e069 | ||
|
|
8c8515c35f | ||
|
|
f9792a24fd | ||
|
|
eeda8f46c7 | ||
|
|
676b7cf70b | ||
|
|
93553970d3 | ||
|
|
db7989183e | ||
|
|
a9500ee4e9 | ||
|
|
10eb637dd0 | ||
|
|
a73ee82369 | ||
|
|
534d622706 | ||
|
|
a999ed555a | ||
|
|
c8d5d60659 | ||
|
|
dc75afa10a | ||
|
|
a335bbcd52 | ||
|
|
f08e8cd1bc | ||
|
|
2d875febd0 | ||
|
|
695cec4c79 | ||
|
|
366acf3de8 | ||
|
|
cec5cc5199 | ||
|
|
cd55e26160 | ||
|
|
32c080d84d | ||
|
|
0b2e76305c | ||
|
|
c75e39c0b0 | ||
|
|
6eb4b0ccc8 | ||
|
|
ac8015b2f0 | ||
|
|
9bdb928668 | ||
|
|
11287c053a | ||
|
|
27581f737d | ||
|
|
8061174638 | ||
|
|
a0b28cc111 | ||
|
|
5676ea11b6 | ||
|
|
be584d49d8 | ||
|
|
d7c00b1e5f | ||
|
|
bec915c66e | ||
|
|
065847e54f | ||
|
|
6d2e8b47d5 | ||
|
|
b36756abea | ||
|
|
5766d58128 | ||
|
|
681f062116 | ||
|
|
1cbc1b32be | ||
|
|
770ae1375e | ||
|
|
287939142a | ||
|
|
4570c9e8f0 | ||
|
|
f7dbe2b855 | ||
|
|
b1e368c9ea | ||
|
|
a5912478ab | ||
|
|
b31f2533c9 | ||
|
|
3f52fd0ad8 | ||
|
|
e1932ae6eb | ||
|
|
bfdc39d568 | ||
|
|
02e666f178 | ||
|
|
277c393f76 | ||
|
|
9611f13a0c | ||
|
|
d053f2af3c | ||
|
|
2a87f6ebd3 | ||
|
|
6c99c362b8 | ||
|
|
3de836c2de | ||
|
|
b33774001d | ||
|
|
35b5b6b3cd | ||
|
|
3b501c8200 | ||
|
|
4ec67e76a3 | ||
|
|
42e7e771ea | ||
|
|
d2eff12fee | ||
|
|
811a1b73c4 | ||
|
|
49b5eecfbb | ||
|
|
22e1c5c1b6 |
32
.github/workflows/daily.yml
vendored
Normal file
32
.github/workflows/daily.yml
vendored
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
name: "MALCO's Daily Challenge"
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '53 15 * * *' # 9:53 AM, UTC-6
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
Build:
|
||||
runs-on: '${{ matrix.os }}'
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
ref: 'stable'
|
||||
- name: Install dependencies (Ubuntu)
|
||||
if: runner.os == 'Linux'
|
||||
run: |
|
||||
sudo add-apt-repository -y ppa:bartbes/love-stable
|
||||
sudo apt-get -q update
|
||||
sudo apt-get install -y xvfb love
|
||||
- name: Generate Daily
|
||||
env:
|
||||
WEBHOOK: ${{ secrets.WEBHOOK }}
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE
|
||||
sudo xvfb-run -a --server-args="-screen 0 1024x768x24" love src --daily
|
||||
cat daily.txt
|
||||
curl -H "Content-Type: application/json" -X POST -d @daily.txt "$WEBHOOK"
|
||||
137
.github/workflows/python.yml
vendored
Normal file
137
.github/workflows/python.yml
vendored
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
name: Python Package
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- '*'
|
||||
tags:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
mypy-required:
|
||||
runs-on: 'ubuntu-latest'
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Workaround for worktree config
|
||||
run: git config --unset-all extensions.worktreeConfig || true
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.10"
|
||||
cache: "pip"
|
||||
|
||||
- name: Install Python packages
|
||||
run: |
|
||||
python -m pip install -e .
|
||||
python -m pip install mypy
|
||||
|
||||
- name: Mypy on required files
|
||||
uses: tsuyoshicho/action-mypy@v5
|
||||
with:
|
||||
github_token: ${{ secrets.github_token }}
|
||||
# Change reviewdog reporter if you need [github-pr-check,github-check,github-pr-review].
|
||||
reporter: github-check
|
||||
setup_method: nothing
|
||||
target: --config-file=pyproject.toml
|
||||
fail_on_error: true
|
||||
install_types: false
|
||||
|
||||
mypy-modified:
|
||||
runs-on: 'ubuntu-latest'
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Workaround for worktree config
|
||||
run: git config --unset-all extensions.worktreeConfig || true
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.10"
|
||||
cache: "pip"
|
||||
|
||||
- name: Install Python packages
|
||||
run: |
|
||||
python -m pip install -e .
|
||||
python -m pip install mypy
|
||||
|
||||
- name: Mypy on modified files
|
||||
uses: tsuyoshicho/action-mypy@v5
|
||||
with:
|
||||
github_token: ${{ secrets.github_token }}
|
||||
# Change reviewdog reporter if you need [github-pr-check,github-check,github-pr-review].
|
||||
reporter: github-check
|
||||
setup_method: nothing
|
||||
level: warning
|
||||
fail_on_error: false
|
||||
install_types: false
|
||||
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
name: Wheel
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
submodules: 'recursive'
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: "3.10"
|
||||
|
||||
- name: Install Python packages
|
||||
run: python -m pip install --upgrade build pip
|
||||
|
||||
- name: build wheel
|
||||
run: python -m build --wheel
|
||||
|
||||
- name: build sdist
|
||||
run: python -m build --sdist
|
||||
|
||||
- name: Store the packages
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: python-package-distributions
|
||||
path: dist
|
||||
|
||||
pypi:
|
||||
runs-on: 'ubuntu-latest'
|
||||
needs:
|
||||
- mypy-required
|
||||
- build
|
||||
if: ${{ github.event_name != 'pull_request' }}
|
||||
|
||||
steps:
|
||||
- name: Download all the dists
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: python-package-distributions
|
||||
path: dist/
|
||||
|
||||
- name: Publish 📦 to TestPyPI
|
||||
if: ${{ github.ref == 'refs/heads/patcher' }}
|
||||
uses: pypa/gh-action-pypi-publish@master
|
||||
with:
|
||||
password: ${{ secrets.testpypi_password }}
|
||||
repository_url: https://test.pypi.org/legacy/
|
||||
|
||||
- name: Publish 📦 to PyPI
|
||||
if: ${{ startsWith(github.ref, 'refs/tags/') }}
|
||||
uses: pypa/gh-action-pypi-publish@master
|
||||
with:
|
||||
password: ${{ secrets.pypi_password }}
|
||||
33
.github/workflows/workflow-validate.yml
vendored
Normal file
33
.github/workflows/workflow-validate.yml
vendored
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
name: Check Workflow Files
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
merge_group:
|
||||
pull_request:
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
jobs:
|
||||
actions:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Install action-validator with asdf
|
||||
uses: asdf-vm/actions/install@v3
|
||||
with:
|
||||
tool_versions: |
|
||||
action-validator 0.5.1
|
||||
|
||||
- name: Lint Actions
|
||||
run: |
|
||||
find .github/workflows -type f \( -iname \*.yaml -o -iname \*.yml \) \
|
||||
| xargs -I {} action-validator --verbose {}
|
||||
20
.gitignore
vendored
20
.gitignore
vendored
|
|
@ -1,12 +1,22 @@
|
|||
data/*
|
||||
notes/*
|
||||
|
||||
pre-edited-cs/Config\.dat
|
||||
*Copy/
|
||||
|
||||
pre-edited-cs/Doukutsu\.exe\.blbkp
|
||||
venv/
|
||||
|
||||
pre-edited-cs/Profile\.dat
|
||||
build/
|
||||
|
||||
pre-edited-cs/window\.rect
|
||||
dist/
|
||||
|
||||
pre-edited-cs/Profile\.dat\.bkp
|
||||
cave_story_randomizer.egg-info/
|
||||
|
||||
**/__pycache__
|
||||
|
||||
pre_edited_cs/**/Doukutsu\.exe\.blbkp
|
||||
pre_edited_cs/**/Profile*
|
||||
pre_edited_cs/**/window\.rect
|
||||
|
||||
pre_edited_cs/data/version.txt
|
||||
|
||||
pre_edited_cs/freeware/Doukutsu_backup.exe
|
||||
|
|
|
|||
|
|
@ -1,23 +0,0 @@
|
|||
# image: shru/arch-love-release:heavy
|
||||
image: asmfreak/love-release:latest
|
||||
|
||||
variables:
|
||||
ITCHIO_USER: shru
|
||||
ITCHIO_GAME: cave-story-randomizer
|
||||
CHANNEL: $CI_COMMIT_REF_NAME
|
||||
|
||||
stages:
|
||||
- build-release
|
||||
|
||||
build-and-release:
|
||||
stage: build-release
|
||||
when: manual
|
||||
script:
|
||||
# I - Build
|
||||
- cd src
|
||||
- love-release -W
|
||||
# II - Release to itch.io
|
||||
- cd releases
|
||||
- FILE=$(ls *-win32.zip) ;
|
||||
zip -d "$FILE" "*/lovec.exe" "*/changes.txt" "*/readme.txt" "*.ico" ;
|
||||
butler push "$FILE" "$ITCHIO_USER/$ITCHIO_GAME:win32-$CHANNEL"
|
||||
18
.pre-commit-config.yaml
Normal file
18
.pre-commit-config.yaml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# See https://pre-commit.com for more information
|
||||
# See https://pre-commit.com/hooks.html for more hooks
|
||||
|
||||
repos:
|
||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||
# Ruff version.
|
||||
rev: v0.8.3
|
||||
hooks:
|
||||
- id: ruff
|
||||
args: [ --fix, --exit-non-zero-on-fix ]
|
||||
- id: ruff-format
|
||||
|
||||
- repo: https://github.com/henriquegemignani/jsonschema-to-typeddict
|
||||
rev: v1.1.1
|
||||
hooks:
|
||||
- id: jsonschema-to-typeddict
|
||||
files: caver/schema/schema.json
|
||||
args: [ --output-path, caver/schema/types.py, --root-name, CaverData ]
|
||||
8
.tscrc.json
Normal file
8
.tscrc.json
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"setup": {
|
||||
"looseChecking": {
|
||||
"events": true,
|
||||
"arguments": true
|
||||
}
|
||||
}
|
||||
}
|
||||
51
README.md
51
README.md
|
|
@ -1,52 +1,3 @@
|
|||
# Cave Story Randomizer [Open Mode]
|
||||
|
||||
The Cave Story Randomizer shuffles the location of every item in Cave Story, creating a new experience each time you play! The randomizer has logic in place to ensure that you can always reach every item and finish the game. Get started by heading to the [releases page](https://gitlab.com/duncathan/cave-story-randomizer/tags) and downloading the most recent version! If you find yourself stuck, wanting to talk about the hilarious location you found the panties in, or just plain enjoying the game please consider joining our [official Discord server](https://discord.gg/7zUdPEn) and hanging out!
|
||||
|
||||
## Main differences
|
||||
Note that there are a few key differences from the vanilla game in order to improve the playing experience:
|
||||
|
||||
- All 5 teleporter locations in Arthur's House are active from the beginning of the game
|
||||
- All other teleporters from the vanilla game are active and linked to one another at all times
|
||||
- A teleporter between Sand Zone (near the Storehouse) and Labyrinth I has been placed and can be activated in one of two ways:
|
||||
1. Defeating Toroko+
|
||||
2. Using the teleporter from the Labyrinth I side
|
||||
- Most cutscenes have been abridged or skipped entirely
|
||||
- Jellyfish Juice can be used an infinite number of times
|
||||
- You can carry as many as 5 puppies at once: Jenka will only accept them once you've collected all 5
|
||||
- By the way, all 5 puppies will be located somewhere in the Sand Zone
|
||||
- Certain items that are received from NPCs have been placed in chests:
|
||||
- Labyrinth B (Fallen Booster)
|
||||
- Labyrinth Shop
|
||||
- One requiring the Machine Gun to open
|
||||
- One requiring the Fireball to open
|
||||
- One requiring the Spur to open
|
||||
- Jail no. 1
|
||||
- Storage? (Ma Pignon)
|
||||
- This chest requires saving Curly in the Waterway to open
|
||||
- If you don't have Curly's Air Tank after defeating the Core, the water will not rise and you may leave without dying
|
||||
- Curly cannot be left behind permanently in the Core; the shutter will never close once the boss has been defeated
|
||||
- The jump in the Waterway to save Curly has been made much easier
|
||||
- Ironhead will always give you his item on defeat (but there's still a special surprise if you defeat him without taking damage!)
|
||||
- Kazuma will only open the door between Egg no. 0 and the Outer Wall if you save him in Grasstown
|
||||
- Kazuma's door can be blown down from both the outside and the inside
|
||||
- Entering the Throne Room to complete the game requires doing three things:
|
||||
1. Saving Sue in the Egg Corridor
|
||||
2. Obtaining the Booster 2.0
|
||||
3. Obtaining the Iron Bond
|
||||
|
||||
## Help me!
|
||||
If you find yourself stuck, here are a few common pitfalls:
|
||||
- Remember that the Jellyfish Juice can quench more than one fireplace
|
||||
- The Graveyard can only be accessed if you obtain the Silver Locket and see Toroko get kidnapped
|
||||
- The Hermit Gunsmith will wake up and give you an item if you defeat the Core and show him his gun
|
||||
- The western side of the Labyrinth can be accessed without flight if you defeat Toroko+
|
||||
- The Plantation can be accessed without the Teleporter Room Key if you save Kazuma and teleport in or climb the Outer Wall
|
||||
- The Waterway can be accessed without the Cure-All by using the teleporter in the Labyrinth Shop
|
||||
- There may be a required item in the Last Cave (Hidden) as a reward for defeating the Red Demon
|
||||
|
||||
If you're still stuck, join our [official Discord server](https://discord.gg/7zUdPEn) and ask for help in there!
|
||||
|
||||
## Credits
|
||||
- Original Cave Story Randomizer by shru: https://shru.itch.io/cave-story-randomizer
|
||||
- Font: https://datagoblin.itch.io/monogram
|
||||
- Icon: Bubbler (@Ethan#6397)
|
||||
A patcher for randomizing Cave Story. If you want to play, check out [Randovania](https://github.com/randovania/randovania)!
|
||||
|
|
|
|||
18
__pyinstaller/__init__.py
Normal file
18
__pyinstaller/__init__.py
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
import os
|
||||
|
||||
|
||||
# Functions
|
||||
# =========
|
||||
#
|
||||
# .. _get_hook_dirs:
|
||||
#
|
||||
# get_hook_dirs
|
||||
# -------------
|
||||
#
|
||||
# Tell PyInstaller where to find hooks provided by this distribution;
|
||||
# this is referenced by the :ref:`hook registration <hook_registration>`.
|
||||
# This function returns a list containing only the path to this
|
||||
# directory, which is the location of these hooks.
|
||||
|
||||
def get_hook_dirs():
|
||||
return [os.path.dirname(__file__)]
|
||||
5
__pyinstaller/hook-caver.py
Normal file
5
__pyinstaller/hook-caver.py
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
from PyInstaller.utils.hooks import collect_data_files
|
||||
|
||||
# https://pyinstaller.readthedocs.io/en/stable/hooks.html#provide-hooks-with-package
|
||||
|
||||
datas = collect_data_files('caver', excludes=['__pyinstaller'])
|
||||
5
__pyinstaller/hook-pre_edited_cs.py
Normal file
5
__pyinstaller/hook-pre_edited_cs.py
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
from PyInstaller.utils.hooks import collect_data_files
|
||||
|
||||
# https://pyinstaller.readthedocs.io/en/stable/hooks.html#provide-hooks-with-package
|
||||
|
||||
datas = collect_data_files('pre_edited_cs', excludes=['__pyinstaller'])
|
||||
218
caver/patcher.py
Normal file
218
caver/patcher.py
Normal file
|
|
@ -0,0 +1,218 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
import logging
|
||||
import platform as pl
|
||||
import shutil
|
||||
import sys
|
||||
import textwrap
|
||||
import typing
|
||||
from enum import Enum
|
||||
from pathlib import Path
|
||||
from uuid import UUID
|
||||
|
||||
import pre_edited_cs
|
||||
from randovania_lupa import LuaRuntime # type: ignore
|
||||
|
||||
from caver.schema.validator_with_default import DefaultValidatingDraft7Validator
|
||||
|
||||
LuaFile = typing.Any
|
||||
|
||||
if typing.TYPE_CHECKING:
|
||||
from collections.abc import Callable
|
||||
|
||||
from caver.schema import (
|
||||
CaverData,
|
||||
CaverdataMaps,
|
||||
CaverdataOtherTsc,
|
||||
EventNumber,
|
||||
MapName,
|
||||
)
|
||||
|
||||
|
||||
class CaverException(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class CSPlatform(Enum):
|
||||
FREEWARE = "freeware"
|
||||
TWEAKED = "tweaked"
|
||||
|
||||
|
||||
def get_path() -> Path:
|
||||
if getattr(sys, "frozen", False):
|
||||
file_dir = Path(getattr(sys, "_MEIPASS"))
|
||||
else:
|
||||
file_dir = Path(__file__).parent.parent
|
||||
return file_dir.joinpath("caver")
|
||||
|
||||
|
||||
def validate(patch_data: dict) -> None:
|
||||
with Path(__file__).parent.joinpath("schema/schema.json").open() as f:
|
||||
schema = json.load(f)
|
||||
DefaultValidatingDraft7Validator(schema).validate(patch_data)
|
||||
|
||||
|
||||
def patch_files(
|
||||
patch_data: CaverData, output_dir: Path, platform: CSPlatform, progress_update: Callable[[str, float], None]
|
||||
) -> None:
|
||||
progress_update("Validating schema...", -1)
|
||||
validate(typing.cast(dict, patch_data))
|
||||
|
||||
progress_update("Copying base files...", -1)
|
||||
ensure_base_files_exist(platform, output_dir)
|
||||
|
||||
total = len(patch_data["maps"].keys()) + len(patch_data["other_tsc"].keys()) + 3
|
||||
|
||||
lua_file = get_path().joinpath("tsc_file.lua").read_text()
|
||||
TscFile = typing.cast(LuaFile, LuaRuntime().execute(lua_file))
|
||||
|
||||
for i, (mapname, mapdata) in enumerate(patch_data["maps"].items()):
|
||||
progress_update(f"Patching {mapname}...", i / total)
|
||||
patch_map(mapname, mapdata, TscFile, output_dir)
|
||||
|
||||
for filename, scripts in patch_data["other_tsc"].items():
|
||||
i += 1
|
||||
progress_update(f"Patching {filename}.tsc...", i / total)
|
||||
patch_other(filename, scripts, TscFile, output_dir)
|
||||
|
||||
i += 1
|
||||
progress_update("Copying MyChar...", i / total)
|
||||
patch_mychar(patch_data["mychar"], output_dir, platform is CSPlatform.TWEAKED)
|
||||
|
||||
i += 1
|
||||
progress_update("Copying hash...", i / total)
|
||||
patch_hash(patch_data["hash"], output_dir)
|
||||
|
||||
i += 1
|
||||
progress_update("Copying UUID...", i / total)
|
||||
patch_uuid(patch_data["uuid"], output_dir)
|
||||
|
||||
if platform == CSPlatform.TWEAKED:
|
||||
if pl.system() == "Linux":
|
||||
output_dir.joinpath("CSTweaked.exe").unlink()
|
||||
else:
|
||||
output_dir.joinpath("CSTweaked").unlink()
|
||||
|
||||
|
||||
def ensure_base_files_exist(platform: CSPlatform, output_dir: Path) -> None:
|
||||
internal_copy = pre_edited_cs.get_path()
|
||||
|
||||
with internal_copy.joinpath("data", "version.txt").open() as version_file:
|
||||
latest_version = version_file.readline()
|
||||
|
||||
version = output_dir.joinpath("data", "version.txt")
|
||||
current_version = "v0.0.0.0"
|
||||
if version.exists():
|
||||
with version.open() as version_file:
|
||||
current_version = version_file.readline()
|
||||
|
||||
keep_existing_files = current_version >= latest_version
|
||||
|
||||
def should_ignore(path: str, names: list[str]) -> list[str]:
|
||||
base = ["__init__.py", "__pycache__", "ScriptSource", "__pyinstaller"]
|
||||
if keep_existing_files:
|
||||
p = Path(path)
|
||||
base.extend(
|
||||
[str(p.joinpath(name)) for name in names if p.joinpath(name).exists() and p.joinpath(name).is_file()]
|
||||
)
|
||||
return base
|
||||
|
||||
try:
|
||||
shutil.copytree(internal_copy.joinpath(platform.value), output_dir, ignore=should_ignore, dirs_exist_ok=True)
|
||||
shutil.copytree(
|
||||
internal_copy.joinpath("data"), output_dir.joinpath("data"), ignore=should_ignore, dirs_exist_ok=True
|
||||
)
|
||||
except shutil.Error:
|
||||
raise CaverException(
|
||||
"Error copying base files. Ensure the directory is not read-only, and that Doukutsu.exe is closed"
|
||||
)
|
||||
output_dir.joinpath("data", "Plaintext").mkdir(exist_ok=True)
|
||||
|
||||
|
||||
def patch_map(mapname: MapName, mapdata: CaverdataMaps, TscFile: LuaFile, output_dir: Path) -> None:
|
||||
mappath = output_dir.joinpath("data", "Stage", f"{mapname}.tsc")
|
||||
tsc_file = TscFile.new(TscFile, mappath.read_bytes(), logging.getLogger("caver"))
|
||||
|
||||
for event, script in mapdata["pickups"].items():
|
||||
TscFile.placeScriptAtEvent(tsc_file, script, event, mapname)
|
||||
|
||||
for event, song in mapdata["music"].items():
|
||||
TscFile.placeSongAtCue(tsc_file, song["song_id"], event, song["original_id"], mapname)
|
||||
|
||||
for event, script in mapdata["entrances"].items():
|
||||
needle = "<EVE...." # TODO: create a proper pattern
|
||||
TscFile.placeScriptAtEvent(tsc_file, script, event, mapname, needle)
|
||||
|
||||
for event, hint in mapdata["hints"].items():
|
||||
script = create_hint_script(hint["text"], hint.get("facepic", "0000") != "0000", hint.get("ending", "<END"))
|
||||
TscFile.placeScriptAtEvent(tsc_file, script, event, mapname)
|
||||
|
||||
chars = TscFile.getText(tsc_file).values()
|
||||
mappath.write_bytes(bytes(chars))
|
||||
output_dir.joinpath("data", "Plaintext", f"{mapname}.txt").write_text(TscFile.getPlaintext(tsc_file))
|
||||
|
||||
|
||||
def patch_other(
|
||||
filename: MapName, scripts: dict[EventNumber, CaverdataOtherTsc], TscFile: LuaFile, output_dir: Path
|
||||
) -> None:
|
||||
filepath = output_dir.joinpath("data", f"{filename}.tsc")
|
||||
tsc_file = TscFile.new(TscFile, filepath.read_bytes(), logging.getLogger("caver"))
|
||||
|
||||
for event, script in scripts.items():
|
||||
TscFile.placeScriptAtEvent(tsc_file, script["script"], event, filename, script.get("needle", "<EVE...."))
|
||||
|
||||
chars = TscFile.getText(tsc_file).values()
|
||||
filepath.write_bytes(bytes(chars))
|
||||
output_dir.joinpath("data", "Plaintext", f"{filename}.txt").write_text(TscFile.getPlaintext(tsc_file))
|
||||
|
||||
|
||||
def patch_mychar(mychar: str | None, output_dir: Path, add_upscale: bool) -> None:
|
||||
if mychar is None:
|
||||
return
|
||||
mychar_img = Path(mychar).read_bytes()
|
||||
output_dir.joinpath("data", "MyChar.bmp").write_bytes(mychar_img)
|
||||
|
||||
if add_upscale:
|
||||
mychar_name = Path(mychar).name
|
||||
mychar_up_img = Path(mychar).parent.joinpath("2x", mychar_name).read_bytes()
|
||||
output_dir.joinpath("data", "sprites_up", "MyChar.bmp").write_bytes(mychar_up_img)
|
||||
|
||||
|
||||
def patch_hash(hash: list[int], output_dir: Path) -> None:
|
||||
hash_strings = [f"{num:04d}" for num in hash]
|
||||
hash_string = ",".join(hash_strings)
|
||||
output_dir.joinpath("data", "hash.txt").write_text(hash_string)
|
||||
|
||||
|
||||
def patch_uuid(uuid: str, output_dir: Path) -> None:
|
||||
uuid = f"{{{UUID(uuid)}}}"
|
||||
output_dir.joinpath("data", "uuid.txt").write_text(uuid)
|
||||
|
||||
|
||||
def wrap_msg_text(text: str, facepic: bool, *, ending: str = "<NOD", max_text_boxes: int | None = 1) -> str:
|
||||
hard_limit = 35
|
||||
msgbox_limit = 26 if facepic else hard_limit
|
||||
|
||||
max_lines = max_text_boxes * 3 if max_text_boxes is not None else None
|
||||
lines = textwrap.wrap(text, width=msgbox_limit, max_lines=max_lines)
|
||||
|
||||
text = ""
|
||||
for i, line in enumerate(lines):
|
||||
text += line
|
||||
if i < len(lines) - 1:
|
||||
if i % 3 == 2:
|
||||
text += "<NOD"
|
||||
if len(line) != hard_limit:
|
||||
text += "\r\n"
|
||||
text += ending
|
||||
|
||||
return text
|
||||
|
||||
|
||||
def create_hint_script(text: str, facepic: bool, ending: str) -> str:
|
||||
"""
|
||||
A desperate attempt to generate valid <MSG text.
|
||||
Fills one text box (up to three lines). Attempts to wrap words elegantly.
|
||||
"""
|
||||
return f"<PRI<MSG<TUR{wrap_msg_text(text, facepic, ending=ending)}"
|
||||
0
caver/py.typed
Normal file
0
caver/py.typed
Normal file
23
caver/schema/__init__.py
Normal file
23
caver/schema/__init__.py
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
from caver.schema.types import (
|
||||
CaverData,
|
||||
CaverdataMaps,
|
||||
CaverdataMapsHints,
|
||||
CaverdataMapsMusic,
|
||||
CaverdataOtherTsc,
|
||||
EventNumber,
|
||||
MapName,
|
||||
TscScript,
|
||||
TscValue,
|
||||
)
|
||||
|
||||
__all__ = [
|
||||
"CaverData",
|
||||
"TscValue",
|
||||
"EventNumber",
|
||||
"MapName",
|
||||
"TscScript",
|
||||
"CaverdataMapsHints",
|
||||
"CaverdataMapsMusic",
|
||||
"CaverdataMaps",
|
||||
"CaverdataOtherTsc",
|
||||
]
|
||||
195
caver/schema/schema.json
Normal file
195
caver/schema/schema.json
Normal file
|
|
@ -0,0 +1,195 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"$schema": {
|
||||
"type": "string",
|
||||
"format": "uri"
|
||||
},
|
||||
"maps": {
|
||||
"type": "object",
|
||||
"propertyNames": {
|
||||
"$ref": "#/$defs/map_name"
|
||||
},
|
||||
"additionalProperties": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"pickups": {
|
||||
"type": "object",
|
||||
"propertyNames": {
|
||||
"$ref": "#/$defs/event_number"
|
||||
},
|
||||
"additionalProperties": {
|
||||
"$ref": "#/$defs/tsc_script"
|
||||
},
|
||||
"default": {}
|
||||
},
|
||||
"hints": {
|
||||
"type": "object",
|
||||
"propertyNames": {
|
||||
"$ref": "#/$defs/event_number"
|
||||
},
|
||||
"additionalProperties": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"text": {
|
||||
"type": "string"
|
||||
},
|
||||
"facepic": {
|
||||
"$ref": "#/$defs/tsc_value",
|
||||
"default": "0000"
|
||||
},
|
||||
"ending": {
|
||||
"$ref": "#/$defs/tsc_script",
|
||||
"default": "<END"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"text",
|
||||
"facepic",
|
||||
"ending"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"default": {}
|
||||
},
|
||||
"music": {
|
||||
"type": "object",
|
||||
"propertyNames": {
|
||||
"$ref": "#/$defs/event_number"
|
||||
},
|
||||
"additionalProperties": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"original_id": {
|
||||
"$ref": "#/$defs/tsc_value"
|
||||
},
|
||||
"song_id": {
|
||||
"$ref": "#/$defs/tsc_value"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"original_id",
|
||||
"song_id"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"default": {}
|
||||
},
|
||||
"entrances": {
|
||||
"type": "object",
|
||||
"propertyNames": {
|
||||
"$ref": "#/$defs/event_number"
|
||||
},
|
||||
"additionalProperties": {
|
||||
"$ref": "#/$defs/tsc_script"
|
||||
},
|
||||
"default": {}
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"pickups",
|
||||
"hints",
|
||||
"music",
|
||||
"entrances"
|
||||
]
|
||||
},
|
||||
"default": {}
|
||||
},
|
||||
"other_tsc": {
|
||||
"type": "object",
|
||||
"propertyNames": {
|
||||
"$ref": "#/$defs/map_name"
|
||||
},
|
||||
"additionalProperties": {
|
||||
"type": "object",
|
||||
"propertyNames": {
|
||||
"$ref": "#/$defs/event_number"
|
||||
},
|
||||
"additionalProperties": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"needle": {
|
||||
"type": "string",
|
||||
"description": "Lua pattern to search for and replace within the event"
|
||||
},
|
||||
"script": {
|
||||
"$ref": "#/$defs/tsc_script"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"needle",
|
||||
"script"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"default": {}
|
||||
},
|
||||
"mychar": {
|
||||
"description": "A path to the mychar.bmp file to use (Optional)",
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "null"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"pattern": "^.*\\.bmp$"
|
||||
}
|
||||
],
|
||||
"default": null
|
||||
},
|
||||
"hash": {
|
||||
"description": "An array of five item IDs to display on the title screen, within [1, 39]",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 39
|
||||
},
|
||||
"minItems": 5,
|
||||
"maxItems": 5,
|
||||
"default": [1,1,1,1,1]
|
||||
},
|
||||
"uuid": {
|
||||
"description": "The UUID for the world in a multiworld session, or the empty UUID if single player.",
|
||||
"type": "string",
|
||||
"pattern": "^\\{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\\}$",
|
||||
"default": "{00000000-0000-0000-0000-000000000000}"
|
||||
},
|
||||
"platform": {
|
||||
"description": "Which supported platform to export to.",
|
||||
"$comment": "Not actually used by the patcher.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"freeware",
|
||||
"tweaked"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"maps",
|
||||
"other_tsc",
|
||||
"mychar",
|
||||
"hash",
|
||||
"uuid"
|
||||
],
|
||||
"additionalProperties": false,
|
||||
"$defs": {
|
||||
"tsc_value": {
|
||||
"type": "string",
|
||||
"pattern": "^[ -~]{4}$"
|
||||
},
|
||||
"event_number": {
|
||||
"$ref": "#/$defs/tsc_value",
|
||||
"$comment": "Semantic alias for tsc_value"
|
||||
},
|
||||
"map_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"tsc_script": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
54
caver/schema/types.py
Normal file
54
caver/schema/types.py
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
# This file is generated. Manual changes will be lost
|
||||
# fmt: off
|
||||
# ruff: noqa
|
||||
from __future__ import annotations
|
||||
|
||||
import typing_extensions as typ
|
||||
|
||||
|
||||
# Definitions
|
||||
TscValue: typ.TypeAlias = str
|
||||
EventNumber: typ.TypeAlias = TscValue
|
||||
MapName: typ.TypeAlias = str
|
||||
TscScript: typ.TypeAlias = str
|
||||
|
||||
|
||||
# Schema entries
|
||||
@typ.final
|
||||
class CaverdataMapsHints(typ.TypedDict):
|
||||
text: str
|
||||
facepic: TscValue
|
||||
ending: TscScript
|
||||
|
||||
|
||||
@typ.final
|
||||
class CaverdataMapsMusic(typ.TypedDict):
|
||||
original_id: TscValue
|
||||
song_id: TscValue
|
||||
|
||||
|
||||
@typ.final
|
||||
class CaverdataMaps(typ.TypedDict):
|
||||
pickups: dict[EventNumber, TscScript]
|
||||
hints: dict[EventNumber, CaverdataMapsHints]
|
||||
music: dict[EventNumber, CaverdataMapsMusic]
|
||||
entrances: dict[EventNumber, TscScript]
|
||||
|
||||
|
||||
@typ.final
|
||||
class CaverdataOtherTsc(typ.TypedDict):
|
||||
needle: str
|
||||
script: TscScript
|
||||
|
||||
|
||||
|
||||
@typ.final
|
||||
class Caverdata(typ.TypedDict):
|
||||
maps: dict[MapName, CaverdataMaps]
|
||||
other_tsc: dict[MapName, dict[EventNumber, CaverdataOtherTsc]]
|
||||
mychar: None | str
|
||||
hash: list[int]
|
||||
uuid: str
|
||||
platform: typ.NotRequired[str]
|
||||
|
||||
CaverData: typ.TypeAlias = Caverdata
|
||||
25
caver/schema/validator_with_default.py
Normal file
25
caver/schema/validator_with_default.py
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
from jsonschema import Draft7Validator, validators
|
||||
|
||||
|
||||
def extend_with_default(validator_class):
|
||||
validate_properties = validator_class.VALIDATORS["properties"]
|
||||
|
||||
def set_defaults(validator, properties, instance, schema):
|
||||
for property, subschema in properties.items():
|
||||
if "default" in subschema:
|
||||
instance.setdefault(property, subschema["default"])
|
||||
|
||||
yield from validate_properties(
|
||||
validator,
|
||||
properties,
|
||||
instance,
|
||||
schema,
|
||||
)
|
||||
|
||||
return validators.extend(
|
||||
validator_class,
|
||||
{"properties": set_defaults},
|
||||
)
|
||||
|
||||
|
||||
DefaultValidatingDraft7Validator = extend_with_default(Draft7Validator)
|
||||
169
caver/tsc_file.lua
Normal file
169
caver/tsc_file.lua
Normal file
|
|
@ -0,0 +1,169 @@
|
|||
local TscFile = {}
|
||||
|
||||
function TscFile:new(contents)
|
||||
o = {}
|
||||
setmetatable(o, self)
|
||||
self.__index = self
|
||||
self._text = self:_codec(contents, 'decode')
|
||||
return o
|
||||
end
|
||||
|
||||
function TscFile:placeScriptAtEvent(script, event, mapname, needle)
|
||||
needle = needle or "<EVE...."
|
||||
local err
|
||||
self._text, err = self:_stringReplace(self._text, needle, script, event)
|
||||
if err ~= nil then
|
||||
local template = 'Unable to place script "%s" at [%s] event "%s".\nCause: %s'
|
||||
error(template:format(script, mapname, event, err))
|
||||
end
|
||||
end
|
||||
|
||||
function TscFile:placeSongAtCue(songid, event, originalid, mapname)
|
||||
local err
|
||||
self._text, err = self:_stringReplace(self._text, "<CMU" .. originalid, "<CMU" .. songid, event, {"<CMU0015", "<CMU0000"})
|
||||
if err ~= nil then
|
||||
local template = "Unable to replace [%s] event #%s's music cue with %q.\nCause: %s"
|
||||
error(template:format(mapname, event, songid, err))
|
||||
end
|
||||
end
|
||||
|
||||
function TscFile:_stringReplace(text, needle, replacement, label, overrides)
|
||||
overrides = overrides or {}
|
||||
local pStart, pEnd = self:_getLabelPositionRange(label)
|
||||
|
||||
local i, o = -1, -1
|
||||
while(o <= i) do
|
||||
o = nil
|
||||
i, i2 = text:find(needle, pStart)
|
||||
|
||||
if i == nil then
|
||||
local err = ('No match for "%s".'):format(needle)
|
||||
return text, err
|
||||
elseif i > pEnd then
|
||||
-- This is totally normal and can be ignored.
|
||||
local err = ('Found "%s", but was outside of label (%d, %d) at index %d.'):format(needle, pStart, pEnd, i)
|
||||
return text, err
|
||||
end
|
||||
|
||||
-- find the earliest occurence of an override
|
||||
for k,v in ipairs(overrides) do
|
||||
local over = text:find(v, pStart)
|
||||
if over ~= nil then
|
||||
if o ~= nil then
|
||||
o = math.min(o, over)
|
||||
else
|
||||
o = over
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- no overrides found
|
||||
if o == nil then break end
|
||||
|
||||
pStart = o+1
|
||||
end
|
||||
|
||||
local len = i2-i+1
|
||||
local j = i + len - 1
|
||||
assert((i % 1 == 0) and (i > 0) and (i <= j), tostring(i))
|
||||
assert((j % 1 == 0), tostring(j))
|
||||
local a = text:sub(1, i - 1)
|
||||
local b = text:sub(j + 1)
|
||||
return a .. replacement .. b, nil
|
||||
end
|
||||
|
||||
function TscFile:_getLabelPositionRange(label)
|
||||
local labelStart, labelEnd
|
||||
|
||||
-- Recursive shit for when label is a table...
|
||||
if type(label) == 'table' then
|
||||
labelStart, labelEnd = math.huge, 0
|
||||
for _, _label in ipairs(label) do
|
||||
local _start, _end = self:_getLabelPositionRange(_label)
|
||||
labelStart = math.min(labelStart, _start)
|
||||
labelEnd = math.max(labelEnd, _end)
|
||||
end
|
||||
return labelStart, labelEnd
|
||||
end
|
||||
|
||||
assert(type(label) == 'string')
|
||||
assert(#label == 4)
|
||||
assert(tonumber(label) >= 0)
|
||||
assert(tonumber(label) <= 9999)
|
||||
|
||||
local i = 1
|
||||
local labelPattern = "#%d%d%d%d\r\n"
|
||||
while true do
|
||||
local j = self._text:find(labelPattern, i)
|
||||
if j == nil then
|
||||
break
|
||||
end
|
||||
i = j + 1
|
||||
|
||||
if labelStart then
|
||||
labelEnd = j - 1
|
||||
break
|
||||
end
|
||||
|
||||
local _label = self._text:sub(j + 1, j + 4)
|
||||
if label == _label then
|
||||
labelStart = j
|
||||
end
|
||||
end
|
||||
|
||||
if labelStart == nil then
|
||||
error(("Could not find label: %s"):format(label))
|
||||
labelStart = 1
|
||||
end
|
||||
|
||||
if labelEnd == nil then
|
||||
labelEnd = #self._text
|
||||
end
|
||||
|
||||
return labelStart, labelEnd
|
||||
end
|
||||
|
||||
function TscFile:getPlaintext()
|
||||
return self._text
|
||||
end
|
||||
|
||||
function TscFile:getText()
|
||||
return self:_codec(self._text, 'encode')
|
||||
end
|
||||
|
||||
function TscFile:_codec(text, mode)
|
||||
-- Create array of chars.
|
||||
local chars = {}
|
||||
text:gsub(".", function(c) table.insert(chars, c) end)
|
||||
|
||||
-- Determine encoding char value
|
||||
local encodingCharPosition = math.floor(#chars / 2) + 1
|
||||
local encodingChar = chars[encodingCharPosition]:byte()
|
||||
if mode == 'decode' then
|
||||
encodingChar = encodingChar * -1
|
||||
elseif mode == 'encode' then
|
||||
-- OK!
|
||||
else
|
||||
error('Unknown codec mode: ' .. tostring(mode))
|
||||
end
|
||||
|
||||
-- Encode or decode.
|
||||
for pos, char in ipairs(chars) do
|
||||
if pos ~= encodingCharPosition then
|
||||
local byte = (char:byte() + encodingChar) % 256
|
||||
if mode == 'decode' then
|
||||
chars[pos] = string.char(byte)
|
||||
else
|
||||
chars[pos] = byte
|
||||
end
|
||||
elseif mode == 'encode' then
|
||||
chars[pos] = char:byte()
|
||||
end
|
||||
end
|
||||
if mode == 'encode' then
|
||||
return chars
|
||||
end
|
||||
return table.concat(chars)
|
||||
end
|
||||
|
||||
return TscFile
|
||||
281
cs-hacks/DrowningMimigaMask/AnimationMyChar.txt
Normal file
281
cs-hacks/DrowningMimigaMask/AnimationMyChar.txt
Normal file
|
|
@ -0,0 +1,281 @@
|
|||
offset 414bf0
|
||||
|
||||
#define
|
||||
rectMax=0D
|
||||
rectMaxx10=0D0
|
||||
|
||||
rcLeft.left=EBP-0D0
|
||||
rcLeft.top=EBP-0CC
|
||||
rcLeft.right=EBP-0C8
|
||||
rcLeft.bottom=EBP-0C4
|
||||
|
||||
rcRight.left=EBP-1A0
|
||||
rcRight.top=EBP-19C
|
||||
rcRight.right=EBP-198
|
||||
rcRight.bottom=EBP-194
|
||||
|
||||
gMC.rect.left=49E69C
|
||||
gMC.rect.top=49E6A0
|
||||
gMC.rect.right=49E6A4
|
||||
gMC.rect.bottom=49E6A8
|
||||
|
||||
gMC.cond=49E638
|
||||
gMC.flag=49E63C
|
||||
gMC.ani_no=49E678
|
||||
gMC.ani_wait=49E674
|
||||
gMC.up=49E644
|
||||
gMC.down=49E648
|
||||
gMC.ym=49E670
|
||||
gMC.direct=49E640
|
||||
gMC.air=49E6DC
|
||||
|
||||
gKey_addr=49E210
|
||||
gKeyUp=493634
|
||||
gKeyLeft=493630
|
||||
gKeyRight=493638
|
||||
bKey=EBP+8
|
||||
|
||||
PlaySoundObject=00420640
|
||||
#enddefine
|
||||
|
||||
PUSH EBP
|
||||
MOV EBP,ESP
|
||||
SUB ESP,1A0 ; or whatever
|
||||
|
||||
PUSH ESI
|
||||
PUSH EDI
|
||||
XOR ESI,ESI
|
||||
|
||||
; FRAMERECTS
|
||||
|
||||
; Push left framerects onto stack for ease of looping
|
||||
PUSH 0D0 ; DROWNING SPRITES
|
||||
|
||||
PUSH 70
|
||||
PUSH 60
|
||||
PUSH 30
|
||||
PUSH 50
|
||||
PUSH 30
|
||||
PUSH 40
|
||||
PUSH 30
|
||||
PUSH 0
|
||||
PUSH 20
|
||||
PUSH 0
|
||||
PUSH 10
|
||||
PUSH 0
|
||||
|
||||
MOV EAX, 0
|
||||
MOV ECX, 10
|
||||
MOV EDX, 20
|
||||
JMP :loopbody
|
||||
|
||||
:looptop
|
||||
ADD ESI, 10
|
||||
CMP ESI, rectMaxx10
|
||||
JGE :loopend
|
||||
|
||||
:loopbody
|
||||
; Left top = 0, Right top = 0x10
|
||||
MOV [rcLeft.top+ESI], EAX | MOV [rcRight.top+ESI], ECX
|
||||
; Left bottom = 0x10, Right bottom = 0x20
|
||||
MOV [rcLeft.bottom+ESI], ECX | MOV [rcRight.bottom+ESI], EDX
|
||||
|
||||
POP EDI
|
||||
; Left/Right left = value from stack
|
||||
MOV [rcLeft.left+ESI], EDI | MOV [rcRight.left+ESI], EDI
|
||||
ADD EDI, 10
|
||||
; Left/Right right = value from stack + 0x10
|
||||
MOV [rcLeft.right+ESI], EDI | MOV [rcRight.right+ESI], EDI
|
||||
|
||||
JMP :looptop
|
||||
|
||||
:loopend
|
||||
|
||||
; if (gMC.air <= 0)
|
||||
MOV EDX, [gMC.air]
|
||||
CMP EDX, 0
|
||||
JG :checkCond
|
||||
MOV [gMC.ani_no], 0C
|
||||
JMP :checkDir
|
||||
|
||||
; if (gMC.cond & 2)
|
||||
:checkCond
|
||||
MOVZX EAX, BYTE [gMC.cond]
|
||||
TEST EAX, 00000002
|
||||
JNE :return
|
||||
|
||||
; if (gMC.flag & 8)
|
||||
:checkFlag
|
||||
MOV ECX, [gMC.flag]
|
||||
TEST ECX, 00000008
|
||||
JE :checkUp
|
||||
|
||||
; if (gMC.cond & 1)
|
||||
TEST EAX, 00000001
|
||||
JE :keycheckWalk
|
||||
MOV [gMC.ani_no], 0B
|
||||
JMP :checkDir
|
||||
|
||||
; else if (gKey & (gKeyLeft | gKeyRight) && bKey)
|
||||
:keycheckWalk
|
||||
MOV ECX, [gKey_addr]
|
||||
MOV EDX, [gKeyLeft]
|
||||
OR EDX, [gKeyRight]
|
||||
TEST ECX, EDX ; gKey & (gKeyLeft | gKeyRight)
|
||||
JE :keycheckStop
|
||||
|
||||
CMP [bKey], 0 ; bKey
|
||||
JE :keycheckStop
|
||||
|
||||
; if (gKey & gKeyUp)
|
||||
TEST ECX, [gKeyUp]
|
||||
JE :WalkFrames
|
||||
|
||||
:UpWalkFrames
|
||||
PUSH 6
|
||||
PUSH 9
|
||||
PUSH 9
|
||||
PUSH 7
|
||||
JMP :WalkAni
|
||||
:WalkFrames
|
||||
PUSH 1
|
||||
PUSH 4
|
||||
PUSH 4
|
||||
PUSH 2
|
||||
|
||||
:WalkAni
|
||||
OR EAX, 00000004
|
||||
MOV BYTE [gMC.cond], AL ;gMC.cond |= 4
|
||||
|
||||
POP EAX ; 7 if looking up, else 2
|
||||
POP ECX ; 9 if looking up, else 4
|
||||
|
||||
MOV ESI, [gMC.ani_wait]
|
||||
INC ESI ; ++gMC.ani_wait
|
||||
|
||||
MOV EDI, [gMC.ani_no]
|
||||
|
||||
; if (++gMC.ani_wait > 4)
|
||||
CMP ESI, 4
|
||||
JLE :checkWalkAni
|
||||
|
||||
XOR ESI,ESI ; gMC.ani_wait = 0
|
||||
|
||||
INC EDI ; ++gMC.ani_no
|
||||
|
||||
CMP EDI, EAX
|
||||
JE :playSound
|
||||
CMP EDI, ECX
|
||||
JNE :checkWalkAni
|
||||
|
||||
:playSound
|
||||
PUSH 1
|
||||
PUSH 18
|
||||
CALL PlaySoundObject
|
||||
ADD ESP,8
|
||||
|
||||
; UP: if (gMC.ani_no > 9 || gMC.ani_no < 6)
|
||||
; ELSE: if (gMC.ani_no > 4 || gMC.ani_no < 1)
|
||||
:checkWalkAni
|
||||
MOV [gMC.ani_wait], ESI
|
||||
|
||||
POP EAX ; 9 if looking up, else 4
|
||||
POP ECX ; 6 if looking up, else 1
|
||||
|
||||
CMP EDI, EAX
|
||||
JG :resetWalkAni
|
||||
CMP EDI, ECX
|
||||
JGE :setAniNo
|
||||
|
||||
:resetWalkAni
|
||||
MOV EDI, ECX
|
||||
|
||||
:setAniNo
|
||||
MOV [gMC.ani_no], EDI
|
||||
JMP :checkDir
|
||||
|
||||
:keyChecKStop
|
||||
TEST ECX, [gKeyUp]
|
||||
JE :StopFrame
|
||||
CMP [bKey], 0
|
||||
JE :StopFrame
|
||||
|
||||
:UpStopFrame
|
||||
PUSH 5
|
||||
JMP :StopAni
|
||||
:StopFrame
|
||||
PUSH 0
|
||||
|
||||
:StopAni
|
||||
TEST EAX, 00000004
|
||||
JE :SetStopAni
|
||||
PUSH 1
|
||||
PUSH 18
|
||||
CALL PlaySoundObject
|
||||
ADD ESP,8
|
||||
|
||||
:SetStopAni
|
||||
MOVZX EAX, BYTE [gMC.cond]
|
||||
AND EAX, FFFFFFFB
|
||||
MOV BYTE [gMC.cond], AL
|
||||
|
||||
POP ECX
|
||||
MOV [gMC.ani_no], ECX
|
||||
JMP :checkDir
|
||||
|
||||
:checkUp
|
||||
LEA EAX, [gMC.ani_no]
|
||||
|
||||
CMP [gMC.up], 0
|
||||
JE :checkDown
|
||||
MOV [EAX], 6
|
||||
JMP :checkDir
|
||||
|
||||
:checkDown
|
||||
CMP [gMC.down], 0
|
||||
JE :checkYm
|
||||
MOV [EAX], 0A
|
||||
JMP :checkDir
|
||||
|
||||
:checkYm
|
||||
CMP [gMC.ym], 0
|
||||
JLE :ymLess
|
||||
|
||||
:ymMore
|
||||
MOV [EAX], 1
|
||||
JMP :checkDir
|
||||
|
||||
:ymLess
|
||||
MOV [EAX], 3
|
||||
|
||||
:checkDir
|
||||
MOV EAX, [gMC.ani_no]
|
||||
SHL EAX, 4
|
||||
|
||||
CMP [gMC.direct], 0
|
||||
JNE :rectRight
|
||||
|
||||
:rectLeft
|
||||
LEA EAX, [EAX+rcLeft.left]
|
||||
JMP :setrect
|
||||
:rectRight
|
||||
LEA EAX, [EAX+rcRight.left]
|
||||
|
||||
:setrect
|
||||
MOV ECX, [EAX]
|
||||
MOV [gMC.rect.left], ECX
|
||||
MOV ECX, [EAX+4]
|
||||
MOV [gMC.rect.top], ECX
|
||||
MOV ECX, [EAX+8]
|
||||
MOV [gMC.rect.right], ECX
|
||||
MOV ECX, [EAX+0C]
|
||||
MOV [gMC.rect.bottom], ECX
|
||||
|
||||
:return
|
||||
POP EDI
|
||||
POP ESI
|
||||
|
||||
MOV ESP,EBP
|
||||
POP EBP
|
||||
RETN
|
||||
INT3
|
||||
36
cs-hacks/DrowningMimigaMask/InitMyChar.txt
Normal file
36
cs-hacks/DrowningMimigaMask/InitMyChar.txt
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
offset 414b50
|
||||
|
||||
PUSH EBP
|
||||
MOV EBP, ESP
|
||||
|
||||
PUSH 0B4
|
||||
PUSH 0
|
||||
PUSH 0049E638
|
||||
CALL 00480D30
|
||||
ADD ESP,0C ; memset(&gMC, 0, sizeof(MYCHAR))
|
||||
|
||||
MOV BYTE [49E638],80 ; gMC.cond = 0x80
|
||||
MOV [49E640],2 ; gMC.direct = 2
|
||||
|
||||
MOV EAX,1000
|
||||
MOV [49E694],EAX ; gMC.view.back = 8 * 0x200
|
||||
MOV [49E690],EAX ; gMC.view.top = 8 * 0x200
|
||||
MOV [49E68C],EAX ; gMC.view.front = 8 * 0x200
|
||||
MOV [49E698],EAX ; gMC.view.bottom = 8 * 0x200
|
||||
|
||||
MOV ECX,0A00
|
||||
MOV [49E684],ECX ; gMC.hit.back = 5 * 0x200
|
||||
MOV [49E680],EAX ; gMC.hit.top = 8 * 0x200
|
||||
MOV [49E67C],ECX ; gMC.hit.front = 5 * 0x200
|
||||
MOV [49e688],EAX ; gMC.hit.bottom = 8 * 0x200
|
||||
|
||||
MOV WORD [49E6CC],3 ; gMC.life = 3
|
||||
MOV WORD [49E6D0],3 ; gMC.max_life = 3
|
||||
MOV [49E64C],0 ; gMC.unit = 0
|
||||
|
||||
MOV [49E6DC],3E8 ; gMC.air = 1000
|
||||
|
||||
POP EBP
|
||||
RETN
|
||||
INT3
|
||||
|
||||
34
cs-hacks/DrowningMimigaMask/ProcessAir.txt
Normal file
34
cs-hacks/DrowningMimigaMask/ProcessAir.txt
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
offset 4169EB
|
||||
|
||||
#define
|
||||
GetNPCFlag=40E930
|
||||
StartTextScript=421990
|
||||
|
||||
setDeathCond=416A52
|
||||
computeAirGet=416A65
|
||||
|
||||
gMC.air=49E6DC
|
||||
#enddefine
|
||||
|
||||
PUSH 0FA0 ; 4000
|
||||
CALL GetNPCFlag
|
||||
POP ECX
|
||||
|
||||
TEST EAX,EAX ; if (GetNPCFlag(4000))
|
||||
JE :drown
|
||||
|
||||
:core
|
||||
PUSH 44C ; 1100
|
||||
CALL StartTextScript
|
||||
POP ECX
|
||||
|
||||
MOV [gMC.air], 3E8 ; gMC.air = 1000
|
||||
|
||||
JMP computeAirGet
|
||||
|
||||
:drown
|
||||
PUSH 29 ; 41
|
||||
CALL StartTextScript
|
||||
POP ECX
|
||||
|
||||
JMP setDeathCond
|
||||
16
cs-hacks/DrowningMimigaMask/PutMyChar.txt
Normal file
16
cs-hacks/DrowningMimigaMask/PutMyChar.txt
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
offset 415256
|
||||
|
||||
#define
|
||||
gMC.air=49E6DC
|
||||
gMC.cond=49E638
|
||||
#enddefine
|
||||
|
||||
CMP [gMC.air], 0
|
||||
JLE 00415495
|
||||
MOV AL, BYTE [gMC.cond]
|
||||
TEST AL, 00000080
|
||||
JE 00415270
|
||||
TEST AL, 00000002
|
||||
JE 00415275
|
||||
|
||||
//data 90 90 90 90 ; 4 bytes were saved
|
||||
43
cs-hacks/IncreaseMAX_STRIP/ActionStripper.txt
Normal file
43
cs-hacks/IncreaseMAX_STRIP/ActionStripper.txt
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
offset 40cf90
|
||||
|
||||
#define
|
||||
count=EBP-4
|
||||
Strip_addr=0049D628
|
||||
Credit.mode=49D620
|
||||
MAX_STRIP=40
|
||||
size=50
|
||||
|
||||
Strip.flag=EAX
|
||||
Strip.x=EAX+4
|
||||
Strip.y=EAX+8
|
||||
Strip.cast=EAX+0C
|
||||
Strip.str=EAX+10
|
||||
#enddefine
|
||||
push ebp
|
||||
mov ebp, esp
|
||||
push ecx
|
||||
|
||||
mov eax, [Strip_addr]
|
||||
mov edx, MAX_STRIP
|
||||
|
||||
:$LL4@ActionStri
|
||||
test BYTE [Strip.flag], 80
|
||||
je :$LN5@ActionStri
|
||||
cmp [Credit.mode], 0
|
||||
je :$LN5@ActionStri
|
||||
|
||||
sub [Strip.y], 100
|
||||
|
||||
:$LN5@ActionStri
|
||||
cmp [Strip.y], -2000
|
||||
jg :$LN2@ActionStri
|
||||
|
||||
and [Strip.flag], 0
|
||||
|
||||
:$LN2@ActionStri
|
||||
add eax, size
|
||||
sub edx, 1
|
||||
jne :$LL4@ActionStri
|
||||
|
||||
leave
|
||||
retn
|
||||
36
cs-hacks/IncreaseMAX_STRIP/InitCreditScript.txt
Normal file
36
cs-hacks/IncreaseMAX_STRIP/InitCreditScript.txt
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
offset 40d3e0
|
||||
|
||||
#define
|
||||
size=50
|
||||
MAX_STRIP=40
|
||||
Strip_addr=0049d628
|
||||
#enddefine
|
||||
|
||||
PUSH EBP
|
||||
MOV EBP,ESP
|
||||
|
||||
PUSH 18
|
||||
PUSH 0
|
||||
PUSH 0049D610
|
||||
CALL 00480D30
|
||||
ADD ESP,0C
|
||||
|
||||
/*
|
||||
PUSH 500
|
||||
PUSH 0
|
||||
PUSH 0049D628
|
||||
CALL 00480D30
|
||||
ADD ESP,0C
|
||||
|
||||
PUSH size
|
||||
PUSH MAX_STRIP
|
||||
CALL 00487701
|
||||
ADD ESP,8
|
||||
MOV [Strip_addr],EAX
|
||||
*/
|
||||
XOR EAX,EAX
|
||||
MOV [Strip_addr],EAX
|
||||
|
||||
POP EBP
|
||||
RETN
|
||||
INT3
|
||||
2
cs-hacks/IncreaseMAX_STRIP/LoadGenericDataMAX_STRIP.txt
Normal file
2
cs-hacks/IncreaseMAX_STRIP/LoadGenericDataMAX_STRIP.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
offset 4115e6
|
||||
PUSH 3F0 ; (MAX_STRIP - 1) * 0x10
|
||||
8
cs-hacks/IncreaseMAX_STRIP/Multi-File-List.txt
Normal file
8
cs-hacks/IncreaseMAX_STRIP/Multi-File-List.txt
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
ActionStripper.txt
|
||||
InitCreditScript.txt
|
||||
LoadGenericDataMAX_STRIP.txt
|
||||
PutStripper.txt
|
||||
RestoreStripper.txt
|
||||
SetStripper.txt
|
||||
StartCreditScript.txt
|
||||
ReleaseCreditScript.txt
|
||||
135
cs-hacks/IncreaseMAX_STRIP/PutStripper.txt
Normal file
135
cs-hacks/IncreaseMAX_STRIP/PutStripper.txt
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
offset 40D010
|
||||
|
||||
#define
|
||||
; Constants
|
||||
MAX_STRIP=40
|
||||
MAX_STRIPx10=400
|
||||
size=50
|
||||
|
||||
; Locals
|
||||
ArrayPad=EBP-4
|
||||
rc_addr=EBP-14
|
||||
rc.left=EBP-14
|
||||
rc.right=EBP-0C
|
||||
rc.top=EBP-10
|
||||
rc.bottom=EBP-8
|
||||
|
||||
; References
|
||||
Strip_addr=0049D628
|
||||
Strip.flag=ecx
|
||||
Strip.x=ecx+4
|
||||
Strip.y=ecx+8
|
||||
Strip.cast=ecx+0c
|
||||
Strip.str=ecx+10
|
||||
grcFull=0048f92c
|
||||
|
||||
; Functions
|
||||
PutBitmap3=0040c3c0
|
||||
|
||||
; Builtins
|
||||
___security_cookie=498b20
|
||||
__security_check_cookie=00480dc1
|
||||
#enddefine
|
||||
|
||||
push ebp
|
||||
mov ebp,esp
|
||||
sub esp, 14 ; 00000018H
|
||||
|
||||
push ebx
|
||||
push esi
|
||||
push edi
|
||||
; Line 92
|
||||
xor esi, esi
|
||||
xor edi, edi
|
||||
|
||||
:$LL4@PutStrippe
|
||||
; Line 94
|
||||
mov ecx, [Strip_addr]
|
||||
test BYTE [esi+Strip.flag], 80 ; 00000080H
|
||||
je :$LN2@PutStrippe
|
||||
; Line 97
|
||||
and [rc.left], 0
|
||||
mov [rc.right], 140 ; 00000140H
|
||||
mov [rc.top], edi
|
||||
lea eax, [edi+10]
|
||||
mov [rc.bottom], eax
|
||||
|
||||
; Line 102
|
||||
push 23 ; 00000023H
|
||||
|
||||
lea eax, [rc_addr]
|
||||
push eax
|
||||
|
||||
mov ebx, 1ff ; 000001ffH
|
||||
mov eax, [esi+Strip.y]
|
||||
cdq
|
||||
and edx, ebx
|
||||
add eax, edx
|
||||
sar eax, 9
|
||||
push eax
|
||||
|
||||
mov eax, [esi+Strip.x]
|
||||
cdq
|
||||
and edx, ebx
|
||||
add eax, edx
|
||||
sar eax, 9
|
||||
push eax
|
||||
|
||||
push grcFull
|
||||
|
||||
call PutBitmap3
|
||||
|
||||
; Line 110
|
||||
push 25 ; 00000025H
|
||||
|
||||
mov ecx, [Strip_addr]
|
||||
mov eax, [esi+Strip.cast]
|
||||
cdq
|
||||
mov ebx, 0d
|
||||
idiv ebx
|
||||
imul edx, edx, 18
|
||||
imul eax, eax, 18
|
||||
mov [rc.left], edx
|
||||
add edx, 18 ; 00000018H
|
||||
mov [rc.right], edx
|
||||
mov [rc.top], eax
|
||||
add eax, 18
|
||||
mov [rc.bottom], eax
|
||||
lea eax, [rc_addr]
|
||||
push eax
|
||||
|
||||
mov ebx, 1ff
|
||||
mov eax, [esi+Strip.y]
|
||||
cdq
|
||||
and edx, ebx
|
||||
add eax, edx
|
||||
sar eax, 9
|
||||
sub eax, 8
|
||||
push eax
|
||||
|
||||
mov eax, [esi+Strip.x]
|
||||
cdq
|
||||
and edx, ebx
|
||||
add eax, edx
|
||||
sar eax, 9
|
||||
sub eax, 18 ; 00000018H
|
||||
push eax
|
||||
|
||||
push grcFull
|
||||
|
||||
call PutBitmap3
|
||||
add esp, 28 ; 00000028H
|
||||
|
||||
:$LN2@PutStrippe
|
||||
; Line 92
|
||||
add edi, 10 ; 00000010H
|
||||
add esi, size ; 00000050H
|
||||
cmp edi, MAX_STRIPx10 ; 000007f0H
|
||||
jl :$LL4@PutStrippe
|
||||
|
||||
; Line 113
|
||||
pop edi
|
||||
pop esi
|
||||
pop ebx
|
||||
leave
|
||||
retn
|
||||
34
cs-hacks/IncreaseMAX_STRIP/ReleaseCreditScript.txt
Normal file
34
cs-hacks/IncreaseMAX_STRIP/ReleaseCreditScript.txt
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
offset 40d410
|
||||
|
||||
#define
|
||||
Credit.pData=49d614
|
||||
Strip=49d628
|
||||
_free=0048128b
|
||||
#enddefine
|
||||
|
||||
push ebp
|
||||
mov ebp,esp
|
||||
|
||||
mov eax, [Credit.pData]
|
||||
test eax, eax
|
||||
je :$LN2@ReleaseCre
|
||||
|
||||
push eax
|
||||
call _free
|
||||
pop ecx
|
||||
|
||||
and [Credit.pData], 0
|
||||
|
||||
:$LN2@ReleaseCre
|
||||
mov eax, [Strip]
|
||||
test eax, eax
|
||||
je :$LN3@ReleaseCre
|
||||
|
||||
push eax
|
||||
call _free
|
||||
pop ecx
|
||||
|
||||
:$LN3@ReleaseCre
|
||||
mov esp, ebp
|
||||
pop ebp
|
||||
retn
|
||||
86
cs-hacks/IncreaseMAX_STRIP/RestoreStripper.txt
Normal file
86
cs-hacks/IncreaseMAX_STRIP/RestoreStripper.txt
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
offset 40d240
|
||||
|
||||
#define
|
||||
; Constants
|
||||
MAX_STRIPx10=400
|
||||
|
||||
; Locals
|
||||
ArrayPad = EBP-4
|
||||
rc_addr = EBP-14
|
||||
rc.left=EBP-14
|
||||
rc.right=EBP-0c
|
||||
rc.top=EBP-10
|
||||
rc.bottom=EBP-8
|
||||
|
||||
; References
|
||||
Credit=49D620
|
||||
Strip_addr=0049D628
|
||||
Strip.flag=0049D628
|
||||
Strip.x=0049D62C
|
||||
Strip.y=0049D630
|
||||
Strip.cast=0049D634
|
||||
Strip.str=0049D638
|
||||
|
||||
; Functions
|
||||
CortBox2=0040ca80
|
||||
PutText2=0040ceb0
|
||||
|
||||
; Builtins
|
||||
___security_cookie=498b20
|
||||
__security_check_cookie=00480dc1
|
||||
#enddefine
|
||||
|
||||
push ebp
|
||||
mov ebp, esp
|
||||
sub esp, 14 ; 00000014H
|
||||
push esi
|
||||
push edi
|
||||
; Line 151
|
||||
xor edi, edi
|
||||
xor esi, esi
|
||||
:$LL4@RestoreStr
|
||||
; Line 153
|
||||
mov eax, [Strip_addr]
|
||||
test eax, eax
|
||||
je :return
|
||||
test [edi+eax], 128 ; 00000080H
|
||||
je :$LN2@RestoreStr
|
||||
; Line 155
|
||||
and [rc.left], 0
|
||||
; Line 156
|
||||
mov [rc.right], 140 ; 00000140H
|
||||
; Line 157
|
||||
mov [rc.top], esi
|
||||
; Line 158
|
||||
lea eax, [esi+16]
|
||||
mov [rc.bottom], eax
|
||||
; Line 160
|
||||
push 23 ; 00000023H
|
||||
push 0
|
||||
lea eax, [rc_addr]
|
||||
push eax
|
||||
|
||||
call CortBox2
|
||||
; Line 161
|
||||
push 23 ; 00000023H
|
||||
push 00feffff ; 00feffffH
|
||||
mov eax, [Strip_addr]
|
||||
add eax, 10 ; 00000010H
|
||||
add eax, edi
|
||||
push eax
|
||||
push [rc.top]
|
||||
push 0
|
||||
call PutText2
|
||||
add esp, 20 ; 00000020H
|
||||
:$LN2@RestoreStr
|
||||
; Line 151
|
||||
add esi, 10 ; 00000010H
|
||||
add edi, 50 ; 00000050H
|
||||
cmp esi, MAX_STRIPx10 ; 000007f0H
|
||||
jl :$LL4@RestoreStr
|
||||
; Line 164
|
||||
:return
|
||||
pop edi
|
||||
pop esi
|
||||
leave
|
||||
retn
|
||||
116
cs-hacks/IncreaseMAX_STRIP/SetStripper.txt
Normal file
116
cs-hacks/IncreaseMAX_STRIP/SetStripper.txt
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
offset 40d150
|
||||
|
||||
#define
|
||||
; Constants
|
||||
MAX_STRIP=40
|
||||
size=50
|
||||
|
||||
; Locals
|
||||
ArrayPad=EBP-4
|
||||
rc_addr=EBP-14
|
||||
rc.left=EBP-14
|
||||
rc.right=EBP-0C
|
||||
rc.top=EBP-10
|
||||
rc.bottom=EBP-8
|
||||
|
||||
; Arguments
|
||||
argx=EBP+8
|
||||
argy=EBP+0C
|
||||
argtext=EBP+10
|
||||
argcast=EBP+14
|
||||
|
||||
; References
|
||||
Strip_addr=0049D628
|
||||
Strip.flag=edx
|
||||
Strip.x=edx+4
|
||||
Strip.y=edx+8
|
||||
Strip.cast=edx+0c
|
||||
Strip.str=edx+10
|
||||
|
||||
; Functions
|
||||
CortBox2=0040ca80
|
||||
PutText2=0040ceb0
|
||||
|
||||
; Builtins
|
||||
___security_cookie=498b20
|
||||
__security_check_cookie=00480dc1
|
||||
_strcpy=00481100
|
||||
#enddefine
|
||||
|
||||
push ebp
|
||||
mov ebp, esp
|
||||
sub esp, 14 ; 00000014H
|
||||
mov eax, [___security_cookie]
|
||||
mov [ArrayPad], eax
|
||||
mov edx, [Strip_addr]
|
||||
mov eax, edx
|
||||
push esi
|
||||
push edi
|
||||
mov edi, [argtext]
|
||||
; Line 121
|
||||
xor esi, esi
|
||||
:$LL4@SetStrippe
|
||||
; Line 122
|
||||
test [eax], 80 ; 00000080H
|
||||
je :$LN13@SetStrippe
|
||||
; Line 121
|
||||
inc esi
|
||||
add eax, size ; 00000050H
|
||||
mov ecx, esi
|
||||
cmp esi, MAX_STRIP ; 0000007fH
|
||||
jl :$LL4@SetStrippe
|
||||
; Line 125
|
||||
cmp ecx, MAX_STRIP ; 0000007fH
|
||||
je :$LN1@SetStrippe
|
||||
:$LN13@SetStrippe
|
||||
; Line 129
|
||||
imul ecx, esi, size
|
||||
mov [ecx+Strip.flag], 80 ; 00000080H
|
||||
; Line 130
|
||||
mov eax, [argx]
|
||||
mov [ecx+Strip.x], eax
|
||||
; Line 131
|
||||
mov eax, [argy]
|
||||
mov [ecx+Strip.y], eax
|
||||
; Line 132
|
||||
mov eax, [argcast]
|
||||
mov [ecx+Strip.cast], eax
|
||||
; Line 133
|
||||
push edi
|
||||
lea eax, [Strip.str]
|
||||
add eax, ecx
|
||||
push eax
|
||||
call _strcpy
|
||||
; Line 136
|
||||
and [rc.left], 0
|
||||
; Line 137
|
||||
mov [rc.right], 140 ; 00000140H
|
||||
; Line 138
|
||||
shl esi, 4
|
||||
mov [rc.top], esi
|
||||
; Line 139
|
||||
lea eax, [esi+10]
|
||||
mov [rc.bottom], eax
|
||||
|
||||
; Line 141
|
||||
push 23 ; 00000023H
|
||||
push 0
|
||||
lea eax, [rc_addr]
|
||||
push eax
|
||||
call CortBox2
|
||||
; Line 142
|
||||
push 23 ; 00000023H
|
||||
push 00feffff ; 00feffffH
|
||||
push edi
|
||||
push [rc.top]
|
||||
push 0
|
||||
call PutText2
|
||||
add esp, 28 ; 00000028H
|
||||
:$LN1@SetStrippe
|
||||
; Line 143
|
||||
pop edi
|
||||
pop esi
|
||||
mov ecx, [ArrayPad]
|
||||
call __security_check_cookie
|
||||
leave
|
||||
retn
|
||||
160
cs-hacks/IncreaseMAX_STRIP/StartCreditScript.txt
Normal file
160
cs-hacks/IncreaseMAX_STRIP/StartCreditScript.txt
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
offset 40d440
|
||||
|
||||
#define
|
||||
; Constants
|
||||
MAX_STRIP=40
|
||||
size=50
|
||||
|
||||
; Locals
|
||||
path=EBP-108
|
||||
ArrayPad=EBP-4
|
||||
|
||||
; References
|
||||
Strip_addr=0049D628
|
||||
Credit.pData=49D614
|
||||
Credit.size=49d610
|
||||
Credit.offset=49d618
|
||||
Credit.wait=49d61c
|
||||
Credit.mode=49d620
|
||||
Illust.x=49d60c
|
||||
Illust.act_no=49d608
|
||||
grcGame.left=48f91c
|
||||
gDataPath=0049E220
|
||||
|
||||
; Functions
|
||||
GetFileSizeLong=00410d80
|
||||
EncryptionBinaryData2=004215c0
|
||||
ReloadBitmapFile=0040BFD0
|
||||
|
||||
; Builtins
|
||||
___security_cookie=498b20
|
||||
__security_check_cookie=00480dc1
|
||||
_malloc=004813a3
|
||||
_calloc=00487701
|
||||
_free=0048128B
|
||||
_memset=00480d30
|
||||
_sprintf=00481010
|
||||
_fopen=00480FFD
|
||||
_fread=00480f55
|
||||
|
||||
; Strings
|
||||
credit_script=48f918
|
||||
format=0048C374
|
||||
str_rb=0048C37C
|
||||
str_casts=0048c380
|
||||
#enddefine
|
||||
|
||||
push ebp
|
||||
mov ebp, esp
|
||||
sub esp, 108 ; 00000108H
|
||||
mov eax, [___security_cookie]
|
||||
mov [ArrayPad], eax
|
||||
; Line 241
|
||||
mov eax, [Credit.pData]
|
||||
push esi
|
||||
xor esi, esi
|
||||
push edi
|
||||
test eax, eax
|
||||
je :$LN2@StartCredi
|
||||
; Line 243
|
||||
push eax
|
||||
call _free
|
||||
pop ecx
|
||||
; Line 244
|
||||
mov [Credit.pData], esi
|
||||
|
||||
:$LN2@StartCredi
|
||||
; Line 248
|
||||
push [credit_script]
|
||||
lea eax, [path]
|
||||
push gDataPath
|
||||
push format
|
||||
push eax
|
||||
call _sprintf
|
||||
; Line 250
|
||||
lea eax, [path]
|
||||
push eax
|
||||
call GetFileSizeLong
|
||||
add esp, 14 ; 00000014H
|
||||
mov [Credit.size], eax
|
||||
; Line 251
|
||||
cmp eax, -1
|
||||
je :$LN8@StartCredi
|
||||
; Line 255
|
||||
push eax
|
||||
call _malloc
|
||||
mov [Credit.pData], eax
|
||||
pop ecx
|
||||
; Line 256
|
||||
test eax, eax
|
||||
je :$LN8@StartCredi
|
||||
; Line 259
|
||||
lea eax, [path]
|
||||
push str_rb
|
||||
push eax
|
||||
call _fopen
|
||||
pop ecx
|
||||
pop ecx
|
||||
; Line 260
|
||||
test eax, eax
|
||||
jne :$LN5@StartCredi
|
||||
; Line 262
|
||||
push [Credit.pData]
|
||||
call _free
|
||||
pop ecx
|
||||
:$LN8@StartCredi
|
||||
; Line 299
|
||||
xor eax, eax
|
||||
:$LN1@StartCredi
|
||||
pop edi
|
||||
pop esi
|
||||
mov ecx, [ArrayPad]
|
||||
call __security_check_cookie
|
||||
leave
|
||||
retn
|
||||
:$LN5@StartCredi
|
||||
; Line 267
|
||||
push eax
|
||||
push [Credit.size]
|
||||
xor edi, edi
|
||||
inc edi
|
||||
push edi
|
||||
push [Credit.pData]
|
||||
call _fread
|
||||
; Line 274
|
||||
push [Credit.size]
|
||||
push [Credit.pData]
|
||||
call EncryptionBinaryData2
|
||||
; Line 293
|
||||
push 25 ; 00000025H
|
||||
push str_casts
|
||||
mov [Credit.offset], esi
|
||||
mov [Credit.wait], esi
|
||||
mov [Credit.mode], edi
|
||||
mov [Illust.x], fffec000 ; fffec000H
|
||||
mov [Illust.act_no], esi
|
||||
mov [grcGame.left], 0a0 ; 000000a0H
|
||||
call ReloadBitmapFile
|
||||
add esp, 20 ; 00000020H
|
||||
test eax, eax
|
||||
je SHORT :$LN8@StartCredi
|
||||
; Line 297
|
||||
mov eax, [Strip_addr]
|
||||
test eax, eax
|
||||
je :blah
|
||||
|
||||
push eax
|
||||
call _free
|
||||
pop ecx
|
||||
|
||||
:blah
|
||||
push size
|
||||
push MAX_STRIP
|
||||
call _calloc
|
||||
add ESP,8
|
||||
mov [Strip_addr],EAX
|
||||
; Line 298
|
||||
mov eax, edi
|
||||
jmp :$LN1@StartCredi
|
||||
|
||||
data cc cc cc cc cc cc cc cc
|
||||
107
cs-hacks/Infinite Orgs/InfiniOrg.xml
Normal file
107
cs-hacks/Infinite Orgs/InfiniOrg.xml
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<hack name="SuperOrg" author="txin">
|
||||
<panel>
|
||||
<panel title="Info">
|
||||
</panel>
|
||||
<field type="info" col="0">
|
||||
Causes the game to load music and instruments from files instead of resources.
|
||||
This effectively allows for near unlimited music files in a mod.
|
||||
</field>
|
||||
<field type="info" col="0">
|
||||
<CMUabcd will now change the current music to "data\Orgs\abcd.org".
|
||||
"abcd" can be any ascii character, and letters are case sensitive.
|
||||
It will also load the instruments within "data\Orgs\abcd.dat" as a wave100 file.
|
||||
</field>
|
||||
<field type="info" col="0">
|
||||
If the "*.dat" file is not found, the game will simply skip loading it.
|
||||
However, if the "*.org" file is not found, the game may crash.
|
||||
The default/empty org is "0000.org", and the default wave100 is "0000.dat".
|
||||
</field>
|
||||
<panel title="Customize" col="0">
|
||||
</panel>
|
||||
<panel>
|
||||
<panel title="" col="0">
|
||||
<field type="label">New *.org size limit (bytes)</field>
|
||||
|
||||
<field type="text" size="4" offset="0x41BAED" col="1">1048576</field>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel title="Data" col="0">
|
||||
</panel>
|
||||
<panel>
|
||||
<field type="data" offset="0x40FDF4" col="0">
|
||||
89 85 9C FE FF FF 85 C0 74 58 3D 28 23 00 00 7D
|
||||
0F 6A 04 8F 85 E4 FE FF FF 68 30 30 30 32 EB 47
|
||||
3D E0 2E 00 00 7D 0F 6A 03 8F 85 E4 FE FF FF 68
|
||||
30 30 34 31 EB 31 3D 98 3A 00 00 7D 0F 6A 02 8F
|
||||
85 E4 FE FF FF 68 30 30 34 30 EB 1B 3D 50 46 00
|
||||
00 7D 0F 6A 01 8F 85 E4 FE FF FF 68 30 30 33 36
|
||||
EB 05 68 30 30 32 34 E8 80 10 01 00 58 90 90 90
|
||||
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
|
||||
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
|
||||
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
|
||||
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
|
||||
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
|
||||
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
|
||||
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
|
||||
</field>
|
||||
<field type="data" offset="0x41B379" col="1">
|
||||
2E 64 61 74 00 CC CC 60 89 E5 8B 7D 24 6A 7F 59
|
||||
31 C0 89 CA F2 AE E3 47 29 CA 89 D1 8B 75 24 BF
|
||||
B9 4F 49 00 F3 A4 68 48 C7 48 00 68 B0 4F 49 00
|
||||
6A 05 59 E8 50 8F 00 00 F3 A4 E8 45 5C 06 00 85
|
||||
C0 74 1C 50 93 6A 01 68 00 64 00 00 68 00 E7 49
|
||||
00 E8 86 5B 06 00 53 E8 46 5A 06 00 31 C0 40 89
|
||||
45 1C 89 EC 61 C3 CC B8 F4 57 4A 00 89 08 C3 CC
|
||||
CC CC CC CC CC CC CC
|
||||
</field>
|
||||
<field type="data" offset="0x41BAD0" col="2">
|
||||
60 8B EC 81 EC 9C 00 00 00 A1 20 8B 49 00 89 45
|
||||
EC 56 89 8D 64 FF FF FF C6 45 F7 00 68 00 00 10
|
||||
00 E8 AD 58 06 00 89 45 FC FF 75 24 E8 7F F8 FF
|
||||
FF 6A 05 BE A3 C0 41 00 59 F3 A4 68 48 C7 48 00
|
||||
68 B0 4F 49 00 E8 E3 54 06 00 93 31 C0 40 E8 E8
|
||||
87 00 00
|
||||
</field>
|
||||
<field type="data" offset="0x41C09D" col="3">
|
||||
8B E5 61 C2 04 00 2E 6F 72 67 00 CC
|
||||
</field>
|
||||
<field type="data" offset="0x41C6B1" col="4">
|
||||
30 30 30 30 00 CC CC CC CC CC CC CC CC CC CC 55
|
||||
8B EC 8B 0D E8 57 4A 00 E3 21 68 B1 C6 41 00 E8
|
||||
AB EC FF FF 85 C0 75 04 33 C0 EB 0F B9 18 4E 4A
|
||||
00 E8 69 EF FF FF B8 01 00 00 00 C9 C3
|
||||
</field>
|
||||
<field type="data" offset="0x420EE0" col="0">
|
||||
55 8B EC 8B 4D 08 E3 0A 3B 0D F4 57 4A 00 75 02
|
||||
C9 C3 E8 79 B8 FF FF BA F4 57 4A 00 89 42 04 8B
|
||||
0A 89 4A 08 E8 E7 B8 FF FF 83 7D 08 00 75 07 C7
|
||||
45 08 30 30 30 30 E8 1F 34 00 00 9B E8 CF B7 FF
|
||||
FF 83 C4 04 6A 64 E8 95 B8 FF FF 83 C4 04 6A 00
|
||||
E8 FB B7 FF FF 83 C4 04 E8 53 B8 FF FF 8B 4D 08
|
||||
E8 9B A4 FF FF C9 C3 CC
|
||||
</field>
|
||||
<field type="data" offset="0x420F50" col="1">
|
||||
60 8B EC E8 18 B8 FF FF 97 E8 92 B8 FF FF BE F4
|
||||
57 4A 00 8B 1E 8B 46 08 B9 A8 4F 49 00 89 01 C6
|
||||
41 04 00 51 E8 77 B7 FF FF FF 76 04 E8 AF B7 FF
|
||||
FF 6A 64 E8 38 B8 FF FF E8 03 B8 FF FF 8B 46 08
|
||||
89 06 89 7E 08 89 EC 61 C3
|
||||
</field>
|
||||
<field type="data" offset="0x4242DA" col="2">
|
||||
B9 E0 5A 4A 00 8B 51 F8 03 11 81 3A 3C 43 4D 55
|
||||
75 60 FF 72 04 E8 EC CB FF FF 58 83 05 E0 5A 4A
|
||||
00 08 E9 CA E2 FF FF BE 79 B3 41 00 4F 89 7D 00
|
||||
C3 8B 75 FC 3C 01 75 0F 53 50 50 56 E8 3A CC 05
|
||||
00 46 83 C4 10 EB ED 8B 0D D4 4F 49 00 E3 07 51
|
||||
E8 5C CF 05 00 59 8B 55 FC 89 15 D4 4F 49 00 C3
|
||||
5A B9 A8 4F 49 00 8B 45 08 89 01 C6 41 04 00 51
|
||||
FF E2
|
||||
</field>
|
||||
<field type="data" offset="0x494FB0" col="3">
|
||||
64 61 74 61 5C 4F 72 67 5C 51 57 45 52 54 59 55
|
||||
49 4F 50 2E 64 61 74 00
|
||||
</field>
|
||||
</panel>
|
||||
</panel>
|
||||
</hack>
|
||||
48
cs-hacks/InstantTextDisplay/AutoSpeedText.xml
Normal file
48
cs-hacks/InstantTextDisplay/AutoSpeedText.xml
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<hack name="SpeedText" author="txin">
|
||||
<panel>
|
||||
<panel title="Description">
|
||||
</panel>
|
||||
<field type="info">
|
||||
Causes message box text to scroll instantly, displaying = signs as circles.
|
||||
</field>
|
||||
<panel title="Data">
|
||||
</panel>
|
||||
<panel>
|
||||
<field type="data" offset="0x421d01" col="0">
|
||||
FE 45 D4 C3
|
||||
</field>
|
||||
<field type="data" offset="0x422573" col="1">
|
||||
6A 01 5A B9 28 36 49 00 A1 10 E2 49 00 F6 C4 02
|
||||
71 24 85 01 74 03 C1 F2 02 85 41 04 74 03 C1 F2
|
||||
02 B9 FC 5A 4A 00 01 11 83 39 04 0F 8C 98 31 00
|
||||
00 83 21 00 EB 1B 42 EB DD 90 90 90 90 90 90 90
|
||||
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
|
||||
90 C7 45 D4 00 00 00 00 83 7D D4 00 0F 85 9C 2F
|
||||
00 00 8B 0D D8 5A 4A 00 03 0D E0 5A 4A 00 0F BE
|
||||
11 83 FA 3C 0F 85 BF 2C 00 00 81 39 3C 45 4E 44
|
||||
75 71 C6 05 DC 5A 4A 00 00 80 25 38 E6 49 00 FE
|
||||
80 0D E8 E1 49 00 03 83 25 0C 5B 4A 00 00 6A 01
|
||||
8F 45 D4 EB B3 90 90 90 90 90 90 90 90 B9 28 36
|
||||
49 00 A1 10 E2 49 00 F6 C4 02 71 09 85 01 74 12
|
||||
85 41 04 74 0D 6A 00 6A 00 E8 0F 00 00 00 89 45
|
||||
D4 C3 6A 01 58 EB F7 90 90 90 90 90 90 B9 B1 37
|
||||
49 00 8B 44 E4 08 80 09 01 9B C2 08 00 90 90 90
|
||||
90 90 90
|
||||
</field>
|
||||
<field type="data" offset="0x423654" col="2">
|
||||
00
|
||||
</field>
|
||||
<field type="data" offset="0x4236B4" col="2">
|
||||
00
|
||||
</field>
|
||||
<field type="data" offset="0x425565" col="0">
|
||||
E8 B6 D0 FF FF D9 D0 E9 5A D0 FF FF E9 C6 01 00 00
|
||||
</field>
|
||||
<field type="data" offset="0x425737" col="1">
|
||||
E9 00 00 00 00 80 3D DC 5A 4A 00 00 75 0E 83 25 E8 E1 49 00 FB
|
||||
65 66 0F 19 C4
|
||||
</field>
|
||||
</panel>
|
||||
</panel>
|
||||
</hack>
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
0x40CD91
|
||||
03
|
||||
0x40CDC8
|
||||
03
|
||||
4
cs-hacks/MiscHexPatches/FixNegativeWeaponSlot.txt
Normal file
4
cs-hacks/MiscHexPatches/FixNegativeWeaponSlot.txt
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
0x40149E
|
||||
8B 4D F8 49 79 01 41 B8 68 9C 49 00 31 D2 39 10
|
||||
7D 02 89 08 39 08 7E 14 89 10 90 90 90 90 90 90
|
||||
90 90 90 90 90 90 90 90 90 90 90 90
|
||||
2
cs-hacks/MiscHexPatches/FixSLPFlicker.txt
Normal file
2
cs-hacks/MiscHexPatches/FixSLPFlicker.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
0x41DB17
|
||||
95 EA
|
||||
9
cs-hacks/MiscHexPatches/Misc.txt
Normal file
9
cs-hacks/MiscHexPatches/Misc.txt
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
this file isn't a real hex patch; it's a copy and paste of peri's discord message on 5 dec 2024:
|
||||
|
||||
---
|
||||
|
||||
There is an undocumented hex edit to increase the size of the Casts.bmp surface (0x411569: F0 00 -> E0 01, which I presume we just used BL's hacks/intro/surface_bitmap_sizes.xml here);
|
||||
|
||||
There is an undocumented hex edit to increase the TSC buffer size (0x421545: 00 50 00 -> 20 A1 07, again this was probably from the BL hack and we never wrote it down);
|
||||
|
||||
Randomly the byte at 0x414B24 was changed from 0x80 to 0x5F, which is the number of bytes to memset when initializing the map flag array. Not sure why this was changed, but the multiworld DLL overwrites this function anyways so it doesn't really make a difference (anymore).
|
||||
5
cs-hacks/MultipleSLPs/Patches.txt
Normal file
5
cs-hacks/MultipleSLPs/Patches.txt
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
0x41D9C6
|
||||
A1 09 DF 49 00 90
|
||||
|
||||
0x41DA1F
|
||||
C7 45 F8 00 00 00 00 C7 45 FC 00 00 00 00
|
||||
56
cs-hacks/MultipleSLPs/Readme.txt
Normal file
56
cs-hacks/MultipleSLPs/Readme.txt
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
Author: Enlight
|
||||
|
||||
DUNC NOTE: flag range changed from 4008 through 4015 to 2888 through 2919 in rando
|
||||
also: skip the second patch it's not needed and also bugged
|
||||
|
||||
Instructions:
|
||||
1. Backup your .exe, then patch your .exe with the patches in patches.txt.
|
||||
2. Learn how to use the hack and setup your teleporters with the demonstration mod and the information below.
|
||||
3. Make a similar system in your mod.
|
||||
|
||||
|
||||
Important Files:
|
||||
Patches.txt - The first patch allows you to edit where teleporter menus draw. The 2nd one just fixes a graphic bug with slots 6 and 7.
|
||||
|
||||
OOBFlagGen.jar - What helps you generate the flags for the top framerects. Input address 49DF09 and the value will be how many pixels down you want
|
||||
the mod to START drawing the teleporter icons IN HEXADECIMAL. The rows are IN DECIMAL 0, 16, 32, 48, 64... etc. In HEXADECIMAL it's 0, 10, 20, 30 etc.
|
||||
Keep it in bytes. You will then copy the flags it generates (should be just over flag 4000) to use in your level TSC (explained below)
|
||||
|
||||
StageSelect.tsc - Example of how you can setup having different location names for different teleporters.
|
||||
This is just normal TSC using flags. The game is hardcoded to run events 1001-1007 for the slots, but flagjumps can change what it says.
|
||||
|
||||
The TSC file for Arthur's House (Pens1.tsc) - Example of how to setup everything else for the teleporters (explained below)
|
||||
|
||||
|
||||
~~~~~
|
||||
|
||||
|
||||
|
||||
Please open the demonstration mod in a CS editor of you choice to see how the tsc all comes together.
|
||||
The most important events though are the ones for displaying the teleporter.
|
||||
One of these events is shown below with comments.
|
||||
|
||||
#0100
|
||||
<KEY
|
||||
<FL-4008<FL-4009<FL-4010<FL-4011<FL-4012<FL-4013<FL-4014<FL-4015
|
||||
// What you generate with OOBFlagGen, tells the game the top framerect of where to draw the teleporter images.
|
||||
|
||||
<FL+5001<FL-5002<FL-5003<FL-5004
|
||||
// These are used like normal flags, telling StageSelect.tsc what to call the teleporter options.
|
||||
|
||||
<PS+0001:0110<PS+0002:0111<PS+0003:0112<PS+0004:0113
|
||||
// These are overwriting the teleporter slots to run events 110-113, this is what's saved to profile.dat
|
||||
but you can (probably) ignore that and just overwrite it every time before you display the tele menu.
|
||||
|
||||
<SLP<END
|
||||
// Displays the teleporter menu.
|
||||
|
||||
|
||||
|
||||
~~~~~
|
||||
|
||||
|
||||
|
||||
|
||||
If you have any other questions you can just contact me (Enlight) because I'm not good at writing tutorials at 4:30 AM
|
||||
<Cave Story ~ Doukutsu Monogatari> (C) Studio Pixel 2004
|
||||
108
cs-hacks/NegativeVerticalCreditOffset/ActionCredit_Read.txt
Normal file
108
cs-hacks/NegativeVerticalCreditOffset/ActionCredit_Read.txt
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
; ActionCredit_Read
|
||||
|
||||
offset 0040d684
|
||||
|
||||
#define
|
||||
var_a=ebp-30
|
||||
len=ebp-34
|
||||
var_text=ebp-2c
|
||||
|
||||
Credit.pData=49d614
|
||||
Credit.offset=49d618
|
||||
Credit.wait=49d61c
|
||||
Credit.start_x=49d624
|
||||
|
||||
_memcpy=4813c0
|
||||
GetScriptNumber=40db00
|
||||
SetStripper=40d150
|
||||
IsShiftJIS=410e90
|
||||
#enddefine
|
||||
|
||||
mov ecx,[Credit.offset]
|
||||
inc ecx
|
||||
mov [Credit.offset],ecx
|
||||
mov [var_a],ecx
|
||||
|
||||
:loop
|
||||
mov eax,[Credit.pData]
|
||||
add eax,[var_a]
|
||||
movsx ecx,BYTE [eax]
|
||||
cmp ecx,5d
|
||||
je :break
|
||||
push ecx
|
||||
call IsShiftJIS
|
||||
pop ecx
|
||||
mov ecx,[var_a]
|
||||
test eax,eax
|
||||
je :notShiftJIS
|
||||
inc ecx
|
||||
:notShiftJIS
|
||||
inc ecx
|
||||
mov [var_a],ecx
|
||||
jmp :loop
|
||||
|
||||
:break
|
||||
; len = a - Credit.offset
|
||||
mov edx,[var_a]
|
||||
sub edx,[Credit.offset]
|
||||
mov [len],edx
|
||||
|
||||
push edx ; Arg3 = len
|
||||
|
||||
mov ecx,[Credit.pData]
|
||||
add ecx,[Credit.offset]
|
||||
push ecx ; Arg2 = &Credit.pData[Credit.offset]
|
||||
|
||||
lea ecx,[var_text]
|
||||
push ecx ; Arg1 = text
|
||||
|
||||
call _memcpy
|
||||
add esp,0c
|
||||
|
||||
; text[len] = '\0'
|
||||
mov ecx,[len]
|
||||
mov [ecx+var_text],0
|
||||
|
||||
; Credit.offset = a+1
|
||||
mov eax,[var_a]
|
||||
inc eax
|
||||
mov [Credit.offset],eax
|
||||
|
||||
|
||||
add eax,[Credit.pData]
|
||||
push eax ; Arg1 = &Credit.pData[Credit.offset]
|
||||
call GetScriptNumber
|
||||
; len = GetScriptNumber
|
||||
mov [len],eax
|
||||
pop ecx
|
||||
|
||||
push eax ; Arg4 = len
|
||||
|
||||
lea eax,[var_text]
|
||||
push eax ; Arg3 = text
|
||||
|
||||
mov edx,1f000
|
||||
mov eax,[Credit.wait]
|
||||
cmp eax,0
|
||||
jge :more
|
||||
imul eax,eax,200
|
||||
add edx,eax
|
||||
:more
|
||||
push edx
|
||||
|
||||
mov eax,[Credit.start_x]
|
||||
push eax ; Arg1 = Credit.start_x
|
||||
|
||||
call SetStripper
|
||||
add esp,10
|
||||
|
||||
; Credit.wait = 0
|
||||
mov [Credit.wait],0
|
||||
|
||||
; Credit.offset += 0
|
||||
mov eax,[Credit.offset]
|
||||
add eax,4
|
||||
mov [Credit.offset],eax
|
||||
jmp 0040da6a
|
||||
|
||||
|
||||
17
cs-hacks/RunWhenLosingFocus/gameFocus.xml
Normal file
17
cs-hacks/RunWhenLosingFocus/gameFocus.xml
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<hack name="noLoseFocus" author="Clownacy / txin">
|
||||
<panel>
|
||||
<field type="info">
|
||||
Prevents the game stopping when in the background
|
||||
</field>
|
||||
<field type="data" offset="0x413593">
|
||||
71
|
||||
</field>
|
||||
<field type="data" offset="0x412BC0">
|
||||
C3
|
||||
</field>
|
||||
<field type="data" offset="0x412BF0">
|
||||
C3
|
||||
</field>
|
||||
</panel>
|
||||
</hack>
|
||||
99
cs-hacks/TitleScreenHash/Titlescreen_Hash_Display_Patch.txt
Normal file
99
cs-hacks/TitleScreenHash/Titlescreen_Hash_Display_Patch.txt
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
0x434101
|
||||
8B 75 08 8B 46 10 01 46 08 8B 46 14 01 46 0C 6A
|
||||
20 59 3E 83 A4 8D 7C FF FF FF 00 E2 F5 C6 45 C0
|
||||
20 C6 45 C4 20 C6 45 C8 30 C6 45 CC 30 C6 45 D0
|
||||
30 C6 45 D4 20 C6 45 D8 40 C6 45 DC 30 C6 45 E0
|
||||
40 C6 45 E4 20 C6 45 E8 50 C6 45 EC 30 C6 45 F0
|
||||
50 C6 45 F4 20 C6 45 F8 60 C6 45 FC 30 C6 45 80
|
||||
20 C6 45 84 30 C6 45 88 30 C6 45 8C 40 C6 45 90
|
||||
30 C6 45 94 30 C6 45 98 40 C6 45 9C 40 C6 45 A0
|
||||
40 C6 45 A4 30 C6 45 A8 50 C6 45 AC 40 C6 45 B0
|
||||
50 C6 45 B4 30 C6 45 B8 60 C6 45 BC 40 FF 46 64
|
||||
83 7E 64 01 7E 07 83 66 64 00 FF 46 68 83 7E 68
|
||||
02 7E 04 83 66 68 00 89 F7 83 C7 54 8B 46 68 C1
|
||||
E0 04 83 7E 4C 00 75 06 8D 74 05 C0 EB 04 8D 74
|
||||
05 80 6A 04 59 F3 A5 C9 C3 CC CC CC CC CC CC 64
|
||||
61 74 61 5C 68 61 73 68 2E 74 78 74 00 CC CC C8
|
||||
34 01 00 6A 02 6A 05 E8 04 35 05 00 83 C4 04 89
|
||||
45 DC 68 E0 41 43 00 68 28 E3 49 00 68 40 C7 48
|
||||
00 8D 85 CC FE FF FF 50 E8 F2 CD 04 00 83 C4 10
|
||||
68 8C C2 48 00 8D 85 CC FE FF FF 50 E8 CB CD 04
|
||||
00 83 C4 08 85 C0 75 05 8B 45 DC C9 C3 50 6A 01
|
||||
6A 20 8D 45 E0 50 E8 09 CD 04 00 83 C4 0C E8 C7
|
||||
CB 04 00 83 C4 04 31 C9 31 D2 31 DB 30 E4 8A 44
|
||||
29 E0 3C 30 72 0F 3C 39 77 0B 2C 30 6B DB 0A 66
|
||||
01 C3 41 EB E9 8B 45 DC 66 89 1C 50 41 42 83 FA
|
||||
05 7C D7 C9 C3 CC CC CC CC CC CC CC CC CC CC CC
|
||||
CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC
|
||||
CC CC CC CC CC CC CC CC CC
|
||||
|
||||
0x433CC7
|
||||
43
|
||||
0x433EFB
|
||||
8B 75 08 83 46 14 40 81 7E 14 FF 05 00 00 7E 07
|
||||
C7 46 14 FF 05 00 00 8B 46 10 01 46 08 8B 46 14
|
||||
01 46 0C 8B 45 08 89 F7 83 C7 54 8B 46 68 C1 E0
|
||||
04 83 7E 4C 00 75 06 8D 74 05 D0 EB 04 8D 74 05
|
||||
A0 6A 04 59 F3 A5 C9 C3 CB 3C 43 00 E7 3C 43 00
|
||||
59 3E 43 00 BC 3E 43 00 CC CC CC CC CC CC CC CC
|
||||
CC CC CC CC CC C8 10 00 00 6A 41 5B 6A 05 59 8B
|
||||
75 08 0F B7 06 6A 08 5F 31 D2 F7 F7 6B D2 20 6B
|
||||
C0 10 89 55 F0 89 45 F4 83 C2 20 83 C0 10 89 55
|
||||
F8 89 45 FC 51 6A 08 8D 45 F0 50 6A 08 53 68 1C
|
||||
F9 48 00 E8 1D 84 FD FF 5B 5B 83 C4 0C 59 83 C3
|
||||
28 83 C6 02 E2 BC C9 C3 CC CC
|
||||
|
||||
0x40F9B5
|
||||
F4
|
||||
0x40FD8A
|
||||
E8 61 44 02 00 89 85 0C FE FF FF 83 A5 64 FF FF
|
||||
FF 00 83 A5 E4 FE FF FF 00 83 A5 9C FE FF FF 00
|
||||
68 20 20 20 00 E8 FC CA FF FF 89 45 C0 58
|
||||
0x40FF0D
|
||||
55
|
||||
0x40FF52
|
||||
10
|
||||
0x40FF8F
|
||||
2A
|
||||
0x40FF99
|
||||
20
|
||||
0x410141
|
||||
CF
|
||||
0x4102FB
|
||||
FF 75 C4 8D 85 FC FE FF FF 50 FF B5 0C FF FF FF
|
||||
6A 74 68 1C F9 48 00 E8 A9 C0 FF FF 83 C4 14 6A
|
||||
00 6A 00 E8 9D A8 FF FF 83 C4 08 FF B5 0C FE FF
|
||||
FF E8 2F 3C 02 00 83 C4 04 83 BD 9C FE FF FF 00
|
||||
74 0C 6A 08 6A 10 E8 EA A0 00 00 83 C4 04 E8 22
|
||||
20 00 00 FF 35 58 E4 49 00 E8 E7 AF FF FF 83 C4
|
||||
04 85 C0 0F 85 A0 FB FF FF EB 57 6A 00 E8 73 0B
|
||||
01 00 83 C4 04 FF 15 24 C1 48 00 89 85 E8 FE FF
|
||||
FF FF 15 24 C1 48 00 8B 8D E8 FE FF FF 81 C1 E8
|
||||
03 00 00 39 C8 73 28 6A 00 68 1C F9 48 00 E8 42
|
||||
C6 FF FF 83 C4 08 E8 CA 1F 00 00 FF 35 58 E4 49
|
||||
00 E8 8F AF FF FF 83 C4 04 85 C0 75 C4 EB 03 6A
|
||||
03 58 50 FF B5 0C FE FF FF E8 C2 0E 07 00 83 C4
|
||||
04 58 C9 C3 45 01 41 00 98 01 41 00 EB 01 41 00
|
||||
3E 02 41 00 8E 02 41 00 CC CC CC CC CC CC CC CC
|
||||
CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC CC
|
||||
CC CC CC CC CC
|
||||
|
||||
----------Specifications:
|
||||
|
||||
The hack reads the first 5 item numbers listed in data\hash.txt, and displays them on the title screen in order.
|
||||
The item numbers in data\hash.txt can be separated by any non-numerical character.
|
||||
If data\hash.txt does not exist, the title screen will display item 0 in all 5 slots.
|
||||
|
||||
The hack optimises NPCs 64 and 65's velocity and frame code.
|
||||
|
||||
004341F0 - load items from hash.txt
|
||||
00433F60 - render title screen items
|
||||
|
||||
----------Limitations:
|
||||
|
||||
If you enter item numbers in hash.txt over 65535, it will not work properly.
|
||||
If hash.txt is more than 31 bytes large, a buffer will overflow, and the game will likely crash. That said, due to the previous limitation, this should never happen.
|
||||
|
||||
----------Info:
|
||||
|
||||
This is version 1.2 of the "Titlescreen Hash Display" hack, created by zxin and commissioned by duncathan_salt.
|
||||
103
cs-hacks/VersionFromFile/version_from_file.txt
Normal file
103
cs-hacks/VersionFromFile/version_from_file.txt
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
; Reads version number from data\version.txt
|
||||
; The file must start with the version string in the format shown at the bottom of this file
|
||||
; Made by periwinkle
|
||||
|
||||
#define
|
||||
gDataPath=49E220
|
||||
gVersionString=48C2BC
|
||||
sprintf=481010
|
||||
fopen=480FFD
|
||||
rb=48C28C
|
||||
fread=480F55
|
||||
fclose=480E1B
|
||||
sscanf=4817E8
|
||||
call VirtualProtect=data ff 15 84 c0 48 00
|
||||
filePath=[ebp-114]
|
||||
bufchk=[ebp-10]
|
||||
tmp=[ebp-c]
|
||||
oldProtect=[ebp-8]
|
||||
fp=[ebp-4]
|
||||
v1=[ebp+8]
|
||||
v2=[ebp+c]
|
||||
v3=[ebp+10]
|
||||
v4=[ebp+14]
|
||||
#enddefine
|
||||
|
||||
offset 410990 ; GetCompileVersion
|
||||
push ebp
|
||||
mov ebp, esp
|
||||
sub esp, 114
|
||||
mov eax, [498B20]
|
||||
mov bufchk, eax
|
||||
|
||||
; Get path to data\version.txt file
|
||||
push gDataPath
|
||||
push :VersionPath ; "%s\version.txt"
|
||||
lea edx, filePath
|
||||
push edx
|
||||
call sprintf
|
||||
add esp, c
|
||||
|
||||
; Open file
|
||||
push rb ; "rb"
|
||||
lea ecx, filePath
|
||||
push ecx
|
||||
call fopen
|
||||
add esp, 8
|
||||
test eax, eax
|
||||
jz :ReadVersion
|
||||
mov fp, eax
|
||||
|
||||
; Mark gVersionString as read/write (it's normally in a read-only segment)
|
||||
lea eax, oldProtect
|
||||
push eax
|
||||
push 4 ; PAGE_READWRITE
|
||||
push 40 ; Max size of gVersionString (including null character)
|
||||
push gVersionString
|
||||
call VirtualProtect
|
||||
test eax, eax
|
||||
jz :CloseFile
|
||||
|
||||
; Read contents of file into gVersionString
|
||||
push fp
|
||||
|
||||
push 3F ; count (excluding null character)
|
||||
push 1 ; size
|
||||
push gVersionString
|
||||
call fread
|
||||
add esp, 10
|
||||
mov byte [eax+gVersionString], 0 ; Write null terminator
|
||||
|
||||
; Restore previous protection status
|
||||
lea eax, tmp
|
||||
push eax
|
||||
push oldProtect
|
||||
push 40
|
||||
push gVersionString
|
||||
call VirtualProtect
|
||||
|
||||
:CloseFile
|
||||
push fp
|
||||
call fclose
|
||||
pop ecx
|
||||
|
||||
:ReadVersion
|
||||
; Parse the version string
|
||||
push v4
|
||||
push v3
|
||||
push v2
|
||||
push v1
|
||||
push :VersionString
|
||||
push gVersionString
|
||||
call sscanf
|
||||
add esp, 18
|
||||
|
||||
mov ecx, bufchk
|
||||
call 480DC1
|
||||
leave
|
||||
retn
|
||||
|
||||
:VersionPath
|
||||
data 25 73 5C 76 65 72 73 69 6F 6E 2E 74 78 74 00 00 ; "%s\version.txt"
|
||||
:VersionString
|
||||
data 76 25 64 2E 25 64 2E 25 64 2E 25 64 00 ; "v%d.%d.%d.%d"
|
||||
695
docs/csresearch.md
Normal file
695
docs/csresearch.md
Normal file
|
|
@ -0,0 +1,695 @@
|
|||
# Cave Story Research Compendium
|
||||
*A guide to Cave Story's file formats and important hacks*
|
||||
|
||||
**by fdeitylink**
|
||||
|
||||
**Last updated 2019-10-23**
|
||||
|
||||
## Rationale
|
||||
* Learning more about Cave Story for my own edification
|
||||
* File formats & important hacks weren't all published and collected
|
||||
* Actually, they *are* included with Miza, but I hadn't realized this when beginning
|
||||
|
||||
## Notes
|
||||
* Some information may be incorrect - S.P. Gardebiter's guides are a bit old. Feel free to tell me of any information that is incorrect or in need of an update.
|
||||
* Cave Story was made for Windows and x86 architecture, which leads to some nuances to look out for
|
||||
* Newlines are encoded as `\r\n` (affects TSC)
|
||||
* Multibyte data is encoded in little endian format
|
||||
|
||||
## Credits
|
||||
Big thanks to all of the following people for much of the following information!
|
||||
* Carrotlord for the TSC file format
|
||||
* q3hardcore for the (C)Pixel requirement removal hack
|
||||
* S.P. Gardebiter for the PXA file format values, the executable mapdata format, and the `npc.tbl` format
|
||||
* Noxid for Booster's Lab
|
||||
* Used to determine how particular edits affected the files
|
||||
* Provided newest information, especially tileset and sound values for `npc.tbl`
|
||||
|
||||
*WIthout further ado, let's begin!*
|
||||
|
||||
## Flags
|
||||
### Setting Flags
|
||||
Bitwise OR the current flags with the flag to set
|
||||
|
||||
`flags |= flag`
|
||||
|
||||
### Unsetting Flags
|
||||
Bitwise XOR the flag to set with `0b1111_1111`
|
||||
|
||||
Bitwise AND the current flags with that result
|
||||
|
||||
`flags &= (flag ^ 0xFF)`
|
||||
|
||||
### Checking Flags
|
||||
Bitwise AND the current flags with the flag to check
|
||||
|
||||
Returns flag if it is set, `0` otherwise
|
||||
|
||||
`is_set = (flags & flag)`
|
||||
|
||||
## TSC File Format
|
||||
* The encoding character is the middle character in the file (i.e. the character at `floor(file_size / 2)`.
|
||||
* For example, if the file size is 313 bytes, the encoding character is at the 156th byte.
|
||||
* During encoding, all characters in the file, except for the encoding character itself, have the value of the encoding character added to them.
|
||||
* To be clear, the encoding character itself, at the middle of the file, is *not* encoding, but other instances of it can be. If the encoding character was `a`, that one instance of `a` would not be encoded, but others would be.
|
||||
* To encode a TSC file, add the value of the encoding character to all characters *except* for the encoding character.
|
||||
* To be clear, do not encode the middle byte of the file
|
||||
* It then follows that to decode a TSC file, subtract the value of the encoding character from each character
|
||||
* Also note that newlines in TSC files are Windows-style (`"\r\n"`), so they take up two bytes that should each be treated as independent characters when encoding and decoding.
|
||||
|
||||
## Removing the `(C)Pixel` Requirement
|
||||
|
||||
| Offset | Old Value | New Value |
|
||||
|-----------|-----------|-----------|
|
||||
| `0x1136C` | `0x74` | `0xEB` |
|
||||
| `0x8C4D8` | `0x28` | `0x00` |
|
||||
|
||||
In every `.pbm` file, find the `(C)Pixel` at the end and replace the `(` with the null character (`0x00`)
|
||||
|
||||
## Enabling bitmaps
|
||||
|
||||
| Offset | Old Value | New Value |
|
||||
|---------------------------------|-----------|-----------|
|
||||
| `0x8C286`, `0x8C30A`, `0x8C32E` | `0x70` | `0x62` |
|
||||
| `0x8C287`, `0x8C30B`, `0x8C32F` | `0x62` | `0x6D` |
|
||||
| `0x8C288`, `0x8C30C`, `0x8C330` | `0x6D` | `0x70` |
|
||||
|
||||
## `npc.tbl` Format
|
||||
* Cave Story has 361 (`0x169`) entities numbered from 0 to 360
|
||||
* `npc.tbl` contains 11 sets of data. The starting address of each set is a multiple of `0x169`.
|
||||
* Each set of data contains the corresponding value for each entity, in order.
|
||||
* For example: At offset `0x02D2` is the Health data for entity 0. At offset `0x02D4` is the Health data for entity 1.
|
||||
|
||||
| Offset | Description | Size per Entity (bytes) |
|
||||
| ------------|------------------------|-------------------------|
|
||||
| `0x0000` | Flags | 2 |
|
||||
| `0x02D2` | Health | 2 |
|
||||
| `0x05A4` | Tileset Number | 1 |
|
||||
| `0x070D` | Death Sound | 1 |
|
||||
| `0x0876` | Hurt Sound | 1 |
|
||||
| `0x09DF` | Death Smoke | 1 |
|
||||
| `0x0B48` | Experience | 4 |
|
||||
| `0x10EC` | Damage | 4 |
|
||||
| `0x1690` | Collision Bounding Box | 4 |
|
||||
| `0x1C34` | Display Bounding Box | 4 |
|
||||
|
||||
### Flags
|
||||
#### Byte 1
|
||||
* `0x01`: Solid
|
||||
* `0x02`: No effect about Tile 44
|
||||
* `0x04`: Invulnerable (Blink Sound)
|
||||
* `0x08`: Ignore solid
|
||||
* `0x10`: Bouncing at top
|
||||
* `0x20`: Shootable
|
||||
* `0x40`: Special Solid
|
||||
* `0x80`: Rear and top no damage
|
||||
|
||||
#### Byte 2
|
||||
* `0x01`: Call Event on Contact
|
||||
* `0x02`: Call Event on Death
|
||||
* `0x04`: Drop Hearts and EXP [Unused]
|
||||
* `0x08`: Visible if FlagID is set
|
||||
* `0x10`: Spawn with Alternate Direction
|
||||
* `0x20`: Call Event on Interaction
|
||||
* `0x40`: Invisible if FlagID is set
|
||||
* `0x80`: Show Damage Numbers ? ("Interactable" in Booster's Lab)
|
||||
|
||||
### Tilesets
|
||||
* `0x00`: title.pbm
|
||||
* `0x01`: '2004.12 Studio Pixel'
|
||||
* `0x02`: Current map tileset
|
||||
* `0x03`: [Unused]
|
||||
* `0x04`: [Unused]
|
||||
* `0x05`: [Unused]
|
||||
* `0x06`: Fade.pbm
|
||||
* `0x07`: [Unused]
|
||||
* `0x08`: ItemImage.pbm
|
||||
* `0x09`: Map System Buffer
|
||||
* `0x0A`: Screen Buffer
|
||||
* `0x0B`: Arms.pbm
|
||||
* `0x0C`: ArmsImage.pbm
|
||||
* `0x0D`: MNA Text Buffer
|
||||
* `0x0E`: StageImage.pbm
|
||||
* `0x0F`: Loading.pbm
|
||||
* `0x10`: MyChar.pbm
|
||||
* `0x11`: Bullet.pbm
|
||||
* `0x12`: [Unused]
|
||||
* `0x13`: Caret.pbm
|
||||
* `0x14`: Npc/NpcSym.pbm
|
||||
* `0x15`: Map NPC Set 1
|
||||
* `0x16`: Map NPC Set 2
|
||||
* `0x17`: Npc/NpcRegu.pbm
|
||||
* `0x18`: [Unused]
|
||||
* `0x19`: [Unused]
|
||||
* `0x1A`: TextBox.pbm
|
||||
* `0x1B`: Face.pbm
|
||||
* `0x1C`: Current Map BG
|
||||
* `0x1D`: Damage # Buffer
|
||||
* `0x1E`: Textbox Buffer 1
|
||||
* `0x1F`: Textbox Buffer 2
|
||||
* `0x20`: Textbox Buffer 3
|
||||
* `0x21`: [???]
|
||||
* `0x22`: [Unused]
|
||||
* `0x23`: Credits Buffer 1
|
||||
* `0x24`: Credits Buffer 2
|
||||
* `0x25`: Credits Buffer 3
|
||||
* `0x26`: [Unused]
|
||||
* `0x27`: [Unused]
|
||||
|
||||
### Hurt / Death Sounds
|
||||
* `0x00`: [Nothing]
|
||||
* `0x01`: Blip
|
||||
* `0x02`: Message Typing
|
||||
* `0x03`: Bonk
|
||||
* `0x04`: Weapon Switching
|
||||
* `0x05`: Menu Prompt?
|
||||
* `0x06`: Critter hop
|
||||
* `0x07`: Silent?
|
||||
* `0x08`: Low charge sound
|
||||
* `0x09`: [Nothing?]
|
||||
* `0x0A`: [Nothing?]
|
||||
* `0x0B`: Door
|
||||
* `0x0C`: Block Destroy
|
||||
* `0x0D`: [Nothing?]
|
||||
* `0x0E`: Get EXP
|
||||
* `0x0F`: Quote Jump
|
||||
* `0x10`: Taking Damage
|
||||
* `0x11`: Death
|
||||
* `0x12`: [Menu?]
|
||||
* `0x13`: [Nothing?]
|
||||
* `0x14`: Health/Ammo Refill
|
||||
* `0x15`: Bubble
|
||||
* `0x16`: Chest open
|
||||
* `0x17`: Thud
|
||||
* `0x18`: Walking
|
||||
* `0x19`: Enemy killed?
|
||||
* `0x1A`: Quake
|
||||
* `0x1B`: Level up
|
||||
* `0x1C`: Shot hit
|
||||
* `0x1D`: Teleport
|
||||
* `0x1E`: Critter jump
|
||||
* `0x1F`: Ting
|
||||
* `0x20`: Polar Star lvl
|
||||
* `0x21`: Fireball
|
||||
* `0x22`: Fireball bounce
|
||||
* `0x23`: Explosion
|
||||
* `0x24`: [Nothing?]
|
||||
* `0x25`: No Ammo
|
||||
* `0x26`: Get item?
|
||||
* `0x27`: [*bvng*] Em fire? - taken from BL, what is em?
|
||||
* `0x28`: Water
|
||||
* `0x29`: Water
|
||||
* `0x2A`: Get Missile [Beep]
|
||||
* `0x2B`: Computer [Beep]
|
||||
* `0x2C`: Missile Hit
|
||||
* `0x2D`: EXP Bounce
|
||||
* `0x2E`: Ironhead Shot
|
||||
* `0x2F`: Explosion 2?
|
||||
* `0x30`: Bubble pop
|
||||
* `0x31`: Spur lvl 1
|
||||
* `0x32`: Sqeek!
|
||||
* `0x33`: Squeal!
|
||||
* `0x34`: Roar
|
||||
* `0x35`: Eyoww
|
||||
* `0x36`: Thud
|
||||
* `0x37`: Squeek
|
||||
* `0x38`: Splash
|
||||
* `0x39`: Little damage sound
|
||||
* `0x3A`: [*chik*]
|
||||
* `0x3B`: Spur Charge (lowest)
|
||||
* `0x3C`: Spur Charge (lower)
|
||||
* `0x3D`: Spur Charge (higher)
|
||||
* `0x3E`: Spur lvl 2
|
||||
* `0x3F`: Spur lvl 3
|
||||
* `0x40`: Spur MAX
|
||||
* `0x41`: Spur full?
|
||||
* `0x42`: [Nothing?]
|
||||
* `0x43`: [Nothing?]
|
||||
* `0x44`: [Nothing?]
|
||||
* `0x45`: [Nothing?]
|
||||
* `0x46`: Tiny Explosion
|
||||
* `0x47`: Medium Explosion
|
||||
* `0x48`: Large Explosion
|
||||
* `0x49`: [Nothing?]
|
||||
* `0x4A`: [Nothing?]
|
||||
* `0x4B`: [Nothing?]
|
||||
* `0x4C`: [Nothing?]
|
||||
* `0x4D`: [Nothing?]
|
||||
* `0x4E`: [Nothing?]
|
||||
* `0x4F`: [Nothing?]
|
||||
* `0x50`: [Nothing?]
|
||||
* `0x51`: [Nothing?]
|
||||
* `0x52`: [Nothing?]
|
||||
* `0x53`: [Nothing?]
|
||||
* `0x54`: [Nothing?]
|
||||
* `0x55`: [Nothing?]
|
||||
* `0x56`: [Nothing?]
|
||||
* `0x57`: [Nothing?]
|
||||
* `0x58`: [Nothing?]
|
||||
* `0x59`: [Nothing?]
|
||||
* `0x5A`: [Nothing?]
|
||||
* `0x5B`: [Nothing?]
|
||||
* `0x5C`: [Nothing?]
|
||||
* `0x5D`: [Nothing?]
|
||||
* `0x5E`: [Nothing?]
|
||||
* `0x5F`: [Nothing?]
|
||||
* `0x60`: [Nothing?]
|
||||
* `0x61`: [Nothing?]
|
||||
* `0x62`: [Nothing?]
|
||||
* `0x63`: [Nothing?]
|
||||
* `0x64`: Bubbler lvl 3
|
||||
* `0x65`: Lightning
|
||||
* `0x66`: Sandcroc Bite
|
||||
* `0x67`: Curly Charge
|
||||
* `0x68`: Hit Invisible Block
|
||||
* `0x69`: Puppy Bark
|
||||
* `0x6A`: Blade whoosh
|
||||
* `0x6B`: Block Move
|
||||
* `0x6C`: Power Critter Jump
|
||||
* `0x6D`: Critter Fly
|
||||
* `0x6E`: Power Critter Fly
|
||||
* `0x6F`: Thud
|
||||
* `0x70`: Bigger thud
|
||||
* `0x71`: [*pshew*] Helicopter?
|
||||
* `0x72`: Core hurt
|
||||
* `0x73`: Core thrust
|
||||
* `0x74`: Core super charge
|
||||
* `0x75`: Nemesis?
|
||||
* `0x76`: [Nothing?]
|
||||
* `0x77`: [Nothing?]
|
||||
* `0x78`: [Nothing?]
|
||||
* `0x79`: [Nothing?]
|
||||
* `0x7A`: [Nothing?]
|
||||
* `0x7B`: [Nothing?]
|
||||
* `0x7C`: [Nothing?]
|
||||
* `0x7D`: [Nothing?]
|
||||
* `0x7E`: [Nothing?]
|
||||
* `0x7F`: [Nothing?]
|
||||
* `0x80`: [Nothing?]
|
||||
* `0x81`: [Nothing?]
|
||||
* `0x82`: [Nothing?]
|
||||
* `0x83`: [Nothing?]
|
||||
* `0x84`: [Nothing?]
|
||||
* `0x85`: [Nothing?]
|
||||
* `0x86`: [Nothing?]
|
||||
* `0x87`: [Nothing?]
|
||||
* `0x88`: [Nothing?]
|
||||
* `0x89`: [Nothing?]
|
||||
* `0x90`: [Nothing?]
|
||||
* `0x91`: [Nothing?]
|
||||
* `0x92`: [Nothing?]
|
||||
* `0x93`: [Nothing?]
|
||||
* `0x94`: [Nothing?]
|
||||
* `0x95`: [Nothing?]
|
||||
* `0x96`: BASS01
|
||||
* `0x97`: SNARE01
|
||||
* `0x98`: HICLOSE
|
||||
* `0x99`: HIOPEN
|
||||
* `0x9A`: TOM01
|
||||
* `0x9B`: PER01
|
||||
|
||||
### Smoke
|
||||
* `0x01`: None
|
||||
* `0x02`: Small amount
|
||||
* `0x03`: Medium amount
|
||||
* `0x04`: Large amount
|
||||
|
||||
### Bounding Box Addresses
|
||||
*From the beginning of each entity's section*
|
||||
* `0x00`: Left
|
||||
* `0x01`: Top
|
||||
* `0x02`: Right
|
||||
* `0x03`: Bottom
|
||||
|
||||
## Map Formats
|
||||
|
||||
### Map Metadata
|
||||
* Applies to freeware executable and CS+ `stage.tbl` file
|
||||
* Begins at offset `0x937B0` in freeware executable
|
||||
|
||||
| Offset (from beginning of each map section) | Description | Size (bytes) |
|
||||
|---------------------------------------------|---------------------------|--------------|
|
||||
| `0x00` | Tileset name | 32 |
|
||||
| `0x20` | Filename | 32 |
|
||||
| `0x40` | Background Scrolling Type | 4 |
|
||||
| `0x44` | Background Name | 32 |
|
||||
| `0x64` | NPC Spritesheet 1 | 32 |
|
||||
| `0x84` | NPC Spritesheet 2 | 32 |
|
||||
| `0xA4` | Major Boss | 1 |
|
||||
| `0xA5` | Map Name | 35 |
|
||||
|
||||
#### Background Scrolling Types
|
||||
* `0x00`: No Scrolling
|
||||
* `0x01`: Slow Scrolling
|
||||
* `0x02`: Equal Scrolling
|
||||
* `0x03`: Water-Style
|
||||
* `0x04`: Null
|
||||
* `0x05`: Auto Scrolling
|
||||
* `0x06`: Cloud-Style [Gravity: Left]
|
||||
* `0x07`: Cloud-Style [Gravity: Normal]
|
||||
|
||||
#### Major Bosses
|
||||
* `0x00`: No Major Boss
|
||||
* `0x01`: Omega
|
||||
* `0x02`: Balfrog
|
||||
* `0x03`: Monster X
|
||||
* `0x04`: The Core
|
||||
* `0x05`: Iron Head
|
||||
* `0x06`: Dragon Sisters
|
||||
* `0x07`: Undead Core
|
||||
* `0x08`: Heavy Press
|
||||
* `0x09`: Ballos
|
||||
|
||||
### PXM File Format
|
||||
**Note:** Maps must have a minimum size of 21x16
|
||||
|
||||
| Offset | Description | Size (bytes) |
|
||||
|------------------|-----------------------------------------------|--------------|
|
||||
| `0x00` | `"PXM"` | 3 |
|
||||
| `0x03` | `0x10` | 1 |
|
||||
| `0x04` | Map length | 2 |
|
||||
| `0x06` | Map height | 2 |
|
||||
| Rest of the file | Tile index (left to right then top to bottom) | 1 |
|
||||
|
||||
### PXE File Format
|
||||
|
||||
| Offset | Description | Size (bytes) |
|
||||
|------------------|-----------------------------------------------|--------------|
|
||||
| `0x00` | `"PXE"` | 3 |
|
||||
| `0x03` | `0x00` | 1 |
|
||||
| `0x04` | Entity count | 4 |
|
||||
| Rest of the file | Entity | 12 |
|
||||
|
||||
#### Entity Format
|
||||
|
||||
| Offset (from beginning of each entity section) | Description | Size (bytes) |
|
||||
|------------------------------------------------|--------------|-------------|
|
||||
| `0x00` | x coordinate | 2 |
|
||||
| `0x02` | y coordinate | 2 |
|
||||
| `0x06` | flag number | 2 |
|
||||
| `0x08` | event number | 2 |
|
||||
| `0x0A` | type | 2 |
|
||||
| `0x0C` | flags | 2 |
|
||||
|
||||
### PXA File Format
|
||||
* No header
|
||||
* Array of tile types corresponding to tiles in a tileset (left to right then top to bottom)
|
||||
* Tilesets have up to 16x16 tiles, so PXA files are always 256 bytes - fill in `0x00` for tiles not in the tileset
|
||||
|
||||
#### Flags
|
||||
* `0x01`: Special
|
||||
* `0x02`: Special
|
||||
* `0x04`: Special
|
||||
* `0x08`: Special
|
||||
* `0x10`: Slope
|
||||
* `0x20`: Water
|
||||
* `0x40`: Foreground
|
||||
* `0x80`: Wind
|
||||
|
||||
#### Null (`0x00`)
|
||||
* `0x00`: Null
|
||||
* `0x01`: Background Tile
|
||||
* `0x02`: Background Water
|
||||
* `0x03`: Background NPC-Blocker Tile [Unused]
|
||||
* `0x04`: Background NPC-Blocker Tile [Unused]
|
||||
* `0x05`: Background Shoot-Passer Tile [Unused]
|
||||
* `0x06`: Background Tile [Unused]
|
||||
* `0x07`: Background Tile [Unused]
|
||||
* `0x08`: Background Tile [Unused]
|
||||
* `0x09`: Background Tile [Unused]
|
||||
* `0x0A`: Background Tile [Unused]
|
||||
* `0x0B`: Background Tile [Unused]
|
||||
* `0x0C`: Background Tile [Unused]
|
||||
* `0x0D`: Background Tile [Unused]
|
||||
* `0x0E`: Background Tile [Unused]
|
||||
* `0x0F`: Background Tile [Unused]
|
||||
|
||||
#### Slope (`0x10`)
|
||||
* `0x10`: Background Tile [Unused]
|
||||
* `0x11`: Background Tile [Unused]
|
||||
* `0x12`: Background Tile [Unused]
|
||||
* `0x13`: Background Tile [Unused]
|
||||
* `0x14`: Background Tile [Unused]
|
||||
* `0x15`: Background Tile [Unused]
|
||||
* `0x16`: Background Tile [Unused]
|
||||
* `0x17`: Background Tile [Unused]
|
||||
* `0x18`: Background Tile [Unused]
|
||||
* `0x19`: Background Tile [Unused]
|
||||
* `0x1A`: Background Tile [Unused]
|
||||
* `0x1B`: Background Tile [Unused]
|
||||
* `0x1C`: Background Tile [Unused]
|
||||
* `0x1D`: Background Tile [Unused]
|
||||
* `0x1E`: Background Tile [Unused]
|
||||
* `0x1F`: Background Tile [Unused]
|
||||
|
||||
#### Water (`0x20`)
|
||||
* `0x20`: Null [Unused]
|
||||
* `0x21`: Null [Unused]
|
||||
* `0x22`: Null [Unused]
|
||||
* `0x23`: Null [Unused]
|
||||
* `0x24`: Null [Unused]
|
||||
* `0x25`: Null [Unused]
|
||||
* `0x26`: Null [Unused]
|
||||
* `0x27`: Null [Unused]
|
||||
* `0x28`: Null [Unused]
|
||||
* `0x29`: Null [Unused]
|
||||
* `0x2A`: Null [Unused]
|
||||
* `0x2B`: Null [Unused]
|
||||
* `0x2C`: Null [Unused]
|
||||
* `0x2D`: Null [Unused]
|
||||
* `0x2E`: Null [Unused]
|
||||
* `0x2F`: Null [Unused]
|
||||
|
||||
#### Slope + Water (`0x30`)
|
||||
* `0x30`: Null [Unused]
|
||||
* `0x31`: Null [Unused]
|
||||
* `0x32`: Null [Unused]
|
||||
* `0x33`: Null [Unused]
|
||||
* `0x34`: Null [Unused]
|
||||
* `0x35`: Null [Unused]
|
||||
* `0x36`: Null [Unused]
|
||||
* `0x37`: Null [Unused]
|
||||
* `0x38`: Null [Unused]
|
||||
* `0x39`: Null [Unused]
|
||||
* `0x3A`: Null [Unused]
|
||||
* `0x3B`: Null [Unused]
|
||||
* `0x3C`: Null [Unused]
|
||||
* `0x3D`: Null [Unused]
|
||||
* `0x3E`: Null [Unused]
|
||||
* `0x3F`: Null [Unused]
|
||||
|
||||
#### Foreground (`0x40`)
|
||||
* `0x40`: Foreground Tile
|
||||
* `0x41`: Solid Tile
|
||||
* `0x42`: 10 Damage Foreground Tile
|
||||
* `0x43`: Special Block Tile
|
||||
* `0x44`: Foreground NPC-Blocker Tile
|
||||
* `0x45`: Foreground Tile [Unused]
|
||||
* `0x46`: Character-Blocker Tile [Unused]
|
||||
* `0x47`: Foreground Tile [Unused]
|
||||
* `0x48`: Foreground Tile [Unused]
|
||||
* `0x49`: Foreground Tile [Unused]
|
||||
* `0x4A`: Foreground Tile [Unused]
|
||||
* `0x4B`: Foreground Tile [Unused]
|
||||
* `0x4C`: Foreground Tile [Unused]
|
||||
* `0x4D`: Foreground Tile [Unused]
|
||||
* `0x4E`: Foreground Tile [Unused]
|
||||
* `0x4F`: Foreground Tile [Unused]
|
||||
|
||||
#### Foreground + Slope (`0x50`)
|
||||
* `0x50`: Slope Tile
|
||||
* `0x51`: Slope Tile
|
||||
* `0x52`: Slope Tile
|
||||
* `0x53`: Slope Tile
|
||||
* `0x54`: Slope Tile
|
||||
* `0x55`: Slope Tile
|
||||
* `0x56`: Slope Tile
|
||||
* `0x57`: Slope Tile
|
||||
* `0x58`: Foreground Tile [Unused]
|
||||
* `0x59`: Foreground Tile [Unused]
|
||||
* `0x5A`: Foreground Tile [Unused]
|
||||
* `0x5B`: Foreground Tile [Unused]
|
||||
* `0x5C`: Foreground Tile [Unused]
|
||||
* `0x5D`: Foreground Tile [Unused]
|
||||
* `0x5E`: Foreground Tile [Unused]
|
||||
* `0x5F`: Foreground Tile [Unused]
|
||||
|
||||
#### Foreground + Water (`0x60`)
|
||||
* `0x60`: Foreground Water
|
||||
* `0x61`: Solid Tile [Unused]
|
||||
* `0x62`: 10 Damage Foreground Water Tile [Red]
|
||||
* `0x63`: Foreground Tile [Unused]
|
||||
* `0x64`: Foreground NPC-Blocker Tile [Unused]
|
||||
* `0x65`: Foreground Tile [Unused]
|
||||
* `0x66`: Foreground Tile [Unused]
|
||||
* `0x67`: Foreground Tile [Unused]
|
||||
* `0x68`: Foreground Tile [Unused]
|
||||
* `0x69`: Foreground Tile [Unused]
|
||||
* `0x6A`: Foreground Tile [Unused]
|
||||
* `0x6B`: Foreground Tile [Unused]
|
||||
* `0x6C`: Foreground Tile [Unused]
|
||||
* `0x6D`: Foreground Tile [Unused]
|
||||
* `0x6E`: Foreground Tile [Unused]
|
||||
* `0x6F`: Foreground Tile [Unused]
|
||||
|
||||
#### Foreground + Slope + Water (`0x70`)
|
||||
* `0x70`: Slope Tile [Water]
|
||||
* `0x71`: Slope Tile [Water]
|
||||
* `0x72`: Slope Tile [Water]
|
||||
* `0x73`: Slope Tile [Water]
|
||||
* `0x74`: Slope Tile [Water]
|
||||
* `0x75`: Slope Tile [Water]
|
||||
* `0x76`: Slope Tile [Water]
|
||||
* `0x77`: Slope Tile [Water]
|
||||
* `0x78`: Foreground Tile [Unused]
|
||||
* `0x79`: Foreground Tile [Unused]
|
||||
* `0x7A`: Foreground Tile [Unused]
|
||||
* `0x7B`: Foreground Tile [Unused]
|
||||
* `0x7C`: Foreground Tile [Unused]
|
||||
* `0x7D`: Foreground Tile [Unused]
|
||||
* `0x7E`: Foreground Tile [Unused]
|
||||
* `0x7F`: Foreground Tile [Unused]
|
||||
|
||||
#### Wind (`0x80`)
|
||||
* `0x80`: Wind [Left]
|
||||
* `0x81`: Wind [Up]
|
||||
* `0x82`: Wind [Right]
|
||||
* `0x83`: Wind [Down]
|
||||
* `0x84`: Null [Unused]
|
||||
* `0x85`: Null [Unused]
|
||||
* `0x86`: Null [Unused]
|
||||
* `0x87`: Null [Unused]
|
||||
* `0x88`: Null [Unused]
|
||||
* `0x89`: Null [Unused]
|
||||
* `0x8A`: Null [Unused]
|
||||
* `0x8B`: Null [Unused]
|
||||
* `0x8C`: Null [Unused]
|
||||
* `0x8D`: Null [Unused]
|
||||
* `0x8E`: Null [Unused]
|
||||
* `0x8F`: Null [Unused]
|
||||
|
||||
#### Wind + Slope (`0x90`)
|
||||
* `0x90`: Null [Unused]
|
||||
* `0x91`: Null [Unused]
|
||||
* `0x92`: Null [Unused]
|
||||
* `0x93`: Null [Unused]
|
||||
* `0x94`: Null [Unused]
|
||||
* `0x95`: Null [Unused]
|
||||
* `0x96`: Null [Unused]
|
||||
* `0x97`: Null [Unused]
|
||||
* `0x98`: Null [Unused]
|
||||
* `0x99`: Null [Unused]
|
||||
* `0x9A`: Null [Unused]
|
||||
* `0x9B`: Null [Unused]
|
||||
* `0x9C`: Null [Unused]
|
||||
* `0x9D`: Null [Unused]
|
||||
* `0x9E`: Null [Unused]
|
||||
* `0x9F`: Null [Unused]
|
||||
|
||||
#### Wind + Water (`0xA0`)
|
||||
* `0xA0`: Water Wind [Left]
|
||||
* `0xA1`: Water Wind [Up]
|
||||
* `0xA2`: Water Wind [Right]
|
||||
* `0xA3`: Water Wind [Down]
|
||||
* `0xA4`: Null [Unused]
|
||||
* `0xA5`: Null [Unused]
|
||||
* `0xA6`: Null [Unused]
|
||||
* `0xA7`: Null [Unused]
|
||||
* `0xA8` :Null [Unused]
|
||||
* `0xA9`: Null [Unused]
|
||||
* `0xAA`: Null [Unused]
|
||||
* `0xAB`: Null [Unused]
|
||||
* `0xAC`: Null [Unused]
|
||||
* `0xAD`: Null [Unused]
|
||||
* `0xAE`: Null [Unused]
|
||||
* `0xAF`: Null [Unused]
|
||||
|
||||
#### Wind + Slope + Water (`0xB0`)
|
||||
* `0xB0`: Null [Unused]
|
||||
* `0xB1`: Null [Unused]
|
||||
* `0xB2`: Null [Unused]
|
||||
* `0xB3`: Null [Unused]
|
||||
* `0xB4`: Null [Unused]
|
||||
* `0xB5`: Null [Unused]
|
||||
* `0xB6`: Null [Unused]
|
||||
* `0xB7`: Null [Unused]
|
||||
* `0xB8`: Null [Unused]
|
||||
* `0xB9`: Null [Unused]
|
||||
* `0xBA`: Null [Unused]
|
||||
* `0xBB`: Null [Unused]
|
||||
* `0xBC`: Null [Unused]
|
||||
* `0xBD`: Null [Unused]
|
||||
* `0xBE`: Null [Unused]
|
||||
* `0xBF`: Null [Unused]
|
||||
|
||||
#### Wind + Foreground (`0xC0`)
|
||||
* `0xC0`: Null [Unused]
|
||||
* `0xC1`: Null [Unused]
|
||||
* `0xC2`: Null [Unused]
|
||||
* `0xC3`: Null [Unused]
|
||||
* `0xC4`: Null [Unused]
|
||||
* `0xC5`: Null [Unused]
|
||||
* `0xC6`: Null [Unused]
|
||||
* `0xC7`: Null [Unused]
|
||||
* `0xC8`: Null [Unused]
|
||||
* `0xC9`: Null [Unused]
|
||||
* `0xCA`: Null [Unused]
|
||||
* `0xCB`: Null [Unused]
|
||||
* `0xCC`: Null [Unused]
|
||||
* `0xCD`: Null [Unused]
|
||||
* `0xCE`: Null [Unused]
|
||||
* `0xCF`: Null [Unused]
|
||||
|
||||
#### Wind + Foreground + Slope (`0xD0`)
|
||||
* `0xD0`: Null [Unused]
|
||||
* `0xD1`: Null [Unused]
|
||||
* `0xD2`: Null [Unused]
|
||||
* `0xD3`: Null [Unused]
|
||||
* `0xD4`: Null [Unused]
|
||||
* `0xD5`: Null [Unused]
|
||||
* `0xD6`: Null [Unused]
|
||||
* `0xD7`: Null [Unused]
|
||||
* `0xD8`: Null [Unused]
|
||||
* `0xD9`: Null [Unused]
|
||||
* `0xDA`: Null [Unused]
|
||||
* `0xDB`: Null [Unused]
|
||||
* `0xDC`: Null [Unused]
|
||||
* `0xDD`: Null [Unused]
|
||||
* `0xDE`: Null [Unused]
|
||||
* `0xDF`: Null [Unused]
|
||||
|
||||
#### Wind + Foreground + Water (`0xE0`)
|
||||
* `0xE0`: Null [Unused]
|
||||
* `0xE1`: Null [Unused]
|
||||
* `0xE2`: Null [Unused]
|
||||
* `0xE3`: Null [Unused]
|
||||
* `0xE4`: Null [Unused]
|
||||
* `0xE5`: Null [Unused]
|
||||
* `0xE6`: Null [Unused]
|
||||
* `0xE7`: Null [Unused]
|
||||
* `0xE8`: Null [Unused]
|
||||
* `0xE9`: Null [Unused]
|
||||
* `0xEA`: Null [Unused]
|
||||
* `0xEB`: Null [Unused]
|
||||
* `0xEC`: Null [Unused]
|
||||
* `0xED`: Null [Unused]
|
||||
* `0xEE`: Null [Unused]
|
||||
* `0xEF`: Null [Unused]
|
||||
|
||||
#### Wind + Foreground + Slope + Water (`0xF0`)
|
||||
* `0xF0`: Null [Unused]
|
||||
* `0xF1`: Null [Unused]
|
||||
* `0xF2`: Null [Unused]
|
||||
* `0xF3`: Null [Unused]
|
||||
* `0xF4`: Null [Unused]
|
||||
* `0xF5`: Null [Unused]
|
||||
* `0xF6`: Null [Unused]
|
||||
* `0xF7`: Null [Unused]
|
||||
* `0xF8`: Null [Unused]
|
||||
* `0xF9`: Null [Unused]
|
||||
* `0xFA`: Null [Unused]
|
||||
* `0xFB`: Null [Unused]
|
||||
* `0xFC`: Null [Unused]
|
||||
* `0xFD`: Null [Unused]
|
||||
* `0xFE`: Null [Unused]
|
||||
* `0xFF`: Null [Unused]
|
||||
|
|
@ -1,741 +0,0 @@
|
|||
-=~ Cave Story Research Compendium ~=-
|
||||
|
||||
-=~ A guide to Cave Story's file formats and important hacks for those who are interested ~=-
|
||||
by F_Deity_Link, using research by others as well
|
||||
Made it for myself to learn as well as because the file formats and important hacks weren't all 'published'
|
||||
(actually they're in miza.chm, included with the Miza editor, but I hadn't realized this when I started),
|
||||
and I figured a centralized document with all of it would be helpful
|
||||
|
||||
Last updated 2017-02-06
|
||||
|
||||
Note that some info might be incorrect - SP's guides are a bit old - feel free to tell me of anything that could be updated
|
||||
|
||||
-=~ Credits ~=-
|
||||
Big thanks to all the people I got much of this research from!
|
||||
- Carrotlord for TSC file format
|
||||
- q3hardcore for (C)Pixel requirement removal
|
||||
- S.P. Gardebiter for PXA values + EXE mapdata format + npc.tbl format
|
||||
- dooey100 for flag setting, unsetting, and checking
|
||||
- Noxid for Booster's Lab, which helped for seeing how edits affected the files, as well as getting newest info
|
||||
- especially tilesets and sounds in npc.tbl
|
||||
|
||||
-=~ TSC File Format ~=-
|
||||
Encoding char is the middle character in file: char at floor (file size / 2)
|
||||
ex: size of 313 bytes, encode char is at 156th byte
|
||||
|
||||
Newlines are Windows-style newlines ("\r\n"): 0x0D + encode char val, then 0x0A + encode char val
|
||||
- Because they're Windows-style newlines, open your files in binary mode, not text, otherwise the following transformations are done, which will end up corrupting the file
|
||||
- "\r\n" --> '\n' for input
|
||||
- '\n' --> "\r\n" for output
|
||||
|
||||
All characters in the file except for the encoding char itself (so other copies of the character are still encoded) have the value of the encoding char added to them when saved
|
||||
ex: encoding char = [space]: only that instance of the [space] character will not be encoded, but the others will
|
||||
|
||||
When reading a TSC file, subtract the encoding character from each character (except the encoding char itself, as noted above) to properly decode the file
|
||||
When writing a TSC file, add the encoding character to each character (except the encoding char itself, as noted above) to properly encode the file
|
||||
|
||||
-=~ Removing (C)Pixel Requirement ~=-
|
||||
0x1136C: 0x74 --> 0xEB
|
||||
0x8C4D8: 0x28 --> 0x00
|
||||
|
||||
Then in every .pbm, find the (C)Pixel at the end and change the '(' to the null character (0x00)
|
||||
|
||||
-=~ Allowing bitmaps ~=-
|
||||
0x8C286 through 8 and 0x0008C30A through C: 0x70, 0x62, and 0x6D --> 0x62, 0x6D, and 0x70
|
||||
0x8C32E and F: 0x70 and 0x62 --> 0x62 and 0x6D
|
||||
0x8C330: 0x6D --> 0x70
|
||||
|
||||
-=~ npc.tbl Format ~=-
|
||||
Cave Story has 361 entities (0x169) from 0 - 360
|
||||
npc.tbl has 11 sets of data, the starting addresses of which are all multiples of 0x169:
|
||||
0x0000: Flags - 2 Bytes
|
||||
0x02D2: Health - 2 Bytes
|
||||
0x05A4: Tileset Number - 1 Byte
|
||||
0x070D: Death Sound - 1 Byte
|
||||
0x0876: Hurt Sound - 1 Byte
|
||||
0x09DF: Death Smoke - 1 Byte
|
||||
0x0B48: Experience - 4 Bytes
|
||||
0x10EC: Damage - 4 Bytes
|
||||
0x1690: Collsion Bounding Box - 4 Bytes
|
||||
0x1C34: Display Bounding Box - 4 Bytes
|
||||
|
||||
-=~ Flags ~=-
|
||||
-=~ Byte 1 ~=-
|
||||
0x01: Solid
|
||||
0x02: No effect about Tile 44
|
||||
0x04: Invulnerable (Blink Sound)
|
||||
0x08: Ignore solid
|
||||
0x10: Bouncing at top
|
||||
0x20: Shootable
|
||||
0x40: Special Solid
|
||||
0x80: Rear and top no damage
|
||||
|
||||
-=~ Byte 2 ~=-
|
||||
0x01: Call Event on Contact
|
||||
0x02: Call Event on Death
|
||||
0x04: Drop Hearts and EXP [Unused]
|
||||
0x08: Visible if FlagID is set
|
||||
0x10: Spawn with Alternate Direction
|
||||
0x20: Call Event on Interaction
|
||||
0x40: Invisible if FlagID is set
|
||||
0x80: Show Damage Numbers ?"Interactable" in Booster's Lab
|
||||
|
||||
Setting Flags: Flag to set OR current flags
|
||||
Unsetting Flags: (Flag to unset XOR 1111 1111) AND current flags
|
||||
Checking Flags: Flag to check AND current flags - returns flag being checked if it is set, 0 if not set
|
||||
|
||||
-=~ Tilesets ~=-
|
||||
0x00: title.pbm
|
||||
0x01: '2004.12 Studio Pixel'
|
||||
0x02: Current map tileset
|
||||
0x03: [Unused]
|
||||
0x04: [Unused]
|
||||
0x05: [Unused]
|
||||
0x06: Fade.pbm
|
||||
0x07: [Unused]
|
||||
0x08: ItemImage.pbm
|
||||
0x09: Map System Buffer
|
||||
0x0A: Screen Buffer
|
||||
0x0B: Arms.pbm
|
||||
0x0C: ArmsImage.pbm
|
||||
0x0D: MNA Text Buffer
|
||||
0x0E: StageImage.pbm
|
||||
0x0F: Loading.pbm
|
||||
0x10: MyChar.pbm
|
||||
0x11: Bullet.pbm
|
||||
0x12: [Unused]
|
||||
0x13: Caret.pbm
|
||||
0x14: Npc/NpcSym.pbm
|
||||
0x15: Map NPC Set 1
|
||||
0x16: Map NPC Set 2
|
||||
0x17: Npc/NpcRegu.pbm
|
||||
0x18: [Unused]
|
||||
0x19: [Unused]
|
||||
0x1A: TextBox.pbm
|
||||
0x1B: Face.pbm
|
||||
0x1C: Current Map BG
|
||||
0x1D: Damage # Buffer
|
||||
0x1E: Textbox Buffer 1
|
||||
0x1F: Textbox Buffer 2
|
||||
0x20: Textbox Buffer 3
|
||||
0x21: [???]
|
||||
0x22: [Unused]
|
||||
0x23: Credits Buffer 1
|
||||
0x24: Credits Buffer 2
|
||||
0x25: Credits Buffer 3
|
||||
0x26: [Unused]
|
||||
0x27: [Unused]
|
||||
|
||||
-=~ Hurt / Death Sounds ~=-
|
||||
0x00: [Nothing]
|
||||
0x01: Blip
|
||||
0x02: Message Typing
|
||||
0x03: Bonk
|
||||
0x04: Weapon Switching
|
||||
0x05: Menu Prompt?
|
||||
0x06: Critter hop
|
||||
0x07: Silent?
|
||||
0x08: Low charge sound
|
||||
0x09: [Nothing?]
|
||||
0x0A: [Nothing?]
|
||||
0x0B: Door
|
||||
0x0C: Block Destroy
|
||||
0x0D: [Nothing?]
|
||||
0x0E: Get EXP
|
||||
0x0F: Quote Jump
|
||||
0x10: Taking Damage
|
||||
0x11: Death
|
||||
0x12: [Menu?]
|
||||
0x13: [Nothing?]
|
||||
0x14: Health/Ammo Refill
|
||||
0x15: Bubble
|
||||
0x16: Chest open
|
||||
0x17: Thud
|
||||
0x18: Walking
|
||||
0x19: Enemy killed?
|
||||
0x1A: Quake
|
||||
0x1B: Level up
|
||||
0x1C: Shot hit
|
||||
0x1D: Teleport
|
||||
0x1E: Critter jump
|
||||
0x1F: Ting
|
||||
0x20: Polar Star lvl
|
||||
0x21: Fireball
|
||||
0x22: Fireball bounce
|
||||
0x23: Explosion
|
||||
0x24: [Nothing?]
|
||||
0x25: No Ammo
|
||||
0x26: Get item?
|
||||
0x27: [*bvng*] Em fire? - taken from BL, what is em?
|
||||
0x28: Water
|
||||
0x29: Water
|
||||
0x2A: Get Missile [Beep]
|
||||
0x2B: Computer [Beep]
|
||||
0x2C: Missile Hit
|
||||
0x2D: EXP Bounce
|
||||
0x2E: Ironhead Shot
|
||||
0x2F: Explosion 2?
|
||||
0x30: Bubble pop
|
||||
0x31: Spur lvl 1
|
||||
0x32: Sqeek!
|
||||
0x33: Squeal!
|
||||
0x34: Roar
|
||||
0x35: Eyoww
|
||||
0x36: Thud
|
||||
0x37: Squeek
|
||||
0x38: Splash
|
||||
0x39: Little damage sound
|
||||
0x3A: [*chik*]
|
||||
0x3B: Spur Charge (lowest)
|
||||
0x3C: Spur Charge (lower)
|
||||
0x3D: Spur Charge (higher)
|
||||
0x3E: Spur lvl 2
|
||||
0x3F: Spur lvl 3
|
||||
0x40: Spur MAX
|
||||
0x41: Spur full?
|
||||
0x42: [Nothing?]
|
||||
0x43: [Nothing?]
|
||||
0x44: [Nothing?]
|
||||
0x45: [Nothing?]
|
||||
0x46: Tiny Explosion
|
||||
0x47: Medium Explosion
|
||||
0x48: Large Explosion
|
||||
0x49: [Nothing?]
|
||||
0x4A: [Nothing?]
|
||||
0x4B: [Nothing?]
|
||||
0x4C: [Nothing?]
|
||||
0x4D: [Nothing?]
|
||||
0x4E: [Nothing?]
|
||||
0x4F: [Nothing?]
|
||||
0x50: [Nothing?]
|
||||
0x51: [Nothing?]
|
||||
0x52: [Nothing?]
|
||||
0x53: [Nothing?]
|
||||
0x54: [Nothing?]
|
||||
0x55: [Nothing?]
|
||||
0x56: [Nothing?]
|
||||
0x57: [Nothing?]
|
||||
0x58: [Nothing?]
|
||||
0x59: [Nothing?]
|
||||
0x5A: [Nothing?]
|
||||
0x5B: [Nothing?]
|
||||
0x5C: [Nothing?]
|
||||
0x5D: [Nothing?]
|
||||
0x5E: [Nothing?]
|
||||
0x5F: [Nothing?]
|
||||
0x60: [Nothing?]
|
||||
0x61: [Nothing?]
|
||||
0x62: [Nothing?]
|
||||
0x63: [Nothing?]
|
||||
0x64: Bubbler lvl 3
|
||||
0x65: Lightning
|
||||
0x66: Sandcroc Bite
|
||||
0x67: Curly Charge
|
||||
0x68: Hit Invisible Block
|
||||
0x69: Puppy Bark
|
||||
0x6A: Blade whoosh
|
||||
0x6B: Block Move
|
||||
0x6C: Power Critter Jump
|
||||
0x6D: Critter Fly
|
||||
0x6E: Power Critter Fly
|
||||
0x6F: Thud
|
||||
0x70: Bigger thud
|
||||
0x71: [*pshew*] Helicopter?
|
||||
0x72: Core hurt
|
||||
0x73: Core thrust
|
||||
0x74: Core super charge
|
||||
0x75: Nemesis?
|
||||
0x76: [Nothing?]
|
||||
0x77: [Nothing?]
|
||||
0x78: [Nothing?]
|
||||
0x79: [Nothing?]
|
||||
0x7A: [Nothing?]
|
||||
0x7B: [Nothing?]
|
||||
0x7C: [Nothing?]
|
||||
0x7D: [Nothing?]
|
||||
0x7E: [Nothing?]
|
||||
0x7F: [Nothing?]
|
||||
0x80: [Nothing?]
|
||||
0x81: [Nothing?]
|
||||
0x82: [Nothing?]
|
||||
0x83: [Nothing?]
|
||||
0x84: [Nothing?]
|
||||
0x85: [Nothing?]
|
||||
0x86: [Nothing?]
|
||||
0x87: [Nothing?]
|
||||
0x88: [Nothing?]
|
||||
0x89: [Nothing?]
|
||||
0x90: [Nothing?]
|
||||
0x91: [Nothing?]
|
||||
0x92: [Nothing?]
|
||||
0x93: [Nothing?]
|
||||
0x94: [Nothing?]
|
||||
0x95: [Nothing?]
|
||||
0x96: BASS01
|
||||
0x97: SNARE01
|
||||
0x98: HICLOSE
|
||||
0x99: HIOPEN
|
||||
0x9A: TOM01
|
||||
0x9B: PER01
|
||||
|
||||
-=~ Smoke ~=-
|
||||
0x01: None
|
||||
0x02: Small amount
|
||||
0x03: Medium amount
|
||||
0x04: Large amount
|
||||
|
||||
-=~ Bounding Box Addresses ~=-
|
||||
(from beginning of each portion)
|
||||
0x00: Left
|
||||
0x01: Top
|
||||
0x02: Right
|
||||
0x03: Bottom
|
||||
|
||||
-=~ Map Formats ~=-
|
||||
|
||||
-=~ Mapdata Addresses ~=-
|
||||
(for freeware and stage.tbl(CS+))
|
||||
(from the beginning of each map section)
|
||||
0x00: Tileset name
|
||||
0x20: Filename
|
||||
0x40: Background Scrolling Type
|
||||
0x44: Background Name
|
||||
0x64: NPC Spritesheet 1
|
||||
0x84: NPC Spritesheet 2
|
||||
0xA4: Major Boss
|
||||
0xA5: Mapname
|
||||
|
||||
-=~ Background Scrolling Types ~=-
|
||||
0x00: No Scrolling
|
||||
0x01: Slow Scrolling
|
||||
0x02: Equal Scrolling
|
||||
0x03: Water-Style
|
||||
0x04: Null
|
||||
0x05: Auto Scrolling
|
||||
0x06: Cloud-Style [Gravity: Left]
|
||||
0x07: Cloud-Style [Gravity: Normal]
|
||||
|
||||
-=~ Major Bosses are as follows ~=-
|
||||
0x00: No Major Boss
|
||||
0x01: Omega
|
||||
0x02: Balfrog
|
||||
0x03: Monster X
|
||||
0x04: The Core
|
||||
0x05: Iron Head
|
||||
0x06: Dragon Sisters
|
||||
0x07: Undead Core
|
||||
0x08: Heavy Press
|
||||
0x09: Ballos
|
||||
|
||||
|
||||
WINDOWS IS LITTLE-ENDIAN AND ALL DATA (with the exception of PXM map tile and PXE entity count) TAKES UP TWO BYTES
|
||||
ex: x coord of 256 (dec) is 0x0100, seen as 00 01 in hex editor
|
||||
|
||||
-=~ PXM File Data ~=-
|
||||
maps must be minimum of 21x16
|
||||
|
||||
First three bytes are PXM, then 0x10
|
||||
|
||||
Then 0x_map_length - 2 bytes
|
||||
Then 0x_map_height - 2 bytes
|
||||
|
||||
Then 0x_map_tile_from_tileset for the rest of the file (numbered from 0, and going left to right, top to bottom) - 1 byte
|
||||
|
||||
-=~ PXE File Data ~=-
|
||||
First three bytes are PXE, then 0x00
|
||||
|
||||
Then 0x_entity_count - 4 bytes
|
||||
|
||||
Then each entity takes up 12 bytes, and they are in order based on their draw order (higher drawn on top) - lowest in file first:
|
||||
0x_x_coord - 2 bytes
|
||||
0x_y_coord - 2 bytes
|
||||
|
||||
0x_flag_num - 2 bytes
|
||||
0x_event_num - 2 bytes
|
||||
|
||||
0x_entity_type - 2 bytes
|
||||
0x_entity_flags - 2 bytes
|
||||
|
||||
-=~ Flags ~=-
|
||||
Setting: Flag to set OR current flags
|
||||
Unsetting: (Flag to unset XOR 1111 1111) AND current flags
|
||||
Checking: Flag to check AND current flags - returns flag being checked if it is set, 0 if not set
|
||||
|
||||
-=~ PXA File Data ~=-
|
||||
Format is tile type, corresponds to tileset directly - file has no header
|
||||
Tilesets can be 16x16 tiles max, so PXA has 256 bytes, value of 0 for tiles not in tileset image
|
||||
|
||||
-=~ Tile Types ~=-
|
||||
|
||||
Flags:
|
||||
0x01: Special
|
||||
0x02: Special
|
||||
0x04: Special
|
||||
0x08: Special
|
||||
0x10: Slope
|
||||
0x20: Water
|
||||
0x40: Foreground
|
||||
0x80: Wind
|
||||
|
||||
0x00 (Null):
|
||||
0x00: Null
|
||||
0x01: Background Tile
|
||||
0x02: Background Water
|
||||
0x03: Background NPC-Blocker Tile [Unused]
|
||||
0x04: Background NPC-Blocker Tile [Unused]
|
||||
0x05: Background Shoot-Passer Tile [Unused]
|
||||
0x06: Background Tile [Unused]
|
||||
0x07: Background Tile [Unused]
|
||||
0x08: Background Tile [Unused]
|
||||
0x09: Background Tile [Unused]
|
||||
0x0A: Background Tile [Unused]
|
||||
0x0B: Background Tile [Unused]
|
||||
0x0C: Background Tile [Unused]
|
||||
0x0D: Background Tile [Unused]
|
||||
0x0E: Background Tile [Unused]
|
||||
0x0F: Background Tile [Unused]
|
||||
|
||||
0x10 (Slope):
|
||||
0x10: Background Tile [Unused]
|
||||
0x11: Background Tile [Unused]
|
||||
0x12: Background Tile [Unused]
|
||||
0x13: Background Tile [Unused]
|
||||
0x14: Background Tile [Unused]
|
||||
0x15: Background Tile [Unused]
|
||||
0x16: Background Tile [Unused]
|
||||
0x17: Background Tile [Unused]
|
||||
0x18: Background Tile [Unused]
|
||||
0x19: Background Tile [Unused]
|
||||
0x1A: Background Tile [Unused]
|
||||
0x1B: Background Tile [Unused]
|
||||
0x1C: Background Tile [Unused]
|
||||
0x1D: Background Tile [Unused]
|
||||
0x1E: Background Tile [Unused]
|
||||
0x1F: Background Tile [Unused]
|
||||
|
||||
0x20 (Water):
|
||||
0x20: Null [Unused]
|
||||
0x21: Null [Unused]
|
||||
0x22: Null [Unused]
|
||||
0x23: Null [Unused]
|
||||
0x24: Null [Unused]
|
||||
0x25: Null [Unused]
|
||||
0x26: Null [Unused]
|
||||
0x27: Null [Unused]
|
||||
0x28: Null [Unused]
|
||||
0x29: Null [Unused]
|
||||
0x2A: Null [Unused]
|
||||
0x2B: Null [Unused]
|
||||
0x2C: Null [Unused]
|
||||
0x2D: Null [Unused]
|
||||
0x2E: Null [Unused]
|
||||
0x2F: Null [Unused]
|
||||
|
||||
0x30 (Slope + Water):
|
||||
0x30: Null [Unused]
|
||||
0x31: Null [Unused]
|
||||
0x32: Null [Unused]
|
||||
0x33: Null [Unused]
|
||||
0x34: Null [Unused]
|
||||
0x35: Null [Unused]
|
||||
0x36: Null [Unused]
|
||||
0x37: Null [Unused]
|
||||
0x38: Null [Unused]
|
||||
0x39: Null [Unused]
|
||||
0x3A: Null [Unused]
|
||||
0x3B: Null [Unused]
|
||||
0x3C: Null [Unused]
|
||||
0x3D: Null [Unused]
|
||||
0x3E: Null [Unused]
|
||||
0x3F: Null [Unused]
|
||||
|
||||
0x40 (Foreground):
|
||||
0x40: Foreground Tile
|
||||
0x41: Solid Tile
|
||||
0x42: 10 Damage Foreground Tile
|
||||
0x43: Special Block Tile
|
||||
0x44: Foreground NPC-Blocker Tile
|
||||
0x45: Foreground Tile [Unused]
|
||||
0x46: Character-Blocker Tile [Unused]
|
||||
0x47: Foreground Tile [Unused]
|
||||
0x48: Foreground Tile [Unused]
|
||||
0x49: Foreground Tile [Unused]
|
||||
0x4A: Foreground Tile [Unused]
|
||||
0x4B: Foreground Tile [Unused]
|
||||
0x4C: Foreground Tile [Unused]
|
||||
0x4D: Foreground Tile [Unused]
|
||||
0x4E: Foreground Tile [Unused]
|
||||
0x4F: Foreground Tile [Unused]
|
||||
|
||||
0x50 (Foreground + Slope):
|
||||
0x50: Slope Tile
|
||||
0x51: Slope Tile
|
||||
0x52: Slope Tile
|
||||
0x53: Slope Tile
|
||||
0x54: Slope Tile
|
||||
0x55: Slope Tile
|
||||
0x56: Slope Tile
|
||||
0x57: Slope Tile
|
||||
0x58: Foreground Tile [Unused]
|
||||
0x59: Foreground Tile [Unused]
|
||||
0x5A: Foreground Tile [Unused]
|
||||
0x5B: Foreground Tile [Unused]
|
||||
0x5C: Foreground Tile [Unused]
|
||||
0x5D: Foreground Tile [Unused]
|
||||
0x5E: Foreground Tile [Unused]
|
||||
0x5F: Foreground Tile [Unused]
|
||||
|
||||
0x60 (Foreground + Water):
|
||||
0x60: Foreground Water
|
||||
0x61: Solid Tile [Unused]
|
||||
0x62: 10 Damage Foreground Water Tile [Red]
|
||||
0x63: Foreground Tile [Unused]
|
||||
0x64: Foreground NPC-Blocker Tile [Unused]
|
||||
0x65: Foreground Tile [Unused]
|
||||
0x66: Foreground Tile [Unused]
|
||||
0x67: Foreground Tile [Unused]
|
||||
0x68: Foreground Tile [Unused]
|
||||
0x69: Foreground Tile [Unused]
|
||||
0x6A: Foreground Tile [Unused]
|
||||
0x6B: Foreground Tile [Unused]
|
||||
0x6C: Foreground Tile [Unused]
|
||||
0x6D: Foreground Tile [Unused]
|
||||
0x6E: Foreground Tile [Unused]
|
||||
0x6F: Foreground Tile [Unused]
|
||||
|
||||
0x70 (Foreground + Slope + Water):
|
||||
0x70: Slope Tile [Water]
|
||||
0x71: Slope Tile [Water]
|
||||
0x72: Slope Tile [Water]
|
||||
0x73: Slope Tile [Water]
|
||||
0x74: Slope Tile [Water]
|
||||
0x75: Slope Tile [Water]
|
||||
0x76: Slope Tile [Water]
|
||||
0x77: Slope Tile [Water]
|
||||
0x78: Foreground Tile [Unused]
|
||||
0x79: Foreground Tile [Unused]
|
||||
0x7A: Foreground Tile [Unused]
|
||||
0x7B: Foreground Tile [Unused]
|
||||
0x7C: Foreground Tile [Unused]
|
||||
0x7D: Foreground Tile [Unused]
|
||||
0x7E: Foreground Tile [Unused]
|
||||
0x7F: Foreground Tile [Unused]
|
||||
|
||||
0x80 (Wind):
|
||||
0x80: Wind [Left]
|
||||
0x81: Wind [Up]
|
||||
0x82: Wind [Right]
|
||||
0x83: Wind [Down]
|
||||
0x84: Null [Unused]
|
||||
0x85: Null [Unused]
|
||||
0x86: Null [Unused]
|
||||
0x87: Null [Unused]
|
||||
0x88: Null [Unused]
|
||||
0x89: Null [Unused]
|
||||
0x8A: Null [Unused]
|
||||
0x8B: Null [Unused]
|
||||
0x8C: Null [Unused]
|
||||
0x8D: Null [Unused]
|
||||
0x8E: Null [Unused]
|
||||
0x8F: Null [Unused]
|
||||
|
||||
0x90 (Wind + Slope):
|
||||
0x90: Null [Unused]
|
||||
0x91: Null [Unused]
|
||||
0x92: Null [Unused]
|
||||
0x93: Null [Unused]
|
||||
0x94: Null [Unused]
|
||||
0x95: Null [Unused]
|
||||
0x96: Null [Unused]
|
||||
0x97: Null [Unused]
|
||||
0x98: Null [Unused]
|
||||
0x99: Null [Unused]
|
||||
0x9A: Null [Unused]
|
||||
0x9B: Null [Unused]
|
||||
0x9C: Null [Unused]
|
||||
0x9D: Null [Unused]
|
||||
0x9E: Null [Unused]
|
||||
0x9F: Null [Unused]
|
||||
|
||||
0xA0 (Wind + Water):
|
||||
0xA0: Water Wind [Left]
|
||||
0xA1: Water Wind [Up]
|
||||
0xA2: Water Wind [Right]
|
||||
0xA3: Water Wind [Down]
|
||||
0xA4: Null [Unused]
|
||||
0xA5: Null [Unused]
|
||||
0xA6: Null [Unused]
|
||||
0xA7: Null [Unused]
|
||||
0xA8 :Null [Unused]
|
||||
0xA9: Null [Unused]
|
||||
0xAA: Null [Unused]
|
||||
0xAB: Null [Unused]
|
||||
0xAC: Null [Unused]
|
||||
0xAD: Null [Unused]
|
||||
0xAE: Null [Unused]
|
||||
0xAF: Null [Unused]
|
||||
|
||||
0xB0 (Wind + Slope + Water):
|
||||
0xB0: Null [Unused]
|
||||
0xB1: Null [Unused]
|
||||
0xB2: Null [Unused]
|
||||
0xB3: Null [Unused]
|
||||
0xB4: Null [Unused]
|
||||
0xB5: Null [Unused]
|
||||
0xB6: Null [Unused]
|
||||
0xB7: Null [Unused]
|
||||
0xB8: Null [Unused]
|
||||
0xB9: Null [Unused]
|
||||
0xBA: Null [Unused]
|
||||
0xBB: Null [Unused]
|
||||
0xBC: Null [Unused]
|
||||
0xBD: Null [Unused]
|
||||
0xBE: Null [Unused]
|
||||
0xBF: Null [Unused]
|
||||
|
||||
0xC0 (Wind + Foreground):
|
||||
0xC0: Null [Unused]
|
||||
0xC1: Null [Unused]
|
||||
0xC2: Null [Unused]
|
||||
0xC3: Null [Unused]
|
||||
0xC4: Null [Unused]
|
||||
0xC5: Null [Unused]
|
||||
0xC6: Null [Unused]
|
||||
0xC7: Null [Unused]
|
||||
0xC8: Null [Unused]
|
||||
0xC9: Null [Unused]
|
||||
0xCA: Null [Unused]
|
||||
0xCB: Null [Unused]
|
||||
0xCC: Null [Unused]
|
||||
0xCD: Null [Unused]
|
||||
0xCE: Null [Unused]
|
||||
0xCF: Null [Unused]
|
||||
|
||||
0xD0 (Wind + Foreground + Slope):
|
||||
0xD0: Null [Unused]
|
||||
0xD1: Null [Unused]
|
||||
0xD2: Null [Unused]
|
||||
0xD3: Null [Unused]
|
||||
0xD4: Null [Unused]
|
||||
0xD5: Null [Unused]
|
||||
0xD6: Null [Unused]
|
||||
0xD7: Null [Unused]
|
||||
0xD8: Null [Unused]
|
||||
0xD9: Null [Unused]
|
||||
0xDA: Null [Unused]
|
||||
0xDB: Null [Unused]
|
||||
0xDC: Null [Unused]
|
||||
0xDD: Null [Unused]
|
||||
0xDE: Null [Unused]
|
||||
0xDF: Null [Unused]
|
||||
|
||||
0xE0 (Wind + Foreground + Water):
|
||||
0xE0: Null [Unused]
|
||||
0xE1: Null [Unused]
|
||||
0xE2: Null [Unused]
|
||||
0xE3: Null [Unused]
|
||||
0xE4: Null [Unused]
|
||||
0xE5: Null [Unused]
|
||||
0xE6: Null [Unused]
|
||||
0xE7: Null [Unused]
|
||||
0xE8: Null [Unused]
|
||||
0xE9: Null [Unused]
|
||||
0xEA: Null [Unused]
|
||||
0xEB: Null [Unused]
|
||||
0xEC: Null [Unused]
|
||||
0xED: Null [Unused]
|
||||
0xEE: Null [Unused]
|
||||
0xEF: Null [Unused]
|
||||
|
||||
0xF0 (Wind + Foreground + Slope + Water):
|
||||
0xF0: Null [Unused]
|
||||
0xF1: Null [Unused]
|
||||
0xF2: Null [Unused]
|
||||
0xF3: Null [Unused]
|
||||
0xF4: Null [Unused]
|
||||
0xF5: Null [Unused]
|
||||
0xF6: Null [Unused]
|
||||
0xF7: Null [Unused]
|
||||
0xF8: Null [Unused]
|
||||
0xF9: Null [Unused]
|
||||
0xFA: Null [Unused]
|
||||
0xFB: Null [Unused]
|
||||
0xFC: Null [Unused]
|
||||
0xFD: Null [Unused]
|
||||
0xFE: Null [Unused]
|
||||
0xFF: Null [Unused]
|
||||
|
||||
Weapons (AM+/AM-/AMJ/GIT/TAM) Profile.dat bytes 0x038-098 (every 4 bytes: weapon, level (1-3),
|
||||
energy, max ammo (0 = infinite), current ammo) (every 20 bytes)
|
||||
0000 [nothing?]
|
||||
0001 Snake
|
||||
0002 Polar Star
|
||||
0003 Fireball
|
||||
0004 Machine Gun
|
||||
0005 Missile Launcher
|
||||
0006 Missiles (GIT only)
|
||||
0007 Bubbler
|
||||
0008 [nothing?]
|
||||
0009 Blade
|
||||
0010 Super Missile Launcher
|
||||
0011 Super Missiles (GIT only)
|
||||
0012 Nemesis
|
||||
0013 Spur
|
||||
|
||||
|
||||
|
||||
Items (GIT/IT+/IT-/ITJ) Profile.dat bytes 0x0D8-14C (every 4 bytes) [Add 1000 to GIT?]
|
||||
0000 [Blank - Clears box in GIT]
|
||||
0001 Arthur's Key
|
||||
0002 Map System
|
||||
0003 Santa's Key
|
||||
0004 Silver Locket
|
||||
0005 Beast Fang
|
||||
0006 Life Capsule (GIT only)
|
||||
0007 ID Card
|
||||
0008 Jellyfish Juice
|
||||
0009 Rusty Key
|
||||
0010 Gum Key
|
||||
0011 Gum Base
|
||||
0012 Charcoal
|
||||
0013 Explosive
|
||||
0014 Puppy
|
||||
0015 Life Pot
|
||||
0016 Cure-All
|
||||
0017 Clinic Key
|
||||
0018 Booster 0.8
|
||||
0019 Arms Barrier
|
||||
0020 Turbocharge
|
||||
0021 Curly's Air Tank
|
||||
0022 Nikumaru Counter
|
||||
0023 Booster v2.0
|
||||
0024 Mimiga Mask
|
||||
0025 Teleporter Room Key
|
||||
0026 Sue's Letter
|
||||
0027 Controller
|
||||
0028 Broken Sprinkler
|
||||
0029 Sprinkler
|
||||
0030 Tow Rope
|
||||
0031 Clay Figure Medal
|
||||
0032 Little Man
|
||||
0033 Mushroom Badge
|
||||
0034 Ma Pignon
|
||||
0035 Curly's Underwear
|
||||
0036 Alien Medal
|
||||
0037 Chaco's Lipstick
|
||||
0038 Whimsical Star
|
||||
0039 Iron Bond
|
||||
|
||||
|
||||
|
||||
Equip (EQ+/EQ-) Profile.dat bytes 0x02C-02D (low byte first)
|
||||
0001 Booster v0.8 (ignored if v2.0 on)
|
||||
0002 Map System
|
||||
0004 Arms Barrier
|
||||
0008 Turbocharge
|
||||
0016 Curly's Air Tank
|
||||
0032 Booster v2.0
|
||||
0064 Mimiga Mask
|
||||
0128 Whimsical Star
|
||||
0256 Nikumaru Counter
|
||||
NOTE: these are bitwise flags, the final value is the sum of the equipped items
|
||||
3358
docs/flag_listing.tsv
Normal file
3358
docs/flag_listing.tsv
Normal file
File diff suppressed because it is too large
Load diff
2879
docs/flag_listing.txt
Normal file
2879
docs/flag_listing.txt
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -294,8 +294,8 @@ Weapons (AM+/AM-/AMJ/GIT/TAM) Profile.dat bytes 0x038-098 (every 4 bytes: wea
|
|||
|
||||
|
||||
|
||||
Items (GIT/IT+/IT-/ITJ) Profile.dat bytes 0x0D8-14C (every 4 bytes)
|
||||
0000 [nothing?]
|
||||
Items (GIT/IT+/IT-/ITJ) Profile.dat bytes 0x0D8-14C (every 4 bytes) [Add 1000 to GIT?]
|
||||
0000 [Blank - Clears box in GIT]
|
||||
0001 Arthur's Key
|
||||
0002 Map System
|
||||
0003 Santa's Key
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,344 +0,0 @@
|
|||
#0000
|
||||
<FRE<WAI9999<END
|
||||
|
||||
#1000
|
||||
<MSG<TURNo weapon.<WAI9999<END
|
||||
#1001
|
||||
<MSG<TUR- Snake -
|
||||
Penetrates through walls.
|
||||
Made by Chaba in the Labyrinth.<WAI9999<END
|
||||
#1002
|
||||
<MSG<TUR- Polar Star -
|
||||
The most basic gun.
|
||||
It bears the mark of Polaris.
|
||||
<WAI9999<END
|
||||
#1003
|
||||
<MSG<TUR- Fireball -
|
||||
Bounces along the floor.
|
||||
Rather powerful on gentle slopes.<WAI9999<END
|
||||
#1004
|
||||
<MSG<TUR- Machine Gun -
|
||||
An automatic rapid-fire gun.
|
||||
Automatically recharges over time.<WAI9999<END
|
||||
#1005
|
||||
<MSG<TUR- Missile Launcher -
|
||||
Wide range and powerful damage.
|
||||
However, its ammunition is limited.<WAI9999<END
|
||||
#1007
|
||||
<MSG<TUR- Bubbler -
|
||||
From the Assembly Hall's fireplace.
|
||||
How you use it is up to you.<WAI9999<END
|
||||
#1009
|
||||
<MSG<TUR- Blade -
|
||||
A single-shot, high-damage weapon.
|
||||
King's soul dwells within.<WAI9999<END
|
||||
#1010
|
||||
<MSG<TUR- Super Missile -
|
||||
An exhilirating sort of missile.
|
||||
Its acceleration is unmatched.<WAI9999<END
|
||||
#1012
|
||||
<MSG<TUR- Nemesis -
|
||||
Lightning of the Goddess.
|
||||
For advanced players.<WAI9999<END
|
||||
#1013
|
||||
<MSG<TUR- Spur -
|
||||
Hold down the button to
|
||||
fire a laser.<WAI9999<END
|
||||
|
||||
#1100
|
||||
<MSG<TURPuppy<WAI9999<END
|
||||
#1101
|
||||
<MSG<TURPuppies<WAI9999<END
|
||||
#1102
|
||||
<MSG<TURPuppies<WAI9999<END
|
||||
#1103
|
||||
<MSG<TURPuppies<WAI9999<END
|
||||
#1104
|
||||
<MSG<TURPuppies<WAI9999<END
|
||||
|
||||
#1200
|
||||
<MSG<TURJenka's pet dog.<WAI9999<END
|
||||
#1201
|
||||
<MSG<TURJenka's pet dogs. You have found 2.<WAI9999<END
|
||||
#1202
|
||||
<MSG<TURJenka's pet dogs. You have found 3.<WAI9999<END
|
||||
#1203
|
||||
<MSG<TURJenka's pet dogs. You have found 4.<WAI9999<END
|
||||
#1204
|
||||
<MSG<TURJenka's pet dogs. You have found 5!<WAI9999<END
|
||||
|
||||
#5000
|
||||
<MSG<TURNo item.<WAI9999<END
|
||||
#5001
|
||||
<MSG<TURArthur's Key<WAI9999<END
|
||||
#5002
|
||||
<MSG<TURMap System<WAI9999<END
|
||||
#5003
|
||||
<MSG<TURSanta's Key<WAI9999<END
|
||||
#5004
|
||||
<MSG<TURSilver Locket<WAI9999<END
|
||||
#5005
|
||||
<MSG<TURBeast Fang<WAI9999<END
|
||||
#5006
|
||||
<MSG<TURLife Capsule<WAI9999<END
|
||||
#5007
|
||||
<MSG<TURID Card<WAI9999<END
|
||||
#5008
|
||||
<MSG<TURJellyfish Juice<WAI9999<END
|
||||
#5009
|
||||
<MSG<TURRusty Key<WAI9999<END
|
||||
#5010
|
||||
<MSG<TURGum Key<WAI9999<END
|
||||
#5011
|
||||
<MSG<TURGum Base<WAI9999<END
|
||||
#5012
|
||||
<MSG<TURCharcoal<WAI9999<END
|
||||
#5013
|
||||
<MSG<TURExplosive<WAI9999<END
|
||||
#5014
|
||||
<FLJ5001:1100
|
||||
<FLJ5002:1101
|
||||
<FLJ5003:1102
|
||||
<FLJ5004:1103
|
||||
<FLJ5005:1104
|
||||
<MSG<TURPuppy<WAI9999<END
|
||||
#5015
|
||||
<MSG<TURLife Pot<WAI9999<END
|
||||
#5016
|
||||
<MSG<TURCure-All<WAI9999<END
|
||||
#5017
|
||||
<MSG<TURClinic Key<WAI9999<END
|
||||
#5018
|
||||
<MSG<TURBooster v0.8<WAI9999<END
|
||||
#5019
|
||||
<MSG<TURArms Barrier<WAI9999<END
|
||||
#5020
|
||||
<MSG<TURTurbocharge<WAI9999<END
|
||||
#5021
|
||||
<MSG<TURCurly's Air Tank<WAI9999<END
|
||||
#5022
|
||||
<MSG<TURNikumaru Counter<WAI9999<END
|
||||
#5023
|
||||
<MSG<TURBooster v2.0<WAI9999<END
|
||||
#5024
|
||||
<MSG<TURMimiga Mask<WAI9999<END
|
||||
#5025
|
||||
<MSG<TURTeleporter Room Key<WAI9999<END
|
||||
#5026
|
||||
<MSG<TURSue's Letter<WAI9999<END
|
||||
#5027
|
||||
<MSG<TURController<WAI9999<END
|
||||
#5028
|
||||
<MSG<TURBroken Sprinkler<WAI9999<END
|
||||
#5029
|
||||
<MSG<TURSprinkler<WAI9999<END
|
||||
#5030
|
||||
<MSG<TURTow Rope<WAI9999<END
|
||||
#5031
|
||||
<MSG<TURClay Figure Medal<WAI9999<END
|
||||
#5032
|
||||
<MSG<TURLittle Man<WAI9999<END
|
||||
#5033
|
||||
<MSG<TURMushroom Badge<WAI9999<END
|
||||
#5034
|
||||
<MSG<TURMa Pignon<WAI9999<END
|
||||
#5035
|
||||
<MSG<TURCurly's Underwear<WAI9999<END
|
||||
#5036
|
||||
<MSG<TURAlien Medal<WAI9999<END
|
||||
#5037
|
||||
<MSG<TURChaco's Lipstick<WAI9999<END
|
||||
#5038
|
||||
<MSG<TURWhimsical Star<WAI9999<END
|
||||
#5039
|
||||
<MSG<TURIron Bond<WAI9999<END
|
||||
|
||||
#6000
|
||||
<MSG<TURNo item.<WAI9999<END
|
||||
#6001
|
||||
<MSG<TURThe key to Arthur's house.
|
||||
It was hidden near Arthur's
|
||||
gravestone.<WAI9999<END
|
||||
#6002
|
||||
<PRI<EVE7002<MPJ7002<MSGNo data for this floor.<NOD<CLR<END
|
||||
#6003
|
||||
<MSG<TURThe key to Santa's house.<WAI9999<END
|
||||
#6004
|
||||
<MSG<TURA silver locket in the shape of a fish.
|
||||
From the condition it's in, it looks
|
||||
like it's been treasured for years.<WAI9999<END
|
||||
#6005
|
||||
<MSG<TURA sharp fang found at the
|
||||
Yamashita Farm. Is its owner still
|
||||
alive...?<WAI9999<END
|
||||
#6006
|
||||
<MSG<TURA life capsule.<WAI9999<END
|
||||
#6007
|
||||
<MSG<TURAn ID Card found in Egg No. 06.<WAI9999<END
|
||||
#6008
|
||||
<MSG<TURA fluid that can quench
|
||||
fireplaces.<WAI9999<END
|
||||
#6009
|
||||
<MSG<TURA rusty key.<WAI9999<END
|
||||
#6010
|
||||
<MSG<TURA tag says "Gum".<WAI9999<END
|
||||
#6011
|
||||
<MSG<TURA clump of gum.<WAI9999<END
|
||||
#6012
|
||||
<MSG<TURTaken from a fireplace.<WAI9999<END
|
||||
#6013
|
||||
<MSG<TURAn explosive for blowing up doors
|
||||
and such.<WAI9999<END
|
||||
#6014
|
||||
<FLJ3000:1200
|
||||
<FLJ3001:1201
|
||||
<FLJ3002:1202
|
||||
<FLJ3003:1203
|
||||
<FLJ3004:1204
|
||||
<MSG<TURJenka's pet dog.<WAI9999<END
|
||||
#6015
|
||||
<KEY<MSGThis will restore your life,
|
||||
but only once. Will you use it?<YNJ0000<LI+1000<SOU0020<IT-0015<MSG
|
||||
Life restored.<FRE<WAI9999<END
|
||||
#6016
|
||||
<MSG<TURApparently this cures
|
||||
anything and everything...<WAI9999<END
|
||||
#6017
|
||||
<MSG<TURIt says "Labyrinth Clinic".<WAI9999<END
|
||||
#6018
|
||||
<FLJ0742:7018
|
||||
<KEY<MSGPush the jump button again in
|
||||
midair to fly even higher.<NOD<CLR
|
||||
Do you want to equip it?
|
||||
<YNJ0000<EQ+0001<EQ-0064<FL-1020<FL+0742<EQ-0032<FL-0743<MSG
|
||||
Booster equipped.<NOD<WAI0003<FRE<EVE5018
|
||||
#6019
|
||||
<MSG<TURWhen you take damage, the amount
|
||||
of weapon energy lost will be halved.<WAI9999<END
|
||||
#6020
|
||||
<MSG<TURIncreases the rate at which the
|
||||
machine gun replenishes ammo.<WAI9999<END
|
||||
#6021
|
||||
<MSG<TURYou can breathe underwater with
|
||||
this. Curly used to use it.<WAI9999<END
|
||||
#6022
|
||||
<MSG<TURA fully automatic stopwatch.
|
||||
You can't see any buttons.<WAI9999<END
|
||||
#6023
|
||||
<FLJ0743:7023
|
||||
<KEY<MSGPush the jump button in midair and
|
||||
you can move in any direction.<NOD<CLR
|
||||
Do you want to equip it?
|
||||
<YNJ0000<EQ+0032<EQ-0064<FL-1020<FL+0743<EQ-0001<FL-0742<MSG
|
||||
Equipped Booster v2.0.<NOD<WAI0003<FRE<EVE5023
|
||||
#6024
|
||||
<FLJ1020:7024
|
||||
<KEY<MSG<TURCan't be worn with a Booster.
|
||||
It's a bit big...<NOD
|
||||
Do you want to equip it?
|
||||
<YNJ0000<EQ+0064<EQ-0033<FL-0742<FL-0743<FL+1020<WAI0003<FRE<EVE5024
|
||||
#6025
|
||||
<MSG<TURA key fished out by a certain
|
||||
Mimiga.<WAI9999<END
|
||||
#6026
|
||||
<KEY<MSGWill you read it?<YNJ0000<MSG<TUR
|
||||
This is Sue.<NOD<CLRI don't believe I ever told
|
||||
you much about all of us.<NOD<CLRWe came to this island from
|
||||
the surface on a research trip.<NOD<CLRProf. Booster was on our
|
||||
helicopter, and so was my
|
||||
mother, my brother,<NOD<CLRvarious assistants...
|
||||
The Doctor as well.<NOD<CLRHe was there to serve our
|
||||
medical needs, and did so...<NOD<CLRAt least, until he found
|
||||
the Demon Crown...<WAI0020<NOD<CLRThat crown, once the property
|
||||
of the master of this island,<NOD<CLRgrants monstrous magical
|
||||
powers upon its wearer...<NOD<CLRThe Doctor knew this even
|
||||
before coming to the island,<NOD<CLRwhich is why he wormed his
|
||||
way into our group in the
|
||||
first place.<NOD<CLROnce he had the Crown in
|
||||
his possession, no one could
|
||||
stand up to him.<NOD<CLRWe had no choice except to
|
||||
continue our research of the
|
||||
island under his orders.<NOD<CLRThe Doctor seeks to rule the
|
||||
Earth's surface using this
|
||||
island as a base.<NOD<CLRI think he plans to first
|
||||
attack the surface using
|
||||
the Mimigas as weapons.<NOD<CLRAnyway, I was able to get away
|
||||
somehow, but I fear the other
|
||||
researchers are already...<NOD<CLRNow, he's using the unsuspecting
|
||||
Mimigas to cultivate more and
|
||||
more red flowers.<NOD<CLROnce he is ready to attack, he will
|
||||
drive the Mimigas into a murderous
|
||||
frenzy using the flowers.<NOD<CLRUsing his terrible powers,
|
||||
he will be able to control the
|
||||
raging Mimigas to do his bidding.<NOD<CLR
|
||||
And that means I, too, will...<NOD<CLRIf you can escape from this prison
|
||||
cell, look for the hideout hidden
|
||||
in the plantation.<NOD<CLRIf my mother is yet safe,
|
||||
she'll be there, coming up
|
||||
with a counterplan.<NOD<CLRPlease. Help my mother.<NOD<CLRThe password is
|
||||
"Litagano Motscoud".<NOD<CLR<FL+1024<FRE<MSGThe letter ends here...<WAI9999<END
|
||||
#6027
|
||||
<MSG<TURNecessary to make a rocket.
|
||||
Pride of Itoh, the cowardly man.<WAI9999<END
|
||||
#6028
|
||||
<MSG<TURA busted water sprinkler.<WAI9999<END
|
||||
#6029
|
||||
<MSG<TURIt's brand-new. ...Perhaps.<WAI9999<END
|
||||
#6030
|
||||
<MSG<TURA tow rope for robots.<WAI9999<END
|
||||
#6031
|
||||
<MSG<TURSmall and profoundly heavy.
|
||||
It has no use.<WAI9999<END
|
||||
|
||||
#6032
|
||||
<MSG<TURHey! We there yet?<WAI9999<END
|
||||
#6033
|
||||
<MSG<TURThe mushroom badge you got from the
|
||||
mushroom. It has no real use. To be
|
||||
honest, you don't really need it...<FL+1563<WAI9999<END
|
||||
#6034
|
||||
<MSG<TURAllegedly, it has the power to
|
||||
restore memories...<WAI9999<END
|
||||
#6035
|
||||
<MSG<TURRetrieved from behind the wall.
|
||||
Yellow-green panties with a cute
|
||||
little insignia. They have no use.<WAI9999<END
|
||||
#6036
|
||||
<MSG<TUREngraved with the silhouette of an
|
||||
alien. It has no use.<WAI9999<END
|
||||
#6037
|
||||
<MSG<TURRed lipstick.
|
||||
It has no use.<WAI9999<END
|
||||
#6038
|
||||
<KEY<MSGA little trinket you got from
|
||||
Chaba in the labyrinth.
|
||||
A whimsical star.<NOD<FLJ0722:7038<CLR
|
||||
Will you equip it?<YNJ0000<EQ+0128<FL+0722<MSG
|
||||
Equipped the Whimsical Star.<NOD<WAI0003<FRE<EVE5038
|
||||
#6039
|
||||
<MSG<TURYour tie to Curly Brace, the only
|
||||
warrior you would trust your back to.
|
||||
Surely you will meet again one day...<WAI9999<END
|
||||
|
||||
#7002
|
||||
<MLP<END
|
||||
|
||||
#7018
|
||||
<KEY<MSGDo you want to remove it?
|
||||
<YNJ0000<EQ-0001<FL-0742<MSG
|
||||
Deequipped Booster v0.8.<NOD<WAI0003<FRE<EVE5018
|
||||
#7023
|
||||
<KEY<MSGDo you want to remove it?
|
||||
<YNJ0000<EQ-0032<FL-0743<MSG
|
||||
Deequipped Booster v2.0.<NOD<WAI0003<FRE<EVE5023
|
||||
|
||||
#7024
|
||||
<KEY<MSG<TURDo you want to remove it?
|
||||
<YNJ0000<EQ-0064<FL-1020<MSG
|
||||
Deequipped Mimiga Mask.<NOD<WAI0003<FRE<EVE5024
|
||||
|
||||
#7038
|
||||
<KEY<MSGDo you want to remove it?
|
||||
<YNJ0000<EQ-0128<FL-0722<MSG
|
||||
Deequipped the Whimsical Star.<NOD<WAI0003<FRE<EVE5038
|
||||
|
||||
|
|
@ -1,265 +0,0 @@
|
|||
#0000
|
||||
<END
|
||||
|
||||
#0001
|
||||
<PRI<MSGEmpty.<NOD<END
|
||||
|
||||
#0002
|
||||
<AMJ0002:0003<PRI<MSG<TUR<GIT0002<AM+0002:0000
|
||||
Got the =Polar Star=!<WAI0025<NOD<END
|
||||
#0003
|
||||
<PRI<MSG<TUR<GIT0013<TAM0002:0013:0000
|
||||
=Polar Star= became the =Spur=!<WAI0025<NOD<END
|
||||
|
||||
#0004
|
||||
<PRI
|
||||
<MSG<TUR<GIT0003
|
||||
Got the =Fireball=!<WAI0025<NOD<CLR
|
||||
<FLJ2801:0006<FL+2801<AM+0003:0000<END
|
||||
#0005
|
||||
<PRI
|
||||
<MSG<TUR<GIT0001
|
||||
Got the =Snake=!<WAI0025<NOD<CLR
|
||||
<FLJ2801:0006<FL+2801<AM+0001:0000<END
|
||||
#0006
|
||||
<PRI<MSGYou may trade the =Fireball=
|
||||
with the =Snake= and vice-versa
|
||||
at the computer in Arthur's House.<WAI0050<NOD<FL+2802<END
|
||||
|
||||
#0007
|
||||
<PRI<MSG<TUR<GIT0007<AM+0007:0100<FL+2820
|
||||
Got the =Bubbler=!<WAI0025<NOD<END
|
||||
|
||||
#0008
|
||||
<PRI<MSG<TUR<GIT0004<AM+0004:0100
|
||||
Got the =Machine Gun=!<WAI0025<NOD<END
|
||||
|
||||
#0009
|
||||
<PRI
|
||||
<MSG<TUR<GIT0009
|
||||
Got the =Blade=!<WAI0025<NOD<CLR
|
||||
<FLJ2810:0011<FL+2810<AM+0009:0000<END
|
||||
#0010
|
||||
<PRI
|
||||
<MSG<TUR<GIT0012
|
||||
Got the =Nemesis=!<WAI0025<NOD<CLR
|
||||
<FLJ2810:0011<FL+2810<AM+0012:0000<END
|
||||
#0011
|
||||
<PRI<MSGYou may trade the =Nemesis=
|
||||
with the =Blade= and vice-versa
|
||||
at the computer in Arthur's House.<WAI0050<NOD<FL+2811<END
|
||||
|
||||
#0012
|
||||
<PRI<MSG<TUR<GIT1006Got a =Life Capsule=!<ML+0003
|
||||
Max health increased by 3!<WAI0025<NOD<END
|
||||
#0013
|
||||
<PRI<MSG<TUR<GIT1006Got a =Life Capsule=!<ML+0004
|
||||
Max health increased by 4!<WAI0025<NOD<END
|
||||
#0014
|
||||
<PRI<MSG<TUR<GIT1006Got a =Life Capsule=!<ML+0005
|
||||
Max health increased by 5!<WAI0025<NOD<END
|
||||
|
||||
#0016
|
||||
<PRI<MSG<TUR
|
||||
Do you want to save?<YNJ0000<FL+0431<SVP<CLRGame saved.<NOD<END
|
||||
|
||||
#0017
|
||||
<PRI<SAT<FLJ0201:0018
|
||||
<LI+1000<SOU0020<AE+<MSG
|
||||
Health refilled.<NOD<END
|
||||
#0018
|
||||
<PRI
|
||||
<LI+1000<SOU0020<AE+<MSG
|
||||
Health and missiles refilled.<NOD<END
|
||||
|
||||
#0019
|
||||
<KEY<MSG
|
||||
Do you want to rest?<YNJ0000<FAO0004<CMU0000<WAI0020<CLR.....<NOD<CLO
|
||||
<WAI0050
|
||||
<LI+1000<SOU0020<MYD0002<MSG
|
||||
Health restored.<NOD<CLO<RMU<FAI0004<END
|
||||
|
||||
#0020
|
||||
<FL+0274<SNP0136:0000:0000:0000<IT+0014
|
||||
<FLJ5004:0024<FLJ5003:0023<FLJ5002:0022<FLJ5001:0021<FL+5001
|
||||
<PRI<MSG<TUR<GIT1014
|
||||
Got a =Puppy=!<WAI0025<NOD<END
|
||||
#0021
|
||||
<PRI<MSG<TUR<GIT1014<FL+5002
|
||||
Got a second =Puppy=!<WAI0025<NOD<END
|
||||
#0022
|
||||
<PRI<MSG<TUR<GIT1014<FL+5003
|
||||
Got a third =Puppy=!<WAI0025<NOD<END
|
||||
#0023
|
||||
<PRI<MSG<TUR<GIT1014<FL+5004
|
||||
Got a fourth =Puppy=!<WAI0025<NOD<END
|
||||
#0024
|
||||
<PRI<MSG<TUR<GIT1014<FL+5005<FL+0593
|
||||
Got the last =Puppy=!<WAI0025<NOD<END
|
||||
|
||||
#0030
|
||||
<PRI<FLJ2420:0032<FLJ0201:0031<FL+0201<AM+0005:0010<MSG<TUR
|
||||
<GIT0005Got the =Missile Launcher=!<WAI0025<NOD<END
|
||||
#0031
|
||||
<PRI<AM+0005:0005<MSG<TUR
|
||||
<GIT0006Max missiles increased by 5!<NOD<END
|
||||
#0032
|
||||
<PRI<AM+0010:0005<MSG<TUR
|
||||
<GIT0011Max missiles increased by 5!<NOD<END
|
||||
#0033
|
||||
<FL+2420<AMJ0005:0034
|
||||
<PRI<MSG<TUR<GIT0010<AM+0010:0010
|
||||
Got the =Super Missile Launcher=!<WAI0025<NOD<END
|
||||
#0034
|
||||
<PRI<MSG<TUR<GIT0010<TAM0005:0010:0000
|
||||
Your Missiles have been powered up!<WAI0025<NOD<END
|
||||
#0035
|
||||
<PRI<FLJ2420:0037<FLJ0201:0036<FL+0201<MSG<TUR<GIT0005<AM+0005:0024
|
||||
Got the =Missile Launcher=!<WAI0025<NOD<END
|
||||
#0036
|
||||
<PRI<AM+0005:0024<MSG<TUR<GIT0006Max missiles increased by 24!<WAI0025<NOD<END
|
||||
#0037
|
||||
<PRI<AM+0010:0024<MSG<TUR<GIT0011Max missiles increased by 24!<WAI0025<NOD<END
|
||||
|
||||
#0040
|
||||
<KEY<CMU0000<WAI0040<PRI<WAI0040<CMU0003
|
||||
<MSG
|
||||
You have died.<NOD<CLRWant to retry?<YNJ0049<CLO
|
||||
<FAO0001<WAI0050<FLJ0431:0048<INI<END
|
||||
|
||||
#0041
|
||||
<KEY<CMU0000<HMC<WAI0040<PRI<WAI0040<CMU0003
|
||||
<MSG
|
||||
You have drowned.<NOD<CLRWant to retry?<YNJ0049<CLO
|
||||
<FAO0001<WAI0050<FLJ0431:0048<INI<END
|
||||
|
||||
#0042
|
||||
<KEY<CMU0000<WAI0040<PRI<WAI0040<CMU0003
|
||||
<MSG<HMC
|
||||
You were never seen again...<NOD<CLRWant to retry?<YNJ0049<CLO
|
||||
<FAO0001<WAI0050<FLJ0431:0048<INI<END
|
||||
|
||||
#0048
|
||||
<SMC<LDP<END
|
||||
|
||||
#0049
|
||||
<CLO<FAO0004<ESC
|
||||
|
||||
#0051
|
||||
<PRI<MSG<TUR<GIT1001<IT+0001
|
||||
Got =Arthur's Key=!<WAI0025<NOD<END
|
||||
#0052
|
||||
<PRI<MSG<TUR<GIT1002<IT+0002<EQ+0002
|
||||
Got the =Map System=!<WAI0025<NOD<END
|
||||
#0053
|
||||
<PRI<MSG<TUR<GIT1003<IT+0003
|
||||
Got =Santa's Key=!<WAI0025<NOD<END
|
||||
#0054
|
||||
<PRI<MSG<TUR<GIT1004<IT+0004
|
||||
Got the =Silver Locket=!<WAI0025<NOD<END
|
||||
#0055
|
||||
<PRI<MSG<TUR<GIT1005<IT+0005
|
||||
Got the =Beast Fang=!<WAI0025<NOD<END
|
||||
#0057
|
||||
<PRI<MSG<TUR<GIT1007<IT+0007
|
||||
Got the =ID Card=!<WAI0025<NOD<END
|
||||
#0058
|
||||
<PRI<MSG<TUR<GIT1008<IT+0008
|
||||
Got the =Jellyfish Juice=!<WAI0025<NOD<END
|
||||
#0059
|
||||
<PRI<MSG<TUR<GIT1009<IT+0009
|
||||
Got the =Rusty Key=!<WAI0025<NOD<END
|
||||
#0060
|
||||
<PRI<MSG<TUR<GIT1010<IT+0010
|
||||
Got the =Gum Key=!<WAI0025<NOD<END
|
||||
#0061
|
||||
<PRI<MSG<TUR<GIT1011<IT+0011
|
||||
Got the =Gum Base=!<WAI0025<NOD<END
|
||||
#0062
|
||||
<PRI<MSG<TUR<GIT1012<IT+0012
|
||||
Got the =Charcoal=!<WAI0025<NOD<END
|
||||
#0063
|
||||
<PRI<MSG<TUR<GIT1013<IT+0013
|
||||
Got the =Explosive=!<WAI0025<NOD<END
|
||||
#0064
|
||||
<EVE0020
|
||||
#0065
|
||||
<PRI<MSG<TUR<GIT1015<IT+0015
|
||||
Got the =Life Pot=!<WAI0025<NOD<END
|
||||
#0066
|
||||
<PRI<MSG<TUR<GIT1016<IT+0016
|
||||
Got the =Cure-All=!<WAI0025<NOD<END
|
||||
#0067
|
||||
<PRI<MSG<TUR<GIT1017<IT+0017
|
||||
Got the =Clinic Key=!<WAI0025<NOD<END
|
||||
#0068
|
||||
<ITJ0018:0073
|
||||
<PRI<MSG<TUR<GIT1018<IT+0018<EQ+0001<EQ-0064<FL+0742<FL-1020
|
||||
Got the =Booster v0.8=!<WAI0025<NOD<END
|
||||
#0069
|
||||
<PRI<MSG<TUR<GIT1019<IT+0019<EQ+0004
|
||||
Got the =Arms Barrier=!<WAI0025<NOD<END
|
||||
#0070
|
||||
<PRI<MSG<TUR<GIT1020<IT+0020<EQ+0008
|
||||
Got the =Turbocharge=!<WAI0025<NOD<END
|
||||
#0071
|
||||
<PRI<MSG<TUR<GIT1021<IT+0021<EQ+0016
|
||||
Got =Curly's Air Tank=!<WAI0025<NOD<END
|
||||
#0072
|
||||
<PRI<MSG<TUR<GIT1022<IT+0022
|
||||
Got the =Nikumaru Counter=!<WAI0025<NOD<END
|
||||
#0073
|
||||
<PRI<MSG<TUR<GIT1023<IT+0023<IT-0018<EQ+0032<EQ-0065<FL+0743<FL-1020
|
||||
Got the =Booster v2.0=!<WAI0025<NOD<END
|
||||
#0074
|
||||
<PRI<MSG<TUR<GIT1024<IT+0024
|
||||
Got the =Mimiga Mask=!<WAI0025<NOD<END
|
||||
#0075
|
||||
<PRI<MSG<TUR<GIT1025<IT+0025
|
||||
Got the =Teleporter Room Key=!<WAI0025<NOD<END
|
||||
#0076
|
||||
<PRI<MSG<TUR<GIT1026<IT+0026
|
||||
Got =Sue's Letter=!<WAI0025<NOD<END
|
||||
#0077
|
||||
<PRI<MSG<TUR<GIT1027<IT+0027
|
||||
Got the =Controller=!<WAI0025<NOD<END
|
||||
#0078
|
||||
<PRI<MSG<TUR<GIT1028<IT+0028
|
||||
Got the =Broken Sprinkler=!<WAI0025<NOD<END
|
||||
#0079
|
||||
<PRI<MSG<TUR<GIT1029<IT+0029
|
||||
Got the =Sprinkler=!<WAI0025<NOD<END
|
||||
#0080
|
||||
<PRI<MSG<TUR<GIT1030<IT+0030
|
||||
Got the =Tow Rope=!<WAI0025<NOD<END
|
||||
#0081
|
||||
<PRI<MSG<TUR<GIT1031<IT+0031
|
||||
Got the =Clay Figure Medal=!<WAI0025<NOD<END
|
||||
#0082
|
||||
<PRI<MSG<TUR<GIT1032<IT+0032
|
||||
Got the =Little Man=!<WAI0025<NOD<END
|
||||
#0083
|
||||
<PRI<MSG<TUR<GIT1033<IT+0033
|
||||
Got the =Mushroom Badge=!<WAI0025<NOD<END
|
||||
#0084
|
||||
<PRI<MSG<TUR<GIT1034<IT+0034
|
||||
Got =Ma Pignon=!<WAI0025<NOD<END
|
||||
#0085
|
||||
<PRI<MSG<TUR<GIT1035<IT+0035
|
||||
Got =Curly's Underwear=!<WAI0025<NOD<END
|
||||
#0086
|
||||
<PRI<MSG<TUR<GIT1036<IT+0036
|
||||
Got the =Alien Medal=!<WAI0025<NOD<END
|
||||
#0087
|
||||
<PRI<MSG<TUR<GIT1037<IT+0037
|
||||
Got =Chaco's Lipstick=!<WAI0025<NOD<END
|
||||
#0088
|
||||
<PRI<MSG<TUR<GIT1038<IT+0038<EQ+0128<FL+0722
|
||||
Got the =Whimsical Star=!<WAI0025<NOD<END
|
||||
#0089
|
||||
<PRI<MSG<TUR<GIT1039<IT+0039
|
||||
Got the =Iron Bond=!<WAI0025<NOD<END
|
||||
|
||||
|
||||
XX: head.tsc 4000 - 4099
|
||||
4000:Almond<6E><64><EFBFBD><EFBFBD>
|
||||
Binary file not shown.
File diff suppressed because one or more lines are too long
|
|
@ -1 +0,0 @@
|
|||
€}枺,<E69EBA>}<7D>链<EFBFBD>廊##<EFBC83>醇##<EFBC83>练€}枺,<E69EBA>}<7D>链<EFBFBD>廊##<EFBC83>醇#¥<EFBC83>练€}枺,<E69EBA>}<7D>链<EFBFBD>廊##<EFBC83>醇#%<EFBC83>练€}枺,<E69EBA>}<7D>链<EFBFBD>廊##<EFBC83>醇#&<EFBC83>练€}枺,<E69EBA>}<7D>链<EFBFBD>廊##<EFBC83>醇#'<EFBC83>练€}枺,█}<7D>链<EFBFBD>谭#%<EFBC83>偶€}<7D>廊#Μ<EFBC83>醇#%<EFBC83>柑€}<7D>撩¥#<EFBFA5>#-##<EFBC83>雌<EFBFBD>练€}€}枺В<E69EBA>}枺В<E69EBA>}枺В<E69EBA>}枺ǎ<E69EBA>}<7D>撩(#<EFBC88>谭#%€}<7D>柑<EFBFBD>坪守咧忄亍<E5BF84>路<EFBFBD>颗€}<7D>炊#ガ紦脏摰赃哜妗<E5939C>路€}<7D>颗库嶷煋哜嶷撣蚤負紦暝茜刈 ’谅矾犊攀攒缲讚兮鍝幺負忉負贳鈥}赈柽讚佘嵩哌鞊骅兆柝撪靲}嘣谲謿鎿勹屐 ’谅矾犊帕怅煋捃哌撪財<E692AA>路€}洛摷牋<E691B7>路s墼哌撧苓邠搪葦敮谅矾犊聙}<7D>廊#'€}<7D>撩'%<EFBC87>ぃ-,#<EFBC8C>铝'%<EFBC87>¥﹢}<7D>瓶,#<EFBC8C>撩,#<EFBC8C>¥-##<EFBC83>练€}枺<><E69EBA>}<7D>撩,#<EFBC8C>#-#(€}<7D>铝,#<EFBC8C>¥﹢}<7D>撩'#<EFBC87>Ζ<EFBFBD>#%€}<7D>撩'¥<EFBC87>Ζ<EFBFBD>##€}<7D>廊##<EFBC83>醇&#€}<7D>吕#ぉ<EFBC83>醇#ǎ€}<7D>麓¥#<EFBFA5>醇%#€}<7D>撩'%<EFBC87>ぃ-##€}<7D>铝'%<EFBC87>¥﹢}<7D>麓%#€}<7D>廊#*<EFBC83>瓶##€}<7D>练€}枻#<E69EBB>}<7D>拷ぉ#<E38189>#<EFBFBD>}<7D>繛ぉ#€}<7D>廊##<EFBC83>麓%ィ<EFBC85>醇%#€}<7D>廊#Ε<EFBC83>麓&#<EFBC86>醇#ǎ€}<7D>麓&い<EFBC86>瓶##<EFBC83>练€}枻#<E69EBB>}<7D>柑<EFBFBD>碌##<EFBC83>¥﹢}<7D>麓ぃ#<E38183>醇%#€}<7D>嵌<EFBFBD>糯#<E7B3AF><EFBC83>い-##<EFBC83>#<EFBFBD>
|
||||
|
|
@ -1 +0,0 @@
|
|||
\Yrˆ\Y‹œ<E280B9><C593>‹’œ¤‹•<E280B9>˜‹”<E280B9>“\Yrˆ€\Y‹œ<E280B9><C593>‹’œ¤‹•<E280B9>˜€‹”<E280B9>“\Yrˆ<7F>\Y‹œ<E280B9><C593>‹’œ¤‹•<E280B9>˜<7F>‹”<E280B9>“\Yrˆ‚\Y‹œ<E280B9><C593>‹’œ¤‹•<E280B9>˜‚‹”<E280B9>“\Yrˆƒ\Y‹œ<E280B9><C593>‹’œ¤‹•<E280B9>˜ƒ‹”<E280B9>“\Yrƒ\Yrƒ€\Yrƒ<C692>\Yrƒ€\Yrƒ€€\Yrƒ€<C692>\Yr„\Y‹š”¨‹¢<E280B9>£‹—œ’‹•žœ€…‹œ¨“<7F>‹’œ¤‹ ¤<C2A0>„‹•<E280B9>˜€\Y‹¦<E280B9>˜€„\Y‹œ¢–‹•<E280B9>’<7F>„˜ÃoÂþ¿¿´³}}}‹<>ž“‹’›¡‹•<E280B9>’€ˆ£·´o¸Â»°½³vÂoÂþ¿¿´³\Yµ°»»¸½¶p‹<70>ž“‹’›¡œ°È±´o°»»o÷´o½´¶°Ã¸Å´\Y´½´Á¶ÈoưÂoÆ´°º´½´³o°µÃ´Á\YÆ´o±´°Ão·¸¼Ž‹<C5BD>ž“‹’›¡‹•<E280B9>’<7F>„}}}}}‹<>ž“‹’›¡¦´»»{o˜o³Ä½½¾{o±ÄÃo¸Ã\Y»¾¾ºÂo»¸º´o¾ÄÁoƾÁºo·´Á´\Y¸Âo³¾½´}‹<>ž“‹’›ž‹•<E280B9>’\Y‹œ¢<C593>‹£¤¡ooo˜Ão·ÄÁÃÂ}}}‹¦<E280B9>˜„\Y‹œ¢–‹•<E280B9>’<7F>„¦·°ÃŽ‹<C5BD>ž“‹’›ž‹•<E280B9>’\Y‹¦<E280B9>˜€‹œ¢<C593>‹£¤¡ooooo¢¾}}}oo·¾Ã}}}}}\Y‹<59><E280B9>Ÿƒ€‰€‰‹<7F><E280B9>Ÿƒ€€‰€‰<7F>‹¦<E280B9>˜„oooooooo£·´o¿°¸½}}}\Y‹¦<E280B9>˜€‹Ÿ¡˜‹œ¢–Žp‹¦<E280B9>˜„‹<7F>ž“‹’›ž‹•<E280B9>’‹š”¨\Y‹’œ¤‚ƒ‹¦<E280B9>˜€\Y‹<59><E280B9>Ÿƒ‰‰‹¦<E280B9>˜<7F>\Y‹<59><E280B9>Ÿƒ€‰‰<7F>‹¦<E280B9>˜‡\Y‹Ÿ¡˜‹œ¢–‹•<E280B9>’<7F>„£·´oư»»pp‹<70>O“‹’›ž‹•<E280B9>’‹š”¨\Y‹¦<E280B9>˜€\Y‹<59><E280B9>Ÿƒ‰‰<7F>‹¦<E280B9>˜<7F>\Y‹<59><E280B9>Ÿƒ€‰†‰<7F>‹¦<E280B9>˜‚<7F>\Y‹<59><E280B9>Ÿƒ€‰‰‹¦<E280B9>˜<7F>\Y‹œ¢<C593>‹£¤¡oooo—´»¿o¼´}}}‹¦<E280B9>˜„\Yooooo˜Ão·ÄÁÃÂ}}}‹¦<E280B9>˜„\Yoooooo¢¾o·¾Ã}}}}}‹¦<E280B9>˜„‹’›¡‹’›ž\Y‹Ÿ¡˜‹œ¢–‹•<E280B9>’<7F>„¦´vÁ´o¶¾½½°o¶´Ão²ÁÄ·´³p‹<70>ž“‹’›ž‹š”¨‹¦<E280B9>˜„\Y‹Ÿ¡˜‹•<E280B9>’‹œ¢‚—¸È°·p‹<70>ž“‹’›ž\Y‹š”¨‹’<E280B9>Ÿƒ<C692>‰ˆ‰‹¦<E280B9>˜€„\Y‹Ÿ¡˜‹œ¢–‹•<E280B9>’„£·´Á´oȾÄo°Á´p\Y™ÄÂÃo»¸º´oœ¸Â´ÁÈo°¸³}‹<>ž“‹’›¡\Y‹•<E280B9>’€ˆ¨¾Äo²°¼´oþoÁ´Â²Ä´oÄÂp‹<70>ž“‹’›¡‹•<E280B9>’„—¾»³o¾½oø¶·Ãpp‹<70>ž“‹’›ž‹•<E280B9>’\Y‹š”¨\Y‹<59><E280B9>Ÿƒ€‰<7F>‰‹¦<E280B9>˜€\Y‹<59><E280B9>Ÿƒ‰‡‰<7F>‹¦<E280B9>˜<7F>\Y‹Ÿ¡˜‹œ¢–‹•<E280B9>’„›´ÃvÂo¶¾p‹<70>ž“‹’›ž‹•<E280B9>’\Y‹š”¨‹•ž<E280A2>ƒ<C692>‰€…\Y‹’<E280B9>Ÿƒ<C692>‰€<7F>‰<7F>‹¦<E280B9>˜<7F>\Y‹<59><E280B9>Ÿƒ<C692>‰€‰<7F>‹¦<E280B9>˜€\Y‹•œ¤‹œ¢–‹£¤¡\Y“ľ¾¾¾¾¾¾¾¾¾¾¾¾····pp‹¦<E280B9>˜€‹’›ž‹¦<E280B9>˜„‹•œ¤‹•<E280B9>ž€\Y‹¦<E280B9>˜„‹Ÿ¡˜‹’œ¤\Y‹œ¢–‹•<E280B9>’<7F>„˜ÂoȾÄÁo·´°³o°»»oÁ¸¶·ÃŽ‹<C5BD>ž“‹’›¡\Y‹•<E280B9>’<7F>‚˜v¼o½¾ÃoÂÄÁ´}}}‹<>ž“\Y‹£¡<C2A3>†€‰€<7F>‰‰\Y
|
||||
|
|
@ -1 +0,0 @@
|
|||
A>WddmdA>p≠upw♂dddlpzu}ddddpyYA>WddmeA>p≠upw♂dddlpzu}dddepyYA>WddmfA>p≠upw♂dddlpzu}dddfpyYA>WddmgA>p≠upw♂dddlpzu}dddgpyYA>WddmhA>p≠upw♂dddlpzu}dddhpyYA>WdeddA>pz~dgjendedgA>pz~dgjdndedfA>p}<7D>dddhndedeA>py膏㏍嬰deepuddeddnddddndddfA>pzuヅddhp<68>uddeenddmhnddhfnddifA>WdedeA>pф}p∞{}ィTォ」「[ィT」、劼UpcxpyYA>WdedfA>py膏zuヅddhp<68>uddeenddmhnddhfnddifA>WdedgA>pф}p∞{坤ゥT藍「[ィTヲゥ「UpcxpyYA>WdeidA>WdeieA>WdeifA>WdeigA>WdeihA>WdfmdA>p}<7D>dddhndfmepyYA>WdfmeA>pxddfmdpz~dgjdndfmfpф}p∞{p<><70>zuwdddl亨ュ`Tュ」ゥUUpcxpwdedddnddjgndddfpyYA>WdfmfA>pz~fhkdnddddpy膏″xdddfp∞{p<><70>ゥョョ復Upwddhdendddmnddddp丘}deddA>pwddhdenddefnddddA>pzuwdddip㎡<70>∞{<7B>Tォ恤ィ[ァTュ」ゥヲT<EFBDA6>腹spcxA>坤ゥT屮「「謬圄屆ィT。儺ォ舉廣>ィ恤ィTィ悃「孕p高~eddepuddhdenddgdnddddpw<77>>pzuwddeh}T泙勠T舉Upcxpwア>pz_dgjepw♂dddhpwddhdenddjlnddddpv〝dhdepyYA>WdhddA>py喉>p〟wpwddhddnddefnddddpuddhddnddfdndddhp丘}dehdA>py楽dhdfA>WdhdeA>py喉>p〟wpwddhdenddefnddddpuddhdenddfdndddhp丘}dehdA>py楽dhdfA>WdhdfA>pzadgjepzadgjfpz_fhkdA>pф}p㎡<70>∞{pzuwdddi~ゥァィTュ」ゥTォ幅ィUpcxpzuwddddpy膏wア>p丘}deddpw♂ddeiA>p∞{A>z」ゥ屆ィT」囹Tv腹ヲ」婉p丘}dehdpcxA>p㏍嬰dhipwddeidndddenddddp丘}dddhA>p㏍嬰dhipwddeiendddenddddp丘}dddhA>p㏍嬰dhipwddeifndddenddddp丘}dddhA>p㏍嬰dhipwddeigndddenddddp丘}ddd4A>p㏍嬰dhipwddeihndddenddddp丘}dddhA>p㏍嬰dhipwddejdndfignddddA>pw♂dddlpyYA>WdiddA>WedddA>py膏z_dgjdpz_dgjepz_dhhdpzadgfjp㎡<70>∞{y劔劔辧Upcxpw<77>分儺。兪Tァ分儺。儷Upcxpw<77>bbbbpcxA>|ゥ徭pcxp″vdddfp丘}ddgdp″xdddfpwdedddnddjdndddhpw<77>zuwdddj坤ゥ[ヲ冀bbュ」ゥ[ヲ儺「」ィA>ォ舉弋ィ恙Tx」葎」ヲspcxpw<77>弑T}[。Tァ」ヲヲュbpcxpwア>pzuwddddpw♂ddddA>p<>uddgdp㏍嬰dfjA>pudedddndddlnddddA>puddeddndddenddddA>p丘}ddedA>p″xddddA>pwdedddnddjdnddddA>p丘}deddA>p<>uddgdp㏍嬰dfjA>pudedddndddlnddddA>puddeddndddenddddA>p丘}ddkdA>p<>uddgdp㏍嬰dfjA>pudedddndddlnddddA>pwddhddnddemndddfA>pwddeddnddelndddfA>pw>dddhndddlnddldA>pw>dddindddlnddleA>pw>dddjndddlnddlfA>pw>dddhndddmnddmjA>pw>dddindddmnddmkA>pw>dddjndddmnddmlA>p∞{|ゥョョ復Up丘}ddidpwddhddnddefndddfpuddhddnddgdndddfpwパy膏w♂ddeeA>pwddiddnddjkndddfp丘}deddpuddiddnddegndddfp丘}ddidpudedddndddlnddddA>p∞{pzuwddejw」。儺腹」「嫣T「」ォbpcxpwア>puddiddnddeindddfp丘}deedA>puddiddnddfdndddfA>p丘}ddidA>pzuwdddip∞{<7B>Tォ恤ィ[ァTュ」ゥヲT<EFBDA6>腹spcxA>坤ゥT屮「「謬圄屆ィT。儺ォ舉廣>ィ恤ィTィ悃「孕p高~eddepuddhddnddgdndddfpw<77>>pzuwddeh}T泙勠T舉Upcxpwア>pz_dgjepw♂dddhpwddhddnddjlndddfpv〝dhddpyYA>WeddeA>py膏zadgjfpzadgjepw♂dddlp∞{pzuwdddi|ゥ彙pcxA>u<><75>Tヲ撥惠`Tァ劔Tュ謬ィ恙「bpcxpwパuddhddnddedndddfpuddhdenddedndddfpyY
|
||||
|
|
@ -1 +0,0 @@
|
|||
S``i`=:l{u瑛v|]aai`lv|]aaialv|[aaibl}~qls}<7D>`c`lvqy````lu~t=:S``ia=:l{u瑛v|[aai`lv|]aaialv|]aaibl}~qls}<7D>`c`lvqy```alu~t=:S``ib=:l{u瑛}~qls}<7D>`c`lvqy```blu~t=:S``ic=:l{u瑛}~qls}<7D>`c`lvqy```clu~t=:S``id=:l{u瑛v|]aai`lv|[aaialv|]aaibl}~qls}<7D>`c`lvqy```dlu~t=:S``ie=:l{u瑛vqy```dlu~t=:S`a``=:l{u瑛<75><EFBFBD>`aalq~`a``j````j```blvq```c=:lyй``bcj`a`alрq``fcj``icj```ij```d=:S`a`a=:l{u瑛рq``fgj``icj```ij```d=:S`aa`=:lZlvq```blрq``fdj``ibj```aj``aa=:S`ab`=:l{u瑛q~`ab`j````j```bl<62><EFBFBD>`aalvq```dlрq``ffj``idj``a`j```h=:S`ac`=:lZl}ヘ<>劵P擂」、P瀦P、<50>P<EFBFBD>恙董<E68199>、覆=:Η姫憎捻、<E68DBB>P洟<50>「」P淘摯P辨P沾^^^l~tlu~t=:S`aii=:lZl}ヘ~剴姫圈耽l~tlu~t=:=:S`b``=:l{u瑛}液````lt~0b``l㎞ネ}ヘq棠P箕「、<EFBDA2>「P憎捻ゥ衍W「<57>=:痢辨猶、蘖桝惧Ql~tlu~t=:S`b`a=:lZl}ヘlу<6C>=:PPPPPPPPPPPPзqЦケq||\Pv|{ゲl~tlu~t=:S`ba`=:lZlv|zaaiaj`baalv|zaaibj`bab=:lZlvq```dl}液```bl㎞y``e`lрq``fbj``iej```gj``gd=:S`baa=:lZlvq```dl}液```bl㎞y``e`lрq``fbj``iej``gij``gc=:S`bab=:lZlvq```dl}液````l㎞y``e`lрq``fbj``iej`aagj``fb=:S`bii=:lt~`biilv|zbiiij````lu<6C>`c``=:S`c``=:lyй``cij`c`alu<6C>`c`c=:S`c`a=:lv|zbh``j`c`blu<6C>`c`c=:S`c`b=:lv|qlt~q``aclt~`biilt~`c``l<><EFBFBD>`celu~t=:S`c`c=:l{u瑛v~`c``j``afl}詠```bl}ヘlvqs``balwy<77>`cilуS「辨猶摯PΗ姫未沱P、<50>Pu覧=:s泙「剩泙P促Pァ復弃促P、<50>P=:my「沾Pr沾芭Ql~tls|<7C>棡ゥP、<50>霸ァ劈弃yP弔舞娜、<E5A89C>」=:酎「「剳「^l~tlv}```hlu~t
|
||||
|
|
@ -1 +0,0 @@
|
|||
q~~噡[X姍摟姅歿噡姅歿<7F>姅歽噣姂洠~~唺攺梸~~~姄湌[Xq~~<7E>[X姍摟姅歽噡姅歿<7F>姅歿噣姂洠~~唺攺梸~~姄湌[Xq~~噣[X姍摟姂洠~~唺攺梸~~€姄湌[Xq~~噥[X姍摟姂洠~~唺攺梸~~亰摐抂Xq~~噦[X姍摟姅歿噡姅歽<7F>姅歿噣姂洠~~唺攺梸~~倞摐抂Xq~~噧[X姍摟姀湠~€唦垀~~垀~~~姅潨~€唦垀~刐X姤彈~~儈姅彈~~~倞摐抂Xq~~~[X姍摟姟潱~~姀湠~~~垀~~~垀~~€姅彎~~~乕X姉<58>~~€亪~~姠爮~~剚垀~噥垀~~噲~~~俒Xq~~[X姍摟姠爮~~剠垀~噥垀~~噲~~~俒Xq~~[X姙牀姅彎~~~€姠爮~~剛垀~噣垀~~垀~[Xq~€~[X姙牀姅殬亣亪~€姏<7F>椔n沤紆耼骄臣o姕潚姄湌[Xq~€[X姍摟姅彎~~~倞敐泘~剨<7F>弤~厙垀~噦垀~~垀~~哰Xq~噰[X姙牀姂洠~~亖姏<E4BA96>⒍<EFBFBD>筺墙胣唇纍鲁谅芳祇[X⒍硁汲坡n警缆n妨n谅泛篬X眉渤纍苯剂吕帽路郊|||姕潚姞洠姄湌[Xq~€~~[X姍摟姏<E6919F>~~~~姃湠~€~~姏<>徏莕疵缆冻纍<E586BB>瞡墙胾莱[X到芳祅陆n疮汉o姕潚姄湌[Xq~€~[X姙牀姏<E78980>姠 [X<>彚u<E5BD9A>彋歾n敐殭<E69590>姕潚姄湌[Xq~€~[X姙牀姅殬<7F>垀€姅殬噣垀€€[X姙牀姅彎~~~倞洤拁~~€姤彈~~儈姠爮~~厏垀~噧垀~~厛~~厒[Xq~€[X姙牀姅彎~~~倞洤拁~~€姤彈~~儈姠爮~~厏垀~噧垀~厙垀~厑[Xq~€€[X姙牀姅彎~~~倞洤拁~~~姤彈~~儈姠爮~~厏垀~噧垀厛~~剙[Xq~€唦[Xq~€噡[Xq~€<>[Xq~€噣[Xq~€噥[Xq~€噦[Xq~€噰[Xq~亊~[X姟彚[X姍摟姈洃姅潨~亊~垀~刐X姤彈~~唦姀湠~€噰垀~€~垀~~€[X姟灐姤彈~~€~[X姏<58>椔u羘烂技芳祇姕潚姂殱姅彈~~~姤彈~~儈[X姂湠~€<>垀€厛~~~~姀湠~€<>垀~倊垀~~~姤彈~~儈[X姀湠~€噡垀~~~垀~~~姤彈~~€~[X姏<58>姅彂~~€啣硊某n到耼臣矫刀n疵澈o[Xコu莱n莱<6E>莕陆n到n<E588B0>[X<>莕路怀|姕潚姂殸柍秥||n梟汲某纍怖朝怀瞇X梪瞡<E6A2AA>旅<EFBFBD>呵n化钩n仿[X隘惫n陆n露硁撩来<E692A9>硘||姕潚姂殱姅彂~~~~[X姀N瀪€<E780AA>垀~儈垀~~~姤彈~~刐X姏<58>姅彂~~€€梟沤疾忱n反n露城u莱[X<>簄婪刀聕||姕潚姂殱[X姅彂~~~~姤彈~~刐X姛<58>~~~[X姀湠~€噡垀~~亪~~~~[X姀湠~€<>垀~~垀~~~[X姂湠~€噣垀€厙垀~~~[X姂湠~€噥垀€厙垀~~~[X姂湠~€噦垀€厙垀~~€姤彈~~~[X姀湠~€<>垀~個垀~~~[X姀湠~€噡垀~~~垀~~~[X姏<58>姅彂~~€啅糿朝缆犊茂钩|||崐湞拪憵爦攺憕~€€⒍硁苯莱|||峓X椔n苯煤布u耼俺o姕潚姂殱[X姅彎~~~亰敐泘~剨憺<E589A8>洤拁~~€姠爮~~剢垀剘~垀~€倛~~乕X[Xq~亊僛Xq~亊刐Xq~亊匸Xq~<7E>~[X姟彚姍摟姏<E6919F>~~~~姂洠~~唺敋{噡姅歿<7F>姅歽噣姅彈~~~~[X姀湠~亊儓~~垀~~€[X姀湠~€唦垀~~垀~~~[X姅潨~亊儓~~剨洝亰攺憕~~仢某纍冻莱o姕潚[X犆糿欧露n<E99CB2>簄墙胣到聑[X嚼n墙胾莱n到技痭党耓X崩昧冻瞣o姕潚姅潨~€唦垀~剨憵漑X姀湠~亊儓~~亊垀~~~姤彈~~剘[X姃湠~亊儕敋{亣姄湌[Xq~亐~[Xq~亖~[X姟彚姍摟姃湠~亖~姏<>~~~~姀湠~亐~垀~~~垀~~€[X姤彙姤彈~~儈[X姅潨~亐~垀~剨洝晩攺憕~~⒍忱硊羘冀哦忱硁澈脸n陆[X烂紎nコu汉n动某n陆n该痪[X唇纍仿|姕潚[X椔u羘撤露忱n露<6E>n嚼n练耓X冻莱n<E88EB1>瞡撼耼露沉硁澜惫羀X崩昧秐昧o姕潚姂殸Ы胣莱<E883A3>菎姕潚[X樏痪n<E797AA>n疮纍<E796AE>n墙胣悲紀姕潚姂殱姍摟[X姀湠~亐~垀~~~垀~~~姤彈~~儈[X姀湠~亐~垀~亊垀~~~姤彈~~€[X姀湠~亐~垀~倊垀~~~姤彈~~儈[X姅歿亣€姅潧~~剨摐抂Xq~倊~[X姟彚姍摟姅洠姃湠~倊~姤彈~~亊姈洃姅彎~~~~[X姂湠~儈~垀€儌垀~~~姤彈~~~[X姀湠~儈~垀~€~垀~~€姤彈~~~[X姀湠~儈~垀~亊垀~~€姤彈~~~[X姅潨~儈~垀~剨洕<E589A8>~€~垀~亊[X姃湠~亊厞挏瀪€唦[X姤彈~~~姅彈~~~俒X姏<58>姅彂~~€€[X⒍硁妨函疾u羘疮汉芳祙||姕潚姂殸姅彂~~€啑聈羘陆絥帛嫉忱矫羭[Xコu某n到耼陆n久汉n矫耾姕潚姂殱姅彎~~~俒X姂洠~~亙姠爮~~倗<>€~~垀~噯垀~~刐Xq~儈~
|
||||
|
|
@ -1 +0,0 @@
|
|||
DAZggpgDAsуxszъgghis}xggggs|<7C>DAZggphDAsуxszъgghis}xggghs|<7C>DAZggpiDAsуxszъgghis}xgggis|<7C>DAZggpjDAsуxszъgghis}xgggjs|<7C>DAZggpkDAsуxszъgghis}xgggks|<7C>DAZghggDAs㊨s}x<>gggs級xgghhqggpgqgglmqggjjDAZghhgDAs<41>尽恰携ghhsx<73>ghhgqggggqgggiDAs}x<>ggks級xggojqggpkqggg7qgghgDAZgiggDAs㊨DAs|鋼gigiDAZgigiDAs|鋼ggoiDAZgjggDAsz<73>gjggqggggqggggs}メgjpgqgjgis}ッgjpgs|鋼gjghDAZgjghDAs|鋼gglhDAZgjgiDAs㊨sш~xゥォ洳ゥ^ェW棠亊彳s<E5BDB3>{DA供惓弯ェWョゥ<EFBDAE>ォ<EFBFBD>・杆ヲ・Wォ沮DAォヲ、飭ォヲ・徠s<E5BEA0>{szラsш~s旧<73>惓弩ェ」惧ァェWォ沮W・ヲ劵弩xゥォ洳ゥcDAォゥャ弩沮ゥヲWォヲWォ沮W│、<E29482>椈ェes<65>{szラs|<7C>
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1 +0,0 @@
|
|||
IF_llulIFx炎}x苑llllx<6C><78>lllx♀IF_llumIFx炎}x苑llllx<6C><78>llmx♀IF_llunIFx炎}x苑llllx<6C><78>llnx♀IF_lluoIFx炎}x苑llllx<6C><78>llox♀IF_llupIFx炎}x苑llllx<6C><78>llpx♀IF_lluqIF_lluuIFx〟富炎}x苑llllIFx}褐lmqlvlllmvllllx<6C><78>llpIFx褐lolmvlmmnvlllnx党<78>mllIFx}褐lmqlvllllvllllIFx鴛lllnx褐lolmx初x♀IF_lmllIFx月<78>殉蝕Fxh<78>lnovlmlnIFx<46><78>lnqvlmlmIFx縁ューcッ\ィォ洫。<E6B4AB>jx葛x♀IF_lmlmIFx暑鼠lnnx縁ベュ仁lnq賊。<E8B38A>\ー、。\y寸ィ。ャォョー。ョ\辞ォゥ\<5C>オyjx葛x<78>x<EFBFBD>illnqIFxュ人lllxhgmlnox£〕mlnIF_lmlnIFx〟富暑鼠lmmx}褐lmllvllllvlllnx<6E>詰llnx錘}llqrvllunvlllmvlmloIF_lmqlIFx〟富殉<E5AF8C><h<>mplvlmqnx<6E><78>lnqvlmqmxh<78>lnovlmqmx£〕mqnIF_lmqmIFx〟富縁ムォ\オォア\ウ擡ー\ーォ\」ォ\ーォ\}ョー、アョcッIF、ォアッ。{x賦<78>lllx<78>IFxhgmltnxhgmmplx件glllqvrllqIFx党<78>lqlx縁オF㊤<46>℃\視~巨]x葛x<78>IFx鴛lllnIFx}褐lnqlvllmlvllllx党<78>lrlIFx褐lnrlvlmqlvllllxчIFx}褐lnrlvllmlvllllx党<78>lqlIFx<46>詰llox党<78>mllx初xh<78>mpmvlmqnxhgmmpmx錘}llqsvlnnlvllmmvllmpIF_lmqnIFx月<78>縁ムォ\オォア\ウ擡ー\ーォ\」ォ\ーォ\}ョー、アョcッIF、ォアッ。{x賦<78>lllx<78>x件glllqvrllqIFx〟富褐lollvlmmmvlllnxчx党<78>lrlx}褐lmqlvlllmvllllIFx党<78>mllx<6C>詰llpx錘}lllmvlluuvlllqvllltIF_lnqlIFx〟富縁ニjjjjx葛x♀IF_lnrlIF_lollIF_lolm
|
||||
|
|
@ -1 +0,0 @@
|
|||
=:S``i`=:l}~qlv|]`bfcls}<7D>``blvqy````lu~t=:S``ia=:l}~qlv|]`bfcls}<7D>``blvqy```alu~t=:S``ib=:l}~qlv|]`bfcls}<7D>``blvqy```blu~t=:S``ic=:l}~qlv|]`bfcls}<7D>``blvqy```clu~t=:S``id=:l}~qlv|]`bfcls}<7D>``blvqy```dlu~t=:S``ii=:ls}<7D>`bhlvqy```dlu~t=:S`a``=:l<><6C>l<EFBFBD><6C>`aalt~<7E>`a``lvq```dl<64>q```fj``idj`aaij``ag=:S`b``=:l<><6C>=:ly<6C>```hj`b`b=:l{u炼}<7D>r襔<72>硂<EFBFBD>𠠬<EFBFBD><F0A0A0AC><EFBFBD><EFBFBD><EFBFBD>P<EFBFBD><50>袇\=:<3A>仙<EFBFBD>周𩡗<E591A8><F0A9A197>^l~tlv|z`bdaj`b`alu~t=:S`b`a=:ls|<7C>}<7D><>𠠬<EFBFBD><F0A0A0AC>袇P𢅛𠠬<F0A2859B>P<EFBFBD>𠠬<EFBFBD>周<EFBFBD><E591A8>=:<3A>仙<EFBFBD>唞匕<E5949E>匕<EFBFBD>ㄓ^^^l~tls|=:lv|[`bfalv|[`bfclu<6C>`c`a=:S`b`b=:l{u炼v|[`baclq~<7E>`b``j``a`j````l𩺰y``c`lvq```dl<64>q```fj``iij`abdj`0aa=:S`ba`=:l<><6C>lv|zbd`cj``ailv|z`bdaj`baalu<6C>``ai=:S`baa=:l{u炼v|[bd`clvq```dls}<7D>```l𩺰y``b`l}~<7E>`c``j``abj```fj````lq~<7E>`c``j``a`j````=:l𩺰y``e`l|y[a```l<><6C>`b`l}缆```bl<62><6C>vqy```dlu<6C>`bab=:S`bab=:lu<6C>``hg=:S`c``=:l<><6C>=:lv|zbdc`j`c`b=:lv|z`bdaj`c`c=:l{u炼}<7D>x<EFBFBD><78>P<EFBFBD>佅𥫩=:x𪈳𠠬<F0AA88B3>仙<EFBFBD>匕<EFBFBD>䣳髢=:<3A>𠠬<EFBFBD>𢅛<EFBFBD>夜<EFBFBD>寸l~tlu~t=:S`c`a=:l{u炼}<7D>lwy<77>``h<>P<EFBFBD>匕䰻匕<E4B0BB>𠠬<EFBFBD><F0A0A0AC>袇\P<><50>=:<3A><>Pmz<6D>𢅺<EFBFBD><F0A285BA>Pz<50><7A>m^l~tlu~t=:S`c`b=:l{u炼}<7D><>仙<EFBFBD><E4BB99>P䰻匕<E4B0BB><E58C95>㎜‘<E38E9C>𦻐Q=:q<><71><EFBFBD>Ql~tlu~t=:S`c`c=:lv|[`bfalv|[`bfc=:l{u炼}<7D>w<EFBFBD><77>袇αPyP<79><50>P<EFBFBD><50><EFBFBD>𠠬<EFBFBD><F0A0A0AC>硂<EFBFBD><E7A182>=:<3A>硂<EFBFBD>P<EFBFBD>憕<EFBFBD>鰊𠠬<E9B08A><F0A0A0AC><EFBFBD>Ν䰻不<E4B0BB>𦖠^^l~tlu~t
|
||||
|
|
@ -1 +0,0 @@
|
|||
?<Ubbkb?<nsnu㍍bbbnxs{bbbbnwv?<Ubbkc?<nsnu㍍bbbnxs{bbbcnwv?<Ubbkd?<nsnu㍍bbbnxs{bbbdnwv?<Ubbke?<nsnu㍍bbbnxs{bbbenwv?<Ubbkf?<nsnu㍍bbbnxs{bbbfnwv?<Ubcbb?<n}w杵xs|bbdn<64>sbbgelbbkdlbbbjlbcdc?<Ub2bb?<n}w杵w<E69DB5>bdbc?<?<Ubdbc?<n}w杵x~|cibblbdbdnx~]cibbn<62>㍍bddnuCdbblbbdclbbbbnw<6E>bebb?<Ubdbd?<n}w杵<E69DB5>n<EFBFBD>ф圀・R屹痢R屶R迭ヲ、對ァヲ由ヲ。Rォ。ァ、?<沫ヲ陸泝<E999B8>逃孱<E98083>`Ry棕、ォRヲ。R到<52>?<ャ欄棕ァ・R伏到棊<E588B0>剽、・Sn」nwv?<Ubebb?<nw<6E>bbid
|
||||
|
|
@ -1 +0,0 @@
|
|||
?<Ubbkb?<n<6E>snx~|befclbbkgnu𣸆bbknxs{bbbbnw<6E>v?<Ubbkc?<n<6E>snx~|befclbbkhnu𣸆bbknxs{bbbcnw<6E>v?<Ubbkd?<n<6E>snx~|befclbbkinu𣸆bbknxs{bbbdnw<6E>v?<Ubbke?<n<6E>snx~|befclbbkjnu𣸆bbknxs{bbbenw<6E>v?<Ubbkf?<n<6E>snx~|befclbbkknu𣸆bbknxs{bbbfnw<6E>v?<Ubbkg?<nu𣸆bdjnxs{bbbbnw<6E>v?<Ubbkh?<nu𣸆bdjnxs{bbbcnw<6E>v?<Ubbki?<nu𣸆bdjnxs{bbbdnw<6E>v?<Ubbkj?<nu𣸆bdjnxs{bbbenw<6E>v?<Ubbkk?<nu𣸆bdjnv<6E><76>dbbnv<6E><76>dcbnv<6E><76>ddbnxs{bbbfnw<6E>v?<Ubcbb?<n<>{n<>𣸆bccnv<6E><76>cbbnxs<78>bbfn<66>sbbcclbbkflbbfelbbef?<Ubdbb?<nx~|bedilbdbc?<n}w𡃉<F0A18389>nxsubbbi<62>妔<EFBFBD>俘式Rs丹银丸<E993B6>?<黾坏𡢟``n<><6E>?<{R<>“<EFBFBD>吐<EFBFBD>𠘚妔<F0A0989A>充𣑐?<<3C>𢬢吐<F0A2ACA2>妔’<E5A694>卜<EFBFBD>妔<EFBFBD><E5A694>`n<><6E>?<t<>它R哄吾R<E590BE>丑辺^?<<3C><><EFBFBD>R<EFBFBD><52>R哄刪<E59384><E588AA>Y<EFBFBD>?<<3C>〝```n<><6E>nu~<7E><>蠄R<E8A084><52>妔|<7C>𨧨<EFBFBD>〝<EFBFBD>?<<3C>𠘚妔式R<E5BC8F><52>R𣺹```n<><6E>nw<6E>v?<Ubdbc?<n}w𡃉<F0A18389>nxsubbbi<62>丑辺```?<{R<>𢔛吐<F0A2949B><E59090>秄妔𣺹```n<><6E>?<<3C>丑辺Y充<59><E58585>卜𤧅’<F0A4A785>乞?<s丹银乞R<E4B99E>充𣫮<E58585>圲鱝坏?<<3C>中椘亡n<E4BAA1><6E>?<t圻R<E59CBB>R<EFBFBD>充<EFBFBD><E58585><EFBFBD>R僟R?<<3C>妔<EFBFBD>R<EFBFBD>妔v<E5A694>式丸<E5BC8F>?<䐓<>匝n<E58C9D><6E>?<s<>R嵗奉R{```{R衮<52><E8A1AE>Y<EFBFBD>?<═’<E29590>吐<EFBFBD>亡``n<><6E>nw<6E>v?<Ub2cb?<n}w𡃉<F0A18389>nxsubbbk<62>𠘚妔㨩妔扣﹕<E689A3>咱R式?<s丹银丸充黾坏𡢟n<F0A1A29F><6E>?<<3C>丑辺R<E8BEBA>充<EFBFBD>妔<EFBFBD>R<EFBFBD><52>`n<><6E>?<<3C>妔’<E5A694>卜𣸑R<F0A3B891><52><EFBFBD>R<EFBFBD>?<<3C>妔<E5A694><7F>𣫮膄𢹸𡛂㨩飜n<E9A39C><6E>nw<6E>v?<Ubddb?<n}w𡃉<F0A18389>nxsubbbk<62>丑辺Y充𤧅’<F0A4A785>卜s丹银<E4B8B9>?<咅<>鷼R<E9B7BC><52><EFBFBD>吐𣫮黾中<E9BBBE><E4B8AD>?<<3C>餸椬<E9A4B8><E6A4AC>亡``n<><6E>nu~<7E><>R<EFBFBD>中<EFBFBD><E4B8AD>R<EFBFBD>椬袠<E6A4AC>R<EFBFBD>𣸑?<𣸑<><F0A3B891>R<EFBFBD>𣑐R<F0A39190>𢬢戎R<E6888E>?<<><7F>𢬢`n<><6E>nu~<7E>吃充嵗吐<E5B597>妔v<E5A694>式乞?<𣺹Y匝``央<><E5A4AE><EFBFBD>筻<EFBFBD><E7ADBB>`n<><6E>?<<3C>𣑐R<F0A39190>椬袠<E6A4AC>充<EFBFBD><E58585>餸<EFBFBD>?<<3C>𣸑R𣸑<52><F0A3B891>R咅卜<E59285>𠯫`n<><6E>nu~<7E>吐<EFBFBD><E59090>R<EFBFBD><52>R式R<E5BC8F><52>?<<3C><><EFBFBD>璴n<E792B4><6E>?<圲吐s丹银卜<E993B6><E58D9C><EFBFBD>_<EFBFBD><5F><EFBFBD>𠿭?<𣶸”妔𣺹R<F0A3BAB9><52>`n<><6E>?<z𣸑R<F0A3B891><52><EFBFBD>吐<EFBFBD>䐭<EFBFBD>R<EFBFBD><52><EFBFBD>?<<3C><><EFBFBD><EFBFBD>筻“卜<E2809C><E58D9C><EFBFBD><EFBFBD>?<𠈔<>R<EFBFBD><52>```n<><6E>nu~<7E>Y<EFBFBD>R<EFBFBD><52>卜咅<E58D9C>𠲸R𣺹^?<𢬢R鱝<52>R𢬢R{R<><52>`n<><6E>nu~<7E>妔<EFBFBD>俘<EFBFBD><E4BF98>R<EFBFBD><52><EFBFBD>俘<EFBFBD><E4BF98>?<<3C><><EFBFBD>R僟R<E5839F>妔v<E5A694>式乞?<圲吐<E59CB2>R<EFBFBD>充𣫮忖<F0A3ABAE>R<EFBFBD>丑`n<><6E>nw<6E>v?<Ubebb?<n{<7B>bbbjlbebc?<n}w𡃉<F0A18389>\u<><75><EFBFBD>\R\<5C>𤙥S\n<><6E>nx~|bffdlbbbbnu~<7E>“R<E2809C>妔央<E5A694><E5A4AE><EFBFBD>筻𠿭<E7ADBB><F0A0BFAD>?<<3C>哄<EFBFBD>R<EFBFBD>妔<EFBFBD><E5A694>𠯫`n<><6E>nw<6E>v?<Ubebc?<ns<6E><73>ebblbbcblbbbbn统{bbebnx~|bffdlbebdnx~]bffdnv<6E><76>ebbnwòbebe?<Ubebd?<n}w𡃉v<F0A18389><76>ebbnw<6E>v?<Ubebe?<nwòbbbi
|
||||
|
|
@ -1 +0,0 @@
|
|||
@=Vcclc@=o<><6F>oy}cfgdmcclhov<6F>Ếcceoyt|ccccox<6F>@=Vccld@=o<><6F>ov<6F>Ếcceoyt|cccdox<6F>@=Vccle@=o<><6F>ov<6F>Ếcceoyt|ccceox<6F>@=Vcclf@=o<><6F>ov<6F>Ếcceoyt|cccfox<6F>@=Vcclg@=o<><6F>oy}cfgdmccllov<6F>Ếcceoyt|cccgox<6F>@=Vcclh@=ov<6F>Ếcekoyt|ccccox<6F>@=Vccll@=ov<6F>Ếcekoyt|cccgox<6F>@=Vcdcc@=o~x亣y}chidmcdceo<65>Ếcddot<6F>cdccmccccmccce@=oyt<79>cceo<65>tccdcmcclemcccfmccde@=Vcdcd@=o~x亣y}chidmcdceo<65>Ếcddot<6F>cdcdmccccmccce@=oyt<79>ccgo<67>tccfemcclgmccckmcccl@=Vcdce@=o<>|o<><6F>|刨炎╴刨╯咅To<54>wox<6F>@=Vcecc@=o~x倻=oy}chigmcecg@=oy}chiemceci@=o<><6F>|Z<>S﹜<53>㜜锭坎S<E59D8E>昤坎S洽災o<E781BD>wox<6F>@=Vcecd@=o~x亣<78><E4BAA3><EFBFBD><EFBFBD>𢥏◢刨堺兄<E5A0BA>㜭<EFBFBD><E39CAD>棅<EFBFBD>地o<E59CB0>w@=|簒洽沒戍𣌀S╮S<E295AE>㜭<EFBFBD><E39CAD>_S<5F>𩅛Z<F0A9859B>@=檱迚S◢刨㷍𣶷<E3B78D><F0A3B6B7>S洽災o<E781BD>w@=|刨<>t玺𢂚尼囝S坎㎡o<E38EA1>wox<6F>@=Vcece@=oy}cejfmcech@=o~x亣<78><E4BAA3>㫵S𨯂<53>S<EFBFBD>㜭<EFBFBD>’坎<E28099>囝S洽杓=<3D><>S坎S<E59D8E>䐭S<E490AD>㜭忙<E39CAD>籂aao<61>wox<6F>@=Vcecf@=o~x亣<78><E4BAA3>㪽<EFBFBD><E3AABD>籂aao<61>wov<76>𧊀<EFBFBD>aa@=<3D>S𢂚<53>布S堺仟aaS<61><53>aaao<61>wox<6F>@=Vcecg@=o<><6F><EFBFBD>𣶷炎<F0A3B6B7>﹖}咅<>S谷<53>S坎S<E59D8E>@=㜜S<E39C9C>𤣳<EFBFBD>S<EFBFBD>S<EFBFBD>㜭<EFBFBD><E39CAD>S揢<53>ao<61>w@=<3D>㜭㷍𣶷<E3B78D>兄ㄗㄒ<E38497>地o<E59CB0>wov<76>坾S𣪧谷㜭𧊀aaao<61>wov<76><7F><EFBFBD>蟵aao<61>wov<76>aa<61><61><EFBFBD>坾㜭㜜S<E39C9C>㜭<EFBFBD><E39CAD>@=揢<>aaaro<72>wox<6F>@=Vcech@=o~x亣<78><E4BAA3><EFBFBD>兄<EFBFBD><E58584>S𨯂<53><F0A8AF82>吁<EFBFBD><E59081>@=<3D><><EFBFBD>S𨯵S失佅圻ao<61>wov<76>㜭<EFBFBD>𤥃Z刨𡾞咅S╯咅<E295AF>S◢世=𩅛𠣕S<F0A0A395>吧aao<61>w@=u豆Sv言剳S<E589B3>𧊀<EFBFBD>S谷ao<61>wox<6F>@=Vceci@=o~x亣<78><E4BAA3>椙汶<E6A499>S叚<53>㜜锭堺兄<E5A0BA>𣶷<EFBFBD>◥坾字o<E5AD97>w@=<3D>坾𤊥吁㷍S<E3B78D>𣶷炎<F0A3B6B7>﹖<EFBFBD><EFB996>愌=}咅<>S<EFBFBD>㏎<EFBFBD><E38F8E>刨鱝◥S<E297A5>◢刨<E297A2>圲ao<61>wov<76>骽S<E9AABD><53>吧o<E590A7>wov<76>簒洽沒噐S坎S<E59D8E>㜭<EFBFBD>北@=洽沒◢<E6B292>刨坎S裦㜜锭<E39C9C>╮鋣=<3D>㜭𠳿锭<F0A0B3BF>咩S坎S<E59D8E>㜭<EFBFBD>㻡o<E3BBA1>woy^chigox<6F>@=Vcfcc@=o~x亣w<E4BAA3>cfcco<63><6F>co<63>墒ccccov<6F>Ếccc@=oy^chido~x倻=ot<6F>chccmcccfmccceo頕|ccjlot<6F>chccmccccmccce@=o<>媤<EFBFBD><E5AAA4>oytvccdl<64><6C><EFBFBD>苽o<E88BBD>wov<76>=ov<6F>cfdcmcdeemccceow<6F>cecco頕|ccdc@=ov<6F>cfddmcdeemccceow<6F>cecdo頕|ccdc@=ov<6F>cfdemcdeemccceow<6F>ceceo頕|ccdc@=ov<6F>cfdfmcdeemccceow<6F>cecfo<66><6F><EFBFBD>S<EFBFBD><53>S𤉶车<F0A489B6><E8BDA6><EFBFBD>o<EFBFBD>w@=ov<76>╰S<E295B0>𣶷堺兄洽灶S𥚃吧aao<61>wov<76>=o頕|cceco<63>Ếccgov<6F>cgccmcddkmccceow<6F>chcc@=o頕|ccdc@=o<><6F>|Z䒷╮S<E295AE><53>兄<EFBFBD><E58584>To<54>wov<76>◢Z<E297A2>S噐㜜锭𠳿炕TTo<54>wov<76>=ou<6F>cgcc@=ov<6F>Ếccg@=ot<6F>cgccmccdcmccce@=ot<6F>cfdcmccdcmccce@=ot<6F>cfddmccdcmccce@=ot<6F>cfdemccdcmccce@=ot<6F>cfdfmccdcmccce@=ox<6F>@=Vcfdc@=Vcfdd@=Vcfde@=Vcfd3@=Vcgcc@=o~x亣<78>墒cgcc@=oy`chidoy`chih@=ot<6F>cfdcmccecmccch@=ot<6F>cfddmccecmccch@=ot<6F>cfdemccecmccch@=ot<6F>cfdfmccecmccch@=ov<6F>cgccmcddjmccch@=ot<6F>cgccmccchmcccho頕|ccce@=ot<6F>cgccmccfcmcccgo<67>Ếcjc@=o頕|cdcco<63>|ov<6F>Ếcdho<68><6F>@=<3D>鑘╞曷o頕|cdgcov<6F>Ếccco<63>wov<76>y^chie@=oyt<79>ccgo<67>tccelmcclcmccdemcccl@=Vcgdc@=o~x亣y^chieo<65><6F>oytvccdl<64>To<54>woytvccccov<76>=ot<6F>cgccmccdcmcccco頕|cchc@=o<><6F>oytvccdl椙汶<E6A499>S<EFBFBD><53>S<EFBFBD>㜭<EFBFBD><E39CAD><EFBFBD>釺@=坎┴o<E294B4>wov<76><7F>卵吁<E58DB5><E59081>否S<E590A6>坾𤊥共=﹜<>㜜锭<E39C9C>𣶷<EFBFBD>◢刨<E297A2><E588A8>To<54>wov<76>Z䒷v言剳a@=v言剳Su<53><75>ao<61>w@=<3D>咅S|S炎<53>S見_S|S<>共=<3D><>S<EFBFBD>𠣕㜭<F0A0A395><E39CAD>𠯫咅ao<61>wov<76>ytvcceh|S𠳿╴刨<E295B4><E588A8>S㷍昤<E3B78D>𨯂<EFBFBD>𠣕@=<3D>堺<EFBFBD>S<EFBFBD>圲aaao<61>w@=t嵗𠣕<E5B597>_S洽沒<E6B4BD><E6B292>刨<EFBFBD>柑o<E69F91>wov<76>ytvccec|S<>地aaㄔ<61><E38494>剳S銉=<3D><><EFBFBD>𤩊𥚃<F0A4A98A><F0A59A83>兄檱戍S<E6888D><53>@=<3D>㜭╡<E39CAD>兄失佅圻aaao<61>wov<76>=ox药cgdh@=Vcgdh@=o~x亣<78><E4BAA3>oytvccdl<64>_S炎泳o<E6B3B3>wov<76><7F>刨<EFBFBD><E588A8>兄<EFBFBD>𤣳S<F0A4A3B3>S洽言共=𧊀S㜜S𡡤膥𡷑<E886A5>㻿𤑛o<F0A4919B>w@=w㏎洽沒<E6B4BD>“S坎S坏<53>𦴦=𧊅S堺兄䁥S<E481A5><53>㜜㜭辶〉o<E38089>}cgecoy^chifoytvccccov<76>=o峼<6F>cccemcccgmcdccoz|𣽡cce{㷍<>𣶷◣坾S<E59DBE>㜭p<E39CAD><70>兄<EFBFBD>𤣳pao<61>wov<76>=ov<6F>Ếcdcoz|𣽡ccgz╡S<E295A1>㜭p<E39CAD><70><EFBFBD><EFBFBD>Sz芋pTo頕|cdico<63>wo<77>èv<76>=oyt<79>ccgo<67>tccelmcclcmccdemcccl@=Vcgec@=o~x亣<78><E4BAA3>oytvccdl<64><6C>剳ro<72>wov<76><7F>籾S<E7B1BE>S洽沒𡾞坾S<E59DBE>㷍<EFBFBD>@=洽言S<E8A880><53>_S|Z<>S<EFBFBD>S<EFBFBD><53>ao<61>wo<77>|ov<76><7F>墒cccc@=oyt<79>ccgo<67>tccelmcclcmccdemcccl@=Vchcc@=o~x倻=oy}chifmchfc@=ox药chdh@=Vchdc@=o~x亣y^chieo<65><6F>oytvccdl<64>To<54>wov<76>◢Z<E297A2>S<EFBFBD><53>S<EFBFBD>㜭<EFBFBD><E39CAD><EFBFBD>釺@=坎┴o<E294B4>wov<76><7F>卵吁<E58DB5><E59081>否S<E590A6>坾𤊥共=﹜<>㜜锭<E39C9C>𣶷<EFBFBD>◢刨<E297A2><E588A8>To<54>wov<76>Z䒷v言剳a@=v言剳Su<53><75>ao<61>w@=<3D>咅S|S炎<53>S見_S|S<>共=<3D><>S<EFBFBD>𠣕㜭<F0A0A395><E39CAD>𠯫咅ao<61>wov<76>ytvcceh|S𠳿╴刨<E295B4><E588A8>S㷍昤<E3B78D>𨯂<EFBFBD>𠣕@=<3D>堺<EFBFBD>S<EFBFBD>圲aaao<61>w@=t嵗𠣕<E5B597>_S洽沒<E6B4BD><E6B292>刨<EFBFBD>柑o<E69F91>wov<76>ytvccec|S<>地aaㄔ<61><E38494>剳S銉=<3D><><EFBFBD>𤩊𥚃<F0A4A98A><F0A59A83>兄檱戍S<E6888D><53>@=<3D>㜭╡<E39CAD>兄失佅圻aaao<61>wov<76>=ox药chdh@=Vchdh@=ot<6F>}cccemchdjot<6F>}ccdfmchdj@=o<><6F>oytvccdlo<6C><6F><EFBFBD>S<EFBFBD>柯S|Z𣶷<5A><F0A3B6B7>剳S<E589B3><53>@=坎S<E59D8E>𠘙S<F0A09899>圲S辶’<E8BEB6><E28099>aaao<61>wox<6F>@=Vchdj@=oy^chifox药chdk@=Vchdk@=ox药ccck@=Vchec@=o~x亣<78><E4BAA3>oytvccdl<64><6C>剳ro<72>wov<76><7F>籾S<E7B1BE>S洽沒𡾞坾S<E59DBE>㷍<EFBFBD>@=洽言S<E8A880><53>_S|Z<>S<EFBFBD>S<EFBFBD><53>ao<61>wox<6F>@=Vchfc@=o~x亣<78><E4BAA3>oytvcceh|卵吁<E58DB5>㜭𢂚<E39CAD>’S<E28099>兛<EFBFBD>@=<3D>㜭<EFBFBD><E39CAD>S<EFBFBD>𣶷辶泵To<54>w@=<3D>㜭<EFBFBD><E39CAD><EFBFBD>釺S<E987BA><53>S檱戍@=谷<>S𨯵S<F0A8AFB5><53>ao<61>wox<6F>
|
||||
|
|
@ -1 +0,0 @@
|
|||
ROhuu~uRO£宕∴丁uuuu°<75>uuuu♀悼ROhuu~vRO£宕∴丁uuuu°<75>uuuv♀悼ROhuu~wRO£宕∴丁uuuu°<75>uuuw♀悼ROhuu~xRO£宕∴丁uuuu°<75>uuux♀悼ROhuu~yRO£宕∴丁uuuu°<75>uuuy・悼ROhuvuuRO&落§爆uuvv♂燈uvuu°<75>uuuy☆螺uuw~uu~yuuu{uuu~ROhuyuuRO&落§爆uuww♂燈uyuu♀寢uyuvROhuyuvRO♀寢uuwuROhuywuRO$萱♂燈uywu♀寢uywvROhuywvRO♀寢uu}z
|
||||
|
|
@ -1 +0,0 @@
|
|||
QNgtt}tQN€‘’…€‡‘™tttt€Š…<C5A0>tttt€‰’ˆQNgtt}uQN€‘’…€‡‘™tttt€Š…<C5A0>tttu€‰’ˆQNgtt}vQN€‘’…€‡‘™tttt€Š…<C5A0>tttv€‰’ˆQNgtt}wQN€‘’…€‡‘™tttt€Š…<C5A0>tttw€‰’DQNgtt}xQN€‘’…€‡‘™tttt€Š…<C5A0>tttx€‰’ˆQNgtuttQN€”–<E2809D>€Š…“tttx€˜–…ttut~tt}x~tt{w~ttv{QNgtxttQN€”–<E2809D>€ˆ’”txtt€Š<E282AC>otzut€‰š‰txtuQNgtxtuQN€‰š‰ttvt
|
||||
Binary file not shown.
|
|
@ -1 +0,0 @@
|
|||
0-FSS\S0-_pqd_iomS[SS]SS\X_fpxSSS[_idlSSSS_lwmSSUT]SS\Z_hqg0-FSS\T0-_pqd_fpxSSS[_idlSSST_lwmSSUT]SS\Z_hqg0-FSS\U0-_pqd_fpxSSS[_idlSSSU_lwmSSUT]SS\Z_hqg0-FSS\V0-_pqd_fpxSSS[_idlSSSV_lwmSSUT]SS\Z_hqg0-FSS\W0-_pqd_fpxSSS[_idlSSSW_lwmSSUT]SS\Z_hqg0-FSS\X0-_fpxSSUV_lwmSSUT]SS\Y_idlSSSS_hqg0-FSS\Y0-_iomS[VU]SS\Z_idlSSSS_hqg0-FSS\Z0-_pqsSWTS]SSSU]SSSV]SSSS_dqsSWTS]SSSS]SSSS_idlSSSS_hqg0-FSTSS0-_nh|_vrxSSTT_dqsSTSS]SSSS]SSSU_idrSSSS_wudSSWX]SS\S]SS[T]SSXV0-FSTST0-_nh|_pvjl佑囃遷佑駐<E4BD91>Q_qrg_hqg0-FSTTS0-_nh|_vrxSSTT_dqsSTTS]SSSS]SSSU_idrSSSU_wudSSWZ]SS\U]SSSW]SSTZ0-FSTUS0-_lwmSSUT]STUT0-_nh|_pvj|著C笈<43>C雷<43>亦<EFBFBD>④忠C葺幕倦<E5B995>0-噪来匹鴛註C嚮雷倦Q_qrg0-l佑囃<E4BD91>≡J佑<4A>CГ樺仲C欠<43>C嵐C笈х0-倦C嚮雷著佑яCъ匹淀綜Q_qrg_hqg0-#STUT0-_nh|_idrSSSV_wudSSW[]SS\V]STXX]SSST0-0-FSTXS0-_nh|_pqd_fpxSSS[_zdlSSSX_fqsSVSS]STTZ]SSSU_idlSSSU0-_zdlSSTS0-_dqsSVSS]SSSV]SSSU_zdlSSTY0-_dqsSVSS]SSST]SSSU0-_vdw_pvj_idfSSUXd譜C嚠C沫件修倦C雷<43>0-oу恤倦雷b_qrg_idfSSSS_for0-_dqsSVSS]SSSV]SSSU_zdlSSYW0-_dqsSVSS]SSUS]SSSU_zdlSSXS0-_dqsSVSS]SSST]SSSS0-_pvj_idfSSUXz<58><7A>遷佑活佑雷葡<E99BB7><E891A1>0-笈譜Q_qrg0-z<>緒C灸刪C嵐C肢<43>0-崇剏相Cщ<43>⑱_qrg_for0-_dqsSVSS]SSSV]SSSU_zdlSTWT0-_dqsSVSS]SSUS]SSSU_zdlSSTS0-_vrxSSTT_dqsSTTS]SSSS]SSSU_zdlSSUS0-_gqsSVSS_zdlSSUS0-_vrxSSTT_dqsSTTS]SSSS]SSSS_ioNS[US_hqg0-FSVSS0-FSVVS0-_sul_pvj|著C毎<43>Г<EFBFBD>覧酎Q_qrg_vrxSSWV_fou_pvjs譜末<E8AD9C>C圏Q_qrg_for0-_zdlSSXS0-_vrxSSZT0-_fpsSSSZ]SSVX]SSSS0-_fpsSSS[]SSVX]SSSS0-_fpsSSUY]SSVT]STTT0-_zdlSSXS_hqg0-
|
||||
|
|
@ -1 +0,0 @@
|
|||
=:S``i`=:l}~qls}…```hlvqy````lu~t=:S``ia=:l}~qls}…```hlvqy```alu~t=:S``ib=:l}~qls}…```hlvqy```blu~t=:S``ic=:l}~qls}…```hlvqy```clu~t=:S``id=:l}~qls}…```hlvqy```dlu~t=:S`a``=:l€‚ylvq```dl„‚q```bj``idj`bb`j```g=:S`ae`=:l{u‰l}ƒw‚•”P •¤‘œ£P‘¢•P£“‘¤¤•¢•”P‘’Ÿ¥¤^l~tlu~t=:S`b``=:l{u‰l}ƒw‰Ÿ¥P–™ž”P‘PžŸ¤•^l~tls|‚l„…‚‡™¤˜P¤˜•P£˜™•œ”P¥ \PyP“‘žW¤=:—•¤P¤ŸP~Ÿ^P``W£P¢ŸŸ<C5B8>^l~tls|‚l„…‚yP¤˜™ž›PŸž•PŸ–P¤˜•£•P¤•¢<E280A2>™ž‘œ£=:Ÿ¥—˜¤P¤ŸP’•P‘’œ•P¤ŸPœŸ§•¢P¤˜•=:£˜™•œ”^^^l~tlu~t=:S`c``=:l€‚ylv|z`b``j```alv|[`b``=:lƒ…``bbls~€`c``j``baj````lu†u`c`a=:S`c`a=:lu†u``c`=:S`e``=:S`e`a=:l€‚yl}ƒcl„…‚ƒ›©Pt¢‘—ŸžPu——P~Ÿ^P`a=:u¢¢Ÿ¢jPu——W£P“Ÿž”™¤™ŸžP‘’žŸ¢<C5B8>‘œ^=:q”¦™£•P™ž¦•£¤™—‘¤™Ÿž^l~tlu~t=:S`e`b=:l€‚yl}ƒcl„…‚ƒ›©Pt¢‘—ŸžPu——P~Ÿ^P`b=:sŸž”™¤™ŸžPžŸ¢<C5B8>‘œ^l~tlu~t=:S`e`c=:l€‚yl}ƒcl„…‚ƒ›©Pt¢‘—ŸžPu——P~Ÿ^P`c=:sŸž”™¤™ŸžPžŸ¢<C5B8>‘œ^l~tlu~t=:S`e`d=:l€‚yl}ƒcl„…‚ƒ›©Pt¢‘—ŸžPu——P~Ÿ^P`d=:sŸž”™¤™ŸžPžŸ¢<C5B8>‘œ^l~tlu~t=:S0e`e=:l€‚yl}ƒcl„…‚ƒ›©Pt¢‘—ŸžPu——P~Ÿ^P`e=:sŸž”™¤™ŸžPžŸ¢<C5B8>‘œ^l~tlu~t=:S`e`f=:l€‚yl}ƒcl„…‚ƒ›©Pt¢‘—ŸžPu——P~Ÿ^P`f=:u¢¢Ÿ¢jPu——W£P“Ÿž”™¤™ŸžP‘’žŸ¢<C5B8>‘œ^=:q”¦™£•P™ž¦•£¤™—‘¤™Ÿž^l~tlu~t=:S`e`g=:l€‚yl}ƒcl„…‚ƒ›©Pt¢‘—ŸžPu——P~Ÿ^P`g=:sŸž”™¤™ŸžPžŸ¢<C5B8>‘œ^l~tlu~t=:S`e`h=:l€‚yl}ƒwl„…‚ƒ›©Pt¢‘—ŸžPu——P~Ÿ^P`h=:sŸž”™¤™ŸžPžŸ¢<C5B8>‘œ^l~tlu~t=:S`e`i=:l€‚yl}ƒwl„…‚ƒ›©Pt¢‘—ŸžPu——P~Ÿ^P`i=:sŸž”™¤™ŸžPžŸ¢<C5B8>‘œ^l~tlu~t=:S`ea`=:l€‚yl}ƒwl„…‚ƒ›©Pt¢‘—ŸžPu——P~Ÿ^Pa`=:sŸž”™¤™ŸžPžŸ¢<C5B8>‘œ^l~tlu~t=:S`eaa=:l€‚yl}ƒwl„…‚ƒ›©Pt¢‘—ŸžPu——P~Ÿ^Paa=:sŸž”™¤™ŸžPžŸ¢<C5B8>‘œ^l~tlu~t=:S`eab=:l€‚yl}ƒwl„…‚ƒ›©Pt¢‘—ŸžPu——P~Ÿ^Pab=:sŸž”™¤™ŸžPžŸ¢<C5B8>‘œ^l~tlu~t=:S`eac=:l€‚yl}ƒwl„…‚ƒ›©Pt¢‘—ŸžPu——P~Ÿ^Pac=:sŸž”™¤™ŸžPžŸ¢<C5B8>‘œ^l~tlu~t=:S`ead=:l€‚yl}ƒwl„…‚ƒ›©Pt¢‘—ŸžPu——P~Ÿ^Pad=:sŸž”™¤™ŸžPžŸ¢<C5B8>‘œ^l~tlu~t=:S`eae=:l€‚yl}ƒwl„…‚ƒ›©Pt¢‘—ŸžPu——P~Ÿ^Pae=:sŸž”™¤™ŸžPžŸ¢<C5B8>‘œ^l~tlu~t=:S`eaf=:l€‚yl}ƒwl„…‚ƒ›©Pt¢‘—ŸžPu——P~Ÿ^Paf=:sŸž”™¤™ŸžPžŸ¢<C5B8>‘œ^l~tlu~t
|
||||
|
|
@ -1 +0,0 @@
|
|||
=:S``i`=:l}~qls}…```hlvqy````lu~t=:S``ia=:l}~qls}…```hlvqy```alu~t=:S``ib=:l}~qls}…```hlvqy```blu~t=:S``ic=:l}~qls}…```hlvqy```clu~t=:S``id=:l}~qls}…```hlvqy```dlu~t=:S`a``=:l€‚ylv|z`ibaj`aa`lvq```dl„‚q``dij``idj`bafj```d=:S`a`a=:l€‚ylv|z`ibaj`aa`lvq```dl„‚q``dij``idj`bbgj```f=:S`aa`=:l€‚yl}ƒwl„…‚‰Ÿ¥P“‘žW¤P—•¤PŸ¥¤QQl~tlu~t=:S`b``=:l{u‰=:S`c`b=:l{u‰lv|z`ib`j`0`alv|[`ib`lƒ…``bbls~€`c`bj``baj````ls~€`c`dj``dfj````lu†u`c`c=:S`c`c=:lu†u``c`=:S`c`d=:l{u‰lt~€`c`dls}…````lƒ…``ab=:ls}€```dj```ej``cgl}‰t````l‡qy``e`l}‰t```bl‡qy``e`lrƒ|````ls}…```dlrq``b`lv|[`ibalu~t=:Sa```=:l{u‰lrqa```l‡qy`be`ls}…````=:l}ƒwl„…‚ls}…``ae=:r•‘¤P¤˜•Pƒ™£¤•¢£Ql‡qy`af`l~tls|=:ls~€``afj``afj```bls}…```h=:lƒ…``abls}€```dj```ej``dalv|]`ibalu~t
|
||||
|
|
@ -1 +0,0 @@
|
|||
IF_llulIFx墛}x墤llmpx倉卨lllx亰€IF_llumIFx墛}x墤llmpx倉卨llmx亰€IF_llunIFx墛}x墤llmpx倉卨llnx亰€IF_lluoIFx墛}x墤llmpx倉卨llox亰€IF_llupIFx倛唋mnlvlluqx亽乴luqIF_lluqIFx墛}x墤llmpx倉卨llpx亰€IF_lmllIFx寧厁弸憀lmmx€妼lmllx倉媗llpx悗}lllnvllupvlnumvllltIF_lmlqIFx寧厁墢儉玕但盶碀<E79BB6>\矮\瘽病{x晩唋lllx彃寈垘儩<E59E98>\瘽病爅x妺€x亰€IF_lmlrIFx寧厁垍gmlllx弸憀lnlx}乬x墢儊<E5A2A2><E5848A>礬<EFBFBD><E7A4AC><EFBFBD><EFBFBD>jx妺€x亰€IF_lmmlIFx噥晉墢儠<E5A2A2>\ⅰ〃\漒煫<E6BC92>\偿獱IF灗<46>オ<EFBFBD>オjjjx妺€x亰€IF_lnllIFx噥旾Fx倛glmnlx倛glmlqx倛glmqpx倛glmqqx倛glonux倛glmlrx倛gntllIFx弣恱墢僯jj伄¥jx妺€x垕IFx墪~lllnx搣卨lqlx墪€lllnIFx搣卨lqlx墢儀}妼lnllvlllqvlllnx倉lllm嫟]x妺€x墪€lllox垘埆<E59E98>]\叞c痡jjIF匼挨オ<E68CA8>グc痋姳<E7978B>‘\ll]x妺€x垘悿ク\。<>煫报燶灐\<5C>甀F哎煣“\<5C><>挨ク\ク<>獱]x妺€x垕x倉llllx墪€lllnIFx}妼lnllvlllovllln<搣卨lolIFx}妼lnllvlllqvlllnx搣卨lqlIFx墢儀倉lllm仯<6D>煫獱グカ獀\姭<>潹]IF悿澃c痋长澃\匼ēА\矮IFぁ澁]x妺€x垕x搣卨lqlx弸憀lpox搣卨lnlx倉llllIFx墢儀倉llln劑{x妺€\}\瑵<>倡疇{x妺€x倉llllx垕IFx搣卨lqlIFx}妼lnllvllllvllllx搣卨lqlIFx墢儀倉llln摗èh\煯睜jx妺€x倉lllmx垕IFx}妼lnllvlllovllllx搣卨mnrIFx}妼lnllvllllvlllnx搣卨lnlIFx墢儀墪€llll€<6C>\但盶!癨ǐ<E799A8>{x妺€x垘悿澃c痋<63>澋jx妺€x垘卌è\ā癨但盶煫<E79BB6>IF偿挨\<5C>jx妺€x垘摗\煗猏!癨<EFBC81><E799A8>挨クIF牨┈\矮!挨‘jx妺€x垘叒\<5C>氨<EFBFBD>h\但眂<E4BD86>IF+<46>漒ぁì\<5C>jx妺€x垕IFx}妼lnllvlllqvlllnx搣卨lnlIFx弸憀lmmx}妼lmllvllllvlllnx搣卨lnlIFx}妼lmllvllllvllllx€妼lnllx弸憀lnox亰€IF_lollIFx噥晉墢儀悜帍У\€疂+猏仯<E78C8F>姭j\llIF劃盁ぅ<E79B81>\<5C>‖澁澃カ<E6BE83>\煫┈ā啊jx妺€x垘IF叒<46>癨対<E799A8>倡疇vx妺€x亰€IF_lollIFx寧厁倉媗llpx悗}lllmvllupvlllqvlllsIF_lpll
|
||||
|
|
@ -1 +0,0 @@
|
|||
=:S``i`=:l}~qls}<7D>``alvqy````lu~t=:S``ia=:l}~qls}<7D>``alvqy```alu~t=:S``ib=:l}~qls}<7D>``alvqy```blu~t=:S``ic=:l}~qls}<7D>``alvqy```clu~t=:S``id=:lv|z`a`ej``iel}~qls}<7D>``alvqy```dlu~t=:S``ie=:l}~qlq~<7E>`aa`j````j```bls}<7D>``alvqy```dlu~t=:S``ii=:l{u炼}~qls}<7D>``a=:lq~<7E>`a``j```aj````lvqy```d=:ls~<7E>`c`aj`aabj```bl𩺰y`a``=:lq~<7E>`a``j````j````=:l}缆```blt~<7E>`c`al<61>slu~t=:S`a``=:l<><6C>l}<7D>l<EFBFBD><6C>𡼏<EFBFBD>仙<EFBFBD>䣳P<E4A3B3>P<EFBFBD>P<EFBFBD>Pq═坾㏄<E59DBE>=:<3A>奴𦶧l轮z````ls|=:l{u炼s~<7E>`c``j`aaaj```blx}sl𩺰y``f`lq~<7E>`a``j```aj````=:l𩺰y`a``lvq```dl<64>q```aj``iij```ej```h=:S`a`a=:l<><6C>lvq```dl<64>q```dj``idj```ij```h=:S`a`b=:l{u炼s~<7E>`c``j`aaaj```blx}sl𩺰y``f`lq~<7E>`a``j```aj````=:l𩺰y`a``lvq```dlv|]`a`fl<66>q``bdj`g``j```bj````=:S`a`c=:l<><6C>lvq```dl<64>q```ej``idj``a`j```h=:S`a`e=:l<><6C>lvq```dl<64>q``bbj``idj``abj```b=:S`a`f=:l<><6C>l<EFBFBD><6C>`aalt~<7E>`a`flvq```dl<64>q``bbj``idj``aaj``ab=:S`a`g=:l<><6C>lvq```dl<64>q``bcj``idj```ij```h=:S`a`h=:l<><6C>lv|z`a`cj`a`il}<7D>y匕<79>唞匕<E5949E><E58C95>Ql~tlu~t=:S`a`i=:l<><6C>l<EFBFBD><6C>`aalt~<7E>`a`hlvq```dl<64>q```cj``idj```dj``a`=:S`aa`=:l<><6C>lv|z`a`ej`aaal}<7D>y匕<79>唞匕<E5949E><E58C95>^^^l~tlu~t=:S`aaa=:l<><6C>lt~<7E>`aa`lvq```dl<64>q``baj``idj``a`j```i=:S`b``=:l<><6C>l}<7D>yW硂<57><E7A182>婱䰻匕<E4B0BB>PyP<79><50>P<EFBFBD>匆l~t=:<3A>𪈠P<F0AA88A0>膄𠠬<E88684><F0A0A0AC>𢰦<EFBFBD>P<EFBFBD><50>=:<3A>中<EFBFBD>ol~t=:<>P<EFBFBD><50>婱<EFBFBD>硂<EFBFBD>䪤P膄WΝ陁佅^l~tlu~t=:S`c``=:S`c`a=:S`d``=:l<><6C>lv|[`a`al<61><6C>`bblt~<7E>`d``lu<6C>`d`c=:S`d`a=:l<><6C>lv|[`a`bl<62><6C>`bblt~<7E>`d`alu<6C>`d`d=:S`d`c=:lu<6C>``ab=:S`d`d=:lu<6C>``ac=:S`e``=:l{u炼}}`l}缆```blv}<7D>t~<7E>`e``lv|[`a``=:l}<7D>lvqs0``clq~<7E>`e`bj``aaj```b<>佅𠠬<E4BD85>仙𢅛𦖭=:<3A>仙<EFBFBD>𢶠<EFBFBD>㎝l~t=:yW𨧧<57>匕<EFBFBD><E58C95><EFBFBD><EFBFBD>P<EFBFBD>仞lq~<7E>`e`bj````j```bl~tls|<7C>s}<7D>```=:lvqs``abwqqxxQQl~tls|<7C>vqs```clq~<7E>`e`bj``aaj```blq~<7E>`e`bj``aaj```b<><62>oP<6F>𪈠WΝ<57>𪈠ol~t=:<3A>仙<EFBFBD><E4BB99>𩡗儍<F0A9A197>𢰦膄oQl~tls|<7C>𡼏<EFBFBD><F0A1BC8F>硂<EFBFBD>硂丐咋l~t=:u<>鱲仪P儍鴂<E5848D>㏄Ν<E38F84><CE9D><EFBFBD>=:<3A>𪈠<EFBFBD>P<EFBFBD>QQl~tlvqs````ls|=:lq~<7E>`e`aj```bj````l𩺰y``eh=:lq~<7E>`e`aj```dj````l𩺰y``a`=:lq~<7E>`e`bj```fj```bl𩺰y``a`l<><6C>l}<7D>lvqs```d<64>QP<51>仙<EFBFBD>𢺳l~tls|l{u<>=:lq~<7E>`e`aj```dj````l𩺰y``a`=:lq~<7E>`e`bj```fj```bl𩺰y``a`l<><6C>l}<7D>yW𨧧<57>╰咋=:yW𨧧<57>╰咋Ql~tlvqs````ls|l{u<>=:lq~<7E>`e`aj```dj````l𩺰y``a`=:lq~<7E>`e`bj```hj```bl}<7D>Zs<5A><73>QZl𩺰y``e`ls|=:l𩺰y``b`l}<7D><EFBFBD><7F>^^^l~tls|<7C><>ol~t=:l𩺰y``a`lq~<7E>`e`bj````j````l𩺰y``a`=:l}<7D>lvqs```a<>鬂<EFBFBD>P<EFBFBD>叨l~t=:lq~<7E>`e`aj```bj````l𩺰y``db=:lq~<7E>`e`aj```dj````l𩺰y``a`=:lq~<7E>`e`bj```fj```bl𩺰y```c=:l<><6C>l}<7D>lvqs```du<64>Ql𩺰y``e`lvqs````ls|l{u<>=:lq~<7E>`e`bj``acj````l𩺰y``e`l}<7D>lvqs``ab^^^^^l~tls|=:lq~<7E>`e`aj```bj```bl𩺰y`ba`lt~<7E>`e`blt~<7E>`e`al<61><6C>u~t=:S`e`a=:S`e`b=:S`e`c=:l{u炼v|[`a`clv~`e`cj``af=:ls~<7E>`e`cj``hij````=:l𩺰y`d``ls}<7D>`ae=:lv}``afl}<7D>=:t<><74><EFBFBD>硂y<E7A182>㎝l𩺰y`ad`l~t=:ls}<7D>``alu~t=:S`e`d=:]`e`e=:l<><6C>l}<7D>lvqs``ac<61>𪈠^^^ol~tls|<7C><><EFBFBD>P<EFBFBD>Py^^^ol~t=:<3A>𪈠P<F0AA88A0>硂y^^^ol~tls|<7C><>P𢅛𠠬<F0A2859B>叨l~tlu~t=:S`f``=:l{u炼v}<7D>t~q``ehl}}`l}缆```blt~<7E>`f``=:l}<7D>lvqs``abw<62><77>^^^l𩺰y``b`l~tls|<7C>P~uP}q侨<71><E4BEA8>xP}q<>u<EFBFBD><75>=:<3A><>sy<79>Puww<77>l~tls|=:ls}<7D>``d=:ls~<7E>`e`dj``acj````=:ls~<7E>`e`cj``hhj````lr<6C>`e`clv|]`a`clu~t
|
||||
|
|
@ -1 +0,0 @@
|
|||
GD]jjsjGDv㊧{v}㍼jjlqv{ニjjjv<76>GD]jjskGDv㊧{v}㍼jjlqv{ニjjkv<76>GD]jjslGDv㊧{v}㍼jjlqv{ニjjlv<76>GD]jjsmGDv㊧{v}㍼jjlqv{ニjjmv<76>GD]jjsnGDv㊧{v}㍼jjlqv{ニjjnv<76>GD]jjsoGD]jjssGDv<44>砺㊧{v}㍼jjlqGDv{<7B>jkjjtjjjktjjjjv{ニjjnGDv}<7D>jmjktjkkltjjjlv捜ニkjjGDv{<7B>jkjjtjjjjtjjjjGDv∮~jjjlv~<7E>jmjkv合}v<76>GD]jkjjGDv褐プ㍾」誌鯨ゥZウゥッZア岑ョZョゥZ。ゥZョゥZ{ャョ「ッャaュGD「ゥッュ毓v嶋<76>jjjv}<7D>v<76>jkosGDv<44>砺}<7D>jmjjtjkkktjjjlvg}v捜ニjpjv{<7B>jkjjtjjjktjjjjGDv捜ニkjjv{泳jjnv詞{jjjktjjsstjjjotjjjrGD]jkjkGDv褐プ{泳jjnv詞{jjoktjjsntjjjntjjjnGD]jkjlGDv褐プ{泳jjnv詞{jjoktjjsntjjkrtjjjrGD]jkjmGDv褐プ{泳jjnv詞{jjjotjjsntjjkj:jjjrGD]jkjoGDv褐プ{泳jjnv詞{jjojtjjsntjjkltjjjlGD]jkjpGDv褐プ{泳jjnv詞{jjojtjjsntjjkktjjklGD]jkjrGDv<44>砺拷祝jkkv{<7B>jkjrtjjjjtjjjlv{泳jjnv詞{jjoltjjsntjjjntjjkjGD]jkkjGDv<44>砺{泳jjnv詞{jjontjjsntjjkjtjjjsGD]jkkkGD]jljjGDv褐プ㍾」誌月「飮撥ャ撥ュュZゥ<5A>Z媚婚ウZ~ャ孱ゥィhhhv<68>~v<76>GD]jljkGDv{<7B>jljktjjjjtjjjlv<76>GD]jlkjGDv褐プ㍾」誌月「洳飮ア岶Zョ「」ュZ「ッ。飮浚ェヲゥュ」ゥィ[GD造洽Zセ撥ァ飮ョゥfZ」ョZ屹ヲZヲゥゥ・沾GDヲ」・飮ョ「」ュhv<68>~v<76>GD]jmjjGD]jmjkGD]jmljGDv褐プ<E38397>jrrjtjjjkv<76>jrrjv拷祝jllv}<7D>jmljtjjlktjjjjv<76>jmlkGD]jmlkGDv<76>jjmjGD]kljjGDv<44>砺{<7B>kljjtjjljtjjjjGDv沿kljjtjjkpv{ニjjkGDv捜ニkjjv{泳jjkv詞{jjjptkljjtjkqktjjkn
|
||||
|
|
@ -1 +0,0 @@
|
|||
nk剳憵憂k澁<EFBFBD>潷ⅹ憫憫潶<EFBFBD>nk剳憵抧k澁<EFBFBD>潷ⅹ憫憭潶<EFBFBD>nk剳憵搉k澁<EFBFBD>潷ⅹ憫憮潶<EFBFBD>nk剳憵攏k澁<EFBFBD>潷ⅹ憫憯潶<EFBFBD>nk剳憵昻k澁<EFBFBD>潷ⅹ憫憰潶<EFBFBD>nk剳拺憂k潿<EFBFBD>潳<EFBFBD>憫憫澑ⅹ憭憫澊岸憭憭澑ⅹ憫搼澊岸憫敄澑ⅹ憮憫nk潷隘憮拺洃憭梟k澑ⅹ憭憫潳<EFBFBD>憫憫nk潰<EFBFBD>憮憫洃憲憶憫憮潷ⅹ憫憯nk澑ⅹ憯憫潵<EFBFBD>憮搼nk澑ⅹ憮憫潵<EFBFBD>憮憫nk潰<EFBFBD>憮攽洃憯憶憫憫澑ⅹ憫憮nk潰<EFBFBD>憮攽洃憭憶憫憫nk潷隘憮晳洃憭梟k澑ⅹ憭棏nk澁川nk潳<EFBFBD>憫拺ぢ秩烧伱趤<EFBFBD>壑温倽涪獞挆憹き碀Б<EFBFBD>憭懕善貜弿澂哎潳<EFBFBD>獊掀灼觼丈兄壬諄谛謭舗k履罩峦挖佈滞蛠收佇乔彎<EFBFBD><EFBFBD>き常托厥先佒褋丈苼男悠弿彎<EFBFBD><EFBFBD>き掣仆蛵佅胸佌善佖杏团佇秩烧nk招伱苼怯破伹有蝸孪趤侵罩悠nk氏穆酉抡市显佇莵丈苼バ恼杏彎<EFBFBD><EFBFBD>k逼履苼陕詠闷葡佈悠云幼婆倽<EFBFBD><EFBFBD>き硁k<EFBFBD>貚佂普堅伻衼尚纹彎<EFBFBD><EFBFBD>き皀k潿<EFBFBD>潷<EFBFBD>憫憰潻<EFBFBD>澋尝憫憫洃拺憶憫憭洃憭杗k剳挀憂k潿<EFBFBD>潳<EFBFBD>憫憫nk潷隘憮晳洃憭梟k潳<EFBFBD>憮攽洃敄棝憫憮nk潵<EFBFBD>憮搼澑ⅹ憮憫nk潷ⅹ憫憭nk澁川潷ⅳ憫憱潷瓕搼憫潷瓕挄棏鄙曝倽<EFBFBD><EFBFBD>き车陕諒弿芈詠耐性茝澂哎潳<EFBFBD>潷ⅳ憫挌獊丈兄壬諄獊芈詠阅勇裯k纹章蛠丈试佌饰苼切觧k灾悠弿彎<EFBFBD><EFBFBD>k<EFBFBD>刑詠褪唐佖苼胸苙k谛謥孪姓善觼邢茝澂哎潳<EFBFBD>潷ⅳ憫憫澑ⅹ憫枒nk澁川潷ⅳ憫憱<EFBFBD>蓫伵邢堈佌陕咸佄茝澂哎nk獊芈詠酥哉伵惺先佖陕課k<EFBFBD>云于伮蕴婆佄苼招伵袕澂哎潳<EFBFBD>潷ⅳ憫摉<EFBFBD>云于爜盒謥纹孪峮k丈抡佖收纳牆<EFBFBD><EFBFBD>き硁k潷ⅳ憫憱瞪抡堅佊嗜烧彎<EFBFBD><EFBFBD>き碀Б<EFBFBD>憮柂佌尚秩烧佋善伾抡婆nk兄觼戎赵彎<EFBFBD><EFBFBD>k┢奶崄獊丈兄壬諄喊秐k陕掌艁兄觼戎赵弿彎<EFBFBD><EFBFBD>き碀Б<EFBFBD>憫柡兄伱坡諄B屯性崄邮壬諣澂哎潳<EFBFBD>干葡佢兄伵逝佌陕諐nk收佂是掌艁兄觼闹釉茝澂哎nk<EFBFBD>貋掀收善觼星佒詠陕詎k招佌a唐佇优朴詠怯形nk孪谛掀倽<EFBFBD><EFBFBD>き碀Б<EFBFBD>憭毆佌尚秩烧佢兄伻众詠仄悠nk酥哉佀朴淘崫<EFBFBD><EFBFBD>k弥諄獊戎圃詠收佖略伮屯nk丈苼び胸蠄詠锹滞諅澂哎潳<EFBFBD>潷ⅳ憫憱钙屯崄谛謥悠卵佖陕課k谛謥孕貜澂哎nk⑶掌觼峦蛵伄试朴趫詠丈苙k邢苼厣衼陕艁墒蝸温唐佌善nk挠胸蟻氏佌善伹视哉佈吐钠彎<EFBFBD><EFBFBD>き碀Б<EFBFBD>憮柀稚彎<EFBFBD><EFBFBD>k盒謥判蠄諄月趶澂哎潳<EFBFBD>潷ⅳ憫憱獊判佋纶彎<EFBFBD><EFBFBD>き皾Б<EFBFBD>憫憂k澑ⅹ憭枒nk澁川潷ⅳ憫憱葱倽<EFBFBD><EFBFBD>き硁k潷ⅳ憫摉葱牆<EFBFBD><EFBFBD>き碀Б<EFBFBD>憫柎衼厣抡伮悠佢兄伻惺先nk招伵衼闲貭澂哎nk獊穆蟻章唐佢兄伮馅厣朴苙k谛謥褪唐彎<EFBFBD><EFBFBD>き碀Б<EFBFBD>憭毄挝崄谛謭悠佊嗜烧弿彎<EFBFBD><EFBFBD>き嘲钟佄试允邢伿詠凶朴峮k孪艁闲貋獊酥哉佖孪諄招nk褪灼佇终佄趤怕谠澂哎nk孕纹厣朴苼厣朴苼獊穆蟦k悠吐賮孪艁葡诵趤耼k闷轮帐侵蛠资曝弿彎<EFBFBD><EFBFBD>き皾Б<EFBFBD>憫憂k澑ⅹ憭憫澁川潷ⅳ憫憱渡崄谛謥滔胸弿彎<EFBFBD><EFBFBD>き硁k潷ⅳ憫摉┪牆<EFBFBD><EFBFBD>き碀Б<EFBFBD>憫枏弿感滞艁收伱苼峦蛠邮壬課k是仾佀惺掀艁谛謥丈朴茽澂哎潳<EFBFBD>nk潷ⅳ憫挌粗悠倽<EFBFBD><EFBFBD>k<EFBFBD>請詠褪灼佌善佌捎破nk星佒詠招绕丈朴倽<EFBFBD><EFBFBD>き硁k潷ⅳ憫挄称峦挖爞澂哎潳<EFBFBD>潷ⅳ憫挌獔屯佂普佢兄佈誓虂丈苙k匝姓彎<EFBFBD><EFBFBD>k<EFBFBD>哉伹氏艁衷伮伻行舗k淹履茘佇搪跔澂哎潳<EFBFBD>nk潷ⅳ憫挄盒謥刃諄收倐澂哎潳<EFBFBD>⑼蛠邮壬諄丈葡峮k潰<EFBFBD>憮攽洃憮憶憫憮蓾涪獞憭懧澑ⅹ憫拺蠞涪獞憭懭澑ⅹ憫拺仢涪獞憭懶澑ⅹ憫拺蠞涪獞憭憗澑ⅹ憫拺諠涪獞憭懯澑ⅹ憫拺葷涪獞憭懮澑ⅹ憫拺諠涪獞憭憘倽<EFBFBD><EFBFBD>き皾Б<EFBFBD>憫憂k潿<EFBFBD>潷<EFBFBD>憫憰潻<EFBFBD>潽但憫敁洃挀挐党<EFBFBD>憫憶憭憫洃憫挍憫挅nk剳挀抧k潿<EFBFBD>澑ⅹ憭憫澁川潹<EFBFBD>拺敁弿彚悠蠄諄谛謥切尤普帐先nk孕纹丈氏葼澂哎澋尝憫憫洃拺憶憫憭洃憭杗k剳搼憂k剳搾憂k剳摀憂k剳摂憂k剳摃<EFBFBD>
|
||||
Binary file not shown.
|
|
@ -1 +0,0 @@
|
|||
=:S``i`=:l}~qls}…```hlvqy````lu~t=:S``ia=:l}~qls}…```hlvqy```alu~t=:S``ib=:l}~qls}…```hlvqy```blu~t=:S``ic=:l}~qls}…```hlvqy```clu~t=:S``id=:l}~qls}…```hlvqy```dlu~t=:S`a``=:l€‚ylv|z`e``j`a`a=:lƒ…``aals~€`a``j``ahj```blvq```dl„‚q```fj``idj`bgcj```f=:S`a`a=:l€‚yl}ƒwy¤P§ŸžW¤PŸ •žQl~tlu~t=:S`b``=:l{u‰lv|z`e`aj```alv|[`e`alƒ…``bbls~€`b``j``baj````=:ls~€`d``j``dfj```bls~€`d`aj``dfj````=:lu†u`c``=:S`b`a=:S`b`b=:l{u‰=:ls~€`e``j``fgj```bl‡qy``a`l}‰t````l‡qy``i`=:lq~€`e``j``acj`0`bl‡qy``e`lq~€a```j```hj````=:ls~€`b`aj```ij```bl‡qy``hhl}‰t````l‡qy``e`ls}…``aa=:ls~€`b`aj``abj```blq~€`b`aj````j```b=:l‡qy``b`lq~€`e``j``bej````l‡qy``e`lq~€`b`aj``d`j```blq~€`e``j``b`j````l‡qy``c`lq~€`b`aj``dbj```blrq``b`l‡qy`a``=:lt~€`b`alrq``a`l‡qy``a`lrq`a``lrƒ|````ls}…```glv|[`e``lu~t=:S`c``=:lu†u``fa=:S`d``=:lt~q``dflu†u`b`b=:S`d`a=:lu†u`d``=:S`e``=:Sa```=:l{u‰lrq`ac`lt~q`aa`lt~q`a`dl‡qy`db`ls}…``ae=:l}ƒwl„…‚=:vŸ¥—˜¤PŸ––Pr‘œ¢Ÿ—Ql‡qy`ad`l~t=:ls}…```hlv|]`e``lu~t
|
||||
Binary file not shown.
|
|
@ -1 +0,0 @@
|
|||
{x憺灖瀧x<E780A7>集<EFBFBD>幻灋灋<E7818B><E7818B>灋灋<E7818B>疾{x憺灖焮x<E784AE>集<EFBFBD>幻灋灋<E7818B><E7818B>灋灍<E7818B>疾{x憺灖爗x<E78897>集<EFBFBD>幻灋灋<E7818B><E7818B>灋灎<E7818B>疾{x憺灖<E686BA>x<EFBFBD>集<EFBFBD>幻灋灋<E7818B><E7818B>灋灐<E7818B>疾{x憺灖<E686BA>x<EFBFBD>集<EFBFBD>幻灋灋<E7818B><E7818B>灋灑<E7818B>疾{x憺煘瀧x<E780A7>婪<EFBFBD>焊灓牊<E78193>煘煪春笧<E698A5>牗灍灐{x<>某灍灎{x憺煘焮x<E784AE>婪<EFBFBD>恋禽銕严軙鈳谟箱訌<E7AEB1>讲<EFBFBD>疾{x憺煘爗x<E78897><78>灋灑<E7818B>蜡灋煘<E7818B>灖ⅷ灎牐<E7818E>灐<EFBFBD>x憺煘<E686BA>x<EFBFBD><78>灋灑<E7818B>蜡灋ˉ<E7818B><CB89>灗灋 <E7818B>灍<EFBFBD>x憺<78>瀧x<E780A7>城<EFBFBD>某灒灍{x憺<78>焮x<E784AE>城<EFBFBD><E59F8E><EFBFBD>某灒灎{x憺<78>爗x<E78897>遣灋灎{x<>簷灒Г<E78192>簷灒Б<E78192>聸灋煝<E7818B>簺灎ア{x<>簷灓牉<E78193>簷灓牊<E78193>集<EFBFBD>幻灋煡<E7818B>槐<EFBFBD>郊灒灐<E78192>灍お疮窞灋<E7AA9E>x<EFBFBD><78>灋<EFBFBD><E7818B>恋<EFBFBD><E6818B>灋煟荤広萼覝<E890BC>讲{x穾窒溆幮噍阏肘幭谮庘钟{x嵊右釒厢庣葶庎舆阌徕右湭冀勃焙纚x<E7BA9A><78>灋牊庞谮幰蒈訙<E89288>讲<EFBFBD>豪扮庘钟幮鐪湝<E990AA>讲{x轮訋在蒎余釒庵镶幮谳蒇{x庵余訙<E4BD99>讲<EFBFBD>航{x<><78>灋<EFBFBD><E7818B>季灒灎<E78192>灋灗灋灋<E7818B><E7818B>灋<EFBFBD>{x<>恋<EFBFBD>訋庵葆訋庵訋矣圯躿x在蒎余岘<E4BD99>讲<EFBFBD><E8AEB2>灋灋<E7818B>航{x<><78>灋<EFBFBD><E7818B>季灒灎<E78192>灋灗灋灎{x<>恋<EFBFBD><E6818B>灋煟奋矣右湭冀勃焙廓疮睘灎熁鐨庅鐪湝<E990AA>讲<EFBFBD>豪轮隅曕訋圯嘤庛苎宪茜{x庵宪幱溆軒穾窒襸x综险总右湝湭冀勃焙廓疮睘灍;鐜谳嘁湝湭冀瞷x林馅趲穾演茚阚訋蒈訋厢幭{x庥徕<E5BAA5>冀勃焙廓疮睘灎煖湝驾殠谟鈳汜庈葩幰輠x庵镶湭冀勃焙纚x湝湝湭冀勃焙蓝圹圹湝湭冀瞷x奋徕酉覛広逾庛釒庥徕{x庵訋嘤涎庾蒈庉軒蠋蛔圩障湭冀勃焙廓疮睘灍で俞殠坨広萼覝<E890BC>讲<EFBFBD><E8AEB2>灋灋<E7818B>航{x<>季灒灎<E78192>灐灗灋灋<E7818B><E7818B>灋<EFBFBD>{x<>季灒灐<E78192>煝ⅷ灋灋<E7818B><E7818B>灍煘{x<>恋捷詮<E68DB7><E8A9AE>灋<EFBFBD><E7818B>讲<EFBFBD>豪<EFBFBD>季灒灐<E78192>灓灗灋灋<E7818B><E7818B>灋灓湝湝湭冀勃焙琅钟嘤幭蹨湝<E8B9A8>冀勃疮睘灋灙焙絳x<E7B5B3><78>灋<EFBFBD><E7818B>季灒灐<E78192>灋灗灋灎<E7818B>恋<EFBFBD><E6818B>灋灕畔现彧冀勃疮睘灋灙焙絳x<E7B5B3>季灒灐<E78192>灋え灋灋<E7818B>季灒灑<E78192>灋Ж灋灎<E7818B><E7818E>灍灋{x<>季灒灑<E78192>灍牗灋灎<E7818B>季灒灐<E78192>灍灗灋灎{x<>季灒灑<E78192>灐灗灋灎{x<>恋<EFBFBD><E6818B>灋煝街涊譁<E6B68A>讲{x胖余訋逸庣葶庘肿苜{x巛銜嘤幷葑苷<E89191>冀勃唇紴<E59487>え灋煠<E7818B>豪<EFBFBD><E8B1AA>灋煠跋卩菡湭冀瞷x从右庘肿釒蒈訋蠋在蒎余湭冀勃焙廓疮睘灍ⅹ<E7818D>緸<EFBFBD>ⅷ灋<E285B7><E7818B>灋爗x禽銕蛰鈳租湭冀勃疮睘灋灙焙絳x<E7B5B3>季灒灑<E78192>灓灗灋灎<E7818B><E7818E>灋<EFBFBD>{x<>季灒灑<E78192>灒灗灋灎<E7818B><E7818E>灋<EFBFBD>{x<>恋<EFBFBD><E6818B>灋灕驾弾菱蒉彧冀勃焙纚x<E7BA9A><78>灋灒诚鈳租湈诚鈳租彧冀勃焙纚x<E7BA9A>幻灋灋<E7818B><E7818B>灋灋涤鈳巛汔幹蟦裔庉栽幹余弿<E4BD99>讲<EFBFBD>航{x<>郊灒灒<E78192>灍お暖窞灐灙被脼灍<E884BC>x<EFBFBD>季灒灒<E78192>灓煥灋灎<E7818B>季灒灒<E78192>灎灗灋灎<E7818B><E7818E>灋<EFBFBD><E7818B>遣灋<E981A3>{x<>季灒灒<E78192>灍灗灋灎<E7818B><E7818E>灋牏{x<>季灒灒<E78192>灓灗灋灎<E7818B><E7818E>灋牐{x<>季灒灑<E78192>灎灗灋灋<E7818B><E7818B>灋<EFBFBD>{x<>季灒灒<E78192>灋灗灋牉<E7818B><E78989>灎灋{x<>恋<EFBFBD><E6818B>灋灔螺噍佥弡x<E5BCA1>訋巛銕葙乡瓘<E4B9A1>讲<EFBFBD>豪<EFBFBD><E8B1AA>灋煙湝湽湝湽总諟湝<E8AB9F>冀勃焙澜葺种种湝湭冀瞷x荤湝溮鐜钟弦湝湭冀勃焙廓疮睘灋<E79D98>x弿<78>讲<EFBFBD>豪驾弿<E9A9BE>讲<EFBFBD>郊灒灍<E78192>灍お焙狼葶弾禽銜嘤庘窒鈡x草砚萼彧冀勃疮睘灋灙焙絳x<E7B5B3><78>灋<EFBFBD><E7818B>恋<EFBFBD><E6818B>灋牊湝湝湭冀勃焙琅昼殠缬釡<E7BCAC>讲{x穾羡庘钟幉菅廨鄿<E5BBA8>讲<EFBFBD>豪<EFBFBD>規脏蒇庈蒎庉軞幏幭踸x巛汔庈渝広酉矣鄿<E79FA3>讲<EFBFBD>豪沮酉嵊規廨庅腺訋巛汔{x涎咩献茆宪延湭冀勃焙兰蒎殠逯镶幱嫦砚阽幾醷x租庣葶庌谙軒廨幰輲遄庵{x庵镶庒遢嘁<E981A2>冀勃焙蓝蹧舟浿圹湝湭冀勃焙廓疮睘灋シ曏趲僮谮庣葶弿<E891B6>讲<EFBFBD><E8AEB2>灋灋<E7818B>航{x<>季灒灒<E78192>灍灗灋灎<E7818B><E7818E>灋<EFBFBD>{x<>季灒灎<E78192>灎灗灋灋<E7818B><E7818B>灋煟{x<>季灒灍<E78192>灍灗灋灋{x<>季灒灔<E78192>煝え灋灎<E7818B><E7818E>灋煟{x<>季灒灒<E78192>灐灗灋灋<E7818B>郊灒灒<E78192>灍<EFBFBD>x<EFBFBD>集灍ⅲ<E7818D>幻灋灋<E7818B><E7818B>灍<EFBFBD>{x<>恋<EFBFBD><E6818B>灋牊荤殠相訋庵隅庎酉谮鐊x彷幵嘞兆谟幮釉萼訋庵觷x嘞沼庘腺俞庘钟郗<E9929F>讲<EFBFBD>航<EFBFBD><E888AA>灋<EFBFBD><E7818B>槐<EFBFBD><E6A790>灋<EFBFBD>{x<>恋街輳<E8A197>讲<EFBFBD>豪禽銜嘤庘窒鈳彷谝子鄘x脏蒇庘钟庒汔韵延彧冀勃唇紴<E59487>煥灋煠<E7818B>季灒灍<E78192>灎灗灋灋<E7818B>豪禽銜溆幯蒇訋镶幭{x徂谟芤滓庘综訙<E7BBBC>讲{x队嘤殠庵隅曕訋馅趲巛汔釓<E6B194>讲<EFBFBD>豪街殠茌殠茌歿x逸軙鈳庵宪賻塾湭冀瞷x断溆幵丬殠巛銕庵嘤訙<E598A4>讲<EFBFBD>航<EFBFBD>季灒灍<E78192>灐灗灋灋<E7818B><E7818B>灍灋<E7818D>幻灋灑{x<>季灒灐<E78192>煝灗灋灎<E7818B>梁灒灐{x<>交灋煠<E7818B>疾{x{x憺<78>焮x憺<78>爗x憺<78><E686BA>x<EFBFBD>城<EFBFBD>簷灓牎<E78193>集灍<E99B86><E7818D>集灍<E99B86>{x<>郊灒灐<E78192>灍お<E7818D>緸<EFBFBD>〃灍灋<E7818D>灋<EFBFBD>x<EFBFBD><78>灑灋<E78191>幻灋灋{x<>恋{x灿杂镶右幋嘤荑子規螺噍佥湭暖窞灒灙冀勃焙絳x<E7B5B3>季灒灐<E78192>煝灗灋灒<E7818B><E78192>灍<EFBFBD><E7818D>交灋煠<E7818B>疾{x憺<78><E686BA>x憺<78><E686BA>x<EFBFBD>焊灓牋<E78193><E7898B>焮x<E784AE>焊灓牎<E78193><E7898E>瀧x<E780A7>婪<EFBFBD>恋螺湝湭冀猜萼葙轀湝<E8BD80>讲<EFBFBD>疾{x憺<78><E686BA>x憺<78><E686BA>x憺<78>瀧x<E780A7>城<EFBFBD><E59F8E><EFBFBD>簷灓牋<E78193>恋<EFBFBD><E6818B>灋灔赤罩湝湭冀勃焙婪鈺釒廨輲谙庥幵萼庅訙<E5BA85>讲{x抛谮庣葶湝溝溆苷訋塾湝湱<E6B99D>讲<EFBFBD>航{x<>季灒灒<E78192>灑灗灋灒<E7818B>前灋灋<E7818B><E7818B>灍灋<E7818D>疾{x憺<78>焮x<E784AE>城<EFBFBD>簺灓牊<E78193>季灒灒<E78192>某灓灎{x憺<78>爗x<E78897>某灋灖
|
||||
|
|
@ -1 +0,0 @@
|
|||
NKdqqzqNK}帍倉剮杚qtw}噦妐qqq}啅匩KdqqzrNK}帍倉剮杚qtw}噦妐qqr}啅匩KdqqzsNK}帍倉剮杚qtw}噦妐qqs}啅匩KdqqztNK}憮妢剮杚qqq}泜巬姇媞qss{qqzv}啑唓qzwNKdqqzuNK}帍倉剮杚qtw}噦妐qqu}啅匩KdqqzvNK}啋lqsvw}帞s}晼揘K}攼杚qut}垔時qss劙动郸砤ⅳ氮发郸<E58F91>}彁厎垔晀qqq}啑唓qzwNKdqqzwNK}帞坿晼摎岸aЕΝa<CE9D>-ⅳ琣釜<E790A3>a-案NK旦嘲定゛喊秓NK偔璦甫⒈隘碼コ氨宝<E6B0A8>蛋a崷乏璦rb}彁厎剭怤K}嚀唥帍倉剮杚qtw}噦妐qqt}啅匩KdqrqqNK}寙殅噦恞qqs}晸Aqqyq{qqzq{qqry{qqzxNKdqrrqNK}寙殅噸媟vtr{qrrrNK}噽巕qrw}噦恞qqs}晸俼qyr{qqzs{qqqs{qqrtNKdqrrrNK}槀妐qrq}墡剗槀妐qvqNK}帤卶qqq}攷剗啅匩KdqsqqNK}憮妢帞坿晼揘K槮<4B>爱<EFBFBD>蛋a墻<61>b}彁厎啅匩KdquqqNK}憮妢攼杚qss}厪憅uqq}啑唓uqrNKdquqrNK}啑唓qruNKdqusqNK}厪憅usqNK}倧憅utq{qqtq{qqqq}噽弎utq{qqrwNK}倧憅vqq{qqts{qqqq}啅匩KdqutqNKdqvqqNK}寙殅噸nrvtr}噸lrvtsNK}剰憅vqq{qsvz{qqqq}啅匩KdqzqqNK}厪憅zqq}啅匩KdqzqrNK}厪憅zqr}啅<>
|
||||
|
|
@ -1 +0,0 @@
|
|||
0-FSS\S0-_pqd_idlSSSS_hqg0-FSS\T0-_pqd_idlSSST_hqg0-FSS\U0-_pqd_idlSSSU_hqg0-FSS\V0-_pqd_idlSSSV_hqg0-FSS\W0-_pqd_idlSSSW_hqg0-FSS\X0-_nh|0-_iomTXVU]SUSS_idlSSSV0-_iomTXXS]SUST_hqg0-FSS\Y0-_nh|_p|eSSSU_zdlSSSU_sul_idlSSST_hqg0-FSTSS0-_sul_idrSSST_wudSS[T]SS\X]STXT]SSTV0-FSTTS0-_sul_irpSSTY_idrSSSV0-_zdlSSVS0-_iomTXVW]STTT0-_wudSS[W]SS\X]SSTS]SSSU0-FSTTT0-_wudSS[X]SS\X]SSTS]SSSU0-FSUSS0-_fqsSUSS]SVUS]SSSS0-_ioPTXVU_ioNTXVV0-_zdlSSSU_idlSSSV_iomTXXS]SUST_hqg0-FSUST0-_gqsSUST0-_fpsSSSZ]SSTW]SSST0-_fpsSSS[]SSTW]SSST0-_fpsSSS\]SSTW]SSST0-_fpsSSTS]SSTW]SSST0-_fpsSSTT]SSTW]SSST0-_fpsSSTU]SSTW]SSST0-_fpsSSTV]SSTW]SSST_hqg0-FSUWS0-FSUWT0-_gqsSUWT_dqsSUWS]SSTS]SSSV_hqg0-FSUWU0-FSUWV0-_gqsSUWV_dqsSUWU]SSTS]SSSV_hqg0-FSUWW0-FSUWX0-_gqsSUWX_dqsSUWW]SSTS]SSSV_hqg0-FSUXS0-FSUXT0-_gqsSUXT_dqsSUXS]SSTS]SSST_hqg0-FSUXU0-#SUXV0-_gqsSUXV_dqsSUXU]SSTS]SSSV_hqg0-FSUXW0-FSUXX0-_gqsSUXX_dqsSUXW]SSTS]SSST_hqg0-FSUXY0-FSUXZ0-_gqsSUXZ_dqsSUXY]SSTS]SSSV_hqg0-FSU\S0-_gqsSU\S_vrxSSTU0-_fpsSTTZ]SSS\]SSU[0-_fpsSTTZ]SSTS]SSU[0-_fpsSTTZ]SSTT]SSU[0-_hqg0-FSU\T0-_gqsSU\T_vrxSSTU0-_fpsSS\X]SSSV]SSU[0-_fpsSS\X]SSSW]SSU[0-_fpsSS\X]SSSX]SSU[0-_fpsSS\X]SSSY]SSU[0-_hqg0-FSU\U0-_gqsSU\U_vrxSSTU0-_fpsSSSS]SSSS]SSU[0-_fpsSSSS]SSSS]SSU[0-_fpsSSSS]SSSS]SSU[0-_hqg0-FSVSS0-_gqsSVSS_gqdSVS\_gqdSVTT_gqdSVTZ0-_irqSVST]SSTY0-_fpxSSSZ_evoSSSS0-_fpsSSUS]SSTT]SSST0-_fpsSSUS]SSTU]SSST0-_erdSTSS0-_fqsTSST]SVVS]SSSS0-_fqsTSSU]SVVS]SSSU0-_vrxSSTU0-_hqg0-FSVST0-FSVSU0-_prySST[]SSTS_hqg0-FSV\S0-_sul_iomTXXT]SSST_ioNTXXT0-_vrxSSUU_fqsSV\S]SSUT]SSSS_hyhSWSS0-FSWSS0-_hyhSSVX0-FS\SS0-_gqsS\SS_hqg0-FS\ST0-_gqsS\ST_hqg0-FTSSS0-_erdSXSS_fpxSSSS_ioPTXXS_hqg0-FTSST0-FTSSU
|
||||
|
|
@ -1 +0,0 @@
|
|||
q~~噡[X姏湉姂洠~~~唺攺梸~~~姄湌[Xq~~<7E>[X姏湉姂洠~~~唺攺梸~~姄湌[Xq~~噣[X姏湉姂洠~~~唺攺梸~~€姄湌[Xq~~噥[X姏湉姂洠~~~唺攺梸~~亰摐抂Xq~~噦[X姍摟姅殬~~~垀~噧姏湉姂洠~~~唺攺梸~~倞摛搤€~~[Xq~~噧[X姏湉姂洠~~~唺攺梸~~倞摐抂Xq~~~[X姍摟姟潱~~姀湠~~~垀~~~垀~~€姅彎~~~倞<>弤~儊垀~噦垀~厓垀~~僛Xq~~[X姍摟姟潱~~姀湠~~垀~~~垀~~€姅彎~~~~姠爮~~儎垀~噡垀唸~~唩[Xq~€~~[X姍摟姅歽~~~姅歽~€儕敋y~亞姏<E4BA9E>~~~€姤彈~~儈[X姀湠~倊~垀~~垀~~~姏<>[XE<58>o姕潚姂殱[X姀湠~倊~垀~€~垀~~~姤彈~~儈姄湌[Xq~倊~[X姍摟[X姅殬~~亪~倊俒X姉<58>~~€剤~倊乕X姅殬~~€垀倊€[X姅殬~~垀倊姅歽~~姅歽~亞[X姀湠~倊~垀~~垀~~~[X姏<58>撉<EFBFBD>抖o姏<6F>~~~€姕潚姂殸捊紆耼狗汉n怀o姕潚[X梪籲痭睹化紀n梟该谅n到耓X化捣悲汉莕旅兰巢n芳陆[X痭浄环弹on梪籲睹化紀姕潚姂殸柮秿姕潚姂殸|||||姕潚姂殸姀湠~倊~垀~~~垀~~~姅彂~~€啣动聈羘露妨峓XЫ胾莱n冀耼郊硁酱n露搅砙X狗汉忱n澜敖铝崐N潚[Xコ汉zn墙胣帘<E883A3>巢n露砙X警悸羘酱磏怀zn该痪芳礫X矫耼悍钩n露<6E>o姕潚姂殸Ы胣沤煤布u耼俺n露<6E>[X怜姆嚼zn沤煤瞡墙脥姕潚姄湌[Xq~倊[X姍摟姅歽~~€[X姏<58>姅彂~~€啑u籲椔蕉zn郊硁酱n露砙X睹化剂n哦絥悲怀n陆n露妨[X妨函疾n陆n步n莱脸<E88EB1>倍|姕潚[X⒍<58>n欧卤秐浄脸狼n旅兰巢[X怀n芳陆n露妨|||姕潚[X梟化集党瞡陆n党耼<E5859A><E880BC>z[X懊聕||该谅n航焦n<E784A6>n怀|姕潚姂殸徏瞡冀舗梪籲谅帽筺冻莱o姕潚姂殸Ы胣焙坊俺瞡镁n蠢交n露砙X矫铝凡硓n卜布u耼墙脇姕潚[X梪籲<E6A2AA>n臣捣汲忱n酱[X苯剂凡忱<E587A1>撼n炉撼悸z姕潚[X懊耼梪籲渤<E7B1B2>逗莕<E98097>蜡凡[X酱n冻返堵羭||姕潚姂殸澏zn沤硓n沤硁妨n怀|||姕潚姂殸梟汲某纍炼矫翰u某n苯怀[X陆n露妨n妨函疾n芳n露砙X捶懒耼竞<E880BC>硘姕潚姄湌[Xq~倊€[X姍摟姏<E6919F>姅彂~~€啘絲n冀zn撩莱呵n墙胣动某[X冀n昧硁唇纍撩倍n痭警露陈繁z[X谅蜡疾巢n悍侣撼n化紎姕潚姄湌[Xq~倊乕X姍摟姏<E6919F>姅歽~~亰摛搤倊僛Xq~倊俒X姍摟姏<E6919F>姅彂~~€啎纺硁浟|n’汞唤陆n磺[X莱弹啦羭姕潚姄湌[Xq~倊僛X姄<58>~~厖
|
||||
|
|
@ -1 +0,0 @@
|
|||
<EFBFBD>𠘚五<EFBFBD>~偭繕健賽中互偕善中中偕擰托中恕五庚嗽<E5BA9A>~𠘚五<F0A0989A>~偭繕健賽中互偕善中丰偕擰托中恕五庚嗽<E5BA9A>~𠘚五<F0A0989A>~偭繕健賽中互偕善中丹偕擰托中恕五庚嗽<E5BA9A>~𠘚五<F0A0989A>~偭繕健賽中互偕善中之偕擰托中恕五庚嗽<E5BA9A>~𠘚五<F0A0989A>~偭繕健賽中互偕善中尹偕擰托中恕五庚嗽<E5BA9A>~𠘚五<F0A0989A>~健謐中成恕丰狙中牧偎繡<E5818E>𠘚奶<F0A0989A>~倏嗶偕腕中中務ⅰ中帚恕五亢丰丹恕予<E68195>~𠘚孕<F0A0989A>~倏嗶勒蟹中孕做薩丰奶恕中亢中丹偕腕中中務ⅰ中帚恕五亢中限恕尹<E68195>~𠘚忖<F0A0989A>~倏嗶<E5808F>偕擰奶洛恕忖<E68195>~偕擰奶洶恕忖<E68195>~偭タ卧塨撦𤦌塨撦攟╰兜繪健曙㺭藏萼滅<E890BC>~偭芘中中做薩丹中恕中旨中尹匐善中坐偭芵中中偕<E4B8AD>奶洶偕嚏奶扣偕<E689A3>奶扛<E5A5B6>偭タ躇<E382BF>飹蝃竾塨𤤿秱鄳萳1藏萼滅卩塨橍塯籝蜒竢椳塯𠵌<E5A1AF>崷欷<E5B4B7>~俁<>嵋嵕𥡝𡝮靲甃<E99DB2>睼竢涷魃<E6B6B7>~塨<>慖碴磰楩淼𧝁橖𠉛慖軗椥籝蜒1藏萼滅卩嗲<E58DA9>楁磰嗕㚪殎遉兜繪<E5859C>⺌蜭<E2BA8C>醏<EFBFBD>鳽<EFBFBD>魬𠊙欹<F0A08A99>魱<EFBFBD>詻郯蜪<E983AF>詙<EFBFBD>魱緷錏㕰<E98C8F>嗕箬1藏<EFBC91>~⺪𠵌<E2BAAA>賟粔椕鳿𡝮蜪啫楁<E595AB>溈駇篊搫睯蝣╰兜繪健曙╰〦喿<E380A6><E596BF>醏掐𧝁橖𠉛殎堞兜繪健曙俁<E69B99><E4BF81>筅椵畽𢛵<E795BD>嗕緗陸藏<E999B8>~俁<>箬秱𠵌楴磰蝆𠰍涷晬兜繪<E5859C>ム<EFBFBD>氃椥磰<E6A4A5>笯㕰<E7ACAF>嗕箬竾楴<E7ABBE>氃1藏萼滅匸嗕竾淢𤦌淩楀<E6B7A9>筎<EFBFBD>罾<EFBFBD>魱<EFBFBD>~醏蜬<E9868F>魦搫1藏<EFBC91>~園<>碕賥秱𠰍楴魰<E6A5B4>醏椴<E9868F>殏<EFBFBD><E6AE8F>魱渼𤦌涫<F0A4A68C>涴<EFBFBD>魬蝃啫氰秱鄳瞱兜繪偎妏丹五<E4B8B9>𠘚忖<F0A0989A>~偭タ偕<E382BF>奶洛躇籝棔隃兜繪健曙暸賥𠵌欹蜪<E6ACB9>魱渼啫淶雵<E6B7B6>嗕<EFBFBD>蜮<EFBFBD><E89CAE><EFBFBD>諆<EFBFBD>嗕<EFBFBD>逌涫𠉛蝁湆嗲瘈㕰睯<E395B0>~罾氄𥪯蜨萳鋡兜繪偎妏丹五<E4B8B9>𠘚忖<F0A0989A>~倏嗶偭タ呿涷竾淢㕰<E6B7A2>秱𠰍蜺<F0A0B08D>雵鳷氰陸藏萼溥臚丹車中左恕云狐嘟馱忖<E9A6B1>~𠘚忖<F0A0989A>~倏嗶做薩丹中恕中亢中丹偎繡<E5818E>𠘚戌<F0A0989A>~勒脹倏嗶側褶健薩丹戎恕巧亢中丹做薩丹戎恕丰亢中丹匐善中岸<E4B8AD>偭タ勒蟹中咫樑<E592AB>兜繪健曙<E581A5>勒蟹中咫<E4B8AD>摦<EFBFBD>兜繪健曙<E581A5>俁<EFBFBD>箬婙蜼𠊙棔<F0A08A99>秱箬籝蜒陸藏萼滅②╰╰兜繪健擭<E581A5>匐善中岸匐善中岸偭繕健賽中互偕善中尹匐善中岸勒褶偶薩丹戎偎繡<E5818E>𠘚戌<F0A0989A>~𠘚坐<F0A0989A>~凰ⅸ偕擰托中恕中弘瑰陁咫什デ氻丹旭溘臚坐亢中戎恕中什溥臚丹車中左恕云狐嘟馱坐<E9A6B1>~𠘚坐<F0A0989A>~偎妏中囿
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -1 +0,0 @@
|
|||
A>WddmdA>p<>upw<70>ddempzu}ddddpy<70>A>WddmeA>p<>upw<70>ddempzu}dddepy<70>A>WddmfA>p<>upw<70>ddempzu}dddfpy<70>A>WddmgA>p<>upw<70>ddempzu}dddgpy<70>A>WddmhA>p<>upz<70>~diminddmipy㥍w<E3A58D>ddeepzu}dddhpy哣dfddA>WddmiA>p<>upw<70>ddempzu}dddhpy<70>A>WdeddA>p<>}p<>岚deepx<70>deddpzu<7A>ddhp<68>uddednddmhnddginddfjA>WdfddA>p杮īy㥍<79>xddddpu<70>dhddnddgdnddddA>p<>{pzuwddeh<65>簛夾ㄕ<E5A4BE>ㄘ<EFBFBD>T<EFBFBD>貞A><3E>苜Tǖu<C796>T迤奈A>迤固<E8BFA4>ㄘ<EFBFBD>兞汽<E5859E><E6B1BD>Up<55>xA>w𥚃<77>T迤固<E8BFA4><E59BBA>各p<E59084>xpw<70><77>>pzuwddeg<65>檱UUp<55>xpw<70><77>>pu<70>dhddnddgdndddfp𠹹}ddgdA>pu<70>dhddnddedndddfpz<70>_dimipz<70>_dfklp𠹹}dfddpw<70>ddempy<70>A>WdffdA>p杮īy<7F>>pz<70>~dimjndfgdA>pz<70>_dimjpz<70>_dimhp}ÒddehA>p<>{pzuwddeg<65><67>營bbp<62>xA>bbb揻孟p<E5AD9F>xpzuwddddpw<70><77>>p𠹹}ddidA>pw<70>dffdndeggnddddp𠹹}ddidA>p<>{p{}Ềde4pzuwdddd{𧞅簛<F0A79E85>吋<EFBFBD>簛q<E7B09B>中<EFBFBD>吼bp<62>xp{}Ê̌dddpw<70>dgddndegdnddddpx<70>dhdepz<70>adfkhpw<70><77>>py哣dffeA>WdffeA>py哣ddjiA>WdfgdA>py㥍z<E3A58D>~dlgdndfgep<65>{pzuwddeg<65><67><EFBFBD>Up<55>xA>揻固〝夾T夾ㄓT<E38493>䐓Up<55>xpw<70><77><EFBFBD>茅<EFBFBD>佅T見T堺<54><E5A0BA>T<EFBFBD>禑><3E><><EFBFBD>劫佅姯<E4BD85><E5A7AF>襍簛<E8A58D>䐓A>ㄑ見T<E8A68B>簛妝<E7B09B><E5A69D>䉠p<E489A0>xpy<70>A>WdfgeA>py㥍}ǚddeindfgfA>p<>{pzuwddegu𦐑T迤固嚤<E59BBA>T𥚃T𧭈>𧙗<>T<EFBFBD><54>bp<62>xp{}Ềdeip}Óddeipw<70><77>>pzuwdddd<64><64>㓤<EFBFBD>T𥸎q<F0A5B88E><71>簛<EFBFBD>秀Up𠹹}ddgdp<64>xp{}Ê̌dddpw<70><77>zuwddegwㄐ簛<E38490><E7B09B>T<EFBFBD>T迤固臁膓A><3E><>T佅ㄗ<E4BD85>吋ㄑ緐p<E7B790>xA>}沍劫<E6B28D>簛<EFBFBD>襍汽<E8A58D>潖A><3E>姯咯<E5A7AF>㎡<EFBFBD>㎡𣌀bbbp<62>xpy<70>A>WdfgfA>py㥍<79>{pzuwddegy<67>㎡𥸎<E38EA1><F0A5B88E>嚹<EFBFBD><E59AB9>T<EFBFBD>A>𣺹ㄚ劫<E3849A>姯佅姯鷼<E5A7AF><E9B7BC>bbp<62>xA>u<>T}T<>㎡𣌀T╯俊潖A><3E><>簛#T<EFBC83>檱嚹𢒰T迤奔bbp<62>xpy<70>A>WdgddA>py㥍<79>{^<5E>𢒰烀bbbp<62>xpy<70>A>WdhddA>Wdhde
|
||||
|
|
@ -1 +0,0 @@
|
|||
0-FSS\S0-_pqd_fpxSSSU_idlSSSS_hqg0-FSS\T0-_pqd_fpxSSSU_idlSSST_hqg0-FSS\U0-_pqd_fpxSSSU_idlSSSU_hqg0-FSS\V0-_pqd_fpxSSSU_idlSSSV_hqg0-FSS\W0-_pqd_fpxSSSU_idlSSSW_hqg0-FSTSS0-_nh|_vrxSSTT_dqsSTSS]SSSS]SSSU_idrSSSU_wudSSXV]SS\U]SSSU]STZV0-FSUSS0-_sul0-_iomTVZU]SUSU0-_dpmSSS\]SUSV0-_iomU[TT]SUSV0-_hyhSUSX0-FSUSU0-_sul_pvj_wxud軌C圏J砲樺仲C嵐C<E5B590>C<EFBFBD><43>Q_qrg_hqg0-FSUSV0-_ioNTVZU_hyhSUSW0-FSUSW0-_hyhSSTS0-#SUSX0-_sul_pvj_wxu|著C資丁OClC腰沫C薯刪C嵐C毎<43>0-幕<>鼎雷倦竃Q_qrg0-_fou_jlwSSS\lJ緒C褐刪C恍呂Г曙覧処C亦粋雷倦<E99BB7>0-潔C恍呂丁舛Г`e巡㊧`D_qrg_hqg0-FSUTS0-_sul_iomTVZS]SUTT_ioNTVZT0-_pvjq丁C嚥<43><E59AA5>㈹④雷<E291A3>C推舛葺<E8889B>0-忠韻嵐QQQ_qrg_fou|著C灸刪遷佑毎<E4BD91>C頗C鋸妹я⑯0-灸刪C恍話_qrg_hqg0-FSUTT0-_sul_pvjw灸綜C恍呂薗匹恍<E58CB9>C笈藷Q_qrg_hqg0-FSUUS0-_sul_pvjz拠J譜C恍楼C酔沫<E98594>b_qrg_hqg0-FSXSS0-_nh|_fqsSUXS]_idlSSSS_hqg
|
||||
Binary file not shown.
|
|
@ -1 +0,0 @@
|
|||
yv<EFBFBD>㱔䛐v邦滬辛嘗<EFBFBD><EFBFBD>迆音<EFBFBD><EFBFBD>迂滌yv<EFBFBD>㱔递v邦滬辛嘗<EFBFBD><EFBFBD>迆音<EFBFBD><EFBFBD>迂滌yv<EFBFBD>㱔𡲢v邦滬辛嘗<EFBFBD><EFBFBD>迆音<EFBFBD><EFBFBD>迂滌yv<EFBFBD>㱔呩v邦滬辛嘗<EFBFBD><EFBFBD>迆音<EFBFBD><EFBFBD>迂滌yv<EFBFBD>㱔懢v邦滬辛嘗<EFBFBD><EFBFBD>迆音<EFBFBD><EFBFBD>迂滌yv<EFBFBD><EFBFBD>䛐v邢掬阮鄘<EFBFBD><EFBFBD>辰獐<EFBFBD><EFBFBD>迆香<EFBFBD><EFBFBD>阱冪<EFBFBD>﹜<EFBFBD>㱔𩵼<EFBFBD><EFBFBD><EFBFBD>𧇍𡲢v<EFBFBD><EFBFBD>䛐v邢掬yv迆葆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>递v迂簣<EFBFBD>孕yv<EFBFBD><EFBFBD>递v邢掬yv迆葆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>呩v巡懦<EFBFBD>䣳<EFBFBD><EFBFBD>𡲢v邦興殮桋<EFBFBD>俅<EFBFBD>葄皙稊寍睧辶獄釜v殮栫藖痶邰<EFBFBD>尰䓃婧䓃欸<EFBFBD><EFBFBD>詑㶈旄辶獄釜v諶䎚<EFBFBD>瑵<EFBFBD>崳俜<EFBFBD>衴頎<EFBFBD>奜瑵龮詈腲v覗龯栜曧硢<EFBFBD>痶迖<EFBFBD>那趕迂滌yv<EFBFBD><EFBFBD>𡲢v邢掬邦興阱謙迆<EFBFBD><EFBFBD><EFBFBD>那趕辛蜀迅耋<EFBFBD>䣳巡<EFBFBD><EFBFBD>䣳棹硞旃曧瑵<EFBFBD>隗<EFBFBD>帑睒豽猌v諼皙稊寍犎辶獄馬偕<EFBFBD>䣳銁授<EFBFBD><EFBFBD>懢v<EFBFBD><EFBFBD>呩v邢掬邦興<EFBFBD>婧俅䓃婧<EFBFBD>痶<EFBFBD>崷詒<EFBFBD>倯硢yv豇詌殑<EFBFBD>隗<EFBFBD>媏葮㶈旄<EFBFBD>那趕yv誠詍<EFBFBD>寊豽䎚<EFBFBD>奜<EFBFBD>粣葮𧄍窙慪啢v葄皙稊寍睧<EFBFBD>辶獄馬捱釜v<EFBFBD><EFBFBD>懢v迂簣<EFBFBD>ㄔyv<EFBFBD><EFBFBD>䛐v邢掬yv迆葆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𡲢v迆葆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>递v迂簣<EFBFBD>孕yv<EFBFBD><EFBFBD>递v邦興菽𣞼䓃睙<EFBFBD>隗侲秊褁詈<EFBFBD>砨詙yv隗<EFBFBD>葐痭迍<EFBFBD>奜瑵<EFBFBD>頎迍豽苵v隗氪𦬕萶阼<EFBFBD>殑䓃婧繛俓<EFBFBD>那趕yv俾<EFBFBD><EFBFBD>跁詌宖阼<EFBFBD>覗𣉖<EFBFBD>蓛痶yv赹尰旃<EFBFBD>辶獄釜v桑<EFBFBD>葾棦<EFBFBD>欻祳䓃婤葌秊褁詈腲v摍倳睧靷覕㶈嗀旆<EFBFBD>那趕yv<EFBFBD>恮寊栱<EFBFBD>隗栫<EFBFBD>靷<EFBFBD>嵻迖㶈詑l<EFBFBD><EFBFBD>那趕迂滌yv<EFBFBD><EFBFBD>𡲢v邦興脊睧<EFBFBD>隗侲𥚕裉靷<EFBFBD>那趕辛蜀啕邲袀祳䓃奜<EFBFBD>嗖詅<EFBFBD>詑祳𤥻婭寪yv覗<EFBFBD>蜳隗嵻欸崕獄釜v閩<EFBFBD>梑曧稃<EFBFBD><EFBFBD>蓛痶藖摳<EFBFBD>藖淀yv槮摍衭<EFBFBD><EFBFBD>那趕yv蹄珆<EFBFBD>㶈奜棦<EFBFBD>辶獄馬捱釜v<EFBFBD><EFBFBD>䛐v邢掬迆葆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>递v迂簣<EFBFBD>孕yv<EFBFBD><EFBFBD>递v邦興<EFBFBD>倯<EFBFBD><EFBFBD>恮寊栱<EFBFBD><EFBFBD>蜞痻䓃奜輇v唱眈詅㶈俜<EFBFBD>那趕辛蜀擄拹頍<EFBFBD>箏邴崕獄釜v試豽䓃奜<EFBFBD><EFBFBD>葐嗈詒旃䓃<EFBFBD>萹俅<EFBFBD>棦辶獄馬捱釜v<EFBFBD><EFBFBD>䛐v邢掬迆葆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>递v迂簣<EFBFBD>孕yv<EFBFBD><EFBFBD>递v邦興<EFBFBD><EFBFBD>葾𧄍馹俉葮旃<EFBFBD>辶獄馬捱釜v<EFBFBD>鱝䛐v阮倣邢掬邦躓<EFBFBD><EFBFBD>邦興閩<EFBFBD>婧<EFBFBD>那趕辛蜀棹瑵<EFBFBD><EFBFBD>蓛宖桏藖旂詅悗那趕yv竊邴<EFBFBD>怤瓬<EFBFBD><EFBFBD>隗<EFBFBD>塹棔蚐yv甀尰邲<EFBFBD>那趕yv諶棦詀<EFBFBD>玵尰旃<EFBFBD>塹葌碚<EFBFBD>葨侲珆旃yv棦𣉖<EFBFBD>阼<EFBFBD>拸詑衲<EFBFBD>棦嵻栻<EFBFBD>那趕yv桑<EFBFBD>棎<EFBFBD>苸嵻侲<EFBFBD>眝睟殑<EFBFBD>那趕辛蜀<EFBFBD>蒠<EFBFBD>粣葮嵻敊俷祳曧摳䓃<EFBFBD>衴yv眙蓅殑<EFBFBD>砢<EFBFBD><EFBFBD>珆阼衭曧<EFBFBD>嗐珇辶獄馬站劓<EFBFBD>槮<EFBFBD>寊豽䓃<EFBFBD>眙蓅咧獄釜v識尰<EFBFBD>葌<EFBFBD>槮<EFBFBD>俅詑硞龮侲栻辶獄馬站語v身獐<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧊀<EFBFBD><EFBFBD>並音<EFBFBD><EFBFBD>邦酈<EFBFBD><EFBFBD>並音<EFBFBD><EFBFBD>yv身獐<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧊀<EFBFBD><EFBFBD>並音<EFBFBD><EFBFBD>yv身獐<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧊀<EFBFBD><EFBFBD>身獐<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧊀<EFBFBD><EFBFBD>阮鄘<EFBFBD><EFBFBD>並音<EFBFBD><EFBFBD>yv辰獐<EFBFBD><EFBFBD>身獐<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧊀<EFBFBD><EFBFBD>阮鄘<EFBFBD><EFBFBD>迆<EFBFBD><EFBFBD><EFBFBD>迆<EFBFBD><EFBFBD><EFBFBD>迂滌yv<EFBFBD>䣳䛐v<EFBFBD>𤟠句v釆噩邦興<EFBFBD><EFBFBD>辶獄馬捱<EFBFBD>
|
||||
Binary file not shown.
|
|
@ -1 +0,0 @@
|
|||
>;Taaja>;m~rmt~<7E>aaimwrzaaaamvu>;Taajb>;m~rmt~<7E>aaimwrzaaabmvu>;Taajc>;m~rmt~<7E>aaimwrzaaacmvu>;Taajd>;m~rmt~<7E>aaimwrzaaadmvu>;Taaje>;m~rmt~<7E>aai>;mw}{aeibkaajf>;mwrzaaaemvu>;Taajf>;mw}{aidakaajg>;mt∥cabkabackaaaa>;mr∥daakaaaakaaac>;mwrzaaaemvu>;Taajg>;mt~∥abbkaaagkaagb>;mt~∥abbkaaahkaahh>;mt∥cabkabackaaaa>;mr∥daakaaaakaaac>;mwrzaaaemvu>;Tabaa>;mw}{aeiakabab>;m<zmо<6D>abbmu∥baamwraaaem<65>raaagkaajekabhbkaabh>;Tabab>;m<zm~зm<D0B7>ホ・Qィ<51>盜・Q<EFBDA5>。漫Rmumvu>;Tacaa>;mw}{aeibkacac>;m|v確о<E7A2BA>aedmw}\aeibmt∥cabkabackaaaamt~<7E>aaamr∥daakaabakaaaam<61>zaacam~隔aaacm<63>zaefa>;mt~<7E>aaem<65>zaafa>;mt∥cadkaaajkaaaam<61>zaafa>;mt~<7E>aaamr∥daakaacbkaaaam<61>zaaiamt~<7E>abb>;mt∥cadkaabckaaaam~зm<D0B7>ノwrtaabeyヲォォ貯Rmumv<6D>acae>;Tacab>;Tacac>;m<zm~зm<D0B7><6D>>;□ィ魅Q率沐・國泅沽Q泛」梺撈ェ_mumvu>;Tacad>;m|v確t∥cadkaabckaaaamr∥cadkaacakaaaem<65>zabea>;m<>zabaamt~<7E>a1f>;m~зm<D0B7><6D>>;w<>ヲ<EFBFBD>・Q<EFBDA5>覧Qs喋」<E5968B>漏m<E6BC8F>zabeamu>;mt~<7E>aaimw}^aeiamw}\aeicmw}\acbfmvu>;Tacae>;mr∥cadkaadakaaaamt~<7E>aaemt∥cadkaadgkaaaamsмacadmw}\aeiamvu>;Tacfa>;m|v確~зm<D0B7>ヤ箕・圈浪ヲ。___mumvu>;Tadaa>;mw}{aeidkadad>;mw}{aeibkadab>;m|v確~зm<D0B7>ビQ」<51>蕩・___p>;z・Q腹巳盜・Q、末朮・<E69CAE>Q剪ァ鵬帖ェ>;。<>ィ魅_mumvu>;Tadab>;m<zmw}{aeickadac>;m~зm<D0B7>ホ・、Q剿瀦Q圖Q湯、剿媛圈_mumvu>;Tadac>;m|v確<76>zaafa>;mt∥daakabajkaaae>;mr∥daakaabakaaae>;m~郭adaam<61>zaafam~隔adaamw}\aeidmw}\aeifmw}\aeie>;m~зm<D0B7>ュyr|Q橿<51>Q<EFBFBD>Q〉害橿<E5AEB3>srt|]>;zQtrQ~r|vQrQs~sRmumvu>;Tadad>;mw}{aeigkadbd>;mz<6D>aabbkadba>;mv<6D>adaf>;Tadaf>;m|v確~зm<D0B7>ピホxQ~vQntyrフr}n]>;n{v}}学zиQ{<7B>tvn]>;ruQnx<6E>Qsrёn_mumvu>;Tadba>;mz<6D>aaaikadbbmv<6D>adaf>;Tadbb>;mz<6D>aabckadbcmv<6D>adaf>;Tadbc>;m|v確w}\aeigmz<6D>aabbmz<6D>aabc>;mw}\accb>;mv<6D>adfa>;Tadbd>;m|v確~зm<D0B7>ホXuQwwvゲ橿<E382B2>о~vQ<76>r]Qs<51>___mumvu>;Tadfa>;mv<6D>aagd
|
||||
|
|
@ -1 +0,0 @@
|
|||
-*CPPYP-*\mna\cmuPPPP\faiPPPP\end-*CPPYQ-*\mna\cmuPPPP\faiPPPQ\end-*CPPYR-*\mna\cmuPPPP\faiPPPR\end-*CPPYS-*\mna\cmuPPPP\faiPPPS\end-*CPPYT-*\mna\cmuPPPP\faiPPPT\end-*-*CPQPP-*\key\fljQUVTZPQPQ\souPPQQ\anpPQPPZPPPPZPPPR-*\faoPPPT\traPPQVZPPYTZPPSRZPPPR-*CPQPQ-*\pri\msgi如酪雑如署<E5A682>A\nod\end-*CPRPP-*\fljRTPVZPPPQ\fljQUVTZPQPQ\fljQPTRZPRPQ-*\key\mybPPPR\waiPPRP-*\msgh<67>N\nod@t<>如ヨ<E5A682>濡邸庶嫌@<40>叩水署桁-*莱蝿@″糸悼¨\nod@w<>@糸<>邸鉛L@忠㊧農\nod\clo\end-*CPRPQ-*\pri\fljRTPVZPPPQ\flKRTPV\souPPRR\cnpPRPPZPPRQZPPPP\evePRPR-*CPRPR-*\evePPXS-*CPTPP-*\key\mybPPPR\waiPPRP-*\itjPPSSZPTRP-*\fljQUVRZPTQQ-*\fljQUVQZPTPS\msgy助@㍼如棟劫@u悼糸涛@莱蝿@劫_\ynjPTPQ\clrh∴A\nod-*i@э浮如蝿#N\nod\end-*CPTPQ-*\key\msgh<67>M<EFBFBD><4D><EFBFBD><EFBFBD>@b刔L@蝿<>N\nod\end-*CPTPR-*\key\flKQUVQ\msgh浩\nod@a克<61>堰_\nod-*h女@@<>君\nod\evePTPS-*CPTPS-*\key\msgw<67>鍬@蝿<>N@d宗剌鼻浴飼@劫@拍-*㊨妹@剌<> 蝿<>m蕪<6D>緒后b>㊤_\ynjPTPX\evePTPT-*CPTPT-*\key\msgb部@猿@着′鉛儉@剌鼻э雑<D18D>-*着′嫌@浴飼@鉛L@忠㊧農\ynjPTPU\evePTPX-*CPTPU-*\key\msgy助@浴飼@鉛@蝿#@黒ヨ_\ynjPTPY\evePTPV-*CPTPV-*\key\msgy助@浴飼@鉛@≠棟剣賠嫌@随悼秤妹嫌-*誌@香粕<E9A699>@来#_\ynjPTPY\evePTPW-*CPTPW-*\key\msgb部@着′嫌@剌鼻э雑如浴飼-*鉛L@忠㊧農\ynjPTQP\evePTPY-*CPTPX-*\key\msgr<67>血兩@o求儂\nod\end-*CPTPY-*\key\msgy<67><79>@来宗糸<E5AE97>邸鉛NNN\nod\end-*CPTQP-*\key\msgf猿<66>@<40>着@剌鼻㍼A\nod\clr\gitQPSS\itKPPSS\flKQUVR\clr-*\cmuPPQPg諸@蝿<>]m蕪<6D>緒后b>㊤]N\waiPQVP\nod\rmu\end-*CPTQQ-*\key\msgb囹囹囈N\nod\end-*CPTRP-*\key\msg\tur\gitQPSSs<53>羅А<E7BE85>后蝿<E5908E>]m蕪<6D>緒后b>㊤]N\gitPPPP\clr-*\msg\tur\cmuPPPTd怨AA\nod\clo\flKQUVT-*\cnpPUPPZPSQSZPPPP\waiPPPR-*\anpPUPPZPQPPZPPPP\dnpPTPP-*\bslPUPP\end-*CPUPP-*\key\cmuPPPP\anpPUPPZPUPPZPPPU\waiPQUP-*\msgy助@莱晒NNNNN\nod\clr\flMQUVT\dnpPUPP\evePUPQ-*CPUPQ-*\evePPXT
|
||||
Binary file not shown.
|
|
@ -1,2 +0,0 @@
|
|||
-::C:FWXKFMW_:::BFPKS::::FPVT<>;=D::C@FOXN-::C;FWXKFMW_:::BFPKS:::;FPVT<>;=D::C@FOXN-::C<FWXKFMW_:::BFPKS:::<FPVT<>;=D::C@FOXN-::C=FWXKFMW_:::BFPKS:::=FPVT<>;=D::C@FOXN-::C>FWXKFMW_:::BFPKS:::>FPVT<>;=D::C@FOXN-::C@FMWZ:::<D::<;D::::FMWZ:::=D::<;D::::FOXN-::CCFUOcFWXKFMW_:::BFKXZ:<::D:::;D::::FPKS:::>FMXZ:=:;D:;;<D:::<FaKS:;::FKXZ:<::D::::D::::FWcN::::FNXZ:=:;F]WMFPVT<>;=D::C@FOXN-:;::FUOcF]Y_::;;FKXZ:;::D::::D:::<FPKY::::FWcN::::F^\K::=CD::C:D:;CAD::;>-:;;:
|
||||
FUOcF]Y_::;;FKXZ:;;:D::::D:::<FPKY:::<FWcN:::<F^\K::>>D::C<D:::<D::;=-:<::FO`O:<:;-:<:;FUOcFW]QF^_\Ny*ペ*〔x~*~y*qy*~y*K|~r|1}ry}oIFcXT::::FMVYFMXZ:=::D:;;;D:::<FRWMFaKS::@:FKXZ:<::D:::;D::::FaKS:;::FPKY:::>F^\K:::;D::CCD:::?D:::B-:=::-:=:;-:?::FUOcFWcN:::<FMW_::::FPKS:::<FPVKF]Y_::<CFaKS::?:FW]QIFXYNFMVYFKXZ:?::D::;:D::::FaKS:;=:F]Y_::<=FaKS::<:FMW_:::BFPV7:?<=FPV5:A>:FNXZ:?::FOXN-:?:;FUOcF]Y_::<<FPVT:A>;D:::;FPV5:A>;FMXZ:?:;D::<;D::::FO`O:?:<-:?:<FO`O::@B
|
||||
Binary file not shown.
|
|
@ -1 +0,0 @@
|
|||
IF_llulIFx墛}x墤llmux倉卨lllx亰€IF_llumIFx墛}x墤llmux倉卨llmx亰€IF_llunIFx墛}x墤llmux倉卨llnx亰€IF_lluoIFx墛}x墤llmux倉卨llox亰€IF_llupIFx墛}x墤llmux倉卨llpx亰€IF_lmllIFx寧厁倉媗llpx悗}llmlvllupvlnnnvllonIF_lnlnIFx倛唋rpmvlnlox寧厁墢儏癨倡猚癨<E78C9A>—jjjx妺€x亰€IF_lnloIFx寧厁倉媗lllx悗}llotvllulvlloqvllmoIF_lnlpIF_lnlqIF_lollIFx寧厁弸憀lnnx€妼lollx亽乴olmIF_lolmIFx亽乴lmpIF_lpllIFx噥晉}妼lqlmvllmlvlllnx墤llllx墢僝]x妺€x垘jjjjjx妺€x垘叞\ǐ<>痋ēА\但盶ぅ癨挨<E799A8>F.<46>獱jx妺€x垘摛‘<E6919B>ク\挨ク\<5C>潫<EFBFBD>x妺€x垕IFx墪€lllnIFx墛}x倉卨llmx搣卨lqlx€妼lqlmx弶x搣卨mllx墤llmux倛gnpmox亰€IF_lplnIFx噥晉倛唋rpmvlplox墢儀悜巰玕但盶碀<E79BB6>\矮\<5C>—\挨<>牜<EFBFBD>{x晩唋lllx垕IFx倛glrpmIFx倠妉nlnvllrpx搣卨mqlx弸憀lpoIFx}妼lnlpvllmlvllllx搣卨lltx}妼lqlnvllllvlllnIFx}妼lnlqvllmlvlllnx搣卨lntIFx}妼lqllvllllvllll<搣卨mllIFx€妼lnlpx€妼lnlqIFx倠塴lonx搣卨mllIFx倠塴lmrIFx€妼lqllx€妼lqlnx墪€llllx亰€IF_lploIFx噥晉墢儛ぁ\牜<>\ク\<5C>—jx妺€x亰€IF_lpmlIF_lqllIFx寧厁墢儏\灐癨墺<E799A8><E5A2BA>\矮<><E79FAE>\但盜F牜唱\ぁ<>jx妺€IF暙盶<E69A99><E79BB6>\挨オ<E68CA8>jjx妺€IF悿ク\ク\挨<>ク<EFBFBD>獱c痋爱澂<E788B1>ぁ潿jx妺€IF嫪煛\但盶!癨オhIF但盶<E4BD86>病甛!癨<EFBC81>癹jjx妺€x亰€IF_lqlmIF_lqlnIFx寧厁墢儛ぁ\<5C>グ煠\挨澃\<5C>—痋挨クIF牜<46>\ク\<5C><><EFBFBD><EFBFBD>\矮\灐\爆\矮琁F<E79081><46>长‘<E995BF>x妺€IF~卑\挨<><E68CA8><EFBFBD>オ<EFBFBD>痋爱<E7978B>У\爆IF挨‘<E68CA8>x妺€IF匼ⅰè\<5C>‘\潽燶<E6BDBD>‘\潱潵狪F豹哎╘匼灝<E58CBC><E7819D>┑\ā/jx妺€x亰€IF_lqloIFx寧厁墢儛ぁ<E5849B>\ク\<5C>\<5C><>礿x妺€x亰€IF_lrllIF_lrlmIFx噥晉墛}x墤llmuIFx}妼lrmlvlllmvllllx倉卨llpIFx妼lrlmvlmmnvllllx搣卨mllIFx}妼lrmlvllllvllllIFx墪€llllx€妼lrlmx弶x亰€IF_lrmlIFx噥晉倛glnpoIFx妼lrllvlmmmvlllnx剦x搣卨lrlx}妼lrmlvlllmvllllIFx搣卨mllx倉媗llpx悗}llmlvlrlmvlnomvllorIFIFIFIF
|
||||
|
|
@ -1 +0,0 @@
|
|||
EB[hhqhEBt<42>yt{<7B>hhjhty<74>hlhhrhhjhrhhhjt~y”hhht~рhopjrhhqqt}<7D>EB[hhqiEBt<42>yt{<7B>hhjht~y”hhit}<7D>EB[hhqjEBt<42>yt{<7B>hhjhty<74>hlhhrhhjhrhhhjt~y”hhjt~рhopjrhhqqt}<7D>EB[hhqkEBt<42>yt{<7B>hhjht~y”hhkt~рhophrhhqqt}<7D>EB[hhqlEBt<42>yt{<7B>hhjht~y”hhlt~рhophrhhqqt}<7D>EB[hhqqEBt{<7B>hhhorhhkmrhhhhEBt{<7B>hhhprhhkmrhhhhEBt{<7B>hhjnrhhkirhiiiEBt}<7D>EB[hihhEBt<42>》~рhonlrhihit<69>t訣葛ァ・擣<EFBDA5>。ヲ盜、飭沱X勗弭<E58B97>撕ョアX圖ァ屮ォEBャ<42>拗悸ァェッ匈ft<66>|t}<7D>EB[hihiEBt<42>》~y㍗hhht穴yhhllrhhqlrhhihrhhilEB[hiihEBtマ奏~рhopirhiiiEBt窮紘hiity<74>hiihrhhhhrhhhjt~y㍗hhjt穴yhhlnrhhqjrhhhkrhhhqEB[hiiiEBt~<7E>hopht~<7E>ho8iEBt窮紘hiity<74>hiihrhhhhrhhhjt~y㍗hhjt穴yhhlnrhimhrhhhkrhhhqEB[hkhhEB[hkhiEBtマ奏<E3839E>yt{<7B>hhjhEBty<74>hkihrhhhirhhhht~y”hhlEBt{<7B>hkhirhiijrhhhjt准”ihhEBty<74>hkihrhhhhrhhhhEBt<42>|hhhjt|<7C>hkhit球{EBty<74>hlhhrhhjhrhhhjt~рhopjrhhqqt}<7D>EB[hkihEBtマ奏~<7E>hojht{<7B>hkhhrhiiirhhhht<74>t准”hnhty<74>hkihrhhhirhhhhEBt准”ihht~y㍗hhlt穴yhhljrhkhirhhjnrhhhmEB[hkkhEBt<42>》~рhopjrhkkit<69>息ュXォ撈X儿坏ャャァヲft<66>|t窮紘hlkt{шt<D188>穐抬ォ撩X。ャft<66>|t{хEBt~<7E>hopjEBt准”hmhEBt窮紘hoiEBt{<7B>hhhorhhkmrhhhhEBt{<7B>hhhprhhkmrhhhhEBt{<7B>hhjnrhhkirhiiiEBt准”hmht}<7D>EB[hkkiEBt<42>》<EFBFBD><EFBFBD>擱ffft<66>|t}<7D>EB[hlhh
|
||||
|
|
@ -1 +0,0 @@
|
|||
nk剳憵憂k澁<EFBFBD>潳<EFBFBD>憫憮潷ⅹ憫憫潶<EFBFBD>nk剳憵抧k澁<EFBFBD>潳<EFBFBD>憫憮潷ⅹ憫憭潶<EFBFBD>nk剳憵搉k澁<EFBFBD>潳<EFBFBD>憫憮潷ⅹ憫憮潶<EFBFBD>nk剳憵攏k澁<EFBFBD>潳<EFBFBD>憫憮潷ⅹ憫憯潶<EFBFBD>nk剳憵昻k澁<EFBFBD>潳<EFBFBD>憫憮潷ⅹ憫憰潶<EFBFBD>nk剳拺憂k潿<EFBFBD>澊岸憫拻潰<EFBFBD>憭憫洃憫憶憫憮潷<EFBFBD>憫憫澁亥憫憫nk潷<EFBFBD>憳憯洃拺抧k澋尝憫敋洃憵暃憫檿洃憭杗k剳拺抧k潷瓕憳憰澋尝憫敋洃憵暃憫檿洃憭杗k剳拺杗k潿<EFBFBD>潷<EFBFBD>憫憰澋尝憫敋洃憵暃憫殥洃憭搉k剳搼憂k潿<EFBFBD>澁川瞪苼乌哉朴市衷佊忻姓峮k<EFBFBD>显掌觼箯弿澂哎nk盒钟伳陕夏苼招伮照履蘮k试佖善蟻收詠陕漳蓙醒葡詮澂哎潶<EFBFBD>nk剳攽憂k潿<EFBFBD>澁川澋冻獔蝸聛焉谠誓事蠌澂哎nk┢悠崄推諄纹佊魄释蛠谛钟伾坡驼蓮澂哎潳<EFBFBD>澀獙拺憫澊岸憫搼nk潽但憫挆洃攽搉k潷<EFBFBD>憳憫洃攽挐Л寫槕憹涪獞憱憹Ψ<EFBFBD>攽杗k剳攽抧k潿<EFBFBD>澁川瞪苼耐氏誓伿韵堈佌行伹掠彎<EFBFBD><EFBFBD>kㄐ佂行虂切觼孕纹佄婆誓氏苼丈抡nk托刑詠衷旅推彎<EFBFBD><EFBFBD>Ο<EFBFBD>k剳攽搉k潿<EFBFBD>澁川潽祹憫挆潷瓕憳憮潷瓕憳棏潷瓕憳憯nk潹<EFBFBD>拺挆澋冻┞吓婆佇灼觼丈苼灓钟茙⑼蜑彎<EFBFBD><EFBFBD>Ο<EFBFBD>k剳攽攏k潿<EFBFBD>澁川<EFBFBD>馅佌陕咸詮澂哎nk<EFBFBD>哉佂普佄苼陕吓推佌善佊圃諒澂哎潶<EFBFBD>nk剳攽昻k潿<EFBFBD>澁川<EFBFBD>刑詠褪唐佌善佄婆誓氏茍詎k匦犹氏葟澂哎nk瓷茍屯伱苼寐奶伿蟻履帐邢伿蟦k闲佌饰茝澂哎nk⑼蛠丈孪淘佌衼谛謲佇莵男钟云彎<EFBFBD><EFBFBD>Ο<EFBFBD>k剳攽杗k潶乏憫棙nk剳敀憂k潷<EFBFBD>憳憰洃敀攏k潷<EFBFBD>憳憮洃敀搉k潷<EFBFBD>憳憭洃敀抧k潿<EFBFBD>澁川獔蝸聛现釉茝澂哎nk獊衷婆佌衼匦犹伿蟻丈苼型舗k耐氏誓佅坡用趰澂哎nk弥諄收佖略佋剖燮艁泌伻尚哉詬nk孪艁獊峭婆伾朴茝澂哎潶<EFBFBD>nk剳敀抧k潿<EFBFBD>澁川⒂苼谛謥聛怯势吓佇莵善釉牆<EFBFBD><EFBFBD>k<EFBFBD>佢兄伳a悠伮眯终伾朴崄獔舗k屡资云佢兄佌衼判伮詠丈苼判恼杏nk月谠彎<EFBFBD><EFBFBD>Ο<EFBFBD>k剳敀搉k潿<EFBFBD>澁川ㄐ信佀忻彎<EFBFBD><EFBFBD>k盒謥攀畔堈佋破伮馅伻尚哉詬nk攀艁谛譅澂哎潶<EFBFBD>nk剳敀攏k潿<EFBFBD>澁川吧崄攀艁谛謥男纹佌衼纳颇蘮k盅佇蟻丈抡伻视蜖澂哎潳<EFBFBD>瓷苼仄险佇乔佌胸掠旁佌善nk儯兄团朴仱陕蚊朴儚澂哎潶<EFBFBD>nk剳敁憂k潷<EFBFBD>憳憮洃敁搉k潷<EFBFBD>憳憭洃敁挐Л寫槕抧k潿<EFBFBD>澁川潷ⅳ憫挌吧崄善趥澂哎潳<EFBFBD>┞灼蠄諄云葡伜岸伿蟦k聛厣释茝澂哎nk盒謭悠佂行淌先伻行艂澂哎潳<EFBFBD>瞪抡佖收纳佌性云艁谛謓k判叵伾朴苼招袓伷蔂澂哎nk绰纹伮詠纹倽<EFBFBD><EFBFBD>き碀Б<EFBFBD>憮懘衼谛謥仄悠蠄諄旅推佌衝k闷抡佌善蝸虑掌觼峦蛷弿澂哎nk獔艁履罩峦挖伾屡佄趤尚哑詎k切觼谛謲伱终弿彎<EFBFBD><EFBFBD>き尝吓佄茘仾佌邮婆弉k吧崄獊沼势艔澂哎nk⑾艁酥哉佂行虂厣朴苼收nk刃諄纹彎<EFBFBD><EFBFBD>き硰弿弿澂哎潳<EFBFBD>⑾艁峦蛠切觼闲丈氏葟澂哎nk<EFBFBD>佌善伷吓崄獊男滞畔堈nk月灼伮馅佇莵丈性苙k纳释庞葡彎<EFBFBD><EFBFBD>k瞪苼陨卵苼獔蝸氏佅胸峮k獊匦蠄諄闷佂坡资先nk孪谡饰苼孕邢弿彎<EFBFBD><EFBFBD>Ο<EFBFBD>k剳敁抧k潿<EFBFBD>澁川潷ⅳ憫搼獊灾幼首婆崄谄律崄弥課k闲貋厣抡牆<EFBFBD><EFBFBD>き敞制栽仾埼佀衷諄刃氏萵k招佋收伾朴苼孪艁有諒弿澂哎潶<EFBFBD>nk剳敁搉k潿<EFBFBD>澊⒌澁川潷ⅳ憫搼瞪朴茍詠邢挖佇掀佖纶nk兄諄星佌善伃旅谟氏丈彎<EFBFBD><EFBFBD>き澈兄伾伦苼招伻普佈略課k丈苼仁孪諄有奶伿蟻丈苙kP滞牌觼ど挛闷訌澂哎潳<EFBFBD>獔艁刃佖收蓙谛謲澂哎潳<EFBFBD>弥諄厥丈佌善佋章掌仾埼nk氏崄獔艁酥哉伻普伿蟦k谛钟佖纶弿彎<EFBFBD><EFBFBD>Л寫槜憹Л寫槕敐Ο<EFBFBD>k剳晳憂k潿<EFBFBD>潷<EFBFBD>憳憱洃憫挐Л寫槕枬窗稇憮摑く睉晳憶憫搾洃憫憹Ψ<EFBFBD>晳抧k剳晳抧k潶乏憫棜
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue