Commit Graph

3324 Commits (9c403f509dbe6bfefca7a03c5734d424215054dc)

Author SHA1 Message Date
Josh Cooper 9c403f509d [Release] cxxrandom v2.0.1 2019-04-15 16:21:54 -07: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
lethosor 996306560b Merge remote-tracking branches 'ab9rf/digtype-1243' and 'ab9rf/labormanager-map-check-bug' into develop 2018-04-02 00:56:33 -04:00
Kelly Kinkade b8de7d4cf8 check for tile material == MINERAL in digtype (#1243) 2018-03-20 01:44:10 -05:00
Kelly Kinkade 81c9c8cdfe Avoid crashing labormanager if map square on lowest level is designated+hidden (#1240) 2018-03-20 00:55:17 -05:00
lethosor 3a2fc6f65f Update stonesense 2018-03-14 09:40:21 -04:00
Lethosor 9b6b73b1d2
Merge pull request #1232 from JapaMala/remote_reader
Remote reader
2018-03-14 09:31:56 -04:00
lethosor 02569b1dac Merge branch 'develop' of gh:dfhack/dfhack into develop 2018-03-14 09:29:35 -04:00
lethosor 40d3b9b782 embark-assistant: fix copy-paste error, update docs (#1231) 2018-03-14 09:28:24 -04:00
lethosor 1e7a38f0b1 Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop 2018-03-14 09:24:47 -04:00
Japa 4d74f66b64 Merge remote-tracking branch 'DFHack/develop' into remote_reader 2018-03-14 16:18:03 +05:30
Japa 09bc1c3169 add ocean waves to RFR 2018-03-14 16:08:37 +05:30
Ben Lubar 40654954a1
Partial preparation for 0.44.07-alpha1.
Still need to write release notes and add tags.
2018-03-13 15:49:42 -05:00
lethosor ad57037711 Merge remote-tracking branch 'BenLubar/cmp0022-warning' into develop 2018-03-10 17:02:34 -05:00
lethosor db95796d4c Many build fixes 2018-03-10 16:53:45 -05:00
Japa a810960bde Support spiderwebs and add a fake flow type for campfires. 2018-03-10 21:02:28 +05:30
Ben Lubar acd4adc7cc
Fix CMake warning about CMP0022 policy being set as "OLD". 2018-03-08 02:28:28 -06:00
Japa 3e7da4d5f2 FIx wrong material being sent with item flows. 2018-03-06 22:37:26 +05:30
Japa c3f931652d Send item cloud info properly. 2018-03-06 09:44:21 +05:30
Japa c765e12254 Store tool names in RFR 2018-03-05 19:00:18 +05:30
Japa Mala Illo ebf9651896 Include Materials in flows. 2018-03-04 02:41:40 +05:30
Japa Mala Illo 894f6c232b actually copy flows with the block this time. 2018-03-03 12:48:09 +05:30
Japa Mala Illo 3f26d4fe09 Add flows to RFR 2018-03-03 11:41:58 +05:30
PatrikLundell ef24da0cd3 Key references on overlay as well 2018-02-27 21:06:07 +01:00
Japa 490fbd8b26 send instrument description using UTF8 2018-02-27 21:18:15 +05:30
Japa 65e549848d fix some crashes in the new instrument reader code. 2018-02-27 21:01:38 +05:30
Japa d758104f5e update stonesense for RFR protos 2018-02-27 20:24:32 +05:30
Japa 265e229d61 Send all relavent generated instruement information over RFR 2018-02-27 19:58:07 +05:30
PatrikLundell 578d6666eb Addressed request. Improved profile saving 2018-02-27 10:46:06 +01:00
PatrikLundell 7705eada5a Added magma/candy search + profile save/load. 2018-02-26 18:31:33 +01:00
PatrikLundell 2277c4ee4e Corrected reanimation detection 2018-02-25 10:28:38 +01:00
Lethosor 800dde360d
Merge pull request #1223 from JapaMala/remote_control
Remote control
2018-02-21 23:04:53 -05:00
Ben Lubar 9f9d90c2ef
Fix labormanager never assigning dwarves to fill ponds, making irrigation very difficult. 2018-02-21 18:46:21 -06:00
Japa 778a1667dc ...also do it for images. 2018-02-21 22:31:39 +05:30
Japa 8c20d178b5 Include plant type with plant items. 2018-02-21 22:27:04 +05:30
Japa 1c97f58340 Merge remote-tracking branch 'DFHack/develop' into remote_control 2018-02-21 21:29:58 +05:30
lethosor 6e3b29930d Avoid crash in dwarfvet due to negative width/height
Partial fix for #1227
2018-02-16 15:12:46 -05:00
lethosor 7758fb6df5 dwarfvet: fix another log message, misc readability improvements 2018-02-16 02:32:53 -05:00
lethosor 36f4954182 Update Stonesense and build docs (fixed Allegro download) 2018-02-16 02:16:06 -05:00
lethosor 94b2ca68d8 dwarfvet: fix extra % in log message
Mentioned in #1227
2018-02-13 11:19:10 -05:00
Japa 60e9839f63 Merge remote-tracking branch 'DFHack/develop' into remote_control 2018-02-13 21:29:09 +05:30
Japa 18cf70a543 Update Stonesense. 2018-02-13 12:37:45 +05:30
Japa 7b19c9b8f0 Merge remote-tracking branch 'remotes/DFHack/develop' into RemoteServerUnsafe
# Conflicts:
#	plugins/proto/RemoteFortressReader.proto
#	plugins/remotefortressreader/remotefortressreader.cpp
#	scripts
2018-02-12 20:19:40 +05:30
lethosor 3a122d7391 Merge remote-tracking branch 'danamlund/better-fps-counter' into develop 2018-02-12 01:21:14 -05:00
lethosor 6260062d05 Add basic embark-assistant docs (closes #1226) 2018-02-11 03:08:02 -05:00
lethosor ca29cb8e6f embark-assistant: update field names, now compiles 2018-02-10 17:51:02 -05:00
lethosor ef3adbe816 Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop 2018-02-10 17:27:13 -05:00
lethosor 9a0befa4cb Show number of trees skipped 2018-02-10 03:03:07 -05:00
lethosor 342f193409 autochop: store skip settings in one field, fix double colon and initial load
language_name fields default to -1, so the new settings could have been enabled
on all worlds by default.
2018-02-10 02:07:36 -05:00