mirror of
https://github.com/cave-story-randomizer/cave-story-randomizer
synced 2025-12-07 13:01:48 +00:00
Compare commits
554 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 | ||
|
|
805a24e957 | ||
|
|
5dc793da97 | ||
|
|
b01b16170f | ||
|
|
88e26338c3 | ||
|
|
60e67fff49 | ||
|
|
df437f831c | ||
|
|
4620735c6c | ||
|
|
ec116e99ca | ||
|
|
d90f1a4dc7 | ||
|
|
a24f658eb7 | ||
|
|
64e2b3d3cc | ||
|
|
3ede29c4dd | ||
|
|
af52132fb1 | ||
|
|
4ff6fbaa1f | ||
|
|
c4f3d529e9 | ||
|
|
bc00557c86 | ||
|
|
e9eaf03e3f | ||
|
|
da2accd528 | ||
|
|
b2ba6ab6ad | ||
|
|
6d9014ba8d | ||
|
|
aab32e70ff | ||
|
|
af7f320336 | ||
|
|
b09dc32685 | ||
|
|
0ff62b4495 | ||
|
|
0c65ea93ae | ||
|
|
c8dccf0db1 | ||
|
|
16840aafa8 | ||
|
|
340c21cfac | ||
|
|
99787271a8 | ||
|
|
4d3e8e94c4 | ||
|
|
d3afc3d2bb | ||
|
|
ce16a31644 | ||
|
|
7c8b316da7 | ||
|
|
b97eb73d46 | ||
|
|
b59bc37911 | ||
|
|
1c4ae36950 | ||
|
|
713851b8e5 | ||
|
|
f9912ba020 | ||
|
|
be11d197dc | ||
|
|
3340f38737 | ||
|
|
35da7227bc | ||
|
|
2687db83ab | ||
|
|
c6e2043882 | ||
|
|
68b3c68d92 | ||
|
|
57871e0ef1 | ||
|
|
11139054d7 | ||
|
|
d88a81fc98 | ||
|
|
9250d162c8 | ||
|
|
fa959cc8cc | ||
|
|
dfa31bc999 | ||
|
|
bfd3ec0360 | ||
|
|
865238c697 | ||
|
|
5c7e994c45 | ||
|
|
0e7aa07a5a | ||
|
|
8c43907be6 | ||
|
|
17e3c11ec1 | ||
|
|
65746f83f7 | ||
|
|
6396bdf6a2 | ||
|
|
804a689901 | ||
|
|
a5435ab2e9 | ||
|
|
95ee38b89d | ||
|
|
0f2a6bf20e | ||
|
|
579e5e616b | ||
|
|
bb6e7cadcb | ||
|
|
28689acf2f | ||
|
|
df946dd9f5 | ||
|
|
ea50ee6ba1 | ||
|
|
0bdbd5ca96 | ||
|
|
8f887748e1 | ||
|
|
4d3d1a5bd4 | ||
|
|
97a30765bc | ||
|
|
d66885dd5a | ||
|
|
b0012063e2 | ||
|
|
001d814e50 | ||
|
|
3213125ac3 | ||
|
|
5cb16668fe | ||
|
|
8cae77890d | ||
|
|
5b8c8ca841 | ||
|
|
6ae8fceae2 | ||
|
|
b4cb568856 | ||
|
|
182f86025f | ||
|
|
4ccf7d8c75 | ||
|
|
8001def10c | ||
|
|
7bdc6961f3 | ||
|
|
4f97a323ad | ||
|
|
05ceaeb338 | ||
|
|
a68c48cd1c | ||
|
|
eac7a39817 |
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
*.tsc -text -diff
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
44
LICENSE
Normal file
44
LICENSE
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
ORIGINAL CAVE STORY RANDOMIZER PROJECT:
|
||||
|
||||
zlib License
|
||||
|
||||
© 2018-∞ shru
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the authors be held liable for any damages
|
||||
arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it
|
||||
freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not
|
||||
claim that you wrote the original software. If you use this software
|
||||
in a product, an acknowledgment in the product documentation would be
|
||||
appreciated but is not required.
|
||||
2. Altered source versions must be plainly marked as such, and must not be
|
||||
misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
|
||||
CAVE STORY RANDOMIZER [OPEN MODE] PROJECT:
|
||||
[pertaining only to the modifications made to the original project by shru]
|
||||
|
||||
zlib License
|
||||
|
||||
© 2018-∞ duncathan_salt
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the authors be held liable for any damages
|
||||
arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it
|
||||
freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not
|
||||
claim that you wrote the original software. If you use this software
|
||||
in a product, an acknowledgment in the product documentation would be
|
||||
appreciated but is not required.
|
||||
2. Altered source versions must be plainly marked as such, and must not be
|
||||
misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
28
README.md
28
README.md
|
|
@ -1,27 +1,3 @@
|
|||
Cave Story Randomizer
|
||||
=====================
|
||||
# Cave Story Randomizer [Open Mode]
|
||||
|
||||
Todo
|
||||
----
|
||||
|
||||
- Trade Sequence Step B: Require random obtainable weapon, instead of always polar star and fireball.
|
||||
- Randomize Booster v0.8 / v2.0
|
||||
|
||||
Issues
|
||||
------
|
||||
|
||||
- Infinite Items at Chaco's?!?!
|
||||
- [Speedrun] When missiles are replaced, sometimes text will exceed message box after "Opened the chest." text. (ie. https://youtu.be/PYhd9zhFdAk?t=4769)
|
||||
- Collecting the Super Missile Launcher increases your maximum missiles by 5. This does not normally happen.
|
||||
- Hell Missile Upgrade uses a unique script and won't be easy to replace.
|
||||
- Trading back the Nemesis for the Blade almost certainly will be weird.
|
||||
- Ikachan Medal aquisition happens in black screen, so it doesn't make sense to show text box as it makes the player have to mash through blackness.
|
||||
|
||||
Bugs
|
||||
----
|
||||
- Jenka gave me a life pot, but since I already had one, nothing happened. It even stayed in the same spot, instead of moving to the front.
|
||||
|
||||
Credits
|
||||
-------
|
||||
|
||||
- Font: https://datagoblin.itch.io/monogram
|
||||
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,348 +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<TURHajime<WAI9999<END
|
||||
#1101
|
||||
<MSG<TURMick<WAI9999<END
|
||||
#1102
|
||||
<MSG<TURShinobu<WAI9999<END
|
||||
#1103
|
||||
<MSG<TURKakeru<WAI9999<END
|
||||
#1104
|
||||
<MSG<TURNene<WAI9999<END
|
||||
|
||||
#1200
|
||||
<MSG<TURJenka's pet and leader of the dogs.
|
||||
While searching for his brothers, he
|
||||
got lost and was taken in by Curly.<WAI9999<END
|
||||
#1201
|
||||
<MSG<TURJenka's pet. Loves treasure-hunting.
|
||||
Or treasure *chests*, rather, and
|
||||
recently has taken up sleeping in them.<WAI9999<END
|
||||
#1202
|
||||
<MSG<TURJenka's pet. Loves dark places. Due
|
||||
to poor eyesight, he roams the darkness
|
||||
using his wild instincts alone.<WAI9999<END
|
||||
#1203
|
||||
<MSG<TURJenka's pet. Adores bones and has
|
||||
buried them in countless places,
|
||||
most of which are by now forgotten.<WAI9999<END
|
||||
#1204
|
||||
<MSG<TURJenka's pet. Spends most of her time
|
||||
asleep, but her dreams have been
|
||||
known to portend the future.<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
|
||||
<FLJ3000:1100
|
||||
<FLJ3001:1101
|
||||
<FLJ3002:1102
|
||||
<FLJ3003:1103
|
||||
<FLJ3004: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.<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.<FL+2802<END
|
||||
|
||||
#0007
|
||||
<PRI<MSG<TUR<GIT0007<AM+0007:0100
|
||||
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.<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
|
||||
#0025
|
||||
<PRI<MSG<TUR<GIT1014<FL+5005<FL+0593
|
||||
Got the last =Puppy=!<WAI0025<NOD<END
|
||||
|
||||
#0030
|
||||
<PRI<SAT<MSG<FLJ0202:0032<FLJ0201:0031<FL+0201<GIT0005<AM+0005:0010
|
||||
Got the =Missile Launcher=!<WAI0025<NOD<END
|
||||
#0031
|
||||
<PRI<AM+0005:0005<MSG
|
||||
<GIT0006Max missiles increased by <NUM0000!<NOD<END
|
||||
#0032
|
||||
<PRI<AM+0010:0005<MSG
|
||||
<GIT0011Max missiles increased by <NUM0000!<NOD<END
|
||||
#0033
|
||||
<FL+0202<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<FLJ0202: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 <NUM0000!<WAI0025<NOD<END
|
||||
#0037
|
||||
<PRI<AM+0010:0024<MSG<TUR<GIT0011Max missiles increased by <NUM0000!<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
|
||||
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-0001
|
||||
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>
|
||||
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
|
||||
Binary file not shown.
|
|
@ -1 +0,0 @@
|
|||
NKdqqzqNK}<7D><><EFBFBD>騡qqy}<7D>𧣈qqq}<7D><>KdqqzrNK}<7D><><EFBFBD>騡qqy}<7D>𧣈qqr}<7D><>KdqqzsNK}<7D><><EFBFBD>騡qqy}<7D>𧣈qqs}<7D><>KdqqztNK}<7D><><EFBFBD>騡qqy}<7D>𧣈qqt}<7D><>KdqqzuNK}<7D><><EFBFBD>騡qqy}<7D>𧣈qqu}<7D><>KdqrqqNK}<7D>𡁸twr{qrqtNK}<7D>𡁸twq{qrqsNK}<7D>𡁸qqu{qrqrNK}<7D>鵉<EFBFBD>騡qrr}<7D>鰌rqq{qqqq{qqqsNK}<7D>釄qqu}<7D><>qrr{qqzu{qqus{qqvsNKdqrqrNK}<7D>㧻<EFBFBD><E3A7BB>琦萼疲琦停旬b}<7D><><EFBFBD><EFBFBD>KdqrqsNK}<7D>鵉<EFBFBD>釄qqu}<7D><>qrr{qqzu{qqus{qqvsNKdqrqtNK}<7D>㧻<EFBFBD><E3A7BB>偉a丐疲琦雀畜}<7D><><EFBFBD><EFBFBD>KdqrvqNKdqrvrNKdqrvsNKdqrvtNKdqrvuNKdqszqNK}<7D>𡁸qqu{qszr}<7D><>KdqszrNK}<7D>𡁸twq{qqqq}<7D>㧻<EFBFBD>ǘ<EFBFBD><C798>qqy𡾞榦a滌軸b}<7D><><EFBFBD>鰌szq}<7D>𩹨qqq{qqwt{qqqs}<7D><>KdquqqNK}<7D>鵉<EFBFBD>nqtwr}<7D>nqtwsNK}<7D><><EFBFBD>鰌uqq{qqrs{qqqq}<7D>鰌uqq{qqsq{qqqu}<7D>𧣈ruqNK}<7D>㧻<EFBFBD>ǘ<EFBFBD><C798>qqv䬬斯a滌軻腺玥b}<7D><><EFBFBD><EFBFBD>qqq}<7D>鵉<EFBFBD>𨍥K}<7D>𧣈rqq}<7D>騡qrvNK}<7D>𠃊K墖隅延a飢吧<E9A3A2>韋馬b}<7D>𧣈ruq}<7D><>K}<7D>騡quv}<7D>鰌rvq{qqqr{qqqq}<7D>𧣈qquNK}<7D>騡quv}<7D>鰌rvr{qqqr{qqqq}<7D>𧣈qquNK}<7D>騡quv}<7D>鰌rvs{qqqr{qqqq}<7D>𧣈qquNK}<7D>騡quv}<7D>鰌rvt{qqqr{qqqq}<7D>𧣈qquNK}<7D>騡quv}<7D>鰌rvu{qqqr{qqqqNK}<7D>騡qqy}<7D><>KdqvqqNKdrqqqNK}<7D>鵉<EFBFBD>lqtwq}<7D>lqtwr}<7D>lquuq}<7D>nqtsw}<7D>ǘ<EFBFBD><C798>戌戌收b}<7D><><EFBFBD><EFBFBD>8地恩ma揣椰a恩bb}<7D><><EFBFBD>㺸oooo}<7D><>隆<EFBFBD>}<7D><><EFBFBD><EFBFBD>qqs}𦵑𧣈qtq}<7D><>qqs}<7D>𩹨qqq{qqwq{qqqu}<7D>𤛔<EFBFBD><F0A49B94>qqw黱逸釵ooo滌逸釵a秣煮K葵筒a筒地<E7AD92>今偃<E4BB8A>}<7D><><EFBFBD><EFBFBD>奔a𤺧家敦陶榣}<7D><><EFBFBD>𨍥K}<7D><>qqq}<7D>騡qqqNK}<7D><>qtq}<7D>騡qswNK}<7D>𩹨qqq{qqqy{qqqqNK}<7D>鰌rqq{qqqr{qqqqNK}<7D>𧣈qrqNK}<7D><>qqqNK}<7D>𩹨qqq{qqwq{qqqqNK}<7D>𧣈rqqNK}<7D><>qtq}<7D>騡qswNK}<7D>𩹨qqq{qqqy{qqqqNK}<7D>鰌rqq{qqqr{qqqqNK}<7D>𧣈qxqNK}<7D><>qtq}<7D>騡qswNK}<7D>𩹨qqq{qqqy{qqqqNK}<7D>鰌uqq{qqrz{qqqsNK}<7D>鰌rqq{qqry{qqqsNK}<7D>鰌qqu{qqqy{qqyqNK}<7D>鰌qqv{qqqy{qqyrNK}<7D>鰌qqw{qqqy{qqysNK}<7D>鰌qqu{qqqz{qqzwNK}<7D>鰌qqv{qqqz{qqzxNK}<7D>鰌qqw{qqqz{qqzyNK}<7D>ǘ<EFBFBD><C798>飩誥奔}<7D>𧣈qvq}<7D>鰌uqq{qqrs{qqqs}<7D>鰌uqq{qqtq{qqqs}<7D>𨬌<EFBFBD>鵉<EFBFBD>騡qrrNK}<7D>鰌vqq{qqwx{qqqs}<7D>𧣈rqq}<7D>鰌vqq{qqrt{qqqs}<7D>𧣈qvq}<7D>𩹨qqq{qqqy{qqqqNK}<7D>ǘ<EFBFBD>𤛔<EFBFBD><F0A49B94>qrw<72>恩a╲偺皂a秣罪}<7D><><EFBFBD>𨍥K}<7D>鰌vqq{qqrv{qqqs}<7D>𧣈rrqNK}<7D>鰌vqq{qqsq{qqqsNK}<7D>𧣈qvqNK}<7D><>qqv}<7D>ǘ<EFBFBD><C798>軒萱6h徨滌雲a它╲<E5AE83>}<7D><>K黱軻辰秤糎妒貝琦恩a葵筒NK筒6a筒狗<E7AD92>}<7D>𡅈qqr}<7D>鰌uqq{qqtq{qqqs}<7D>幞K}<7D><>qru𨉖炫次a玥b}<7D><><EFBFBD>𨍥K}<7D>lqtwr}<7D>騡qqu}<7D>鰌uqq{qqwy{qqqs}<7D>惗uqq}<7D><>KdrqqrNK}<7D>鵉<EFBFBD>nqtws}<7D>nqtwr}<7D>騡qqy}<7D>ǘ<EFBFBD><C798>qqv黇妯}<7D><>K<EFBFBD>苔釭貝痠a揭地滯a筒旬o}<7D><><EFBFBD>𨬌<EFBFBD>鰌uqq{qqrq{qqqs}<7D><>
|
||||
|
|
@ -1 +0,0 @@
|
|||
啌摐損m煯<EFBFBD>煩瘣敂湏煩瘣敂湐煩瘞敂湑煱堡煢案摀枔煩が摀摀煥抱pm啌摐攑m煯<EFBFBD>煩瘞敂湏煩瘣敂湐煩瘣敂湑煱堡煢案摀枔煩が摀摂煥抱pm啌摐昿m煯<EFBFBD>煱堡煢案摀枔煩が摀摃煥抱pm啌摐杙m煯<EFBFBD>煱堡煢案摀枔煩が摀摉煥抱pm啌摐梡m煯<EFBFBD>煩瘣敂湏煩瘞敂湐煩瘣敂湑煱堡煢案摀枔煩が摀摋煥抱pm啌摐榩m煯<EFBFBD>煩が摀摋煥抱pm啌敁損m煯<EFBFBD>煻哺摀敂煠背摂摀潛摀摑摀摃煩げ摀摉pm煬翻摀晼潛敁敓返<EFBFBD>摍枬摀湒潛摀湞摀摋pm啌敁攑m煯<EFBFBD>煼丹摀櫄潛摐枬摀摐潛摀梡m啌敂損m煶惮煩げ摀摃煼丹摀櫁潛摐暆摀摂潛摂攑m啌敃損m煯<EFBFBD>煠背摂晸潛摀摑摀摃煻哺摀敂煩げ摀摋煼丹摀櫃潛摐棟摀敁潛摀沺m啌敄損m煶惮煱丢匪讨冃刂變湃冏巳兯认唐矣兹誴m敦葍难莾姿葍易巳罩兤男葍萄円褢憫煴钵煥抱pm啌敎減m煶惮煱丢碧c葍鸵艖煴钵煥抱pmpm啌晸損m煯<EFBFBD>煱姬摀摀煣背摃摀熀ざ煱丢ぱ軆韶兆巳諆难莾芤貖杖pm室萄蕛滓兩南蟿煴钵煥抱pm啌晸攑m煶惮煱丢煼傅pm儍儍儍儍儍儍帆し姸儰<EFBFBD>弮┎<EFBFBD>秳煴钵煥抱pm啌晹損m煶惮煩<EFBFBD>敂湐潛晹敓┋瓟敎暆摃敃pm煶惮煩げ摀摋煱姬摀摃熀が摀槗煼丹摀檿潛摐槤摀摎潛摎梡m啌晹攑m煶惮煩げ摀摋煱姬摀摃熀が摀槗煼丹摀檿潛摐槤摀殰潛摎杙m啌晹昿m煶惮煩げ摀摋煱姬摀摀熀が摀槗煼丹摀檿潛摐槤摂敋潛摍昿m啌枔損m煬翻摀枩潛枔暉ü〒枔攑m啌枔攑m煯<EFBFBD>煱讥摀摀煱丢煩う摀晹瑑谝褗變耪饶蝺姿讨兣恼仗日pm匮滋蟽芤貎耪萄蕛腥兌厝兩找衟m姿葍ㄊ蕛σ照糖艺兡謨谌舷兡謕m姿葍煪<EFBFBD>敁枩牞找褍ヒ亚爠pm啌枔昿m煩<EFBFBD>暃摀潛枔枱ü〒枔攑m啌枔杙m煯<EFBFBD>煩<EFBFBD>煣堡摀敄煻哺摀枠熀が摀晿煥抱
|
||||
|
|
@ -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 @@
|
|||
@=Vcclc@=o€<6F>tov€<76>ccckoyt|ccccox<6F>w@=Vccld@=o€<6F>tov€<76>ccckoyt|cccdox<6F>w@=Vccle@=o€<6F>tov€<76>ccckoyt|ccceox<6F>w@=Vcclf@=o€<6F>tov€<76>ccckoyt|cccfox<6F>w@=Vcclg@=o€<6F>tov€<76>ccckoyt|cccgox<6F>w@=Vccll@=ov€<76>ccckoyt|cccgox<6F>w@=Vcdcd@=o<>…|ov<6F><76>cdcdmccccmcccco†‚<E280A0>ccddoyt‚cccfo‡…tccdfmcclfmccdcmcccf@=Vcdce@=o<>…|oy}cfcemcdcgoy}cfcdmcdcfo€†zrTo<54>‚wox<6F>w@=Vcdcf@=o<>…|oyt‚ccce@=oy^c3ceoy^digdoy^dige@=o€Śwccceo‡…tccddmcfcemccckmccci@=Vcdcg@=o~xŚoyt‚ccceo‡…tccddmcclgmccckmccci@=Vcddc@=o~xŚoyt‚cccgo‡…tcclcmcclemcccjmcccl@=Vcdhc@=o~xŚo€Śwccccov€<76>ccckoyt|cccg@=oŠt|ccfc@=o†‚<E280A0>ccdeov€<76>cchcmccfhmccijoŠt|ccec@=o†‚<E280A0>ccdeov€<76>cchcmccfimccijoŠt|ccec@=ox<6F>w@=Vcecc@=ox<6F>w@=Vcecd@=ox<6F>w@=Vcgcc@=o<>…|o†‚<E280A0>cceeow<6F><77>cgccox‰xcgcd@=Vcgcd@=ox‰xccde
|
||||
|
|
@ -1 +0,0 @@
|
|||
0==F=IZ[NIPZb==>?ISNV====IR[Q0==F>IZ[NIPZb==>?ISNV===>IR[Q0==F?IZ[NIPZb==>?ISNV===?IR[Q0==F@IZ[NIPZb==>?ISNV===@IR[Q0==FAIZ[NIPZb==>?ISNV===AIR[Q0=>==I]_VISN\====Ia_N==>>G==F=G==BCG==@@0=>>=IXRfI`\b==>>IN[]=>>=G====G===?ISN\===AIa_N==E@G==FAG===DG==>=0=?==I]_VISYW>@D>G=?=>IZ`TfrnuL-dunqqn†n-„n{<7B>LI[\QIR[Q0=?=>I]_VIZ`Tf|‚-€n†-z†-„vsr4€-y||xv{4s|-zrLI[\QIPY_
frnu9-†|‚4r-vtu<74>9I[\QV-nv{4<>-orr{-u|zr-v{-n-„uvyr;I[\QNvtu<74>9-<2D>vzr-<2D>|-t|;I[\QITVa>=@?IQ[]=?==IPY_f|‚4r-t|{{n-<2D>nxr-zr-<2D>urr9|s-p|‚€rLI[\QIRcR=?=?0=?=?IRcR==E?0=@==IP[]=@==G====G====ISYW=@F=G=@=?ISY8=@F=IRcR=@=>0=@=>IRcR==B>0=@=?I]_VIZ`TN<4E>u‚4€-tn<7F>r;I[\Qaurr4€-„v<7F>v{t-|{-<2D>ur<17>|zo€<6F>|{rGI[\QIPY_IZ`TIab_Urr-€yrr}€-<2D>ur-{|oyr-N<4E>u‚9<17>‚r-ur|-<2D>|-<2D>ur-Zvzvtn€;I[\QIPY_IR[Q
|
||||
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>IFxュ人lllxhgmlnox£〕mlnIF_lmlnIFx〟富暑鼠lmmx}褐lmllvllllvlllnx<6E>詰llnx錘}llqrvllunvlllmvlmloIF_lmqlIFx〟富殉<E5AF8C><h<>mplvlmqnx<6E><78>lnqvlmqmx£〕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 @@
|
|||
?<Ubbkb?<n€snx~_bdhenu嘼bbdnxs{bbbbnw€v?<Ubbkc?<n€snx~_bdhenu嘼bbdnxs{bbbcnw€v?<Ubbkd?<n€snx~_bdhenu嘼bbdnxs{bbbdnw€v?<Ubbke?<n€snx~_bdhenu嘼bbdnxs{bbbenw€v?<Ubbkf?<n€snx~_bdhenx~|befclbbkknu嘼bbdnxs{bbbfnw€v?<Ubbkk?<nu嘼bdjnxs{bbbfnw€v?<Ubcbb?<n倓{n厑嘼bccnv€俠cbbnxs乥bbfn唲sbbbhlbbkflbccklbbci?<Ubdbb?<n{唡bbbjlbdbd?<n}w媙厃n唶則棲<E58987>朢<EFBFBD>桼槥洉潡<E6B489>牂R槥摕棩^?<<3C><>ア玆揜殹灄`n€乿nx~|bdfclbdbcnw€v?<Ubdbc?<nu~刵厃n唶剢殫R槥摕棩R摛桼洜R<E6B49C>桼⿹玆摖<E78E86>?<<3C><>晸燳<E699B8>櫁<EFBFBD><E6AB81>ウ```n€乿nu~<7E>?<nx~]bdhcnx~]bdhenw坵bebc?<Ubdbd?<n}w媙x~]bdcens€俠dbblbbcblbbbbn塻{bbebnxs乥bbfn唲sbbbhlbbkklbc2flbbcc?<Ubdcb?<n倓{nx~|dfbelbbcknx~|bdhelbdccnw坵bbck?<Ubdcc?<n}w媙x~]dfbenxs乥bbfnu嘼bbbn塻{bbdbn€俠ebblbbcdlbbbhlbbbbns€俠ebblbbcblbbbb?<n塻{bbgbn~{]cbbbn厑嘼bdbn媣bbbdn<64>噉xs{bbbfnw坵bdcd?<Ubdcd?<nw坵bbji?<Ubebb?<n{唡bbbjlbebd?<nx~|bdhclbebc?<nx~|bdfclbebe?<n}w媙厃n唶剒棡灐R<E78190>棨桽?<z摠桼<E691A0><E6A1BC>煑<EFBFBD>厯牔揯?<<3C>桼<EFBFBD>摛棖玙晸<E78E99>n€乿nw€v?<Ubebc?<n}w媙厃n唶剢<E594B6>ⅶ<EFBFBD>¨<EFBFBD><C2A8>桼槥摕棩^R<><52>?<牀棖Ro|棡灚槢<E7819A>R|<7C>晽o`n€乿nw€v?<Ubebd?<n}w媙厃n唶剫¨R櫋<52><E6AB8B>桼o|棡灚槢<E7819A>R|<7C>晽oqS?<s煋瑳牂Sn€乿nw€v?<Ubebe?<n}w媙厃n唶剏 枲棩<E69EB2>R<EFBFBD>摝Y<E6919D>揜枔牂棨¨<E6A3A8>?<洣棢R<E6A3A2><52><EFBFBD>R櫋<52><E6AB8B>棨梎?<s<>R<EFBFBD><52>揜Δ摠棡棨qn€乿nw€v
|
||||
|
|
@ -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 @@
|
|||
0==F=IZ[NISYW=@A>G==FBIPZb===FISNV====IR[Q0==F>IZ[NISYW=@A>G==FCIPZb===FISNV===>IR[Q0==F?IZ[NISYW=@A>G==FDIPZb===FISNV===?IR[Q0==F@IZ[NISYW=@A>G==FEIPZb===FISNV===@IR[Q0==FAIZ[NISYW=@A>G==FFIPZb===FISNV===AIR[Q0==FBIPZb==?EISNV====IR[Q0==FCIPZb==?EISNV===>IR[Q0==FDIPZb==?EISNV===?IR[Q0==FEIPZb==?EISNV===@IR[Q0==FFIPZb==?EISNV===AIR[Q0=>==I]_VI`\b==>>IQ[]=>==ISN\===AIa_N==>>G==FAG==A@G==@A0=?==ISYW=@?DG=?=>IXRfIZ`TISNP===Daur-xr<78>-<2D>|-N<4E>u<EFBFBD>4<7F>u|<7C><>r;;;I[\QV-<2D>u|<7C>tu<74>-<2D>urr-<2D>n<EFBFBD>-n<>yrn<72><6E>-|{r-|<7C>ur-|{r-znqr;I[\QOyn<79><6E>-<2D>|<7C>9-a||x|9np<6E>v{t-yvxr-<2D>|<7C>-qvq{4<>x{|<7C>;;;I[\QIPY_dryy9-zn<7A>or-Wnpx-x{|<7C><><17>urr-<2D>|-sv{q-v<>;;;I[\QIR[Q0=?=>IXRfIZ`TISNP===Da||x|;;;V-pn{4<>-oryvr<76>r-v<>;;;I[\Qa||x|4<>-ryqr-o|<7C>ur9N<4E>u<EFBFBD>9-<2D>n<EFBFBD>-n-sno<6E>y|<7C><><17>nv|;I[\QO<><4F>-ur-<2D>n<EFBFBD>-xvyyrq-o<>-|{r-|s-<2D>ur-Q|p<>|4<7F>t||{<7B>;I[\QN{q-{|<7C>9-V;;;V-p|<7C>yq{4<>}|<7C>rp<72>-ur;;;I[\QIR[Q0=?>=IXRfIZ`TISNP===Faurr-nr-<2D><>|-xr<78><72>-<2D>|
N<4E>u<EFBFBD>4<7F>-u|<7C><>r;I[\Qa||x|-un<75>-|{r-|s-<2D>urz;I[\Qaur-|<7C>ur-v<>-uvqqr{-v{<17>ur-Zvzvtn-tn<7F>r<EFBFBD>nq;I[\QIR[Q0=??=IXRfIZ`TISNP===Fa||x|4<>-o|<7C>ur-N<4E>u<EFBFBD>s|<7C>tu<74>-ntnv{<7B><>-n-u|vsvprq-z|{<7B><>r;;;I[\QIPY_aur-<2D>rvoyr-qrz|{-|s-<2D>uv<75>v<>yn{q-<2D>un<75>-srn<72><6E><EFBFBD>-|{Zvzvtn<74>;I[\QIPY_V<5F>4<EFBFBD>-{|<7C>-<2D>ur-Q|p<>|9v<>4<EFBFBD>;;;<3B>|zr<7A>uv{t-ry<72>r;I[\Qaun<75>-qrz|{-un<75>-yv<79>rq-|{<17>uv<75>-v<>yn{q-s|-ntr<74>;I[\QIPY_V<5F>-pnzr-urr-<2D>|-<2D>ur<17>vyyntr9I[\Qo<><6F>-N<4E>u<EFBFBD>-<2D>v{tyr:un{qrqy<71>q|<7C>r-v<>-onpx;I[\QUv<55>-tnyyn{<7B>-svt<76>r-ny|{r<17>uvryqv{t-|<7C>-<2D>vyyntrs|z-unz;;;I[\QIPY_V4yy-{r<>r-s|tr<74>-v<>9n<>-y|{t-n<>-V-yv<79>r;I[\QIPY_Ur-zn<7A>-un<75>r-sv{nyy<79>-orr{xvyyrq-o<>-<2D>ur-Q|p<>|9o<><6F>-ur-<2D>n<EFBFBD>-n-<2D><EFBFBD>r-ur|;I[\QIR[Q0=@==IVaW===EG=@=>IXRfIZ`T7Pnpxyr7-7`{n}.7I[\QISYW=AA?G====IPY_f|<7C>-<2D>rr-<2D>|zr<7A>uv{t-y<>v{tor<6F>|{q-<2D>ur-synzr<7A>;I[\QIR[Q0=@=>IXRfITVa>==EIZ`TIab_b<5F>rq-<2D>ur-Wryy<79>sv<73>u-W<>vpr;IPY\ITVa====IN[]=@==G==>=G====IdNV==@=ISYW=AA?G=@=?ISY8=AA?IQ[]=@==IRcR=@=@0=@=?IXRfIQ[]=@==IR[Q0=@=@IRcR===D
|
||||
|
|
@ -1 +0,0 @@
|
|||
0==F=IZ[NISYW=@A>G==FBIPZb===?ISNV====IR[Q0==F>IZ[NIPZb===?ISNV===>IR[Q0==F?IZ[NIPZb===?ISNV===?IR[Q0==F@IZ[NIPZb===?ISNV===@IR[Q0==FAIZ[NISYW=@A>G==FFIPZb===?ISNV===AIR[Q0==FBIPZb==?EISNV====IR[Q0==FFIPZb==?EISNV===AIR[Q0=>==IXRfISYW=BC>G=>=?I`\b==>>IN[]=>==G====G===?ISN\===?Ia_N==>=G==F?G===@G==>?0=>=>IXRfISYW=BC>G=>=?I`\b==>>IN[]=>=>G====G===?ISN\===AIa_N==@?G==FAG===EG===F0=>=?I]_VIZ`TV<54>-„|{4<>-|}r{.I[\QIR[Q0=?==IXRfISYW=BCAG=?=AISYW=BC?G=?=CIZ`TV4ƒr-{|<7C>uv{t-<2D>|-€n†-<2D>|-†|‚;I[\QIR[Q0=?=>IXRfIZ`Tdn<64>pu-|‚<>-s|-<2D>ur-`n{qp|p€;I[\QVs-†|‚-€<>r}-|{-<2D>ur-€n{q9-<2D>ur†4yyw‚z}-|‚<>-n{q-ov<6F>r-†|‚;I[\QV<>-_RNYYf-u‚<E2809A>€9-<2D>||.I[\QIR[Q0=?=?ISYW=?D@G=?=BIXRfIZ`Ta|-z|ƒr-<2D>ur-`‚{€<>|{r€9-†|‚{rrq-<2D>|-yvs<76>-<2D>ur-€}ryy;;;I[\QIR[Q0=?=@IXRfIZ`Tg‡‡zoy;;;I[\QIPY_Sv€u;;;`|-u‚{t†-s|;;;-sv€u;;;I[\QIR[Q0=?=AIZ`T\yq-„|zn{-Wr{xn-‚€rq-<2D>|-orv{-puntr-|s-<2D>ur-`n{q-g|{r;I[\Q`ur-n{q-ur-}‚}}vr€;I[\QIPY_Ur-u|‚€r-v€;;;I[\QIPY_bzzzzz;;;I[\QIPY_;;;`|zr„urr-v{-<2D>ur-`n{qg|{r;;;LI[\QIR[Q0=?=BIXRfIZ`T\‚-rny-z|zzvr€-„rrxvyyrq-o†-|o|<7C>€;I[\QIPY_dr-unq{4<>-rƒr{-|}r{rq-|‚r†r€-†r<E280A0>;;;I[\QO‚<4F>-P‚y†-nv€rq-‚€;I[\QIR[Q0=?=CIXRfIZ`Tf|‚4r-y||xv{t-s|-rq-sy|„r€LI[\Qaurr4€-n{-|yq-„|zn{-{nzrqWr{xn-„u|-zvtu<74>-x{|„-no|‚<>-<2D>un<75>;I[\QIPY_\u9-vtu<74>;I[\QIPY_Vs-†|‚-t|-<2D>|-€rr-ur9†|‚-|‚tu<74>-<2D>|-ov{t-ny|{t<17>ur-q|t-{r…<72>-<2D>|-<2D>ur-orq;I[\QISY8=BCAIR[Q0=@==IXRfIQ[]=@==IZZ=IZfQ====IPZb====ISY8=BC>IXRfIN[]=B==G===@G===?IdNV==DFIN[]=B==G====G===?I`NaIZ`TISNP==>F\||uuuu.I[\QIPY\IP[]=@>=G=>??G===?IQ[]=?==IdNV==>=IP[]=@>>G=>??G===?IQ[]=?=>IdNV==>=IP[]=@>?G=>??G===?IQ[]=?=?IdNV==>=IP[]=@>@G=>??G===?IQ[]=?=@IZ`Tdr-unƒr-n-cV`Va\_.I[\QIPY_a||-onq-s|-†|‚9-o‚<6F>;;;I[\QIPY\IdNV==?=I`\b===AIP[]=A==G=>>EG===?IQ[]=B==IdNV==>=IZ`TV4z-|{-<2D>urv-€vqr.I[\QIPY_f|‚4r-t|v{t-q|„{..I[\QIPY\IO`Y=A==IPZb===AIN[]=A==G==>=G===?IN[]=@>=G==>=G===?IN[]=@>>G==>=G===?IN[]=@>?G==>=G===?IN[]=@>@G==>=G===?IR[Q0=@>=0=@>>
0=@>?0=@>@0=A==IXRfIZfQ=A==ISY:=BC>ISY:=BCBIN[]=@>=G==?=G===BIN[]=@>>G==?=G===BIN[]=@>?G==?=G===BIN[]=@>@G==?=G===BIP[]=A==G=>>DG===BIN[]=A==G===BG===BIdNV===?IN[]=A==G==@=G===AI`\b==D=IdNV=>==I]_VIPZb==>BIZ`Tcvp<76>|†.IdNV=>A=IPZb====I[\QIPY\ISY8=BC?ISN\===AIa_N==?FG==F=G==>?G===F0=A>=IXRfISY8=BC?IZ`TISNP==>F\u.I[\QISNP====IPY\IN[]=A==G==>=G====IdNV==B=IZ`TISNP==>Ff|‚4r-„v<E2809E>u-<2D>ur-Zvzvtn€<17>||LI[\QIPY_aun<75>4€-vtu<74>9-<2D>urr4€{|<7C>uv{t-onq-no|‚<>-<2D>urz.I[\QIPY_V4z-P‚y†;P‚y†-Onpr;I[\Qdur{-V-„|xr-‚}9-V-„n€„v<E2809E>u-<2D>ur€r-puvyqr{;I[\QIPY_ISNP==?BV-q|{4<>-unƒr-n{†-zrz|vr€ors|r-<2D>un<75>;;;I[\QNz{r€vn9-†|‚-zvtu<74>-€n†;I[\QIPY_ISNP==?=V-„n€;;;}|onoy†-nZvzvtn:o‚<6F>pur-w‚€<E2809A>-yvxr<17>ur-|<7C>ur-|o|<7C>€;;;I[\QIPY\IRcR=A>B0=A>BIXRfIZ`TISNP==>F\u9-„|„;I[\QIPY_aun<75>-]|yn-`<60>n-|s-†|‚€v€-v{-n„s‚y-€un}r;I[\QQ|-†|‚-„n{<7B>-<2D>|-<2D>nqrv<>-s|-z†-znpuv{r-t‚{LIf[W=A?=ISY8=BC@ISNP====IPY_IaNZ===?G===AG=>==ITVa===?Un{qrq-|ƒr-<2D>ur-J]|yn-`<60>nJ;I[\QIPY_IPZb==>=ITVa===AT|<7C>-<2D>ur-JZnpuv{r-T‚{J.IdNV=>C=I[\QI_ZbIPY\ISN\===AIa_N==?FG==F=G==>?G===F0=A?=IXRfIZ`TISNP==>F_rnyy†LI[\QIPY_dryy9-vs-†|‚-rƒr-pun{tr†|‚-zv{q9-V4yy-or-urr;I[\QI]_VIPY\IZfQ====ISN\===AIa_N==?FG==F=G==>?G===F0=B==IXRfISYW=BC@G=B@=IRcR=B>B0=B>=IXRfISY8=BC?IZ`TISNP==>F\u.I[\QIPY_f|‚4r-„v<E2809E>u-<2D>ur-Zvzvtn€<17>||LI[\QIPY_aun<75>4€-vtu<74>9-<2D>urr4€{|<7C>uv{t-onq-no|‚<>-<2D>urz.I[\QIPY_V4z-P‚y†;P‚y†-Onpr;I[\Qdur{-V-„|xr-‚}9-V-„n€„v<E2809E>u-<2D>ur€r-puvyqr{;I[\QIPY_ISNP==?BV-q|{4<>-unƒr-n{†-zrz|vr€ors|r-<2D>un<75>;;;I[\QNz{r€vn9-†|‚-zvtu<74>-€n†;I[\QIPY_ISNP==?=V-„n€;;;}|onoy†-nZvzvtn:o‚<6F>pur-w‚€<E2809A>-yvxr<17>ur-|<7C>ur-|o|<7C>€;;;I[\QIPY\IRcR=B>B0=B>BINZW===?G=B>EINZW==>@G=B>EIZ`TISNP==>FIab_\{r-qn†9-V4q-rnyy†-yvxr<17>|-zrr<72>-<2D>un<75>-t‚{€zv<7A>u;;;I[\QIR[Q0=B>EIRcR===E0=B?=IXRfIZ`TISNP==>F_rnyy†LI[\QIPY_dryy9-vs-†|‚-rƒr-pun{tr†|‚-zv{q9-V4yy-or-urr;I[\QIR[Q0=B@=IXRfIZ`TISNP==?BV<42>4€-<2D>ur-u‚zn{€-„u|4r<17>ur-rny-onq-t‚†€.I[\Qaur-Zvzvtn€-„rr-w‚€<E2809A>‚€rq-o†-<2D>urz;I[\QIR[Q
|
||||
|
|
@ -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 @@
|
|||
_\ub汲_\次<>梼<EFBFBD>怩鰍lb窮歯洫bj侍筒bb寺ヲ怩dレb級似<E7B49A>棒\ub泣_\次<>梼福ァbj侍筒bc寺ヲ怩dレb級似<E7B49A>棒\ub灸_\次<>梼福ァbj侍筒bd寺ヲ怩dレb級似<E7B49A>棒\ub球_\次<>梼福ァbj侍筒be寺ヲ怩dレb級似<E7B49A>棒\ub究_\次<>梼福ァbj侍筒bf寺ヲ怩dレb級似<E7B49A>棒\ub窮_\歯洫bу侍筒bb寺ヲ怩dレb級似<E7B49A>棒\ub級_\次<>「fモ撃bъbe撃bn蕩「fモ撃blbb似<EFBD82>棒\ucb_\持劉磁。ァbャ雌<E383A3>「cb撃blbd侍藤bb示、唐f㈹b汲撃jレb㊤_\ucc_\持劉次・剱ニrノチタyニrチツキタ滋。鮪裏棒\ucモ_\持劉磁。ァbャ雌<E383A3>「cモ撃blbd侍藤bd示、唐f煙b灸撃b<E69283>bラ_\ucр_\寺ヲ怩dレcс_\持劉次・勠チヌrコキウトrニコキrナチヌタカrチクrトヌナコサタケ_\ノウニキトrクトチソrノサニコサタ滋。棒\嵌rノチヌセカタyニrエキrウrケチチカrサカキウrニチrコキウカ_\サタrノサニコチヌニrウタrウサトrニウタス滋。鮪裏棒\ucс_\持劉侍藤be示R唐f褐b球撃ョ㈹bc_\_\uc№_\持劉次<E58A89>梼福ァbj自筒bg歯<EFBD87>「eb撃ャ煙bd侍筒bd_\自筒bモ_\雌<>「eb撃b<E69283>bd自筒bヨ_\雌<>「eb撃bレbd_\磁逃次・剋<EFBDA5>浮d∮トキrノキrナニサセセrサタrニコキ_\楜エヒトサタニコ綜<EFBDBA>。鮪<EFBDA1>浮bn服。_\雌<>「eb撃b<E69283>bd自筒b<E7AD92>_\雌<>「eb撃dlbd自筒b№_\雌<>「eb撃bレbb_\次・剋<EFBDA5>浮d<E6B5AE>キrオウタyニrケキニrニコトチヌケコ_\コキトキ滋。棒\ゥキyセセrコウネキrニチrスキキツ_\ソチネサタケrウコキウカ滋。鮪服。_\雌<>「eb撃b<E69283>bd自筒c<E7AD92>_\雌<>「eb撃dlbd自筒bモ_\磁。ァbャ雌<E383A3>「cモ撃blbd自筒bр_\事<>「eb自筒bр_\磁。ァbャ雌<E383A3>「cモ撃blbb侍栲jр似<D180>棒\ueb_\ue<75>_\爾、寰衍勠チヌrナキキrウrエヌニニチタ滋。鮪・。ァb<EFBDA7>歯椄次・劼トキナナキカrサニ滋。鮪服。_\自筒b№_\磁。ァb宴_\歯泙bi撃e㈹bb_\歯泙bj撃e㈹bb_\歯泙bц撃eレcャ_\自筒b№似<E28496>棒\
|
||||
|
|
@ -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 @@
|
|||
?<Ubbkb?<n€snu嘼bcfnxs{bbbbnw€v?<Ubbkc?<n€snu嘼bcfnxs{bbbcnw€v?<Ubbkd?<n€snu嘼bcfnxs{bbbdnw€v?<Ubbke?<n€snu嘼bcfnxs{bbbenw€v?<Ubbkf?<nx~|bcdblbbkgnw坵bbkg?<Ubbkg?<n€snu嘼bcfnxs{bbbfnw€v?<Ubcbb?<n倓{n厑嘼bccnv€俠cbbnxs乥bbfn唲sbbbdlbbkflbdkclbbbj?<Ubcbg?<n倓{n厃v<E58E83><76><EFBFBD>⿹牔RΑR<CE91><52>qn媭|bbbbn厛俷u~剏摕桼<E69195><E6A1BC>朻n€乿nw€v?<Ubcbh?<n倓{n~{]cbbbn厑嘼bdbnsw]n厃w牀<77>玆<EFBFBD>ウ·棖`n€乿nw€v?<Ubccb?<n}w媙厃嫛<E58E83>槜棡R揜暋灃R<E78183>爾?<敒々洜橰洜```n€乿nw€v?<Ubdbb?<n}w<>?<nx~]bcdbnx~]bcbgnx~]bcgfnx~]bcggnx~]bedknx~]bcbhnx~]djbb?<n卻唍厃```w<>歚n€乿nu~<7E>?<n媡bbbdn塻{bbgbn媣bbbd?<n塻{bbgbn厃ns€俠dbblbbbglbbbdnxsubbbc仛Sn€乿n媣bbbenu~剘 漇R{<7B><>``{R<>洜<EFBFBD>?<洣Y<E6B4A3>€<EFBFBD>敆<EFBFBD>bbSn€乿nu~剢殯<E589A2>棛橰暋<E6A9B0>朢敆R¨<52>?<<3C>暆棪R<E6A3AA>楻<EFBFBD>洢R洢灀爾Sn€乿nu~乶xsubbbbn媣bbbd?<ns€俠dbblbbbelbbb2n塻{bbeb?<ns€俠dbblbbbglbbbdn塻{bbgb?<n厃nxsubbbcw櫃R暋爾洣洝爈R€·煋濻?<啔摝Y<E6919D><59>摝R{R灈潡RΑ?<殫摛Sn€乿nu~乶塻{bbgbn厑嘼bfen塻{bbdbnxsubbbb?<n厃nxsubbbdz焣n€乿RsR<73>ゥ<EFBFBD><E382A5>qn€乿nxsubbbbnu~<7E>?<n塻{bbgb?<ns€俠dbblbbbblbbbbn塻{bbgb?<n厃nxsubbbd墬灋^R暏<52>`n€乿nxsubbbcnu~<7E>?<ns€俠dbblbbbelbbbbn塻{bcdh?<ns€俠dbblbbbblbbbdn塻{bbdb?<n厃n媣bbbb```v洊R<E6B48A><52>櫁<EFBFBD>灐ウqn€乿nu~剢殦<E589A2><E6AEA6><EFBFBD>摣`n€乿?<{Y灋R灄<52><E78184><EFBFBD>暋煑?<<3C><>R煑`n€乿?<墬R晸燫櫁<E787AB><E6AB81>楻<EFBFBD>洢?<枾煝RΑ櫁<CE91>棨`n€乿?<{燫<>Η<EFBFBD>^R<><52><EFBFBD>?<櫋牋揜殫灑R煑`n€乿nu~<7E>?<ns€俠dbblbbbglbbbdn塻{bbdb?<n厑嘼bccns€俠cbblbbbblbbbdn塻{bbdb?<ns€俠cbblbbbblbbbbnv€俠dbbn厑嘼bdenw€v?<Ubebb?<n}w媙厃n唶剠潾Rv<52>櫋燫w櫃R€<52>Rbb?<z摝暁洜橰ⅳ棦摛摝洝牓R暋煝灄<E7859D>`n€乿nu~<7E>?<{牏ЕR倱ゥ<E580B1><E382A5>ln€乿nw€v?<Ubebb?<n倓{nxs乥bbfn唲sbbbclbbkflbbbglbbbi?<Ubfbb
|
||||
|
|
@ -1 +0,0 @@
|
|||
=:S``i`=:l}~qls}…``adlvqy````lu~t=:S``ia=:l}~qls}…``adlvqy```alu~t=:S``ib=:l}~qls}…``adlvqy```blu~t=:S``ic=:l}~qls}…``adlvqy```clu~t=:S``id=:lv|z`ab`j``ielq~€`b``j``a`j```blu†u``ie=:S``ie=:l}~qls}…``adlvqy```dlu~t=:S`a``=:l{u‰lƒ…``aalq~€`a``j````j```blvq```dl„‚q``dij``idj`bi`j```h=:S`aa`=:l{u‰lv|z`id`j`aaal}ƒwl„…‚‰Ÿ¥P–••œP‘P“Ÿœ”P§™ž”=:’œŸ§™ž—P™ž^^^l~tlu~t=:S`aaa=:l{u‰lvq```bl„‚q``ecj``ibj```dj`afe=:S`aa`=:S`d``=:S`e``=:l{u‰l}ƒwl„…‚‡Ÿ¢”£Pœ™—˜¤P¥ P¤˜•P£“¢••ž^=:xq„sxPƒ…ssuƒƒv…|l~tlv|z`idaj````ls|=:lv|[`ida=:l‡qy``b`ls}…````l}‰t```b=:l‡qy``e`ls~€`d``j``eej````=:l‡qy``a`lq~€`d``j```cj````=:l‡qy``dhlq~€`d``j````j````=:ls}…``adl‡qy``e`lq~€`d``j````j``0b=:l‡qy``a`lq~€`d``j```cj```b=:l‡qy``aflq~€`d``j````j```b=:l‡qy``e`lq~€`d``j````j````l‡qy`a``=:l}ƒwl„…‚lvqs``a`‡Ÿ¥œ”P©Ÿ¥Pœ™›•P¤ŸP•£“‘ •=:§™¤˜P<CB9C>•ol‰~z`e`alv|[`if`ls|‚l„…‚lq~€`d``j````j```b‰•£\P¤˜•¢•W£PžŸ=:Ÿ¤˜•¢P§‘©^=:‡•P”™”P§˜‘¤P§•P“Ÿ¥œ”^l~tls|=:l‡qy``a`lq~€`d``j```cj```b=:l‡qy``calq~€`d``j```ej```blƒ…``aals~€`aa`j``ahj```b=:l‡qy``b`ls~€`d``j````j````lv|[`id`=:lu~t=:S`e`a=:l{u‰lq~€`d``j````j```b=:l}ƒwl„…‚lvqs``a`yP£••^^^l~tls|lvqs````=:l‡qy``e`lq~€`d``j````j````=:l‡qy``a`lq~€`d``j```ej````=:l‡qy``e`lq~€`d``j````j````l‡qy``a`lq~€`d``j```cj```b=:l‡qy``calq~€`d``j```ej```blƒ…``aals~€`aa`j``ahj```b=:l‡qy``b`ls~€`d``j````j````lv|[`id`=:lu~t=:=:S`e`b
|
||||
|
|
@ -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>t𡼏<74>仙<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`b=: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>lvqs``0clq~<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 @@
|
|||
=:S``i`=:l}~qls}…``bglvqy````lu~t=:S``ia=:l}~qls}…``bglvqy```alu~t=:S``ib=:l}~qls}…``bglvqy```blu~t=:S``ic=:l}~qls}…``bglvqy```clu~t=:S``id=:l}~qls}…``bglvqy```dlu~t=:S``ie=:S``ii=:l{u‰l}~qls}…``bg=:lq~€`a``j```aj````lvqy```d=:ls~€`c`aj`aabj```bl‡qy`a``=:lq~€`a``j````j````=:l}‰t```blt~€`c`alƒ}slu~t=:S`a``=:l€‚yl}ƒwtŸP©Ÿ¥P§‘ž¤P¤ŸP—ŸP¤ŸPq¢¤˜¥¢W£=:˜Ÿ¥£•ol‰~z````ls|lv|[aei=:l{u‰ls~€`c``j`aaaj```blx}sl‡qy``f`lq~€`a``j```aj````=:l‡qy`a``lvq```dl„‚q```aj``iij```ej```h=:S`a`a=:l€‚ylvq```dl„‚q``eaj``idj```dj```d=:S`a`b=:l€‚ylvq```dl„‚q``eaj``idj``ahj```h=:S`a`c=:l€‚ylvq```dl„‚q```ej``idj``a`j```h=:S`a`e=:l€‚ylvq```dl„‚q`0e`j``idj``abj```b=:S`a`f=:l€‚ylvq```dl„‚q``e`j``idj``aaj``ab=:S`a`h=:l€‚ylv|z`a`cj`a`il}ƒwl„…‚y¤P§ŸžW¤PŸ •žQl~tlu~t=:S`a`i=:l{u‰lƒ…``aalq~€`a`hj````j```blvq```dl„‚q``ebj``idj```dj``a`=:S`aa`=:l{u‰lvq```dl„‚q``edj``idj``a`j```i=:S`aaa=:S`b``=:l€‚yl}ƒwl„…‚„˜•P“‘¢“‘££PŸ–P‘Pƒ›©Pt¢‘—Ÿž^^^l~tlu~t=:S`b`a=:lq~€`b`aj````j```blu~t=:S`ba`=:l€‚yl}ƒwl„…‚„˜•¢•P§‘£P¤˜™£P˜¥—•P•¨ œŸ£™ŸžQ=:‡˜•žPyP“‘<E2809C>•P¤Ÿ\P™¤P‘œœPœŸŸ›•”=:œ™›•P¤˜™£^l~tlu~t=:S`c``=:S`c`a=:S`cb`=:l€‚ylv|z`hh`j```alv|[`hh`lƒ…``bbls~€`cb`j``baj````lu†u`cba=:S`cba=:lu†u``c`=:Sab``=:l{u‰lq~€ab``j``b`j````=:lv~ab``j``aflvqy```a=:l‡qy`a``lvq```al„‚q```fjab``j`agaj``ad
|
||||
|
|
@ -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 @@
|
|||
=:S``i`=:l}~qls}<7D>`cflvqy````lu~t=:S``ia=:l}~qls}<7D>`cflvqy```alu~t=:S``ib=:l}~qls}<7D>`cflvqy```blu~t=:S``ic=:lZls}<7D>```l赫}lyй``bbj``ielu<6C>``if=:S``id=:l}~qls}<7D>`cflvqy```dlu~t=:S``ie=:luー`befl}ッlу<6C>=:l<><EFBFBD>`dclwy<77>`bbs衍椄覆P蒼、勗側部^l~tlwyЯ```lu<6C>``if=:S``if=:l}ヘlуi衍P抹復P善凋蒼娜ァ辨捻凋洫=:、个衍利Pゥ衍^=:q惧Pァ舞<EFBDA7>沾」P箸泛<E7AEB8>部P、蘖|沸復PaQl~tls|=:lvVl}~qls}<7D>`cflvqy```clu~t=:S`a``=:l{u瑛vq```blрq``h0j``i`j``ahj``ig=:S`aa`=:l{u瑛v|zaecaj`aaa=:lv}``aflvq```blрq``haj``ibj```bj``ac=:S`aaa=:l㎞y``a`lx}sl㎞y``e`=:l}液````lマslu~t=:S`b``=:lZl}ヘlу<6C>=:√恣沱姫、蘖x復弉l~tlu~t=:S`d``=:lZl<EFBCBA><EFBFBD>`bblt~`d``lu<6C>`d`a=:S`d`a=:lu<6C>``ad=:S`db`=:lt~`db`=:lq~`dc`j``c`j````lv~`dc`j``af=:lq~`e``j``cbj````lu~t=:S`dc`=:S`e``=:l{u瑛v|]aecalv|[aecbl㎞y``e`=:ls~`e``j`beij````lu~t=:S`i``=:lt~`i``lu~t=:S`i`a=:lt~`i`alu~t
|
||||
|
|
@ -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 @@
|
|||
LIbooxoLI{<7B><>{<7B>𦷪oow{<7B>èooo{<7B><>IbooxpLI{<7B><>{<7B>𦷪oow{<7B>èoop{<7B><>IbooxqLI{<7B><>{<7B>𦷪oow{<7B>èooq{<7B><>IbooxrLI{<7B><>{<7B>𦷪oow{<7B>èoor{<7B><>IbooxsLI{<7B><>{<7B>𦷪oow{<7B>èoos{<7B><>IbopooLI{<7B>𤩝<EFBFBD>簆ooo{<7B><>ootuyooxoyopoqyoottLIboppoLI{<7B>𤩝<EFBFBD>𦷪opp{<7B><>oppoyooooyoooq{<7B>簆ooo{<7B><>ootuyooxoyooxxyoossLIboqooLI{<7B>妉I{<7B>纺owpyoqoqLI{<7B>纺owoyoqopLI{<7B><><EFBFBD>悔珞╡悔疳mmm{<7B><><EFBFBD>鬔{<7B><><EFBFBD>穥I{<7B><>ooo{<7B><>oqooyoooqyooos{<7B>èoro{<7B><>ooo{<7B>jpowo{<7B>lpoqt{<7B>jpoquLI{<7B><>吻_垣悚_陽宸淪絍阸孑{<7B><><EFBFBD><EFBFBD>妙揭妊_葬復洧戍訛﹞_ㄓ迚mLI玏復ㄗㄜf訛市身╡_陋_<E9998B>陶仃LI妙跛<E5A699>飛_釣洶淪𣖕于痊𨯂炊δ葬惴{<7B><><EFBFBD><EFBFBD>夾淪迆_釦于<E987A6>走m{<7B><>I𩣪挈于陽宰陰筷陵_ㄓ斥_釦于<E987A6>4拳LI忖訛釦戛雁_身_坐惜m{<7B><>I𤧣_﹞_眼〝丐陴_幼巢夾淺I仄砟惆洶韋烯mm{<7B><><EFBFBD>鮎mm𩣪稭f淪陽稭_𣖕于<F0A39695>見m{<7B><><EFBFBD><EFBFBD>捎_鍮弗角迤_恭_坐捲?{<7B><>I玏惠惜_鍮”訛陵宰<E999B5>酗m{<7B><>I佂于散不_陵_﹞_身_坐惜_隅釦_散m{<7B><><EFBFBD><EFBFBD>坐_<E59D90>淪<EFBFBD>惆郎_幼巢葬復釦几I陽悍于釣洶m{<7B><>I<EFBFBD>訛庖眾_鍮咧陶咫_陽走于僙峭LI釦元_<E58583>洶_<E6B4B6>δ陵悚_坐巢絍瓲m{<7B><><EFBFBD><EFBFBD>qoxLIboqopLI{<7B><><EFBFBD>jpowp綉_舅𡵆m{<7B><><EFBFBD><EFBFBD>散訛﹞幼惜_釦元_<E58583>換不_坐巢恭右LIÓ<49>跛坐巢2䁥_皎洶釦身囝身陵LI葬敢_祚◥仇m{<7B><><EFBFBD><EFBFBD>qoxLIboqoqLI{<7B>𤩝<EFBFBD><F0A4A99D><EFBFBD>訛<EFBFBD>淪迅k_鍮垣竣_咫陶仃~{<7B><><EFBFBD><EFBFBD>qoxLIboqoxLI{<7B>𤩝<EFBFBD><F0A4A99D>oqooyooooyoooq{<7B><>IboqqoLI{<7B>𢲛<EFBFBD>𤩝<EFBFBD><F0A4A99D><EFBFBD>莑qqpyoptoyoooq{<7B><>oqqpyoopoyoooq{<7B>èotoLI{<7B><><EFBFBD>𦷪ovo龗節{<7B><><EFBFBD>鍸I{<7B>𦷪ovo<76>洫苜{<7B><><EFBFBD>鍸I玏惠惜_陋訛ㄓ迚k_𥼚于葬揍{<7B><><EFBFBD>鮎mmmm{<7B><><EFBFBD>穥I{<7B>èoto{<7B>èoto{<7B><>{<7B>𦷪oow{<7B>èoos{<7B>èoto{<7B><><EFBFBD>莑qqp{<7B><>IboqqpLIborooLI{<7B>ù<EFBFBD>织vooyooop{<7B>jqvoo{<7B>𦷪oqq{<7B>莑rooyooqpyoooo{<7B>莑oqsyoopuyoouu{<7B><>ropLIboropLI{<7B><>ovu
|
||||
|
|
@ -1 +0,0 @@
|
|||
ur<EFBFBD>咅𤩏r今隆井善<EFBFBD><EFBFBD>亢店<EFBFBD><EFBFBD>五隄ur<EFBFBD>咅猪r今隆井善<EFBFBD><EFBFBD>亢店<EFBFBD><EFBFBD>五隄ur<EFBFBD>咅鮁r今隆井善<EFBFBD><EFBFBD>亢店<EFBFBD><EFBFBD>五隄ur<EFBFBD>咅𣗳r今隆井善<EFBFBD><EFBFBD>亢店<EFBFBD><EFBFBD>五隄ur<EFBFBD>咅崬r今隆井善<EFBFBD><EFBFBD>亢店<EFBFBD><EFBFBD>五隄ur<EFBFBD>咅「r仇俯今隆井善<EFBFBD><EFBFBD>ur予飧<EFBFBD><EFBFBD><EFBFBD><EFBFBD>堺<EFBFBD><EFBFBD>亢店<EFBFBD><EFBFBD>ur井飧<EFBFBD><EFBFBD><EFBFBD><EFBFBD>噐<EFBFBD><EFBFBD>凶店<EFBFBD><EFBFBD>ur予飧<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣫺<EFBFBD><EFBFBD>ur今蟀<EFBFBD><EFBFBD>互飧<EFBFBD><EFBFBD>六筍五隄ur<EFBFBD><EFBFBD>𤩏r仇俯亢弧<EFBFBD><EFBFBD>兮漫<EFBFBD><EFBFBD><EFBFBD>咅噐<EFBFBD><EFBFBD><EFBFBD><EFBFBD>「r<EFBFBD><EFBFBD>𤩏r仇俯今趙標<EFBFBD>昅詘晑庄朒<EFBFBD>桉<EFBFBD>笘笫萻𣶸須泉r盃<EFBFBD>軝<EFBFBD>嗀娵<EFBFBD>桉<EFBFBD>喍<EFBFBD>邴阹跁雱切雯<EFBFBD><EFBFBD>井晰亢<EFBFBD><EFBFBD><EFBFBD>ur井飧<EFBFBD><EFBFBD><EFBFBD><EFBFBD>堺<EFBFBD><EFBFBD>什筍凶店<EFBFBD><EFBFBD>予飧<EFBFBD><EFBFBD><EFBFBD><EFBFBD>堺<EFBFBD><EFBFBD>ur凶店<EFBFBD><EFBFBD>亢弧<EFBFBD><EFBFBD>兮漫<EFBFBD><EFBFBD><EFBFBD>咅﹜<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𤩏r<EFBFBD><EFBFBD>𤩏r元滷今趙瞥庄<EFBFBD>巟<EFBFBD>戧<EFBFBD><EFBFBD>衭娵阼<EFBFBD>訧軞坐須洶契瑭軝<EFBFBD>阼<EFBFBD>喍<EFBFBD>晟<EFBFBD>椳坐須洶頁泉r<EFBFBD><EFBFBD>猪r元滷今趙棹桽<EFBFBD>軝<EFBFBD>介楓五隄ur<EFBFBD><EFBFBD>鮁r元滷今趙盃呿跁<EFBFBD>楙<EFBFBD>侂<EFBFBD>瓬<EFBFBD>厔俓<EFBFBD>晇袲婠楆須洶頁泉r<EFBFBD><EFBFBD>𣗳r元滷今趙標<EFBFBD>萃桻珈<EFBFBD>軝<EFBFBD>嗝阼<EFBFBD>晑<EFBFBD>倰ur恮邴构<EFBFBD>硰<EFBFBD>迕笰<EFBFBD>敊<EFBFBD>喍楆須洶契獐倰<EFBFBD>訬喍<EFBFBD><EFBFBD>瓬笱<EFBFBD>桾蚐<EFBFBD><EFBFBD>恮玿鈗r嗝<EFBFBD>稊忑嗖楆須洶頁泉r<EFBFBD><EFBFBD>崬r元滷今趙盃<EFBFBD>軝<EFBFBD>笫<EFBFBD><EFBFBD>䪴孖尥軞<EFBFBD>坐須泉r鉼<EFBFBD><EFBFBD>詄尰軘迒<EFBFBD><EFBFBD>庋<EFBFBD>捈晑泚r詍梠葎阼<EFBFBD>軝<EFBFBD>晑<EFBFBD>倰<EFBFBD>埩笚庄朒<EFBFBD><EFBFBD>介楓五隄ur<EFBFBD><EFBFBD>𪊓r元滷今趙標阼<EFBFBD>椳迒<EFBFBD><EFBFBD>庋<EFBFBD><EFBFBD>軝寑<EFBFBD>倎桾笸ur晑<EFBFBD>阼<EFBFBD>喍<EFBFBD><EFBFBD>椽<EFBFBD><EFBFBD>弚邳𧬸<EFBFBD>迋珿r嗝邯<EFBFBD>稊楺<EFBFBD><EFBFBD>介楓ur謂筇阼<EFBFBD><EFBFBD>嗝俉<EFBFBD>軞<EFBFBD>葋<EFBFBD>介楓五隄
|
||||
|
|
@ -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>xbbb揻孟p<E5AD9F>xpzuwddddpw<70><77>>p𠹹}ddidA>pw<70>dffdndeggnddddp𠹹}ddidA>p<>{p{}Ềde4pzuwdddd{𧞅簛<F0A79E85>吋<EFBFBD>簛q<E7B09B>中訂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 @@
|
|||
pm啌摐損m煱堡煢案摀摃煩が摀摀煥抱pm啌摐攑m煱堡煢案摀摃煩が摀摂煥抱pm啌摐昿m煱堡煢案摀摃煩が摀摃煥抱pm啌摐杙m煱堡煢案摀摃煩が摀摉煥抱pm啌摐梡m煱堡煢案摀摃煩が摀摋煥抱pm啌敁損m煯<EFBFBD>煻哺摀敂煠背摂摀潛摀摑摀摃煩げ摀摃煼丹摀槚潛摐暆摀摃潛敋杙m啌晸損m煶惮pm煩<EFBFBD>敄殨潛晸昿m煥龚摃摉pm啌晸昿m煶惮煱丢に弮套娭兪乙莾滓兣葍拍c螒煴钵煥抱pm啌晸杙m煩瘞敄殨煥龚摃摋pm啌晸梡m煥龚摀敁pm啌晹損m煶惮煩<EFBFBD>敄殦潛晹敓┋帞枤攑m煱丢币趦谒日葍翘莾姿淖冃难冋匮pm疑蓛滓憫憻辈<EFBFBD>Ο导邑兯馁妊娮冎热褍熊兯刂拍亚弍m四偃冘邑<EFBFBD>辈<EFBFBD>ū<EFBFBD>m啌晹攑m煶惮煱丢匪难蝺芤貎梢諆芤卣兯认討煴钵煥抱pm啌晻損m煶惮煱丢核見杖冘邑弮刑肿日<EFBFBD>辈<EFBFBD>ū<EFBFBD>m啌槗損m煯<EFBFBD>煢背摃槗潫─瑩摀摕ū<EFBFBD>
|
||||
|
|
@ -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>
|
||||
|
|
@ -1 +0,0 @@
|
|||
0==F=IZ[NIPZb===EISNV====IR[Q0==F>IZ[NIPZb===EISNV===>IR[Q0==F?IZ[NIPZb===EISNV===?IR[Q0==F@IZ[NIPZb===EISNV===@IR[Q0==FAIZ[NIPZb===EISYW=E@=G==FCISYW=AE>G==FBISNV===AIR[Q0==FBIP[]=?=>G=>=?G====IN[]=@==G====G===?ISNV===AIR[Q0==FCIPZ]==>>G===CG==C>IPZ]==>>G===DG==DDIP[]=?=>G=>=?G====IN[]=@==G====G===?ISNV===AIR[Q0=>==ISYW=AE=G=>=>I]_VI`\b==>>IQ[]=>==ISN\===AIa_N===CG==FAG=>D>G==>D0=>=>I]_VIZ`TIab_V<5F>-„|{4<>-|}r{.I[\QIR[Q0=?==ISYW=AE>G=?=?IXRfI`\b==A@ISY8=AE>IP[]=?=>G=>=?G====IPZb====IN[]=@==G==>=G====IdNV==?=IZfQ===?IdNV=AB=IPZb===AIdNV==B=IP[]=?=@G===FG====IdNV==B=IPZb====IN[]=@==G==?>G====IdNV==E=IPZb==>>IP[]=?=@G==>?G====IZ`TIab_ISNP==>AU‚‡‡nu.IRcR=?=A0=?=>0=?=?I]_VIZ`TIab_]|„r-s‚{p<>v|{v{t-{|znyy†;I[\QIR[Q0=?=@IXRfIP[]=?=@G==>?G====IN[]=?=@G==?=G===AIdNV=>A=IdNV=>==IPZb==>B
IZ`TIab_S|‚tu<74>-|ss-Ony|t.IdNV=>A=I[\QIPZb===EISY:=AE=ISY8=AE?ISY8=?>BIR[Q0=?=AIN[]=?=@G==@=G====IPZb===AIP[]=?=@G==@CG====IO`Y=?=@ISY8=AE=IR[Q0=?B=IXRfIZ`TIab_`r<><72>v{t-‚};;;I[\QIR[Q0=@==ISYW=AE@G=@=@ISYW=AE>G=@=>IXRfIZ`TIab_N-|o|<7C>;;;LV<>-q|r€{4<>-€rrz-<2D>|-unƒr-n{†}|„r;I[\QIR[Q0=@=>I]_VISYW=AE?G=@=?IZ`TIab_V<5F>€-urnq-v€-on€urq-v{;I[\QIR[Q0=@=?IXRfIdNV==B=IP[]=@==G=>=FG===AIN[]=@==G==>=G===AIZfO=@==IdNV==B=IZfQ=@==ISY8=AE@ISY8=AEBISY8=AEAIZ`TIab_aUN[X-f\b.-a\-]Nf-f\b-ONPX9V-PN[-ZNXR-N-O\ZO.I[\QIR[Q0=@=@ISYW=AECG=@>@IVaW==>>G=@>=IRcR=@=B0=@=BIXRfIZ`TIab_O_V[T-ZR-JPUN_P\NYJ9JWRYYfSV`U-WbVPRJ9N[Q-JTbZ-ON`RJ;I[\QIR[Q0=@>=IVaW===EG=@>>IRcR=@=B0=@>>IVaW==>?G=@>?IRcR=@=B0=@>?IXRfISY8=AECIVa:==>>IVa:==>?ISY8=??>IRcR=@B=0=@>@IXRfIZ`TIab_V4Q-\SSR_-f\b-`\ZR-aRN9-Oba;;;I[\QIR[Q0=@B=IRcR==C@
|
||||
|
|
@ -1 +0,0 @@
|
|||
41JWW`W41ctuhcjt|WWWWcmhpWWWWcluk41JWW`X41ctuhcjt|WWWWcmhpWWWXcluk41JWW`Y41ctuhcjt|WWWWcmhpWWWYcluk41JWW`Z41ctuhcjt|WWWWcmhpWWWZcluk41JWW`[41ctuhcjt|WWWWcmhpWWW[cluk4141JWXWW41crl€cmsqX\][aWXWXczv|WWXXchuwWXWWaWWWWaWWWY41cmhvWWW[c{yhWWX]aWW`[aWWZYaWWWY41JWXWX41cwypctznp汫灃昇汫枟寱Hcuvkcluk41JWYWW41cwypcmsqX\][aWXWXcmsqY[WWaWWWXcmsRY[WWczv|WWYYcjuwWYWWaWWYXaWWWWcl}lWYWY41JWYWY41cl}lWW_Z41JW[WW41crl€ct€iWWWYc~hpWWYW41cp{qWWZZaW[YW41cmsqX\]YaW[XX41cmsqX\]XaW[WZctzn€枩G帠汫殩攲G墱殣晫殮G瀽洀G攲fc€uqW[WXcjsyo垙Hcuvk41pG嫋湁汫洀垱Ucuvkcluk41JW[WX41crl€ctzno審T弻廡弻廢Gi爩SG洀寱Ucuvkcluk41JW[WY41crl€cmsRX\]Xctzno攆cuvkGh敃寶悎fcuvk41o枮G垶崪揢cuvkcl}lW[WZ41JW[WZ41crl€ctzn~寭揝G洀寱UGk朑爾淕瀳暃G攲G洊41帎潓G爾淕洀孏t湚彊枛擥i垕帉fc€uqW[W_cl}lW[W[41JW[W[41crl€ctzni湜G悤G檶垞悰燬G爾淕嫋<E6B795>'<27>41檶垞摖G瀳暃G悰SG檺帍沠c€uqW[W\cl}lW[W_41JW[W\41crl€ctzn€枩G瀳暃G悰G洀垱G敎姀fc€uqW[W`cl}lW[W]41JW[W]41crl€ctzn€枩G瀳暃G悰G垑殩摐泴摖G棖殣洂潓摖41晼G攬洓寵G瀼垱fc€uqW[W`cl}lW[W^41JW[W^41crl€ctzni湜G檶垞摖G爾淕嫋昇汫瀳暃41悰SG檺帍沠c€uqW[XWcl}lW[W`41JW[W_41crl€ctzny寛摀爁Gv拡燯cuvkcluk41JW[W`41crl€ctzn€寛廠G瀼朑晫寢欸悰UUUcuvkcluk41JW[XW41crl€ctznm悤孲G弻檶G爾淕帠Hcuvkcjsycnp{XWZZcp{RWWZZcmsRX\]Ycjsy41cjt|WWXWn枦G洀孏dt湚彊枛擥i垕帉dUc~hpWX]Wcuvkcyt|cluk41JW[XX41crl€ctzni <E38080>Ucuvkcluk41JW[YW41crl€ctznc{|ycnp{XWZZz彇瀸婫彁擥洀孏dt湚彊枛擥i垕帉dUcnp{WWWWcjsy41ctznc{|ycjt|WWW[k悓HHcuvkcjsvcmsRX\][41cjuwW\WWaWZXZaWWWWc~hpWWWY41chuwW\WWaWXWWaWWWWckuwW[WW41cizsW\WWcluk41JW\WW41crl€cjt|WWWWchuwW\WWaW\WWaWWW\c~hpWX\W41ctzn€枩G瀽昒UUUUUcuvkcjsycmsTX\][ckuwW\WWcl}lW\WX41JW\WX41cl}lWW_[
|
||||
Binary file not shown.
|
|
@ -1 +0,0 @@
|
|||
ro垥暈時o〔肠〃埠晻暆~Ξ晻晻—畅ro垥暈杛o〔肠〃埠晻暆~Ξ晻晼—畅ro垥暈梤o〔肠〃埠晻暆~Ξ晻晽—畅ro垥暈榬o〔肠〃埠晻暆~Ξ晻晿—畅ro垥暈檙o〔肠〃埠晻暆~Ξ晻暀—畅ro垥枙時o“<EFBFBD>「春晻枛ˇ车晼晻煏晻暉晻晽~Υ晻暀」乏晻槥煏暈櫉晻槝煏晻瀝o垥棔時o〉樊〔脯痹犹憛言犹吰淘憛偻首蕝盐凼蓞苧o芪偃蛥杂呝臀貐呜哑由摗炒﹔o竿蕦貐偻蕝杂蕝芡詤仍迂僮谌偈蓃o偻呜呇魄拮斡偻憛斡呍咨首呝詒o惺收呞貐<EFBFBD>谏呜呎视邮蓞谡摗炒<EFBFBD><EFBFBD>﹔o垥棖時o〉樊〔脯雇首蕝呜吰訁瘦钨呝詤偻呜呉七蕮roи賲偻蕝掌偻呝詤钨呂貐茄匀惺蓃o寝吰呁谔蕝窃谘墒讚〕穿〃狈τ蓞以畚犹呝褪吳在焉首呠在焉ro鞘呄谪賲偻蕝鞘涛佑斡虆运呣在譺o僮纹沿摀摗炒<EFBFBD><EFBFBD>﹔o垥棗時o〉樊~悲枙棔煏棗枴哺<EFBFBD>仆摀搮畬覅复呁谟套迏嗽譺o参椅唐吽咽赝摀摗炒<EFBFBD>ū窂赜嗡藚赜嗡藦〕穿〃狈ro敬簠匾恃褏茀俏賲盐惺叢我翁茡〕穿—畅ro垥棗杛o〉樊〔脯<EFBFBD>捦茠推蛽摀〕穿〃狈驹趯资吽谟愚摗炒<EFBFBD><EFBFBD>﹔o垥棙時o〉樊〔脯<EFBFBD>凼呣在吺凼讌厥视呝褪呍谫匚墒呍藃o偻呜呂匮朴嗓〕穿〃狈雇呜呂匮朴蓞呜吽言瀑斡虆臀掏呂觬o偻蕝匦问負〕穿roω呝詤驮軈钨呉朴铺守呝詤搜云贀摀〕穿ro雇瀑呚嗜资賲盐守呠钨臀訁偻呜ro移呤摗炒<EFBFBD><EFBFBD>﹔o垥棛時o〉樊~悲暅棔煏棛杛o〔脯雇瀑呝恃收宰偈讌咱首呝褪资ro谪噬呝詤鞘呠宰形犹呞淤窝ro茀盐儋咽呠臀咽吰淘摗炒﹔o此吶在棕蕬呂賲馅刭呇噬ro恃厥芡首蕝斡呝褪呇魄拮斡偻摀摗炒<EFBFBD><EFBFBD>﹔o垥棛杛o〔脯雇蕝偈咽赵踪首呚适邑呝詤鞘ro茉仔斡虆釉軗〕穿〃狈此吶在棕蕬呂賲馅刭呇势韶呝詒o卦沂芡首蕝恃厥呂訁偻蕝哑寝孜淤蛻ro稍守訉賲钨ぁ炒<EFBFBD><EFBFBD>﹔o垥槙時o垥槙杛o“<EFBFBD>〔肠〃埠晻暆roˇ车晿枙煏晻枱晻晻~Ξ晻暀ro〃车晿晼煏枛棢晻晻〖Ξ晼晻roˇ车晿枙煏晻暉晻晻ro〔京晻晻々车晿晼「波—畅ro垥槚時o“<EFBFBD>—华晿枛roro垥槚杛o〃车晿晻煏枛枱晻晽…波〖Ξ晻洉ˇ车晿枙煏晻枱晻晻ro〖Ξ晼晻~Υ晻暀」乏晻櫄煏槙枱晻晽煏暁榬o垥檿時o“<EFBFBD>~悲暅棖煏櫀暋哺<EFBFBD>兽呝褪资摗炒<EFBFBD>ū饭臀貐呜呝褪叡魄拮斡偻吀驮諉〕穿ro甘蕝偻载蕝韧守儇呍凼讌偻首胜〕穿吀驮軈沂卦沂吶栽褏苁普杂貐朴蓞拊趨绕訁推凼ro芡瀑屫呂迂紊蕮〕穿—畅ro垥檿杛o“<EFBFBD>〔脯<EFBFBD>ぁ炒<EFBFBD>ū翻兽憛拊趯凼吿再呚砸寿臀犹ro兆寿俎呚瘴怂迏偻首蕮〕穿〃狈<EFBFBD>翟哑讌纲谱吰由吰叓巫是蒲褢ro谟咽刎叜呉呜貐肄吿谑刎摗炒<EFBFBD>ū法朴叜呝菩e吰呏谖刃呇栽袇瀑呝褪窑【朝暀晿〃贝roˇ矑晻晿ro〖Ξ晻棔〔脯‖<EFBFBD>晻晽<EFBFBD>由噬呍凼讌偻蕝翟哑讌纲谱摗炒﹔o‖<EFBFBD>晻晿<EFBFBD>由噬呍凼讌偻蕝<EFBFBD>资瞧蜒摗炒<EFBFBD><EFBFBD>箷晻暋ū穜o「春晻櫃<EFBFBD>驮啞炒<EFBFBD>ū贰<EFBFBD>悤湕枴<EFBFBD>箷晻枴ū穜o」Σ晻晽煏晻枱晻晻〃埠晻枙⒏悠惺<EFBFBD>仍艺咽偈啞鸡畷枦暋炒<EFBFBD>凡骸<EFBFBD>﹔o垥檿梤o“<EFBFBD>~睈暅棖〔脯徹翁蛷〕穿〃狈<EFBFBD>资搮<EFBFBD>軈魄在賲偻呜ぁ炒<EFBFBD>ū贰<EFBFBD>箹晽暋ū穜o〃埠晻枙‘箰晻棔—稅晻暆<EFBFBD>賲偻蕝⒐谧窃韧谱淌<EFBFBD>〖Ξ晼洉〕穿》埠‖<EFBFBD>晻晻〃狈驹趨绕訁推凼呂賲嗽讌俗适摗炒﹔o畢稍訉賲厥蕝朴迏以邮迏杂呣在憆o朴捃妻摗炒<EFBFBD><EFBFBD>﹔o垥檿榬o“<EFBFBD>〔脯〃狈驹趯资呉呜匚犹呍谫啞炒<EFBFBD><EFBFBD>﹔o垥檿檙o“<EFBFBD>~睈暅棖〔脯徹翁蛷〕穿〃狈<EFBFBD>资搮<EFBFBD>軈魄在賲偻呜ぁ炒<EFBFBD>ū贰<EFBFBD>箹晿潯ū穜o〃埠晻枙‘箰晻槤<EFBFBD>賲偻蕝⒓臀邑稳蒲吀倨注啞鸡畷枦暋<EFBFBD>悤枟潯<EFBFBD>悤湕棥炒<EFBFBD>凡骸<EFBFBD>箷晻暋ū矾谪賲茀墒仍灼傥杂憛畬覅扑灼紊憽炒﹔o勤賲拊趯凼吰炎势赊吿再呝褪ro刭自犹守賲苁普杂憛卦呠推賠o恃厥吶朴叜吷预〕穿—畅ro垥櫀時o“<EFBFBD>〔脯雇蕝杂蕝芡詤厥蒲噬呞貐谡呂訁褪资ro呜吰呠钨韧呌埔噬叝视衅摗炒<EFBFBD>ū窊摀и賲钨屫呌再吳嗜期厥呚褪呁瀑守ro谪呍讌朴拶臀犹摗炒﹔o际屪蕝褪资呂訁偻呜呇魄拮斡偻呂觬o宰墒讌僭呎自偈荣呚砸寿臀犹摗炒<EFBFBD>ū窊摀畢稍訉賲资蒲艳呑室室鞘讌芡瀑ro钨呂貐朴抟宰蕬吳谫呝推賹貐蒲裷o孜掏賳〕穿—畅ro垥殨時o“<EFBFBD>ˇ帛晻暀煏殨枴簿<EFBFBD>晻棥复簳暁棥哺<EFBFBD>购翻<EFBFBD>唵啞鸡畷枙暋炒﹔o雇瀑吶褪刭呂貐椅邮啞炒<EFBFBD>ū穜o〔脯竿攒呉蕝茀‖<EFBFBD>晻暀參财韧斡蕝<EFBFBD>英吰由叜屟裷o咽賲拊趨推凼呠推賹貐斡匚墒摗炒<EFBFBD><EFBFBD>﹔o垥殨杛o“<EFBFBD>~悲棜晻煏晻枴<EFBFBD>悧殨暋复簳晽棥ǔ禃殨暉晻棖煏晻暋<EFBFBD>獣殨梤o垥殨梤o—华晻湑ro垥殩時o“<EFBFBD>ˇ帛晻晿煏殩枴簿<EFBFBD>晻棥复簳暁棥哺<EFBFBD>购翻<EFBFBD>唵啞鸡畷枙暋炒﹔o雇瀑吶褪刭呂貐椅邮啞炒<EFBFBD>ū穜o〔脯竿攒呉蕝茀‖<EFBFBD>晻晿<EFBFBD>巫是蒲癣吰由叜屟褏咽賠o拊趨推凼呠推賹貐斡匚墒摗炒<EFBFBD><EFBFBD>﹔o垥殩杛o“<EFBFBD>~悲棜晼煏晻枴<EFBFBD>悧殨枴复簳晽棥ǔ禃殩暉晻棖煏晻暋<EFBFBD>獣殩梤o垥殩梤o—华晻暁ro垥殫時o“<EFBFBD>ˇ帛晻枠煏殫枴簿<EFBFBD>晻棥复簳暁棥哺<EFBFBD>购翻<EFBFBD>唵啞鸡畷枙暋炒﹔o雇瀑吶褪刭呂貐椅邮啞炒<EFBFBD>ū穜o〔脯竿攒呉蕝茀‖<EFBFBD>晻枠⒏遮注吰由叜屟褏咽賲拊趓o推凼呠推賹貐斡匚墒摗炒<EFBFBD><EFBFBD>﹔o垥殫杛o“<EFBFBD>~悲棜晽煏晻枴<EFBFBD>悧殨棥复簳晽棥ǔ禃殫暉晻棖煏晻暋<EFBFBD>獣殫梤o垥殫梤o—华晻潩
|
||||
|
|
@ -1 +0,0 @@
|
|||
=:S``i`=:l}~qls}…```hlvqy````lv|zbdacj``iflu~t=:S``ia=:l}~qls}…```hlvqy```alv|zbdacj``iflu~t=:S``ib=:l}~qls}…```hlvqy```blv|zbdacj``iflu~t=:S``ic=:l}~qls}…```hlvqy```clv|zbdacj``iflu~t=:S``id=:l}~qls}…```hlvqy```dlv|zbdacj``iflu~t=:S``if=:ls}€```bj``baj````ls}€```cj``baj````lu~t=:S``ii=:l{u‰l}~qls}…```h=:lq~€`b``j```aj````lvqy```d=:ls~€`c`aj`aabj```bl‡qy`a``=:lq~€`b``j````j````=:l}‰t````lt~€`c`alƒ}slv|zbdacj``iflu~t=:S`a``=:l{u‰lƒ…``aalq~€`a``j````j```blvq````l}‰t````l„‚q``cij``i`j`aigj``ad=:S`aa0=:l{u‰lƒ…``aalq~€`aa`j````j```blvq```bl}‰t```bl„‚q``ddj``ibj```bj``ac=:=:=:=:S`b``=:lu†u`b`a=:S`b`a=:l{u‰l}ƒwtŸP©Ÿ¥P§‘ž¤P¤ŸP—ŸP¤ŸPq¢¤˜¥¢W£=:˜Ÿ¥£•ol‰~z````ls|=:ls~€`c``j`aaaj```blx}sl‡qy``f`lq~€`b``j```aj````=:l‡qy`a``lvq```dl„‚q```aj``iij```ej```h=:S`c``=:S`c`a=:S`e``=:l{u‰l}‰t```bls}…````lvqy```blv|qlƒ…``bil‡qy``e`=:l}ƒwol~tls|lq~€`e``j``a`j````l‡qy`ac`lƒ…``bcl‡qy``b`ls}…```h=:lv|]`ebclv|[`gd`lt~€`e``lu~t=:S`e`a=:l{u‰lƒ…``bblv|z`gdaj```alv|[`gdals~€`e`aj``baj````lu†u`e`b=:S`e`b=:lu†u``fh
|
||||
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
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue