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
This commit is contained in:
Franklin Wei 2014-09-03 19:16:37 -04:00 committed by Solomon Peachy
parent 2dbf26f11a
commit 6efd7f8f3e
26 changed files with 1893 additions and 0 deletions

View file

@ -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>

View file

@ -2,6 +2,7 @@
alpine_cdc,apps
alarmclock,apps
announce_status,demos
amaze,games
autostart,apps
battery_bench,apps
bench_scaler,apps

View file

@ -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

File diff suppressed because it is too large Load diff

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 414 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 854 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View file

@ -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
View 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/}

Binary file not shown.

After

Width:  |  Height:  |  Size: 803 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 961 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 687 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 883 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

View file

@ -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}}