Browse Source

Fix brightness of whu casting animations

pull/7173/head
staphen 2 years ago committed by Anders Jenbo
parent
commit
60113bb0b8
  1. 3
      CMake/Assets.cmake
  2. 12
      Source/engine/trn.cpp
  3. 1
      Source/engine/trn.hpp
  4. 10
      Source/player.cpp
  5. BIN
      assets/plrgfx/warrior/whu/whufm.trn
  6. BIN
      assets/plrgfx/warrior/whu/whulm.trn
  7. BIN
      assets/plrgfx/warrior/whu/whuqm.trn

3
CMake/Assets.cmake

@ -148,6 +148,9 @@ set(devilutionx_assets
nlevels/cutl6w.clx nlevels/cutl6w.clx
nlevels/l5data/cornerstone.dun nlevels/l5data/cornerstone.dun
nlevels/l5data/uberroom.dun nlevels/l5data/uberroom.dun
plrgfx/warrior/whu/whufm.trn
plrgfx/warrior/whu/whulm.trn
plrgfx/warrior/whu/whuqm.trn
txtdata/Experience.tsv txtdata/Experience.tsv
txtdata/classes/barbarian/attributes.tsv txtdata/classes/barbarian/attributes.tsv
txtdata/classes/bard/attributes.tsv txtdata/classes/bard/attributes.tsv

12
Source/engine/trn.cpp

@ -65,4 +65,16 @@ std::optional<std::array<uint8_t, 256>> GetClassTRN(Player &player)
return std::nullopt; return std::nullopt;
} }
std::optional<std::array<uint8_t, 256>> GetPlayerGraphicTRN(const char *pszName)
{
char path[MaxMpqPathSize];
*BufCopy(path, pszName, ".trn") = '\0';
std::array<uint8_t, 256> trn;
if (LoadOptionalFileInMem(path, &trn[0], 256)) {
return trn;
}
return std::nullopt;
}
} // namespace devilution } // namespace devilution

1
Source/engine/trn.hpp

@ -16,5 +16,6 @@ uint8_t *GetInfravisionTRN();
uint8_t *GetStoneTRN(); uint8_t *GetStoneTRN();
uint8_t *GetPauseTRN(); uint8_t *GetPauseTRN();
std::optional<std::array<uint8_t, 256>> GetClassTRN(Player &player); std::optional<std::array<uint8_t, 256>> GetClassTRN(Player &player);
std::optional<std::array<uint8_t, 256>> GetPlayerGraphicTRN(const char *pszName);
} // namespace devilution } // namespace devilution

10
Source/player.cpp

@ -2134,9 +2134,13 @@ void LoadPlrGFX(Player &player, player_graphic graphic)
*fmt::format_to(pszName, R"(plrgfx\{0}\{1}\{1}{2})", path, std::string_view(prefix, 3), szCel) = 0; *fmt::format_to(pszName, R"(plrgfx\{0}\{1}\{1}{2})", path, std::string_view(prefix, 3), szCel) = 0;
const uint16_t animationWidth = GetPlayerSpriteWidth(cls, graphic, animWeaponId); const uint16_t animationWidth = GetPlayerSpriteWidth(cls, graphic, animWeaponId);
animationData.sprites = LoadCl2Sheet(pszName, animationWidth); animationData.sprites = LoadCl2Sheet(pszName, animationWidth);
std::optional<std::array<uint8_t, 256>> trn = GetClassTRN(player); std::optional<std::array<uint8_t, 256>> graphicTRN = GetPlayerGraphicTRN(pszName);
if (trn) { if (graphicTRN) {
ClxApplyTrans(*animationData.sprites, trn->data()); ClxApplyTrans(*animationData.sprites, graphicTRN->data());
}
std::optional<std::array<uint8_t, 256>> classTRN = GetClassTRN(player);
if (classTRN) {
ClxApplyTrans(*animationData.sprites, classTRN->data());
} }
} }

BIN
assets/plrgfx/warrior/whu/whufm.trn

Binary file not shown.

BIN
assets/plrgfx/warrior/whu/whulm.trn

Binary file not shown.

BIN
assets/plrgfx/warrior/whu/whuqm.trn

Binary file not shown.
Loading…
Cancel
Save