Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 3
- void __userpurge getTooltipInfo(BINDLG *a1@<eax>, BINDLG *a2)
- {
- BINDLG *v2; // edx
- BINDLG *v3; // edi
- unsigned __int16 *v4; // esi
- char *v5; // eax
- char v6; // dl
- unsigned __int8 v7; // bl
- WORD v8; // ax
- WORD v9; // di
- char *v10; // eax
- int v11; // eax
- int v12; // edi
- char v13; // dl
- __int16 v14; // ax
- __int16 v15; // si
- unsigned __int16 v16; // cx
- __int16 v17; // bx
- unsigned __int16 v18; // si
- __int16 v19; // dx
- __int16 wOreCost; // ax
- __int16 wGasCost; // cx
- int v22; // eax
- CUNIT *v23; // edi
- unsigned __int8 v24; // bl
- int v25; // eax
- __int16 v26; // ST24_2
- __int16 v27; // ax
- unsigned __int16 v28; // si
- unsigned __int16 v29; // si
- BYTE v30; // al
- __int16 v31; // di
- __int16 wEnergyCost; // dx
- int v33; // eax
- BINDLG *v34; // eax
- int v35; // ecx
- __int16 wEnergyCost2; // [esp-1Ch] [ebp-28h]
- __int16 wEnergyCost3; // [esp-18h] [ebp-24h]
- __int16 wSupplyReq; // [esp-14h] [ebp-20h]
- __int16 wSupplyReq2; // [esp-10h] [ebp-1Ch]
- __int16 wSupplyReq3; // [esp-Ch] [ebp-18h]
- char *v41; // [esp+4h] [ebp-8h]
- char v42; // [esp+17h] [ebp+Bh]
- v2 = a2;
- v3 = a1;
- if ( a2 == a1 )
- {
- refreshSelectionScreen();
- wOreCostTooltip = 0;
- wGasCostTooltip = 0;
- wEnergyCostTooltip = 0;
- wEnergyCost2Tooltip = 0;
- wEnergyCost3Tooltip = 0;
- wSupplyReqTooltip = 0;
- wSupplyReq2Tooltip = 0;
- wSupplyReq3Tooltip = 0;
- wUpgradeLevelTooltip = 0;
- return;
- }
- if ( !a1 )
- {
- v34 = *(BINDLG **)&a2->field_3E;
- if ( !v34 )
- return;
- v35 = v34->lFlags;
- if ( !(v35 & 1) )
- {
- v34->lFlags = v35 | 1;
- updateDialog(v34);
- v2 = a2;
- }
- *(_DWORD *)&v2->field_3E = 0;
- LABEL_43:
- resetTooltipInfo();
- return;
- }
- if ( !(a1->lFlags & 8) )
- goto LABEL_43;
- v4 = (unsigned __int16 *)a1->lUser;
- v5 = getStatTxtString(v4[8]);
- v7 = v5[1];
- v41 = v5;
- if ( v6 & 2 )
- {
- *(_DWORD *)&a2->field_3E = v3;
- setDefaultTooltipInfo(0, 0, 0, 0, 0, 0, 0, 0);
- v8 = v4[9];
- wUpgradeLevelTooltip = 0;
- if ( v8 )
- {
- v9 = v8;
- if ( v7 == 2 )
- v9 = (unsigned __int8)getUpgradesLevel((unsigned __int8)activePortraitUnit->owner, v4[7]) + v8;
- v10 = getStatTxtString(v9);
- CreateUpgradeLevelTooltip((int)v10);
- }
- else
- {
- resetTooltipInfo();
- }
- }
- else
- {
- sub_418830(v3);
- v11 = v7 - 1;
- switch ( v7 )
- {
- case 1u:
- v12 = v4[7];
- v13 = unitsdat_StareditGroupFlags[v12];
- LOBYTE(v14) = ((unitsdat_SpecialAbilityFlags[v12] & USAFlag_2_in_1) != 0) + 1;
- if ( v13 & 4 )
- v15 = unitsdat_SupplyRequired[v12];
- else
- v15 = 0;
- v14 = (unsigned __int8)v14;
- v16 = v15 * (unsigned __int8)v14;
- if ( v13 & 2 )
- v17 = unitsdat_SupplyRequired[v12];
- else
- v17 = 0;
- v18 = v17 * v14;
- if ( v13 & 1 )
- v19 = unitsdat_SupplyRequired[v12];
- else
- v19 = 0;
- wSupplyReq3 = (unsigned __int16)(v19 * v14) >> 1;
- wOreCost = unitsdat_OreCost[v12];
- wSupplyReq2 = v18 >> 1;
- wSupplyReq = v16 >> 1;
- wGasCost = unitsdat_GasCost[v12];
- goto LABEL_36;
- case 2u:
- v23 = activePortraitUnit;
- LOBYTE(v11) = activePortraitUnit->owner;
- v24 = *((_BYTE *)v4 + 14);
- v42 = activePortraitUnit->owner;
- v25 = getUpgradeGasCost(v11, v24);
- v26 = v25;
- LOBYTE(v25) = v42;
- v27 = getUpgradeOreCost(v25, v24);
- setDefaultTooltipInfo(v27, 0, v26, 0, 0, 0, 0, 0);
- v28 = v4[7];
- if ( (unsigned __int8)upgrades_repeats[v28] <= 1u )
- goto LABEL_38;
- wUpgradeLevelTooltip = (unsigned __int8)getUpgradesLevel((unsigned __int8)v23->owner, v28) + 1;
- CreateUpgradeLevelTooltip((int)(v41 + 2));
- return;
- case 3u:
- v29 = v4[7];
- v30 = unitGetRace(activePortraitUnit);
- if ( v30 )
- {
- v31 = 0;
- if ( v30 == 1 )
- {
- wGasCost = techdata_EnergyCost[v29];
- goto LABEL_32;
- }
- }
- else
- {
- v31 = techdata_EnergyCost[v29];
- }
- wGasCost = 0;
- if ( v30 == 2 )
- {
- wSupplyReq3 = 0;
- wSupplyReq2 = 0;
- wSupplyReq = 0;
- wEnergyCost = techdata_EnergyCost[v29];
- wEnergyCost3 = v31;
- wEnergyCost2 = 0;
- wOreCost = 0;
- goto LABEL_37;
- }
- LABEL_32:
- wEnergyCost = 0;
- wSupplyReq3 = 0;
- wSupplyReq2 = 0;
- wSupplyReq = 0;
- wEnergyCost3 = v31;
- wEnergyCost2 = wGasCost;
- wGasCost = 0;
- wOreCost = 0;
- LABEL_37:
- setDefaultTooltipInfo(
- wOreCost,
- wEnergyCost,
- wGasCost,
- wEnergyCost2,
- wEnergyCost3,
- wSupplyReq,
- wSupplyReq2,
- wSupplyReq3);
- LABEL_38:
- wUpgradeLevelTooltip = 0;
- CreateUpgradeLevelTooltip((int)(v41 + 2));
- break;
- case 4u:
- v33 = v4[7];
- wGasCost = techdata_GasCost[v33];
- wOreCost = techdata_oreCost[v33];
- goto LABEL_35;
- case 5u:
- v22 = v4[7];
- wGasCost = unitsdat_GasCost[v22];
- wOreCost = unitsdat_OreCost[v22];
- goto LABEL_35;
- default:
- wGasCost = 0;
- wOreCost = 0;
- LABEL_35:
- wSupplyReq3 = 0;
- wSupplyReq2 = 0;
- wSupplyReq = 0;
- LABEL_36:
- wEnergyCost3 = 0;
- wEnergyCost = 0;
- wEnergyCost2 = 0;
- goto LABEL_37;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement