summaryrefslogtreecommitdiff
path: root/apps/plugins/puzzles/genhelp.sh
diff options
context:
space:
mode:
authorFranklin Wei <franklin@rockbox.org>2024-07-22 21:43:25 -0400
committerFranklin Wei <franklin@rockbox.org>2024-07-22 21:44:08 -0400
commit09aa8de52cb962f1ceebfb1fd44f2c54a924fc5c (patch)
tree182bd4efb2dc8ca4fcb369d8cccab0c0f290d054 /apps/plugins/puzzles/genhelp.sh
parentc72030f98c953a82ed6f5c7132ad000c3d5f4a16 (diff)
downloadrockbox-09aa8de52cb962f1ceebfb1fd44f2c54a924fc5c.tar.gz
rockbox-09aa8de52cb962f1ceebfb1fd44f2c54a924fc5c.zip
puzzles: resync with upstream
This brings the puzzles source in sync with Simon's branch, commit fd304c5 (from March 2024), with some added Rockbox-specific compatibility changes: https://www.franklinwei.com/git/puzzles/commit/?h=rockbox-devel&id=516830d9d76bdfe64fe5ccf2a9b59c33f5c7c078 There are quite a lot of backend changes, including a new "Mosaic" puzzle. In addition, some new frontend changes were necessary: - New "Preferences" menu to access the user preferences system. - Enabled spacebar input for several games. Change-Id: I94c7df674089c92f32d5f07025f6a1059068af1e
Diffstat (limited to 'apps/plugins/puzzles/genhelp.sh')
-rwxr-xr-xapps/plugins/puzzles/genhelp.sh23
1 files changed, 21 insertions, 2 deletions
diff --git a/apps/plugins/puzzles/genhelp.sh b/apps/plugins/puzzles/genhelp.sh
index 3df7706b5d..f515bb25dc 100755
--- a/apps/plugins/puzzles/genhelp.sh
+++ b/apps/plugins/puzzles/genhelp.sh
@@ -36,6 +36,9 @@ BEGIN {
36 if($3 ~ "Rectangles") 36 if($3 ~ "Rectangles")
37 file = "help/rect.c"; 37 file = "help/rect.c";
38 38
39 if($3 ~ "Train")
40 file = "help/tracks.c";
41
39 print "/* auto-generated by genhelp.sh (intermediate file) */" > file; 42 print "/* auto-generated by genhelp.sh (intermediate file) */" > file;
40 print "/* DO NOT EDIT! */" > file; 43 print "/* DO NOT EDIT! */" > file;
41 print "const char help_text[] = " > file; 44 print "const char help_text[] = " > file;
@@ -87,8 +90,24 @@ do
87 mv $f.tmp $f 90 mv $f.tmp $f
88done 91done
89 92
90# generate quick help from all the .R files 93# Generate quick help by parsing the CMakeLists.txt file to isolate
91cat src/*.R | awk 'print_next { print_next = 0; print; } /!begin/ && />/ && /gamedesc.txt/ { print_next = 1; }' | awk -F ":" '{print "const char quick_help_text[] = \""$5"\";" >> "help/"$1".c" }' 94# the "Objective" text for each puzzle.
95cat <<EOF > parsed_cmakelists.txt
96function(puzzle NAME)
97 cmake_parse_arguments(OPT
98 "" "DISPLAYNAME;DESCRIPTION;OBJECTIVE;WINDOWS_EXE_NAME" "" \${ARGN})
99
100 message("\${NAME}:\${OPT_OBJECTIVE}")
101endfunction()
102EOF
103
104# This parses out the puzzle(...) definitions from CMakeLists.
105
106# TODO: Perhaps ask Simon to include special header/footer comments to
107# make this less brittle?
108cat src/CMakeLists.txt | awk '/puzzle\(/{p=1} p{print} /\)/{p=0}' >> parsed_cmakelists.txt
109cmake -P parsed_cmakelists.txt 2>&1 | awk -F ":" '{print "const char quick_help_text[] = \""$2"\";" >> "help/"$1".c" }'
92 110
111rm parsed_cmakelists.txt
93rm puzzles.txt 112rm puzzles.txt
94rm compress 113rm compress