libsteam_api.so forward compat: finish VERSION_SAFE_STEAM_API_INTERFACES implementation #1121
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Purpose
This brings InitSafe compatibility with the libsteam_api.so. This should help future-proof as newer libs do not contain symbols for Init().
Approach
Before this patch, VERSION_SAFE_STEAM_API_INTERFACES results in compile time errors and doesn't run.
This adds ifdef checks where Init() is used, replacing them with InitSafe() as was already done in other files. It properly uses, according to the comments, the CSteamAPIContext as stated in rehlds/public/steam/steam_api.h
Open Questions and Pre-Merge TODOs
Learning
I explored the headers to gain all this information and kept compiling until it worked. I used gdb to runtime errors. At first, I had compile-time type safety errors, which is how I ended up with the (void *) approach in sv_steam3.cpp, which works flawlessly.