-
-
Notifications
You must be signed in to change notification settings - Fork 203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
API update SK #1. #699
API update SK #1. #699
Conversation
Changes reasons: No need to have those "*_api" functions for standard functions which do not have a different code/format, this is useless. Besides, passing the "real function used internally by the game" into the list of the structure "ReGameFuncs_t" will allow to retrieve the "real function address". So, we could "memhack it" and make a hook of the "real function", which is the internal one we want on a hook, not the API one which will only be called when we trigger those API functions. To finish, this ensures reliability of the function address, and, no need to search it via symbol or signature of bytes where the last can easily be broken. -> void *pfnAddMultiDamage = (void *)g_pReGameDLLCSFunctions->AddMultiDamage;
Changes reasons: No need to have those "*_api" functions for standard functions which do not have a different code/format, this is useless. Besides, passing the "real function used internally by the game" into the list of the structure "ReGameFuncs_t" will allow to retrieve the "real function address". So, we could "memhack it" and make a hook of the "real function", which is the internal one we want on a hook, not the API one which will only be called when we trigger those API functions. To finish, this ensures reliability of the function address, and, no need to search it via symbol or signature of bytes where the last can easily be broken. -> void *pfnAddMultiDamage = (void *)g_pReGameDLLCSFunctions->AddMultiDamage;
Changes: Add new member "m_bPlantC4Anywhere" to the function "CCSPlayer::Reset". Update function "CCSPlayer::JoinTeam" in order to drop the C4 when we move a player to spectator (fix issue s1lentq#498). Update functions "CCSPlayer::DropShield" & "CCSPlayer::DropPlayerItem" by adding return value of the entity created, and provided by ReGameDLL_CS (not the case for the legit CS binary).
Changes: Update functions "CCSPlayer::DropShield" & "CCSPlayer::DropPlayerItem" by adding return value of the entity created, and provided by ReGameDLL_CS (not the case for the legit CS binary).
Fix condition validity for #define "PLAYER_FREEZE_TIME_OVER" (freeze time over means it is over so we can play, so "!" forgotten).
Changes reasons: No need to have those "*_api" functions for standard functions which do not have a different code/format, this is useless. Besides, passing the "real function used internally by the game" into the list of the structure "ReGameFuncs_t" will allow to retrieve the "real function address". So, we could "memhack it" and make a hook of the "real function", which is the internal one we want on a hook, not the API one which will only be called when we trigger those API functions. To finish, this ensures reliability of the function address, and, no need to search it via symbol or signature of bytes where the last can easily be broken. -> void *pfnAddMultiDamage = (void *)g_pReGameDLLCSFunctions->AddMultiDamage;
Changes: Add new member "m_bPlantC4Anywhere" to the function "CCSPlayer::Reset" (but I hope it will be changed later into an integer for better control). Update function "CCSPlayer::JoinTeam" in order to drop the C4 when we move a player to spectator (fix issue s1lentq#498). Update functions "CCSPlayer::DropShield" & "CCSPlayer::DropPlayerItem" by adding return value of the entity created, and provided by ReGameDLL_CS (not the case for the legit CS binary).
Specify this requires a higher version as info (new CCSPlayer's functions format + new member addition).
Export those famous global variables in order to allow an external memhack module to retrieve address and easily get the address of the functions list (but mainly useful for "g_ReGameApiFuncs" here).
Changes: Update function "CCSPlayer::RemovePlayerItemEx" in order to be "more logic", and support possible blocking of "CBasePlayer::RemovePlayerItem" via modules/plugins (just like they are sometimes used to block "AddPlayerItem", the reverse case should be supported properly...), then force BP ammo removal for exhaustible weapons (granadas), to avoid problems when buying (like the message "You can not carry anymore!" while you no longer have the item, etc.)..
3 months have past. Come on! Merge please! |
Pr turned out to be very big. You can't do everything in one. + you don't answer my questions about changes. |
Haha! Stop grabbing other's people answerS! |
Clown |
Your sentences are likes the ones the RGCS's approver(s) could say (& already said before), my reply was about that, as you seem to "mock" of them (or talk for) by writting this here. But your thumbs down & "clown" is very confusing... So, if you did not said that for such, what the fuck did you mean except "bullshits"? What did you said last time, before you remove your post? "Trash", like if all PRs are not merged, so better trash "PR concept over here" huh! That's it?! Could be. |
Ты просто идиот. Некоторые изменения просто тупые. Выше например при IsFreezePeriod() добавляешь флаг PLAYER_FREEZE_TIME_OVER. Какого хрена? И нафиг все в кучу запихнуть? Сделай отдельно все это. |
I think the same about you, with your trash & Russian talk when you lazy (or, more to voluntarily annoy others) to speak english... & your PRs you close too quickly & cie! Besides you boring at looking conflicts with people by specifying tiny/dumb reasons without importance, you are a specimen! Seriously, in overall, you just right about one thing, "better make our own fork of the project to have desired changes implemented quickly", & devs basically gave us that possibility, which I have thinked about from a while, and, probably gonna do my own "extended version" at a moment or another, for my own needs (addon I am working on) or/and maybe for people who will like "a more active continuity", but I do not care about "AMXX users", so... However... PS: Might be better in the future to just ignore each other, if this is to have those kind of "you idiot" conversations, not interesting at all, & not productive neither. |
Знатно пригорел :) |
Adjust a few things in the API, then fix issue #498, then this issue.
Check comments in the commits ("..." at the right of each) for detailled explanations.