Compare commits

...

466 commits

Author SHA1 Message Date
duncathan salt 03be08f0a2
Merge pull request #188 from duncathan/fix/tow-rope-mw
fix tow rope item location not always sending in MW
2025-05-03 17:42:28 -06:00
duncathan 1c35a17717 fix tow rope item location not always sending in MW 2025-05-03 17:40:25 -06:00
duncathan salt 5e6321dd55
Merge pull request #184 from cave-story-randomizer/duncathan-patch-1
Fix error handling in TscFile:_getLabelPositionRange()
2024-12-18 15:25:03 -06:00
duncathan salt 1a632137db
Fix error handling in TscFile:_getLabelPositionRange()
Fixes #180
2024-12-18 15:24:06 -06:00
duncathan salt 08f0c555f5
Merge pull request #182 from duncathan/auto-version
Automatically update in-game version on release
2024-12-18 15:23:01 -06:00
duncathan fad711364b add patch to read version from file 2024-12-18 15:12:48 -06:00
duncathan 902dcd71d9 Merge remote-tracking branch 'github/master' into auto-version 2024-12-18 14:52:04 -06:00
duncathan salt 140f892222
Merge pull request #181 from duncathan/typing
typing fixes and schema validation
2024-12-18 10:32:06 -06:00
duncathan b919a44e14 workflows for validation 2024-12-18 10:31:11 -06:00
duncathan ab1db92c40 fix mychar pattern 2024-12-18 10:10:14 -06:00
duncathan 6e27d66b06 bump python version in workflow 2024-12-18 00:03:24 -06:00
duncathan 6e9edf4290 typing fixes and schema validation 2024-12-17 21:25:33 -06:00
duncathan 45586f9a95 automatically update version number 2024-12-17 19:25:32 -06:00
duncathan salt 0a93bf3867
Update python.yml 2024-12-05 15:16:59 -06:00
duncathan salt 268209bff0
Merge pull request #179 from duncathan/fixes
Fixes
2024-12-05 15:05:10 -06:00
duncathan dab4ba4baa "document" undocumented patches 2024-12-05 15:03:04 -06:00
duncathan 43cb531c41 fix the alt-tab crash for real 2024-12-05 15:00:51 -06:00
duncathan a95c51c9c3 add ikuyo and kleckser to rando credits 2024-12-05 14:48:19 -06:00
duncathan 5bc2db4b58 moves the helper block in Weed lower to make the jump easier
also runs the CMP correctly on all entrances to Grasstown, including loading saves
2024-12-05 14:26:42 -06:00
duncathan 6bf382b6b0 removes the block in jail no. 1 when loading saves in there 2024-12-05 14:20:09 -06:00
duncathan 18a0eb77e4 fix plantation curly item not sending in MW in some circumstances
when collecting this item without either the mushroom badge in your inventory or the mimiga mask equipped, it would fail to send
2024-12-05 14:10:44 -06:00
duncathan salt ebf96d7d2f
Merge pull request #177 from calvarado194/tweaked
Bump Tweaked to v1.6
2024-05-27 07:03:06 -06:00
ikuyo 483585cd21 Updated several sprites from Lethrys. Added the missing item sprites back to casts.bmp. Removed spurious files. 2024-05-27 00:50:11 -04:00
duncathan salt 2ac159cd9c
Merge pull request #178 from periwinkle9/update-mw-dll
Update multiworld DLL to v1.2
2024-05-26 14:15:06 -06:00
periwinkle 1bade28b09 Include settings.ini for freeware multiworld DLL 2024-05-26 15:38:26 -04:00
periwinkle 8617fc3a0c Update multiworld DLL to v1.2 2024-05-26 11:16:42 -04:00
ikuyo 75317390eb Updated version on title screen 2024-05-25 02:23:12 -04:00
ikuyo e7eaf7f2ee Removed redundant file 2024-05-25 02:07:36 -04:00
ikuyo e0058a66ca Bump to Tweaked v1.6 2024-05-25 01:33:39 -04:00
duncathan salt 106e520a32
Merge pull request #176 from calvarado194/tweaked
Several fixes to graphical issues when playing over a freeware export. Windows build should not require DLLs anymore.
2024-03-13 17:59:06 -06:00
ikuyo dab682c263 Merge branch 'tweaked' of https://github.com/calvarado194/cave-story-randomizer into tweaked 2024-03-13 20:55:43 -03:00
ikuyo 91043f453b oops now the actual builds lol 2024-03-13 20:54:48 -03:00
Ema Alvarado 396c461738
Merge branch 'cave-story-randomizer:master' into tweaked 2024-03-11 22:51:18 -03:00
ikuyo 8d129d39c4 Tweaked prioritizes its own png files over vanilla's bmp files when overwriting an existing freeware export. Added imports to avoid needing DLLs 2024-03-11 22:50:04 -03:00
ikuyo 33f12180ae Fixed ItemImage missing the rando aggregator items on Tweaked builds 2024-03-09 19:55:41 -03:00
duncathan salt 83a7b13674
Merge pull request #175 from henriquegemignani/feature/lupa
Use randovania-lupa instead
2024-03-07 15:27:53 -06:00
Henrique Gemignani Passos Lima d6ca45ba01
Use randovania-lupa instead 2024-03-07 22:27:52 +02:00
duncathan salt d70e9214dd
Merge pull request #174 from calvarado194/tweaked
Fix: Missing Graphics in StageImage, fixed issues with config files.
2024-03-05 14:12:59 -06:00
ikuyo 925b8563bf Fixed several config issues. Added missing graphics for StageImage 2024-03-05 11:58:49 -03:00
ikuyo e3b44f719a improved sprites for StageSelect upscale 2024-03-02 17:08:30 -03:00
ikuyo 7371f18cdd Added missing Armory graphics for StageSelect 2024-03-02 13:32:09 -03:00
duncathan salt 409aa7fed9
Merge pull request #173 from calvarado194/tweaked
Support Cave Story: Tweaked as an export
2024-01-27 18:33:40 -06:00
ikuyo 0e44bbcb74 Exporter now checks OS it's running under and bundles only the executable required for the target OS 2024-01-20 00:37:56 -03:00
ikuyo 6d6426ff05 Moved shared data files out of Tweaked/Freeware and into data pre_edited_cs. Patcher moves data files from that folder into the respective build. Freeware files have been kept to ensure BL compatibility. 2024-01-14 19:11:21 -03:00
ikuyo 5358ef9fc6 Removed unnnecessary files 2024-01-14 17:10:44 -03:00
ikuyo 20dd317a09 Removed unneeded patcher_data.json file. Moved CSPlatform enum out of rdv and into the patcher class. 2024-01-13 18:36:11 -03:00
ikuyo 81202a77eb deleted a TON of redundant files 2024-01-13 18:18:59 -03:00
ikuyo bfc491b977 Replaced files for upscale with the Lethrys versions for Rando. Added code to handle exporting upscaled mychar. 2024-01-09 19:28:33 -03:00
ikuyo 6e0dfdac37 Added initial draft for CS:Tweaked exporter 2024-01-05 00:07:59 -03:00
duncathan ad4c5bbee6 a couple fixes 2023-10-14 14:43:23 -06:00
duncathan 3ada39e69a add py.typed 2023-10-13 22:12:24 -06:00
duncathan 69df56ec09 bump version number 2023-10-13 13:59:29 -06:00
duncathan salt 0ee86f3df0
Merge pull request #171 from duncathan/feature/multiworld
Multiworld
2023-10-13 13:51:13 -06:00
duncathan 6f99626e4d update to CSMultiworldDLL v1.0 2023-10-13 13:44:01 -06:00
duncathan c671f1b1dc bookshelf in prefab house now returns you to prefab building 2023-10-13 13:42:43 -06:00
duncathan 01082581a8 more fixes 2023-10-12 22:04:14 -06:00
duncathan db760f1710 fix 2023-10-12 19:15:13 -06:00
duncathan ab605182cf update credits 2023-10-11 15:08:42 -06:00
duncathan d27ae7d457 hopefully fix race condition when saving 2023-10-11 15:08:35 -06:00
duncathan 753e67faa0 multiworld!!!!! 2023-10-11 00:56:21 -06:00
duncathan salt c9c4bf1e10
Merge pull request #170 from cave-story-randomizer/patcher
merge patcher branch into main
2023-06-19 16:51:07 -06:00
duncathan salt 4d06730cf9
Update README.md 2023-06-19 16:50:34 -06:00
duncathan 24bb760bc0 bump CSVERSION 2022-01-23 19:17:15 -06:00
duncathan d291c3bd1d add <KEY to debug cats 2022-01-23 19:16:50 -06:00
duncathan 4315246bc1 fix megane not accepting consolidated sprinklers 2022-01-17 15:55:22 -06:00
duncathan e3217bbb32 changes for softlock debug cats 2022-01-17 15:48:52 -06:00
duncathan 75161d4491 actually i was wrong; i was just handling length wrong 2022-01-11 22:34:39 -06:00
duncathan aa32fa15d9 fix an off-by-one error that predates me 2022-01-11 22:25:44 -06:00
duncathan 4c2eedb155 maybe fix text wrapping in hints 2022-01-11 21:54:58 -06:00
duncathan 56d4554789 use <NUM0000 instead of hardcoded numbers for missile expansion text 2022-01-11 20:46:45 -06:00
duncathan c25e8d4c27 better error messages for failures in tsc_file.lua 2022-01-11 20:39:28 -06:00
duncathan 04a51779f4 slightly change head for easier replacing of life capsule events 2022-01-11 20:16:11 -06:00
duncathan salt 65472dfd78
skip love-release, use love directly 2022-01-11 17:31:24 -06:00
duncathan salt 02f5f3ea5e
use it directly? 2022-01-11 16:50:51 -06:00
duncathan salt b8ac34d683
try adding luarocks to PATH for daily 2022-01-11 16:47:39 -06:00
duncathan salt c4efb015eb
try sudo 2022-01-07 20:41:05 -06:00
duncathan salt 1daae46f65
fix luarocksVersion in daily workflow 2022-01-07 20:28:16 -06:00
duncathan salt d1221df9fb
Merge pull request #169 from cave-story-randomizer/stable
merge malco changes to master
2022-01-07 20:25:44 -06:00
duncathan ad204a3bc7 explicitly run MALCO on the stable branch 2022-01-07 20:25:18 -06:00
duncathan c1d39f7296 allow manual daily workflow calls 2022-01-07 20:11:45 -06:00
duncathan f7190478cd i am a fool 2022-01-07 19:56:58 -06:00
duncathan f7ff04ac79 convert MALCO to github actions 2022-01-07 19:53:34 -06:00
duncathan c5bfc84257 fix text wrapping for consolidation items 2021-12-10 20:58:15 -06:00
duncathan 9af7ea8336 fix <ITJs for consolidated items 2021-12-10 20:15:19 -06:00
duncathan 03e3d66add add consolidation items to prevent inventory max-out 2021-12-10 19:59:03 -06:00
duncathan 36ef32dc61 add consolidation item sprites (keyring courtesy of Taiki) 2021-12-10 19:14:58 -06:00
duncathan eb4cf55627 add needles to other_tsc 2021-12-10 19:14:22 -06:00
duncathan 3a04c8e228 support patching other TSC files 2021-12-10 03:05:51 -06:00
duncathan 1513d3f068 adds a tribute to Arthur's grave. in memory of Kenzo. 2021-12-10 01:34:23 -06:00
duncathan 82cfca5f8d a few small changes 2021-12-10 01:32:28 -06:00
duncathan a02de3c01a ok I swear this'll be the last one tonight 2021-12-08 01:11:50 -06:00
duncathan b9191b132f sorry for spamming #project-updates i forgot something obvious 2021-12-08 00:45:26 -06:00
duncathan 24a1f0eb49 fix pyinstaller hook 2021-12-08 00:42:20 -06:00
duncathan 42f4e74c85 add pyinstaller hook 2021-12-08 00:12:16 -06:00
duncathan 46f7d13f70 rename pre-edited-cs -> pre_edited_cs 2021-12-08 00:09:45 -06:00
duncathan b235d47f74 fix hints 2021-12-06 02:20:16 -06:00
duncathan 55ae1250a0 add scripts for non-progressive items 2021-12-04 00:45:18 -06:00
duncathan 08fe90b770 support patching hints 2021-12-01 02:44:05 -06:00
duncathan 61407e6e0e fix workflow 2021-12-01 01:46:24 -06:00
duncathan a344869392 update gitignore and workflow 2021-12-01 01:28:14 -06:00
duncathan e38dcdb197 fix patcher functionality (hints TODO) 2021-12-01 01:28:01 -06:00
duncathan ea83e7643f fix workflow 2021-11-30 22:54:16 -06:00
duncathan 0ef7042a60 add workflow 2021-11-30 22:49:52 -06:00
duncathan 137e30edcc remove unnecessary files 2021-11-30 22:39:57 -06:00
duncathan bd8e4889fa add patcher scripts 2021-11-30 22:37:50 -06:00
duncathan 05409023cd rename src -> caver 2021-11-30 20:51:31 -06:00
duncathan 105fd7eac1 add python package files 2021-11-30 20:49:36 -06:00
duncathan salt 943ac7a61e
Merge pull request #167 from Fayti1703/patch-trunc
Properly truncate utf-8 text
2021-09-28 10:03:57 -06:00
Fayti1703 1018d1c46c Properly truncate utf-8 text
Simply slicing byte-wise produces illegal sequences --
throw away any leftover illegal sequences as well.
2021-09-28 13:42:34 +02:00
duncathan cedd865e24 fix softlock from entering storehouse before getting jenka's item 2021-09-23 22:39:20 -06:00
duncathan 06776a7828 fix teleporter icons disappearing
air tank equip flag was colliding with the range used for multiple SLPs hack
2021-09-23 22:36:08 -06:00
duncathan 2a042c24e4 fixes crash when exiting game 2021-09-23 22:21:07 -06:00
duncathan 347bfcdc57 fix all bosses completable logic 2021-09-23 22:12:39 -06:00
duncathan salt 0f4d0ee04c
Merge pull request #166 from Brayconn/master
Added flag list output from TKT
2021-09-12 22:07:52 -06:00
Brayconn 168737fc52 Added flag list output from TKT 2021-09-12 20:58:34 -07:00
duncathan e49606f1b8 increase version number 2021-07-26 22:27:22 -06:00
duncathan b5f7c9eddd adds WIP kero blaster orgs courtesy of CoryWelchMusic 2021-07-26 22:16:15 -06:00
duncathan d76b811fda adds options for random and custom mychars 2021-07-26 21:03:50 -06:00
duncathan salt bbfa4e5661
Merge pull request #164 from duncathan/completable
add completable logic
2021-07-26 20:38:11 -06:00
duncathan 6b07edf4ef Merge branch 'master' into completable 2021-07-26 20:37:38 -06:00
duncathan 6ad63828c9 fix sphere logging (oops) 2021-07-26 20:33:43 -06:00
duncathan d576f7e275 adds completable logic to UI, adjusts settings UI 2021-07-26 20:32:39 -06:00
duncathan 5f9d957c9c fix sphere logging (oops) 2021-07-26 20:32:12 -06:00
duncathan d72738d474 makes the title screen hash into a real hash 2021-07-26 17:59:47 -06:00
duncathan 4b57793746 proj files 2021-07-26 17:32:09 -06:00
duncathan aa1dadef18 splits sphere analysis and logging into separate functions 2021-07-26 17:32:09 -06:00
duncathan ea6549139c adds sphere analysis 2021-07-26 17:32:09 -06:00
duncathan 170e60dcdd starts work on completable logic 2021-07-26 17:32:09 -06:00
duncathan 0f4d4d23fa makes the title screen hash into a real hash 2021-04-05 20:04:06 -06:00
duncathan salt d280a76d90
Merge pull request #159 from duncathan/quickfixes
fixes pt 5
2021-04-02 00:30:06 -06:00
duncathan 1cd3e0d381 fixes the memory leak i made? maybe? lol 2021-04-02 00:15:21 -06:00
duncathan 5cd8fdddc2 splits out item hint initialization into its own function for clarity 2021-04-01 22:22:34 -06:00
duncathan c9e8d0452d reduces size of MAX_STRIP to 0x40 instead of 0x7F
this technically introduces a memory leak which increases memory usage each time credits are rolled, but it's pretty insignificant imo
2021-04-01 22:22:34 -06:00
duncathan 081d7e8f25 fixes drowning sprite displaying on new game 2021-04-01 21:11:43 -06:00
duncathan e6a7e062f8 fixes numahachi hint (again) 2021-04-01 20:41:24 -06:00
duncathan bd061957f2 remove checks for fireball/snake in softlock checks 2021-04-01 20:40:15 -06:00
duncathan 24fb2f6c8e presses save in vscode
(actually implements the softlock debug cats, lmao)
2021-04-01 20:03:37 -06:00
duncathan salt 9ff300848c
Merge pull request #158 from duncathan/quickfixes
fixes pt. 4
2021-03-31 05:25:11 -06:00
duncathan 55c0c11a4b fixes credit event labels in flag_listing.txt 2021-03-31 04:57:21 -06:00
duncathan fd490d7b6f adds flag listing, removes empty file 2021-03-31 04:47:40 -06:00
duncathan 2ef19b8409 exports mrmap.bin after stage table changes
stage table was changed in 8fb4710c8e
2021-03-31 04:34:10 -06:00
duncathan a1f825681e fixes #106
adds debug cat entity to save players from softlocks which spawns upon saving/loading a save (both calling <MPJ0098) in situations where a softlock may be happening

also edits npc.tbl to make smoke not create smoke when deleted (lol) and calls <DNA0004 after the CMPs in MazeB and MazeO
2021-03-31 03:33:23 -06:00
duncathan e3efb864b1 sets credit missile launcher flag when 24-pack is your first pickup 2021-03-31 00:07:11 -06:00
duncathan f62d54fe98 character draws normally when drowning after core fight 2021-03-31 00:04:40 -06:00
duncathan 1f44720d31 closes message box during egg teleport 2021-03-30 23:46:19 -06:00
duncathan 6ffe9b3a84 commits the numahachi hint change properly lol 2021-03-30 23:44:24 -06:00
duncathan salt 2619ce5377
Merge pull request #157 from duncathan/quickfixes
finally adds the font file to fix cse2 compat fr
2021-03-30 05:42:11 -06:00
duncathan 063f2ce0a9 finally adds the font file to fix cse2 compat fr 2021-03-30 05:41:11 -06:00
duncathan salt 9c879e0c74
Merge pull request #155 from duncathan/quickfixes
fixes pt 3
2021-03-30 05:29:19 -06:00
duncathan 969353a277 malco will give you his item immediately if you have the reqs 2021-03-30 05:23:43 -06:00
duncathan 689130b536 fixes #141, adds prebuild hints for jenka and numahachi 2021-03-30 05:20:03 -06:00
duncathan ea3a022208 one last fix for red demon chest lol 2021-03-30 04:47:41 -06:00
duncathan 061a8d45e0 triggers room-load CMPs even when loading save files
holy shit I deadass used map flags
2021-03-30 03:22:09 -06:00
duncathan 29802c3cb4 adds airstream at bottom of outer wall when entering from above (#106) 2021-03-30 03:12:58 -06:00
duncathan 2195323b75 fixes #126, drowning sprites are in MyChar.bmp (with mimiga mask) 2021-03-30 02:56:09 -06:00
duncathan 8fb4710c8e fixes #114, adjusts bad ending credits sequence
also updates the mychar so that dragons are visible in unmodified mychar for testing
2021-03-29 20:10:37 -06:00
duncathan salt afbb107b3a
Merge pull request #148 from duncathan/credits
End Screen Overhaul
2021-03-29 19:03:08 -06:00
duncathan befa3d360f fix rusty key display 2021-03-29 19:02:46 -06:00
duncathan 7f97841714 Merge remote-tracking branch 'github/master' into credits 2021-03-29 18:47:54 -06:00
duncathan salt 4e3de4071f
Merge pull request #151 from duncathan/arsenal
overhauls arthur's arsenal
2021-03-29 18:41:08 -06:00
duncathan c063ee7b20 allows trading weapons on collection 2021-03-29 18:40:27 -06:00
duncathan cda8d3b568 converts arthur's arsenal to <SLP menu 2021-03-29 18:39:17 -06:00
duncathan salt 2bcd0a40aa
Merge pull request #154 from duncathan/quickfixes
more fixes
2021-03-29 18:36:36 -06:00
duncathan 03e1955b2f properly fixes red demon refight 2021-03-29 18:34:30 -06:00
duncathan 7c5fd92aa9 properly fixes jenka puppies 2021-03-29 18:28:07 -06:00
duncathan 5bb304d1f8 fixes #153 2021-03-29 18:26:44 -06:00
duncathan a325765c63 fixes #152 2021-03-28 21:02:40 -06:00
duncathan 00f29cb90c fixes #117 2021-03-28 20:56:33 -06:00
duncathan d1a270b234 properly fixes debug cat in pixel house 2021-03-28 20:49:15 -06:00
duncathan d3c73177e5 fixes further credit issues 2021-03-28 20:29:26 -06:00
duncathan salt e576e897db
Merge pull request #149 from duncathan/quickfixes
Bunch of small fixes
2021-03-28 18:25:45 -06:00
duncathan 9c4d3264a9 updates MALCO
- renames Puppy option for dailies
- properly applies sequence break settings
- adjusts weights to make for more friendly dailies on average
2021-03-26 06:01:05 -06:00
duncathan 5e08b8fcd1 updates MALCO
- renames Puppy option for dailies
- properly applies sequence break settings
- adjusts weights to make for more friendly dailies on average
2021-03-26 05:59:52 -06:00
duncathan 8a11ff4da7 fixes #122 2021-03-26 04:55:10 -06:00
duncathan 12f1dc1bb1 fixes death counter behavior when reloading new file 2021-03-25 20:29:23 -06:00
duncathan 8b0c4c0541 fixes counter bugs - item, HP, missile, and death counter all work now 2021-03-25 20:29:23 -06:00
duncathan a06d49d87f increases space between death counter and inventory display 2021-03-25 20:29:23 -06:00
duncathan 5acbe41fc2 implements death counter fully 2021-03-25 20:29:23 -06:00
duncathan e5ef1c7924 adds death counter to credits, initializes hp counter at spawn 2021-03-25 20:29:23 -06:00
duncathan b8628a7a2c inventory display in credits 2021-03-25 20:29:23 -06:00
duncathan f2158589ba allows negative vertical offsets in credits 2021-03-25 20:29:23 -06:00
duncathan b1e9b4d1c3 rename hack folder 2021-03-25 20:29:23 -06:00
duncathan 5b6b353fff increases stripper limit from 16 to 127 2021-03-25 20:29:23 -06:00
duncathan b5115d4d03 first pass at hacking credits to expand 16-entry on-screen limit 2021-03-25 20:29:23 -06:00
duncathan d1ecb67666 first attempt at inventory display in credits 2021-03-25 20:29:23 -06:00
duncathan 57b5f32705 tiny change to bad ending credits 2021-03-25 20:29:23 -06:00
duncathan 4351467e38 expands casts.bmp to 2x height 2021-03-25 20:29:23 -06:00
duncathan salt 4624065639
Merge pull request #150 from duncathan/hack-documentation
adds copies of hacks used
2021-03-25 19:13:27 -06:00
duncathan 6158433ed3 adds copies of hacks used 2021-03-25 19:12:53 -06:00
duncathan b481be5357 fixes #132 2021-03-25 16:37:41 -06:00
duncathan 6e6de0d7c1 fixes #118 2021-03-25 16:33:39 -06:00
duncathan d81b944e77 fixes #119 2021-03-25 16:29:22 -06:00
duncathan adb7135881 fixes #128 2021-03-25 16:28:30 -06:00
duncathan df8257a2aa fixes #129 2021-03-25 16:22:36 -06:00
duncathan 915856a71a fixes #131 (pixel house sparkly bug)
also changes sparklies for teleportation into debug cats
2021-03-25 16:21:04 -06:00
duncathan 707e44a398 fixes #134 2021-03-25 16:15:08 -06:00
duncathan 6442cc6000 fixes #144 2021-03-25 16:10:39 -06:00
duncathan salt 277e3e2c4c
Merge pull request #146 from HapaxL/pawprint_spot_hints
Pawprint Spot hint bug fix
2021-03-25 16:04:29 -06:00
duncathan salt 5f99facdd3
Merge pull request #147 from HapaxL/code_formatting
First Cave requirements reformatting
2021-03-25 16:04:13 -06:00
duncathan salt 5e7d3a6269
Merge pull request #145 from HapaxL/obj_dependent_seeding
fixes issue with 100% and Best Ending producing the same results with the same seed
2021-03-25 16:03:20 -06:00
duncathan bc5b2c657d update gitignore for more robust profile ignores 2021-03-15 20:22:11 -06:00
HapaxL 061a9ce57c added comments to not forget DO NOT FORGET 2021-03-02 11:17:43 +01:00
HapaxL 65cd5a1d8b reformatting first cave access requirements
in prevision of entrance rando, and also to remove redundancies
2021-03-02 11:10:55 +01:00
HapaxL 5a7fe8a25a fixed Pawprint Spot hint bug
fixed previously unnoticed King hint bug
2021-03-02 03:53:40 +01:00
HapaxL 67bf6706fc fixed issue with 100% and Best Ending producing the same results with the same seed.
also made it more efficient.
2021-03-02 03:05:05 +01:00
duncathan 0a12d846c5 changes name of puppy shuffling option 2021-01-28 22:07:11 -06:00
duncathan 10bfd01bac fixes map system in bad ending/normal ending 2021-01-28 21:48:44 -06:00
duncathan salt 60b512b365
Merge pull request #123 from HapaxL/sky_dragon_mychar
Smalrog
2021-01-28 21:06:43 -06:00
duncathan salt 90b64d8917
Merge pull request #124 from Giftfox/chaco-mychar
Chaco mychar added
2021-01-28 21:06:18 -06:00
duncathan salt 386bcc477b
Merge pull request #125 from Giftfox/cast-change
Robin contributor icon change
2021-01-28 21:05:12 -06:00
duncathan salt 51c8ad2a44
Merge pull request #130 from HapaxL/puppycarryfixes
Puppy carry sprite fixes
2021-01-28 21:04:45 -06:00
HapaxL 9209f9992e fixes puppy carry sprite being displayed at the beginning of normal ending (helicopter scene) 2020-12-16 02:40:12 +01:00
HapaxL 420e506cf0 various minor changes for puppy carry sprites:
- puppy appears immediately when you obtain it
- puppy disappears immediately when you give all puppies to jenka
- puppy is always behind curly when both are carried
- grabbing curly immediately puts her in front
2020-12-15 09:33:25 +01:00
HapaxL dcae310995 removes carried puppy sprite in jenka's house after the all-puppies cutscene 2020-12-13 11:19:55 +01:00
HapaxL fb54ffdef6 removes floating puppy from normal ending 2020-12-13 11:18:11 +01:00
HapaxL f06245f2d3 replaces default Whimsical Star sprites for the Misery MyChar. 2020-12-07 05:36:55 +01:00
Robin 31a65e1e1d Robin contributor icon change 2020-12-06 20:40:49 -05:00
Robin e630e62e02 Chaco mychar added 2020-12-06 19:41:20 -05:00
HapaxL 92c82f20a9 Merge branch 'master' of https://github.com/cave-story-randomizer/cave-story-randomizer.git into sky_dragon_mychar 2020-12-07 01:13:27 +01:00
HapaxL afb6fefb93 replaces default puppy with Smalrog in Misery's MyChar 2020-12-07 01:09:25 +01:00
duncathan salt e4594fbb82
Merge pull request #116 from duncathan/camp
Makes Camp chest accessible from inside Camp in Camp seeds
2020-12-06 18:06:55 -06:00
duncathan salt 7bfeb7952b
Merge pull request #112 from HapaxL/sky_dragon_mychar
adds sky dragon to MyChar (for normal ending)
2020-12-06 18:06:30 -06:00
HapaxL 194641f06d adds sky dragon to MyChar (for normal ending) 2020-12-07 00:57:39 +01:00
duncathan f3d666efef Makes Camp chest accessible from inside Camp in Camp seeds
fixes #105
2020-12-06 17:57:10 -06:00
duncathan salt 2708aef353
Merge pull request #111 from duncathan/hints
improves hints, fixes #109
2020-12-06 17:43:35 -06:00
duncathan salt b589934e71
Merge pull request #103 from Robinnium/master
Added <WAI0040 to reservoir -> waterway confirmation
2020-12-06 17:43:10 -06:00
duncathan 75a69441fe improves hints, fixes #109 2020-12-06 17:40:54 -06:00
Robin 4aa35092a3 Added <WAI to waterway -> labyrinth confirmation, stopped relevant sparkly from vanishing 2020-12-06 17:35:53 -05:00
duncathan salt 3c71d0ac9b
Merge pull request #104 from Robinnium/puppy-side-room
Side room dog exists again
2020-12-06 16:29:38 -06:00
duncathan salt d85e02a06b
Merge pull request #100 from HapaxL/master
add option to remove falling blocks in Hell B2
2020-12-06 16:26:41 -06:00
duncathan salt 65b4d76a45
Merge pull request #110 from duncathan/oneliners
a few one-line fixes
2020-12-06 16:26:16 -06:00
duncathan 382fffdca9 a few one-line fixes 2020-12-06 16:07:48 -06:00
Robin c443f33dad Side room dog exists again 2020-12-06 16:22:20 -05:00
Robin 09eae80dfb Added <WAI0040 to reservoir -> waterway confirmation 2020-12-04 01:37:16 -05:00
HapaxL 4ca549f1e7 Merge branch 'master' of https://github.com/cave-story-randomizer/cave-story-randomizer.git
# Conflicts:
#	pre-edited-cs/data/Stage/Hell2.pxe
2020-12-02 09:17:25 +01:00
duncathan salt b71cf74e73
Merge pull request #99 from Fayti1703/patch-cse2
Fix mrmap.bin
2020-10-18 05:53:32 -06:00
duncathan salt 4b14645fb9
Merge pull request #98 from Fayti1703/patch-puppies
Allow puppies to be visibly carried everywhere
2020-10-18 05:53:15 -06:00
HapaxL 900992db5f add option to remove falling blocks in Hell B2
thank god
2020-07-16 22:39:32 +02:00
Kayo 0213e35cb4 Fix mrmap.bin 2020-03-15 22:49:38 +01:00
Kayo 657670737c Add Puppy entities to all maps 2020-03-15 22:48:46 +01:00
Kayo 68aa8ec09d Add Puppies to MyChars 2020-03-15 22:47:44 +01:00
Kayo 4ef9558ea1 Modify carried puppy to use MyChar.bmp 2020-03-15 22:45:37 +01:00
duncathan 2c5ad7dafb adds misery mychar courtesy of hiino 2020-03-14 00:06:46 -06:00
duncathan salt f8eedf4e28
Merge pull request #97 from cave-story-randomizer/dail
fix dailies
2020-03-13 03:48:00 -06:00
duncathan 8fb4630a62 cron only 2020-03-13 03:46:03 -06:00
duncathan b4c3799999 fix inconsistencies between dailies 2020-03-13 03:42:12 -06:00
duncathan 67e3154b97 fix 2020-03-13 03:31:02 -06:00
duncathan 4e697ff787 oop 2020-03-13 03:26:02 -06:00
duncathan 4c0b005e18 idk what i broke lol 2020-03-13 03:25:12 -06:00
duncathan 9a7dac435d go back to what worked 2020-03-13 03:01:43 -06:00
duncathan e1b24f451d what happened to travis 2020-03-13 02:46:23 -06:00
duncathan bc8dbbd627 travis issue? 2020-03-13 02:37:44 -06:00
duncathan 77ee541c56 increase version number 2020-03-13 02:23:17 -06:00
duncathan 763d43cd4b turns peri's image into a cs edit 2020-03-13 02:19:16 -06:00
duncathan salt 0606e54105
Merge pull request #95 from duncathan/linux
fix linux cse2
2020-03-13 02:05:13 -06:00
duncathan 2efcf8e911 fix linux cse2 2020-03-13 02:03:31 -06:00
duncathan 5645fe3064 update travis for release deployment (mac and linux only)
fix travis... again


update travis yml to match spec


skip cleanup


continued travis work for releases


reorder travis


messed up syntax


one day i'll figure this shit out


?


let's walk it back a step


icon replacement for windows


diff wine


seriously


maybe this way?


getting there


wineboot


run wine through xvfb


diff repo


apt-key


xvfb -a


wineprefix?


is sudo killing me


try try try


wineboot


no more xvfb


wineboot again


maybe?


mkdir


im just throwin things at the wall


docker


docker 2


wineconsole


WINDOWS???


fix


package name


is this necessary?


luarocks directory


PROPER proper lua directory


7zip x


debugs


cmd


cmd.exe


escape?


more cmd


bat file


more cmd.exe


hopefully this caches stuff


exact paths


install lua through pacman


mw


different luarocks


ooops


pray for cache


try again


conditionals


trailing semi


verbatim block


better cache


keep tryin


fix extract


use chocolate lua


update env


fafffffff


af


silly


windows style paths


self lua


windows path


this is a hack


this is all magic


hererocks again???


path


bat


ooooops


oops again


more path nonsense


lol


?


i don't understand


hmmm
Auto stash before rebase of "github/master"
afaooigasb


mingw


try try again


manual install libzip


i give up
2020-03-13 01:34:17 -06:00
duncathan 55fda5d4f9 increase version number 2020-03-08 22:31:19 -06:00
duncathan salt 79dcf36934
adds out of the box support for cse2 (#93)
Co-authored-by: duncathan <dunc@duncathan.com>
2020-03-08 22:25:16 -06:00
duncathan salt e77239387c
working on travis builds (#92)
* working on travis builds

* fix

* sudo

* install libzip

* ?

* dev

* hererocks

* idk man

* asda

* reorder

* source?

* sudo again

* etsts

* why won't activate work

* su

* no su

* manual path

* whoops

* use the proper build dir

* set up deployment (hopefully)

* proper release directory

* jk what is it

* should be this

* forgot one

Co-authored-by: duncathan <dunc@duncathan.com>
2020-03-08 22:07:58 -06:00
duncathan 13a503e696 hopefully fixes #87 2020-03-08 17:55:24 -06:00
duncathan 866e9d3ee0 special hints: fixes #89, fixes #83 2020-03-08 17:47:57 -06:00
duncathan 8754ed6b9d credits fixes: fixes #90, fixes #91, fixes #88 2020-03-08 16:59:23 -06:00
duncathan 03c082ae5b makes 100% completable at balcony 2020-03-08 16:27:24 -06:00
duncathan salt 734f772164
adds daily challenges, posted to discord via ~~travis~~MALCO (#86)
* sets up travis for daily challenges

* separate push from cron

* whoops

* windows env

* i have no idea how to effectively test travis builds

* sdgahhetheah

* tests

* possible fix

* we'll get there one day

* this is the one

* trying something different

* why not

* sdgsgs

* please?

* yet another angle

* why why hwhy why

* oh ok this makes sense tho

* i'm silly

* aafasfadf

* wtf is xvfb fr

* screen?

* testing something...

* ?

* idk man

* timeout

* is it a zip thing

* this might be it

* oh we're so close

* quote?

* alternate method to read

* for the record i am definitely squashing before this gets merged

* more tests

* try something new

* how bout this one. donk

* to be clear i have no idea how bash syntax works

* hmmmm

* maybe this way

* keep tryin

* tst

* verbosity

* one last tiiiiiime, relax have a drink with me

* one last tiiiime, and if we get this right

* we're gonna teach em how to say goodbye

* YOUUUU AND IIIIIIIII

* (drum fill)

* pick up a pen start writing

* i wanna talk about what i have learned

* the hard-won wisdom i have earned

* i have no idea

* lol

* is it quotes' fault

* stack echange blowing my mind rn

* @filename be like

* this is the one

* should be the final update to daily

* fix bash error

Co-authored-by: duncathan <dunc@duncathan.com>
2020-03-08 16:24:11 -06:00
duncathan 9b24429db7 nice 2020-03-08 14:15:37 -06:00
duncathan salt b4de34f4c8
Merge pull request #84 from periwinkle3125/platform-independent-sharecodes
Change sharecode format to be platform-independent
2020-03-08 14:12:25 -06:00
duncathan salt ba8a2f61d3
Merge pull request #85 from periwinkle3125/fix-linux
Fix running on Linux
2020-03-08 14:11:48 -06:00
duncathan dc7111f0c3 optimizes map sys script space to prevent TSC overflow in non-freeware 2020-03-08 14:07:47 -06:00
Perry Lee a924fbd63e Fix running on Linux
I think.
Hopefully.
2020-03-08 16:07:47 -04:00
periwinkle 23be631cac Make sharecodes platform-independent
Resolves the issue of sharecodes generated with the 32-bit version
of LÖVE being incompatible with the 64-bit version, and vice versa.

This also happens to shorten the sharecodes by removing all of the
"A"s at the beginning. :)
2020-03-07 21:11:54 -05:00
duncathan 58f02f9180 item collects now display the bubbles, and all text is displayed fast 2020-03-07 05:54:23 -06:00
duncathan 078b9674bd hash items display under timer on title screen 2020-03-07 05:33:39 -06:00
duncathan 068a98074c fix beast fang in 100% 2020-03-07 05:33:23 -06:00
duncathan 7e9f5d697a update peri's credit image 2020-03-07 04:04:43 -06:00
duncathan f58357832d generate a hash for the title screen for easy verification in races 2020-03-07 01:58:03 -06:00
duncathan af8421e2a5 fix inaccessible last cave 2020-03-06 18:00:08 -06:00
duncathan 03cf184071 increase version number 2020-03-06 07:04:29 -06:00
duncathan 67adcb6639 adds version checking for cave story, to ensure folders are valid 2020-03-06 06:28:38 -06:00
duncathan e52e63f8e8 guarantee arthur's key hint in camp/arthur mode 2020-03-06 05:54:52 -06:00
duncathan 9432cdcea3 minor fixes 2020-03-06 05:51:28 -06:00
duncathan 57bce5fd86 adds 100% to UI 2020-03-06 03:48:33 -06:00
duncathan 6145e1e234 adds ingame checks for 100% items 2020-03-06 03:40:24 -06:00
duncathan a75676ad2d adds a item counter to the map system 2020-03-06 03:07:22 -06:00
duncathan 16f1172afc adds a button to randomize settings 2020-03-06 00:45:06 -06:00
duncathan 69d9afdd5e shuffles mr little 2020-03-06 00:24:14 -06:00
duncathan c894799a5b fixes visual error in hint text 2020-03-06 00:13:57 -06:00
duncathan 9acc690ccf mrs little and malco give hints about their checks 2020-03-06 00:01:39 -06:00
duncathan 9142ee6341 allow sisters refight in any objective 2020-03-05 22:14:56 -06:00
duncathan e22350a2e8 consistently automates ending scenes 2020-03-05 20:10:59 -06:00
duncathan 1e569ebe95 gives momo proper text for bad ending and adjust's last cave door text 2020-03-05 19:53:29 -06:00
duncathan c5ee18c2a6 completes credit item counter 2020-03-05 08:24:48 -06:00
duncathan ede8e618c1 item counter now increments when any item is collected 2020-03-05 05:47:17 -06:00
duncathan 25ecbca6d2 credits display the value in the incrementer (as num of items collected) 2020-03-05 05:41:24 -06:00
duncathan ca1f1bc51e adds an incrementer to head.tsc to count number of items collected 2020-03-05 02:11:16 -06:00
duncathan 8a6a8ac0ed adds randomizer credits 2020-03-04 23:25:42 -06:00
duncathan b275ec14ad path from reservoir to dark place opens when you beat ironhead 2020-03-04 23:25:42 -06:00
duncathan 655c71a058 fixes credit music timing 2020-03-04 23:25:42 -06:00
duncathan salt 51b633ec13
Merge pull request #82 from periwinkle3125/restore-omega-dialogue
Restore Misery dialogue before Omega fight
2020-03-04 19:17:58 -06:00
duncathan 4b75ff6abc shuffles credit music! 2020-03-04 19:15:06 -06:00
duncathan 19c6880f9a fixes crash on credits 2020-03-04 19:11:05 -06:00
duncathan 1914775e22 outer wall requires a weapon or at least 9 hp to climb without flight 2020-03-04 18:40:31 -06:00
periwinkle 18d95f204f Add back Curly reaction at start of Sand Zone 2020-03-04 19:34:31 -05:00
periwinkle b4927ea36e Restore Misery dialogue before Omega fight 2020-03-04 19:05:26 -05:00
duncathan e44f606479 adds missing cue 2020-03-04 02:58:00 -06:00
duncathan e974d97c7f compile fix 2020-03-04 00:08:55 -06:00
duncathan 7ed589966e door to last cave warns you if you don't have all requirements 2020-03-03 23:48:39 -06:00
duncathan 9ebbbfaa15 momorin now tells you if you're ready for the throne room 2020-03-03 22:40:16 -06:00
duncathan 9378373661 fixes a couple tsc errors 2020-03-03 22:16:47 -06:00
duncathan 1032d69320 adds missing passage cue 2020-03-03 22:13:11 -06:00
duncathan c0ce91d1c6 main ui updates 2020-03-03 20:26:46 -06:00
duncathan 13e531c354 adds missing momo cue 2020-03-03 09:25:01 -06:00
duncathan 435d5347f0 fix bad end hint logic 2020-03-03 08:34:05 -06:00
duncathan dc6ac6040a tweaks id card hints 2020-03-03 08:30:50 -06:00
duncathan salt f6efe15df0
Merge pull request #81 from duncathan/hints
adds randomized hints!!!!
2020-03-03 08:23:05 -06:00
duncathan efea98845d adds randomized hints!!!! 2020-03-03 08:20:04 -06:00
duncathan salt 03afa18131
Merge pull request #80 from duncathan/smallfeatures
adds music shuffle
2020-03-03 01:22:13 -06:00
duncathan 5b172e650c adds music settings to saved settings 2020-03-03 01:21:07 -06:00
duncathan 4426eb69ec adds ui for music settings 2020-03-03 01:08:27 -06:00
duncathan 46eb8dc016 adds music randomization 2020-03-02 23:02:23 -06:00
duncathan a09179fc56 implements org loading hack 2020-03-02 19:57:07 -06:00
duncathan 730d7b92fd adds orgs in prep for an org loading hack 2020-03-02 18:19:07 -06:00
duncathan 068121a278 tiny logic update to prevent the most edge case of softlocks
imagine if all weaponSNs were somehow locked behind first cave in arthur mode
2020-03-02 06:04:25 -06:00
duncathan 174f3c5f4b permits refighting the sisters in all bosses if they were skipped 2020-03-01 22:29:10 -06:00
duncathan 69c8a0e2b8 adds signs in labyrinth shop showing what you need for each chest 2020-03-01 21:05:50 -06:00
duncathan ce7ee57279 removes motionless king/toroko from mimiga village 2020-03-01 20:42:52 -06:00
duncathan 49a1689010 makes labyrinth B always climbable in Camp mode 2020-03-01 19:43:25 -06:00
duncathan beeae91283 text change 2020-03-01 04:51:46 -06:00
duncathan a27745465f makes last cave accessible via rocket skip if rocket skip is enabled 2020-03-01 04:38:13 -06:00
duncathan 693b04b8cf fixes double gunsmith in arthur/camp modes 2020-03-01 04:26:43 -06:00
duncathan 1e4d875f1c fixes duplicate curlys in waterway 2020-03-01 04:22:41 -06:00
duncathan salt 6ba47caa5f
Merge pull request #79 from duncathan/sequencebreaks
adds configurable sequence break logic
2020-03-01 04:11:51 -06:00
duncathan 98ef3ca075 implements sharecodes 2020-03-01 04:03:00 -06:00
duncathan b4e08a2d07 implements UI and settings for sequence breaks 2020-03-01 03:32:16 -06:00
duncathan 021bac9307 adds optional logic for sequence breaks 2020-03-01 03:32:06 -06:00
duncathan salt 9eb5b6e4b1
Merge pull request #78 from duncathan/spawnpoints
adds arthur's house and camp as spawn points
2020-02-29 22:31:46 -06:00
duncathan 58a771289b updates a couple weapon reqs 2020-02-29 22:31:06 -06:00
duncathan 1a020162b0 makes weapons other than MG successfully generate, adds snake (camp) 2020-02-29 22:28:38 -06:00
duncathan 6d1c805c56 more map fixes, backtracks, etc 2020-02-29 20:23:53 -06:00
duncathan f00114143d adds icons to startpoints 2020-02-29 04:50:31 -06:00
duncathan 175b4790d5 gives hp, locks arthur's front door 2020-02-29 04:29:03 -06:00
duncathan 523fe7ef65 generation works! 2020-02-28 17:50:30 -06:00
duncathan ed6234a1c0 possible to backtrack from mimiga village to labyrinth through waterway 2020-02-28 17:31:24 -06:00
duncathan daf9d4c4b6 implements UI and increases randomness 2020-02-28 17:23:21 -06:00
duncathan d2ec0d633f adds two spawn points, arthur's house and camp 2020-02-28 16:58:29 -06:00
duncathan e1811934d4 regions get logged in proper order 2020-02-28 15:52:01 -06:00
duncathan 2189bee2f5 more fix 2020-02-28 15:23:59 -06:00
duncathan ea84cf35ec quick fix 2020-02-28 08:36:19 -06:00
duncathan salt a8eb4e12ed
Merge pull request #77 from duncathan/mychars
adds 6 new mychars to choose from!
2020-02-28 08:29:51 -06:00
duncathan e8a8abbecd adds working mychar selection! 2020-02-28 07:48:45 -06:00
duncathan ff6701d60c adds mychar selector to settings menu UI 2020-02-28 07:22:56 -06:00
duncathan b73c59a7d9 shrink objectives into a stepper, and make steppers good 2020-02-28 07:04:44 -06:00
duncathan salt 4e1dbd19cf
Merge pull request #76 from duncathan/sharecode
Adds sharecodes
2020-02-28 04:54:34 -06:00
duncathan f8f994b4ae can now import sharecodes 2020-02-28 04:37:33 -06:00
duncathan d7969ecd65 can now copy sharecode after randomization 2020-02-28 03:28:46 -06:00
duncathan ee3c595077 creates a unique sharecode for any given combination of settings 2020-02-28 03:20:05 -06:00
duncathan salt 45fc1300fc
Merge pull request #75 from duncathan/mimask
mimiga mask and boosters are no longer incompatible
2020-02-28 01:16:16 -06:00
duncathan 45dcc77a17 mimiga mask and boosters are no longer incompatible 2020-02-28 01:13:18 -06:00
duncathan salt a40be80975
Merge pull request #70 from duncathan/objectives
adds new objectives: bad ending, normal ending, and all bosses
2020-02-27 23:55:02 -06:00
duncathan cb2edb55fb makes settings persist between instances 2020-02-27 23:54:37 -06:00
duncathan 6ceb103b15 adds bad ending 2020-02-27 23:19:21 -06:00
duncathan salt 9d1a2fc8c6
Merge pull request #74 from periwinkle3125/super-missile-backup
Make the second Super Missile chest only upgrade when the first one didn't
2020-02-27 21:03:45 -06:00
duncathan 8e997d0e45 makes ironhead give you something different during all bosses 2020-02-27 21:03:18 -06:00
periwinkle 0f4186bde8 Make the 2nd Super Missile item strictly a backup Super Missile upgrade
Now it's just a standard missile expansion, but turns into a Super Missile
upgrade only when the main Super Missile item was already collected as a
regular Missile Launcher.
2020-02-27 20:12:15 -05:00
duncathan d3cb2402ce Merge remote-tracking branch 'github/master' into objectives 2020-02-27 19:01:29 -06:00
duncathan salt 087da92f42
Merge pull request #73 from duncathan/doubleguns
fixes duplicate weapons
2020-02-27 18:53:41 -06:00
duncathan 1e09dad380 fixes duplicate weapons 2020-02-27 18:53:22 -06:00
duncathan 36f282df63 renames game mode to objective 2020-02-27 18:21:21 -06:00
duncathan salt 5c530d318e
Merge pull request #72 from periwinkle3125/fix-lab-i-quote
Proper fix for double Quote in Lab I
2020-02-27 18:15:53 -06:00
duncathan ca655e2e55 actually adds ALL bosses.... 2020-02-27 18:14:55 -06:00
periwinkle 823a9116c4 ACTUALLY fix double Quote when loading into Lab I before defeating Toroko+
Also another text speedup that fell through the cracks
2020-02-27 19:03:57 -05:00
duncathan 9e6ab35470 adds beast fang, to keep a log of bosses 2020-02-27 18:03:38 -06:00
duncathan edee93e065 fixes best ending requirements 2020-02-27 17:03:24 -06:00
duncathan ba3fc3d86f updates hell door to only open on best ending or all bosses 2020-02-26 22:55:01 -06:00
duncathan bf10950a1e Merge remote-tracking branch 'github/master' into objectives 2020-02-26 13:29:57 -06:00
duncathan salt b12b81a856
fixes puppy stuff (#71)
* adds support for puppysanity to randomizer

* makes puppy hat only spawn in sand zone

* fixes crash when collecting more than one puppy
2020-02-26 13:20:34 -06:00
duncathan 1317d93870 applied flags to each boss 2020-02-26 02:04:46 -06:00
duncathan d9a60fc3ce disable bad ending for now 2020-02-26 01:52:08 -06:00
duncathan c7f8d3a66a generation works! 2020-02-26 01:46:14 -06:00
duncathan 3035764ad4 enables basic generation for objectives 2020-02-26 01:34:19 -06:00
duncathan 09e4883acf initial setup for objectives 2020-02-26 01:22:50 -06:00
periwinkle afd6e3405b
Add back some of the original dialogue (#68)
* Add dialogue to Balrog 1 fight

* Give a short dialogue to Jack

* Add dialogue to Igor

* Add dialogue to Sue (Egg No. 00)

* Add dialogue in Power Room

* Add dialogue to bomb cutscene

* Add initial Curly encounter dialogue

* Add pre-Curly fight dialogue
Also shorten the leftmost Mimiga's dialogue in case a player
accidentally talks to them

* Add pre-Omega boss dialogue

* Add Jenka2 dialogue

* Add a small amount of pre-Toroko+ cutscene dialogue

* Add dialogue to Labyrinth entry cutscene

* Add pre-Balrog (Labyrinth) fight dialogue

* Add dialogue to Core cutscenes

* Tweak Waterway Cabin cutscenes

* Add a line of dialogue before the Ma Pignon fight
I would very much appreciate a cue before a boss spawns right
in front of my face, thank you very much :3

* Remove the line about Sunstones
Nobody even knows what they are, anyways (Keepo)

* Add a little more dialogue to Kazuma (Egg No. 00)

* Restore Itoh's signature line

* Add dialogue to boss rush cutscenes

* Add some ending scene dialogue
Also, there's not really any need for the ending cutscenes to be
<SAT'ed (and the best ending one isn't anyways), so I removed it
from the normal ending cutscene as well.

* Add <TURs in Prefab House

* Tweak Balfrog cutscene dialogue
The narrative I'm going for here is "Misery shows up and tries to
start a conversation/confrontation, but then Balrog drops in
suddenly, so Misery abruptly ends the conversation, turns Balrog
into a frog, and then silently leaves".
Dunno if this quite achives that, but it's the best I could do
using only snippets of the vanilla dialogue.

* Adjust wait time after "It won't STOOOOOOOOP!!"

* Give Curly something to say upon entering Dark Place
Because having her stay silent doesn't quite feel right

* Re-<SAT best ending Seal Chamber cutscene
I'm still not satisfied with how the best ending sequence as a whole
is handled, but I don't know how to make it better.

* Move Puu Black boss triggers lower (for speedrunning purposes)
In the vanilla speedruns, the strat for Puu Black is to shoot
four Fireballs while jumping to the chest from the door,
so that the boss falls right into them when it spawns.
In rando, there's a bit of a delay between opening the chest
and the boss spawn, so this strat isn't quite as effective.
Moving the triggers down makes the boss spawn timing a little
closer to vanilla, so that the speedrun strat actually works.

* Shorten dialogue and add <TURs in a few (mostly non-mandatory) places
This doesn't cover all of them, but it does cover all of the remaining
unchecked boxes in cave-story-randomizer/cave-story-randomizer#49.

* Work around <TUR text-scrolling bug in Jenka's dialogue

* Add more humor
by taking (and/or omitting) fragments of the vanilla dialogue in
amusing ways

* Fix some bugs that I accidentally created (oops)
Also fix Dr. Gero's dialogue (he was saying "Go look for some
medicine" even after giving him the Cure-All), and remove the
sparkly thing at the bottom of Plantation (Kanpachi was supposed
to have fished it out).

* Speed up dialogue in a couple more places

* Shorten Ballos's dialogue

* Add the same <WAI0025 delay after item gets to the missile expansions

* More delay tweaks

* A couple more text speedups
I should really stop doing this before it gets too out of hand :P

* Alex Jebailey had nothing to do with this
But heavens, that felt good :3
2020-02-26 00:25:40 -06:00
duncathan f798197223 makes puppy hat only spawn in sand zone 2020-02-25 23:25:36 -06:00
duncathan df3aff4628 adds support for puppysanity to randomizer 2020-02-25 23:25:36 -06:00
periwinkle 4b5b26824d Make Super Missiles strictly an upgrade to the regular Missile Launcher
Turns out that having only 5 Super Missiles as your only weapon is a pain.
Also, it causes problems in cases when there's a required progression item in
the upper Sand Zone Polish spot and no other accessible block-breaker weapon
that you can use to get to it.
(It's still technically possible to reach that item location in such a
scenario, but it requires grinding the missiles up to Level 3, as well as
some luck and a couple of precise jumps. In other words, it sucks.)

The alternative is starting with 10 Super Missiles instead of 5 if you get
the Super Missile chest first, but that would give you an extra 5 missiles,
letting you have 59 at the end instead of 54, which feels wrong.
2020-02-25 23:16:50 -06:00
duncathan 9d42f9be93 fixes generation errors if CS+ folder was ever dropped onto the window 2020-02-25 20:06:43 -06:00
Brian Christian 4c8e6933f3 Update tsc notes.txt 2020-01-17 13:50:10 -06:00
Brian Christian 5e83a639b6 Change csresearch.txt into markdown format 2020-01-17 13:50:10 -06:00
duncathan 6b097d25ba increase version number 2019-09-15 17:49:56 -06:00
duncathan salt e4b35480de
Merge pull request #65 from duncathan/hashing
use a proper hashing algorithm for seeds like i should've from the start
2019-09-15 17:38:45 -06:00
duncathan c45f243d15 use a proper hashing algorithm for seeds like i should've from the start 2019-09-15 17:38:09 -06:00
duncathan salt 6afa0ad2e5
Merge pull request #63 from periwinkle3125/fix-mr-little-access-req
Update Mr. Little's access requirement
2019-09-14 15:12:04 -06:00
duncathan salt 744eef1bf0
Merge pull request #64 from Fayti1703/fix-multirand
Move mkdir out of if nil check
2019-09-14 15:10:23 -06:00
Fayti1703 d0896c21f2 Move mkdir out of if nil check
Fixes an issue where if you tried to randomize twice without restarting
the program

Reported by @periwinkle, at
https://discordapp.com/channels/558603545008537600/558604014149828608/621887224216158238
2019-09-13 07:40:26 +02:00
periwinkle 64a960189a Update access requirement for Mr. Little
This probably doesn't make any difference at the moment because
Mr. Little's Cemetery location item is fixed, but if the Mr. Little
item ever gets thrown into the mix, then it could matter.
2019-09-12 21:00:39 -04:00
duncathan 07a33104aa swaps deprecated functions to recommended ones 2019-09-12 01:26:06 -06:00
duncathan 71b340acd9 increase version number 2019-09-12 01:15:51 -06:00
duncathan salt 605f103eb0
Merge pull request #61 from periwinkle3125/qol-suggestions
Two QoL tweaks
2019-09-12 01:01:08 -06:00
periwinkle becb3bd404 Shake the screen when Chaba yells at you
Also use the original delays for dramatic effect
2019-09-12 02:57:11 -04:00
duncathan salt 688593e069
Merge pull request #59 from periwinkle3125/fix-momorin-requirement
Implement Momorin's Booster requirement
2019-09-12 00:48:48 -06:00
periwinkle 8c8515c35f Use Momorin's vanilla text for her no-Booster dialogue 2019-09-12 02:45:02 -04:00
duncathan salt f9792a24fd
Merge pull request #60 from periwinkle3125/core-area-fixes
Core area fixes
2019-09-12 00:23:53 -06:00
duncathan salt eeda8f46c7
Merge pull request #62 from periwinkle3125/fix-missile-count
Fix final missile count
2019-09-12 00:21:49 -06:00
duncathan salt 676b7cf70b
Merge pull request #58 from periwinkle3125/smallfixes
Small fixes
2019-09-12 00:16:26 -06:00
periwinkle 93553970d3 Momorin is supposed to require having a Booster to get her item 2019-09-12 01:13:53 -04:00
periwinkle db7989183e The delay after Chaba's "HEY!!!" really doesn't need to be that long 2019-09-12 01:07:17 -04:00
periwinkle a9500ee4e9 Add speedrunner muscle memory-friendly delays
When pressing down to pick up Curly (in the Waterway and in Hell),
the natural instinct is to immediately press jump and shoot (in
some order) in order to mash through the message box that normally
pops up in vanilla. Since those message boxex were removed for rando,
this results in the player jumping after picking up Curly (which, if
speedrunning Hell, would lose precious time on the clock).
Putting in a small delay is intended to eat the jump input,
allowing the player to continue onwards as normal.

I also put in a tiny delay at the start of Hell after the message
box, because I found myself often doing an unintentional extra boost
at the start. This doesn't completely solve the issue for me, but
it's slightly better than nothing, so I'll leave this in for now and
come back to it later if I ever find a better solution.
2019-09-12 01:06:42 -04:00
periwinkle 10eb637dd0 Correct total missile count
Ensure that after collecting all missile chests, in any order,
the player will have 54 missiles in the end.
Previously, this number could be 49 (if the +24 chest was collected
first) or 59 (if the Super Missile chest was collected first).

Also fixes the bug where collecting the Super Missile Launcher
as the first missile chest causes the hidden missile drops in
e.g. Egg Corridor and Waterway to never spawn.
2019-09-12 01:00:31 -04:00
periwinkle a73ee82369 Proper fix for the Core area water level
The area floods if and only if the Core has been defeated,
AND the player has Curly's Air Tank.

Additionally, the music in Dark Place is set to Geothermal
if the Core has been defeated.
2019-09-12 00:57:11 -04:00
periwinkle 534d622706 Fix being able to access Core without saving Curly 2019-09-12 00:53:12 -04:00
periwinkle a999ed555a Fix double fade-in when entering Dark Place with the air tank 2019-09-12 00:50:53 -04:00
periwinkle c8d5d60659 Fix Monster X despawning exploit 2019-09-12 00:29:11 -04:00
periwinkle dc75afa10a Fix extra Quote appearing when entering Lab I before defeating Toroko+ 2019-09-12 00:04:44 -04:00
periwinkle a335bbcd52 Fix inventory puppy counter 2019-09-12 00:01:26 -04:00
periwinkle f08e8cd1bc (Mostly) fix being able to move in situations where you normally can't 2019-09-11 23:59:05 -04:00
periwinkle 2d875febd0 Fix Mr. Little being infinitely collectible 2019-09-11 23:57:49 -04:00
duncathan salt 695cec4c79
Merge pull request #57 from duncathan/settings
adds settings UI
2019-09-11 21:14:01 -06:00
duncathan 366acf3de8 adds support for alphanumeric seeds! 2019-09-11 21:04:14 -06:00
duncathan cec5cc5199 adds CS folder persistence and a menu for selecting seeds 2019-09-11 20:51:48 -06:00
duncathan cd55e26160 gracefully handles missing CS folder 2019-09-11 17:03:27 -06:00
duncathan 32c080d84d Fixes UI runtime errors properly
This reverts commit 11287c053a.
2019-09-11 16:26:29 -06:00
duncathan 0b2e76305c adds support for saving the cs directory in settings - doesn't work tho! 2019-09-11 04:39:10 -06:00
duncathan salt c75e39c0b0
Merge pull request #56 from duncathan/gui
swaps to a new UI library
2019-09-10 23:37:29 -06:00
duncathan 6eb4b0ccc8 rewrites existing UI to luigi 2019-09-10 23:35:41 -06:00
duncathan ac8015b2f0 adds very simple proof of concept buttons 2019-09-10 04:46:45 -06:00
duncathan 9bdb928668 cleans up libraries 2019-09-10 03:48:35 -06:00
duncathan 11287c053a removes runtime errors by commenting out the code causing it :D
here's hoping this doesn't cause more problems down the line... lol. in theory this will only cause problems if:
 - the GUI includes a textbox
 - the UI uses keyboard shortcuts (will cause issues for mac users)
2019-09-10 03:41:06 -06:00
duncathan 27581f737d splits main.lua into pieces 2019-09-10 03:13:50 -06:00
duncathan 8061174638 add luigi graphics library 2019-09-10 02:48:34 -06:00
duncathan salt a0b28cc111
Merge pull request #55 from Velosareon/speed-up-mandatory-text
Speed up mandatory text
2019-09-08 12:32:31 -06:00
yiğit iyişirin 5676ea11b6 PR comments: Readding accidentally removed <FAC, Kings death dialogue, and removing unnecessary <TUR 2019-09-08 00:36:52 -07:00
yiğit iyişirin be584d49d8 Revert "Gave Ballos a joke dialogue, could do something similar to ALttP randomizer where the final boss says different random things for fun/silliness"
This reverts commit 5766d58128.
2019-09-08 00:32:37 -07:00
yiğit iyişirin d7c00b1e5f readding in all Huzzahs 2019-09-08 00:27:51 -07:00
yiğit iyişirin bec915c66e Revert "Malco sped up"
This reverts commit 770ae1375e.
2019-09-08 00:04:43 -07:00
duncathan salt 065847e54f
Merge pull request #54 from Velosareon/fix-first-cave-black-screen
First Cave exit makes your screen black forever
2019-09-08 00:30:03 -06:00
duncathan salt 6d2e8b47d5
Merge pull request #53 from Velosareon/patch-1
Update README.md
2019-09-08 00:29:19 -06:00
yiğit iyişirin b36756abea Experimenting with auto-playing cutscenes. This can be left out, but the idea is that once the falling island graphic displays after defeating Ballos, the run is complete and time is called, so the rest of the game should auto-play till the credits end (where hopefully we can have the game display the time of run) 2019-09-07 20:42:15 -07:00
yiğit iyişirin 5766d58128 Gave Ballos a joke dialogue, could do something similar to ALttP randomizer where the final boss says different random things for fun/silliness 2019-09-07 20:40:55 -07:00
yiğit iyişirin 681f062116 Misery, the Doctor, and Undead Core sped up 2019-09-07 20:39:21 -07:00
yiğit iyişirin 1cbc1b32be Ma pignon boss and Booster sped up 2019-09-07 20:38:11 -07:00
yiğit iyişirin 770ae1375e Malco sped up 2019-09-07 20:37:36 -07:00
yiğit iyişirin 287939142a Core and Waterway sped up 2019-09-07 20:37:16 -07:00
yiğit iyişirin 4570c9e8f0 Labyrinth sped up 2019-09-07 20:36:11 -07:00
yiğit iyişirin f7dbe2b855 Plantation areas sped up 2019-09-07 20:34:38 -07:00
yiğit iyişirin b1e368c9ea Egg corridor speedup 2019-09-07 20:31:57 -07:00
yiğit iyişirin a5912478ab speed up bed rest dialogue 2019-09-07 20:21:48 -07:00
yiğit iyişirin b31f2533c9 kazuma rescue cutscene was cut too short 2019-09-07 20:21:07 -07:00
yiğit iyişirin 3f52fd0ad8 speed up when teleported into labyrinth by misery 2019-09-02 23:50:43 -07:00
yiğit iyişirin e1932ae6eb sped up first balrog fight and jack scene after 2019-09-02 23:50:17 -07:00
yiğit iyişirin bfdc39d568 speed up some item messages 2019-09-02 23:49:23 -07:00
yiğit iyişirin 02e666f178 removing quake from before boss fight 2019-09-02 01:01:51 -07:00
yiğit iyişirin 277c393f76 Sand Zone text and cutscenes sped up 2019-09-02 00:34:09 -07:00
yiğit iyişirin 9611f13a0c Shortened first King and Toroko cutscene 2019-09-01 20:52:01 -07:00
yiğit iyişirin d053f2af3c Speed up death text 2019-09-01 20:47:56 -07:00
yiğit iyişirin 2a87f6ebd3 First Cave exit makes your screen black forever if you did not collect both items when trying to leave 2019-09-01 16:34:08 -07:00
Velosareon 6c99c362b8
Update README.md
Fixes the releases link to point to the new GitHub releases page instead of the GitLab one.
2019-08-31 13:08:40 -07:00
duncathan salt 3de836c2de
Merge pull request #52 from periwinkle3125/master
softlock/various other fixes
2019-07-26 02:40:24 -06:00
periwinkle b33774001d Fix more requirements 2019-07-11 15:06:57 -04:00
periwinkle 35b5b6b3cd Add some missing <TURs 2019-07-11 05:17:57 -04:00
periwinkle 3b501c8200 A few performance improvements
Featuring a much smarter, more efficient worldGraph:collect()
2019-07-11 03:55:05 -04:00
periwinkle 4ec67e76a3 Remove unnecessary event 2019-07-10 20:39:03 -04:00
periwinkle 42e7e771ea Fix a couple of incorrect location access requirements
Also, Curly does not need both polarStar AND weaponBoss, since
the former implies the latter
2019-07-10 20:35:07 -04:00
periwinkle d2eff12fee Fix all remaining softlocks (I hope)
Also makes the air tank unequippable in the inventory, and moves
Prof. Booster's trigger to after the Core fight, as originally intended
2019-07-10 16:57:27 -04:00
periwinkle 811a1b73c4 Fix certain valid seeds being impossible to generate
This does break compatibility with 0.8B seeds, unfortunately
2019-07-10 13:35:14 -04:00
duncathan salt 49b5eecfbb
Merge pull request #46 from duncathan/hotfix
core/puppy chest hotfix
2019-03-31 16:04:35 -06:00
duncathan 22e1c5c1b6 core/puppy chest hotfix 2019-03-31 15:58:14 -06:00
2519 changed files with 57583 additions and 7700 deletions

32
.github/workflows/daily.yml vendored Normal file
View 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
View 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
View 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
View file

@ -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

View file

@ -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
View 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
View file

@ -0,0 +1,8 @@
{
"setup": {
"looseChecking": {
"events": true,
"arguments": true
}
}
}

View file

@ -1,52 +1,3 @@
# Cave Story Randomizer [Open Mode]
The Cave Story Randomizer shuffles the location of every item in Cave Story, creating a new experience each time you play! The randomizer has logic in place to ensure that you can always reach every item and finish the game. Get started by heading to the [releases page](https://gitlab.com/duncathan/cave-story-randomizer/tags) and downloading the most recent version! If you find yourself stuck, wanting to talk about the hilarious location you found the panties in, or just plain enjoying the game please consider joining our [official Discord server](https://discord.gg/7zUdPEn) and hanging out!
## Main differences
Note that there are a few key differences from the vanilla game in order to improve the playing experience:
- All 5 teleporter locations in Arthur's House are active from the beginning of the game
- All other teleporters from the vanilla game are active and linked to one another at all times
- A teleporter between Sand Zone (near the Storehouse) and Labyrinth I has been placed and can be activated in one of two ways:
1. Defeating Toroko+
2. Using the teleporter from the Labyrinth I side
- Most cutscenes have been abridged or skipped entirely
- Jellyfish Juice can be used an infinite number of times
- You can carry as many as 5 puppies at once: Jenka will only accept them once you've collected all 5
- By the way, all 5 puppies will be located somewhere in the Sand Zone
- Certain items that are received from NPCs have been placed in chests:
- Labyrinth B (Fallen Booster)
- Labyrinth Shop
- One requiring the Machine Gun to open
- One requiring the Fireball to open
- One requiring the Spur to open
- Jail no. 1
- Storage? (Ma Pignon)
- This chest requires saving Curly in the Waterway to open
- If you don't have Curly's Air Tank after defeating the Core, the water will not rise and you may leave without dying
- Curly cannot be left behind permanently in the Core; the shutter will never close once the boss has been defeated
- The jump in the Waterway to save Curly has been made much easier
- Ironhead will always give you his item on defeat (but there's still a special surprise if you defeat him without taking damage!)
- Kazuma will only open the door between Egg no. 0 and the Outer Wall if you save him in Grasstown
- Kazuma's door can be blown down from both the outside and the inside
- Entering the Throne Room to complete the game requires doing three things:
1. Saving Sue in the Egg Corridor
2. Obtaining the Booster 2.0
3. Obtaining the Iron Bond
## Help me!
If you find yourself stuck, here are a few common pitfalls:
- Remember that the Jellyfish Juice can quench more than one fireplace
- The Graveyard can only be accessed if you obtain the Silver Locket and see Toroko get kidnapped
- The Hermit Gunsmith will wake up and give you an item if you defeat the Core and show him his gun
- The western side of the Labyrinth can be accessed without flight if you defeat Toroko+
- The Plantation can be accessed without the Teleporter Room Key if you save Kazuma and teleport in or climb the Outer Wall
- The Waterway can be accessed without the Cure-All by using the teleporter in the Labyrinth Shop
- There may be a required item in the Last Cave (Hidden) as a reward for defeating the Red Demon
If you're still stuck, join our [official Discord server](https://discord.gg/7zUdPEn) and ask for help in there!
## Credits
- Original Cave Story Randomizer by shru: https://shru.itch.io/cave-story-randomizer
- Font: https://datagoblin.itch.io/monogram
- Icon: Bubbler (@Ethan#6397)
A patcher for randomizing Cave Story. If you want to play, check out [Randovania](https://github.com/randovania/randovania)!

18
__pyinstaller/__init__.py Normal file
View 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__)]

View 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'])

View 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
View 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
View file

23
caver/schema/__init__.py Normal file
View 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
View 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
View 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

View 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
View 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

View 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

View 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

View 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

View 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

View 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

View 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

View file

@ -0,0 +1,2 @@
offset 4115e6
PUSH 3F0 ; (MAX_STRIP - 1) * 0x10

View file

@ -0,0 +1,8 @@
ActionStripper.txt
InitCreditScript.txt
LoadGenericDataMAX_STRIP.txt
PutStripper.txt
RestoreStripper.txt
SetStripper.txt
StartCreditScript.txt
ReleaseCreditScript.txt

View 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

View 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

View 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

View 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

View 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

View 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">
&#60;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>

View 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>

View file

@ -0,0 +1,4 @@
0x40CD91
03
0x40CDC8
03

View 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

View file

@ -0,0 +1,2 @@
0x41DB17
95 EA

View 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).

View 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

View 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

View 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

View 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>

View 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.

View 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
View 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]

View file

@ -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

File diff suppressed because it is too large Load diff

2879
docs/flag_listing.txt Normal file

File diff suppressed because it is too large Load diff

View file

@ -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

View file

@ -1,344 +0,0 @@
#0000
<FRE<WAI9999<END
#1000
<MSG<TURNo weapon.<WAI9999<END
#1001
<MSG<TUR- Snake -
Penetrates through walls.
Made by Chaba in the Labyrinth.<WAI9999<END
#1002
<MSG<TUR- Polar Star -
The most basic gun.
It bears the mark of Polaris.
<WAI9999<END
#1003
<MSG<TUR- Fireball -
Bounces along the floor.
Rather powerful on gentle slopes.<WAI9999<END
#1004
<MSG<TUR- Machine Gun -
An automatic rapid-fire gun.
Automatically recharges over time.<WAI9999<END
#1005
<MSG<TUR- Missile Launcher -
Wide range and powerful damage.
However, its ammunition is limited.<WAI9999<END
#1007
<MSG<TUR- Bubbler -
From the Assembly Hall's fireplace.
How you use it is up to you.<WAI9999<END
#1009
<MSG<TUR- Blade -
A single-shot, high-damage weapon.
King's soul dwells within.<WAI9999<END
#1010
<MSG<TUR- Super Missile -
An exhilirating sort of missile.
Its acceleration is unmatched.<WAI9999<END
#1012
<MSG<TUR- Nemesis -
Lightning of the Goddess.
For advanced players.<WAI9999<END
#1013
<MSG<TUR- Spur -
Hold down the button to
fire a laser.<WAI9999<END
#1100
<MSG<TURPuppy<WAI9999<END
#1101
<MSG<TURPuppies<WAI9999<END
#1102
<MSG<TURPuppies<WAI9999<END
#1103
<MSG<TURPuppies<WAI9999<END
#1104
<MSG<TURPuppies<WAI9999<END
#1200
<MSG<TURJenka's pet dog.<WAI9999<END
#1201
<MSG<TURJenka's pet dogs. You have found 2.<WAI9999<END
#1202
<MSG<TURJenka's pet dogs. You have found 3.<WAI9999<END
#1203
<MSG<TURJenka's pet dogs. You have found 4.<WAI9999<END
#1204
<MSG<TURJenka's pet dogs. You have found 5!<WAI9999<END
#5000
<MSG<TURNo item.<WAI9999<END
#5001
<MSG<TURArthur's Key<WAI9999<END
#5002
<MSG<TURMap System<WAI9999<END
#5003
<MSG<TURSanta's Key<WAI9999<END
#5004
<MSG<TURSilver Locket<WAI9999<END
#5005
<MSG<TURBeast Fang<WAI9999<END
#5006
<MSG<TURLife Capsule<WAI9999<END
#5007
<MSG<TURID Card<WAI9999<END
#5008
<MSG<TURJellyfish Juice<WAI9999<END
#5009
<MSG<TURRusty Key<WAI9999<END
#5010
<MSG<TURGum Key<WAI9999<END
#5011
<MSG<TURGum Base<WAI9999<END
#5012
<MSG<TURCharcoal<WAI9999<END
#5013
<MSG<TURExplosive<WAI9999<END
#5014
<FLJ5001:1100
<FLJ5002:1101
<FLJ5003:1102
<FLJ5004:1103
<FLJ5005:1104
<MSG<TURPuppy<WAI9999<END
#5015
<MSG<TURLife Pot<WAI9999<END
#5016
<MSG<TURCure-All<WAI9999<END
#5017
<MSG<TURClinic Key<WAI9999<END
#5018
<MSG<TURBooster v0.8<WAI9999<END
#5019
<MSG<TURArms Barrier<WAI9999<END
#5020
<MSG<TURTurbocharge<WAI9999<END
#5021
<MSG<TURCurly's Air Tank<WAI9999<END
#5022
<MSG<TURNikumaru Counter<WAI9999<END
#5023
<MSG<TURBooster v2.0<WAI9999<END
#5024
<MSG<TURMimiga Mask<WAI9999<END
#5025
<MSG<TURTeleporter Room Key<WAI9999<END
#5026
<MSG<TURSue's Letter<WAI9999<END
#5027
<MSG<TURController<WAI9999<END
#5028
<MSG<TURBroken Sprinkler<WAI9999<END
#5029
<MSG<TURSprinkler<WAI9999<END
#5030
<MSG<TURTow Rope<WAI9999<END
#5031
<MSG<TURClay Figure Medal<WAI9999<END
#5032
<MSG<TURLittle Man<WAI9999<END
#5033
<MSG<TURMushroom Badge<WAI9999<END
#5034
<MSG<TURMa Pignon<WAI9999<END
#5035
<MSG<TURCurly's Underwear<WAI9999<END
#5036
<MSG<TURAlien Medal<WAI9999<END
#5037
<MSG<TURChaco's Lipstick<WAI9999<END
#5038
<MSG<TURWhimsical Star<WAI9999<END
#5039
<MSG<TURIron Bond<WAI9999<END
#6000
<MSG<TURNo item.<WAI9999<END
#6001
<MSG<TURThe key to Arthur's house.
It was hidden near Arthur's
gravestone.<WAI9999<END
#6002
<PRI<EVE7002<MPJ7002<MSGNo data for this floor.<NOD<CLR<END
#6003
<MSG<TURThe key to Santa's house.<WAI9999<END
#6004
<MSG<TURA silver locket in the shape of a fish.
From the condition it's in, it looks
like it's been treasured for years.<WAI9999<END
#6005
<MSG<TURA sharp fang found at the
Yamashita Farm. Is its owner still
alive...?<WAI9999<END
#6006
<MSG<TURA life capsule.<WAI9999<END
#6007
<MSG<TURAn ID Card found in Egg No. 06.<WAI9999<END
#6008
<MSG<TURA fluid that can quench
fireplaces.<WAI9999<END
#6009
<MSG<TURA rusty key.<WAI9999<END
#6010
<MSG<TURA tag says "Gum".<WAI9999<END
#6011
<MSG<TURA clump of gum.<WAI9999<END
#6012
<MSG<TURTaken from a fireplace.<WAI9999<END
#6013
<MSG<TURAn explosive for blowing up doors
and such.<WAI9999<END
#6014
<FLJ3000:1200
<FLJ3001:1201
<FLJ3002:1202
<FLJ3003:1203
<FLJ3004:1204
<MSG<TURJenka's pet dog.<WAI9999<END
#6015
<KEY<MSGThis will restore your life,
but only once. Will you use it?<YNJ0000<LI+1000<SOU0020<IT-0015<MSG
Life restored.<FRE<WAI9999<END
#6016
<MSG<TURApparently this cures
anything and everything...<WAI9999<END
#6017
<MSG<TURIt says "Labyrinth Clinic".<WAI9999<END
#6018
<FLJ0742:7018
<KEY<MSGPush the jump button again in
midair to fly even higher.<NOD<CLR
Do you want to equip it?
<YNJ0000<EQ+0001<EQ-0064<FL-1020<FL+0742<EQ-0032<FL-0743<MSG
Booster equipped.<NOD<WAI0003<FRE<EVE5018
#6019
<MSG<TURWhen you take damage, the amount
of weapon energy lost will be halved.<WAI9999<END
#6020
<MSG<TURIncreases the rate at which the
machine gun replenishes ammo.<WAI9999<END
#6021
<MSG<TURYou can breathe underwater with
this. Curly used to use it.<WAI9999<END
#6022
<MSG<TURA fully automatic stopwatch.
You can't see any buttons.<WAI9999<END
#6023
<FLJ0743:7023
<KEY<MSGPush the jump button in midair and
you can move in any direction.<NOD<CLR
Do you want to equip it?
<YNJ0000<EQ+0032<EQ-0064<FL-1020<FL+0743<EQ-0001<FL-0742<MSG
Equipped Booster v2.0.<NOD<WAI0003<FRE<EVE5023
#6024
<FLJ1020:7024
<KEY<MSG<TURCan't be worn with a Booster.
It's a bit big...<NOD
Do you want to equip it?
<YNJ0000<EQ+0064<EQ-0033<FL-0742<FL-0743<FL+1020<WAI0003<FRE<EVE5024
#6025
<MSG<TURA key fished out by a certain
Mimiga.<WAI9999<END
#6026
<KEY<MSGWill you read it?<YNJ0000<MSG<TUR
This is Sue.<NOD<CLRI don't believe I ever told
you much about all of us.<NOD<CLRWe came to this island from
the surface on a research trip.<NOD<CLRProf. Booster was on our
helicopter, and so was my
mother, my brother,<NOD<CLRvarious assistants...
The Doctor as well.<NOD<CLRHe was there to serve our
medical needs, and did so...<NOD<CLRAt least, until he found
the Demon Crown...<WAI0020<NOD<CLRThat crown, once the property
of the master of this island,<NOD<CLRgrants monstrous magical
powers upon its wearer...<NOD<CLRThe Doctor knew this even
before coming to the island,<NOD<CLRwhich is why he wormed his
way into our group in the
first place.<NOD<CLROnce he had the Crown in
his possession, no one could
stand up to him.<NOD<CLRWe had no choice except to
continue our research of the
island under his orders.<NOD<CLRThe Doctor seeks to rule the
Earth's surface using this
island as a base.<NOD<CLRI think he plans to first
attack the surface using
the Mimigas as weapons.<NOD<CLRAnyway, I was able to get away
somehow, but I fear the other
researchers are already...<NOD<CLRNow, he's using the unsuspecting
Mimigas to cultivate more and
more red flowers.<NOD<CLROnce he is ready to attack, he will
drive the Mimigas into a murderous
frenzy using the flowers.<NOD<CLRUsing his terrible powers,
he will be able to control the
raging Mimigas to do his bidding.<NOD<CLR
And that means I, too, will...<NOD<CLRIf you can escape from this prison
cell, look for the hideout hidden
in the plantation.<NOD<CLRIf my mother is yet safe,
she'll be there, coming up
with a counterplan.<NOD<CLRPlease. Help my mother.<NOD<CLRThe password is
"Litagano Motscoud".<NOD<CLR<FL+1024<FRE<MSGThe letter ends here...<WAI9999<END
#6027
<MSG<TURNecessary to make a rocket.
Pride of Itoh, the cowardly man.<WAI9999<END
#6028
<MSG<TURA busted water sprinkler.<WAI9999<END
#6029
<MSG<TURIt's brand-new. ...Perhaps.<WAI9999<END
#6030
<MSG<TURA tow rope for robots.<WAI9999<END
#6031
<MSG<TURSmall and profoundly heavy.
It has no use.<WAI9999<END
#6032
<MSG<TURHey! We there yet?<WAI9999<END
#6033
<MSG<TURThe mushroom badge you got from the
mushroom. It has no real use. To be
honest, you don't really need it...<FL+1563<WAI9999<END
#6034
<MSG<TURAllegedly, it has the power to
restore memories...<WAI9999<END
#6035
<MSG<TURRetrieved from behind the wall.
Yellow-green panties with a cute
little insignia. They have no use.<WAI9999<END
#6036
<MSG<TUREngraved with the silhouette of an
alien. It has no use.<WAI9999<END
#6037
<MSG<TURRed lipstick.
It has no use.<WAI9999<END
#6038
<KEY<MSGA little trinket you got from
Chaba in the labyrinth.
A whimsical star.<NOD<FLJ0722:7038<CLR
Will you equip it?<YNJ0000<EQ+0128<FL+0722<MSG
Equipped the Whimsical Star.<NOD<WAI0003<FRE<EVE5038
#6039
<MSG<TURYour tie to Curly Brace, the only
warrior you would trust your back to.
Surely you will meet again one day...<WAI9999<END
#7002
<MLP<END
#7018
<KEY<MSGDo you want to remove it?
<YNJ0000<EQ-0001<FL-0742<MSG
Deequipped Booster v0.8.<NOD<WAI0003<FRE<EVE5018
#7023
<KEY<MSGDo you want to remove it?
<YNJ0000<EQ-0032<FL-0743<MSG
Deequipped Booster v2.0.<NOD<WAI0003<FRE<EVE5023
#7024
<KEY<MSG<TURDo you want to remove it?
<YNJ0000<EQ-0064<FL-1020<MSG
Deequipped Mimiga Mask.<NOD<WAI0003<FRE<EVE5024
#7038
<KEY<MSGDo you want to remove it?
<YNJ0000<EQ-0128<FL-0722<MSG
Deequipped the Whimsical Star.<NOD<WAI0003<FRE<EVE5038

View file

@ -1,265 +0,0 @@
#0000
<END
#0001
<PRI<MSGEmpty.<NOD<END
#0002
<AMJ0002:0003<PRI<MSG<TUR<GIT0002<AM+0002:0000
Got the =Polar Star=!<WAI0025<NOD<END
#0003
<PRI<MSG<TUR<GIT0013<TAM0002:0013:0000
=Polar Star= became the =Spur=!<WAI0025<NOD<END
#0004
<PRI
<MSG<TUR<GIT0003
Got the =Fireball=!<WAI0025<NOD<CLR
<FLJ2801:0006<FL+2801<AM+0003:0000<END
#0005
<PRI
<MSG<TUR<GIT0001
Got the =Snake=!<WAI0025<NOD<CLR
<FLJ2801:0006<FL+2801<AM+0001:0000<END
#0006
<PRI<MSGYou may trade the =Fireball=
with the =Snake= and vice-versa
at the computer in Arthur's House.<WAI0050<NOD<FL+2802<END
#0007
<PRI<MSG<TUR<GIT0007<AM+0007:0100<FL+2820
Got the =Bubbler=!<WAI0025<NOD<END
#0008
<PRI<MSG<TUR<GIT0004<AM+0004:0100
Got the =Machine Gun=!<WAI0025<NOD<END
#0009
<PRI
<MSG<TUR<GIT0009
Got the =Blade=!<WAI0025<NOD<CLR
<FLJ2810:0011<FL+2810<AM+0009:0000<END
#0010
<PRI
<MSG<TUR<GIT0012
Got the =Nemesis=!<WAI0025<NOD<CLR
<FLJ2810:0011<FL+2810<AM+0012:0000<END
#0011
<PRI<MSGYou may trade the =Nemesis=
with the =Blade= and vice-versa
at the computer in Arthur's House.<WAI0050<NOD<FL+2811<END
#0012
<PRI<MSG<TUR<GIT1006Got a =Life Capsule=!<ML+0003
Max health increased by 3!<WAI0025<NOD<END
#0013
<PRI<MSG<TUR<GIT1006Got a =Life Capsule=!<ML+0004
Max health increased by 4!<WAI0025<NOD<END
#0014
<PRI<MSG<TUR<GIT1006Got a =Life Capsule=!<ML+0005
Max health increased by 5!<WAI0025<NOD<END
#0016
<PRI<MSG<TUR
Do you want to save?<YNJ0000<FL+0431<SVP<CLRGame saved.<NOD<END
#0017
<PRI<SAT<FLJ0201:0018
<LI+1000<SOU0020<AE+<MSG
Health refilled.<NOD<END
#0018
<PRI
<LI+1000<SOU0020<AE+<MSG
Health and missiles refilled.<NOD<END
#0019
<KEY<MSG
Do you want to rest?<YNJ0000<FAO0004<CMU0000<WAI0020<CLR.....<NOD<CLO
<WAI0050
<LI+1000<SOU0020<MYD0002<MSG
Health restored.<NOD<CLO<RMU<FAI0004<END
#0020
<FL+0274<SNP0136:0000:0000:0000<IT+0014
<FLJ5004:0024<FLJ5003:0023<FLJ5002:0022<FLJ5001:0021<FL+5001
<PRI<MSG<TUR<GIT1014
Got a =Puppy=!<WAI0025<NOD<END
#0021
<PRI<MSG<TUR<GIT1014<FL+5002
Got a second =Puppy=!<WAI0025<NOD<END
#0022
<PRI<MSG<TUR<GIT1014<FL+5003
Got a third =Puppy=!<WAI0025<NOD<END
#0023
<PRI<MSG<TUR<GIT1014<FL+5004
Got a fourth =Puppy=!<WAI0025<NOD<END
#0024
<PRI<MSG<TUR<GIT1014<FL+5005<FL+0593
Got the last =Puppy=!<WAI0025<NOD<END
#0030
<PRI<FLJ2420:0032<FLJ0201:0031<FL+0201<AM+0005:0010<MSG<TUR
<GIT0005Got the =Missile Launcher=!<WAI0025<NOD<END
#0031
<PRI<AM+0005:0005<MSG<TUR
<GIT0006Max missiles increased by 5!<NOD<END
#0032
<PRI<AM+0010:0005<MSG<TUR
<GIT0011Max missiles increased by 5!<NOD<END
#0033
<FL+2420<AMJ0005:0034
<PRI<MSG<TUR<GIT0010<AM+0010:0010
Got the =Super Missile Launcher=!<WAI0025<NOD<END
#0034
<PRI<MSG<TUR<GIT0010<TAM0005:0010:0000
Your Missiles have been powered up!<WAI0025<NOD<END
#0035
<PRI<FLJ2420:0037<FLJ0201:0036<FL+0201<MSG<TUR<GIT0005<AM+0005:0024
Got the =Missile Launcher=!<WAI0025<NOD<END
#0036
<PRI<AM+0005:0024<MSG<TUR<GIT0006Max missiles increased by 24!<WAI0025<NOD<END
#0037
<PRI<AM+0010:0024<MSG<TUR<GIT0011Max missiles increased by 24!<WAI0025<NOD<END
#0040
<KEY<CMU0000<WAI0040<PRI<WAI0040<CMU0003
<MSG
You have died.<NOD<CLRWant to retry?<YNJ0049<CLO
<FAO0001<WAI0050<FLJ0431:0048<INI<END
#0041
<KEY<CMU0000<HMC<WAI0040<PRI<WAI0040<CMU0003
<MSG
You have drowned.<NOD<CLRWant to retry?<YNJ0049<CLO
<FAO0001<WAI0050<FLJ0431:0048<INI<END
#0042
<KEY<CMU0000<WAI0040<PRI<WAI0040<CMU0003
<MSG<HMC
You were never seen again...<NOD<CLRWant to retry?<YNJ0049<CLO
<FAO0001<WAI0050<FLJ0431:0048<INI<END
#0048
<SMC<LDP<END
#0049
<CLO<FAO0004<ESC
#0051
<PRI<MSG<TUR<GIT1001<IT+0001
Got =Arthur's Key=!<WAI0025<NOD<END
#0052
<PRI<MSG<TUR<GIT1002<IT+0002<EQ+0002
Got the =Map System=!<WAI0025<NOD<END
#0053
<PRI<MSG<TUR<GIT1003<IT+0003
Got =Santa's Key=!<WAI0025<NOD<END
#0054
<PRI<MSG<TUR<GIT1004<IT+0004
Got the =Silver Locket=!<WAI0025<NOD<END
#0055
<PRI<MSG<TUR<GIT1005<IT+0005
Got the =Beast Fang=!<WAI0025<NOD<END
#0057
<PRI<MSG<TUR<GIT1007<IT+0007
Got the =ID Card=!<WAI0025<NOD<END
#0058
<PRI<MSG<TUR<GIT1008<IT+0008
Got the =Jellyfish Juice=!<WAI0025<NOD<END
#0059
<PRI<MSG<TUR<GIT1009<IT+0009
Got the =Rusty Key=!<WAI0025<NOD<END
#0060
<PRI<MSG<TUR<GIT1010<IT+0010
Got the =Gum Key=!<WAI0025<NOD<END
#0061
<PRI<MSG<TUR<GIT1011<IT+0011
Got the =Gum Base=!<WAI0025<NOD<END
#0062
<PRI<MSG<TUR<GIT1012<IT+0012
Got the =Charcoal=!<WAI0025<NOD<END
#0063
<PRI<MSG<TUR<GIT1013<IT+0013
Got the =Explosive=!<WAI0025<NOD<END
#0064
<EVE0020
#0065
<PRI<MSG<TUR<GIT1015<IT+0015
Got the =Life Pot=!<WAI0025<NOD<END
#0066
<PRI<MSG<TUR<GIT1016<IT+0016
Got the =Cure-All=!<WAI0025<NOD<END
#0067
<PRI<MSG<TUR<GIT1017<IT+0017
Got the =Clinic Key=!<WAI0025<NOD<END
#0068
<ITJ0018:0073
<PRI<MSG<TUR<GIT1018<IT+0018<EQ+0001<EQ-0064<FL+0742<FL-1020
Got the =Booster v0.8=!<WAI0025<NOD<END
#0069
<PRI<MSG<TUR<GIT1019<IT+0019<EQ+0004
Got the =Arms Barrier=!<WAI0025<NOD<END
#0070
<PRI<MSG<TUR<GIT1020<IT+0020<EQ+0008
Got the =Turbocharge=!<WAI0025<NOD<END
#0071
<PRI<MSG<TUR<GIT1021<IT+0021<EQ+0016
Got =Curly's Air Tank=!<WAI0025<NOD<END
#0072
<PRI<MSG<TUR<GIT1022<IT+0022
Got the =Nikumaru Counter=!<WAI0025<NOD<END
#0073
<PRI<MSG<TUR<GIT1023<IT+0023<IT-0018<EQ+0032<EQ-0065<FL+0743<FL-1020
Got the =Booster v2.0=!<WAI0025<NOD<END
#0074
<PRI<MSG<TUR<GIT1024<IT+0024
Got the =Mimiga Mask=!<WAI0025<NOD<END
#0075
<PRI<MSG<TUR<GIT1025<IT+0025
Got the =Teleporter Room Key=!<WAI0025<NOD<END
#0076
<PRI<MSG<TUR<GIT1026<IT+0026
Got =Sue's Letter=!<WAI0025<NOD<END
#0077
<PRI<MSG<TUR<GIT1027<IT+0027
Got the =Controller=!<WAI0025<NOD<END
#0078
<PRI<MSG<TUR<GIT1028<IT+0028
Got the =Broken Sprinkler=!<WAI0025<NOD<END
#0079
<PRI<MSG<TUR<GIT1029<IT+0029
Got the =Sprinkler=!<WAI0025<NOD<END
#0080
<PRI<MSG<TUR<GIT1030<IT+0030
Got the =Tow Rope=!<WAI0025<NOD<END
#0081
<PRI<MSG<TUR<GIT1031<IT+0031
Got the =Clay Figure Medal=!<WAI0025<NOD<END
#0082
<PRI<MSG<TUR<GIT1032<IT+0032
Got the =Little Man=!<WAI0025<NOD<END
#0083
<PRI<MSG<TUR<GIT1033<IT+0033
Got the =Mushroom Badge=!<WAI0025<NOD<END
#0084
<PRI<MSG<TUR<GIT1034<IT+0034
Got =Ma Pignon=!<WAI0025<NOD<END
#0085
<PRI<MSG<TUR<GIT1035<IT+0035
Got =Curly's Underwear=!<WAI0025<NOD<END
#0086
<PRI<MSG<TUR<GIT1036<IT+0036
Got the =Alien Medal=!<WAI0025<NOD<END
#0087
<PRI<MSG<TUR<GIT1037<IT+0037
Got =Chaco's Lipstick=!<WAI0025<NOD<END
#0088
<PRI<MSG<TUR<GIT1038<IT+0038<EQ+0128<FL+0722
Got the =Whimsical Star=!<WAI0025<NOD<END
#0089
<PRI<MSG<TUR<GIT1039<IT+0039
Got the =Iron Bond=!<WAI0025<NOD<END
XX: head.tsc 4000 - 4099
4000:Almond<6E><64><EFBFBD><EFBFBD>

Binary file not shown.

File diff suppressed because one or more lines are too long

View file

@ -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>

View file

@ -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÷´´¶°Ã¸Å´\Y´½´Á¶ÈoưÂoÆ´°º´½´³o°µÃ´Á\YÆ´´°Ã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>„¦´´o¶¾½½°o¶´Ão²ÁÄ·´³p<70>ž“žš”¨¦<E280B9>˜\YŸ¡˜<E280B9>œ¢¸È°·p<70>ž“ž\Yš”¨<E280B9>Ÿƒ<C692>ˆ¦<E280B9>˜€„\YŸ¡˜œ¢<E280B9>„£·´Á´oȾÄo°Á´p\Y™ÄÂÃ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

View file

@ -1 +0,0 @@
A>WddmdA>p≠upw♂dddlpzu}ddddpyA>WddmeA>p≠upw♂dddlpzu}dddepyA>WddmfA>p≠upw♂dddlpzu}dddfpyA>WddmgA>p≠upw♂dddlpzu}dddgpyA>WddmhA>p≠upw♂dddlpzu}dddhpyA>WdeddA>pz€~dgjendedgA>pz€~dgjdndedfA>p}<7D>dddhndedeA>py膏㏍嬰deepudeddnddddndddfA>pzuヅddhp<68>uddeenddmhnddhfnddifA>WdedeA>pф}p∞{}ィTォ」「[ィT」、劼UpxpyA>WdedfA>py膏zuヅddhp<68>uddeenddmhnddhfnddifA>WdedgA>pф}p∞{坤ゥT藍「[ィTヲゥ「UpxpyA>WdeidA>WdeieA>WdeifA>WdeigA>WdeihA>WdfmdA>p}<7D>dddhndfmepyA>WdfmeA>pxdfmdpz€~dgjdndfmfpф}p∞{p<><70>zuwdddl亨ュ`Tュ」ゥUUpxpwedddnddjgndddfpyA>WdfmfA>pz€~fhkdnddddpy膏″xdddfp∞{p<><70>ゥョョ復Upwdhdendddmnddddp丘}deddA>pwdhdenddefnddddA>pzuwdddip㎡<70>∞{<7B>Tォ恤ィ[ァTュ」ゥヲT<EFBDA6>腹spxA>坤ゥT屮「「謬圄屆ィT。儺ォ舉廣>ィ恤ィTィ悃「孕p高~eddepudhdenddgdnddddpw€<77>>pzuwddeh}T泙勠T舉Upxpw€ア>pz€_dgjepw♂dddhpwdhdenddjlnddddpv〝dhdepyA>WdhddA>py喉>p〟wpwdhddnddefnddddpudhddnddfdndddhp丘}dehdA>py楽dhdfA>WdhdeA>py喉>p〟wpwdhdenddefnddddpudhdenddfdndddhp丘}dehdA>py楽dhdfA>WdhdfA>pz€adgjepz€adgjfpz€_fhkdA>pф}p㎡<70>∞{pzuwdddi~ゥァィTュ」ゥTォ幅ィUpxpzuwddddpy膏w€ア>p丘}deddpw♂ddeiA>p∞{A>z」ゥ屆ィT」囹Tv腹ヲ」婉p丘}dehdpxA>p㏍嬰dhipwdeidndddenddddp丘}dddhA>p㏍嬰dhipwdeiendddenddddp丘}dddhA>p㏍嬰dhipwdeifndddenddddp丘}dddhA>p㏍嬰dhipwdeigndddenddddp丘}ddd4A>p㏍嬰dhipwdeihndddenddddp丘}dddhA>p㏍嬰dhipwdejdndfignddddA>pw♂dddlpyA>WdiddA>WedddA>py膏z€_dgjdpz€_dgjepz€_dhhdpz€adgfjp㎡<70>∞{y劔劔辧Upxpw€<77>分儺。兪Tァ分儺。儷Upxpw€<77>bbbbpxA>|ゥ徭pxp″vdddfp丘}ddgdp″xdddfpwedddnddjdndddhpw€<77>zuwdddj坤ゥ[ヲ冀bbュ」ゥ[ヲ儺「」ィA>ォ舉弋ィ恙Tx」葎」ヲspxpw€<77>弑T}[。Tァ」ヲヲュbpxpw€ア>pzuwddddpw♂ddddA>p<>uddgdp㏍嬰dfjA>puedddndddlnddddA>pudeddndddenddddA>p丘}ddedA>p″xddddA>pwedddnddjdnddddA>p丘}deddA>p<>uddgdp㏍嬰dfjA>puedddndddlnddddA>pudeddndddenddddA>p丘}ddkdA>p<>uddgdp㏍嬰dfjA>puedddndddlnddddA>pwdhddnddemndddfA>pwdeddnddelndddfA>pwdddhndddlnddldA>pwdddindddlnddleA>pwdddjndddlnddlfA>pwdddhndddmnddmjA>pwdddindddmnddmkA>pwdddjndddmnddmlA>p∞{|ゥョョ復Up丘}ddidpwdhddnddefndddfpudhddnddgdndddfpw€y膏w♂ddeeA>pwdiddnddjkndddfp丘}deddpudiddnddegndddfp丘}ddidpuedddndddlnddddA>p∞{pzuwddejw」。儺腹」「嫣T「」ォbpxpw€ア>pudiddnddeindddfp丘}deedA>pudiddnddfdndddfA>p丘}ddidA>pzuwdddip∞{<7B>Tォ恤ィ[ァTュ」ゥヲT<EFBDA6>腹spxA>坤ゥT屮「「謬圄屆ィT。儺ォ舉廣>ィ恤ィTィ悃「孕p高~eddepudhddnddgdndddfpw€<77>>pzuwddeh}T泙勠T舉Upxpw€ア>pz€_dgjepw♂dddhpwdhddnddjlndddfpv〝dhddpyA>WeddeA>py膏z€adgjfpz€adgjepw♂dddlp∞{pzuwdddi|ゥ彙pxA>u<><75>Tヲ撥惠`Tァ劔Tュ謬ィ恙「bpxpw€パudhddnddedndddfpudhdenddedndddfpy

View file

@ -1 +0,0 @@
S``i`=:l{u瑛v|]aai`lv|]aaialv|[aaibl}~qls}<7D>`c`lvqy````lu~t=:S``ia=:l{u瑛v|[aai`lv|]aaialv|]aaibl}~qls}<7D>`c`lvqy```alu~t=:S``ib=:l{u瑛}~qls}<7D>`c`lvqy```blu~t=:S``ic=:l{u瑛}~qls}<7D>`c`lvqy```clu~t=:S``id=:l{u瑛v|]aai`lv|[aaialv|]aaibl}~qls}<7D>`c`lvqy```dlu~t=:S``ie=:l{u瑛vqy```dlu~t=:S`a``=:l{u瑛<75><EFBFBD>`aalq~€`a``j````j```blvq```c=:lyй``bcj`a`alрq``fcj``icj```ij```d=:S`a`a=:l{u瑛рq``fgj``icj```ij```d=:S`aa`=:l€lvq```blрq``fdj``ibj```aj``aa=:S`ab`=:l{u瑛q~€`ab`j````j```bl<62><EFBFBD>`aalvq```dlрq``ffj``idj``a`j```h=:S`ac`=:l€l}ヘ<>劵P擂」、P瀦P、<50>P<EFBFBD>恙董<E68199>、覆=:Η姫憎捻、<E68DBB>P洟<50>「」P淘摯P辨P沾^^^l~tlu~t=:S`aii=:l€l}ヘ~剴姫圈耽l~tlu~t=:=:S`b``=:l{u瑛}液````lt~€0b``l㎞ネ}ヘq棠P箕「、<EFBDA2>「P憎捻ゥ衍W「<57>=:痢辨猶、蘖桝惧Ql~tlu~t=:S`b`a=:l€l}ヘlу<6C>=:PPPPPPPPPPPPзqЦケq||\Pv|{ゲl~tlu~t=:S`ba`=:l€lv|zaaiaj`baalv|zaaibj`bab=:l€lvq```dl}液```bl㎞y``e`lрq``fbj``iej```gj``gd=:S`baa=:l€lvq```dl}液```bl㎞y``e`lрq``fbj``iej``gij``gc=:S`bab=:l€lvq```dl}液````l㎞y``e`lрq``fbj``iej`aagj``fb=:S`bii=:lt~€`biilv|zbiiij````lu<6C>`c``=:S`c``=:lyй``cij`c`alu<6C>`c`c=:S`c`a=:lv|zbh``j`c`blu<6C>`c`c=:S`c`b=:lv|qlt~q``aclt~€`biilt~€`c``l<><EFBFBD>`celu~t=:S`c`c=:l{u瑛v~`c``j``afl}詠```bl}ヘlvqs``balwy<77>`cilу「辨猶摯PΗ姫未沱P、<50>Pu覧=:s泙「剩泙P促Pァ復弃促P、<50>P=:my「沾Pr沾芭Ql~tls|<7C>棡ゥP、<50>霸ァ劈弃yP弔舞娜、<E5A89C>」=:酎「「剳「^l~tlv}```hlu~t

View file

@ -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~儈~

View file

@ -1 +0,0 @@
DAZggpgDAsуxszъgghis}x€ggggs|<7C>DAZggphDAsуxszъgghis}x€ggghs|<7C>DAZggpiDAsуxszъgghis}x€gggis|<7C>DAZggpjDAsуxszъgghis}x€gggjs|<7C>DAZggpkDAsуxszъgghis}x€gggks|<7C>DAZghggDAs㊨€s}x<>gggs級xgghhqggpgqgglmqggjjDAZghhgDAs<41>尽恰携ghhsx<73>ghhgqggggqgggiDAs}x<>ggks級xggojqggpkqggg7qgghgDAZgiggDAs㊨€DAs|鋼gigiDAZgigiDAs|鋼ggoiDAZgjggDAsz<73>gjggqggggqggggs}メgjpgqgjgis}ッgjpgs|鋼gjghDAZgjghDAs|鋼gglhDAZgjgiDAs㊨€sш~xゥォ洳ゥ^ェW棠亊彳s<E5BDB3>{DA供惓弯ェWョゥ<EFBDAE><EFBFBD>・杆ヲ・Wォ沮DAォヲ、飭ォヲ・徠s<E5BEA0>{szラsш~s旧<73>惓弩ェ」惧ァェWォ沮W・ヲ劵弩xゥォ洳ゥcDAォゥャ弩沮ゥヲWォヲWォ沮W│、<E29482>椈ェes<65>{szラs|<7C>

File diff suppressed because one or more lines are too long

View file

@ -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>殉蝕Fx<78>lnovlmlnIFx<46><78>lnqvlmlmIFx縁ューcッ\ィォ洫。<E6B4AB>jx葛€x♀€IF_lmlmIFx暑鼠lnnx縁ベュ仁lnq賊。<E8B38A>\ー、。\y寸ィ。ャォョー。ョ\辞ォゥ\<5C>オyjx葛€x<78>x<EFBFBD>illnqIFxュ人lllxgmlnox£mlnIF_lmlnIFx〟富暑鼠lmmx}褐lmllvllllvlllnx<6E>詰llnx錘}llqrvllunvlllmvlmloIF_lmqlIFx〟富殉<E5AF8C><<>mplvlmqnx<6E><78>lnqvlmqmx<78>lnovlmqmx£mqnIF_lmqmIFx〟富縁ムォ\オォア\ウ擡ー\ーォ\」ォ\ーォ\}ョー、アョcッIF、ォアッ。{x賦<78>lllx<78>IFxgmltnxgmmplx件glllqvrllqIFx党<78>lqlx縁オF㊤<46>℃\視~巨]x葛€x<78>IFx鴛€lllnIFx}褐lnqlvllmlvllllx党<78>lrlIFx褐lnrlvlmqlvllllxчIFx}褐lnrlvllmlvllllx党<78>lqlIFx<46>詰llox党<78>mllx初x<78>mpmvlmqnxgmmpmx錘}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

