Commit Graph

341 Commits (0fc451d2dcf3efca8ebf73e277ab9a5ffb06feef)

Author SHA1 Message Date
Josh Cooper 23b2d5eba5 Merge branch cxxrandom
Implements helper functions for random number generation.
Implemented using C++11 <random> library.

Exported Lua Functions:
- seedRNG(seed)
- rollInt(min, max)
- rollDouble(min, max)
- rollNormal(mean, std_deviation)
- rollBool(chance_for_true)
- resetIndexRolls(string, array_length)  --String identifies the instance of SimpleNumDistribution to reset
- rollIndex(string, array_length)        --String identifies the instance of SimpleNumDistribution to use
                                         --(Shuffles a vector of indices, Next() increments through then reshuffles when end() is reached)

 On branch cxxrandom-rel
 Changes to be committed:
   modified:   plugins/CMakeLists.txt
   new file:   plugins/cxxrandom.cpp
   new file:   plugins/lua/cxxrandom.lua

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Squashed commit of the following:

commit 3a7ef70d45f3e0c2fe367141dd0349dddaaff60d
Merge: fd9f1982 7aa0608c
Author: Josh Cooper <cooper.s.josh@gmail.com>
Date:   Fri Dec 22 22:17:27 2017 -0800

    Merge remote-tracking branch 'origin/temp' into cxxrandom

commit 7aa0608cb85dcf82686193db7a6e9d1318f5f2a5
Author: Josh Cooper <cooper.s.josh@gmail.com>
Date:   Thu Dec 21 21:43:35 2017 -0800

    Revises cxxrandom plugin

    New functions:
    - seedRNG(ushort seed)
        --lua exported
    - GetDistribContainer()
        --internal singleton
    - RNG()
        --internal singleton

    Summary:
    - Removed class CXXRNG
        --Refactored functions that used CXXRNG

     Changes to be committed:
            modified:   plugins/cxxrandom.cpp

commit b42979818a01c1121eace7b1ac14676f5ad5d8b2
Author: Josh Cooper <cooper.s.josh@gmail.com>
Date:   Wed Dec 20 13:21:49 2017 -0800

    Fixes plugin_init()

    Misread the lines indicated by lethosor to be excluded, had broken the plugin in the process.
     Changes to be committed:
    	modified:   plugins/cxxrandom.cpp

commit 753a00a14d9e6519d299638e014abf30509940af
Author: Josh Cooper <cooper.s.josh@gmail.com>
Date:   Wed Dec 20 12:36:17 2017 -0800

    Cleans up cxxrandom.cpp

    DFHack contributions specifies:
    -spaces instead of tabs, so tabs were converted.
    -C++ headers before dfhack stuff, so it was done

    *Also added author name, creation date, and last updated date.

     Changes to be committed:
    	modified:   plugins/cxxrandom.cpp

commit 498ebe4b8fdccc01ac1f169269f3093c830a8a10
Author: Josh Cooper <cooper.s.josh@gmail.com>
Date:   Tue Dec 19 22:51:58 2017 -0800

    Updates cxxrandom, fixes instance leak

    deleted header
    moved definition to cpp file #lethosor

    fixed singleton instance, no longer a pointer
    commented out dfhack commands, now only init/shutdown and exported lua functions

    	modified:   cxxrandom.cpp
    	deleted:    cxxrandom.h

commit 821044bef2a0201d0d74192e445c7b29766b42a1
Author: Josh Cooper <cooper.s.josh@gmail.com>
Date:   Sun Dec 17 04:01:11 2017 -0800

    Fixes RollIndex and Renames RollNormal

    Renamed the Normal Distribution RNG function to fit the standard.
    Now named RollNormal(m,s)

    Fixed some wonky white space in the lua macro export block.

    Fixed a stupid mistake with the RollIndex output. (it was outputting 0's)

    Updated usage details.

     Changes to be committed:
    	modified:   plugins/cxxrandom.cpp

commit 1536f43d137b6bc55d55759b43bdccf6ff429b33
Author: Josh Cooper <cooper.s.josh@gmail.com>
Date:   Fri Dec 15 08:50:08 2017 -0800

    Fixes/Improves cxxrandom

    Modified return types
    Corrected index distribution code

commit 8629c7e1509522cb0cc4b649914b90d033cb4763
Author: Josh Cooper <cooper.s.josh@gmail.com>
Date:   Thu Dec 14 19:02:29 2017 -0800

    Implements SimpleNumDistribution

    Exported additional functions to lua.
    Functions allow the generation of random 0-N index values.
    Generation promises all unique values [0,N] will be returned once each when generation is run N times.

     On branch cxxrandom
     Changes to be committed:
    	modified:   plugins/cxxrandom.cpp
    	modified:   plugins/cxxrandom.h

commit f035f3d20415790542cf83e5e696261661d911f3
Author: Josh Cooper <cooper.s.josh@gmail.com>
Date:   Wed Dec 13 23:55:39 2017 -0800

    Implements cxxrandom

    cxxrandom was implemented using a singleton.
    This singleton provides an interface for generating uniform numbers, or numbers in a normal distribution, and also booleans(given the probability for the true outcome)
    The singleton interface is wrapped in functions which are exposed for lua usage.

    Integrated into plugins/CMakeLists.txt

     On branch dev
     Changes to be committed:
    	modified:   CMakeLists.txt
    	new file:   cxxrandom.cpp
    	new file:   cxxrandom.h
    	new file:   lua/cxxrandom.lua
2018-04-29 21:08:44 -07:00
Warmist e48e2e6534 A twbt utils plugin for misc stuff used in twbt by mifki.
Currently only render map function.
2017-12-31 13:57:37 +02:00
PatrikLundell 80fe49b339 Add embark-assistant plugin 2017-09-01 14:13:34 +02:00
lethosor eb7e9dcf1f Merge remote-tracking branch 'ab9rf/labormanager-1103' into develop 2017-08-07 14:00:15 -04:00
lethosor a383cc9a30 Fix diggingInvaders compilation errors (#1145, GCC 4.8) 2017-08-06 21:01:36 -04:00
Kelly Kinkade d810faa4a3 whitespace 2017-07-28 02:43:32 -05:00
Kelly Kinkade a7d21fd627 move labormanager into a subdirectory 2017-07-28 02:28:16 -05:00
Kelly Kinkade 15ae72edec labormanager: Refactor source, separating the job labor mapper into a separate source file. 2017-07-22 04:31:30 -05:00
Ben Lubar f963d89e12 Merge branch 'develop' into plugin-orders 2017-07-11 15:12:40 -05:00
lethosor 2d07e5edea Add new "pathable" plugin 2017-07-05 23:54:55 -04:00
Ben Lubar 7b3ce20167
Add orders plugin for managing manager orders. 2017-07-02 14:02:55 -05:00
Japa Illo b18bd72c05 Replace tab with spaces. 2017-02-06 10:12:20 +05:30
Japa c659b885b6 Start a plugin to rename generated creatures to have sensible IDs 2017-01-25 23:06:03 +05:30
lethosor e8c8953cbb Re-add and update misery plugin
Closes #1037
Ref #1011
2016-12-10 18:22:32 -05:00
lethosor d6fda58ca0 Remove treefarm (PR #1011)
Merge remote-tracking branch 'PeridexisErrant/remove-broken-plugins'

advtools and misery are still partially broken, but parts of them still work, so
repairing them is possible.
2016-12-09 11:20:35 -05:00
Japa Illo 20b9aab8db moved remotefortressreader.cpp to its own directory. 2016-11-08 15:11:27 +05:30
lethosor 04ad7a0a42 Replace some instances of "cmake -E copy_if_different" with a standalone script
@JapaMala reported that CMake < 3.5 doesn't support copy_if_different with
multiple source files.

https://cmake.org/cmake/help/v3.5/release/3.5.html#command-line
2016-11-02 16:23:32 -04:00
PeridexisErrant cdf24efe43 Remove plugins - all broken since 34.11
This changes nothing at all as far as any DFHack user is concerned, as
these plugins have not been possible to build since DF 34.11 - and would
have to be rewritten for compatiblity with new native-DF systems.
"treefarm" is additionally replaced by "autochop".

In the unlikely event that a developer wants the source code for
something... that's what version control is for!
2016-10-27 23:35:29 +11:00
lethosor 2c230f0d3e Improve protobuf file regeneration (no longer uses a dummy status.txt file) 2016-10-24 22:51:27 -04:00
lethosor 4fdbba0207 Only touch protobuf generated files if they actually changed 2016-10-24 22:28:51 -04:00
Japa 701adc12b3 Add ability for remotefortressreader.cpp to accept dig designations. 2016-10-19 22:21:50 +05:30
lethosor a1c25570df Move labormanager to plugins/, per request 2016-08-11 23:49:15 -04:00
lethosor 53a0d73d23 Add new title-folder plugin 2016-08-09 20:09:50 -04:00
lethosor 79377669a1 Merge remote-tracking branch 'NCommander/dwarfvet' into develop 2016-07-29 16:25:53 -04:00
Vitaly Pronkin 8916aba3bf win64 fixes (partial)
cherry-picked from 2f734ae2317060edb83021f17cffc966c435ad7b
2016-07-27 19:46:49 -04:00
Michael Casadevall 39c96c474a Fix ordering, news, and indentation
Signed-off-by: Michael Casadevall <mcasadevall@ubuntu.com>
2016-06-14 16:13:26 -04:00
lethosor f908a1d1b6 Replace catsplosion plugin with a script
Closes #938, #722
2016-06-11 21:44:15 -04:00
Michael Casadevall e45fbfc61d Modified dwaftvet plugin to work with latest DFHack
Initial commit of the dwarfvet plugin

Signed-off-by: Michael Casadevall <mcasadevall@ubuntu.com>
2016-06-08 04:14:59 -04:00
PeridexisErrant acac839371 Replace fixdiplomats, fixmerchants with scripts 2016-04-20 11:12:06 +10:00
expwnent 5bb98295b3 Merge pull request #810 from PeridexisErrant/colonies
Colonies as a script, + place feature by Warmist
2016-03-13 08:32:05 -04:00
expwnent b71c1b9e7c Merge pull request #751 from PeridexisErrant/remove-dfusion
Remove dfusion, df2mc, mapexport, dwarfexport
2016-03-13 08:22:07 -04:00
PeridexisErrant e519313b70 Convert colonies plugin to script, add place feature 2016-02-01 18:12:38 +11:00
Eric Wald 53780d8232 New autogems plugin, automatically cutting rough gems. 2016-01-08 23:18:41 -07:00
PeridexisErrant 81b055ee93 Implement "weather" as a script 2016-01-01 11:35:58 -05:00
lethosor df61233774 Merge remote-tracking branch 'PeridexisErrant/new-scripts' into develop 2015-11-26 16:13:27 -05:00
lethosor b7dd93b6e8 Implement most of the confirm plugin in Lua
This should make resolving future issues easier, although implementing
new confirmations in lua isn't possible yet (each one requires a line
in confirm.cpp).

This also resolves an issue with note-delete and route-delete, with
dfhack/df-structures@1bc4f61
2015-11-21 19:01:35 -05:00
lethosor 67aed56183 Allow adding plugins temporarily without modifying plugins/CMakeLists.txt
Useful to avoid issues when switching between branches that modify
plugins/CMakeLists.txt
2015-11-17 17:42:03 -05:00
PeridexisErrant 842b9c5191 Implement feature as a script, add magma option
Functionality is exactly equivalent to the plugin, but with a new option
for players who want to enable magma furnaces without spoilers.
2015-11-17 16:43:56 +09:30
PeridexisErrant 2ba9ef04e3 Replace drybuckets plugin with a script
Also closes #248, by checking job and building flags.
2015-11-17 13:55:43 +09:30
PeridexisErrant 5f8f0c72aa Remove dwarfexport plugin (obsolete)
The Runesmith utility has long been replaced by Dwarf Therapist, and
it's attribute-editing functions are very well supported directly by
DFHack.
2015-11-17 11:13:22 +09:30
PeridexisErrant 836e1a3a37 Remove mapexport plugin (obsolete)
It's been disabled for more than a year, and nobody misses it.  If that
changes, it'll still be in the git history!
2015-11-17 11:13:21 +09:30
PeridexisErrant 291787a019 Remove df2mc plugin (obsolete)
It's still got it's own repo, but it hasn't been compatible with
Minecraft for years and shouldn't be in the DFHack repo.
2015-11-17 11:13:20 +09:30
PeridexisErrant 80e4b8d3df Remove DFusion plugin and script system
It's been four years since meaningful updates, and in that time
alternatives have emerged to almost everything.  Any remaining
functionality to replace is on the issue tracker.

Simpler is better, for users and developers, and removing a legacy
system makes it easier to understand how DFHack works.
2015-11-17 11:13:19 +09:30
PeridexisErrant 0bb203e7c9 Replace initflags plugin with scripts
Progress towards #722
2015-11-07 23:42:14 +11:00
lethosor 757c05db86 buildingplan-lib: depend on dfhack 2015-10-18 17:46:37 -04:00
lethosor dd32954cce Make buildingplan-lib a static library
This avoids building buildingplan-lib.cpp multiple times
2015-10-18 13:08:48 -04:00
lethosor a852ca10d7 Merge remote-tracking branches 'warmist/luasocket' and 'warmist/advfort' into develop 2015-09-12 19:59:53 -04:00
lethosor c6ae3e11fd Rename remotefortressreader to RemoteFortressReader 2015-08-26 16:40:59 -04:00
Warmist 5bb69cfe04 Add luasocket to CMakeLists.txt 2015-08-15 15:12:13 +03:00
lethosor fcd15bfd73 Move vshook plugin to title-version and enable by default 2015-08-09 13:37:26 -04:00
lethosor bce9d98633 New plugin: fix-unit-occupancy (fixes bug 3499) 2015-08-07 14:33:38 -04:00
lethosor d02e67267a Replace jsonxx with jsoncpp 2015-07-29 15:50:33 -04:00
lethosor 175edf501a Add "confirm" plugin - implements a few confirmation dialogs
See #577
2015-07-27 10:05:59 -04:00
lethosor 93c9a41a3a Reimplement dwarfmonitor widgets in Lua (and improve customizability)
Widget positions and a few other options (e.g. date formats) can be
specified in dfhack-config/dwarfmonitor.json on a per-instance basis.

Related changes:
* Fixed an issue loading JSON files from Lua
* JSON files in dfhack-config (only dwarfmonitor.json currently) are
  no longer copied into the DF directory when building DFHack. This
  keeps developers' personal settings intact, but will require
  copying over changes made to DFHack's copies manually.
* Fixed incorrect config path in dwarfmonitor help
2015-06-13 21:15:43 -04:00
lethosor a1fd1d9219 Document dwarfmonitor and allow date format to be modified 2015-04-19 12:38:37 -04:00
lethosor 87867b96b9 Add autohauler to plugins/CMakeLists.txt 2015-02-27 23:18:26 -05:00
scamtank 9c4dbea392 Re-enabled fix-armory plugin 2015-02-09 00:22:19 +02:00
Chris Dombroski 819327348b Blueprint plugin basic structure
It should be able to load and make empty blueprint files.
2015-01-08 08:28:54 -05:00
expwnent 448404a465 Fix buildingplan stuff on Windows. 2015-01-05 20:02:54 -05:00
expwnent 1519d8e9ea Disable fortplan and buildingplan for now because it doesn't compile on Windows. 2015-01-05 19:34:01 -05:00
lethosor 0c768796e2 Merge remote-tracking branch 'danaris/fortplan'
Conflicts:
	plugins/buildingplan.cpp
2015-01-05 16:47:35 -05:00
Timothy Collett 5547722414 Initial work on fortplan plugin, including separating out code that needs to be shared with buildingplan 2014-12-23 16:56:15 -05:00
Casey Link 2e43ea8b38 stockpiles: refactor code into separate files
The file was approaching 3000 lines and contained multiple classes,
making it a real PITA to navigate through. upcoming features would only
add more LOC, so splitting was necessary.
2014-12-05 11:02:40 +01:00
Casey Link ebb1345332 stockpiles: add settings protobuf message format 2014-11-22 18:33:47 +01:00
expwnent 267d0837ad Merge pull request #381 from lethosor/update-cmakelists
Re-enable rendermax in CMakeLists.txt
2014-11-09 00:34:23 -05:00
lethosor 2484f89542 Update dwarfmonitor's happiness display 2014-11-08 15:08:56 -05:00
Lethosor ec580cdfa5 Re-enable rendermax in CMakeLists.txt 2014-11-07 16:43:50 -05:00
lethosor 14b947837c Merge remote-tracking branch 'origin/develop' into tweak-reorganization
Conflicts:
	NEWS
	Readme.html
	plugins/tweak/tweak.cpp
2014-11-02 11:40:53 -05:00
expwnent 87443035a9 Merge remote-tracking branch 'quietust/develop' into develop
Conflicts:
	plugins/manipulator.cpp
2014-11-02 04:05:51 -05:00
Alexander Gavrilov 04ec2c9932 Update version to v0.40.14 and hack things so they compile.
Also make the find-offsets script less likely to crash if the
unit structure is misaligned and add more integrity checks.
2014-10-26 16:40:39 +03:00
Eric Wald 0fad63bba7 New trackstop plugin.
Simply adds a menu to track stops, showing and changing friction and dump direction.
2014-09-28 18:24:07 -06:00
lethosor aeb9ea54ec 'tweak' plugin cleanup/reorganization
* Removed confirm-embark, stable-temp, patrol-duty
* Split (enabled) tweaks into separate files
* New tweak: manager-quantity
2014-09-27 17:01:32 -04:00
expwnent 040acd166b Merge remote-tracking branch 'eswald/automelt'
Conflicts:
	dfhack.init-example
2014-09-16 17:20:50 -04:00
Anuradha Dissanayake 757491f112 Add automelt plugin 2014-09-09 20:31:55 -06:00
Anuradha Dissanayake 07de1ce3f6 Add hotkeys plugin 2014-09-08 22:42:04 -06:00
Quietust 287301b682 Update autolabor to work with 0.40 2014-08-15 14:12:57 -05:00
expwnent b2dc4bd104 autolabor doesn't load properly in windows. 2014-08-15 02:19:24 -04:00
Quietust 9956b4a5ef Update getplants, plants, and prospector, and isolate autochop 2014-08-06 09:31:42 -05:00
lethosor fa26aa79ea Make some plugins compile for 0.40
dwarfmonitor: remove StoreItemInChest, StoreItemInCabinet, ProcessPlantsBag, and BrewDrink
dig/diggingInvaders/siege-engine: update special cases for trees to handle roots/branches/trunks
2014-08-04 12:28:22 -04:00
Quietust 97de21357c First pass for 0.40 compatibility; still lots left to do, but this will at least build 2014-07-21 13:18:29 -05:00
expwnent 0a16bc2e12 Merge remote-tracking branch 'origin/perSaveScripts' into scriptOrganization
Conflicts:
	plugins/CMakeLists.txt
2014-07-07 09:01:07 -04:00
expwnent 6652074644 Delete the syndromeTrigger plugin. 2014-07-03 09:03:26 -04:00
JapaMala e04ab11659 Merge branch 'develop' of github.com:DFHack/dfhack into develop
Conflicts:
	library/xml
	plugins/stonesense
2014-07-02 23:18:55 +05:30
expwnent deb755fd57 Sorted the plugins CMakeList. 2014-06-30 02:51:23 -04:00
expwnent 0aa2dc149f Converted outsideOnly plugin to Lua script. 2014-06-30 02:21:58 -04:00
expwnent f88c176dd3 Removed autoSyndrome. 2014-06-29 06:16:52 -04:00
warmist 5e2653998c Added rendermax to supported
It's stable enough and quite nice. Also one person missed it in release.
2014-06-28 16:18:04 +04:00
JapaMala 3f717af0b7 Merge branch 'develop' of https://github.com/DFHack/dfhack into develop
Conflicts:
	library/xml
2014-06-21 16:43:44 +05:30
expwnent 3357718d03 Merge remote-tracking branch 'origin/develop' into 0.34.11-r5
Conflicts:
	Readme.rst
	plugins/CMakeLists.txt
2014-06-19 19:59:20 -04:00
JapaMala db2d59ac77 Started work on a generic visualizer socket client plugin. Currently only sends over inorganic and creature materials, nothing else. 2014-06-15 10:10:12 +05:30
lethosor 088eff05e5 Merge branch 'develop' into dev-embarktools-pr 2014-06-10 12:08:43 -04:00
Alexander Gavrilov e7292379f7 Merge branch 'stockflow' of git://github.com/eswald/dfhack into develop 2014-06-03 12:13:56 +04:00
lethosor 0f5802af9f Add embark-tools
A collection of embark-related tools (currently implementations of
embark anywhere and nano embark)
2014-05-18 18:44:25 -04:00
expwnent 8cc4bea0d4 Added petcapRemover plugin. 2014-05-17 17:59:41 -04:00
Alexander Gavrilov ae8d630cfa Merge remote-tracking branch 'warmist/dev-rendermax' into develop 2014-05-11 15:44:29 +04:00
Alexander Gavrilov 13584f08c5 Merge remote-tracking branch 'warmist/dev-buildings' into develop 2014-05-04 19:52:01 +04:00
Eric Wald b9ed7a5cc2 Stockflow plugin v1.0 2014-04-13 15:19:03 -06:00
Warmist dec0b202ee Added rendermax plugin- a bunch of rendering hax in one. Small fix to skeleton. 2014-03-07 19:58:22 +02:00
Warmist 94b5961372 New plugin: building-hacks. Allows workshops to block liquids and consume mechanical power, connect to machines. 2014-03-07 19:41:49 +02:00
Warmist 9576c47e18 Cmake fix 2014-03-04 19:00:12 +02:00