1. 06 Sep, 2015 1 commit
  2. 05 Sep, 2015 1 commit
  3. 04 Sep, 2015 1 commit
    • Jason Rhinelander's avatar
      Better bracketing logic; fixed std::pow · fe630a23
      Jason Rhinelander authored
      A bracketed-if-necessary name can now be obtained by calling
      nameBracketed() instead of the various code handling brackets before.
      
      Bracketing is now collapsed for various detectable cases, such as an
      Addition with complex Left and/or Right operands: since the Left or
      Right operands must bind more tightly than +, we don't need more
      bracketing.
      
      std::pow(double, Variable) got the Exponential constructor arguments
      reversed, which failed to compile; fixed.
      fe630a23
  4. 03 Sep, 2015 1 commit
  5. 31 Aug, 2015 2 commits
  6. 30 Aug, 2015 9 commits
    • Jason Rhinelander's avatar
      Fix default value detection · 11843d13
      Jason Rhinelander authored
      11843d13
    • Jason Rhinelander's avatar
      Fix private market status bit · c504eab8
      Jason Rhinelander authored
      c504eab8
    • Jason Rhinelander's avatar
      Fix data --precision maximum/default · ad28c284
      Jason Rhinelander authored
      digits10 was being used by default (and the maximum) for --precision,
      but that's only the number of digits that survives a round-trip through
      conversion from decimal to double; instead this should be max_digits10,
      which is the number of decimal digits required to distinguish between
      all possible double values after conversion to decimal.  (In other
      words, it should be (and was documented as such; and now is) the number
      of digits to represent all significant information in a double).
      ad28c284
    • Jason Rhinelander's avatar
      Save as support for saving a running/loaded sim · a1f5fe2c
      Jason Rhinelander authored
      Previously the GUI (and API) didn't allow writing a simulation to a
      file if the simulation had already been initialized or loaded from a
      file.  This commit allows that, and moreover copies any current states
      into the saved file.
      
      From a UI point of view, this means two things are now possible:
      running a simulation in-memory, then deciding the save it; and loading
      a simulation then saving it somewhere else (though the latter is
      probably not very useful since you could just copy the file).
      
      This also changes the structure of states a little bit to use (ordered)
      map and set objects instead of unordered_map and unordered_set, so that
      reading then rewriting a simulation is expected to produce identical
      output.
      a1f5fe2c
    • Jason Rhinelander's avatar
      last draw mode status wasn't properly read/written · 3914b991
      Jason Rhinelander authored
      This commit also uses another status bit so that it can now distinguish
      between gibbs, rejection, and auto (previously it only used 1 bit to
      store gibbs or not gibbs).
      3914b991
    • Jason Rhinelander's avatar
      New debugging scratch script to copy crstate · f945048c
      Jason Rhinelander authored
      This script reads a current simulation, parses it, then writes it out
      (using creativity data structures) to a new crstate file.
      
      This is primarily aimed as testing whether the save and load operations
      are giving back exactly the same thing.
      f945048c
    • Jason Rhinelander's avatar
      Added write debugging · 0a469a0d
      Jason Rhinelander authored
      Compiling with -DCREATIVITY_FS_DEBUG_WRITES produces massive amounts of
      debugging, giving each element value and written hex, one per line.
      0a469a0d
    • Jason Rhinelander's avatar
      f1011285
    • Jason Rhinelander's avatar
      Minor cosmetic change · 09ca3c3a
      Jason Rhinelander authored
      09ca3c3a
  7. 29 Aug, 2015 1 commit
  8. 28 Aug, 2015 7 commits
  9. 25 Aug, 2015 2 commits
    • Jason Rhinelander's avatar
      Added support for include-what-you-use debugging · 529f02bc
      Jason Rhinelander authored
      This allows cmake -DIWYU=1 to be used to have cmake run iwyu after
      compiling each source file to have it suggest include changes.
      
      The option is not enabled by default because it slows compilation down
      a lot and is more of a run-once-in-a-while thing.
      529f02bc
    • Jason Rhinelander's avatar
      Redesigned CmdArgs class to use inheritance · 16e60a4b
      Jason Rhinelander authored
      The previous design was fine for cli/gui, which has significant
      overlap, but isn't very useful for data.cpp; this overhaul paves the
      way for making CmdArgs able to handle data (and potentially other
      programs) as well.
      16e60a4b
  10. 21 Aug, 2015 5 commits
    • Jason Rhinelander's avatar
      market_str GUI column fixes · e1328f4c
      Jason Rhinelander authored
      market_str wasn't actually added to the available columns (which was
      causing it to be blank, and giving a column index assertion warning from
      gtk), and its string value wasn't being set properly (which was also
      causing it to be blank, even with the above fix).
      e1328f4c
    • Jason Rhinelander's avatar
      Period slider: move label right, retitle to Period · 774f9e2f
      Jason Rhinelander authored
      Thus the slider now looks like "Period: <=======> x of y" instead of
      "Showing: x <=======> of y"
      774f9e2f
    • Jason Rhinelander's avatar
      PublicTracker fixes · 13848fcb
      Jason Rhinelander authored
      - Created public tracker markets weren't actually being set as a book's
        market, so public markets couldn't be found via their book.
      - Updating price has to be done after the market is added to the
        simulation, so move the initial price value into a new added()
        override.
      13848fcb
    • Jason Rhinelander's avatar
      Cosmetic change: typedef --> using · 5b98a90e
      Jason Rhinelander authored
      5b98a90e
    • Jason Rhinelander's avatar
      Reverse scroll direction on graph area for new Gtk · e8079109
      Jason Rhinelander authored
      Gtk 3.16.1 changed the scroll direction for horizontal sliders, and
      made it very strange: use the scroll wheel on the slider moved one way,
      scrolling on the graph area moved the other way.  This change makes
      scrolling on the graph area move the same way as on the slider (based
      on the Gtk version in use).
      e8079109
  11. 19 Aug, 2015 1 commit
  12. 14 Aug, 2015 1 commit
    • Jason Rhinelander's avatar
      boost argument handling; GUI arguments · 2c89c1e0
      Jason Rhinelander authored
      TCLAP had some very annoying quirks.  Boost has some, too, but fewer
      than TCLAP.  It'll also allow for easy file storage of settings in the
      future.
      
      The GUI now takes most of the same arguments as the CLI, which set the
      defaults in the GUI.  It also gains --initialize and --start (exclusive
      of each other) to initialize or initialize and run the simulation
      immediately.
      
      This commit also includes some main class<->gui thread rearchitecting:
      there is no more "begin", "finish", and "error" parameter types which
      just encapsulated parameters and implicitly (via finish) initialized
      the simulation: setting parameters is now totally independent of
      initializing the simulation.  This simplifies the message passing
      structures a bit, which is good.
      
      GTK arguments are no longer accepted.  This isn't a big loss: they can
      still be set via environment variables.
      2c89c1e0
  13. 13 Aug, 2015 1 commit
    • Jason Rhinelander's avatar
      Don't copy headers into build/ · f128c2de
      Jason Rhinelander authored
      Copying headers was causing problems in cli.hpp: #pragma once were sort
      of not working when cli.cpp includes A.hpp which includes B.hpp, then
      cli.cpp also includes B.hpp.  For some reason, one picked up
      build/B.hpp, the other picked up B.hpp.
      
      This changes things to only copy (and configure) *.hpp.in files into
      build, then adds both build and source into include_directories, so
      there is never two copies of the same thing sitting around.
      f128c2de
  14. 09 Aug, 2015 1 commit
  15. 07 Aug, 2015 1 commit
    • Jason Rhinelander's avatar
      Added support for 1-D simulations in GUI · 60fd1946
      Jason Rhinelander authored
      1D simulations are circular cities, and show up as such.
      
      3+ dimensions are also sort of supported: only the first two dimensions
      are displayed (but the full dimensionality is visible in detailed
      fields).  3+ dimensional simulations can't actually be started for now,
      as the GUI has no way to configure which dimensions are displayed
      (though that would be easy enough to add by just changing the
      design.subdimensionX and design.subdimensionY variables).
      
      Bump eris requirement to (upcoming) 0.3.2 for required Position changes.
      60fd1946
  16. 05 Aug, 2015 5 commits