#Descent 1/2

1 messages · Page 2 of 1

stable kayak
#

Probably the SConstruct file needs tweaking.

#

Or can't be cross compiled into arm64

unborn chasm
#

If you ever want to try out wsl2 here is the guide I wrote for my build system https://github.com/Cebion/Portmaster_builds

You can just skip the sdl2 step. In wsl2 you can at least copy stuff via Windows Explorer or if you want to for example compile the Linux amd64 version to see if a bug also exist in that version. You can also for some time now open graphical programs directly from within wsl2. For example explorer.exe . Will open the windows explorer in the Linux directory you're in

#

Hybrid Linux lol

stable kayak
#

Ah I think I want the elf toolchain instead of gnu

unborn chasm
#

One last thing I wanted to mention, this project is a bit more tricky than the usual projects. So you would have had 10 games ported by now 🙂

#

But you learn stuff by experimenting, and eventually you'll revisit stuff with more knowledge and then go like duh what did I do back then?! And have a new view of it

#

Happens all the time 876485510900629534

inland forge
#

Idk if it helps but i have never used wifi on my chi. Or installed portmaster. But I think arkos comes with the necessary folders. If not, you just have to put the portmaster folder in the right place. All I had to do was unzip and put descent folder in ports and it comes up as a port in ES. Portmaster.zip is on one of the repos iirc

#

See the portmaster wiki

unborn chasm
#

That's the manual of installing ports yeah

inland forge
unborn chasm
inland forge
#

My question atm is what do i need to change in order to change the control mapping for sdl version? Is it something to do with $sdl_controller config?

#

Can you explain this please. How do I correct the controls (which seem to be rotated)

stable kayak
#

No idea.

inland forge
#

Would it be to do with gamecontrollerdb.txt? I dont really understand those files. I see descent has one as well as portmaster

#

I guess as descent is my only port I should get another and see if the issue exists only in descent. So I'll get wipeout and see if the issue is still there. Then if it isnt i can just shoehorn the difference somehow? Lol

stable kayak
#

Grr, msys will not deviate from win32 to crosscompile.

unborn chasm
#

The old one had one that was just a file for ogacontrols

#

So just named wrongly

stable kayak
#
scons CXX="C:/Program Files (x86)/Arm GNU Toolchain aarch64-none-elf/13.2 Rel1/bin/aarch64-none-elf-gcc.exe" sdl2=1 sdlmixer=1 opengl=1 TARGET_ARCH='aarch64' PLATFORM='linux'
scons: Reading SConscript files ...
===== D1X-Rebirth v0.61.0 None =====
===== D2X-Rebirth v0.61.0 None =====
DXX-Archive.3: compiling on 'win32'/None for 'win32' into build/
#

Wat

unborn chasm
#

The controller with that layout gets presented to the game and the game assigns the sdl mappings to its own keys

inland forge
unborn chasm
stable kayak
#

@naive anvil Any time or luck?

naive anvil
#

Nexts days i will surely I found a hole to fill this btw

#

But dunno when now ahah

naive anvil
stable kayak
naive anvil
#

okay, in compiling then

#

that i did a fast try

#

i used these setting like up here sdl2=1 sdlmixer=1 opengl=1

#

btw seems to coompile out of the box for now

stable kayak
#

But does it run? :p

naive anvil
#

probably (?)

#

i mean seems to use sdl2 for a good amount of things

#

so if they didn't upgrade on the open gl side yeah i guess

stable kayak
#

Must be nice to have chroots all set up lol

naive anvil
naive anvil
#

literraly 6 commands to have almost everything

#

beside weird lib used only in winter kek

stable kayak
#

Maybe I’ll try it again on a vm tomorrow

naive anvil
#

if this one not works yap

stable kayak
#

But if your compile runs fine then it’s good for packaging and pr I bet

naive anvil
#

if there are no new bugs yap

#

forgot to use -j rip

#

one core ftw lol

#

d1x finished btw

stable kayak
#

👍🏻

naive anvil
#

my broken humor

stable kayak
#

Pog

stable kayak
naive anvil
#

i imagined it was some kind of guide

#

definitely not a high-end bitch

stable kayak
naive anvil
#

btw, kinda long as compiling for a similar game

stable kayak
#

This port in particular though is pretty high end

naive anvil
#

i expected more fastness

#

i stopped and redone with -j14 lol

stable kayak
#

What’s -j14?

naive anvil
#

scons -j14 is to compile with 14 core

#

technically also for just make usually, like make -j14

stable kayak
#

Thought compilers would know to use all cores

naive anvil
#

most are set as j4 btw

#

the problem is that you can't use all the cores

#

100% crash on itself lol

#

most of the time, for fast things is usually okayish

#

also i use 14 core cause i have an old xeon with 24 cores on the mule

#

probably on the main pc with 16 cores -j14 cause error and shit lot of times

stable kayak
#

Runs on 351 and savegame bug fixed

naive anvil
#

that's my chroot magic doggokek

#

jokes asides, we are good then?

stable kayak
#

Multiplayer looks to be out for now.

naive anvil
#

out = ??

stable kayak
#

Yeah all set, just testing some niche things.

stable kayak
#

But that can be a number of things.

naive anvil
#

you used rebirth too here?

stable kayak
#

Yeah

#

Well I use d2x-xl normally

naive anvil
#

also now?

#

cause guess could be a problem

stable kayak
#

The rebirth windows build hosted on their website is an older build

#

So starting there for ver incompatibility

naive anvil
#

definitely the main problem

stable kayak
#

Building from source for windows atm

naive anvil
#

k

stable kayak
#

Also I did say I don't think it's wise to "support" multiplayer

naive anvil
#

we can remove it i guess, but why?

stable kayak
#

Cross-platform issues, rebirth team doesn't officially support aarch64.

#

Yet.

naive anvil
#

i mean,works without changes

stable kayak
#

Also if same build ver is not the issue for connection error.

naive anvil
#

definitely support it

#

if it works obv

#

i mean, if they didn't want ports better have a closed source doggokek

stable kayak
#

The version is interesting, in the latest windows build from source it's this

#

No beta2 or any strings after

naive anvil
#

guess we should try with 2 handheld

#

or linux amd64 with arm64

stable kayak
#

Tomorrow lel, I need to sleep. Unless you're firing it up right now.

#

D1X 0.61.0.16 player's game Descent: First Strike 11/25/23 02:04:04
D1X 0.61.0.16 Tyler Descent: First Strike 11/25/23 02:01:10

Well according to the game tracker website at least it's same version

naive anvil
#

nope

stable kayak
stable kayak
#

The above issue is still a thing with aarch, but not present on windows. Also, SConstruct computes the extra version info:

class Git(StaticSubprocess):
    class ComputedExtraVersion:
        __slots__ = ('describe', 'status', 'diffstat_HEAD', 'revparse_HEAD')
        def __init__(self,describe,status,diffstat_HEAD,revparse_HEAD):
            self.describe = describe
            self.status = status
            self.diffstat_HEAD = diffstat_HEAD
            self.revparse_HEAD = revparse_HEAD
        def __repr__(self):
            return f'ComputedExtraVersion({self.describe!r},{self.status!r},{self.diffstat_HEAD!r},{self.revparse_HEAD!r})'
    UnknownExtraVersion = (
        # If the string is alphanumeric, then `git archive` has rewritten the
        # string to be a commit ID.  Use that commit ID as a guessed default
        # when Git is not available to resolve a current commit ID.
        ComputedExtraVersion('$Format:%(describe:tags,abbrev=12)$', None, None, 'archive_$Format:%H$') if '$Format:%H$'.isalnum() else
        # Otherwise, assume that this is a checked-in copy.
        ComputedExtraVersion(None, None, None, None)
        )

I'm not sure why it does this for aarch64 and not windows versions.

unborn chasm
#

Next check maybe on amd64 Linux vs arch

stable kayak
unborn chasm
#

That's only if the game needs opengl

#

And does not work gl4es

#

So hard requirement

stable kayak
#

I know it builds with opengl=1, but I don't recall if it's a dependency for sdl.

unborn chasm
#

Are you talking about ports.json?

stable kayak
#

Yeah

unborn chasm
#

Yeah but we use gl4es here

stable kayak
#

I'm making the packaging part now.

unborn chasm
#

Bugdom for example is one that only runs on mainline Linux with full opengl

#

Only a handful games are in that category

stable kayak
#

Cool.

#
{
  "version": 2,
  "name": "descent.zip",
  "items": [
    "descent.sh",
    "descent/"
  ],
  "items_opt": [],
  "attr": {
    "title": "Descent",
    "porter": [
      "Jeod"
    ],
    "desc": "Play as a mercenary sent into planetary mines to destroy them before a computer virus spreads! You'll fly through 3D mazes in search of keycards to gain access to each level's reactor--which, once destroyed, will begin a self-destruct! Make sure you know where the exit hatch is! It will only open when the reactor is destroyed. Oh, and watch out for those virus-infected robots. They'll shoot at you.\n\nIncludes shareware/demo files. See instructions to use full version.",
    "inst": "Ready to play with shareware and demo files. To upgrade to full game, purchase on Steam/GOG and then add .hog and .pig files to descent/data and descent2/data.",
    "genres": [
      "fps"
    ],
    "image": null,
    "rtr": true,
    "exp": false,
    "runtime": null,
    "reqs": []
  }
}
#

This should be fine then.

unborn chasm
#

It's not RTR?

stable kayak
#

It's RTR with shareware and demo files included.

unborn chasm
#

Oh okay

stable kayak
#

I'm gonna add more names to the porter section. Was a big job.

unborn chasm
#

Sounds good

stable kayak
#

The online tool doesn't have a spot for the image. Manually add it I guess.

unborn chasm
#

The main image is generated by the screenshot and auto added to the page at top

stable kayak
#

Yup

#

Since DXX-Rebirth is used as the wrapper for the games, you may encounter some bugs in gameplay that are beyond our control. Please use the <a href="https://github.com/dxx-rebirth/dxx-rebirth">DXX-Rebirth Github Repo</a> to track and report issues. Where to put this line? Or toss it entirely?

unborn chasm
#

Well until now at least, @sharp gazelle

unborn chasm
unborn chasm
#

Someone like you we need to make the documentation on the website more pretty ^^

stable kayak
#

