#Crop and Claw

606 messages · Page 1 of 1 (latest)

graceful reef
#

🌸 Crop and Claw 🐉

Description:

Crop and Claw is a classic-style JRPG all about dragons. Delve into swamps, temples, and ruins and fend off flora, fauna, and unsavory dragonfolk.

If you'd like to buy the game and support Dinoleaf, you can purchase it on both Steam and itch.io. The full game is provided by Dinoleaf for Portmaster's distribution free of charge.

Details:
Ready to Run - Nay. Fetch from the link below.
Engine/Framework - Godot 4.2.2
Architectures - aarch64
Aspect ratio - 4:3
Rumble support - No
Tested versions - RTR
Controls - GPTK
Joysticks required - None

Instructions:

Controls:
D-Pad - Move character/cursor
A = Open menu/select menu option
B = Revert menu decision
Start = Status menu (shortcut)

Requirements:

More to come based on whoever tests. I'm unable to test every device since I'm also making other games.

Custom Firmwares:

  • [] AmberELEC
  • [] ArkOS
  • [] ROCKNIX
  • [] MuOS
  • [🐉] Knulli
  • [] Crossmix**

Drivers:
I have no idea what these refer to yet.

  • [] Mali
  • [] Panfrost
  • [] Adreno

Resolutions:

  • [] 480x320 **
  • [🐉] 640x480
  • [] 720x720**
  • [] Higher resolutions

Testing Status:

  • [] Basic Testing (Game starts and is playable)
  • [] Extensive Testing (Mid-game Content)
  • [] Complete Testing (Finished Game)
#

I mostly wanted to get this up ahead of time. It probably won't run right away (see TODO 1) but the crux is ready to go. Lemme know what I screwed up.

TODO

  • Await Godot runtime execute permissions on Portmaster to be fixed.
  • Set up license folder properly.
  • Figure out why Knulli Portmaster preview simply refuses to show assets like normal ports have. Are images and metadata wrong somehow?
  • Properly test Classic mode for speed/fade override.
  • Append Godot4.2.2 to the ports.json file (I goofed when setting it up woops)
  • Confirm if game looks fine on a 480x360 display. (Game viewport is designed for 256x240)
  • Confirm if x86_64 Godot runtimes are available for those devices.
  • Remove this FOREWARD/TODO section before formal release.
  • Find other things I screwed up with the Portmaster standards.
  • Low priority: Does the game actually work for other people?
dense estuary
#

does this need a runtime?

graceful reef
#

It's using Westonpack + Godot 4.2.2 and the base script Binary supplies autodownloads them, from what I've seen.

grim ruin
#

Ready to run means you don't have to move fikes over or download anything from external sites @graceful reef

graceful reef
#

Cool I'll mark that false then. I couldn't see much common terminology

dense estuary
#

wait are gamefiles included?

grim ruin
#

Did he give you permission?

graceful reef
#

The catch right now is that there was a mistake with how the SquashFS Godot runtimes on PM were set up.

frozen plank
#

Ooh nice

graceful reef
#

Yeah. It's a paid game, but I'm supplying it free for Portmaster as a "I like this project, have a donation game"

#

The sheer niche of it is hardly going to make a difference in sales.

#

We're the copyright holders, so I don't think I'm going to sue myself.

grim ruin
#

Well then just place the game files where they need to be and upload a zip with them already there

grim ruin
#

That's awesome@

graceful reef
#

I'll keep an eye on when the SquashFS runtimes are updated. Then this should actually be possible to run. As it is, you'll just get a permissions error.

grim ruin
#

Oh, I got confused

graceful reef
#

So there's no need to rush this now.

grim ruin
#

The "dump everything in there" confused me

graceful reef
#

I mostly wanted to just cross setting this topic up off my todo list.

dense estuary
#

@graceful reef just because allot of people are stupid and install these games without autoinstall etc, Make a link to the runtime and tell the user to place it into PortMaster/libs as it isnt in the PortMaster app currently

graceful reef
#

I think the base script automatically installs both Godot and Weston even if you just run it straight. I don't know of an autoinstall.

#

This was just ripping off Binary's Godot 4 example script.

#

Rather, I assume that is baked into the script itself, so it might be idiot-proof? I'm kind of just expecting anyone who does testing to know how to deal with jank right this moment.

dense estuary
#

yeah i never seen that work, but i never needed it to work, it could probably work, i will try that later when im testing

graceful reef
#

I could probably jam in the 4.2.2 build that is properly chmodded, but I want to mostly ensure that this is working out of the box when someone runs it, rather than with a sideloaded runtime.

grim ruin
graceful reef
#

But again, that just is on a slight hold until basically this happens: #💡|porting-talk message

grim ruin
#

Ahm not on stable yet

#

But merged

graceful reef
#

The runtimes are on stable, there was just a mistake where Binary forgot to flag runtimes executable.

#

So that just has to be pushed up and then in theory, this will run.

grim ruin
#

I'm gonna wait til it's on the PM app before I add a godot4 to here

grim ruin
graceful reef
#

Runtime Manager has Godot 4.x, they just don't do anything without having a script copy it out and chmod +x it. Functionally not useful.

dense estuary
#

i just checked

graceful reef
#

I built this with preparation for before the fix is pushed through. If I apply the workaround in this, then people are testing the workaround, whereas what I also want to test is that Godot 4.x games are actually working as an average user would interact with it (a la running the game and autodownloading)

grim ruin
#

I see. Well I think I'll wait until thats cleared up

graceful reef
#

That's weird. It shows on my end.

dense estuary
#

ill look again, i think im on stable

grim ruin
#

......

#

Lol

dense estuary
#

okay they arent on stable time to check beta

#

okay they arent on beta too

graceful reef
#

Maybe it's different in my universe? I'm in the Bearenstein Bears universe.

grim ruin
#

Wwweeeeeiiird

dense estuary
#

