NEW: libtheoraplay & libtheorafile - ports for videoplayback in FNA games

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

NEW: libtheoraplay & libtheorafile - ports for videoplayback in FNA games

Thomas Frohwein
Hi ports@,

Attached are two ports that fulfill the same function in FNA games, but are used
in different products: libtheoraplay and libtheorafile. Both are essentially
small libraries that are called by those games for Ogg Theora videoplayback.

I've found the following FNA games than use these libraries and tested that they
run with them:

libtheoraplay - A Virus Named TOM, Bleed, Capsized, FEZ, HackNet, Overdriven
                Reloaded, Paladin, Skulls of the Shogun, and Towerfall:
                Ascension

libtheorafile - Bleed 2, Dust: An Elysian Tail, Hidden in Plain Sight, Owlboy

Both ports come with a test folder with a script or target to compile a binary
that can play Ogg Theora files (.ogv) for testing purposes. Since this is
interactive and no example .ogv files are provided, I set NO_TEST = Yes.
Instructions on how to test are as comment in the Makefile above the NO_TEST
line.

With these 2 ports (+ SDL2 + vorbis), almost all FNA games that have a DRM-free
version can be played on OpenBSD, with the only barrier being the mono port that
must be manually compiled at the moment. There is a script on
https://github.com/thfrwn/fnaify that can configure the games for you to find
the proper libraries and move packaged mono dll's out of the way.

libtheoraplay.tgz (2K) Download Attachment
libtheorafile.tgz (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: NEW: libtheoraplay & libtheorafile - ports for videoplayback in FNA games

Thomas Frohwein
ping

On Sun, Jan 21, 2018 at 07:29:06PM -0800, Thomas Frohwein wrote:

> Hi ports@,
>
> Attached are two ports that fulfill the same function in FNA games, but are used
> in different products: libtheoraplay and libtheorafile. Both are essentially
> small libraries that are called by those games for Ogg Theora videoplayback.
>
> I've found the following FNA games than use these libraries and tested that they
> run with them:
>
> libtheoraplay - A Virus Named TOM, Bleed, Capsized, FEZ, HackNet, Overdriven
> Reloaded, Paladin, Skulls of the Shogun, and Towerfall:
> Ascension
>
> libtheorafile - Bleed 2, Dust: An Elysian Tail, Hidden in Plain Sight, Owlboy
>
> Both ports come with a test folder with a script or target to compile a binary
> that can play Ogg Theora files (.ogv) for testing purposes. Since this is
> interactive and no example .ogv files are provided, I set NO_TEST = Yes.
> Instructions on how to test are as comment in the Makefile above the NO_TEST
> line.
>
> With these 2 ports (+ SDL2 + vorbis), almost all FNA games that have a DRM-free
> version can be played on OpenBSD, with the only barrier being the mono port that
> must be manually compiled at the moment. There is a script on
> https://github.com/thfrwn/fnaify that can configure the games for you to find
> the proper libraries and move packaged mono dll's out of the way.



libtheorafile.tgz (2K) Download Attachment
libtheoraplay.tgz (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: NEW: libtheoraplay & libtheorafile - ports for videoplayback in FNA games

Anthony J. Bentley-4
Thomas Frohwein writes:
> ping

For libtheoraplay:

 - Breaks if CFLAGS is set in mk.conf. No need to add to CFLAGS, just
   add -shared and -I to do-build directly
 - Ditto for LDFLAGS
 - Nit: it's okay and often looks better for variable assignments to
   have different indentation levels to avoid wrapping and excessive
   whitespace in the center

Fix CFLAGS and it's ok with me.

Also:

 - libtheorafile doesn't respect CFLAGS

Fix that and it's ok with me.

Reply | Threaded
Open this post in threaded view
|

Re: NEW: libtheoraplay & libtheorafile - ports for videoplayback in FNA games

Thomas Frohwein
In reply to this post by Thomas Frohwein
Thanks for feedback from bentley@

- moved flags out of CFLAGS/LDFLAGS for libtheoraplay to not mess with mk.conf
- removed TMI from libtheoraplay/pkg/DESCR
- made libtheorafile honor CFLAGS and LDFLAGS (will send PR to upstream)
- make indent white space of variable assignments more economical
- both packages build and run (libtheoraplay in A Virus Named TOM, libtheoraplay
  with the test target in ${WRKSRC}/Makefile and local .ogv file. portcheck
  passes

Attached new versions - any takers?

libtheoraplay.tgz (2K) Download Attachment
libtheorafile.tgz (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: NEW: libtheoraplay & libtheorafile - ports for videoplayback in FNA games

Stuart Henderson
On 2018/02/13 10:09, Thomas Frohwein wrote:

> Thanks for feedback from bentley@
>
> - moved flags out of CFLAGS/LDFLAGS for libtheoraplay to not mess with mk.conf
> - removed TMI from libtheoraplay/pkg/DESCR
> - made libtheorafile honor CFLAGS and LDFLAGS (will send PR to upstream)
> - make indent white space of variable assignments more economical
> - both packages build and run (libtheoraplay in A Virus Named TOM, libtheoraplay
>   with the test target in ${WRKSRC}/Makefile and local .ogv file. portcheck
>   passes
>
> Attached new versions - any takers?


Bad distfile name for libtheoraplay, please use the
DISTFILES=sensible-name-1.00{commithash}${EXTRACT_SUFX} mechanism to
rename it.

theorafile, it's down to personal preference, but instead of patching for
"TARGET = so.${LIBtheorafile_VERSION}" you might find it nicer to override
directly like "MAKE_FLAGS = TARGET=so.${LIBtheorafile_VERSION}".