#Legend of sword and fairy

267 messages · Page 1 of 1 (latest)

silk jolt
#

Could you help me test it on the following systems and resolution?

  • AmberELEC
  • ROCKNIX
  • muOS
  • 480x320

I have the changes ready for creating the PR, but it needs to be tested on those things.

Instructions: Unzip the file and add the game contents to /ports/sdlpal/gamedata.

If you want it in English, use the following patch: https://www.romhacking.net/translations/2441/

There port supports the following architectures:

  • x86_64
  • ARM 32
  • ARM 64

Thanks 😊

maiden steeple
#

<@&1216123318122577972>

runic kelp
silk jolt
maiden steeple
lavish forge
maiden steeple
# silk jolt No worries, all is sorted know. Should I create the PR or wait until all systems...

Quick feedback on the zip:

./abe.${DEVICE_ARCH}```
and executables just named app.armhf / app.aarch64 and app.x86_64
- README.md is missing the compile instructions  for future updates
- gameinfo.xml path needs to have the foldername in it example ` <image>./abes_adventure/screenshot.jpg</image>`
- name in gameinfo.xml is the value that is the Dsiplay name in emulationstation. So make sure it's the proper Portname
- port.json the desc_md field can have formating in it the dsc field not. So make the desc field short and the desc_md is the one on the website.
- same goes for inst and inst_md inst short and where to buy the game and inst_md with more detail with steamlink etc.
maiden steeple
#

ah yeah

silk jolt
lavish forge
#

yeah, I am bit confused where to get the correct data as I have no clue about this series 😄

#

seems to be written in fallen leafs, are there any translations done ? 😄

silk jolt
#

I update the OP message with a link to the English patch. I will also add it at the port instructions.

silk jolt
silk jolt
maiden steeple
grizzled pier
#

loking at the github repo, this will likely require a bunch of libs and adding this line to your .sh file:
export LD_LIBRARY_PATH="$GAMEDIR/libs:$LD_LIBRARY_PATH"

lavish forge
#

hmmm something is fucked with my muos and I for whatever reason it doesnt run ports scripts from terminal over some reason O.o

maiden steeple
#

has a bug in pm currently

runic kelp
#

$PWD/scriptname.sh

lavish forge
#

oh ok, so I wasnt going mad

runic kelp
#

Yeah its because you can now install ports on either sdcard.

lavish forge
#

ok then, seems tabreturn was right about those libs

./sdlpal.arm64: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

#

on muos. Works on arkos and rocknix for me

south estuary
#

RG503 ARKOS

silk jolt
#

@maiden steeple I have ran ldd to the aarch64 binary:

    linux-vdso.so.1 (0x0000007f86bf3000)
    libSDL2-2.0.so.0 => /lib/aarch64-linux-gnu/libSDL2-2.0.so.0 (0x0000007f8632c000)
    libasound.so.2 => /lib/aarch64-linux-gnu/libasound.so.2 (0x0000007f86222000)
    libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000007f8603c000)
    libGL.so.1 => /lib/aarch64-linux-gnu/libGL.so.1 (0x0000007f85f39000)
    libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007f85e90000)
    libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000007f85e6c000)
    libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000007f85e3c000)
    libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007f85cca000)
    /lib/ld-linux-aarch64.so.1 (0x0000007f86bc4000)
    libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000007f85cb6000)
    libGLX.so.0 => /lib/aarch64-linux-gnu/libGLX.so.0 (0x0000007f85c74000)
    libGLdispatch.so.0 => /lib/aarch64-linux-gnu/libGLdispatch.so.0 (0x0000007f85b45000)
    libX11.so.6 => /lib/aarch64-linux-gnu/libX11.so.6 (0x0000007f85a01000)
    libxcb.so.1 => /lib/aarch64-linux-gnu/libxcb.so.1 (0x0000007f859cb000)
    libXau.so.6 => /lib/aarch64-linux-gnu/libXau.so.6 (0x0000007f859b7000)
    libXdmcp.so.6 => /lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000007f859a1000)
    libbsd.so.0 => /lib/aarch64-linux-gnu/libbsd.so.0 (0x0000007f8597a000)```

Do I have to add all of them? I think that libraries like `libgcc` or `libc` to name a few will already be available at the devices
maiden steeple
#

only the ones the os complains about

#

always supply zero libs

#

and then add them if needed

#

readelf can also help to find out needed libs

silk jolt
#

Thanks

acoustic pivot
brittle vector
#

Is this port based on the old one from the Retro Game Handheld discord or completely new?

silk jolt
acoustic pivot
#

ah well that makes sense, I don't have any information that refutes your thinking

grizzled pier
#

looking through the documentation, you might consider KeepAspectRatio=0 -- or maybe conditionally applying this for 4:3 screens, but not 1:1
anyhow, just an idea. interesting game, btw 🙂. possibly the first chinese-language r.p.g (or game) for portmaster. anbernic will be impressed 😜

silk jolt
#

@grizzled pier I tested the game on the RGB30 with KeepAspectRatio=0, and it looked very bad. That's why I left it with the KeepAspectRatio=1 by default

acoustic pivot
#

this is working well with the english translation patch on my RG353V ArkOS @ 640x480

WRT titles, the capitalization should probably be "Legend of Sword and Fairy"

#

or "The Legend of Sword and Fairy"

silk jolt
#

I tried to find it at https://www.screenscraper.fr/ to know which name is the best for it to be scrapper, but I didn't find anything

grizzled pier
silk jolt
#

Not for that, for the game name, release date, etc.

grizzled pier
#

The Legend of Sword and Fairy (Chinese: 仙劍奇俠傳; pinyin: Xiānjiàn Qíxiá Zhuàn), also known as Sword and Fairy (仙劍) or Chinese Paladin, is a Chinese language fantasy video game series and media franchise centered on a series of nine Chinese mythology/xianxia-themed adventure role-playing computer games created by Yao Zhuangxian. The eponymous first...

silk jolt
#

Sure

silk jolt
silk jolt
lavish forge
#

that one crashes with

FATAL ERROR: Could not initialize global data: -1.

LIBGL: Shuting down`

I see the binaries are different, maybe you didnt have to recompile it at all as the the one from the first package works when you throw that library in there, just needs a proper exports if you want to have lib folders for 32bit and 64bit version, though not sure if we need armhf in the first place, currently there is no Portmaster supported platform limited just to 32bit

silk jolt
#

I didn't recompile them. I only rename then to match $DEVICE_ARCH

lavish forge
#

they have different sizes

#

so something is weird

#

one has 11654kb and other 11874

silk jolt
#

Maybe when I ran dot_clean and zip without MacOS files wrote the binaries, but it shouldn't

maiden steeple
lavish forge
#

ahm nvm I am lookign at the wrong one

maiden steeple
#

so directly libs.aarch64 etc.

lavish forge
#

disregard

silk jolt
maiden steeple
#

it's also a gl4es lib

#

then you must reod most of it anyway 😛

lavish forge
#

anyway it will work, just needs a proper structure

maiden steeple
#

libs folder do come all libs except libgl.so.1

#

libgl.so.1 comes into a folder called gl4es.aarch64 for example

#

and in the .sh you need to add

if [ -f "${controlfolder}/libgl_${CFW_NAME}.txt" ]; then 
  source "${controlfolder}/libgl_${CFW_NAME}.txt"
else
  source "${controlfolder}/libgl_default.txt"
fi
#

also missing

export LD_LIBRARY_PATH="$GAMEDIR/libs.${DEVICE_ARCH}:$LD_LIBRARY_PATH"

#

to even load the other libraries

#

and

#

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

silk jolt
#

I can change to:
export LD_LIBRARY_PATH="$GAMEDIR/libs.${DEVICE_ARCH}:$LD_LIBRARY_PATH"
or:
export LD_LIBRARY_PATH="$GAMEDIR/libs/libs.${DEVICE_ARCH}:$LD_LIBRARY_PATH"

maiden steeple
#

stick to the standard

silk jolt
#

Ok

maiden steeple
#

You're almost there

#

Its just we had to pull the libgl.so.1 out of the libs folder because of devices that ship their own full opengl and these wil breakk then

silk jolt
#

New version with missing shell script lines and libs on the right path.

#

I ran it on my RGB30 with ArkOS and it was working

lavish forge
#

it seems to work everywhere so far, so 353VS / OGA Arkos, Ace Rocknix and 35xxSP muOS

silk jolt
#

Nice, thanks 😊

maiden steeple
#

🙂

silk jolt
#

No worries, they are ignored at git. For some reason, even if I exclude then, MacOS wants to perseve them hahaha

maiden steeple
silk jolt
#

Oh, I thought it only need to be at libs.aarch64. I will fix that

maiden steeple
runic kelp
maiden steeple
#

that's why we have the if [ -f "${controlfolder}/libgl_${CFW_NAME}.txt" ]; then source "${controlfolder}/libgl_${CFW_NAME}.txt" else source "${controlfolder}/libgl_default.txt" fi

#

Even though i think this game "fakes" needing opengl

#

because it starts without setting any exports

silk jolt
#

So, we the file to be at both libs.aarch64 and gl4es.aarch64?

lavish forge
#

in this case it seems no other lib is needed, unless there is some oddity on teaspoon or something

maiden steeple
lavish forge
#

it seems its able to pull everything it needs from system?

silk jolt
#

So, then I have to move things to:

  • libs.armhf/libGL.so.1 -> gl4es.armhf/libGL.so.1
  • libs.aarch64/libGL.so.1 -> gl4es.aarch64/libGL.so.1
lavish forge
#

if you really insist on that armhf version 😄

maiden steeple
#

I don't think we have any armhf devie anymore

#

nope

silk jolt
#

OK, I will leave only the aarch64 one

lavish forge
#

not unless kloptops goes mad from all the apples and makes portmaster for miyoo A30 😄 😄

#

im sure he loved tina linux on teaspon sooo much he would love it even more on A30 doggokek

maiden steeple
#

So tab didn't actually get the message about missing libs?

silk jolt
#

It was Ganimoth the one who said about missing libGL on muOS. With the last version he said it was now working.

silk jolt
maiden steeple
#

@toxic bobcat did you add your comments?

toxic bobcat
silk jolt
#

@runic kelp Do the owner of the PR resolve the requested change or the one who raise it?

runic kelp
#

Looking at it now 🙂

#

Looks good, have asked for other members to check it 😄

silk jolt
grizzled pier
maiden steeple
#

@silk jolt whoops

south estuary
#

Can I use OGG music?

south estuary
#

OGG sound source
Even if you put it in the OGG folder, it will only play with RIX sound.

If I change RIX to OGG in sdlpal.cfg, there is no sound.

silk jolt
grizzled pier
silk jolt
#

Can you download it without purchasing the game?

south estuary
#

You must purchase it to download it.
I will send you the music if you want.

south estuary
silk jolt
#

Ok, then I will raise a PR for setting "rtp" to false

glass geyser
#

I've been trying to get this to run on muOS
I had some issues with file locations and had to hard code the game directory like so:
GAMEDIR=/mnt/sdcard/Ports/sdlpal

#

that gets me this error:
`FATAL ERROR: File open error(2): fbp.mkf!

LIBGL: Shuting down
./The Legend of Sword and Fairy.sh: line 42: systemctl: command not found`

mental gale
#

Hey, glad to see this come to PortMaster, but I'm a bit unclear on the claim that the DOS/Win98 version of the game isn't freeware anymore. I know it's hosted on Steam currently for $5, but as far as I can tell the official webpage for the freeware release of this version is still being hosted, meaning it should be fair game for a ready-to-run release

mental gale
#

Actually, on closer inspection, the Steam release doesn't appear to include the DOS/98 version at all. I thought it was included as a bonus to the XP version, but a fresh download from Steam (I already owned it) didn't seem to have it

#

Did anyone get the English translation to work with the Steam files? As far as I'm aware, the only English translation for that version is very unfinished, and I thought SDLPal only worked with the DOS/98 files anyhow

maiden steeple
mental gale
#

I know, but I'm using the widely held definition of freeware as "software distributed by its creator for free"

maiden steeple
mental gale
#

That said, I can understand not distributing the game files since it's not entirely clear that they can be redistributed (I found the page releasing it as freeware but it's broken in the internet archive and sparse on documentation), but the fact remains that the game is currently and has been for over 10 years freely hosted on the publisher's website

#

The announcement page itself seems to have 404'd in November of 2011, but again the download link for the game has worked every moment from at least May of 2011 to the time that I am typing this message

#

It might do to at least offer that link on the port's page

glass geyser
#

I purchased the linked steam game and used those as the game files. Is my issue related to using those files instead of the freeware ones?

glass geyser
#

Are there any additional tests I can run or logs I can collect to help with debugging this?

glass geyser
#

I tried reinstalling and running it again but I'm getting the same error message.
No log file is being created in the sdlpal folder though.

glass geyser
#

@silk jolt I'm still running into this error when launching from SSH:
`[/mnt/sdcard/ROMS/Ports]# ./The\ Legend\ of\ Sword\ and\ Fairy.sh

RG35XX SP - muOS

