#Tile World update

337 messages Β· Page 1 of 1 (latest)

serene pine
#

A.O. 03/12/2025

  • Update game logic which also updates support for the Ice Block.
  • Waits for input (original behavior) upon selecting a level so player can make immediate first move at level start (e.g. Level 39 in CCLP2 requires this).
  • Improved performance when standing on a 'Hint' tile (removed transparent backdrop that pretty much tanked framerate and switched to a high-contrast font that matches the aesthetic of the Atari Lynx version).
  • Reduce menu navigation delay.
  • Now uses GameSelector (originally by tekenfede) to select between mods.
  • Add option to maintain Aspect Ratio or stretch FullScreen from GameSelector/mod selection @ startup.

A.O. 04/24/2024 - Update to support muOS 2404 (aarch64)! Needed to add a few aarch64 libs for muOS 2404. Would like to ensure this is still working on all other CFWs.

Updated to now support armhf and x86_64 devices!
Tile World is a source port clone of Chip's Challenge. Everything is included and ready to run. Just launch the original Tile World (Chip's Challenge) or one of the theme mods and play!

Not only have I added armhf and x86_64 binaries and their respective libs, I've also removed aarch64 libs that likely interfered with the music on JelOS/X55/RGB30 & friends.

Control Menus with D-Pad and 'A' button
Control Hunter (this character has replaced Chip from the original game in this source port) with D-Pad
Access in-game menu by pressing 'A' or 'Start'

https://www.mediafire.com/file_premium/93uwquhys3vzewb/TileWorld.7z/file

βœ… RG351P/ArkOS
βœ… RG351P/AmberELEC
βœ… RG351P/JelOS
βœ… RG351P/ROCKNIX
βœ… RG353P/ArkOS
βœ… RG503/ArkOS
βœ… RG35XX H/muOS

serene pine
#

Tile World update

novel lava
#

<@&1216123318122577972>

novel lava
#

@serene pine armhf on rg35xxplus for example does not need any of the lib sdl1.2 libs I think

#

For now i need libjpeg.so.62

#

the rest it didn't ask for

#

Unfortunetaly I don't have that lib on my chroots

latent tulip
novel lava
#

Works now, these 3 libs are needed

#

had to rename libvorbisidec.so.1.0.3 to libvorbisidec.so.1

#

ok crashes

#

πŸ˜„

latent tulip
#

lmao

novel lava
#

Thing is on muos

#

πŸ˜„

#

when it crashes it does not clear the screen

#

so it looks like th game is still running

latent tulip
#

oh yeah that old chestnut

novel lava
#

@tawdry kayak fyi we commited to

DEVICE_ARCH="${DEVICE_ARCH:-aarch64}" instead of the 3 block if statement πŸ™‚

#

@latent tulip wasnt this problematic with muos?
GAMEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )/tileworld"

#

@serene pine for logging we now try to use
> "$GAMEDIR/log.txt" && exec > >(tee "$GAMEDIR/log.txt") 2>&1

#

This clears the 2>&1 | tee -a $GAMEDIR/log.txtwhich is problematic on some cfw and also removes the need for $ESUDO rm $GAMEDIR/log.txt

#

$ESUDO chmod 666 /dev/uinput this is used if xbox360 mode is used for gptokeyb I think

#

@latent tulip

unset SDL_GAMECONTROLLERCONFIG
unset LD_LIBRARY_PATH```
these two lines are they necessary in the .sh?
#

I'Ve seen some people using thes

#

I thought they were unset anyway after the .sh quits

latent tulip
novel lava
#

Unfortunetaly still segfaults

#
[email protected]'s password:
[~]# ./Tile\ World\ \(Chip\'s\ Challenge\).sh
-sh: ./Tile World (Chip's Challenge).sh: not found
[~]# cd /mnt/mmc/ports/
[/mnt/mmc/ports]# ./Tile\ World\ \(Chip\'s\ Challenge\).sh
# RG35XX PLUS - muOS
CFW_NAME=muOS
CFW_VERSION=2403 PLUSH v10
DEVICE_NAME=RG35XX PLUS
DEVICE_ARCH=armhf
DEVICE_RAM=1
DISPLAY_WIDTH=640
DISPLAY_HEIGHT=480
ANALOG_STICKS=0
'//mnt/mmc/ports/tileworld/res/rc.hh.original' -> '//mnt/mmc/ports/tileworld/res/rc'
'//mnt/mmc/ports/tileworld/res/atiles_orig.png' -> '//mnt/mmc/ports/tileworld/res/atiles.png'
Segmentation fault
[/mnt/mmc/ports]# ./Tile World (Chip's Challenge).sh: line 39: systemctl: not found
hidden ingot
#

Thanks for picking this up!
Working fine on RGB30/JELOS

#

to make it run the 32bit version on JELOS, I used this test sh and had to copy libjpeg.so.8 to libjpeg.so.62

./tworld-hh.armhf: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory

don't have an 32bit only device to check further

dull stump
#

oh geeze, the stupid windows defender really does not like your archive πŸ˜„ πŸ˜„

dull stump
#

Anyway, works fine on 353VS / OGA Arkos. It launches on 353VS / Jelos (bsp build), though for whatever reason it took somewhat longer to load, not sure why. It doesnt run on mainline build (OGA or ACE) with:
error: [oshw-sdl/sdloshw.c:131] Cannot initialize SDL system: wayland not available error: [tworld.c:2053] cannot initialize program due to previous errors

This also applies to the version already uploaded to the Portmaster

novel lava
dull stump
#

indeed! πŸ˜„

hidden ingot
#

does it work on mainline when you add
export SDL_VIDEODRIVER = kmsdrm to the .sh?

dull stump
#

still the same, at least on Ace. I will check on OGA, but I expect the same result

hidden ingot
#

dang

dull stump
#

yeah, unsuprisingly the same

serene pine
#

Thanks for checking this out, everyone! I'm going to make adjustments to the 32-bit one as well as address the shell scripts. Would I be correct to assume that the RG35xx plus also only uses KMS for display?

novel lava
serene pine
#

Aha! So I should remove sdl1.2-compat from the libs folder entirely, then? I'm guessing the devs of muos included those...?

#

Since it was segfaulting on ya, I'm thinking of re-compiling it in a diff environment.

novel lava
#

Without me adding anything

serene pine
#

That's conveninet, at least πŸ‘ Pretty slick.
I'm guessing you don't have it running on the RG35xx+ still?

tawdry kayak
#

Everything good here?

serene pine
#

I haven't recompiled, but I'm going to repackage it in a moment. Just those 3 libs, you say?

#

I also noticed that systemctl error above which makes me wonder if the mods are getting applied.

novel lava
serene pine
#

Yep

novel lava
#

Should yeah

serene pine
#

Hang loose, I'm getting that error Ganimoth pointed out on my RG351P/JelOS and I'm trying to figure out what the h311 it wants. I'll report back when I find out more of what the deal is.

dawn flint
#

Game does take a long load at rgb30 jelos, when finally in main menu, game doesn't start (waited couple of minutes, after hitting start)

serene pine
#

@dawn flint Do you have a log.txt you can put up by chance?

dawn flint
serene pine
#

I hear ya. I had this working on Jel, Ark and Amber for a good time, but now it just refuses to load on JelOS and I'm not sure what to make of it. I've tried different libs, different envars, running the 32-bit just for grins... I just can't figure out what the deal is. I can't even get to the menu because of the wayland error, but if I set SDL_VIDEODRIVER=kmsdrm it tells me there's no kmsdrm available, either. It's quite wild what I'm witnessing.

novel lava
serene pine
#

The aarch64 one I compiled directly using ArkOS
The armhf one I compiled in a Debian 10 Buster armhf chroot

serene pine
serene pine
#

I'm having all kinds of problems getting it working in JelOS, but it works just fine in Unofficial OS. Still trying to figure out what JelOS isn't happy with.

serene pine
#

I THINK I GOT IT!!!

novel lava
serene pine
novel lava
serene pine
#

LOL I gotcha. The more I messed with it the silliest thing seemed to be the issue. I discovered it when I SSH'ed into JelOS on my RG351P and started trying things from the terminal with it. Seems to have been the XDG_RUNTIME envar that was causing the whole thing to "crap the bed" particularly with JelOS for some strange reason.

#

So I figured it would just be best to remove it entirely and see what happens. Then it fired right up. I also remember you saying "The less configuration needed in the script the better" so I went with that mentality when making the change.

novel lava
serene pine
dawn flint
#

Oh yeah! Will test this evening when I get home

novel lava
#

Unfortunetaly still segfaults after the first screen

#

but i have that one couple of ports so not necessarily your ports fault πŸ™‚

serene pine
#

@novel lava See if this doesn't fix the crash?

novel lava
# serene pine A bit comforting to know. I'm still happy to try to resolve it if possible, of ...

Afraid not

[/mnt/mmc/ports]# ./Tile\ World\ \(Chip\'s\ Challenge\).sh
# RG35XX PLUS - muOS
CFW_NAME=muOS
CFW_VERSION=2403 PLUSH v10
DEVICE_NAME=RG35XX PLUS
DEVICE_ARCH=armhf
DEVICE_RAM=1
DISPLAY_WIDTH=640
DISPLAY_HEIGHT=480
ANALOG_STICKS=0
'//mnt/mmc/ports/tileworld/res/rc.hh.original' -> '//mnt/mmc/ports/tileworld/res/rc'
'//mnt/mmc/ports/tileworld/res/atiles_orig.png' -> '//mnt/mmc/ports/tileworld/res/atiles.png'
Segmentation fault
[/mnt/mmc/ports]# ./Tile World (Chip's Challenge).sh: line 50: systemctl: not found
echo locust
#

On RG503/ArkOS I tried to exit with SELECT+START and now game input is dead and the it's still running. Something might be up with the gptokeyb.

dull stump
#

so far I only tried on Jelos, works on both bsp 3566 (353VS) and mainline (OGA and ACE) builds

echo locust
#

I've seen some issues with gptokeyb when there is a "." in the name of the process.

#

On ArkOS the name of the process is "./tworld-hh.aarch64 -F"

#

I ran into this before... have to remember how I fixed it.

#

This is the fix for ArkOS... change:
$GPTOKEYB "tworld-hh.${DEVICE_ARCH}" -c "$GAMEDIR/tileworld.gptk" &
to
$GPTOKEYB "./tworld-hh.${DEVICE_ARCH}" -c "$GAMEDIR/tileworld.gptk" &

dull stump
#

oh and now it also works on Emuelec / OGA

echo locust
#

πŸ™‚

serene pine
#

If so I'll make this change for across the board

#

I have an idea

#

It's not the pretties thing in the world, but it worked.

#

Thanks @echo locust

#

Still hoping I can find a fix for the systemctl error on those other systems

#

Forums online claim it to be related to not having systemd

novel lava
#

Also comes on working games

serene pine
novel lava
#

that's for arkos only

#

The segementation fault is the error πŸ˜›

serene pine
#

I don't get the systemctl message on ArkOS

novel lava
#

because ark has systemctl

#

as do the others

#

muos don't

serene pine
#

Rightrightright

novel lava
#

πŸ˜›

serene pine
#

Well, whaddaya think?

#

Is there a workaround for that segfault I could try? Wished I had a unit to play with.

dawn flint
#

Nice, boots fast on rgb30 jelos now and all works!

Some minors:

  • select+start doesn't force close, but no input possible anymore (timer still counts and music plays, had to use reset button)
  • main menu seems to have 0.5s input lag dpad
  • stretch video possibility (just curious, don't build it if it takes a lot of time) ?
serene pine
# dawn flint Nice, boots fast on rgb30 jelos now and all works! Some minors: - select+start ...

Right on!
The start+select not quitting, is that with the latest download here? If so, I have another way to address that I think.
The main menu having that delay is from the SDL_Dealy function that was implemented by the first dev who coded this handheld edition. I can reduce the delay easily enough and re-compile it if it'll help make it a bit less annoying to move the cursor in the menu.
The video stretch is automatically done by sdl12-compat and I'm not sure if I can set an envar to tell sdl12-compat to do a full stretch. The best way to have that done reliably (which I've been trying to do myself) is to re-write the whole game to use SDL2 directly using textures and SDL_Renderer, but my skills are subpar and I'm not sure how to manipulate the surfaces, sprites, fonts, etc. directly with using SDL_Texture which would give me full control to stretch the display using SDL_RenderSetLogicalSize and SDL_Hint to suggest scaling methods which works wonders when it's written directly for SDL2 Texture and Renderer, but every time I've tried to do this myself, I've broken it badly because I suck at programming πŸ˜‚

dawn flint
serene pine
dawn flint
serene pine
#

I've set a condition to check if it's running on Ark so it sets GPTOKEYB depeding on the OS. That should finally (and hopefully) fix the Start+Select sitch.

novel lava
#

Why so complicated πŸ˜„

#

You only have to rename the binary and it will fix it for all CFWs

#

that's because the process name in ark is different so it doesn't find it

#

Please don't

isitarkos=$(grep "title=" /usr/share/plymouth/themes/text.plymouth)
if [[ $isitarkos == *"ArkOS"* ]]; then
  $GPTOKEYB "$GAMEDIR/tworld-hh.${DEVICE_ARCH}" -c "$GAMEDIR/tileworld.gptk" &
else
  $GPTOKEYB "tworld-hh.${DEVICE_ARCH}" -c "$GAMEDIR/tileworld.gptk" &
fi```
#

