(del tab) Tag: Source edit |
(typo) Tag: Source edit |
||
Line 14: | Line 14: | ||
The quest "The Runners" spawns the escort ship 'Victory' and the pirate |
The quest "The Runners" spawns the escort ship 'Victory' and the pirate |
||
attackers at the wrong place in Rynkel, because in ASCII Sector 0.7.2 the |
attackers at the wrong place in Rynkel, because in ASCII Sector 0.7.2 the |
||
− | system has more |
+ | system has more Nav points than when "The Runners" was written. |
Old savegames remain valid. Only tested on Linux, because that's all I have. |
Old savegames remain valid. Only tested on Linux, because that's all I have. |
Revision as of 18:30, 2 June 2021
Patch for ASCII Sector 0.7.2 that fixes quests, for which no source is available.
- The Runners spawns ships at the wrong Nav point in Rynkel.
For details see affected quest's page and description at start of patch itself. Savegames remain valid.
Only tested with Linux; in theory it should work on Win and Mac, too, if you manage to get a bash script to run. Save the code to a file, mark it as executable and run it in ASCII Sector's top directory. The script makes backups of files it changes, still, no guarantees. Feedback welcome.
#!/bin/bash -e test $# = 0 ||exec cat <<\EOF Patches problems in the quests of ASCII Sector 0.7.2. --JR05/2021 The quest "The Runners" spawns the escort ship 'Victory' and the pirate attackers at the wrong place in Rynkel, because in ASCII Sector 0.7.2 the system has more Nav points than when "The Runners" was written. Old savegames remain valid. Only tested on Linux, because that's all I have. However we only touch data files, which are identical on Win and Mac, so patch should work there just the same if you can somehow manage this bash script to run. On Win you'd appearently need to install the "Windows Subsystem for Linux" first? Does this include 'stat', 'cp' and 'dd', too? Mac can run bash, I've read, but I have no clue where the data files are located, so the script will likely not find them. Feedback is welcome. On Linux, as far as I can tell, everything is fine. The script does some basic checking and backs up the file before changing. Still, use at your own risk. EOF unset ALT FILE while read ADDR DATA; do test -n "$ADDR" -a "${ADDR#\#}" = "$ADDR" ||continue #skip comment set -- $DATA # ALT/FILE lines declare (expected) sizes and names of files following # data lines apply to. ALTs are optional alternative patches for the # concluding FILE i.e. 0-∞ ALTs + 1 FILE form a group from which exactly # 1 patch must apply. If ALTs aren't followed by their own data lines # then those of the following ALTs or the final FILE are used. # ALTs/FILEs can't have comments, file names might include a '#'. if [ "$ADDR" = ALT -o "$ADDR" = FILE ]; then SIZE="$1"; shift # We only 'stat' file size, change to 'cksum' if needed. if [ ! -f "$*" ] || [ "$(stat -c%s "$*")" != "$SIZE" ]; then # No match if [ "$ADDR" = FILE -a -z "$ALT" ]; then echo "Error: No suitable '$*'. Aborted!" >&2 exit 1 fi test "$ALT" = open ||unset FILE #end of data test "$ADDR" = FILE &&unset ALT #end of group continue fi # Match if [ -n "$ALT" ]; then echo "Error: '$*' ambiguous. Aborted!" >&2 exit 1 fi FILE="$*" #expecting data test "$ADDR" = ALT &&ALT=open #group matched if [ ! -w "$FILE" ]; then echo "Error: Can't write '$FILE'. Aborted!" >&2 exit 1 fi if [ -e "$FILE.bak" ]; then echo "Backup '$FILE.bak' already exists. Bailing out!" >&2 exit 1 fi cp -av "$FILE" "$FILE.bak" else test -n "$FILE" ||continue #data doesn't apply, skip test "$ALT" = open &&ALT=applying for DATA; do test "${DATA#\#}" = "$DATA" ||break #skip comment echo -ne "\\x$DATA" done | dd seek=$((0x$ADDR)) bs=1 of="$FILE" conv=notrunc status=none fi done <<\EOF # The Runners ALT 32440 Resources/quests/ctha1.qst FILE 32440 quests/ctha1.qst # Scenes 12-13: escort and attackers in Rynkel, change Nav 4 to Nav 5 5BE1 14 4A 8D 47 42 42 83 2E 7E AB 8D 68 D1 61 6A 86 D3 E3 E3 D9 B2 48 98 C5 5BF9 2E C0 14 EA 58 39 60 E7 0B B4 CD 83 87 BB 15 61 52 E8 0A 25 E5 D9 AB EA 5C11 3D 5B EC 90 8C 20 E2 37 E2 89 33 38 7D 83 C0 4E 31 45 D3 31 9E 33 5B DE 5C29 8C C5 48 F5 01 42 88 69 33 8E D8 5A 43 13 55 62 D0 76 A7 B9 E3 FF 5A FE 5C41 F6 5B D0 AF 3A 53 E6 5A DF 0D E5 B4 6F C1 DC 3F 12 54 F1 AE C3 62 50 40 5C59 BB 49 7C 85 8F EE 48 C7 EC 4F 9B F2 98 7E 5C92 C8 27 06 FB 1E D7 70 2D D7 51 33 05 62 14 BC 76 BD 2C DE C8 A0 7D 3A 27 5CAA 12 43 93 84 17 C8 3B 3E EF 7D B8 84 DE 25 70 1B 58 2B EA 08 49 1F B7 76 5CC2 99 9F E1 71 E9 7F 45 29 9C B6 AF BB D9 73 3C 0E 14 45 91 7D 82 77 5C BE 5CDA D7 81 8C 47 E9 18 87 0F 0B 1E 0A E7 E7 56 D3 D9 53 3B C6 78 5B 12 93 AC 5CF2 58 A6 84 6E 71 3B C5 A8 F5 61 8D AD E0 FF 84 FC 19 CB 53 03 0A 51 CF 28 5D0A 8E 0E 32 77 FE 75 02 C9 48 84 D1 04 56 4D C9 6D 6C 28 C4 38 26 EC A2 6D 5D22 88 68 33 6A B0 DE FF 23 2E 7F 77 A2 4A 0E C7 1F A0 62 DB E3 83 AB 62 B4 5D3A D6 4C 6F 97 AF F3 5D BC 76 E0 F0 93 D8 38 29 C5 79 5B BE 2A CF AE 3E 3F 5D52 C2 34 79 B6 82 9C 11 4C 38 BB D4 15 BD 0E 5DA8 4F FB D0 9B C9 DC 2A CB F8 BA 2F A7 A8 60 C1 02 C3 A6 17 51 49 4A 5A 73 5DC0 DF 63 0E DA 41 F0 8A 5A 3D 2B 79 D1 48 AD 51 CD 85 9D 3A 73 36 A2 67 51 5DD8 2D 1C 8A 93 62 78 77 65 AC 6D 0D 3C 72 F6 21 85 72 8C 93 F5 26 99 90 FB 5DF0 B2 9B C7 B0 5F 8E E0 5C 1C 23 EE 5B 62 D8 95 AB ED B0 0E 34 D3 90 EF DE 5E08 26 87 42 6C 2E B7 B3 C7 90 99 48 FF B1 5F 55 46 20 01 AD A1 8C B6 21 A7 5E20 CB 1B 89 AD 2B E0 CF E3 4F 75 8B 56 A5 0E 5E DE E6 BA 5F 83 4D B0 02 3F 5E38 1E 98 6F 90 5E 4C 34 8E 56 37 EA 64 92 05 FC 6D 1E C4 5F D7 D0 D1 58 44 5E50 A8 EA C9 9C 05 98 7B 50 41 5EBE B7 EA 6E F8 DF 08 06 15 9E 69 34 31 39 70 36 6B 96 65 43 9A CF 68 FD F5 5ED6 91 B5 2B 0C B4 FB 67 EB 29 74 8D 21 BE 75 3E 2D 29 02 C6 11 8A 9D FE AB 5EEE 1B 0B 43 58 AD 69 CD 2C AA 4E 71 60 22 E2 90 AC BD 20 B0 CD DE 71 7D BC 5F06 80 41 45 96 D0 18 54 1C 90 74 46 7B A9 19 26 51 49 FE 4E 7C 18 44 AB 6F 5F1E 23 E0 5C 47 74 A7 99 4E 01 7E 4E A2 17 10 BD BC 16 C9 2D 7B 7B 19 22 1F 5F36 08 4A D8 FF F5 5B 49 47 1B 8E 1D FF 99 CC BA 5C 33 92 4A 66 05 B1 FE A3 5F4E 16 D3 65 88 5FB0 E2 ED D7 CB 33 D9 70 21 E7 FD 42 2F E4 D5 EE D8 F1 3B FF 20 49 59 85 A7 5FC8 F7 AA A0 83 08 26 A0 60 E3 E8 89 AB 3F 8F DC E6 3E 5D 16 4E 17 5F D6 CA 5FE0 B9 51 C7 47 E2 CF 82 6C DA 5D 74 05 F7 16 FF 0D 9F 81 44 E6 A5 CD 1C 84 5FF8 59 25 FC 99 AC F8 C6 C3 A2 E3 88 36 DC 98 B5 8D FF 2A A5 01 81 59 6B 00 6010 5E 92 9D 2E 8F BB 23 D4 2D D8 B7 DA A0 4A 9F 5E ED E9 A7 5C BB F0 2A BB 6028 DD E6 CD 39 8D FC 4C 68 2B 82 11 09 8A A6 B5 3E 48 C8 02 23 EF A5 89 C5 6040 1A C9 77 F9 EE C9 1B 67 EE F3 4B 6308 EF C2 87 CF C0 B5 4B B2 70 4A 5D F0 E9 7E 20 4C 87 32 E8 4F 8E 84 E4 E7 6320 77 BE C3 84 C8 14 D7 46 30 3E 88 BF 45 C1 87 65 A7 48 61 71 F0 86 EOF echo "Done."