summaryrefslogtreecommitdiff
path: root/src/uci.c
diff options
context:
space:
mode:
authorAargh Rai <aargh.rai+git@gmail.com>2026-07-04 22:34:17 +0530
committerAargh Rai <aargh.rai+git@gmail.com>2026-07-04 22:34:17 +0530
commitf17df9538b1c3f58f12b738083b747ac332b8d71 (patch)
tree4df4254a726cd009a26eb3d9cd7e6d28b1a9c9a5 /src/uci.c
parent8535106616ccdc9f52c29ce7f46555e613c38b6e (diff)
the setoption now changes state
i can now finally start working on how the non existant engine will interact with uci
Diffstat (limited to 'src/uci.c')
-rw-r--r--src/uci.c67
1 files changed, 56 insertions, 11 deletions
diff --git a/src/uci.c b/src/uci.c
index 027c1c7..1819291 100644
--- a/src/uci.c
+++ b/src/uci.c
@@ -40,20 +40,65 @@ int main() {
strncpy(state.name, "Gacrux", 32);
strncpy(state.author, "Aargh Rai <aarghrai.com>", 32);
int k = 0;
- state.option_settings[k++] = option_setting_spin("Threads", 1, 5, 1);
- state.option_settings[k++] = option_setting_spin("Hash", 0, 512, 256);
- state.option_settings[k++] = option_setting_button("Clear Hash");
- state.option_settings[k++] = option_setting_check("UCI_ShowCurrLine", false);
- state.option_settings[k++] = option_setting_check("UCI_ShowRefutations", false);
- state.option_settings[k++] = option_setting_check("UCI_LimitStrength", false);
- state.option_settings[k++] = option_setting_spin("UCI_Elo", 100, 3500, 800);
- state.option_settings[k++] = option_setting_check("UCI_AnalyseMode", false);
- state.option_settings[k++] = option_setting_string("UCI_Opponent", "<empty>");
- state.option_settings[k++] = option_setting_string("UCI_EngineAbout", "Gacrux by Aargh Rai, Checkout https://git.aarghrai.com/gacrux");
- state.option_settings[k++] = option_setting_string("UCI_SetPositionValue", "<empty>");
+ state.option_settings[k++] = option_setting_spin(
+ "Threads",
+ 1, 5, 1,
+ &state.threads
+ );
+ state.option_settings[k++] = option_setting_spin(
+ "Hash",
+ 0, 512, 256,
+ &state.hash
+ );
+ state.option_settings[k++] = option_setting_button(
+ "Clear Hash",
+ &state.clear_hash
+ );
+ state.option_settings[k++] = option_setting_check(
+ "UCI_ShowCurrLine",
+ false,
+ &state.uci_showcurrline
+ );
+ state.option_settings[k++] = option_setting_check(
+ "UCI_ShowRefutations",
+ false,
+ &state.uci_showrefutations
+ );
+ state.option_settings[k++] = option_setting_check(
+ "UCI_LimitStrength",
+ false,
+ &state.uci_limitstrength
+ );
+ state.option_settings[k++] = option_setting_spin(
+ "UCI_Elo",
+ 100, 3500, 800,
+ &state.uci_elo
+ );
+ state.option_settings[k++] = option_setting_check(
+ "UCI_AnalyseMode",
+ false,
+ &state.uci_analysemode
+ );
+ state.option_settings[k++] = option_setting_string(
+ "UCI_Opponent",
+ "<empty>",
+ &state.uci_opponent
+ );
+ state.option_settings[k++] = option_setting_string(
+ "UCI_EngineAbout",
+ "Gacrux by Aargh Rai, Checkout https://git.aarghrai.com/gacrux",
+ &state.uci_engineabout
+ );
+ state.option_settings[k++] = option_setting_string(
+ "UCI_SetPositionValue",
+ "<empty>",
+ &state.uci_setpositionvalue
+ );
+
ucicmd cmd = ucicmd_init();
size_t n;
char buf[1024];
+
while (true) {
cmd.empty = true;
cmd.args_count = 0;