DEVICE_INFO_VERSION=0.1.9
PM_VERSION=2024.07.17-1125
CFW_NAME=muOS
CFW_VERSION=2405.1 REFRIED BEANS
DEVICE_NAME=RG35XX SP
DEVICE_CPU=H700
DEVICE_ARCH=aarch64
DEVICE_RAM=1
DEVICE_HAS_ARMHF="Y"
DEVICE_HAS_AARCH64="Y"
DEVICE_HAS_X86="N"
DEVICE_HAS_X86_64="N"
DISPLAY_WIDTH=640
DISPLAY_HEIGHT=480
ASPECT_X=4
ASPECT_Y=3
DISPLAY_ORIENTATION=0
ANALOG_STICKS=0

./The Legend of Sword and Fairy.sh: line 24: cd: ////ports/sdlpal: No such file or directory
./The Legend of Sword and Fairy.sh: line 35: ./sdlpal.aarch64: No such file or directory
[/mnt/sdcard/ROMS/Ports]# ./The Legend of Sword and Fairy.sh: line 39: systemctl: command not found`

maiden steeple
#

😄

#

best to install the game via portmaster and then launc from gui

#

or use harbourmaster

glass geyser
#

@maiden steeple thank you for your patience
i've tried installing via portmaster (and copying the files to gamedata) and launching from the gui
when I launch from the gui, the screen goes black for second and then returns to the menu
i tried launching from SSH to try to capture any error messages

maiden steeple
#

Go to ports > select > select extern ports

glass geyser
#

i'm not seeing that option in the portmaster gui
where should i be making that change?

maiden steeple
#

in muos

#

Muos -> explore content -> ports -> select

glass geyser
#

i selected the game in the explore content -> ports menu, pressed select, and chose External - Ports from the list
I'm getting the same black screen behavior when I try to launch the game from the ports folder

crystal hamletBOT
# maiden steeple /log

Every port has a log.txt generated in ports/{portfolder}, please drag and drop it to discord for help.

glass geyser
#

I don't see a log file after running the port from the gui or ssh

maiden steeple
#

then it did not run any of the .sh

#

something seems off on your install

glass geyser
#

i'll wipe everthing and try again

maiden steeple
#

Make sure to install trough PM app

glass geyser
#

I completely re-installed muOS and wiped the 2nd SD card as well
I then installed the port from the PortMaster gui and copied the files from the Steam install
I get the same black screen when launching from the gui and the same error message when launching from ssh
Here are the files I copied:

maiden steeple
#

check if the .sh has logging

glass geyser
#

I don't see anything in here about logging:
`#!/bin/bash

PORTMASTER: sdlpal.zip, The Legend of Sword and Fairy.sh

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/device_info.txt

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

get_controls

GAMEDIR=/$directory/ports/sdlpal
cd $GAMEDIR

if [ -f "${controlfolder}/libgl_${CFW_NAME}.txt" ]; then
source "${controlfolder}/libgl_${CFW_NAME}.txt"
else
source "${controlfolder}/libgl_default.txt"
fi

export SDL_GAMECONTROLLERCONFIG="$sdl_controllerconfig"

$GPTOKEYB "sdlpal.${DEVICE_ARCH}" -c "./sdlpal.gptk" &
./sdlpal.${DEVICE_ARCH}

$ESUDO kill -9 $(pidof gptokeyb)
if [ ${DEVICE_ARCH} != "x86_64" ]; then
$ESUDO systemctl restart oga_events &
printf "\033c" > /dev/tty0
fi`

maiden steeple
#

ah so he forgot to add it

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

after gamedir

glass geyser
#

I just added that after the GAMEDIR=/$directory/ports/sdlpal line
i don't think it's successfully executing this line:
GAMEDIR=/$directory/ports/sdlpal
based on this error message and the fact that still no log is being created:
////ports/sdlpal/log.txt: No such file or directory cd: ////ports/sdlpal: No such file or directory

crystal hamletBOT
maiden steeple
#

are you starting it via ssh again?

#

I told you now 3 times of the bug via ssh in muos 😄

glass geyser
#

every time i change something i try it both via the gui and ssh

maiden steeple
#

you can of course open the log via ssh

#

just the .sh running is messed up

#

////ports/sdlpal/log.txt: this only happens via ssh

crystal hamletBOT
glass geyser
#

i've run it via the gui and it still goes back to the menu after a black screen for a few seconds
there is no log file in /mnt/mmc/ports/sdlpal

maiden steeple
glass geyser
#

also, thanks again for all the help!

maiden steeple
#

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

glass geyser
maiden steeple
glass geyser
#

does that mean i've made a stupid mistake somewhere?

maiden steeple
glass geyser
#

there appear to be 3 options

maiden steeple
#

linux is case sensitive

glass geyser
#

which one should i pick?\

maiden steeple
#

try them all

#

and rename them to lowercase

glass geyser
#

i renamed all the files to all lowercase

#

i deleted the log file and re-ran the game from the gui
same black screen and return to menu
here's the new log file. it looks identical to me

silk jolt
silk jolt
glass geyser
#

Not yet.
I'll try that tomorrow evening

glass geyser
#

i tried it with the freeware files
here's the new log file

maiden steeple
glass geyser
#

yeah
there's one each in dos_files and win_files

#

is there something wrong with my folder structure?

silk jolt
#

You dont have to put the two folders, only the contents of one

#

Put the contents of “dos_files” in “gamedata”.

#

Once I have access to my personal computer I will update the the port to specify that and update the logging stiff

glass geyser
#

Thanks for the details
I copied the contents of dos_files to gamedata
It's still crashing to back to the menu after a short black screen but there's a new error message in the log now

silk jolt
#

It very weird it is failing because the command systemctl isn't found

maiden steeple
#

FATAL ERROR: Could not initialize global data: -1.

silk jolt
#

No idea what could make that error. I will consider doing a fresh install by removing the port, ensure the port is removed by checking no sdlpal folder is at ports. Then install it again and copy the contents of dos_files inside gamedata

maiden steeple
#

nah its not the port

#

its the gamedata

#

linux is very sensitive with gamedata

#

permissions and case

silk jolt
#

Does muOS comes with FileExplorer?

runic kelp
#

Yes

#

dingux explorer in apps

silk jolt
#

I mean the FileExplorer webapp

runic kelp
#

oh

silk jolt
#

Maybe when copying the files from Windows it didn't set the permissions and case things right

runic kelp
#

Maybe TurtleThink

silk jolt
#

And by using the FileExplorer webapp won't mess with it

maiden steeple
#

I'm confused who has now the problems? 😄

silk jolt
#

@glass geyser

maiden steeple
#

so he need us to show the contents of his gamedata folder

silk jolt
#

@glass geyser if your files aren't similar to these it won't work (your user and group will be different as mine, where it shows ark):

glass geyser
#

Thanks!
I'll check the permissions and try a re-install this evening

silk jolt
#

User and group should be the same as other files

glass geyser
#

I uninstalled and re-installed using the web interface to copy the files
I also copied the contents of the dos_files folder to the gamedata folder
here's the output of "ls -lah gamedata/*"

maiden steeple
#

The game files are not lowercase

silk jolt
#

The only one that is missing is MUS.MKF, however, no idea if it is needed.

#

I don't have a muOS device to test with

silk jolt
maiden steeple
#

HMM

glass geyser
#

i renamed all the game files to lowercase and i'm still getting the same issue
(just for another datapoint)

silk jolt
#

The files that is reading all of them are lowercase.

#

Which doesn´t makes sense why for me it is working when in my RGB30 I have the names starting with uppercase (maybe ArkOS is case-insensitive)

#

@glass geyser Which device and OS are you using?

glass geyser
#

RG35XX SP running muOS

silk jolt
#

Did you use the win folder or the dos folder of the freeware version?

glass geyser
#

I used the DOS folder from the freeware version.

silk jolt
#

You have to use the WIN ones, it isn´t compatible with DOS ones, you can check it here:

if (!PAL_IsWINVersion(&gConfig.fIsWIN95)) return -1;
#

2 changes you need to do:

  1. Remove all the files in gamedata and use the WIN ones from the freeware version.
  2. Download the translation patch and put it inside gamedata folder. It will overwrite some files.
#

Something is telling me that the main issue is that you didn´t use the translation patch and I set the configuration of the game to be english, so if the english patch it isn´t present it wont work. It will good to know if this is the issue, in that case I will modify the port.

glass geyser
#

that did it!

#

thanks so much for your patience and help getting this resolved!

silk jolt
#

Nice! I also apologise for all the troubles it has given to you.

maiden steeple
#

@silk jolt did you see the comment by jeod on the PR?

silk jolt
#

Nope, I will take a look later

#

I will add that to the script

onyx prawn
#

PSA : "official windows freeware" version has minor bugs but it doesn't affect overall playthrough, there are fan patches to fix them and I believe steam version is already patched.

glass geyser
#

What's nextdoor?

wanton shard
#

A port