Raised This Month: $12 Target: $400
 3% 

StudioSetupBones Fix for CS


Post New Thread Reply   
 
Thread Tools Display Modes
bibu
Veteran Member
Join Date: Sep 2010
Old 11-10-2013 , 07:25   Re: StudioSetupBones Fix for CS
Reply With Quote #11

That's cool. Will come handy for sure sometime.
__________________
Selling tons of my own private works.
Accepting paid work for clans and communities.
Don't hesitate to contact me.
bibu is offline
hattfield
Junior Member
Join Date: Oct 2013
Old 11-10-2013 , 12:34   Re: StudioSetupBones Fix for CS
Reply With Quote #12

Problem with this:

It works, if NPC is idle.
It doesn't works, if NPC is walking or running.

Last edited by hattfield; 11-10-2013 at 12:37.
hattfield is offline
frk_14
Senior Member
Join Date: Jan 2009
Location: Argentina
Old 11-11-2013 , 13:40   Re: StudioSetupBones Fix for CS
Reply With Quote #13

Quote:
Originally Posted by hattfield View Post
Problem with this:

It works, if NPC is idle.
It doesn't works, if NPC is walking or running.
cuz u need change the frame of the anim too
__________________
frk_14 is offline
Send a message via MSN to frk_14 Send a message via Skype™ to frk_14
hattfield
Junior Member
Join Date: Oct 2013
Old 11-11-2013 , 13:55   Re: StudioSetupBones Fix for CS
Reply With Quote #14

Quote:
Originally Posted by frk_14 View Post
cuz u need change the frame of the anim too
So, this is useless, cause the idle frames and walking/running frames are different and cannot be same.
Example: if idle frame is 10, walking frame must be the same. It's affect's on gameplay by moving npc slowly.

Last edited by hattfield; 11-11-2013 at 13:58.
hattfield is offline
frk_14
Senior Member
Join Date: Jan 2009
Location: Argentina
Old 11-11-2013 , 14:40   Re: StudioSetupBones Fix for CS
Reply With Quote #15

Quote:
Originally Posted by hattfield View Post
So, this is useless, cause the idle frames and walking/running frames are different and cannot be same.
Example: if idle frame is 10, walking frame must be the same. It's affect's on gameplay by moving npc slowly.
i really dont understand what u try to say;btw, when the player is running he has the ref_aim-_shoot(legs idle) hitboxes.
__________________

Last edited by frk_14; 02-02-2015 at 14:04.
frk_14 is offline
Send a message via MSN to frk_14 Send a message via Skype™ to frk_14
hattfield
Junior Member
Join Date: Oct 2013
Old 11-11-2013 , 16:21   Re: StudioSetupBones Fix for CS
Reply With Quote #16

Quote:
Originally Posted by frk_14 View Post
i really dont understand who u try to say;btw, when the player is running he has the ref_aim-_shoot(legs idle) hitboxes.
This metamod plugin must fix entity hitboxes, not player hitboxes, as he said.
So, player model and boss model not the same, yes? Yes.
This plugin doesn't works while big boss model is running or walking.
It works only if boss is idle.

Arguments:

shooting, while boss is walking

Click image for larger version

Name:	1.jpg
Views:	304
Size:	91.5 KB
ID:	127730

shooting, while boss is idle

Click image for larger version

Name:	2.jpg
Views:	316
Size:	89.7 KB
ID:	127731

Last edited by hattfield; 11-11-2013 at 16:32.
hattfield is offline
frk_14
Senior Member
Join Date: Jan 2009
Location: Argentina
Old 11-11-2013 , 17:12   Re: StudioSetupBones Fix for CS
Reply With Quote #17

sorry, i speak about gait_sequence; but im sure that you problem is whau i say before, the hitboxes are stuck in the first frame from current animation... using animtime and framerate is just visual, to get the real info from model (bone position or hitboxes for example) you need update the frame(EV_FL_frame, pev_frame) .
i want to test it but module crash in listen server D:
__________________

Last edited by frk_14; 02-02-2015 at 14:05.
frk_14 is offline
Send a message via MSN to frk_14 Send a message via Skype™ to frk_14
meTaLiCroSS
Gaze Upon My Hat
Join Date: Feb 2009
Location: Viņa del Mar, Chile
Old 07-08-2015 , 13:06   Re: StudioSetupBones Fix for CS
Reply With Quote #18

I really doubt why do you hook StudioSetupBones from engine (maybe you want to get function address but you don't know without hooking it? lol), but you actually are doing nothing. An also, wrong parameters are passed

Quote:
#ifdef _WIN32
void __cdecl FuncStudioSetupBones_EngineHook( struct model_s *pModel, float frame,int sequence,const vec3_t angles,const vec3_t origin,const byte *pcontroller,const byte *pblending, edict_t * pEdict, signed int iBone )
#else
void FuncStudioSetupBones_EngineHook( struct model_s *pModel, float frame,int sequence,const vec3_t angles,const vec3_t origin,const byte *pcontroller,const byte *pblending, edict_t * pEdict, signed int iBone )
#endif
{
if( FuncStudioSetupBonesEngineHook->Restore() )
{
FuncStudioSetupBonesEngineOrig(pModel,frame,s equence,angles,origin,pcontroller,pblending,iBone,pEdict);
FuncStudioSetupBonesEngineHook->Patch();
}
}
This has not been fixed on CS binaries, right?
__________________
Quote:
Originally Posted by joropito View Post
You're right Metalicross
meTaLiCroSS is offline
joropito
AlliedModders Donor
Join Date: Mar 2009
Location: pfnAddToFullPack
Old 01-31-2017 , 09:20   Re: StudioSetupBones Fix for CS
Reply With Quote #19

Ok, I know this is very old

I don't know if there's other thread related to this but after some question that Rirre sent to me, I've checked few things and this is very interesting.


Engine at startup (Host_InitializeGameDLL) set up the blending interface API for game dll (dlsym on gamedll for Server_GetBlendingInterface).

This is what is called on CS library:

PHP Code:
Server_GetBlendingInterface(1, &g_pSvBlendingAPIserver_studio_apirotationmatrixbonetransform
Where

Quote:
Server_GetBlendingInterface: function defined and exported on CS gamedll (server)
g_pSvBlendingAPI: pointer from gamedll for SV_StudioSetupBones
server_studio_api: IEngineStudio on gamedll side
rotationmatrix: g_pRotationMatrix on gamedll side
bonetransform: g_pBoneTransfor on gamedll side
IEngineStudio struct (engine exported)

PHP Code:
struct server_studio_api_s {
        
void *                     (*Mem_Calloc)(intsize_t); /*     0     4 */
        
void *                     (*Cache_Check)(class cache_user_s *); /*     4     4 */
        
void                       (*LoadCacheFile)(char *, class cache_user_s *); /*     8     4 */
        
void *                     (*Mod_Extradata)(class model_s *); /*    12     4 */

        /* size: 16, cachelines: 1, members: 4 */
        /* last cacheline: 16 bytes */
}; 
Anyone that knows how goldsrc API works could handle this. I thing hooking this setup with a small metamod module could be the best way to get SV_StudioSetupBones both on windows and linux.

Also, this is the correct prototype:

PHP Code:
SV_StudioSetupBones(model_s *, floatint, const vec_t  *, const vec_t  *, const byte  *, const byte  *, int, const edict_t  *); 
__________________

Divide et vinces
approved plugins | steam account

I don't accept PM for support. Just ask on forums.
If you're looking for private work, PM me.
joropito is offline
Send a message via MSN to joropito
meTaLiCroSS
Gaze Upon My Hat
Join Date: Feb 2009
Location: Viņa del Mar, Chile
Old 02-02-2017 , 00:33   Re: StudioSetupBones Fix for CS
Reply With Quote #20

Quote:
Originally Posted by joropito View Post
Ok, I know this is very old

I don't know if there's other thread related to this but after some question that Rirre sent to me, I've checked few things and this is very interesting.


Engine at startup (Host_InitializeGameDLL) set up the blending interface API for game dll (dlsym on gamedll for Server_GetBlendingInterface).

This is what is called on CS library:

PHP Code:
Server_GetBlendingInterface(1, &g_pSvBlendingAPIserver_studio_apirotationmatrixbonetransform
Where



IEngineStudio struct (engine exported)

PHP Code:
struct server_studio_api_s {
        
void *                     (*Mem_Calloc)(intsize_t); /*     0     4 */
        
void *                     (*Cache_Check)(class cache_user_s *); /*     4     4 */
        
void                       (*LoadCacheFile)(char *, class cache_user_s *); /*     8     4 */
        
void *                     (*Mod_Extradata)(class model_s *); /*    12     4 */

        /* size: 16, cachelines: 1, members: 4 */
        /* last cacheline: 16 bytes */
}; 
Anyone that knows how goldsrc API works could handle this. I thing hooking this setup with a small metamod module could be the best way to get SV_StudioSetupBones both on windows and linux.

Also, this is the correct prototype:

PHP Code:
SV_StudioSetupBones(model_s *, floatint, const vec_t  *, const vec_t  *, const byte  *, const byte  *, int, const edict_t  *); 
By just giving a look to the engine, it seems you can retrieve both functions addresses without using memory patches. Nice
__________________
Quote:
Originally Posted by joropito View Post
You're right Metalicross
meTaLiCroSS is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 12:53.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode