Notice: A non well formed numeric value encountered in /var/www/bugs.eduke32.com/includes/class.flyspray.php on line 105 Notice: A non well formed numeric value encountered in /var/www/bugs.eduke32.com/includes/class.flyspray.php on line 105 Notice: A non well formed numeric value encountered in /var/www/bugs.eduke32.com/includes/class.flyspray.php on line 105 FS#50 : eduke32 command line: relative path

EDuke32

  • Status Unconfirmed
  • Percent Complete
    0%
  • Task Type Bug Report
  • Category Backend / Core
  • Assigned To No-one
  • Operating System All
  • Severity Low
  • Priority Very Low
  • Reported Version Development
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: EDuke32
Opened by Le Gluon du Net - 2016-12-20

FS#50 - eduke32 command line: relative path

Hello,

when I launch addons with eduke 32, in a command line, I have to specify the full path.

Is it possible to add relative path (the executable is the source).

Thank you for your help.
LGDN.

sergey commented on 2016-12-21 21:15

Can you describe please what do you mean? (With an example of command line?)
For example, " eduke32.exe /j "data/addons" /g "addon.grp" " works fine with relative path to 'addons' folder.

Le Gluon du Net commented on 2016-12-21 22:52

Could you please tell me first where Eduke32 are searching for addons folder?

On Linux, if Eduke32 command line could find relative path and recursively find files in it, the command line could look like this:

$ eduke32 -j ../../addons
or if you put the addons in another folder:

$ eduke32 -j test/relativepath/addons2

For the moment eduke32 find only my addons folder if I specify the full path:
$ eduke32 -j /home/legluondunet/jeux/eduke32/Addons

sergey commented on 2016-12-22 02:29

Ah, now I understand. You want to make eduke search smth in, say, the parent directory of eduke32 working dir? Then it's impossible as for now, aswell under Windows.

Could you please tell me first where Eduke32 are searching for addons folder?

