Refactor the folder structure which only had 2 'real' modules, now it's more real, no need for splitting into folders beside the external one
This commit is contained in:
66
src/plugin_record_events.cpp
Normal file
66
src/plugin_record_events.cpp
Normal file
@@ -0,0 +1,66 @@
|
||||
Buffer *EventBuffer;
|
||||
|
||||
void Serialize(Buffer *buffer, String name, EventKind *kind) {
|
||||
RawAppendf(buffer, "ev.%S = %s; ", name, EventKindStrings[*kind]);
|
||||
}
|
||||
|
||||
void Serialize(Buffer *buffer, String name, Int *datum) {
|
||||
if (*datum == 0) {
|
||||
return;
|
||||
}
|
||||
if (name == "key") {
|
||||
RawAppendf(buffer, "ev.%S = %s; ", name, SDLKeycodeToName((SDL_Keycode)*datum));
|
||||
} else {
|
||||
RawAppendf(buffer, "ev.%S = %lld; ", name, (long long)*datum);
|
||||
}
|
||||
}
|
||||
|
||||
void Serialize(Buffer *buffer, String name, uint32_t *datum) {
|
||||
Int d = *datum;
|
||||
Serialize(buffer, name, &d);
|
||||
*datum = (uint32_t)d;
|
||||
}
|
||||
|
||||
void Serialize(Buffer *buffer, String name, uint8_t *datum) {
|
||||
Int d = *datum;
|
||||
Serialize(buffer, name, &d);
|
||||
*datum = (uint8_t)d;
|
||||
}
|
||||
|
||||
void Serialize(Buffer *buffer, String name, int16_t *datum) {
|
||||
Int d = *datum;
|
||||
Serialize(buffer, name, &d);
|
||||
*datum = (int16_t)d;
|
||||
}
|
||||
|
||||
void Serialize(Buffer *buffer, String name, float *datum) {
|
||||
if (*datum == 0.f) {
|
||||
return;
|
||||
}
|
||||
RawAppendf(buffer, "ev.%S = %f; ", name, *datum);
|
||||
}
|
||||
|
||||
void Serialize(Buffer *buffer, String name, char **text) {
|
||||
String str = *text;
|
||||
if (str.len == 0) {
|
||||
return;
|
||||
}
|
||||
RawAppendf(buffer, "ev.%S = \"%S\"; ", name, str);
|
||||
}
|
||||
|
||||
void SerializeBegin(Buffer *buffer) {
|
||||
RawAppendf(buffer, "{Event ev = {};");
|
||||
}
|
||||
|
||||
void SerializeEnd(Buffer *buffer) {
|
||||
RawAppendf(buffer, "Add(&EventPlayback, ev);}\n");
|
||||
}
|
||||
|
||||
// :Event
|
||||
void Serialize(Buffer *buffer, Event *e) {
|
||||
SerializeBegin(buffer);
|
||||
#define X(TYPE, KIND, NAME) Serialize(buffer, #NAME, &e->NAME);
|
||||
EVENT_FIELDS
|
||||
#undef X
|
||||
SerializeEnd(buffer);
|
||||
}
|
||||
Reference in New Issue
Block a user