mirror of
https://github.com/1dot13/source.git
synced 2026-08-26 14:30:26 +02:00
Nothing was left in it but the include of profiler.h, and 132 translation units were including it for that alone. Fifteen files were leaning on profiler.h to drag in <set>, <vector> and <ostream> for them; those now include what they use. This is the commit that moves line numbers. Removing an include line shifts __LINE__ by one for everything below it, and __LINE__ is an immediate operand in every Assert() and DebugMsg() call, so the four game executables differ from their predecessors by roughly a thousand 32-bit constants each. Every one of those is accounted for: each is a single immediate that moved by -1 where the builddefines.h include went away, or +1 where a <set>/<vector> include was added. Nothing else in .text, .rdata or .data moves, no object file's section sizes change, and symbolize_crash and Ja2Export stay bit-identical. The one non-immediate difference is that the 24 Editor translation units of the non-editor apps stop emitting __Avx2WmemEnabledWeakValue, a 4-byte weak COMDAT they only ever instantiated through profiler.h's <vector>. It is a UCRT weak default that other translation units still provide. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
51 lines
957 B
C
51 lines
957 B
C
|
|
#ifdef JA2EDITOR
|
|
#ifndef __MESSAGEBOX_H
|
|
#define __MESSAGEBOX_H
|
|
|
|
enum
|
|
{
|
|
MESSAGEBOX_NONE,
|
|
MESSAGEBOX_DONE,
|
|
MESSAGEBOX_WAIT
|
|
};
|
|
|
|
extern UINT8 gubMessageBoxStatus;
|
|
extern BOOLEAN gfMessageBoxResult;
|
|
|
|
void CreateMessageBox( STR16 wzString );
|
|
BOOLEAN MessageBoxHandled();
|
|
void RemoveMessageBox();
|
|
|
|
//NOTES:
|
|
//Rewrote the damn thing. It is better now because you have less management issues.
|
|
//In your screen's main loop, instead of using the previous method, you would use the following syntax:
|
|
//
|
|
// if( gubMessageBoxState )
|
|
// {
|
|
// if( MessageBoxHandled() )
|
|
// return ProcessMyOwnMessageBoxResultHandler();
|
|
// return MYCURRENT_SCREEN;
|
|
// }
|
|
//
|
|
// UINT32 ProcessMyOwnMessageBoxResultHandlerFunction()
|
|
// {
|
|
// RemoveMessageBox(); //MUST BE HERE
|
|
// if( gfMessageBoxResult ) //user selected yes
|
|
// {
|
|
// ...
|
|
// return DESIRED_SCREEN;
|
|
// }
|
|
// else //user selected no
|
|
// ...
|
|
// }
|
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|