okay nope they are on alpha

graceful reef
#

I'd deliberately uninstalled them and reinstalled. I'm on stable. Bizarre.

dense estuary
#

just not yet on stable or beta

graceful reef
#

Unless something changed since this went on.

grim ruin
#

So it needs to be fixed still

graceful reef
#

Yeah. I stressed that I'm awaiting until the fix goes through. This whole topic here is just prep.

#

It seems there's still some ironing out (you can see us going back and forth a lot to get the game running on Knulli + Weston at all) so I want to await until you can just run the script and it just werks before I really start monitoring tests.

#

I can say that I have completed a full run of the game on the SP + Knulli with the SDL build. So I think this will theoretically go smooth on anything that boots. But I don't trust "it should work in theory". Hence awaiting closer to production settings.

dense estuary
#

/tmp/weston/westonwrap.sh: line 435: /tmp/godot/godot422.aarch64: Permission denied

graceful reef
#

Yes. That's the squashfs being set wrong and is what the incoming fix will do.

#

It's just not in my power to fix.

dense estuary
#

i will do it manually right now and see if the game boots

graceful reef
#

There were a few line switches. Mostly just copying the executable into the gamedir, chmodding it, and using that instead of the tmp one.

dense estuary
#

ill just make a new runtime

graceful reef
#

I did append an extra command to the commandline for the game itself, but haven't tested it to ensure it works. Just something that kills a shader for Classic mode because the shader's so horrendously unoptimized, GLES and ARM devices crawl.

#

Ironic how the mode that looks more like an NES game runs worse.

dense estuary
#

uhm controls are a bit funky

graceful reef
#

What device? I did flick A and B

dense estuary
#

yeah but pressing B in the menu opens the thing for like a milisecond and closes it again

graceful reef
#

Maybe it's doing the thing like Rocknix does. Knulli and Rocknix seemed to have two different opinions on how to run it.

dense estuary
#

? what do you mean by that

graceful reef
#

Some devices seem to pass gamepad info (maybe?) and some don't.

#

Dinoleaf is the company I run. So me.

fervent cosmos
#

oh good shit then xd

dense estuary
graceful reef
#

For setups that seemed to do this weird joysticking inconsistency, I had to throw a dummy gptk which just tells it not to use anything. Maybe that works for that? I don't know of any way to configure these per unit.

fervent cosmos
#

will try on my end in a bit

graceful reef
#

I probably should print out what different buttons are mapping to on different OSes and configs, because the only consistency I tend to see is inconsistency.

dense estuary
#

Knulli has A/B/X/Y swapped

graceful reef
#

I think it becomes unplayable on Knulli but can't remember. And yeah. Thanks Nintendo.

dense estuary
#

WHY TF DOES IT GRAB VOLUME BUTTONS AS REAL BUTTONS

#

holy shit is that funky

graceful reef
#

lmao what the hell

shell crater
#

lol

dense estuary
#

Pressing volume up and down is like A and X

#

and guide is moving forward

#

wtfh

shell crater
#

so godots controller is as terrible and janky on 4.x as was on frt 3

dense estuary
#

apperantly yeah it is

graceful reef
#

I'm not too sure how it works or what maps where. I'd figure the devices and OSes just send different values to Godot's input reader.

fervent cosmos
dense estuary
#

its actually kinda funny and nice lol, i can now play single hand ( which i could do before too)

fervent cosmos
#

Just how god intended..

shell crater
#

reminds me of using phone volume buttons in emulators as L / R. I ended up having broken volume buttons

graceful reef
#

DO A BARREL ROLL

dense estuary
#

so i think we maybe want to use Hacksdl if its possible, it wasnt right?

graceful reef
#

I don't know how many Godot 4.2+ games have been tested, so if nothing else, this is probably a fair sample game for trying to find kinks in the current pipeline.

shell crater
#

will it do even if you remove all the controller buttons from the input map?

young cedar
fervent cosmos
#

you could ask it nicely to stop

graceful reef
shell crater
#

I mean in the godot editor, removing all controller binds

graceful reef
#

Oh. Maybe. Though that would be a bit jank to set up for building.

fervent cosmos
#

should I wait to download this then in that case

graceful reef
#

It probably depends on the OS.

#

It sounds like it mostly works, just has weird inputs. This is a game that requires a DPad and two inputs. Not too difficult to get functioning.

dense estuary
#

why dont we just compile godot without controller support?

graceful reef
#

As long as some OS or device maps DPad up to the battery removal button.

dense estuary
#

i mean game works 100% fine but its just weird

shell crater
graceful reef
#

I could see things getting messy the moment PM supplies custom builds.

dense estuary
graceful reef
#

I'd need to find a waterfall to meditate under and remember if there's ways to kill Godot's gamepad listening.

shell crater
#

probably, but this doesnt sound being any better 😄

dense estuary
graceful reef
#

Godot's input system doesn't quite work that way.

dense estuary
#

oh right it used that table where you set that

#

just click on delete lol

graceful reef
#

You basically bind interned strings that map to different input types.

#

The issue with that is now your game doesn't work with gamepads on other devices, or maybe something like Rocknix where I had things mapping differently.

#

There is another possibility, maybe. Still a bit tedious, buuuut

#

I think Godot does let you specify project settings override, of which input is part of it.

#

Still a bit of a hack and not ideal, though

#

Also, All Devices maybe I'll try at some point making a specific device number instead. Though that makes PC games less easy to work with due to unpredictable device ids from my own history.

shell crater
# graceful reef

when you remove all the joypad binds, will it still cause weird things when pressing random buttons ?

dense estuary
fervent cosmos
#

which one am I installing here

graceful reef
#

Removing joypad binds, I'd assume then you've just got the mapper and maybe it's just treating like a keyboard, so maybe.

shell crater
young cedar
shell crater
#

which would be perfectly fine with game like this

graceful reef
#

