Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cca81dd7b6 | ||
|
|
77877078eb | ||
|
|
e6e56e214d | ||
|
|
1cd9e351f0 | ||
|
|
bdf2547623 |
Vendored
+13
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
// Legacy source files use CP949 (Korean Windows encoding, superset of EUC-KR).
|
||||||
|
// VS Code defaults to UTF-8, which silently corrupts the Korean comment bytes
|
||||||
|
// on save. Setting encoding to cp949 here preserves them exactly.
|
||||||
|
"files.encoding": "cp949",
|
||||||
|
|
||||||
|
// Let VS Code try to detect encoding per-file, falling back to cp949 above.
|
||||||
|
"files.autoGuessEncoding": true,
|
||||||
|
|
||||||
|
// Preserve the original Windows CRLF line endings (Git's * -text in
|
||||||
|
// .gitattributes also prevents conversion, but this keeps VS Code consistent).
|
||||||
|
"files.eol": "\r\n"
|
||||||
|
}
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
Mech,Tech,Chassis_Tonnage,Max_Loadout_Tonnage,Armor_Type,Internal_Type,Heatsinks,Heatsink_Type,JumpJets_Installed,CanLoad_JJ,CanLoad_ECM,CanLoad_BAP,CanLoad_AMS,OmniSlots,Equipment,Armor_LeftArm,Armor_RightArm,Armor_LeftLeg,Armor_RightLeg,Armor_LeftFrontTorso,Armor_RightFrontTorso,Armor_CenterFrontTorso,Armor_CenterRearTorso,Armor_Head,Total_Armor_Multiplier,Weapon_Count,Weapons_Summary,Weapons_With_Locations
|
||||||
|
Annihilator,IS,23.000000,100.000000,Reflective,EndoSteel,17,Single,0,No,Yes,Yes,Yes,,,1.8,1.8,1.8,1.8,1.85,1.85,2.0,0.8,0.3,14.0,10,"4x ClanERSmallLaser, 2x ClanMachineGun, 4x ClanUltraAC5",ClanERSmallLaser@LeftTorso G1 | ClanERSmallLaser@CenterTorso G1 | ClanERSmallLaser@CenterTorso G1 | ClanERSmallLaser@RightTorso G1 | ClanMachineGun@LeftTorso G1 | ClanMachineGun@RightTorso G1 | ClanUltraAC5@LeftArm G1 | ClanUltraAC5@LeftArm G1 | ClanUltraAC5@RightArm G1 | ClanUltraAC5@RightArm G1
|
||||||
|
Archer,IS,17.000000,70.000000,Standard,Standard,20,Single,1,Yes,Yes,Yes,Yes,,,1.1,1.1,1.2,1.2,1.4,1.4,1.5,0.5,0.3,9.7,9,"2x LRM15, 4x MediumPulseLaser, NarcBeacon, 2x SSRM2",MediumPulseLaser@LeftArm G1 | MediumPulseLaser@CenterTorso G1 | MediumPulseLaser@CenterTorso G1 | MediumPulseLaser@RightArm G1 | SSRM2@LeftArm G2 | SSRM2@RightArm G2 | LRM15@LeftTorso G2 | LRM15@RightTorso G2 | NarcBeacon@LeftTorso G3
|
||||||
|
ArcticWolf,Clan,9.5,40.0,FerroFiberus,EndoSteel,8,Single,1,Yes,Yes,Yes,Yes,,,0.7,0.7,0.95,0.95,0.85,0.85,1.0,0.2,0.3,6.5,6,"4x ClanSSRM4, 2x ClanSmallPulseLaser",ClanSmallPulseLaser@RightTorso G1 | ClanSmallPulseLaser@RightTorso G1 | ClanSSRM4@leftarm G2 | ClanSSRM4@special1 G2 | ClanSSRM4@special2 G2 | ClanSSRM4@rightarm G2
|
||||||
|
Ares,Clan,15.500000,60.000000,FerroFiberus,Standard,15,Single,0,Yes,Yes,Yes,Yes,,,0.9,0.9,1.15,1.15,1.1,1.1,1.45,0.9,0.25,8.9,9,"ClanERLargeLaser, 3x ClanERMediumLaser, 2x ClanERSmallLaser, 3x ClanLRM10",ClanERSmallLaser@Special1 G1 | ClanERSmallLaser@Special1 G1 | ClanERMediumLaser@LeftArm G1 | ClanERMediumLaser@RightArm G1 | ClanERMediumLaser@RightArm G1 | ClanERLargeLaser@LeftArm G1 | ClanLRM10@Special2 G2 | ClanLRM10@Special2 G2 | ClanLRM10@Special2 G2
|
||||||
|
Argus,IS,14.5,60.0,Standard,Standard,13,Single,0,No,Yes,Yes,Yes,,,0.7,0.7,1.15,1.15,0.85,0.85,1.45,0.9,0.3,8.05,9,"LRM10, 4x MachineGun, 3x MediumLaser, PPC",MediumLaser@Lefttorso G1 | MediumLaser@Righttorso G1 | MediumLaser@RightArm G1 | PPC@RightArm G1 | MachineGun@LeftTorso G1 | MachineGun@CenterTorso G1 | MachineGun@CenterTorso G1 | MachineGun@RightTorso G1 | LRM10@LeftArm G2
|
||||||
|
Assassin2,IS,12.000000,45.000000,FerroFiberus,EndoSteel,6,Single,0,Yes,Yes,Yes,Yes,,,0.85,0.85,0.85,0.85,0.9,0.9,1.05,0.45,0.25,6.95,7,"LRM5, 2x MediumLaser, 2x SRM4, 2x SmallLaser",SmallLaser@LeftArm G1 | SmallLaser@RightArm G1 | MediumLaser@LeftArm G1 | MediumLaser@RightArm G1 | SRM4@LeftTorso G2 | SRM4@RightTorso G2 | LRM5@Special1 G2
|
||||||
|
Atlas,IS,28.0,100.0,Standard,Standard,17,Single,0,No,Yes,Yes,Yes,,,1.95,1.95,2.15,2.15,2.45,2.45,2.2,1.1,0.3,16.7,9,"AC20, LRM20, 4x MediumLaser, SRM6, 2x SSRM2",MediumLaser@LeftArm G1 | MediumLaser@Head G1 | MediumLaser@CenterTorso G1 | MediumLaser@RightArm G1 | AC20@Special1 G1 | SSRM2@LeftTorso G2 | SSRM2@RightTorso G2 | SRM6@Special2 G2 | LRM20@LeftTorso G2
|
||||||
|
Avatar,IS,17.000000,70.000000,Reactive,EndoSteel,12,Single,0,Yes,Yes,Yes,Yes,,,1.3,1.3,1.5,1.5,1.6,1.6,1.75,0.5,0.3,11.35,10,"2x LRM10, 2x LRM5, 2x LargeLaser, 4x MachineGun",MachineGun@LeftArm G1 | MachineGun@Special1 G1 | MachineGun@Special1 G1 | MachineGun@RightArm G1 | LargeLaser@LeftArm G1 | LargeLaser@RightArm G1 | LRM5@LeftTorso G2 | LRM5@RightTorso G2 | LRM10@LeftTorso G2 | LRM10@RightTorso G2
|
||||||
|
Awesome,IS,23.0,80.0,Standard,Standard,28,Single,0,No,Yes,Yes,Yes,,AMS,1.45,1.45,1.55,1.55,1.65,1.65,1.75,1.25,0.3,12.6,6,"3x ERPPC, LRM5, SmallPulseLaser, UltraAC5",SmallPulseLaser@Head G1 | ERPPC@Lefttorso G1 | ERPPC@righttorso G1 | ERPPC@RightArm G1 | UltraAC5@LeftArm G1 | LRM5@CenterTorso G2
|
||||||
|
Battlemaster,IS,20.500000,85.000000,Standard,EndoSteel,25,Single,0,No,Yes,Yes,Yes,,,1.45,1.45,1.6,1.6,1.8,1.8,2.05,0.95,0.3,13.0,1,MediumPulseLaser,MediumPulseLaser@LeftArm G1
|
||||||
|
Battlemaster2c,Clan,15.500000,85.000000,Standard,EndoSteel,25,Single,0,No,Yes,Yes,Yes,,,1.45,1.45,1.6,1.6,1.8,1.8,2.05,0.95,0.3,13.0,1,ClanMediumPulseLaser,ClanMediumPulseLaser@LeftArm G1
|
||||||
|
Behemoth,Clan,22.000000,100.000000,Standard,Standard,21,Single,1,Yes,Yes,Yes,Yes,,,1.95,1.95,2.15,2.15,2.45,2.45,2.2,1.1,0.3,16.7,7,"2x ClanGaussRifle, 4x ClanLargePulseLaser, LargeLaser",ClanLargePulseLaser@LeftTorso G1 | ClanLargePulseLaser@LeftTorso G1 | ClanLargePulseLaser@RightTorso G1 | ClanLargePulseLaser@RightTorso G1 | ClanGaussRifle@LeftArm G3 | ClanGaussRifle@RightArm G3 | LargeLaser@Special1 G3
|
||||||
|
Behemoth2,Clan,22.000000,100.000000,Standard,Standard,21,Single,1,Yes,Yes,Yes,Yes,,,1.95,1.95,2.15,2.15,2.45,2.45,2.2,1.1,0.3,16.7,7,"2x ClanGaussRifle, 4x ClanLargePulseLaser, LargeLaser",ClanLargePulseLaser@LeftTorso G1 | ClanLargePulseLaser@LeftTorso G1 | ClanLargePulseLaser@RightTorso G1 | ClanLargePulseLaser@RightTorso G1 | ClanGaussRifle@LeftArm G3 | ClanGaussRifle@RightArm G3 | LargeLaser@Special1 G3
|
||||||
|
Blackhawk,Clan,10.000000,50.000000,FerroFiberus,EndoSteel,12,Single,0,Yes,Yes,Yes,Yes,,,0.9,0.9,0.95,0.95,1.05,1.05,1.2,0.55,0.25,7.8,4,"2x ClanERPPC, 2x ClanMediumPulseLaser",ClanMediumPulseLaser@LeftTorso G1 | ClanMediumPulseLaser@RightTorso G1 | ClanERPPC@LeftArm G1 | ClanERPPC@RightArm G1
|
||||||
|
Blackheart,Clan,14.000000,70.000000,FerroFiberus,Standard,0,Single,0,No,Yes,No,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
Blacklanner,Clan,12.500000,55.000000,FerroFiberus,EndoSteel,10,Single,0,No,Yes,Yes,Yes,,ECM,0.9,0.9,1.0,1.0,1.05,1.05,1.15,0.75,0.25,8.05,5,"ClanERLargeLaser, 2x ClanERMediumLaser, ClanLRM10, ClanSRM6",ClanERMediumLaser@LeftArm G1 | ClanERMediumLaser@LeftArm G1 | ClanERLargeLaser@RightArm G1 | ClanSRM6@Special2 G2 | ClanLRM10@Special1 G2
|
||||||
|
Blacknight,IS,16.0,75.0,Standard,Standard,22,Single,0,Yes,Yes,Yes,Yes,,,1.2,1.2,1.4,1.4,1.55,1.55,1.8,0.8,0.3,11.2,8,"2x LargeLaser, 4x MediumLaser, PPC, SmallLaser",SmallLaser@Head G1 | MediumLaser@LeftArm G1 | MediumLaser@LeftTorso G1 | MediumLaser@RightTorso G1 | MediumLaser@RightArm G1 | LargeLaser@LeftTorso G1 | LargeLaser@RightTorso G1 | PPC@RightArm G1
|
||||||
|
Bowman,Clan,16.000000,70.000000,FerroFiberus,Standard,0,Single,0,No,Yes,Yes,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
Brigand,IS,7.000000,25.000000,FerroFiberus,Standard,10,Single,0,Yes,Yes,Yes,Yes,,,0.45,0.45,0.45,0.45,0.55,0.55,0.55,0.4,0.25,4.1,4,"2x MediumLaser, 2x MediumPulseLaser",MediumPulseLaser@LeftArm G1 | MediumPulseLaser@RightArm G1 | MediumLaser@Special2 G1 | MediumLaser@Special1 G1
|
||||||
|
Bushwacker,IS,15.5,55.0,FerroFiberus,Standard,11,Single,0,No,Yes,Yes,Yes,,,0.9,0.9,1.1,1.1,1.15,1.15,1.35,0.5,0.25,8.4,8,"AC10, ERLargeLaser, 2x LRM5, 2x MachineGun, 2x MediumLaser",MediumLaser@CenterTorso G1 | MediumLaser@CenterTorso G1 | ERLargeLaser@RightArm G1 | MachineGun@LeftTorso G1 | MachineGun@RightTorso G1 | AC10@LeftArm G1 | LRM5@Special1 G2 | LRM5@Special1 G2
|
||||||
|
Canis,Clan,15.000000,80.000000,FerroFiberus,EndoSteel,0,Single,0,Yes,No,No,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
Catapult,IS,15.0,65.0,Reactive,Standard,10,Single,1,Yes,Yes,Yes,Yes,,,1.45,1.45,1.35,1.35,1.45,1.45,1.5,0.65,0.3,10.95,4,"2x LRM20, 2x LargeLaser",LargeLaser@LeftTorso G1 | LargeLaser@RightTorso G1 | LRM20@LeftArm G2 | LRM20@RightArm G2
|
||||||
|
CauldronBorn,Clan,13.5,65.0,FerroFiberus,EndoSteel,13,Single,0,Yes,Yes,Yes,Yes,,,0.85,0.85,0.95,0.95,1.15,1.15,1.55,0.85,0.25,8.55,6,"ClanERMediumLaser, ClanGaussRifle, 2x ClanLRM10, ClanSSRM2, ClanUltraAC5",ClanERMediumLaser@LeftTorso G1 | ClanUltraAC5@LeftArm G1 | ClanGaussRifle@RightArm G1 | ClanSSRM2@RightTorso G2 | ClanLRM10@Special1 G2 | ClanLRM10@Special2 G2
|
||||||
|
Chimera,IS,9.5,40.0,Standard,EndoSteel,14,Single,1,Yes,Yes,Yes,Yes,,,0.95,0.95,1.0,1.0,1.0,1.0,1.1,0.5,0.3,7.8,7,"ERLargeLaser, 4x LRM5, 2x MediumPulseLaser",MediumPulseLaser@LeftArm G1 | MediumPulseLaser@LeftArm G1 | ERLargeLaser@RightArm G1 | LRM5@RightTorso G2 | LRM5@RightTorso G2 | LRM5@RightTorso G2 | LRM5@RightTorso G2
|
||||||
|
Commando,IS,7.000000,25.000000,Standard,Standard,8,Single,0,Yes,Yes,Yes,Yes,,,0.6,0.6,0.8,0.8,0.75,0.75,0.8,0.45,0.3,5.85,3,"2x MediumLaser, SRM6",MediumLaser@LeftArm G1 | MediumLaser@RightArm G1 | SRM6@CenterTorso G2
|
||||||
|
Cougar,Clan,8.5,35.0,FerroFiberus,EndoSteel,10,Single,1,Yes,Yes,Yes,Yes,,,0.7,0.7,0.7,0.7,0.75,0.75,0.8,0.45,0.25,5.8,5,"2x ClanLRM10, ClanMachineGun, 2x ClanMediumPulseLaser",ClanMediumPulseLaser@LeftArm G1 | ClanMediumPulseLaser@RightArm G1 | ClanMachineGun@RightTorso G1 | ClanLRM10@LeftTorso G2 | ClanLRM10@RightTorso G2
|
||||||
|
Crab,IS,10.500000,50.000000,FerroFiberus,Standard,0,Single,0,No,No,Yes,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
Cyclops,IS,19.000000,90.000000,FerroFiberus,Standard,16,Single,0,No,Yes,Yes,Yes,,,1.4,1.4,1.4,1.4,1.55,1.55,1.45,0.8,0.25,11.2,8,"GaussRifle, LRM10, 2x MediumLaser, 3x MediumPulseLaser, SRM4",MediumPulseLaser@LeftArm G1 | MediumPulseLaser@Special1 G1 | MediumPulseLaser@RightArm G1 | MediumLaser@LeftArm G1 | MediumLaser@RightArm G1 | GaussRifle@RightTorso G1 | SRM4@CenterTorso G2 | LRM10@LeftTorso G2
|
||||||
|
Daishi,Clan,25.0,100.0,Standard,Standard,21,Single,0,No,Yes,Yes,Yes,,AMS,1.75,1.75,1.9,1.9,2.0,2.0,2.2,1.5,0.3,15.3,6,"ClanGaussRifle, 3x ClanLargePulseLaser, 2x ClanSSRM6",ClanLargePulseLaser@RightArm G1 | ClanLargePulseLaser@RightArm G1 | ClanLargePulseLaser@RightArm G1 | ClanGaussRifle@LeftArm G1 | ClanSSRM6@special1 G2 | ClanSSRM6@special1 G2
|
||||||
|
Deimos,Clan,18.0,85.0,Reactive,EndoSteel,17,Single,0,No,Yes,Yes,Yes,,AMS,1.55,1.55,1.65,1.65,1.75,1.75,2.05,0.7,0.3,12.95,10,"2x ClanERMediumLaser, 2x ClanLRM15, 6x ClanUltraAC2",ClanERMediumLaser@LeftTorso G1 | ClanERMediumLaser@RightTorso G1 | ClanUltraAC2@LeftArm G1 | ClanUltraAC2@LeftArm G1 | ClanUltraAC2@LeftArm G1 | ClanUltraAC2@RightArm G1 | ClanUltraAC2@RightArm G1 | ClanUltraAC2@RightArm G1 | ClanLRM15@Special1 G2 | ClanLRM15@Special2 G2
|
||||||
|
Dragon,Clan,17.0,60.0,Standard,Standard,13,Single,0,Yes,Yes,Yes,Yes,,,1.15,1.15,1.4,1.4,1.25,1.25,1.55,0.9,0.3,10.35,5,"ERPPC, LRM10, 3x MediumLaser",MediumLaser@LeftArm G1 | MediumLaser@LeftTorso G1 | MediumLaser@RightTorso G1 | ERPPC@RightArm G1 | LRM10@CenterTorso G2
|
||||||
|
Duangung,IS,7.000000,25.000000,FerroFiberus,Standard,0,Single,0,Yes,No,No,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
Fafnir,IS,21.0,100.0,FerroFiberus,Standard,7,Single,0,No,Yes,No,No,,,1.8,1.8,1.9,1.9,2.0,2.0,2.2,1.0,0.3,14.9,7,"2x ClanGaussRifle, 2x LargeLaser, 3x MediumLaser",ClanGaussRifle@RightTorso G1 | ClanGaussRifle@LeftTorso G1 | LargeLaser@RightArm G1 | LargeLaser@LeftArm G1 | MediumLaser@RightTorso G1 | MediumLaser@CenterTorso G1 | MediumLaser@LeftTorso G1
|
||||||
|
Flea,IS,7.00,20.0,Standard,Standard,2,Single,0,No,Yes,Yes,Yes,,,0.4,0.4,0.4,0.4,0.5,0.5,0.65,0.3,0.3,3.85,6,"2x MachineGun, 2x MediumLaser, 2x SmallLaser",SmallLaser@LeftTorso G1 | SmallLaser@RightTorso G1 | MediumLaser@LeftArm G1 | MediumLaser@RightArm G1 | MachineGun@LeftArm G1 | MachineGun@RightArm G1
|
||||||
|
Gargoyle,Clan,15.000000,80.000000,FerroFiberus,EndoSteel,0,Single,0,No,Yes,No,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
Gesu,Clan,9.750000,45.000000,FerroFiberus,EndoSteel,0,Single,0,No,No,Yes,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
Gladiator,Clan,24.0,95.0,FerroFiberus,Standard,19,Single,1,Yes,Yes,Yes,Yes,,,1.4,1.4,1.65,1.65,1.75,1.75,2.0,0.95,0.25,12.8,12,"ClanERSmallLaser, ClanLargePulseLaser, 3x ClanMediumPulseLaser, 5x ClanSmallPulseLaser, 2x SRM6",ClanSmallPulseLaser@RightTorso G1 | ClanSmallPulseLaser@RightTorso G1 | ClanSmallPulseLaser@RightArm G1 | ClanSmallPulseLaser@RightArm G1 | ClanSmallPulseLaser@RightArm G1 | ClanERSmallLaser@LeftTorso G1 | ClanMediumPulseLaser@RightArm G1 | ClanMediumPulseLaser@RightArm G1 | ClanMediumPulseLaser@RightArm G1 | ClanLargePulseLaser@LeftArm G1 | SRM6@LeftArm G2 | SRM6@LeftArm G2
|
||||||
|
Grizzly,Clan,16.000000,70.000000,FerroFiberus,Standard,11,Single,1,Yes,Yes,Yes,Yes,,,1.2,1.2,1.1,1.1,1.4,1.4,1.5,0.5,0.25,9.65,6,"CLANLRM10, ClanGaussRifle, ClanLargePulseLaser, ClanMediumPulseLaser, 2x ClanSmallPulseLaser",ClanSmallPulseLaser@LeftArm G1 | ClanSmallPulseLaser@LeftArm G1 | ClanMediumPulseLaser@RightTorso G1 | ClanLargePulseLaser@LeftArm G1 | ClanGaussRifle@RightArm G1 | CLANLRM10@LeftTorso G2
|
||||||
|
Hauptmann,Clan,21.0,95.0,Standard,Standard,20,Single,0,Yes,Yes,Yes,Yes,,ECM,1.7,1.7,1.8,1.8,1.9,1.9,2.1,1.1,0.3,14.3,8,"ClanERSmallLaser, 2x ClanLargePulseLaser, 2x ClanMediumPulseLaser, 2x ClanSSRM2, ClanUltraAC20",ClanERSmallLaser@Head G1 | ClanMediumPulseLaser@LeftArm G1 | ClanMediumPulseLaser@RightArm G1 | ClanLargePulseLaser@LeftArm G1 | ClanLargePulseLaser@RightArm G1 | ClanUltraAC20@Special1 G1 | ClanSSRM2@LeftTorso G2 | ClanSSRM2@RightTorso G2
|
||||||
|
Hellhound,Clan,10.5,50.0,FerroFiberus,EndoSteel,12,Single,1,Yes,Yes,Yes,Yes,,,0.9,0.9,0.95,0.95,1.05,1.05,1.2,0.55,0.25,7.8,6,"ClanLRM10, 3x ClanMediumPulseLaser, ClanUltraAC2, ClanUltraAC5",ClanMediumPulseLaser@LeftArm G1 | ClanMediumPulseLaser@LeftArm G1 | ClanMediumPulseLaser@RightArm G1 | ClanUltraAC2@RightTorso G1 | ClanUltraAC5@RightTorso G1 | ClanLRM10@LeftTorso G2
|
||||||
|
Hellspawn,IS,10.0,45.0,Standard,Standard,9,Single,1,Yes,Yes,Yes,Yes,,ECM,0.5,0.5,0.8,0.8,0.85,0.85,1.15,0.5,0.3,6.25,6,"LRM10, LargePulseLaser, 2x MediumPulseLaser, 2x SSRM2",MediumPulseLaser@LeftArm G1 | MediumPulseLaser@LeftArm G1 | LargePulseLaser@LeftArm G1 | SSRM2@RightArm G2 | SSRM2@Special1 G2 | LRM10@LeftTorso G2
|
||||||
|
Highlander,IS,21.5,90.0,Standard,Standard,17,Single,1,Yes,Yes,Yes,Yes,,AMS,1.75,1.45,1.7,1.7,1.8,1.8,2.0,0.85,0.3,13.35,7,"GaussRifle, 4x MediumPulseLaser, 2x SRM6",MediumPulseLaser@RightTorso G1 | MediumPulseLaser@RightTorso G1 | MediumPulseLaser@RightArm G1 | MediumPulseLaser@RightArm G1 | GaussRifle@LeftArm G1 | SRM6@LeftTorso G2 | SRM6@LeftTorso G2
|
||||||
|
Hollander,IS,10.000000,45.000000,FerroFiberus,EndoSteel,12,Single,0,No,Yes,Yes,Yes,,,0.85,0.85,0.85,0.85,0.9,0.9,1.05,0.45,0.25,6.95,6,"GaussRifle, 3x MediumPulseLaser, 2x SmallPulseLaser",SmallPulseLaser@Special2 G1 | SmallPulseLaser@Special2 G1 | MediumPulseLaser@LeftArm G1 | MediumPulseLaser@LeftTorso G1 | MediumPulseLaser@RightArm G1 | GaussRifle@Special1 G1
|
||||||
|
Hunchback,IS,13.5,50.0,Standard,Standard,10,Single,0,Yes,Yes,Yes,Yes,,ECM,1.0,1.0,1.1,1.1,1.2,1.2,1.5,0.5,0.3,8.9,6,"AC10, 4x MediumLaser, SmallLaser",SmallLaser@Head G1 | MediumLaser@LeftArm G1 | MediumLaser@LeftArm G1 | MediumLaser@RightArm G1 | MediumLaser@RightArm G1 | AC10@Special1 G1
|
||||||
|
Kodiak,IS,22.0,100.0,Standard,EndoSteel,20,Single,1,Yes,Yes,Yes,Yes,,,1.5,1.5,1.9,1.9,1.5,1.5,2,1.1,0.3,13.2,7,"4x ClanERMediumLaser, 2x ClanSSRM6, ClanUltraAC20",ClanERMediumLaser@leftArm G1 | ClanERMediumLaser@leftArm G1 | ClanERMediumLaser@rightarm G1 | ClanERMediumLaser@rightarm G1 | ClanUltraAC20@RightTorso G1 | ClanSSRM6@LeftTorso G2 | ClanSSRM6@LeftTorso G2
|
||||||
|
Loki,Clan,17.5,65.0,Standard,Standard,13,Single,0,No,Yes,Yes,Yes,,ECM,1.3,1.3,1.4,1.4,1.5,1.5,1.55,0.6,0.3,10.85,7,"2x ClanERMediumLaser, 2x ClanMachineGun, ClanSSRM6, 2x ClanUltraAC5",ClanERMediumLaser@LeftArm G1 | ClanERMediumLaser@RightArm G1 | ClanMachineGun@LeftTorso G1 | ClanMachineGun@RightTorso G1 | ClanUltraAC5@LeftArm G1 | ClanUltraAC5@RightArm G1 | ClanSSRM6@Special1 G2
|
||||||
|
Longbow,IS,20.5,85.0,Standard,Standard,11,Single,0,No,Yes,Yes,Yes,,,1.6,1.6,1.65,1.65,1.2,1.2,1.85,1.0,0.3,12.05,6,"2x LRM20, 2x LRM5, 2x MediumLaser",MediumLaser@LeftTorso G1 | MediumLaser@RightTorso G1 | LRM5@LeftTorso G2 | LRM5@RightTorso G2 | LRM20@LeftArm G2 | LRM20@RightArm G2
|
||||||
|
MadCat_MkII,Clan,18.5,90.0,Reflective,EndoSteel,17,Single,1,Yes,Yes,Yes,Yes,,,1.8,1.8,1.8,1.8,1.85,1.85,2.0,0.8,0.3,14.0,12,"4x ClanERSmallLaser, 2x ClanLRM15, 2x ClanMachineGun, 4x ClanUltraAC5",ClanERSmallLaser@LeftTorso G1 | ClanERSmallLaser@CenterTorso G1 | ClanERSmallLaser@CenterTorso G1 | ClanERSmallLaser@RightTorso G1 | ClanMachineGun@LeftTorso G1 | ClanMachineGun@RightTorso G1 | ClanUltraAC5@LeftArm G1 | ClanUltraAC5@LeftArm G1 | ClanUltraAC5@RightArm G1 | ClanUltraAC5@RightArm G1 | ClanLRM15@Special2 G2 | ClanLRM15@Special1 G2
|
||||||
|
Madcat,Clan,16.5,75.0,FerroFiberus,EndoSteel,17,Single,0,Yes,Yes,Yes,Yes,,,1.1,1.1,1.2,1.2,1.4,1.4,1.5,0.5,0.25,9.65,8,"2x ClanERLargeLaser, 2x ClanLRM10, 2x ClanMachineGun, 2x ClanMediumPulseLaser",ClanMediumPulseLaser@LeftArm G1 | ClanMediumPulseLaser@RightArm G1 | ClanERLargeLaser@LeftArm G1 | ClanERLargeLaser@RightArm G1 | ClanMachineGun@LeftTorso G1 | ClanMachineGun@RightTorso G1 | ClanLRM10@Special1 G2 | ClanLRM10@Special2 G2
|
||||||
|
Masakari,Clan,18.0,85.0,FerroFiberus,Standard,15,Single,0,Yes,Yes,Yes,Yes,,,1.25,1.25,1.4,1.4,1.45,1.45,1.8,0.85,0.25,11.1,7,"2x ClanERMediumLaser, ClanGaussRifle, 2x ClanLRM10, 2x ClanUltraAC2",ClanERMediumLaser@RightTorso G1 | ClanERMediumLaser@RightTorso G1 | ClanUltraAC2@RightArm G1 | ClanUltraAC2@RightArm G1 | ClanGaussRifle@LeftArm G1 | ClanLRM10@LeftTorso G2 | ClanLRM10@LeftTorso G2
|
||||||
|
Mauler,IS,26.0,90.0,FerroFiberus,Standard,11,Single,0,No,Yes,Yes,Yes,,,1.4,1.4,1.4,1.4,1.55,1.55,1.45,0.8,0.25,11.2,10,"2x GaussRifle, 6x LRM5, 2x SSRM4",GaussRifle@LeftArm G1 | GaussRifle@RightArm G1 | SSRM4@LeftTorso G2 | SSRM4@RightTorso G2 | LRM5@LeftTorso G2 | LRM5@LeftTorso G2 | LRM5@LeftTorso G2 | LRM5@RightTorso G2 | LRM5@RightTorso G2 | LRM5@RightTorso G2
|
||||||
|
Novacat,Clan,16.0,70.0,Reactive,EndoSteel,17,Single,1,Yes,Yes,Yes,Yes,,ECM,1.55,1.55,1.45,1.45,1.5,1.5,1.7,0.75,0.3,11.75,7,"2x ClanERLargeLaser, 5x ClanMediumPulseLaser",ClanMediumPulseLaser@LeftArm G1 | ClanMediumPulseLaser@LeftArm G1 | ClanMediumPulseLaser@LeftArm G1 | ClanMediumPulseLaser@LeftTorso G1 | ClanMediumPulseLaser@RightTorso G1 | ClanERLargeLaser@RightArm G1 | ClanERLargeLaser@RightArm G1
|
||||||
|
Osiris,IS,9.5,30.0,FerroFiberus,EndoSteel,11,Single,1,yes,Yes,Yes,Yes,,AMS,0.6,0.6,0.6,0.6,0.65,0.65,0.75,0.3,0.25,5.0,5,"2x MediumPulseLaser, NarcBeacon, SSRM2, SmallPulseLaser",SmallPulseLaser@special2 G1 | MediumPulseLaser@special1 G1 | MediumPulseLaser@RightArm G1 | SSRM2@LeftArm G2 | NarcBeacon@LeftArm G3
|
||||||
|
Owens,IS,9.75,35.0,Standard,Standard,5,Single,0,No,Yes,Yes,Yes,,ECM,0.9,0.9,0.8,0.8,0.8,0.8,1.05,0.35,0.3,6.7,5,"MediumLaser, 2x SRM6, 2x SmallLaser",SmallLaser@CenterTorso G1 | SmallLaser@CenterTorso G1 | MediumLaser@Head G1 | SRM6@LeftArm G2 | SRM6@RightArm G2
|
||||||
|
Puma,Clan,7.5,35.0,FerroFiberus,EndoSteel,10,Single,1,Yes,Yes,Yes,Yes,,,0.8,0.8,0.6,0.6,0.6,0.6,0.85,0.45,0.25,5.55,4,"2x ClanLRM20, 2x ClanSmallPulseLaser",ClanSmallPulseLaser@LeftTorso G1 | ClanSmallPulseLaser@RightTorso G1 | ClanLRM20@LeftArm G2 | ClanLRM20@RightArm G2
|
||||||
|
Raven,IS,10.25,35.0,FerroFiberus,Standard,7,Single,0,No,Yes,Yes,Yes,,"ECM, AMS",0.6,0.65,0.65,0.65,0.7,0.7,0.75,0.25,0.25,5.2,5,"LRM5, 2x MediumLaser, NarcBeacon, SRM6",MediumLaser@RightArm G1 | MediumLaser@RightArm G1 | SRM6@RightTorso G2 | LRM5@RightTorso G2 | NarcBeacon@LeftArm G3
|
||||||
|
Rifleman,IS,12.500000,60.000000,FerroFiberus,EndoSteel,17,Single,0,Yes,Yes,Yes,Yes,,,0.9,0.9,1.0,1.0,1.5,1.5,1.3,0.7,0.25,9.05,6,"2x LargeLaser, 2x MediumLaser, 2x PPC",MediumLaser@Special1 G1 | MediumLaser@Special1 G1 | LargeLaser@LeftArm G1 | LargeLaser@RightArm G1 | PPC@LeftArm G1 | PPC@RightArm G1
|
||||||
|
Ryoken,IS,12.5,55.0,FerroFiberus,EndoSteel,10,Single,1,Yes,Yes,Yes,Yes,,ECM,0.9,0.9,1.0,1.0,1.05,1.05,1.15,0.75,0.25,8.05,6,"4x ClanMediumPulseLaser, 2x ClanSSRM6",ClanMediumPulseLaser@LeftArm G1 | ClanMediumPulseLaser@LeftArm G1 | ClanMediumPulseLaser@RightArm G1 | ClanMediumPulseLaser@RightArm G1 | ClanSSRM6@LeftTorso G2 | ClanSSRM6@RightTorso G2
|
||||||
|
Shadowcat,Clan,9.75,45.0,FerroFiberus,EndoSteel,10,Single,1,Yes,Yes,Yes,Yes,,,0.85,0.85,0.85,0.85,0.9,0.9,1.05,0.45,0.25,6.95,5,"ClanGaussRifle, 2x ClanMediumPulseLaser, 2x ClanSSRM4",ClanMediumPulseLaser@RightTorso G1 | ClanMediumPulseLaser@RightArm G1 | ClanGaussRifle@LeftArm G1 | ClanSSRM4@LeftTorso G2 | ClanSSRM4@RightTorso G2
|
||||||
|
Solitaire,Clan,7.000000,25.000000,FerroFiberus,EndoSteel,10,Single,0,Yes,Yes,Yes,Yes,,,0.6,0.6,0.6,0.6,0.55,0.55,0.8,0.4,0.25,4.95,4,"ClanERLargeLaser, 2x ClanERMediumLaser, ClanERSmallLaser",ClanERSmallLaser@LeftTorso G1 | ClanERMediumLaser@LeftTorso G1 | ClanERMediumLaser@CenterTorso G1 | ClanERLargeLaser@Special1 G1
|
||||||
|
Sunder,IS,17.5,90.0,Standard,Standard,17,Single,0,Yes,Yes,Yes,Yes,,,1.35,1.35,1.55,1.55,1.65,1.65,2.0,1.0,0.3,12.4,10,"2x MachineGun, 6x MediumLaser, PPC, SRM6",MediumLaser@LeftTorso G1 | MediumLaser@LeftTorso G1 | MediumLaser@LeftTorso G1 | MediumLaser@RightTorso G1 | MediumLaser@RightTorso G1 | MediumLaser@RightTorso G1 | PPC@LeftArm G1 | MachineGun@RightArm G1 | MachineGun@RightArm G1 | SRM6@CenterTorso G2
|
||||||
|
Templar,IS,20.5,85.0,Standard,EndoSteel,25,Single,1,Yes,Yes,Yes,Yes,,AMS,1.45,1.45,1.6,1.6,1.8,1.8,2.05,0.95,0.3,13.0,11,"AC20, 2x MachineGun, 6x MediumPulseLaser, PPC, SRM4",MediumPulseLaser@LeftArm G1 | MediumPulseLaser@LeftTorso G1 | MediumPulseLaser@RightTorso G1 | MediumPulseLaser@RightArm G1 | MediumPulseLaser@LeftTorso G1 | MediumPulseLaser@RightTorso G1 | PPC@LeftArm G1 | MachineGun@LeftTorso G1 | MachineGun@RightTorso G1 | AC20@RightArm G1 | SRM4@RightTorso G2
|
||||||
|
Thanatos,IS,18.0,75.0,FerroFiberus,EndoSteel,20,Single,1,Yes,Yes,Yes,Yes,,,0.9,0.9,1.3,1.3,1.2,1.2,1.6,0.85,0.25,9.5,7,"2x LRM10, 2x LargePulseLaser, 2x MediumLaser, MediumPulseLaser",MediumPulseLaser@LeftTorso G1 | MediumLaser@LeftArm G1 | MediumLaser@RightTorso G1 | LargePulseLaser@LeftArm G1 | LargePulseLaser@RightTorso G1 | LRM10@RightArm G2 | LRM10@RightArm G2
|
||||||
|
Thor,Clan,19.0,70.0,FerroFiberus,Standard,20,Single,1,Yes,Yes,Yes,Yes,,,1.1,1.1,1.2,1.2,1.4,1.4,1.5,0.5,0.25,9.65,7,"CLANLRM10, ClanERPPC, 2x ClanMachineGun, 2x ClanMediumPulseLaser, ClanUltraAC10",ClanMediumPulseLaser@LeftTorso G1 | ClanMediumPulseLaser@RightTorso G1 | ClanERPPC@RightArm G1 | ClanMachineGun@LeftTorso G1 | ClanMachineGun@RightTorso G1 | ClanUltraAC10@LeftArm G1 | CLANLRM10@Special1 G2
|
||||||
|
Uller,Clan,8.00,30.0,FerroFiberus,EndoSteel,8,Single,0,Yes,Yes,Yes,Yes,,"ECM, AMS",0.45,0.45,0.5,0.5,0.6,0.6,0.65,0.45,0.25,4.45,4,"ClanERMediumLaser, ClanERSmallLaser, ClanSRM6, ClanUltraAC5",ClanERSmallLaser@LeftArm G1 | ClanERMediumLaser@RightArm G1 | ClanUltraAC5@RightArm G1 | ClanSRM6@LeftArm G2
|
||||||
|
Uziel,IS,11.5,50.0,Standard,EndoSteel,10,Single,1,Yes,Yes,Yes,Yes,,,1.2,1.2,1.05,1.05,1.15,1.15,1.0,0.45,0.3,8.55,7,"LRM10, 2x MachineGun, PPC, 2x SmallPulseLaser, UltraAC5",SmallPulseLaser@LeftTorso G1 | SmallPulseLaser@RightTorso G1 | PPC@LeftArm G1 | MachineGun@LeftTorso G1 | MachineGun@RightTorso G1 | UltraAC5@RightArm G1 | LRM10@Special1 G2
|
||||||
|
Victor,IS,17.0,80.0,Standard,EndoSteel,10,Single,1,Yes,Yes,Yes,Yes,,ECM,1.3,1.3,1.3,1.3,1.25,1.25,1.65,1.1,0.3,10.75,7,"AC20, 2x MachineGun, 2x MediumLaser, 2x SRM4",MediumLaser@LeftArm G1 | MediumLaser@LeftArm G1 | MachineGun@LeftTorso G1 | MachineGun@RightTorso G1 | AC20@RightArm G1 | SRM4@LeftTorso G2 | SRM4@RightTorso G2
|
||||||
|
Vulture,Clan,16.0,60.0,Reactive,EndoSteel,12,Single,0,No,Yes,Yes,Yes,,,1.3,1.3,1.5,1.5,1.6,1.6,1.75,0.5,0.3,11.35,10,"2x ClanLRM10, 2x ClanLRM5, 2x ClanLargePulseLaser, 4x ClanMachineGun",ClanMachineGun@LeftArm G1 | ClanMachineGun@Special1 G1 | ClanMachineGun@Special1 G1 | ClanMachineGun@RightArm G1 | ClanLargePulseLaser@LeftArm G1 | ClanLargePulseLaser@RightArm G1 | ClanLRM5@LeftTorso G2 | ClanLRM5@RightTorso G2 | ClanLRM10@LeftTorso G2 | ClanLRM10@RightTorso G2
|
||||||
|
Warhammer,IS,15.000000,70.000000,Standard,Standard,17,Single,0,Yes,Yes,Yes,Yes,,AMS,1.55,1.55,1.45,1.45,1.5,1.5,1.7,0.75,0.3,11.75,5,"2x ERPPC, 2x MediumLaser, SRM6",MediumLaser@RightTorso G1 | MediumLaser@LeftTorso G1 | ERPPC@RightArm G1 | ERPPC@LeftArm G1 | SRM6@special2 G2
|
||||||
|
Wolfhound,Clan,10.25,35.0,FerroFiberus,EndoSteel,14,Single,0,Yes,Yes,Yes,Yes,,"ECM, AMS",0.5,0.5,0.7,0.7,0.75,0.75,0.95,0.5,0.25,5.6,5,"ClanERLargeLaser, ClanERMediumLaser, 3x ClanMediumPulseLaser",ClanMediumPulseLaser@LeftTorso G1 | ClanMediumPulseLaser@CenterTorso G1 | ClanMediumPulseLaser@RightTorso G1 | ClanERMediumLaser@CenterTorso G1 | ClanERLargeLaser@RightArm G1
|
||||||
|
Zeus,IS,22.0,80.0,FerroFiberus,Standard,22,Single,0,Yes,Yes,Yes,Yes,,,1.1,1.1,1.25,1.25,1.45,1.45,1.55,0.8,0.25,10.2,7,"ERLargeLaser, ERPPC, LRM15, 4x MediumPulseLaser",MediumPulseLaser@LeftTorso G1 | MediumPulseLaser@RightTorso G1 | MediumPulseLaser@RightArm G1 | MediumPulseLaser@RightTorso G1 | ERLargeLaser@CenterTorso G1 | ERPPC@LeftArm G1 | LRM15@RightArm G2
|
||||||
|
jenner2c,Clan,10.000000,35.000000,FerroFiberus,Standard,0,Single,0,Yes,Yes,No,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
koto,IS,7.000000,25.000000,FerroFiberus,EndoSteel,0,Single,0,No,Yes,No,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
locust2c,Clan,7.000000,25.000000,FerroFiberus,EndoSteel,0,Single,0,No,Yes,No,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
marauder2,IS,22.000000,100.000000,FerroFiberus,EndoSteel,0,Single,0,Yes,No,Yes,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
pitbull,Clan,15.000000,70.000000,FerroFiberus,EndoSteel,0,Single,0,Yes,No,No,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
privateer,IS,12.500000,55.000000,FerroFiberus,Standard,0,Single,0,No,No,Yes,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
razorback,IS,9.000000,30.000000,FerroFiberus,EndoSteel,0,Single,0,No,Yes,No,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
reaper,Clan,16.500000,75.000000,FerroFiberus,EndoSteel,0,Single,0,Yes,Yes,No,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
reaver,Clan,10.000000,40.000000,FerroFiberus,EndoSteel,0,Single,0,Yes,No,Yes,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
shadowhawk,IS,12.500000,55.000000,FerroFiberus,Standard,0,Single,0,Yes,Yes,No,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
strider,IS,11.000000,40.000000,FerroFiberus,Standard,0,Single,0,No,No,Yes,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
urbanmech,IS,5.000000,30.000000,Standard,Standard,8,Single,0,Yes,Yes,No,No,,,0.45,0.45,0.5,0.5,0.6,0.6,0.65,0.45,0.25,4.45,2,"AC20, SmallLaser",SmallLaser@LeftArm G1 | AC20@RightArm G1
|
||||||
|
urbanmech_iic,Clan,5.000000,30.000000,FerroFiberus,Standard,0,Single,0,Yes,Yes,No,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
ursus,Clan,10.500000,50.000000,FerroFiberus,Standard,0,Single,0,No,Yes,No,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
vulture2,Clan,16.500000,75.000000,FerroFiberus,EndoSteel,0,Single,0,No,Yes,No,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
vulturec,Clan,14.000000,60.000000,FerroFiberus,Standard,0,Single,0,No,Yes,No,No,,,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.9,0,,
|
||||||
|
@@ -46,6 +46,8 @@ videoDevices BufferedDevices[8];
|
|||||||
int g_nDualHead = -1; // jcem
|
int g_nDualHead = -1; // jcem
|
||||||
int g_nDualHead2 = -1; // jcem
|
int g_nDualHead2 = -1; // jcem
|
||||||
int g_nNonDualHead = -1; // jcem
|
int g_nNonDualHead = -1; // jcem
|
||||||
|
int g_nMFD1 = -1; // mode 4: left 640x480 MFD monitor
|
||||||
|
int g_nMFD2 = -1; // mode 4: right 640x480 MFD monitor
|
||||||
// MSL 5.03 Mechview
|
// MSL 5.03 Mechview
|
||||||
int g_nMechViewType; // jcem : 0 - no mechview, 1 - on radar screen, 2 - on main screen
|
int g_nMechViewType; // jcem : 0 - no mechview, 1 - on radar screen, 2 - on main screen
|
||||||
|
|
||||||
@@ -380,6 +382,20 @@ void FindVideoCards()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Mode 4 (split dual 640x480): find two extra D3D devices beyond
|
||||||
|
// FullScreenDevice and g_nNonDualHead. These need no special resolution.
|
||||||
|
{
|
||||||
|
int found = 0;
|
||||||
|
for (int t0 = 0; t0 < NumDevices && found < 2; t0++) {
|
||||||
|
if (t0 == Environment.FullScreenDevice) continue;
|
||||||
|
if (t0 == g_nNonDualHead) continue;
|
||||||
|
if (DeviceArray[t0].D3DCaps.dwDevCaps & D3DDEVCAPS_HWRASTERIZATION) {
|
||||||
|
if (found == 0) g_nMFD1 = t0;
|
||||||
|
else g_nMFD2 = t0;
|
||||||
|
found++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
// jcem
|
// jcem
|
||||||
//
|
//
|
||||||
// Check any known video cards have up to date drivers (Only on Windows9x)
|
// Check any known video cards have up to date drivers (Only on Windows9x)
|
||||||
|
|||||||
@@ -940,6 +940,13 @@ void gos_UpdateDisplay( bool Everything )
|
|||||||
radar_device.BeginScene();
|
radar_device.BeginScene();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 4:
|
||||||
|
// Same 7-step cadence as mode 1: clear both MFD devices at step 0.
|
||||||
|
if(sh_step==0){
|
||||||
|
radar_device.BeginScene();
|
||||||
|
mfd_device.BeginScene(); // also clears mfd_device_right internally
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}else if(hsh_mrdev_initialized){
|
}else if(hsh_mrdev_initialized){
|
||||||
mr_device.BeginScene();
|
mr_device.BeginScene();
|
||||||
@@ -1106,6 +1113,21 @@ void gos_UpdateDisplay( bool Everything )
|
|||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
break;
|
break;
|
||||||
|
case 4:
|
||||||
|
// Same 7-step cadence as mode 1. Flip all three: radar, left MFD,
|
||||||
|
// right MFD. mfd_device_right.pDDSFront is NULL if not initialised
|
||||||
|
// (e.g. g_nMFD2 = -1), so guard the flip.
|
||||||
|
sh_step++;
|
||||||
|
sh_step%=7;
|
||||||
|
if(sh_step==0) {
|
||||||
|
radar_device.EndScene();
|
||||||
|
radar_device.pDDSFront->Flip(0,DDFLIP_DONOTWAIT|DDFLIP_NOVSYNC);
|
||||||
|
mfd_device.EndScene();
|
||||||
|
mfd_device.pDDSFront->Flip(0,DDFLIP_DONOTWAIT|DDFLIP_NOVSYNC);
|
||||||
|
if (mfd_device_right.pDDSFront)
|
||||||
|
mfd_device_right.pDDSFront->Flip(0,DDFLIP_DONOTWAIT|DDFLIP_NOVSYNC);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}else if(hsh_mrdev_initialized){
|
}else if(hsh_mrdev_initialized){
|
||||||
mr_device.EndScene();
|
mr_device.EndScene();
|
||||||
|
|||||||
@@ -945,6 +945,8 @@ void CHSH_Device::DrawTexture(float pt[4][2],DWORD dwColor,float tx1,float ty1,f
|
|||||||
|
|
||||||
extern int g_nDualHead;
|
extern int g_nDualHead;
|
||||||
extern int g_nNonDualHead;
|
extern int g_nNonDualHead;
|
||||||
|
extern int g_nMFD1; // mode 4: left 640x480 MFD monitor
|
||||||
|
extern int g_nMFD2; // mode 4: right 640x480 MFD monitor
|
||||||
// MSL 5.03 Mechview
|
// MSL 5.03 Mechview
|
||||||
extern int g_nMechViewType; // jcem : 0 - no mechview, 1 - on radar screen, 2 - on main screen
|
extern int g_nMechViewType; // jcem : 0 - no mechview, 1 - on radar screen, 2 - on main screen
|
||||||
|
|
||||||
@@ -1066,6 +1068,23 @@ bool CMR_Device::LoadMRTargetTexture(const char *mechtexturename)
|
|||||||
|
|
||||||
CMR_Device mr_device;
|
CMR_Device mr_device;
|
||||||
|
|
||||||
|
// Mode 4: the right-hand 640x480 MFD device. Shares VRAM with mfd_device
|
||||||
|
// (same GPU), so mfd_device's pDDSTarget texture can be passed to this
|
||||||
|
// device's pD3DDevice->SetTexture without a copy.
|
||||||
|
CMFDRight_Device mfd_device_right;
|
||||||
|
|
||||||
|
bool CMFDRight_Device::InitFirst()
|
||||||
|
{
|
||||||
|
// Take over g_nMFD2 monitor at 640x480 fullscreen.
|
||||||
|
return CHSH_Device::InitFirst(g_nMFD2, 640, 480);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CMFDRight_Device::InitSecond()
|
||||||
|
{
|
||||||
|
// Create flip chain, D3D device and a render-target slot (1024x512).
|
||||||
|
return CHSH_Device::InitSecond(1024, 512);
|
||||||
|
}
|
||||||
|
|
||||||
/////////////////////////////////// CRadar_Device ///////////////////////////////////
|
/////////////////////////////////// CRadar_Device ///////////////////////////////////
|
||||||
const char g_szRadarShutdown[] = "SHUT\nDOWN";
|
const char g_szRadarShutdown[] = "SHUT\nDOWN";
|
||||||
const char g_szRadarStartup[] = "START\nUP";
|
const char g_szRadarStartup[] = "START\nUP";
|
||||||
@@ -1349,7 +1368,7 @@ static DWORD channel_color[6]={
|
|||||||
|
|
||||||
|
|
||||||
CMFD_Device::CMFD_Device()
|
CMFD_Device::CMFD_Device()
|
||||||
: ch((DWORD)-1)
|
: ch((DWORD)-1), m_pRightDevice(NULL)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1359,6 +1378,15 @@ CMFD_Device::~CMFD_Device()
|
|||||||
|
|
||||||
bool CMFD_Device::InitFirst()
|
bool CMFD_Device::InitFirst()
|
||||||
{
|
{
|
||||||
|
// Mode 4: use g_nMFD1 (640x480) for left panel; also start up the right
|
||||||
|
// device here so both displays are ready before InitSecond runs.
|
||||||
|
if (g_nTypeOfMFDs == 4) {
|
||||||
|
m_pRightDevice = &mfd_device_right;
|
||||||
|
CHSH_Device::InitFirst(g_nMFD1, 640, 480); // left device
|
||||||
|
mfd_device_right.InitFirst(); // right device display mode
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
m_pRightDevice = NULL;
|
||||||
return CHSH_Device::InitFirst(g_nDualHead,1280,480);
|
return CHSH_Device::InitFirst(g_nDualHead,1280,480);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1409,6 +1437,11 @@ bool CMFD_Device::InitSecond()
|
|||||||
pD3DDevice->SetMaterial( &mtrl );
|
pD3DDevice->SetMaterial( &mtrl );
|
||||||
pD3DDevice->SetRenderState( D3DRENDERSTATE_AMBIENT, 0xffffffff );
|
pD3DDevice->SetRenderState( D3DRENDERSTATE_AMBIENT, 0xffffffff );
|
||||||
|
|
||||||
|
// Mode 4: create flip chain + D3D device for the right 640x480 monitor.
|
||||||
|
if (g_nTypeOfMFDs == 4 && m_pRightDevice) {
|
||||||
|
mfd_device_right.InitSecond();
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1450,6 +1483,11 @@ bool CMFD_Device::BeginChannel(DWORD channel)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 4:
|
||||||
|
// Same 7-step timing as mode 1: channels 0-4 map to sh_step 2-6.
|
||||||
|
if (sh_step != (int)(channel + 2))
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
ch=channel;
|
ch=channel;
|
||||||
|
|
||||||
@@ -1475,6 +1513,40 @@ bool CMFD_Device::EndChannel()
|
|||||||
gCaptureScreen = 0;
|
gCaptureScreen = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Mode 4: route this channel's blit to the correct physical monitor.
|
||||||
|
// Handled here, before the modes 1-3 SetRenderTargetBackbuffer/BeginScene
|
||||||
|
// block, so each path has exactly one matched Begin/EndScene pair.
|
||||||
|
// Channels 0-2 go to the LEFT device (this, g_nMFD1).
|
||||||
|
// Channels 3-4 go to the RIGHT device (m_pRightDevice, g_nMFD2).
|
||||||
|
// pDDSTarget was created by this device's pDD; both devices are on the
|
||||||
|
// same GPU so VRAM textures are mutually accessible.
|
||||||
|
if (g_nTypeOfMFDs == 4 && m_pRightDevice) {
|
||||||
|
CHSH_Device* target = (ch >= 3) ? m_pRightDevice : static_cast<CHSH_Device*>(this);
|
||||||
|
target->SetRenderTargetBackbuffer();
|
||||||
|
target->pD3DDevice->BeginScene();
|
||||||
|
|
||||||
|
target->pD3DDevice->SetRenderState(D3DRENDERSTATE_ALPHABLENDENABLE,TRUE);
|
||||||
|
target->pD3DDevice->SetRenderState(D3DRENDERSTATE_SRCBLEND,D3DBLEND_ONE);
|
||||||
|
target->pD3DDevice->SetRenderState(D3DRENDERSTATE_DESTBLEND,D3DBLEND_ONE);
|
||||||
|
|
||||||
|
target->pD3DDevice->SetTexture(0, pDDSTarget);
|
||||||
|
|
||||||
|
DWORD color4 = channel_color[ch];
|
||||||
|
float w4 = (float)target->size_back.cx; // 640
|
||||||
|
float h4 = (float)target->size_back.cy; // 480
|
||||||
|
float w2_4 = (float)size_target.cx; // 1024
|
||||||
|
float h2_4 = (float)size_target.cy; // 512
|
||||||
|
D3DTLVERTEX V4[4];
|
||||||
|
V4[0]=D3DTLVERTEX(D3DVECTOR( -0.5f,h4-0.5f,0.9f),1.0f,color4,0, 0/w2_4,h4/h2_4);
|
||||||
|
V4[1]=D3DTLVERTEX(D3DVECTOR( -0.5f, -0.5f,0.9f),1.0f,color4,0, 0/w2_4, 0/h2_4);
|
||||||
|
V4[2]=D3DTLVERTEX(D3DVECTOR(w4-0.5f,h4-0.5f,0.9f),1.0f,color4,0,w4/w2_4,h4/h2_4);
|
||||||
|
V4[3]=D3DTLVERTEX(D3DVECTOR(w4-0.5f, -0.5f,0.9f),1.0f,color4,0,w4/w2_4, 0/h2_4);
|
||||||
|
target->pD3DDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP,D3DFVF_TLVERTEX,V4,4,NULL);
|
||||||
|
|
||||||
|
target->pD3DDevice->EndScene();
|
||||||
|
ch = (DWORD)-1;
|
||||||
|
} else {
|
||||||
|
// Modes 1-3: blit to half of the single 1280-wide (or 640-wide) backbuffer.
|
||||||
SetRenderTargetBackbuffer();
|
SetRenderTargetBackbuffer();
|
||||||
pD3DDevice->BeginScene();
|
pD3DDevice->BeginScene();
|
||||||
|
|
||||||
@@ -1507,10 +1579,24 @@ bool CMFD_Device::EndChannel()
|
|||||||
pD3DDevice->EndScene();
|
pD3DDevice->EndScene();
|
||||||
ch = (DWORD)-1;
|
ch = (DWORD)-1;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Mode 4: same grid pattern as rcs640 but offset to x=0 for a standalone
|
||||||
|
// 640x480 surface (left half of rcs1280).
|
||||||
|
static RECT rcs640_solo[8]={
|
||||||
|
{0,40,640,42},
|
||||||
|
{ 160-1,0, 160+1,40},
|
||||||
|
{ 320-1,0, 320+1,40},
|
||||||
|
{ 480-1,0, 480+1,40},
|
||||||
|
{0,480-42,640,480-40},
|
||||||
|
{ 160-1,440, 160+1,480},
|
||||||
|
{ 320-1,440, 320+1,480},
|
||||||
|
{ 480-1,440, 480+1,480},
|
||||||
|
};
|
||||||
|
|
||||||
bool CMFD_Device::BeginScene()
|
bool CMFD_Device::BeginScene()
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
@@ -1533,6 +1619,25 @@ bool CMFD_Device::BeginScene()
|
|||||||
pD3DDevice->Clear(1,&s_rc2,D3DCLEAR_TARGET ,0,1.0f,0);
|
pD3DDevice->Clear(1,&s_rc2,D3DCLEAR_TARGET ,0,1.0f,0);
|
||||||
//pD3DDevice->Clear(0,NULL,D3DCLEAR_TARGET ,0,1.0f,0);
|
//pD3DDevice->Clear(0,NULL,D3DCLEAR_TARGET ,0,1.0f,0);
|
||||||
}break;
|
}break;
|
||||||
|
case 4:
|
||||||
|
// Clear and draw background grid on the LEFT device.
|
||||||
|
SetRenderTargetBackbuffer();
|
||||||
|
pD3DDevice->Clear(0,NULL,D3DCLEAR_TARGET,0,1.0f,0);
|
||||||
|
pD3DDevice->BeginScene();
|
||||||
|
if(sh_game_started) DrawMFDBackGrid();
|
||||||
|
pD3DDevice->EndScene();
|
||||||
|
// Clear and draw background grid on the RIGHT device.
|
||||||
|
if (m_pRightDevice) {
|
||||||
|
m_pRightDevice->SetRenderTargetBackbuffer();
|
||||||
|
m_pRightDevice->pD3DDevice->Clear(0,NULL,D3DCLEAR_TARGET,0,1.0f,0);
|
||||||
|
m_pRightDevice->pD3DDevice->BeginScene();
|
||||||
|
if(sh_game_started) {
|
||||||
|
m_pRightDevice->pD3DDevice->SetTexture(0,0);
|
||||||
|
m_pRightDevice->DrawQuadList(8,rcs640_solo,0xFFFFFFFF);
|
||||||
|
}
|
||||||
|
m_pRightDevice->pD3DDevice->EndScene();
|
||||||
|
}
|
||||||
|
return true; // skip the common BeginScene/DrawGrid/EndScene below
|
||||||
}
|
}
|
||||||
pD3DDevice->BeginScene();
|
pD3DDevice->BeginScene();
|
||||||
if(sh_game_started) {
|
if(sh_game_started) {
|
||||||
@@ -1559,6 +1664,11 @@ bool CMFD_Device::Release()
|
|||||||
SAFE_RELEASE(pDDSDamageTexture);
|
SAFE_RELEASE(pDDSDamageTexture);
|
||||||
// MSL 5.03 Target Damage Display
|
// MSL 5.03 Target Damage Display
|
||||||
SAFE_RELEASE(pDDSTargetTexture);
|
SAFE_RELEASE(pDDSTargetTexture);
|
||||||
|
// Mode 4: release the right device before releasing this (left) device.
|
||||||
|
if (g_nTypeOfMFDs == 4 && m_pRightDevice) {
|
||||||
|
m_pRightDevice->Release();
|
||||||
|
m_pRightDevice = NULL;
|
||||||
|
}
|
||||||
CHSH_Device::Release();
|
CHSH_Device::Release();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@@ -1714,6 +1824,11 @@ bool CMFD_Device::DrawMFDBackGrid()
|
|||||||
case 2:
|
case 2:
|
||||||
DrawQuadList(8,rcs640,0xFFFFFFFF);
|
DrawQuadList(8,rcs640,0xFFFFFFFF);
|
||||||
break;
|
break;
|
||||||
|
case 4:
|
||||||
|
// Left device uses the left-half grid (0..640).
|
||||||
|
// Right device grid is drawn separately in BeginScene.
|
||||||
|
DrawQuadList(8,rcs640_solo,0xFFFFFFFF);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -2489,6 +2604,9 @@ bool IsMultimonitorAvaliable()
|
|||||||
if ((*g_pfnCTCL_GetType)()==_ECTCL_CameraShip)
|
if ((*g_pfnCTCL_GetType)()==_ECTCL_CameraShip)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
// Mode 4 uses its own device slots ? g_nDualHead is not required.
|
||||||
|
if (g_nTypeOfMFDs == 4)
|
||||||
|
return (g_nMFD1 != -1 && g_nMFD2 != -1);
|
||||||
if (g_nDualHead != -1) {
|
if (g_nDualHead != -1) {
|
||||||
// 0 - no MFDs, 1 - orginal(5+1=dual & single), 2 - B&W(3 + 1=1 dual), 3 - color(3 + 1=2 dual)
|
// 0 - no MFDs, 1 - orginal(5+1=dual & single), 2 - B&W(3 + 1=1 dual), 3 - color(3 + 1=2 dual)
|
||||||
switch(g_nTypeOfMFDs)
|
switch(g_nTypeOfMFDs)
|
||||||
|
|||||||
@@ -169,6 +169,7 @@ public:
|
|||||||
LPDIRECTDRAWSURFACE7 pDDSTargetTexture;//메크 데미지 텍스쳐..
|
LPDIRECTDRAWSURFACE7 pDDSTargetTexture;//메크 데미지 텍스쳐..
|
||||||
|
|
||||||
DWORD ch; //current channel....
|
DWORD ch; //current channel....
|
||||||
|
CHSH_Device* m_pRightDevice; // mode 4: pointer to right 640x480 device (NULL in modes 1-3)
|
||||||
public:
|
public:
|
||||||
CMFD_Device();
|
CMFD_Device();
|
||||||
~CMFD_Device();
|
~CMFD_Device();
|
||||||
@@ -189,6 +190,19 @@ public:
|
|||||||
bool DrawMFDDefaultBackAux1(int state);
|
bool DrawMFDDefaultBackAux1(int state);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Mode 4 (split dual 640x480): right-side MFD device on its own 640x480 monitor.
|
||||||
|
// Same GPU as the left device (mfd_device), so VRAM textures are shared.
|
||||||
|
class CMFDRight_Device : public CHSH_Device
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CMFDRight_Device() {}
|
||||||
|
bool InitFirst();
|
||||||
|
bool InitSecond();
|
||||||
|
virtual bool BeginScene() { return true; }
|
||||||
|
virtual bool EndScene() { return true; }
|
||||||
|
virtual bool Release() { return CHSH_Device::Release(); }
|
||||||
|
};
|
||||||
|
|
||||||
class CMR_Device:public CHSH_Device
|
class CMR_Device:public CHSH_Device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -212,6 +226,7 @@ void HSH_DirectDrawRelease2();
|
|||||||
|
|
||||||
extern CRadar_Device radar_device;
|
extern CRadar_Device radar_device;
|
||||||
extern CMFD_Device mfd_device;
|
extern CMFD_Device mfd_device;
|
||||||
|
extern CMFDRight_Device mfd_device_right;
|
||||||
extern CMR_Device mr_device;
|
extern CMR_Device mr_device;
|
||||||
extern bool use_shgui;
|
extern bool use_shgui;
|
||||||
extern int sh_step;
|
extern int sh_step;
|
||||||
|
|||||||
@@ -14820,6 +14820,10 @@ void __stdcall CTCL_UpdateMechView()
|
|||||||
mfd_device.BeginScene();
|
mfd_device.BeginScene();
|
||||||
sh_step = 4;
|
sh_step = 4;
|
||||||
break;
|
break;
|
||||||
|
case 4:
|
||||||
|
// Same 7-step cadence as mode 1.
|
||||||
|
sh_step = 6;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -1440,7 +1440,7 @@ int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int n
|
|||||||
if (token && token[7])
|
if (token && token[7])
|
||||||
{
|
{
|
||||||
int n = atoi(&token[7]);
|
int n = atoi(&token[7]);
|
||||||
if ((0 <= n) && (n <= 3)) // 0 - no MFDs, 1 - orginal(5+1=dual & single), 2 - B&W(3 + 1=1 dual), 3 - color(3 + 1=2 dual)
|
if ((0 <= n) && (n <= 4)) // 0 - no MFDs, 1 - orginal(5+1=dual & single), 2 - B&W(3 + 1=1 dual), 3 - color(3 + 1=2 dual), 4 - split dual 640x480
|
||||||
g_nTypeOfMFDs = n;
|
g_nTypeOfMFDs = n;
|
||||||
}
|
}
|
||||||
token = strstr(all_lower, "-trio ");
|
token = strstr(all_lower, "-trio ");
|
||||||
|
|||||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1,363 @@
|
|||||||
|
;==========================================================================
|
||||||
|
; === Text based config file for dgVoodoo2
|
||||||
|
; === Use this file if you are a game modder/hacker or an experted user and
|
||||||
|
; want to modify some advanced properties not available via the CPL.
|
||||||
|
;==========================================================================
|
||||||
|
|
||||||
|
Version = 0x287
|
||||||
|
|
||||||
|
;--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
[General]
|
||||||
|
|
||||||
|
; OutputAPI: "d3d11warp", "d3d11_fl10_0", "d3d11_fl10_1", "d3d11_fl11_0",
|
||||||
|
; "d3d12_fl11_0", "d3d12_fl12_0", "bestavailable"
|
||||||
|
; Adapters: "all", or the ordinal of the adapter (1, ...)
|
||||||
|
;FullScreenOutput: "default", or the ordinal of the output on the adapter (1, ...)
|
||||||
|
; ScalingMode: "unspecified", "centered", "stretched", "centered_ar", "stretched_ar", "stretched_ar_crt",
|
||||||
|
; "stretched_4_3", "stretched_4_3_crt", "stretched_4_3_c64"
|
||||||
|
;
|
||||||
|
;InheritColorProfileInFullScreenMode:
|
||||||
|
; Enabled by default and can only be disabled only when a D3D11 output API
|
||||||
|
; is explicitly selected. Disabled case is intended for avoiding extra
|
||||||
|
; rendering resources on old hardware for better performance, if required.
|
||||||
|
|
||||||
|
; DisableScreenSaver: If true then screen saver and monitor sleep mode are disabled while rendering through dgVoodoo is active
|
||||||
|
|
||||||
|
OutputAPI = bestavailable
|
||||||
|
Adapters = all
|
||||||
|
FullScreenOutput = default
|
||||||
|
FullScreenMode = false
|
||||||
|
ScalingMode = unspecified
|
||||||
|
ProgressiveScanlineOrder = false
|
||||||
|
EnumerateRefreshRates = false
|
||||||
|
|
||||||
|
Brightness = 100
|
||||||
|
Color = 100
|
||||||
|
Contrast = 100
|
||||||
|
InheritColorProfileInFullScreenMode = true
|
||||||
|
|
||||||
|
KeepWindowAspectRatio = true
|
||||||
|
CaptureMouse = true
|
||||||
|
CenterAppWindow = false
|
||||||
|
DisableScreenSaver = false
|
||||||
|
|
||||||
|
;--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
[GeneralExt]
|
||||||
|
|
||||||
|
; DesktopResolution: Desktop (native) resolution can be forced for dgVoodoo's internal calculations.
|
||||||
|
; Useful for rare applications that pre-set the desktop to other than the native
|
||||||
|
; resolution before dgVoodoo gets in action. Only the compact format can be used here,
|
||||||
|
; and applies to all outputs of the desktop.
|
||||||
|
; DesktopBitDepth: You can define what screen bit depth should be reported through dgVoodoo
|
||||||
|
; (8, 16, 32)
|
||||||
|
; DeframerSize: When resolution is forced to other than the app default then
|
||||||
|
; a black frame is drawn around the output image coming from a wrapped API
|
||||||
|
; to remove scaling artifacts -
|
||||||
|
; frame thickness can be defined in pixels (max 16, 0 = disable)
|
||||||
|
; ImageScaleFactor: Integer factor for scaling the output image coming from a wrapped API
|
||||||
|
; Always done by nearest point filtering, independent on scaling mode
|
||||||
|
; (0 = max available)
|
||||||
|
; Separate factors can be defined for horizontal and vertical scaling
|
||||||
|
; by subproperties, e.g.
|
||||||
|
; ImageScaleFactor = x:3, y:2
|
||||||
|
; CursorScaleFactor: Integer factor for scaling the emulated hardware mouse (max 16)
|
||||||
|
; (0 = automatic, 1 = no scale, 2 = double scale, ...)
|
||||||
|
; DisplayROI: Display region of interest
|
||||||
|
; If scaling is done by the dgVoodoo then you can define a subrect of the
|
||||||
|
; output image, coming from a wrapped API, to be displayed. The defined subrect
|
||||||
|
; is mapped to the display output according to the current scaling mode
|
||||||
|
; It can be useful for applications rendering a widescreen subimage into a 4:3
|
||||||
|
; resolution; in this case you can scale up that subimage to (nearly) fill the
|
||||||
|
; whole screen on a widescreen monitor.
|
||||||
|
; DisplayROI empty value means the whole image.
|
||||||
|
; DisplayROI value can be a proportion in form of %d_%d or a pixel size (%d|%d)
|
||||||
|
; Pos subproperty is not mandatory and can be 'centered' or a pixel position (%d|%d)
|
||||||
|
; Examples: DisplayROI = 16_9, pos:centered
|
||||||
|
; DisplayROI = (320|200), pos:(10|10)
|
||||||
|
; Resampling: When scaling is done by the dgVoodoo for the given scaling mode,
|
||||||
|
; you can choose which filter is to be used for resampling the output image
|
||||||
|
; Available filters are: "pointsampled", "bilinear", "bicubic", "lanczos-2", "lanczos-3"
|
||||||
|
; PresentationModel: Low-level swapchain swap effect: if you know what you are doing then it can be
|
||||||
|
; overridden here. Flip models are better suited for modern OS features like auto HDR,
|
||||||
|
; while plain legacy models provide the best presentation performance under ideal conditions
|
||||||
|
; Not all model + output API + OS version combinations are supported.
|
||||||
|
; "auto", "discard", "seq", "flip_discard", "flip_seq"
|
||||||
|
; ColorSpace: Color space of the swap chain:
|
||||||
|
; "appdriven" - an application can choose argb2101010 through D3D9, but it means
|
||||||
|
; the legacy argb8888_srgb in any other case
|
||||||
|
; "argb8888_srgb" - Legacy 32 bit output for SDR displays
|
||||||
|
; "argb2101010_sdr" - 32 bit extended precision for SDR displays
|
||||||
|
; "argb2101010_sdr_wcg" - Wide Color Gamut format for SDR displays (available from Windows 11 22H2)
|
||||||
|
; "argb16161616_hdr" - Float16 HDR output (available from Windows 10 1709)
|
||||||
|
;WatermarkDisplayDuration: Display duration in secs for the watermark(s) if they are enabled (per swapchain)
|
||||||
|
; 0 or undefined means infinite time
|
||||||
|
; FreeMouse: If true then physical mouse is free to move inside the game window
|
||||||
|
; when using emulated scaling and/or application and forced resolution
|
||||||
|
; differs; can be useful when a game relies on the physical window size
|
||||||
|
; WindowedAttributes: You can define attributes for forced windowed appearance (separated by commas):
|
||||||
|
; "borderless" - forces the app window not have any border
|
||||||
|
; "alwaysontop" - forces the app window into the top-most band
|
||||||
|
; "fullscreensize" - forces the app window to be full screen size with image scaling inside
|
||||||
|
; FullscreenAttributes: You can define attributes for fullscreen appearance (separated by commas):
|
||||||
|
; "fake" - forces fake fullscreen mode with a screen-size window
|
||||||
|
; FPSLimit: An integer or rational (fractional) value, 0 = unlimited
|
||||||
|
; Environment: Software environment in which dgVoodoo is running: can be left unspecified (native)
|
||||||
|
; or can be set to 'DosBox' or 'QEmu'.
|
||||||
|
; SystemHookFlags: You can define which part of the system should be hooked (x86-DX only):
|
||||||
|
; "gdi" - for showing graphical contents rendered through GDI
|
||||||
|
; (like movie playback through the ancient Windows Multimedia AVI player library)
|
||||||
|
; "cursor" - for suppressing double-cursor symptoms when the cursor is emulated
|
||||||
|
|
||||||
|
DesktopResolution =
|
||||||
|
DesktopBitDepth =
|
||||||
|
DeframerSize = 1
|
||||||
|
ImageScaleFactor = 1
|
||||||
|
CursorScaleFactor = 0
|
||||||
|
DisplayROI =
|
||||||
|
Resampling = bilinear
|
||||||
|
PresentationModel = auto
|
||||||
|
ColorSpace = appdriven
|
||||||
|
WatermarkDisplayDuration = 0
|
||||||
|
FreeMouse = false
|
||||||
|
WindowedAttributes =
|
||||||
|
FullscreenAttributes =
|
||||||
|
FPSLimit = 0
|
||||||
|
Environment =
|
||||||
|
SystemHookFlags =
|
||||||
|
|
||||||
|
;--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
[Glide]
|
||||||
|
|
||||||
|
; VideoCard: "voodoo_graphics", "voodoo_rush", "voodoo_2", "voodoo_banshee", "other_greater"
|
||||||
|
; OnboardRAM: in MBs
|
||||||
|
; MemorySizeOfTMU: in kBs
|
||||||
|
; TMUFiltering: "appdriven", "pointsampled", "bilinear"
|
||||||
|
;
|
||||||
|
; Resolution: either "unforced", "max", "max_isf", "max_fhd", "max_fhd_isf", "max_qhd", "max_qhd_isf", "desktop", "%dx",
|
||||||
|
; "max_%dx", "max_isf_%dx", "max_fhd_%dx", "max_fhd_isf_%d"x, "max_qhd_%dx", "max_qhd_isf_%dx", "desktop_%dx"
|
||||||
|
; or subproperties: h: horizontal, v: vertical
|
||||||
|
; + optional subproperty refrate: refresh rate in Hz
|
||||||
|
; e.g. Resolution = max, refrate:60
|
||||||
|
; Resolution = 2x, refrate:59
|
||||||
|
; Resolution = h:1280, v:1024, refrate:75
|
||||||
|
; Resolution = max_2x
|
||||||
|
; or just use the compact form like "1024x768@60" or "512x384"
|
||||||
|
;
|
||||||
|
;Antialiasing: "off", "appdriven", "2x", "4x", "8x", "16x" (your GPU must support the chosen one)
|
||||||
|
|
||||||
|
VideoCard = voodoo_2
|
||||||
|
OnboardRAM = 8
|
||||||
|
MemorySizeOfTMU = 4096
|
||||||
|
NumberOfTMUs = 2
|
||||||
|
TMUFiltering = appdriven
|
||||||
|
DisableMipmapping = false
|
||||||
|
Resolution = unforced
|
||||||
|
Antialiasing = appdriven
|
||||||
|
|
||||||
|
EnableGlideGammaRamp = true
|
||||||
|
ForceVerticalSync = true
|
||||||
|
ForceEmulatingTruePCIAccess = false
|
||||||
|
16BitDepthBuffer = false
|
||||||
|
3DfxWatermark = true
|
||||||
|
3DfxSplashScreen = false
|
||||||
|
PointcastPalette = false
|
||||||
|
EnableInactiveAppState = false
|
||||||
|
|
||||||
|
|
||||||
|
;--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
[GlideExt]
|
||||||
|
|
||||||
|
; DitheringEffect: "pure32bit", "dither2x2", "dither4x4"
|
||||||
|
; Dithering: "disabled", "appdriven", "forcealways"
|
||||||
|
; DitherOrderedMatrixSizeScale: integer scale value for dither matrix size
|
||||||
|
; 1 = normal, 2 = double size, etc.
|
||||||
|
; 0 = automatic (the aim is to have some retro feel&look)
|
||||||
|
|
||||||
|
DitheringEffect = pure32bit
|
||||||
|
Dithering = forcealways
|
||||||
|
DitherOrderedMatrixSizeScale = 0
|
||||||
|
|
||||||
|
;--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
[DirectX]
|
||||||
|
|
||||||
|
; VideoCard: "svga", "internal3D", "geforce_ti_4800", "ati_radeon_8500",
|
||||||
|
; "matrox_parhelia-512", "geforce_fx_5700_ultra", "geforce_9800_gt"
|
||||||
|
; VRAM: in MBs (default) or in GBs (e.g. VRAM = 2GB)
|
||||||
|
; Filtering: "appdriven", "pointsampled", "bilinear", "pointmip", "linearmip", "trilinear"
|
||||||
|
; or the integer value of an anisotropic filtering level (1-16)
|
||||||
|
; Mipmapping: "appdriven", "disabled", "autogen_point", "autogen_bilinear"
|
||||||
|
; KeepFilterIfPointSampled: if enabled then forced filtering affects only non-point sampled textures
|
||||||
|
; Bilinear2DOperations: if enabled then DirectDraw Blit and CPU-written data is transferred with bilinear scaling
|
||||||
|
; DisableD3DTnLDevice: if disabled then D3D TnL device is not enumerated and hardware Transform&Light vertex processing
|
||||||
|
; is not available
|
||||||
|
|
||||||
|
DisableAndPassThru = false
|
||||||
|
|
||||||
|
VideoCard = internal3D
|
||||||
|
VRAM = 256
|
||||||
|
Filtering = appdriven
|
||||||
|
Mipmapping = appdriven
|
||||||
|
KeepFilterIfPointSampled = false
|
||||||
|
Resolution = unforced
|
||||||
|
Antialiasing = appdriven
|
||||||
|
|
||||||
|
AppControlledScreenMode = true
|
||||||
|
DisableAltEnterToToggleScreenMode = true
|
||||||
|
|
||||||
|
Bilinear2DOperations = false
|
||||||
|
PhongShadingWhenPossible = false
|
||||||
|
ForceVerticalSync = false
|
||||||
|
dgVoodooWatermark = true
|
||||||
|
FastVideoMemoryAccess = false
|
||||||
|
DisableD3DTnLDevice = false
|
||||||
|
|
||||||
|
;--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
[DirectXExt]
|
||||||
|
|
||||||
|
; AdapterIDType: "nvidia", "amd", "intel" or leave it undefined
|
||||||
|
; You can define what type of driver version and vendor id's the wrapper should report to
|
||||||
|
; the application; Some games rely on that information so it can be useful for them
|
||||||
|
; Can be defined only for SVGA and Internal3D card types; the others have their own wired
|
||||||
|
; information
|
||||||
|
|
||||||
|
; VendorID, DeviceID, SubsystemID, RevisionID:
|
||||||
|
; Can be defined only for SVGA and Internal3D card types
|
||||||
|
; You can overwrite these properties even if a non-default AdapterIDType is defined;
|
||||||
|
; say, you defined an nvidia id type but would like to refine the vendor id
|
||||||
|
|
||||||
|
; DefaultEnumeratedResolutions: you can define what resolutions should be enumerated to the application by default
|
||||||
|
; "all", "classics", "none"
|
||||||
|
|
||||||
|
; ExtraEnumeratedResolutions: you can add extra resolutions (separated by commas, max 16) that will get
|
||||||
|
; enumerated to the application as display adapter supported ones -
|
||||||
|
; can be useful if an app supports rendering at arbitrary resolutions
|
||||||
|
; and you have a particular favorite resolution that are not
|
||||||
|
; enumerated to the application by default
|
||||||
|
; you can either use the compact resolution format here, or
|
||||||
|
; "max", "max@refrate" meaning your desktop resolution with a potential refresh rate, or
|
||||||
|
; "max_4_3", "max_4_3@refrate", "max_16_9", "max_16_9@refrate"
|
||||||
|
; meaning the maximum resolution with the given aspect ratio calculated from
|
||||||
|
; the desktop resolution with the given refresh rate, e.g. "max_4_3@60", "max_16_9"
|
||||||
|
|
||||||
|
; EnumeratedResolutionBitdepths: you can filter what bitdepths are included in the resolution enumeration
|
||||||
|
; any subset of {"8", "16", "32"}, or "all"
|
||||||
|
|
||||||
|
; DitheringEffect: "high_quality", "ordered2x2", "ordered4x4"
|
||||||
|
; Dithering: "disabled", "appdriven", "forceon16bit", "forcealways"
|
||||||
|
; DitherOrderedMatrixSizeScale: integer scale value for dither matrix size
|
||||||
|
; 1 = normal, 2 = double size, etc.
|
||||||
|
; 0 = automatic
|
||||||
|
; DepthBuffersBitDepth: internal bit depth of depth/stencil buffers for 3D rendering (32 bit is not recommended)
|
||||||
|
; "appdriven", "forcemin24bit", "force32bit"
|
||||||
|
; Default3DRenderFormat: default format of 3D rendering
|
||||||
|
; "auto", "argb8888", "argb2101010", "argb16161616"
|
||||||
|
; auto corresponds to the selected color space
|
||||||
|
; argb2101010 has the benefit that it is still 32 bit but it can corrupt the rendering
|
||||||
|
; because of the lowered alpha bits, not recommended
|
||||||
|
|
||||||
|
; MaxVSConstRegisters: Max number of vertex shader constant registers (DX8/9 only)
|
||||||
|
; Can be defined only for SVGA and Internal3D card types
|
||||||
|
; Valid values are 256 (default), 512 or 1024
|
||||||
|
; D3D12BoundsChecking: If enabled then the D3D12 backend does bound checking on vs const register file accesses (D3D8/9 only)
|
||||||
|
; It should always be enabled to be fully compatible with the D3D8/9 specs but unfortunately that can cause
|
||||||
|
; performance loss while the vast majority of games do not need it; try to enable it if you experience a
|
||||||
|
; GPU crash with a D3D8/9 game
|
||||||
|
|
||||||
|
; NPatchTesselationLevel: Force N-Patch tesselation level (D3D8/9)
|
||||||
|
; 0 = app driven
|
||||||
|
; 1 = disable
|
||||||
|
; 2 to 8 = a forced tesselation level
|
||||||
|
; Altough tesselation works with all vertex shader versions, you can force level higher than 1
|
||||||
|
; only for the fixed function or vs.1.x vertex pipeline because of performance and practical reasons
|
||||||
|
; (forced tesselation also disables adaptive mode (D3D9), but forcing is not recommended at all, anyway)
|
||||||
|
|
||||||
|
; DisplayOutputEnableMask: Each bit in this 32 bit value corresponds to a display output. Display outputs of the adapters are numbered
|
||||||
|
; sequentially. If Adapter0 has n display outputs and Adapter1 has m display outputs attached then the lowest
|
||||||
|
; n bits match Adapter0 display outputs, the next m bits match Adapter1 outputs, and so on. The lowest bit
|
||||||
|
; in a group corresponds to Output0. If a bit value is 0 then the display output is disabled for the device
|
||||||
|
; enumeration, in other words, it is invisible to the application. It can be useful for D3D9 multihead-
|
||||||
|
; or very special applications where you want to enable only individual displays on your monitor wall.
|
||||||
|
|
||||||
|
; MSD3DDeviceNames: if true then original Microsoft D3D device names are exposed
|
||||||
|
; (some applications check for them and they fail)
|
||||||
|
|
||||||
|
; RTTexturesForceScaleAndMSAA: if true then forced resolution scaling and MSAA is
|
||||||
|
; applied also to rendertarget textures
|
||||||
|
; Set it to false for games requiring pixel-precise rendering
|
||||||
|
; but be careful it can EASILY break certain things, not recommended
|
||||||
|
|
||||||
|
; SmoothedDepthSampling: if true then extra smoothing is added to depth textures
|
||||||
|
; when they are sampled
|
||||||
|
|
||||||
|
; DeferredScreenModeSwitch: If true the switching to full screen is deferred after the application initialized
|
||||||
|
; the DirectX device; can be useful for games that don't expect rendering window changes
|
||||||
|
; during initialization and crash
|
||||||
|
|
||||||
|
; PrimarySurfaceBatchedUpdate: If true then direct changes of the primary surface are batched together for presenting them
|
||||||
|
; If false then each change is instantly presented (debug-like mode)
|
||||||
|
|
||||||
|
; SuppressAMDBlacklist: Some AMD GPU models are blacklisted to workaround the solid-color-textures driver issue
|
||||||
|
; You can suppress it to check out if the problem is fixed in your current driver
|
||||||
|
|
||||||
|
AdapterIDType =
|
||||||
|
VendorID =
|
||||||
|
DeviceID =
|
||||||
|
SubsystemID =
|
||||||
|
RevisionID =
|
||||||
|
|
||||||
|
DefaultEnumeratedResolutions = all
|
||||||
|
ExtraEnumeratedResolutions =
|
||||||
|
EnumeratedResolutionBitdepths = all
|
||||||
|
|
||||||
|
DitheringEffect = high_quality
|
||||||
|
Dithering = forcealways
|
||||||
|
DitherOrderedMatrixSizeScale = 0
|
||||||
|
DepthBuffersBitDepth = appdriven
|
||||||
|
Default3DRenderFormat = auto
|
||||||
|
|
||||||
|
MaxVSConstRegisters = 256
|
||||||
|
D3D12BoundsChecking = false
|
||||||
|
|
||||||
|
NPatchTesselationLevel = 0
|
||||||
|
|
||||||
|
DisplayOutputEnableMask = 0xffffffff
|
||||||
|
|
||||||
|
MSD3DDeviceNames = false
|
||||||
|
RTTexturesForceScaleAndMSAA = true
|
||||||
|
SmoothedDepthSampling = true
|
||||||
|
DeferredScreenModeSwitch = false
|
||||||
|
PrimarySurfaceBatchedUpdate = false
|
||||||
|
SuppressAMDBlacklist = false
|
||||||
|
|
||||||
|
;--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
[Debug]
|
||||||
|
|
||||||
|
; This section affects only debug/spec release builds
|
||||||
|
;
|
||||||
|
; Info, Warning, Error
|
||||||
|
; "Disable" - disables all messages and debugger break
|
||||||
|
; "Enable" - enables messages and disables debugger break
|
||||||
|
; "EnableBreak" - enables both messages and breaking into debugger
|
||||||
|
;
|
||||||
|
; MaxTraceLevel: Maximum level of tracing API calls
|
||||||
|
; 0 - Disable
|
||||||
|
; 1 - API Functions and methods
|
||||||
|
; 2 - Additional trace info for internals
|
||||||
|
;
|
||||||
|
; LogToFile: if false or debugger is detected then output goes to the debug output
|
||||||
|
; if true and no debugger detected then output goes to 'dgVoodoo.log'
|
||||||
|
; (not implemented yet, always the default debug output is used)
|
||||||
|
|
||||||
|
Info = enable
|
||||||
|
Warning = enable
|
||||||
|
Error = enable
|
||||||
|
MaxTraceLevel = 0
|
||||||
|
|
||||||
|
;LogToFile = false
|
||||||
Binary file not shown.
@@ -78,7 +78,9 @@ Write-Host "[pack 2/3] running resource compiler fullscreen (this can take a whi
|
|||||||
# Error -> the builder hangs on a modal dialog). Move it aside so the builder uses native DirectDraw;
|
# Error -> the builder hangs on a modal dialog). Move it aside so the builder uses native DirectDraw;
|
||||||
# the finally restores it for the editor regardless of how the build ends.
|
# the finally restores it for the editor regardless of how the build ends.
|
||||||
$ddraw = Join-Path $Runtime "ddraw.dll"; $ddrawBak = "$ddraw.buildaside"; $ddrawMoved = $false
|
$ddraw = Join-Path $Runtime "ddraw.dll"; $ddrawBak = "$ddraw.buildaside"; $ddrawMoved = $false
|
||||||
if (Test-Path $ddraw) { Move-Item $ddraw $ddrawBak -Force; $ddrawMoved = $true; Write-Host " (moved DDrawCompat ddraw.dll aside for the build)" }
|
$isDDrawCompat = (Test-Path $ddraw) -and -not (Test-Path (Join-Path $Runtime "dgVoodoo.conf"))
|
||||||
|
if ($isDDrawCompat) { Move-Item $ddraw $ddrawBak -Force; $ddrawMoved = $true; Write-Host " (moved DDrawCompat ddraw.dll aside for the build)" }
|
||||||
|
elseif (Test-Path $ddraw) { Write-Host " (dgVoodoo2 ddraw.dll detected - keeping in place for build)" }
|
||||||
$code = $null
|
$code = $null
|
||||||
try {
|
try {
|
||||||
$argList = "/gosnodialogs -armorlevel 3 -build -norun -nosound -nocd -noeula"
|
$argList = "/gosnodialogs -armorlevel 3 -build -norun -nosound -nocd -noeula"
|
||||||
|
|||||||
@@ -169,7 +169,8 @@ $keepExt = ".dll",".ini",".options",".txt",".rtf",".ico",".m4c",".sem",".016",".
|
|||||||
# the rest are tool/optional dlls the runtime game (per known-good) does not use.
|
# the rest are tool/optional dlls the runtime game (per known-good) does not use.
|
||||||
# ddraw.dll is DDrawCompat -- the editor installs it into the shared data tree for its windowed
|
# ddraw.dll is DDrawCompat -- the editor installs it into the shared data tree for its windowed
|
||||||
# viewport, but the fullscreen game must keep native DirectDraw, so never ship it here.
|
# viewport, but the fullscreen game must keep native DirectDraw, so never ship it here.
|
||||||
$skipDll = "dbghelp.dll","imagehlp.dll","ijl10.dll","ctcl.dll","Language.oeg.dll","Resources.dll","ddraw.dll"
|
$skipDll = "dbghelp.dll","imagehlp.dll","ijl10.dll","ctcl.dll","Language.oeg.dll","Resources.dll","ddraw.dll",
|
||||||
|
"D3DImm.dll","D3D8.dll","D3D9.dll" # dgVoodoo2 -- game uses AppCompat shim, not dgVoodoo
|
||||||
$skipName = "edeula.rtf","mech4.ico","debuglog.txt","erfviewer.txt","servercyclex.txt","tctd.ini",
|
$skipName = "edeula.rtf","mech4.ico","debuglog.txt","erfviewer.txt","servercyclex.txt","tctd.ini",
|
||||||
"options-ext.ini","options-cam-var.ini","options-game-var.ini","options-mr-var.ini",
|
"options-ext.ini","options-cam-var.ini","options-game-var.ini","options-mr-var.ini",
|
||||||
"ctcl-camera-test.ini","ctcl-game-test.ini","ctcl-mr-test.ini"
|
"ctcl-camera-test.ini","ctcl-game-test.ini","ctcl-mr-test.ini"
|
||||||
|
|||||||
Reference in New Issue
Block a user