Tools & Scripts: Difference between revisions

From F256 Foenix
Jump to navigationJump to search
(Added two links to Aseprite LUA scripts.)
No edit summary
 
(12 intermediate revisions by 4 users not shown)
Line 4: Line 4:


{| class="wikitable"
{| class="wikitable"
! Tool !! Link  
! Tool !! Link !! Notes
! --- !! Notes
|-
|-
| style="white-space:nowrap;"| Aseprite
| style="white-space:nowrap;"| Aseprite
| style="white-space:nowrap;"| https://www.aseprite.org/
| style="white-space:nowrap;"| https://www.aseprite.org/
|
| style="white-space:nowrap;" |Aseprite can be used to create sprites animation or Tiles Sets.
| style="white-space:nowrap;" |Aseprite can be used to create sprites animation or Tiles Sets.
|-
|f256_sprite_cutter
|https://gist.github.com/digarok/57b096236a7fb1c76efef6cbb9f73a83
|Sprite cutter that cuts a PNG according to line-by-line instructions in a text file. Requires python and the PIL library, install with:
python -m pip install --upgrade pip 
python -m pip install --upgrade Pillow
Run with:
python f256_sprite_cutter.py myimage.png mylist.txt sprites.s
where mylist.txt contains a series of lines containing x, y offset, width, name, where it's assumed the width is the same as the height since it's for square sprites supported for the F256xx, such as 8,16, or 32.
The output (named sprites.s in this above example) is a series of hex instructions with a list of hex values of a color picked from the CLUT.
In order to make it compatible with 64tass, I search replaced hex-> .byte and replaced every value I could find by swapping in a $ in front (ie 00 -> $00 and 01 -> $01, etc.)
|-
|Foenix Graphics Toolkit
|https://github.com/econtrerasd/F256-GraphicToolkit
|The Sprite Editor module in the Graphics Toolkit can help you draw sprites of different sizes in the F256 platform and save them as Spr files. The file format is documented in the manual
|}
|}


==== Scripts ====


=== Music Tools and Scripts ===
{| class="wikitable"
! Tool !! Link !! Notes
|-
|DOSBox VGM music extraction mini-guide
|[[Software#Music]] for playvgm.pgx
|DOSBox uses a YM3812 chip that outputs OPL2, this is a great, immense source of music that can leverage the OPL functionality of the F256K
1) run dosbox 0.74+, from the command line and mount your game as <code>dosbox -c "MOUNT C C:\YOURGAMEISHERE"</code> avoid spaces in folder names
2) before you get to the point where the music you want to extract plays, hit CTRL-ALT-F7 and you should see in the dosbox 'log' window that a music capture has started. I think it dumps your captures in /username/appdata/local/dosbox/capture but it will say where in the log window
3) reach the point where it plays and let it loop or run its course, hit CTRL-ALT-F7 to stop the capture.
4) this gives you a .DRO that you can analyze with https://www.jestarjokin.net/apps/drotrimmer/ . the analysis tool is supposed to find loops, but it didn't work well with the first tune I tried.
5) try to find the location of your first tune's note in the main window of drotrimmer and try to start the playback from there. delete superfluous notes that might surround your tune.
6) use dro2vgm command line tool: https://www.vgmpf.com/Wiki/index.php/DRO_to_VGM
7) open in a hex editor and chop off the bytes from 0x00 to 0xFF (it's the header)
8) transfer to your F256K (jr has no opl support!)
9) bload "yourtrimmed.vgm",$010000
10) run playvgm.pgx
|-
|Convert MIDI files into VGM files.
| https://github.com/SudoMaker/midi2vgm
| This is a Linux app, but does compile using Linux on windows under WSL.
Link to WSL install:
https://learn.microsoft.com/en-us/windows/wsl/install
'''Link to binaries'''
https://github.com/cmassat/midi2vgm/releases/tag/V1.0.0
libADLMIDI.a  <- Required Library
midi2vgm_opl3 <- Executable
|}




