#VNDS-LOVE

330 messages · Page 1 of 1 (latest)

mighty crater
#

Visual Novel Interpreter
Title: VNDS-Love
URL: https://github.com/ajusa/VNDS-LOVE

UPDATED DOWNLOAD
#1328976043767500841 message

CONTROLS
D-Pad: move through menu/select VN if multiple
A: Proceed/select
Y: fast forward text

Start/Plus button: open menu

CFW Tests:
[] AmberELEC
[] ArkOS
[X] MuOS
[] ROCKNIX
-> [] Panfrost
-> [] Adreno (Optional)
[X] Knulli (Optional)

Resolutions:
[] 480x320 (Optional)
[X] 640x480
[] 720x720 (RGB30) (Optional)
[] Higher resolutions (e.g., 1280)

INSTALLATION
Install like any other portmaster port depending on your os. Refer to latest available file in thread for testing

INSTALL VN
VNDS files/games go in ports/vnds-love/conf/love/VNDS-LOVE/novels/VN_NAME

All credit/thanks go to @void mesa for writing script, and setting up everything.

https://github.com/ddrsoul/PortMaster-VNDS-LOVE/

GitHub

A visual novel player for Windows, Mac, Linux, and the Nintendo Switch - ajusa/VNDS-LOVE

GitHub

Contribute to ddrsoul/PortMaster-VNDS-LOVE development by creating an account on GitHub.

icy geyser
#

Following things have to be tested

CFW Tests:
[] AmberELEC
[] ArkOS
[] MuOS
[] ROCKNIX
-> [] Panfrost
-> [] Adreno (Optional)
[] Knulli (Optional)

Resolutions:
[] 480x320 (Optional)
[] 640x480
[] 720x720 (RGB30) (Optional)
[] Higher resolutions (e.g., 1280)

You have to keep track in your first post whats left before you can put in the PR 🙂

#

So this is just a framework and not an actual port that is playable?

void mesa
#

it is engine that needs to add your own game files, same as theXtech for mario games

#

works on Knulli 640x480

icy geyser
void mesa
#

oh right, for thextech you can get all assets free, here you need paid games

icy geyser
#

are there open source ones you could add as a base?

#

does it at least let you start into a menu or something? 😛

void mesa
#

yes, you can get into menu and see warning that you need to add files

icy geyser
#

ah nice

void mesa
#

about free games - no idea, @mighty crater seems like a pro here

#

all I know that all those games ARE SUPER OLD

#

doubt you can convert them into vnds format easily, everyone will just download them from archive

mighty crater
#

yea, most vnds supported games are ancient.

void mesa
#

@mighty crater for text scaling you can try to reach developer, I see him for the first time in a year today online

mighty crater
#

There are free vnds games that started off as completely free games, and fans converted to vnds support. Narcissu, True Remembrance and other insani titles are completely free

void mesa
#

I think it might be ok to add them ? not sure about licensing thing but it looks like we have nobody from license holders to ask

#

in 2025 most of them should be already retired and resting at summer cottage

mighty crater
#

True

void mesa
#

this is where text output is formatted

#

even without prograaming skills I can guess that line #12 set's font size

#

maybe it will affect whole text

#

but fix was done for nintendo 3ds only

#

we can use it as reference

#

my boss is forcing me do to real job at the office, so I will try to recompile it later

mighty crater
#

no worries, have a good day and thanks again

icy geyser
#

Also make sure to add a link where people can find out where to find games / a list of compatible games or something

#

<@&1216123318122577972>

mighty crater
#

I cant find a list of them that isnt just a list to download them 😔

dense crypt
mighty crater
#

on that wiki page, the link to download every vn is listed as well.

dense crypt
mighty crater
#

some are free to download, wasnt sure if I can link to it though since it does have links to paid vns available

dense crypt
#

but that one looks like a free steam game

#

anyhow, I don't know anything about these games. so i'll keep quiet now 😆

mighty crater
#

You good, just don’t want portmaster to strike it down by accidentally linking to something lol

#

Having this error only on saya no uta in vnds love, if anyone has any idea if this engine side or port side that would be great.

icy geyser
#

this seems bigger than renpy 😛

#

Like Steins:Gate

void mesa
mighty crater
#

True, I’ll try it in the morning and update

void mesa
#

hey, it seems the problem with russian font was fixed long ago but not merged

mighty crater
#

also the text running long seems to be an engine issue as well

void mesa
#

I set smaller font and it also contains bugfix about sideloading fonts

#

but maybe it is not working at all as I didn't try myself

void mesa
#

that's much better

#

but I don't think we should decrease size more

#

it is VNDS-LOVE bug that is not wrap lines properly

#

or is this a single case in a specific game and we will not encounter such long lines again

void mesa
#

now russian fonts work too

#

let's decide about fonts size because they are hardcoded

#

lol, I generated cover art for port

void mesa
#

need to test on something BIG

void mesa
mighty crater
#

seems that text wrapping around is a engine issue, had it on a few games

mighty crater
#

One thing I’ve noticed is, it seems it uses a fixed window size because on windows the window is fixed and can’t be maximized

void mesa
#

I am not ready to fix vnds's bugs, maybe it is okay as it is

twin cloak
#

If you just mention it in the readme and its not game breaking. Then its perfectly fine imo

void mesa
#

I can test it with 5"' rocknix, @mighty crater if you are still ineterested to PR it into Portmaster please check what we can do with free game to add as default if one exists

mighty crater
#

There are some free games that are vnds novels that work good, but they’re not free to distribute and I believe the people who own them in the us are long disbanded

void mesa
#

is it ok to add one of such a game into multiverse or we still no-no ? @icy geyser

#

actually nevermind, "not free to distribute"

twin cloak
#

How will you add this to PM, port per port basis or the whole engine

void mesa
#

whole engine

twin cloak
#

Alright, does it have its own launcher?

mighty crater
#

What about abandonware? There are ancient vns for this thing that released for free. It’s been so long that I don’t know who maintains distribution on them now. True Remembrance, Anons nice day, and OMGWTFOTL come to mind.

icy geyser
void mesa
icy geyser
twin cloak
#

great

twin cloak
#

I see love2d i get excited

void mesa
#

so we can add it into PM as it has own launcher, also we can add some links to places where to look for info about novels

mighty crater
#

So I guess the engine itself could just be released then, and people have the opportunity to acquire their own vns and supply them. Similar to TheXTech

twin cloak
#

Yeah sounds good

void mesa
#

most of novels I got in the internet where converted and then thoroughly polished by people

twin cloak
#

Just needs some good instructions, should be fine. Ideally ship it with one rtr game so users have an example. But if that doesnt exist good instructions should do.

void mesa
#

so I doubt there is a reason to add "how to convert" manual, only about how to look for ready solution and where to add files

mighty crater
#

OMGWTFOTL maybe fits it. I can’t find much info on it though. That or anons nice day but neither has much info on ownership or distribution.

mighty crater
void mesa
#

I want "port's you will not be able to play unless you are geek" discord role please

void mesa
#

@mighty crater can you prepare part of the README about how to get novels? I use only 4pda that is not suitable here

#

also my basic english is not good enough for poems

#