I'm just not familiar enough with the hardware/OS stuff to make any meaningful judgements.

dense estuary
graceful reef
#

Yeah I don't know who handles pushing stuff to stable. Not exactly gonna go pinging and rushing random people.

shell crater
#

I think its usually klops

#

but hes busy chasing apples and pears

graceful reef
#

I can't imagine someone being skilled enough to manage and work with Linux ports and unironically use an Apple device.

shell crater
#

oh I mean literally apples and pears

fervent cosmos
#

Apple is the spawn of Satan

fervent cosmos
graceful reef
#

I have no idea how or where to jam the squashfs files manually.

shell crater
#

yeah, some random double inputs on my ancient OGA.

graceful reef
#

I assume not using the "no input" file

shell crater
#

oh. My bad.

fervent cosmos
young cedar
dense estuary
graceful reef
#

Get excited for next Westonpack

fervent cosmos
graceful reef
#

I'll rezip with the no-input input file just to pack it in.

fervent cosmos
#

So should I just wait then

young cedar
graceful reef
#

I assume it'll just do nothing if it's not available yet?

shell crater
#

I need to check on more devices, so far it behaved fine

shell crater
#

oh yeah lol, on muos it does the funny inputs on volume buttons etc

young cedar
graceful reef
#

That seems to be the consensus

fervent cosmos
#

will try on my end in a sec

#

still downloading

dense estuary
#

It even seems to work fine with the classic thing

graceful reef
#

Classic mode has a hack so it's not actually faithful. I needed to disable the fade. So the color fading isn't true to the NES

#

Tanks the framerate otherwise.

#

A for and if check in every pixel is rough, probably.

fervent cosmos
graceful reef
#

Yeah

fervent cosmos
#

okie doki

graceful reef
#

I'm just about to push the zip that uses that as default. Had to write a scp to make updating this faster

#

And there. I'll move this setup to somewhere that isn't my RAMdisk

fervent cosmos
#

will try booting now

#

well that didnt work

#

as seems to be the usual latele

#

yes yes i know sending log

#

it would prob help if i installed westonpack first according to the error

#

where do i find that at

dense estuary
dense estuary
graceful reef
#

It should have done that automatically from my experience, but it can be done manually in the Portmaster runtime manager, if you live in the Bearenstein universe.

#

Apparently the Bearenstain universe doesn't have it yet.

fervent cosmos
#

oh lovely time to wind my wifi wire again

graceful reef
#

The game's internal resolution is 256x240 so it scales naturally 4:3.

fervent cosmos
#

downloading new portmaster updateeee

young cedar
fervent cosmos
#

downnloadingweston

graceful reef
#

Yeah. I have the H which I was using as my dedicated Rocknix test unit with its own dedicated card.

#

The Aero flight test project is pretty on it.

frozen plank
#

256x240 and scales to 4:3? TurtleThink

shell crater
#

eh, not as bad as what sega did with the bloody Game Gear kek

fervent cosmos
#

attempt 2

graceful reef
#

I was going to have Crop and Claw 2 support both 2:3 and 16:10 but the resolution is so small, I feel like I did a math wrong and both came out to the same resolution (360x200) or maybe it was 16:9 and 360x240 and I have short term memory loss

#

I feel like I was mathing wrong.

fervent cosmos
#

attempt 2 failed

#

alrighty

graceful reef
#

I can only guess related to permissions and it wasn't pulling the right squashfs or binary.

fervent cosmos
#

somehow this bricked my portmaster also

#

it says attempting to delete file then fails and closes

#

so thats pretty neat

shell crater
fervent cosmos
#

give me a second old man

graceful reef
#

That is bizarre and well out of my scope.

fervent cosmos
#

alrighty my sd card reader isnt reconizing the micro sd now

graceful reef
#

K...kioxia?

shell crater
#

oh so maybe the card crapped out

fervent cosmos
#

false alarm was reader

#

I don't know why my computer thinks it has the free will to tell me no

young cedar
fervent cosmos
#

exactly

graceful reef
#

Very gamer logs.

shell crater
#

the equivalent of deleting System32

#

just a waste of space

graceful reef
#

Yeah but that's not wrong.

fervent cosmos
#

any error I just say no you're not allowed to do that and restart my pc and it works fine

#

because my computer knows it's place

young cedar
fervent cosmos
#

it has 300 gigs

#

2 gigs in root and 75 mbs in boot

#

it's not wrong though

#

there's nothing in the godot folder that i can see

#

will try reinstalling

#

yeah whatever this game did

#

it made portmaster refuse to boot

#

so that's pretty cool

graceful reef
#

I can't fathom what would do that, given it seemed to not set everyone else's devices ablaze.

fervent cosmos
#

the universe consistantly does not like me

young cedar
fervent cosmos
#

isn't there a script to restore portmaster

#

unless someone feels like sending the wetonpack 0.2 file here directly in the meantime

#

ya my portmaster install is just dead

#

it refuses to boot even after deleting

#

it gives me a error about pyton3 for a split seccond the fails to launch

#

I don't know what could be caused by that but I would like my shit back

#

alright restore portmaster didn't work

#

congrats pyral for being the first person to successfully nuke portmaster off someone's device

#

quite an achievement

graceful reef
#

My great grandfather said I'd set the world on fire. I didn't think he was literal.

shell crater
#

If that works on governments as well, I may have job for you

young cedar
#

I'm still waiting for someone to make a PortMaster ransomware. Gimme 7 vbucks or I'll nuke your ports folder

fervent cosmos
#

this is what that feels like

shell crater
#

@dense estuary Binary has some ideas for you!

fervent cosmos
#

test my game or risk your chip exploding

young cedar
#

It's really unfortunate that this happened. I really hope this is unrelated and an isolated incident. You're quite literally the first person to get their device nuked from Westonpack, after tons of testing

fervent cosmos
#

i installed both and exited portmaster i want to point out

#

then it stopped working when I booted up the game

graceful reef
#

I haven't made any modifications to the shell script that would affect any files, so I can't think of any angles from there.

fervent cosmos
#

I highly doubt both of you did this intenionally so it's fine

graceful reef
#

SD cards are pretty easy to clone and back up, though PM couples saves and ROM, so the directory being damage would be sour.

fervent cosmos
#

yeah restore portmaster legit is not working

young cedar
fervent cosmos
#

let me try doing this from my pc maybe?

dense estuary
graceful reef
#

Damo playing Crop and Claw 2 early.

#

It's just one sandbox room.

#

And menus that don't even link correctly when using gamepad only

fervent cosmos
#

only thing I can think of doing is deleting the entirety of portmaster

#

then reinstaling

#

I DO have a backup from an older sd card but I'm not sure if it's a issue with the system or portmaster

young cedar
#

One thing you can try is moving all your ports to a different folder. Sometimes PM gets really cranky when there's a port with corrupted metadata

fervent cosmos
#

The ports themselves run

#

it's just portmaster the app doesn't

young cedar
#

The metadata doesn't affect the ports ability to run

dense estuary
#

oh right, delete the port.json from the crop_and_claw folder

fervent cosmos
#

I don't think that's the issue

#

the error before the app closes mentions a python3 error

#

then closes

dense estuary
graceful reef
#

I will say I probably managed to screw something up in port.json but nothing showed signs of breaking PM

fervent cosmos
#

/media/var/EASYROMS/ports$ '/media/var/EASYROMS/ports/Restore PortMaster.sh'
/media/var/EASYROMS/ports/Restore PortMaster.sh: line 15: /roms/ports/PortMaster/control.txt: No such file or directory
/media/var/EASYROMS/ports/Restore PortMaster.sh: line 16: /roms/ports/PortMaster/device_info.txt: No such file or directory
/media/var/EASYROMS/ports/Restore PortMaster.sh: line 20: cd: //ports/restore.portmaster: No such file or directory
chmod: cannot access './Install.PortMaster.txt': No such file or directory
/media/var/EASYROMS/ports/Restore PortMaster.sh: line 25: ./Install.PortMaster.txt: No such file or directory
/media/var/EASYROMS/ports/Restore PortMaster.sh: line 29: /roms/ports/PortMaster/harbourmaster: No such file or directory

#

option two

#

@graceful reef @young cedar could you send the actual file over for the weston pack thing

#

please

#

I can at least just install the files manually

#

game keeps failing eitherway

#

installed from portmaster

#

doesn't work

#

installed manually

#

doesn't work

#

try to restore portmaster

#

doesn't work

#

try to restore manually would mean I wold have to reset up my ports

#

thanks guys for the atom bomb game install I do appricate having to rdo my entire fucking intall

frozen plank
#

Delete the portmaster folder and use a new .sh installer

#

You dont seem to have pm installed at all right now anyway

fervent cosmos
#

which Portmaster folder

frozen plank
#

Tools/PortMaster on ark i think

#

Make a backup if you want to be sure

fervent cosmos
#

will do

frozen plank
#

Then portmaster will at least work again

#

Worry about the runtimes later😄

fervent cosmos
#

I have a backup so I'm reverting from that

#

being lazy has its benefits

graceful reef
#

I've never actually looked at an R36S. This look like one of those AI generated consoles.

young cedar
graceful reef
#

The sheer visceral reaction I get from seeing these fractal-controls

#

It's almost trypophibic

fervent cosmos
#

both of you did a fucky wucky

#

because it happened again

#

I'm not too annoyed but I'm deleting everything related to this and not touching it with a ten foot poll lol

graceful reef
#

I'm not sure if this is a specific environment that didn't get checked during Weston's own testing. Might be out of my hands unless I managed something really dumb somehow.

#

It sounded that you'd updated everything in order to get things started, so I don't imagine that's necessarily related.

young cedar
#

Just to double check, what device and OS is this?

fervent cosmos
#

ARKOS r36s

fervent cosmos
#

i had to revert from a backup

young cedar
#

Stock ArkOS or ArkOS AeUX?

fervent cosmos
#

second

graceful reef
#

The only thing I can think of that was different was using the changed squashfs out, but Damo was able to get it working.

fervent cosmos
#

new log though

dense estuary
#

/tmp/weston/westonwrap.sh: line 41: /tmp/godot/godot422.aarch64: Permission denied

#

yeah use my runtime above

fervent cosmos
#

that is your runtime

#

it does the same for both

graceful reef
#

We'd probably just best wait for the changed ones to go live.

dense estuary
young cedar
# fervent cosmos

The log looks fine except for the permission issue, and there's nothing in there that would indicate that it's nuking your PortMaster install...

fervent cosmos
#

thats what I don't get

dense estuary
fervent cosmos
#

ya using youuuuurrrr

#

alright it posted

graceful reef
#

I'm really leveling up in the world. It's one thing to break my own stuff. But is anyone truly professional grade until they break other peoples' stuff.

fervent cosmos
#

the game runs fine

#

no double inputs or anything

#

I need a break

young cedar
fervent cosmos
#

Well hey at least this means I get neat indie horror games now hopefully

graceful reef
#

I feel like that must be easy to do when you're basically piling graphics and windowing layers between game and OS.

dense estuary
fervent cosmos
#

I'm not annoyed I just don't like redoing stuff again

graceful reef
#

If your luck is like that, maybe the first bandit you kill will drop a Big Gold Ingot. There's a 1/256 chance it will happen.

fervent cosmos
#

it was

fervent cosmos
#

@graceful reef by the way @young cedar

#

I redid everything again and it didn't annihilate my Portmaster this time

#

I have no idea why it did it twice then stopped

graceful reef
#

Two Big Gold Ingots from the first two bandits you encounter.

austere isle
#

games not run at all

austere isle
young cedar
#

also you need to update your PortMaster