=== Tile Creation Tools & Scripts ===
=== Sprite & Tile Creation Tools & Scripts ===
If you use Aseprite, you can convert your tile drawings to tilesets and tilemaps using the following scripts:
If you use Aseprite, you can convert your tile drawings to tilesets and tilemaps using the following scripts:


* [[Export Aseprite Tilemap]]
* [[Export Aseprite Tilemap]]
* [[Export Aseprite Tileset]]
* [[Export Aseprite Tileset]]
* [[Export Aseprite Sprites]] - Will convert sprites to 64tass compatible text file.

Latest revision as of 21:21, 12 June 2024

F256 Machines Game Development Tools[edit | edit source]

Sprite Creation Tools & Scripts[edit | edit source]

Tool Link Notes
Aseprite https://www.aseprite.org/ Aseprite can be used to create sprites animation or Tiles Sets.
f256_sprite_cutter https://gist.github.com/digarok/57b096236a7fb1c76efef6cbb9f73a83 Sprite cutter that cuts a PNG according to line-by-line instructions in a text file. Requires python and the PIL library, install with:
python -m pip install --upgrade pip 
python -m pip install --upgrade Pillow

Run with:

python f256_sprite_cutter.py myimage.png mylist.txt sprites.s

where mylist.txt contains a series of lines containing x, y offset, width, name, where it's assumed the width is the same as the height since it's for square sprites supported for the F256xx, such as 8,16, or 32.

The output (named sprites.s in this above example) is a series of hex instructions with a list of hex values of a color picked from the CLUT.

In order to make it compatible with 64tass, I search replaced hex-> .byte and replaced every value I could find by swapping in a $ in front (ie 00 -> $00 and 01 -> $01, etc.)

Foenix Graphics Toolkit https://github.com/econtrerasd/F256-GraphicToolkit The Sprite Editor module in the Graphics Toolkit can help you draw sprites of different sizes in the F256 platform and save them as Spr files. The file format is documented in the manual


Music Tools and Scripts[edit | edit source]

Tool Link Notes
DOSBox VGM music extraction mini-guide Software#Music for playvgm.pgx DOSBox uses a YM3812 chip that outputs OPL2, this is a great, immense source of music that can leverage the OPL functionality of the F256K

1) run dosbox 0.74+, from the command line and mount your game as dosbox -c "MOUNT C C:\YOURGAMEISHERE" avoid spaces in folder names

2) before you get to the point where the music you want to extract plays, hit CTRL-ALT-F7 and you should see in the dosbox 'log' window that a music capture has started. I think it dumps your captures in /username/appdata/local/dosbox/capture but it will say where in the log window

3) reach the point where it plays and let it loop or run its course, hit CTRL-ALT-F7 to stop the capture.

4) this gives you a .DRO that you can analyze with https://www.jestarjokin.net/apps/drotrimmer/ . the analysis tool is supposed to find loops, but it didn't work well with the first tune I tried.

5) try to find the location of your first tune's note in the main window of drotrimmer and try to start the playback from there. delete superfluous notes that might surround your tune.

6) use dro2vgm command line tool: https://www.vgmpf.com/Wiki/index.php/DRO_to_VGM

7) open in a hex editor and chop off the bytes from 0x00 to 0xFF (it's the header)

8) transfer to your F256K (jr has no opl support!)

9) bload "yourtrimmed.vgm",$010000

10) run playvgm.pgx

Convert MIDI files into VGM files. https://github.com/SudoMaker/midi2vgm This is a Linux app, but does compile using Linux on windows under WSL.

Link to WSL install: https://learn.microsoft.com/en-us/windows/wsl/install

Link to binaries

https://github.com/cmassat/midi2vgm/releases/tag/V1.0.0

libADLMIDI.a <- Required Library

midi2vgm_opl3 <- Executable


Sprite & Tile Creation Tools & Scripts[edit | edit source]

If you use Aseprite, you can convert your tile drawings to tilesets and tilemaps using the following scripts: