Fix fault tolerant AI queries not working

main
Cameron Murphy Reikes 2 years ago
parent a5469c95ff
commit b71688f0b0

@ -1268,7 +1268,7 @@ typedef struct TouchMemory
} TouchMemory;
TouchMemory activate(uintptr_t by)
{
Log("Activating %ld\n", by);
//Log("Activating %ld\n", by);
return (TouchMemory){.active = true, .identifier = by};
}
// returns if deactivated
@ -1278,7 +1278,7 @@ bool maybe_deactivate(TouchMemory *memory, uintptr_t ended_identifier)
{
if(memory->identifier == ended_identifier)
{
Log("Deactivating %ld\n", memory->identifier);
//Log("Deactivating %ld\n", memory->identifier);
*memory = (TouchMemory){0};
return true;
}
@ -1303,7 +1303,7 @@ float thumbstick_base_size()
}
else
{
return screen_size().x * 0.14;
return screen_size().x * 0.14f;
}
}
@ -2525,7 +2525,7 @@ void frame(void)
{
Log("Failed to generate dialog! Fuck!");
// need somethin better here. Maybe each sentence has to know if it's player or NPC, that way I can remove the player's dialog
make_space_and_append(&it->player_dialog, (DialogElement){ .s = SENTENCE_CONST("I'm not sure..."), .author = NPC });
add_new_npc_sentence(it, "I'm not sure...");
}
it->gen_request_id = 0;
}

@ -7,6 +7,14 @@
"expandedProjectPaths": [
],
"fileStates": {
"assets/new_level.json": {
"scale": 0.25,
"selectedLayer": 1,
"viewCenter": {
"x": 1378,
"y": 1072
}
}
},
"last.imagePath": "C:/Users/Cameron/Documents/rpgpt/assets/copyrighted",
"map.height": 100,
@ -16,6 +24,7 @@
],
"project": "main.tiled-project",
"recentFiles": [
"assets/new_level.json"
],
"tileset.lastUsedFormat": "tsx"
}

@ -163,13 +163,13 @@ function on_textarea_key(event) {
final_textarea_string += cur_textarea_string[i];
}
document.getElementById("inputtext").value = final_textarea_string;
if(should_end) end_dialog();
if(event.key === "Enter") end_dialog();
if(event.key === "Enter") should_end = true;
if(event.key === "Escape")
{
document.getElementById("inputtext").value = "";
end_dialog();
should_end = true;
}
if(should_end) end_dialog();
}
const max_retries = 5;
@ -184,6 +184,11 @@ let generation_requests = []; // array of dictionaries with structure:
*/
function resend_request(r) {
r.failed = false;
r.request = new XMLHttpRequest();
r.request.onerror = function(e) {
r.failed = true;
};
r.request.open("POST", r.request_info.url, true);
r.request.send(r.request_info.body);
}
@ -195,8 +200,9 @@ function make_generation_request(p, api) {
let to_push = {
"id": cur_id,
"request": new XMLHttpRequest(),
"retries_remaining": 5,
"request_info": {"url": api, "body": p}
"retries_remaining": max_retries,
"request_info": {"url": api, "body": p},
"failed": false,
}
console.log("Making generation request with id " + to_push.id);
generation_requests.push(to_push)
@ -209,6 +215,11 @@ function make_generation_request(p, api) {
function get_generation_request_status(id) {
for(let i = 0; i < generation_requests.length; i++) {
if(generation_requests[i].id == id) {
if(generation_requests[i].failed)
{
}
else
{
let http_status = generation_requests[i].request.status;
if(http_status == 200) {
return 1;
@ -216,8 +227,11 @@ function get_generation_request_status(id) {
else if(http_status == 0) { // not done yet
return 0;
}
else { // errored
}
{ // errored
if(generation_requests[i].retries_remaining > 0) {
console.log("Retrying request");
generation_requests[i].retries_remaining -= 1;
resend_request(generation_requests[i]);
return 0;

Loading…
Cancel
Save