View file

@ -1 +0,0 @@
=:S``i`=:l}~qlv|]`bfcls}<7D>``blvqy````lu~t=:S``ia=:l}~qlv|]`bfcls}<7D>``blvqy```alu~t=:S``ib=:l}~qlv|]`bfcls}<7D>``blvqy```blu~t=:S``ic=:l}~qlv|]`bfcls}<7D>``blvqy```clu~t=:S``id=:l}~qlv|]`bfcls}<7D>``blvqy```dlu~t=:S``ii=:ls}<7D>`bhlvqy```dlu~t=:S`a``=:l<><6C>l<EFBFBD><6C>`aalt~<7E>`a``lvq```dl<64>q```fj``idj`aaij``ag=:S`b``=:l<><6C>=:ly<6C>```hj`b`b=:l{u炼}<7D>r襔<72><EFBFBD>𠠬<EFBFBD><F0A0A0AC><EFBFBD><EFBFBD><EFBFBD>P<EFBFBD><50>袇\=:<3A><EFBFBD>周𩡗<E591A8><F0A9A197>^l~tlv|z`bdaj`b`alu~t=:S`b`a=:ls|<7C>}<7D><>𠠬<EFBFBD><F0A0A0AC>袇P𢅛𠠬<F0A2859B>P<EFBFBD>𠠬<EFBFBD><EFBFBD><E591A8>=:<3A><EFBFBD>唞匕<E5949E><EFBFBD>ㄓ^^^l~tls|=:lv|[`bfalv|[`bfclu<6C>`c`a=:S`b`b=:l{u炼v|[`baclq~<7E>`b``j``a`j````l𩺰y``c`lvq```dl<64>q```fj``iij`abdj`0aa=:S`ba`=:l<><6C>lv|zbd`cj``ailv|z`bdaj`baalu<6C>``ai=:S`baa=:l{u炼v|[bd`clvq```dls}<7D>```l𩺰y``b`l}~<7E>`c``j``abj```fj````lq~<7E>`c``j``a`j````=:l𩺰y``e`l|y[a```l<><6C>`b`l}缆```bl<62><6C>vqy```dlu<6C>`bab=:S`bab=:lu<6C>``hg=:S`c``=:l<><6C>=:lv|zbdc`j`c`b=:lv|z`bdaj`c`c=:l{u炼}<7D>x<EFBFBD><78>P<EFBFBD>佅𥫩=:x𪈳𠠬<F0AA88B3><EFBFBD><EFBFBD>䣳髢=:<3A>𠠬<EFBFBD>𢅛<EFBFBD><EFBFBD>寸l~tlu~t=:S`c`a=:l{u炼}<7D>lwy<77>``h<>P<EFBFBD>匕䰻匕<E4B0BB>𠠬<EFBFBD><F0A0A0AC>袇\P<><50>=:<3A><>Pmz<6D>𢅺<EFBFBD><F0A285BA>Pz<50><7A>m^l~tlu~t=:S`c`b=:l{u炼}<7D><><EFBFBD><E4BB99>P䰻匕<E4B0BB><E58C95><E38E9C>𦻐Q=:q<><71><EFBFBD>Ql~tlu~t=:S`c`c=:lv|[`bfalv|[`bfc=:l{u炼}<7D>w<EFBFBD><77>αPyP<79><50>P<EFBFBD><50><EFBFBD>𠠬<EFBFBD><F0A0A0AC><EFBFBD><E7A182>=:<3A><EFBFBD>P<EFBFBD><EFBFBD>鰊𠠬<E9B08A><F0A0A0AC><EFBFBD>Ν䰻不<E4B0BB>𦖠^^l~tlu~t

View file

@ -1 +0,0 @@
?<Ubbkb?<n€snu㍍bbbnxs{bbbbnw€v?<Ubbkc?<n€snu㍍bbbnxs{bbbcnw€v?<Ubbkd?<n€snu㍍bbbnxs{bbbdnw€v?<Ubbke?<n€snu㍍bbbnxs{bbbenw€v?<Ubbkf?<n€snu㍍bbbnxs{bbbfnw€v?<Ubcbb?<n}w杵xsbbdn<64>sbbgelbbkdlbbbjlbcdc?<Ub2bb?<n}w杵w<E69DB5>bdbc?<?<Ubdbc?<n}w杵x~|cibblbdbdnx~]cibbn<62>㍍bddnu€dbblbbdclbbbbnw<6E>bebb?<Ubdbd?<n}w杵<E69DB5>n<EFBFBD>ф圀・R屹痢R屶R迭ヲ、對ァヲ由ヲ。Rォ。ァ、?<沫ヲ陸泝<E999B8>逃孱<E98083>`Ry棕、ォRヲ。R到<52>?<ャ欄棕ァ・R伏到棊<E588B0>剽、・Sn€」nw€v?<Ubebb?<nw<6E>bbid

View file

@ -1 +0,0 @@
?<Ubbkb?<n<6E>snx~|befclbbkgnu𣸆bbknxs{bbbbnw<6E>v?<Ubbkc?<n<6E>snx~|befclbbkhnu𣸆bbknxs{bbbcnw<6E>v?<Ubbkd?<n<6E>snx~|befclbbkinu𣸆bbknxs{bbbdnw<6E>v?<Ubbke?<n<6E>snx~|befclbbkjnu𣸆bbknxs{bbbenw<6E>v?<Ubbkf?<n<6E>snx~|befclbbkknu𣸆bbknxs{bbbfnw<6E>v?<Ubbkg?<nu𣸆bdjnxs{bbbbnw<6E>v?<Ubbkh?<nu𣸆bdjnxs{bbbcnw<6E>v?<Ubbki?<nu𣸆bdjnxs{bbbdnw<6E>v?<Ubbkj?<nu𣸆bdjnxs{bbbenw<6E>v?<Ubbkk?<nu𣸆bdjnv<6E><76>dbbnv<6E><76>dcbnv<6E><76>ddbnxs{bbbfnw<6E>v?<Ubcbb?<n<>{n<>𣸆bccnv<6E><76>cbbnxs<78>bbfn<66>sbbcclbbkflbbfelbbef?<Ubdbb?<nx~|bedilbdbc?<n}w𡃉<F0A18389>nxsubbbi<62><EFBFBD>俘式Rs丹银丸<E993B6>?<黾坏𡢟``n<><6E>?<{R<><EFBFBD><EFBFBD>𠘚妔<F0A0989A>充𣑐?<<3C>𢬢吐<F0A2ACA2><E5A694><EFBFBD><EFBFBD><E5A694>`n<><6E>?<t<>它R哄吾R<E590BE>丑辺^?<<3C><><EFBFBD>R<EFBFBD><52>R哄刪<E59384><E588AA>Y<EFBFBD>?<<3C>〝```n<><6E>nu~<7E><>蠄R<E8A084><52>妔|<7C>𨧨<EFBFBD><EFBFBD>?<<3C>𠘚妔式R<E5BC8F><52>R𣺹```n<><6E>nw<6E>v?<Ubdbc?<n}w𡃉<F0A18389>nxsubbbi<62>丑辺```?<{R<>𢔛吐<F0A2949B><E59090>秄妔𣺹```n<><6E>?<<3C>丑辺Y充<59><E58585>卜𤧅<F0A4A785>乞?<s丹银乞R<E4B99E>充𣫮<E58585>圲鱝坏?<<3C>中椘亡n<E4BAA1><6E>?<t圻R<E59CBB>R<EFBFBD><EFBFBD><E58585><EFBFBD>R僟R?<<3C><EFBFBD>R<EFBFBD>妔v<E5A694>式丸<E5BC8F>?<䐓<>匝n<E58C9D><6E>?<s<>R嵗奉R{```{R衮<52><E8A1AE>Y<EFBFBD>?<═<E29590><EFBFBD>亡``n<><6E>nw<6E>v?<Ub2cb?<n}w𡃉<F0A18389>nxsubbbk<62>𠘚妔㨩妔扣﹕<E689A3>咱R式?<s丹银丸充黾坏𡢟n<F0A1A29F><6E>?<<3C>丑辺R<E8BEBA><EFBFBD><EFBFBD>R<EFBFBD><52>`n<><6E>?<<3C><E5A694>卜𣸑R<F0A3B891><52><EFBFBD>R<EFBFBD>?<<3C><E5A694><7F>𣫮膄𢹸𡛂㨩飜n<E9A39C><6E>nw<6E>v?<Ubddb?<n}w𡃉<F0A18389>nxsubbbk<62>丑辺Y充𤧅<F0A4A785>卜s丹银<E4B8B9>?<咅<>鷼R<E9B7BC><52><EFBFBD>吐𣫮黾中<E9BBBE><E4B8AD>?<<3C>餸椬<E9A4B8><E6A4AC>亡``n<><6E>nu~<7E><>R<EFBFBD><EFBFBD><E4B8AD>R<EFBFBD>椬袠<E6A4AC>R<EFBFBD>𣸑?<𣸑<><F0A3B891>R<EFBFBD>𣑐R<F0A39190>𢬢戎R<E6888E>?<<><7F>𢬢`n<><6E>nu~<7E>吃充嵗吐<E5B597>妔v<E5A694>式乞?<𣺹Y匝``央<><E5A4AE><EFBFBD><EFBFBD><E7ADBB>`n<><6E>?<<3C>𣑐R<F0A39190>椬袠<E6A4AC><EFBFBD><E58585><EFBFBD>?<<3C>𣸑R𣸑<52><F0A3B891>R咅卜<E59285>𠯫`n<><6E>nu~<7E><EFBFBD><E59090>R<EFBFBD><52>R式R<E5BC8F><52>?<<3C><><EFBFBD>璴n<E792B4><6E>?<圲吐s丹银卜<E993B6><E58D9C><EFBFBD>_<EFBFBD><5F><EFBFBD>𠿭?<𣶸”妔𣺹R<F0A3BAB9><52>`n<><6E>?<z𣸑R<F0A3B891><52><EFBFBD><EFBFBD><EFBFBD>R<EFBFBD><52><EFBFBD>?<<3C><><EFBFBD><EFBFBD>筻“卜<E2809C><E58D9C><EFBFBD><EFBFBD>?<𠈔<>R<EFBFBD><52>```n<><6E>nu~<7E>Y<EFBFBD>R<EFBFBD><52>卜咅<E58D9C>𠲸R𣺹^?<𢬢R鱝<52>R𢬢R{R<><52>`n<><6E>nu~<7E><EFBFBD><EFBFBD><E4BF98>R<EFBFBD><52><EFBFBD><EFBFBD><E4BF98>?<<3C><><EFBFBD>R僟R<E5839F>妔v<E5A694>式乞?<圲吐<E59CB2>R<EFBFBD>充𣫮忖<F0A3ABAE>R<EFBFBD>丑`n<><6E>nw<6E>v?<Ubebb?<n{<7B>bbbjlbebc?<n}w𡃉<F0A18389>\u<><75><EFBFBD>\R\<5C>𤙥S\n<><6E>nx~|bffdlbbbbnu~<7E>“R<E2809C>妔央<E5A694><E5A4AE><EFBFBD>筻𠿭<E7ADBB><F0A0BFAD>?<<3C><EFBFBD>R<EFBFBD><EFBFBD><E5A694>𠯫`n<><6E>nw<6E>v?<Ubebc?<ns<6E><73>ebblbbcblbbbbn统{bbebnx~|bffdlbebdnx~]bffdnv<6E><76>ebbnwòbebe?<Ubebd?<n}w𡃉v<F0A18389><76>ebbnw<6E>v?<Ubebe?<nwòbbbi

View file

@ -1 +0,0 @@
@=Vcclc@=o<><6F>oy}cfgdmcclhov<6F>Ếcceoyt|ccccox<6F>@=Vccld@=o<><6F>ov<6F>Ếcceoyt|cccdox<6F>@=Vccle@=o<><6F>ov<6F>Ếcceoyt|ccceox<6F>@=Vcclf@=o<><6F>ov<6F>Ếcceoyt|cccfox<6F>@=Vcclg@=o<><6F>oy}cfgdmccllov<6F>Ếcceoyt|cccgox<6F>@=Vcclh@=ov<6F>Ếcekoyt|ccccox<6F>@=Vccll@=ov<6F>Ếcekoyt|cccgox<6F>@=Vcdcc@=o~x亣y}chidmcdceo<65>Ếcddot<6F>cdccmccccmccce@=oyt<79>cceo<65>tccdcmcclemcccfmccde@=Vcdcd@=o~x亣y}chidmcdceo<65>Ếcddot<6F>cdcdmccccmccce@=oyt<79>ccgo<67>tccfemcclgmccckmcccl@=Vcdce@=o<>|o<><6F>|刨炎╴刨╯咅To<54>wox<6F>@=Vcecc@=o~x倻=oy}chigmcecg@=oy}chiemceci@=o<><6F>|Z<>S﹜<53>㜜锭坎S<E59D8E>昤坎S洽災o<E781BD>wox<6F>@=Vcecd@=o~x亣<78><E4BAA3><EFBFBD><EFBFBD>𢥏◢刨堺兄<E5A0BA><EFBFBD><E39CAD><EFBFBD>地o<E59CB0>w@=|簒洽沒戍𣌀S╮S<E295AE><EFBFBD><E39CAD>_S<5F>𩅛Z<F0A9859B>@=檱迚S◢刨㷍𣶷<E3B78D><F0A3B6B7>S洽災o<E781BD>w@=|刨<>t玺𢂚尼囝S坎㎡o<E38EA1>wox<6F>@=Vcece@=oy}cejfmcech@=o~x亣<78><E4BAA3>㫵S𨯂<53>S<EFBFBD><EFBFBD><E28099>囝S洽杓=<3D><>S坎S<E59D8E>䐭S<E490AD>㜭忙<E39CAD>籂aao<61>wox<6F>@=Vcecf@=o~x亣<78><E4BAA3><EFBFBD><E3AABD>籂aao<61>wov<76>𧊀<EFBFBD>aa@=<3D>S𢂚<53>布S堺仟aaS<61><53>aaao<61>wox<6F>@=Vcecg@=o<><6F><EFBFBD>𣶷炎<F0A3B6B7>﹖}咅<>S谷<53>S坎S<E59D8E>@=㜜S<E39C9C>𤣳<EFBFBD>S<EFBFBD>S<EFBFBD><EFBFBD><E39CAD>S揢<53>ao<61>w@=<3D>㜭㷍𣶷<E3B78D>兄ㄗㄒ<E38497>地o<E59CB0>wov<76>坾S𣪧谷㜭𧊀aaao<61>wov<76><7F><EFBFBD>蟵aao<61>wov<76>aa<61><61><EFBFBD>坾㜭㜜S<E39C9C><EFBFBD><E39CAD>@=揢<>aaaro<72>wox<6F>@=Vcech@=o~x亣<78><E4BAA3><EFBFBD><EFBFBD><E58584>S𨯂<53><F0A8AF82><EFBFBD><E59081>@=<3D><><EFBFBD>S𨯵S失佅圻ao<61>wov<76><EFBFBD>𤥃Z刨𡾞咅S╯咅<E295AF>S◢世=𩅛𠣕S<F0A0A395>吧aao<61>w@=u豆Sv言剳S<E589B3>𧊀<EFBFBD>S谷ao<61>wox<6F>@=Vceci@=o~x亣<78><E4BAA3>椙汶<E6A499>S叚<53>㜜锭堺兄<E5A0BA>𣶷<EFBFBD>◥坾字o<E5AD97>w@=<3D>坾𤊥吁㷍S<E3B78D>𣶷炎<F0A3B6B7><EFBFBD><EFB996>愌=}咅<>S<EFBFBD><EFBFBD><E38F8E>刨鱝◥S<E297A5>◢刨<E297A2>圲ao<61>wov<76>骽S<E9AABD><53>吧o<E590A7>wov<76>簒洽沒噐S坎S<E59D8E><EFBFBD>北@=洽沒◢<E6B292>刨坎S裦㜜锭<E39C9C>╮鋣=<3D>㜭𠳿锭<F0A0B3BF>咩S坎S<E59D8E><EFBFBD>㻡o<E3BBA1>woy^chigox<6F>@=Vcfcc@=o~x亣w<E4BAA3>cfcco<63><6F>co<63>墒ccccov<6F>Ếccc@=oy^chido~x倻=ot<6F>chccmcccfmccceo頕|ccjlot<6F>chccmccccmccce@=o<><EFBFBD><E5AAA4>oytvccdl<64><6C><EFBFBD>苽o<E88BBD>wov<76>=ov<6F>cfdcmcdeemccceow<6F>cecco頕|ccdc@=ov<6F>cfddmcdeemccceow<6F>cecdo頕|ccdc@=ov<6F>cfdemcdeemccceow<6F>ceceo頕|ccdc@=ov<6F>cfdfmcdeemccceow<6F>cecfo<66><6F><EFBFBD>S<EFBFBD><53>S𤉶车<F0A489B6><E8BDA6><EFBFBD>o<EFBFBD>w@=ov<76>╰S<E295B0>𣶷堺兄洽灶S𥚃吧aao<61>wov<76>=o頕|cceco<63>Ếccgov<6F>cgccmcddkmccceow<6F>chcc@=o頕|ccdc@=o<><6F>|Z䒷╮S<E295AE><53><EFBFBD><E58584>To<54>wov<76>◢Z<E297A2>S噐㜜锭𠳿炕TTo<54>wov<76>=ou<6F>cgcc@=ov<6F>Ếccg@=ot<6F>cgccmccdcmccce@=ot<6F>cfdcmccdcmccce@=ot<6F>cfddmccdcmccce@=ot<6F>cfdemccdcmccce@=ot<6F>cfdfmccdcmccce@=ox<6F>@=Vcfdc@=Vcfdd@=Vcfde@=Vcfd3@=Vcgcc@=o~x亣<78>墒cgcc@=oy`chidoy`chih@=ot<6F>cfdcmccecmccch@=ot<6F>cfddmccecmccch@=ot<6F>cfdemccecmccch@=ot<6F>cfdfmccecmccch@=ov<6F>cgccmcddjmccch@=ot<6F>cgccmccchmcccho頕|ccce@=ot<6F>cgccmccfcmcccgo<67>Ếcjc@=o頕|cdcco<63>|ov<6F>Ếcdho<68><6F>@=<3D>鑘╞曷o頕|cdgcov<6F>Ếccco<63>wov<76>y^chie@=oyt<79>ccgo<67>tccelmcclcmccdemcccl@=Vcgdc@=o~x亣y^chieo<65><6F>oytvccdl<64>To<54>woytvccccov<76>=ot<6F>cgccmccdcmcccco頕|cchc@=o<><6F>oytvccdl椙汶<E6A499>S<EFBFBD><53>S<EFBFBD><EFBFBD><E39CAD><EFBFBD>釺@=坎┴o<E294B4>wov<76><7F>卵吁<E58DB5><E59081>否S<E590A6>坾𤊥共=﹜<>㜜锭<E39C9C>𣶷<EFBFBD>◢刨<E297A2><E588A8>To<54>wov<76>Z䒷v言剳a@=v言剳Su<53><75>ao<61>w@=<3D>咅S|S炎<53>S見_S|S<>共=<3D><>S<EFBFBD>𠣕㜭<F0A0A395><E39CAD>𠯫咅ao<61>wov<76>ytvcceh|S𠳿╴刨<E295B4><E588A8>S㷍昤<E3B78D>𨯂<EFBFBD>𠣕@=<3D><EFBFBD>S<EFBFBD>圲aaao<61>w@=t嵗𠣕<E5B597>_S洽沒<E6B4BD><E6B292><EFBFBD>柑o<E69F91>wov<76>ytvccec|S<>地aaㄔ<61><E38494>剳S銉=<3D><><EFBFBD>𤩊𥚃<F0A4A98A><F0A59A83>兄檱戍S<E6888D><53>@=<3D>㜭╡<E39CAD>兄失佅圻aaao<61>wov<76>=ox药cgdh@=Vcgdh@=o~x亣<78><E4BAA3>oytvccdl<64>_S炎泳o<E6B3B3>wov<76><7F><EFBFBD><E588A8><EFBFBD>𤣳S<F0A4A3B3>S洽言共=𧊀S㜜S𡡤膥𡷑<E886A5>㻿𤑛o<F0A4919B>w@=w㏎洽沒<E6B4BD>“S坎S坏<53>𦴦=𧊅S堺兄䁥S<E481A5><53>㜜㜭辶〉o<E38089>}cgecoy^chifoytvccccov<76>=o峼<6F>cccemcccgmcdccoz|𣽡cce{㷍<>𣶷◣坾S<E59DBE>㜭p<E39CAD><70><EFBFBD>𤣳pao<61>wov<76>=ov<6F>Ếcdcoz|𣽡ccgz╡S<E295A1>㜭p<E39CAD><70><EFBFBD><EFBFBD>Sz芋pTo頕|cdico<63>wo<77>èv<76>=oyt<79>ccgo<67>tccelmcclcmccdemcccl@=Vcgec@=o~x亣<78><E4BAA3>oytvccdl<64><6C>剳ro<72>wov<76><7F>籾S<E7B1BE>S洽沒𡾞坾S<E59DBE><EFBFBD>@=洽言S<E8A880><53>_S|Z<>S<EFBFBD>S<EFBFBD><53>ao<61>wo<77>|ov<76><7F>墒cccc@=oyt<79>ccgo<67>tccelmcclcmccdemcccl@=Vchcc@=o~x倻=oy}chifmchfc@=ox药chdh@=Vchdc@=o~x亣y^chieo<65><6F>oytvccdl<64>To<54>wov<76>◢Z<E297A2>S<EFBFBD><53>S<EFBFBD><EFBFBD><E39CAD><EFBFBD>釺@=坎┴o<E294B4>wov<76><7F>卵吁<E58DB5><E59081>否S<E590A6>坾𤊥共=﹜<>㜜锭<E39C9C>𣶷<EFBFBD>◢刨<E297A2><E588A8>To<54>wov<76>Z䒷v言剳a@=v言剳Su<53><75>ao<61>w@=<3D>咅S|S炎<53>S見_S|S<>共=<3D><>S<EFBFBD>𠣕㜭<F0A0A395><E39CAD>𠯫咅ao<61>wov<76>ytvcceh|S𠳿╴刨<E295B4><E588A8>S㷍昤<E3B78D>𨯂<EFBFBD>𠣕@=<3D><EFBFBD>S<EFBFBD>圲aaao<61>w@=t嵗𠣕<E5B597>_S洽沒<E6B4BD><E6B292><EFBFBD>柑o<E69F91>wov<76>ytvccec|S<>地aaㄔ<61><E38494>剳S銉=<3D><><EFBFBD>𤩊𥚃<F0A4A98A><F0A59A83>兄檱戍S<E6888D><53>@=<3D>㜭╡<E39CAD>兄失佅圻aaao<61>wov<76>=ox药chdh@=Vchdh@=ot<6F>}cccemchdjot<6F>}ccdfmchdj@=o<><6F>oytvccdlo<6C><6F><EFBFBD>S<EFBFBD>柯S|Z𣶷<5A><F0A3B6B7>剳S<E589B3><53>@=坎S<E59D8E>𠘙S<F0A09899>圲S辶<E8BEB6><E28099>aaao<61>wox<6F>@=Vchdj@=oy^chifox药chdk@=Vchdk@=ox药ccck@=Vchec@=o~x亣<78><E4BAA3>oytvccdl<64><6C>剳ro<72>wov<76><7F>籾S<E7B1BE>S洽沒𡾞坾S<E59DBE><EFBFBD>@=洽言S<E8A880><53>_S|Z<>S<EFBFBD>S<EFBFBD><53>ao<61>wox<6F>@=Vchfc@=o~x亣<78><E4BAA3>oytvcceh|卵吁<E58DB5>㜭𢂚<E39CAD>S<E28099><EFBFBD>@=<3D><EFBFBD><E39CAD>S<EFBFBD>𣶷辶泵To<54>w@=<3D><EFBFBD><E39CAD><EFBFBD>釺S<E987BA><53>S檱戍@=谷<>S𨯵S<F0A8AFB5><53>ao<61>wox<6F>

