@@ -224,10 +224,16 @@ InventoryState::InventoryState(bool tu, BattlescapeState *parent) : _tu(tu), _pa
224224
225225
226226 // only use copy/paste buttons in setup (i.e. non-tu) mode
227- _game->getResourcePack ()->getSurface (" InvCopy" )->blit (_btnCreateTemplate);
228- _game->getResourcePack ()->getSurface (" InvPasteEmpty" )->blit (_btnApplyTemplate);
229- _game->getResourcePack ()->getSurface (" InvClear" )->blit (_btnClearInventory);
230- _updateTemplateButtons (!_tu);
227+ if (_tu)
228+ {
229+ _btnCreateTemplate->setVisible (false );
230+ _btnApplyTemplate->setVisible (false );
231+ _btnClearInventory->setVisible (false );
232+ }
233+ else
234+ {
235+ _updateTemplateButtons (true );
236+ }
231237
232238 _inv->draw ();
233239 _inv->setTuMode (_tu);
@@ -590,18 +596,7 @@ void InventoryState::btnCreateTemplateClick(Action *action)
590596 (*j)->getFuseTimer ()));
591597 }
592598
593- if (_curInventoryTemplate.empty ())
594- {
595- // use "empty template" icons
596- _game->getResourcePack ()->getSurface (" InvCopy" )->blit (_btnCreateTemplate);
597- _game->getResourcePack ()->getSurface (" InvPasteEmpty" )->blit (_btnApplyTemplate);
598- }
599- else
600- {
601- // use "active template" icons
602- _game->getResourcePack ()->getSurface (" InvCopyActive" )->blit (_btnCreateTemplate);
603- _game->getResourcePack ()->getSurface (" InvPaste" )->blit (_btnApplyTemplate);
604- }
599+ _updateTemplateButtons (true );
605600
606601 // give audio feedback
607602 _game->getResourcePack ()->getSound (" BATTLE.CAT" , 38 )->play ();
@@ -856,8 +851,28 @@ void InventoryState::txtTooltipOut(Action *action)
856851
857852void InventoryState::_updateTemplateButtons (bool isVisible)
858853{
859- _btnCreateTemplate->setVisible (isVisible);
860- _btnApplyTemplate->setVisible (isVisible);
861- _btnClearInventory->setVisible (isVisible);
854+ if (isVisible)
855+ {
856+ _game->getResourcePack ()->getSurface (" InvClear" )->blit (_btnClearInventory);
857+
858+ if (_curInventoryTemplate.empty ())
859+ {
860+ // use "empty template" icons
861+ _game->getResourcePack ()->getSurface (" InvCopy" )->blit (_btnCreateTemplate);
862+ _game->getResourcePack ()->getSurface (" InvPasteEmpty" )->blit (_btnApplyTemplate);
863+ }
864+ else
865+ {
866+ // use "active template" icons
867+ _game->getResourcePack ()->getSurface (" InvCopyActive" )->blit (_btnCreateTemplate);
868+ _game->getResourcePack ()->getSurface (" InvPaste" )->blit (_btnApplyTemplate);
869+ }
870+ }
871+ else
872+ {
873+ _btnCreateTemplate->clear ();
874+ _btnApplyTemplate->clear ();
875+ _btnClearInventory->clear ();
876+ }
862877}
863878}
0 commit comments