By default it searches in: 1) current directory 2) "autoload" directory 3) some directory related to Megaton Edition installation (but I think it's obsolete), plus you can specify a full or relative path to the directory with -j; but you can't use ".." and "."

So, why not to put your addon directory into a subfolder of the eduke32 working directory (or into the working dir itself)?

sergey commented on 2016-12-22 02:53

Wait...
I tested now and realized that eduke32 uses not WORKING directory as "current" but a CURRENT SYSTEM directory (pwd in unix if I'm not wrong) to search for files. Don't know if it is a feature or a bug.
So, when you type $ eduke32 -j addons in a terminal, your current dir is not the eduke32 working dir, right? Thats why it cannot be found. So, you need to manually change it.

sergey commented on 2016-12-22 03:08

In other words, when you are trying to launch eduke32, if your current system path is not a path to eduke32 working dir, it won't search in eduke32 working dir (where your addons folder is located). Tested it under windows.
Not sure if it is a bug or intended feature.

Le Gluon du Net commented on 2016-12-22 17:36

If I put an addons directory named "addons" with a lot of grp inside in the same folder as Eduke32 executable:

$./eduke32 -j addons
EDuke32 r(?) (64-bit) C++ build
Compiled Oct 16 2016 08:31:51
Application parameters: -j addons
Using /home/legluondunet/Autres_applications/Jeux/Duke Nukem 3D/EDuke32/eduke3216102016/eduke32/ for game data
Using addons/ for game data
Using /home/legluondunet/.eduke32/ for game data
Initializing SDL 2.0.4
Using "x11" video driver
Searching for game data...
Found no recognized game data!

Same result if I put this addons folder in to this place:
/home/legluondunet/.eduke32/ or /home/legluondunet/.eduke32/autoload
–> Found no recognized game data!

For the moment Eduke32 only find my addons folder if I give it a full path.
But even with the full path, it doesn't recursively the others grp.
Is it a bug for Eduke32 on Linux?

Le Gluon du Net commented on 2016-12-22 17:40

so for the moment, this command on Linux:
eduke32 -j [dir] Adds a directory to EDuke32's search list
works only with full path and is not recursive.

sergey commented on 2016-12-22 18:57

It seems that you're using NightFright's Addon Compilation, right?

When I launch EDuke32 with no parameters:

EDuke32 r5948 (32-bit) C++ build
Compiled Dec  4 2016 14:59:20
Using C:/Users/Luminox/Downloads/eduke32_20161204-5948/ for game data
Running on Windows 7 Service Pack 1 (build 6.1.7601)
Initializing SDL 2.0.5
Searching for game data...
Found no recognized game data!

I get the same result like you.

When I launch EDuke32 with "/j addons" parameter:

EDuke32 r5948 (32-bit) C++ build
Compiled Dec  4 2016 14:59:20
Application parameters: -jaddons 
Using C:/Users/Luminox/Downloads/eduke32_20161204-5948/ for game data
Using addons/ for game data
Running on Windows 7 Service Pack 1 (build 6.1.7601)
Initializing SDL 2.0.5
Searching for game data...

Everything is OK.

According to your log file, you have right search path included (my 2nd example), but for the unknown reason, your result differs from mine.
Do you have DUKE3D.GRP near the EDuke32 executable?
What happens when you are trying to launch EDuke32 without parameters? And with DUKE3D.GRP located in the same directory?
And what happens when you give it the full path? (Give me log, please)

You shouldn't place "addons" folder anywhere but EDuke32 working directory, so path must be not

/home/legluondunet/.eduke32/autoload

but

/home/legluondunet/Autres_applications/Jeux/Duke Nukem 3D/EDuke32/eduke3216102016/eduke32/autoload

Even with that, Addon Compilation is not intended to work with "autoload" directory, don't place it there.

I don't understant what do you mean "it doesn't recursively the others grp"; I mean that -j command is not recursive and wouldn't browse subdirectories, but within a single directory it should take all files into account.

Le Gluon du Net commented on 2016-12-22 19:49

" It seems that you're using NightFright's Addon Compilation, right? "
That's right.

"According to your log file, you have right search path included (my 2nd example), but for the unknown reason, your result differs from mine."
Ok.

"Do you have DUKE3D.GRP near the EDuke32 executable?"
No.

"What happens when you are trying to launch EDuke32 without parameters? And with DUKE3D.GRP located in the same directory?"
If I copy DUKE3D.GRP in the same folder as the executable, eduke32 found my game "Duke Nukem 3D Atomic Edition". Same result if I put the game file in the config folder:
/home/legluondunet/.eduke32/

Now if I put my "addons" folder in the same folder as the executable, launch eduke32:
EDuke32 r(?) (64-bit) C++ build
Compiled Oct 16 2016 08:31:51
Application parameters: -j addons/
Using /home/legluondunet/Autres_applications/Jeux/Duke Nukem 3D/EDuke32/eduke3216102016/eduke32/ for game data
Using addons/ for game data
Using /home/legluondunet/.eduke32/ for game data
Initializing SDL 2.0.4
Using "x11" video driver
Searching for game data...

my addons are not listed.
But if I put the content of the addons directory directly to the eduke32 directory, all the grp/dat files, eduke32 automatically found them, even without any -j [dir] parameter.

If i give him the full path:
$./eduke32 -j "/home/legluondunet/Autres_applications/Jeux/Duke Nukem 3D/EDuke32/eduke32/eduke32/addons"

it works:

EDuke32 r(?) (64-bit) C++ build
Compiled Oct 16 2016 08:31:51
Application parameters: -j /home/legluondunet/Autres_applications/Jeux/Duke Nukem 3D/EDuke32/eduke32/eduke32/addons
Using /home/legluondunet/Autres_applications/Jeux/Duke Nukem 3D/EDuke32/eduke3216102016/eduke32/ for game data
Using /home/legluondunet/Autres_applications/Jeux/Duke Nukem 3D/EDuke32/eduke32/eduke32/addons/ for game data
Using /home/legluondunet/.eduke32/ for game data
Initializing SDL 2.0.4
Using "x11" video driver
Searching for game data...
Checksumming 2000tc.grp... Done
Checksumming 25thcentury.grp... Done
Checksumming acropolis.grp... Done
Checksumming adg.grp... Done
Checksumming ageofevil.grp... Done
Checksumming alienexterm.grp... Done
Checksumming alieninvasion.grp... Done
Checksumming alienvpredator.grp... Done
Checksumming apocalypse.grp... Done
Checksumming aqua.grp... Done
Checksumming armydeath.grp... Done
Checksumming assault.grp... Done
Checksumming badweekend.grp... Done
Checksumming battlefield3.grp... Done
Checksumming bobsp.grp... Done
Checksumming borgnukem.grp... Done
Checksumming bravenworld.grp... Done
Checksumming burnt.grp... Done
Checksumming c3po.grp... Done
Checksumming castlequest.grp... Done
Checksumming cerovsky.grp... Done
Checksumming chimera.grp... Done
Checksumming chronic.grp... Done
Checksumming cmdconquer.grp... Done
Checksumming commbuild.grp... Done
Checksumming complex.grp... Done
Checksumming countdown.grp... Done
Checksumming criticalmass.grp... Done
Checksumming crucialconflict.grp... Done
Checksumming daikarin.grp... Done
Checksumming darkplace.grp... Done
Checksumming deathdrive.grp... Done
Checksumming dn64revisited.grp... Done
Checksumming dreamtrilogy.grp... Done
Checksumming duke007.grp... Done
Checksumming dukehard.grp... Done
Checksumming dukela.grp... Done
Checksumming dukeland.grp... Done
Checksumming dukenstein.grp... Done
Checksumming duketen.grp... Done
Checksumming dukevr.grp... Done
Checksumming escape.grp... Done
Checksumming eyeofcul.grp... Done
Checksumming fbsp.grp... Done
Checksumming finalconfront.grp... Done
Checksumming finalfight.grp... Done
Checksumming fm3x.grp... Done
Checksumming fusion.grp... Done
Checksumming glavic.grp... Done
Checksumming godofwar.grp... Done
Checksumming grinsdivinity.grp... Done
Checksumming haunted.grp... Done
Checksumming incubation.grp... Done
Checksumming industrial.grp... Done
Checksumming infestation.grp... Done
Checksumming infiltration.grp... Done
Checksumming jjduke.grp... Done
Checksumming jungletour.grp... Done
Checksumming kaiserland.grp... Done
Checksumming kneedeep.grp... Done
Checksumming kucera.grp... Done
Checksumming lastreaction.grp... Done
Checksumming layre.grp... Done
Checksumming lorch.grp... Done
Checksumming lostduke.grp... Done
Checksumming losthighway.grp... Done
Checksumming mathpak.grp... Done
Checksumming metromayhem.grp... Done
Checksumming mic.grp... Done
Checksumming milltown.grp... Done
Checksumming moonbase.grp... Done
Checksumming mssp.grp... Done
Checksumming nuclear.grp... Done
Checksumming oblivion.grp... Done
Checksumming opblitzkrieg.grp... Done
Checksumming outpostx.grp... Done
Checksumming penthouse.grp... Done
Checksumming pinxten.grp... Done
Checksumming pipeline.grp... Done
Checksumming platoon.grp... Done
Checksumming plugpray.grp... Done
Checksumming prequel2time.grp... Done
Checksumming quakis.grp... Done
Checksumming red.grp... Done
Checksumming redrum.grp... Done
Checksumming roch.grp... Done
Checksumming ruohonen.grp... Done
Checksumming sharkscove.grp... Done
Checksumming space.grp... Done
Checksumming spacemission.grp... Done
Checksumming spiegul.grp... Done
Checksumming starshiptrp.grp... Done
Checksumming stevelong.grp... Done
Checksumming stranger.grp... Done
Checksumming sunburn.grp... Done
Checksumming taivo.grp... Done
Checksumming tamduke.grp... Done
Checksumming thegate.grp... Done
Checksumming time.grp... Done
Checksumming tournament.grp... Done
Checksumming undertaker.grp... Done
Checksumming urban.grp... Done
Checksumming v_series.grp... Done
Checksumming vacationcove.grp... Done
Checksumming verminclear.grp... Done
Checksumming wgrealms.grp... Done
Checksumming wgrealms2.grp... Done
Checksumming wgspace.grp... Done
Checksumming wolfpack.grp... Done
Checksumming xartech.grp... Done
Checksumming xmasproject.grp... Done
Checksumming zerohour.grp... Done
Checksumming zombiecrisis.grp... Done

sergey commented on 2017-01-16 08:14

Sorry for long time w/o answer.

1.) I see that in both cases game is trying to include this path:

/home/legluondunet/Autres_applications/Jeux/Duke Nukem 3D/EDuke32/eduke3216102016/eduke32/

I think it's the path where the executables are located when you're trying to launch eduke. But it seems that you have another folder with eduke files:

/home/legluondunet/Autres_applications/Jeux/Duke Nukem 3D/EDuke32/eduke32/eduke32/

where your addons folder is. Maybe another installation of the game or smth like that? Check it out please.

2.) Try eduke -j "$(pwd)/addons"
If the problem is eduke-related, it should work fine.
If not then your doing something wrong.

Le Gluon du Net commented on 2017-01-16 20:33

1) In fact the two folders are the same folder, one is a symlink to the other.

2) eduke -j "$(pwd)/addons"
–> ok, it found the addons folder located in the same folder as the eduke32 executable

Le Gluon du Net commented on 2017-09-22 22:30

Hello Sergey, some news about this bug?

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing