Features (by Buggler)

- More AIM sorting options. Default: Sort by Name
Laptop\AIM Homepage Screen
- Hotkeys 'm': Members Sorting page
- Hotkeys 'l': Links page
- Hotkeys 'h': History page
- Hotkeys 'p': Policies page
Laptop\AIM Sorting Screen
- Hotkeys BACKSPACE: Back to AIM Homepage Screen
- Hotkeys 'm': Mug Shot Index page
- Hotkeys 'f': Member page
- Hotkeys 'a': Alumni page
Laptop\AIM Mug Shot Index Screen
- Hotkeys BACKSPACE: Back to AIM Sorting Screen
- Hotkeys LEFT ARROW: Previous Page
- Hotkeys RIGHT ARROW: Next Page

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5636 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2012-10-21 16:10:49 +00:00
parent 5957af60aa
commit 38bcb34702
13 changed files with 810 additions and 169 deletions
+464 -90
View File
@@ -12,40 +12,42 @@
#include "Game Clock.h"
#include "Text.h"
#include "Multi Language Graphic Utils.h"
#include "english.h"
#include "sysutil.h"
#endif
//#define
#define AIM_SORT_FONT_TITLE FONT14ARIAL
#define AIM_SORT_FONT_TITLE FONT14ARIAL
#define AIM_SORT_FONT_SORT_TEXT FONT10ARIAL
#define AIM_SORT_COLOR_SORT_TEXT AIM_FONT_MCOLOR_WHITE
#define AIM_SORT_SORT_BY_COLOR 146
#define AIM_SORT_LINK_TEXT_COLOR 146
#define AIM_SORT_GAP_BN_ICONS 60
#define AIM_SORT_CHECKBOX_SIZE 10
#define AIM_SORT_GAP_BN_ICONS 60
#define AIM_SORT_CHECKBOX_SIZE 10
#define AIM_SORT_ON 0
#define AIM_SORT_OFF 1
#define AIM_SORT_TO_MUGSHOTS_X IMAGE_OFFSET_X + 89
#define AIM_SORT_TO_MUGSHOTS_Y IMAGE_OFFSET_Y + 184
#define AIM_SORT_TO_MUGSHOTS_SIZE 54
#define AIM_SORT_TO_MUGSHOTS_X IMAGE_OFFSET_X + 89
#define AIM_SORT_TO_MUGSHOTS_Y IMAGE_OFFSET_Y + 184
#define AIM_SORT_TO_MUGSHOTS_SIZE 54
#define AIM_SORT_TO_STATS_X AIM_SORT_TO_MUGSHOTS_X
#define AIM_SORT_TO_STATS_Y AIM_SORT_TO_MUGSHOTS_Y + AIM_SORT_GAP_BN_ICONS
#define AIM_SORT_TO_STATS_SIZE AIM_SORT_TO_MUGSHOTS_SIZE
#define AIM_SORT_TO_STATS_SIZE AIM_SORT_TO_MUGSHOTS_SIZE
#define AIM_SORT_TO_ALUMNI_X AIM_SORT_TO_MUGSHOTS_X
#define AIM_SORT_TO_ALUMNI_Y AIM_SORT_TO_STATS_Y + AIM_SORT_GAP_BN_ICONS
#define AIM_SORT_TO_ALUMNI_SIZE AIM_SORT_TO_MUGSHOTS_SIZE
#define AIM_SORT_TO_ALUMNI_SIZE AIM_SORT_TO_MUGSHOTS_SIZE
#define AIM_SORT_AIM_MEMBER_X AIM_SORT_SORT_BY_X
#define AIM_SORT_AIM_MEMBER_Y iScreenHeightOffset + 105 + LAPTOP_SCREEN_WEB_DELTA_Y
#define AIM_SORT_AIM_MEMBER_WIDTH AIM_SORT_SORT_BY_WIDTH
#define AIM_SORT_AIM_MEMBER_Y iScreenHeightOffset + 105 + LAPTOP_SCREEN_WEB_DELTA_Y
#define AIM_SORT_AIM_MEMBER_WIDTH AIM_SORT_SORT_BY_WIDTH
#define AIM_SORT_SORT_BY_TEXT_X AIM_SORT_SORT_BY_X + 9
#define AIM_SORT_SORT_BY_TEXT_Y AIM_SORT_SORT_BY_Y + 8
#define AIM_SORT_SORT_BY_TEXT_X AIM_SORT_SORT_BY_X + 9
#define AIM_SORT_SORT_BY_TEXT_Y AIM_SORT_SORT_BY_Y + 8
#define AIM_SORT_PRICE_TEXT_X AIM_SORT_SORT_BY_X + 22
#define AIM_SORT_PRICE_TEXT_Y AIM_SORT_SORT_BY_Y + 36
@@ -53,52 +55,79 @@
#define AIM_SORT_EXP_TEXT_X AIM_SORT_PRICE_TEXT_X
#define AIM_SORT_EXP_TEXT_Y AIM_SORT_PRICE_TEXT_Y + 13
#define AIM_SORT_MARKMNSHP_TEXT_X AIM_SORT_PRICE_TEXT_X
#define AIM_SORT_MARKMNSHP_TEXT_Y AIM_SORT_EXP_TEXT_Y + 13
#define AIM_SORT_MARKMNSHP_TEXT_X AIM_SORT_PRICE_TEXT_X
#define AIM_SORT_MARKMNSHP_TEXT_Y AIM_SORT_EXP_TEXT_Y + 13
#define AIM_SORT_MEDICAL_X AIM_SORT_SORT_BY_X + 125
#define AIM_SORT_MEDICAL_Y AIM_SORT_PRICE_TEXT_Y
#define AIM_SORT_MECHANICAL_X AIM_SORT_SORT_BY_X + 118
#define AIM_SORT_MECHANICAL_Y AIM_SORT_PRICE_TEXT_Y
#define AIM_SORT_EXPLOSIVES_X AIM_SORT_MEDICAL_X
#define AIM_SORT_EXPLOSIVES_X AIM_SORT_MECHANICAL_X
#define AIM_SORT_EXPLOSIVES_Y AIM_SORT_EXP_TEXT_Y
#define AIM_SORT_MECHANICAL_X AIM_SORT_MEDICAL_X
#define AIM_SORT_MECHANICAL_Y AIM_SORT_MARKMNSHP_TEXT_Y
#define AIM_SORT_MEDICAL_X AIM_SORT_MECHANICAL_X
#define AIM_SORT_MEDICAL_Y AIM_SORT_MARKMNSHP_TEXT_Y
#define AIM_SORT_ASC_DESC_WIDTH 100
#define AIM_SORT_ASCEND_TEXT_X AIM_SORT_SORT_BY_X + 154 - AIM_SORT_ASC_DESC_WIDTH - 4 + 18
#define AIM_SORT_ASCEND_TEXT_Y iScreenHeightOffset + 128 + LAPTOP_SCREEN_WEB_DELTA_Y
#define AIM_SORT_HEALTH_X AIM_SORT_SORT_BY_X + 214
#define AIM_SORT_HEALTH_Y AIM_SORT_PRICE_TEXT_Y
#define AIM_SORT_DESCEND_TEXT_X AIM_SORT_ASCEND_TEXT_X
#define AIM_SORT_DESCEND_TEXT_Y iScreenHeightOffset + 141 + LAPTOP_SCREEN_WEB_DELTA_Y
#define AIM_SORT_AGILITY_X AIM_SORT_HEALTH_X
#define AIM_SORT_AGILITY_Y AIM_SORT_EXP_TEXT_Y
#define AIM_SORT_DEXTERITY_X AIM_SORT_HEALTH_X
#define AIM_SORT_DEXTERITY_Y AIM_SORT_MARKMNSHP_TEXT_Y
#define AIM_SORT_STRENGTH_X AIM_SORT_SORT_BY_X + 310
#define AIM_SORT_STRENGTH_Y AIM_SORT_PRICE_TEXT_Y
#define AIM_SORT_LEADERSHP_X AIM_SORT_STRENGTH_X
#define AIM_SORT_LEADERSHP_Y AIM_SORT_EXP_TEXT_Y
#define AIM_SORT_WISDOM_X AIM_SORT_STRENGTH_X
#define AIM_SORT_WISDOM_Y AIM_SORT_MARKMNSHP_TEXT_Y
#define AIM_SORT_NAME_X AIM_SORT_PRICE_TEXT_X
#define AIM_SORT_NAME_Y AIM_SORT_PRICE_TEXT_Y - 13
#define AIM_SORT_ASC_DESC_WIDTH 100
#define AIM_SORT_ASCEND_TEXT_X AIM_SORT_SORT_BY_X + 354 - AIM_SORT_ASC_DESC_WIDTH - 4 + 18
#define AIM_SORT_ASCEND_TEXT_Y iScreenHeightOffset + 128 + LAPTOP_SCREEN_WEB_DELTA_Y
#define AIM_SORT_DESCEND_TEXT_X AIM_SORT_ASCEND_TEXT_X
#define AIM_SORT_DESCEND_TEXT_Y iScreenHeightOffset + 141 + LAPTOP_SCREEN_WEB_DELTA_Y
#define AIM_SORT_MUGSHOT_TEXT_X iScreenWidthOffset + 266
#define AIM_SORT_MUGSHOT_TEXT_Y iScreenHeightOffset + 230 + LAPTOP_SCREEN_WEB_DELTA_Y
#define AIM_SORT_MUGSHOT_TEXT_X iScreenWidthOffset + 266
#define AIM_SORT_MUGSHOT_TEXT_Y iScreenHeightOffset + 230 + LAPTOP_SCREEN_WEB_DELTA_Y
#define AIM_SORT_MERC_STATS_TEXT_X AIM_SORT_MUGSHOT_TEXT_X
#define AIM_SORT_MERC_STATS_TEXT_Y iScreenHeightOffset + 293 + LAPTOP_SCREEN_WEB_DELTA_Y
#define AIM_SORT_MERC_STATS_TEXT_X AIM_SORT_MUGSHOT_TEXT_X
#define AIM_SORT_MERC_STATS_TEXT_Y iScreenHeightOffset + 293 + LAPTOP_SCREEN_WEB_DELTA_Y
#define AIM_SORT_ALUMNI_TEXT_X AIM_SORT_MUGSHOT_TEXT_X
#define AIM_SORT_ALUMNI_TEXT_Y iScreenHeightOffset + 351 + LAPTOP_SCREEN_WEB_DELTA_Y
#define AIM_SORT_ALUMNI_TEXT_X AIM_SORT_MUGSHOT_TEXT_X
#define AIM_SORT_ALUMNI_TEXT_Y iScreenHeightOffset + 351 + LAPTOP_SCREEN_WEB_DELTA_Y
#define AIM_SORT_FIRST_SORT_CLOUMN_GAP 22
//#define AIM_SORT_FIRST_SORT_COLUMN_GAP 22 //unused
#define AIM_SORT_SORT_BY_X IMAGE_OFFSET_X + 155
#define AIM_SORT_SORT_BY_Y IMAGE_OFFSET_Y + 96
#define AIM_SORT_SORT_BY_WIDTH 190
#define AIM_SORT_SORT_BY_HEIGHT 81
#define AIM_SORT_SORT_BY_X IMAGE_OFFSET_X + 53
#define AIM_SORT_SORT_BY_Y IMAGE_OFFSET_Y + 96
#define AIM_SORT_SORT_BY_WIDTH 394
#define AIM_SORT_SORT_BY_HEIGHT 81
UINT16 AimSortCheckBoxLoc[]={
(AIM_SORT_SORT_BY_X + 9), (AIM_SORT_SORT_BY_Y + 34),
(AIM_SORT_SORT_BY_X + 9), (AIM_SORT_SORT_BY_Y + 47),
(AIM_SORT_SORT_BY_X + 9), (AIM_SORT_SORT_BY_Y + 60),
(AIM_SORT_SORT_BY_X + 111), (AIM_SORT_SORT_BY_Y + 34),
(AIM_SORT_SORT_BY_X + 111), (AIM_SORT_SORT_BY_Y + 47),
(AIM_SORT_SORT_BY_X + 111), (AIM_SORT_SORT_BY_Y + 60),
(AIM_SORT_SORT_BY_X + 172), (AIM_SORT_SORT_BY_Y + 4),
(AIM_SORT_SORT_BY_X + 172), (AIM_SORT_SORT_BY_Y + 17)};
(AIM_SORT_SORT_BY_X + 105), (AIM_SORT_SORT_BY_Y + 34),
(AIM_SORT_SORT_BY_X + 105), (AIM_SORT_SORT_BY_Y + 47),
(AIM_SORT_SORT_BY_X + 105), (AIM_SORT_SORT_BY_Y + 60),
(AIM_SORT_SORT_BY_X + 201), (AIM_SORT_SORT_BY_Y + 34),
(AIM_SORT_SORT_BY_X + 201), (AIM_SORT_SORT_BY_Y + 47),
(AIM_SORT_SORT_BY_X + 201), (AIM_SORT_SORT_BY_Y + 60),
(AIM_SORT_SORT_BY_X + 297), (AIM_SORT_SORT_BY_Y + 34),
(AIM_SORT_SORT_BY_X + 297), (AIM_SORT_SORT_BY_Y + 47),
(AIM_SORT_SORT_BY_X + 297), (AIM_SORT_SORT_BY_Y + 60),
(AIM_SORT_SORT_BY_X + 9), (AIM_SORT_SORT_BY_Y + 21),
(AIM_SORT_SORT_BY_X + 372), (AIM_SORT_SORT_BY_Y + 4),
(AIM_SORT_SORT_BY_X + 372), (AIM_SORT_SORT_BY_Y + 17)};
UINT8 gubCurrentSortMode;
UINT8 gubOldSortMode;
@@ -110,11 +139,11 @@ UINT8 gubOldListMode;
MOUSE_REGION gSelectedToMugShotRegion;
void SelectToMugShotRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
//Clicking on ToStats
//Clicking on To Stats
MOUSE_REGION gSelectedToStatsRegion;
void SelectToStatsRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
//Clicking on ToStats
//Clicking on To Archive
MOUSE_REGION gSelectedToArchiveRegion;
void SelectToArchiveRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
@@ -127,15 +156,36 @@ void SelectExpBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
//Clicking on Markmanship Check Box
MOUSE_REGION gSelectedMarkBoxRegion;
void SelectMarkBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
//Clicking on Medical Check box
MOUSE_REGION gSelectedMedicalBoxRegion;
void SelectMedicalBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
//Clicking on Explosive Check Box
MOUSE_REGION gSelectedExplosiveBoxRegion;
void SelectExplosiveBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
//Clicking on Mechanical Check Box
MOUSE_REGION gSelectedMechanicalBoxRegion;
void SelectMechanicalBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
//Clicking on Explosive Check Box
MOUSE_REGION gSelectedExplosiveBoxRegion;
void SelectExplosiveBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
//Clicking on Medical Check box
MOUSE_REGION gSelectedMedicalBoxRegion;
void SelectMedicalBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
//Clicking on Health Check box
MOUSE_REGION gSelectedHealthBoxRegion;
void SelectHealthBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
//Clicking on Agility Check box
MOUSE_REGION gSelectedAgilityBoxRegion;
void SelectAgilityBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
//Clicking on Dexterity Check box
MOUSE_REGION gSelectedDexterityBoxRegion;
void SelectDexterityBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
//Clicking on Strength Check box
MOUSE_REGION gSelectedStrengthBoxRegion;
void SelectStrengthBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
//Clicking on Leadership Check box
MOUSE_REGION gSelectedLeadershipBoxRegion;
void SelectLeadershipBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
//Clicking on Wisdom Check box
MOUSE_REGION gSelectedWisdomBoxRegion;
void SelectWisdomBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
//Clicking on Name Check box
MOUSE_REGION gSelectedNameBoxRegion;
void SelectNameBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
//Clicking on Ascending Check Box
MOUSE_REGION gSelectedAscendBoxRegion;
void SelectAscendBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
@@ -158,13 +208,14 @@ UINT32 guiToStats;
UINT32 guiSelectLight;
//Hotkey Assignment
void HandleAimSortKeyBoardInput();
void GameInitAimSort()
{
gubCurrentSortMode=0;
gubOldSortMode=0;
gubCurrentSortMode=12;
gubOldSortMode=12;
gubCurrentListMode=AIM_DESCEND;
gubOldListMode=AIM_DESCEND;
}
@@ -181,16 +232,31 @@ BOOLEAN EnterAimSort()
AimSortCheckBoxLoc[3] = AIM_SORT_SORT_BY_Y + 47;
AimSortCheckBoxLoc[4] = AIM_SORT_SORT_BY_X + 9;
AimSortCheckBoxLoc[5] = AIM_SORT_SORT_BY_Y + 60;
AimSortCheckBoxLoc[6] = AIM_SORT_SORT_BY_X + 111;
AimSortCheckBoxLoc[6] = AIM_SORT_SORT_BY_X + 105;
AimSortCheckBoxLoc[7] = AIM_SORT_SORT_BY_Y + 34;
AimSortCheckBoxLoc[8] = AIM_SORT_SORT_BY_X + 111;
AimSortCheckBoxLoc[8] = AIM_SORT_SORT_BY_X + 105;
AimSortCheckBoxLoc[9] = AIM_SORT_SORT_BY_Y + 47;
AimSortCheckBoxLoc[10] = AIM_SORT_SORT_BY_X + 111;
AimSortCheckBoxLoc[10] = AIM_SORT_SORT_BY_X + 105;
AimSortCheckBoxLoc[11] = AIM_SORT_SORT_BY_Y + 60;
AimSortCheckBoxLoc[12] = AIM_SORT_SORT_BY_X + 172;
AimSortCheckBoxLoc[13] = AIM_SORT_SORT_BY_Y + 4;
AimSortCheckBoxLoc[14] = AIM_SORT_SORT_BY_X + 172;
AimSortCheckBoxLoc[15] = AIM_SORT_SORT_BY_Y + 17;
AimSortCheckBoxLoc[12] = AIM_SORT_SORT_BY_X + 201;
AimSortCheckBoxLoc[13] = AIM_SORT_SORT_BY_Y + 34;
AimSortCheckBoxLoc[14] = AIM_SORT_SORT_BY_X + 201;
AimSortCheckBoxLoc[15] = AIM_SORT_SORT_BY_Y + 47;
AimSortCheckBoxLoc[16] = AIM_SORT_SORT_BY_X + 201;
AimSortCheckBoxLoc[17] = AIM_SORT_SORT_BY_Y + 60;
AimSortCheckBoxLoc[18] = AIM_SORT_SORT_BY_X + 297;
AimSortCheckBoxLoc[19] = AIM_SORT_SORT_BY_Y + 34;
AimSortCheckBoxLoc[20] = AIM_SORT_SORT_BY_X + 297;
AimSortCheckBoxLoc[21] = AIM_SORT_SORT_BY_Y + 47;
AimSortCheckBoxLoc[22] = AIM_SORT_SORT_BY_X + 297;
AimSortCheckBoxLoc[23] = AIM_SORT_SORT_BY_Y + 60;
AimSortCheckBoxLoc[24] = AIM_SORT_SORT_BY_X + 9;
AimSortCheckBoxLoc[25] = AIM_SORT_SORT_BY_Y + 21;
//Ascending & Descending Check Box
AimSortCheckBoxLoc[26] = AIM_SORT_SORT_BY_X + 372;
AimSortCheckBoxLoc[27] = AIM_SORT_SORT_BY_Y + 4;
AimSortCheckBoxLoc[28] = AIM_SORT_SORT_BY_X + 372;
AimSortCheckBoxLoc[29] = AIM_SORT_SORT_BY_Y + 17;
InitAimDefaults();
@@ -233,7 +299,7 @@ BOOLEAN EnterAimSort()
CURSOR_WWW, MSYS_NO_CALLBACK, SelectToStatsRegionCallBack );
MSYS_AddRegion(&gSelectedToStatsRegion);
//Mouse region for the ToArhciveRegion
//Mouse region for the ToArchiveRegion
MSYS_DefineRegion( &gSelectedToArchiveRegion, AIM_SORT_TO_ALUMNI_X, AIM_SORT_TO_ALUMNI_Y, (AIM_SORT_TO_ALUMNI_X + AIM_SORT_TO_ALUMNI_SIZE), (AIM_SORT_TO_ALUMNI_Y + AIM_SORT_TO_ALUMNI_SIZE), MSYS_PRIORITY_HIGH,
CURSOR_WWW, MSYS_NO_CALLBACK, SelectToArchiveRegionCallBack );
MSYS_AddRegion(&gSelectedToArchiveRegion);
@@ -263,29 +329,76 @@ BOOLEAN EnterAimSort()
MSYS_AddRegion(&gSelectedMarkBoxRegion);
ubCurNumber+=2;
ubWidth = StringPixLength( AimSortText[AIMMEDICAL], AIM_SORT_FONT_SORT_TEXT) + AimSortCheckBoxLoc[ ubCurNumber ] + (AIM_SORT_MEDICAL_X - AimSortCheckBoxLoc[ ubCurNumber ]) - 3;
//Mouse region for the Medical Check Box
MSYS_DefineRegion( &gSelectedMedicalBoxRegion, AimSortCheckBoxLoc[ ubCurNumber ] , AimSortCheckBoxLoc[ubCurNumber + 1] , (UINT16)ubWidth, (UINT16)(AimSortCheckBoxLoc[ ubCurNumber + 1 ] + AIM_SORT_CHECKBOX_SIZE), MSYS_PRIORITY_HIGH,
MSYS_NO_CURSOR, MSYS_NO_CALLBACK, SelectMedicalBoxRegionCallBack );
MSYS_AddRegion(&gSelectedMedicalBoxRegion);
ubCurNumber+=2;
ubWidth = StringPixLength( AimSortText[EXPLOSIVES], AIM_SORT_FONT_SORT_TEXT) + AimSortCheckBoxLoc[ ubCurNumber ] + (AIM_SORT_MEDICAL_X - AimSortCheckBoxLoc[ ubCurNumber ]) - 3;
//Mouse region for the Explosive Check Box
MSYS_DefineRegion( &gSelectedExplosiveBoxRegion, AimSortCheckBoxLoc[ ubCurNumber ] , AimSortCheckBoxLoc[ubCurNumber + 1] , (UINT16)ubWidth, (UINT16)(AimSortCheckBoxLoc[ ubCurNumber + 1 ] + AIM_SORT_CHECKBOX_SIZE), MSYS_PRIORITY_HIGH,
MSYS_NO_CURSOR, MSYS_NO_CALLBACK, SelectExplosiveBoxRegionCallBack );
MSYS_AddRegion(&gSelectedExplosiveBoxRegion);
ubCurNumber+=2;
ubWidth = StringPixLength( AimSortText[AIMMECHANICAL], AIM_SORT_FONT_SORT_TEXT) + AimSortCheckBoxLoc[ ubCurNumber ] + (AIM_SORT_MEDICAL_X - AimSortCheckBoxLoc[ ubCurNumber ]) - 3;
ubWidth = StringPixLength( AimSortText[AIMMECHANICAL], AIM_SORT_FONT_SORT_TEXT) + AimSortCheckBoxLoc[ ubCurNumber ] + (AIM_SORT_MECHANICAL_X - AimSortCheckBoxLoc[ ubCurNumber ]) - 3;
//Mouse region for the Mechanical Check Box
MSYS_DefineRegion( &gSelectedMechanicalBoxRegion, AimSortCheckBoxLoc[ ubCurNumber ] , AimSortCheckBoxLoc[ubCurNumber + 1] , (UINT16)ubWidth, (UINT16)(AimSortCheckBoxLoc[ ubCurNumber + 1 ] + AIM_SORT_CHECKBOX_SIZE), MSYS_PRIORITY_HIGH,
MSYS_NO_CURSOR, MSYS_NO_CALLBACK, SelectMechanicalBoxRegionCallBack );
MSYS_AddRegion(&gSelectedMechanicalBoxRegion);
ubCurNumber+=2;
ubWidth = StringPixLength( AimSortText[AIMEXPLOSIVES], AIM_SORT_FONT_SORT_TEXT) + AimSortCheckBoxLoc[ ubCurNumber ] + (AIM_SORT_MECHANICAL_X - AimSortCheckBoxLoc[ ubCurNumber ]) - 3;
//Mouse region for the Explosive Check Box
MSYS_DefineRegion( &gSelectedExplosiveBoxRegion, AimSortCheckBoxLoc[ ubCurNumber ] , AimSortCheckBoxLoc[ubCurNumber + 1] , (UINT16)ubWidth, (UINT16)(AimSortCheckBoxLoc[ ubCurNumber + 1 ] + AIM_SORT_CHECKBOX_SIZE), MSYS_PRIORITY_HIGH,
MSYS_NO_CURSOR, MSYS_NO_CALLBACK, SelectExplosiveBoxRegionCallBack );
MSYS_AddRegion(&gSelectedExplosiveBoxRegion);
ubCurNumber+=2;
ubWidth = StringPixLength( AimSortText[AIMMEDICAL], AIM_SORT_FONT_SORT_TEXT) + AimSortCheckBoxLoc[ ubCurNumber ] + (AIM_SORT_MECHANICAL_X - AimSortCheckBoxLoc[ ubCurNumber ]) - 3;
//Mouse region for the Medical Check Box
MSYS_DefineRegion( &gSelectedMedicalBoxRegion, AimSortCheckBoxLoc[ ubCurNumber ] , AimSortCheckBoxLoc[ubCurNumber + 1] , (UINT16)ubWidth, (UINT16)(AimSortCheckBoxLoc[ ubCurNumber + 1 ] + AIM_SORT_CHECKBOX_SIZE), MSYS_PRIORITY_HIGH,
MSYS_NO_CURSOR, MSYS_NO_CALLBACK, SelectMedicalBoxRegionCallBack );
MSYS_AddRegion(&gSelectedMedicalBoxRegion);
ubCurNumber+=2;
ubWidth = StringPixLength( AimSortText[AIMHEALTH], AIM_SORT_FONT_SORT_TEXT) + AimSortCheckBoxLoc[ ubCurNumber ] + (AIM_SORT_HEALTH_X - AimSortCheckBoxLoc[ ubCurNumber ]) - 3;
//Mouse region for the Health Check Box
MSYS_DefineRegion( &gSelectedHealthBoxRegion, AimSortCheckBoxLoc[ ubCurNumber ] , AimSortCheckBoxLoc[ubCurNumber + 1] , (UINT16)ubWidth, (UINT16)(AimSortCheckBoxLoc[ ubCurNumber + 1 ] + AIM_SORT_CHECKBOX_SIZE), MSYS_PRIORITY_HIGH,
MSYS_NO_CURSOR, MSYS_NO_CALLBACK, SelectHealthBoxRegionCallBack );
MSYS_AddRegion(&gSelectedHealthBoxRegion);
ubCurNumber+=2;
ubWidth = StringPixLength( AimSortText[AIMAGILITY], AIM_SORT_FONT_SORT_TEXT) + AimSortCheckBoxLoc[ ubCurNumber ] + (AIM_SORT_HEALTH_X - AimSortCheckBoxLoc[ ubCurNumber ]) - 3;
//Mouse region for the Agility Check Box
MSYS_DefineRegion( &gSelectedAgilityBoxRegion, AimSortCheckBoxLoc[ ubCurNumber ] , AimSortCheckBoxLoc[ubCurNumber + 1] , (UINT16)ubWidth, (UINT16)(AimSortCheckBoxLoc[ ubCurNumber + 1 ] + AIM_SORT_CHECKBOX_SIZE), MSYS_PRIORITY_HIGH,
MSYS_NO_CURSOR, MSYS_NO_CALLBACK, SelectAgilityBoxRegionCallBack );
MSYS_AddRegion(&gSelectedAgilityBoxRegion);
ubCurNumber+=2;
ubWidth = StringPixLength( AimSortText[AIMDEXTERITY], AIM_SORT_FONT_SORT_TEXT) + AimSortCheckBoxLoc[ ubCurNumber ] + (AIM_SORT_HEALTH_X - AimSortCheckBoxLoc[ ubCurNumber ]) - 3;
//Mouse region for the Dexterity Check Box
MSYS_DefineRegion( &gSelectedDexterityBoxRegion, AimSortCheckBoxLoc[ ubCurNumber ] , AimSortCheckBoxLoc[ubCurNumber + 1] , (UINT16)ubWidth, (UINT16)(AimSortCheckBoxLoc[ ubCurNumber + 1 ] + AIM_SORT_CHECKBOX_SIZE), MSYS_PRIORITY_HIGH,
MSYS_NO_CURSOR, MSYS_NO_CALLBACK, SelectDexterityBoxRegionCallBack );
MSYS_AddRegion(&gSelectedDexterityBoxRegion);
ubCurNumber+=2;
ubWidth = StringPixLength( AimSortText[AIMSTRENGTH], AIM_SORT_FONT_SORT_TEXT) + AimSortCheckBoxLoc[ ubCurNumber ] + (AIM_SORT_STRENGTH_X - AimSortCheckBoxLoc[ ubCurNumber ]) - 3;
//Mouse region for the Strength Check Box
MSYS_DefineRegion( &gSelectedStrengthBoxRegion, AimSortCheckBoxLoc[ ubCurNumber ] , AimSortCheckBoxLoc[ubCurNumber + 1] , (UINT16)ubWidth, (UINT16)(AimSortCheckBoxLoc[ ubCurNumber + 1 ] + AIM_SORT_CHECKBOX_SIZE), MSYS_PRIORITY_HIGH,
MSYS_NO_CURSOR, MSYS_NO_CALLBACK, SelectStrengthBoxRegionCallBack );
MSYS_AddRegion(&gSelectedStrengthBoxRegion);
ubCurNumber+=2;
ubWidth = StringPixLength( AimSortText[AIMLEADERSHIP], AIM_SORT_FONT_SORT_TEXT) + AimSortCheckBoxLoc[ ubCurNumber ] + (AIM_SORT_STRENGTH_X - AimSortCheckBoxLoc[ ubCurNumber ]) - 3;
//Mouse region for the Leadership Check Box
MSYS_DefineRegion( &gSelectedLeadershipBoxRegion, AimSortCheckBoxLoc[ ubCurNumber ] , AimSortCheckBoxLoc[ubCurNumber + 1] , (UINT16)ubWidth, (UINT16)(AimSortCheckBoxLoc[ ubCurNumber + 1 ] + AIM_SORT_CHECKBOX_SIZE), MSYS_PRIORITY_HIGH,
MSYS_NO_CURSOR, MSYS_NO_CALLBACK, SelectLeadershipBoxRegionCallBack );
MSYS_AddRegion(&gSelectedLeadershipBoxRegion);
ubCurNumber+=2;
ubWidth = StringPixLength( AimSortText[AIMWISDOM], AIM_SORT_FONT_SORT_TEXT) + AimSortCheckBoxLoc[ ubCurNumber ] + (AIM_SORT_STRENGTH_X - AimSortCheckBoxLoc[ ubCurNumber ]) - 3;
//Mouse region for the Wisdom Check Box
MSYS_DefineRegion( &gSelectedWisdomBoxRegion, AimSortCheckBoxLoc[ ubCurNumber ] , AimSortCheckBoxLoc[ubCurNumber + 1] , (UINT16)ubWidth, (UINT16)(AimSortCheckBoxLoc[ ubCurNumber + 1 ] + AIM_SORT_CHECKBOX_SIZE), MSYS_PRIORITY_HIGH,
MSYS_NO_CURSOR, MSYS_NO_CALLBACK, SelectWisdomBoxRegionCallBack );
MSYS_AddRegion(&gSelectedWisdomBoxRegion);
ubCurNumber+=2;
ubWidth = StringPixLength( AimSortText[NAME], AIM_SORT_FONT_SORT_TEXT) + AimSortCheckBoxLoc[ ubCurNumber ] + (AIM_SORT_NAME_X - AimSortCheckBoxLoc[ ubCurNumber ]) - 3;
//Mouse region for the Name Check Box
MSYS_DefineRegion( &gSelectedNameBoxRegion, AimSortCheckBoxLoc[ ubCurNumber ] , AimSortCheckBoxLoc[ubCurNumber + 1] , (UINT16)ubWidth, (UINT16)(AimSortCheckBoxLoc[ ubCurNumber + 1 ] + AIM_SORT_CHECKBOX_SIZE), MSYS_PRIORITY_HIGH,
MSYS_NO_CURSOR, MSYS_NO_CALLBACK, SelectNameBoxRegionCallBack );
MSYS_AddRegion(&gSelectedNameBoxRegion);
ubCurNumber+=2;
ubWidth = AimSortCheckBoxLoc[ ubCurNumber ] - StringPixLength( AimSortText[ASCENDING], AIM_SORT_FONT_SORT_TEXT) - 6;
//Mouse region for the Ascend Check Box
MSYS_DefineRegion( &gSelectedAscendBoxRegion, ubWidth , AimSortCheckBoxLoc[ubCurNumber + 1] , (UINT16)(AimSortCheckBoxLoc[ ubCurNumber ] + AIM_SORT_CHECKBOX_SIZE), (UINT16)(AimSortCheckBoxLoc[ ubCurNumber + 1 ] + AIM_SORT_CHECKBOX_SIZE), MSYS_PRIORITY_HIGH,
@@ -328,9 +441,16 @@ void ExitAimSort()
MSYS_RemoveRegion( &gSelectedPriceBoxRegion);
MSYS_RemoveRegion( &gSelectedExpBoxRegion);
MSYS_RemoveRegion( &gSelectedMarkBoxRegion);
MSYS_RemoveRegion( &gSelectedMedicalBoxRegion);
MSYS_RemoveRegion( &gSelectedExplosiveBoxRegion);
MSYS_RemoveRegion( &gSelectedMechanicalBoxRegion);
MSYS_RemoveRegion( &gSelectedExplosiveBoxRegion);
MSYS_RemoveRegion( &gSelectedMedicalBoxRegion);
MSYS_RemoveRegion( &gSelectedHealthBoxRegion);
MSYS_RemoveRegion( &gSelectedAgilityBoxRegion);
MSYS_RemoveRegion( &gSelectedDexterityBoxRegion);
MSYS_RemoveRegion( &gSelectedStrengthBoxRegion);
MSYS_RemoveRegion( &gSelectedLeadershipBoxRegion);
MSYS_RemoveRegion( &gSelectedWisdomBoxRegion);
MSYS_RemoveRegion( &gSelectedNameBoxRegion);
MSYS_RemoveRegion( &gSelectedAscendBoxRegion);
MSYS_RemoveRegion( &gSelectedDescendBoxRegion);
ExitAimMenuBar();
@@ -339,7 +459,7 @@ void ExitAimSort()
void HandleAimSort()
{
HandleAimSortKeyBoardInput();
}
void RenderAimSort()
@@ -380,9 +500,16 @@ void RenderAimSort()
DrawTextToScreen(AimSortText[PRICE], AIM_SORT_PRICE_TEXT_X, AIM_SORT_PRICE_TEXT_Y, 0, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_COLOR_SORT_TEXT, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
DrawTextToScreen(AimSortText[EXPERIENCE], AIM_SORT_EXP_TEXT_X, AIM_SORT_EXP_TEXT_Y, 0, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_COLOR_SORT_TEXT, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
DrawTextToScreen(AimSortText[AIMMARKSMANSHIP], AIM_SORT_MARKMNSHP_TEXT_X, AIM_SORT_MARKMNSHP_TEXT_Y, 0, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_COLOR_SORT_TEXT, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
DrawTextToScreen(AimSortText[AIMMEDICAL], AIM_SORT_MEDICAL_X, AIM_SORT_MEDICAL_Y, 0, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_COLOR_SORT_TEXT, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
DrawTextToScreen(AimSortText[EXPLOSIVES], AIM_SORT_EXPLOSIVES_X, AIM_SORT_EXPLOSIVES_Y, 0, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_COLOR_SORT_TEXT, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
DrawTextToScreen(AimSortText[AIMMECHANICAL], AIM_SORT_MECHANICAL_X, AIM_SORT_MECHANICAL_Y, 0, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_COLOR_SORT_TEXT, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
DrawTextToScreen(AimSortText[AIMEXPLOSIVES], AIM_SORT_EXPLOSIVES_X, AIM_SORT_EXPLOSIVES_Y, 0, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_COLOR_SORT_TEXT, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
DrawTextToScreen(AimSortText[AIMMEDICAL], AIM_SORT_MEDICAL_X, AIM_SORT_MEDICAL_Y, 0, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_COLOR_SORT_TEXT, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
DrawTextToScreen(AimSortText[AIMHEALTH], AIM_SORT_HEALTH_X, AIM_SORT_HEALTH_Y, 0, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_COLOR_SORT_TEXT, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
DrawTextToScreen(AimSortText[AIMAGILITY], AIM_SORT_AGILITY_X, AIM_SORT_AGILITY_Y, 0, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_COLOR_SORT_TEXT, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
DrawTextToScreen(AimSortText[AIMDEXTERITY], AIM_SORT_DEXTERITY_X, AIM_SORT_DEXTERITY_Y, 0, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_COLOR_SORT_TEXT, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
DrawTextToScreen(AimSortText[AIMSTRENGTH], AIM_SORT_STRENGTH_X, AIM_SORT_STRENGTH_Y, 0, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_COLOR_SORT_TEXT, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
DrawTextToScreen(AimSortText[AIMLEADERSHIP], AIM_SORT_LEADERSHP_X, AIM_SORT_LEADERSHP_Y, 0, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_COLOR_SORT_TEXT, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
DrawTextToScreen(AimSortText[AIMWISDOM], AIM_SORT_WISDOM_X, AIM_SORT_WISDOM_Y, 0, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_COLOR_SORT_TEXT, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
DrawTextToScreen(AimSortText[NAME], AIM_SORT_NAME_X, AIM_SORT_NAME_Y, 0, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_COLOR_SORT_TEXT, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
DrawTextToScreen(AimSortText[ASCENDING], AIM_SORT_ASCEND_TEXT_X, AIM_SORT_ASCEND_TEXT_Y, AIM_SORT_ASC_DESC_WIDTH, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_COLOR_SORT_TEXT, FONT_MCOLOR_BLACK, FALSE, RIGHT_JUSTIFIED );
DrawTextToScreen(AimSortText[DESCENDING], AIM_SORT_DESCEND_TEXT_X, AIM_SORT_DESCEND_TEXT_Y, AIM_SORT_ASC_DESC_WIDTH, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_COLOR_SORT_TEXT, FONT_MCOLOR_BLACK, FALSE, RIGHT_JUSTIFIED );
@@ -393,6 +520,24 @@ void RenderAimSort()
DrawTextToScreen(AimSortText[MERCENARY_FILES], AIM_SORT_MERC_STATS_TEXT_X, AIM_SORT_MERC_STATS_TEXT_Y, 0, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_LINK_TEXT_COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
DrawTextToScreen(AimSortText[ALUMNI_GALLERY], AIM_SORT_ALUMNI_TEXT_X, AIM_SORT_ALUMNI_TEXT_Y, 0, AIM_SORT_FONT_SORT_TEXT, AIM_SORT_LINK_TEXT_COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
// pre-render unchecked box
DrawSelectLight(0, AIM_SORT_OFF);
DrawSelectLight(1, AIM_SORT_OFF);
DrawSelectLight(2, AIM_SORT_OFF);
DrawSelectLight(3, AIM_SORT_OFF);
DrawSelectLight(4, AIM_SORT_OFF);
DrawSelectLight(5, AIM_SORT_OFF);
DrawSelectLight(6, AIM_SORT_OFF);
DrawSelectLight(7, AIM_SORT_OFF);
DrawSelectLight(8, AIM_SORT_OFF);
DrawSelectLight(9, AIM_SORT_OFF);
DrawSelectLight(10, AIM_SORT_OFF);
DrawSelectLight(11, AIM_SORT_OFF);
DrawSelectLight(12, AIM_SORT_OFF);
DrawSelectLight(AIM_ASCEND, AIM_SORT_OFF);
DrawSelectLight(AIM_DESCEND, AIM_SORT_OFF);
// highlight checked box
DrawSelectLight(gubCurrentSortMode, AIM_SORT_ON);
DrawSelectLight(gubCurrentListMode, AIM_SORT_ON);
@@ -526,7 +671,7 @@ void SelectMarkBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
void SelectMedicalBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
void SelectMechanicalBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
{
if (iReason & MSYS_CALLBACK_REASON_INIT)
{
@@ -572,7 +717,7 @@ void SelectExplosiveBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
void SelectMechanicalBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
void SelectMedicalBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
{
if (iReason & MSYS_CALLBACK_REASON_INIT)
{
@@ -595,6 +740,176 @@ void SelectMechanicalBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
void SelectHealthBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
{
if (iReason & MSYS_CALLBACK_REASON_INIT)
{
}
else if(iReason & MSYS_CALLBACK_REASON_LBUTTON_UP)
{
if(gubCurrentSortMode != 6)
{
gubCurrentSortMode = 6;
DrawSelectLight(gubCurrentSortMode, AIM_SORT_ON);
DrawSelectLight(gubOldSortMode, AIM_SORT_OFF);
gubOldSortMode = gubCurrentSortMode;
}
}
else if (iReason & MSYS_CALLBACK_REASON_RBUTTON_UP)
{
}
}
void SelectAgilityBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
{
if (iReason & MSYS_CALLBACK_REASON_INIT)
{
}
else if(iReason & MSYS_CALLBACK_REASON_LBUTTON_UP)
{
if(gubCurrentSortMode != 7)
{
gubCurrentSortMode = 7;
DrawSelectLight(gubCurrentSortMode, AIM_SORT_ON);
DrawSelectLight(gubOldSortMode, AIM_SORT_OFF);
gubOldSortMode = gubCurrentSortMode;
}
}
else if (iReason & MSYS_CALLBACK_REASON_RBUTTON_UP)
{
}
}
void SelectDexterityBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
{
if (iReason & MSYS_CALLBACK_REASON_INIT)
{
}
else if(iReason & MSYS_CALLBACK_REASON_LBUTTON_UP)
{
if(gubCurrentSortMode != 8)
{
gubCurrentSortMode = 8;
DrawSelectLight(gubCurrentSortMode, AIM_SORT_ON);
DrawSelectLight(gubOldSortMode, AIM_SORT_OFF);
gubOldSortMode = gubCurrentSortMode;
}
}
else if (iReason & MSYS_CALLBACK_REASON_RBUTTON_UP)
{
}
}
void SelectStrengthBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
{
if (iReason & MSYS_CALLBACK_REASON_INIT)
{
}
else if(iReason & MSYS_CALLBACK_REASON_LBUTTON_UP)
{
if(gubCurrentSortMode != 9)
{
gubCurrentSortMode = 9;
DrawSelectLight(gubCurrentSortMode, AIM_SORT_ON);
DrawSelectLight(gubOldSortMode, AIM_SORT_OFF);
gubOldSortMode = gubCurrentSortMode;
}
}
else if (iReason & MSYS_CALLBACK_REASON_RBUTTON_UP)
{
}
}
void SelectLeadershipBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
{
if (iReason & MSYS_CALLBACK_REASON_INIT)
{
}
else if(iReason & MSYS_CALLBACK_REASON_LBUTTON_UP)
{
if(gubCurrentSortMode != 10)
{
gubCurrentSortMode = 10;
DrawSelectLight(gubCurrentSortMode, AIM_SORT_ON);
DrawSelectLight(gubOldSortMode, AIM_SORT_OFF);
gubOldSortMode = gubCurrentSortMode;
}
}
else if (iReason & MSYS_CALLBACK_REASON_RBUTTON_UP)
{
}
}
void SelectWisdomBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
{
if (iReason & MSYS_CALLBACK_REASON_INIT)
{
}
else if(iReason & MSYS_CALLBACK_REASON_LBUTTON_UP)
{
if(gubCurrentSortMode != 11)
{
gubCurrentSortMode = 11;
DrawSelectLight(gubCurrentSortMode, AIM_SORT_ON);
DrawSelectLight(gubOldSortMode, AIM_SORT_OFF);
gubOldSortMode = gubCurrentSortMode;
}
}
else if (iReason & MSYS_CALLBACK_REASON_RBUTTON_UP)
{
}
}
void SelectNameBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
{
if (iReason & MSYS_CALLBACK_REASON_INIT)
{
}
else if(iReason & MSYS_CALLBACK_REASON_LBUTTON_UP)
{
if(gubCurrentSortMode != 12)
{
gubCurrentSortMode = 12;
DrawSelectLight(gubCurrentSortMode, AIM_SORT_ON);
DrawSelectLight(gubOldSortMode, AIM_SORT_OFF);
gubOldSortMode = gubCurrentSortMode;
// Name sort in descending order only
if(gubCurrentListMode != AIM_DESCEND)
{
gubCurrentListMode = AIM_DESCEND;
DrawSelectLight(gubCurrentListMode, AIM_SORT_ON);
DrawSelectLight(gubOldListMode, AIM_SORT_OFF);
gubOldListMode = gubCurrentListMode;
}
}
}
else if (iReason & MSYS_CALLBACK_REASON_RBUTTON_UP)
{
}
}
void SelectAscendBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
{
if (iReason & MSYS_CALLBACK_REASON_INIT)
@@ -603,7 +918,8 @@ void SelectAscendBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
}
else if(iReason & MSYS_CALLBACK_REASON_LBUTTON_UP)
{
if(gubCurrentListMode != AIM_ASCEND)
// Name sort in descending order only
if(gubCurrentListMode != AIM_ASCEND && (gubCurrentSortMode != 12))
{
gubCurrentListMode = AIM_ASCEND;
DrawSelectLight(gubCurrentListMode, AIM_SORT_ON);
@@ -626,7 +942,7 @@ void SelectDescendBoxRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
}
else if(iReason & MSYS_CALLBACK_REASON_LBUTTON_UP)
{
if(gubCurrentListMode != AIM_DESCEND )
if(gubCurrentListMode != AIM_DESCEND)
{
gubCurrentListMode = AIM_DESCEND;
DrawSelectLight(gubCurrentListMode, AIM_SORT_ON);
@@ -688,17 +1004,45 @@ INT32 QsortCompare( const void *pNum1, const void *pNum2)
case 2:
return( CompareValue((INT32)gMercProfiles[ Num1 ].bMarksmanship, (INT32)gMercProfiles[Num2].bMarksmanship ) );
break;
//Medical INT16 bMedical
//Mechanical INT16 bMechanical
case 3:
return( CompareValue((INT32)gMercProfiles[ Num1 ].bMedical, (INT32)gMercProfiles[Num2].bMedical ) );
return( CompareValue((INT32)gMercProfiles[ Num1 ].bMechanical, (INT32)gMercProfiles[Num2].bMechanical ) );
break;
//Explosives INT16 bExplosive
case 4:
return( CompareValue((INT32)gMercProfiles[ Num1 ].bExplosive, (INT32)gMercProfiles[Num2].bExplosive ) );
break;
//Mechanical INT16 bMechanical
//Medical INT16 bMedical
case 5:
return( CompareValue((INT32)gMercProfiles[ Num1 ].bMechanical, (INT32)gMercProfiles[Num2].bMechanical ) );
return( CompareValue((INT32)gMercProfiles[ Num1 ].bMedical, (INT32)gMercProfiles[Num2].bMedical ) );
break;
//Health INT16 bLifeMax
case 6:
return( CompareValue((INT32)gMercProfiles[ Num1 ].bLifeMax, (INT32)gMercProfiles[Num2].bLifeMax ) );
break;
//Agility INT16 bAgility
case 7:
return( CompareValue((INT32)gMercProfiles[ Num1 ].bAgility, (INT32)gMercProfiles[Num2].bAgility ) );
break;
//Dexterity INT16 bDexterity
case 8:
return( CompareValue((INT32)gMercProfiles[ Num1 ].bDexterity, (INT32)gMercProfiles[Num2].bDexterity ) );
break;
//Strength INT16 bStrength
case 9:
return( CompareValue((INT32)gMercProfiles[ Num1 ].bStrength, (INT32)gMercProfiles[Num2].bStrength ) );
break;
//Leadership INT16 bLeadership
case 10:
return( CompareValue((INT32)gMercProfiles[ Num1 ].bLeadership, (INT32)gMercProfiles[Num2].bLeadership ) );
break;
//Wisdom INT16 bWisdom
case 11:
return( CompareValue((INT32)gMercProfiles[ Num1 ].bWisdom, (INT32)gMercProfiles[Num2].bWisdom ) );
break;
//Name CHAR16 zNickname
case 12:
return( wcscmp(gMercProfiles[ Num1 ].zNickname, gMercProfiles[Num2].zNickname ) );
break;
default:
@@ -740,7 +1084,37 @@ INT32 CompareValue(const INT32 Num1, const INT32 Num2)
void HandleAimSortKeyBoardInput()
{
InputAtom InputEvent;
#ifdef USE_HIGHSPEED_GAMELOOP_TIMER
while (DequeueSpecificEvent(&InputEvent, KEY_DOWN|KEY_UP|KEY_REPEAT))
#else
while (DequeueEvent(&InputEvent) == TRUE)
#endif
{//!HandleTextInput( &InputEvent ) &&
if( InputEvent.usEvent == KEY_DOWN )
{
switch (InputEvent.usParam)
{
case BACKSPACE:
guiCurrentLaptopMode = LAPTOP_MODE_AIM;
break;
case 'a':
guiCurrentLaptopMode = LAPTOP_MODE_AIM_MEMBERS_ARCHIVES;
break;
case 'f':
guiCurrentLaptopMode = LAPTOP_MODE_AIM_MEMBERS;
break;
case 'm':
guiCurrentLaptopMode = LAPTOP_MODE_AIM_MEMBERS_FACIAL_INDEX;
break;
default:
HandleKeyBoardShortCutsForLapTop( InputEvent.usEvent, InputEvent.usParam, InputEvent.usKeyState );
break;
}
}
}
}