View file

@ -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

View file

@ -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.

View file

@ -1 +0,0 @@
0-FSS\S0-_pqd_iomS[SS]SS\X_fpxSSS[_idlSSSS_lwmSSUT]SS\Z_hqg0-FSS\T0-_pqd_fpxSSS[_idlSSST_lwmSSUT]SS\Z_hqg0-FSS\U0-_pqd_fpxSSS[_idlSSSU_lwmSSUT]SS\Z_hqg0-FSS\V0-_pqd_fpxSSS[_idlSSSV_lwmSSUT]SS\Z_hqg0-FSS\W0-_pqd_fpxSSS[_idlSSSW_lwmSSUT]SS\Z_hqg0-FSS\X0-_fpxSSUV_lwmSSUT]SS\Y_idlSSSS_hqg0-FSS\Y0-_iomS[VU]SS\Z_idlSSSS_hqg0-FSS\Z0-_pqsSWTS]SSSU]SSSV]SSSS_dqsSWTS]SSSS]SSSS_idlSSSS_hqg0-FSTSS0-_nh|_vrxSSTT_dqsSTSS]SSSS]SSSU_idrSSSS_wudSSWX]SS\S]SS[T]SSXV0-FSTST0-_nh|_pvjl佑囃遷佑駐<E4BD91>Q_qrg_hqg0-FSTTS0-_nh|_vrxSSTT_dqsSTTS]SSSS]SSSU_idrSSSU_wudSSWZ]SS\U]SSSW]SSTZ0-FSTUS0-_lwmSSUT]STUT0-_nh|_pvj|著C笈<43>C雷<43><EFBFBD>④忠C葺幕倦<E5B995>0-噪来匹鴛註C嚮雷倦Q_qrg0-l佑囃<E4BD91>≡J佑<4A>CГ樺仲C欠<43>C嵐C笈х0-倦C嚮雷著佑яCъ匹淀綜Q_qrg_hqg0-#STUT0-_nh|_idrSSSV_wudSSW[]SS\V]STXX]SSST0-0-FSTXS0-_nh|_pqd_fpxSSS[_zdlSSSX_fqsSVSS]STTZ]SSSU_idlSSSU0-_zdlSSTS0-_dqsSVSS]SSSV]SSSU_zdlSSTY0-_dqsSVSS]SSST]SSSU0-_vdw_pvj_idfSSUXd譜C嚠C沫件修倦C雷<43>0-oу恤倦雷b_qrg_idfSSSS_for0-_dqsSVSS]SSSV]SSSU_zdlSSYW0-_dqsSVSS]SSUS]SSSU_zdlSSXS0-_dqsSVSS]SSST]SSSS0-_pvj_idfSSUXz<58><7A>遷佑活佑雷葡<E99BB7><E891A1>0-笈譜Q_qrg0-z<>緒C灸刪C嵐C肢<43>0-崇剏相Cщ<43>⑱_qrg_for0-_dqsSVSS]SSSV]SSSU_zdlSTWT0-_dqsSVSS]SSUS]SSSU_zdlSSTS0-_vrxSSTT_dqsSTTS]SSSS]SSSU_zdlSSUS0-_gqsSVSS_zdlSSUS0-_vrxSSTT_dqsSTTS]SSSS]SSSS_ioNS[US_hqg0-FSVSS0-FSVVS0-_sul_pvj|著C毎<43>Г<EFBFBD>覧酎Q_qrg_vrxSSWV_fou_pvjs譜末<E8AD9C>C圏Q_qrg_for0-_zdlSSXS0-_vrxSSZT0-_fpsSSSZ]SSVX]SSSS0-_fpsSSS[]SSVX]SSSS0-_fpsSSUY]SSVT]STTT0-_zdlSSXS_hqg0-