+370 ports and not once we had to implemnt something like this

#

btw we have for some time now device_info which also includes cfw names

#

Your problem is this
"$GAMEDIR/tworld-hh.${DEVICE_ARCH}"

instead of

"tworld-hh.${DEVICE_ARCH}"

is looking for the process name but a path was given into the process name

serene pine
#

That's what fixed it not killing on ArkOS

novel lava
#

else all multiarch ports are broken on ark

#

maybe they are? πŸ˜„

#

If they are we need to rethink the approach

serene pine
#

I'm not sure tbh. I only just now discovered this myself. I renamed the bins with underscores instead of dots, but it didn't change. I'm not sure what this problem is.

novel lava
#

try that first

#

then add the .arch thing

serene pine
#

Okay. What all do I rename to test to check it?

novel lava
#

i can test tomorrow too πŸ™‚

serene pine
#

@novel lava Sorry, bro. I tried what you said just now and it worked like that. I think I know what's doing it and I'm kind of surprised. Apparently it doesn't like there being a hyphen in my filename is my guess.

novel lava
#

I saw it a couple of times

serene pine
#

I don't mind removing the hyphen from the executables if that's all I have to do to it tbh.

novel lava
#

or both

#

πŸ˜„

serene pine
novel lava
#

klops is rewriting gptokeyb anyway πŸ˜›

echo locust
#

gptokeyb needs it. On ArkOS I see all the converted keystrokes on the screen when the port ends.

serene pine
#

That's cool. I wonder if that'll include the keys I put in, too! That'd be exciting.

serene pine
#

That one might be a bit tricky, but perhaps not impossible.

novel lava
#

We'll figure it out

serene pine
#

You masters always do

#

I'm not being sarcastic, either. Y'all are amazing at what you do. I try to contribute where I can, but I'm just a peon compared to the half of ya's.

novel lava
serene pine
#

Q: Shall I wait to see what new version of gptokeyb kloptops builds at this point before I make any more modifications?

echo locust
novel lava
serene pine
novel lava
#

^^

#

Me when doing something new and kloptops comes around the corner

serene pine
#

I know it's still broken on the RG35XX PLUS yet

dawn flint
novel lava
dawn flint
novel lava
serene pine
#

Thanks, guys. I'm really determined to get this working and "polished".

novel lava
#

@serene pine can you build me a debug version?

echo locust
#

I'm up to level 9 on my RG503/ArkOS. Works and sounds great.

serene pine
novel lava
serene pine
#

@novel lava

novel lava
#

hmmmz

#

not much info

#
[/mnt/mmc/ports/tileworld]# gdb ./tworldhh_armhf_debug
GNU gdb (GDB) 8.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "armv7l-unknown-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./tworldhh_armhf_debug...done.
(gdb) run
Starting program: /mnt/mmc/ports/tileworld/tworldhh_armhf_debug
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
[New LWP 2169]
[New LWP 2170]
[New LWP 2171]
[New LWP 2172]
[New LWP 2173]
[New LWP 2174]
[New LWP 2175]
[New LWP 2176]
[New LWP 2177]
[LWP 2177 exited]
loadimages path: ./res/atiles.png
Loading settings from file: ./port_cfg

Thread 1 "tworldhh_armhf_" received signal SIGSEGV, Segmentation fault.
0xf755b23c in free () from /lib/libc.so.6
(gdb) bt
#0  0xf755b23c in free () from /lib/libc.so.6
#1  0xf766193c in ogg_stream_clear () from /usr/lib/libogg.so.0
#2  0x00000e4a in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) continue
Continuing.
ALSA lib pcm.c:8684:(snd_pcm_recover) underrun occurred

Thread 1 "tworldhh_armhf_" received signal SIGSEGV, Segmentation fault.
0xf754cd60 in ?? () from /lib/libc.so.6
(gdb) continue
Continuing.
Unable to fetch general registers.: No such process.
(gdb) [LWP 2176 exited]
serene pine
#

It almost appears as if the process got renamed mid-runtime

#

That shouldn't be possible, though

novel lava
serene pine
#

Thread 1 "tworldhh_armhf_" received signal SIGSEGV, Segmentation fault.

serene pine
#

@dawn flint How bad does the scaling look on the RGB30 (out of curiosity)?

dawn flint
serene pine
serene pine
serene pine
#

@novel lava Ooc, what's the version of libc6 on that device/OS (muOS, was it)?

novel lava
#

ouhh

#

πŸ˜„

#

good question

serene pine
#

@novel lava I got to trying some things just to be adventurous and I may have found something out. It would seem that the libs that sit between the game and the OS in question (especially armhf, apparently) can easily cause it to segfault amongst other odd behaviours. I went as far as to pull out my ASUS TinkerBoard and grab an Armbian Focal Fossa Image (with GLIBC 2.31) and compile it there. I then found a command that copies all needed dependencies and their needed dependencies in one go. When transferring the mass of libs over to ArkOS with the newly compiled armhf tworld, I got segfaults. When I ran it with minimal libs, it ran just fine as long as I passed sdl12-compat to it (for the obvious reasons). This leads me to think that a very specific set of libs (even if very few in number) may be required for muOS πŸ€·β€β™‚οΈ

#

I'd be happy to toss you the whole package of libs and the new executable, but I understand if you don't have time to tinker with it.

novel lava
#

So the way I test is remove all libd

#

And only add the one it asks for

#

And that's what I did

#

And I also get the title screen

#

After that it crashed

serene pine
#

Drat, that's right! Nvm... hrrrmmmm...

novel lava
#

