Friday, July 31, 2020

new games/onscripter-en

Please find attached a new port for games/onscripter-en.

onscripter-en is an English branch of onscripter to play NScripter and
ONScripter games. These are typically visual novels.

Upstream[1] has been down since 2018.

There were two distfiles available: fullsrc (which bundled dependencies
like sdl-ttf 2.0.8) and src (without any bundled dependencies).
In [0] these are, respectively:
- Source code with dependencies (tar.bz2, 5.60MB)
- Source code (tar.bz2, 956KB)

My goal was to use src and link against devel/sdl-ttf 2.0.11, but 2.0.11
had a regression where fonts would not render at all. 2.0.10 did work.

I backported a fix[2] for devel/sdl-ttf 2.0.11, which is required for
onscripter-en and resolves the problem.

This port:
- hosts the src distfile[0] on my website. This is 20110628, the latest
version found under releases. (20110930 is nowhere to be found
according to the comments section.)
- moves from gcc to clang
- two patches for handling clang warnings (assigning field to itself and
bitwise AND)
- patch for renaming voidp --> void*
- removes -O3 and -fomit-frame-pointer so that debugging can be done
with DEBUG=-g CXXFLAGS=-g. fomit-frame-pointer made debugging hard.
- sed in pre-configure to modify Makefile.onscripter and
configure. onscripter-en uses a homegrown configure and
Makefile.onscripter which generate Makefile. It tries to get -I and -L
flags in the right places.
- the only remaining clang warning seems harmless: "warning: illegal
character encoding"
- README contains upstream's FAQs and control README. Because upstream
is no longer active, it is important to make it more accessible here.
- includes tools to work with extracting archives and working with plaintext
script files.

Testing
=======

Install the backported fix[2] for devel/sdl-ttf 2.0.11.

There is a test directory which can be used to run basic tests on
onscripter-en. This can be used to test the runtime.

$ doas pkg_add ja-sazanami-ttf
$ doas -u _pbuild cp /usr/local/share/fonts/sazanami/sazanami-gothic.ttf $(make show=WRKSRC)/test/default.ttf
$ onscripter-en -r $(make show=WRKSRC)/test

I successfully tested several hours of a visual novel game with
this.

I would like to credit chaoskaiser72 for testing earlier versions of
this OpenBSD port, requesting that I port this to OpenBSD, giving
feedback and answering questions I had regarding
onscripter-en. chaoskaiser72 maintains an onscripter-en resource
page[3], mirroring a lot of the resources that used to be upstream,
including the NScripter Command Reference.

Feedback and tests are welcome.

Sources:
[0] https://web.archive.org/web/20181006182632/http://unclemion.com/onscripter/releases
[1] https://web.archive.org/web/20180928193924/http://unclemion.com/onscripter
[2] https://marc.info/?l=openbsd-ports&m=159593692105005&w=2
[3] https://kaisernet.neocities.org/onscripter/

No comments:

Post a Comment