I guess when you get a moment if you wouldn't mind glossing over the repo to be sure everything looks ok,

#

ANYWAY, still need to resolve the version issue since multiplayer won't work with the extraversion tag. Need to test device to device and device to linux.

sharp gazelle
jovial oriole
#

multiplay RG552 vs RG351MP 👍

stable kayak
#

The question is why...

#

@naive anvil You did pull the newest source? It wasn't something sitting on your HDD from a while back? :v

naive anvil
#

I made a git clone

#

So definitely nope

#

Also because why should I have an old descent on an arm chroot remade 1 month ago?

naive anvil
# stable kayak The question is why...

About the Why?
Cause it's an open source program and Linux has like 717226 more layers than windows on libs in general and graphic libs, it's kinda common to have little different versions.

stable kayak
#

But for it to be straight up incompatible? No crossplay? That seems...odd.

#

@inland forge I updated the sdl controls branch with the rebirth builds tekken provided btw

naive anvil
#

Definitely super mega possible lol

#

There's no obligation to do anything from their side

#

Odd?
Absolutely, but it's a hobby, so it surely has imperfections

stable kayak
#

The d1x-rebirth and d2x-rebirth files in descent/ and descent2/

naive anvil
#

So he didn't need to go scroll 10 mins

stable kayak
#

D1X-Rebirth v0.61 0.60.0-beta2-2701-ga6161c031a5b <-- Port build
D1X-Rebirth v0.61 <-- Windows build

This is normal?

naive anvil
#

I'm not the one doing the naming of the version

#

Jk obv

stable kayak
#

I'm not trying to offend, trying to understand.

naive anvil
#

But I mean, yeah I guess

#

That is the result of the git clone, if it's different is due to some system specification

#

But it's something up to the devs

stable kayak
#

I don't think it should have any 0.60.0 references if it's v0.61. Weird.

naive anvil
#

It seems that on Linux they are in an intermediate state between the two simply

#

Why?
Cause there is probably something that needs to be done on their side on Linux

stable kayak
#

That makes sense.

naive anvil
#

I mean, maybe next month if we update is fine

#

But that's something we can't control too much xD

#

For example could also be that the SDL2 version is something that tells the program to build "an experimental build"

#

That works better but is indeed experimental

stable kayak
naive anvil
#

Using SDL 1.2 is definitely not worth it in every case

stable kayak
naive anvil
#

Yap, Indeed it was just an example, but there could be a lot of variables

jovial oriole
#

instsalled older version on one System. Multiplayer succes with different linux builds.

naive anvil
#

So it's just something based on the kind of system it seems lol

stable kayak
#

Maybe it's just me. I have tmobile home internet with cgnat.

#

I'd think LAN games would work since it doesn't need to touch the tmobile side though.

#

But direct connect didn't work either.

naive anvil
stable kayak
#

Localhost

naive anvil
#

Sometimes you can solve with a hotspot, technically the same things ,but the phones seems less picky lol

stable kayak
#

The long tag in vLKp's comment is 0.60.0-beta2-2701-ga6161c031 and the one we have is 0.60.0-beta2-2701-ga6161c031a5b....the a5b is new.

naive anvil
#

Like every active open source project is something updated daily lol

stable kayak
#

No the last commit to rebirth was 2 weeks ago

naive anvil
#

Probably in a few hours we have another code

#

So we are fine then doggokek

#

Sincerely I suggest not thinking too much about the multiplayer thing btw

#

I mean, the game is fine, updated and seems to work online between our devices

#

Guess we can consider it complete

stable kayak
#

I'd like to try connecting to a device outside of LAN out of curiosity. @jovial oriole?

inland forge
naive anvil
#

Lol

#

These ones were 35 mb

#

Before strip

stable kayak
#

Yeah the 1478 commits may have removed a bunch of junk code too.

naive anvil
inland forge
#

Thx

naive anvil
inland forge
#

Yup older ones are the same just with no extension

naive anvil
#

Took out like 5mb in compiling and I guess 1 mb in strip max

jovial oriole
#

tested again between different subnets forwarding udp 42424 work also.

stable kayak
#

Oh you said stripped and I assumed that's what it meant.

naive anvil
#

And imagine how much junk there was to start from 35 mb and reach 1 mb final lol

stable kayak
#

I can think of one more optimization. Do any devices have configurable "player names" already that device_info could grab? Trying to come up with a way to prevent the user from having to manually rename player.plr and player.plx.

#

Otherwise you'll get this and it'll be harder to distinguish if multiple devices are hosting games.

#

