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

Test #9

Closed
wants to merge 376 commits into from
Closed

Test #9

wants to merge 376 commits into from

Conversation

ifreund
Copy link
Owner

@ifreund ifreund commented Feb 17, 2020

Summary

Purpose of change

Describe the solution

Describe alternatives you've considered

Testing

Additional context

Kilvoctu and others added 30 commits February 8, 2020 00:29
* Less precise item info

volume to three decimals. Everything else to what makes sense

* Remove build script

Delete my bat for compiling

* restore round_up

Restore rounding up and set to thousandths place, for extremely low volume items.
Added "brush" to the recipe alongside rags or sponges. I changed the description to be more generic and accurate.
…ose-colorspace-handling

Update tileset compose colorspace handling
…Expansion

Added scrub brush to washing kit recipe
Looks_like application for fields like fire and blood.
Fix reference to non-existing item group
…er functions

It will use the implicit this object instead.

This ensures the state and behavior of NPCs does not depend on the state of the player character.
Remove reference to game::u from code in Character/player/avatar member functions
Add Debian/Ubuntu install instructions to README
Now the scrub brushes should be as useful as sponges
For symmetry with `map::has_nearby_chair`, possible future re-use, and
to simplify the `Character::modify_morale` function slightly.
…ess-Expansion

Added WASH_HARD_ITEMS to scrub brush
jbytheway and others added 27 commits February 16, 2020 06:12
This error is fatal, and not all mods are clean with respect to it, so
leaving it in regular play would break a bunch of people's games.  (Even
if it were non-fatal, it would be super annoying for players to click
through many debugmsgs).

Make it test-mode only to avoid that.

Unfortunately, that means that mappers who don't run the tests won't
find out about their mapgen typos until they PR them, but I think it's
the best we can do for now.
The undefined key error has two special case characters.  This needs to
be documented.
The Travis CI job for the clang build with sanitizers is timing out.
Speed it up by disabling the currently-slowest test, which is
starve_test.  This should save 2 minutes and hopefully bring it back
under the 50 minute time limit.
…o-object2

Comestible name to object, flags to array
Canning juices now results in canned products
…Raven#38047)

* fix sandbag recipe components

sandbag needed 3200 sand to craft. should be 60

* update item sandbag weight

* Update chemicals_and_resources.json

* make sandbag recipe reversible?

* changed 3200 sand to 3000 (15L worth)

if sandbag is 16L and canvas sack takes up 1L then 3000 sand would make 16L. I could change the weight back those couple hundred grams too on the sandbag if u all want to be super accurate and technical

* changed uncraft recipe

changed from 60 sand to 3000 sand

* removed reversible
* Tweaked professions, point cost and description

* Added hulks to monstergroups

* Revert "Added hulks to monstergroups"

This reverts commit 3e1d625.
…ect-3

Armor name to object, volume to string, fix looks_like
…tests

Disable starve_test on sanitizer run
…o-object-3

Comestible name to object, flags to array
…-json

Comestible Name to object, double have decimal
…ect-4

Armor name to object, fix looks_like
…y_detection

Mapgen missing key detection
Add spoilage to reconstituted protein shakes
…gging_fix

Rebalance stamina and pain penalties for dragging wheeled vehicles
@ifreund ifreund closed this Feb 17, 2020
ifreund pushed a commit that referenced this pull request Mar 19, 2020
ifreund pushed a commit that referenced this pull request May 14, 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
CleverRaven#11 0x00000000013092a4 in npc::do_player_activity (this=this@entry=0xdf1ae50) at src/npcmove.cpp:3299
CleverRaven#12 0x0000000001322a07 in npc::execute_action (this=this@entry=0xdf1ae50, action=<optimized out>, action@entry=npc_player_activity) at src/npcmove.cpp:1237
CleverRaven#13 0x000000000132690a in npc::move (this=this@entry=0xdf1ae50) at src/npcmove.cpp:907
```

This adds a simple check within the function.
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.