Changelog for nightlies

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • myshkin
    Angband Devteam member
    • Apr 2007
    • 334

    Changelog for nightlies

    With the release of the latest nightly, I thought it would be useful to assemble a log of all the changes since the release of 3.2.0. I tried to err on the side of inclusion, and so the log is rather long to read. Where clear, I have noted a trac bug or a staging branch git commit ID to go along with the change. In each section, I attempted to put the most notable changes first, but of course this is a subjective matter. Also, it is entirely possible that I have missed important changes; I worked largely from git comments and trac headlines. If you notice something missing, please let us know.

    Code:
    Gameplay changes
    ================
             Refactoring of and enhancements to cave generation code, including circular rooms, labyrinths, and cavern levels
       #571  Multiple pval support
    #261,#1163 Move fear, blindness, and confusion from resists to protections, and separate damage resistance from effect resistance
             Fix behavior of '8' squares in vaults
      #1364  Fix leather boots' rarity (and other object.txt fixes)
       #718  Make enchantment scrolls rare in the shops
      #1250  Stat drain now repairs on level up.  Remove restore stat potions from the game.
      #1347  Make monster haste/slow temporary status effects
    4bafa79  Make teleport-other a bolt and make destruction remove artifacts.
    0ce7858  Remove confusion as a breath attack, along with bronze monsters/DSM
    496053b  Remove brands from elemental rings
    8cd902c  Remove percentage healing, switch to CLW/CSW/CCW healing 20/40/60 HP respectively.
       #318  Consolidate duplicate monster entries
       #598  Make time attacks less evil
       #855  Allow running from detection edge
      #1061  Add command to hide/unhide squelchables
      #1095  Add scrolls of restore item
      #1096  Drain charged (RBE_UN_POWER) should only drain as many changes as a recharge gives
      #1311  Being confused and walking into a wall now costs a turn
      #1335  Walkover of unIDd artifacts no longer given away by definite article
      #1338  Characters no longer start out with bad equipment
      #1340  Fix to-hit bonus for randarts
      #1345  Make Wrath, Ulmo, and Erebor match base item dice sides and weight
      #1346  Make item effects that change monster status ID properly again.
      #1348  Fix, refactor broken specific summons
      #1350  STUPID living monsters no longer immune to life drain
      #1357  Labyrinths can no longer have double doors
      #1365  Normal DSMs contribute to level rating
      #1366  Wand of dragon breath now learned with use
      #1383  Earthquake weapons with multiple blows stop attacking if the target gets moved by a quake
    2ef38bc  Move the 'jump' command to '(W)alk into a trap'
    4656bb7  Add a neutral gender
    ce06a19  Scale no_selling gold multiplier in early levels, and reduce money from selling by 2/3rds
    dfcb3c7  Added FRIEND flag and put it on some monsters.
             Make lurkers, mimics, and creeping coins somewhat more convincing.
    759ab76  Tone down flask of oil damage
    7c679b1  Remove random (pointless) curses
    26955b0  Replace individual rating boosts with a general rating boost for each item based on its power
    35bc80d  Make rings of strength appear lower
    0354181  Use fuzzy matching for summoning a monster by name.
    0dd2bca  Change level feeling calculation for nests/pits.
             Create doors, create stairs, and glyph of warding push items in adjacent squares away.
    889d204  Change damage to max values instead of averages for monster spells
    582adf5  Make artifacts not be actually created in birth_no_artifacts
    520beb7  Nullfame's improvements to monster power evaluation
    7dda40c  Change Paurnimmen's cold brand to x2 rather than x3.
    
    User interface
    ==============
             Major input layer refactor: remove macros, create internal keyset, provide facility for recognizing modifier keys
             Add buzzkill's updated tiles
             Add skill, race, class info to birth UI
       #820  Adam Bolt tileset element mappings wrong
      #1012  Show build version in dumps
      #1060  Replacing "destroy"ing with "squelch this item"
      #1074  More colored data in monster recall.
      #1149  Allow gtk-settings.prf to accept nonpositive window positions.
      #1157  SDL/OS X: Handle transparency properly for 8x8 tiles
      #1218  Remove some options related to squelch, highlighting, display
      #1247  Knowledge browser: prevent going off the edge of the screen in double/triple tile mode
      #1291  Fix monster knowledge and recall to respect purple_uniques
      #1301  Fix comparisons and merging of inscriptions in object stacking
      #1320  Weak characters now display next "extra blow" correctly
      #1321  Inventory term window no longer has a gray "(nothing)" string in the Burden line
      #1342  <player> no longer appears on monster list
      #1358  Numpad keys work for more users
      #1360  Fixed title display for second and subsequent pages of high score list
      #1362  Fix FOV update for HAS_LITE (thanks Zaxx)
      #1363  Make Ar-Pharazon flicker, and change up some of the canine coloring
      #1385  Correct keycode for F6 key
    eb8c440  Make message printing use fewer lines when possible
    73da897  Make hints from the store more common and less verbose
    72cd70a  Re-enable solid walls for windows
    57c2709  Give death molds ATTR_FLICKER
    09d70f8  Fix the ordering of races in the birth menu
    33987fa  Use <angle brackets> for pvals so that two pvals are not confused with (+hit,+dam)
    2f1995f  Fix dropping items so that they duplicate inscriptions if necessary
    fe23cdf  Fix minimap ('M') display
    84d37e8  Fix UI issue with aborting ENTER menu
    3e8eab5  Fix noticing of brands on wield
    bf121bd  Ensure that branded jewelry displays active_verb on wield
    9c5ac7e  Replace delay factor with the far more intuitive "time in milliseconds"
    a24e54c  Display tile selections in decimal
    c2558c4  Improve (e)quipment command output, especially while naked
    90eb258  Renamed novices
    5d336f8  Changed pain message to not depend on display character
    00291f1  Remove the cheat_peek option
    c789b91  option_dump() now saves macros and keymaps
    f6afd24  Add monster recall for NONLIVING flag.
             Various code cleanup and improvements for main-gcu
    e177bf1  Allow overriding of keymaps
    cde42c9  Make C-x immediately exit death screen
    3534656  Added support for new keycode KC_BEGIN (keypad 5). Added keypad support for running and tunneling to pref.prf.
    
    Other bugs fixed
    ==================
      #1116  Changing squelch options triggers item drops
      #1304  Crash from broken randart flags
      #1305  Fix divide by zero error in monster recall
      #1309  Allow -w switch to resurrect with +ve hp
      #1322  Make sure that p_ptr->object_idx changes appropriately when the inventory changes via pickup, drop, wield, sell, etc. 
      #1326  Savefile does not record town level properly
      #1329  extra ! in flag_is_subset
      #1330  Crash using @Z1 inscription
      #1333  Fix parse error in font-x11.prf
      #1337  Crash in nightlies on firing while confused
      #1339  Fix documentation of flag_next()
      #1352  Hang with compacting monsters on char start
      #1355  Fix crash when wielding unid'd bow of extra might
      #1356  Force cap of gold drops to MAX_SHORT.
      #1359  Fix undersized char buffer in textui_cmd_destroy()
      #1361  Using non-existent item by number causes crash
    d17cd80  Fix bug marking certain players as cheaters erroneously
    4a37e73  Fix birth UI crash
    28ec660  Fix broken compiling recipes and unnecessary warnings in Makefile.osx
    65c6693  Fix longstanding birth unit test failures
    e7f62d1  Fix 32-bit warning on tests/parse/p-info
    480b5ba  Prevent messages about damaged items referring to post-damage values
    0a3519f  Patch by agoodman to support 64-bit windows
    aea0d9e  Fix multiple-msg() bug and tunnelling assert() failure
    04a533e  Fix assert failure in resist display
    551abfd  Fix randarts init crash
    7843139  Fix ammo breakage and make breakage message more timely.
    b3ba869  Removed extra write in wr_monsters() to fix savefile bug.
    a551de0  Fix wielding all items at birth
    c842733  Prevent trap creation from hanging in the town, or overwriting a feature.
    62814eb  Fix off-by-one error in RNG
    8dda678  Make cheat options correctly set score options.
    5c994a8  Fix chargen bug with player basic subwindow
    53ab89f  Remove unnecessary gcu test that fails on netbsd
    8e56cf3  Fix crash bug for monsters without a race, and move monster pain indexes so that they're only used at init-time.
    cb6178b  Add some assert()s in the history code, and fix history_add_full() to work for history entries that don't involve artifacts.
    bce53a8  Fix bug/warning with hex string parsing
    52328bb  Fix crashing bug with monster recall
    68ce8b0  Fix off-by-one error in FLAG_SIZE (spotted by nick)
    
    Coding changes
    ==============
             Major parser refactoring and cleanup
             Major object edit file and description refactoring
             Introduction of object/slays.c and slay_table[]
             Support for monster and object templates
             Refactoring of shooting/throwing code in attack.c
             Refactoring of monster pain messages
             Refactoring of timed statuses
       #803  Refactoring of monster spell code
             Refactoring of object flag code
       #786  Add stats collection functionality to wizard mode; create pseudo-UI module for running stats collection
       #269  Clean up various functions related to messages
      #1101  Clean up and document savefiles
      #1302  Reconcile test and sdl initialization strategies
      #1306  Fix clean target in Makefile
      #1349  Replace some uses of memset() with of_wipe() and of_setall()
    e7f1e57  Remove Term_user hook
    f2581f1  Make cmd-obj.c entirely game code, and cmd3.c all UI code
    0c4786c  Changes to text files to separate pvals onto their own line, pending parser changes.
    6be460d  New menu API that allows dynamic building of menus easily
    2d9142f  Reduce the size of the options table
    fac5a00  Remove the distinction between birth and adult options
    e772ff5  Fix some mingw build warnings
             Include more headers in the windows module to remove warnings
    af18edb  Move declaration of "size_t i" out of for-loop to help VS people
    dd1005a  Use exit status to communicate failure in run-tests
    d1eca17  Update unit test to indicate new version number
    b1eae2d  Tidy up defines.h and remove EGO_ indices
    1b2f8cf  Remove use of read/write in favor of fread/fwrite
    6ab4caa  Remove reference to removed file for Windows packaging
             Port of SVN pkg_src to use git
    bd405d9  Add 'make splint' target and make changes to allow splint to run
    aff4a87  Move autoinscriptions into object_kind struct
    212fdfe  Remove many of the hardcoded spell limits
    a2d44ae  Cleanup in defines.h
             Refactoring of pickup and autopickup code
    443d455  make clean should remove angband.o
    9d666ff  Refactor bolt/ball spell graphics
             Clean up preferences files
    68703fc  Added "ICKY" monster flag, and changed monster nests/pits to use monster flags only
    b79a91b  Symbol lookup is no longer hardcoded. Still needs to be tweaked for some symbols.
             Changes needed by APW for the borg
    4aebe45  Fix confusing case of variable overloading in dump_features()
    d688933  cptr -> const char *
    3a60662  Use object flags in player state structure.
    ee8a236  Make recharge() function more readable
    17faa5b  Use Makefile.src in nds port
    2479457  Added circular queue implementation
    cb0d5da  Make the r-info parser test compile again.
             Refactor obj-make.c
    0a781c0  Move from o_ptr->name2 to o_ptr->ego
             Wiz-mode improvements: add commands for full monster recall, wiping monster memory, buffing character
    f41a2da  Use fuzzy matching for artifacts.
    630fb5a  Move monster pits/nests to an edit file.
    7e0256c  Removed autoinsc_dump() and squelch_dump()
    63d0d0c  Replace calls to mem_alloc and then memset(0) with calls to mem_zalloc
    dbbc506  Remove o_ptr->name1, replace it with a direct reference to the artifact it is of.
    3d73679  Added assert to avoid looking up kinds with tval == 0. Added corresponding checks to make_fake_artifact(), store_base_power(), and parse_frequencies().
    6b79843  Correct r_info test_g0 to test_c0 and add test_t0 (which currently fails!)
    a44e44d  Make init_gtk correctly report failure
    9aacfdc  Remove old monster power hack from .raw file days.
    cc1cdc7  Remove LOG_PRINT*() macros and beef up file_putf()/file_vputf()
    9f9527d  Redo breakage_chance() and improve attack.c comments
    488c9cd  Add check_state function to look up an permanent equivalents of TMD_ flags (e.g. OF_AFRAID)
    f9d00a5  Remove bashism from configure.ac (closes Debian bug #619695)
    84bde09  Add flags for x2 brands for later use.
    
    Documentation changes
    =====================
    57d8bde  Include copying.txt and faq.txt in OSX documentation
    6e4b389  Added (T) command to help file.
  • ulrichvonbek
    Apprentice
    • Mar 2011
    • 82

    #2
    Remove confusion as a breath attack, along with bronze monsters/DSM
    - Sniff, I like the bronze monsters and DSM.

    Make Wrath, Ulmo, and Erebor match base item dice sides and weight
    - Does this greatly simplify the code? I don't have a problem with artifact versions of a weapon being different than the base.

    Comment

    • Magnate
      Angband Devteam member
      • May 2007
      • 5110

      #3
      Originally posted by ulrichvonbek
      Does this greatly simplify the code? I don't have a problem with artifact versions of a weapon being different than the base.
      No, it doesn't. It was another of Eddie's many requests which got actioned ;-)
      "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

      Comment

      • Derakon
        Prophet
        • Dec 2009
        • 9022

        #4
        I always rather liked how the Trident of Wrath was horribly heavy. It was nice flavor. I don't feel strongly about the dice though.

        You guys sure have been busy! Congrats on all you've accomplished.

        Comment

        • ulrichvonbek
          Apprentice
          • Mar 2011
          • 82

          #5
          I have fond feelings for big heavy ToW since my recent winner had it most of the game. I was willing to use it as my final weapon, but GoP showed up.

          Comment

          • PowerDiver
            Prophet
            • Mar 2008
            • 2820

            #6
            Originally posted by Magnate
            No, it doesn't. It was another of Eddie's many requests which got actioned ;-)
            It was explained to me that there was a general rule that sides are supposed to be the same for artifacts. It wasn't a request, rather I just reported a bug. FWIW my first preference is that the trident of wrath be changed to a different base object.

            IMO if it has a different weight, it is a different base object.

            The reason I noticed was an attempt to make item damage effects go after base properties instead of plusses.

            [edit] I misread the original. The changes in weight are surely 100% due to me. I'd still be happy with different base objects.

            Comment

            • Nick
              Vanilla maintainer
              • Apr 2007
              • 9633

              #7
              Originally posted by myshkin
              With the release of the latest nightly, I thought it would be useful to assemble a log of all the changes since the release of 3.2.0.
              You can have no idea how useful. Thank you so much. I kiss your feet.
              One for the Dark Lord on his dark throne
              In the Land of Mordor where the Shadows lie.

              Comment

              • myshkin
                Angband Devteam member
                • Apr 2007
                • 334

                #8
                Originally posted by Nick
                You can have no idea how useful. Thank you so much. I kiss your feet.
                I am glad you find it useful. I might defer the feet-kissing to my hobbit assistant, though. Please note that, as long as the list is, I did omit and combine some changes, and so the list is not comprehensive. Small typo fixes and code cleanups didn't make the list, for example. Also, of course, it is already out of date.

                Comment

                • Magnate
                  Angband Devteam member
                  • May 2007
                  • 5110

                  #9
                  Originally posted by myshkin
                  I am glad you find it useful. I might defer the feet-kissing to my hobbit assistant, though. Please note that, as long as the list is, I did omit and combine some changes, and so the list is not comprehensive. Small typo fixes and code cleanups didn't make the list, for example. Also, of course, it is already out of date.
                  Not until the next nightly, it isn't!
                  "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                  Comment

                  • Derakon
                    Prophet
                    • Dec 2009
                    • 9022

                    #10
                    Originally posted by Magnate
                    Not until the next nightly, it isn't!
                    You keep using that word. I do not think it means what you think it means.

                    Comment

                    • myshkin
                      Angband Devteam member
                      • Apr 2007
                      • 334

                      #11
                      Originally posted by Derakon
                      You keep using that word. I do not think it means what you think it means.
                      Inconceivable!

                      Comment

                      • myshkin
                        Angband Devteam member
                        • Apr 2007
                        • 334

                        #12
                        Originally posted by Magnate
                        Not until the next nightly, it isn't!
                        To be fair, for Nick's purposes, whether changes have made it into the next nightly doesn't matter so much.

                        Comment

                        • Magnate
                          Angband Devteam member
                          • May 2007
                          • 5110

                          #13
                          Originally posted by Derakon
                          You keep using that word. I do not think it means what you think it means.
                          Hey it wasn't me - I spent the first several months thinking they were built nightly, instead of every four hours or whatever it is. But at least we can all understand a definition unique to this forum: a version built within four hours of any changes to the master branch of the official development repo. To be fair, I think a month is the longest gap between nightlies since they started being built. It will probably stay that way too ...
                          "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                          Comment

                          • Derakon
                            Prophet
                            • Dec 2009
                            • 9022

                            #14
                            I suspect the main source of potential confusion is that normally people expect "nightlies" to include everything that everyone has been working on -- the latest state of all development work, even if that work is incomplete. Because we're using a distributed VCS where each developer can take advantage of source control without worrying about inflicting incomplete work on others, though, this isn't actually happening -- stuff goes out to mainline only when it's dev-stable, and thus mainline gets modified much less often. I suppose you could grab d_m's nightly or Magnate's nightly or takkaria's nightly and get something more recent than what's in mainline, if you really wanted to.

                            Comment

                            • Magnate
                              Angband Devteam member
                              • May 2007
                              • 5110

                              #15
                              Originally posted by Derakon
                              I suspect the main source of potential confusion is that normally people expect "nightlies" to include everything that everyone has been working on -- the latest state of all development work, even if that work is incomplete. Because we're using a distributed VCS where each developer can take advantage of source control without worrying about inflicting incomplete work on others, though, this isn't actually happening -- stuff goes out to mainline only when it's dev-stable, and thus mainline gets modified much less often. I suppose you could grab d_m's nightly or Magnate's nightly or takkaria's nightly and get something more recent than what's in mainline, if you really wanted to.
                              Well, that's simply us (the devteam) being careless with references to unfinished work, I think. To all intents and purposes the nightlies *are* the latest state of all development work - apart from the stuff that doesn't compile yet and/or has bugs rendering it unplayable. As soon as one of us gets a branch to a point where it compiles cleanly and doesn't crash in the first few minutes, it goes into staging. The idea of staging is that we compile and playtest each other's "finished" stuff, which picks up a whole load of embarrassing bugs that would otherwise spoil the nightlies. We have a rule that the person who puts stuff in staging cannot the put their own stuff into the nightlies, though this is occasionally relaxed when things are slow or takk is in a hurry. People could in theory build from the staging branch and help find bugs in it, but we took a decision not to provide builds from it on a regular basis because that would render the nightlies pointless.

                              There are sometimes branches that are finished but are too radical to go into nightlies without further testing - fizzix's AC changes are the only one that comes to mind, and I'd like to see them in nightlies eventually but haven't had time to playtest them yet. In theory git means that there could be lots of branches like that, but the testing community is small (and largely doesn't compile its own versions), so it's dispiriting to do a ton of work on radical changes and then have nobody use it. So people don't do that very often.

                              N.B. "nightly" refers to packages that are auto-built and put up at rephial.org for download, and that's only the master branch. To play from staging, or from any individual dev's branches, you'd need to compile it yourself. Nothing to stop you doing that, of course.
                              "Been away so long I hardly knew the place, gee it's good to be back home" - The Beatles

                              Comment

                              Working...
                              😀
                              😂
                              🥰
                              😘
                              🤢
                              😎
                              😞
                              😡
                              👍
                              👎