2024-11-21 02:16:25 -05:00

41 lines
911 B
C++

#pragma once
#include <string>
#include "../options/parser.h"
#include "cache.h"
#include "flags/flags.h"
#include "../ui/frame.h"
// Default Configuration
#define DEFAULT_USERNAME "StevePi"
#define DEFAULT_RENDER_DISTANCE "Short"
// State
struct State {
explicit State(const launcher_cache &cache);
// Methods
void update(bool save);
// Properties
std::string username;
std::string render_distance;
Flags flags;
};
// UI
struct ConfigurationUI final : Frame {
explicit ConfigurationUI(State &state_);
int render() override;
private:
void draw_main();
void draw_advanced() const;
static void draw_category(FlagNode &category);
State &state;
int render_distance_index;
};
// Handle Non-Launch Commands
void handle_non_launch_client_only_commands(const options_t &options);
// Configure Client Options
void configure_client(const options_t &options);