void SetEditorSmoothingMode( UINT8 ubNewMode ) { UnclickEditorButtons( MAPINFO_RADIO_NORMAL, MAPINFO_RADIO_CAVES ); if( iCurrentTaskbar == TASK_BUILDINGS ) HideEditorButtons( BUILDING_NEW_ROOM, BUILDING_CAVE_DRAWING ); gfBasement = FALSE; gfCaves = FALSE; gMapInformation.ubEditorSmoothingType = SMOOTHING_NORMAL; switch( ubNewMode ) { case SMOOTHING_NORMAL: ClickEditorButton( MAPINFO_RADIO_NORMAL ); if( iCurrentTaskbar == TASK_BUILDINGS ) ShowEditorButtons( BUILDING_NEW_ROOM, BUILDING_MOVE_BUILDING ); EnableEditorButtons( BUILDING_SMART_WALLS, BUILDING_SMART_BROKEN_WALLS ); break; case SMOOTHING_BASEMENT: gfBasement = TRUE; ClickEditorButton( MAPINFO_RADIO_BASEMENT ); if( iCurrentTaskbar == TASK_BUILDINGS ) ShowEditorButtons( BUILDING_NEW_ROOM, BUILDING_KILL_BUILDING ); EnableEditorButtons( BUILDING_SMART_WALLS, BUILDING_SMART_BROKEN_WALLS ); break; case SMOOTHING_CAVES: gfCaves = TRUE; ClickEditorButton( MAPINFO_RADIO_CAVES ); if( iCurrentTaskbar == TASK_BUILDINGS ) ShowEditorButton( BUILDING_CAVE_DRAWING ); DisableEditorButtons( BUILDING_SMART_WALLS, BUILDING_SMART_BROKEN_WALLS ); break; default: AssertMsg( 0, "Attempting to set an illegal smoothing mode." ); break; } gMapInformation.ubEditorSmoothingType = ubNewMode; }
void SpecifyItemToEdit( OBJECTTYPE *pItem, INT32 iMapIndex ) { //Set the global item pointer to point to the new item if( gpItem == pItem ) return; if( gpItem != pItem ) { ExecuteItemStatsCmd( ITEMSTATS_APPLY ); RemoveItemGUI(); gpItem = pItem; if( gpItemPool ) { gpEditingItemPool = gpItemPool; } gsItemGridNo = (INT16)iMapIndex; } else RemoveItemGUI(); gfRenderTaskbar = TRUE; if( !gpItem ) { //Hide all edit features. gbEditingMode = EDITING_NOTHING; gsItemGridNo = -1; return; } //Setup the text mode InitTextInputModeWithScheme( DEFAULT_SCHEME ); if( iCurrentTaskbar == TASK_ITEMS ) ShowEditorButton( ITEMSTATS_HIDDEN_BTN ); //Determine the type of item so that we can determine the dynamic editing mode. AddUserInputField( NULL ); SetupGameTypeFlags(); if( Item[ gpItem->usItem ].usItemClass == IC_MONEY ) { gbEditingMode = EDITING_MONEY; SetupMoneyGUI(); } else if( gpItem->usItem == ACTION_ITEM ) { gbEditingMode = EDITING_ACTIONITEMS; SetupActionItemsGUI(); HideEditorButton( ITEMSTATS_HIDDEN_BTN ); } else if( gpItem->usItem == SWITCH ) { gbEditingMode = EDITING_TRIGGERS; SetupTriggersGUI(); HideEditorButton( ITEMSTATS_HIDDEN_BTN ); } else if( gpItem->usItem == OWNERSHIP ) { gbEditingMode = EDITING_OWNERSHIP; SetupOwnershipGUI(); HideEditorButton( ITEMSTATS_HIDDEN_BTN ); } else switch( Item[ gpItem->usItem ].usItemClass ) { case IC_GUN: gbEditingMode = EDITING_GUNS; SetupGunGUI(); break; case IC_AMMO: gbEditingMode = EDITING_AMMO; SetupAmmoGUI(); break; case IC_ARMOUR: gbEditingMode = EDITING_ARMOUR; SetupArmourGUI(); break; case IC_MEDKIT: case IC_KIT: case IC_MISC: case IC_FACE: case IC_BLADE: case IC_LAUNCHER: case IC_THROWING_KNIFE: case IC_MONEY: gbEditingMode = EDITING_EQUIPMENT; SetupEquipGUI(); break; case IC_THROWN: case IC_GRENADE: case IC_EXPLOSV: case IC_BOMB: gbEditingMode = EDITING_EXPLOSIVES; SetupExplosivesGUI(); break; case IC_KEY: gbEditingMode = EDITING_KEYS; SetupKeysGUI(); break; case IC_PUNCH: if ( gpItem->usItem != NOTHING) { gbEditingMode = EDITING_EQUIPMENT; SetupEquipGUI(); break; } // else fall through and act as nothing case IC_NONE: gbEditingMode = EDITING_NOTHING; if( !(gpItem->fFlags & OBJECT_UNDROPPABLE) ) gbEditingMode = EDITING_DROPPABLE; break; default: gbEditingMode = EDITING_NOT_YET_IMPLEMENTED; break; } if( gpItemPool ) { if( gWorldItems[ gpItemPool->iItemIndex ].bVisible == INVISIBLE ) { UnclickEditorButton( ITEMSTATS_HIDDEN_BTN ); ShowSelectedItem(); } else { ClickEditorButton( ITEMSTATS_HIDDEN_BTN ); HideSelectedItem(); } } }