@serene pine ```[/mnt/mmc/ports]# ./ldd --version
ldd (Debian GLIBC 2.36-9+rpt2+deb12u4) 2.36
$Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$Written by Roland McGrath and Ulrich Drepper.

serene pine
#

Ok cool. Good to know

serene pine
#

I've dialed back the menu delay. I've done some very minor changes for armhf, but I'm farily certain it still isn't going to work.

novel lava
serene pine
#

Gotcha.

#

Is it possible it's related to ogg playback you think? I see that Alchemy Quest has an ogg track for music as well and I noticed this in your gdb output above:
#1 0xf766193c in ogg_stream_clear () from /usr/lib/libogg.so.0

#

You said you get the title screen right before it crashes. If I understand correctly, you never made it to the main menu?

novel lava
#

yep

#

like a credit screen

serene pine
#

Fitting. Because the title screen shows up while it loads the image assets for the game which doesn't take long. Once it loads those assets, it then prints "PRESS ANY BUTTON" and in that very moment it begins playing the main menu ogg music track. I'm believing that the ogg playback is causing the crash.

#

If you haven't tried it yet, I dropped the libogg.so.0 armhf lib in the libs.armhf folder in the event it may do something.

novel lava
#

perfect

serene pine
#

I've also recompiled the armhf binary using my Tinker Board with Focal Fossa.

#

Bringing it up from libc 2.27 to 2.31 (just above ArkOS for compatibility and to get it up a bit higher, but you knew this already πŸ˜› )

novel lava
#

thats not in there πŸ˜„

#

maybe we need to add it

#

maybe the one from muos is broken

serene pine
#

Which one did ya grab?

novel lava
serene pine
#

Oh

#

I thought you were talking about my recent upload lol

novel lava
#

ah no

#

should not matter

#

@serene pine

'//mnt/mmc/ports/tileworld/res/rc.hh.original' -> '//mnt/mmc/ports/tileworld/res/rc'
'//mnt/mmc/ports/tileworld/res/atiles_orig.png' -> '//mnt/mmc/ports/tileworld/res/atiles.png'
sh: show_splash.sh: not found
loadimages path: ./res/atiles.png
Loading settings from file: ./port_cfg
Error: Mix_LoadMUS("music/menumusic.ogg"): Couldn't open 'music/menumusic.ogg'
Loading last level played in levelset (in ~/.tworld/port_cfg): 2
#

Game runs

#

i deleted the .ogg files

serene pine
#

Aha. You can actually play if the music is removed?

novel lava
#

Yes

serene pine
#

Okay. Gotcha.

#

Thoughts?

novel lava
#

muos problem πŸ™‚

#

I reported it

serene pine
#

Cool. Looks like we play the waiting game for a bit then...

novel lava
#

πŸ™‚

serene pine
serene pine
#

Just tested on my RG35XX H/muOS and re-tested on RG351P/ArkOS and all is working including the ogg tracks on the RG35XX H! I have additionally added x86_64 so anyone willing to do testing and inspection

serene pine
#

@novel lava Should I call Port Navigators or should I not worry too much about the x86_64 port?

novel lava
#

Monkey

novel lava
serene pine
#

I am most confused

novel lava
serene pine
#

So explain to me then how RVGL posted by monkeyx.net got its x86_64 flavour tested, please

novel lava
#

He did it to test his portmaster alpha

serene pine
#

That's fair. You're telling me it doesn't exist in the sense that it isn't in a stable or finished release then?

novel lava
#

Broken af doggokek

#

I think it's almost ready

serene pine
#

Okay. I'm starting to get it.

#

What do you suggest I do with these two that I started?

novel lava
#

We probably need a separate testing group for x64 as well

serene pine
#

That makes sense.

novel lava
#

We're also trying to get kloptops a steam deck

serene pine
#

I remember you mentioning that.

#

Hmmm... shall I hold these here for now or would it be fine to create a PR with what I have working and then fix whatever's not working on the x86_64 later after it "matures"?

novel lava
#

Ask monkey or the other guy on x64 to test it for you πŸ™‚

#

I think someone has it running on Aya neo

serene pine
#

Okay, cool.

#

Thanks, Ceb.

#

Now it makes sense why monkeyx seemed to be the only one putting up a port with that arch.

#

I guess that didn't register with me before lol.

#

I know now that's why they keep you around to clear things up when folks like me are having an off-day πŸ˜„

#

@cloud warren Would you be available and willing to check this on your Deck for me?

cloud warren
novel lava
serene pine
#

Update to support muOS 2404 (aarch64)! Needed to add a few aarch64 libs for muOS 2404. Would like to ensure this is still working on all other CFWs.

#

<@&1216123318122577972>

novel lava
#

@serene pine we're trying to add these missing libs into the os of muos

serene pine
serene pine
novel lava
serene pine
#

Well in that case... that's great! Heck. I'll just hold off for a bit. Works for me πŸ˜„

#

@novel lava This might be a question I already know the answer to, but is it possible to remove my port navigators ping?

novel lava
#

It's like ringing a bell

#

once and done

#

when you remove it it won't undo the ping

serene pine
#

Figured as much. Makes sense.

serene pine
#

@dawn flint Just updated Tile World and made a change to sdl12-compat. Tile World should fill the entire screen now. πŸ‘

sour moss
#

Hello, I am trying TW on RP5 and while it works fine, the game is filling the whole screen and with 16:9 aspect ratio it's stretched. I tried changing the aspect ratio in emulation station but it seems to not influence it at all. A constant 4:3 screen ration would be superior for this particular port I feel even for the handhelds with other aspect ratios.

serene pine
serene pine
#

On the other hand, I might even decide to add an option at game launch to choose between 'fullscreen' and 'aspect', but I don't know how quickly I'll be able to conjure something up that'll do this. However, I do have a couple of ideas and I may do this at some point because I've thought of building a menu for Tile World since I have 5 themes and I could implement this if I get around to making a dedicated menu for it.

serene pine
#

@sour moss I've tried something. Would you be willing to try this and let me know if it works on your TW RP5?

sour moss
#

@serene pine sorry for the late answer. The title screen is still streched which i don't care about, then credits screen is very small in the left upper corner, also no complains, and the game then works beautifully in a 4x3 scale ratio in the middle of the screen exactly as i desired. there is a small wish to be able to switch to the lynx art - i tried adding the two copy commands from the old lynx script but that didn't do it. will try again with a some more thought the next time.

#

on the rp mini works in the same way. great job, BTW!

serene pine
#

No sweat. The small credits at the upper left of the screen might be related to the way SDL is built on the TW RP5. The reason copying the Lynx files didn't work is because the next script applies each mod at launch. Don't forget you can use the D-Pad on that first screen to switch between the mods.

#

If you select a mod from that screen and it doesn't get set, let me know and I'll see if I can fix it.

sour moss
#

yeah, the first screen selection did the trick! amazing!!! so happy!

#

the selection there is not persisted but that's tiny issue. BTW the credits screen is fine on the 2. run

#

at any rate i am delighted can put aside rp mini now. πŸ˜‰ oh, and BTW this port is the reason i picked rp5 and mini in first place πŸ˜‰

#

have a great new year celebration - i surely will have it now πŸ˜„

sour moss
#

ok, i played a lot and enjoyed it too, but now i have another request. lets start with the problem - some of the levels require a d-pad direction button pressed when the level is started. one such level is level 39 from CCLP2. when on the ice tile at the level start chip would go in the direction pressed on the d-pad or if none is pressed slide downwards. that level is made so that sliding downwards puts chip into infinite sliding loop without a way to exit it. the current implementation of the TW port makes it impossible to press the left while the level is started for two reasons - first the directions are used to chose the starting level, and second simultaneously pressing the button A and direction button is not possible. a perfect solution IMO would be to keep the level in a waiting state after button A is pressed and only actually start the level once a d-pad is pressed or the A button is pressed again. also feed this first d-pad button press to the engine...

#

BTW same problem is present on other releases of the Tile World (i checked the anbernic arc-s one)

sour moss
#

@serene pine WDYT?

serene pine
sour moss
#

not sure on that haven't compiled it for a while myself. which TW release is official?

#

i guess this problem has more to do with UI rather than a core TW logic. the fact that one can't enter a keypress at the very beginning of a level...

serene pine
#

I'm thinking the same. Probably a slight oversight when DKS made this handheld flavour

#

As far as "official " goes I was thinking grabbing it from Brian Raiter's page.

serene pine
#

@sour moss I just tested that with the version I play with on Windows and also the version we have here on PM. It's as you describe - it's 'broken' here, but works as you pointed out when on Windows. I've got the source code up and I'm skimming over it seeing if there's something I can do to rectify it.

serene pine
#

@sour moss I just wanted to give you an update on how it's going. While I'm at it, I chose to update the game logic to match that of v1.3.2 while this one was a bit stale @ v1.3.0 (which isn't bad, but I knew v1.3.2 was improved and supported the Ice Wall I think it was). I've also made progress. The game menu now lets you choose the level from the level select screen and once selected, it waits for the user's first key press just like it should normally and I can now skate out of that rink properly on CCLP2-L39. It took me a bit to find in the code where it was altered and then even longer to find a proper solution to retain the graphical interface while adding the pause. I now have two more sections to apply this same fix: 1) When Chip dies and 2) If you choose to restart the level from the in-game menu. I'll report back if and when I get those last pieces sorted.

sour moss
#

Great! Absolutely amazing! Looking forward to play CCLP2-L39. πŸ™‚

serene pine
#

@sour moss If you'd like to take this for a spin and let me know how this goes. If it works out, I'll be updating the whole thing on the repo.

sour moss
#

i tried it and works - i beat the level. so it gets the job done and i am all for pushing it to all releases. in retrospect i realized that the "perfect solution" that i devised above removes from the suspense of some levels where the player is forced to act fast as the monsters are already chasing him from the get go. definetelly a huge improvement but i'd devise even better approach if the game waits for 200-300 ms and then starts spinning. i wonder how the lynx version behaved... at any rate this is more nitpicking than a reasonable request. other smaller things is that the restart/select button now moved, not that is bothers me just i noticed the change. other thing is SDL handling is not perfect on title screen but again very minor issue IMO. that's from my 20-30 min testing so far.

serene pine
#

I forgot to give you this since I made internal control changes.

serene pine
#

Yep. The original on the Atari Lynx does indeed sit and wait until the user presses a key and allows pressing a movement key to move Chip immediately upon starting the stage.

sour moss
#

perfect! lets push it then! will it later autoupdate on other platforms?

serene pine
#

Not sure about it autoupdating, but once it's live on the PM games page it should be available from there for everything. I'm keeping the armhf in, too since I bothered to add it back when it mattered.

sour moss
#

very nice! thanks for your work!

latent tulip
#

@serene pine

modest plank
#

on steam deck, it doesn't load past the first screen, once pressing a key it exits. the log.txt shows: line 36: pm_platform_helper: command not found
[GPTK]: Running in UINPUT output mode.
[GPTK]: Unable to open /dev/uinput
sh: symbol lookup error: sh: undefined symbol: rl_trim_arg_from_keyseq

serene pine
#

That's the first big problem right there:
undefined symbol: rl_trim_arg_from_keyseq
but I don't know what to do about that.
Thank you for checking. I'll do some research to see what the heck that means. It looks like something related to a controller or keyboard, but even that seems a bit strange.

#

ChatGPT claims that it's related to libreadline. If that's the case, I'm not sure why it would be ignoring the working bundled libreadline.so.8 in the libs.x86_64 folder. I'm not sure if RetroDeck has a sandboxed environment that's interfering or something.

modest plank
#

as a test i deleted that and could play i'll try removing more libs and only include what it asks for

#

looks like it might only need these in x86 libs:
libmad.so.0
libmikmod.so.3
libSDL-1.2.so.0
libSDL_image-1.2.so.0
libSDL_mixer-1.2.so.0
sdl12-compat.default
sdl12-compat.stretched

modest plank
#

oh and my secret to working faster at and x86_64 testing is just installing the retrodeck flatpack on an ubuntu vm, it is sandboxed so it's a pretty solid reperesentation of how it will act on the steam deck as well

latent tulip
#

I used my new helper thingy today to quickly iterate on the port I’m working on the steamdeck and a muOS device.

modest plank
#

Yeah I will probably have to give that a go soon too

serene pine
#

Sweet! Thanks. I'll make that adjustment this arvo and get it PR'ed so RetroDeck users can now actually run it. I'll probably zip up the "extras" just in case someone wants to have them handy for Desktop mode.

serene pine
#

PR created

surreal adder
#

I've never tried to really play this game. Is it fun?

serene pine
serene pine
#

@green pendant Thanks for approving the PR. As for your question regarding those libs - I included them initially for x86_64 by testing against a "Normal" Linux desktop environment (such like Linux Mint) and also with my brother's Steam Deck running in desktop mode. I thought that'd be thorough enough and if it was working on Steam Desktop mode, perhaps it would work in other modes on the Deck as well. My brother did not have RetroDeck or EmuDeck set up on his Steam Deck and since I do not own one of my own I had no way of testing it proper and it wasn't mandatory to have x86_64 support added at the time. I know it still isn't now, but seeing how there has been an increase of PRs including and adding x86_64 for RetroDeck, I figured it'd be a good time to re-check my things to actually make sure they're working correctly. Now that I know more about how RetroDeck operates and have some testers to aid with this, I'm going to be correcting any of my ports that are not working on RetroDeck and adding x86_64 support to other ports that I haven't yet.

modest plank
#

Let me know when you have any ready or want help with any others!

serene pine
#

Thanks. I appreciate ya.

modest plank
#

I have an unofficial goal to increase x86 support by 10%, and so far I'm ~5%