(It also affects their ingame display name by their ship, won't matter much for coop but for 3+ player games...)

#

Hmm only thing I see on my rg351 is my screenscraper username lel

#

Probably best to leave it the way it is

#

Looks like gptokeyb only allows one textinputpreset, so can't do cheats.

unborn chasm
#

First you need to find a player who even wants to use multiplayer lol

unborn chasm
#

That's how we usually do it

stable kayak
#

Well I would but I broke something because neither game will run

#
#!/bin/bash
exec >> "/roms/ports/descent/shell.log" 2>&1
if [ -d "/opt/system/Tools/PortMaster/" ]; then
  controlfolder="/opt/system/Tools/PortMaster"
elif [ -d "/opt/tools/PortMaster/" ]; then
  controlfolder="/opt/tools/PortMaster"
else
  controlfolder="/roms/ports/PortMaster"
fi

source $controlfolder/control.txt

get_controls

source $controlfolder/device_info.txt

GAME="d1x-rebirth"
GAMEDIR="/$directory/ports/descent"

cd $GAMEDIR

$ESUDO rm -rf ~/.$GAME
ln -sfv $GAMEDIR/conf/.$GAME ~/

export LIBGL_FB=4
export LD_LIBRARY_PATH=$GAMEDIR/libs:/usr/libs

# Edit .cfg file
sed -i "s/^ResolutionX=640/ResolutionX=$DISPLAY_WIDTH/g" $GAMEDIR/conf/.$GAME/descent.cfg
sed -i "s/^ResolutionY=480/ResolutionY=$DISPLAY_HEIGHT/g" $GAMEDIR/conf/.$GAME/descent.cfg

$ESUDO chmod 666 /dev/tty1
$ESUDO chmod 666 /dev/uinput
$GPTOKEYB "$GAME" -c "./descent.gptk" & ./$GAME -hogdir Data 2>&1 | tee -a ./log.txt
$ESUDO kill -9 $(pidof gptokeyb)
$ESUDO systemctl restart oga_events & 
printf "\033c" >> /dev/tty1
#

Looks fine to me though but it doesn't output anything in shell.log

#

Ok I really need to make Notepad++ default to unix lf

#

The zip is like 75MB for descent 1

#

Maybe I should make the script download the addons and shareware files.

inland forge
#

I just tested d1 with tekkenfede's file. What are the differences? apart from the file size (And it saying beta at the bottom. And the different (inferior!) Parallax logo

stable kayak
#

1400 or so commits of minor bugfixes etc like being able to save your game in d1x using integers

#

What should be in the contents of markdown/portname.md? Doesn't seem like I should just copy the readme.md from the port folders.

unborn chasm
#

Packages up to 200mb are totally finr

unborn chasm
#

That is what is shown in the wiki

stable kayak
#

I know what to name it I mean the contents.

#

Default controls I suppose.

#

descent.md

## Configuration
You may rename Player.plr and Player.plx in the conf folder for a different multiplayer display name. If you do so, please modify the d1x.ini or d2x.ini file to reflect this change.

## Default Gameplay Controls

| Button | Action |
|--|--| 
|A|Primary Fire|
|B|Deploy Bomb|
|X|Secondary Fire|
|Y|Fire Flare|
|L1|Reverse|
|L2|Cycle Secondary Weapon|
|L3|Not Set|
|R1|Accelerate|
|R2|Scroll Primary Weapon|
|R3|Not Set|
|D-PAD UP|Look Up|
|D-PAD DOWN|Look Down|
|D-PAD LEFT|Turn Left|
|D-PAD RIGHT|Turn Right|
|LEFT ANALOG|Look Around|
|RIGHT ANALOG UP|Not Set|
|SELECT|Back / Escape|
|START|Start / Accept / Enter|

## Level Select Controls

| Button | Action |
|--|--| 
|B|0|
|Y|1|
|X|2|
|L1|3|
|L2|4|
|R1|5|
|R2|6|
|SELECT+  B|7|
|SELECT + X|8|
|SELECT + Y|9|

## Thanks
Cebion  
romadu  
Tekkenfede  
krishenriksen  
Testers and Devs from the PortMaster Discord  
Parallax Software
<a href="https://www.dxx-rebirth.com/">DXX-Rebirth</a> Team  
#

Guess it's ready. Incoming pull request.

stable kayak
#

Or games.html?

stable kayak
#

Thought so

#

Yeah contents show up under Additional Information on a game's page

#

That's what influenced my choices.

unborn chasm
#

Yep

stable kayak
unborn chasm
#

nah

#

post the final zip first

#

lol

#

madlad

#

That is the zip the users test here usually

#

we have to test if the install via pm cli works

#

zipname ideally lowercase

stable kayak
unborn chasm
#

If you don't use keys in the gptk just delete the entry

stable kayak
#

It's too big to upload to discord

#

I want to leave the entries for users who have those buttons though.

#

Or do you mean for the md?

unborn chasm
#

gptk

stable kayak
#

Like

# Leave L3 and R3 blank since not available on all supported devices
l3 = 
r3 = 
unborn chasm
#

In my opionion all comments and extra stuff needs to be out of the gptk

#

but that's me 🙂

stable kayak
#

I left those in for users to know they can be mapped if they have the buttons.

stable kayak
#

This game's one of the more advanced ones in pm. I think the extra comments are warranted.

#

Besides it works.

unborn chasm
#

this whole block

#GAME SYSTEM KEYS
# Abort Game:                Esc
# Show Game Log:            Shift-Esc
# Help Menu:                F1
# Options Menu:                F2
# Save/Load Game:            Alt-F2/F3
# Quicksave/Load:            Alt-Shift-F2/F3
# Switch Cockpit Modes:        F3
# Drop Marker:                F4
# Toggle Recording:            F5
# Switch HUD Modes:            Alt-F7
# Pause:                    Pause
# Screenshot:                Printscreen
# Select Primary Wpn:        1-5
# Select Secondary Wpn:     6-0
# Cycle Left/Right Window:    Shift-F1/F2
# Menu Affirmative:            Space

# GPtoKeyB Documentation: http://portmaster.games/gptokeyb-documentation.html

###################################```
#

that has nothing to do in a mapping file

#

That's all readme stuff

stable kayak
#

.>

#

Are you gonna reject my pr over semantics?

unborn chasm
#

Nah just saying

stable kayak
#

I didn't put that part in the readme because I don't want to confuse players who aren't gonna dabble in gptk or don't care about the menu stuff.

#

Descent veterans will probably be the ones looking for these things, so they're in the gptk where it makes sense.

unborn chasm
#

It's just we're trying to keep things simple and a bit uniform. And the mapping file was always just for mapping and any other information we put into the readme

#

So all keys the device has + mappings

#

But it's okay for now, 🙂

#

Thanks for writing it all

stable kayak
#

If I take it out do I need to resubmit my pr or can I just replace the zip files?

unborn chasm
#

just leave it

stable kayak
#

Ok I don't need to update my pr, nice

#

Now I wait

unborn chasm
#

okay

#

you forgot one thing lol

#

The PR description

#

There was a template when you create a new PR

#

name, url, what devices you tested on

#

You can add it as a additional comment

stable kayak
#

Oh lemme go back and edit that

unborn chasm
#

It's just there to know what we're working with and how deep we need to check the package

stable kayak
#

What would the url be?

unborn chasm
#

atm christian approves mostly the PRs but soon we'll swittch the PM Repo to the Portmaster Org

stable kayak
#

Rebirth website maybe?

unborn chasm
#

yeah the source the game was compiled from

stable kayak
#

Well it has a github

#

And a website

#

The github is more up to date

unborn chasm
#

both are fine

stable kayak
#

Ok updated pr

unborn chasm
sterile bridge
#

hello guys, I am very hyped to try descent on my "used" ogs, but I already have descent rebirth created on 02.2022

#

what is this thing?

stable kayak
#

Where've you been the past week? XD

sterile bridge
#

ah, far from home 😄

stable kayak
#

The 2022 build was from Anberports. Outdated and pulled from PortMaster a while back.

sterile bridge
#

I see, so better to update

stable kayak
#

Yep.

stable kayak
#

DXX-Rebirth dev vLKp requested a test: compile dxx-rebirth for x86-64 linux gnu and place descent.hog, descent.pig, and d1x-music-sc55.dxa in d2x-rebirth/data and see if music plays when running the mission Descent: First Strike. On aarch64 (this port), music does not work. Rebirth dev is looking to find out if it's an aarch64 unique thing.

#

Completely optional, test not needed for port.

naive anvil
#

We'll see I guess

#

Thank god it's a "bug not bug"

inland forge
#

I just nailed the first 2 missions on ace with this. (Descent 1). All can be flipped left to right ofc:

Accel/reverse on r2/r1

bank left and right is on both sides. On dpadleft/dpadright respectively, AND on west/east face buttons

Left stick: pitch and turn
Right stick: slide up/down/left/right

Dpad down:flare
Dpad up: rear view

Automap: select
Menu:start

Buttons 1 and 2 on Chi: cycle primary and secondary weapons

North face button: slide on

South face button: bomb

stable kayak
#

Hahaha there's a bug in d1x where the spiderbot spawns green claws instead of baby spiders

#

Good luck on Ace when you hit Level 6 @inland forge

stable kayak
#

Aaand pr merged!

stable kayak
#

Tfw there’s a typo in the controls table in the md

#

“RIGHT ANALOG UP”

#

Ah well I’ll update it when we add a new rebirth build

unborn chasm
inland forge
#

Congrats on the release 🥳

odd herald
#

Hmm.. i downloaded both descent games and i istalled the datafiles from my previous versions to those but now both are not booting. So do i need different datafiles than before they needed?

odd herald
#

I guess same goes for descent 2

#

Same error i mean

unborn chasm
#

Well did you read it?

unborn chasm
# odd herald Same error i mean

Could not find a valid hog file (descent.hog)
Possible locations are:
$HOME/.d1x-rebirth
/usr/local/share/games/d1x-rebirth/
In a subdirectory called 'data'
Or use the -hogdir option to specify an alternate

odd herald
#

Yeb

unborn chasm
#

So where is your descent.hog?

odd herald
#

But i have it on data. Just like it was in older version

unborn chasm
#

Show me 🙂

odd herald
#

Hmm.. does it need to be labeled as descent.hog

#

🤔

unborn chasm
#

folder needs to be named Data

odd herald
#

Then the error is in the descent file itself

unborn chasm
#

Oversight, because Linux is case sensitive

#

In your .sh Change Data to data

odd herald
#

👌

unborn chasm
#

Did it work?

odd herald
#

Yes it did! 👌

#

Oh but descent 2 has somethig else

#

Game boots but after i see descent 2 logo it goes back to ports menu

unborn chasm
#

@stable kayak you might want to fix that typo 😛

stable kayak
unborn chasm
odd herald
#

@unborn chasm Oh descent 2 works. I just forgot to copy ALL the files i needed 🤣

#

Oh and Descent 2 .sh also has the Data typo

unborn chasm
#

Wonder why it worked at all lol maybe the game searched all subdirectories

odd herald
#

@unborn chasm oh and check out my miracle in portmaster. 😄

unborn chasm
#

Ah yeah

#

Read again

#

Could not find a valid hog file (descent.hog)
Possible locations are:
$HOME/.d1x-rebirth
/usr/local/share/games/d1x-rebirth/
In a subdirectory called 'data'
Or use the -hogdir option to specify an alternate

#

It says the Data dir that was given by the .sh is invalid

#

And that he looked in home, usr/share and subdirectory data

stable kayak
#

The really odd thing is, it's been running fine on my 351.

stable kayak
#

I fixed the typo for next version.

stable kayak
#

I’ve been spending some free time looking over dxx source to try to find the spider bot issue. No luck so far.

#

Green claw bot has a robot id of 1 and baby spiders have a robot id of 14. I’m sure the value is being truncated somewhere.

#

Hmmmmmmm

#

Only occurs in d1x and only d1x uses (void)robot_info

#

Probably off track

stable kayak
#

Dxx-rebirth got its issue fixed so I'm attempting to compile, but:

stable kayak
#

Looks like christian's prebuilt vm has an old gcc version.

stable kayak
#

I can't find gcc10 or 11 with apt install gcc though

#

8 is the latest for the vm

naive anvil
#

from wsl is fine

#

just have a final error

naive anvil
#

should be 2 version before the needed for various port

stable kayak
#

@naive anvil What compile issue do you get?

naive anvil
#

a . placed where he doesn't like it

#

that said, got a few problems at works these day that drained my energies

#

haven't checked yet how stupid it is

stable kayak
#

@naive anvil May have fixed it but can’t test tonight

modest nimbus
#

Descent is a very cool fps game. Played a lot in my youth. Multiplayer deathmatch on Minerva custom map is awesome.

#

Still about this port: How could we allow for having real joystick support? I mean, having real analog sensitivity when moving/aiming would improve gameplay for a bit, mostly when aiming targets.

#

A couple of months ago, I tried windows version, with a GameCube controller. Managed to configure all analog sticks with sensitivity support. But in my RG351p, it seems the control bindings were done fully through gptk, mapping keys and mouse buttons to controller buttons.

#

It works fine, but real joystick support would be even better.

stable kayak
#

Real joystick support would be a chore especially since there are so many different devices. The Chi for example has a different axis orientation than Anbernic devices.

#

It’s not something I’m particularly interested in pursuing since I only own one device. I’d prefer users use the gptokeyb dead zone options.

#

By all means feel free up make a fork for sdl controls.

modest nimbus
#

Cebion mentioned these days about a functionality that kinda allows using gptk to make the device controller behave as if it was a xbox360 controller.

#

Something like that would possibly allow for multiple devices to have the same button mappings.

#

It should allow us to have analog support for multiple devices, at least in theory. Haven't gone practical, though.

stable kayak
#

I think that feature is still prerelease iirc

stable kayak
modest nimbus
#

Cool. I'll try it when I have some spare time.

stable kayak
#

The issue is it will still use the gptk file and the default player profile is configured for kbm gptk

#

You'd need to adjust more to make it work well enough

#

I can't find documentation on what exactly the xbox360 command line argument does.

stable kayak
#

<@&1123159718874058882> A new dxx-rebirth build is available and has been pushed to https://github.com/JeodC/Portmaster-Descent. Please update your d1x-rebirth and d2x-rebirth files in ports/descent and ports/descent2 and test functionality. On my rg351 amberelec the games boot and run as expected. The new build has >20 commits since November. I would like it tested before pushing to Portmaster. If you wish you can also download the entire port again to gain cheats functionality. See the readme.md for instructions.

vale temple
#

./d1x-rebirth: /lib/aarch64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.29' not found (required by ./d1x-rebirth) ./d1x-rebirth: /lib/aarch64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by ./d1x-rebirth)
./d1x-rebirth: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./d1x-rebirth)
classic arkos library shennanigans

stable kayak
#

I have an option to remove a clause to make it compile in gcc10, but I’d really rather not. When is arkos planning on updating their glib?

stable kayak
#

wELP

#

No arkos then

#

How shall I redo the packaging to indicate no arkos support then?

#

I suppose we will need a compatibility flag on the port json.

unborn chasm
#

Also a thing of is the update significant enough to drop devices

trail timber
#

Also i pretty much exclusively use ArkOS 😄

naive anvil
naive anvil
naive anvil
vale temple
#

doesnt help that those cheap R3*S clones are very popular and they come with Arkos as stock

stable kayak
naive anvil
#

I mean, the game technically works fine also without the updates, so definitely is an idea

stable kayak
#

I thought it over and I think instead of limiting the port for compatibility for one OS I would rather fork rebirth and have a "compatibility source" that users can build themselves.

#

Otherwise the maintainer may go "hurr you need to update gcc for these fixes/features" and pull support.

unborn chasm
#

So ark would get old stable version y and all others the new one

stable kayak
#

It would mean multiplayer breaks between the versions as well.

#

Isn't arkos being maintained by community?

unborn chasm
#

Christian

stable kayak
#

But it's open source isn't it?

unborn chasm
#