View file

@ -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™ž”PPžŸ¤•^l~tls|l„…‡™¤˜˜•P£˜™•œ”P¥ \PyP“žW¤=:—•¤P¤ŸP~Ÿ^P``W£P¢ŸŸ<C5B8>^l~tls|l„…yP¤˜™ž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

View file

@ -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

View file

@ -1 +0,0 @@
IF_llulIFx墛}x墤llmpx倉卨lllx亰€IF_llumIFx墛}x墤llmpx倉卨llmx亰€IF_llunIFx墛}x墤llmpx倉卨llnx亰€IF_lluoIFx墛}x墤llmpx倉卨llox亰€IF_llupIFx倛唋mnlvlluqx亽乴luqIF_lluqIFx墛}x墤llmpx倉卨llpx亰€IF_lmllIFx寧厁弸憀lmmx€妼lmllx倉媗llpx悗}lllnvllupvlnumvllltIF_lmlqIFx寧厁墢儉玕但盶碀<E79BB6>\矮\瘽病{x晩唋lllx彃寈垘儩<E59E98>\瘽病爅x妺€x亰€IF_lmlrIFx寧厁垍gmlllx弸憀lnlx}乬x墢儊<E5A2A2><E5848A><EFBFBD><E7A4AC><EFBFBD><EFBFBD>jx妺€x亰€IF_lmmlIFx噥晉墢儠<E5A2A2>\ⅰ〃\漒煫<E6BC92>\偿獱IF灗<46><EFBFBD>オjjjx妺€x亰€IF_lnllIFx噥旾Fx倛glmnlx倛glmlqx倛glmqpx倛glmqqx倛glonux倛glmlrx倛gntllIFx弣恱墢僯jj伄¥jx妺€x垕IFx墪~lllnx搣卨lqlx墪€lllnIFx搣卨lqlx墢儀}妼lnllvlllqvlllnx倉lllm嫟]x妺€x墪€lllox垘埆<E59E98>]\叞c痡jjIF匼挨オ<E68CA8>グc痋姳<E7978B>\ll]x妺€x垘悿ク\。<>煫报燶灐\<5C>甀F哎煣“\<5C><>挨ク\ク<>獱]x妺€x垕x倉llllx墪€lllnIFx}妼lnllvlllovllln<搣卨lolIFx}妼lnllvlllqvlllnx搣卨lqlIFx墢儀倉lllm仯<6D>煫獱グカ獀\姭<>潹]IF悿澃c痋长澃\匼ēА\矮IFぁ澁]x妺€x垕x搣卨lqlx弸憀lpox搣卨lnlx倉llllIFx墢儀倉llln劑{x妺€\}\瑵<>倡疇{x妺€x倉llllx垕IFx搣卨lqlIFx}妼lnllvllllvllllx搣卨lqlIFx墢儀倉llln摗èh\煯睜jx妺€x倉lllmx垕IFx}妼lnllvlllovllllx搣卨mnrIFx}妼lnllvllllvlllnx搣卨lnlIFx墢儀墪€llll€<6C>\但盶癨ǐ<E799A8>{x妺€x垘悿澃c痋<63>澋jx妺€x垘卌è\ā癨但盶煫<E79BB6>IF偿挨\<5C>jx妺€x垘摗\煗猏<EFBC81><E799A8>挨クIF牨┈\矮jx妺€x垘叒\<5C><EFBFBD>h\但眂<E4BD86>IF<46>漒ぁì\<5C>jx妺€x垕IFx}妼lnllvlllqvlllnx搣卨lnlIFx弸憀lmmx}妼lmllvllllvlllnx搣卨lnlIFx}妼lmllvllllvllllx€妼lnllx弸憀lnox亰€IF_lollIFx噥晉墢儀悜帍У\€疂猏仯<E78C8F>姭j\llIF劃盁ぅ<E79B81>\<5C>‖澁澃カ<E6BE83>\煫┈ā啊jx妺€x垘IF叒<46>癨対<E799A8>倡疇vx妺€x亰€IF_lollIFx寧厁倉媗llpx悗}lllmvllupvlllqvlllsIF_lpll

