Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
82 lines
1.1 KiB
C++
82 lines
1.1 KiB
C++
|
|
#pragma once
|
|
#ifndef AI_FUZZY_HPP
|
|
#define AI_FUZZY_HPP
|
|
|
|
#include "AI_Log.hpp"
|
|
|
|
|
|
|
|
namespace MW4AI
|
|
{
|
|
typedef Stuff::Scalar Fuzzy;
|
|
|
|
inline Fuzzy And(Fuzzy one, Fuzzy two)
|
|
{
|
|
if (one < two)
|
|
{
|
|
return (one);
|
|
}
|
|
|
|
return (two);
|
|
}
|
|
|
|
inline Fuzzy And(Fuzzy one, Fuzzy two, Fuzzy three)
|
|
{
|
|
if (one < two)
|
|
{
|
|
return (And(one,three));
|
|
}
|
|
|
|
return (And(two,three));
|
|
}
|
|
|
|
inline Fuzzy And(Fuzzy one, Fuzzy two, Fuzzy three, Fuzzy four)
|
|
{
|
|
if (one < two)
|
|
{
|
|
return (And(one,three,four));
|
|
}
|
|
|
|
return (And(two,three,four));
|
|
}
|
|
|
|
inline Fuzzy Or(Fuzzy one, Fuzzy two)
|
|
{
|
|
if (one > two)
|
|
{
|
|
return (one);
|
|
}
|
|
|
|
return (two);
|
|
}
|
|
|
|
inline Fuzzy Or(Fuzzy one, Fuzzy two, Fuzzy three)
|
|
{
|
|
if (one > two)
|
|
{
|
|
return (Or(one,three));
|
|
}
|
|
|
|
return (Or(two,three));
|
|
}
|
|
|
|
inline Fuzzy Or(Fuzzy one, Fuzzy two, Fuzzy three, Fuzzy four)
|
|
{
|
|
if (one > two)
|
|
{
|
|
return (Or(one,three,four));
|
|
}
|
|
|
|
return (Or(two,three,four));
|
|
}
|
|
|
|
inline Fuzzy Not(Fuzzy arg)
|
|
{
|
|
Verify(arg >= 0);
|
|
Verify(arg <= 1);
|
|
return (1 - arg);
|
|
}
|
|
};
|
|
|
|
#endif // AI_FUZZY_HPP
|