2021-03-07 15:12:48 +01:00
|
|
|
#include "config.h"
|
|
|
|
#include "test.h"
|
2021-03-07 15:59:00 +01:00
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
2021-03-07 15:12:48 +01:00
|
|
|
|
2021-03-07 15:59:00 +01:00
|
|
|
void test_empty_config()
|
2021-03-07 15:12:48 +01:00
|
|
|
{
|
2021-03-11 14:54:59 +01:00
|
|
|
T1MReadConfigFromJson("{}");
|
2021-03-07 15:12:48 +01:00
|
|
|
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.disable_healing_between_levels, 0);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.disable_medpacks, 0);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.disable_magnums, 0);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.disable_uzis, 0);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.disable_shotgun, 0);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.enable_enemy_healthbar, 1);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.enable_enhanced_look, 1);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.enable_shotgun_flash, 1);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.enable_numeric_keys, 1);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.enable_tr3_sidesteps, 1);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.enable_cheats, 0);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.enable_braid, 0);
|
2021-03-17 13:56:05 +01:00
|
|
|
ASSERT_INT_EQUAL(T1MConfig.enable_compass_stats, 1);
|
2021-03-17 14:31:43 +01:00
|
|
|
ASSERT_INT_EQUAL(T1MConfig.enable_timer_in_inventory, 1);
|
2021-03-07 15:12:48 +01:00
|
|
|
ASSERT_INT_EQUAL(
|
|
|
|
T1MConfig.healthbar_showing_mode, T1M_BSM_FLASHING_OR_DEFAULT);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.healthbar_location, T1M_BL_TOP_LEFT);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.healthbar_color, T1M_BC_RED);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.airbar_showing_mode, T1M_BSM_DEFAULT);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.airbar_location, T1M_BL_TOP_RIGHT);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.airbar_color, T1M_BC_BLUE);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.enemy_healthbar_location, T1M_BL_BOTTOM_LEFT);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.enemy_healthbar_color, T1M_BC_GREY);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.fix_key_triggers, 1);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.fix_end_of_level_freeze, 1);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.fix_tihocan_secret_sound, 1);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.fix_pyramid_secret_trigger, 1);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.fix_illegal_gun_equip, 1);
|
2021-03-14 15:05:16 +01:00
|
|
|
ASSERT_INT_EQUAL(T1MConfig.fix_fmv_esc_key, 1);
|
2021-03-14 17:25:48 +01:00
|
|
|
ASSERT_INT_EQUAL(T1MConfig.fix_secrets_killing_music, 1);
|
2021-03-17 13:00:25 +01:00
|
|
|
ASSERT_INT_EQUAL(T1MConfig.fix_creature_dist_calc, 1);
|
2021-03-07 15:12:48 +01:00
|
|
|
ASSERT_INT_EQUAL(T1MConfig.fov_value, 65);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.fov_vertical, 1);
|
2021-03-11 16:32:16 +01:00
|
|
|
ASSERT_INT_EQUAL(T1MConfig.disable_demo, 0);
|
2021-03-11 14:48:26 +01:00
|
|
|
ASSERT_INT_EQUAL(T1MConfig.disable_fmv, 0);
|
2021-03-11 20:14:26 +01:00
|
|
|
ASSERT_INT_EQUAL(T1MConfig.disable_cine, 0);
|
2021-03-07 15:12:48 +01:00
|
|
|
}
|
|
|
|
|
2021-03-07 15:59:00 +01:00
|
|
|
void test_config_override()
|
|
|
|
{
|
2021-03-18 15:08:25 +01:00
|
|
|
FILE *fp = fopen("cfg/Tomb1Main.json5", "rb");
|
2021-03-07 15:59:00 +01:00
|
|
|
ASSERT_OK(!!fp);
|
|
|
|
|
|
|
|
fseek(fp, 0, SEEK_END);
|
|
|
|
int cfg_size = ftell(fp);
|
|
|
|
fseek(fp, 0, SEEK_SET);
|
|
|
|
|
2021-03-11 16:56:00 +01:00
|
|
|
char *cfg_data = malloc(cfg_size + 1);
|
2021-03-07 15:59:00 +01:00
|
|
|
ASSERT_OK(!!cfg_data);
|
|
|
|
|
|
|
|
fread(cfg_data, 1, cfg_size, fp);
|
2021-03-11 16:56:00 +01:00
|
|
|
cfg_data[cfg_size] = '\0';
|
2021-03-07 15:59:00 +01:00
|
|
|
fclose(fp);
|
|
|
|
|
2021-03-11 16:56:00 +01:00
|
|
|
char *tmp = strstr(cfg_data, "enable_cheats\": false,");
|
2021-03-07 15:59:00 +01:00
|
|
|
ASSERT_OK(!!tmp);
|
2021-03-11 16:56:00 +01:00
|
|
|
tmp = strstr(tmp, "false,");
|
2021-03-07 15:59:00 +01:00
|
|
|
ASSERT_OK(!!tmp);
|
2021-03-11 16:56:00 +01:00
|
|
|
memcpy(tmp, "true, ", 6);
|
2021-03-07 15:59:00 +01:00
|
|
|
|
2021-03-11 14:54:59 +01:00
|
|
|
T1MReadConfigFromJson("{}");
|
2021-03-07 15:59:00 +01:00
|
|
|
ASSERT_INT_EQUAL(T1MConfig.enable_cheats, 0);
|
|
|
|
|
|
|
|
T1MReadConfigFromJson(cfg_data);
|
|
|
|
ASSERT_INT_EQUAL(T1MConfig.enable_cheats, 1);
|
|
|
|
|
|
|
|
free(cfg_data);
|
|
|
|
}
|
|
|
|
|
2021-03-07 23:34:28 +01:00
|
|
|
int main(int argc, char *argv[])
|
2021-03-07 15:12:48 +01:00
|
|
|
{
|
2021-03-07 15:59:00 +01:00
|
|
|
test_empty_config();
|
|
|
|
test_config_override();
|
2021-03-07 15:12:48 +01:00
|
|
|
TEST_RESULTS();
|
|
|
|
}
|