-
Notifications
You must be signed in to change notification settings - Fork 11
/
changelog.txt
123 lines (101 loc) · 8.28 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
v1.1.4: Werebeast
2 October 2017
Fixed issue with pineapple.diff script.
Added a neat helpful tutorial for using pineapple.diff at docs/pineapple.diff.md.
Added script ketsuban.milkbooze.
v1.1.3: Flux Stone
27 May 2017
Fixed issue where arguments passed to scripts would be ignored.
Added script pineapple.playcivs.controllable which manages SITE_CONTROLLABLE tokens on entities.
Added scripts underneath pineapple.tools which add minor tools and weapons such as daggers, mallets, and hatchets.
Added json format option for scripts documentation output.
v1.1.2: Full Moon
21 May 2017
Fixed issue with pineapple.cavegrass script where an essential raws file was placed in the wrong location.
Added "addbefore" and "addafter" methods to tokens, more grokkable alternatives to writing "add(reverse=True/False)".
Added option to pineapple.utils.addtoentity to permit an object for all entities if the input is "*".
Added script pineapple.playanimalmen.
Added scripts underneath azerty.agriculture, a PyDwarf version of Extended Agriculture.
v1.1.1: Goblins
5 May 2017
Fixed issue that made PyDwarf scripts with compatibility fields unusable with more recent versions of Dwarf Fortress.
Fixed yaml dependency issue that could make using PyDwarf in the Python CLI awkward for modders.
v1.1.0: Chalcedony
22 September 2015
Fixed issue where raws files without headers weren't recognized as such, especially relevant to files like data/init/init.txt.
Fixed some raws classes having shitty __repr__ overrides.
Fixed bug where adding text to a raws.binfile object that had none would cause an exception.
Fixed bug in pineapple.utils.addhack where text that should be added to raw/onLoad.init was added to dfhack.init instead.
Fixed bug where a token's prop methods would also query the immediately following object header.
Renamed some arguments: "implicit_braces" to "implicit", "until_token" to "until", "include_self" to "skip", "fail_on_multiple" to "failmulti".
Renamed some of the short arguments for manager.py.
Removed methods until, getuntil, lastuntil, and alluntil from raws.queryable as their functionality has been absorbed by the get, last, and all methods.
Removed script pineapple.stoneclarity because it was obtuse, not very useful, and getting to be a pain to debug.
Added yaml configuration files and made a yaml file the default configuration option.
Added scripts underneath dragondeplatino.gemset for automated installation of 24px and 48px graphics packs.
Added scripts pineapple.noanimalmen and pineapple.nogiantanimals.
Added a description to pineapple.adoptsowner.
Added docs/bin/verify.py which does something like unit testing to help catch stray bugs.
Added class raws.tokengenerator which most methods that previously returned a generator return now, it allows iterating the same generator multiple times because that's really convenient sometimes even if it can be suboptimal.
Added class pydwarf.registrar, it allows syntax like pydwarf.scripts.pineapple.flybears(df) in place of pydwarf.urist.getfn('pineapple.flybears')(df).
Improved how python override config files are loaded.
Improved converting between file objects, e.g. binfile to rawfile.
Improved how queries are internally handled and made it easier to define custom filters and queries.
Improved documentation and error handling all around.
Improved internal representation of some token attributes, this will make them easier to mess around with in scripts: token.value = x now involves the same input verification as token.setvalue(x).
Improved the way that token collections are represented as strings.
Improved class inheritance in raws and pydwarf packages, any classes that previously weren't new-style are now.
v1.0.2: Magma Forge
8 July 2015
Fixed the vagueness of most exceptions in the raws and pydwarf packages, most of them should now be reasonably forthcoming about what went wrong and why.
Fixed bug in raws.token.add which was arising from a dumb typo and really should have been caught long before.
Renamed raws.dir.addfile to raws.dir.add and raws.dir.setfile to raws.dir.set.
Renamed raws.file to raws.rawfile to make things less confusing in light of some other additions.
Renamed stal.armourypack to stal.armoury because why not.
Removed pineapple.utils.addreaction, which has been superseded by the newer and shinier pineapple.utils.addobject.
Added a great deal of functionality to the raws.dir object, which is now capable of tracking an entire DF directory as opposed to just its raw/objects subdirectory.
Added three new file classes: raws.basefile, raws.reffile, and raws.binfile.
Added more documentation and tutorials, big surprise. (Also added and neglected to document a bunch of new functionality while I was at it, he he he.)
Added a number of handy new operator overloads and fiddled a few existing ones while I was at it.
Added methods like raws.queryable.removefirst, raws.queryable.removeall, and quite a few more.
Added script pkdawson.vegan, a port of df-vegan.
Added scripts underneath omniclasm.decay, a port of State of Decay.
Added scripts umiman.smallthings.threats and umiman.smallthings.nofamily, ports of parts of smallthings that PyDwarf couldn't support until now.
Added scripts pineapple.easypatch, pineapple.utils.addobject, pineapple.utils.addobjects, pineapple.utils.permitobject, pineapple.utils.permitobjects, and pineapple.utils.addhack.
Added raws.objects module which helps with knowing some things about how raws files are supposed to be structured.
Added a very nifty raws.tokenlist.each method which did great wonders for terseness of some mods.
Improved general flow and structure of manager code against pydwarf.session code, moved things around and generally tidied up.
Improved the __getitem__ method for raws.queryable objects so that now it can handle ellipses and slices and some other stuff too.
Improved the way token arguments are internally handled, and made a few changes to pertinent token methods.
Improved pineapple.utils.addentity and made a pretty big change to how it accepts arguments in the process.
Improved raws.queryable.getobj and raws.queryable.allobj methods, now they can do even more stuff than before.
Improved the raws.tokenfilter constructor, which is now decent enough to handle passing a single tuple/whatever to exact_arg, re_arg, or arg_in rather than an iterable of them.
Improved stal.armoury, putnam.materialsplus, putnam.microreduce, shukaro.higherlearning, and shukaro.creationforge by rewriting each of them entirely.
Tweaked almost every script in some way, really, mostly in the interest of utilizing newer and more awesome functionality.
v1.0.1: Strange Mood
22 June 2015
Fixed pineapple.boneflux reaction by being less bad at string formatting
Fixed pineapple.utils.addreaction not adding an OBJECT:REACTION token to created files
Fixed new grasses in pineapple.cavegrass not being recognized by DF
Fixed a small issue with logging in pineapple.cavegrass
Fixed non-raws files from input directory not being written to output
Fixed pydwarf.response casting to string always returning a string starting with "SUCCESS" even when unsuccessful
Added a lot more documentation
Added a shitty WIP tool for outputting docstrings as more readable html
Added a list method to queryable raws objects which acts as a shortcut for raw.tokenlist(something.tokens())
Added a file attribute to raws.token objects for tracking which file they belong to, if any
Added a bunch of helpful operator overloads
Added length and clear methods to raws.file
Added some convenience things to the raws package: raws.parse and raws.parseone refer to the raws.token static methods, raws.filter refers to raws.tokenfilter
Added index and slice functionality to raws.token and raws.file, most easily accessible via conventional notations like token[1] or token[-8:0:2]
Added step argument to tokens method for raws.token and raws.file
Improved error handling for bad config settings
Improved raws.tokenlist casting to string
Improved objdict method to return a dictionary of raws.tokenlist objects where previously they were regular lists
Improved handling of assignment of illegal strings to token text, now automatically resolves some common pitfalls
Improved argument handling for raws.boolfilter static methods all, any, one, and none
Tweaked grass colors in pineapple.cavegrass
Tweaked names, craftable items, and material values in pineapple.greensteel
v1.0.0: A New Hope
7 June 2015
First Release!