Commit Graph

8588 Commits (baef5ca319124d38e9981a8fa51709062129c7aa)
 

Author SHA1 Message Date
lethosor d51a1d700c Update scripts 2018-05-11 10:35:26 -04:00
lethosor 9d353c1ea7 tweak block-labors: fix crash if unit is null
Fixes #1057
2018-05-11 10:21:05 -04:00
lethosor ceaa518be9 Fix a potential segfault in getAnyUnit
See #1218
2018-05-11 10:04:10 -04:00
lethosor 10abece564 Fix duplicate condition in Gui::getAnyUnit() 2018-05-11 09:58:40 -04:00
lethosor 272cdcb2b5 Add function names to NullPointer and InvalidArgument exceptions 2018-05-11 09:49:27 -04:00
Ben Lubar 58636f5a27
Make 32-bit Linux builds also check for undefined symbols. 2018-05-10 11:20:19 -05:00
lethosor 1bb90f6436 Update required libs for Linux in Compile.rst 2018-05-09 22:47:42 -04:00
lethosor 8e76c612f6 Add SDL to RFR libs on Linux 2018-05-09 21:48:27 -04:00
lethosor c510e7d7a0 Merge branch 'linux-linker-check-defined' (cleaned) into develop 2018-05-09 21:40:15 -04:00
lethosor 77ee74be50 Only require symbols to be defined in plugins
Core uses some unresolved symbols on Linux
2018-05-09 21:36:51 -04:00
lethosor 5b2cc7dc6e Linux: Check for unresolved symbols at link time 2018-05-09 21:36:39 -04:00
Daniel Brooks a550c81628 update the CMakeList to link the blueprint plugin against the lua library 2018-05-09 18:25:26 -07:00
Daniel Brooks b127522992 Merge branch 'develop' into allow-calling-blueprint-from-lua 2018-05-09 12:55:17 -07:00
lethosor cd717a4fe8 Fix stockpiles header in Plugins.rst 2018-05-09 10:39:14 -04:00
lethosor b95e8f433a Update changelog, scripts 2018-05-09 10:37:03 -04:00
lethosor 2ada907420 Move stockpiles option (load/save) below stocks/autodump/etc
Fixes #1161
2018-05-09 10:33:41 -04:00
lethosor ead0092765 Ignore added stockpile keys when renaming stockpiles
Fixes #1267
2018-05-09 10:25:55 -04:00
lethosor 2a52582c1f Add Gui::inRenameBuilding 2018-05-09 10:23:05 -04:00
Daniel Brooks 1eac476db7 add a note to the docs 2018-05-08 16:04:35 -07:00
Daniel Brooks d15f87715e update comments 2018-05-08 13:04:14 -07:00
Daniel Brooks 554814920b this allows the blueprint plugin to be called from lua 2018-05-08 11:42:41 -07:00
lethosor c4c450a494 Merge branch 'develop' of gh:dfhack/dfhack into develop 2018-05-07 09:14:18 -04:00
lethosor 4fe55639be Update version/submodules to 0.44.10-alpha1 2018-05-07 00:25:21 -04:00
Quietust d2f59c5f90 Update Contributing (IDA Freeware 7.0, cl-linux-debug being 32-bit only)
Also add my IDC script for doing RTTI on 64-bit Windows binaries
2018-05-06 10:26:14 -06:00
lethosor 32d83be84a Add some recent stuff to changelog.txt 2018-05-05 16:36:16 -04:00
lethosor f4088dbd28 Update xml, scripts 2018-05-05 16:09:20 -04:00
lethosor b266c7322f Make fpause pause worldgen
Closes #1256
2018-05-05 16:08:06 -04:00
lethosor b0c007cae6 Add some build scripts for sublime 2018-05-05 16:05:26 -04:00
lethosor 0904e8aa93 Merge branch 'gui-autogems' into develop 2018-05-05 15:45:06 -04:00
lethosor c9d7f433a9 Update docs for autogems UI 2018-05-05 15:39:16 -04:00
lethosor 9d7feaf39d autogems: load blacklist from autogems.json
Closes #1027
2018-05-05 12:49:06 -04:00
lethosor 60d1c270c2 Display autogems config option 2018-05-04 23:07:21 -04:00
Josh Cooper bc32d15bea [Release] cxxrandom v2.0
Major Revision
update v2.0
=-=-=-=-=
Native functions(exported to lua):
-GenerateEngine:  returns engine id              (args: seed)
-DestroyEngine:   destroys corresponding engine  (args: rngID)
-NewSeed          re-seeds engine                (args: rngID, seed)
-rollInt          generates random integer       (args: rngID, min, max)
-rollDouble       generates random double        (args: rngID, min, max)
-rollNormal       generates random normal[gaus.] (args: rngID, avg, stddev)
-rollBool         generates random boolean       (args: rngID, chance)
-MakeNumSequence  returns sequence id            (args: start, end)
-AddToSequence    adds a number to the sequence  (args: seqID, num)
-ShuffleSequence  shuffles the number sequence   (args: rngID, seqID)
-NextInSequence   returns the next number in seq.(args: seqID)

Lua plugin functions:
-MakeNewEngine    returns engine id              (args: seed)

Lua plugin classes:
-crng
    methods:
        -init(id, df, dist)     :: constructor
            id                           - Reference ID of engine to use in RNGenerations
            df (optional)                - bool indicating whether to destroy the Engine when the crng object is garbage collected
            dist (optional)              - lua number distribution to use
        -__gc()                 :: destructor
        -changeSeed(seed)       :: alters engine's seed value
        -setNumDistrib(distrib) :: set's the number distribution crng object should use
            distrib                      - number distribution object to use in RNGenerations
        -next()                 :: returns the next number in the distribution
        -shuffle()              :: effectively shuffles the number distribution
-normal_distribution
    methods:
        -init(avg, stddev)      :: constructor
        -next(id)               :: returns next number in the distribution
            id                           - engine ID to pass to native function
-real_distribution
    methods:
        -init(min, max)         :: constructor
        -next(id)               :: returns next number in the distribution
            id                           - engine ID to pass to native function
-int_distribution
    methods:
        -init(min, max)         :: constructor
        -next(id)               :: returns next number in the distribution
            id                           - engine ID to pass to native function
-bool_distribution
    methods:
        -init(min, max)         :: constructor
        -next(id)               :: returns next boolean in the distribution
            id                           - engine ID to pass to native function
-num_sequence
    methods:
        -init(a, b)             :: constructor
        -add(num)               :: adds num to the end of the number sequence
        -shuffle()              :: shuffles the sequence of numbers
        -next()                 :: returns next number in the sequence

Adds missing function exports.

Fixes numerous problems I won't go into
2018-04-29 21:08:44 -07:00
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
Ben Lubar 69373e367c
Merge pull request #1261 from BenLubar/pull-request-test
Replace submodule URLs with relative URLs so they will be downloaded via the same transport as the main repo (HTTPS or SSH, usually)
2018-04-24 11:41:21 -05:00
Ben Lubar 8f609d0ddf
Replace submodule URLs with relative URLs
They will be downloaded via the same transport as the main repo (HTTPS or SSH, usually)
2018-04-23 18:56:29 -05:00
AtomicChicken c58ffdb922
Added function to remove syndrome wound data
The presence of syndrome data in unit.syndromes.active generates corresponding wound data in unit.body.wounds. This wound data acts to produce all of the syndrome's actual effects, including but not limited to flag changes, interaction abilities, body transformation and display name alterations. Wound data persists when syndrome data is cleared from unit.syndromes.active. Since syndrome-util did not touch wound data at all, the erase function was completely ineffective at actually removing syndromes.

Note that syndromes also generate a bunch of data in the historical figure information of units. I have observed that this historical data is sufficient to restore the syndrome in a unit following map reload (at least in adventure mode), so its clearance (which needs to also include any corresponding interaction effects) will have to be addressed in a future update. As is, syndrome erasure remains incomplete.
2018-04-20 17:14:03 +02:00
lethosor a708b0b303 Add some includes in DataDefs.h 2018-04-19 21:11:43 -04:00
lethosor 5cd8aa0458 Update downloads to 0.44.09 2018-04-19 12:35:00 -04:00
lethosor 3b2112a56e Update scripts/exterminate 2018-04-19 12:14:08 -04:00
Lethosor 48690a3ea1
Merge pull request #1254 from lethosor/complex-enum
Complex enum metadata
2018-04-18 22:12:17 -04:00
lethosor 2bf9632000 Merge remote-tracking branch 'origin/develop' into complex-enum 2018-04-11 10:23:32 -04:00
Japa 0ea35a6e93 Merge remote-tracking branch 'lethsor/master' into remote_reader 2018-04-11 18:28:41 +05:30
Lethosor c0787f065b
Merge pull request #1253 from BenLubar/warnings-fix
Fix MSVC and GCC warnings in DFHack and core plugins
2018-04-10 18:53:34 -04:00
Ben Lubar f9ad71f682
Fix fencepost error in autolabor/autohauler/labormanager.
https://github.com/DFHack/dfhack/pull/1253#pullrequestreview-110903215
2018-04-10 13:29:00 -05:00
lethosor b0e1ae93ea Add next_item, _complex for complex enums 2018-04-09 19:46:12 -04:00
lethosor 9398262654 Make enum attrs work for complex enums (lever_target_type) 2018-04-09 16:12:03 -04:00
lethosor 7da8793172 Set last_item_value properly for complex enums 2018-04-09 16:11:47 -04:00
lethosor c1dd21730d Fix complex enum ipairs for first element 2018-04-09 11:27:02 -04:00
lethosor 61539bf345 Lua: implement key lookup and ipairs for complex enums 2018-04-09 11:04:37 -04:00