By defining/not defining the pre-processor macro, certain parts of the code will remain uncompiled. If all calls to the unresolved function are encased in a preprocessor conditional like that, defining DISABLE_ASSERTS will get rid of the LNK error because no calls to the unresolved external would be compiled any more.. The actual LNK error itself would be due to only having a partial codebase of the original (usually happens when people strip functions from code they don't understand).
@OP, please tell me you didn't just directly copy and paste
everywhere? It's a spelling mistake (I'm not familiar with the FEAR SDK, but DISSABLE is actually spelled DISABLE).
i didn't C&P, i tried taking out the S lol
commando: You're probably the best non-coder coder I know LOL