Program Listing for File PDJE_Judge_Loop_Structs.hpp
↰ Return to documentation for file (include\judge\Loop\PDJE_Judge_Loop_Structs.hpp)
#pragma once
#include "PDJE_Buffer.hpp"
#include "PDJE_Judge_Init_Structs.hpp"
#include "PDJE_Note_OBJ.hpp"
#include "PDJE_Rule.hpp"
#include "PDJE_SYNC_CORE.hpp"
#include <cstdint>
#include <optional>
#include <string>
#include <thread>
#include <unordered_map>
namespace PDJE_JUDGE {
struct EV_Thread {
std::optional<bool> use_event_switch;
std::optional<bool> miss_event_switch;
std::optional<std::thread> use_event_thread;
std::optional<std::thread> miss_event_thread;
};
struct useDatas {
uint64_t railid;
bool Pressed;
bool IsLate;
uint64_t diff;
};
struct Queues {
Atomic_Double_Buffer<std::unordered_map<uint64_t, NOTE_VEC>> miss_queue;
Atomic_Double_Buffer<useDatas> use_queue;
Queues() : miss_queue(100), use_queue(100)
{
}
};
struct mouse_btn_event {
uint64_t rail_id = 0;
int status = -1;
};
} // namespace PDJE_JUDGE