Kinda yeah

stable kayak
#

Wonder how difficult it would be to update glibc there

unborn chasm
#

Thing is updating system libs is a major pita xD

stable kayak
#

I assumed so or he'd have already done it

unborn chasm
#

And can break everything

stable kayak
#

Thing is I'm sure more and more ports will require modernization as newer devices are released.

#

ArkOS will at some point become a thing of the past unless it becomes community driven.

#

So, if I'm going to drop ArkOS support and push this updated build, how should I package it?

unborn chasm
stable kayak
#

Which is...?

unborn chasm
#

Not invented lol

stable kayak
#

I know but IF IT DID, what would it look like? XD

#

I don't suppose I can just slap a glibc version in the port libs folder either.

#
## Compatibility
ArkOS is NOT compatible with this port. Users will encounter the following error on attempting to run:

./d1x-rebirth: /lib/aarch64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.29' not found (required by ./d1x-rebirth)
./d1x-rebirth: /lib/aarch64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by ./d1x-rebirth)
./d1x-rebirth: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./d1x-rebirth) 

ArkOS only uses up to GLIBC 2.30 and as ArkOS is no longer maintained, this port is not compatible.

Blurb in readme will have to suffice.

naive anvil
stable kayak
#

In simpler terms looks like the Nov 11 commit batch was used.

unborn chasm
stable kayak
#

Welp, there’s a new comment that I don’t quite understand. doggokek

stable kayak
#

I don't have arkos so I'll need someone else to try it when it's done, but I'm recompiling with scons sdl2=1 sdlmixer=1 opengl=1 LINKFLAGS='-lstdc++' for dynamic linking.

stable kayak
#

@vale temple Try again

vale temple
#

Still the same

stable kayak
#

Bummer

sterile bridge
#

hmm, I have retrooz (old arkos) and version of descent 1 and 2 from portmaster. descent 1 works perfect, but 2 fall back to ES almost immediately. I was sure that they have same engine 😔

naive anvil
sterile bridge
#

need to try ssh, as usual

naive anvil
#

Yeah, ssh always gives answers

stable kayak
sterile bridge
#

oh, portmaster contains latest version that is not compatible with arkos ? I thought I pumped older version (i hoped). then waiting for a fix

stable kayak
#

No, I haven't updated portmaster yet

naive anvil
#

Last one has a problem with arkos due to being build on bookworm chroot

#

The main problem is that retroz is like giving support to Uos, could be a way older lib the problem or anything else.

sterile bridge
#

yep, I will check terminal as soon as son fall asleep, but I believe nothing can be fixed anyway

stable kayak
#

If all goes well here I may have a compatibility version from forked source.

#

I don't think there are any features left to add, just code optimizations for modern standards, so shouldn't be a big issue being compat mode. Only problem might be multiplayer breaking due to commit hash differences.

naive anvil
#

Btw

unborn chasm
#

researched a bit and most often the answer is

#

So ubuntu 20.04 in this case 😛 not sure which the last debian version is

stable kayak
#

Yeah ofc but dxx-rebirth doesn't want to support older versions.

#

I have a fork that builds successfully via docker (github actions) but I have yet to figure out how to get the binaries (or even the docker image).

#

I wanted to build through github actions to more easily change source code.

unborn chasm
stable kayak
#

You clearly haven't kept up with the issue links I provided. :p

unborn chasm
#

Nope 😛

#

I saw the one about compiling

#

But not what errors we have in the current build

stable kayak
#

An error in a header file that uses a requires clause in two places, which gcc-10 doesn't appear to fully support.

#

I removed the clauses in my fork so I'm building in wsl currently to see if it works in arkos.

#

...and elsewhere since I have no idea what commenting out these clauses might do.

#
I was able to resolve the issue by explicitly commenting out the following in valptridx.h:

    ptr(allow_none_construction)
    // Remove the requires clause for gcc-10 compatibility
    /*    requires(
            !allow_nullptr    // allow_none_construction is only needed where nullptr is not already legal
        ) */
        :
        m_ptr(nullptr)
    {
    }
    template <typename rpolicy>
        ptr(ptr<rpolicy> &&rhs, const typename containing_type::rebind_policy *)
    // Remove the requires clause for gcc-10 compatibility
    /*    requires(
            allow_nullptr || !rhs.allow_nullptr    // cannot rebind from allow_invalid to require_valid
        ) */
        :
            m_ptr{const_cast<managed_type *>(rhs.get_unchecked_pointer())}
    {
    }
I'm wondering if this will have any runtime implications. I'm not too familiar with c++ code, so I am unsure what this clause is supposed to do and what errors might come up with it left out.
unborn chasm
#

This I saw yeah

#

But did not see what benefit the new update brings to the game

stable kayak
#

It fixes a bug where a kind of robot (baby spider) was literally never used.

#

Normally you'd kill a spider robot and it would explode into 3-4 baby spider robots.

#

Instead it exploded into 3-4 big green claw robots. Made zero sense.

unborn chasm
#

I'll try to compile it on a test machine of mine I'm working on

stable kayak
#

Dw I'm already compiling.

sterile bridge
#
D2X-Rebirth v0.61 0.60.0-beta2-2701-ga6161c031a5b  Nov 25 2023 01:34:09
This is a MODIFIED version of Descent 2, based on Full Version v1.2.
Copyright (C) 1994-1996 Parallax Software Corporation
DESCENT is a trademark of Interplay Productions, Inc.
Copyright (C) 1999 Peter Hawkins, 2002 Bradley Bell, 2005-2013 Christian Beckhaeuser, 2013-2017 Kp
Using SDL_mixer library v2.0.4
file /dev/mali0 is not of a compatible version (user 10.6, kernel 11.7)
file /dev/mali0 is not of a compatible version (user 10.6, kernel 11.7)
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
DXX-Rebirth: OpenGL: disabling automatic GL sync since VSync is turned off
Failed to open movielib <intro-h.mvl>: not found
Failed to open movielib <intro-l.mvl>: not found
Failed to open movielib <other-h.mvl>: not found
Failed to open movielib <other-l.mvl>: not found
Failed to open movie <intro.mve>: not found
Failed to open movie <titles.mve>: not found
similar/main/piggy.cpp:1099: read_sndfile: error: Cannot open sound file: descent2.s22: not found
stable kayak
#

That's user error

sterile bridge
#

absence of video files?

stable kayak
#

Did you download directly from portmaster?

sterile bridge
#

yes

#

from odroid

#

then copied HOG and PIG files

stable kayak
#

That's weird, the shareware files shouldn't need those things.

#

Ah so you ARE trying to use the full version.

sterile bridge
#

ok I will delete folder and try shareware

stable kayak
#

The readme tells you what files you need to copy over from full ver.

sterile bridge
#

To upgrade to full game, purchase on Steam/GOG and then add .hog and .pig files to ports/descent2/data.

#

that is what I did, but anyway

stable kayak
#

The readme inside the descent2 folder

sterile bridge
#

oh, got it!

stable kayak
#
Unzip to ports folder e.g. ```/roms/ports/```. Ready to play with shareware and demo files. To upgrade to full game, purchase on Steam/GOG and then add .hog and .pig files to descent/data and descent2/data.

Filelist for full versions:  
├── descent/data  
│   ├── missions/    
│   │ └── bonuscontent   
│   └── descent.hog  
│   └── descent.pig  
│   └── chaos.hog (multiplayer, optional)  
│   └── chaos.msn (multiplayer, optional)  
├── descent2/data  
│   ├── missions/    
│   │ └── bonuscontent   
│   └── alien1.pig  
│   └── alien2.pig  
│   └── descent2.ham  
│   └── descent2.hog  
│   └── descent2.s11  
│   └── descent2.s22  
│   └── fire.pig  
│   └── groupa.pig  
│   └── ice.pig  
│   └── water.pig  
│   └── intro-h.mvl (optional)  
│   └── other-h.mvl (optional)  
│   └── robots-h.mvl (optional)  
│   └── d2x-h.mvl (optional)  
sterile bridge
#

I cheched portmaset.games desciption

stable kayak
#

Yeah the filelist is too long for a json for my taste

sterile bridge
#

shareware version works fine, so I have problems on my side with files

#

thanks

stable kayak
#

I'll have a new version for arkos testing up in a few

sterile bridge
#

text is too small in portmaster version, hope it has fix in new 🙂

stable kayak
#

What device you using?

sterile bridge
#

odroid go super

#

I would like to change "scale" but didn't find such option

stable kayak
#

Open up the ini file and put a semicolon in front of -gl_fixedfont ;Don't scale fonts to current resolution

sterile bridge
#

nice

stable kayak
#

Text was too big and blurry on rg351p and other devices tested so used fixed font by default.

sterile bridge
#

i see, ini file in descent 2 folder?

stable kayak
#

Yes

#

d2x.ini

sterile bridge
#

thanks a lot

#

now it is perfect

stable kayak
#

Runs fine on rg351 amber

#

I have a second sd card, where do I install arkos? I think I'm not supposed to use the "final" build?

#

Ok final then update to wummle fork

#

I remember now

sterile bridge
#

new bin for descent 2 works fine

#

this is success, as I have retrooz - most outdated arkos possible

stable kayak
#

descent 1 had the robots bug

#

But if d2 works, d1 should as well

sterile bridge
#

i will try now

#

yep, descent 1 is good too

#

now I am fully charged for new year trip

stable kayak
#

I'll push to pm then

#

If you want to use cheats use my github repo

#

I don't expect pm to add pr before 48 hours

unborn chasm
#

75% done

#

the new readme was released just recently with how to submit and what changed

stable kayak
#

Oh I submitted to both old and new

unborn chasm
#

I'm waiting with my prs until the move is done 😛

#

any day now 😛

stable kayak
#

Since it's in prerelease maybe you can just shoehorn it in

sterile bridge
#

ok thanks! I will stick to portmaster version with updated bin

#

cheats are for the weak

stable kayak
#

I mean, it's going to have both

stable kayak
#

You can turn them all off easily.

#

Hm ok new descent is not booting on arkos wummle update. No log so it's a sh issue.

#

Or a portmaster issue. Trying descent2 from pm.

#

That boots

#

So what broke...

unborn chasm
#

check permissions

stable kayak
#

You're gonna have to walk me through that, I never use arkos.

unborn chasm
#

ark is really weird with permissions like missing executable rights, no read rights on the files

stable kayak
#

I just need a better log to see what it wants.

#

If I ssh will it output to my console?

unborn chasm
#

usually it tells you if yoyu start via ssh

stable kayak
#

Alr

unborn chasm
#

or try to start the binary directly

unborn chasm
stable kayak
#
ark@rg351p:/opt$ ls
351Files  bootscripts  drastic  fake08   inttools     mvem     ppsspp    retroarch  system
amiberry  cmds         ecwolf   gzdoom   lzdoom       OpenBor  ppssppgo  scummvm    ti99sim
asciis    dingux       elysian  hypseus  mupen64plus  pico-8   quitter   solarus    VVVVVV

Quick get me to the ports folder

unborn chasm
#

it's the same on all cfws or most

stable kayak
#

Derp

#

Ok, how to start the sh

#
ark@rg351p:/roms/ports$ ls
 2048.sh                descent          doom2              Half-Life.sh   'Rick Dangerous.sh'   soniccd
 cannonball             descent2        'Doom 2.sh'         opentyrian      sdlpop              'Sonic CD.sh'
 Cannonball.sh         'Descent 2.sh'    Doom.sh            OpenTyrian.sh   SDLPoP.sh            VVVVVV
 cavestory              Descent.sh       ecwolf             quake           sonic1               VVVVVV.sh
'Cave Story.sh'         devilution       gamelist.xml       quake2         'Sonic 1.sh'         'Wolfenstein 3D.sh'
 cgenius                Devilutionx.sh   gamelist.xml.old  'Quake 2.sh'     sonic2               xrick
'Commander Genius.sh'   doom             Half-Life          Quake.sh       'Sonic 2.sh'

And why are some of these in single quotes and some are not?

#

Wouldn't you know it Notepad++ decided they should be CR LF again

#

Ok both boot on latest ark too

#

Marking this finished again

unborn chasm
stable kayak
# unborn chasm What changed so that it works now?
I was able to resolve the issue by explicitly commenting out the following in valptridx.h:

    ptr(allow_none_construction)
    // Remove the requires clause for gcc-10 compatibility
    /*    requires(
            !allow_nullptr    // allow_none_construction is only needed where nullptr is not already legal
        ) */
        :
        m_ptr(nullptr)
    {
    }
    template <typename rpolicy>
        ptr(ptr<rpolicy> &&rhs, const typename containing_type::rebind_policy *)
    // Remove the requires clause for gcc-10 compatibility
    /*    requires(
            allow_nullptr || !rhs.allow_nullptr    // cannot rebind from allow_invalid to require_valid
        ) */
        :
            m_ptr{const_cast<managed_type *>(rhs.get_unchecked_pointer())}
    {
    }
I'm wondering if this will have any runtime implications. I'm not too familiar with c++ code, so I am unsure what this clause is supposed to do and what errors might come up with it left out.
#

I changed the source code in my fork dxx-rebirth-compat and built

stable kayak
#

#1175040525745803264 message

#

Notepad++ changed the .sh files on me at some point probably back when I added the cheats stuff.

unborn chasm
#

😛

#

Like I wonder if

stable kayak
#

Microsoft got their sticky fingers in everything

stable kayak
#

I just found a treasure trove

unborn chasm
stable kayak
#

Buncha addons like ps1 levels and music

#

Some of them are big files and I'm not sure what each one is, so I'm gonna download and test each of them and add an Addons section to the readme.

unborn chasm
#

nice

#

you really like descent 😛

stable kayak
#

I do.

#

Looks like most of these are different soundcard midi options for that really authentic feel.

#
Rangers Anarchy Mission Pack
Rangers Co-op Mission Pack
Descent Championship Ladder Mission Pack

SC-55 MIDI soundtrack
OPL3 MIDI soundtrack
AWE32 MIDI soundtrack
AWE64 MIDI soundtrack
Ensoniq 2M MIDI soundtrack
Ensoniq 8m MIDI soundtrack
Roland SC MIDI soundtrack
Finn's MIDI soundtrack
Mac Redbook soundtrack
PS1 soundtrack
German briefings

Descent 2 Maximum (PS1 conversion with 30 altered levels)

Rangers Anarchy Mission Pack
Rangers Co-op Mission Pack
Descent Championship Ladder Mission Pack
SC-55 MIDI soundtrack
OPL3 MIDI soundtrack
AWE32 MIDI soundtrack
AWE64 MIDI soundtrack
Ensoniq 2M MIDI soundtrack
Ensoniq 8m MIDI soundtrack
Roland SC MIDI soundtrack
Finn's MIDI soundtrack
Mac Redbook soundtrack
PS1 soundtrack
The Definitive Collection Redbook soundtrack
German briefings```
#

@paper quest will probably enjoy this.

#

I only played it on Windows 95 so I just threw in the sc55 since it was the most familiar. I didn't know these existed.

#

At the time of Descent 2's release, Sony had a "no pc ports" policy, so Descent 2 had to be redesigned. It was renamed Descent Maximum and had some smaller, changed levels due to limitations.

#

dxa files are just zip files so you can open them up easily and listen to find which you prefer

stable kayak
#

@unborn chasm do you have any suggestions on how I should make end users aware? I can host addons on my github for this port easily, but I'm not certain if that's an "ok" thing to do to include the repo in the readme.

unborn chasm
stable kayak
#

Well it's not its own repo

inland forge
inland forge
#

I read that menu joystick controls wasnt a thing in rebirth and wasnt planned. Albeit an old post. (By rebirth devs). So wondering if that bit was tacked on with the anberport anyway

inland forge
modest nimbus
inland forge
#

No it's from before the gptk version

#

Jeod kept it as "sdl controls branch" iirc

#

Ignore description (copy and paste). But sdl version has working sticks. (Not for everyone apparently )

#

Wait. I only see main @stable kayak
Where is sdl controls version?

stable kayak
#

Removed. I believe I commented at one point that it would be better for you to fork it than for me to maintain a branch.

inland forge
#

Lol. True. Idk wtf I'm doing tho or even how to fork it. I thought tek was going to do it 😅

stable kayak
#

You shouldn’t assume such things. He’s likely very pleased that I didn’t depend on him for building the update.

inland forge
#

He mentioned it iirc

#

So is it lost forever?

stable kayak
#

It’s just a few lines edit in your sh file

stable kayak
#

I would love to figure out how docker works so I can make a GitHub action to auto build new commits. Alas, yesterday a build was successful but I was unable to find how to get it out of the docker image (and even get the docker image itself).

#

It’s just faster and easier to build with wsl at the moment and the repo has a build guide

stable kayak
unborn chasm
#

Ah ok

stable kayak
#

Never got it fully functional and I don’t think there’s any reason to do auto builds other than learning experience.

#

The port probably won’t need further updates.

#

That said there are two other containers that I know of: DXX-Retro and DXX-Redux. I don’t know what the differences are.

stable kayak
#

Is it me or are some sfx louder than others?

stable kayak
#

I was playing Descent 2 and some of the laser and explosion sounds seemed louder than others.

inland forge
#

Idk. You tried it in mono?

#

I get a good stereo surround effect but idk why that would affect your own laser

#

Unless echoes or something. I didnt know it was that advanced tho

naive anvil
stable kayak
#

Maybe, if nobody else gets it. It almost sounds like sfx are having duplicate playback.

#

So rebirth supports using joystick and kbm in parallel, so technically it should be possible to use native sdl controls ONLY for the analog sticks. Just need a way to disable all other sdl controls.

#

Once that control is in place end users could just tick the "enable joystick" box in options.

#

Would be no need to split builds.

#

@unborn chasm The source $controlfolder/control.txt line in sh files is for sdl controls yes?

#

So it isn't needed if not using sdl controls anyway.

stable kayak
#

Couldn't I just do a controls.txt file like:

left_analog_up = \"
left_analog_down = \"
left_analog_left = \"
left_analog_right = \"
right_analog_up = \"
right_analog_down = \" 
right_analog_left = \"
right_analog_right = \"

To only use analog sdl and leave buttons to gptk?

stable kayak
#

I did that and added $GPTOKEYB "$GAME" -c "./descent.gptk" & SDL_GAMECONTROLLERCONFIG="$sdl_controllerconfig" ./$GAME -hogdir data 2>&1 | tee -a ./log.txt and it does nothing.

#

I wonder if I missed something

#

gamecontrollerdb.txt:

up = up
down = down
left = left
right = right
left_analog_up = up
left_analog_down = down
left_analog_left = left
left_analog_right = right
right_analog_up = up
right_analog_down = down
right_analog_left = left
right_analog_right = right
unborn chasm
#

what's that?

#

That looks like a remap file for oga_controls

#

a gamecontrollerdb.txt file looks like this

#

oga_controls (the one used in the old descent version) just borrowed the name

stable kayak
#

I went off what anberports had

unborn chasm
#

yeah they used oga_controls

#

instead of gptokeyb

stable kayak
#

How do I set up sdl controls properly then?

#

Weebsite has no doc for that unlike gptokeyb

unborn chasm
#

sdl controls are handled from the game

#

the sdl config file tells which buttons on the device correspond to which sdl joy button

#

but the game needs to tell what button it wants to use for what

#

and gptokeyb just converts keyboard keys to sdl buttons

stable kayak
#

SDL_GAMECONTROLLERCONFIG="$sdl_controllerconfig" in sh is correct then but the gamecontrollerdb.txt file is not

unborn chasm
#

it's so the game can find it if it wants

stable kayak
#

So I need to use the oga controls?

unborn chasm
stable kayak
#

Ok

#

I'm a little lost

#

The sh is the only thing I should need to modify/add then?

unborn chasm
#

this #1175040525745803264 message

#

is already correct

#

if you want that the game handles it you have to uncomment the bindings like you did

#

gptokeyb won't touch it then

#

and then its up to the game to detect the joystick and use the buttons

#

usually in the config files

stable kayak
#

Ok I made that edit but the analog sticks still do nothing.

unborn chasm
stable kayak
#

No I just disabled joystick in options

#

I re-enabled it but nothing

#

Ah could be the ini file

#

Ok, fixed. But, d-pad still double mapped.

#

Even with

up = \"
down = \" 
left = \"
right = \"
left_analog_up = \"
left_analog_down = \"
left_analog_left = \"
left_analog_right = \"
right_analog_up = \"
right_analog_down = \" 
right_analog_left = \"
right_analog_right = \"
#

Hmm

#

gptokeyb shouldn't be touching them, so why are they double mapped...

unborn chasm
#

to test you can comment out gptokeyb

#

What does the current sh look like?

stable kayak
#

Oh I don't think I shut gptokeyb down or anything in the sh

#
#!/bin/bash

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

source $controlfolder/control.txt

get_controls

source $controlfolder/device_info.txt

GAME="d1x-rebirth"
GAMEDIR="/$directory/ports/descent"

cd $GAMEDIR

$ESUDO rm -rf ~/.$GAME
ln -sfv $GAMEDIR/conf/.$GAME ~/

export LIBGL_FB=4
export LD_LIBRARY_PATH=$GAMEDIR/libs:/usr/libs

# Add some cheats
if [ ! -f "./cheats.txt" ]; then
    echo "Error: Cheats file not found. No cheats will be used." > /dev/tty0
else
    CHEATS=$(sed -n -E '/^[^#]*=[[:space:]]*1([^0-9#]|$)/s/(=[[:space:]]*1[^0-9#]*)//p' ./cheats.txt | tr -d '\n')
fi

export TEXTINPUTPRESET=$CHEATS

# Edit .cfg file to correct resolution
sed -i "s/^ResolutionX=640/ResolutionX=$DISPLAY_WIDTH/g" $GAMEDIR/conf/.$GAME/descent.cfg
sed -i "s/^ResolutionY=480/ResolutionY=$DISPLAY_HEIGHT/g" $GAMEDIR/conf/.$GAME/descent.cfg

# Run the game
$ESUDO chmod 666 /dev/tty1
$ESUDO chmod 666 /dev/uinput
$GPTOKEYB "$GAME" -c "./descent.gptk" & SDL_GAMECONTROLLERCONFIG="$sdl_controllerconfig" ./$GAME -hogdir data 2>&1 | tee -a ./log.txt
$ESUDO kill -9 $(pidof gptokeyb)
$ESUDO systemctl restart oga_events & 
printf "\033c" >> /dev/tty1
#

Nvm I do kill

unborn chasm
#

and descent.gptk was the one above right?

stable kayak
#

No the gptk is unchanged

unborn chasm
#

What does the descent.gptk look like?

stable kayak
#
#GAME SYSTEM KEYS
# Abort Game:                Esc
# Show Game Log:            Shift-Esc
# Help Menu:                F1
# Options Menu:                F2
# Save/Load Game:            Alt-F2/F3
# Quicksave/Load:            Alt-Shift-F2/F3
# Switch Cockpit Modes:        F3
# Drop Marker:                F4
# Toggle Recording:            F5
# Switch HUD Modes:            Alt-F7
# Pause:                    Pause
# Screenshot:                Printscreen
# Select Primary Wpn:        1-5
# Select Secondary Wpn:     6-0
# Cycle Left/Right Window:    Shift-F1/F2
# Menu Affirmative:            Space

# GPtoKeyB Documentation: http://portmaster.games/gptokeyb-documentation.html

###################################

# Universal controls, needed for menu -- DO NOT CHANGE
back = esc
start = enter
up = up
down = down
left = left
right = right
a = space

# Assigning integer keys to remaining universal buttons
b = 0
y = 1
x = 2
l1 = 3
l2 = 4
r1 = 5
r2 = 6
b_hk = 7
x_hk = 8
y_hk = 9

# Leave L3 and R3 blank since not available on all supported devices
l3 = 
r3 = 

# Use mouse movement for left analog stick
left_analog_up = mouse_movement_up
left_analog_down = mouse_movement_down
left_analog_left = mouse_movement_left
left_analog_right = mouse_movement_right
right_analog_up = up
right_analog_down = down
right_analog_left = left
right_analog_right = right
#

Mouse is disabled in game options

#

But d-pad and analog both double mapped

#

gamecontrollerdb.txt

up = \"
down = \" 
left = \"
right = \"
left_analog_up = \"
left_analog_down = \"
left_analog_left = \"
left_analog_right = \"
right_analog_up = \"
right_analog_down = \" 
right_analog_left = \"
right_analog_right = \"
unborn chasm
#

forget about the gamecontrollerdb.txt

#

delete that 😄

#

That's only for oga_controls

stable kayak
#

No wonder it won't work

unborn chasm
#

This is what counts -c "./descent.gptk

stable kayak
#

I want the player to be able to disable mouse and enable joystick

#

So if I comment out d-pad, might be ok

unborn chasm
#

You could do a if this then that before starting the game and load different gptk and ini files for example

stable kayak
#

Nope, comment out d-pad and analog and it's still doulbe mapped

#

Remember I'm trying to do a hybrid control scheme here

unborn chasm
#

can you post the modified gptk please?

stable kayak
#
# Universal controls, needed for menu -- DO NOT CHANGE
back = esc
start = enter
#up = up
#down = down
#left = left
#right = right
a = space

# Assigning integer keys to remaining universal buttons
b = 0
y = 1
x = 2
l1 = 3
l2 = 4
r1 = 5
r2 = 6
b_hk = 7
x_hk = 8
y_hk = 9

# Leave L3 and R3 blank since not available on all supported devices
l3 = 
r3 = 

# Use mouse movement for left analog stick
left_analog_up = mouse_movement_up
left_analog_down = mouse_movement_down
left_analog_left = mouse_movement_left
left_analog_right = mouse_movement_right
#right_analog_up = up
#right_analog_down = down
#right_analog_left = left
#right_analog_right = right
unborn chasm
#
#down = down
#left = left
#right = right```
stable kayak
#

