Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 2 [3] 4 5

Author Topic: PyDwarf 1.1.4: Werebeast  (Read 36376 times)

madk

  • Bay Watcher
    • View Profile
    • pineapplemachine
Re: PyDwarf: A powerful modding utility and mod manager
« Reply #30 on: June 03, 2015, 03:34:49 pm »

Generally "token" is used to refer to a lexeme with attached meta-data (location in the file, type, ect).

Quote from: Wikipedia
A lexeme is a string of characters which forms a syntactic unit.[2]

Some authors (for example, [1], [2]), just call this a token, using 'token' interchangeably to represent (a) the string being tokenized, and also (b) the token datastructure resulting from putting this string through the tokenization process.

http://en.wikipedia.org/wiki/Lexical_analysis#Lexeme

Personally I've never heard someone actually refer to them as lexemes.

madk

  • Bay Watcher
    • View Profile
    • pineapplemachine
Re: PyDwarf 1.0.0: A New Hope
« Reply #32 on: June 07, 2015, 08:51:07 am »

Finally put out a first release! https://github.com/pineapplemachine/PyDwarf/releases

A list of scripts included with the current release:
Spoiler (click to show/hide)

madk

  • Bay Watcher
    • View Profile
    • pineapplemachine
Re: PyDwarf 1.0.1: Strange Mood
« Reply #33 on: June 22, 2015, 07:06:05 am »

Here's the second release, v1.0.1: Strange Mood. Mostly it adds a lot of documentation and fixes/improves stuff that was already there.

I'm still trying to gain traction for PyDwarf! I believe the best way to do this is to add more mods. If you have a mod you'd like to see rewritten for PyDwarf, please let me know and I'll work with you to get it done. PyDwarf is very good at this sort of thing! Mods that might previously have been limited to a small range of Dwarf Fortress versions, and might have been troublesome to merge with other mods, can now be written in such a way that compatibility becomes almost a non-issue.

Changelog:
Spoiler (click to show/hide)

notfood

  • Bay Watcher
    • View Profile
Re: PyDwarf 1.0.1: Strange Mood
« Reply #34 on: June 22, 2015, 11:54:37 am »

Maybe it would be good to start with the popular graphic packs. The more complex do some generic changes to the raws.
Logged

madk

  • Bay Watcher
    • View Profile
    • pineapplemachine
Re: PyDwarf 1.0.1: Strange Mood
« Reply #35 on: June 26, 2015, 01:38:00 pm »

Coming in the next release: A major revising of the way PyDwarf handles files will provide modders with the ability to add or modify DFHack scripts, to work together with stonesense, to tinker with DF init settings and with speechfiles, and to add images for use with graphics packs or even just new tilesets, and still loads more. All of this with the ease and flexibility of Python!

madk

  • Bay Watcher
    • View Profile
    • pineapplemachine
Re: PyDwarf 1.0.1: Strange Mood
« Reply #36 on: July 06, 2015, 04:32:10 pm »

Recent mod additions which take advantage of the aforementioned major revision include omniclasm's State of Decay, pkdawson's df-vegan, and two more of umiman's smallthings mods. Expect a new release quite soon!

expwnent

  • Bay Watcher
    • View Profile
Re: PyDwarf 1.0.1: Strange Mood
« Reply #37 on: July 06, 2015, 07:21:27 pm »

Posting to watch.
Logged

madk

  • Bay Watcher
    • View Profile
    • pineapplemachine
Re: PyDwarf 1.0.2: Magma Forge
« Reply #38 on: July 07, 2015, 04:55:35 pm »

madk

  • Bay Watcher
    • View Profile
    • pineapplemachine
Re: PyDwarf 1.0.2: Magma Forge
« Reply #39 on: July 29, 2015, 07:17:53 am »

I've been hard at work on PyDwarf and a new release is coming soon: Prepare yourself for improved documentation and a GemSet installation script! Many thanks go to dragondeplatino for working with me to get that script working.

madk

  • Bay Watcher
    • View Profile
    • pineapplemachine
Re: PyDwarf 1.0.2: Magma Forge
« Reply #40 on: August 07, 2015, 12:58:23 pm »

Haha, "soon".

This is going to be the last major release of PyDwarf so I'm spending a lot of time making the documentation as helpful as I can and hunting down any remaining bugs. How does it go, the last 10% of the code takes 90% of the development time? But this polish is important: I understand that PyDwarf can look like a confusing mess and that's why I'm working hard to make it as accessible and as easy to use as possible. For anyone with any programming experience who wants to get into modding I believe PyDwarf is their best option by far. Included with the next release will be several tutorials for various aspects of PyDwarf, thorough documentation on its more complicated parts, and summaries and example usages for as many functions and methods as I can cover.

Want to help PyDwarf to attain its final form? I can always use help discovering bugs, writing code examples, making sure everything actually makes sense to someone who isn't me.
« Last Edit: August 07, 2015, 01:02:46 pm by madk »
Logged

madk

  • Bay Watcher
    • View Profile
    • pineapplemachine
Re: PyDwarf 1.1.0: Chalcedony
« Reply #41 on: September 22, 2015, 07:09:32 am »

PyDwarf v1.1.0: Chalcedony has been released!

Here's a step-by-step tutorial to guide you through your first time configuring and running PyDwarf, and here's another tutorial to help you get started creating your first mod. Also, here's a handy list of scripts with which PyDwarf comes packaged. And here's where all those scripts are actually located, in case you'd like to see what their innards look like.

Here's just a few examples of the mods included with this release of PyDwarf:
Normally you'd be bound to run into compatibility issues when trying to install so many of these mods at once, and you'd surely have to wait for authors to update their mods before reinstalling everything whenever Dwarf Fortress updates. Not so with PyDwarf. PyDwarf is highly capable of avoiding conflicts between mods, and it cares little about which version of Dwarf Fortress you're modifying. Not only does PyDwarf make it much easier for the player to install mods, it also makes it easier for the modder to craft something excellent. Instead of editing text files on your own, PyDwarf allows you to write scripts which edit them for you: What this means for you is an enormous reduction in tedium.
« Last Edit: September 22, 2015, 07:21:06 am by madk »
Logged

madk

  • Bay Watcher
    • View Profile
    • pineapplemachine
Re: PyDwarf 1.1.0: Chalcedony
« Reply #42 on: December 15, 2015, 07:50:16 am »

Just a PSA that PyDwarf is 100% functional for DF 42.x. It's possible that some mods written for it may be incompatible with raws changes made, and mods depending on other utilities won't work until those have been updated - but PyDwarf itself requires no update.

All of the mods packaged with PyDwarf should work with DF 42.x without any changes, though some depend on DFHack or TWBT also being up-to-date.
« Last Edit: December 15, 2015, 07:53:44 am by madk »
Logged

cryzed

  • Bay Watcher
    • View Profile
Re: PyDwarf 1.1.0: Chalcedony
« Reply #43 on: December 26, 2015, 09:49:56 am »

I'm just stopping by to tell you how cool and impressive your project is. I'm a Python enthusiast myself and have seen your project a few times on the forums and always thought so. I think it's unfortunate that this thread seems relatively inactive, which makes your continued progress and enthusiasm with the project even more impressive. Thanks for contributing really cool tools to Dwarf Fortress (even though I am not actively using them myself)!
Logged

Xinael

  • Bay Watcher
    • View Profile
Re: PyDwarf 1.1.0: Chalcedony
« Reply #44 on: January 22, 2016, 02:15:01 pm »

This project is awesome. This is going to make my life so much easier.

One question though, or suggestion for the documentation. I'm a definitely Python newbie, I've dabbled enough to know the syntax but I've never developed anything serious with it. I understand how to call scripts through manager.py well enough, so I think the documentation is great there, btw :)

But a big gap for me is understanding the best workflow to use when I'm developing a script. I want to be checking that my script is loading the right entities, amending them in the right way, and leaving them the way I want them to be after it runs. I could call the script over and over with manager.py but that seems inefficient and slow and it requires me to have a dev version as well as my real version of pydwarf (to have a different config). It will make debugging a nightmare too.

So if you could suggest a workflow for script development, that would be awesome. I assume you have some good advice to give since you've developed all the scripts that come with pydwarf. I assume that running raws.dir() to load the directory and then running scripts and functions against that to check it's working as I expect would be the best method - but I'd really appreciate any advice, help and tips you can share about ways to set that up that you found helpful.

I'm in the situation now where I have a good idea what I want my script to do, but I don't have a good process for making it happen and checking that it's working, except writing something I think will work in Sublime and then running manager.py over and over. Any help would be greatly appreciated :)
Logged
Pages: 1 2 [3] 4 5