mirror of
https://github.com/1dot13/source.git
synced 2026-09-16 14:47:17 +02:00
FIX: no GUI for random items
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8702 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -272,6 +272,7 @@ enum
|
|||||||
EDITING_ACTIONITEMS,
|
EDITING_ACTIONITEMS,
|
||||||
EDITING_TRIGGERS,
|
EDITING_TRIGGERS,
|
||||||
EDITING_KEYS,
|
EDITING_KEYS,
|
||||||
|
EDITING_RANDOMITEM,
|
||||||
EDITING_OWNERSHIP,
|
EDITING_OWNERSHIP,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -332,6 +333,9 @@ void SetupKeysGUI();
|
|||||||
void ExtractAndUpdateKeysGUI();
|
void ExtractAndUpdateKeysGUI();
|
||||||
void RemoveKeysGUI();
|
void RemoveKeysGUI();
|
||||||
|
|
||||||
|
void SetupRandomItemGUI();
|
||||||
|
void ExtractAndUpdateRandomItemGUI();
|
||||||
|
void RemoveRandomItemGUI();
|
||||||
|
|
||||||
void ReEvaluateAttachmentStatii();
|
void ReEvaluateAttachmentStatii();
|
||||||
|
|
||||||
@@ -387,6 +391,7 @@ void ExecuteItemStatsCmd( /*UINT8*/ UINT16 ubAction )
|
|||||||
case EDITING_EXPLOSIVES: ExtractAndUpdateExplosivesGUI(); break;
|
case EDITING_EXPLOSIVES: ExtractAndUpdateExplosivesGUI(); break;
|
||||||
case EDITING_MONEY: ExtractAndUpdateMoneyGUI(); break;
|
case EDITING_MONEY: ExtractAndUpdateMoneyGUI(); break;
|
||||||
case EDITING_KEYS: ExtractAndUpdateKeysGUI(); break;
|
case EDITING_KEYS: ExtractAndUpdateKeysGUI(); break;
|
||||||
|
case EDITING_RANDOMITEM: ExtractAndUpdateRandomItemGUI(); break;
|
||||||
}
|
}
|
||||||
SetActiveField( 0 );
|
SetActiveField( 0 );
|
||||||
gfRenderTaskbar = TRUE;
|
gfRenderTaskbar = TRUE;
|
||||||
@@ -439,6 +444,7 @@ void RemoveItemGUI()
|
|||||||
case EDITING_EXPLOSIVES: RemoveExplosivesGUI(); break;
|
case EDITING_EXPLOSIVES: RemoveExplosivesGUI(); break;
|
||||||
case EDITING_MONEY: RemoveMoneyGUI(); break;
|
case EDITING_MONEY: RemoveMoneyGUI(); break;
|
||||||
case EDITING_KEYS: RemoveKeysGUI(); break;
|
case EDITING_KEYS: RemoveKeysGUI(); break;
|
||||||
|
case EDITING_RANDOMITEM: RemoveRandomItemGUI(); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -546,6 +552,10 @@ void SpecifyItemToEdit( OBJECTTYPE *pItem, INT32 iMapIndex )
|
|||||||
gbEditingMode = EDITING_KEYS;
|
gbEditingMode = EDITING_KEYS;
|
||||||
SetupKeysGUI();
|
SetupKeysGUI();
|
||||||
break;
|
break;
|
||||||
|
case IC_RANDOMITEM:
|
||||||
|
gbEditingMode = EDITING_RANDOMITEM;
|
||||||
|
SetupRandomItemGUI();
|
||||||
|
break;
|
||||||
case IC_PUNCH:
|
case IC_PUNCH:
|
||||||
if ( gpItem->exists() == true)
|
if ( gpItem->exists() == true)
|
||||||
{
|
{
|
||||||
@@ -619,6 +629,9 @@ void UpdateItemStatsPanel()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case EDITING_RANDOMITEM:
|
||||||
|
mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 384, pUpdateItemStatsPanelText[8] );
|
||||||
|
break;
|
||||||
case EDITING_OWNERSHIP:
|
case EDITING_OWNERSHIP:
|
||||||
mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 384, pUpdateItemStatsPanelText[5] );
|
mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 384, pUpdateItemStatsPanelText[5] );
|
||||||
return;
|
return;
|
||||||
@@ -1299,6 +1312,51 @@ void RemoveKeysGUI()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SetupRandomItemGUI()
|
||||||
|
{
|
||||||
|
CHAR16 str[20];
|
||||||
|
swprintf( str, L"%d", ( *gpItem )[0]->data.objectStatus );
|
||||||
|
AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 380, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT );
|
||||||
|
swprintf( str, L"%d", ( *gpItem )[0]->data.bTrap );
|
||||||
|
AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 400, 25, 15, MSYS_PRIORITY_NORMAL, str, 2, INPUTTYPE_NUMERICSTRICT );
|
||||||
|
if ( gpEditingItemPool )
|
||||||
|
{
|
||||||
|
swprintf( str, L"%d", 100 - gWorldItems[gpEditingItemPool->iItemIndex].ubNonExistChance );
|
||||||
|
AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ExtractAndUpdateRandomItemGUI()
|
||||||
|
{
|
||||||
|
//Update the equipment status
|
||||||
|
INT32 i = GetNumericStrictValueFromField( 1 );
|
||||||
|
if ( i == -1 )
|
||||||
|
i = 20 + Random( 81 );
|
||||||
|
else
|
||||||
|
i = min( i, 100 );
|
||||||
|
|
||||||
|
( *gpItem )[0]->data.objectStatus = (INT8)i;
|
||||||
|
SetInputFieldStringWithNumericStrictValue( 1, i );
|
||||||
|
|
||||||
|
//Update the trap level
|
||||||
|
i = GetNumericStrictValueFromField( 2 );
|
||||||
|
i = ( i == -1 ) ? 0 : min( i, 20 );
|
||||||
|
( *gpItem )[0]->data.bTrap = (INT8)i;
|
||||||
|
SetInputFieldStringWithNumericStrictValue( 2, i );
|
||||||
|
if ( gpEditingItemPool )
|
||||||
|
{
|
||||||
|
giDefaultExistChance = GetNumericStrictValueFromField( 3 );
|
||||||
|
giDefaultExistChance = ( giDefaultExistChance == -1 ) ? 100 : max( 1, min( giDefaultExistChance, 100 ) );
|
||||||
|
gWorldItems[gpEditingItemPool->iItemIndex].ubNonExistChance = (UINT8)( 100 - giDefaultExistChance );
|
||||||
|
SetInputFieldStringWithNumericStrictValue( 3, giDefaultExistChance );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void RemoveRandomItemGUI()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void SetupActionItemsGUI()
|
void SetupActionItemsGUI()
|
||||||
{
|
{
|
||||||
CHAR16 str[4];
|
CHAR16 str[4];
|
||||||
|
|||||||
Reference in New Issue
Block a user