Raised This Month: $32 Target: $400
 8% 

When Hamsandwich is ready for Sven Co-op 5.0?


Post New Thread Reply   
 
Thread Tools Display Modes
Depresie
Veteran Member
Join Date: Nov 2013
Old 07-06-2016 , 07:09   Re: When Hamsandwich is ready for Sven Co-op 5.0?
Reply With Quote #21

Let them have it their way Arkshine
Let them do it by themselves when they will be asked for it
__________________

Last edited by Depresie; 07-06-2016 at 07:10.
Depresie is offline
Old 07-08-2016, 18:17
STekLyAToR
This message has been deleted by STekLyAToR. Reason: sended to wrong reply
STekLyAToR
Member
Join Date: May 2016
Old 07-08-2016 , 18:34   Re: When Hamsandwich is ready for Sven Co-op 5.0?
Reply With Quote #22

Quote:
Originally Posted by Th3822 View Post
I have collected some vtables from server.so and put the values on hamdata.ini files (both for linux and windows)
(i am not sure if all the functions are correct, but it's something)

I have tested a couple of them on a windows server. (i'm not sure on how to test all of them)

btw, the file for 1.8.3 lacks 8 functions that i didn't find.
Work! Big thanks for you! I use Ham 1.8.3, real time work fine.
Can you briefly explain how you find it?
P.S: I already know that this can be successfully done with the client .so, I also know that with the help of VTable Dumper, you can successfully find the indexes, and you do differently?

Last edited by STekLyAToR; 07-08-2016 at 19:16. Reason: P.S
STekLyAToR is offline
Th3822
Member
Join Date: Jan 2013
Location: Venezuela
Old 07-08-2016 , 19:32   Re: When Hamsandwich is ready for Sven Co-op 5.0?
Reply With Quote #23

Quote:
Originally Posted by STekLyAToR View Post
Work! Big thanks for you! I use Ham 1.8.3, real time work fine.
Can you briefly explain how you find it?
P.S: I already know that this can be successfully done with the client .so, I also know that with the help of VTable Dumper, you can successfully find the indexes, and you do differently?
At first i did it manually with IDA, using this guide, dumped the vtables of CBaseEntity, CBaseMonster, CBasePlayer, CBasePlayerItem and CBasePlayerWeapon then updated manually each one for linux.

Then i did use the VTable Dumper for see the difference between linux and windows indexes, and write a simple script to automatize that for write the windows section.
Th3822 is offline
STekLyAToR
Member
Join Date: May 2016
Old 07-08-2016 , 21:36   Re: When Hamsandwich is ready for Sven Co-op 5.0?
Reply With Quote #24

Quote:
Originally Posted by Th3822 View Post
At first i did it manually with IDA, using this guide, dumped the vtables of CBaseEntity, CBaseMonster, CBasePlayer, CBasePlayerItem and CBasePlayerWeapon then updated manually each one for linux.
PHP Code:
// Auto reconstructed from vtable block @ 0x00328980
// from "client.so", by ida_vtables.idc
0    CBaseEntity::PreSpawn(void)
1    CBaseEntity::Spawn(void)
2    CBaseEntity::PostSpawn(void)
3    CBaseEntity::Precache(void)
4    CBaseEntity::KeyValue(KeyValueData_s *)
5    CBaseEntity::GetKeyValue(char  const*,entvartype_s &)
6    CBaseEntity::Save(CSave &)
7    CBaseEntity::Restore(CRestore &)
8    CBaseEntity::ObjectCaps(void)
9    CBaseEntity::Activate(void)
10    CBaseEntity::SetObjectCollisionBox(void
Here's what I manage to get a table but actually it consists of more than 14 I received functions. Somehow it can't read the vtable fully. P.S: I get error: You must toggle GCC v3.x demagled names, but names toggled!
STekLyAToR is offline
Th3822
Member
Join Date: Jan 2013
Location: Venezuela
Old 07-08-2016 , 21:49   Re: When Hamsandwich is ready for Sven Co-op 5.0?
Reply With Quote #25

Quote:
Originally Posted by STekLyAToR View Post
PHP Code:
// Auto reconstructed from vtable block @ 0x00328980
// from "client.so", by ida_vtables.idc
0    CBaseEntity::PreSpawn(void)
1    CBaseEntity::Spawn(void)
2    CBaseEntity::PostSpawn(void)
3    CBaseEntity::Precache(void)
4    CBaseEntity::KeyValue(KeyValueData_s *)
5    CBaseEntity::GetKeyValue(char  const*,entvartype_s &)
6    CBaseEntity::Save(CSave &)
7    CBaseEntity::Restore(CRestore &)
8    CBaseEntity::ObjectCaps(void)
9    CBaseEntity::Activate(void)
10    CBaseEntity::SetObjectCollisionBox(void
Here's what I manage to get a table but actually it consists of more than 14 I received functions. Somehow it can't read the vtable fully. P.S: I get error: You must toggle GCC v3.x demagled names, but names toggled!
I did remove that part from linux_vtable_dump.idc to avoid that.
Th3822 is offline
STekLyAToR
Member
Join Date: May 2016
Old 07-08-2016 , 21:53   Re: When Hamsandwich is ready for Sven Co-op 5.0?
Reply With Quote #26

Quote:
Originally Posted by Th3822 View Post
I did remove that part from linux_vtable_dump.idc to avoid that.
Thanks for the advice! Now it works, indices coincide
P.S: My result
PHP Code:
// Auto reconstructed from vtable block @ 0x00328980
// from "client.so", by ida_vtables.idc
0    CBaseEntity::PreSpawn(void)
1    CBaseEntity::Spawn(void)
2    CBaseEntity::PostSpawn(void)
3    CBaseEntity::Precache(void)
4    CBaseEntity::KeyValue(KeyValueData_s *)
5    CBaseEntity::GetKeyValue(char  const*,entvartype_s &)
6    CBaseEntity::Save(CSave &)
7    CBaseEntity::Restore(CRestore &)
8    CBaseEntity::ObjectCaps(void)
9    CBaseEntity::Activate(void)
10    CBaseEntity::SetObjectCollisionBox(void)
11    _ZN11CBaseEntity17GetClassificationEi_localalias_11
12    CBaseEntity
::SetClassification(int)
13    CBaseEntity::IRelationship(CBaseEntity*)
14    CBaseEntity::Classify(void)
15    CBaseEntity::DeathNotice(entvars_s *)
16    CBaseEntity::TraceAttack(entvars_s *,float,Vector,TraceResult *,int)
17    CBaseEntity::TakeDamage(entvars_s *,entvars_s *,float,int)
18    CBaseEntity::TakeHealth(float,int,int)
19    CBaseEntity::TakeArmor(float,int,int)
20    CBaseEntity::Killed(entvars_s *,int)
21    CBaseEntity::BloodColor(void)
22    CBaseEntity::TraceBleed(float,Vector,TraceResult *,int)
23    CBaseEntity::IsTriggered(CBaseEntity*)
24    CBaseEntity::MyMonsterPointer(void)
25    CBaseEntity::MySquadMonsterPointer(void)
26    CBaseEntity::MyCustomPointer(void)
27    CBaseEntity::MyItemPointer(void)
28    CBaseEntity::GetToggleState(void)
29    CBaseEntity::AddPoints(int,bool)
30    CBaseEntity::AddPointsToTeam(int,bool)
31    CBaseEntity::AddPlayerItem(CBasePlayerItem *)
32    CBaseEntity::RemovePlayerItem(CBasePlayerItem *)
33    CBaseEntity::GiveAmmo(int,char *,int,bool)
34    CBaseEntity::GetDelay(void)
35    CBaseEntity::IsMoving(void)const
36    CBaseEntity::OverrideReset(void)
37    CBaseEntity::DamageDecal(int)
38    CBaseEntity::SetToggleState(int)
39    CBaseEntity::StartSneaking(void)
40    CBaseEntity::StopSneaking(void)
41    CBaseEntity::OnControls(entvars_s *)
42    CBaseEntity::IsSneaking(void)
43    CBaseEntity::IsAlive(void)
44    CBaseEntity::IsBSPModel(void)
45    CBaseEntity::ReflectGauss(void)
46    CBaseEntity::HasTarget(int)
47    CBaseEntity::IsInWorld(void)
48    CBaseEntity::IsMonster(void)
49    CBaseEntity::IsPlayer(void)
50    CBaseEntity::IsNetClient(void)
51    CBaseEntity::IsPointEnt(void)
52    CBaseEntity::IsMachine(void)
53    CBaseEntity::TeamID(void)
54    CBaseEntity::CriticalRemove(void)
55    CBaseEntity::GetNextTarget(void)
56    CBaseEntity::Think(void)
57    CBaseEntity::Touch(CBaseEntity*)
58    CBaseEntity::Use(CBaseEntity*,CBaseEntity*,USE_TYPE,float)
59    CBaseEntity::Blocked(CBaseEntity*)
60    CBaseEntity::UpdateOnRemove(void)
61    CBaseEntity::Respawn(void)
62    CBaseEntity::UpdateOwner(void)
63    CBaseEntity::FBecomeProne(void)
64    CBaseEntity::Center(void)
65    CBaseEntity::EyePosition(void)
66    CBaseEntity::EarPosition(void)
67    CBaseEntity::BodyTarget(Vector  const&)
68    CBaseEntity::Illumination(void)
69    CBaseEntity::FVisible(CBaseEntity*,bool)
70    CBaseEntity::FVisible(Vector  const&)
71    CBaseEntity::FVisibleFromPos(Vector  const&,Vector  const&)
72    CBaseEntity::IsFacing(entvars_s *,float)
73    CBaseEntity::GetPointsForDamage(float)
74    CBaseEntity::GetDamagePoints(entvars_s *,entvars_s *,float)
75    CBaseEntity::SetPlayerAlly(bool)
76    CBaseEntity::~CBaseEntity()
77    CBaseEntity::~CBaseEntity()
78    CBaseEntity::OnCreate(void)
79    CBaseEntity::OnDestroy(void)
80    CBaseEntity::IsRevivable(void)
81    CBaseEntity::BeginRevive(float)
82    CBaseEntity::EndRevive(float)
83    CBaseEntity::ShowHUDInfo(void)
84    CBaseEntity::ShouldDisablePlayerCollisions(void)const
85    CBaseEntity::GetAttackVectors(void)const 

Last edited by STekLyAToR; 07-09-2016 at 05:40. Reason: addition
STekLyAToR is offline
Solokiller
Senior Member
Join Date: Sep 2015
Old 07-23-2016 , 07:03   Re: When Hamsandwich is ready for Sven Co-op 5.0?
Reply With Quote #27

Just a heads up, a new update was released; apparently it blocks client commands that contain say and say_team: http://forums.svencoop.com/showthrea...-Error-command

Probably this change:
Quote:
Commands say and say_team are now filtered from server to client execution.
So if you have any plugins that rely on it, say to pop up the XP mod skill select menu, it'll fail.

I'd have spent my time fixing some bugs, but i suppose blocking plugins works too.
Solokiller 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 20:22.


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