Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge with upstream #1

Merged
merged 135 commits into from
Jan 29, 2020
Merged

Merge with upstream #1

merged 135 commits into from
Jan 29, 2020

Conversation

Diabolus-Engi
Copy link
Owner

No description provided.

KorGgenT and others added 30 commits January 21, 2020 22:25
* Rework generic guns

* Recipe redefs

* 20x66 migrations

* turrets, descriptions, magazine ammo types

* Smörgåsbord of stuff

* Update gg_ammo_migration.json

* black powder recipes &defs, make more recipes standalone

* fix circular error caused by obsoletion

* Update recipes_pistol.json

* Update modinfo.json

* Update pistol.json

* Update shot.json
* Remove executable bit from turret.json

* Fix spelling errors

found by lintian
The gold linker can only produce ELF binaries, not Mach, so it doesn't work on OSX. This lets link-time optimization work when linking Mach binaries from clang.
Fix a few typos pre 0.E
* Add a vibrator crafting recipe

There was an existing recipe for crafting an mp3 player, but
surprisingly none for a much simpler device, the vibrator.
This recipe uses similar ingredients to the existing deconstruction
recipe (with the addition of a tiny electric motor), and is auto-learned
at fabrication level 2.

* Increase vibrator crafting requirements

Makes the recipe a bit more realistic, and balanced with existing
recipes, based on pull request comments from other players and
further inspection of existing recipes. Changes include:

- Require a plastic mold (must-have for a smoothly contoured shape)
  and additional plastic scraps to account for mold overrun
- Require electronics skill 1, but use fab 2 to construct
- Increase difficulty to 3 and crafting time to 20 minutes
- Need wire, solder, and soldering iron
- Use "motor_micro" (0.28 lbs) instead of "motor_tiny" (1.38 lbs),
  since vibrator itself only weighs 1.0 lbs

* lint

Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com>
*  Add item_category documentation

* Alignment
* Linted Assorted Spells

Fresh spells for the masses

* Update data/mods/Magiclysm/Spells/biomancer.json

Co-Authored-By: Curtis Merrill <curtis.r.merrill@gmail.com>

* fixed paralyze damage

* updated cost of pillar

* corrected range

* rogue comma

* Update stormshaper.json

* updated terrain files

Huh. completely missed that.

* class change

* Update data/mods/Magiclysm/Spells/animist.json

Co-Authored-By: Curtis Merrill <curtis.r.merrill@gmail.com>

* scrolls & loot list

Co-authored-by: Curtis Merrill <curtis.r.merrill@gmail.com>
* regenerate values for vehicle drag test
When activating a sanitizer, explicitly request that we don't try to
recover from a failure.

This is so that when we run the tests in CI, ubsan issues will actually
cause a failure.  Otherwise they're just logged and no-one will notice
them.
This member function of oracle_t was just a constant function.  It
didn't need to be a member function, so I made it a free function.

In the tests it was being called on null oracle_t* values.
The crafting_success_roll could end up computing 0.0/0.0.  This happened
to work, but more by luck than design, so check for that case
explicitly.

(NaN values are unsafe given that we're compiling with -ffast-math).
In effect_type these bools would remain uninitialized for the derived
class ma_buff_effect_type, leading to inconsistent behaviour of martial
art effects.

In inventory a newly constructed inventory could be considered binned,
which could cause incorrect behaviour.

In both cases, this involved loading invalid bool values, with is UB.
In some cases a call to get_overmaps_near was passing a tripoint with z
value INT_MIN.  This led to an overflow when computing the distance
between points.

Instead, just pass the x,y part of the tripoint.
Avoid division by zero in two cases: light level zero (used to check
creature night sight on some code paths) and vehicle traction when all
wheels are on the ground.

This isn't actually UB, but in one case it led to UB because an infinity
was cast to an int.

Also, UBSan was complaining about it, possibly because we're doing
things that are unsafe when using -ffast-math.
When a vehicle was being fast-forwarded over a period of months upon
return to the reality bubble it was possible for the accumulated solar
power to exceed billions of joules.  This led to integer overflow.

Perform intermediate calculation in 64-bit ints to avoid the problem.
The tests never initialized the state of the weather system, leaving
some uninitialized values which could lead to winds in the billions of
miles per hour.  That in turn led to overflows and UB.

Initialize the weather system appropriately.
By default, UBSan just prints a message but doesn't cause an error exit.
This is not what we want for CI, so adding an extra option to make these
errors fatal in order for CI issues to be obvious.
snipercup and others added 26 commits January 28, 2020 10:07
* Tool name_plural and name to object

* Names to object, volume to string

* Names to object

* Update data/json/items/tool/lighting.json

* Update data/json/items/tool/cooking.json

Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com>

* Update data/json/items/tool/electronics.json

Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com>

* Update data/json/items/tool/explosives.json

Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com>

* Update data/json/items/tool/lighting.json

Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com>

* Update data/json/items/tool/lighting.json

Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com>

Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com>
* Undergarment.json and tool_armor.json

* Revert "Undergarment.json and tool_armor.json"

This reverts commit 873c253.

* Tool_armor.json

* Undergarment.json

* Armor.json + things missed from earlier

* Moved barrette to jewelry

* Hot pants, loincloth, leggings to legs_clothes.json

* Update tool_armor.json
Fix house id matching in hardcoded missions
* Display Correct read times at character creation

* move read_speed() to character
Make `int_id::operator int` explicit
When using a pet carrier to capture or release a pet, it was not
displaying any kind of success message in the log. Now you will get i.e.

    "You capture the cat in your pet carrier."
    "You release the cat."

Following the example of similar log messages in these functions, I
added one message for successful capture, and one for successful
release.

This commit was going to be a simple two-line addition, but I discovered
that `release_monster` was deleting the name of the contained animal as
part of releaseing it, thus I got an empty string when trying to log it.

The solution, setting a local `contained_name` variable to remember the
animal name, had a nice side-effect of making several other lines a
little cleaner and more readable after slight refactoring, so I am
including that too.
cleaned up a couple spawn lists.
Show messages when pet is captured or released
@Diabolus-Engi Diabolus-Engi self-assigned this Jan 29, 2020
@Diabolus-Engi Diabolus-Engi merged commit 3e79946 into Diabolus-Engi:master Jan 29, 2020
ZhilkinSerg pushed a commit that referenced this pull request Apr 10, 2020
ZhilkinSerg pushed a commit that referenced this pull request Apr 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.