Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 21 22 [23] 24 25 ... 39

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

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile

Any way to get better information about the nature of merge confilcts (sic)?

EDIT: Okay, it's giving me that message with a completely empty folder. Now I'm confused.

EDIT 2: Also, simplifying removes manifest.json. Am I misunderstanding that? I have it on the same level as the raw folder (I.E it goes mod/raw/files... and mod/manifest.json).
« Last Edit: May 14, 2015, 11:53:49 pm by Putnam »
Logged

Pidgeot

  • Bay Watcher
    • View Profile

Any way to get better information about the nature of merge confilcts (sic)?

EDIT: Okay, it's giving me that message with a completely empty folder. Now I'm confused.
Try launching PyLNP with an argument "-d". This makes it generate more debug-related messages, which might give you some pointers.

When there's an overwrite merge, the latest build doesn't output the detailed information even with this parameter. I've changed that in the source code; new builds are planned for later today.

EDIT 2: Also, simplifying removes manifest.json. Am I misunderstanding that? I have it on the same level as the raw folder (I.E it goes mod/raw/files... and mod/manifest.json).

Fixed in source.

Pidgeot

  • Bay Watcher
    • View Profile

PyLNP 0.10a is out, fixing a bug with manifests and simplification, hiding non-tilesets found in data/art from the Graphics > Customize tab, and improving debug output for mod merges.

Dirst

  • Bay Watcher
  • [EASILY_DISTRA
    • View Profile

and improving debug output for mod merges.
So now I'll be able to figure out what that's causing that grinding-gears noise when I mess up a manifest file :)

Is there any chance that a manifest will be able to specify non-standard folders for (very naive) merging?  I'm thinking specifically of Stonesense and SoundSense content, but I'm sure there are other uses as well.
Logged
Just got back, updating:
(0.42 & 0.43) The Earth Strikes Back! v2.15 - Pay attention...  It's a mine!  It's-a not yours!
(0.42 & 0.43) Appearance Tweaks v1.03 - Tease those hippies about their pointy ears.
(0.42 & 0.43) Accessibility Utility v1.04 - Console tools to navigate the map

PeridexisErrant

  • Bay Watcher
  • Dai stihó, Hrasht.
    • View Profile

and improving debug output for mod merges.
So now I'll be able to figure out what that's causing that grinding-gears noise when I mess up a manifest file :)

Is there any chance that a manifest will be able to specify non-standard folders for (very naive) merging?  I'm thinking specifically of Stonesense and SoundSense content, but I'm sure there are other uses as well.

Ah, it might not help much with the manifest - though feel free to post it and I'll troubleshoot.  The logging is more so you can track down exactly what got overridden in your raws, and see which files were merged.

As to non-standard folders:  almost certainly not, because it risks irreversibly breaking something.  We only handle raws (plus data/speech/*, which should be raws) because we've got the baseline plus every component needed to rebuild to every intermediate or previous state.  Which isn't going to happen for other stuff.

However, it could work to store arbitrary files in the raw dir, so that they can operate per-save.  DFHack recently finished enabling this for scripts, and it's really elegant.
Logged
I maintain the DF Starter Pack - over a million downloads and still counting!
 Donations here.

Dirst

  • Bay Watcher
  • [EASILY_DISTRA
    • View Profile

As it is, you could in principle add content to SoundSense without overwriting any baseline files, but to add something to Stonesense you must change at least one included index file.

I don't think that anyone is actively developing Stonesense to be able to add a per-save data store, but the successor Armok Vision is an active project.
Logged
Just got back, updating:
(0.42 & 0.43) The Earth Strikes Back! v2.15 - Pay attention...  It's a mine!  It's-a not yours!
(0.42 & 0.43) Appearance Tweaks v1.03 - Tease those hippies about their pointy ears.
(0.42 & 0.43) Accessibility Utility v1.04 - Console tools to navigate the map

Pidgeot

  • Bay Watcher
    • View Profile

PyLNP 0.10b is building right now; uploads will be ready in a minute or two.

This implements a few minor bug fixes to mod installation, reorganizes launcher options into an actual options menu, and adds an option to always show scrollbars (intended to fix an issue that could arise with custom Windows themes.)

SatelliteOfLove

  • Bay Watcher
    • View Profile

I sincerely apologize if this has been covered in a previous post, but after much forum searching I couldn't find the answer.

I've used the dfhack script "exportlegends all" to export my world legends info, but I can't seem to get the built-in legends processor in PyLNP to work with it.  Every time I click the "Process Legends Exports" button, I'm given the error "There were no legends exports to process".  I've tried copying the export files to various utility/user/data folders, but PyLNP just doesn't seem to pick it up.  What folder am I supposed to put these exported files in, so that PyLNP can pick them up?
Logged

fricy

  • Bay Watcher
  • [DFHACK:ZEALOT]
    • View Profile

I've used the dfhack script "exportlegends all" to export my world legends info, but I can't seem to get the built-in legends processor in PyLNP to work with it.  Every time I click the "Process Legends Exports" button, I'm given the error "There were no legends exports to process".  I've tried copying the export files to various utility/user/data folders, but PyLNP just doesn't seem to pick it up.  What folder am I supposed to put these exported files in, so that PyLNP can pick them up?
The exported legends should be in the /Dwarf Fortress folder, and the launcher should look for them there and process them. Are you sure they were exported properly?

Xolroc

  • Bay Watcher
    • View Profile

I can't seem to get the modding interface to do anything at all. I've made a small mod and am trying to get it to put it into DF; all I can get it to do is move it between "Available" and "Merged", and when I click "Install Mods" it just says "No mods were merged to install," regardless of whether the mod was listed in the "Merged" list or "Available" list. From what little documentation I can find, apparently the mod should also be highlighted yellow, because it adds files to the default; it's just showing up with the default white background. I'm not sure what I'm doing wrong--it's formatted properly, I think: the structure is LNP/Mods/hydra/raw/graphics/<graphics files> and LNP/Mods/hydra/raw/objects/<object files>. (The mod is called hydra, because it adds the hydra as an adventurer-playable race.)

Am I using this wrong, or is this a bug of some sort? Either way, it seems to be very inadequately documented, probably just because it's so new.
Logged

fricy

  • Bay Watcher
  • [DFHACK:ZEALOT]
    • View Profile

Am I using this wrong, or is this a bug of some sort? Either way, it seems to be very inadequately documented, probably just because it's so new.
Try 0.10b, possibly you've encountered this bug.

Xolroc

  • Bay Watcher
    • View Profile

Try 0.10b, possibly you've encountered this bug.
I'm getting the same result. However, I've seen other things that suggest perhaps there ought to be a 'mod' listed as df_40_24 that contains the original raws? I'm not seeing that--do I have to make it and put it in the mods folder?
I'm using PeridexisErrant's starter pack r12, if that changes anything. I've stuck version 0.10b of PyLNP in there, too, per your instructions.
Logged

Button

  • Bay Watcher
  • Plants Specialist
    • View Profile

Hey guys I've got a smarter graphics applicator that I wrote in Python 3 specifically because I know LNP uses it. Take a look and see if you could use it. https://github.com/BoomButton/DF-BAMM
Logged
I used to work on Modest Mod and Plant Fixes.

Always assume I'm not seriously back

PeridexisErrant

  • Bay Watcher
  • Dai stihó, Hrasht.
    • View Profile

Hey guys I've got a smarter graphics applicator that I wrote in Python 3 specifically because I know LNP uses it. Take a look and see if you could use it. https://github.com/BoomButton/DF-BAMM

Awesome!  I haven't done more than skim it, but it's great to have more people chip in  :D

Quick notes:  GLP3 and ISC licenses are usually incompatible, but since you've clearly given permission to include it in PyLNP that's a nonissue.  PyLNP code has to be valid in Python2 and Python3, but keep writing in 3 as that's way easier to make general.  "Flat is better than nested" - you could probably have all .py files in the top dir without any problems and it would be a bit more readable.  Keeping lines to 80 characters also helps readability.  I didn't try this, but it's worth getting pylint to check your code too.

Ultimately - this is at least a good start to fixing our merge problems, and my first few attempts at the mods module were all a lot worse.  Good job!
Logged
I maintain the DF Starter Pack - over a million downloads and still counting!
 Donations here.

Button

  • Bay Watcher
  • Plants Specialist
    • View Profile

Quick notes:  GLP3 and ISC licenses are usually incompatible, but since you've clearly given permission to include it in PyLNP that's a nonissue.

I looked at your top-level files and didn't see a license.txt there. I'll check out the ISC license and see how it strikes me.

Quote
"Flat is better than nested" - you could probably have all .py files in the top dir without any problems and it would be a bit more readable.

Eh, they're a little excessive right now, but this package structure is going to come in handy as I expand to content merging, and when I put in unit tests. The only level that seems potentially excessive is the .bamm package, but that's an identifier - I'd think it'd be more confusing if it wasn't included. "from src.graphics import graphics" could mean anything. Though I suppose I could rename my packages or modules to be more bamm-specific, instead.

I'll look up the "flat is better than nested" principle though and see if this is valid or just non-Pythonic.

Question - the __init__.py s were added by PyDev when I created the packages, are those actually necessary to have packages? They don't seem to do anything...

Quote
Keeping lines to 80 characters also helps readability.  I didn't try this, but it's worth getting pylint to check your code too.

I've been using the PyDev plugin for Eclipse, which includes a code analysis tool which I beliiieve is based on pylint. At least, pylint's webpage includes a link to PyDev.

I'm still working on improving readability and usability-by-other-modules.

Right now, if you want to call it from LNP, I'd edit the run.config file procedurally and then just link the graphics button up to src.bamm.graphics.execution.default_run().
Logged
I used to work on Modest Mod and Plant Fixes.

Always assume I'm not seriously back
Pages: 1 ... 21 22 [23] 24 25 ... 39