aboutsummaryrefslogtreecommitdiff
path: root/dists/amiga
diff options
context:
space:
mode:
authorEugene Sandulenko2016-01-30 12:20:13 +0100
committerEugene Sandulenko2016-01-30 12:20:53 +0100
commit42f327e5fddaf73546e14fd9dee7f68b0f7b5619 (patch)
tree11f12f9a79595eca01ffcccf0d36a4a7586df2f2 /dists/amiga
parente85dd57ea2ecc21f90f616d5ae5de4da12b9cd7f (diff)
downloadscummvm-rg350-42f327e5fddaf73546e14fd9dee7f68b0f7b5619.tar.gz
scummvm-rg350-42f327e5fddaf73546e14fd9dee7f68b0f7b5619.tar.bz2
scummvm-rg350-42f327e5fddaf73546e14fd9dee7f68b0f7b5619.zip
AMIGAOS: Add scripts for README conversion
Diffstat (limited to 'dists/amiga')
-rw-r--r--dists/amiga/RM2AG.rx170
-rw-r--r--dists/amiga/convertRM.sed17
2 files changed, 187 insertions, 0 deletions
diff --git a/dists/amiga/RM2AG.rx b/dists/amiga/RM2AG.rx
new file mode 100644
index 0000000000..6ee56bb645
--- /dev/null
+++ b/dists/amiga/RM2AG.rx
@@ -0,0 +1,170 @@
+/*
+README to .guide converter $Ver: 0.13 (29.01.2016)
+
+This script converts the pure ASCII-text based README file of ScummVM to a
+basic Amiga guide file.
+
+More AmigaGuide features being added in the process if feasible.
+*/
+
+PARSE ARG readme_txt
+
+/* Check if the given file is really the readme */
+/* If a given filename has spaces in it's name, AmigaDOS/AmigaCLI will add extra quotation marks
+to secure a sane working path. We get rid of them to make AREXX find the file */
+readme_txt=COMPRESS(readme_txt,'"')
+OPEN(check_readme,readme_txt,'R')
+IF READCH(check_readme,14) = 'ScummVM README' THEN
+ CLOSE(check_readme)
+ELSE DO
+ SAY "Not the README file. Aborting!"
+ CLOSE(readme_read)
+ EXIT 0
+END
+
+/* If it's the proper file, lets start converting */
+
+OPEN(readme_read,readme_txt,'R')
+OPEN(guide_write,'README.guide','W')
+
+/* Prepare the Amiga guide file, add the intro and fixed text */
+
+WRITELN(guide_write,'@DATABASE ScummVM README.guide')
+WRITELN(guide_write,'@WORDWRAP')
+WRITELN(guide_write,'@NODE "main" "ScummVM README Guide"')
+WRITELN(guide_write,' ')
+WRITELN(guide_write,'@{b}')
+WRITELN(guide_write,READLN(readme_read))
+WRITELN(guide_write,'@{ub}')
+
+/* Creating the main link nodes */
+
+x=1
+
+DO WHILE EOF(readme_read) = 0
+ /* Read in the line */
+ working_line=READLN(readme_read)
+
+ /* Checking if the sub links have been reached and leave the loop, if met */
+ IF POS('°1.0°',working_line) = 1 & x > 1 THEN
+ LEAVE
+ ENDIF
+ /* If no chapter has been found, simply write the line */
+ IF POS('°',working_line) = 0 THEN
+ WRITELN(guide_write,working_line)
+ ENDIF
+
+ /* Fix the empty chapters - two chapters (1.0 and 7.8) are empty and consist of only the headlines.
+ We add them to the following chapter and link both of them to the empty one */
+
+ /* If chapter 1.1 is found add a link node to 1.0 (as chapter 1.0 is empty) */
+ IF POS(' * °1.1°',working_line) = 1 THEN DO
+ /* Get rid of the markers so the following loops doesn't process them again */
+ working_line=COMPRESS(working_line,'*°')
+ WRITELN(guide_write,' @{" 1.1 " Link "1.0"} 'working_line)
+ END
+
+ /* If chapter 7.8.1 is found add a link node to 7.8 (as chapter 7.8 is empty) */
+ IF POS(' * * °7.8.1°',working_line) = 1 THEN DO
+ /* Get rid of the markers so the following loops doesn't process them again */
+ working_line=COMPRESS(working_line,'*°')
+ WRITELN(guide_write,' @{" 7.8.1 " Link "7.8"} 'working_line)
+ END
+
+ /* If a single number main chapter is found 1.0 upto 9.0), prepare and write the link node */
+ IF POS('.0',working_line) = 3 THEN DO
+ WRITELN(guide_write,' ')
+ WRITELN(guide_write,' @{" 'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1) '" Link "'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1)'"} 'COMPRESS(working_line,'*°'))
+ /* Get rid of the markers so the following loops doesn't process them again */
+ working_line=COMPRESS(working_line,'*°')
+ x=x+1
+ END
+
+ /* If a double number main chapter is found (10.0 ff), prepare and write the link node */
+ IF POS('.0',working_line) = 4 THEN DO
+ WRITELN(guide_write,' ')
+ WRITELN(guide_write,' @{" 'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1) '" Link "'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1)'"} 'COMPRESS(working_line,'*°'))
+ /* Get rid of the markers so the following loops doesn't process them again */
+ working_line=COMPRESS(working_line,'*°')
+ END
+
+ /* If a level one sub chapter is found (i.e. 1.1), prepare and write the link node */
+ IF POS(' * °',working_line) = 1 THEN DO
+ WRITELN(guide_write,' @{" 'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1) '" Link "'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1)'"} 'COMPRESS(working_line,'*°'))
+ /* Get rid of the markers so the following loops doesn't process them again */
+ working_line=COMPRESS(working_line,'*°')
+ END
+
+ /* If a level two sub chapter is found (i.e. 1.1.1), prepare and write the link node */
+ IF POS(' * * °',working_line) = 1 THEN DO
+ WRITELN(guide_write,' @{" 'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1) '" Link "'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1)'"} 'COMPRESS(working_line,'*°'))
+ /* Get rid of the markers so the following loops doesn't process them again */
+ working_line=COMPRESS(working_line,'*°')
+ END
+END
+
+/* Finish the TOC, hardcoded due the outro text getting read in last, but needs to be read/written after the TOC creation */
+WRITELN(guide_write,'------------------------------------------------------------------------')
+WRITELN(guide_write,'Good Luck and Happy Adventuring!')
+WRITELN(guide_write,'The ScummVM team.')
+WRITELN(guide_write,'@{"http://www.scummvm.org/" System "URLOpen http://www.scummvm.org/"}')
+WRITELN(guide_write,'------------------------------------------------------------------------')
+
+/* Creating the sub links nodes */
+
+DO WHILE EOF(readme_read) = 0
+ /* If no chapter has been found, simply write the line */
+ IF POS('°',working_line) = 0 THEN
+ WRITELN(guide_write,working_line)
+ ENDIF
+
+ /* Fix the empty chapters - two chapters (1.0 and 7.8) are empty and consist of only the Headlines.
+ We don't close the NODE, rather add the following chapter to the former empty one */
+
+ /* If chapter 1.1 is found don't close the NODE, just write the line */
+ IF POS('°1.1°',working_line) = 1 THEN DO
+ /* Get rid of the markers so the following loops doesn't process them again */
+ working_line=COMPRESS(working_line,'°')
+ WRITELN(guide_write,working_line)
+ END
+ /* If chapter 7.8.1 is found don't close the NODE, just write the line */
+ IF POS('°7.8.1°',working_line) = 1 THEN DO
+ /* Get rid of the markers so the following loops doesn't process them again */
+ working_line=COMPRESS(working_line,'°')
+ WRITELN(guide_write,working_line)
+ END
+
+ IF POS('°',working_line) > 0 THEN DO
+ /* Check for link references inside the text and create link nodes for them */
+ IF POS('section °',working_line) > 0 THEN DO
+ working_line=SUBSTR(working_line,1,POS('°',working_line)-1)'@{"'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1)'" Link "'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1)'"}'SUBSTR(working_line,LASTPOS('°',working_line)+1)
+ /* Get rid of the markers so the following loops doesn't process them again */
+ WRITELN(guide_write,COMPRESS(working_line,'°'))
+ END
+ ELSE DO
+ /* If a chapter has been found, prepare and write the link */
+ WRITELN(guide_write,'@ENDNODE')
+ WRITELN(guide_write,'@NODE "'SUBSTR(working_line,POS('°',working_line)+1,LASTPOS('°',working_line)-POS('°',working_line)-1)'" "'COMPRESS(working_line,'°')'"')
+ WRITELN(guide_write,' ')
+ /* Get rid of the markers so the following loops doesn't process them again */
+ WRITELN(guide_write,COMPRESS(working_line,'°'))
+ END
+ END
+
+ /* Read in the line at the end of the second loop, as the first line to work with was already read in on the end of the first loop */
+ working_line=READLN(readme_read)
+
+ /* If the outtro text is found, leave the loop and prepare for closing */
+ IF POS('------------------------------------------------------------------------',working_line) > 0 THEN
+ LEAVE
+ ENDIF
+END
+
+WRITELN(guide_write,'@ENDNODE')
+
+/* Closing the guide and cleaning up */
+WRITELN(guide_write,'@ENDNODE')
+
+CLOSE(readme_read)
+CLOSE(guide_write)
+EXIT 0 \ No newline at end of file
diff --git a/dists/amiga/convertRM.sed b/dists/amiga/convertRM.sed
new file mode 100644
index 0000000000..47b6707001
--- /dev/null
+++ b/dists/amiga/convertRM.sed
@@ -0,0 +1,17 @@
+# $VER: READMEconverter.sed 1.04 (22.12.2015) © Eugene "sev" Sandulenko
+# Additions by Raziel
+#
+# Preprocessing the README file and adding some landmarks for easier parsing
+# and for converting it to an AmigaGuide Hypertext file later.
+#
+s/http:\/\/[#?=&a-zA-Z0-9_.\/\-]*/@{"&" System "URLOpen &"}/ # Convert all URLs to AmigaGuide format
+s/https:\/\/[#?=&a-zA-Z0-9_.\/\-]*/@{"&" System "URLOpen &"}/ # Convert all secure URLs to AmigaGuide format
+s/[0-9][0-9]*\.[0-9][0-9]*/°&°/ # Convert all chapter numbers to °x°...
+s/°\([0-9][0-9]*\.[0-9][0-9]*\)°\(\.[0-9]\)/°\1\2°/ # ...and all three-digit chapter numbers...
+s/°\([01]\.[0-9][0-9]*\.[0-9][0-9]*\)°/\1/ # ...and restore mentioned version numbers like 1.0.0 and 0.7.0.
+s/of °0\.0°/of 0.0/ # "Fluidsynth's gain setting of 0.0" is not a chapter reference.
+s/through °10\.0°/through 10.0/ # "through 10.0" is not a chapter reference.
+s/ttf-°2\.00.1°/ttf-2.00.1/ # This part of an url link is not a chapter reference.
+s/patch °1\.2°/patch 1.2/ # "Zork patch 1.2" is not a chapter reference.
+s/Mac OS X °10\.2.8°/Mac OS X 10.2.8/ # "Mac OS X 10.2.8" is not a chapter reference.
+s/Mac_OS_X_°10\.2.8°/Mac_OS_X_10.2.8/ # "Mac_OS_X_10.2.8" is not a chapter reference. \ No newline at end of file