I`ll add everything else (compile, setup and etc.)

mighty crater
#

im cobbling together a read me now that looks fine-ish, but can we link to the wiki page for vnds? That has links on it which take you to free vns you can download, and and not free vns.

mighty crater
#

heres a rough readme with the info on it, if anyone wants to fill in the rest go for it

void mesa
void mesa
#

@icy geyser hello, I see a problem here beyond my understanding. original love2d project don't have any mention about licensing. README tells about using, contributing, compiling but that's it.

#

so in my basic understanding on licensing - it is private code, right ?

#

but that is stupid because it is definitely was made to share with public

#

if I message to dev and ask his permission to distribute the engine in Portmaster - is this enough?

#

but I doubt they will answer

void mesa
#

I message to project owner by mail

twin cloak
#

They also have a discord

void mesa
#

but they are not active there

twin cloak
#

Lol

void mesa
#

I had many questions but no answers

#

I think project is kinda abandoned but rather functional

#

hope they check mail sometimes

#

mostly I hoped for kind of lifehack as "everything that made with love2d is ZLIB"

#

;D

twin cloak
#

The original code is gpl2

void mesa
#

so it means that they should be GPL2 compatible in VNDS-LOVE or else they violate original license

#

then my time wasted to do screenshot is not in vain

twin cloak
#

I think so, might still be a good idea for MV. Just to be sure😄

void mesa
#

now I have this libs

#

should I also add armhf love2d libs?

#

I guess we don't have armhf only cfws anymore

#

but then what should I chose in port.json

#

if I set runtime - it means it can run on any architecture

#

what's the plan 😄

desert raven
#

What’s the problem?

void mesa
#

problem is that with those libs I add - it is really only arm64 port, right?

#

I can't find armhf love2d libs, are they exist?

#

and do I really need to add them?

desert raven
#

We don’t have an armhf love runtime.

#

Since there is no armhf only devices.

void mesa
#

so, it is better to chose "Architecture" - "AArch64" right?

#

so we will have no misunderstanding

desert raven
#

Yeah

void mesa
#

good, now it is clear

desert raven
#

Is it using the built in runtime?

void mesa
#

it should, I used script from portmaster site

desert raven
#

But you are injecting extra libs?

void mesa
#
# Run the love runtime
$GPTOKEYB "$LOVE_GPTK" &
pm_platform_helper "$LOVE_BINARY"
$LOVE_RUN "$GAMEDIR/vnds.love"
void mesa
desert raven
#

Should do

void mesa
#

I`ll test it

#

I just used my previous attempt as base, where there was no runtime builtin

desert raven
#

It should run on x86 then too

void mesa
#

yep, works without libs folder, this is ridiculously easy port, I feel that I did nothing

desert raven
#

I can test in a few.

#

Am just at the park with my son, son in law, and grandson. LinkYay

void mesa
#

will polish it a little and then call for testing

twin cloak
#

Yep the runtime works well, only aarch64 for now

void mesa
desert raven
#

😄

desert raven
void mesa
#

well it depends on what you donwload

desert raven
void mesa
#

mine are

desert raven
#

I have no idea what it is tbh

void mesa
#

😄

desert raven
#

That would require reading the whole thing.

void mesa
#

I remember I enjoyed those when I was 15 y.o.

#

now I am not sure

desert raven
mighty crater
#

thats why I got intereseted in this project was just being able to read visual novels that i hear are amazing but have something pervy on something portable for when I have free time lol

void mesa
#

good news, we have license

void mesa
#

wait I forgot to add licenses into zip

mighty crater
#

Added the link to it on the page, give me a few to get on pc and I can update post with updated zip

mighty crater
#

Does everything in the main post look good now? I cant update it with a new zip file for some reason

void mesa
#

nice, I`ll test rocknix with 854x480 px soon

#

uploading novel

void mesa
#
env: can't execute '/roms/ports/PortMaster/runtimes/love_11.5/love.': No such file or directory
sway is not running, exiting
#

something is broken

#

I have PM:2024.12.31-0311 HM:2024-02-27

#

meanwhile I`ll update rocknix to latest release

#

@twin cloak hi, do you have any idea why love2d do not work on rocknix? do you have any rocknix device to try?

void mesa
#

yep, same on latest rocknix release

mighty crater
#

ogt it updated, wish I had more devices to test on but right now Im only rocking an rg35xx

void mesa
#

it's ok, we have community to try out

