FS#8647: Amaze - 3D maze game plugin
- update to build against latest Git - cleanup (whitespace, indentation) - fixed old PLA handling - update indentation/curly brace style - improve load/save mechanism - enable marking ground with "select" button - add compass view - improve display on 1-bit-targets (floor pattern) - graphics update: add 3x3 and 5x5 tiles, rework 7x7 and 9x9 tiles, load tiles dependant of screen size - fix: on some targets (Fuze+) division by 0 could occur. Fix by calculating the exact view depth on all targets. - fix: duplicate error checks when saving prefs - Fully translate it - Add a simple manual entry (including screenshots for some platforms) Change-Id: Ic84d98650c1152ab0ad268b51bd060f714ace288
|
@ -16711,3 +16711,227 @@
|
||||||
*: "Default Browser"
|
*: "Default Browser"
|
||||||
</voice>
|
</voice>
|
||||||
</phrase>
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_AMAZE_MENU
|
||||||
|
desc: Amaze game
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "Amaze Main Menu"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "Amaze Main Menu"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "Amaze Main Menu"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_SET_MAZE_SIZE
|
||||||
|
desc: Maze size in Amaze game
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "Set Maze Size"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "Set Maze Size"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "Set Maze Size"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_VIEW_MAP
|
||||||
|
desc: Map in Amaze game
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "View Map"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "View Map"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "View Map"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_SHOW_COMPASS
|
||||||
|
desc: Compass in Amaze game
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "Show Compass"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "Show Compass"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "Show Compass"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_SHOW_MAP
|
||||||
|
desc: Map in Amaze game
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "Show Map"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "Show Map"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "Show Map"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_REMEMBER_PATH
|
||||||
|
desc: Map in Amaze game
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "Remember Path"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "Remember Path"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "Remember Path"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_USE_LARGE_TILES
|
||||||
|
desc: Map in Amaze game
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "Use Large Tiles"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "Use Large Tiles"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "Use Large Tiles"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_SHOW_SOLUTION
|
||||||
|
desc: Map in Amaze game
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "Show Solution"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "Show Solution"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "Show Solution"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_QUIT_WITHOUT_SAVING
|
||||||
|
desc:
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "Quit without saving"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "Quit without saving"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "Quit without saving"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_GENERATING_MAZE
|
||||||
|
desc: Amaze game
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "Generating maze..."
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "Generating maze..."
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "Generating maze..."
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_YOU_WIN
|
||||||
|
desc: Success in game
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "You win!"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "You win!"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "You win!"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_YOU_CHEATED
|
||||||
|
desc: Cheated in game
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "You cheated!"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "You cheated!"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "You cheated!"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_DIFFICULTY_EASY
|
||||||
|
desc: Game difficulty
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "Easy"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "Easy"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "Easy"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_DIFFICULTY_MEDIUM
|
||||||
|
desc: Game difficulty
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "Medium"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "Medium"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "Medium"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_DIFFICULTY_HARD
|
||||||
|
desc: Game difficulty
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "Hard"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "Hard"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "Hard"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_DIFFICULTY_EXPERT
|
||||||
|
desc: Game difficulty
|
||||||
|
user: core
|
||||||
|
<source>
|
||||||
|
*: "Expert"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "Expert"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "Expert"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
alpine_cdc,apps
|
alpine_cdc,apps
|
||||||
alarmclock,apps
|
alarmclock,apps
|
||||||
announce_status,demos
|
announce_status,demos
|
||||||
|
amaze,games
|
||||||
autostart,apps
|
autostart,apps
|
||||||
battery_bench,apps
|
battery_bench,apps
|
||||||
bench_scaler,apps
|
bench_scaler,apps
|
||||||
|
|
|
@ -112,6 +112,7 @@ pictureflow.c
|
||||||
metronome.c
|
metronome.c
|
||||||
|
|
||||||
2048.c
|
2048.c
|
||||||
|
amaze.c
|
||||||
|
|
||||||
/* Lua needs at least 160 KB to work in */
|
/* Lua needs at least 160 KB to work in */
|
||||||
#if PLUGIN_BUFFER_SIZE >= 0x80000
|
#if PLUGIN_BUFFER_SIZE >= 0x80000
|
||||||
|
|
1620
apps/plugins/amaze.c
Normal file
|
@ -27,6 +27,44 @@ _2048_background.56x56x24.bmp
|
||||||
#endif
|
#endif
|
||||||
#undef MIN
|
#undef MIN
|
||||||
|
|
||||||
|
/* amaze */
|
||||||
|
#if defined(HAVE_LCD_COLOR)
|
||||||
|
#if LCD_WIDTH >= 220 || LCD_HEIGHT >= 220
|
||||||
|
amaze_tiles_9.9x9x16.bmp
|
||||||
|
amaze_tiles_7.7x7x16.bmp
|
||||||
|
#elif LCD_WIDTH >= 160 || LCD_HEIGHT >= 160
|
||||||
|
amaze_tiles_7.7x7x16.bmp
|
||||||
|
amaze_tiles_5.5x5x16.bmp
|
||||||
|
#else
|
||||||
|
amaze_tiles_5.5x5x16.bmp
|
||||||
|
amaze_tiles_3.3x3x16.bmp
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#elif LCD_DEPTH > 1
|
||||||
|
#if LCD_WIDTH >= 220 || LCD_HEIGHT >= 220
|
||||||
|
amaze_tiles_9.9x9x2.bmp
|
||||||
|
amaze_tiles_7.7x7x2.bmp
|
||||||
|
#elif LCD_WIDTH >= 160 || LCD_HEIGHT >= 160
|
||||||
|
amaze_tiles_7.7x7x2.bmp
|
||||||
|
amaze_tiles_5.5x5x2.bmp
|
||||||
|
#else
|
||||||
|
amaze_tiles_5.5x5x2.bmp
|
||||||
|
amaze_tiles_3.3x3x2.bmp
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#else /* mono */
|
||||||
|
#if LCD_WIDTH >= 220 || LCD_HEIGHT >= 220
|
||||||
|
amaze_tiles_9.9x9x1.bmp
|
||||||
|
amaze_tiles_7.7x7x1.bmp
|
||||||
|
#elif LCD_WIDTH >= 160 || LCD_HEIGHT >= 160
|
||||||
|
amaze_tiles_7.7x7x1.bmp
|
||||||
|
amaze_tiles_5.5x5x1.bmp
|
||||||
|
#else
|
||||||
|
amaze_tiles_5.5x5x1.bmp
|
||||||
|
amaze_tiles_3.3x3x1.bmp
|
||||||
|
#endif
|
||||||
|
#endif /* amaze */
|
||||||
|
|
||||||
/* Brickmania */
|
/* Brickmania */
|
||||||
#ifdef HAVE_LCD_COLOR
|
#ifdef HAVE_LCD_COLOR
|
||||||
#if LCD_WIDTH >= 112
|
#if LCD_WIDTH >= 112
|
||||||
|
|
BIN
apps/plugins/bitmaps/native/amaze_tiles_3.3x3x1.bmp
Normal file
After Width: | Height: | Size: 182 B |
BIN
apps/plugins/bitmaps/native/amaze_tiles_3.3x3x16.bmp
Normal file
After Width: | Height: | Size: 414 B |
BIN
apps/plugins/bitmaps/native/amaze_tiles_3.3x3x2.bmp
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
apps/plugins/bitmaps/native/amaze_tiles_5.5x5x1.bmp
Normal file
After Width: | Height: | Size: 262 B |
BIN
apps/plugins/bitmaps/native/amaze_tiles_5.5x5x16.bmp
Normal file
After Width: | Height: | Size: 854 B |
BIN
apps/plugins/bitmaps/native/amaze_tiles_5.5x5x2.bmp
Normal file
After Width: | Height: | Size: 270 B |
BIN
apps/plugins/bitmaps/native/amaze_tiles_7.7x7x1.bmp
Normal file
After Width: | Height: | Size: 342 B |
BIN
apps/plugins/bitmaps/native/amaze_tiles_7.7x7x16.bmp
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
apps/plugins/bitmaps/native/amaze_tiles_7.7x7x2.bmp
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
apps/plugins/bitmaps/native/amaze_tiles_9.9x9x1.bmp
Normal file
After Width: | Height: | Size: 422 B |
BIN
apps/plugins/bitmaps/native/amaze_tiles_9.9x9x16.bmp
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
apps/plugins/bitmaps/native/amaze_tiles_9.9x9x2.bmp
Normal file
After Width: | Height: | Size: 2.1 KiB |
|
@ -717,6 +717,7 @@ Richard Goedeken
|
||||||
Mihaly 'Hermit' Horvath
|
Mihaly 'Hermit' Horvath
|
||||||
Uwe Kleine-König
|
Uwe Kleine-König
|
||||||
JJ Style
|
JJ Style
|
||||||
|
Jerry Chapman
|
||||||
|
|
||||||
The libmad team
|
The libmad team
|
||||||
The wavpack team
|
The wavpack team
|
||||||
|
|
6
manual/plugins/amaze.tex
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
\subsection{Amaze}
|
||||||
|
\screenshot{plugins/images/ss-amaze}{Amaze}{img:amaze}
|
||||||
|
Amaze is a simple 3D maze game.
|
||||||
|
|
||||||
|
Based upon the curses-based amaze by David Leonard, graciously placed
|
||||||
|
into the public domain. More information can be found here: \url{https://www.adaptive-enterprises.com.au/~d/software/amaze/}
|
BIN
manual/plugins/images/ss-amaze-128x160x24.png
Normal file
After Width: | Height: | Size: 803 B |
BIN
manual/plugins/images/ss-amaze-128x64x1.png
Normal file
After Width: | Height: | Size: 961 B |
BIN
manual/plugins/images/ss-amaze-138x110x2.png
Normal file
After Width: | Height: | Size: 687 B |
BIN
manual/plugins/images/ss-amaze-176x132x16.png
Normal file
After Width: | Height: | Size: 883 B |
BIN
manual/plugins/images/ss-amaze-240x320x24.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
manual/plugins/images/ss-amaze-320x240x16.png
Normal file
After Width: | Height: | Size: 1 KiB |
|
@ -25,6 +25,8 @@ text files%
|
||||||
|
|
||||||
\input{plugins/2048.tex}
|
\input{plugins/2048.tex}
|
||||||
|
|
||||||
|
\input{plugins/amaze.tex}
|
||||||
|
|
||||||
\input{plugins/blackjack.tex}
|
\input{plugins/blackjack.tex}
|
||||||
|
|
||||||
\opt{large_plugin_buffer}{\input{plugins/boomshine.tex}}
|
\opt{large_plugin_buffer}{\input{plugins/boomshine.tex}}
|
||||||
|
|