hashtag comments out yes?

unborn chasm
#

oh didn't see that

#

i thought you'd do right =\"

stable kayak
#

I can try that

#

Does it have to be escaped in "

unborn chasm
#

discord is fucking

#

😄

#
\"
#

😄

#

or delete them alltogether

#

thing is the gptk file is no bash file so normal rules do not necessary apply 😛

stable kayak
#

The problem with removing them is if player opts to not use joystick

#

Then it relies on gptk with missing controls

#

I suppose the solution is to test removing and if works use if clause in sh file by checking ini file for joystick enabled

#

But that ain't it, the d-pad is still double mapped

#

Even with it all removed

#

Works when # $GPTOKEYB "$GAME" -c "./descent.gptk" &

unborn chasm
#

try rebooting

#

or do a # up instead of #up

#

But as i said you can always just use a 2nd gptk file

#

we did this in the past with devices that had only one analogue stick for example

stable kayak
#

Nah reboot still double

#

Works when I remove -c "./descent.gptk" &

#

Still initializing gptkyeb

unborn chasm
#

yeah to kill the process

#

did you try to remove the dpad lines?

stable kayak
#

Yup

unborn chasm
#

still?

stable kayak
#

Same

unborn chasm
#

copy it away and put a empty gptk file

stable kayak
#

I'm gonna try pointing it to a blank.gptk file

#

Nope blank.gptk still double mapped

unborn chasm
#

That's not right

stable kayak
#

Dunno what to tell you. That's how it is.

#

It's even doing it when I do $GPTOKEYB "$GAME" xbox360 &

unborn chasm
#

so you have $GPTOKEYB "$GAME" -c "./empty.gptk" &

stable kayak
#

Yes

#

Or xbox360 mode

unborn chasm
#

So the only thing that comes to my mind would be the game config files.
Where sdl dpad buttons are mapped double

#

gptokeyb has no logic to assign keyboard keys without an input file

stable kayak
#

Let me make a fresh pilot then so game uses defaults

unborn chasm
#

it will also tell you at the start of the game using config file xy

stable kayak
#

Hmm new pilot same thing

unborn chasm
#

Time to share the package so i can test 😛

stable kayak
#

Let me make a sdl_controls branch again in github, gimme a min

#

I only test in Descent 1 for now

#

End goal is to use hybrid control scheme and let player decide to use mouse controls or joystick controls while keeping keyboard gptk to button maps the same

#

Could it be the cheats....?

#

Start_D-Pad Left

#

Nope, commented that export and same thing

unborn chasm
#

started it before your files then after

#

before:

LIBGL: FBO workaround for using binded texture enabled
LIBGL: Force texture for Attachment color0 on FBO
LIBGL: Hack to trigger a SwapBuffers when a Full Framebuffer Blit on default FBO                                                                              is done
LIBGL: glX Will try to recycle EGL Surface
LIBGL: Current folder is:/storage/roms/ports/descent

Type './d1x-rebirth -help' for a list of command-line options.

D1X-Rebirth v0.61 0.60.0-beta2-1223-gcf888df45798  Mar 25 2021 15:51:24
This is a MODIFIED version of Descent, based on Registered v1.5 Jan 5, 1996.
Copyright (c) 1994 Parallax Software Corporation
DESCENT is a trademark of Interplay Productions, Inc.
Copyright (C) 2005-2013 Christian Beckhaeuser, 2013-2017 Kp
Running in Fake Keyboard mode
Using ConfigFile ./descent.gptk
fscanf(): Success
Joystick 0 has game controller name 'OpenSimHardware OSH PB Controller'
Using SDL_mixer library v2.6.2
DXX-Rebirth: OpenGL: disabling automatic GL sync since VSync is turned off
/usr/bin/show_splash.sh: line 105: syntax error: unexpected end of file
LIBGL: Shuting down
#

after:

LIBGL: FBO workaround for using binded texture enabled
LIBGL: Force texture for Attachment color0 on FBO
LIBGL: Hack to trigger a SwapBuffers when a Full Framebuffer Blit on default FBO                                                                              is done
LIBGL: glX Will try to recycle EGL Surface
LIBGL: Current folder is:/storage/roms/ports/descent

Type './d1x-rebirth -help' for a list of command-line options.

D1X-Rebirth v0.61  Jan  1 2024 18:47:57
This is a MODIFIED version of Descent, based on Registered v1.5 Jan 5, 1996.
Copyright (c) 1994 Parallax Software Corporation
DESCENT is a trademark of Interplay Productions, Inc.
Copyright (C) 2005-2013 Christian Beckhaeuser, 2013-2017 Kp
Using SDL_mixer library v2.6.2
Running in Fake Keyboard mode
Using ConfigFile ./descent.gptk
fscanf(): Success
Joystick 0 has game controller name 'OpenSimHardware OSH PB Controller'
sdl-joystick: 1 joysticks
sdl-joystick 0: OpenSimHardware OSH PB Controller
sdl-joystick: 4 axes
Warning: sdl-joystick: found 193 buttons, only 128 supported.
sdl-joystick: 1 hats
sdl-joystick: 4 axes (total)
sdl-joystick: 140 buttons (total)
DXX-Rebirth: OpenGL: disabling automatic GL sync since VSync is turned off
/usr/bin/show_splash.sh: line 105: syntax error: unexpected end of file
LIBGL: Shuting down
#

it looks like it finds two joysticks

stable kayak
#

How?

#

In the before, is joystick disabled in the ini file?

#
D1X-Rebirth v0.61  Jan  1 2024 18:47:57
This is a MODIFIED version of Descent, based on Registered v1.5 Jan 5, 1996.
Copyright (C) 1994, 1995 Parallax Software Corporation
DESCENT is a trademark of Interplay Productions, Inc.
Copyright (C) 2005-2013 Christian Beckhaeuser, 2013-2017 Kp
Using SDL_mixer library v2.6.2
sdl-joystick: 1 joysticks
sdl-joystick 0: OpenSimHardware OSH PB Controller
sdl-joystick: 4 axes
Warning: sdl-joystick: found 193 buttons, only 128 supported.
sdl-joystick: 1 hats
sdl-joystick: 4 axes (total)
sdl-joystick: 140 buttons (total)
DXX-Rebirth: OpenGL: disabling automatic GL sync since VSync is turned off
LIBGL: Shuting down

My log

unborn chasm
#

the fuck is going on 😄

#

so i deleted all config files / conf folder

#

everything

#

and if i do $GPTOKEYB "$GAME" & #-c "blank.gptk" &

#

it works

#

maybe there is a fallback

stable kayak
#

There's the plx file and the descent.cfg file but neither of them have control options other than keyboard assignments

#

This is mine:

[D1X Options]
[weapon reorder]
primary=0x4,0x3,0x2,0x1,0x0,0xff
secondary=0x4,0x3,0x1,0x0,0xff,0x2
[end]
[keyboard]
sensitivity0=16
sensitivity1=16
sensitivity2=16
sensitivity3=16
sensitivity4=16
[end]
[joystick]
sensitivity0=8
sensitivity1=8
sensitivity2=8
sensitivity3=8
sensitivity4=8
sensitivity5=8
linearity0=0
linearity1=0
linearity2=0
linearity3=0
linearity4=0
linearity5=0
speed0=16
speed1=16
speed2=16
speed3=16
speed4=16
speed5=16
deadzone0=0
deadzone1=0
deadzone2=0
deadzone3=0
deadzone4=0
deadzone5=0
[end]
[mouse]
flightsim=0
sensitivity0=8
sensitivity1=8
sensitivity2=8
sensitivity3=8
sensitivity4=8
sensitivity5=8
overrun0=0
overrun1=0
overrun2=0
overrun3=0
overrun4=0
overrun5=0
fsdead=0
fsindi=1
[end]
[weapon keys v2]
1=0xff,0xff,0xff
2=0xff,0xff,0xff
3=0xff,0xff,0xff
4=0xff,0xff,0xff
5=0xff,0xff,0xff
6=0xff,0xff,0xff
7=0xff,0xff,0xff
8=0xff,0xff,0xff
9=0xff,0xff,0xff
0=0xff,0xff,0xff
[end]
[cockpit]
mode=2
hud=0
rettype=0
retrgba=0,32,0,0
retsize=0
[end]
[toggles]
bombgauge=1
autosaveinterval=0
persistentdebris=0
prshot=0
noredundancy=0
multimessages=0
multipinghud=0
norankings=0
automapfreeflight=0
nofireautoselect=0
cycleautoselectonly=0
cloakinvultimer=0
respawnkey=0
mouselook=0
pitchlock=0
[end]
[graphics]
alphaeffects=1
dynlightcolor=1
[end]
[plx version]
plx version=0.61.0
[end]
[end]
#

I removed all the files on mine and it didn't work

#

Huh.

#

Ini file looks like:

; Controls:

-nocursor                     ;Hide mouse cursor
;-nomouse                      ;Deactivate mouse
;-nojoystick                   ;Deactivate joystick
;-nostickykeys                 ;Make CapsLock and NumLock non-sticky
unborn chasm
#

I think we have to check the gptokeyb code as to what happens if no file or a empty file is supplied

stable kayak
#
back = \"
start = \"
a = \"
b = \"
x = \"
y = \"
l1 = \"
l2 = \"
l3 = \"
r1 = \"
r2 = \"
r3 = \"
up = \"
down = \" 
left = \"
right = \"
left_analog_up = \"
left_analog_down = \"
left_analog_left = \"
left_analog_right = \"
right_analog_up = \"
right_analog_down = \" 
right_analog_left = \"
right_analog_right = \"

This works for blank.gptk

#

Which means:

# GAME SYSTEM KEYS
# Abort Game:                Esc
# Show Game Log:            Shift-Esc
# Help Menu:                F1
# Options Menu:                F2
# Save/Load Game:            Alt-F2/F3
# Quicksave/Load:            Alt-Shift-F2/F3
# Switch Cockpit Modes:        F3
# Drop Marker:                F4
# Toggle Recording:            F5
# Switch HUD Modes:            Alt-F7
# Pause:                    Pause
# Screenshot:                Printscreen
# Select Primary Wpn:        1-5
# Select Secondary Wpn:     6-0
# Cycle Left/Right Window:    Shift-F1/F2
# Menu Affirmative:            Space

# GPtoKeyB Documentation: http://portmaster.games/gptokeyb-documentation.html

###################################

# Universal controls, needed for menu -- DO NOT CHANGE
back = esc
start = enter
up = \"
down = \"
left = \"
right = \"
a = space

# Assigning integer keys to remaining universal buttons
b = 0
y = 1
x = 2
l1 = 3
l2 = 4
r1 = 5
r2 = 6
b_hk = 7
x_hk = 8
y_hk = 9

# Leave L3 and R3 blank since not available on all supported devices
l3 = 
r3 = 

# Use mouse movement for left analog stick
left_analog_up = mouse_movement_up
left_analog_down = mouse_movement_down
left_analog_left = mouse_movement_left
left_analog_right = mouse_movement_right
right_analog_up = \"
right_analog_down = \"
right_analog_left = \"
right_analog_right = \"
#

That works

stable kayak
#

Ok I think I have it. Only caveat is with joystick controls there is no number binds for level select.

#

Hmm

# Setup controls
$ESUDO chmod 666 /dev/tty1
$ESUDO chmod 666 /dev/uinput
if awk '/^\s*;-nojoystick/ { exit 0 } END { exit 1 }' "$GAMEDIR/d1x.ini"; then
    $GPTOKEYB "$GAME" -c "conf/kbm.gptk"
else
    $GPTOKEYB "$GAME" -c "conf/joy.gptk"
    SDL_GAMECONTROLLERCONFIG="$sdl_controllerconfig"
fi  

Using this makes the game take a long time to boot

#

Presumably due to the ini search

#

Just noticed this in long when not using .dxa addons: Music descent.hmp could not be loaded: ModPlug_Load failed

unborn chasm
stable kayak
#

Yup

#

Anyway using

# Setup controls
$ESUDO chmod 666 /dev/tty1
$ESUDO chmod 666 /dev/uinput
if [ "$(sed -n '42s/^\s*;-nojoystick//p' "$GAMEDIR/d2x.ini")" ]; then
    $GPTOKEYB "$GAME" -c "conf/kbm.gptk"
else
    $GPTOKEYB "$GAME" -c "conf/joy.gptk"
    SDL_GAMECONTROLLERCONFIG="$sdl_controllerconfig"
fi  

To try to shorten search time but script still takes ages to load the game

stable kayak
#

Ok, I think that's a wrap. I'll push a test zip in a few.

#

@unborn chasm can you supply me with a libmodplug1 file for arm64? Pretty please?

#

I want to not require .dxa sound files:

Music descent.hmp could not be loaded: ModPlug_Load failed
Music briefing.hmp could not be loaded: ModPlug_Load failed
Music game01.hmp could not be loaded: ModPlug_Load failed
Music descent.hmp could not be loaded: ModPlug_Load failed
#

Nvm I think I got it from my wsl

#

...nope, that didn't work

stable kayak
#

<@&1123159718874058882> Update is ready at https://github.com/JeodC/Portmaster-Descent -- Just download the release zip file and replace your entire port (sh files and port folders). Make a backup if you have savegames or something if you like.

This update brings sdl controls back to Descent 1 & 2. The gptk files have been moved to the conf folder as joy.gptk and kbm.gptk. The port decides which to load by reading the -nojoystick line in the d1x.ini or d2x.ini file. Just remove the semicolon to switch to kbm controls. I've also updated the readme file to reflect a new default control scheme.

What I'm looking for in this test is if kbm controls are worth keeping at all. In my tests joy.gptk appears superior while retaining the keyboard numbers for buttons, keeping level select intact.

You can react to this message with green check to keep kbm controls or red x to get rid of kbm control options entirely.

#

@inland forge This is up your alley.

stable kayak
# unborn chasm Not at Home atm 🙂

It's cool, we have libmodplug already anyhow. It just can't read the .hmp files for whatever reason. All this means is using an add-on for music is a necessity.

vale temple
#

oh geeze, I was sleeping on this for few days, nice its working again

sour citrus
#

dangit my SD is almost full xD will test later after getting a larger SD card

#

this game is on the GB's size scale

stable kayak
#

That’s due to the dxas most likely

#

I tried packing without them and that’s where the modplug error comes from.

vale temple
#

I would say kbm mouse are not really necessary to keep? I seems fine to me with joystick controls, tweaked a bit to personal preferences. Funny thing happens when I change something in graphics settings, it will make the game run in 320x480 "window", though simple restart fixes it. Older port didnt have that, but its not exactly serious problem.

stable kayak
#

What device do you use?

vale temple
#

353VS / arkos

stable kayak
#

The sh file finds your device resolution and sets it

sterile bridge
#

oh yes , I have same behaviour with graphics settings on descent 2

stable kayak
#

Or it should

sterile bridge
#

but I figured out I have nothing to do in those settings

#

so it doesn't matter

#

😄

vale temple
#

well it does on launch, but I guess the engine does something weird in settings menu

stable kayak
#

Hmm

#

I’ll try on my end in a bit

#

If your resolution is 320x480, does it matter if it’s windowed?

vale temple
#

well this is 640x480 screen

stable kayak
#

Port uses device_info.txt to find res, maybe bugged for ark or system

#

Or you need to update portmaster

#

To use it

vale temple
#

updated couple days ago, but I will check just in case

#

no, im on the latest portmaster. I guess its something in ark, but unless I mess with the graphics menu it runs at 640x480 fine, so whatever

stable kayak
#

Yeah works just fine for me, has to be an arkos thing

#

Well it works on my arkos sd

#

I even changed the res manually to 640x480 and then booted

#

It changed to 480x320 for rg351

#

No issues

#

I'm pretty sure device_info.txt is on the release track by now.

pliant remnant
#

Today is my birthday

stable kayak
#

Happy birthday

sterile bridge
#

happy ascending

stable kayak
#

So far I'm not seeing any benefit to keeping kbm.gptk

modest nimbus
#

Oh, that's awesome. I'll test it ASAP.

stable kayak
#

Better than opl3 imho

stable kayak
#

I just created that one a little bit ago from a different descent container d2x-xl

sterile bridge
#

should I update to version with sdl control ? what I get ? more precise analog control ?

stable kayak
#

Supposedly although I can't really tell the difference.

#

I gave the right analog stick something to do in both gptks anyhow.

sterile bridge
#

then for me no need to fix what is not broken 👍

stable kayak
#

Added Levels of the World and Descent: Maximum to github. They're abandonware. Well, in Maximum's case, it was a .dxa file that replaced the normal campaign with the psx levels. I just turned the contents into a hogfile so it works like a proper dlc like vertigo.

#

This update's kinda big enough to warrant some announcement for it once it goes live.

#

I pushed new zips in existing pr.

stable kayak
#

Adds cheats, makes addons readily available in repo, adds sdl controls for better game experience

modest nimbus
#

@stable kayak Hey, quick question about Descent 1 and 2's multiplayer: Do you know if someone has developed a feature that would add bots to multiplayer deathmatches? They did for lots of Doom sourceports, but I never found anything similar for Descent games.

I was wondering about playing a few deathmatch matches in Minerva levels.

stable kayak
#

Have no idea, sorry.

#

I never got to play anarchy mode.

modest nimbus
#

It was pretty cool. Take a look: https://youtu.be/ijfTRgSMOI0?t=24

Players: Drakona, Captain Zaphod, JinX, Dravis, NaphthaTurisas, LoNi, MD-1224
Game: Descent 1
Version: D1X-Rebirth 0.58.1 Retrohomers 1.0 Sniper-packets 1.0
Map: Minerva MW
Perspective: JinX
Date: 20 Nov 2013
Event: Rangers Scored

Minerva MW is Drakona's edit of Minerva with extra weapons to compensate for the switch from TCP to UDP and the res...

▶ Play video
stable kayak
#

I do know the multiplayer works for these ports, but most people on the dxx tracker use older builds.

#

I have a cgnat (tmobile home internet) so I can't join in on the fun easily.

inland forge
stable kayak
#

For level select

inland forge
#

Oh yh

stable kayak
#

There is still no option to scroll through integers in that screen

inland forge
#

Yh. I can do level 1 on insane now without losing a life 😅

stable kayak
#

Enjoy the carpal tunnel

stable kayak
#

Definitely my favorite way to play it now

inland forge
#

I have my buttons mapped exactly the same with the port and the ps1 version. Only difference is on ps1 I have select + fire to cycle primary and secondary weapons (depending which fire button). It's awesome like that. I guess that isn't possible with the ports?

stable kayak
#

Should be. See gptokeyb documentation.

#

You can set SEL+R1 to whatever number R2 is.

#

r1_hk = 6

#

Add that to your joy.gptk

#

Change r2 if you want to

paper quest
#

or gfe chi

#

zero carpal tunnel

modest nimbus
#

Just tried Descent with full joystick support. It's much better than it was before.

#

Not only we can have analog support with sensitivity for all axis, but I can also map all buttons as I see fit. Previously, I was unable to change DPAD buttons to change weapons, neither map R3 to any functions. Now, everything is mappable.

inland forge
#

Have you messed with the linearity settings at all? For me it seems to help with precision somehow. The difference is hard to describe

#

(@Solid One)

modest nimbus
#

Not that I remember of.

inland forge
#

Btw what mappings are you working with? Just wondering. ie what do you have on sticks. Where is banking, accel etc

modest nimbus
#

Basically, I'm playing as if it was an usual fps game.

#

Left analog is used for accelerating/strafing, right analog is used for aiming, R1 for primary weapons, L1 for missiles, Y and B for moving up and down, L2/R2 for banking, etc

#

Managed to map controls like this after removing a few default keyboard/joystick mappings. But I managed to change everything to my needs directly through the game UI.

stable kayak
stable kayak
#

@unborn chasm That pr is taking a while

unborn chasm
#

I don't have rights to merge that lol

stable kayak
#

I know

#

But the new repo should be done soon?

unborn chasm
#

@sharp gazelle or @trail timber pr can be merged

stable kayak
#

I didn't do a pr for Portmaster-New

#

Should I?

unborn chasm
stable kayak
stable kayak
#

I would still like to figure out Music descent.hmp could not be loaded: ModPlug_Load failed. This occurs when you don't use any sound dxa addons. We have a libmodplug.so at /usr/lib and the sh exports that.

stable kayak
#

Easy fix.

export SDL_FORCE_SOUNDFONTS=1
export SDL_SOUNDFONTS="$GAMEDIR/libs/soundfont.sf2"

Debian arm64 does not come with any soundfonts. Have to add one.

#

Sound Blaster 16 was the most common back in the day. Gonna go with that.

stable kayak
stable kayak
#

I don’t have my system with me. What version does the latest build show on menu?

#

I’m hoping it’s 0.61.0.16

stable kayak
#

It is and I fixed my multiplayer issue by doing port forwarding on my router.

#

More good news, the compatibility build doesn't have issues with multiplayer against upstream builds. Worked with my windows pc.

inland forge
trail timber
#

3

#

scroll wheel is a third 😄

inland forge
#

Lol true

inland forge
#

Does portmaster.games have the latest version(s) atm?

trail timber
#

it should

stable kayak
stable kayak
#

Thanks

inland forge
#

Eg sel + r1 =1. Sel + r1x2 =2 Etc. Would be nice for level select

stable kayak
#

Don’t think so

inland forge
#

Btw "You can react to this message with green check to keep kbm controls or red x to get rid of kbm control options entirely.

My question would be what is gained by getting rid of it? I guess someone out there might want mouse flightsim mode

stable kayak
#

I already got rid of kbm

#

There was no need for it

stable kayak
#
Joystick controls have Button 1 and Button 2 set as default for primary and secondary fire. Button 2 is also the same button used to drop bombs in the keyboard section. Therefore, pressing Button 2 would both drop a bomb and fire the secondary weapon.

This commit reassigns that default joystick command to Button 3, matching the keyboard config.

This will be fixed in a future update, but heads up.

#

I suppose the better option is to remove the two joystick button maps entirely since they will vary across devices. I'll probably do that later.

inland forge
stable kayak
tawny laurel
#

CAn't get this to work, keeps error with player version

#

descent 1

unborn chasm
tawny laurel
#

i dont think that will help, the error is in game

unborn chasm
unborn chasm
tawny laurel
#

arkos rg353v

#

it says Player version mismatch

unborn chasm
stable kayak
#

@tawny laurel Please upload the gamelog.txt file in your conf folder.

#

\ports\descent\conf\.d1x-rebirth

#

Odds are it's the same as log.txt just after the LIBGL lines. But you never know.

#

If it's the same open d1x.ini and remove the semicolon for this line:
;-verbose ;Enable verbose output.
And then check the log again after you get the error.

#

Player version mismatch might be the pilot profile, also in the conf folder. If you've somehow replaced the Player.plx file and not the Player.plr file, that would explain it.

#

Ah, I get the same error on my arkos.

#

Let me see...

#

Ok, I fixed it by replacing both Player.plr and Player.plx with the files from my own repo. The release zip might be faulty. Testing further.

#

Yup, zip is faulty. Descent 2 does not have that issue.

#

I think it hasn't been widely reported because the game still works. It just creates a new Player pilot to overwrite the previous one. It restores default controls so the user has to reconfig everything.

unborn chasm
#

Soon we're away from the damn zips 😛

stable kayak
#

PTL on that one

#

Ok, zips synchronized and tested. Issue resolved.

#

@trail timber or @sharp gazelle Sorry about this, hopefully the last pr on this one for a while.

sharp gazelle
#

merged

stable kayak
sharp gazelle
#

the build failed but I re-ran the job. I'll keep an eye on it.

stable kayak
#

What’s it build for? It’s not compiling code, right? It’s a bunch of zips.

sharp gazelle
#

it just means the job is running. It's the build step on a github action

stable kayak
#

I know that. I mean why’s there a GitHub action in the first place.

#

Ah it publishes to a different repo

sharp gazelle
#

it's good now.

tawny laurel
#

thanks will test now

#

oh so can you send the new updated zip?

#

i got the version from your github but still the same error

stable kayak
#

Remove the port entirely and download from postmaster

#

I just grabbed latest from pm on my ark sd and have no issues

tawny laurel
#

oh ok

#

thanks it works now

#

nice fast fix 😄

inland forge
#

Can we back up game saves?

unborn chasm
inland forge
#

Also how does one disable logging? My log.txt is getting big

unborn chasm
inland forge
#

Thx. I thought maybe the ini. Like debug or whatever. I'll have to check out the .sh

stable kayak
#

Logging occurs twice, once in log.txt and again in conf/gamelog.txt. You can remove the log.txt part from the sh file and stick with gamelog.txt.

inland forge
#

Both grow in size forever?

unborn chasm
#

For my ports after testing I'll check how big they are and decide what to do

stable kayak
#

Descent has no way to disable gamelog.txt generation from in the .ini, if you need to get rid of it you can change the sh to delete that file after each run.

trail timber