[Scummvm-git-logs] scummvm master -> 378076dedf09d8309a52e56da7bc633594c24c27
mduggan
mgithub at guarana.org
Mon Apr 26 02:10:21 UTC 2021
This automated email contains information about 6 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
a67305562d ULTIMA8: Fix movie scale for some Crusader cutscenes
cda8b9ceff ULTIMA8: Correct when to show Crusadeer Weasel intro
ce379123d7 ULTIMA8: Remove some Crusader Weasel test code
b502951278 ULTIMA8: Crusader mover process fixes
221cb0e10e DEVTOOLS: ULTIMA8: Add display data for Regret. Fix keycard display frame.
378076dedf ULTIMA8: Correct count shown in Crusader pickups
Commit: a67305562d2461be230184e6eb83043f9b7c71ec
https://github.com/scummvm/scummvm/commit/a67305562d2461be230184e6eb83043f9b7c71ec
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2021-04-26T10:06:09+09:00
Commit Message:
ULTIMA8: Fix movie scale for some Crusader cutscenes
Changed paths:
engines/ultima/ultima8/gumps/movie_gump.cpp
diff --git a/engines/ultima/ultima8/gumps/movie_gump.cpp b/engines/ultima/ultima8/gumps/movie_gump.cpp
index 4c76525ba5..0b2cd77246 100644
--- a/engines/ultima/ultima8/gumps/movie_gump.cpp
+++ b/engines/ultima/ultima8/gumps/movie_gump.cpp
@@ -304,6 +304,11 @@ uint32 MovieGump::I_playMovieCutsceneAlt(const uint8 *args, unsigned int /*argsi
ARG_UINT16(x);
ARG_UINT16(y);
+ if (!x)
+ x = 640;
+ if (!y)
+ y = 480;
+
warning("MovieGump::I_playMovieCutsceneAlt: TODO: This intrinsic should pause and fade the background to grey");
if (item) {
Commit: cda8b9ceff7bedd7ac9f9cb7807438c6f3dfe83c
https://github.com/scummvm/scummvm/commit/cda8b9ceff7bedd7ac9f9cb7807438c6f3dfe83c
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2021-04-26T10:06:09+09:00
Commit Message:
ULTIMA8: Correct when to show Crusadeer Weasel intro
Changed paths:
engines/ultima/ultima8/gumps/weasel_gump.cpp
engines/ultima/ultima8/gumps/weasel_gump.h
diff --git a/engines/ultima/ultima8/gumps/weasel_gump.cpp b/engines/ultima/ultima8/gumps/weasel_gump.cpp
index deeec08df3..94eb18dae5 100644
--- a/engines/ultima/ultima8/gumps/weasel_gump.cpp
+++ b/engines/ultima/ultima8/gumps/weasel_gump.cpp
@@ -224,7 +224,7 @@ void WeaselGump::run() {
_state = kWeaselShowIntro;
break;
case kWeaselShowIntro: {
- if (_level == 1 && !_playedIntroMovie) {
+ if (_level == 2 && !_playedIntroMovie) {
_movie = playMovie(FIRST_INTRO_MOVIE);
_playedIntroMovie = true;
} else {
diff --git a/engines/ultima/ultima8/gumps/weasel_gump.h b/engines/ultima/ultima8/gumps/weasel_gump.h
index d8d99a9fee..959c6879a5 100644
--- a/engines/ultima/ultima8/gumps/weasel_gump.h
+++ b/engines/ultima/ultima8/gumps/weasel_gump.h
@@ -123,6 +123,15 @@ private:
/// Shape of current item
uint16 _curItemShape;
+ /**
+ * Whether the first intro movie has been played. Remember this between
+ * displays of the gump, but don't save.
+ *
+ * It only ever shows on level 1 so there is only a single way it can be re-shown
+ * (save during the first time at the base and reload after restarting the game).
+ *
+ * TODO: test if original does this to be perfectly faithful
+ */
static bool _playedIntroMovie;
};
Commit: ce379123d75570e0fae1379287a7e11276e6bfe9
https://github.com/scummvm/scummvm/commit/ce379123d75570e0fae1379287a7e11276e6bfe9
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2021-04-26T10:06:09+09:00
Commit Message:
ULTIMA8: Remove some Crusader Weasel test code
Changed paths:
engines/ultima/ultima8/gumps/weasel_gump.cpp
diff --git a/engines/ultima/ultima8/gumps/weasel_gump.cpp b/engines/ultima/ultima8/gumps/weasel_gump.cpp
index 94eb18dae5..30fe67d4db 100644
--- a/engines/ultima/ultima8/gumps/weasel_gump.cpp
+++ b/engines/ultima/ultima8/gumps/weasel_gump.cpp
@@ -190,9 +190,6 @@ void WeaselGump::InitGump(Gump *newparent, bool take_focus) {
if (item)
_credits = item->getQuality();
- // TODO: remove me (for testing)
- _credits += 10000;
-
_weaselDat = GameData::get_instance()->getWeaselDat(_level);
if (!_weaselDat || _weaselDat->getNumItems() == 0)
Close();
Commit: b502951278d28586c19fca3517692d468bcc0fcd
https://github.com/scummvm/scummvm/commit/b502951278d28586c19fca3517692d468bcc0fcd
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2021-04-26T10:06:09+09:00
Commit Message:
ULTIMA8: Crusader mover process fixes
* Don't allow attack moves at rebel base
* Save avatar angle (break Crusader save compatibility again, U8 saves are
fine)
Changed paths:
engines/ultima/ultima8/world/actors/cru_avatar_mover_process.cpp
diff --git a/engines/ultima/ultima8/world/actors/cru_avatar_mover_process.cpp b/engines/ultima/ultima8/world/actors/cru_avatar_mover_process.cpp
index a1ac5b9d3f..6057a30bb5 100644
--- a/engines/ultima/ultima8/world/actors/cru_avatar_mover_process.cpp
+++ b/engines/ultima/ultima8/world/actors/cru_avatar_mover_process.cpp
@@ -34,6 +34,8 @@ namespace Ultima8 {
DEFINE_RUNTIME_CLASSTYPE_CODE(CruAvatarMoverProcess)
+static const int REBEL_BASE_MAP = 40;
+
CruAvatarMoverProcess::CruAvatarMoverProcess() : AvatarMoverProcess(), _avatarAngle(0) {
}
@@ -115,6 +117,11 @@ void CruAvatarMoverProcess::handleCombatMode() {
const Direction curdir = avatar->getDir();
const bool stasis = Ultima8Engine::get_instance()->isAvatarInStasis();
+ if (avatar->getMapNum() == REBEL_BASE_MAP) {
+ avatar->clearInCombat();
+ return;
+ }
+
// never idle when in combat
_idleTime = 0;
@@ -256,8 +263,9 @@ void CruAvatarMoverProcess::handleNormalMode() {
const Animation::Sequence lastanim = avatar->getLastAnim();
Direction direction = avatar->getDir();
const bool stasis = Ultima8Engine::get_instance()->isAvatarInStasis();
+ const bool rebelBase = (avatar->getMapNum() == REBEL_BASE_MAP);
- if (hasMovementFlags(MOVE_STEP | MOVE_JUMP) && hasMovementFlags(MOVE_ANY_DIRECTION | MOVE_TURN_LEFT | MOVE_TURN_RIGHT)) {
+ if (!rebelBase && hasMovementFlags(MOVE_STEP | MOVE_JUMP) && hasMovementFlags(MOVE_ANY_DIRECTION | MOVE_TURN_LEFT | MOVE_TURN_RIGHT)) {
// All jump and step movements in crusader are handled identically
// whether starting from combat mode or not.
avatar->setInCombat(0);
@@ -298,7 +306,7 @@ void CruAvatarMoverProcess::handleNormalMode() {
Animation::Sequence nextanim = Animation::walk;
- if (hasMovementFlags(MOVE_RUN)) {
+ if (!rebelBase && hasMovementFlags(MOVE_RUN)) {
if (lastanim == Animation::run
|| lastanim == Animation::startRun
|| lastanim == Animation::startRunSmallWeapon
@@ -317,7 +325,7 @@ void CruAvatarMoverProcess::handleNormalMode() {
return;
}
- if (hasMovementFlags(MOVE_BACK)) {
+ if (!rebelBase && hasMovementFlags(MOVE_BACK)) {
if (mainactor)
mainactor->toggleInCombat();
step(Animation::retreat, direction);
@@ -428,6 +436,9 @@ void CruAvatarMoverProcess::tryAttack() {
if (!avatar)
return;
+ if (avatar->getMapNum() == REBEL_BASE_MAP)
+ return;
+
Direction dir = avatar->getDir();
if (!avatar->isInCombat()) {
avatar->setInCombat(0);
@@ -440,10 +451,12 @@ void CruAvatarMoverProcess::tryAttack() {
void CruAvatarMoverProcess::saveData(Common::WriteStream *ws) {
AvatarMoverProcess::saveData(ws);
+ ws->writeSint32LE(_avatarAngle);
}
bool CruAvatarMoverProcess::loadData(Common::ReadStream *rs, uint32 version) {
if (!AvatarMoverProcess::loadData(rs, version)) return false;
+ _avatarAngle = rs->readSint32LE();
return true;
}
Commit: 221cb0e10eb0e9faa2be6021ee8477cfa4dbc5f8
https://github.com/scummvm/scummvm/commit/221cb0e10eb0e9faa2be6021ee8477cfa4dbc5f8
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2021-04-26T11:09:15+09:00
Commit Message:
DEVTOOLS: ULTIMA8: Add display data for Regret. Fix keycard display frame.
Changed paths:
A devtools/create_ultima/files/ultima8/regretweapons.ini
devtools/create_ultima/files/ultima8/remorseweapons.ini
diff --git a/devtools/create_ultima/files/ultima8/regretweapons.ini b/devtools/create_ultima/files/ultima8/regretweapons.ini
new file mode 100644
index 0000000000..334ac5a89b
--- /dev/null
+++ b/devtools/create_ultima/files/ultima8/regretweapons.ini
@@ -0,0 +1,299 @@
+# Actual weapons
+[BA-40]
+shape=0x032E
+sound=0x2C
+ammo_type=0
+damage_type=0x0B
+display_shape=3
+display_frame=2
+overlay_shape=0x01A1
+overlay=4
+small=1
+
+[BA-41]
+shape=0x032F
+sound=0x2C
+ammo_type=1
+damage_type=0x0B
+display_shape=3
+display_frame=1
+overlay_shape=0x01A1
+overlay=0
+small=1
+
+[PA-21]
+shape=0x0330
+sound=0x8
+ammo_type=0
+damage_type=0x05
+display_shape=3
+display_frame=7
+overlay_shape=0x036D
+overlay=0
+small=1
+
+[EM-4]
+shape=0x038C
+sound=0x43
+ammo_type=0
+damage_type=0x0F
+display_shape=3
+display_frame=3
+overlay_shape=0x036F
+overlay=0
+
+[SG-A1]
+shape=0x0332
+sound=0x55
+ammo_type=2
+damage_type=0x02
+display_shape=3
+display_frame=0
+overlay_shape=0x033B
+overlay=4
+
+[RP-22]
+shape=0x0333
+sound=0x2C
+ammo_type=3
+damage_type=0x01
+display_shape=3
+display_frame=6
+overlay_shape=0x036F
+overlay=0
+
+[RP-32]
+shape=0x0334
+sound=0x2C
+ammo_type=3
+damage_type=0x01
+display_shape=3
+display_frame=5
+overlay_shape=0x036F
+overlay=0
+
+[AR-7]
+shape=0x038E
+sound=0x2C
+ammo_type=4
+damage_type=0x0A
+display_shape=3
+display_frame=0xC
+overlay_shape=0x036E
+overlay=0
+
+[GL-303]
+shape=0x0388
+sound=0x64
+ammo_type=5
+damage_type=0x03
+display_shape=3
+display_frame=8
+overlay_shape=0x036E
+overlay=0
+
+[PA-31]
+shape=0x038A
+sound=0x2
+ammo_type=0
+damage_type=0x05
+display_shape=3
+display_frame=9
+overlay_shape=0x036F
+overlay=0
+
+[PL-1]
+shape=0x038D
+sound=0x47
+ammo_type=0
+damage_type=0x06
+display_shape=3
+display_frame=0xA
+overlay_shape=0x036E
+overlay=0
+
+[AC-88]
+shape=0x038B
+sound=0x55
+ammo_type=2
+damage_type=0x0D
+display_shape=3
+display_frame=4
+overlay_shape=0x036E
+overlay=0
+
+[UV-9]
+shape=0x0386
+sound=0x89
+ammo_type=0
+damage_type=0x0E
+display_shape=3
+display_frame=0xB
+overlay_shape=0x036E
+overlay=0
+
+[BK-16]
+shape=0x05F6
+sound=0x89
+ammo_type=0
+damage_type=0x0E
+display_shape=3
+display_frame=0xB
+overlay_shape=0x036E
+overlay=2
+
+[LNR-81]
+shape=0x05F5
+sound=0x165
+ammo_type=0
+damage_type=0x11
+display_shape=3
+display_frame=0xB
+overlay_shape=0x036E
+overlay=0
+
+[XP-5]
+shape=0x0198
+sound=0x167
+damage_type=0x14
+display_shape=3
+display_frame=0x10h
+overlay_shape=0x033B
+# TODO: check this
+overlay=0
+
+# Ammo
+[BA-41 CLIP]
+shape=0x033D
+display_shape=5
+display_frame=0x8
+
+[SG-A1 CLIP]
+shape=0x033E
+display_shape=5
+display_frame=0x9
+
+[RP-22 CLIP]
+shape=0x033F
+display_shape=5
+display_frame=0xA
+
+[AR-7 CLIP]
+shape=0x0340
+display_shape=5
+display_frame=0xB
+
+[GL-303 CLIP]
+shape=0x0341
+display_shape=5
+display_frame=0xC
+
+
+# Bombs, grenades, etc..
+[GRENADE]
+shape=0x0343
+display_shape=4
+display_frame=0
+
+[CONCUSSION GRENADE]
+shape=0x034E
+display_shape=4
+display_frame=1
+
+[NERVE GAS GRENADE]
+shape=0x034F
+display_shape=4
+display_frame=2
+
+[EMP GRENADE]
+shape=0x0350
+display_shape=4
+display_frame=3
+
+[SPIDER BOMB]
+shape=0x0560
+display_shape=4
+display_frame=4
+
+[LAND MINE]
+shape=0x039A
+display_shape=4
+display_frame=5
+
+[BLAST PAC]
+shape=0x039B
+display_shape=4
+display_frame=7
+
+[FUSION PAC]
+shape=0x039C
+display_shape=4
+display_frame=6
+
+
+# Other inventory items
+[MEDICAL KIT]
+shape=0x351
+display_shape=5
+display_frame=0
+
+[DATA LINK]
+shape=0x4D4
+display_shape=5
+display_frame=1
+
+[INHIBITOR]
+shape=0x52D
+display_shape=5
+display_frame=2
+
+[IONIC GENERATOR]
+shape=0x52E
+display_shape=5
+display_frame=3
+
+[ENERGY CUBE]
+shape=0x582
+display_shape=5
+display_frame=0x19
+
+[PLASMA GENERATOR]
+shape=0x52F
+display_shape=5
+display_frame=5
+
+[DET PAC]
+shape=0x55F
+display_shape=5
+display_frame=0x18
+
+[GRAVITON GENERATOR]
+shape=0x530
+display_shape=5
+display_frame=7
+
+[CHEMICAL BATTERY]
+shape=0x3A2
+display_shape=5
+display_frame=0x16
+
+[FUSION BATTERY]
+shape=0x3A3
+display_shape=5
+display_frame=0x15
+
+[FISSION BATTERY]
+shape=0x3A4
+display_shape=5
+display_frame=0x17
+
+# Other special case items
+[CREDITS]
+shape=0x4ED
+display_shape=3
+display_frame=0xD
+
+[KEYCARD]
+shape=0x111
+display_shape=5
+display_frame=0xD
diff --git a/devtools/create_ultima/files/ultima8/remorseweapons.ini b/devtools/create_ultima/files/ultima8/remorseweapons.ini
index 5720e6053f..d5d07174a4 100644
--- a/devtools/create_ultima/files/ultima8/remorseweapons.ini
+++ b/devtools/create_ultima/files/ultima8/remorseweapons.ini
@@ -266,3 +266,4 @@ display_frame=0xD
[KEYCARD]
shape=0x111
display_shape=5
+display_frame=0xD
Commit: 378076dedf09d8309a52e56da7bc633594c24c27
https://github.com/scummvm/scummvm/commit/378076dedf09d8309a52e56da7bc633594c24c27
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2021-04-26T11:09:18+09:00
Commit Message:
ULTIMA8: Correct count shown in Crusader pickups
Changed paths:
engines/ultima/ultima8/gumps/cru_pickup_area_gump.cpp
engines/ultima/ultima8/gumps/cru_pickup_area_gump.h
engines/ultima/ultima8/gumps/cru_pickup_gump.cpp
engines/ultima/ultima8/gumps/cru_pickup_gump.h
engines/ultima/ultima8/world/actors/main_actor.cpp
diff --git a/engines/ultima/ultima8/gumps/cru_pickup_area_gump.cpp b/engines/ultima/ultima8/gumps/cru_pickup_area_gump.cpp
index 0dfdb337dc..6317f9a9b8 100644
--- a/engines/ultima/ultima8/gumps/cru_pickup_area_gump.cpp
+++ b/engines/ultima/ultima8/gumps/cru_pickup_area_gump.cpp
@@ -50,7 +50,7 @@ void CruPickupAreaGump::InitGump(Gump *newparent, bool take_focus) {
_instance = this;
}
-void CruPickupAreaGump::addPickup(const Item *item) {
+void CruPickupAreaGump::addPickup(const Item *item, bool showCount) {
if (!item)
return;
@@ -67,7 +67,7 @@ void CruPickupAreaGump::addPickup(const Item *item) {
continue;
if (pug->getShapeNo() == shapeno) {
// Already a notification for this object, update it
- pug->updateForNewItem(item);
+ pug->updateForNewItem(item, showCount);
return;
}
int32 x, y;
@@ -76,7 +76,7 @@ void CruPickupAreaGump::addPickup(const Item *item) {
}
// didn't find one, create a new one at the bottom.
- Gump *newgump = new CruPickupGump(item, maxy);
+ Gump *newgump = new CruPickupGump(item, maxy, showCount);
newgump->InitGump(this, false);
}
diff --git a/engines/ultima/ultima8/gumps/cru_pickup_area_gump.h b/engines/ultima/ultima8/gumps/cru_pickup_area_gump.h
index a090e6625b..cb99d5ce12 100644
--- a/engines/ultima/ultima8/gumps/cru_pickup_area_gump.h
+++ b/engines/ultima/ultima8/gumps/cru_pickup_area_gump.h
@@ -51,7 +51,7 @@ public:
bool loadData(Common::ReadStream *rs, uint32 version);
void saveData(Common::WriteStream *ws) override;
- void addPickup(const Item *item);
+ void addPickup(const Item *item, bool showCount);
static CruPickupAreaGump *get_instance();
private:
diff --git a/engines/ultima/ultima8/gumps/cru_pickup_gump.cpp b/engines/ultima/ultima8/gumps/cru_pickup_gump.cpp
index 83c96c9a7b..f368720714 100644
--- a/engines/ultima/ultima8/gumps/cru_pickup_gump.cpp
+++ b/engines/ultima/ultima8/gumps/cru_pickup_gump.cpp
@@ -44,10 +44,11 @@ static const int COUNT_TEXT_INDEX = 0x100;
DEFINE_RUNTIME_CLASSTYPE_CODE(CruPickupGump)
CruPickupGump::CruPickupGump() : Gump(), _startFrame(0), _itemShapeNo(0), _q(0),
- _gumpShapeNo(0), _gumpFrameNo(0) {
+ _gumpShapeNo(0), _gumpFrameNo(0), _showCount(false) {
}
-CruPickupGump::CruPickupGump(const Item *item, int y) : Gump(0, y, 5, 5, 0), _startFrame(0) {
+CruPickupGump::CruPickupGump(const Item *item, int y, bool showCount) : Gump(0, y, 5, 5, 0),
+ _startFrame(0), _showCount(showCount) {
const WeaponInfo *weaponInfo = item->getShapeInfo()->_weaponInfo;
if (weaponInfo) {
_itemShapeNo = item->getShape();
@@ -55,6 +56,9 @@ CruPickupGump::CruPickupGump(const Item *item, int y) : Gump(0, y, 5, 5, 0), _st
_itemName = weaponInfo->_name;
_gumpShapeNo = weaponInfo->_displayGumpShape;
_gumpFrameNo = weaponInfo->_displayGumpFrame;
+ // Special case for keycard - display depends on the card type
+ if (_itemShapeNo == 0x111)
+ _gumpFrameNo += item->getFrame();
} else {
_itemShapeNo = 0;
_q = 0;
@@ -119,7 +123,7 @@ void CruPickupGump::InitGump(Gump *newparent, bool take_focus) {
itemgump->Move(ITEM_AREA_WIDTH / 2 - itemframe->_width / 2, _dims.height() / 2 - itemframe->_height / 2);
}
-void CruPickupGump::updateForNewItem(const Item *item) {
+void CruPickupGump::updateForNewItem(const Item *item, bool showCount) {
assert(item);
assert(item->getShape() == _itemShapeNo);
TextWidget *oldtext = dynamic_cast<TextWidget *>(FindGump(&FindByIndex<COUNT_TEXT_INDEX>));
@@ -127,16 +131,20 @@ void CruPickupGump::updateForNewItem(const Item *item) {
RemoveChild(oldtext);
oldtext->Close();
}
- // TODO: should we add current q? + currentq;
- // It seems like the items are hacked to give the right "q" for
- // this gump from the last item, which is why the add process
- // uses q + 1 instead of adding the new q.
- _q = item->getQuality();
+
+ _showCount = showCount;
+
+ // If we're updating the existing count, add 1 or special-case credits
+ if (_itemShapeNo == 0x4ed)
+ _q += item->getQuality();
+ else
+ _q++;
+
addCountText();
}
void CruPickupGump::addCountText() {
- if (_q <= 1)
+ if (_q <= 1 || !_showCount)
return;
Std::string qstr = Std::string::format("%d", _q);
TextWidget *count = new TextWidget(ITEM_AREA_WIDTH / 2 + 22, _dims.height() / 2 + 3, qstr, true, COUNT_TEXT_FONT);
diff --git a/engines/ultima/ultima8/gumps/cru_pickup_gump.h b/engines/ultima/ultima8/gumps/cru_pickup_gump.h
index 9f17ff2849..aa18e9a2c2 100644
--- a/engines/ultima/ultima8/gumps/cru_pickup_gump.h
+++ b/engines/ultima/ultima8/gumps/cru_pickup_gump.h
@@ -39,7 +39,7 @@ public:
ENABLE_RUNTIME_CLASSTYPE()
CruPickupGump();
- CruPickupGump(const Item *item, int y);
+ CruPickupGump(const Item *item, int y, bool showCount);
~CruPickupGump() override {};
@@ -58,7 +58,7 @@ public:
}
//! Update for a second item pickup - generally just replace existing count text.
- void updateForNewItem(const Item *item);
+ void updateForNewItem(const Item *item, bool showCount);
void addCountText();
bool loadData(Common::ReadStream *rs, uint32 version);
@@ -71,6 +71,7 @@ private:
uint16 _gumpFrameNo;
Std::string _itemName;
uint16 _q;
+ bool _showCount;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/world/actors/main_actor.cpp b/engines/ultima/ultima8/world/actors/main_actor.cpp
index 9e4ef2862d..9a85099941 100644
--- a/engines/ultima/ultima8/world/actors/main_actor.cpp
+++ b/engines/ultima/ultima8/world/actors/main_actor.cpp
@@ -144,7 +144,7 @@ int16 MainActor::addItemCru(Item *item, bool showtoast) {
credits->setQuality(newq);
credits->callUsecodeEvent_combine();
if (showtoast)
- pickupArea->addPickup(item);
+ pickupArea->addPickup(item, true);
item->destroy();
} else {
item->setFrame(0);
@@ -152,7 +152,7 @@ int16 MainActor::addItemCru(Item *item, bool showtoast) {
if (!_activeInvItem)
_activeInvItem = item->getObjId();
if (showtoast)
- pickupArea->addPickup(item);
+ pickupArea->addPickup(item, true);
}
return 1;
}
@@ -176,7 +176,7 @@ int16 MainActor::addItemCru(Item *item, bool showtoast) {
if (!_activeWeapon)
_activeWeapon = item->getObjId();
if (showtoast)
- pickupArea->addPickup(item);
+ pickupArea->addPickup(item, false);
}
break;
}
@@ -188,7 +188,7 @@ int16 MainActor::addItemCru(Item *item, bool showtoast) {
item->callUsecodeEvent_combine();
item->moveToContainer(this);
if (showtoast)
- pickupArea->addPickup(item);
+ pickupArea->addPickup(item, true);
return 1;
} else {
// already have this, add some ammo.
@@ -197,7 +197,7 @@ int16 MainActor::addItemCru(Item *item, bool showtoast) {
ammo->setQuality(q + 1);
ammo->callUsecodeEvent_combine();
if (showtoast)
- pickupArea->addPickup(item);
+ pickupArea->addPickup(item, true);
item->destroy();
return 1;
}
@@ -209,14 +209,14 @@ int16 MainActor::addItemCru(Item *item, bool showtoast) {
if (shapeno == 0x111) {
addKeycard(item->getQuality() & 0xff);
if (showtoast) {
- pickupArea->addPickup(item);
+ pickupArea->addPickup(item, false);
}
item->destroy();
return 1;
} else if ((shapeno == 0x3a2) || (shapeno == 0x3a3) || (shapeno == 0x3a4)) {
// Batteries
if (showtoast)
- pickupArea->addPickup(item);
+ pickupArea->addPickup(item, false);
item->destroy();
int plusenergy = 0;
CruBatteryType oldbattery = _cruBatteryType;
@@ -268,7 +268,7 @@ int16 MainActor::addItemCru(Item *item, bool showtoast) {
_shieldType = shieldtype;
}
if (showtoast)
- pickupArea->addPickup(item);
+ pickupArea->addPickup(item, false);
item->destroy();
return 1;
} else {
@@ -277,7 +277,7 @@ int16 MainActor::addItemCru(Item *item, bool showtoast) {
item->callUsecodeEvent_combine();
item->moveToContainer(this);
if (showtoast)
- pickupArea->addPickup(item);
+ pickupArea->addPickup(item, true);
if (!_activeInvItem)
_activeInvItem = item->getObjId();
return 1;
@@ -294,7 +294,7 @@ int16 MainActor::addItemCru(Item *item, bool showtoast) {
existing->setQuality(q + 1);
existing->callUsecodeEvent_combine();
if (showtoast)
- pickupArea->addPickup(item);
+ pickupArea->addPickup(item, true);
item->destroy();
return 1;
}
@@ -304,7 +304,7 @@ int16 MainActor::addItemCru(Item *item, bool showtoast) {
existing->setQuality(q + 1);
existing->callUsecodeEvent_combine();
if (showtoast)
- pickupArea->addPickup(item);
+ pickupArea->addPickup(item, true);
item->destroy();
return 1;
}
More information about the Scummvm-git-logs
mailing list