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

VNDS: Difference between revisions

From GameBrew
No edit summary
No edit summary
Line 31: Line 31:
==User guide==
==User guide==
===List of visual novel ports (freeware)===
===List of visual novel ports (freeware)===
{| class="wikitable sortable"
{| class="wikitable collapsible sortable"
! Title !! Author !! Port by !! Language !! Age rating !! Format !! Sound !! Link
! Title !! Author !! Port by !! Age rating !! Format !! Sound !! Link
|-
|-
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Red_Shift.zip Red Shift] || Team Extra || Dilt || en || all || scr || y || [https://web.archive.org/web/20130913035607/http://digital-haze.net/ch/vnds/kareha.pl/1239829088 Digital-Haze]
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/AA_WalkthroughVNDS.zip (AA) Walkthrough VNDS] || Gaidai || Gaidai || all || scr || y || [https://web.archive.org/web/20120312235424/http://digital-haze.net/ch/vnds/kareha.pl/1315026400/l50 Digital-Haze]
|-
|-
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/OMGWTFOTL.7z OMGWTFOTL] || Hanpamania-Soft || Jake Probst || en || 16+ || scr, novel || y || [https://web.archive.org/web/20140218222855/http://digital-haze.net/projects/vnds.html Digital-Haze]
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Addendum.zip Addendum] || ShinseiTom || ShinseiTom || all || scr || y || [https://web.archive.org/web/20100216085437/http://www.digital-haze.net/ch/vnds/kareha.pl/1257420059/ Digital-Haze]
|-
|-
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Ballad_of_an_Evening_Butterfly.zip Ballad of an Evening Butterfly] || ZIGZAG  || CXBlackCatXD || en || 15+ || scr || y || [https://web.archive.org/web/20130913035602/http://digital-haze.net/ch/vnds/kareha.pl/1239283809/ Digital-Haze]
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Hurricane_R4_INCOMPLETE.zip Hurricane R4] || ShinseiTom || ShinseiTom || all || scr || y || [https://web.archive.org/web/20100929173520/http://digital-haze.net/ch/vnds/#18 Digital-Haze]
|-
|-
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Adagio.zip Adagio] || 17  || CXBlackCatXD || en || all || scr || y || [https://web.archive.org/web/20140219093539/http://digital-haze.net/ch/vnds/kareha.pl/1242706897 Digital-Haze]
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Narcissu2_R3_SD.zip Narcissu 2 - R3] || Stage-nana || ShinseiTom || all || scr || y || [https://web.archive.org/web/20131112003937/http://digital-haze.net/ch/vnds/kareha.pl/1274853628/ Digital-Haze]
|-
|-
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Addendum.zip Addendum] || ShinseiTom  || ShinseiTom || en || all || scr || y || [https://web.archive.org/web/20100216085437/http://www.digital-haze.net/ch/vnds/kareha.pl/1257420059/ Digital-Haze]
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Red_Shift.zip Red Shift] || Team Extra || Dilt || all || scr || y || [https://web.archive.org/web/20130913035607/http://digital-haze.net/ch/vnds/kareha.pl/1239829088 Digital-Haze]
|-
|-
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Anons_Nice_Day_r3.7z Anon's Nice Day] || Anonymous || Jake Probst || en || 18+ || scr, novel || n || [https://web.archive.org/web/20140218222855/http://digital-haze.net/projects/vnds.html Digital-Haze]
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Plain_Song.7z Plain Song + Christmas Special] || Eno Yamamoto Ten || Dilt || all || scr, novel || y || [https://web.archive.org/web/20130913040251/http://digital-haze.net/ch/vnds/kareha.pl/1239946849 Digital-Haze]
|-
|-
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Plain_Song.7z Plain Song + Christmas Special] || Eno Yamamoto Ten || Dilt || en || all || scr, novel || y || [https://web.archive.org/web/20130913040251/http://digital-haze.net/ch/vnds/kareha.pl/1239946849 Digital-Haze]
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/The_Letter.7z The Letter] || P.o.l.c. || T-Patch || all || scr, novel || y || [https://web.archive.org/web/20130913040246/http://digital-haze.net/ch/vnds/kareha.pl/1238697618 Digital-Haze]
|-
|-
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/The_Letter.7z The Letter] || P.o.l.c. ||  T-Patch || en || all || scr, novel || y || [https://web.archive.org/web/20130913040246/http://digital-haze.net/ch/vnds/kareha.pl/1238697618 Digital-Haze]
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/VNDS_TEST.zip VNDS-TEST] || ajusa || ajusa || all || scr || y || [https://github.com/ajusa/VNDS-TEST GitHub]
|-
|-
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Kira_SnowDrop.7z Kira - Snowdrop] || Tinsmith || Gaidai || en || 18+ || scr || y || [https://web.archive.org/web/20111210083634/http://digital-haze.net/ch/vnds/kareha.pl/1287630771/l50 Digital-Haze]
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Yume_Wo_Mita.zip Yume wo Mita] || Arctix Circuit || Holyshin || all || scr || n || [https://web.archive.org/web/20111210094221/http://digital-haze.net/ch/vnds/kareha.pl/1287794546/l50 Digital-Haze]
|-
|-
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/AA_WalkthroughVNDS.zip (AA) Walkthrough VNDS] || Gaidai || Gaidai || en || all || scr || y || [https://web.archive.org/web/20120312235424/http://digital-haze.net/ch/vnds/kareha.pl/1315026400/l50 Digital-Haze]
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Adagio.zip Adagio] || 17 || CXBlackCatXD || all || scr || y || [https://web.archive.org/web/20140219093539/http://digital-haze.net/ch/vnds/kareha.pl/1242706897 Digital-Haze]
|-
|-
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Hurricane_R4_INCOMPLETE.zip Hurricane R4] || ShinseiTom || ShinseiTom || en || all || scr || y || [https://web.archive.org/web/20100929173520/http://digital-haze.net/ch/vnds/#18 Digital-Haze]
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/hallucinate.zip The World to Reverse -hallucinate-] || 17 || CXBlackCatXD || 15+ || scr || y || [https://web.archive.org/web/20140219093539/http://digital-haze.net/ch/vnds/kareha.pl/1242706897 Digital-Haze]
|-
|-
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Narcissu2_R3_SD.zip Narcissu 2 - R3] || Stage-nana || ShinseiTom || en || all || scr || y || [https://web.archive.org/web/20131112003937/http://digital-haze.net/ch/vnds/kareha.pl/1274853628/ Digital-Haze]
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Ballad_of_an_Evening_Butterfly.zip Ballad of an Evening Butterfly] || ZIGZAG || CXBlackCatXD || 15+ || scr || y || [https://web.archive.org/web/20130913035602/http://digital-haze.net/ch/vnds/kareha.pl/1239283809/ Digital-Haze]
|-
|-
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/The_Best_Eroge_Ever.zip The Best Eroge Ever] || Moogy || Hogan || en || 16+ || scr || y || [https://web.archive.org/web/20140220202201/http://digital-haze.net/ch/vnds/kareha.pl/1257061163/ Digital-Haze]
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/The_Best_Eroge_Ever.zip The Best Eroge Ever] || Moogy || Hogan || 16+ || scr || y || [https://web.archive.org/web/20140220202201/http://digital-haze.net/ch/vnds/kareha.pl/1257061163/ Digital-Haze]
|-
|-
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/hallucinate.zip The World to Reverse -hallucinate-] || 17 || CXBlackCatXD || en || 15+ || scr || y || [https://web.archive.org/web/20140219093539/http://digital-haze.net/ch/vnds/kareha.pl/1242706897 Digital-Haze]
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/OMGWTFOTL.7z OMGWTFOTL] || Hanpamania-Soft || Jake Probst || 16+ || scr, novel || y || [https://web.archive.org/web/20140218222855/http://digital-haze.net/projects/vnds.html Digital-Haze]
|-
|-
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/VNDS_TEST.zip VNDS-TEST] || ajusa || ajusa || en || all || scr || y || [https://github.com/ajusa/VNDS-TEST GitHub]
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Anons_Nice_Day_r3.7z Anon's Nice Day] || Anonymous || Jake Probst || 18+ || scr, novel || n || [https://web.archive.org/web/20140218222855/http://digital-haze.net/projects/vnds.html Digital-Haze]
|-
|-
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Yume_Wo_Mita.zip Yume wo Mita] || Arctix Circuit || Holyshin || en || all || scr || n || [https://web.archive.org/web/20111210094221/http://digital-haze.net/ch/vnds/kareha.pl/1287794546/l50 Digital-Haze]
| [https://dlhb.gamebrew.org/dshomebrew2/vnds/Kira_SnowDrop.7z Kira - Snowdrop] || Tinsmith || Gaidai || 18+ || scr || y || [https://web.archive.org/web/20111210083634/http://digital-haze.net/ch/vnds/kareha.pl/1287630771/l50 Digital-Haze]
|}
|}


Line 78: Line 78:
==Changelog==
==Changelog==
'''1.4.9 2010/01/13'''
'''1.4.9 2010/01/13'''
 
* anoNL:
anoNL:
** PNG error handling (ignore spurious warnings/crash on invalid png).
* PNG error handling (ignore spurious warnings/crash on invalid png).
** "text ~" inserts blank lines again.
* "text ~" inserts blank lines again.


'''1.4.8 2009/10/21'''
'''1.4.8 2009/10/21'''
 
* anoNL:
anoNL:
** Backported new functions up to 1.5.3 (excluding wifi + .novel fmt).
* Backported new functions up to 1.5.3 (excluding wifi + .novel fmt).
** Added support for unpacking .novel files to NovelManager.
* Added support for unpacking .novel files to NovelManager.
** ASNI color code support in the text renderer.
* ASNI color code support in the text renderer.
** Increased sprite limit from 4 to 9.
* Increased sprite limit from 4 to 9.
** Waking up from sleep mode was glitchy.
* Waking up from sleep mode was glitchy.


'''1.5.3 2009/06/22'''
'''1.5.3 2009/06/22'''
 
* Jake:
Jake:
** Fixed bug with undefined variables in conditionals.
* Fixed bug with undefined variables in conditionals.
** String variables need to be ""`d (setvar/if).
* String variables need to be ""`d (setvar/if).
** Wifi doesn't hang forever if it can't connect.
* Wifi doesn't hang forever if it can't connect.


'''1.5.2 2009/06/03'''
'''1.5.2 2009/06/03'''
 
* Jake:
Jake:
** Fixed problems with music with too high a bitrate.
* Fixed problems with music with too high a bitrate.


'''1.5.1 2009/05/16'''
'''1.5.1 2009/05/16'''
 
* Jake:
Jake:
** .novel thumbnail.png select screen crash bug fixed.
* .novel thumbnail.png select screen crash bug fixed.


'''1.5.0 2009/05/04'''
'''1.5.0 2009/05/04'''
 
* Jake:
Jake:
** .novel support.
* .novel support.
** Download novels directly onto ds.
* Download novels directly onto ds.
** Redid FIFO stuff.
* Redid FIFO stuff.
** 'if var == 0' works with unset variables again.
* 'if var == 0' works with unset variables again.
* Dilt:
 
** Cleartext command.
Dilt:
* Cleartext command.


'''1.4.2'''
'''1.4.2'''
Line 137: Line 130:


'''1.3.5 2008/06/02'''
'''1.3.5 2008/06/02'''
 
* Jake:  
Jake:  
** 3 small fixed bugs in loading saves made.
* 3 small fixed bugs in loading saves made.
** Endscript actually do something (returns to titlescreen).
* Endscript actually do something (returns to titlescreen).


'''1.3.4 2008/05/29'''
'''1.3.4 2008/05/29'''
 
* Jake:
Jake:
** Fixed a bug in loading saves/skipping text.
* Fixed a bug in loading saves/skipping text.
** Something happened to make True Remembrance work (diff doesnt explain much).
* Something happened to make True Remembrance work (diff doesnt explain much).


'''1.3.3 2008/05/25'''
'''1.3.3 2008/05/25'''
 
* Jake:
Jake:
** Fixed problem with time not changing.
* Fixed problem with time not changing.
** .sav keeps track of game state to make loading faster.
* .sav keeps track of game state to make loading faster.
** Does nothing when attempting to load an empty save.
* Does nothing when attempting to load an empty save.
** Loads script in 4k blocks.
* Loads script in 4k blocks.
** Left/right moves to first/last option in select screen/choices.
* Left/right moves to first/last option in select screen/choices.


'''1.3.2 2008/05/23'''
'''1.3.2 2008/05/23'''
 
* anoNL:
anoNL:
** Bugfix: ArchiveFileHandle.Read() didn't work as expected (didn't update the read pointer afterwards).
* Bugfix: ArchiveFileHandle.Read() didn't work as expected (didn't update the read pointer afterwards).
** Bugfix: removed file io from interrupt handler.
* Bugfix: removed file io from interrupt handler.
** Bugfix: texture streaming bug in the save/load menu.
* Bugfix: texture streaming bug in the save/load menu.
** Rewrote text cache to use freetype's built-in caching system.
* Rewrote text cache to use freetype's built-in caching system.
** Added option to interrupt delay commands by pressing A, B or the touchscreen.
* Added option to interrupt delay commands by pressing A, B or the touchscreen.
** Skip scene functionality, hold R and press Y to skip ahead to the next scene/choice.
* Skip scene functionality, hold R and press Y to skip ahead to the next scene/choice.
** Added support for AAC format (for sound effects only).
* Added support for AAC format (for sound effects only).


