Files
source/Editor/Button Defines.h
T
00fb898600 Delete builddefines.h
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>
2026-08-22 01:07:26 -03:00

272 lines
7.4 KiB
C

#ifdef JA2EDITOR
#ifndef __BUTTON_DEFINES_H
#define __BUTTON_DEFINES_H
enum
{
//Main Editor tabs
TAB_TERRAIN, FIRST_EDITORTAB_BUTTON = TAB_TERRAIN,
TAB_BUILDINGS,
TAB_ITEMS,
TAB_MERCS,
TAB_MAPINFO,
TAB_OPTIONS, LAST_EDITORTAB_BUTTON = TAB_OPTIONS,
//Terrain menu
TERRAIN_FGROUND_TEXTURES, FIRST_TERRAIN_BUTTON = TERRAIN_FGROUND_TEXTURES,
TERRAIN_BGROUND_TEXTURES,
TERRAIN_PLACE_CLIFFS,
TERRAIN_PLACE_ROADS,
TERRAIN_PLACE_DEBRIS,
TERRAIN_FILL_AREA,
TERRAIN_PLACE_TREES,
TERRAIN_PLACE_ROCKS,
TERRAIN_PLACE_MISC,
TERRAIN_TOGGLE_ERASEMODE,
TERRAIN_CYCLE_BRUSHSIZE,
TERRAIN_RAISE_DENSITY,
TERRAIN_LOWER_DENSITY,
TERRAIN_UNDO, LAST_TERRAIN_BUTTON = TERRAIN_UNDO,
//Buildings menu
BUILDING_PLACE_WALLS, FIRST_BUILDINGS_BUTTON = BUILDING_PLACE_WALLS,
BUILDING_PLACE_DOORS,
BUILDING_PLACE_WINDOWS,
BUILDING_PLACE_ROOFS,
BUILDING_PLACE_BROKEN_WALLS,
BUILDING_PLACE_FURNITURE,
BUILDING_PLACE_DECALS,
BUILDING_PLACE_TOILETS,
BUILDING_PLACE_FLOORS,
BUILDING_SMART_WALLS,
BUILDING_SMART_DOORS,
BUILDING_SMART_WINDOWS,
BUILDING_SMART_BROKEN_WALLS,
BUILDING_DOORKEY,
BUILDING_NEW_ROOM,
BUILDING_SAW_ROOM,
BUILDING_NEW_ROOF,
BUILDING_KILL_BUILDING,
BUILDING_COPY_BUILDING,
BUILDING_MOVE_BUILDING,
BUILDING_CAVE_DRAWING,
BUILDING_DRAW_ROOMNUM,
BUILDING_ERASE_ROOMNUM,
BUILDING_TOGGLE_ERASEMODE,
BUILDING_UNDO,
BUILDING_CYCLE_BRUSHSIZE,
BUILDING_TOGGLE_ROOF_VIEW,
BUILDING_TOGGLE_WALL_VIEW,
BUILDING_TOGGLE_INFO_VIEW, LAST_BUILDINGS_BUTTON = BUILDING_TOGGLE_INFO_VIEW,
//Items menu
ITEMS_WEAPONS, FIRST_ITEMS_BUTTON = ITEMS_WEAPONS,
ITEMS_AMMO,
ITEMS_ARMOUR,
ITEMS_LBEGEAR,
ITEMS_EXPLOSIVES,
ITEMS_EQUIPMENT1,
ITEMS_EQUIPMENT2,
ITEMS_EQUIPMENT3,
ITEMS_TRIGGERS,
ITEMS_KEYS,
ITEMS_RANDOMITEM,
ITEMS_LEFTSCROLL,
ITEMS_RIGHTSCROLL, LAST_ITEMS_BUTTON = ITEMS_RIGHTSCROLL,
//MapInfo menu
MAPINFO_ADD_LIGHT1_SOURCE, FIRST_MAPINFO_BUTTON = MAPINFO_ADD_LIGHT1_SOURCE,
MAPINFO_LIGHT_PANEL,
MAPINFO_PRIMETIME_LIGHT,
MAPINFO_NIGHTTIME_LIGHT,
MAPINFO_24HOUR_LIGHT,
MAPINFO_TOGGLE_FAKE_LIGHTS,
MAPINFO_TOGGLE_ERASEMODE,
MAPINFO_DRAW_EXITGRIDS,
MAPINFO_CYCLE_BRUSHSIZE,
MAPINFO_UNDO,
MAPINFO_RADIO_PANEL,
MAPINFO_RADIO_NORMAL,
MAPINFO_RADIO_BASEMENT,
MAPINFO_RADIO_CAVES,
MAPINFO_NORTH_POINT,
MAPINFO_WEST_POINT,
MAPINFO_EAST_POINT,
MAPINFO_SOUTH_POINT,
MAPINFO_CENTER_POINT,
MAPINFO_ISOLATED_POINT, LAST_MAPINFO_BUTTON = MAPINFO_ISOLATED_POINT,
//Options menu
OPTIONS_NEW_MAP, FIRST_OPTIONS_BUTTON = OPTIONS_NEW_MAP,
OPTIONS_NEW_BASEMENT,
OPTIONS_NEW_CAVES,
OPTIONS_LOAD_MAP,
OPTIONS_SAVE_MAP,
OPTIONS_CHANGE_TILESET,
OPTIONS_LEAVE_EDITOR,
OPTIONS_RADAR_MAP,//dnl ch9 071009
OPTIONS_VANILLA_MODE,//dnl ch33 160909
OPTIONS_RESIZE_MAP_ON_LOADING,
OPTIONS_QUIT_GAME, LAST_OPTIONS_BUTTON = OPTIONS_QUIT_GAME,
//Mercs menu
MERCS_PLAYER, FIRST_MERCS_BUTTON = MERCS_PLAYER,
MERCS_ENEMY,
MERCS_CREATURE,
MERCS_REBEL,
MERCS_CIVILIAN,
MERCS_PLAYERTOGGLE,
MERCS_ENEMYTOGGLE,
MERCS_CREATURETOGGLE,
MERCS_REBELTOGGLE,
MERCS_CIVILIANTOGGLE,
MERCS_1,
MERCS_DETAILEDCHECKBOX,
MERCS_GENERAL,
MERCS_ATTRIBUTES,
MERCS_INVENTORY,
MERCS_APPEARANCE,
MERCS_PROFILE,
MERCS_SCHEDULE,
MERCS_GLOWSCHEDULE,
MERCS_DELETE,
MERCS_NEXT,
MERCS_PRIORITYEXISTANCE_CHECKBOX,
MERCS_HASKEYS_CHECKBOX,
MERCS_ORDERS_STATIONARY,
MERCS_ORDERS_ONGUARD,
MERCS_ORDERS_CLOSEPATROL,
MERCS_ORDERS_FARPATROL,
MERCS_ORDERS_POINTPATROL,
MERCS_ORDERS_ONCALL,
MERCS_ORDERS_SEEKENEMY,
MERCS_ORDERS_RNDPTPATROL,
MERCS_ATTITUDE_DEFENSIVE,
MERCS_ATTITUDE_BRAVESOLO,
MERCS_ATTITUDE_BRAVEAID,
MERCS_ATTITUDE_CUNNINGSOLO,
MERCS_ATTITUDE_CUNNINGAID,
MERCS_ATTITUDE_AGGRESSIVE,
MERCS_DIRECTION_N,
MERCS_DIRECTION_NE,
MERCS_DIRECTION_E,
MERCS_DIRECTION_SE,
MERCS_DIRECTION_S,
MERCS_DIRECTION_SW,
MERCS_DIRECTION_W,
MERCS_DIRECTION_NW,
MERCS_DIRECTION_FIND,
MERCS_EQUIPMENT_BAD,
MERCS_EQUIPMENT_POOR,
MERCS_EQUIPMENT_AVERAGE,
MERCS_EQUIPMENT_GOOD,
MERCS_EQUIPMENT_GREAT,
MERCS_ATTRIBUTES_BAD,
MERCS_ATTRIBUTES_POOR,
MERCS_ATTRIBUTES_AVERAGE,
MERCS_ATTRIBUTES_GOOD,
MERCS_ATTRIBUTES_GREAT,
MERCS_ARMY_CODE,
MERCS_ADMIN_CODE,
MERCS_ELITE_CODE,
MERCS_CIVILIAN_GROUP,
MERCS_TOGGLECOLOR_BUTTON,
MERCS_HAIRCOLOR_DOWN,
MERCS_HAIRCOLOR_UP,
MERCS_SKINCOLOR_DOWN,
MERCS_SKINCOLOR_UP,
MERCS_VESTCOLOR_DOWN,
MERCS_VESTCOLOR_UP,
MERCS_PANTCOLOR_DOWN,
MERCS_PANTCOLOR_UP,
MERCS_BODYTYPE_DOWN,
MERCS_BODYTYPE_UP,
MERCS_SCHEDULE_ACTION1,
MERCS_SCHEDULE_ACTION2,
MERCS_SCHEDULE_ACTION3,
MERCS_SCHEDULE_ACTION4,
MERCS_SCHEDULE_VARIANCE1,
MERCS_SCHEDULE_VARIANCE2,
MERCS_SCHEDULE_VARIANCE3,
MERCS_SCHEDULE_VARIANCE4,
MERCS_SCHEDULE_DATA1A,
MERCS_SCHEDULE_DATA2A,
MERCS_SCHEDULE_DATA3A,
MERCS_SCHEDULE_DATA4A,
MERCS_SCHEDULE_DATA1B,
MERCS_SCHEDULE_DATA2B,
MERCS_SCHEDULE_DATA3B,
MERCS_SCHEDULE_DATA4B,
MERCS_SCHEDULE_CLEAR,
MERCS_HEAD_SLOT,
MERCS_BODY_SLOT,
MERCS_LEGS_SLOT,
MERCS_LEFTHAND_SLOT,
MERCS_RIGHTHAND_SLOT,
MERCS_PACK1_SLOT,
MERCS_PACK2_SLOT,
MERCS_PACK3_SLOT,
MERCS_PACK4_SLOT, LAST_MERCS_BUTTON = MERCS_PACK4_SLOT,
ITEMSTATS_PANEL, FIRST_ITEMSTATS_BUTTON = ITEMSTATS_PANEL,
ITEMSTATS_HIDDEN_BTN,
ITEMSTATS_DELETE_BTN, LAST_ITEMSTATS_BUTTON = ITEMSTATS_DELETE_BTN,
NUMBER_EDITOR_BUTTONS,
};
#define FIRST_MERCS_TEAMMODE_BUTTON MERCS_PLAYER
#define LAST_MERCS_TEAMMODE_BUTTON MERCS_CIVILIANTOGGLE
#define FIRST_MERCS_BASICMODE_BUTTON MERCS_1
#define LAST_MERCS_BASICMODE_BUTTON MERCS_DETAILEDCHECKBOX
#define FIRST_MERCS_PRIORITYMODE_BUTTON MERCS_GENERAL
#define LAST_MERCS_PRIORITYMODE_BUTTON MERCS_SCHEDULE
#define FIRST_MERCS_GENERAL_BUTTON MERCS_PRIORITYEXISTANCE_CHECKBOX
#define LAST_MERCS_GENERAL_BUTTON LAST_MERCS_COLORCODE_BUTTON
#define FIRST_MERCS_ORDERS_BUTTON MERCS_ORDERS_STATIONARY
#define LAST_MERCS_ORDERS_BUTTON MERCS_ORDERS_RNDPTPATROL
#define FIRST_MERCS_ATTITUDE_BUTTON MERCS_ATTITUDE_DEFENSIVE
#define LAST_MERCS_ATTITUDE_BUTTON MERCS_ATTITUDE_AGGRESSIVE
#define FIRST_MERCS_DIRECTION_BUTTON MERCS_DIRECTION_N
#define LAST_MERCS_DIRECTION_BUTTON MERCS_DIRECTION_FIND
#define FIRST_MERCS_REL_EQUIPMENT_BUTTON MERCS_EQUIPMENT_BAD
#define LAST_MERCS_REL_EQUIPMENT_BUTTON MERCS_EQUIPMENT_GREAT
#define FIRST_MERCS_REL_ATTRIBUTE_BUTTON MERCS_ATTRIBUTES_BAD
#define LAST_MERCS_REL_ATTRIBUTE_BUTTON MERCS_ATTRIBUTES_GREAT
#define FIRST_MERCS_COLORCODE_BUTTON MERCS_ARMY_CODE
#define LAST_MERCS_COLORCODE_BUTTON MERCS_ELITE_CODE
#define FIRST_MERCS_COLORMODE_BUTTON MERCS_TOGGLECOLOR_BUTTON
#define LAST_MERCS_COLORMODE_BUTTON MERCS_BODYTYPE_UP
#define FIRST_MERCS_COLOR_BUTTON MERCS_HAIRCOLOR_DOWN
#define LAST_MERCS_COLOR_BUTTON MERCS_PANTCOLOR_UP
#define FIRST_MERCS_BODYTYPE_BUTTON MERCS_BODYTYPE_DOWN
#define LAST_MERCS_BODYTYPE_BUTTON MERCS_BODYTYPE_UP
#define FIRST_MERCS_INVENTORY_BUTTON MERCS_HEAD_SLOT
#define LAST_MERCS_INVENTORY_BUTTON MERCS_PACK4_SLOT
#define FIRST_MERCS_GETITEM_BUTTON FIRST_ITEMS_BUTTON
#define LAST_MERCS_GETITEM_BUTTON LAST_ITEMS_BUTTON
#define FIRST_MERCS_SCHEDULE_BUTTON MERCS_SCHEDULE_ACTION1
#define LAST_MERCS_SCHEDULE_BUTTON MERCS_SCHEDULE_CLEAR
#endif
#endif