mirror of
https://github.com/isledecomp/isle-portable.git
synced 2026-05-02 02:23:56 +00:00
Extract ~420 lines of duplicated character animation logic from RemotePlayer and ThirdPersonCamera into a shared CharacterAnimator component. Both classes now compose a CharacterAnimator member that handles walk/idle/emote animation playback, vehicle ride animations, click animation tracking, name bubbles, and animation cache management. Behavioral differences between consumers (emote transform save/restore) are handled via CharacterAnimatorConfig. Also extract duplicated username encoding (letter indices to ASCII) from NetworkManager::BroadcastLocalState and ThirdPersonCamera::CreateNameBubble into EncodeUsername() in protocol.cpp. Replace C standard library usage across the multiplayer extension with SDL equivalents: sprintf->SDL_snprintf, sscanf->SDL_sscanf, atoi->SDL_atoi, strcmp->SDL_strcmp, fabsf->SDL_fabsf, floorf->SDL_floorf, and remove unnecessary <cmath>, <cstdio>, <cstdlib> headers. |
||
|---|---|---|
| .. | ||
| extensions | ||