
EDIT: I been working on this. When I think I got it working I run into another issue. But I finally got it working. I have uploaded an AppGameKit MacOS game to steam and successfully launched and played it
I'm still learning MacOS, but I have been able to link the steam lib to the AppGameKit Mac Template. If your wanting to publish to steam this should help.
1 Install Xcode from App Store and download and Install “Command_Line_Tools” from developer.apple.com
2 Install Steam and then install AGK
3 Launch AppGameKit and install Tier 2 files.
4 Copy “template_mac” to “template_steam”
5 Extract Steam SDK in the “template_steam” directory.
6 Open Xcode and load “template_steam”
7 open settings from agkinterpreter / Build Settings
8 Add to “Header Search Paths” : “sdk/public/steam”
9 Set "Runpath Search Paths" to “@executable_path/../Resources/media”
10 Turn off App Sandbox. This will allow the game to detect if steam is running.
11 Copy the file "sdk/redistributable_bin/osx32/libsteam_api.dylib" to "template_steam"
12 open a console and go to folder: “template_steam” and run these commands:
>install_name_tool -id "@rpath/libsteam_api.dylib" libsteam_api.dylib
>codesign libsteam_api.dylib -f -s "Your Certificate Name"
Your Certificate Name is the data in settings under Signing Certificate. Example "Mac Developer: youremail.com (12345)"
13 Make a copy of libsteam_api.dylib from "template_steam" and place it in "template_steam/media" folder.
14 drag libsteam_api.dylib into the projects Frameworks in the project navigator
15 Change Template.cpp to:
// Includes
#include "template.h"
#include "steam_api.h"
#include <string>
// Namespace
using namespace AGK;
using namespace std;
app App;
bool bResult = false;
void app::Begin(void)
{
agk::SetVirtualResolution (1024, 768);
agk::SetClearColor( 151,170,204 ); // light blue
agk::SetSyncRate(60,0);
agk::SetScissor(0,0,0,0);
bResult = SteamAPI_Init();
}
int app::Loop (void)
{
if (bResult)
{
agk::Print("Success...");
string sSteamName = SteamFriends()->GetPersonaName();
CSteamID steamId = SteamUser()->GetSteamID();
int iSteamID = steamId.GetAccountID();
agk::Print(sSteamName.c_str());
agk::Print(iSteamID);
}
else agk::Print("Failed...");
agk::Sync();
return 0; // return 1 to close app
}
void app::End (void)
{
SteamAPI_Shutdown();
}
CounterParry
DarkDIRE RPG