Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
2.4 kB · 85 lines
C
at master
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
#pragma once
// Note - there are now 3 types of PlayerUID// (1) A full online ID - either the primary login, or a sub-signin through to PSN. This has m_onlineID set up as a normal SceNpOnlineId, with dummy[0] set to 0// (2) An offline ID, where there is also a primary login on the system. This has m_onlineID set up to copy the primary SceNpOnlineId, except with dummy[0] set to the controller ID of this other player// (3) An offline ID, where there isn't a primary PSN login on the system. This has SceNpOnlineId fully zeroed.
class PlayerUID{ char m_onlineID[SCE_NP_ONLINEID_MAX_LENGTH]; char term; bool m_bSignedIntoPSN : 1; unsigned char m_quadrant : 2; uint8_t m_macAddress[SCE_NET_ETHER_ADDR_LEN]; SceUserServiceUserId m_userID;
public:
class Hash { public: std::size_t operator()(const PlayerUID& k) const; };
PlayerUID(); PlayerUID(SceUserServiceUserId userID, SceNpOnlineId& onlineID, bool bSignedInPSN, int quadrant); PlayerUID(std::wstring fromString);
bool operator==(const PlayerUID& rhs) const; bool operator!=(const PlayerUID& rhs); void setCurrentMacAddress(); std::wstring macAddressStr() const; std::wstring userIDStr() const; std::wstring toString() const; void setOnlineID(SceNpOnlineId& id, bool bSignedIntoPSN); void setUserID(unsigned int id);
const char* getOnlineID() const { return m_onlineID; } SceUserServiceUserId getUserID() const { return m_userID; } int getQuadrant() const { return m_quadrant; } bool isPrimaryUser() const; // only true if we're on the local machine and signed into the first quadrant; bool isSignedIntoPSN() const { return m_bSignedIntoPSN; }private:};
namespace std { template <> struct hash<PlayerUID> { size_t operator()(const PlayerUID& v) const { return PlayerUID::Hash()(v);///* my hash algorithm */; } };}
class GameSessionUID{ char m_onlineID[SCE_NP_ONLINEID_MAX_LENGTH]; char term; bool m_bSignedIntoPSN : 1; unsigned char m_quadrant : 2;public: GameSessionUID(); GameSessionUID(int nullVal);
bool operator==(const GameSessionUID& rhs) const; bool operator!=(const GameSessionUID& rhs); GameSessionUID& operator=(const PlayerUID& rhs);
const char* getOnlineID() const { return m_onlineID; } int getQuadrant() const { return m_quadrant; } bool isSignedIntoPSN() const { return m_bSignedIntoPSN; }};