Scope Creep PR #1

Merged
hatersgit merged 21 commits from CharCreateAnim into master 2026-06-18 15:55:15 +00:00
Owner

This PR includes

  • Animations playable on Character Create.
  • Fixes an issue that was not allowing people to see Duskhaven Settings when they had it enabled.
  • FindYourselfMode
  • Circle
  • Outline
  • NPCHighlight
  • Highlighting a creature will illuminate a glow around them depending on how they react to you. (Friendly, Neutral, Aggressive)
  • TargetSelection
  • Hook for rendering a circle around yourself that FindYourself uses however if FIndYourself is not currently visible and you select yourself a circle indicator will now show around you. Looks comparable to when you select another player. (blue circle)
  • LoadingScreen
  • Potential fix for wide-screen? No more black bars. As I was loading a zone I adjusted my game resolution in real-time and it adjusted accordingly.
This PR includes - Animations playable on Character Create. - Fixes an issue that was not allowing people to see Duskhaven Settings when they had it enabled. - FindYourselfMode - Circle - Outline - NPCHighlight - Highlighting a creature will illuminate a glow around them depending on how they react to you. (Friendly, Neutral, Aggressive) - TargetSelection - Hook for rendering a circle around yourself that FindYourself uses however if FIndYourself is not currently visible and you select yourself a circle indicator will now show around you. Looks comparable to when you select another player. (blue circle) - LoadingScreen - Potential fix for wide-screen? No more black bars. As I was loading a zone I adjusted my game resolution in real-time and it adjusted accordingly.
@ -6,0 +25,4 @@
constexpr uintptr_t SPELL_VISUAL_KIT_DB_RECORDS_ADDRESS = 0x00AD4A54;
constexpr uintptr_t SPELL_VISUAL_DB_RECORDS_ADDRESS = 0x00AD4AC0;
constexpr uint32_t CHARACTER_CREATE_PREVIEW_ATTACHMENT = 0;
constexpr uint32_t SPELL_ATTACHMENT_CHEST = 15;
Owner

Move these to an enum in spells.h.

Move these to an enum in spells.h.
hatersgit marked this conversation as resolved
@ -6,0 +34,4 @@
constexpr uint32_t SPELL_ATTACHMENT_SPECIAL_1 = 23;
constexpr uint32_t SPELL_ATTACHMENT_SPECIAL_2 = 24;
constexpr uint32_t SPELL_ATTACHMENT_SPECIAL_3 = 25;
constexpr uint32_t SPELL_AURA_MOD_STEALTH = 16;
Owner

I think there's already a spell aura enum in spells.h

I think there's already a spell aura enum in spells.h
hatersgit marked this conversation as resolved
@ -6,0 +161,4 @@
float CharacterCreateAuraPreviewOriginalBlue = 1.0f;
float CharacterCreateAuraPreviewOriginalAlpha = 1.0f;
uint32_t ReadUInt32(std::string const& data, size_t offset)
Owner

pending a message below; these are predicated on needing a raw read of the dbc rather than getting the client data row for the already loaded dbc.

pending a message below; these are predicated on needing a raw read of the dbc rather than getting the client data row for the already loaded dbc.
hatersgit marked this conversation as resolved
@ -6,0 +180,4 @@
std::unordered_map<uint32_t, std::string> LoadAnimationNames()
{
std::unordered_map<uint32_t, std::string> names;
std::string const dbc = ClientMPQ::readFile("DBFilesClient\\AnimationData.dbc");
Owner

Should prob just try to use a native already loaded dbc row getter here. GetRow or whatever, rather than a raw read.

Should prob just try to use a native already loaded dbc row getter here. GetRow or whatever, rather than a raw read.
hatersgit marked this conversation as resolved
@ -6,0 +71,4 @@
uint32_t blendTime = 0;
};
struct SpellVisualRow
Owner

These should all be moved to clientData since they're dbc row structs

These should all be moved to clientData since they're dbc row structs
hatersgit marked this conversation as resolved
@ -6,0 +127,4 @@
char* fileName;
};
struct C44Matrix
Owner

Just the stuff above this per the last message

Just the stuff above this per the last message
hatersgit marked this conversation as resolved
@ -6,0 +217,4 @@
std::unordered_map<uint32_t, std::string> LoadSoundEntryPaths()
{
std::unordered_map<uint32_t, std::string> paths;
std::string const dbc = ClientMPQ::readFile("DBFilesClient\\SoundEntries.dbc");
Owner

same as above.

same as above.
hatersgit marked this conversation as resolved
@ -6,0 +433,4 @@
if (!model || !CM2Model__IsLoaded(model, 0, 0))
return;
uint32_t const attachments[] =
Owner

would need to be updated when swapping to enum

would need to be updated when swapping to enum
hatersgit marked this conversation as resolved
@ -6,0 +539,4 @@
return true;
}
uint32_t GetSpellVisualKitId(SpellVisualRow const& visual, uint32_t stage)
Owner

genuine question: is there no native function for this?

genuine question: is there no native function for this?
hatersgit marked this conversation as resolved
@ -512,0 +635,4 @@
COMBAT_ABILITY1_H03_OFF = 1320,
COMBAT_ABILITY_DUAL_WIELD01 = 1322,
CombatAbility2HBig02 = 1488,
unknown1536 = 1536, // Kebful: Leaving this since Hater added it in.
Owner

This is reading the map.

This is reading the map.
hatersgit marked this conversation as resolved
Kebful changed title from Scope Creep PR to WIP: Scope Creep PR 2026-06-17 05:15:58 +00:00
Kebful changed title from WIP: Scope Creep PR to Scope Creep PR 2026-06-18 15:44:46 +00:00
Owner

approved

approved
hatersgit merged commit b2bc777d15 into master 2026-06-18 15:55:15 +00:00
hatersgit deleted branch CharCreateAnim 2026-06-18 15:55:15 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Duskhaven/dusk-tswow!1
No description provided.