#define SNAPSHOT_RATE 16
#define DEMO_FILE_TABLE_CREATION "CREATE TABLE IF NOT EXISTS DemoTable (FileName Text, MapName Text, MissionName Text, StartTime Int, EndTime Int, AttemptedWaves Int, TotalWaves Int, Victory Int, ServerName Text)"
#define DEMO_FILE_DATA_INSERTION "INSERT INTO DemoTable (FileName, MapName, MissionName, StartTime, EndTime, AttemptedWaves, TotalWaves, Victory, ServerName) VALUES ('%s', '%s', '%s', %d, %d, %d, %d, %d, '%s')"
#define FEEDBACK_TABLE_CREATE "CREATE TABLE IF NOT EXISTS FeedbackTable (TimeStamp Int, FeedbackID INTEGER PRIMARY KEY ASC, GameTime Int, Tick Int, IsChat Int, MapName Text, MissionName Text, DemoName Text, WaveNumber Int, TotalPlayers Int, RoundStatus Int, PlayerName Text, PlayerClass Int, SteamID Text, Position Text, EyeAngles Text, Feedback Text)"
#define FEEDBACK_INSERT_MESSAGE "INSERT INTO FeedbackTable (TimeStamp, GameTime, Tick, IsChat, MapName, MissionName, DemoName, WaveNumber, TotalPlayers, RoundStatus, PlayerName, PlayerClass, SteamID, Position, EyeAngles, Feedback) VALUES (%d, %d, %d, %d, '%s', '%s', '%s', %d, %d, %d, '%s', %d, '%s', '%f %f %f', '%f %f %f', '%s')"
#define FIND_FEEDBACK "SELECT PlayerName, Position, EyeAngles, Feedback FROM FeedbackTable WHERE FeedbackID = %d"
#define EVENT_TABLE_CREATION "CREATE TABLE IF NOT EXISTS EventTable (FileName Text, TimeStamp Int, Time Int, Tick Int, Wave Int, Attempt Int, EventName Text, iArg1 Int, iArg2 Int, iArg3 Int, iArg4 Int, iArg5 Int, sArg1 Text, sArg2 Text, sArg3 Text, sArg4 Text, sArg5 Text)"
#define FEEDBACK_TICK_OFFSET 100
#define EVENT_TICK_OFFSET 400
#define TANK_SPAWN_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, iArg1, iArg2) VALUES (%s, 'tank_spawn', %d, %d)" // no '' around the 1st %s pl0x.
#define CLIENT_DISCONNECT_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, iArg1, iArg2) VALUES (%s, 'player_disconnect', '%s', %d, %d)" // no '' around the 1st %s pl0x.
#define WAVE_DATA_INSERTION_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, iArg1) VALUES (%s, 'wave_event', %d)"
#define CLIENT_CONNECT_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, iArg1) VALUES (%s, 'player_connect', '%s', %d)" // no '' around the 1st %s pl0x.
#define CP_CAPTURE_START_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, iArg1, iArg2) VALUES (%s, 'gate_capture_start', '%s', %d, %d)"
#define CP_CAPTURE_END_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, iArg1) VALUES (%s, 'gate_capture_success', '%s', %d)"
#define CP_ENTER_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, iArg1) VALUES (%s, 'gate_enter', '%s', %d)"
#define CP_EXIT_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, iArg1) VALUES (%s, 'gate_exit', '%s', %d)"
#define BOMB_TOUCH_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, sArg2, iArg1, iArg2) VALUES (%s, 'bomb_touch', '%s', '%s', %d, %d)"
#define BOMB_BOT_KILLED_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, iArg1) VALUES (%s, 'bomb_touch', %d)"
#define PLAYER_BUYBACK_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, iArg1, iArg2) VALUES (%s, 'bomb_touch', '%s', %d, %d)"
#define CANTEEN_USED_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, iArg1, iArg2, iArg3) VALUES (%s, 'canteen_usage', '%s', %d, %d, %d)"
#define ALL_MONEY_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName) VALUES (%s, 'all_money_wave')"
#define SENTRY_INSTA_UPGRADE_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, iArg1) VALUES (%s, 'sentry_insta_upgrade', '%s', %d)"
#define CLASS_CHANGE_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, iArg1, iArg2) VALUES (%s, 'class_change', '%s', %d, %d)"
#define UBERCHARGE_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, sArg2, iArg1, iArg2, iArg3) VALUES (%s, 'ubercharge_deployed', '%s', '%s', %d, %d, %d)"
#define BUILDING_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, iArg1, sArg2, iArg2, iArg3) VALUES (%s, 'building_event', '%s', %d, '%s', %d, %d)"
#define ENEMY_DESTROY_BUILDING_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, sArg2, iArg1, iArg2, sArg3, iArg3) VALUES (%s, 'enemy_destroy_building', '%s', '%s', %d, %d, '%s', %d)"
#define BUILDING_SAP_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, sArg2, iArg1, iArg2) VALUES (%s, 'building_sapped', '%s', '%s', %d, %d)"
#define MEDIC_REVIVE_END_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, iArg1, iArg2) VALUES (%s, 'revive_end', '%s', %d, %d)"
#define MEDIC_REVIVE_START_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, sArg2, iArg1, iArg2, iArg3) VALUES (%s, 'revive_start', '%s', '%s', %d, %d, %d)"
#define TANK_DESTROYED_EVENT "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName) VALUES (%s, 'tank_destroyed')"
#define MEDIC_CANTEEN_SHARE "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, sArg2, iArg1, iArg2) VALUES (%s, 'medic_canteen_share', '%s', '%s', %d, %d)"
#define SHIELD_BLOCK_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, iArg1, iArg2) VALUES (%s, 'medic_shield_block', '%s', %d, %d)"
#define CASH_PICKUP_EVENT_QUERY "INSERT INTO EventTable (FileName, TimeStamp, Time, Tick, Wave, Attempt, EventName, sArg1, iArg1, iArg2) VALUES (%s, 'cash_pickup', '%s', %d, %d)"