austere isle
#

i've already update portmaster

#

maybe how i updating portmaster was wrong way

young cedar
#

You've downloaded the runtimes incorrectly. Do not just take them from the github repo. Please delete them from the folder and redownload the westonpack runtime through the portmaster app (Options -> Runtime Manager) and download this runtime to that folder you showed in the screenshot
#1348023197450108969 message

graceful reef
#

Yeah this isn't a 4.4 game as well, but a 4.2.2. I've only done internal testing with 4.4 games but nothing we've made is released yet.

#

At some point I should make some proper 4.4 graphics demos. I have my 3D test project, but it's not much. It may be a fun little graphics demo for showing this stuff running some fancy visuals on potato hardware.

austere isle
#

if it is possible, i'd like to try to port cashcow dx and mother encore.

austere isle
austere isle
#

RG353V/ROCKNIX

young cedar
#

@graceful reef this is actually a bug in example scripts i think, that affects some newer versions of Rocknix. I think you need to add

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

in between the source $controlfolder/control.txt and get_controls lines.

I need to update the example scripts. Sorry for all the growing pain 😅

graceful reef
#

I'll add it in when I escape my bed. I don't consider it growing pain too much. If anything it feels like a test run for the stack.

#

I haven't yet checked if the proper executables have been pushed to stable yet. That one felt like a big hiccup which confuses a lot.

graceful reef
#

Pushed that line to the zip. Perhaps it would work now if Binary's fix was the culprit @austere isle

austere isle
#

here's latest my log

#

RG353V/Rocknix

#

with latest portmaster and runntime

graceful reef
#

/tmp/weston/westonwrap.sh: line 41: /tmp/godot/godot422.aarch64: Permission denied Same bit. Stable just not having that right and needing manual squashfs injection as prior mentioned.

grim ruin
#

Yeah, this doesn't launch on my rocknix X55

young cedar
# austere isle

Did you download the godot runtime I linked earlier or the one from PortMaster? The PM one currently has a permission issue, that's why I linked you that other one to manually install.

austere isle
austere isle
#

but there's a problem, black screen main menu, missing sprite in game play

#

little bit laggy

#

maybe due to this old device

austere isle
#

ok the menu is appear after i change mali to panfrost

past glacier
#

alright, now we've got something due to me being stupid for a change: ERROR: Pack created with a newer version of the engine: 4.3.
What's the names for these:

godot_executable="godot422.$DEVICE_ARCH"```
I'm assuming `godot_4.3` and `godot43.$DEVICE_ARCH` respectively, but might as well double-check
#

welp, permission denied again, so i guess that wasnt it

shell crater
young cedar
shell crater
#

pay attention to the remove part, because I fail on that as well and felt like a moron

austere isle
# young cedar Did you download the godot runtime I linked earlier or the one from PortMaster? ...

https://store.steampowered.com/app/2225830/Cash_Cow_DX/

this game utilize godot 4.4, i've tried to build a script just as example with this port, but no luck

Holy cow, it's all about the moooney!Embark on an udderly moo-velous adventure to rescue Cash Cow's riches from the grasp of those sneaky Pig Pockets and reclaim what's rightfully hers! Get ready for a blast from the past with an 80s inspired arcade experience released 40 years late...Make no mistake - this game is tough as nails!Are you up for ...

Price

$7.99

▶ Play video
young cedar
past glacier
#

oh shit it actually worked!

#

wow this changes everything:D

grim ruin
#

Is there a different .sh file I need to use other than the one that came in the original zip? @graceful reef

graceful reef
#

If there is, that's news to me.

graceful reef
young cedar
graceful reef
#

Oh yeah. If a different game's built in 4.3, then it would use 4.3 lol.

dense estuary
#

i think he used your game as a base

grim ruin
#

So @dense estuary does this original zip work o. X55? Does it need libmali?

dense estuary
grim ruin
#

Well it doesn't. I'll get a log

graceful reef
#

I know there was something something Mali Panfrost or so. Not familiar enough with these devices to know what those drivers are all about.

past glacier
#

is there a godot 4.4 runtime out yet? 'cause I dunno if I should upgrade my devbox

young cedar
young cedar
past glacier
#

wait, how did i get here, wtf. I was following an @mention for me, about godot (and from what I'm seeing, a couple of em, seemingly), and I ended up here. Ugh, discord

graceful reef
#

There's an option in the menus called Black bars which basically... gives it black bars for widescreen.

#

If no config specifies (a la freshly downloaded on PC), it opens in Framed by default which is like the Super Gameboy or Pokemon Stadium running GBC games, where they have a little decorative frame surrounding the game view.

grim ruin
#

My controls are all goofy on rocknix

#

Up and down don't work

graceful reef
#

Knowing my luck, Rocknix maps Up to Volume Down and Down to Power Button

dense estuary
#

typical rocknix

#

rocknix controls are sometimes really weird, they were so damn fucked on renpy

grim ruin
#

Dint think my volume was adjusting. Lemme check lol

#

Nope. Just up and down don't work at all

#

Let's try libmali instead of Panfrost

#

Absolutely ZERO controls using LibMali

#

So that's a downer

#

Sorry, man :/

dense estuary
#

the controls shouldnt switch?

#

it will still use SDL normally????

#

Wait NO

#

Panfrost just skips everything from Westonpack

#

Maybe something in there is doing some control shit

young cedar
dense estuary
#

thats what i thought

grim ruin
#

Hope this can be fixed!

#

Is this working for anyone using MuOS?

#

Controls wise

#

Cause I also get ZERO controls in MuOS

graceful reef
#

I confirmed the Godot runtimes work now, at least. So deleting the workaround ones and using the ones downloaded by the example script will run out of the box.

#

I'd have to ironically grab the controls remap file to see if that'd work on mustard. I have no idea since I don't know the mappings. My test units have just been Knulli as main and Rocknix has only become my 40-H testing OS.

summer marlin
#

the gptk is empty

#

you could remove all joypad calls from the project and map the controls via gptk

graceful reef
#

Yes. Because some devices actually need that to not become a mess due to inconsistent joystick handling.

#

That would make the build require customization specifically for these devices, and would make porting other projects pretty unreliable since now you need special project settings for it.

#

I don't think CnC's the only Godot game porters will have problems with over time.

summer marlin
summer marlin
summer marlin
graceful reef
#

CnC1 is sort of testing the out-of-box capabilities of Westonpack, from my approach of it. So making special overrides is basically a worst-than-last-resort.

#

This was closer to what originally was put in. Or similar. Probably.

summer marlin
summer marlin
grim ruin
#

also which zip did you use that worked for muos

graceful reef
grim ruin
#

ok no need for patch then

graceful reef
#

I don't know much about xdelta.

dense estuary
grim ruin
#

new gptk does NOT work for rocknix. When trying to choose an empty save slot, it's doing that thing damo explained earlier where it opens and closes the menu with "new game: in it instantly.

grim ruin
#

It's @graceful reef !!!

graceful reef
#

It wouldn't because Rocknix gets input unlike apparently MuOS. It just scrambles some DPad stuff.

#

The vtuber I use in dev streams is a vine viper yeah. One of their recolors appears in act 2 of the novella that just dropped

#

I lost so much time on gamedev that I was like, a month and a half late to release that. And now I have to probably sit down and do act 3.

summer marlin
grim ruin
#

It fixed muos for me perfect

summer marlin
grim ruin
summer marlin
#

Idk, don't have RockNix

dense nest
graceful reef
#

That's odd. Notably, that's what would happen if you were to delete pck/repainted.pck.

#

There are a few built-in repainted things as lazy initialization workaround stuff for the base game, but most assets related to it are in the separate pck. When the game boots, it will load that pck and the files will be overwritten.

#

If you did delete it though, then readding it will fix it and perhaps that's unrelated. But I have no idea how xdelta patches work or why that would've happened, especially if it's only happened on MuOS and not others.

grim ruin
#

any progress on Rocknix Controls being fixed?

grim ruin
#

Guess not...

graceful reef
#

I haven't gotten to it since I'd gotten back to CnC2 and am not as much on soft-vacation. Don't know if there've been updates to the rest of the tech stack yet.

graceful reef
#

Eventually I'll see if I can figure out something for these, but I just made an update for the base game for April Fool's, which adds a second English translation. Only this one's a multilayered Google Translated mess. Fitting, considering these devices get used for bootlegged games, I suppose.

young cedar
graceful reef
#

The end screen itself is actually a recap of the playthrough, but before that, the credits cycles through all enemies you've defeated with a blurb. On Steam, there's an achievement to get all the entries in a single run.

#

Which means every enemy has unique text

#

I highlighted the Wasp Drake's and some folks made a few gags because of how ridiculous and out of place it sounds.

#

The translation went from our artist's EJL Japanese, to German, to Polish, to Finnish, then to Engrish.

ripe canyon
#

looks to be not working on my Trimui smart pro (Crossmix 1.3), log attached
i have installed the godot 4.2.2 squashfs runtime that was linked further above

young cedar
#

In this case, the Westonpack runtime that this depends on is not compatible with CrossMix.

#

You're also running a really old version of westonpack, not that this changes anything.

ripe canyon
graceful reef
#

Manually downloading the squashfs shouldn't be required anymore too, as it's been fixed on PM's repos for a while.

young cedar
#

@graceful reef Just FYI, i just added CRUSTY_BLOCK_INPUT=1 to the arsenal of crusty tools. It blocks every input device from being used, except for the ones created by gptokeyb or gptokeyb2. I successfully tested this with your port and $GPTOKEYB2 "$godot_executable" -x &, which makes it behave like a standard xbox controller.

The next version of Westonpack, which is coming out probably Friday, will have this feature. Just a heads up if you want to PR your port at some point 🙂

graceful reef
#

I'll do an update to this testing branch just to see if it catches anything else. If enough devices and OSes seem to work well enough with it, then I'll probably PR it.

young cedar
#

I'm still working on the rendering issue on rocknix devices with libmali driver, but other than that, all devices and cfws supported by westonpack should work

grim ruin
#

So this, I guess, means that your weird controls will just "work" only through the gptk file. That is seriously such a cool thing.

young cedar
#

@graceful reef Westonpack 0.2.7 was just released and will fix the weird controller mapping if you add CRUSTY_BLOCK_INPUT=1 and remove the LD_PRELOAD= from your port script.

graceful reef
#

Remove LD_PRELOAD? Weird. I'll try real fast.

#

weston_runtime="weston_pkg_0.2" still good? I suppose I may dump this here first to have my homework doublechecked.

#

In a sec I can push this if it seems right, and then if it seems to work consistently enough across what I've got, I'll try setting PRs up.

#

Or strategically wait so it's the 1000th and I win a brand new vacation home.

#

Maybe I need to force remove westonpack and reinstall. I see Westonwrap 0.2.6 in my logs here.

#

Or I did the args wrong

#

Oh, I'm an idiot and a half.

#

Er. Freshly downloaded Godot 422 squashfs is throwing a permission error

#

Didn't this get fixed?

young cedar
young cedar
graceful reef
#

Weston is latest version that time, at least

young cedar
#

You commented out the LD_PRELOAD rather than removing it. Remember the backslashes here make it one long line

graceful reef
#

Thought that was strange. Still getting errors so let's seeee if I gutted this wrong.

#

cd $GAMEDIR
$GPTOKEYB "$godot_executable" -c "$GAMEDIR/$gptk_filename" &

# Start Westonpack and Godot
$ESUDO env CRUSTY_BLOCK_INPUT=1 $weston_dir/westonwrap.sh headless noop kiosk crusty_x11egl \
XDG_DATA_HOME=$CONFDIR $godot_dir/$godot_executable \
--resolution ${DISPLAY_WIDTH}x${DISPLAY_HEIGHT} -f \
--rendering-driver opengl3_es --audio-driver ALSA --main-pack $GAMEDIR/$pck_filename \
--disable-nes-colors
# GLES hates the Classic mode shader. This overrides the classic mode fade to be less color-accurate to NES palettes, but runs at a playable speed.

#

That should work? Last test just now, I had it throw errors suggesting it wasn't booting in the right driver. Trying again

#

/tmp/weston/westonwrap.sh: line 94: [: : integer expression expected

#

Assuming something failed prior to that line

#

Or if I'm dumb

summer marlin
graceful reef
#

Okay so that's irrelevant

#

Importantly this header's dumping which means something isn't loading right

Godot Engine v4.2.2.stable.official.15073afe3 - https://godotengine.org
Your video card drivers seem not to support the required OpenGL 3.3 version.

If possible, consider updating your video card drivers.

If you recently updated your video card drivers, try rebooting.
#

Skimming to see if I could find if I screwed up the initial summon. 100 args

#

And possibly something in the template script chunks prior changed?

summer marlin
#

Do you have a newline here?
$ESUDO env CRUSTY_BLOCK_INPUT=1 $weston_dir/westonwrap.sh headless

#

Nope just mobile ui

#

Sorry

graceful reef
#

Yeah that's just Discord

#

Maybe I'll check the template if it's changed in case something's new and mine's technically out of date

summer marlin
#

OK this is how it should be:
cd $GAMEDIR $GPTOKEYB "$godot_executable" -c "$GAMEDIR/$gptk_filename" & # Start Westonpack and Godot # Put CRUSTY_SHOW_CURSOR=1 after "env" if you need a mouse cursor # LD_PRELOAD is put here because Godot runtime links against libEGL.so, and crusty is interfering with that on some systems. $ESUDO env CRUSTY_BLOCK_INPUT=1 $weston_dir/westonwrap.sh headless noop kiosk crusty_x11egl \ XDG_DATA_HOME=$CONFDIR $godot_dir/$godot_executable \ --resolution ${DISPLAY_WIDTH}x${DISPLAY_HEIGHT} -f \ --rendering-driver opengl3_es --audio-driver ALSA --main-pack $GAMEDIR/$pck_filename #Clean up after ourselves $ESUDO $weston_dir/westonwrap.sh cleanup if [[ "$PM_CAN_MOUNT" != "N" ]]; then $ESUDO umount "${weston_dir}" $ESUDO umount "${godot_dir}" fi pm_finish

graceful reef
#

oh god Discord

summer marlin
#

Sorry about that mobile doesn't allow markdown

graceful reef
#

Seeing if I can somehow diff it with my eyeballs

summer marlin
graceful reef
#

Yeah this doesn't seem any different

young cedar
#

Weird. Let me see if i can replicate this issue

#

Because i specifically tested this fix with your port 😅

graceful reef
#

I can push this to the zip in a sec.

#

It was wise of me to just write script to do the zip and scp to the server. Don't have to remind myself how to update something specific

#

Knulli RG35XX-SP but doubt it's relevant. I really think I'm screwing something obvious up or something just changed that I didn't update

#

Tried with the latest template sans LD_PRELOAD and same result. Trying to think of what could be causing it.

#
Crusty loaded by /tmp/godot/godot422.aarch64
Started initializing...
Version 0.4 built on 2025-04-07 22:26:41 with options: X11EGL_FRONTEND SDL2_BACKEND CONTROLLER_HOOK CURSOR CURSOR_X EGL_LOADER SDL_LOADER 
Initializing EGL Loader
Done initializing EGL Loader. Hooked functions: 0 / Passed through: 34
Initializing SDL Loader
Done initializing SDL Loader. Hooked functions: 0 / Passed through: 18
Done initializing.
xkbcommon: ERROR: couldn't find a Compose file for locale "en_US.UTF-8" (mapped to "en_US.UTF-8")
[05:57:05.149] YO WHAT /tmp/weston/lib_aarch64/graphics/mesa_x11_stub::/tmp/weston/lib_aarch64:
[05:57:05.149] launching 'bin/Xwayland'
(WW) Option "-listen" for file descriptors is deprecated
Please use "-listenfd" instead.
(WW) Option "-listen" for file descriptors is deprecated
Please use "-listenfd" instead.
xwayland glamor: GBM backend (default) is not available
Missing Wayland requirements for glamor GBM backend
Failed to initialize glamor, falling back to sw
[05:57:05.412] xfixes version: 5.0
[05:57:05.654] created wm, root 74
ERROR: EGL platform extension "EGL_KHR_platform_x11" not found.
   at: initialize (drivers/egl/egl_manager.cpp:402)

This follows immediately after the command runs, so I assume the culprit'd be most suggested here, but no idea why it looks like it's not finding some sort of backend. Maybe I'll try restarting my system and see if it just decides to work

#

Seems no cosmic radiation bug, damn.

young cedar
#

I'm suspecting that this might be related to the new linker bug workaround. I wish i could test right now, but i forgot to turn off my devices yesterday and now none of them boot until i put like a bit of charge into them

graceful reef
#

Those poor collective devices just running like hamsters powering a city.

young cedar
graceful reef
#

Copied over the Surge Protector and didn't yield difference, so not some obscure line or something being outdated.

#

I'll open Knulli on the -H out of curiousity

young cedar
#

If you restore the LD_PRELOAD= does it run with broken input atleast?

#

If that's the case i need to find a solution to this fast, because then my workaround actually breaks things on knulli specifically

graceful reef
#

With LD_PRELOAD added back no.

young cedar
#

wait what?

graceful reef
#

Wait hold on I might've goofed

#

Confusing myself now. I have two devices on

#

Lemme doublecheck

young cedar
#

I usually have 3 on my table. I made a script to upload and run on all 3 at the same time

graceful reef
#

Jumpscare avoided. Works on the one I readded it

young cedar
#

okay fuck. Back to the drawing board i guess with a hotfix

graceful reef
#

Input, not sure if I'd already set my things up so they just werk, or if crusty's still blocking input as intented.

#

Brain fuzzy. I'll put a pin and check later

#

Nah I'm just dumb. SP double-inputs.

#

Sorry for snapping away victory once again.

young cedar
#

It's not your fault that I'm doing the weirdest possible thing you can do to a linux system and some of them aren't cooperating 😄

graceful reef
#

Yeah, but when I have bugs get found, someone has to suffer.

#

It's still been generally a lot of measurable progress to consistently having this engine working though. It doesn't sound too much further off from being fully working on most setups I'd guess

young cedar
#

I did some more testing. It's really just knulli that doesn't like the workaround. I might need to make a "workaround workaround", or do the nuclear option of hijacking dlopen()

young cedar
#

Yup, i was able to fix this, aswell as an unrelated bug that prevented Godot 4 from working on TSP. Not sure if that bug was a regression or nobody ever tried Godot 4 on TSP, but once again the driver's EGL implementation was being weird 😅 All the other devices have no problem using eglQueryString without a valid display, PoverVR really doesn't like you doing that.

For the LD_PRELOAD thing, i went with a pretty ugly dlopen hack:

static void * (*_dlopen)(const char *name, int flag)=NULL;
extern void *dlopen(const char *name, int flag)
{
  TRACE("DLOPEN %s\n",name);
  #if defined(LOG_TRACE)
  void* calll_address= __builtin_return_address(0); 
  const char* calller=get_caller_library_name(calll_address); 
  #endif
  TRACE("Call coming from %s\n",calller);  

    if (_dlopen == NULL)
        _dlopen=dlsym(RTLD_NEXT, "dlopen");
    CONSIDER_BACKEND(return _dlopen(name,flag));
    TRACE("DLOPEN Not backend %s\n",name);

    if(name!=NULL)
    {
        if(
           true &&
           #if defined(GLX_FRONTEND) 
           strstr(name,"libGLX")!=NULL ||
           #endif
           #if defined(DRMGBM_FRONTEND) || defined(X11EGL_FRONTEND)
           strstr(name,"libEGL")!=NULL ||
           #endif
           false
            )
        return _dlopen("libCRU.so",flag);
    }
    
    return _dlopen(name,flag);
}

It works though so i don't care lol.

I'm preparing a PR right now

graceful reef
#

TSP?

young cedar
#

TrimUI Smart Pro. Great hardware, borked software. Runs Knulli or CrossMix. Knulli is the better option but still not great.
My codebase contains a lot of curse words because of its graphics driver

graceful reef
#

Time to add the best drivers to Westonpack

#

I'm sure that wouldn't be possibly the worst thing ever

young cedar
#

Trust me, i tried. I wish i could just add a copy of Panfrost to westonpack. That would make stuff so much easier

#

Unless you want me to start bundling alternate linux kernels to boot into 😛

graceful reef
#

Just have Anbernic make an RG-Weston

#

At that point Portmaster may as well have its own distro which sounds like a nightmare to manage across devices

young cedar
graceful reef
#

Knulli being a pain is ironic since it seemed like one of the preferred ones for running ports here.

young cedar
#

I don't know why muOS and ArkOS get so much hate. muOS has just been rock solid for me. It's the one platform that put up no fight against my shenanigans and just worked out of the box. Low resident RAM usage, good driver, snappy minimalist frontend.
And ArkOS is just Ubuntu 19. It's malleable af. You can straight up just apt install packages on there.

#

For debugging ArkOS is a dream because you can literally just compile your stuff directly on device. No weird ssh remote debugging setup. Nah.
make -j4 && gdb ./your_app, that's all you need.

graceful reef
#

Time to get the Godot editor running in Portmaster for it

young cedar
graceful reef
#

For the most part yeah. To a 640x480 monitor

#

with a gamepad

#

They do have a native Android build

young cedar
#

I have seen people join game jams with nothing but an android phone running the godot editor. I'm sure someone could pull it off

graceful reef
#

I still find it ironic the Android SDK doesn't have an ARM build

#

Can't build APK on RPi

young cedar
#

Alright, packaging

graceful reef
#

Glad it was caught before I'd PR'd CnC. I always blame the other guy before myself before the compatibility layers, should a billion requests of help had come in after it were to go live

young cedar
young cedar
graceful reef
#

Yeah. If anything getting CnC and probably some of the other candidate games running has probably been battle testing

#

I'll keep the zip the same since the issue's not related to that itself. If I get consistent controls on my H and SP with the same control map, I'll dig into the PR system

young cedar
graceful reef
#

Making preparations for when the PR's ready to merge.

dense nest
grim ruin
#

I was told that the game info had to be much shorter than what I had originally pr'd by Cebion when i had one like half as long as this for Donkey Kong Redux. I don't know how you got away with yours. Lol

elfin knot
#

There's a cut missing, I guess.

grim ruin
#

That's thee longest game info I've ever seen! Lol. It can be included, fine. But in the notes, not the .json

graceful reef
#

I didn't even want it to extend and destroy the UI. I'd only gotten told about the markdown being used on the site and the plaintext in the app. Like said prior, there's not a lot of clarity to the context of port information text usage or limits on the template builder.

#

I'd have assumed the site would have truncated it for the preview.

summer marlin
#

100% not anyone's fault

graceful reef
#

Nah it's just everyone else's fault than mine.

#

If I figure out what or how these are specifically used, I can PR a change at some point

grim ruin
#

Then just make a branch called crop&Claw json fix

#

Or something like that

graceful reef
#

I did that a few times during so I know that. It's the context of which to fix and how things line up that isn't very clear.