Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 13 14 [15] 16 17 ... 39

Author Topic: PyLNP 0.14e-pre1 - Cross-platform launcher with graphics pack patching  (Read 324185 times)

Pidgeot

  • Bay Watcher
    • View Profile
Re: PyLNP 0.9 - Cross-platform Lazy Newb Pack port with graphics pack patching
« Reply #210 on: January 06, 2015, 03:18:39 pm »

This took much longer to get out than I had planned, but 0.9 is finally out.

The main change is the addition of a mod merging system by PeridexisErrant. This also affects graphics pack installation somewhat, so I recommend keeping a backup and doing some additional tests.

A new requirement is the presence of an unmodified vanilla Dwarf Fortress installation in the folder LNP/Baselines, in order to give the merging logic a known base to work off. If you do not provide this, PyLNP will automatically download it if the user accepts this (either through a confirmation dialog or by opting in to all auto-downloads using File > Allow auto-download of baselines). For simplicity in code, it will always download the Windows version; this is perfectly fine even on Linux or OS X, since the binaries are not used for anything and will be removed after download any way.

As a precaution in case this change causes too many issues and needs to be rolled back, there will be a temporary freeze on any and all work unrelated to this new system - bug reports, feature requests, etc. are still welcome, but I won't be working on them while this is ongoing. After more people have had a chance to try it out, "ordinary" commits will be OK once again - exactly when this happens depends on how soon pack authors update, but I'm expecting 1-2 weeks from now.

I've asked PeridexisErrant to make a post here with any additional details he feels are important to point out, so that should happen once it becomes daytime for him. The pull request containing these changes may also be helpful for additional documentation.

PeridexisErrant

  • Bay Watcher
  • Dai stihó, Hrasht.
    • View Profile
Re: PyLNP 0.9 - Cross-platform Lazy Newb Pack port with graphics pack patching
« Reply #211 on: January 06, 2015, 03:24:49 pm »

Good morning!  The new mods tab includes a couple of things...

The Mods Tab
If you have subfolders of /LNP/Mods/, the mods tab will become visible.  In many ways it's just like the graphics tab; you can install and simplify mods.  However: 
  • You can merge multiple mods.  Awesome!  Green means they were independent, orange for an overwrite (bad), and red for fatal merge error.  Note that all green does not always mean the combination will work!  The raws can be complicated...  if you're combining more than a few small mods or any large mods, test carefully!
  • For modders, note that the format assumes an absent file is identical to the vanilla file - use blanks to remove content.  (More about this 'reduced raws format' later)
  • A mod merge log is written to "raw/installed_raws.txt"
  • There's a button to make a mod you can apply from your mods from the current DF folder; it'll discard changes made by any mod logged in the file above
  • Mods are currently not compatible with graphics raws (that's coming soon, unless you add the graphics raws as a mod), so stick to ASCII or ASCII-compatible graphics (ie CLA etc).  For now graphics install will skip saves with the log file, so even 'apply to saves' is still safe.

Reduced Raws Format
To allow for the addition of mods without pack size ballooning out of control, I invented 'reduced raws format'.  The idea is quite simple:  we keep a copy of the vanilla raws in LNP/Baselines, and don't store a copy of any file that hasn't been changed.  When we need the full raws, copy in vanilla and overwrite with the reduced raws.  This means deleted files are assumed to be vanilla, so add an empty file if deletions are actually wanted.

The /LNP/Baselines folder holds the vanilla raws, and it can download any that you don't have automatically.  Pack maintainers should do this before distribution; (re)installing a graphics pack is enough.

Tilesets changes
The advanced graphics tab now looks in /data/art/ for the list of available tilesets, instead of LNP/Tilesets.  This is filled at install time with the images in vanilla DF, the graphics pack in question, and LNP/Tilesets.  The result is that there's a seperate source for graphics-pack-specific images and images shared by all packs, and the listing will be comprehensive but not overlap to include all the variants for other packs.
« Last Edit: January 06, 2015, 04:06:14 pm by PeridexisErrant »
Logged
I maintain the DF Starter Pack - over a million downloads and still counting!
 Donations here.

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: PyLNP 0.9 - Cross-platform Lazy Newb Pack port with graphics pack patching
« Reply #212 on: January 06, 2015, 03:30:01 pm »

Will it work with the raw/scripts folder that DFHack has?

lethosor

  • Bay Watcher
    • View Profile
Re: PyLNP 0.9 - Cross-platform Lazy Newb Pack port with graphics pack patching
« Reply #213 on: January 06, 2015, 03:32:04 pm »

I assume that only the raw/objects and raw/graphics folders are affected, but I haven't checked.
Logged
DFHack - Dwarf Manipulator (Lua) - DF Wiki talk

There was a typo in the siegers' campfire code. When the fires went out, so did the game.

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: PyLNP 0.9 - Cross-platform Lazy Newb Pack port with graphics pack patching
« Reply #214 on: January 06, 2015, 03:52:31 pm »

Wait, duh, there's source code.

EDIT: Looking at it, doesn't look like it makes a special case for anything, just sorta considering the whole raw folder. I may be wrong.
« Last Edit: January 06, 2015, 03:54:23 pm by Putnam »
Logged

PeridexisErrant

  • Bay Watcher
  • Dai stihó, Hrasht.
    • View Profile
Re: PyLNP 0.9 - Cross-platform Lazy Newb Pack port with graphics pack patching
« Reply #215 on: January 06, 2015, 04:09:16 pm »

Will it work with the raw/scripts folder that DFHack has?
Looking at it, doesn't look like it makes a special case for anything, just sorta considering the whole raw folder. I may be wrong.

You're correct; any file that's not present in the vanilla raw folder is copied over. 

It'll raise an overlap warning (orange highlight) if more than one mod changes the file, but a single mod will be fine.
Logged
I maintain the DF Starter Pack - over a million downloads and still counting!
 Donations here.

lethosor

  • Bay Watcher
    • View Profile
Re: PyLNP 0.9 - Cross-platform Lazy Newb Pack port with graphics pack patching
« Reply #216 on: January 06, 2015, 09:46:56 pm »

(Removed a bug report submitted on behalf of another user - turned out to be a problem with a customized launcher script.)
« Last Edit: January 06, 2015, 10:52:20 pm by lethosor »
Logged
DFHack - Dwarf Manipulator (Lua) - DF Wiki talk

There was a typo in the siegers' campfire code. When the fires went out, so did the game.

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: PyLNP 0.9 - Cross-platform Lazy Newb Pack port with graphics pack patching
« Reply #217 on: January 06, 2015, 10:13:19 pm »

Hmm. Some mods (Fortbent, Sparking for example) modify the data folder by adding speech files. Might that be able to be supported?

(Shouldn't be too difficult; plus, the system's new enough that changing up how things are stored shouldn't mess anything up too much just yet)

PeridexisErrant

  • Bay Watcher
  • Dai stihó, Hrasht.
    • View Profile
Re: PyLNP 0.9 - Cross-platform Lazy Newb Pack port with graphics pack patching
« Reply #218 on: January 07, 2015, 07:30:47 am »

Hmm. Some mods (Fortbent, Sparking for example) modify the data folder by adding speech files. Might that be able to be supported?

(Shouldn't be too difficult; plus, the system's new enough that changing up how things are stored shouldn't mess anything up too much just yet)

The code might be a little less elegant, but I can special-case /data/speech/ - it'll use the same format and all, it's just including it in comparisons and excluding from simplification.  Is there anything else outside "raw/*.txt" that someone might want to include?
Logged
I maintain the DF Starter Pack - over a million downloads and still counting!
 Donations here.

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: PyLNP 0.9 - Cross-platform Lazy Newb Pack port with graphics pack patching
« Reply #219 on: January 07, 2015, 05:06:01 pm »

data/art, but not really necessary; data/init for colors, but again, not really necessary; data/sound for custom music, but especially not necessary; data/speech is the only data folder referenced by the raws, so it's the only necessary one that will have errors if not included.

Fortbent also uses data/initial_movies to replace the opening animation, but I'm literally the only person who does that, so don't bother.

PeridexisErrant

  • Bay Watcher
  • Dai stihó, Hrasht.
    • View Profile
Re: PyLNP 0.9 - Cross-platform Lazy Newb Pack port with graphics pack patching
« Reply #220 on: January 07, 2015, 05:22:41 pm »

data/art, but not really necessary; data/init for colors, but again, not really necessary; data/sound for custom music, but especially not necessary; data/speech is the only data folder referenced by the raws, so it's the only necessary one that will have errors if not included.

Fortbent also uses data/initial_movies to replace the opening animation, but I'm literally the only person who does that, so don't bother.

Thanks, it'll just be /speech then.  /art and /init are more properly graphics pack territory (and I'm working on integrating those and mods properly).  /sound and /movies I'll just skip, since I don't see how a text diff would work.
Logged
I maintain the DF Starter Pack - over a million downloads and still counting!
 Donations here.

Meph

  • Bay Watcher
    • View Profile
    • worldbicyclist
Re: PyLNP 0.9 - Cross-platform Lazy Newb Pack port with graphics pack patching
« Reply #221 on: January 07, 2015, 05:27:20 pm »

data/init for sure. Announcements, embark profiles...

Hack/scripts ;)

data/announcement for mods that change the ingame messages or embark message. Deon does that a lot in his total conversions, and Suds Zimmerman did it as well. And Masterwork ;)
Logged
::: ☼Meph Tileset☼☼Map Tileset☼- 32x graphic sets with TWBT :::
::: ☼MASTERWORK DF☼ - A comprehensive mod pack now on Patreon - 250.000+ downloads and counting :::
::: WorldBicyclist.com - Follow my bike tours around the world - 148 countries visited :::

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: PyLNP 0.9 - Cross-platform Lazy Newb Pack port with graphics pack patching
« Reply #222 on: January 07, 2015, 05:31:14 pm »