'''1.3.1 2008/05/23'''
'''1.3.1 2008/05/23'''
 
* Jake:
Jake:
** Fixed linebreaks in choices.
* Fixed linebreaks in choices.
** String variables.
* String variables.
** Variable placement in commands.
* Variable placement in commands.
** Moved save format over to .xml (converter provided).
* Moved save format over to .xml (converter provided).
** Less efficient, but more stable sleep mode.
* Less efficient, but more stable sleep mode.
** Collision detection more efficient.
* Collision detection more efficient.
** New save theme.
* New save theme.


'''1.3.0 2008/05/21'''
'''1.3.0 2008/05/21'''
 
* anoNL:
anoNL:
** Support for png formats other than 8bit/channel truecolor.
* Support for png formats other than 8bit/channel truecolor.
** Support for uncompressed .zip format for storing foreground/background/sound, except MP3 music.
* Support for uncompressed .zip format for storing foreground/background/sound, except MP3 music.
** Rewrote sound/music code which caused ~80-90% of all crashes.
* Rewrote sound/music code which caused ~80-90% of all crashes.
** Slightly improved text anti-aliasing.
* Slightly improved text anti-aliasing.
** Rewrote line-wrapping algorithm, now supports UTF-8 character encodings.
* Rewrote line-wrapping algorithm, now supports UTF-8 character encodings.
** New save/load menu.
* New save/load menu.
** Improved visuals for the in-game choice view.
* Improved visuals for the in-game choice view.
** Script loader is better protected against buffer overflows.
* Script loader is better protected against buffer overflows.
** Bugfix: empty folders show up as valid novels in the main menu, but crash the program upon selection.
* Bugfix: empty folders show up as valid novels in the main menu, but crash the program upon selection.
** Performance: text rendering.
* Performance: text rendering.
** Performance: savefile loading speed.
* Performance: savefile loading speed.
* Jake:
 
** About screen (after constant prodding).
Jake:
** `random` command (see documentation).
* About screen (after constant prodding).
** Slight change in save menu (how it resizes).
* `random` command (see documentation).
* Slight change in save menu (how it resizes).


'''1.2.7 2008/03/30'''
'''1.2.7 2008/03/30'''
 
* Jake:
Jake:
** Fixed problem with backgrounds not loading and other weirdness.
* Fixed problem with backgrounds not loading and other weirdness.


'''1.2.6 2008/03/30'''
'''1.2.6 2008/03/30'''
 
* Jack:
Jack:
** Fixed saves for real this time, maybe.
* Fixed saves for real this time, maybe.


'''1.2.5 2008/03/30'''
'''1.2.5 2008/03/30'''
 
* anoNL:
anoNL:
** MP3 support.
* MP3 support.


==Credits==
==Credits==

Revision as of 11:01, 11 March 2025

VNDS
General
AuthorJake Probst, anoNL
TypeGame Engine
Version1.4.9
LicenseMixed
Last Updated2010/01/13
Links
1.4.9 & 1.5.3 & Test files Download
Website
Source

DS Visual Novel Reader is a Nintendo DS application used for playing gamebooks formatted with sound and pictures. It is designed to play visual novels created in .scr format.

Installation

