Client - Initial Commit - Clan Cape - #832
Conversation
| // CN3CPlugBase fields manually so we can redirect the mesh load to | ||
| // s_MngMesh (CN3Mesh) instead of PMeshSet (CN3PMesh). Cloak assets are | ||
| // .n3mesh files; loading them as .n3pmesh produces garbage vertex counts. | ||
| CN3BaseFileAccess::Load(file); |
There was a problem hiding this comment.
Reviewing the ASM from the decompiled 1298 client, it does use CN3CPlugBase::Load; the ctidy comment is valid
There was a problem hiding this comment.
Yeah, they're doing this because CN3CPlugBase::Load()'s only loading progressive meshes here.
But officially it loads both, which would avoid the need for this, and fix any other loaded plugs using the other meshes.
There's no guarantee that capes = old meshes. Though it's pretty common, it's not actually a hard and fast rule, so CN3CPlugBase::Load() should probably just be fixed instead.
There was a problem hiding this comment.
I had a bit of a crack at the Load() this morning. I think it is right.
| } | ||
|
|
||
| CN3CPlug_Cloak* CloakPlugSet(const std::string& szFN); | ||
| CN3CPlug_Cloak* CloakPlug() |
There was a problem hiding this comment.
Is there a good reason we can't just use m_pCloakPlug directly?
Bit of a clean up to align more with binary
Pull request type
Please check the type of change your PR introduces:
What is the current behaviour?
The clan cape/ cloak is not implemented in the client.
CUser::SendServerIndex is not implement in Ebenezer.
What is the new behaviour?
The clan cloak is attached to the character. It displays the correct colour and patterns for the clan. It also displays the clan symbols. King cloak is also working.
Why and how did I change this?
This is my first iteration of the clan and king cloak. The cape is plugged into the shoulders. Most of the code already existed but it was commented out or not connected. The mesh is specific to each character model/ race. sCape is pulled from the knight table in the DB. This contains a code for the colour and the pattern.
I have commented out the grid for debugging the clan cape mesh/ movement for the moment.
Setup CUser::SendServerIndex for the WIZ_SERVER_INDEX packet in Ebenezer
Setup the ServerIndex packet handling on the client side.
Setup GetSymbolFilename for the client side to get the image in the middle of the clan cloak.
Things still to do/ test:
Screenshot
Was AI used at some point for any part of this change? If so, what?
No
Checklist