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>
70 lines
1.5 KiB
C
70 lines
1.5 KiB
C
|
|
#ifdef JA2EDITOR
|
|
#ifndef __EDITORBUILDINGS_H
|
|
#define __EDITORBUILDINGS_H
|
|
|
|
#include "video.h"
|
|
#include "vobject_blitters.h"
|
|
|
|
extern BOOLEAN fBuildingShowRoofs, fBuildingShowWalls, fBuildingShowRoomInfo;
|
|
//DBrot: More Rooms
|
|
//extern UINT8 gubCurrRoomNumber;
|
|
//extern UINT8 gubMaxRoomNumber;
|
|
extern UINT16 gusCurrRoomNumber;
|
|
extern UINT16 gusMaxRoomNumber;
|
|
|
|
void SetupTextInputForBuildings();
|
|
void ExtractAndUpdateBuildingInfo();
|
|
|
|
//Initialization routines
|
|
void GameInitEditorBuildingInfo();
|
|
void InitEditorBuildingsToolbar();
|
|
|
|
//Selection method callbacks
|
|
//Building utility functions
|
|
void UpdateBuildingsInfo();
|
|
void KillBuilding( INT32 iMapIndex );
|
|
|
|
|
|
typedef struct BUILDINGLAYOUTNODE
|
|
{
|
|
struct BUILDINGLAYOUTNODE *next;
|
|
INT32 sGridNo;
|
|
}BUILDINGLAYOUTNODE;
|
|
|
|
extern BUILDINGLAYOUTNODE *gpBuildingLayoutList;
|
|
extern INT32 gsBuildingLayoutAnchorGridNo;
|
|
|
|
//The first step is copying a building. After that, it either must be pasted or moved.
|
|
void CopyBuilding( INT32 iMapIndex );
|
|
void MoveBuilding( INT32 iMapIndex );
|
|
void PasteBuilding( INT32 iMapIndex );
|
|
void DeleteBuildingLayout();
|
|
|
|
void ReplaceBuildingWithNewRoof( INT32 iMapIndex );
|
|
void UpdateWallsView();
|
|
void UpdateRoofsView();
|
|
|
|
void InitDoorEditing( INT32 iMapIndex );
|
|
void ExtractAndUpdateDoorInfo();
|
|
void KillDoorEditing();
|
|
void RenderDoorEditingWindow();
|
|
|
|
void AddLockedDoorCursors();
|
|
void RemoveLockedDoorCursors();
|
|
void FindNextLockedDoor();
|
|
|
|
extern BOOLEAN gfEditingDoor;
|
|
|
|
extern UINT16 usCurrentMode;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|