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

Update #4

Merged
merged 147 commits into from
Aug 20, 2019
Merged

Update #4

merged 147 commits into from
Aug 20, 2019

Conversation

RedShakespeare
Copy link
Owner

Update

Night-Pryanik and others added 30 commits July 31, 2019 19:48
Also removed explicit M4 carbine mention from description of milspec turret. Now it's a vague "5.56mm carbine".
- Fix the regex command line argument (this didn't work before because
  of a copy/paste error).
- Limit the number of passes to 10 (because I accidentally left this
  running for many hours).
Set a default container for dog and cat food
The costs are in moves, faster characters can do those tasks quicker than slower characters.
Showing it in moves is also more accurate, and avoids showing "0 seconds" caused by rounding down a value of 99 moves (99/100 is 0).
And it makes values like 100 and 199 (which both show up as "1 seconds") better to compare.
Previously it only detected parameters whose name ended in 'x'.  Now
supports 'X', and names starting with 'x' or 'X'.
Previously a call to a function where every argument was defaulted would
cause a crash.  Detect and handle that case.
Don't roll our own coordinate transformations.
Had to add some more map overloads for this.
.270 and .30-06, .40 and 10mm aren't the same!
Update incorrect magazine help text
fix: missing roofs (on lab entrances).
* doc: Mapgen elements "density" and "roof" of "terrain".

* doc: the implementation is roll (float<1) in 1, so it is confusing.
ZhilkinSerg and others added 27 commits August 18, 2019 23:16
Remove remaining untyped time duration functions:
* Adds the third Hub 01 mission

Find location, clear location, retrieve mcguffin, return.

* Update data/json/items/generic.json

Co-Authored-By: Anton Burmistrov <[email protected]>

* Update data/json/npcs/robofac/NPC_ROBOFAC_INTERCOM.json

Co-Authored-By: Anton Burmistrov <[email protected]>
* Install astyle in styling test

* Invoke astyle-check in test stage

* Bump ubuntu version to bionic

* Attempt to fix build failure

* Use Clang 7 in initial test build

* Change clang command name to clang++

* Switch back to clang 3.8, but add toolchain repo

* Use llvm toolchain from precise

* Update .travis.yml

* Move astyle to more recent stage

* Add new astyling directive to build

* Remove unecessary astyle invocation.

* Remove unecessary astyle environment variable.
* Enable modernize-use-equals-default and -delete

Enable these clang-tidy checks and fix the related issues.

Mostly this means adding '= default' on a bunch of member functions.

Also:
- Made the Character deleted members public.
- Moved the oter_type_id, npc_template, overmap_special_terrain,
  SkillLevel, and selection_column_preset default constructors
  out-of-line (for the sake of avoiding the clang warning about const
  objects without user-provided default constructors).

* Try alternate solution to clang warning

* Fix unused variable warning
remove rock pot from survivor mess kit recipe
Home Frontier Starter Pack gives compatible battery
* allow mattresses as pillow fort material

* need one more matress for the floor
* Update Radio Tower

* Remove roofs
Fix storing and loading of pickup rules of NPCs
Set r keybinding to Reload Item instead of a Reload Wielded Item
@RedShakespeare RedShakespeare merged commit fc09807 into RedShakespeare:master Aug 20, 2019
RedShakespeare pushed a commit that referenced this pull request May 10, 2020
The function `are_requirements_nearby` accesses `player::backlog::front()`, which causes UB when the `backlog` list is empty.

This is usually checked by the caller, but there is at least one way to reach this function without that check:

```
#2  0x000000000083dfaa in string_id<activity_type>::operator== (rhs=..., this=0xdf1b460) at src/player_activity.h:93
#3  are_requirements_nearby (loot_spots=std::vector of length 21, capacity 32 = {...}, needed_things=..., p=..., activity_to_restore=..., in_loot_zones=true, src_loc=...)
    at src/activity_item_handling.cpp:1113
#4  0x0000000000843a46 in generic_multi_activity_check_requirement (p=..., act_id=..., act_info=..., src=..., src_loc=...,
    src_set=std::unordered_set with 1 element = {...}, check_only=false) at src/activity_item_handling.cpp:2676
#5  0x0000000000852813 in generic_multi_activity_handler (act=..., p=..., check_only=check_only@entry=false) at src/activity_item_handling.cpp:2885
#6  0x0000000000800896 in activity_handlers::multiple_butcher_do_turn (act=<optimized out>, p=<optimized out>) at src/activity_handlers.cpp:3822
#7  0x000000000082b248 in std::_Function_handler<void (player_activity*, player*), void (*)(player_activity*, player*)>::_M_invoke(std::_Any_data const&, player_activity*&&, player*&&) (__functor=..., __args#0=<optimized out>, __args#1=<optimized out>) at /usr/include/c++/8/bits/std_function.h:88
#8  0x00000000008630e3 in std::function<void (player_activity*, player*)>::operator()(player_activity*, player*) const (this=<optimized out>, __args#0=<optimized out>,
    __args#0@entry=0xdf1b330, __args#1=<optimized out>, __args#1@entry=0xdf1ae50) at /usr/include/c++/8/bits/std_function.h:260
#9  0x0000000000860306 in activity_type::call_do_turn (this=0x2c3c930, act=act@entry=0xdf1b330, p=p@entry=0xdf1ae50) at src/activity_type.cpp:118
#10 0x00000000014a968b in player_activity::do_turn (this=this@entry=0xdf1b330, p=...) at src/player_activity.cpp:237
#11 0x00000000013092a4 in npc::do_player_activity (this=this@entry=0xdf1ae50) at src/npcmove.cpp:3299
#12 0x0000000001322a07 in npc::execute_action (this=this@entry=0xdf1ae50, action=<optimized out>, action@entry=npc_player_activity) at src/npcmove.cpp:1237
#13 0x000000000132690a in npc::move (this=this@entry=0xdf1ae50) at src/npcmove.cpp:907
```

This adds a simple check within the function.
RedShakespeare pushed a commit that referenced this pull request May 19, 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.