View file

@ -1 +0,0 @@
=:S``i`=:l}~qls}<7D>``alvqy````lu~t=:S``ia=:l}~qls}<7D>``alvqy```alu~t=:S``ib=:l}~qls}<7D>``alvqy```blu~t=:S``ic=:l}~qls}<7D>``alvqy```clu~t=:S``id=:lv|z`a`ej``iel}~qls}<7D>``alvqy```dlu~t=:S``ie=:l}~qlq~<7E>`aa`j````j```bls}<7D>``alvqy```dlu~t=:S``ii=:l{u炼}~qls}<7D>``a=:lq~<7E>`a``j```aj````lvqy```d=:ls~<7E>`c`aj`aabj```bl𩺰y`a``=:lq~<7E>`a``j````j````=:l}缆```blt~<7E>`c`al<61>slu~t=:S`a``=:l<><6C>l}<7D>l<EFBFBD><6C>𡼏<EFBFBD><EFBFBD>䣳P<E4A3B3>P<EFBFBD>P<EFBFBD>Pq═坾㏄<E59DBE>=:<3A>奴𦶧l轮z````ls|=:l{u炼s~<7E>`c``j`aaaj```blx}sl𩺰y``f`lq~<7E>`a``j```aj````=:l𩺰y`a``lvq```dl<64>q```aj``iij```ej```h=:S`a`a=:l<><6C>lvq```dl<64>q```dj``idj```ij```h=:S`a`b=:l{u炼s~<7E>`c``j`aaaj```blx}sl𩺰y``f`lq~<7E>`a``j```aj````=:l𩺰y`a``lvq```dlv|]`a`fl<66>q``bdj`g``j```bj````=:S`a`c=:l<><6C>lvq```dl<64>q```ej``idj``a`j```h=:S`a`e=:l<><6C>lvq```dl<64>q``bbj``idj``abj```b=:S`a`f=:l<><6C>l<EFBFBD><6C>`aalt~<7E>`a`flvq```dl<64>q``bbj``idj``aaj``ab=:S`a`g=:l<><6C>lvq```dl<64>q``bcj``idj```ij```h=:S`a`h=:l<><6C>lv|z`a`cj`a`il}<7D>y匕<79>唞匕<E5949E><E58C95>Ql~tlu~t=:S`a`i=:l<><6C>l<EFBFBD><6C>`aalt~<7E>`a`hlvq```dl<64>q```cj``idj```dj``a`=:S`aa`=:l<><6C>lv|z`a`ej`aaal}<7D>y匕<79>唞匕<E5949E><E58C95>^^^l~tlu~t=:S`aaa=:l<><6C>lt~<7E>`aa`lvq```dl<64>q``baj``idj``a`j```i=:S`b``=:l<><6C>l}<7D>yW硂<57><E7A182>婱䰻匕<E4B0BB>PyP<79><50>P<EFBFBD>匆l~t=:<3A>𪈠P<F0AA88A0>膄𠠬<E88684><F0A0A0AC>𢰦<EFBFBD>P<EFBFBD><50>=:<3A><EFBFBD>ol~t=:<>P<EFBFBD><50><EFBFBD><EFBFBD>䪤P膄WΝ陁佅^l~tlu~t=:S`c``=:S`c`a=:S`d``=:l<><6C>lv|[`a`al<61><6C>`bblt~<7E>`d``lu<6C>`d`c=:S`d`a=:l<><6C>lv|[`a`bl<62><6C>`bblt~<7E>`d`alu<6C>`d`d=:S`d`c=:lu<6C>``ab=:S`d`d=:lu<6C>``ac=:S`e``=:l{u炼}}`l}缆```blv}<7D>t~<7E>`e``lv|[`a``=:l}<7D>lvqs0``clq~<7E>`e`bj``aaj```b<>佅𠠬<E4BD85>仙𢅛𦖭=:<3A><EFBFBD>𢶠<EFBFBD>㎝l~t=:yW𨧧<57><EFBFBD><E58C95><EFBFBD><EFBFBD>P<EFBFBD>仞lq~<7E>`e`bj````j```bl~tls|<7C>s}<7D>```=:lvqs``abwqqxxQQl~tls|<7C>vqs```clq~<7E>`e`bj``aaj```blq~<7E>`e`bj``aaj```b<><62>oP<6F>𪈠WΝ<57>𪈠ol~t=:<3A><EFBFBD><E4BB99>𩡗儍<F0A9A197>𢰦膄oQl~tls|<7C>𡼏<EFBFBD><F0A1BC8F><EFBFBD>硂丐咋l~t=:u<>鱲仪P儍鴂<E5848D>Ν<E38F84><CE9D><EFBFBD>=:<3A>𪈠<EFBFBD>P<EFBFBD>QQl~tlvqs````ls|=:lq~<7E>`e`aj```bj````l𩺰y``eh=:lq~<7E>`e`aj```dj````l𩺰y``a`=:lq~<7E>`e`bj```fj```bl𩺰y``a`l<><6C>l}<7D>lvqs```d<64>QP<51><EFBFBD>𢺳l~tls|l{u<>=:lq~<7E>`e`aj```dj````l𩺰y``a`=:lq~<7E>`e`bj```fj```bl𩺰y``a`l<><6C>l}<7D>yW𨧧<57>╰咋=:yW𨧧<57>╰咋Ql~tlvqs````ls|l{u<>=:lq~<7E>`e`aj```dj````l𩺰y``a`=:lq~<7E>`e`bj```hj```bl}<7D>Zs<5A><73>QZl𩺰y``e`ls|=:l𩺰y``b`l}<7D><EFBFBD><7F>^^^l~tls|<7C><>ol~t=:l𩺰y``a`lq~<7E>`e`bj````j````l𩺰y``a`=:l}<7D>lvqs```a<><EFBFBD>P<EFBFBD>叨l~t=:lq~<7E>`e`aj```bj````l𩺰y``db=:lq~<7E>`e`aj```dj````l𩺰y``a`=:lq~<7E>`e`bj```fj```bl𩺰y```c=:l<><6C>l}<7D>lvqs```du<64>Ql𩺰y``e`lvqs````ls|l{u<>=:lq~<7E>`e`bj``acj````l𩺰y``e`l}<7D>lvqs``ab^^^^^l~tls|=:lq~<7E>`e`aj```bj```bl𩺰y`ba`lt~<7E>`e`blt~<7E>`e`al<61><6C>u~t=:S`e`a=:S`e`b=:S`e`c=:l{u炼v|[`a`clv~`e`cj``af=:ls~<7E>`e`cj``hij````=:l𩺰y`d``ls}<7D>`ae=:lv}``afl}<7D>=:t<><74><EFBFBD>硂y<E7A182>㎝l𩺰y`ad`l~t=:ls}<7D>``alu~t=:S`e`d=:]`e`e=:l<><6C>l}<7D>lvqs``ac<61>𪈠^^^ol~tls|<7C><><EFBFBD>P<EFBFBD>Py^^^ol~t=:<3A>𪈠P<F0AA88A0>硂y^^^ol~tls|<7C><>P𢅛𠠬<F0A2859B>叨l~tlu~t=:S`f``=:l{u炼v}<7D>t~q``ehl}}`l}缆```blt~<7E>`f``=:l}<7D>lvqs``abw<62><77>^^^l𩺰y``b`l~tls|<7C>P~uP}q侨<71><E4BEA8>xP}q<>u<EFBFBD><75>=:<3A><>sy<79>Puww<77>l~tls|=:ls}<7D>``d=:ls~<7E>`e`dj``acj````=:ls~<7E>`e`cj``hhj````lr<6C>`e`clv|]`a`clu~t

View file

@ -1 +0,0 @@
GD]jjsjGDv㊧{v}㍼jjlqv€{ニjjjv<76>GD]jjskGDv㊧{v}㍼jjlqv€{ニjjkv<76>GD]jjslGDv㊧{v}㍼jjlqv€{ニjjlv<76>GD]jjsmGDv㊧{v}㍼jjlqv€{ニjjmv<76>GD]jjsnGDv㊧{v}㍼jjlqv€{ニjjnv<76>GD]jjsoGD]jjssGDv<44>砺㊧{v}㍼jjlqGDv{<7B>jkjjtjjjktjjjjv€{ニjjnGDv}<7D>jmjktjkkltjjjlv捜ニkjjGDv{<7B>jkjjtjjjjtjjjjGDv∮~jjjlv~<7E>jmjkv合}v<76>GD]jkjjGDv褐プ㍾」誌鯨ゥZウゥッZア岑ョZョゥZ。ゥZョゥZ{ャョ「ッャaュGD「ゥッュ毓v嶋<76>jjjv}<7D>v€<76>jkosGDv<44>砺}<7D>jmjjtjkkktjjjlv}v捜ニjpjv{<7B>jkjjtjjjktjjjjGDv捜ニkjjv€{泳jjnv詞{jjjktjjsstjjjotjjjrGD]jkjkGDv褐プ€{泳jjnv詞{jjoktjjsntjjjntjjjnGD]jkjlGDv褐プ€{泳jjnv詞{jjoktjjsntjjkrtjjjrGD]jkjmGDv褐プ€{泳jjnv詞{jjjotjjsntjjkj:jjjrGD]jkjoGDv褐プ€{泳jjnv詞{jjojtjjsntjjkltjjjlGD]jkjpGDv褐プ€{泳jjnv詞{jjojtjjsntjjkktjjklGD]jkjrGDv<44>砺拷祝jkkv{<7B>jkjrtjjjjtjjjlv€{泳jjnv詞{jjoltjjsntjjjntjjkjGD]jkkjGDv<44>€{泳jjnv詞{jjontjjsntjjkjtjjjsGD]jkkkGD]jljjGDv褐プ㍾」誌月「飮撥ャ撥ュュZゥ<5A>Z媚婚ウZ~ャ孱ゥィhhhv<68>~v<76>GD]jljkGDv{<7B>jljktjjjjtjjjlv<76>GD]jlkjGDv褐プ㍾」誌月「洳飮ア岶Zョ「」ュZ「ッ。飮浚ェヲゥュ」ゥィ[GD造洽Zセ撥ァ飮ョゥfZ」ョZ屹ヲZヲゥゥ・沾GDヲ」・飮ョ「」ュhv<68>~v<76>GD]jmjjGD]jmjkGD]jmljGDv褐プ€<E38397>jrrjtjjjkv€<76>jrrjv拷祝jllv}<7D>jmljtjjlktjjjjv<76>jmlkGD]jmlkGDv<76>jjmjGD]kljjGDv<44>砺{<7B>kljjtjjljtjjjjGDv€沿kljjtjjkpv€{ニjjkGDv捜ニkjjv€{泳jjkv詞{jjjptkljjtjkqktjjkn

View file

@ -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>憫柡兄伱坡諄屯性崄邮壬諣澂哎潳<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.

View file

@ -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.

View file

@ -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>某灋灖

View file

@ -1 +0,0 @@
NKdqqzqNK}帍倉剮杚qtw}噦妐qqq}啅匩KdqqzrNK}帍倉剮杚qtw}噦妐qqr}啅匩KdqqzsNK}帍倉剮杚qtw}噦妐qqs}啅匩KdqqztNK}憮妢剮杚qqq}泜巬姇媞qss{qqzv}啑唓qzwNKdqqzuNK}帍倉剮杚qtw}噦妐qqu}啅匩KdqqzvNK}啋lqsvw}帞s}晼揘K}攼杚qut}垔時qss劙动郸砤ⅳ氮发郸<E58F91>}彁厎垔晀qqq}啑唓qzwNKdqqzwNK}帞坿晼摎岸aЕΝa<CE9D>ⅳ琣釜<E790A3>a案NK旦嘲定゛喊秓NK偔璦甫⒈隘碼コ氨宝<E6B0A8>蛋a崷乏璦rb}彁厎剭怤K}嚀唥帍倉剮杚qtw}噦妐qqt}啅匩KdqrqqNK}寙殅噦恞qqs}晸Aqqyq{qqzq{qqry{qqzxNKdqrrqNK}寙殅噸媟vtr{qrrrNK}噽巕qrw}噦恞qqs}晸俼qyr{qqzs{qqqs{qqrtNKdqrrrNK}槀妐qrq}墡剗槀妐qvqNK}帤卶qqq}攷剗啅匩KdqsqqNK}憮妢帞坿晼揘K槮<4B><EFBFBD>蛋a墻<61>b}彁厎啅匩KdquqqNK}憮妢攼杚qss}厪憅uqq}啑唓uqrNKdquqrNK}啑唓qruNKdqusqNK}厪憅usqNK}倧憅utq{qqtq{qqqq}噽弎utq{qqrwNK}倧憅vqq{qqts{qqqq}啅匩KdqutqNKdqvqqNK}寙殅噸nrvtr}噸lrvtsNK}剰憅vqq{qsvz{qqqq}啅匩KdqzqqNK}厪憅zqq}啅匩KdqzqrNK}厪憅zqr}啅<>

View file

@ -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

View file

@ -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姀湠~倊~垀~~垀~~~姏<>[X<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>~~厖

View file

@ -1 +0,0 @@
<EFBFBD>𠘚五<EFBFBD>~偭繕健賽中互偕善中中偕擰托中恕五庚嗽<E5BA9A>~𠘚五<F0A0989A>~偭繕健賽中互偕善中丰偕擰托中恕五庚嗽<E5BA9A>~𠘚五<F0A0989A>~偭繕健賽中互偕善中丹偕擰托中恕五庚嗽<E5BA9A>~𠘚五<F0A0989A>~偭繕健賽中互偕善中之偕擰托中恕五庚嗽<E5BA9A>~𠘚五<F0A0989A>~偭繕健賽中互偕善中尹偕擰托中恕五庚嗽<E5BA9A>~𠘚五<F0A0989A>~健謐中成恕丰狙中牧偎繡<E5818E>𠘚奶<F0A0989A>~倏嗶偕腕中中務中帚恕五亢丰丹恕予<E68195>~𠘚孕<F0A0989A>~倏嗶勒蟹中孕做薩丰奶恕中亢中丹偕腕中中務中帚恕五亢中限恕尹<E68195>~𠘚忖<F0A0989A>~倏嗶<E5808F>偕擰奶洛恕忖<E68195>~偕擰奶洶恕忖<E68195>~偭タ卧塨撦𤦌塨撦攟╰兜繪健曙㺭藏萼滅<E890BC>~偭芘中中做薩丹中恕中旨中尹匐善中坐偭芵中中偕<E4B8AD>奶洶偕嚏奶扣偕<E689A3>奶扛<E5A5B6>偭タ躇<E382BF>飹蝃竾塨𤤿秱鄳萳藏萼滅卩塨橍塯籝蜒竢椳塯𠵌<E5A1AF>崷欷<E5B4B7>~俁<>嵋嵕𥡝𡝮靲甃<E99DB2>睼竢涷魃<E6B6B7>~塨<>慖碴磰楩淼𧝁橖𠉛慖軗椥籝蜒藏萼滅卩嗲<E58DA9>楁磰嗕㚪殎遉兜繪<E5859C>⺌蜭<E2BA8C><EFBFBD><EFBFBD>魬𠊙欹<F0A08A99><EFBFBD>詻郯蜪<E983AF><EFBFBD>魱緷錏㕰<E98C8F>嗕箬<EFBC91>~⺪𠵌<E2BAAA>賟粔椕鳿𡝮蜪啫楁<E595AB>溈駇篊搫睯蝣╰兜繪健曙╰〦喿<E380A6><E596BF>醏掐𧝁橖𠉛殎堞兜繪健曙俁<E69B99><E4BF81>筅椵畽𢛵<E795BD>嗕緗陸藏<E999B8>~俁<>箬秱𠵌楴磰蝆𠰍涷晬兜繪<E5859C><EFBFBD>氃椥磰<E6A4A5>笯㕰<E7ACAF>嗕箬竾楴<E7ABBE>藏萼滅匸嗕竾淢𤦌淩楀<E6B7A9><EFBFBD><EFBFBD><EFBFBD>~醏蜬<E9868F>魦搫<EFBC91>~園<>碕賥秱𠰍楴魰<E6A5B4>醏椴<E9868F><EFBFBD><E6AE8F>魱渼𤦌涫<F0A4A68C><EFBFBD>魬蝃啫氰秱鄳瞱兜繪偎妏丹五<E4B8B9>𠘚忖<F0A0989A>~偭タ偕<E382BF>奶洛躇籝棔隃兜繪健曙暸賥𠵌欹蜪<E6ACB9>魱渼啫淶雵<E6B7B6><EFBFBD><EFBFBD><E89CAE><EFBFBD><EFBFBD><EFBFBD>逌涫𠉛蝁湆嗲瘈㕰睯<E395B0>~罾氄𥪯蜨萳鋡兜繪偎妏丹五<E4B8B9>𠘚忖<F0A0989A>~倏嗶偭タ呿涷竾淢㕰<E6B7A2>秱𠰍蜺<F0A0B08D>雵鳷氰陸藏萼溥臚丹車中左恕云狐嘟馱忖<E9A6B1>~𠘚忖<F0A0989A>~倏嗶做薩丹中恕中亢中丹偎繡<E5818E>𠘚戌<F0A0989A>~勒脹倏嗶側褶健薩丹戎恕巧亢中丹做薩丹戎恕丰亢中丹匐善中岸<E4B8AD>偭タ勒蟹中咫樑<E592AB>兜繪健曙<E581A5>勒蟹中咫<E4B8AD><EFBFBD>兜繪健曙<E581A5><EFBFBD>箬婙蜼𠊙棔<F0A08A99>秱箬籝蜒陸藏萼滅②╰╰兜繪健擭<E581A5>匐善中岸匐善中岸偭繕健賽中互偕善中尹匐善中岸勒褶偶薩丹戎偎繡<E5818E>𠘚戌<F0A0989A>~𠘚坐<F0A0989A>~凰ⅸ偕擰托中恕中弘瑰陁咫什デ氻丹旭溘臚坐亢中戎恕中什溥臚丹車中左恕云狐嘟馱坐<E9A6B1>~𠘚坐<F0A0989A>~偎妏中囿

File diff suppressed because one or more lines are too long

Binary file not shown.

View file

@ -1 +0,0 @@
A>WddmdA>p<>upw<70>ddempzu}ddddpy<70>A>WddmeA>p<>upw<70>ddempzu}dddepy<70>A>WddmfA>p<>upw<70>ddempzu}dddfpy<70>A>WddmgA>p<>upw<70>ddempzu}dddgpy<70>A>WddmhA>p<>upz<70>~diminddmipy㥍w<E3A58D>ddeepzu}dddhpy哣dfddA>WddmiA>p<>upw<70>ddempzu}dddhpy<70>A>WdeddA>p<>}p<>岚deepx<70>deddpzu<7A>ddhp<68>uddednddmhnddginddfjA>WdfddA>p杮īy㥍<79>xddddpu<70>dhddnddgdnddddA>p<>{pzuwddeh<65>簛夾ㄕ<E5A4BE><EFBFBD>T<EFBFBD>貞A><3E>苜Tǖu<C796>T迤奈A>迤固<E8BFA4><EFBFBD>兞汽<E5859E><E6B1BD>Up<55>xA>w𥚃<77>T迤固<E8BFA4><E59BBA>各p<E59084>xpw<70><77>>pzuwddeg<65>檱UUp<55>xpw<70><77>>pu<70>dhddnddgdndddfp𠹹}ddgdA>pu<70>dhddnddedndddfpz<70>_dimipz<70>_dfklp𠹹}dfddpw<70>ddempy<70>A>WdffdA>p杮īy<7F>>pz<70>~dimjndfgdA>pz<70>_dimjpz<70>_dimhp}ÒddehA>p<>{pzuwddeg<65><67>營bbp<62>xA>bbb揻孟p<E5AD9F>xpzuwddddpw<70><77>>p𠹹}ddidA>pw<70>dffdndeggnddddp𠹹}ddidA>p<>{p{}Ềde4pzuwdddd{𧞅簛<F0A79E85><EFBFBD>簛q<E7B09B><EFBFBD>吼bp<62>xp{}Ê̌dddpw<70>dgddndegdnddddpx<70>dhdepz<70>adfkhpw<70><77>>py哣dffeA>WdffeA>py哣ddjiA>WdfgdA>py㥍z<E3A58D>~dlgdndfgep<65>{pzuwddeg<65><67><EFBFBD>Up<55>xA>揻固〝夾T夾ㄓT<E38493>䐓Up<55>xpw<70><77><EFBFBD><EFBFBD>佅T見T堺<54><E5A0BA>T<EFBFBD>禑><3E><><EFBFBD>劫佅姯<E4BD85><E5A7AF>襍簛<E8A58D>䐓A>ㄑ見T<E8A68B>簛妝<E7B09B><E5A69D>䉠p<E489A0>xpy<70>A>WdfgeA>py㥍}ǚddeindfgfA>p<>{pzuwddegu𦐑T迤固嚤<E59BBA>T𥚃T𧭈>𧙗<>T<EFBFBD><54>bp<62>xp{}Ềdeip}Óddeipw<70><77>>pzuwdddd<64><64><EFBFBD>T𥸎q<F0A5B88E><71><EFBFBD>秀Up𠹹}ddgdp<64>xp{}Ê̌dddpw<70><77>zuwddegwㄐ簛<E38490><E7B09B>T<EFBFBD>T迤固臁膓A><3E><>T佅ㄗ<E4BD85>吋ㄑ緐p<E7B790>xA>}沍劫<E6B28D><EFBFBD>襍汽<E8A58D>潖A><3E>姯咯<E5A7AF><EFBFBD>㎡𣌀bbbp<62>xpy<70>A>WdfgfA>py㥍<79>{pzuwddegy<67>㎡𥸎<E38EA1><F0A5B88E><EFBFBD><E59AB9>T<EFBFBD>A>𣺹ㄚ劫<E3849A>姯佅姯鷼<E5A7AF><E9B7BC>bbp<62>xA>u<>T}T<>㎡𣌀T╯俊潖A><3E><>T<EFBC83>檱嚹𢒰T迤奔bbp<62>xpy<70>A>WdgddA>py㥍<79>{^<5E>𢒰烀bbbp<62>xpy<70>A>WdhddA>Wdhde

View file

@ -1 +0,0 @@
0-FSS\S0-_pqd_fpxSSSU_idlSSSS_hqg0-FSS\T0-_pqd_fpxSSSU_idlSSST_hqg0-FSS\U0-_pqd_fpxSSSU_idlSSSU_hqg0-FSS\V0-_pqd_fpxSSSU_idlSSSV_hqg0-FSS\W0-_pqd_fpxSSSU_idlSSSW_hqg0-FSTSS0-_nh|_vrxSSTT_dqsSTSS]SSSS]SSSU_idrSSSU_wudSSXV]SS\U]SSSU]STZV0-FSUSS0-_sul0-_iomTVZU]SUSU0-_dpmSSS\]SUSV0-_iomU[TT]SUSV0-_hyhSUSX0-FSUSU0-_sul_pvj_wxud軌C圏J砲樺仲C嵐C<E5B590>C<EFBFBD><43>Q_qrg_hqg0-FSUSV0-_ioNTVZU_hyhSUSW0-FSUSW0-_hyhSSTS0-#SUSX0-_sul_pvj_wxu|著C資丁OClC腰沫C薯刪C嵐C毎<43>0-幕<>鼎雷倦竃Q_qrg0-_fou_jlwSSS\lJ緒C褐刪C恍呂Г曙覧処C亦粋雷倦<E99BB7>0-潔C恍呂丁舛Г`e巡㊧`D_qrg_hqg0-FSUTS0-_sul_iomTVZS]SUTT_ioNTVZT0-_pvjq丁C嚥<43><E59AA5>㈹④雷<E291A3>C推舛葺<E8889B>0-忠韻嵐QQQ_qrg_fou|著C灸刪遷佑毎<E4BD91>C頗C鋸妹я⑯0-灸刪C恍話_qrg_hqg0-FSUTT0-_sul_pvjw灸綜C恍呂薗匹恍<E58CB9>C笈藷Q_qrg_hqg0-FSUUS0-_sul_pvjz拠J譜C恍楼C酔沫<E98594>b_qrg_hqg0-FSXSS0-_nh|_fqsSUXS]_idlSSSS_hqg

Binary file not shown.

View file

@ -1 +0,0 @@
yv<EFBFBD>㱔䛐v邦滬辛嘗<EFBFBD><EFBFBD>迆音<EFBFBD><EFBFBD>迂滌yv<EFBFBD>㱔递v邦滬辛嘗<EFBFBD><EFBFBD>迆音<EFBFBD><EFBFBD>迂滌yv<EFBFBD>㱔𡲢v邦滬辛嘗<EFBFBD><EFBFBD>迆音<EFBFBD><EFBFBD>迂滌yv<EFBFBD>㱔呩v邦滬辛嘗<EFBFBD><EFBFBD>迆音<EFBFBD><EFBFBD>迂滌yv<EFBFBD>㱔懢v邦滬辛嘗<EFBFBD><EFBFBD>迆音<EFBFBD><EFBFBD>迂滌yv<EFBFBD><EFBFBD>䛐v邢掬阮鄘<EFBFBD><EFBFBD>辰獐<EFBFBD><EFBFBD>迆香<EFBFBD><EFBFBD>阱冪<EFBFBD><EFBFBD>㱔𩵼<EFBFBD><EFBFBD><EFBFBD>𧇍𡲢v<EFBFBD><EFBFBD>䛐v邢掬yv迆葆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>递v迂簣<EFBFBD>孕yv<EFBFBD><EFBFBD>递v邢掬yv迆葆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>呩v巡懦<EFBFBD><EFBFBD><EFBFBD>𡲢v邦興殮桋<EFBFBD><EFBFBD>葄皙稊寍睧辶獄釜v殮栫藖痶邰<EFBFBD>尰䓃婧䓃欸<EFBFBD><EFBFBD>詑㶈旄辶獄釜v諶䎚<EFBFBD><EFBFBD>崳俜<EFBFBD>衴頎<EFBFBD>奜瑵龮詈腲v覗龯栜曧硢<EFBFBD>痶迖<EFBFBD>那趕迂滌yv<EFBFBD><EFBFBD>𡲢v邢掬邦興阱謙迆<EFBFBD><EFBFBD><EFBFBD>那趕辛蜀迅耋<EFBFBD>䣳巡<EFBFBD><EFBFBD>䣳棹硞旃曧瑵<EFBFBD><EFBFBD>帑睒豽猌v諼皙稊寍犎辶獄馬偕<EFBFBD>䣳銁授<EFBFBD><EFBFBD>懢v<EFBFBD><EFBFBD>呩v邢掬邦興<EFBFBD>婧俅䓃婧<EFBFBD><EFBFBD>崷詒<EFBFBD>倯硢yv豇詌殑<EFBFBD><EFBFBD>媏葮㶈旄<EFBFBD>那趕yv誠詍<EFBFBD>寊豽䎚<EFBFBD><EFBFBD>粣葮𧄍窙慪啢v葄皙稊寍睧<EFBFBD>辶獄馬捱釜v<EFBFBD><EFBFBD>懢v迂簣<EFBFBD>ㄔyv<EFBFBD><EFBFBD>䛐v邢掬yv迆葆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𡲢v迆葆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>递v迂簣<EFBFBD>孕yv<EFBFBD><EFBFBD>递v邦興菽𣞼䓃睙<EFBFBD>隗侲秊褁詈<EFBFBD>砨詙yv隗<EFBFBD>葐痭迍<EFBFBD>奜瑵<EFBFBD>頎迍豽苵v隗氪𦬕萶阼<EFBFBD>殑䓃婧繛俓<EFBFBD>那趕yv俾<EFBFBD><EFBFBD>跁詌宖阼<EFBFBD>覗𣉖<EFBFBD>蓛痶yv赹尰旃<EFBFBD>辶獄釜v桑<EFBFBD>葾棦<EFBFBD>欻祳䓃婤葌秊褁詈腲v摍倳睧靷覕㶈嗀旆<EFBFBD>那趕yv<EFBFBD>恮寊栱<EFBFBD>隗栫<EFBFBD><EFBFBD>嵻迖㶈詑l<EFBFBD><EFBFBD>那趕迂滌yv<EFBFBD><EFBFBD>𡲢v邦興脊睧<EFBFBD>隗侲𥚕裉靷<EFBFBD>那趕辛蜀啕邲袀祳䓃奜<EFBFBD>嗖詅<EFBFBD>詑祳𤥻婭寪yv覗<EFBFBD>蜳隗嵻欸崕獄釜v閩<EFBFBD>梑曧稃<EFBFBD><EFBFBD>蓛痶藖摳<EFBFBD>藖淀yv槮摍衭<EFBFBD><EFBFBD>那趕yv蹄珆<EFBFBD>㶈奜棦<EFBFBD>辶獄馬捱釜v<EFBFBD><EFBFBD>䛐v邢掬迆葆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>递v迂簣<EFBFBD>孕yv<EFBFBD><EFBFBD>递v邦興<EFBFBD><EFBFBD><EFBFBD>恮寊栱<EFBFBD><EFBFBD>蜞痻䓃奜輇v唱眈詅㶈俜<EFBFBD>那趕辛蜀擄拹頍<EFBFBD>箏邴崕獄釜v試豽䓃奜<EFBFBD><EFBFBD>葐嗈詒旃䓃<EFBFBD>萹俅<EFBFBD>棦辶獄馬捱釜v<EFBFBD><EFBFBD>䛐v邢掬迆葆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>递v迂簣<EFBFBD>孕yv<EFBFBD><EFBFBD>递v邦興<EFBFBD><EFBFBD>葾𧄍馹俉葮旃<EFBFBD>辶獄馬捱釜v<EFBFBD>鱝䛐v阮倣邢掬邦躓<EFBFBD><EFBFBD>邦興閩<EFBFBD><EFBFBD>那趕辛蜀棹瑵<EFBFBD><EFBFBD>蓛宖桏藖旂詅悗那趕yv竊邴<EFBFBD>怤瓬<EFBFBD><EFBFBD><EFBFBD>塹棔蚐yv甀尰邲<EFBFBD>那趕yv諶棦詀<EFBFBD>玵尰旃<EFBFBD>塹葌碚<EFBFBD>葨侲珆旃yv棦𣉖<EFBFBD><EFBFBD>拸詑衲<EFBFBD>棦嵻栻<EFBFBD>那趕yv桑<EFBFBD><EFBFBD>苸嵻侲<EFBFBD>眝睟殑<EFBFBD>那趕辛蜀<EFBFBD><EFBFBD>粣葮嵻敊俷祳曧摳䓃<EFBFBD>衴yv眙蓅殑<EFBFBD><EFBFBD><EFBFBD>珆阼衭曧<EFBFBD>嗐珇辶獄馬站劓<EFBFBD><EFBFBD>寊豽䓃<EFBFBD>眙蓅咧獄釜v識尰<EFBFBD><EFBFBD><EFBFBD>俅詑硞龮侲栻辶獄馬站語v身獐<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧊀<EFBFBD><EFBFBD>並音<EFBFBD><EFBFBD>邦酈<EFBFBD><EFBFBD>並音<EFBFBD><EFBFBD>yv身獐<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧊀<EFBFBD><EFBFBD>並音<EFBFBD><EFBFBD>yv身獐<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧊀<EFBFBD><EFBFBD>身獐<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧊀<EFBFBD><EFBFBD>阮鄘<EFBFBD><EFBFBD>並音<EFBFBD><EFBFBD>yv辰獐<EFBFBD><EFBFBD>身獐<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧊀<EFBFBD><EFBFBD>阮鄘<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>迂滌yv<EFBFBD>䣳䛐v<EFBFBD>𤟠句v釆噩邦興<EFBFBD><EFBFBD>辶獄馬捱<EFBFBD>

Binary file not shown.

View file

@ -1 +0,0 @@
>;Taaja>;m~rmt~<7E>aaimwrzaaaamvu>;Taajb>;m~rmt~<7E>aaimwrzaaabmvu>;Taajc>;m~rmt~<7E>aaimwrzaaacmvu>;Taajd>;m~rmt~<7E>aaimwrzaaadmvu>;Taaje>;m~rmt~<7E>aai>;mw}{aeibkaajf>;mwrzaaaemvu>;Taajf>;mw}{aidakaajg>;mt∥cabkabackaaaa>;mr∥daakaaaakaaac>;mwrzaaaemvu>;Taajg>;mt~∥abbkaaagkaagb>;mt~∥abbkaaahkaahh>;mt∥cabkabackaaaa>;mr∥daakaaaakaaac>;mwrzaaaemvu>;Tabaa>;mw}{aeiakabab>;mzmо<6D>abbmu∥baamwr€aaaem<65>raaagkaajekabhbkaabh>;Tabab>;mzm~зm<D0B7>ホ・Qィ<51>盜・Q<EFBDA5>。漫Rm€umvu>;Tacaa>;mw}{aeibkacac>;m|v確о<E7A2BA>aedmw}\aeibmt∥cabkabackaaaamt~<7E>aaamr∥daakaabakaaaam<61>zaacam~隔aaacm<63>zaefa>;mt~<7E>aaem<65>zaafa>;mt∥cadkaaajkaaaam<61>zaafa>;mt~<7E>aaamr∥daakaacbkaaaam<61>zaaiamt~<7E>abb>;mt∥cadkaabckaaaam~зm<D0B7>wrtaabeyヲォォ貯Rm€umv<6D>acae>;Tacab>;Tacac>;mzm~зm<D0B7><6D>>;□ィ魅Q率沐・國泅沽Q泛」梺撈ェ_m€umvu>;Tacad>;m|v確t∥cadkaabckaaaamr∥cadkaacakaaaem<65>zabea>;m<>zabaamt~<7E>a1f>;m~зm<D0B7><6D>>;w<><EFBFBD>・Q<EFBDA5>覧Qs喋」<E5968B>漏m<E6BC8F>zabeam€u>;mt~<7E>aaimw}^aeiamw}\aeicmw}\acbfmvu>;Tacae>;mr∥cadkaadakaaaamt~<7E>aaemt∥cadkaadgkaaaamsмacadmw}\aeiamvu>;Tacfa>;m|v確~зm<D0B7>ヤ箕・圈浪ヲ。___m€umvu>;Tadaa>;mw}{aeidkadad>;mw}{aeibkadab>;m|v確~зm<D0B7>ビQ」<51>蕩・___p>;z・Q腹巳盜・Q、末朮・<E69CAE>Q剪ァ鵬帖ェ>;。<>ィ魅_m€umvu>;Tadab>;mzmw}{aeickadac>;m~зm<D0B7>ホ・、Q剿瀦Q圖Q湯、剿媛圈_m€umvu>;Tadac>;m|v確<76>zaafa>;mt∥daakabajkaaae>;mr∥daakaabakaaae>;m~郭adaam<61>zaafam~隔adaamw}\aeidmw}\aeifmw}\aeie>;m~зm<D0B7>ュyr|Q橿<51>Q<EFBFBD>Q〉害橿<E5AEB3>srt|]>;zQtrQ~r|vQrQs€~sRm€umvu>;Tadad>;mw}{aeigkadbd>;mz<6D>aabbkadba>;mv<6D>adaf>;Tadaf>;m|v確~зm<D0B7>ピホxQ~vQntyrフ€r}n]>;n{v}}学zиQ{<7B>tvn]>;ruQnx<6E>Qsrёn_m€umvu>;Tadba>;mz<6D>aaaikadbbmv<6D>adaf>;Tadbb>;mz<6D>aabckadbcmv<6D>adaf>;Tadbc>;m|v確w}\aeigmz<6D>aabbmz<6D>aabc>;mw}\accb>;mv<6D>adfa>;Tadbd>;m|v確~зm<D0B7>ホXuQ€wwvゲ橿<E382B2>о~vQ<76>r]Qs<51>___m€umvu>;Tadfa>;mv<6D>aagd

View file

@ -1 +0,0 @@
-*CPPYP-*\mna\cmuPPPP\faiPPPP\end-*CPPYQ-*\mna\cmuPPPP\faiPPPQ\end-*CPPYR-*\mna\cmuPPPP\faiPPPR\end-*CPPYS-*\mna\cmuPPPP\faiPPPS\end-*CPPYT-*\mna\cmuPPPP\faiPPPT\end-*-*CPQPP-*\key\fljQUVTZPQPQ\souPPQQ\anpPQPPZPPPPZPPPR-*\faoPPPT\traPPQVZPPYTZPPSRZPPPR-*CPQPQ-*\pri\msgi如酪雑如署<E5A682>A\nod\end-*CPRPP-*\fljRTPVZPPPQ\fljQUVTZPQPQ\fljQPTRZPRPQ-*\key\mybPPPR\waiPPRP-*\msgh<67>N\nod@t<>如ヨ<E5A682>濡邸庶嫌@<40>叩水署桁-*莱蝿@″糸悼¨\nod@w<>@糸<>邸鉛L@忠㊧農\nod\clo\end-*CPRPQ-*\pri\fljRTPVZPPPQ\flKRTPV\souPPRR\cnpPRPPZPPRQZPPPP\evePRPR-*CPRPR-*\evePPXS-*CPTPP-*\key\mybPPPR\waiPPRP-*\itjPPSSZPTRP-*\fljQUVRZPTQQ-*\fljQUVQZPTPS\msgy助@㍼如棟劫@u悼糸涛@莱蝿@劫_\ynjPTPQ\clrh∴A\nod-*i@э浮如蝿N\nod\end-*CPTPQ-*\key\msgh<67>M<EFBFBD><4D><EFBFBD><EFBFBD>@b刔L@蝿<>N\nod\end-*CPTPR-*\key\flKQUVQ\msgh浩\nod@a克<61>堰_\nod-*h女@<>君\nod\evePTPS-*CPTPS-*\key\msgw<67>鍬@蝿<>N@d宗剌鼻浴飼@劫@拍-*㊨妹@剌<><>m蕪<6D>緒后b㊤_\ynjPTPX\evePTPT-*CPTPT-*\key\msgb部@猿@着′鉛儉@剌鼻э雑<D18D>-*着′嫌@浴飼@鉛L@忠㊧農\ynjPTPU\evePTPX-*CPTPU-*\key\msgy助@浴飼@鉛@蝿#@黒ヨ_\ynjPTPY\evePTPV-*CPTPV-*\key\msgy助@浴飼@鉛@≠棟剣賠嫌@随悼秤妹嫌-*誌@香粕<E9A699>@来_\ynjPTPY\evePTPW-*CPTPW-*\key\msgb部@着′嫌@剌鼻э雑如浴飼-*鉛L@忠㊧農\ynjPTQP\evePTPY-*CPTPX-*\key\msgr<67>血兩@o求儂\nod\end-*CPTPY-*\key\msgy<67><79>@来宗糸<E5AE97>邸鉛NNN\nod\end-*CPTQP-*\key\msgf猿<66>@<40>着@剌鼻㍼A\nod\clr\gitQPSS\itKPPSS\flKQUVR\clr-*\cmuPPQPg諸@蝿<>]m蕪<6D>緒后b㊤]N\waiPQVP\nod\rmu\end-*CPTQQ-*\key\msgb囹囹囈N\nod\end-*CPTRP-*\key\msg\tur\gitQPSSs<53>А<E7BE85>后蝿<E5908E>]m蕪<6D>緒后b㊤]N\gitPPPP\clr-*\msg\tur\cmuPPPTd怨AA\nod\clo\flKQUVT-*\cnpPUPPZPSQSZPPPP\waiPPPR-*\anpPUPPZPQPPZPPPP\dnpPTPP-*\bslPUPP\end-*CPUPP-*\key\cmuPPPP\anpPUPPZPUPPZPPPU\waiPQUP-*\msgy助@莱晒NNNNN\nod\clr\flMQUVT\dnpPUPP\evePUPQ-*CPUPQ-*\evePPXT

Binary file not shown.

View file

@ -1,2 +0,0 @@
-::C:FWXKFMW_:::BFPKS::::FPVT<>;=D::C@FOXN-::C;FWXKFMW_:::BFPKS:::;FPVT<>;=D::C@FOXN-::C<FWXKFMW_:::BFPKS:::<FPVT<>;=D::C@FOXN-::C=FWXKFMW_:::BFPKS:::=FPVT<>;=D::C@FOXN-::C>FWXKFMW_:::BFPKS:::>FPVT<>;=D::C@FOXN-::C@FMWZ:::<D::<;D::::FMWZ:::=D::<;D::::FOXN-::CCFUOcFWXKFMW_:::BFKXZ:<::D:::;D::::FPKS:::>FMXZ:=:;D:;;<D:::<FaKS:;::FKXZ:<::D::::D::::FWcN::::FNXZ:=:;F]WMFPVT<>;=D::C@FOXN-:;::FUOcF]Y_::;;FKXZ:;::D::::D:::<FPKY::::FWcN::::F^\K::=CD::C:D:;CAD::;>-:;;:
FUOcF]Y_::;;FKXZ:;;:D::::D:::<FPKY:::<FWcN:::<F^\K::>>D::C<D:::<D::;=-:<::FO`O:<:;-:<:;FUOcFW]QF^_\Ny*ペ*x~*~y*qy*~y*K|~r|1}ry}oIFcXT::::FMVYFMXZ:=::D:;;;D:::<FRWMFaKS::@:FKXZ:<::D:::;D::::FaKS:;::FPKY:::>F^\K:::;D::CCD:::?D:::B-:=::-:=:;-:?::FUOcFWcN:::<FMW_::::FPKS:::<FPVKF]Y_::<CFaKS::?:FW]QIFXYNFMVYFKXZ:?::D::;:D::::FaKS:;=:F]Y_::<=FaKS::<:FMW_:::BFPV7:?<=FPV5:A>:FNXZ:?::FOXN-:?:;FUOcF]Y_::<<FPVT:A>;D:::;FPV5:A>;FMXZ:?:;D::<;D::::FO`O:?:<-:?:<FO`O::@B

Binary file not shown.

View file

@ -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

View file

@ -1 +0,0 @@
EB[hhqhEBt<42>yt{<7B>hhjhty<74>hlhhrhhjhrhhhjt~y”hhht~рhopjrhhqqt}<7D>EB[hhqiEBt<42>yt{<7B>hhjht~y”hhit}<7D>EB[hhqjEBt<42>yt{<7B>hhjhty<74>hlhhrhhjhrhhhjt~y”hhjt~рhopjrhhqqt}<7D>EB[hhqkEBt<42>yt{<7B>hhjht~y”hhkt~рhophrhhqqt}<7D>EB[hhqlEBt<42>yt{<7B>hhjht~y”hhlt~рhophrhhqqt}<7D>EB[hhqqEBt{<7B>hhhorhhkmrhhhhEBt{<7B>hhhprhhkmrhhhhEBt{<7B>hhjnrhhkirhiiiEBt}<7D>EB[hihhEBt<42>》~рhonlrhihit<69>t訣葛ァ・擣<EFBDA5>。ヲ盜、飭沱X勗弭<E58B97>撕ョアX圖ァ屮ォEBャ<42>拗悸ァェッ匈ft<66>|t}<7D>EB[hihiEBt<42>》~y㍗hhht穴yhhllrhhqlrhhihrhhilEB[hiihEBtマ奏~рhopirhiiiEBt窮紘hiity<74>hiihrhhhhrhhhjt~y㍗hhjt穴yhhlnrhhqjrhhhkrhhhqEB[hiiiEBt~<7E>hopht~<7E>ho8iEBt窮紘hiity<74>hiihrhhhhrhhhjt~y㍗hhjt穴yhhlnrhimhrhhhkrhhhqEB[hkhhEB[hkhiEBtマ奏<E3839E>yt{<7B>hhjhEBty<74>hkihrhhhirhhhht~y”hhlEBt{<7B>hkhirhiijrhhhjt准”ihhEBty<74>hkihrhhhhrhhhhEBt<42>|hhhjt|<7C>hkhit球{EBty<74>hlhhrhhjhrhhhjt~рhopjrhhqqt}<7D>EB[hkihEBtマ奏~<7E>hojht{<7B>hkhhrhiiirhhhht€<74>t准”hnhty<74>hkihrhhhirhhhhEBt准”ihht~y㍗hhlt穴yhhljrhkhirhhjnrhhhmEB[hkkhEBt<42>》~рhopjrhkkit<69>息ュXォ撈X儿坏ャャァヲft<66>|t窮紘hlkt{шt<D188>穐抬ォ撩X。ャft<66>|t{хEBt~<7E>hopjEBt准”hmhEBt窮紘hoiEBt{<7B>hhhorhhkmrhhhhEBt{<7B>hhhprhhkmrhhhhEBt{<7B>hhjnrhhkirhiiiEBt准”hmht}<7D>EB[hkkiEBt<42><EFBFBD><EFBFBD>擱ffft<66>|t}<7D>EB[hlhh

View file

@ -1 +0,0 @@
nk剳憵憂k澁<EFBFBD><EFBFBD>憫憮潷憫憫潶<EFBFBD>nk剳憵抧k澁<EFBFBD><EFBFBD>憫憮潷憫憭潶<EFBFBD>nk剳憵搉k澁<EFBFBD><EFBFBD>憫憮潷憫憮潶<EFBFBD>nk剳憵攏k澁<EFBFBD><EFBFBD>憫憮潷憫憯潶<EFBFBD>nk剳憵昻k澁<EFBFBD><EFBFBD>憫憮潷憫憰潶<EFBFBD>nk剳拺憂k潿<EFBFBD>澊岸憫拻潰<EFBFBD>憭憫洃憫憶憫憮潷<EFBFBD>憫憫澁亥憫憫nk潷<EFBFBD>憳憯洃拺抧k澋尝憫敋洃憵暃憫檿洃憭杗k剳拺抧k潷瓕憳憰澋尝憫敋洃憵暃憫檿洃憭杗k剳拺杗k潿<EFBFBD><EFBFBD>憫憰澋尝憫敋洃憵暃憫殥洃憭搉k剳搼憂k潿<EFBFBD>澁川瞪苼乌哉朴市衷佊忻姓峮k<EFBFBD>显掌觼箯弿澂哎nk盒钟伳陕夏苼招伮照履蘮k试佖善蟻收詠陕漳蓙醒葡詮澂哎潶<EFBFBD>nk剳攽憂k潿<EFBFBD>澁川澋冻獔蝸聛焉谠誓事蠌澂哎nk┢悠崄推諄纹佊魄释蛠谛钟伾坡驼蓮澂哎潳<EFBFBD>澀獙拺憫澊岸憫搼nk潽但憫挆洃攽搉k潷<EFBFBD>憳憫洃攽挐Л寫槕憹涪獞憱憹Ψ<EFBFBD>攽杗k剳攽抧k潿<EFBFBD>澁川瞪苼耐氏誓伿韵堈佌行伹掠彎<EFBFBD><EFBFBD>kㄐ佂行虂切觼孕纹佄婆誓氏苼丈抡nk托刑詠衷旅推彎<EFBFBD><EFBFBD>Ο<EFBFBD>k剳攽搉k潿<EFBFBD>澁川潽祹憫挆潷瓕憳憮潷瓕憳棏潷瓕憳憯nk潹<EFBFBD>拺挆澋冻┞吓婆佇灼觼丈苼灓钟茙⑼蜑彎<EFBFBD><EFBFBD>Ο<EFBFBD>k剳攽攏k潿<EFBFBD>澁川<EFBFBD>馅佌陕咸詮澂哎nk<EFBFBD>哉佂普佄苼陕吓推佌善佊圃諒澂哎潶<EFBFBD>nk剳攽昻k潿<EFBFBD>澁川<EFBFBD>刑詠褪唐佌善佄婆誓氏茍詎k匦犹氏葟澂哎nk瓷茍屯伱苼寐奶伿蟻履帐邢伿蟦k闲佌饰茝澂哎nk⑼蛠丈孪淘佌衼谛謲佇莵男钟云彎<EFBFBD><EFBFBD>Ο<EFBFBD>k剳攽杗k潶乏憫棙nk剳敀憂k潷<EFBFBD>憳憰洃敀攏k潷<EFBFBD>憳憮洃敀搉k潷<EFBFBD>憳憭洃敀抧k潿<EFBFBD>澁川獔蝸聛现釉茝澂哎nk獊衷婆佌衼匦犹伿蟻丈苼型舗k耐氏誓佅坡用趰澂哎nk弥諄收佖略佋剖燮艁泌伻尚哉詬nk孪艁獊峭婆伾朴茝澂哎潶<EFBFBD>nk剳敀抧k潿<EFBFBD>澁川⒂苼谛謥聛怯势吓佇莵善釉牆<EFBFBD><EFBFBD>k<EFBFBD>佢兄伳a悠伮眯终伾朴崄獔舗k屡资云佢兄佌衼判伮詠丈苼判恼杏nk月谠彎<EFBFBD><EFBFBD>Ο<EFBFBD>k剳敀搉k潿<EFBFBD>澁川ㄐ信佀忻彎<EFBFBD><EFBFBD>k盒謥攀畔堈佋破伮馅伻尚哉詬nk攀艁谛譅澂哎潶<EFBFBD>nk剳敀攏k潿<EFBFBD>澁川吧崄攀艁谛謥男纹佌衼纳颇蘮k盅佇蟻丈抡伻视蜖澂哎潳<EFBFBD>瓷苼仄险佇乔佌胸掠旁佌善nk儯兄团朴仱陕蚊朴儚澂哎潶<EFBFBD>nk剳敁憂k潷<EFBFBD>憳憮洃敁搉k潷<EFBFBD>憳憭洃敁挐Л寫槕抧k潿<EFBFBD>澁川潷ⅳ憫挌吧崄善趥澂哎潳<EFBFBD>┞灼蠄諄云葡伜岸伿蟦k聛厣释茝澂哎nk盒謭悠佂行淌先伻行艂澂哎潳<EFBFBD>瞪抡佖收纳佌性云艁谛謓k判叵伾朴苼招袓伷蔂澂哎nk绰纹伮詠纹倽<EFBFBD><EFBFBD>き碀Б<EFBFBD>憮懘衼谛謥仄悠蠄諄旅推佌衝k闷抡佌善蝸虑掌觼峦蛷弿澂哎nk獔艁履罩峦挖伾屡佄趤尚哑詎k切觼谛謲伱终弿彎<EFBFBD><EFBFBD>き尝吓佄茘仾佌邮婆弉k吧崄獊沼势艔澂哎nk⑾艁酥哉佂行虂厣朴苼收nk刃諄纹彎<EFBFBD><EFBFBD>き硰弿弿澂哎潳<EFBFBD>⑾艁峦蛠切觼闲丈氏葟澂哎nk<EFBFBD>佌善伷吓崄獊男滞畔堈nk月灼伮馅佇莵丈性苙k纳释庞葡彎<EFBFBD><EFBFBD>k瞪苼陨卵苼獔蝸氏佅胸峮k獊匦蠄諄闷佂坡资先nk孪谡饰苼孕邢弿彎<EFBFBD><EFBFBD>Ο<EFBFBD>k剳敁抧k潿<EFBFBD>澁川潷ⅳ憫搼獊灾幼首婆崄谄律崄弥課k闲貋厣抡牆<EFBFBD><EFBFBD>き敞制栽仾埼佀衷諄刃氏萵k招佋收伾朴苼孪艁有諒弿澂哎潶<EFBFBD>nk剳敁搉k潿<EFBFBD>澊⒌澁川潷ⅳ憫搼瞪朴茍詠邢挖佇掀佖纶nk兄諄星佌善伃旅谟氏丈彎<EFBFBD><EFBFBD>き澈兄伾伦苼招伻普佈略課k丈苼仁孪諄有奶伿蟻丈苙k滞牌觼ど挛闷訌澂哎潳<EFBFBD>獔艁刃佖收蓙谛謲澂哎潳<EFBFBD>弥諄厥丈佌善佋章掌仾埼nk氏崄獔艁酥哉伻普伿蟦k谛钟佖纶弿彎<EFBFBD><EFBFBD>Л寫槜憹Л寫槕敐Ο<EFBFBD>k剳晳憂k潿<EFBFBD><EFBFBD>憳憱洃憫挐Л寫槕枬窗稇憮摑く睉晳憶憫搾洃憫憹Ψ<EFBFBD>晳抧k剳晳抧k潶乏憫棜

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