3#include "Game/Util/HashUtil.hpp"
5HashSortTable::HashSortTable(u32 cnt) {
6 mHashCodes =
new u32[cnt];
15bool HashSortTable::add(
const char *pName, u32 a2,
bool noSkip) {
16 u32 hash = MR::getHashCode(pName);
19 return addOrSkip(hash, a2);
26bool HashSortTable::add(u32 a1, u32 a2) {
33bool HashSortTable::addOrSkip(u32 a1, u32 a2) {
34 for (u32 i = 0; i < _14; i++) {
35 if (a1 == mHashCodes[i]) {
46s32 HashSortTable::search(
const char *pStr, u32 *a2) {
47 return search(MR::getHashCode(pStr), a2);
50s32 HashSortTable::search(
const char *pStr,
const char *a2, u32 *a3) {
51 u32 hashCode = MR::getHashCode(pStr) + MR::getHashCode(a2);
52 return search(hashCode, a3);
56 u32 getHashCode(
const char *pStr) {
58 for (val = 0; *pStr != 0; pStr++) {
59 val = *pStr + (val * 31);