For v1.4.9:

  • Extract archive onto the root of the SD card so the path is /vnds/.
  • To install a visual novel, extract the tar.gz in /vnds/novels, so it has its own folder (ie. /vnds/novels/tsukihime).
  • Sound files should end up in /vnds/novels/<game folder>/sound/.

For v1.5.3:

  • Take the .novel file and place it in the /vnds/novel/ folder.

Note from developer:

Any save prior to version 1.3.1 needs to be ran though the sav2xml.py utility in the /tools/ folder (requires Python to run).

Also make sure the path is correct. If you run it and you get stuck at a white screen, launch it with an alternative launcher, such as DSOrganize or DSChannels.

User guide

List of visual novel ports (freeware)

Title Author Port by Age rating Format Sound Link
(AA) Walkthrough VNDS Gaidai Gaidai all scr y Digital-Haze
Addendum ShinseiTom ShinseiTom all scr y Digital-Haze
Hurricane R4 ShinseiTom ShinseiTom all scr y Digital-Haze
Narcissu 2 - R3 Stage-nana ShinseiTom all scr y Digital-Haze
Red Shift Team Extra Dilt all scr y Digital-Haze
Plain Song + Christmas Special Eno Yamamoto Ten Dilt all scr, novel y Digital-Haze
The Letter P.o.l.c. T-Patch all scr, novel y Digital-Haze
VNDS-TEST ajusa ajusa all scr y GitHub
Yume wo Mita Arctix Circuit Holyshin all scr n Digital-Haze
Adagio 17 CXBlackCatXD all scr y Digital-Haze
The World to Reverse -hallucinate- 17 CXBlackCatXD 15+ scr y Digital-Haze
Ballad of an Evening Butterfly ZIGZAG CXBlackCatXD 15+ scr y Digital-Haze
The Best Eroge Ever Moogy Hogan 16+ scr y Digital-Haze
OMGWTFOTL Hanpamania-Soft Jake Probst 16+ scr, novel y Digital-Haze
Anon's Nice Day Anonymous Jake Probst 18+ scr, novel n Digital-Haze
Kira - Snowdrop Tinsmith Gaidai 18+ scr y Digital-Haze

