rpgxef/code/game/g_sql.h

105 lines
3.7 KiB
C

#ifndef _G_SQL_H_
#define _G_SQL_H_
#define MAX_SQL_RESULT 4096
#define SQL_ENABLE_FOREIGN_KEY_CONSTRAINTS "PRAGMA foreign_keys = ON;"
#define SQL_BEGIN_TRANSACTION "BEGIN TRANSACTION"
#define SQL_ROLLBACK_TRANSACTION "ROLLBACK TRANSACTION"
#define SQL_COMMIT_TRANSACTION "COMMIT TRANSACTION"
#define SQL_USER_CREATEUSERTABLE "CREATE TABLE IF NOT EXISTS rpgx_users ( \
id INTEGER PRIMARY KEY AUTOINCREMENT, \
username TEXT NOT NULL , \
password TEXT NOT NULL \
)"
#define SQL_USER_CREATERIGHTSTABLE "CREATE TABLE IF NOT EXISTS rpgx_userRights ( \
id INT NOT NULL PRIMARY KEY, \
admin BIT NOT NULL, \
rights LONG NOT NULL, \
FOREIGN KEY(id) REFERENCES rpgx_users(id) \
)"
#define SQL_USER_DELETE "DELETE FROM rpgx_users WHERE username = :UNAME"
#define SQL_USER_DELTE_RIGHTS "DELETE FROM rpgx_userRights WHERE id = :ID"
#define SQL_USER_ADD "INSERT INTO rpgx_users VALUES(NULL,:USERNAME,:PASSWORD)"
#define SQL_USER_ADD_RIGHTS "INSERT INTO rpgx_userRights VALUES(:ID, 0, 0)"
#define SQL_USER_MOD_RIGHTS "UPDATE rpgx_userRights SET rights = :RIGHTS WHERE id = :ID"
#define SQL_USER_GET_RIGHTS "SELECT rights FROM rpgx_userRights WHERE id = :ID"
#define SQL_USER_CHECK_ADMIN "SELECT admin FROM rpgx_userRights WHERE id = :ID"
#define SQL_USER_GET_PASSWORD "SELECT password FROM rpgx_users WHERE id = :ID"
#define SQL_USER_SET_PASSWORD "UPDATE rpgx_users SET password = :PASSWORD WHERE id = :ID"
#define SQL_USER_GET_UID "SELECT id FROM rpgx_users WHERE username = :UNAME"
#define SQL_USER_LOGIN "SELECT id FROM rpgx_users WHERE username = :UNAME AND password = :PASSWORD"
/* Okay. I think this list is way too long and some things should be put together. Here is the original list for reference.
typedef enum {
SQLF_GIVE = 1,
SQLF_GOD = 2,
SQLF_NOCLIP = 4,
SQLF_CLOAK = 8,
SQLF_EVOSUIT = 16,
SQLF_FLIGHT = 32,
SQLF_FORCENAME = 64, //now SQLF_FORCEPARM = 64
SQLF_FORCEKILL = 128,
SQLF_KICK = 256,
SQLF_DRAG = 512,
SQLF_DISARM = 1024,
SQLF_FORCERANK = 2048, //now SQLF_FORCEPARM = 64
SQLF_REVIVE = 4096,
SQLF_NOOB = 8192,
SQLF_MESSAGE = 16384,
SQLF_FORCEMODEL = 32768, //now SQLF_FORCEPARM = 64
SQLF_MUSIC = 65536,
SQLF_SOUND = 131072, //now SQLF_MUSIC = 65536
SQLF_USEENT = 262144,
SQLF_BEAM = 524288,
SQLF_FORCEPLAYER = 1048576, //now SQLF_FORCEPARM = 64
SQLF_FX = 2097152,
SQLF_CHARS = 4194304,
SQLF_CLAMP = 8388608,
SQLF_LOCK = 16777216,
SQLF_FFSTUFF = 33554432,
SQLF_ALERT = 67108864,
SQLF_TESS = 134217728,
SQLF_FORCECLASS = 268435456, //now SQLF_FORCEPARM = 64
SQLF_FORCEVOTE = 536870912,
SQLF_SHAKE = 1073741824, //now SQLF_FX = 2097152
//SQLF_ENTLIST = 2147483648 // that is to big ... using SQLF_USEENT for entitylist as it makes sense
} sql_userflags;*/
typedef enum {
SQLF_GIVE = 1,
SQLF_GOD = 2,
SQLF_NOCLIP = 4,
SQLF_CLOAK = 8,
SQLF_EVOSUIT = 16,
SQLF_FLIGHT = 32,
SQLF_FORCEPARM = 64,
SQLF_FORCEKILL = 128,
SQLF_KICK = 256,
SQLF_DRAG = 512,
SQLF_DISARM = 1024,
SQLF_SMS = 2048, //Shiphealth, Selfdestruct and associated
SQLF_REVIVE = 4096,
SQLF_NOOB = 8192,
SQLF_MESSAGE = 16384,
SQLF_DEBUG = 32768, //Debugging Tools
SQLF_MUSIC = 65536,
//unused = 131072,
SQLF_USEENT = 262144,
SQLF_BEAM = 524288,
//unused = 1048576,
SQLF_FX = 2097152,
SQLF_CHARS = 4194304,
SQLF_CLAMP = 8388608,
SQLF_LOCK = 16777216,
SQLF_FFSTUFF = 33554432,
SQLF_ALERT = 67108864,
SQLF_TESS = 134217728,
//unused = 268435456,
SQLF_FORCEVOTE = 536870912
//unused = 1073741824
//Maximum Value
} sql_userflags;
#endif // _G_SQL_H_