You want to use raw/scripts instead of hack/scripts now for mod scripts. They're still called the exact same way, but they're copied with the save and picked up by the mod merger tool.

PeridexisErrant

  • Bay Watcher
  • Dai stihó, Hrasht.
    • View Profile
Re: PyLNP 0.9 - Cross-platform Lazy Newb Pack port with graphics pack patching
« Reply #223 on: January 07, 2015, 07:43:02 pm »

Hmm. I'll think on this - on one hand some mods use this stuff, but on the other simplification is usually right to discard it.

I might end up with the idea of a manifest to control a lot of this, and make a distinction between minor and major mods, with "no manifest" invoking current default settings as a minor mod. This would also allow for some more discriminating merge control (ie leave big mods alone).
Logged
I maintain the DF Starter Pack - over a million downloads and still counting!
 Donations here.

Nemoder

  • Bay Watcher
    • View Profile
Re: PyLNP 0.9 - Cross-platform Lazy Newb Pack port with graphics pack patching
« Reply #224 on: January 14, 2015, 06:28:49 pm »

I'm using XFCE on debian-testing and launching the game fails with:
Code: [Select]
xdg-terminal: configured terminal program 'linux' not found or not executableI assume it's because the xprop command in the xdg-terminal script isn't working.  Maybe something like this would be an easier way to detect the DE?
Code: [Select]
DESKTOP_ENV=`ps -eo comm= | egrep '(gnome-session|startkde|startactive|xfce.?-session|fluxbox|blackbox|hackedbox|ratpoison|enlightenment|icewm-session|od-session|wmaker|wmx|openbox-lxde|openbox-gnome-session|openbox-kde-session|mwm|e16|fvwm|xmonad|sugar-session)'`
Logged
Pages: 1 ... 13 14 [15] 16 17 ... 39