Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Angband 3DS: Difference between revisions

From GameBrew
(Created page with "{{Infobox-3DS-Homebrews | title = Angband | image = https://dlhb.gamebrew.org/3dshomebrew/Angband-3DS.jpg|250px | type = Other Games | version = v4.2.3 | lastupdated = 2021/08...")
 
No edit summary
Line 13: Line 13:
<youtube>_NMSqmIIMv8</youtube>
<youtube>_NMSqmIIMv8</youtube>


Angband for the Nintendo DS/3DS
==Angband for the Nintendo DS/3DS==
 
This is a port of Angband for the Nintendo DS and Nintendo 3DS that is marginally based off of the old Angband port made by Immir. It is still in active development, and should be taken as such. Still, issue reports and feedback are greatly appreciated.
This is a port of Angband for the Nintendo DS and Nintendo 3DS that is marginally based off of the old Angband port made by Immir. It is still in active development, and should be taken as such. Still, issue reports and feedback are greatly appreciated.


Development happens on my GitHub page, the upstream Pull-Request (link removed as the Pull Request has been merged) and the `#angband-dev` IRC channel on Libera.Chat (KiwiIRC Link).
==Installation instructions==
 
Installation instructions
For installing the port onto your 3DS, simply download the 3dsx file (listed below) and put it somewhere on your SD card where you can launch it. You also need to download game files (also listed below, as `angband.zip`) and extract them to your SD card so that you have an `angband` folder in its root.
For installing the port onto your 3DS, simply download the 3dsx file (listed below) and put it somewhere on your SD card where you can launch it. You also need to download game files (also listed below, as `angband.zip`) and extract them to your SD card so that you have an `angband` folder in its root.


For the original Nintendo DS the procedure is similiar, you just need to download the nds file instead of the 3dsx file. Keep in mind that the NDS port is not really comfortable to play on, and more of a proof-of-concept. The screen is too small to display the game in a readable font size, and the hardware is too underpowered to run the game in its normal configuration (although, the latter problem is likely a non-issue when running in DSi mode). However, you can make the game run if you lower the level dimensions and number of monsters (use this as an example).
For the original Nintendo DS the procedure is similiar, you just need to download the nds file instead of the 3dsx file. Keep in mind that the NDS port is not really comfortable to play on, and more of a proof-of-concept. The screen is too small to display the game in a readable font size, and the hardware is too underpowered to run the game in its normal configuration (although, the latter problem is likely a non-issue when running in DSi mode). However, you can make the game run if you lower the level dimensions and number of monsters (use [https://gist.github.com/timschumi/6e6a85f53b05fe4aeebe94b7a60ba37e this] as an example).


Configuration
==Configuration==
Button mappings
===Button mappings===
To avoid having to use the on-screen keyboard for everything, the game allows for mapping certain button combinations to sequences of up to 10 keyboard inputs. In addition to the standard movement directions on the D-Pad, the following keys are mapped by default:
To avoid having to use the on-screen keyboard for everything, the game allows for mapping certain button combinations to sequences of up to 10 keyboard inputs. In addition to the standard movement directions on the D-Pad, the following keys are mapped by default:


A -> Enter
* A -> Enter
B -> Escape
* B -> Escape
Y -> "y"
* Y -> "y"
 
To change or add button mappings, the user can create the file `/angband/nds/button-mappings.txt` on the SD card, where button mappings will be stored.
To change or add button mappings, the user can create the file `/angband/nds/button-mappings.txt` on the SD card, where button mappings will be stored.
Each line in the file (except for empty lines and lines starting with `#`) describes a mapping for a button combination.
Each line in the file (except for empty lines and lines starting with `#`) describes a mapping for a button combination.
The line is split into two parts (delimited by `:`), the first describing the button combination and the second listing the sequence of keys that should be pressed instead.
The line is split into two parts (delimited by `:`), the first describing the button combination and the second listing the sequence of keys that should be pressed instead.


The available buttons for bindings are `A`, `B`, `Y`, `X`, `Up`, Down`, `Left`, `Right`, `Start`, `Select`, `L`, `R`, `ZL` and `ZR`.
The available buttons for bindings are `A`, `B`, `Y`, `X`, `Up`, Down`, `Left`, `Right`, `Start`, `Select`, `L`, `R`, `ZL` and `ZR`.
L, R, ZL, and ZR are only used as modifier keys and do not trigger an action on their own (this means that they can only be used in combination with other keys).
L, R, ZL, and ZR are only used as modifier keys and do not trigger an action on their own (this means that they can only be used in combination with other keys).
The chosen buttons for a binding are simply written one after another, delimited using a `+`.
The chosen buttons for a binding are simply written one after another, delimited using a `+`.


For the input sequence the characters are written as a coherent string. For special characters (also known as escaped characters) the characters can be stored in their escaped notation and they will be correctly processed by the game.
For the input sequence the characters are written as a coherent string. For special characters (also known as escaped characters) the characters can be stored in their escaped notation and they will be correctly processed by the game.
A list of escaped characters can be seen on the Wikipedia page about escape sequences, but the game only supports a subset of those (`\b`, `\t`, `\r`, `\e`, and `\\`). Quotation and question marks do not need to be escaped.
 
A list of escaped characters can be seen on the [https://web.archive.org/web/20210724074628/https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences Wikipedia page about escape sequences], but the game only supports a subset of those (`\b`, `\t`, `\r`, `\e`, and `\\`). Quotation and question marks do not need to be escaped.


Example: If I wanted to input `g` three times followed by pressing Enter whenever I press the buttons `L` and `A`, I would put the following into my button-mappings.txt file:
Example: If I wanted to input `g` three times followed by pressing Enter whenever I press the buttons `L` and `A`, I would put the following into my button-mappings.txt file:


L+A:ggg\r
L+A:ggg\r
On-screen keys
On-screen keys
To add custom keys to the on-screen keyboard, the user can create the file `/angband/nds/screen-keys.txt` on the SD card.
To add custom keys to the on-screen keyboard, the user can create the file `/angband/nds/screen-keys.txt` on the SD card.

Revision as of 05:43, 27 September 2021

Template:Infobox-3DS-Homebrews

Angband for the Nintendo DS/3DS

This is a port of Angband for the Nintendo DS and Nintendo 3DS that is marginally based off of the old Angband port made by Immir. It is still in active development, and should be taken as such. Still, issue reports and feedback are greatly appreciated.

Installation instructions

For installing the port onto your 3DS, simply download the 3dsx file (listed below) and put it somewhere on your SD card where you can launch it. You also need to download game files (also listed below, as `angband.zip`) and extract them to your SD card so that you have an `angband` folder in its root.

For the original Nintendo DS the procedure is similiar, you just need to download the nds file instead of the 3dsx file. Keep in mind that the NDS port is not really comfortable to play on, and more of a proof-of-concept. The screen is too small to display the game in a readable font size, and the hardware is too underpowered to run the game in its normal configuration (although, the latter problem is likely a non-issue when running in DSi mode). However, you can make the game run if you lower the level dimensions and number of monsters (use this as an example).

Configuration

Button mappings

To avoid having to use the on-screen keyboard for everything, the game allows for mapping certain button combinations to sequences of up to 10 keyboard inputs. In addition to the standard movement directions on the D-Pad, the following keys are mapped by default:

  • A -> Enter
  • B -> Escape
  • Y -> "y"

To change or add button mappings, the user can create the file `/angband/nds/button-mappings.txt` on the SD card, where button mappings will be stored.

Each line in the file (except for empty lines and lines starting with `#`) describes a mapping for a button combination.

The line is split into two parts (delimited by `:`), the first describing the button combination and the second listing the sequence of keys that should be pressed instead.

The available buttons for bindings are `A`, `B`, `Y`, `X`, `Up`, Down`, `Left`, `Right`, `Start`, `Select`, `L`, `R`, `ZL` and `ZR`. L, R, ZL, and ZR are only used as modifier keys and do not trigger an action on their own (this means that they can only be used in combination with other keys).

The chosen buttons for a binding are simply written one after another, delimited using a `+`.

For the input sequence the characters are written as a coherent string. For special characters (also known as escaped characters) the characters can be stored in their escaped notation and they will be correctly processed by the game.

A list of escaped characters can be seen on the Wikipedia page about escape sequences, but the game only supports a subset of those (`\b`, `\t`, `\r`, `\e`, and `\\`). Quotation and question marks do not need to be escaped.

Example: If I wanted to input `g` three times followed by pressing Enter whenever I press the buttons `L` and `A`, I would put the following into my button-mappings.txt file:

L+A:ggg\r

On-screen keys To add custom keys to the on-screen keyboard, the user can create the file `/angband/nds/screen-keys.txt` on the SD card. Each line in the file (except for empty lines and lines starting with `#`) describes a mapping for a button combination.

A line has multiple fields, each seperated by a ':':

label (up to 16 characters) x and y offset (in pixels; from the top left of the screen) width and height (in pixels) input sequence (up to 20 character inputs) The rules for input sequences in the "Button mappings" feature apply here as well. Example: This is a key with the label "rage quit", it's at the coordinates (80/120) from the top left of the screen, 64 pixels in width, 32 pixels in height and automatically navigates to the "Kill character and quit" menu entry.

rage quit:80:120:64:32:\r2222\r222\ry@\r Downloads Version 4.2.3 (2021-08-05) Changelog Upstream changes from Angband 4.2.3 Memory optimizations for the NDS Increase maximum input sequence length to 20 Add support for custom on-screen keys Files angband.3dsx angband.nds angband.zip Source code (.tar.gz archive) Version 4.2.2 (2021-07-24) Changelog Changed default binding for ESC to B instead of X User-defineable button mappings New 3DS support (ZL/ZR keys and faster CPU) Performance optimizations Files angband.3dsx angband.nds angband.zip Source code (.tar.gz archive) Version 4.2.2 (2021-07-22) Changelog Initial release Files angband.3dsx angband.nds angband.zip Source code (.tar.gz archive)

Advertising: