#include "mxvariabletable.h" // OFFSET: LEGO1 0x100b7330 MxS8 MxVariableTable::Compare(MxVariable *p_var0, MxVariable *p_var1) { return strcmp(p_var0->GetKey()->GetData(), p_var1->GetKey()->GetData()); } // OFFSET: LEGO1 0x100b7370 MxU32 MxVariableTable::Hash(MxVariable *p_var) { const char *str = p_var->GetKey()->GetData(); MxU32 value = 0; for (int i = 0; str[i]; i++) { value += str[i]; } return value; } // OFFSET: LEGO1 0x100b73a0 void MxVariableTable::SetVariable(const char *p_key, const char *p_value) { MxHashTableCursor cursor(this); MxVariable *var = new MxVariable(p_key, p_value); if (cursor.Find(var)) { delete var; cursor.GetMatch(var); var->SetValue(p_value); } else { MxHashTable::Add(var); } } // OFFSET: LEGO1 0x100b7740 void MxVariableTable::SetVariable(MxVariable *var) { MxHashTableCursor cursor(this); MxBool found = cursor.Find(var); if (found) cursor.DeleteMatch(); MxHashTable::Add(var); } // OFFSET: LEGO1 0x100b78f0 const char *MxVariableTable::GetVariable(const char *p_key) { const char *value = ""; MxHashTableCursor cursor(this); MxVariable *var = new MxVariable(p_key); MxBool found = cursor.Find(var); delete var; if (found) { cursor.GetMatch(var); value = var->GetValue()->GetData(); } return value; }