new feature: 'Move item' assignment allows quick and easy mass transfer of items between city sectors.

Warning: GameDir >= r1723 is required.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6280 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2013-08-11 15:22:29 +00:00
parent fd8b146296
commit 8171fdbe7e
22 changed files with 1045 additions and 45 deletions
+11 -3
View File
@@ -2045,15 +2045,17 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
if ( guiCurrentSaveGameVersion >= SOLDIER_PROFILES )
{
numBytesRead = ReadFieldByField(hFile, &this->usSoldierProfile, sizeof(usSoldierProfile), sizeof(UINT16), numBytesRead);
numBytesRead = ReadFieldByField(hFile, &this->usItemMoveSectorID, sizeof(usItemMoveSectorID), sizeof(UINT8), numBytesRead);
numBytesRead = ReadFieldByField(hFile, &this->ubFiller, sizeof(ubFiller), sizeof(UINT8), numBytesRead);
}
else
{
this->usSoldierProfile = 0;
this->usItemMoveSectorID = 0;
// as we added new variables, fillersize was reduced, here we account for that. We have to also read the existing fillers that now do not exist anymore
const UINT8 tmp = sizeof(usSoldierProfile);
const UINT8 tmp = sizeof(usSoldierProfile) + sizeof(usItemMoveSectorID);
UINT8 blarg[tmp];
numBytesRead = ReadFieldByField(hFile, &blarg, tmp, sizeof(UINT8), numBytesRead);
@@ -2067,10 +2069,11 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
this->usMultiTurnAction = 0;
this->bAIIndex = 0;
this->usSoldierProfile = 0;
this->usItemMoveSectorID = 0;
// as we added new variables, fillersize was reduced, here we account for that. We have to also read the existing fillers that now do not exist anymore
// +1 for padding
const UINT8 tmp = sizeof(bOverTurnAPS) + sizeof(this->sMTActionGridNo) + sizeof(usMultiTurnAction) + sizeof(bAIIndex) + 1 + sizeof(usSoldierProfile);
const UINT8 tmp = sizeof(bOverTurnAPS) + sizeof(this->sMTActionGridNo) + sizeof(usMultiTurnAction) + sizeof(bAIIndex) + 1 + sizeof(usSoldierProfile) + sizeof(usItemMoveSectorID);
UINT8 blarg[tmp];
numBytesRead = ReadFieldByField(hFile, &blarg, tmp, sizeof(UINT8), numBytesRead);
@@ -2125,6 +2128,11 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
while((buffer%4) > 0)
buffer++;
for(int i = 0; i < sizeof(usItemMoveSectorID); ++i)
buffer++;
while((buffer%4) > 0)
buffer++;
for(int i = 0; i < sizeof(ubFiller); ++i)
buffer++;
while((buffer%4) > 0)
+810 -20
View File
File diff suppressed because it is too large Load Diff
+15 -4
View File
@@ -58,12 +58,13 @@ enum
REPAIR,
TRAIN_SELF,
TRAIN_TOWN,
TRAIN_MOBILE, // HEADROCK HAM 3.6: Training mobile militia.
TRAIN_MOBILE, // HEADROCK HAM 3.6: Training mobile militia.
TRAIN_TEAMMATE,
TRAIN_BY_OTHER,
FACILITY_STAFF, // HEADROCK HAM 3.6: Operating a facility for strategic gain.
FACILITY_EAT, // added by Flugente
FACILITY_REST, // HEADROCK HAM 3.6: Facility equivalent of resting (no assignment)
MOVE_EQUIPMENT, // added by Flugente: move items from one city sector to another
FACILITY_STAFF, // HEADROCK HAM 3.6: Operating a facility for strategic gain.
FACILITY_EAT, // added by Flugente
FACILITY_REST, // HEADROCK HAM 3.6: Facility equivalent of resting (no assignment)
FACILITY_INTERROGATE_PRISONERS, // added by Flugente
ASSIGNMENT_DEAD,
ASSIGNMENT_UNCONCIOUS, // unused
@@ -194,6 +195,8 @@ UINT8 CalculateRepairPointsForRepairman(SOLDIERTYPE *pSoldier, UINT16 *pusMaxPts
UINT32 CalculateInterrogationValue(SOLDIERTYPE *pSoldier, UINT16 *pusMaxPts );
UINT32 CalculatePrisonGuardValue(SOLDIERTYPE *pSoldier, UINT16 *pusMaxPts );
// Flugente: determine max items we can move, and the sector distance
// get bonus tarining pts due to an instructor for this student
// HEADROCK HAM 3.5: Three functions below have lost an argument which is no longer required ("uiAtGunRange", which was "uiAtFacility" in HAM 3.4)
INT16 GetBonusTrainingPtsDueToInstructor( SOLDIERTYPE *pInstructor, SOLDIERTYPE *pStudent, INT8 bTrainStat, UINT16 *pusMaxPts );
@@ -217,6 +220,7 @@ extern INT32 ghSquadBox;
extern INT32 ghVehicleBox;
extern INT32 ghRepairBox;
extern INT32 ghTrainingBox;
extern INT32 ghMoveItemBox;
extern INT32 ghAttributeBox;
extern INT32 ghRemoveMercAssignBox;
extern INT32 ghContractBox;
@@ -243,6 +247,7 @@ extern MOUSE_REGION gFacilityMenuRegion[];
extern BOOLEAN fShownContractMenu;
extern BOOLEAN fShownAssignmentMenu;
extern BOOLEAN fShowRepairMenu;
extern BOOLEAN fShowMoveItemMenu;
extern BOOLEAN fFirstClickInAssignmentScreenMask;
@@ -279,6 +284,12 @@ void VehicleMenuBtnCallback(MOUSE_REGION * pRegion, INT32 iReason );
void CreateDestroyMouseRegionForRepairMenu( void );
void RepairMenuMvtCallback(MOUSE_REGION * pRegion, INT32 iReason );
void RepairMenuBtnCallback( MOUSE_REGION * pRegion, INT32 iReason );
// Flugente: move item menu
void CreateDestroyMouseRegionForMoveItemMenu( void );
void MoveItemMenuMvtCallback(MOUSE_REGION * pRegion, INT32 iReason );
void MoveItemMenuBtnCallback( MOUSE_REGION * pRegion, INT32 iReason );
// HEADROCK HAM 3.6: Facility Menu
void CreateDestroyMouseRegionForFacilityMenu( void );
void FacilityMenuMvtCallback(MOUSE_REGION * pRegion, INT32 iReason );
+1 -1
View File
@@ -99,7 +99,7 @@ BOOLEAN fZoomFlag = FALSE;
extern POPUP* gMapInventoryFilterPopup;
extern BOOLEAN gfMapInventoryFilterPopupVisible;
extern BOOLEAN gfQueueRecreateMapInventoryFilterMenu;
extern UINT32 guiMapInvenFilterButton[ 9 ];
extern UINT32 guiMapInvenFilterButton[ MAP_INVENTORY_FILTER_BUTTONS ];
extern void CreateMapInventoryFilterMenu( );
// used for ETA border drawing
@@ -193,8 +193,8 @@ UINT32 guiMapInvenZoomButton;
UINT32 guiMapInvenSortButtonImage[4];
UINT32 guiMapInvenSortButton[4];
UINT32 guiMapInvenFilterButtonImage[9];
UINT32 guiMapInvenFilterButton[9];
UINT32 guiMapInvenFilterButtonImage[MAP_INVENTORY_FILTER_BUTTONS];
UINT32 guiMapInvenFilterButton[MAP_INVENTORY_FILTER_BUTTONS];
@@ -281,6 +281,7 @@ void MapInventoryPoolSortAttachmentsBtn( GUI_BUTTON *btn, INT32 reason );
void MapInventoryPoolEjectAmmoBtn( GUI_BUTTON *btn, INT32 reason );
// HEADROCK HAM 5: Preliminary Filter Button
void MapInventoryPoolFilterBtn( GUI_BUTTON *btn, INT32 reason );
void MapInventoryPoolFilterBtnMoveItemDisplay( GUI_BUTTON *btn, INT32 reason ); // Flugente
void DisplayCurrentSector( void );
void ResizeInventoryList( void );
void ClearUpTempUnSeenList( void );
@@ -341,6 +342,18 @@ void MapInventoryFilterToggle( UINT32 uiFlags );
void MapInventoryFilterSet( UINT32 uiFlags );
void HandleSetFilterButtons();
// Flugente: show wether an item is set to be ignored by the 'move item' assignment. This can be toggled in strategic inventory.
static BOOLEAN fShowMoveItem = TRUE;
BOOLEAN IsShowMoveItem()
{
return (fShowMoveItem && guiCurrentScreen == MAP_SCREEN);
}
void ToggleShowMoveItem()
{
fShowMoveItem = !fShowMoveItem;
}
// load the background panel graphics for inventory
BOOLEAN LoadInventoryPoolGraphic( void )
{
@@ -495,7 +508,6 @@ void RenderItemsForCurrentPageOfInventoryPool( void )
return;
}
BOOLEAN RenderItemInPoolSlot( INT32 iCurrentSlot, INT32 iFirstSlotOnPage )
{
// render item in this slot of the list
@@ -611,6 +623,7 @@ BOOLEAN RenderItemInPoolSlot( INT32 iCurrentSlot, INT32 iFirstSlotOnPage )
}
}
// Flugente: militia equipment
if( gGameExternalOptions.fMilitiaUseSectorInventory && ( pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].usFlags & WORLD_ITEM_TABOO_FOR_MILITIA_EQ_ALL ) )
{
//Shade the item, but only if it is an active item!
@@ -627,6 +640,19 @@ BOOLEAN RenderItemInPoolSlot( INT32 iCurrentSlot, INT32 iFirstSlotOnPage )
}
}
// Flugente: move item assignment ignore marker
if( ( IsShowMoveItem() && pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].usFlags & WORLD_ITEM_MOVE_ASSIGNMENT_IGNORE ) )
{
//Shade the item, but only if it is an active item!
if ( pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object.exists() == true)
{
// colour depends on flag
UINT16 usColor = Get16BPPColor( FROMRGB( 254, 190, 133 ) );
DrawHatchOnInventory_MilitiaAccess( guiSAVEBUFFER, sX, sY, MAP_INVEN_SLOT_WIDTH, MAP_INVEN_SLOT_IMAGE_HEIGHT , usColor);
}
}
// the name
wcscpy( sString, ShortItemNames[ pInventoryPoolList[ iCurrentSlot + iFirstSlotOnPage ].object.usItem ] );
@@ -1330,7 +1356,14 @@ void MapInvenPoolSlots(MOUSE_REGION * pRegion, INT32 iReason )
{
if ( gpItemPointer == NULL )
{
if ( _KeyDown ( TAB ) && gGameExternalOptions.fMilitiaUseSectorInventory )
if ( _KeyDown ( TAB ) && _KeyDown ( CTRL ) )
{
if ( pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCounter ].usFlags & WORLD_ITEM_MOVE_ASSIGNMENT_IGNORE )
pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCounter ].usFlags &= ~WORLD_ITEM_MOVE_ASSIGNMENT_IGNORE;
else
pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCounter ].usFlags |= WORLD_ITEM_MOVE_ASSIGNMENT_IGNORE;
}
else if ( _KeyDown ( TAB ) && gGameExternalOptions.fMilitiaUseSectorInventory )
{
pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCounter ].object[0]->data.sObjectFlag &= ~(TAKEN_BY_MILITIA_TABOO_GREEN|TAKEN_BY_MILITIA_TABOO_BLUE);
@@ -1403,7 +1436,14 @@ void MapInvenPoolSlots(MOUSE_REGION * pRegion, INT32 iReason )
*/
}
if ( _KeyDown ( TAB ) && gGameExternalOptions.fMilitiaUseSectorInventory )
if ( _KeyDown ( TAB ) && _KeyDown ( CTRL ) )
{
if ( pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCounter ].usFlags & WORLD_ITEM_MOVE_ASSIGNMENT_IGNORE )
pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCounter ].usFlags &= ~WORLD_ITEM_MOVE_ASSIGNMENT_IGNORE;
else
pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCounter ].usFlags |= WORLD_ITEM_MOVE_ASSIGNMENT_IGNORE;
}
else if ( _KeyDown ( TAB ) && gGameExternalOptions.fMilitiaUseSectorInventory )
{
pInventoryPoolList[ ( iCurrentInventoryPoolPage * MAP_INVENTORY_POOL_SLOT_COUNT ) + iCounter ].object[0]->data.sObjectFlag &= ~(TAKEN_BY_MILITIA_TABOO_GREEN|TAKEN_BY_MILITIA_TABOO_BLUE);
@@ -1694,6 +1734,18 @@ void CreateMapInventoryButtons( void )
ButtonList[ guiMapInvenFilterButton[ 8 ] ]->UserData[2] = 0;
ButtonList[ guiMapInvenFilterButton[ 8 ] ]->UserData[3] = IC_MAPFILTER_MISC;
// Flugente: toggle button for move item display
guiMapInvenFilterButtonImage[ 9 ]= LoadButtonImage( "INTERFACE\\sector_inventory_buttons.sti" , 36, 36, -1, 37, -1 );
guiMapInvenFilterButton[ 9 ] = QuickCreateButton( guiMapInvenFilterButtonImage[ 9 ], INVEN_POOL_X+345 + xResOffset, INVEN_POOL_Y+10,
BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST,
NULL, (GUI_CALLBACK)MapInventoryPoolFilterBtnMoveItemDisplay );
SetButtonFastHelpText( guiMapInvenFilterButton[ 9 ], pMapScreenInvenButtonHelpText[ 17 ] );
ButtonList[ guiMapInvenFilterButton[ 9 ] ]->UserData[0] = 0;
ButtonList[ guiMapInvenFilterButton[ 9 ] ]->UserData[1] = IC_MAPFILTER_MISC;
ButtonList[ guiMapInvenFilterButton[ 9 ] ]->UserData[2] = 0;
ButtonList[ guiMapInvenFilterButton[ 9 ] ]->UserData[3] = IC_MAPFILTER_MISC;
/*
guiMapInvenFilterButtonImage[ 9 ]= LoadButtonImage( "INTERFACE\\sector_inventory_buttons.sti" , 19, 17, -1, 18, -1 );
guiMapInvenFilterButton[ 9 ] = QuickCreateButton( guiMapInvenFilterButtonImage[ 9 ], INVEN_POOL_X+349 + xResOffset, INVEN_POOL_Y+10,
@@ -1745,7 +1797,7 @@ void DestroyMapInventoryButtons( void )
// HEADROCK HAM 5: Filter button
if (iResolution >= _800x600 )
{
for (INT32 iCounter = 0; iCounter < 9; iCounter++)
for (INT32 iCounter = 0; iCounter < MAP_INVENTORY_FILTER_BUTTONS; iCounter++)
{
RemoveButton( guiMapInvenFilterButton[ iCounter ] );
UnloadButtonImage( guiMapInvenFilterButtonImage[ iCounter ] );
@@ -2555,6 +2607,51 @@ void MapInventoryPoolFilterBtn( GUI_BUTTON *btn, INT32 reason )
}
}
// Flugente: display wether items that shoul be ignored for 'move item' assignment should be marked
void MapInventoryPoolFilterBtnMoveItemDisplay( GUI_BUTTON *btn, INT32 reason )
{
if (reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ||
reason & MSYS_CALLBACK_REASON_RBUTTON_DWN )
{
if (!(btn->uiFlags & (BUTTON_CLICKED_ON)))
{
// Set as "clicked on", but do nothing until the mouse is released.
btn->uiFlags |= (BUTTON_CLICKED_ON);
}
}
if (reason & MSYS_CALLBACK_REASON_LBUTTON_UP)
{
if (btn->uiFlags & (BUTTON_CLICKED_ON))
{
ToggleShowMoveItem();
// The refresh function moves the necessary items from the Seen to the Unseen inventories, and vice versa.
RefreshSeenAndUnseenPools();
BlitInventoryPoolGraphic( );
HandleSetFilterButtons();
}
}
/*if (reason & MSYS_CALLBACK_REASON_RBUTTON_UP)
{
if (btn->uiFlags & (BUTTON_CLICKED_ON))
{
if (btn->UserData[2] == 0)
{
MapInventoryFilterSet( btn->UserData[3] );
}
else
{
MapInventoryFilterToggle( btn->UserData[3] );
}
// HEADROCK HAM 5: Disabled for now, as we've got buttons for this.
//CreateMapInventoryFilterMenu( );
}
}*/
}
// HEADROCK HAM 5: Zoom button.
// This button handles toggling between the small-scale inventory (items shown at normal size, similar to merc's inventory)
// and the big-item inventory (which shows BigItem pics and is therefore much easier to examine in detail).
@@ -5091,6 +5188,16 @@ void HandleSetFilterButtons()
{
ButtonList[guiMapInvenFilterButton[ 8 ]]->uiFlags &=~ (BUTTON_CLICKED_ON);
}
// Flugente: move item display
if ( IsShowMoveItem() )
{
ButtonList[guiMapInvenFilterButton[ 9 ]]->uiFlags |= (BUTTON_CLICKED_ON);
}
else
{
ButtonList[guiMapInvenFilterButton[ 9 ]]->uiFlags &=~ (BUTTON_CLICKED_ON);
}
}
// Flugente: handle various cooldown functions in a sector
@@ -7,6 +7,9 @@
// this is how close one has to be in the loaded sector to pickup an item
#define MAX_DISTANCE_TO_PICKUP_ITEM 5
// Flugente: number of map inventory filter buttons
#define MAP_INVENTORY_FILTER_BUTTONS 10 // Flugente: 9 -> 10
// number of inventory slots
//#define MAP_INVENTORY_POOL_SLOT_COUNT 84 //45 //45
+8
View File
@@ -2274,6 +2274,14 @@ void UpdateMapScreenAssignmentPositions( void )
SetBoxPosition( ghRepairBox, pPoint );
}
if( fShowMoveItemMenu )
{
GetBoxPosition( ghMoveItemBox, &pPoint);
pPoint.iY = giBoxY + ( GetFontHeight( MAP_SCREEN_FONT ) + 2 ) * ASSIGN_MENU_MOVE_ITEMS;
SetBoxPosition( ghMoveItemBox, pPoint );
}
// HEADROCK HAM 3.6: Facility Menu
if( fShowFacilityMenu )
{
+1
View File
@@ -126,6 +126,7 @@ enum {
ASSIGN_MENU_VEHICLE,
ASSIGN_MENU_REPAIR,
ASSIGN_MENU_TRAIN,
ASSIGN_MENU_MOVE_ITEMS, // added by Flugente
ASSIGN_MENU_FACILITY, // HEAROCK HAM 3.6: Facility List menu
ASSIGN_MENU_CANCEL,
MAX_ASSIGN_STRING_COUNT,
+4
View File
@@ -6912,6 +6912,10 @@ void GetMapKeyboardInput( UINT32 *puiNewEvent )
{
fShowRepairMenu = FALSE;
}
else if( fShowMoveItemMenu == TRUE )
{
fShowMoveItemMenu = FALSE;
}
// HEADROCK HAM 3.6: Facility Menu
else if( fShowFacilityMenu == TRUE )
{
+18 -4
View File
@@ -1652,6 +1652,8 @@ void HandleRenderFaceAdjustments( FACETYPE *pFace, BOOLEAN fDisplayBuffer, BOOLE
BOOLEAN drawOpponentCount = FALSE;
CHAR16 wShortText[ 8 ]; // added by Flugente to display sector names
// If we are using an extern buffer...
if ( fUseExternBuffer )
{
@@ -2413,6 +2415,18 @@ void HandleRenderFaceAdjustments( FACETYPE *pFace, BOOLEAN fDisplayBuffer, BOOLE
break;
case MOVE_EQUIPMENT:
{
sIconIndex = 25;
fDoIcon = TRUE;
GetShortSectorString( SECTORX(pSoldier->usItemMoveSectorID), SECTORY(pSoldier->usItemMoveSectorID), wShortText );
fShowNumber = TRUE;
fShowMaximum = TRUE;
}
break;
case FACILITY_INTERROGATE_PRISONERS:
sIconIndex = 23;
fDoIcon = TRUE;
@@ -2452,10 +2466,10 @@ void HandleRenderFaceAdjustments( FACETYPE *pFace, BOOLEAN fDisplayBuffer, BOOLE
if ( fShowMaximum )
{
/*if ( pSoldier->bAssignment == FACILITY_INTERROGATE_PRISONERS )
swprintf( sString, L"%2.2f/%d", bPtsAvailable, usMaximumPts );
else*/
swprintf( sString, L"%d/%d", sPtsAvailable, usMaximumPts );
if ( pSoldier->bAssignment == MOVE_EQUIPMENT )
swprintf( sString, L"%s", wShortText );
else
swprintf( sString, L"%d/%d", sPtsAvailable, usMaximumPts );
}
else
{
+1
View File
@@ -266,6 +266,7 @@ UINT32 guiAttachmentSlot;
// HEADROCK HAM 4: This replaces "Misc" icons.
extern UINT32 guiItemInfoAdvancedIcon; // added here by Flugente
UINT32 guiItemInfoMoveItemDisplay; // added here by Flugente. We need a second name, otherwise the two displays in Strategic Inventory and UDB will interfere with each other
UINT32 guiItemGraphic;
UINT32 guiMoneyGraphicsForDescBox;
+4 -1
View File
@@ -1274,9 +1274,12 @@ public:
UINT16 usSoldierProfile; // Flugente: allow linking to a xml-based profile specifiying name, visuals, traits etc.
// Flugente: sector ID for move items assignemnt
UINT8 usItemMoveSectorID;
// Flugente: Decrease this filler by 1 for each new UINT8 / BOOLEAN variable, so we can maintain savegame compatibility!!
// Note that we also have to account for padding, so you might need to substract more than just the size of the new variables
UINT8 ubFiller[8];
UINT8 ubFiller[7];
#ifdef JA2UB
//ja25
+9 -4
View File
@@ -6,20 +6,25 @@
#define WORLD_ITEM_DONTRENDER 0x0001
#define WOLRD_ITEM_FIND_SWEETSPOT_FROM_GRIDNO 0x0002
#define WOLRD_ITEM_FIND_SWEETSPOT_FROM_GRIDNO 0x0002
#define WORLD_ITEM_ARMED_BOMB 0x0040
#define WORLD_ITEM_SCIFI_ONLY 0x0080
#define WORLD_ITEM_REALISTIC_ONLY 0x0100
#define WORLD_ITEM_REALISTIC_ONLY 0x0100
#define WORLD_ITEM_REACHABLE 0x0200
#define WORLD_ITEM_GRIDNO_NOT_SET_USE_ENTRY_POINT 0x0400
#define WORLD_ITEM_GRIDNO_NOT_SET_USE_ENTRY_POINT 0x0400
//Kaiden: This constant is to flag items that an enemy drops when they die.
#define WORLD_ITEM_DROPPED_FROM_ENEMY 0x0800
#define WORLD_ITEM_DROPPED_FROM_ENEMY 0x0800
// Flugente: when equipping militia from inventory, do not consider this item
#define WORLD_ITEM_TABOO_FOR_MILITIA_EQ_ELITE 0x1000
#define WORLD_ITEM_TABOO_FOR_MILITIA_EQ_BLUE 0x2000
#define WORLD_ITEM_TABOO_FOR_MILITIA_EQ_GREEN 0x4000
// Flugente: when moving items via 'move items' assignment, ignore this item
#define WORLD_ITEM_MOVE_ASSIGNMENT_IGNORE 0x8000
#define WORLD_ITEM_TABOO_FOR_MILITIA_EQ_ALL 0x7000
class WORLDITEM;//dnl ch33 120909
+5
View File
@@ -1651,6 +1651,7 @@ STR16 pAssignmentStrings[] =
L"游击队", //L"M.Militia", //training moving militia units //ham3.6
L"教练", // training a teammate
L"学员", // being trained by someone else
L"MoveItem", // move items // TODO.Translate
L"工作", // L"Staff", // operating a strategic facility //ham3.6
L"饮食", // eating at a facility (cantina etc.)
L"休息", //L"Rest",// Resting at a facility //ham3.6
@@ -1737,6 +1738,7 @@ STR16 pPersonnelAssignmentStrings[] =
L"训练游击队",
L"教练",
L"学员",
L"MoveItem", // move items // TODO.Translate
L"设施职员",
L"饮食", // eating at a facility (cantina etc.)
L"在设施里休养",
@@ -1784,6 +1786,7 @@ STR16 pLongAssignmentStrings[] =
L"训练游击队", //L"Train Mobiles",
L"训练队友",
L"学员",
L"MoveItem", // move items // TODO.Translate
L"设施职员", //L"Staff Facility",
L"休息", //L"Rest at Facility",
L"审讯俘虏", // L"Interrogate prisoners",
@@ -1908,6 +1911,7 @@ STR16 pAssignMenuStrings[] =
L"交通工具",
L"修理",
L"训练",
L"MoveItem", // move items // TODO.Translate
L"设施", // L"Facility", // the merc is using/staffing a facility //ham3.6
L"取消",
};
@@ -3254,6 +3258,7 @@ STR16 pMapScreenInvenButtonHelpText[] =
L"|L|e|f|t |C|l|i|c|k: 切换是否显示套装包\n|R|i|g|h|t |C|l|i|c|k: 只显示套装包", // HEADROCK HAM 5: Filter Button
// 16 - 20
L"|L|e|f|t |C|l|i|c|k: 切换是否显示杂项物品\n|R|i|g|h|t |C|l|i|c|k: 只显示杂项物品", // HEADROCK HAM 5: Filter Button
L"|L|e|f|t |C|l|i|c|k: Toggle Move Item Display", // Flugente: move item display // TODO.Translate
};
STR16 pMapScreenBottomFastHelp[] =
+5
View File
@@ -1647,6 +1647,7 @@ STR16 pAssignmentStrings[] =
L"M.Militia", //training moving militia units // TODO.Translate
L"Trainer", // training a teammate
L"Student", // being trained by someone else
L"MoveItem", // move items // TODO.Translate
L"Staff", // operating a strategic facility // TODO.Translate
L"Eat", // eating at a facility (cantina etc.) // TODO.Translate
L"Rest", // Resting at a facility // TODO.Translate
@@ -1733,6 +1734,7 @@ STR16 pPersonnelAssignmentStrings[] =
L"Training Mobile Militia", // TODO.Translate
L"Trainer", // training a teammate
L"Student", // being trained by someone else
L"MoveItem", // move items // TODO.Translate
L"Facility Staff", // TODO.Translate
L"Eat", // eating at a facility (cantina etc.) // TODO.Translate
L"Resting at Facility", // TODO.Translate
@@ -1780,6 +1782,7 @@ STR16 pLongAssignmentStrings[] =
L"Train Mobiles", // TODO.Translate
L"Trainer", // training a teammate
L"Student", // being trained by someone else
L"MoveItem", // move items // TODO.Translate
L"Staff Facility", // TODO.Translate
L"Rest at Facility", // TODO.Translate
L"Interrogate prisoners", // Flugente: interrogate prisoners TODO.Translate
@@ -1904,6 +1907,7 @@ STR16 pAssignMenuStrings[] =
L"Vehicle", // the merc is in a vehicle
L"Repair", // the merc is repairing items
L"Train", // the merc is training
L"MoveItem", // move items // TODO.Translate
L"Facility", // the merc is using/staffing a facility // TODO.Translate
L"Stop", // cancel this menu
};
@@ -3254,6 +3258,7 @@ STR16 pMapScreenInvenButtonHelpText[] =
L"|L|e|f|t |C|l|i|c|k: Toggle Kits\n|R|i|g|h|t |C|l|i|c|k: Show only Kits", // HEADROCK HAM 5: Filter Button
// 16 - 20
L"|L|e|f|t |C|l|i|c|k: Toggle Misc. Items\n|R|i|g|h|t |C|l|i|c|k: Show only Misc. Items", // HEADROCK HAM 5: Filter Button
L"|L|e|f|t |C|l|i|c|k: Toggle Move Item Display", // Flugente: move item display // TODO.Translate
};
STR16 pMapScreenBottomFastHelp[] =
+5
View File
@@ -1651,6 +1651,7 @@ STR16 pAssignmentStrings[] =
L"M.Militia", //training moving militia units
L"Trainer", // training a teammate
L"Student", // being trained by someone else
L"MoveItem", // move items
L"Staff", // operating a strategic facility
L"Eat", // eating at a facility (cantina etc.)
L"Rest", // Resting at a facility
@@ -1737,6 +1738,7 @@ STR16 pPersonnelAssignmentStrings[] =
L"Training Mobile Militia", // Missing
L"Trainer",
L"Student",
L"MoveItem", // move items
L"Facility Staff", // Missing
L"Eat", // eating at a facility (cantina etc.)
L"Resting at Facility", // Missing
@@ -1784,6 +1786,7 @@ STR16 pLongAssignmentStrings[] =
L"Train Mobiles", // Missing
L"Train Teammate",
L"Student",
L"MoveItem", // move items
L"Staff Facility", // Missing
L"Rest at Facility", // Missing
L"Interrogate prisoners", // Flugente: interrogate prisoners
@@ -1908,6 +1911,7 @@ STR16 pAssignMenuStrings[] =
L"Vehicle", // the merc is in a vehicle
L"Repair", // the merc is repairing items
L"Train", // the merc is training
L"MoveItem", // move items
L"Facility", // the merc is using/staffing a facility
L"Cancel", // cancel this menu
};
@@ -3254,6 +3258,7 @@ STR16 pMapScreenInvenButtonHelpText[] =
L"|L|e|f|t |C|l|i|c|k: Toggle Kits\n|R|i|g|h|t |C|l|i|c|k: Show only Kits", // HEADROCK HAM 5: Filter Button
// 16 - 20
L"|L|e|f|t |C|l|i|c|k: Toggle Misc. Items\n|R|i|g|h|t |C|l|i|c|k: Show only Misc. Items", // HEADROCK HAM 5: Filter Button
L"|L|e|f|t |C|l|i|c|k: Toggle Move Item Display", // Flugente: move item display
};
STR16 pMapScreenBottomFastHelp[] =
+5
View File
@@ -1655,6 +1655,7 @@ STR16 pAssignmentStrings[] =
L"Milice M.", //training moving militia units
L"Entraîneur", // training a teammate //!!! Too long ? (11 char) -> 11 chars is OK
L"Élève", // being trained by someone else
L"MoveItem", // move items // TODO.Translate
L"Exploitation", // operating a strategic facility
L"Mange", // eating at a facility (cantina etc.) // TODO.Translate
L"Repos", // Resting at a facility
@@ -1741,6 +1742,7 @@ STR16 pPersonnelAssignmentStrings[] =
L"Forme la milice mobile",//!!! Too long ? -> It is OK
L"Entraîneur",
L"Élève",
L"MoveItem", // move items // TODO.Translate
L"Exploitation infras.", //!!! Idem ? -> The current translation is OK
L"Manger", // eating at a facility (cantina etc.)
L"Repos infras.",
@@ -1788,6 +1790,7 @@ STR16 pLongAssignmentStrings[] =
L"Milice mobile",
L"Entraîneur",
L"Elève",
L"MoveItem", // move items // TODO.Translate
L"Exploitation infras.", //!!! Idem ? -> Current translation is OK
L"Repos infras.",
L"Interrogate prisoners", // Flugente: interrogate prisoners // TODO.Translate
@@ -1912,6 +1915,7 @@ STR16 pAssignMenuStrings[] =
L"Transport", // the merc is in a vehicle
L"Réparation", // the merc is repairing items
L"Formation", // the merc is training
L"MoveItem", // move items // TODO.Translate
L"Construction", // the merc is using/staffing a facility
L"Annuler", // cancel this menu
};
@@ -3261,6 +3265,7 @@ STR16 pMapScreenInvenButtonHelpText[] =
L"|L|e|f|t |C|l|i|c|k: Toggle Kits\n|R|i|g|h|t |C|l|i|c|k: Show only Kits", // HEADROCK HAM 5: Filter Button
// 16 - 20
L"|L|e|f|t |C|l|i|c|k: Toggle Misc. Items\n|R|i|g|h|t |C|l|i|c|k: Show only Misc. Items", // HEADROCK HAM 5: Filter Button
L"|L|e|f|t |C|l|i|c|k: Toggle Move Item Display", // Flugente: move item display // TODO.Translate
};
STR16 pMapScreenBottomFastHelp[] =
+5
View File
@@ -1660,6 +1660,7 @@ STR16 pAssignmentStrings[] =
L"M.Miliz", //training moving militia units
L"Trainer", // training a teammate
L"Rekrut", // being trained by someone else
L"Umzug", // move items // TODO.Translate
L"Betrieb", // operating a strategic facility
L"Essen", // eating at a facility (cantina etc.)
L"Pause", // Resting at a facility
@@ -1742,6 +1743,7 @@ STR16 pPersonnelAssignmentStrings[] =
L"Trainiere Mobile Miliz",
L"Trainer",
L"Rekrut",
L"Umzug/ move items
L"Betriebspersonal",
L"Essen", // eating at a facility (cantina etc.)
L"Betriebspause",
@@ -1787,6 +1789,7 @@ STR16 pLongAssignmentStrings[] =
L"Trainiere Mobile",
L"Trainer",
L"Rekrut",
L"MoveItem", // move items
L"Betriebspersonal",
L"Betriebspause",
L"Gefangene verhören", // Flugente: interrogate prisoners
@@ -1907,6 +1910,7 @@ STR16 pAssignMenuStrings[] =
L"Fahrzeug", // the merc is in a vehicle
L"Repar.", // the merc is repairing items
L"Training", // the merc is training
L"Umzug", // move items
L"Betrieb", // the merc is using/staffing a facility
L"Abbrechen", // cancel this menu
};
@@ -3241,6 +3245,7 @@ STR16 pMapScreenInvenButtonHelpText[] =
L"|L|i|n|k|e|r |K|l|i|c|k: Ein-/Ausblenden von Ausrüstung\n|R|e|c|h|t|e|r |K|l|i|c|k: Nur Ausrüstung anzeigen", // HEADROCK HAM 5: Filter Button
// 16 - 20
L"|L|i|n|k|e|r |K|l|i|c|k: Ein-/Ausblenden von anderen Gegenständen\n|R|e|c|h|t|e|r |K|l|i|c|k: Nur andere Gegenstände anzeigen", // HEADROCK HAM 5: Filter Button
L"|L|e|f|t |C|l|i|c|k: Toggle Move Item Display", // Flugente: move item display // TODO.Translate
};
STR16 pMapScreenBottomFastHelp[] =
+6 -1
View File
@@ -1642,7 +1642,8 @@ STR16 pAssignmentStrings[] =
L"Esercit.", // training a town to revolt
L"M.Militia", //training moving militia units // TODO.Translate
L"Istrutt.", // training a teammate
L"Studente", // being trained by someone else
L"Studente", // being trained by someone else
L"MoveItem", // move items // TODO.Translate
L"Staff", // operating a strategic facility // TODO.Translate
L"Eat", // eating at a facility (cantina etc.) // TODO.Translate
L"Rest", // Resting at a facility // TODO.Translate
@@ -1729,6 +1730,7 @@ STR16 pPersonnelAssignmentStrings[] =
L"Training Mobile Militia", // TODO.Translate
L"Allenatore",
L"Studente",
L"MoveItem", // move items // TODO.Translate
L"Facility Staff", // TODO.Translate
L"Eat", // eating at a facility (cantina etc.) // TODO.Translate
L"Resting at Facility", // TODO.Translate
@@ -1776,6 +1778,7 @@ STR16 pLongAssignmentStrings[] =
L"Train Mobiles", // TODO.Translate
L"Allena squadra",
L"Studente",
L"MoveItem", // move items // TODO.Translate
L"Staff Facility", // TODO.Translate
L"Rest at Facility", // TODO.Translate
L"Interrogate prisoners", // Flugente: interrogate prisoners TODO.Translate
@@ -1900,6 +1903,7 @@ STR16 pAssignMenuStrings[] =
L"Veicolo", // the merc is in a vehicle
L"Ripara", // the merc is repairing items
L"Si esercita", // the merc is training
L"MoveItem", // move items // TODO.Translate
L"Facility", // the merc is using/staffing a facility // TODO.Translate
L"Annulla", // cancel this menu
};
@@ -3248,6 +3252,7 @@ STR16 pMapScreenInvenButtonHelpText[] =
L"|L|e|f|t |C|l|i|c|k: Toggle Kits\n|R|i|g|h|t |C|l|i|c|k: Show only Kits", // HEADROCK HAM 5: Filter Button
// 16 - 20
L"|L|e|f|t |C|l|i|c|k: Toggle Misc. Items\n|R|i|g|h|t |C|l|i|c|k: Show only Misc. Items", // HEADROCK HAM 5: Filter Button
L"|L|e|f|t |C|l|i|c|k: Toggle Move Item Display", // Flugente: move item display // TODO.Translate
};
STR16 pMapScreenBottomFastHelp[] =
+5
View File
@@ -1659,6 +1659,7 @@ STR16 pAssignmentStrings[] =
L"R.Samoobr.", //training moving militia units
L"Instruk.", // training a teammate
L"Uczeń", // being trained by someone else
L"MoveItem", // move items // TODO.Translate
L"Staff", // operating a strategic facility // TODO.Translate
L"Eat", // eating at a facility (cantina etc.) // TODO.Translate
L"Rest", // Resting at a facility // TODO.Translate
@@ -1745,6 +1746,7 @@ STR16 pPersonnelAssignmentStrings[] =
L"Training Mobile Militia", // TODO.Translate
L"Instruktor",
L"Uczeń",
L"MoveItem", // move items // TODO.Translate
L"Facility Staff", // TODO.Translate
L"Eat", // eating at a facility (cantina etc.) // TODO.Translate
L"Resting at Facility", // TODO.Translate
@@ -1792,6 +1794,7 @@ STR16 pLongAssignmentStrings[] =
L"Train Mobiles", // TODO.Translate
L"Trenuj oddział",
L"Uczeń",
L"MoveItem", // move items // TODO.Translate
L"Staff Facility", // TODO.Translate
L"Rest at Facility", // TODO.Translate
L"Interrogate prisoners", // Flugente: interrogate prisoners TODO.Translate
@@ -1916,6 +1919,7 @@ STR16 pAssignMenuStrings[] =
L"Pojazd", // the merc is in a vehicle
L"Naprawa", // the merc is repairing items
L"Szkolenie", // the merc is training
L"MoveItem", // move items // TODO.Translate
L"Facility", // the merc is using/staffing a facility // TODO.Translate
L"Anuluj", // cancel this menu
};
@@ -3264,6 +3268,7 @@ STR16 pMapScreenInvenButtonHelpText[] =
L"|L|e|f|t |C|l|i|c|k: Toggle Kits\n|R|i|g|h|t |C|l|i|c|k: Show only Kits", // HEADROCK HAM 5: Filter Button
// 16 - 20
L"|L|e|f|t |C|l|i|c|k: Toggle Misc. Items\n|R|i|g|h|t |C|l|i|c|k: Show only Misc. Items", // HEADROCK HAM 5: Filter Button
L"|L|e|f|t |C|l|i|c|k: Toggle Move Item Display", // Flugente: move item display // TODO.Translate
};
STR16 pMapScreenBottomFastHelp[] =
+6 -1
View File
@@ -1650,7 +1650,8 @@ STR16 pAssignmentStrings[] =
L"Ополчение", // training a town to revolt
L"Мобил.гр.", //training moving militia units //M.Militia
L"Тренер", // training a teammate
L"Ученик", // being trained by someone else
L"Ученик", // being trained by someone else
L"MoveItem", // move items // TODO.Translate
L"Штат", // operating a strategic facility //Staff
L"Eat", // eating at a facility (cantina etc.) // TODO.Translate
L"Отдых", // Resting at a facility //Rest
@@ -1737,6 +1738,7 @@ STR16 pPersonnelAssignmentStrings[] =
L"Тренирует мобильную группу", //Training Mobile Militia
L"Тренер",
L"Ученик",
L"MoveItem", // move items // TODO.Translate
L"Работает с населением", //Facility Staff
L"Eat", // eating at a facility (cantina etc.) // TODO.Translate
L"Отдыхает", //Resting at Facility
@@ -1784,6 +1786,7 @@ STR16 pLongAssignmentStrings[] =
L"Тренирует мобильную группу", //Train Mobiles
L"Тренирует",
L"Обучается",
L"MoveItem", // move items // TODO.Translate
L"Работает с населением", //Staff Facility
L"Отдыхает в заведении", //Resting at Facility
L"Interrogate prisoners", // Flugente: interrogate prisoners TODO.Translate
@@ -1908,6 +1911,7 @@ STR16 pAssignMenuStrings[] =
L"Машина", // the merc is in a vehicle
L"Ремонт", // the merc is repairing items
L"Обучение", // the merc is training
L"MoveItem", // move items // TODO.Translate
L"Удобства", // the merc is using/staffing a facility //Facility
L"Отмена", // cancel this menu
};
@@ -3253,6 +3257,7 @@ STR16 pMapScreenInvenButtonHelpText[] =
L"|Л|е|в|ы|й| |щ|е|л|ч|о|к|: Скрыть наборы\n|П|р|а|в|ы|й| |щ|е|л|ч|о|к|: Показать наборы", // HEADROCK HAM 5: Filter Button
// 16 - 20
L"|Л|е|в|ы|й| |щ|е|л|ч|о|к|: Скрыть прочие предметы\n|П|р|а|в|ы|й| |щ|е|л|ч|о|к|: Показать прочие предметы", // HEADROCK HAM 5: Filter Button
L"|L|e|f|t |C|l|i|c|k: Toggle Move Item Display", // Flugente: move item display // TODO.Translate
};
STR16 pMapScreenBottomFastHelp[] =
+5
View File
@@ -1651,6 +1651,7 @@ STR16 pAssignmentStrings[] =
L"M.Militia", //training moving militia units // TODO.Translate
L"Trainer", // training a teammate
L"Student", // being trained by someone else
L"MoveItem", // move items // TODO.Translate
L"Staff", // operating a strategic facility // TODO.Translate
L"Eat", // eating at a facility (cantina etc.) // TODO.Translate
L"Rest", // Resting at a facility // TODO.Translate
@@ -1737,6 +1738,7 @@ STR16 pPersonnelAssignmentStrings[] =
L"Training Mobile Militia", // TODO.Translate
L"Trainer",
L"Student",
L"MoveItem", // move items // TODO.Translate
L"Facility Staff", // TODO.Translate
L"Eat", // eating at a facility (cantina etc.) // TODO.Translate
L"Resting at Facility", // TODO.Translate
@@ -1784,6 +1786,7 @@ STR16 pLongAssignmentStrings[] =
L"Train Mobiles", // TODO.Translate
L"Train Teammate",
L"Student",
L"MoveItem", // move items // TODO.Translate
L"Staff Facility", // TODO.Translate
L"Rest at Facility", // TODO.Translate
L"Interrogate prisoners", // Flugente: interrogate prisoners TODO.Translate
@@ -1908,6 +1911,7 @@ STR16 pAssignMenuStrings[] =
L"Vehicle", // the merc is in a vehicle
L"Repair", // the merc is repairing items
L"Train", // the merc is training
L"MoveItem", // move items // TODO.Translate
L"Facility", // the merc is using/staffing a facility // TODO.Translate
L"Cancel", // cancel this menu
};
@@ -3258,6 +3262,7 @@ STR16 pMapScreenInvenButtonHelpText[] =
L"|L|e|f|t |C|l|i|c|k: Toggle Kits\n|R|i|g|h|t |C|l|i|c|k: Show only Kits", // HEADROCK HAM 5: Filter Button
// 16 - 20
L"|L|e|f|t |C|l|i|c|k: Toggle Misc. Items\n|R|i|g|h|t |C|l|i|c|k: Show only Misc. Items", // HEADROCK HAM 5: Filter Button
L"|L|e|f|t |C|l|i|c|k: Toggle Move Item Display", // Flugente: move item display // TODO.Translate
};
STR16 pMapScreenBottomFastHelp[] =