Resources

Screenshots

vnds3.png vnds4.png

Changelog

1.4.9 2010/01/13

  • anoNL:
    • PNG error handling (ignore spurious warnings/crash on invalid png).
    • "text ~" inserts blank lines again.

1.4.8 2009/10/21

  • anoNL:
    • Backported new functions up to 1.5.3 (excluding wifi + .novel fmt).
    • Added support for unpacking .novel files to NovelManager.
    • ASNI color code support in the text renderer.
    • Increased sprite limit from 4 to 9.
    • Waking up from sleep mode was glitchy.

1.5.3 2009/06/22

  • Jake:
    • Fixed bug with undefined variables in conditionals.
    • String variables need to be ""`d (setvar/if).
    • Wifi doesn't hang forever if it can't connect.

1.5.2 2009/06/03

  • Jake:
    • Fixed problems with music with too high a bitrate.

1.5.1 2009/05/16

  • Jake:
    • .novel thumbnail.png select screen crash bug fixed.

1.5.0 2009/05/04

  • Jake:
    • .novel support.
    • Download novels directly onto ds.
    • Redid FIFO stuff.
    • 'if var == 0' works with unset variables again.
  • Dilt:
    • Cleartext command.

1.4.2

  • Global vars were reset when loading a save file.
  • Changing the skin via config.ini didn't work.
  • Date wasn't saved properly in save files.
  • Missing resources no longer generate warning messages.
  • Fast reading by holding Y is now a lot faster.
  • Background fades more intelligent (fade to black on bg change).

1.4.1

  • Graphical glitches in the GUI.
  • Backlight control could only turn the screen off on the original DS.
  • PNG loading crashed on corrupt or wide (> 256 pixels) images.
  • Sound didn't unmute when returning to the main menu.
  • Tapping the screen advanced the script even in choice-mode.
  • Variables weren't saved properly.

1.3.5 2008/06/02

  • Jake:
    • 3 small fixed bugs in loading saves made.
    • Endscript actually do something (returns to titlescreen).

1.3.4 2008/05/29

  • Jake:
    • Fixed a bug in loading saves/skipping text.
    • Something happened to make True Remembrance work (diff doesnt explain much).

1.3.3 2008/05/25

  • Jake:
    • Fixed problem with time not changing.
    • .sav keeps track of game state to make loading faster.
    • Does nothing when attempting to load an empty save.
    • Loads script in 4k blocks.
    • Left/right moves to first/last option in select screen/choices.

1.3.2 2008/05/23

  • anoNL:
    • Bugfix: ArchiveFileHandle.Read() didn't work as expected (didn't update the read pointer afterwards).
    • Bugfix: removed file io from interrupt handler.
    • Bugfix: texture streaming bug in the save/load menu.
    • Rewrote text cache to use freetype's built-in caching system.
    • Added option to interrupt delay commands by pressing A, B or the touchscreen.
    • Skip scene functionality, hold R and press Y to skip ahead to the next scene/choice.
    • Added support for AAC format (for sound effects only).

1.3.1 2008/05/23

  • Jake:
    • Fixed linebreaks in choices.
    • String variables.
    • Variable placement in commands.
    • Moved save format over to .xml (converter provided).
    • Less efficient, but more stable sleep mode.
    • Collision detection more efficient.
    • New save theme.

1.3.0 2008/05/21

  • anoNL:
    • Support for png formats other than 8bit/channel truecolor.
    • Support for uncompressed .zip format for storing foreground/background/sound, except MP3 music.
    • Rewrote sound/music code which caused ~80-90% of all crashes.
    • Slightly improved text anti-aliasing.
    • Rewrote line-wrapping algorithm, now supports UTF-8 character encodings.
    • New save/load menu.
    • Improved visuals for the in-game choice view.
    • Script loader is better protected against buffer overflows.
    • Bugfix: empty folders show up as valid novels in the main menu, but crash the program upon selection.
    • Performance: text rendering.
    • Performance: savefile loading speed.
  • Jake:
    • About screen (after constant prodding).
    • `random` command (see documentation).
    • Slight change in save menu (how it resizes).

1.2.7 2008/03/30

  • Jake:
    • Fixed problem with backgrounds not loading and other weirdness.

1.2.6 2008/03/30

  • Jack:
    • Fixed saves for real this time, maybe.

1.2.5 2008/03/30

  • anoNL:
    • MP3 support.

Credits

Programming: Jake Probst, anoNL.

External links

Advertising: