diff --git a/include/crlib/cr-platform.h b/include/crlib/cr-platform.h index d4a4be8..2f2c59b 100644 --- a/include/crlib/cr-platform.h +++ b/include/crlib/cr-platform.h @@ -212,5 +212,4 @@ struct Platform : public Singleton { // expose platform singleton static auto &plat = Platform::get (); - CR_NAMESPACE_END \ No newline at end of file diff --git a/include/crlib/cr-ulz.h b/include/crlib/cr-ulz.h index 94e1f5f..290e125 100644 --- a/include/crlib/cr-ulz.h +++ b/include/crlib/cr-ulz.h @@ -70,7 +70,7 @@ public: int32 lookup = m_hashTable[hash32 (&in[cur])]; while (lookup > limit) { - if (in[lookup + bestLength] == in[cur + bestLength] && load32 (&in[lookup]) == load32 (&in[cur])) { + if (in[lookup + bestLength] == in[cur + bestLength] && load (&in[lookup]) == load (&in[cur])) { int32 length = MinMatch; while (length < maxMatch && in[lookup + length] == in[cur + length]) { @@ -107,7 +107,7 @@ public: int32 lookup = m_hashTable[hash32 (&in[next])]; while (lookup > limit) { - if (in[lookup + bestLength] == in[next + bestLength] && load32 (&in[lookup]) == load32 (&in[next])) { + if (in[lookup + bestLength] == in[next + bestLength] && load (&in[lookup]) == load (&in[next])) { int32 length = MinMatch; while (length < target && in[lookup + length] == in[next + length]) { @@ -224,7 +224,7 @@ public: if ((opEnd - op) < length) { return UncompressFailure; } - const auto dist = ((token & 16) << 12) + load16 (ip); + const auto dist = ((token & 16) << 12) + load (ip); ip += 2; auto cp = op - dist; @@ -251,16 +251,9 @@ public: } private: - uint16 load16 (void *ptr) { - uint16 ret; - memcpy (&ret, ptr, sizeof (uint16)); - - return ret; - } - - uint32 load32 (void *ptr) { - uint32 ret; - memcpy (&ret, ptr, sizeof (uint32)); + template U load (void *ptr) { + U ret; + memcpy (&ret, ptr, sizeof (U)); return ret; } @@ -274,7 +267,7 @@ private: } uint32 hash32 (void *ptr) { - return (load32 (ptr) * 0x9e3779b9) >> (32 - HashBits); + return (load (ptr) * 0x9e3779b9) >> (32 - HashBits); } void copy (uint8 *dst, uint8 *src, int32 count) { diff --git a/include/yapb.h b/include/yapb.h index 97a35f8..d678b8d 100644 --- a/include/yapb.h +++ b/include/yapb.h @@ -268,13 +268,13 @@ CR_DECLARE_SCOPED_ENUM (Weapon, // buy counts CR_DECLARE_SCOPED_ENUM (BuyState, PrimaryWeapon = 0, -ArmorVestHelm, -SecondaryWeapon, -Grenades, -DefusalKit, -Ammo, -NightVision, -Done + ArmorVestHelm, + SecondaryWeapon, + Grenades, + DefusalKit, + Ammo, + NightVision, + Done ) // economics limits @@ -979,7 +979,7 @@ public: void showChaterIcon (bool show); void clearSearchNodes (); void checkBreakable (edict_t *touch); - void checkBreablesAround (); + void checkBreakablesAround (); void startTask (Task id, float desire, int data, float time, bool resume); void clearTask (Task id); void filterTasks (); diff --git a/source/basecode.cpp b/source/basecode.cpp index 36de74f..06362f4 100644 --- a/source/basecode.cpp +++ b/source/basecode.cpp @@ -398,7 +398,7 @@ void Bot::checkBreakable (edict_t *touch) { startTask (Task::ShootBreakable, TaskPri::ShootBreakable, kInvalidNodeIndex, 0.0f, false); } -void Bot::checkBreablesAround () { +void Bot::checkBreakablesAround () { if (!yb_destroy_breakables_around.bool_ () || m_currentWeapon == Weapon::Knife || rg.chance (25) || !game.hasBreakables () || m_seeEnemyTime + 4.0f > game.time () || !game.isNullEntity (m_enemy) || !hasPrimaryWeapon ()) { return; } @@ -2282,7 +2282,6 @@ void Bot::checkRadioQueue () { pushRadioMessage (Radio::RogerThat); m_campButtons = 0; - startTask (Task::Pause, TaskPri::Pause, kInvalidNodeIndex, game.time () + rg.float_ (30.0f, 60.0f), false); } } @@ -2875,7 +2874,7 @@ void Bot::frame () { checkSpawnConditions (); checkForChat (); - checkBreablesAround (); + checkBreakablesAround (); if (game.is (GameFlags::HasBotVoice)) { showChaterIcon (false); // end voice feedback @@ -3753,7 +3752,7 @@ void Bot::bombDefuse_ () { bool defuseError = false; // exception: bomb has been defused - if (bombPos.empty () || game.isNullEntity (m_pickupItem)) { + if (bombPos.empty () || !pickupExists) { defuseError = true; if (m_numFriendsLeft != 0 && rg.chance (50)) { diff --git a/source/combat.cpp b/source/combat.cpp index 6d7ed7b..a5608b4 100644 --- a/source/combat.cpp +++ b/source/combat.cpp @@ -922,7 +922,7 @@ void Bot::fireWeapons () { m_reloadState = Reload::Primary; m_reloadCheckTime = game.time (); - if (rg.chance (cr::abs (m_difficulty * 25 - 100))) { + if (rg.chance (cr::abs (m_difficulty * 25 - 100)) && rg.chance (5)) { pushRadioMessage (Radio::NeedBackup); } }