-
-
Notifications
You must be signed in to change notification settings - Fork 302
Clean-room reverse engineered SDK headers, part 1 #2194
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
base: master
Are you sure you want to change the base?
Conversation
int frameCount; | ||
struct model_s *pFollowModel; | ||
struct particle_s *particles; | ||
FBEAM_STARTENTITY = 1 << 0, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have such macro:
https://github.com/FWGS/xash3d-fwgs/blob/master/common/xash3d_types.h#L51
Nice work! Though, it's very helpful in terms of licensing issues |
I'm not sure that clean room means generate data types from DWARF. But it's better than nothing. I would add static assertions on struct sizes though, at least for ILP32 model (aka 32-bit). It does not guarantee compatibility, but again better than nothing. |
|
||
typedef struct dlight_s dlight_t; | ||
|
||
struct dlight_s { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I remember, compatible dlight struct can be taken from Quake.
I made changes, is anything else required? |
As it builds now, I should check it that nothing potentially got broken, and then merge it. Thanks. |
After all, I'm quite suspicious if clean-room definition applies to the generated code from DWARF debugging information. Not only that, it's also weird that preprocessor variables only got refactored into the enumeration, retaining same names. Preprocessing is only the first stage of compiling C code and while some of it information gets preserved in debugging info, like included files, the defines unfortunately do not and I don't know any other sources of information where they could be taken from. |
@freed00m21 i need to clarify some things, so I have some questions for you:
|
Partially resolves #63