mighty crater
#

True, got the main post updated so we’re good to go

twin cloak
void mesa
#

it is today's install

#

@icy geyser do you have an idea why I have problem with love2d?

#
env: can't execute '/roms/ports/PortMaster/runtimes/love_11.5/love.': No such file or directory
sway is not running, exiting```
#

PM:2024.12.31-0311 HM:2024-02-27

#

rocknix from 18.01.25

icy geyser
void mesa
#

same launch script works on my knulli install

void mesa
icy geyser
#

downgrade, try again 🙂

void mesa
#

oh, I better add love2d runtime inside port

#

D:

icy geyser
#

already included

#

you can check this folder /roms/ports/PortMaster/runtimes/love_11.5/

#

🙂

void mesa
#
S922X:/roms/ports/PortMaster/runtimes/love_11.5 # ls
LICENSE.txt   libs.x86_64   love.txt
libs.aarch64  love.aarch64  love.x86_64
#

so it has problem with adding architecture type after "."

icy geyser
#

so your device is detected

#

and it detects your architecture

#

run the port via ssh and post the output

#

it'll show you what portmaster detects from your device

twin cloak
#

Just force the aarch varstifled

icy geyser
#

What device is that?

void mesa
#

your favourite

#

ogu

icy geyser
#

the first 10 lines or so

void mesa
#
S922X:/roms/ports # ./VNDS.sh
# ODROID-GO-Ultra - ROCKNIX
```bash
DEVICE_INFO_VERSION=0.1.13
PM_VERSION=2024.12.31-0311
CFW_NAME=ROCKNIX
CFW_VERSION=20250118
CFW_GLIBC=230
DEVICE_NAME=ODROID-GO-Ultra
DEVICE_CPU=Cortex-A53
DEVICE_ARCH=aarch64
DEVICE_RAM=2
DEVICE_HAS_ARMHF="Y"
DEVICE_HAS_AARCH64="Y"
DEVICE_HAS_X86="N"
DEVICE_HAS_X86_64="N"
DISPLAY_WIDTH=854
DISPLAY_HEIGHT=480
ASPECT_X=427
ASPECT_Y=240
DISPLAY_ORIENTATION=0
ANALOG_STICKS=2

ES Dev Mapper

GO-Ultra Gamepad :: 03001354474f2d556c74726120476100
env: can't execute '/roms/ports/PortMaster/runtimes/love_11.5/love.': No such file or directory
sway is not running, exiting
S922X:/roms/ports #

#

okay

#

I see

icy geyser
#

looks good

#

let me check

void mesa
#

you can run vnds-love without novels

#

it will show you that you need to add some novels

icy geyser
#

not that check lol

twin cloak
#

16:9 480p?😄

icy geyser
#

in love.txt we have

export LOVE_VERSION="11.5"
export RUNTIME_DIR="$controlfolder/runtimes/love_$LOVE_VERSION"
export LOVE_GPTK="love.$DEVICE_ARCH"
export LOVE_BINARY="$RUNTIME_DIR/love.$DEVICE_ARCH"
export LOVE_RUN="env LD_LIBRARY_PATH=$RUNTIME_DIR/libs.$DEVICE_ARCH:$LD_LIBRARY_PATH $RUNTIME_DIR/love.$DEVICE_ARCH"```
void mesa
#

easy

icy geyser
#

try moving this line

#

source $controlfolder/runtimes/"love_11.5"/love.txt

#

to somewhere before the app is run

#

also can you put in a echo $DEVICE_ARCH

#

like 3 times so you can see it 😛

twin cloak
#
XDG_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share}

if [ -d "/opt/system/Tools/PortMaster/" ]; then
  controlfolder="/opt/system/Tools/PortMaster"
elif [ -d "/opt/tools/PortMaster/" ]; then
  controlfolder="/opt/tools/PortMaster"
elif [ -d "$XDG_DATA_HOME/PortMaster/" ]; then
  controlfolder="$XDG_DATA_HOME/PortMaster"
else
  controlfolder="/roms/ports/PortMaster"
fi

# Pm:
source $controlfolder/control.txt
[ -f "${controlfolder}/mod_${CFW_NAME}.txt" ] && source "${controlfolder}/mod_${CFW_NAME}.txt"
get_controls

# Variables
GAMEDIR=/$directory/ports/fridaynightfunkin
CONFDIR="$GAMEDIR/conf/"
cd $GAMEDIR

# Enable logging
> "$GAMEDIR/log.txt" && exec > >(tee "$GAMEDIR/log.txt") 2>&1

# Set the XDG environment variables for config & savefiles
export XDG_DATA_HOME="$CONFDIR"
export SDL_GAMECONTROLLERCONFIG="$sdl_controllerconfig"

# Source love2d runtime
source $controlfolder/runtimes/"love_11.5"/love.txt

# Use the love runtime
$GPTOKEYB "$LOVE_GPTK" -c "./fridaynightfunkin.gptk" &
pm_platform_helper "$LOVE_BINARY"
$LOVE_RUN "$GAMEDIR/gamedata"

# Cleanup any running gptokeyb instances, and any platform specific stuff.
pm_finish```
#

Heres an example that works on rocknix

#

Biggest difference is the source love runtime line

icy geyser
#

yeah

void mesa
#

strange, my example is pure template from portmaster.games

#

with small changes ofc

void mesa
#

sure

#

wait I don't get it

#

this is my .sh

#
#!/bin/bash

XDG_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share}

if [ -d "/opt/system/Tools/PortMaster/" ]; then
  controlfolder="/opt/system/Tools/PortMaster"
elif [ -d "/opt/tools/PortMaster/" ]; then
  controlfolder="/opt/tools/PortMaster"
elif [ -d "$XDG_DATA_HOME/PortMaster/" ]; then
  controlfolder="$XDG_DATA_HOME/PortMaster"
else
  controlfolder="/roms/ports/PortMaster"
fi

source $controlfolder/control.txt
source $controlfolder/runtimes/"love_11.5"/love.txt

[ -f "${controlfolder}/mod_${CFW_NAME}.txt" ] && source "${controlfolder}/mod_${CFW_NAME}.txt"

get_controls

GAMEDIR=/$directory/ports/vnds-love
CONFDIR="$GAMEDIR/conf/"

mkdir -p "$GAMEDIR/conf"
cd $GAMEDIR

> "$GAMEDIR/log.txt" && exec > >(tee "$GAMEDIR/log.txt") 2>&1

# Set the XDG environment variables for config & savefiles
export XDG_DATA_HOME="$CONFDIR"
export SDL_GAMECONTROLLERCONFIG="$sdl_controllerconfig"

# Run the love runtime
$GPTOKEYB "$LOVE_GPTK" &
pm_platform_helper "$LOVE_BINARY"
$LOVE_RUN "$GAMEDIR/vnds.love"

pm_finish
#

move even higher?

icy geyser
#
# Source love2d runtime
source $controlfolder/runtimes/"love_11.5"/love.txt

# Use the love runtime```
#

almost all the way down

#

so above the run the love runtime you even have it in comment text lol

void mesa
#

yep, now it works

#

website example is not so clear, unfortunately

#

this one

icy geyser
#

@twin cloak wonder why that breaks it

#

because this does not overwrite arrch i think

[ -f "${controlfolder}/mod_${CFW_NAME}.txt" ] && source "${controlfolder}/mod_${CFW_NAME}.txt"

void mesa
#

so it is ok just to move ?

source $controlfolder/runtimes/"love_11.5"/love.txt
#

well it works

#

so it should be ok 😄

icy geyser
#

i know why

#

source $controlfolder/device_info.txt
source $controlfolder/funcs.txt

inside control.txt

icy geyser
void mesa
#

great, and thanks to you for troubleshooting, sorry being slowpoke a little

void mesa
#

works on rocknix with libmali and panfrost

#

also works on my TV (knulli HDMI out), so maybe it counts as "[] Higher resolutions (e.g., 1280)" ?

#

now we need arkos and amberelec

celest wraith
#

I tested it few days ago on arkos

#

it works fine

void mesa
#

what if create default free vn that shows how to get real vnds files 😄

mighty crater
#

cool idea i just have no idea about creating vns for vnds nowaday

void mesa
#

I managed to make simple plain text script on background picture

#

I think this is enough to make people understand that port is working

#

I'll add tutorial text later and repack everything into zip

mighty crater
#

that is so cool that you know how to do all of this. I look at scripting stuf and just see mostly wordsoup. I know a little linux lingo and thats about it, but just being able to put things together like that is so cool. Thank you again for all your help on this.

void mesa
#

yes, actually I also don't understand some parts of this scripting language, at first I had an idea to add some free to use anime girls to make novel more "novel" than plain text, but I gave up. don't have time and motivation. still I like the result and hope that not only you will enjoy it

#

"onii-chan, you need to put your novel inside my folder"

void mesa
#

please test on amberelec

#

also I am curious about [] 480x320 (Optional)
i think it should be broken

#

package contains tutorial novel, so it is "ready to run"

mighty crater
#

testing

#

works perfectly with the test vn. Saving, skipping to choice etc all work great. Screen looks good and text on anbernic rg35xx 2024

upbeat lion
#

@void mesa

void mesa
#

perfect, thanks!

upbeat lion
#

fresh download of amberelec 20230203 panda conspiracy, portmaster installed through sh file v2024.12.31-0311, port installed via autoinstall directory

#

absolutely nothing else on it

quick beacon
#

✅ RGB10X Amberelec (prerelease) and OGA Arkos (480x320)

#

Seems like text pages are correctly divided and displayed on 480x320 screen, but no idea how it will behave in actual games. I think im gona load Fate/Stay to see

void mesa
#

I was worried about backgrounds and sprites, was VNDS Tutorial background scaled to 480*320 ?

#

because the image is 640*480

quick beacon
#

background image scales to 4:3 with small vertical bars, which is probably a correct way

void mesa
#

good, so I think it is good enough, text may have some problems but this is engine limitation

#

like here

quick beacon
#

I quickly rushed though some early parts of Fate/Stay Night and I dont get any cutoff text, seem quite fine even on 320p

void mesa
#

good, I made a PR already

#

thanks for testing 🙂

mighty crater
#

So happy to see this get somewhere so quickly, hopefully this makes it easier for people to get into vns because there are so many under vnds in a million different languages

celest wraith
#

any idea about this error when playing Yume Miru Kusuri

#

game crashes at the start

void mesa
#

well, maybe it wants something in ./foreground folder

#

show me your ./Yume Miru Kusuri/

celest wraith
#

alright

#

the game intro text does work fine until the first character and it crashes

void mesa
#

well, files are there 😥

#

then script is calling for a file that does not exist

#

or vnds-love have bug in parsing script

celest wraith
#

Yeah

#

the files are set up correctly

#

its the same way I did for other games

tepid cradle
#

heyyy, on trimui brick/knulli the sound doesnt play on novels, then doesnt play on anything after i close the novel 😦 does anyone have an idea about that?

void mesa
#

I know somebody had same issue on knulli\brick with other ports

#

or was it you ?

rain zenith
#

Hey, thanks for the port! Looks great on 35 SP with MuOS.

#

but I had problems with running the games from the VNDS wiki you linked...

#

I tried Higurashi, Planetarian, Tsukihime, and all of them failed to load because of the main script

rain zenith
#

But I'm not really sure about this... do all the zip files in the game directory have to be unzipped to work correctly? Or do I keep them zipped?