mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-13 11:38:19 +00:00
55 lines
969 B
C++
55 lines
969 B
C++
|
extern "C" {
|
||
|
#include <engine/e_client_interface.h>
|
||
|
#include <engine/e_config.h>
|
||
|
#include <engine/e_console.h>
|
||
|
#include <engine/e_ringbuffer.h>
|
||
|
#include <engine/client/ec_font.h>
|
||
|
}
|
||
|
|
||
|
#include <game/client/component.hpp>
|
||
|
|
||
|
class CONSOLE : public COMPONENT
|
||
|
{
|
||
|
class INSTANCE
|
||
|
{
|
||
|
public:
|
||
|
char history_data[65536];
|
||
|
RINGBUFFER *history;
|
||
|
char *history_entry;
|
||
|
|
||
|
char backlog_data[65536];
|
||
|
RINGBUFFER *backlog;
|
||
|
|
||
|
LINEINPUT input;
|
||
|
|
||
|
int type;
|
||
|
|
||
|
public:
|
||
|
INSTANCE(int t);
|
||
|
|
||
|
void execute_line(const char *line);
|
||
|
|
||
|
void on_input(INPUT_EVENT e);
|
||
|
void print_line(const char *line);
|
||
|
};
|
||
|
|
||
|
INSTANCE local_console;
|
||
|
INSTANCE remote_console;
|
||
|
|
||
|
INSTANCE *current_console();
|
||
|
float time_now();
|
||
|
|
||
|
int console_type;
|
||
|
int console_state;
|
||
|
float state_change_end;
|
||
|
float state_change_duration;
|
||
|
|
||
|
public:
|
||
|
CONSOLE();
|
||
|
|
||
|
virtual void on_reset();
|
||
|
virtual void on_render();
|
||
|
virtual void on_message(int msgtype, void *rawmsg);
|
||
|
virtual bool on_input(INPUT_EVENT e);
|
||
|
};
|