Skip to content

Burninate IDataPack#864

Merged
asherkin merged 2 commits intomasterfrom
no-more-dp
Aug 13, 2018
Merged

Burninate IDataPack#864
asherkin merged 2 commits intomasterfrom
no-more-dp

Conversation

@asherkin
Copy link
Copy Markdown
Member

This doesn't break any extensions NOT using IDataPack, and we do not know of any that are.

  • The extension storage utility of this interface has been broken for the last 9 months, with ISourceMod::CreateDataPack being disabled.
  • The plugin interop utility of this interface (its stated purpose) has been broken for the last 11+ years, with ISourceMod::GetDataPackHandleType being disabled.

I imagine it only survived the first cleanup 11 years ago because CSS:DM was using it internally, which it has now been migrated away from.

Compiled all the included extensions without changes (API compat), and loaded extensions built pre-change without issue (ABI compat).

This doesn't break any extensions NOT using IDataPack, and we do not know of any that are.

* The extension storage utility of this interface has been broken for the last 9 months, with ISourceMod::CreateDataPack being disabled.
* The plugin interop utility of this interface (its stated purpose) has been broken for the last 11+ years, with ISourceMod::GetDataPackHandleType being disabled.

I imagine it only survived the first cleanup 11 years ago because CSS:DM was using it internally, which it has now been migrated away from.

Compiled all the included extensions without changes (API compat), and loaded extensions build pre-change without issue (ABI compat).
@peace-maker
Copy link
Copy Markdown
Member

You could copy the documentation from IDataPack.h to the CDataPack header.

Copy link
Copy Markdown
Member

@Headline Headline left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we do toss IDataPack into the incinerator, this looks good. One question inline

// Add 1 to the RHS of this expression to bump the intercom file
// This is to prevent mismatching core/logic binaries
static const uint32_t SM_LOGIC_MAGIC = 0x0F47C0DE - 56;
static const uint32_t SM_LOGIC_MAGIC = 0x0F47C0DE - 57;
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we fwd-decl'd IDataPack in the SourceMod namespace and didn't change the iface declarations of CreateDataPack and FreeDataPack in sourcemod.h, could we prevent bumping this?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The bump here is because I've removed the functions from the bridge (which were only being used by ISourceMod), we could just leave them in the bridge (even just as null ptrs) to avoid bumping this, but logic bridge iface bumps are not a problem, it is just to prevent against accidents.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah; makes sense. 👍

@dvander
Copy link
Copy Markdown
Member

dvander commented Jul 31, 2018

👍

@asherkin asherkin merged commit ba8b42e into master Aug 13, 2018
@asherkin asherkin deleted the no-more-dp branch August 13, 2018 22:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants