mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
- Fixing mapeditor move building and improving some related mapeditor stuff. Details: - Change the way exit grids are add, remove, save and load through editor, also add undo option for exit grids and you can place unlimited number of them. - Fix incorrect gridno save in temporary map file for bigmap exit grids. - Increase maximum number of light sprite from 256 to 4096 per map. - Using DEL key for QuickEraseMapTile will now erase ItemPool too, and with improved function DeleteStuffFromMapTile will erase light sprites, exit grids and door locks. - Cliff hang tiles used for middle cliffs are now possible to erase with when erase button is on. - Add support for undo door locks, also you can now erase them if erase button is on. - Move building function is completely rewrite and will properly move exit grids, door locks, lights and items too. - Removing unnecessary tiles during copy building is improved too. - Fix undo function for light sprites which now will also store all three types and undo them properly. - Fix CTD situation if tile elements are deleted and after that items too, then undo will crash mapeditor. - Fix spawning of item pool cursors during when adding items. - Fix text glitches over door locks form. - Fix sticky tooltip when loadsave screen or door locks form is active. - High ground marking cursors will not be drawn in invisible map tiles anymore to increase speed and maybe fix some render problems but I doubt it. - Move GLOCK_17_ForUseWithLOS item generation from init.cpp to los.cpp to avoid potential problems if global world items array not set. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7004 3b4a5df2-a311-0410-b5c6-a8a6f20db521
71 lines
2.7 KiB
C
71 lines
2.7 KiB
C
#include "BuildDefines.h"
|
|
|
|
#ifdef JA2EDITOR
|
|
#ifndef __EDITORITEMS_H
|
|
#define __EDITORITEMS_H
|
|
|
|
typedef struct{
|
|
BOOLEAN fGameInit; //Used for initializing save variables the first time.
|
|
//This flag is initialize at
|
|
BOOLEAN fKill; //flagged for deallocation.
|
|
BOOLEAN fActive; //currently active
|
|
UINT16 *pusItemIndex; //a dynamic array of Item indices
|
|
UINT32 uiBuffer; //index of buffer
|
|
UINT32 uiItemType; //Weapons, ammo, armour, explosives, equipment
|
|
//Kaiden/Buggler: was previously INT16 - Fix for number of items capped by class in editor
|
|
INT32 sWidth, sHeight; //width and height of buffer
|
|
INT16 sNumItems; //total number of items in the current class of item.
|
|
INT16 sSelItemIndex; //currently selected item index.
|
|
INT16 sHilitedItemIndex;
|
|
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, sSaveSelRandomItemIndex;
|
|
INT16 sSaveWeaponsScrollIndex, sSaveAmmoScrollIndex, sSaveArmourScrollIndex, sSaveLBEScrollIndex,
|
|
sSaveExplosivesScrollIndex, sSaveEquipment1ScrollIndex, sSaveEquipment2ScrollIndex,
|
|
sSaveEquipment3ScrollIndex, sSaveTriggersScrollIndex, sSaveKeysScrollIndex, sSaveRandomItemScrollIndex;
|
|
INT16 sNumWeapons, sNumAmmo, sNumArmour, sLBEGear, sNumExplosives, sNumEquipment1, sNumEquipment2, sNumEquipment3,
|
|
sNumTriggers, sNumKeys, sNumRandomItems;
|
|
}EditorItemsInfo;
|
|
|
|
extern EditorItemsInfo eInfo;
|
|
|
|
void InitEditorItemsToolbar();
|
|
void EntryInitEditorItemsInfo();
|
|
void InitEditorItemsInfo(UINT32 uiItemType);
|
|
void RenderEditorItemsInfo();
|
|
void ClearEditorItemsInfo();
|
|
void DisplayItemStatistics();
|
|
void DetermineItemsScrolling();
|
|
void ScrollEditorItemsInfo(BOOLEAN fForward);//dnl ch80 011213
|
|
|
|
//User actions
|
|
void AddSelectedItemToWorld( INT32 sGridNo );
|
|
void HandleRightClickOnItem( INT32 sGridNo );
|
|
void DeleteSelectedItem();
|
|
void ShowSelectedItem();
|
|
void HideSelectedItem();
|
|
void SelectNextItemPool();
|
|
void SelectNextItemInPool();
|
|
void SelectPrevItemInPool();
|
|
|
|
void KillItemPoolList();
|
|
void BuildItemPoolList();
|
|
|
|
void HideItemCursor( INT32 iMapIndex );
|
|
void ShowItemCursor( INT32 iMapIndex );
|
|
|
|
void SetEditorItemsTaskbarMode( UINT16 usNewMode );
|
|
|
|
void HandleItemsPanel( UINT16 usScreenX, UINT16 usScreenY, INT8 bEvent );
|
|
|
|
extern INT32 giDefaultExistChance;
|
|
|
|
//dnl ch86 120214
|
|
typedef struct TAG_ITEM_POOL ITEM_POOL;
|
|
BOOLEAN ItemPoolListMove(INT32 iOldGridNo, INT32 iNewGridNo, ITEM_POOL *pItemPool);
|
|
BOOLEAN DeleteItemNode(INT32 iMapIndex);
|
|
|
|
#endif
|
|
#endif
|