Skip to content

Commit a10e2db

Browse files
authored
Merge branch 'master' into scripting
2 parents c5309f4 + a1a60c1 commit a10e2db

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+754
-803
lines changed

apps/freeablo/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ add_library(freeablo_lib # split into a library so I can link to it from tests
5757
faworld/missile/missile.cpp
5858
faworld/missile/missile.h
5959
faworld/missile/missileactorengagement.cpp
60+
faworld/missile/missileattributes.cpp
6061
faworld/missile/missilecreation.cpp
6162
faworld/missile/missileenums.h
6263
faworld/missile/missilegraphic.cpp

apps/freeablo/engine/localinputhandler.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ namespace Engine
8686
{
8787
auto type = EngineMain::get()->mGuiManager->isInventoryShown() ? FAWorld::Target::ItemTarget::ActionType::toCursor
8888
: FAWorld::Target::ItemTarget::ActionType::autoEquip;
89-
mInputs.emplace_back(FAWorld::PlayerInput::TargetItemOnFloorData{item->getTile().position, type}, player->getId());
89+
mInputs.emplace_back(FAWorld::PlayerInput::TargetItemOnFloorData{item->getTile(), type}, player->getId());
9090
}
9191
else if (player->getLevel()->isDoor(clickedTile.pos) || !cursorItem.isEmpty())
9292
{

apps/freeablo/farender/animationplayer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ namespace FARender
2323
mFrameSequence.push_back(loader.load<int32_t>());
2424
}
2525

26-
void AnimationPlayer::save(FASaveGame::GameSaver& saver)
26+
void AnimationPlayer::save(FASaveGame::GameSaver& saver) const
2727
{
2828
Serial::ScopedCategorySaver cat("AnimationPlayer", saver);
2929

apps/freeablo/farender/animationplayer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ namespace FARender
2525

2626
AnimationPlayer() {}
2727
AnimationPlayer(FASaveGame::GameLoader& loader);
28-
void save(FASaveGame::GameSaver& saver);
28+
void save(FASaveGame::GameSaver& saver) const;
2929

3030
std::pair<FARender::FASpriteGroup*, int32_t> getCurrentFrame();
3131
AnimationType getCurrentAnimationType() { return mPlayingAnimType; }

apps/freeablo/farender/renderer.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ namespace FARender
108108
// struct nk_font *tiny = nk_font_atlas_add_from_file(atlas, "../../../extra_font/ProggyTiny.ttf", 10, 0);
109109
// struct nk_font *cousine = nk_font_atlas_add_from_file(atlas, "../../../extra_font/Cousine-Regular.ttf", 13, 0);
110110
mConsoleFont = nk_font_atlas_add_from_file(&mNuklearGraphicsData.atlas, "resources/fonts/FreeMono/FreeMonoBold.ttf", 14, 0);
111+
111112
mNuklearGraphicsData.dev.font_tex =
112113
nk_fa_font_stash_end(mSpriteManager, &mNuklearContext, mNuklearGraphicsData.atlas, mNuklearGraphicsData.dev.null);
113114
// nk_style_load_all_cursors(ctx, atlas->cursors);

apps/freeablo/faworld/actor.cpp

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ namespace FAWorld
126126
mType = ActorType(loader.load<uint8_t>());
127127
}
128128

129-
void Actor::save(FASaveGame::GameSaver& saver)
129+
void Actor::save(FASaveGame::GameSaver& saver) const
130130
{
131131
Serial::ScopedCategorySaver cat("Actor", saver);
132132

@@ -240,10 +240,13 @@ namespace FAWorld
240240

241241
void Actor::pickupItem(Target::ItemTarget target)
242242
{
243-
auto& itemMap = getLevel()->getItemMap();
244-
auto tile = target.item->getTile();
245-
auto item = itemMap.takeItemAt(tile);
246-
auto dropBack = [&]() { itemMap.dropItem(std::move(item), *this, tile); };
243+
ItemMap& itemMap = getLevel()->getItemMap();
244+
std::unique_ptr<Item> item = itemMap.takeItemAt(target.itemLocation);
245+
246+
if (!item)
247+
return;
248+
249+
auto dropBack = [&]() { itemMap.dropItem(std::move(item), *this, target.itemLocation); };
247250
switch (target.action)
248251
{
249252
case Target::ItemTarget::ActionType::autoEquip:

apps/freeablo/faworld/actor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ namespace FAWorld
4646
Actor(World& world, const DiabloExe::Npc& npc, const DiabloExe::DiabloExe& exe);
4747
Actor(World& world, FASaveGame::GameLoader& loader);
4848
virtual ~Actor();
49-
virtual void save(FASaveGame::GameSaver& saver);
49+
virtual void save(FASaveGame::GameSaver& saver) const;
5050

5151
virtual int32_t getOnKilledExperience() const { return 0; }
5252
void pickupItem(Target::ItemTarget target);

apps/freeablo/faworld/actor/basestate.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,15 +68,14 @@ namespace FAWorld
6868
{
6969
Target::ItemTarget target = actor.mTarget.get<Target::ItemTarget>();
7070

71-
auto tile = target.item->getTile();
72-
if (actor.getPos().isNear(Position(tile.position)))
71+
if (actor.getPos().isNear(Position(target.itemLocation)))
7372
{
7473
actor.pickupItem(target);
7574
actor.mTarget.clear();
7675
}
7776
else
7877
{
79-
actor.mMoveHandler.setDestination(tile.position, true);
78+
actor.mMoveHandler.setDestination(target.itemLocation, true);
8079
}
8180

8281
break;

0 commit comments

Comments
 (0)