mirror of
https://github.com/1dot13/source.git
synced 2026-08-26 14:30:26 +02:00
- new <usItemClass>: IC_RANDOMITEM (0x40000000 or 1073741824) is used for random items exclusively.
- increased ma number of Random Items to 1000 - fix: A certain key combination no longer spawns random NATO ARs git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5618 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -70,6 +70,7 @@ enum
|
||||
ITEMS_EQUIPMENT3,
|
||||
ITEMS_TRIGGERS,
|
||||
ITEMS_KEYS,
|
||||
ITEMS_RANDOMITEM,
|
||||
ITEMS_LEFTSCROLL,
|
||||
ITEMS_RIGHTSCROLL, LAST_ITEMS_BUTTON = ITEMS_RIGHTSCROLL,
|
||||
//MapInfo menu
|
||||
|
||||
@@ -104,6 +104,7 @@ void ItemsEquipment3Callback(GUI_BUTTON *btn,INT32 reason);
|
||||
void ItemsTriggersCallback(GUI_BUTTON *btn,INT32 reason);
|
||||
void ItemsKeysCallback(GUI_BUTTON *btn, INT32 reason);
|
||||
void ItemsLeftScrollCallback(GUI_BUTTON *btn, INT32 reason);
|
||||
void ItemsRandomItemCallback(GUI_BUTTON *btn, INT32 reason);
|
||||
void ItemsRightScrollCallback(GUI_BUTTON *btn, INT32 reason);
|
||||
void MouseMovedInItemsRegion(MOUSE_REGION *reg, INT32 reason);
|
||||
void MouseClickedInItemsRegion(MOUSE_REGION *reg, INT32 reason);
|
||||
|
||||
@@ -787,6 +787,12 @@ void ItemsKeysCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
SetEditorItemsTaskbarMode( ITEMS_KEYS );
|
||||
}
|
||||
|
||||
void ItemsRandomItemCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
{
|
||||
if(reason & MSYS_CALLBACK_REASON_LBUTTON_UP)
|
||||
SetEditorItemsTaskbarMode( ITEMS_RANDOMITEM );
|
||||
}
|
||||
|
||||
void ItemsLeftScrollCallback(GUI_BUTTON *btn, INT32 reason)
|
||||
{
|
||||
if(reason & MSYS_CALLBACK_REASON_LBUTTON_UP)
|
||||
|
||||
@@ -72,6 +72,10 @@ void SetEditorItemsTaskbarMode( UINT16 usNewMode )
|
||||
ClickEditorButton( ITEMS_KEYS );
|
||||
iEditorToolbarState = TBAR_MODE_ITEM_KEYS;
|
||||
break;
|
||||
case ITEMS_RANDOMITEM:
|
||||
ClickEditorButton( ITEMS_RANDOMITEM );
|
||||
iEditorToolbarState = TBAR_MODE_ITEM_RANDOMITEM;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -550,44 +550,48 @@ void InitEditorItemsToolbar()
|
||||
SetFontForeground( FONT_MCOLOR_LTRED );
|
||||
iEditorButton[ITEMS_WEAPONS] =
|
||||
CreateTextButton(iEditorItemsToolbarText[0],(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT,
|
||||
iScreenWidthOffset + 100, 2 * iScreenHeightOffset + 440, 59, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
iScreenWidthOffset + 100, 2 * iScreenHeightOffset + 440, 39, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
ItemsWeaponsCallback);
|
||||
iEditorButton[ITEMS_AMMO] =
|
||||
CreateTextButton(iEditorItemsToolbarText[1],(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT,
|
||||
iScreenWidthOffset + 159, 2 * iScreenHeightOffset + 440, 40, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
iScreenWidthOffset + 139, 2 * iScreenHeightOffset + 440, 40, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
ItemsAmmoCallback);
|
||||
iEditorButton[ITEMS_ARMOUR] =
|
||||
CreateTextButton(iEditorItemsToolbarText[2],(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT,
|
||||
iScreenWidthOffset + 199, 2 * iScreenHeightOffset + 440, 52, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
iScreenWidthOffset + 179, 2 * iScreenHeightOffset + 440, 52, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
ItemsArmourCallback);
|
||||
iEditorButton[ITEMS_LBEGEAR] =
|
||||
CreateTextButton(iEditorItemsToolbarText[3],(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT,
|
||||
iScreenWidthOffset + 251, 2 * iScreenHeightOffset + 440, 30, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
iScreenWidthOffset + 231, 2 * iScreenHeightOffset + 440, 30, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
ItemsLBECallback);
|
||||
iEditorButton[ITEMS_EXPLOSIVES] =
|
||||
CreateTextButton(iEditorItemsToolbarText[4],(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT,
|
||||
iScreenWidthOffset + 281, 2 * iScreenHeightOffset + 440, 39, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
iScreenWidthOffset + 261, 2 * iScreenHeightOffset + 440, 30, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
ItemsExplosivesCallback);
|
||||
iEditorButton[ITEMS_EQUIPMENT1] =
|
||||
CreateTextButton(iEditorItemsToolbarText[5],(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT,
|
||||
iScreenWidthOffset + 320, 2 * iScreenHeightOffset + 440, 21, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
iScreenWidthOffset + 291, 2 * iScreenHeightOffset + 440, 21, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
ItemsEquipment1Callback);
|
||||
iEditorButton[ITEMS_EQUIPMENT2] =
|
||||
CreateTextButton(iEditorItemsToolbarText[6],(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT,
|
||||
iScreenWidthOffset + 341, 2 * iScreenHeightOffset + 440, 21, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
iScreenWidthOffset + 312, 2 * iScreenHeightOffset + 440, 21, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
ItemsEquipment2Callback);
|
||||
iEditorButton[ITEMS_EQUIPMENT3] =
|
||||
CreateTextButton(iEditorItemsToolbarText[7],(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT,
|
||||
iScreenWidthOffset + 362, 2 * iScreenHeightOffset + 440, 21, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
iScreenWidthOffset + 333, 2 * iScreenHeightOffset + 440, 21, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
ItemsEquipment3Callback);
|
||||
iEditorButton[ITEMS_TRIGGERS] =
|
||||
CreateTextButton(iEditorItemsToolbarText[8],(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT,
|
||||
iScreenWidthOffset + 383, 2 * iScreenHeightOffset + 440, 59, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
iScreenWidthOffset + 354, 2 * iScreenHeightOffset + 440, 59, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
ItemsTriggersCallback );
|
||||
iEditorButton[ITEMS_KEYS] =
|
||||
CreateTextButton(iEditorItemsToolbarText[9],(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT,
|
||||
iScreenWidthOffset + 442, 2 * iScreenHeightOffset + 440, 38, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
iScreenWidthOffset + 413, 2 * iScreenHeightOffset + 440, 38, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
ItemsKeysCallback );
|
||||
iEditorButton[ITEMS_RANDOMITEM] =
|
||||
CreateTextButton(iEditorItemsToolbarText[10],(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT,
|
||||
iScreenWidthOffset + 451, 2 * iScreenHeightOffset + 440, 29, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK,
|
||||
ItemsRandomItemCallback);
|
||||
|
||||
iEditorButton[ITEMS_LEFTSCROLL] =
|
||||
CreateEasyNoToggleButton( iScreenWidthOffset + 1, 2 * iScreenHeightOffset + 361,"EDITOR//leftscroll.sti", ItemsLeftScrollCallback);
|
||||
|
||||
@@ -82,6 +82,7 @@ enum
|
||||
TBAR_MODE_ITEM_EQUIPMENT3,
|
||||
TBAR_MODE_ITEM_TRIGGERS,
|
||||
TBAR_MODE_ITEM_KEYS,
|
||||
TBAR_MODE_ITEM_RANDOMITEM,
|
||||
|
||||
TBAR_MODE_RADAR_MAP,//dnl ch9 071009
|
||||
};
|
||||
|
||||
@@ -207,6 +207,9 @@ void EntryInitEditorItemsInfo()
|
||||
else
|
||||
eInfo.sNumEquipment3++;
|
||||
break;
|
||||
case IC_RANDOMITEM:
|
||||
eInfo.sNumRandomItems++;
|
||||
break;
|
||||
//case IC_KEY:
|
||||
// eInfo.sNumKeys++;
|
||||
// break;
|
||||
@@ -310,6 +313,11 @@ void InitEditorItemsInfo(UINT32 uiItemType)
|
||||
eInfo.sScrollIndex = eInfo.sSaveKeysScrollIndex;
|
||||
eInfo.sSelItemIndex = eInfo.sSaveSelKeysIndex;
|
||||
break;
|
||||
case TBAR_MODE_ITEM_RANDOMITEM:
|
||||
eInfo.sNumItems = eInfo.sNumRandomItems;
|
||||
eInfo.sScrollIndex = eInfo.sSaveRandomItemScrollIndex;
|
||||
eInfo.sSelItemIndex = eInfo.sSaveSelRandomItemIndex;
|
||||
break;
|
||||
default:
|
||||
//error
|
||||
return;
|
||||
@@ -473,6 +481,9 @@ void InitEditorItemsInfo(UINT32 uiItemType)
|
||||
fTypeMatch = eInfo.uiItemType == TBAR_MODE_ITEM_EQUIPMENT3;
|
||||
iEquipCount++;
|
||||
break;
|
||||
case IC_RANDOMITEM:
|
||||
fTypeMatch = eInfo.uiItemType == TBAR_MODE_ITEM_RANDOMITEM;
|
||||
break;
|
||||
}
|
||||
if( fTypeMatch )
|
||||
{
|
||||
@@ -747,6 +758,10 @@ void ClearEditorItemsInfo()
|
||||
eInfo.sSaveSelKeysIndex = eInfo.sSelItemIndex;
|
||||
eInfo.sSaveKeysScrollIndex = eInfo.sScrollIndex;
|
||||
break;
|
||||
case TBAR_MODE_ITEM_RANDOMITEM:
|
||||
eInfo.sSaveSelRandomItemIndex = eInfo.sSelItemIndex;
|
||||
eInfo.sSaveRandomItemScrollIndex = eInfo.sScrollIndex;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -20,12 +20,12 @@ typedef struct{
|
||||
INT16 sScrollIndex; //current scroll index (0 is far left, 1 is next tile to the right, ...)
|
||||
INT16 sSaveSelWeaponsIndex, sSaveSelAmmoIndex, sSaveSelArmourIndex, sSaveSelLBEIndex, sSaveSelExplosivesIndex,
|
||||
sSaveSelEquipment1Index, sSaveSelEquipment2Index, sSaveSelEquipment3Index,
|
||||
sSaveSelTriggersIndex, sSaveSelKeysIndex;
|
||||
sSaveSelTriggersIndex, sSaveSelKeysIndex, sSaveSelRandomItemIndex;
|
||||
INT16 sSaveWeaponsScrollIndex, sSaveAmmoScrollIndex, sSaveArmourScrollIndex, sSaveLBEScrollIndex,
|
||||
sSaveExplosivesScrollIndex, sSaveEquipment1ScrollIndex, sSaveEquipment2ScrollIndex,
|
||||
sSaveEquipment3ScrollIndex, sSaveTriggersScrollIndex, sSaveKeysScrollIndex;
|
||||
sSaveEquipment3ScrollIndex, sSaveTriggersScrollIndex, sSaveKeysScrollIndex, sSaveRandomItemScrollIndex;
|
||||
INT16 sNumWeapons, sNumAmmo, sNumArmour, sLBEGear, sNumExplosives, sNumEquipment1, sNumEquipment2, sNumEquipment3,
|
||||
sNumTriggers, sNumKeys;
|
||||
sNumTriggers, sNumKeys, sNumRandomItems;
|
||||
}EditorItemsInfo;
|
||||
|
||||
extern EditorItemsInfo eInfo;
|
||||
|
||||
@@ -1341,6 +1341,7 @@ void HandleJA2ToolbarSelection( void )
|
||||
case TBAR_MODE_ITEM_EQUIPMENT3:
|
||||
case TBAR_MODE_ITEM_TRIGGERS:
|
||||
case TBAR_MODE_ITEM_KEYS:
|
||||
case TBAR_MODE_ITEM_RANDOMITEM:
|
||||
//Set up the items by type.
|
||||
InitEditorItemsInfo(iEditorToolbarState);
|
||||
if( gubCurrMercMode != MERC_GETITEMMODE )
|
||||
|
||||
Reference in New Issue
Block a user