EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   Classic weapon/skeleton appearances (https://www.eqemulator.org/forums/showthread.php?t=37857)

BasketCase209 02-14-2014 01:43 PM

Classic weapon/skeleton appearances
 
I know most of the classic weapons simply have a different weapon id. For example, the classic dagger is 5 and the new dagger id is 10650.
However, not all of the updated weapon appearances have a separate id. Weapons like the scimitar and scythe have been replaced. I wanted to know if there was any way to get those back?
I tried changing the order in the GlobalLoad.txt but that didn't seem to help. Did I do it wrong or do I need to actually remove it from the .s3d file and in that case how and which one?

Another question somewhat related is getting back the classic skeleton models. Not the Luclin one (race id 60 which doesn't seem to be able to load the animations) but the pre-Luclin classic skeleton model?
Do accomplish this would it be changing the globalload_chr.txt or would I have to go digging through the .s3d's?

Thanks for the help, all! :D

Nydosa 02-14-2014 02:05 PM

Getting classic skeletons will also net you classic tigers and classic wolves.

To do so, put global6_chr.s3d in a sub-folder or rename it. This will give you skeletons with weird faces/hips. You can fix this by doing the same to gequip5.wld, although you'll lose some PoP weapon graphics. To fix this professionally, you will need to either a) download the texture swapping tools to replace the luclin skele face/hip in gequip5.wld, or b) download the global load from project 1999's site and use their models. Option b will give you significantly less global models than a.

To get the weapons, I believe you just need to not load everything past gequip5 (those are the weapon files). Doing option b will solve this for you as well. You'll lose a bunch of weapon graphics if your goal is to get the old clubs or whatnot.

*Note, without some significant coding, you will only see one model of the skeleton. By default, you'll only get the white one, but with texture swapping you can easily get the brown one.

BasketCase209 02-14-2014 02:28 PM

You rock!
Thanks for the info. My goal is the return just the classic weapon models without messing up anything else.
You mentioned a texture swapping texture swapper? Is there a guide somewhere with step by step instructions? I'm a bit of a noob at this but I'm very open to learning.

Nydosa 02-14-2014 04:09 PM

There are two that I use. Download s3dspy and Zone Converter here:
http://www.georgestools.chrsschb.com//

Here's an example modification I did with the elementals...I stole the new textures from other EQ NPCs/Zones.
http://i803.photobucket.com/albums/y...ps044eba32.png

BasketCase209 02-14-2014 04:59 PM

I've got both programs running and I'm digging around using both but I'm having trouble figuring it out.
In gequip5 I found a Luclin skeleton mace model.

Is there a guide online for this?

By the way, those new elementals look rad. =)

BasketCase209 02-15-2014 04:03 PM

Yay! Update time!
So I think I solved the classic weapon problem.
equipment-01.eqg was the issue. It appears to be the file overriding the classic weapons. I moved it into a backup folder and poof, the old weapons are now displaying correctly.
I also got the classic white skeletons working beautifully.
Using S3DSpy I deleted the head and pelvis .dds textures in gequip5.sd3, moved the .bmp from (I think it was) global_chr.s3d. and changed the extension to .dds. With the classic skeleton head and pelvis textures in its place, the classic white skeleton works exceptionally. Only issue is weapon 10409 no longer displays correctly which I'm not worried about.
Next on my list is to get the brown skeleton texture working. This will be the doozy since I'm not entirely sure where to begin. But I REALLY appreciate the help thus far, Nydosa. :D

Nydosa 02-16-2014 02:54 PM

I tried to go down that route with brown skeletons. It's a hard-coded 'feature' in the client from Luclin-era, and it made it so all model 60 skeletons defaulted to texture 0 since there was only one (horrible) model of that skeleton.

When I was looking into this, Secrets gave me some of his re-written code to fix it. I believe this is how they do it on P99, although I'm not 100% sure on that. I'm sure others here would be interested in a working method to get them to appear.

-----
"SOE hardcoded race 60 in the client to always be texture 0, the fix is removing that in the client.

I didn't actually have my work handy so I recreated it.

You can search for a constant variable of 60 in the exe and fill the instruction set that is in the 'signed int __thiscall EQPlayer::SwapNPCMaterials(int this)' function where it modifies the actor variable of texture with 0x90 (NOP). Filling 0x482762 -> 0x48276F in titanium with 0x90 (NOP) will achieve this effect.


You can binary patch it with a program such as 'OllyDBG' to achieve this effect, or use DLL injection and use this function to patch bytes into the application:



Quote:
void PatchBytes( void * lpAddress, const char * szBytes, int nLen )
{
// Needed by VirtualProtect.
DWORD dwBack = 0;
VirtualProtect( lpAddress, nLen, PAGE_READWRITE, &dwBack );

// Write Byte-After-Byte.
for( int i = 0; i < nLen; i++ )
*( BYTE * )( ( DWORD )lpAddress + i ) = szBytes[ i ];

// Restore old protection.
VirtualProtect( lpAddress, nLen, dwBack, &dwBack );
}

/*ex - 00482762 /PatchBytes((void*)0x00482762, "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\ x90\ x90", 13);
Skeletons fix */
Hope that helps a bit."

BasketCase209 02-18-2014 04:13 PM

Sorry had a busy weekend.
I downloaded OllyDbg and have been digging through eqgame.exe looking for anything resembling any of that and I have either looked right at it or I'm doing it wrong.
Been at it for little over an hour and still stumped.
Sorry, I'm truly a novice at this.


All times are GMT -4. The time now is 08:30 AM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.