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"
|
||||
</voice>
|
||||
</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
|
||||
alarmclock,apps
|
||||
announce_status,demos
|
||||
amaze,games
|
||||
autostart,apps
|
||||
battery_bench,apps
|
||||
bench_scaler,apps
|
||||
|
|
|
@ -112,6 +112,7 @@ pictureflow.c
|
|||
metronome.c
|
||||
|
||||
2048.c
|
||||
amaze.c
|
||||
|
||||
/* Lua needs at least 160 KB to work in */
|
||||
#if PLUGIN_BUFFER_SIZE >= 0x80000
|
||||
|
|
1620
apps/plugins/amaze.c
Normal file
|
@ -27,6 +27,44 @@ _2048_background.56x56x24.bmp
|
|||
#endif
|
||||
#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 */
|
||||
#ifdef HAVE_LCD_COLOR
|
||||
#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
|
||||
Uwe Kleine-König
|
||||
JJ Style
|
||||
Jerry Chapman
|
||||
|
||||
The libmad 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/amaze.tex}
|
||||
|
||||
\input{plugins/blackjack.tex}
|
||||
|
||||
\opt{large_plugin_buffer}{\input{plugins/boomshine.tex}}
|
||||
|
|