diff options
Diffstat (limited to 'src/strings.cpp')
-rw-r--r-- | src/strings.cpp | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/src/strings.cpp b/src/strings.cpp new file mode 100644 index 0000000..d2acc03 --- /dev/null +++ b/src/strings.cpp @@ -0,0 +1,92 @@ +static bool32 Hacko = false; +static int32 EffectSel = -1; + +// I'm using the filter's grep functionality to sort the effects for us +// (probably severely suboptimal), so I'm just using this callback function to +// signal back to our code that tab has been pressed in the text edit. +static int +EffectConsoleCallback(ImGuiInputTextCallbackData* data) +{ + if (data->EventFlag == ImGuiInputTextFlags_CallbackCompletion) + { + Hacko = true; + } + return 0; +} + +static void +CopyStrings(void *Dest, void *Data) +{ + for (int i = 0; i < STRING_SIZE; i++) + { + *((char *)Dest + i) = *((char *)Data + i); + } +} + +static uint16 +String_AddToFile(memory *Memory, char *Char) +{ + uint16 FileIndex = Memory_Block_AllocateNew(Memory, F_Strings); + block_string *String = (block_string *)Memory_Block_AddressAtIndex(Memory, F_Strings, FileIndex, 0); + History_Action_Block_Swap(Memory, F_Strings, String); + String->Occupied = 1; + uint16 i = 0; + while (Char[i] != '\0') { + String->Char[i] = Char[i]; + i++; + } + return FileIndex; +} + +static bool32 +String_Compare(char *String1, char *String2, uint32 Length) +{ + for (int i = 0; i < Length; i++) { + if (String1[i] != String2[i]) + return 0; + } + return 1; +} + +static uint32 +String_Length(char *Char) +{ + int32 i = 0; + while (Char[i] != '\0') { + i++; + } + return i; +} + +static void +String_Copy(char *String1, char *String2, uint32 Length) +{ + int32 i = 0; + while (i < Length) { + String1[i] = String2[i]; + i++; + } +} + +static void +String_Append(char *String1, char *String2, uint32 Length) +{ + int32 i = 0; + while (String1[i] != '\0') { + String1[i] = String2[i]; + } +} + +static void +String_PathToLayerName(char *Path, char *Dest) +{ + uint32 i = 0; + uint32 LastSlash = 0; + while (Path[i] != '\0') { + if (Path[i] == '/') + LastSlash = i; + i++; + } + for (int s = 0; s < i - LastSlash; s++) + Dest[s] = Path[s + LastSlash + 1]; +} |