PawMac User Guide
Version 1.10.3 - November, 2021
Last update: 14 November, 2021
Contents
Installation. 3
Using PawMac to convert Quill files to PAW, DAAD or Adventuron. 4
Conversion Introduction. 4
DAAD. 4
Adventuron. 4
Conversion Instructions. 5
1. Function selector 5
2. Output Path. 5
3. Remove control codes. 5
4. Use smart wrap. 5
5. Export Fonts. 6
6. Truncate longest X percent 6
7. Truncate characters / percentage. 6
8. If necessary, truncate. 6
9. Create log file of activity. 7
10. Verbose logging. 7
11. Output window.. 7
12. ? (Help) 7
13. Font mapping. 7
14. Settings. 7
15. Export Images. 7
16. Alt Shade 8
17. Edit window.. 8
18. ReDo. 9
19. Font Display. 9
20. Get UnQuill Output. 9
Drag and Drop an SNA snapshot file. 10
Using the PawMac edit window.. 13
Searching for a word. 13
Edit the word or word number 14
Insert or Edit a word. 15
Finalising your adventure in PAW.. 16
Vocabulary. 16
Event > Response. 17
Status > Process. 17
Messages and Locations. 18
System messages. 18
UDGs. 19
Objects. 19
Patch or Press Flags. 19
Using InPaws128. 20
Installation. 20
Running InPaws128. 20
Automating InPaws and UnQuill in PawMac. 21
Enable UnQuill Automation. 21
Path to UnQuill 21
UnQuill output path. 21
UnQuill Settings. 21
Enable Automation. 21
Path to InPaws. 21
InPaws output path. 21
InPaws128 -z value. 22
InPaws c setting. 22
Image Export Format. 22
Image Export Scale. 22
Guidance notes for creating DAAD adventures using PawMac and InPaws128. 23
Setup. 23
Memory. 23
Vocabulary. 23
Quill Condacts. 23
Process Tables. 23
Flags. 23
Message and Location Text 23
Location Graphics. 24
Fonts. 24
Further reading. 24
Using PawMac to convert Quill files to Adventuron. 23
Conversion Introduction. 23
Conversion Instructions. 23
Remove control codes. 23
Use smart wrap. 23
No blank line after \n. 23
Replace newline with space 23
Multi-part. 24
Image to assets only. 24
Finalising your adventure in Adventuron. 23
Event > Match. 23
Status > On Tick. 23
Messages and Locations. 23
System messages. 23
UDGs, Graphics, Fonts 23
Objects. 24
AutoG, AutoD, AutoW, AutoR. 24
Patch or Press Flags. 24
Quill Flags. 24
Using PawMac to map Quill or Paw adventures. 25
A note about mapping. 25
Garbage in, Garbage out. 26
1 WAY and 2D. 27
What is mapped?. 27
Mapping Instructions. 28
Function selector 28
Output Path. 28
Use Legacy mapping. 28
Gap between rooms. 28
Do not map dead locations. 28
Compact Final Map. 28
Add Objects. 28
Get Unquill / UnPaws output 28
1. Download the zip file containing the latest version of PawMac.
2. Copy the exe and config file to the required folder on your PC.
3. Launch the exe by double-clicking on it.
4. To extract data from a Quill adventure, either to convert it to PAW format, or to create a map, you’ll need to download and install UnQuill.
5. To convert the output from PawMac into a TAP file that can be loaded into PAW, you’ll need to download and install InPaws.
6. If your Quilled adventure was produced using The Press or The Expander, it probably won’t fit into the free space available in Paw. PawMac has lots of functions to truncate some of the locations, messages, fonts so that it will fit into the 48k version of PAW. Alternatively, you can use a special version of InPaws called InPaws128 that moves some of the messages into ram page 1 on a 128k machine. This should enable your Quilled adventure to run, without much modification, in a 128k version of PAW. InPaws128 is included in the PawMac zip file.
7. To view any map files created by PawMac, you’ll need to download and install Trizbort.
8. It is recommended that you make use of the PawMac functionality to automate UnQuill and InPaws as this allows you to create maps and conversions simply by dragging and dropping ZX Spectrum .sna snapshots onto PawMac, without any messing about with the command line. For more information, please refer to the Settings section of this user guide.
PawMac (Paw Map and Convert) will allow you to convert adventures produced using The Quill to a format where they can be loaded, edited and played in PAW using InPAWS. The adventure data, including character sets, and any graphics can all be converted.
PawMac is primarily aimed at adventures produced using the ZX Spectrum , but InPaws is capable of producing output files for versions of PAW that were released on other 8-bit computer systems such as the Amstrad CPC series.
Many Quill adventures produced using The Press or The Expander add-ins won’t fit into a standard 48K PAW adventure, as the more sophisticated parser used in PAW takes up more available memory than The Quill .
PawMac allows you to use a variety of techniques to reduce the final size of the data sent to PAW. However, all of them involve truncation or editing of the messages and or location text in your adventure. This may mean additional work for you to insert the truncated text back in once the adventure is saved into PAW. An alternative is to use the InPaws128 program supplied with PawMac which will fit all of your Quilled adventure into the 128K version of PAW.
DAAD was the final text adventure system written by Gilsoft, following The Quill and then PAW. The DAAD Ready! toolkit, released in May 2020, allows the compilation of DAAD adventures from a single DSF source file onto multiple 8-bit and other systems including the ZX Spectrum, Amstrad CPC, Commodore 64, MSX computers etc.
PawMac and InPaws128 have been amended to allow experimental support for the creation of the DSF output files used by DAAD Ready! to compile DAAD adventures. Please refer to the Guidance notes for creating DAAD adventures using PawMac and InPaws128 section later in this user guide for more information.
Adventuron is a browser-based Adventure creation system that lets you play adventure games offline in a browser on a variety of devices. PawMac will allow you to convert adventures produced using The Quill to a format where they can be loaded, edited and played in Adventuron.
Please refer to the Using PawMac to convert Quill files to Adventuron section later in this user guide for more information.
· Ensure that the function selector is set to Convert to PAW.
· If desired, select an output path and filename. If not, a default output path and filename will be used.
· Quill and PAW allow you to change the ink, paper, flash, inverse, brightness of text using control codes. Stripping these out will save memory at the expense of colourful text. If you are converting the adventure to a system without control codes, this may help save valuable memory.
· PAW wraps text, and Quill doesn’t. To save space, many Quilled adventures don’t split the text where one word ends the line and the next word starts the line. These words are then joined together when displayed in PAW. Smart wrap attempts to fix this by inserting a space after each 32 characters of location and message text. This function also inserts a space after each full stop (unless the following character is a number,) and will replace multiple spaces with a single space. With these functions, you increase the readability of your text, at the expense of memory. Smart wrap isn’t a panacea. It will improve but not completely cure the problem.
· Quilled adventures can include up to 2 fonts. You can select whether to import the first, second, both, or neither of these fonts into the PAW version. Again, this is a trade-off between the look / atmosphere of your adventure against memory. If you only use the second font for a particular location, you may want to consider if the memory can be better used elsewhere. Both (Reverse) imports both fonts, but reverses the order of the fonts as they are loaded into PAW. Useful if your “alternative” font has been loaded as the default font. Please note that although the front end is not updated, the export font function is “smart” – so it won’t try and remove the second font if it doesn’t exist, etc.
· Check this box, enter the X percentage into box 7, and then select whether you want to truncate locations, messages or both in the dropdown 8. If this box is checked, PawMac will:
· Sort the messages (and/or locations depending on what was selected) into descending order of length.
· Remove the text from the longest X percent of the messages
The idea behind this functionality is to reduce the number of messages that need to be rekeyed when the final adventure is loaded back into PAW.
· The meaning depends on box 6:
· if box 6 is ticked, this will set the percentage of messages and/or locations that are truncated. There is no need to enter the % symbol. Maximum value is 100, but obviously, setting at 100 will mean all messages and locations in your adventure will be blank. It is suggested that you start off at 5% and increase as necessary until InPaws processes your file successfully.
· if box 6 is unticked, this will set the maximum length for each location and/or message before it is truncated. As the front end suggests, start with 200 and decrease until InPaws processes your file successfully. Of course, as this number is reduced, the more locations and/or messages will be truncated, and will need to be dealt with once loaded into PAW.
· Choose whether to truncate messages, locations, or both. This is personal choice, and will depend on how your adventure is written. If your adventure has lots of messages, but only 6 locations, then truncating your messages will probably have a bigger impact on reducing the file size so that it will load into PAW.
· This is checked by default and creates a log file of the changes that PawMac has made to your adventure. It creates a really useful worklist for you to work through to finalise the conversion from Quill to PAW. This will always be saved to the same path as the final output file.
· Check to see everything PawMac has done, uncheck to see a smaller log that details only those changes or issues that you’ll need to go and sort out in PAW, post-conversion.
· The same text that ends up in the log file of activity, and a useful guide as to what needs to happen to finalise your PAW adventure.
· The usual help button that displays version information, and a link to our support site.
· This allows you to correctly map the fonts in your adventure to entries in the process and response tables. For example, if you’re expecting certain messages to be printed in your alternative rather than your default font, you can try both options in the dropdown, in conjunction - if necessary - with the Both (Reverse) export font option.
· Please refer to the Settings section of this user guide.
· This is a feature that draws a version of any Illustrator images found in the UnQuill file, and saves them as separate image files in the same folder as the rest of the output. Below is the original version from “The Boggit” and then the PawMac Lines+Fill+Attr+Shade version:
Current options in the image dropdown are (in various combinations)
· None – don’t save any of the images.
· Lines – only save any drawn lines and plotted points. By default, the line colour will be black, but you can use the easel icon to change the ink colour.
· Fill – add in any fill commands from the original.
· Attr – attempts to mimic the Spectrum ink and paper colour setup using a version of the Spectrum screen setup.
· Shade – mimics The Ilustrator’s shade command and applies a hatched fill to a specific area. (Note that the shade pattern number output by decompilers such as Unpaws and Unquill is not the actual Illustrator pattern number. PawMac performs a further conversion to ensure that the correct pattern is displayed.)
Feel free to experiment with different values and assess the results. The PawMac lines only version is the best version to then edit within an image editor such as Paint or Photoshop.
As an alternative, the Quill Adventure Guides page at https://s3-eu-west-2.amazonaws.com/quill-adventure-guides/guide.html will also produce perfect copies of the graphics used in Quill Adventures. (Note that, at the time of writing, this online tool cannot output graphics from adventures built using The Press. When decompiling an adventure, PawMac will advise if The Press was used in the output window.)
The PawMac image extraction routines have been completely re-written in 1.10.0 and are now much more accurate.
You can change whether PawMac also exports image subroutines by setting the ExportSub value in the .config file to TRUE or FALSE.
The images are initially upscaled by a factor of 2 (e.g Spectrum source was 256*176‡, output is 512*352.) This scaling can be changed by amending the Image Export Scale value in the PawMac settings screen.
PawMac automatically crops the images based on the height of the tallest image. If most images only take up half of the spectrum screen, for example, there's no point saving the blank bottom half of the screen for each image. However, you can override this value by modifying it when PawMac displays the relevent dialog box:
(‡ This figure ignores the 16 pixels at the base of the screen in the Spectrum “input buffer.” Total screen size was 256*192)
· There is a bug / feature in The Illustrator where SHADE won't fill past an empty pixel where that empty pixel is on the very right hand side of the screen, or at the very top of the screen. This means a discrepancy can occur where PawMac will shade an area that The Illustrator wouldn't. Check this box to force PawMac to use similar logic and not include these areas when it's shading. For examples, output the images from The Very Big Cave Adventure with this box checked and then unchecked, and compare the images.
· When converting to PAW and the conversion has finished, you can go into the edit window and manually edit the vocabulary to, for example, change any 4 digit words to 5 digit words. It’s easier and quicker to do this in the edit window than in PAW. See Using the PawMac edit window for more information.
· This function outputs the contents of PawMac into a PAW file without loading in an UnQuill file or drag/dropping an SNA file. Once you’ve finished changing things in the edit window, ReDo will create a new version of the .PAW output file containing your changes.
· Displays a visual representation of the fonts found in an adventure. You can use this information in conjunction with the Both (Reverse) option in the export font dropdown, and the font mapping dropdown to ensure that the correct fonts are displayed in the correct order in your adventure.
· This opens a dialog box and allows you to select the text file produced by UnQuill. Please ensure that the -TZ -V options were selected. This should be the last button you press to start the process. Ensure that all options are selected prior to this one.
You can also convert an .SNA snapshot file of a Quilled adventure by dragging the file from Windows Explorer and onto the main screen of PawMac, and following the prompts. Dragging and dropping the SNA file also allows PawMac to grab additional data from the snapshot that is not present in the UnQuill file:
· The character used as the marker is passed to PAW system message 33.
· The character used as the cursor is passed to PAW system message 34. (Avoid using the underscore character _ as the cursor as it causes unexpected results in PAW. PawMac replaces it with Spectrum Ascii 140: )
· Any inverse or flash settings on the cursor or marker are ignored.
· Any default adventure colours (ink, border, paper, flash, inverse, over) will also be imported. If the ink colour is the same as the paper colour, PawMac will automatically change the ink colour so that the menu options are visible when the converted adventure is open in PAW for editing.
· Any location graphics will also be converted. A prompt will appear asking you if you want to import the graphics into PAW. If you click yes, then the graphics will be added to the final output to be used by InPaws. The following caveats should be borne in mind:
1. Currently, the SHADE command is not the same across the two systems. In The Quill, the shade pattern is a number from 0 to 255 based, apparently, on the shading bits being set in the following pattern (according to The Illustrator manual):
128
64
32
16
8
4
2
1
2. In PAWS, the shading pattern can be a value from 0-255 and relates to 16 separate 8 x 8 shading patterns that are displayed in the characters menu and are then OR’d on top of each other. The value is calculated as: pattern1 + (16 * pattern2).
3. The first 16 distinct 4 x 2 shading patterns used in any Quill adventure are currently converted and loaded as 8 x 8 shades into the PAW conversion by PawMac. The graphics data is then updated to use these patterns. However it seems to result in an approximation of the original Quill shade pattern, not an exact match.
4. The Border Shade command in The Quill (BSHADE / SHADE whilst holding SHIFT) is not supported in PAW (where it is interpreted as a standard SHADE with the inverse bit set. Because this can give unwanted results, PawMac replaces BSHADE with a standard non-inverse SHADE command.
5. Most graphic adventures feature a split-screen design, where the location is displayed at the top half of the screen and the location description displayed underneath. In The Quill, the line number to display the start of the text after the graphic can be set in two ways:
a. By setting FLAG 27 with the line number to be used, and adding this entry to the EVENT or STATUS tables
b. Using a default line number value set by The Quill, (although this default can also be poked with a different value.)
6. PawMac will add the following commands into PAW to deal with the split screen line numbers:
Quill Behaviour
PAW behaviour
Default value
PawMac will add a MODE 2 3 LINE {default line number value} GRAPHIC 0 as an * * entry in Process 1
LET 27 x
(where x is 1-24)
If an adventure contains graphics, PawMac will convert any instance of LET 27 x to MODE 2 3 Line x (where x is 1-24)
By using a value of 0 or >24, it is possible to re-purpose FLAG 27 to operate as a standard flag in a Quill adventure with graphics, and to rely on the default line number value to set the split screen position instead., PawMac will assume “re-purposed FLAG 27 use” when it encounters LET 27 x in an adventure with graphics, and x is 0 or >24 The PAW MODE command has a number of options. MODE 2 3 affords the most Quill-like behaviour, but you should consult the PAW manual for further guidance.
1.
2.
3.
4.
5. Graphics obviously take up memory, so if you include graphics in your PAW conversion, you’ll need to:
· Further truncate messages and/or location text as discussed earlier, or…
· Use InPaws128. (You may also need to increase the Z value to move more messages and locations to ram page 1.)
6. There is a limitation with InPaws128 where it will not convert the graphical data for the final location (highest location number) in an adventure. PawMac will detect such instances, and can create a workaround by inserting a dummy empty location at the end of the adventure, (unless the adventure is already using all 256 locations.)
7. To avoid corruption of the final output, please ensure you’re using a later version (1.0.4.2+) of InPaws128.
8. Shade and fill appear to be fussier in PAW. You may need to go in and finish off shaded / filled areas that were complete in The Quill. Note the accompanying image below from the PAW conversion of “The Boggit” location we saw earlier. The fill around the edge of the door hasn’t completed around the left-hand side:
9. The Quill allows you to include more location graphics than actual locations. This is not allowed in PAW. PawMac will detect this and ask if you want to insert dummy locations to match the number of graphic locations.
10. The Quill Freehand command (RPLOT in an UnQuill output) is not supported in PAW, and is instead used by PAW to store the TEXT command. Consequently, Quill graphics that use RPLOT may show an integer out of range or other error when converted to PAW.
· PawMac will detect any instances of RPLOT and will ask you if you want to replace them.
· If you click yes, note that each RPLOT command takes up 1 byte, but PawMac replaces them with a LINE command which takes up 3 bytes.
· It is recommended that you use drag and drop rather than loading in an UnQuill output file to take advantage of this additional functionality.
· For the avoidance of doubt, PawMac uses the UnQuill text output to create png versions of the location graphics, but can only import The Quill graphic data into PAW using the drag-and-drop SNA method.
· For Z80 snapshots, there are some additional considerations:
o UnQuill cannot process Z80 snapshots, so PawMac converts any Z80 file into a temporary SNA file that can then be processed by UnQuill.
o This temporary file contains the data but not the system state of the Spectrum, so whilst the file will load into UnQuill, it will probably fail if opened with a Spectrum emulator.
o The temporary file is automatically deleted by PawMac when processing is complete. To change this behaviour, you can amend the DeleteTempSNA value in the config file from TRUE to FALSE.
o Currently, only 48K Z80 snapshots are supported. To create a map of a 128K PAW adventure from a Z80 snapshot, you’ll need to run the Z80 file through UnPaws manually, and then load the UnPaws output file into PawMac.
The PawMac edit windows operates as a simple IDE to allow you to edit the contents of the vocabulary table that will be exported to PAW. It’s probably better to demonstrate its use through some example scenarios.
Note the contents of the PawMac window after conversion of an adventure has finished:
We can see from the log window that the response table entry for X FIRE has been changed to X _ because FIRE appears in The Quill EVENT table as both a noun and a verb. Ideally, if we can move FIRE to a word number less than 20, PAW will allow it’s use as both a verb and a noun in RESPONSE. However, in our example, there are no spare spaces in the vocab table for words with a word number of less than 20.
If we look at word number 15, OBJ, we can see that it is coloured in RED. In PawMac, this means that OBJ is not used as a verb nor a noun in the EVENT table, so its position in the vocab table is not important. This means we are safe to renumber OBJ to a different number. (Note the colour coding of the background on the word number column. This is a visual cue to the different values PAW assigns to word numbers. I.e. <15 are movement words, <20 are convert nouns, <50 are proper nouns.) Sorting the output
Clicking on The QuillWordNo header will sort the output, so by clicking and scrolling we can see that the largest number in this adventure is 160. This means that we are safe to renumber OBJ to number 161.
Right-click anywhere on The QuillWordDesc column in the vocab grid and a new menu will appear:
Type obj in the box and hit OK. The vocab grid will now be filtered to only show the row with OBJ in.
The next step is not strictly necessary, but is good practice because of the concept of synonyms in the vocabulary used in both The Quill and PAW. Right-click anywhere on the first column, The QuillWordNo column, and type in 15 into the search box that appears.
**Filtering by the word number rather than the word will ensure that the relevant word and any synonyms will always be displayed.**
As a shortcut, double-clicking the cell containing a word or word number will automatically filter to display all synonyms for that word number.
Now click the number 15 and edit it to read 161. Press the down arrow on the keyboard when done.
The row containing OBJ should now disappear, but don’t worry. This is expected behaviour because the IDE is still filtered to show words with an ID of 15, and there aren’t any now.
You can now repeat the process for FIRE. Right-click and filter by FIRE and then filter by its word number to return the word and its synonyms.
You can now update the 3 synonyms with 15 instead of 61.
As we’ll see, there is an issue with 4- and 5-character words in The Quill and PAW. The PawMac edit window will allow you to deal with this problem.
Let’s take the word PHOT as an example. We’ll right-click and filter by word number 17 to see any synonyms for PHOT. If you hover over the word PHOT, PawMac will display any messages from the event table involving the word PHOT, to help you work out what the full word should be. (Sometimes it’s obvious and sometimes it isn’t.)
You have two choices now. You can either
· Insert a synonym in the empty row below. Add 17 to the first column and PHOTO to the second.
· Directly edit the existing word, and change PHOT to PHOTO. Press tab when finished. If you edit the value directly, you’ll see the following actions from PawMac:
o The word PHOTO has turned green to indicate it has been changed.
o PawMac will scan and update any associated entries in EVENT and STATUS with the new value. If necessary, it will also update any object words in OBJECTS.
Because you may not have time to complete all of the changes in one session, you can see from the search box that there is also functionality to save (type *S) and load (type *L) the vocab, event, and status tables so that PawMac can pick up where it left off.
Note that the functionality is fairly limited. The save and load commands will always have fixed filenames, and will save/load the output to/from the same folder as selected in the PawMac output path text box. Try and avoid working on multiple adventures in the same folder for this reason.
Finally, the *4 command will display all 4 (or longer) letter words in the vocabulary, so they can be edited or added to if required.
Whenever you need to pick up from where you left off, just drag and drop the original SNA file, let +the conversion process complete, then right-click and *L to load in your amended data. You can press REDO as often as needed to create further modified versions of the PAW output.
Once you’ve created a file that will successfully load into PAW, there will still be work to do before your adventure looks and runs the way you want it to.
The Quill stores vocabulary as 4 letter words, but PAW stores them as 5 letter words. This seemingly trivial issue can cause problems. Let’s take the command OPEN CHEST as an example.
When you type OPEN CHEST in The Quill, it ignores the last character in CHEST, because it only parses the first 4 characters. To The Quill, this is OPEN CHES and both the vocabulary and game logic will be built around the word CHES rather than CHEST.
When imported into PAW, the vocabulary entry and game logic will still be looking for CHES. So, if the user types in OPEN CHEST , PAW will look at the first 5 characters in the noun, and because CHES<>CHEST, nothing will happen. There’s no vocabulary entry or game logic for CHEST so our chest will remain closed. Please be aware of this “gotcha” when converting.
Ideally, any 5 (or more) character word that’s been reduced to a 4 character word in your Quilled adventure needs to be reinstated as a 5 character word in PAW. Or, you should add a 5 letter synonym of the word into the adventure vocabulary with the same word number as the 4 letter version. Failing that, as a last resort, notify the user that only 4 letter responses should be keyed.
To help mitigate the above, as part of the conversion process, PawMac will:
· Scan the vocabulary and will insert 5 character synonyms for commonly-used words in an adventure, such as SCORe, INVEn, etc. The changes will be detailed in the log so you can roll them back in the final PAW game if required.
· Scan the object words and object descriptions from The Quilled adventure and will then automatically create a 5 character synonym of the relevant object word based on any matches it finds in the object description. For example, if the object word is DIAR and the object description is “An old, dusty diary,” PawMac will insert DIARY as a synonym of DIAR into the final output to be loaded into PAW.
The Quill imposes no restrictions on words in the vocabulary, and uses a basic two-word instruction set, such as GET HAT, WEAR HAT, KILL EVERYONE, and so on. PAW is more sophisticated and demands that a word be identified as a verb, noun, adverb, adjective etc., etc. (There are more, but only verb and noun need concern us here.)
When converting, PawMac uses the following logic:
· The Quill event table specifies an entry as Word1 Word2 so PawMac categorises any word in Word1 as a VERB, and any word in Word2 as a noun.
· If a word starts with a number, e.g. 50p, this seems to sometimes cause errors with InPaws rather than with PAW itself. So PawMac will:
o Create a synonym of the offending word with an A prefix, so 50p becomes A50p
o This will then allow InPaws to process the file correctly
o You can then remove the A-prefix synonym from PAW if desired.
o This only affects words that contain text but start with a number. Words that are wholly numeric, i.e. 808 are unaffected.
· PAW reserves word numbers 0, 1, and 255 (at least, according to the manual, it does. In practice, you can insert a word as word number 1.) so PawMac shifts all word numbers up by 2 (word 0 becomes word 2, word 1 becomes word 3 and so on.)
o If words 253 and 254 are populated in The Quill, PawMac will reallocate them to any unused word numbers in the vocabulary.
When converting Quill Event entries into the PAW response table, PawMac will:
· Amend the entry for any word that starts with a number and ends with text, e.g. GET 50p becomes GET A50p. This is due to an InPaws issue. The A prefix can then be removed from the final PAW database if desired.
· PAW generally disallows the use of one word type as another word type, so you can’t, for example, use a verb as a noun. As a laboured example:
o You see a lighter.
>GET LIGH
o The stick of dynamite has a small fuse sticking out of it
>LIGH FUSE
When it encounters this situation, PawMac will:
· Count the entries in the event table that use the word as a noun, and then as a verb
· Replace the smaller number of entries (verb or noun) with the following placeholders:
ZZZZV for verbs
XXXXN for nouns
If there is no space left in the vocabulary table, _ will be used instead or ZZZZV or XXXXN.
In the above example, PawMac may replace either the GET LIGH entry in the response table with GET XXXXN or will replace LIGH FUSE with ZZZZV FUSE, (whichever requires the lowest number of subsequent changes by the user.)
· If the word number of the word to be replaced is <20, PAW treats such nouns as convert nouns, and will allow their use as verbs. In such cases, PawMac would not change LIGH noun to ZZZZV noun.
· If the word number is >=20, PawMac would change LIGH noun to ZZZZV noun.
· Although it is extremely unlikely that there will be insufficent space in the vocabulary for PawMac to insert the placeholders, beware of situations where this happens and a global entry also exists in the event table. For example, if you have a LIGH _ entry to deal with situations where the player tries to set light to other objects. In these situations, if there is no space for the placeholders to be inserted, this will then mean that LIGH _ will be replaced by _ _ . This response table entry will be executed every time the player types anything in. Obviously, this may cause unexpected results. Fixing _ _ entries in the PAW response table should be one of your first ports of call.
Defined very basically as “ do something even though the player hasn’t typed anything ”, entries in The Quill Status table need to be converted to the PAW Process tables. Generally speaking, PAW uses Process table 1 when a location is described, and Process table 2+ at the start of each turn.
Because The Quill status event fires at each turn, PawMac moves every status entry to Process 2 apart from a few core commands that deal with the screen display and conveyable objects which are sent to Process 1. Each entry in the status table has a two-word label. Because the label has no bearing on the outcome, PawMac will assume the following when populating the status labels for PAW:
· If Word1 in the entry is defined in the vocabulary as a noun, replace it with _
· If Word2 in the entry is defined in the vocabulary as a verb, replace it with _
PawMac will try and minimise the number of _ _ entries in the process tables as they are tedious to deal with if editing is necessary within PAW.
· These may be truncated as discussed above. Certain emulators, such as ZXSpin allow you to copy text from your pc and it’s then pasted in as Spectrum text. So truncated text can be pasted back into PAW (provided that there is sufficient free memory.) The output log will list the truncations that can then be copied and pasted back into the running emulation.
· Smart Wrap isn’t 100% efficient, so there may be text where two conjoined words still need to be separated by a space.
· Control codes 22 and 23 are accepted by The Quill and PAW but it is unclear whether they are parsed correctly by UnQuill. To work correctly in The Quill and PAW:
o Chr$22 (AT) then expects 2 further bytes to define the screen line (0-21) and then the column (0-31).
o Chr$23 (TAB) then expects 2 further bytes a+(256*b). The result is then reduced modulo 32 to find the column number.
o PawMac will remove AT or TAB control codes if they are not followed by two numeric values, additionally for AT if the values exceed the standard spectrum line height and/or column width.
· There are more system messages in PAW than in The Quill so system messages 32-60 are the standard PAW system messages. These are stored in the PawMac exe config file, and can be amended if, for example, you always want to use your own bespoke replacement for “Time passes…”
· By design, PAW doesn’t force a newline before displaying an input cursor, so you may need to manually add one into the relevant system message, otherwise the input cursor may be displayed at the end of a line of your location or object text. Depending on how The Quill version was constructed, it may be quicker and easier to just add a newline character to the beginning of the marker - system message 33 – to always force it to a new line.
· It appears as if system message 16, (the “press any key…” message that is displayed at the bottom of the screen) doesn’t render correctly unless it ends in a newline character, so PawMac will add one, (if it is missing from The Quill version.)
· System messages 17 & 21 do not appear to include padding (unlike The Quill version,) so PawMac will add a space, to turn, for example:
o “You have taken30 turns and your score is5%.” into:
o “You have taken 30 turns and your score is 5%.”
· Early versions of The Quill (A series) did not allow you to amend the system messages, and system message numbers 19-31 were out of sync with later versions of The Quill and PAW. Pawmac will automatically detect and replace A series system messages 19-31 with a generic set so that the correct system messages are imported into PAW. Some authors manually hacked their A series system messages so bear this in mind – you may need to reinstate the system messages that they hacked.
· PAW uses a functionality called “compound messages” where if a message or system message does not end in a newline, any ink and paper control codes are carried over to the next displayed message, system message or object, as in this example from a converted version of The Boggit:
PAW has room for 19 UDGs (even on the 48K version of PAW) compared with The Quill’s 21, so the final 2 Quill UDG’s will not be imported into PAW.
If you are using UDGs as your input cursors, you may find that PAW displays some other UDG as the cursors instead. This can be easily fixed by amending the relevant PAW system messages (33 & 34)
There is no concept of object weights in The Quill, so each object is assigned a default object weight of 1 when exported to PAW.
PawMac will import any associated object words in with the object, unless:
· the word has been used as a verb in the event or status tables;
· the word starts with a number as this causes an issue with InPaws .
If an object has been defined as wearable in The Quill , that will be included in the object information in the PAW version. There is no concept of container objects in The Quill.
The maximum items carried {value} is inserted into the Process 1 table as * _ ABILITY {value} {value}. The weight value will always be the same as the items carried value.
In PAW, system messages 36 to 45 contain automated responses to the player’s attempts to get / drop / wear / remove objects. These messages don’t exist in The Quill, so you may find that when you GET an object, for example, you’ll see duplicate messages, namely:
· Your original logic and response ported over from The Quill
· The standard “I now have the _” system message 36 in PAW.
Certain Patch or Press Flags are imported and converted by PawMac. These are:
· LET 28 8 or 7 are converted to CHARSET 1 or 2
· LET 28 21 PAUSE 50 is converted to RAMLOAD 254
· LET 28 21 PAUSE n (where n is 0-254 except 50) is converted to RAMSAVE
· LET 28 11 PAUSE n is converted to ABILITY n n (note that setting a new specific maximum objects conveyable has been implemented, but increasing or reducing this number via 28 14 and 28 15 has not been.)
Additionally, if PawMac detects that graphics are present, then:
· LET 28 n (where n is >=1 and <=24) is converted to MODE 2 3 LINE n
· LET 29 n or SET 29 is converted to PLUS 29 128
· LET 28 19 PAUSE 255 is converted to GRAPHIC 1
· LET 28 19 PAUSE n (where n is 0-254) is converted to GRAPHIC 0
InPaws128 is a modified version of InPaws that moves a percentage of the messages to ram page 1 and saves the output in a .tap file that can be read by the 128k version of PAW. This will allow you to convert your Quilled database to a PAW database without any truncation of messages or locations, (assuming that you are running the 128k or +3 version of PAW on a 128k machine or emulator.)
Place the .exe into the desired folder. InPaws128 has to be launched from the command line, or from within PawMac
If you get an error saying that MSVCP140D.dll is missing, you’ll need to install the Microsoft Visual C++ Redistributable on your machine, see: https://support.microsoft.com/en-gb/help/2977003/the-latest-supported-visual-c-downloads . Please note that InPaws128 is a 32-bit program, so even if your machine is 64-bit you may need to download the 64-bit AND 32-bit versions of the redistributable before InPaws128 will run.
Use the -z option followed by a number from 0 to 100 to specify the percentage of messages to move to ram page 1. For example:
c "C:\output.paw" -o "C:\output_paw.tap" -z 35
will create a tap file where 35% of the messages are moved to ram page 1
Notes:
· InPaws128 is beta software, provided “as-is”
· There are a further couple of changes in InPaws128 to improve functionality:
o The bytes used function has been re-written to report how many bytes your converted file is over the memory limit.
o The output filename in the tap file has been amended to use the source filename rather than the start of the file path as the saved filename in the Spectrum. For example:
§ Source file: c:\users\quill\my adventures\my quilladventure.paw
§ InPaw output: c:\users\
§ InPaw128 output: my quilla
· It is suggested that you should aim to keep as many messages as you can in page 0 (whilst keeping enough free work space to edit your adventure) rather than moving them all to page 1 as unexpected results may occur. This is code for “I haven’t tested what will happen if you do that.”
· During testing, a -z value of 30-35% seemed to be the sweet spot when converting, in terms of being the lowest value to successfully convert, but still keep the majority of messages in the standard 48K memory page, but feel free to experiment. This figure will need to be increased (try 50%) if you’re importing graphics too.
· A current limitation of InPaws128 is that any graphic for the final location will not be converted. The workaround is to insert a new empty location after the existing final one. PawMac will detect and fix this issue automatically.
· In PawMac V1.9.6+, you can drag and drop a completed .PAW file onto PawMac to automatically generate a .TAP etc. file, provided that you've set up InPaws / InPaws128 automation as discussed below.
PawMac allows you to run InPaws and UnQuill automatically: either to decompile an .SNA snapshot of a game using UnQuill; or after you’ve converted your Quill output to a PAW file and want to create a .TAP file in InPaws. The following screen is accessed by pressing the settings button on the main screen, and contains the controls for automating InPaws, and other settings. (It will also be shown if you drag an .SNA file to the main form, but the Path to UnQuill setting is blank.)
1. Check to run UnQuill after dragging the .SNA file into PawMac file.
2. Press the select button to browse to and find the folder where UnQuill is installed.
3. Specify an output location for your newly-created TXT file. If left blank, the output TXT file will be saved to the same folder as your input .SNA file, saved as output_unquill.txt.
4. Enter specific settings to run UnQuill here. Normally, for PawMac to convert correctly, the -TZ and -V options should be selected
5. Check to run InPaws after PawMac has created your converted InPaws file.
6. Press the select button to browse to and find the folder where InPaws or InPaws128 is installed.
7. Specify an output location for your newly-created TAP file. If left blank, the output TAP file will be saved to the same folder as your input PAW file, saved as output_paw.tap
8. Select a number from 0-100 to represent the percentage of messages in your adventure that are to be moved to ram page 1 when using InPaws128. (If you are using standard InPaws this argument is not passed.)
9. This specifies the final output type that you want InPaws to produce. This is normally set at c to produce a TAP file that can be loaded into a ZX Spectrum emulator. Other options are available as defined below: cd: Compile to .SCE source file for PAW PC cm: Compile to .SCE source file for PAW CPM (Amstrad) cf: Compile to .DSF source file for DAAD (only valid in InPaws128.)
10. When exporting location graphics as images, you can select the image type using this dropdown. (bmp, gif, jpg, png are all supported.)
11. You can select the scale of the exported image here. 1 will export an image 256*192 in size, (the standard Spectrum screen size); 2 will export twice as big as that, and so on.
Despite no real experience of DAAD, I have been able to create conversions of adventures produced using The Quill that compile and run in DAAD using PawMac, InPaws128, DAADReady, and little to no manual intervention. Whether the adventure games created work completely as intended is another matter, however! As with conversions from The Quill to PAW, conversions to DAAD will require the user to perform their own checks and testing, making changes as and where necessary.
NB: Whilst there’s nothing stopping you from using InPaws128 to convert an existing PAW adventure snapshot to DSF format, InPaws128 has not been coded to deal with all PAW specific issues, so results may be patchy, and cannot be guaranteed. For any conversion to DAAD's DSF format, the following should be noted:
To export in DAAD DSF format, open the PawMac settings page and change the value in the InPaws c setting box to cf. Ensure that you are using the latest version of InPaws128 (v1.0.4.3+)
Be aware that you can run out of memory when converting an adventure to DAAD. It is unknown if/how DAAD uses the additional ram pages available in the Spectrum 128/+2/+3. During testing of DAAD ready, it appears as if finished adventures converted using the ZXPLUS3 version uses slightly more space than those produced using the ZXTAPE version: some converted text-only adventures ran successfully in the ZXTAPE version, but bombed out in the ZXPLUS3 version.
As with PAW, DAAD uses a 5 letter vocabulary, so the issues that occur when converting 5 letter words or longer from The Quill to PAW discussed above, also apply to DAAD.
Conjunctions in PAW (e.g. and, then) are called conjugations in DAAD and InPaws128 will change the word type name accordingly.
If you're getting unexpected results when typing in commands when playing your finished adventure, confirm that verbs and nouns are correctly defined as such in your vocabulary.
Certain core Quill commands such as DESC, SCORE, TURNS, INVEN do not exist in DAAD, so InPaws128 converts these commands to a format that will work in DAAD. Currently, any Condacts that exist in PAW, but not in Quill nor in DAAD are not supported and will not be converted.
The final DSF output file created by InPaws128 contains 6 Process tables, including the event and status tables from the original Quill adventure. Any additional Process tables created in a PAW adventure will also be converted.
Flags 11-29 in The Quill are available for the user to use in their adventures, (although 28 and 29 were subsequently used by The Illustrator and The Press/The Patch.) DAAD also leaves these (11-29) free for the user, so any Condacts using the flags should convert without issues. This is not the case in PAW. Flags free for use in PAW may be system flags used by DAAD and should be avoided, (specifically, flags 60-63) as they will be converted by InPaws128 without comment or modification. (PawMac includes a summary of any flags used, post conversion, in the output log to allow you to debug.)
Flags 5-8, 9 and 10 are automatically decreased after each turn in The Quill and PAW. To replicate this functionality in DAAD, InPaws128 will automatically uncomment the relevant section in Process table 1.
For best results, the remove control codes and smart wrap checkboxes should be checked if converting a game for onward loading into DAAD. Additionally, if the remove control codes option is checked, and the InPaws c setting is set to cf (i.e. to produce a DSF output file) any square brackets will be removed from the text as these seemed to cause issues in the DAAD Ready conversion process. Even if the remove control codes option is not checked, any control codes over 128 will be removed as they will otherwise cause the DAAD compiler process to fail.
You have two choices with location graphics in DAAD. You can import the existing Quill graphics into DAAD directly, or save them as image files to be reimported later. Both have their pros and cons:
· Import Quill / PAW Graphics:
o + Only a little bit of faffing about is needed
o + Available in both the +3 and tape Spectrum versions of DAAD (the latter after a fashion)
o + The same process can be used for snapshots of games produced using PAW.
o - imported images have to compete with space with the actual adventure
· Reimport Image files:
o - Uses PawMac's interpretation of the original image, rather than the original image
o - Quite a bit of faffing about in ZX Paintbrush required
o - Available in +3 Spectrum DAAD only
o + Images can be tidied / changed / rebuilt in Photoshop etc. before being made Spectrum-friendly in ZX Paintbrush
o + Does not compete for memory with the existing adventure
When the InPaws128 c setting is set to cf in PawMac, the standard routine for importing Quill Graphics converts them into a seperate SDG file that can be loaded into DAAD. The finished SDG file contains:
· The imported graphics
· The standard 42 column DAAD font
· Any UDGs from the original
· The first 16 4*2 shade patterns converted into PAW-style 8*8 shades
To convert a Quilled adventure to DAAD with graphics, you should proceed as follows (the following example assumes you’re using DAAD Ready!):
a. Ensure that the InPaws128 c setting is set to cf in PawMac, and that you're using at least version 1.0.4.3 of InPaws128 as it contains revised code in the final DSF output in order to display any location graphics (if available.)
b. Drag and drop the SNA file in the usual way, and follow the prompts.
c. A new form will appear asking for the start of spare space. (You won’t know the value yet, so just press ok for now.)
d. Continue to follow the prompts. PawMac will create a TEST.DSF file and a DAAD.SDG file in the output folder.
e. Copy / Move the TEST.DSF file into the main DAAD Ready! folder, and run the appropriate Plus 3 or Tape BAT file.
f. Make a note of the database ends at address value given when DAAD Ready! has finished.
g. Repeat the processes outlined in a and b above.
h. This time, at the start of space space prompt, key in 1 + the value given in DAAD Ready! Using the 51592 example above, the value in this instance will be 51593:
i. PawMac will create the TEST.DSF and the DAAD.SDG file again. (The TEST.DSF file won’t have changed, so no need to move or copy it again.)
j. In your DAAD Ready! folder, rename the …\ASSETS\ZX\DAAD.SDG file to a different name so it isn’t overwritten, and can be reused in the future.
k. Move or copy the new PawMac-created DAAD.SDG file into …\ASSETS\ZX folder.
l. Move or copy the ZXPLUS3 (PAWMAC).BAT and ZXTAPE (PAWMAC).BAT from the DAAD Ready folder in the PawMac download into your main DAAD Ready folder. (You’ll only have to do this once.)
m. Double-click the required ZXPLUS3 (PAWMAC).BAT or ZXTAPE (PAWMAC).BAT file.
n. Note that if running the ZXPLUS3 (PAWMAC).BAT file, it will ask you for a Memstart for Specform value:
o. In PawMac, scroll back through the output window to find this value, and enter it into the BAT file window:
p. With any luck, you’ll now be able to see a running version of your adventure in DAAD, complete with imported graphics. Take note that:
· The ZXTAPE version of DAAD doesn’t handle split screen graphics very well. It can be a bit of a mess.
· You may end up with a situation when your adventure file finishes BEYOND the start of your SDG file, so you’ll need to truncate your adventure locations and/or messages, as was discussed earlier in the guide.
q. This drag and drop process also works with PAW snapshots. However, PawMac will produce the SDG file, and will then call InPaws / InPaws128 to actually extract the data from the snapshot using the e option. You can then manually drag and drop the extracted .PAW file to recompile the output using the cf option.
The Spectrum +3 version of DAAD supports location graphics saved in the SCR format. PawMac allows you to export location graphics as .png files which can then be converted to SCR format using third party software. Be aware that the .png files that are created may break the 2 colours in the same attribute block rule and this may then cause a conversion to SCR to fail. To avoid this, you can set the export parameters for graphics to “lines+fill+shade” to remove any colours and ensure the greatest chance of conversion success. Alternatively, load the .png into ZX Paintbrush, which will create an attribute-compliant SCR output. Currently, any exported images are doubled in size when exported. You may achieve better results by stopping this from occurring by changing the imagescale value in the PawMac config file from 2 to 1.
Finally, the exported images may not be the full ZX Spectrum screen size (256 x 192 pixels) and may need to be resized (canvas size, rather than image size) before they can be successfully converted. DAAD itself currently truncates an image taller than 96 pixels. As an example, below is a screen grab from Part 1 of The Boggit ported to the Spectrum+3 using PawMac and DAADReady. The location graphics were exported by:
· Change the Export Images drop down to Lines+Fill+Attr+Shade
· In the settings screen, change Image Export Format to jpg and Image Export Scale to 1
· When prompted, change the image height from 88 to 96 when the change image prompt appears. (This will ensure that the bottom of the imported images are black in DAAD.)
· Open ZX Paintbrush, and import the saved jpg files into ZX Paintbrush and accept the modifications. Finally, save as an .SCR file, ready for onward saving into DAAD.
Currently, user-defined fonts from the source adventure are not converted or exported to DAAD. DAAD uses a custom 42 column text style which requires a bespoke 6 pixel-wide character set. UDGs and shade patterns are exported to DAAD if the Import from Quill functionality is selected, but it appears as if any character above 127 ascii can't be used in location, message or system message text.
The following were of great help when researching DAAD conversion:
http://8bitag.com/info/
https://medium.com/@uto_dev/a-daad-tutorial-for-beginners-1-b2568ec4df05
https://github.com/daad-adventure-writer/DRC/wiki
DAAD Ready can be downloaded from here. The lastest version includes documentation.
Adventuron is a browser-based Adventure creation system that lets you play adventure games offline in a browser on a variety of devices.
PawMac will allow you to convert adventures produced using The Quill to a format where they can be loaded, edited and played in Adventuron.
It is strongly recommended that you familiarise yourself with Adventuron first, prior to converting an existing adventure, particularly with the EULA which has specific restrictions on the content and copyright of the existing adventure.
Lastly, Adventuron is not version stable. As Adventuron features may change or stop working without warning, so may any PawMac conversion.
As of version 1.9.10.0, PawMac is no longer being updated to reflect any changes in Adventuron. PawMac conversions may no longer run in current or future versions of Adventuron. Adventuron functionality is turned off in PawMac by default, but can be reactivated by following the instructions below.
Broadly speaking, you can use the same method to create a flat file to load into Adventuron that you did to load into InPaws. Because running out of memory won’t be an issue, the options to truncate text are not needed, nor are those concerned with fonts, which cannot be imported into Adventuron (at least, not via PawMac.) The available functions are discussed below.
Please note that Adventuron functionality is disabled by default in PawMac. To switch it on, open the PawMac config file in notepad, find the EnableAdventuron key, set the value to True, and then save your changes.
<setting name="EnableAdventuron" serializeAs="String"> <value>True</value> </setting>
1. Both The Quill and PAW allow you to change the ink, paper, flash, inverse, brightness of text using control codes. Currently, Adventuron only supports changing the ink colour of text. Check this box to remove all control codes, and uncheck to convert those Adventuron-supported codes.
2. The Quill doesn’t wrap text. To save space, many Quilled adventures don’t split the text where one word ends the line and the next word starts the next line. These words are then joined together when displayed in Adventuron. Smart wrap attempts to fix this by inserting a space after each 32 characters of location and message text. This function also inserts a space after each full stop (unless the following character is a number,) and will replace multiple spaces with a single space.
3. Adventuron uses the \n escape code to generate a newline in the text, but this also creates a blank line in the text. For example “Hello\nWorld” becomes:
Hello World
Checking this box will remove the blank line and output instead as:
4. This removes all newlines in the text, and replaces them with spaces. This can create cleaner looking text, but bear in mind that new paragraphs, lists etc. won’t be rendered correctly.
5. Many commercially-produced Quilled adventures were multi-part adventures where you would load and play part 1, save your progress and then load part 2 of the game and load in your saved progress from the end of part 1. PawMac contains functionality to merge multi-part adventures together into 1 single output to be played as a whole in Adventuron. Quilled multi-part adventures tended to be constructed in a specific format, and PawMac will assume that the parts being imported follow that model. If they do not, unpredictable results may occur. The following adventure may serve as an example. Our example adventure has 30 locations and 30 objects, split across 3 parts. In each separate part of the adventure, all 30 locations are initialised, but are only populated with a description in the part that those locations appear in.
Element
Part 1
Part 2
Part 3
Comments
Locations 0-9
Populated
Empty
PawMac will not import a location if it’s empty, or if it’s already populated
Locations 10-19
Locations 20-29
Objects 0-9
PawMac will not import an object if it’s empty, or if it’s already populated
Objects 10-19
Objects 10-29
Message 10
Message 1010
Message 2010
Message 3010
PawMac will add (1000 * the part number) to each message number
To convert a multi-part game:
· Set the multi-part dropdown to 1
· Load in the first part of the game into PawMac
· Set the multi-part dropdown to 2
· Load in the second part of the game into PawMac
· Repeat until the final part is loaded in. After each part is converted, PawMac will ask if that part was the final part. Obviously, select no until the final part has been converted, and then select yes.
Once all the parts of the adventure have been imported into Adventuron, you’ll need to make changes to the games logic, connections, on_tick and on_command entries etc. to remove references and logic to saving the game and loading the next part:
6. Check this and it will export any Quill location graphics to an Adventuron format without also creating a png version of the image. See UDGs, Graphics, Fonts for more information.
Adventuron has excellent in-built error checking of your code, but pasting in an entire game in one go can confuse the parser as to where the error(s) actually are. For this reason, the Adventuron output files are split into 2 (3 if you also import graphics.) It is recommended that you copy and paste the contents of the “a” file in first, correct any errors, and then proceed to add in the contents of the “b” file.
Although Adventuron can employ a sophisticated vocabulary of verb + noun + adjective + preposition, PawMac will make changes to the system settings so that the standard Quill vocabulary will work without further modification.
PawMac will convert the logic executed when a player types in a certain phrase into the working Adventuron equivalent.
Defined very basically as “do something even though the player hasn’t typed anything”, PawMac will migrate the Status table entries to the on_tick area of Adventuron.
· Smart Wrap isn’t 100% efficient, so there may be text where two conjoined words need to be separated by a space.
· There is a degree of overlap between Quill and Adventuron system messages.
· Adventuron system messages are defined at the theme level, so each separate theme can have differing system messages. Two themes are defined in each PawMac conversion, and any overlapping system messages will be ported from the Quill into both themes in Adventuron.
UDG’s and fonts are not imported into Adventuron. You can extract the graphics from an adventure though. Please see the main PawMac guide for further information. When extracting graphics from a Quilled Adventure to convert to Adventuron, PawMac will:
· As well as saving a png version of each location image to your PC, each image is Base64 encoded, and added to a further “c” assets file that can be imported into Adventuron once the “a” and “b” files have been pasted in.
· To avoid creating errors when the “a” file is pasted in before the “c” file, each location entry in the “a” file that has a corresponding image has boundary_message = "locxx" appended to it. Once all files have been pasted into Adventuron, you can use a bulk find/replace within Adventuron to replace boundary_message with graphic to associate your location with the correct image.
· PawMac will import any associated object words in with the object.
· The maximum items carried {value} is inserted into Adventuron.
These four Quill functions will automatically get, drop, wear and remove any object without you having to create specific event table entries for them. (For more information, please refer to The Quill manual.)
Whilst Adventuron supports this functionality, it only does so if:
· Your object is defined with an object id that the user is likely to type in (apple in the first example below). PawMac uses obj + the original Quill object number, as in obj0 for the hat.
· Your object contains a noun= reference that the parser can use as in noun=”hat” in the example below. PawMac will extract the noun= reference from the Quill object words information for an object.
· LET 28 8 or 7 are converted to gosub "subfont1" OR gosub "subfont2"
o These commands replicate the functionality to change the fonts used mid-game. Subfont1 points to the font1 theme held in themes, and subfont2 points to font2. You can amend the font associated with each theme to suit, or import your own.
o It appears as if theme and therefore font changes are made globally. This means that whilst you can have, for example, different fonts for different locations, you can’t – AFAIK - employ a style where 2 different fonts appear on screen at the same time.
· LET 28 21 PAUSE 50 is converted to RAMLOAD
o In reality, the existing Adventuron SAVE and LOAD functionality replaces ramsave and ramload, so these commands can be removed from your adventure.
PawMac creates copies of the standard Quill flags and these are referenced in the code as flag_1 to flag_30. Code is automatically added to decrease the value of flags 2, 5-8, 9-10, which are decreased automatically in The Quill when a location is described, or after each turn.You can add code to mimic this functionality for flags 3-4 by referring to and adapting the code for the other flags shown in the output
During testing, there were occasions when a flag would be decremented twice in Adventuron compared with the Quill equivalent. This seemed to occur when a redescribe was called in the game logic: a redescribe forces another call to on_tick in Adventuron, which then decreases the flags again. The issue was solved by doubling the values used in the flags when they were initalised, and again when comparing their values.
For example, if something happens to the player after 5 turns, with a warning shown after 3 turns, the game logic was amended to be 10, and 6 respectively.
PawMac creates maps of Quill or PAW adventures. It uses the file created by UnQuill, UnPaws or InPaws to create maps that can be opened and edited in the Trizbort application.
One key thing that is missing from the mapping data in The Quill and PAW is the idea of distance between locations. Consider this example:
The above works as a map because the distance between L0 and L1 is longer than that between L2 and L3. We can see that L1 is to the east of L0, and L4 is to the south of L1, but because of the greater distance between L1 and L0 the map still looks nice and clear.
Now, let’s look at the same map in an early version of PawMac:
PawMac has mapped the locations, but as it has no way of knowing about the additional distance, it places L4 between L2 and L3. It’s not wrong, but there’s a bit of clutter, even though only 6 rooms have been mapped.
In recent versions of PawMac, the mapping algorithm has been improved to try and deal with such issues. Where the join between two connected locations appears through the middle of a third, locations are “nudged” down and/or to the right until the issue is resolved. In 1.9.11+, therefore, the above map looks like this:
Did you plan and map your adventure before you started, or did you just wing it? Did you add additional locations at the end that link to locations at the beginning? Here’s a map of the start of Part 1 of Arnold the Adventurer . It’s beautifully laid out, so PawMac does a decent job of mapping it.
It does less well with this map of the start of Deek’s Deeds, where I was guilty of both winging it, and joining later locations with early locations:
You can always edit the map, and move locations about in Trizbort, but be aware that the more locations there are, the more this can quickly become a herculean task.
· As the map is rendered in 2D, it’s difficult to differentiate between North/South and Up/Down. So, Up/Down directions (or anything that isn’t a compass point direction) are rendered on the map in text next to the connector, as in L4 to L7, and L12 to L13 above.
· If travel is only possible in one direction, this is indicated by arrows on the connector, as in L12 to L65 above.
· Mouse over a location to display the entire location description (although this function seems to be dependent on the version of Trizbort used.) A truncated version of the location description is always shown in the location itself.
· Entries that appear in the Quill or PAW connections table are mapped. As of version 1.9.10 of PawMac, entries in the Quill Event and PAW Response tables are also mapped, subject to the following:
The command typed in should be a standard movement command, e.g. N, S, E, W, UP, DOWN, IN, etc. None-movement commands which transport you across multiple locations such as CAST SPELL, DRIVE CAR are not currently mapped.
Adventures extracted using UnQuill or InPaws are supported. Event / Response entries are not available from adventures decompiled using UnPaws.
· In PAW, some authors would code their RESPONSE entries in a seperate PROCESS table and would then call these process tables in the RESPONSE logic. Response entries stored in process tables like this are not currently mapped.
· As of version 1.10.0, PawMac also parses and maps games such as The Colour Of Magic which use H, R, W, T instead of N, S, E, W.
· Both The Quill and PAW allow multiple entries to different locations using the same direction. In the following example two DOWN exits exist for the same location: CONNECTIONS { DESCE TO 38 E TO 46 W TO 45 DESCE TO 43 }; In such instances, PawMac will map the first direction it parses (DESCE TO 38) and ignore further exits (DESCE TO 43).
· When PawMac scans the EVENT / RESPONSE logic used, it classifies the entries as either "unconditional" or "conditional":
"Unconditional" - the logic is a simple "AT xx GOTO yy" - these are mapped and displayed in the usual way.
"Conditional" - some additional logic needs to be satisfied before the player can move to the location. Connections between these locations are shown with a red dotted line. (The line colour and style can be changed by amending the TrizbortConditional entry in the config file.)
1. Ensure that the function selector is set to Create Map file, or press the F2 shortcut key.
2. If desired, select an output path and filename. If not a default output path and filename will be used. Top Tip: If you have this output file open in Trizbord, you can reload the map and review changes on the fly.
3. There are two mapping algorithms in PawMac. The default, new mapping routine should produce better results, but it may be worth checking what the legacy version looks like. Dependent on the map, the “nudging” fix in the new mapping routine can make certain maps harder to read. Just go with whichever version looks better. Event / Response mapping is not available in legacy mode.
4. 150 is the default and is recommended, but feel free to play around with these values and see the results.
5. As the name suggests, this excludes locations that have no description, or have no entries in the connections table.
6. When a mapping file is created, the final stage is to compact the map, so that rooms are not spread over a large area. If the map is very complex, with lots of connections, compacting can make the map harder to read. If that is the case, you can uncheck this box which will stop the final compaction process, and may make the map a little easier to follow, although it will take up more room on the output map.
7. Objects initialised in each room at the start of a game are shown.
8. This opens a dialog box and allows you to select the text file produced by UnQuill or UnPaws. For UnQuill, please ensure that the -TZ -V options are selected. This should be the last button you press to start the process. Ensure that all options are selected prior to this one. You can also map an .SNA snapshot file of a Quilled or PAWed adventure by dragging the file from Windows Explorer and onto the main screen of PawMac, and following the prompts. (This assumes that you have valid entries to UnQuill and InPaws/InPaws128 in the PawMac settings. See Automating InPaws and UnQuill in PawMac for more information.)