kazzmir / paintown

Paintown is a 2-d fighting game
Other
103 stars 41 forks source link

Mugen ssfv1 + ssfv2 #90

Open humbertodias opened 9 months ago

humbertodias commented 9 months ago

Idea

Seems that currently not all mugen formats are supported in ssf. Searching on internet I found out a similar project nugen that supports ssfv1 + ssfv2 and conveniently has almost the same stack: cpp+sdl2 Maybe that parser could be used here as a shortcut to save time and bring the v1/v2 support as well. What mugen formats are currently supported by paintown?


SFFv1

SFFv1 is the standard for WinMugen and earlier but can still be used in MUGEN 1.0 and 1.1b.

Palettes are added by making .act files and placing their names in the .def

Sprites in this format are limited to 256 colors. The alpha channel for Color 0 in the palette index will be 0 (transparent) see tutorial 1 for more details on how to do that

SFFv2

SFFv2 is the standard for MUGEN 1.0 and can be used in 1.1b

Palettes are now added directly in to the sff. It now uses remappal to change the colors

Like v1 sprites in this format are limited to 256 colors. The alpha channel for Color 0 in the palette index will be 0 (transparent)

SFFv2.1

SFFv2.1 is the standard for MUGEN 1.1b and cannot be used in earlier versions

Palettes are added into the sff like in V2

Sprites are no longer limited to 256 color indexes. This can be very useful for stage and screenpack creation. And for large portraits.

Also any palette can now have any index's alpha channel manipulated. Allowing for full or partial transparencies on individual indexes based on palette. By default Color 0 is still 0

feel free to add to this with more technical info. Like I forget if the indexed sprites are 32bit or what

Ref

kazzmir commented 9 months ago

Yea we can look at the nugen code. We have some priliminary classes that are meant to support sffv2: https://github.com/kazzmir/paintown/blob/c30826980066ca0a562e6ddd51ffd63cd260f51c/src/mugen/sprite.cpp#L548