Clean-room reverse engineered SDK headers, part 1#2194
Conversation
| int frameCount; | ||
| struct model_s *pFollowModel; | ||
| struct particle_s *particles; | ||
| FBEAM_STARTENTITY = 1 << 0, |
There was a problem hiding this comment.
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.
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:
|
7a7cf1a to
8e450d8
Compare
Partially resolves #63