🇺🇸
Note
Host: Linux (Nixos 26.05).
You buy Generals from Steam, but you can't play it properly. EA Sports took the old 2004 game as it was and released it on Steam. They archived the code on Github: (Communities were forced to fork it, advancing it by +2000 commits. Even then, it's only for the Windows platform.
- Ability to play on Linux platform ✅
- Play at 1920x1080 or fullscreen ✅
- Set camera height to 600 ✅
- Play Generals at 60 fps. Only skirmish runs at 30 fps, but if you create a game through LAN, it works at 60 fps. ✅
- Not crashing mid-game ✅
- Be able to play with friends online or locally
environment.systemPackages = with pkgs; [
wineWowPackages.stable
samba # Provides ntlm_auth
krb5 # Provides Kerberos support libraries
winetricks # Useful for further troubleshooting
];
hardware = {
graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
mesa
libvdpau
libva-vdpau-driver
libva
vulkan-loader
vulkan-validation-layers
];
};
};
programs.nix-ld = {
enable = lib.mkDefault true;
libraries = with pkgs; [
acl
attr
bzip2
curl
libglvnd
libsodium
libssh
libxml2
mesa
openssl
stdenv.cc.cc
systemd
util-linux
vulkan-loader
xz
zlib
zstd
];
};- Generals Zero Hour will be installed locally if you installed it through Steam at
~/.local/share/steamapps/common/Command & Conquer Generals - Zero Hour. - Copy the
Command & Conquer Generals - Zero Hourfolder into the~/Documents/directory and rename the game folder toCommand_Conquer_Generals_Contra_X. - Download [ContraXBeta2Setup.1.exe] (https://www.moddb.com/mods/contra/downloads/contra-x-beta-2-setup), extract it from the zip file, and place the exe file into the
~/Documents/Command_Conquer_Generals_Contra_Xfolder, then run it usingwine ContraXBeta2Setup.1.exe - During installation, specify the game location as the folder you created above:
~/Documents/Command_Conquer_Generals_Contra_X - If you get a forced exit warning during installation, wait and the installation will continue.
- Now, give the Launcher
+xpermission by runningchmod +x ~/Documents/Command_Conquer_Generals_Contra_X/Contra_Launcher.exe, then you can launch it usingwine ~/Documents/Command_Conquer_Generals_Contra_X/Contra_Launcher.exe - If a .desktop file hasn't been created for the launcher, you can create one:
nano ~/.local/share/applications/ContraaX.desktop
Write the following inside #:
[Desktop Entry]
Name=Command & Conquer Generals Contra X
Type=Application
StartupNotify=true
Terminal=false
Icon=/home/bahrom/.wine/dosdevices/c:/users/bahrom/Documents/Command_Conquer_Generals_Contra_X/ContraIco.ico
Exec=env WINEPREFIX="/home/bahrom/.wine" wine "C:\\users\\bahrom\\Documents\\Command_Conquer_Generals_Contra_X\\Contra_Launcher.exe"
Path=/home/bahrom/Documents/Command_Conquer_Generals_Contra_X/
🇺🇿
Note
Host: Linux (Nixos 26.05).
Generals oʻyini steamdan sotib olasiz-u lekin odamga oʻxshab oʻynay olmaysiz. EA Sports eski 2004-yilgi oʻyinni shundayligicha olib steamga chiqarib yuborgan. Githubʼdagi kodini arxivlab yuborgan :( Majbur hamjamiyatlar fork qilib, +2000 kommit oldinga oʻtib ketishgan. Shundayam Windows platformasi uchun.
-
- Linux platformasida oʻynay olish ✅
- 1920x1080 yo fullscreen qilib oʻynash ✅
- Kamera balandligini 600 qilish ✅
- Generalsni 60 fps oʻynash. Faqat skirmish 30 fps lekin LAN orqali oʻyin yaratsangiz 60 fps ishlaydi. ✅
- oʻyin oʻrtasida otib yubormaslik ✅
- Onlayn yo lokal doʻstlar bilan oʻynay olish
- Generals Zero Hour joyda oʻrnatilgan boʻladi agar steam orqali oʻrnatgan boʻlsangiz
~/.local/share/steamapps/common/Command & Conquer Generals - Zero Hour. - Shu
Command & Conquer Generals - Zero Hourjildini~/Documents/jildini ichiga nusxalang va oʻyin nominiCommand_Conquer_Generals_Contra_Xga qayta nomlang. - ContraXBeta2Setup.1.exe yuklab zipdan oching va uni
~/Documents/Command_Conquer_Generals_Contra_Xjildiga exe faylini tashlang va uni ishga tushuringwine ContraXBeta2Setup.1.exe - Oʻrnatayotganda oʻyin joylashuvini tepada yaratgan jildni belgilaysiz:
~/Documents/Command_Conquer_Generals_Contra_X - Oʻrnatayotganda majburiy chiqish deb ogohlantirsa kutib tursangiz oʻrnatish davom etaveradi.
- Ana endi Launcherga
+xhuquqini ham beribchmod +x ~/Documents/Command_Conquer_Generals_Contra_X/Contra_Launcher.exe, ishga tushirsangiz boʻladiwine ~/Documents/Command_Conquer_Generals_Contra_X/Contra_Launcher.exe - Agar .desktop fayli yaratilmagan boʻlsa launcher uchun yaratsangiz boʻladi:
nano ~/.local/share/applications/ContraaX.desktop
# ichiga quyidagini yozing
[Desktop Entry]
Name=Command & Conquer Generals Contra X
Type=Application
StartupNotify=true
Terminal=false
Icon=/home/bahrom/.wine/dosdevices/c:/users/bahrom/Documents/Command_Conquer_Generals_Contra_X/ContraIco.ico
Exec=env WINEPREFIX="/home/bahrom/.wine" wine "C:\\users\\bahrom\\Documents\\Command_Conquer_Generals_Contra_X\\Contra_Launcher.exe"
Path=/home/bahrom/Documents/Command_Conquer_Generals_Contra_X/Tepadagi skrinshotlar
Warning
Quyidagi izlanishlar (oʻrnatish uchun ahamiyatsiz)/Researches (unimportant for installation)
Backup vanilla generals.exe and force to launch generals zero hour:
steamapps/common/Command & Conquer Generals - Zero Hour took 4s
➜ mv Generals.exe Generals.exe.vanilla
cp generalszh.exe Generals.exejoylashuv: ~/Documents/Command and Conquer Generals Zero Hour Data/Options.ini
MaxCameraHeight = 600
CameraHeight = 300
AntiAliasing =
ArchiveReplays = no
BuildingOcclusion = yes
CursorCaptureEnabledInFullscreenGame = yes
CursorCaptureEnabledInFullscreenMenu = yes
CursorCaptureEnabledInWindowedGame = no
CursorCaptureEnabledInWindowedMenu = no
DrawScrollAnchor = no
DynamicLOD = yes
ExtraAnimations = yes
GameSpyIPAddress = 10.10.0.181
GameTimeFontSize = 8
Gamma = 50
HeatEffects = no
IPAddress = 10.10.0.181
IdealStaticGameLOD = High
LanguageFilter = false
MaxParticleCount = 2500
MoneyTransactionVolume = 0
MoveScrollAnchor = yes
MusicVolume = 55
NetworkLatencyFontSize = 8
PlayerObserverEnabled = yes
RenderFpsFontSize = 8
Resolution = 1920 1080
ResolutionFontAdjustment = -100
Retaliation = yes
SFX3DVolume = 79
SFXVolume = 71
ScreenEdgeScrollEnabledInFullscreenApp = yes
ScreenEdgeScrollEnabledInWindowedApp = no
ScrollFactor = 50
SendDelay = no
ShowMoneyPerMinute = no
ShowSoftWaterEdge = yes
ShowTrees = yes
StaticGameLOD = Custom
SystemTimeFontSize = 8
TextureReduction = 0
UseAlternateMouse = no
UseCloudMap = yes
UseDoubleClickAttackMove = no
UseLightMap = yes
UseShadowDecals = yes
UseShadowVolumes = yes
VoiceVolume = 70
Command & Conquer Generals - Zero Hour/Data/INI
➜ pwd
/home/bahrom/.local/share/Steam/steamapps/common/Command & Conquer Generals - Zero Hour/Data/INI
Command & Conquer Generals - Zero Hour/Data/INI
➜ ls
GameData.ini
GameData.ini fayl ichi
;//////////////////////////////////////////////////////////////////////////////
; FILE: GameData.ini (SYSTEM) /////////////////////////////////////////////////
;//////////////////////////////////////////////////////////////////////////////
GameData
ShellMapName = Maps\ShellMapMD\ShellMapMD.map
MapName = Assault.map
MoveHintName = SCMoveHint
UseTrees = Yes
UseFPSLimit = Yes
FramesPerSecondLimit = 30
ChipsetType = 0
;Windowed = No
;XResolution = 800
;YResolution = 600
MaxShellScreens = 8
UseCloudMap = Yes
UseLightMap = Yes
BilinearTerrainTex = Yes
TrilinearTerrainTex = Yes
MultiPassTerrain = Yes
AdjustCliffTextures = Yes
StretchTerrain = No
UseHalfHeightMap = No
ShowObjectHealth = Yes
HideGarrisonFlags = No
Use3WayTerrainBlends = 1
DrawEntireTerrain = No
TerrainLOD = DISABLE ; should be handled by options screen.
TerrainLODTargetTimeMS = 45
TextureReductionFactor = 0; 1 is half res, 2 querter res, etc.
RightMouseAlwaysScrolls = Yes
UseWaterPlane = Yes
UseCloudPlane = Yes
UseShadowVolumes = Yes
UseShadowDecals = Yes
UseBehindBuildingMarker = Yes
DefaultOcclusionDelay = 3000 ; in ms
OccludedColorLuminanceScale = 0.5
WaterPositionX = 0.0
WaterPositionY = 0.0
WaterPositionZ = 7.0
WaterExtentX = 2000.0
WaterExtentY = 2000.0
WaterType = 0
; when a structure is reduced to rubble, set its z-height to this if nothing else is specified.
DefaultStructureRubbleHeight = 10.0
;the following are for vertex animated water
VertexWaterAvailableMaps1 = Maps\nVidiaDemo\nVidiaDemo.map
VertexWaterHeightClampLow1 = 0.0
VertexWaterHeightClampHi1 = 16.3
VertexWaterAngle1 = 45 ;in degrees
VertexWaterXPosition1 = 2700.0
VertexWaterYPosition1 = -750.0
VertexWaterZPosition1 = 2.9
VertexWaterXGridCells1 = 65
VertexWaterYGridCells1 = 360
VertexWaterGridSize1 = 10.0
VertexWaterAttenuationA1 = 1.0
VertexWaterAttenuationB1 = 0.0
VertexWaterAttenuationC1 = 0.0
VertexWaterAttenuationRange1 = 20.0
;the following are for vertex animated water
VertexWaterAvailableMaps2 = Maps\CHI03\CHI03.map
VertexWaterHeightClampLow2 = 0.0
VertexWaterHeightClampHi2 = 31.2
VertexWaterAngle2 = -12 ;in degrees
VertexWaterXPosition2 = 282.0
VertexWaterYPosition2 = -20.0
VertexWaterZPosition2 = 3.0
VertexWaterXGridCells2 = 100
VertexWaterYGridCells2 = 200
VertexWaterGridSize2 = 11.0
VertexWaterAttenuationA2 = 1.0
VertexWaterAttenuationB2 = 0.0
VertexWaterAttenuationC2 = 0.0
VertexWaterAttenuationRange2 = 20.0
;the following are for vertex animated water
VertexWaterAvailableMaps3 = Maps\GLA01\GLA01.map
VertexWaterHeightClampLow3 = 0.0
VertexWaterHeightClampHi3 = 45.0
VertexWaterAngle3 = -12 ;in degrees
VertexWaterXPosition3 = 1424.0
VertexWaterYPosition3 = -270.0
VertexWaterZPosition3 = 2.0
VertexWaterXGridCells3 = 75
VertexWaterYGridCells3 = 360
VertexWaterGridSize3 = 10.0 ;11.0
VertexWaterAttenuationA3 = 1.0
VertexWaterAttenuationB3 = 0.0
VertexWaterAttenuationC3 = 0.0
VertexWaterAttenuationRange3 = 20.0
;the following are for vertex animated water
VertexWaterAvailableMaps4 = Maps\USA06\USA06.map
VertexWaterHeightClampLow4 = 0.0
VertexWaterHeightClampHi4 = 16.3
VertexWaterAngle4 = 45 ;in degrees
VertexWaterXPosition4 = 2700.0
VertexWaterYPosition4 = -750.0
VertexWaterZPosition4 = 2.9
VertexWaterXGridCells4 = 65
VertexWaterYGridCells4 = 360
VertexWaterGridSize4 = 10.0
VertexWaterAttenuationA4 = 1.0
VertexWaterAttenuationB4 = 0.0
VertexWaterAttenuationC4 = 0.0
VertexWaterAttenuationRange4 = 20.0
DownwindAngle = -0.785 ; Northeast! AKA "Away and to the right"
DrawSkyBox = Yes
SkyBoxPositionZ = -100.0 ; lowers center of skybox under terrain
SkyBoxScale = 8.4 ; good for default 96 x 96 map, make 17.5 for 256x256
CameraPitch = 37.5
CameraYaw = 0.0
CameraHeight = 505.0
MaxCameraHeight = 510.0
MinCameraHeight = 120.0
CameraAdjustSpeed = 0.3 ; between 0 and 1 - this is how fast the camera snaps to the desired height
ScrollAmountCutoff = 50.0 ; arbitrary units - above this value, we don't update height while scrolling
EnforceMaxCameraHeight = No ; Obey max camera height while scrolling?
TerrainHeightAtEdgeOfMap = 100.0
UnitDamagedThreshold = 0.7
UnitReallyDamagedThreshold = 0.35
GroundStiffness = 0.8
StructureStiffness = 0.3
; acceleration due to gravity, in dist/sec^2
; note that our distance units are roughly one foot, so
; this corresponds to earth-normal gravity (32 ft/sec^2)
;Gravity = -32.0
; this "feels" better... (srj)
Gravity = -64.0
PartitionCellSize = 40.0
ParticleScale = 1.0 ;
AutoFireParticleSmallPrefix = FireS
AutoFireParticleSmallSystem = FireFactionSmall
AutoFireParticleSmallMax = 2
AutoFireParticleMediumPrefix = FireM
AutoFireParticleMediumSystem = FireFactionMedium
AutoFireParticleMediumMax = 1
AutoFireParticleLargePrefix = FireL
AutoFireParticleLargeSystem = FireFactionLarge
AutoFireParticleLargeMax = 1
AutoSmokeParticleSmallPrefix = SmokeS
AutoSmokeParticleSmallSystem = SmokeFactionSmall
AutoSmokeParticleSmallMax = 4
AutoSmokeParticleMediumPrefix = SmokeM
AutoSmokeParticleMediumSystem = SmokeFactionMedium
AutoSmokeParticleMediumMax = 2
AutoSmokeParticleLargePrefix = SmokeL
AutoSmokeParticleLargeSystem = SmokeFactionLarge
AutoSmokeParticleLargeMax = 1
AutoAflameParticlePrefix = Aflame
AutoAflameParticleSystem = FireBuildingSmall
AutoAflameParticleMax = 4
HistoricDamageLimit = 5000 ; how long to retain historical-damage for weapons that need it, in msec
AmmoPipScaleFactor = 1.5
ContainerPipScaleFactor = 1.5
AmmoPipScreenOffset = X:-1.0 Y:0.0 ; note that this is a multiplier to boundingspheresize, NOT an absolute offset
ContainerPipScreenOffset = X:1.0 Y:0.0 ; note that this is a multiplier to boundingspheresize, NOT an absolute offset
AmmoPipWorldOffset = X:0.0 Y:0.0 Z:10.0 ; added to position prior to world->screen xform
ContainerPipWorldOffset = X:0.0 Y:0.0 Z:10.0 ; added to position prior to world->screen xform
LevelGainAnimationName = LevelGainedAnimation
LevelGainAnimationTime = 4.0
LevelGainAnimationZRise = 15.0
GetHealedAnimationName = GetHealedAnimation
GetHealedAnimationTime = 4.0
GetHealedAnimationZRise = 15.0
MaxTerrainTracks = 100 ; how many vehicles can generate tread marks on the terrain.
TimeOfDay = AFTERNOON
Weather = NORMAL
MakeTrackMarks = Yes
ForceModelsToFollowTimeOfDay = Yes
ForceModelsToFollowWeather = Yes
InfantryLightMorningScale = 100f ; amount to scale map lighting to make infantry easier to see.
InfantryLightAfternoonScale = 100f ; amount to scale map lighting to make infantry easier to see.
InfantryLightEveningScale = 200f ; amount to scale map lighting to make infantry easier to see.
InfantryLightNightScale = 200f ; amount to scale map lighting to make infantry easier to see.
TerrainLightingMorningAmbient = R:128 G:100 B:77
TerrainLightingMorningDiffuse = R:230 G:180 B:153
TerrainLightingMorningLightPos = X:-0.96 Y:0.05 Z:-0.29
TerrainLightingEveningAmbient = R:64 G:59 B:51
TerrainLightingEveningDiffuse = R:153 G:128 B:102
TerrainLightingEveningLightPos = X:-1.0 Y:0.0 Z:-0.2
TerrainLightingNightAmbient = R:26 G:26 B:39
TerrainLightingNightDiffuse = R:51 G:51 B:77
TerrainLightingNightLightPos = X:-1.0 Y:1.0 Z:-2.0
TerrainObjectsLightingMorningAmbient = R:128 G:102 B:77
TerrainObjectsLightingMorningDiffuse = R:230 G:179 B:153
TerrainObjectsLightingMorningLightPos = X:-0.96 Y:0.05 Z:-0.29
TerrainObjectsLightingEveningAmbient = R:64 G:59 B:51
TerrainObjectsLightingEveningDiffuse = R:153 G:128 B:102
TerrainObjectsLightingEveningLightPos = X:-1.0 Y:0.0 Z:-0.2
TerrainObjectsLightingNightAmbient = R:26 G:26 B:39
TerrainObjectsLightingNightDiffuse = R:51 G:51 B:77
TerrainObjectsLightingNightLightPos = X:-1.0 Y:1.0 Z:-2.0
TerrainLightingAfternoonAmbient = R:56 G:52 B:44
TerrainLightingAfternoonDiffuse = R:255 G:255 B:255
TerrainLightingAfternoonLightPos = X:-0.81 Y:0.38 Z:-0.45
TerrainObjectsLightingAfternoonAmbient = R:56 G:52 B:44
TerrainObjectsLightingAfternoonDiffuse = R:255 G:255 B:255
TerrainObjectsLightingAfternoonLightPos = X:-0.81 Y:0.38 Z:-0.45
TerrainLightingAfternoonAmbient2 = R:0 G:0 B:0
TerrainLightingAfternoonDiffuse2 = R:60 G:60 B:120
TerrainLightingAfternoonLightPos2 = X:0.79 Y:0.62 Z:-0.00
TerrainObjectsLightingAfternoonAmbient2 = R:0 G:0 B:0
TerrainObjectsLightingAfternoonDiffuse2 = R:60 G:60 B:80
TerrainObjectsLightingAfternoonLightPos2 = X:0.79 Y:0.62 Z:-0.00
TerrainLightingAfternoonAmbient3 = R:0 G:0 B:0
TerrainLightingAfternoonDiffuse3 = R:30 G:30 B:20
TerrainLightingAfternoonLightPos3 = X:0.81 Y:-0.48 Z:-0.34
TerrainObjectsLightingAfternoonAmbient3 = R:0 G:0 B:0
TerrainObjectsLightingAfternoonDiffuse3 = R:30 G:30 B:20
TerrainObjectsLightingAfternoonLightPos3 = X:0.81 Y:-0.48 Z:-0.34
AudioOn = Yes
MusicOn = Yes
SoundsOn = Yes
SpeechOn = Yes
VideoOn = Yes
DebugAI = No
DebugAIObstacles = No
MaxRoadSegments = 4000
MaxRoadVertex = 3000
MaxRoadIndex = 5000
MaxRoadTypes = 100
ValuePerSupplyBox = 75
BuildSpeed = 1.0
MinDistFromEdgeOfMapForBuild = 30.0 ; buildings may not be constructed this close to a map edge
SupplyBuildBorder = 20.0 ; min dist you can put a supply center from a supply source
;Terrain height at structure footprint must be within this much to
;be considerd "flat" and therefore buildable
AllowedHeightVariationForBuilding = 10.0
MinLowEnergyProductionSpeed = 0.5
MaxLowEnergyProductionSpeed = 0.8
LowEnergyPenaltyModifier = 1.0
MultipleFactory = 1.0
RefundPercent = 50.0%
StealthFriendlyOpacity = 50.0%
CommandCenterHealRange = 500.0 ; command center heals your/ally stuff this close to the command center
CommandCenterHealAmount = 0.01 ; command center heals close by stuff this amount per logic frame
MaxLineBuildObjects = 50 ; line build style objects can be in a line no longer than this count of objects
MaxTunnelCapacity = 10 ; How many can be in a player's tunnel network. Limit 10 for UI currently
StandardMinefieldDensity = 0.004 ; in mines per square foot
StandardMinefieldDistance = 40 ; in feet. should generally be larger than typical tank shot range.
HorizontalScrollSpeedFactor = 1.6; ; Factor applied to the maximum RMB scroll speed. Larger allows faster scrolling.
VerticalScrollSpeedFactor = 2.0; ; Split to account for aspect ratio induced speed limits. Room to mouse drag.
KeyboardScrollSpeedFactor = 2.0; ; Factor applied to the maximum keyboard scroll speed. Larger allows faster scrolling.
MovementPenaltyDamageState = REALLYDAMAGED ; Point at which we slow movement
MaxParticleCount = 2500 ; the maximum number of particles that can exist at one time (to 5000 for demo)
MaxFieldParticleCount = 30 ; the number of field type particles rendered to the screen, beyond which this type will begin skipping
; a field particle is one of Priority AREA_EFFECT and isGroundAligned = Yes
; Typically these are puddles, toxic contamination, radiation, decontamination, etc.
; note that the weapon bonus types are:
;"GARRISONED",
;"HORDE",
;"CONTINUOUS_FIRE_MEAN",
;"CONTINUOUS_FIRE_FAST",
;"NATIONALISM",
;"PLAYER_UPGRADE",
;"DRONE_SPOTTING",
;"ENTHUSIASTIC",
;"VETERAN",
;"ELITE",
;"HERO",
;"BATTLEPLAN_BOMBARDMENT",
;"BATTLEPLAN_HOLDTHELINE",
;"BATTLEPLAN_SEARCHANDDESTROY",
;"SUBLIMINAL",
;"SOLO_HUMAN_EASY",
;"SOLO_HUMAN_NORMAL",
;"SOLO_HUMAN_HARD",
;"SOLO_AI_EASY",
;"SOLO_AI_NORMAL",
;"SOLO_AI_HARD",
;
; and the weapon bonus 'fields' are:
;"DAMAGE",
;"RADIUS",
;"RANGE",
;"RATE_OF_FIRE",
;"PRE_ATTACK",
;HORDE, NATIONALISM and FANATICISM are cumulative bonuses for the China Redguard,
;and only apply when they are in a horde. NATIONALISM does not replace HORDE! FANATICISM does not replace NATIONALISM
;ENTHUSIASTIC and SUBLIMINAL are cumulative bonuses for the China Redguard,
;and only apply when they are within effect radius of a propaganda tower. SUBLIMINAL does not replace ENTHUSIASTIC!
WeaponBonus = HORDE RATE_OF_FIRE 150% ;Horded troops fire their weapons 25% faster
WeaponBonus = NATIONALISM RATE_OF_FIRE 125% ;Horded troops with nationalism fire their weapon an additional 25% faster
WeaponBonus = FANATICISM RATE_OF_FIRE 125% ;Horded troops with nationalism fire their weapon an additional 25% faster
WeaponBonus = ENTHUSIASTIC RATE_OF_FIRE 125% ;In range of a speaker tower, gaining enthusiasm
WeaponBonus = SUBLIMINAL RATE_OF_FIRE 125% ;In range of an upgraded speaker tower, gaining even more enthusiasm
WeaponBonus = GARRISONED RANGE 133% ; when garrisoned, all weapons get n times normal range
WeaponBonus = GARRISONED DAMAGE 125% ; when garrisoned, all weapons get n times normal range
WeaponBonus = TARGET_FAERIE_FIRE RATE_OF_FIRE 150% ; If shooting at someone marked with Faerie Fire, shoot faster (we don't miss ever, so can't hit easier)
WeaponBonus = FRENZY_ONE DAMAGE 110% ; Granted by a China Generals power
WeaponBonus = FRENZY_TWO DAMAGE 120%
WeaponBonus = FRENZY_THREE DAMAGE 130%
WeaponBonus = VETERAN RATE_OF_FIRE 120%
WeaponBonus = VETERAN DAMAGE 110%
WeaponBonus = ELITE RATE_OF_FIRE 140%
WeaponBonus = ELITE DAMAGE 120%
WeaponBonus = HERO RATE_OF_FIRE 160%
WeaponBonus = HERO DAMAGE 130%
;Strategy centers provides bonuses based on the active battleplan!
WeaponBonus = BATTLEPLAN_BOMBARDMENT DAMAGE 120%
; WeaponBonus = BATTLEPLAN_BOMBARDMENT RANGE 120%
WeaponBonus = BATTLEPLAN_SEARCHANDDESTROY RANGE 120%
WeaponBonus = BATTLEPLAN_HOLDTHELINE RATE_OF_FIRE 100% ;Note this does nothing -- just for balancing reference.
WeaponBonus = SOLO_AI_EASY RATE_OF_FIRE 80%
WeaponBonus = SOLO_AI_NORMAL RATE_OF_FIRE 100%
WeaponBonus = SOLO_AI_HARD RATE_OF_FIRE 120%
; you cannot set this; it always has a value of 100%.
; HealthBonus_Regular = 100%
HealthBonus_Veteran = 120%
HealthBonus_Elite = 130%
HealthBonus_Heroic = 150%
HumanSoloPlayerHealthBonus_Easy = 150%
HumanSoloPlayerHealthBonus_Normal = 100% ; ie, unadjusted
HumanSoloPlayerHealthBonus_Hard = 80%
; Audio parameters
; VolumeDistribution = Linear ; for linear falloff
; VolumeDistribution = MuLaw ; for S-Curve falloff
; VolumeMuValue = 6.0 ; defines the steepness of the S, must be >=0, higher is steeper.
GroupSelectMinSelectSize = 5
GroupSelectVolumeBase = 0.5
GroupSelectVolumeIncrement = 0.02
MaxUnitSelectSounds = 8
SelectionFlashSaturationFactor = 0.5 ; zero leaves color unaffected, 4.0 is purely saturated
SelectionFlashHouseColor = No ; if 'No', selection flashes white
CameraAudibleRadius = 250 ; defines the radius that we can hear when the camera is looking up.
GroupMoveClickToGatherAreaFactor = 0.5; if you take all the selected units and calculate the smallest possible rectangle
; that contains them all, and click within that, all the selected units will break
; formation and gather at the point the user clicked (if the value is 1.0). If it's
; 0.0, units will always keep their formation. If it's <1.0, then the user must
; click a smaller area within the rectangle to order the gather.
ShakeSubtleIntensity = 0.5
ShakeNormalIntensity = 1.0
ShakeStrongIntensity = 2.5
ShakeSevereIntensity = 5.0
ShakeCineExtremeIntensity = 7.5 ;Cinematic reserved -- don't use for game stuff because it can change.
ShakeCineInsaneIntensity = 10.0 ;Cinematic reserved -- don't use for game stuff because it can change.
MaxShakeIntensity = 10.0
MaxShakeRange = 150.0
SellPercentage = 50% ; You get this percentage back of the cost to build
BaseRegenHealthPercentPerSecond = 0.3% ;You get this % of max health back per second from auto base regeneration
BaseRegenDelay = 3000 ;in MS, delay in frames we must be damage free before we can auto heal from base regeneration
; sorry, prisons are cut, maybe next version (srj)
; PrisonBountyMultiplier = 2.0 ;Players get this X the cost to build a unit
; ;that is delivered to a prison with
; ;KINDOF_COLLECTS_PRISON_BOUNTY
; PrisonBountyTextColor = R:255 G:128 B:64 A:255
SpecialPowerViewObject = SuperweaponPing ; Name of the object created for superweapons to let you watch what happens
; this is a list of bones that will always be exposed to Logic.
; please note that this is really here for quick backwards compatibility with old code,
; which didn't require declaring which bones you wanted to be able to use from logic...
; so PLEASE DO NOT ADD TO THIS LIST; if you need to expose new bones for a particular
; unit, please use the "ExtraPublicBone" INI keyword on a per-unit basis instead
; (see the airfields for an example). (srj)
StandardPublicBone = FirePoint
StandardPublicBone = Target_Left
StandardPublicBone = Target_Right
StandardPublicBone = ExitStart
StandardPublicBone = ExitEnd
StandardPublicBone = Muzzle
StandardPublicBone = PARA_COG
StandardPublicBone = PARA_ATTCH
StandardPublicBone = PARA_MAN
StandardPublicBone = ExitStart
StandardPublicBone = DockStart
StandardPublicBone = DockAction
StandardPublicBone = DockEnd
StandardPublicBone = DockWaiting
StandardPublicBone = WeaponA
StandardPublicBone = Smoke
StandardPublicBone = Fire
StandardPublicBone = WaterSpray
StandardPublicBone = Spray
StandardPublicBone = WaterSprayBig
StandardPublicBone = Steam
StandardPublicBone = Propeller
StandardPublicBone = SpawnPoint
StandardPublicBone = FireS
StandardPublicBone = FireM
StandardPublicBone = FireL
StandardPublicBone = SmokeS
StandardPublicBone = SmokeM
StandardPublicBone = SmokeL
StandardPublicBone = Aflame
DefaultStartingCash = 10000 ;The amount of cash the player starts with by default.
UnlookPersistDuration = 5000 ; How long after you stop looking until the fog grows back
ShroudColor = R:255 G:255 B:255
ClearAlpha = 255
FogAlpha = 127
ShroudAlpha = 0 ; 0 is opaque, 255 is clear. Unsigned Byte
; Network timing settings. Don't mess with these unless you know what you're doing!
; If you are tempted to mess with these, please let me know. Bryan x36810
; This does not imply that I know what I'm doing.
NetworkFPSHistoryLength = 30 ; The number of fps history entries.
NetworkLatencyHistoryLength = 200 ; The number of ping history entries.
NetworkRunAheadMetricsTime = 5000 ; The number of miliseconds between run ahead metrics things
NetworkCushionHistoryLength = 10 ; The number of cushion values to keep.
NetworkRunAheadSlack = 10 ; The amount of slack in the run ahead value. This is the percentage of the calculated run ahead that is added.
NetworkKeepAliveDelay = 20 ; The number of seconds between when the connections to each player send a keep-alive packet.
NetworkDisconnectTime = 5000 ; The number of milliseconds between when the game gets stuck on a frame for a network stall and when the disconnect dialog comes up.
NetworkPlayerTimeoutTime = 60000 ; The number of milliseconds between when a player's last keep alive command was recieved and when they are considered disconnected from the game.
NetworkDisconnectScreenNotifyTime = 15000 ; The number of milliseconds between when the disconnect screen comes up and when the disconnect notification is sent to the other players.
KeyboardCameraRotateSpeed = 0.1 ; How fast the camera rotates when rotated via keyboard controls.
End
➜ pwd
/home/bahrom/.local/share/Steam/steamapps/common/Command & Conquer Generals - Zero Hour
➜ ls
00000000.016 Generals.dat installScript.vdf P2XDLL.DLL steam_api.dll
00000000.256 Generals.exe langdata.dat ParticleEditor.dll steam_appid.txt
abseil_dll.dll Generals.ico launcher.bmp PatchData.big TerrainZH.big
AudioEnglishZH.big Generals.lcf Launcher.txt Patch.doc TexturesZH.big
AudioZH.big GeneralsOnlineGameData libcrypto-3.dll patchget.dat TUC_Credits_Updated.txt
BINKW32.DLL GeneralsOnline_setup_013026_QFE2.exe libcurl.dll PatchINI.big W3DEnglishZH.big
Contra_Launcher_2.0.0.8.exe GeneralsOnlineZH_60.exe libprotobuf.dll patchw32.dll W3DZH.big
crashpad_handler.exe GeneralsOnlineZH.exe libssl-3.dll PatchWindow.big WindowZH.big
Data GeneralsZH.ico Manuals PatchZH.big WorldBuilder.exe
DebugWindow.dll GenLauncher.exe MapsZH.big readme.doc ZH_Generals
EnglishZH.big GenPatcher.exe MSS RedistInstallers zlib1.dll
Game.dat gensecZH.big mss32.dll sentry.dll ShadersZH.big
Game.dat-DELL.log INIZH.big Music.big SpeechEnglishZH.big
GameNetworkingSockets.dll Install_Final.bmp MusicZH.big SpeechZH.bigwinetricks vcredist2022
winetricks d3dx9
winetricks vcrun2022
# 1. Baribir yemadi...
wine GeneralsOnline_setup_013026_QFE2.exe
winetricks dxvk
nano ~/Documents/Command and Conquer Generals Zero Hour Data/Options.ini
# Resolution = 1920 1080
# 2. yemadi
steam-run wine GeneralsOnlineZH_60.exe
winetricks d3dx9 d3dcompiler_43[!WARNING] GeneralsOnlineZH.exe ran qilgandagi muhim loglar
➜ steam-run wine GeneralsOnlineZH_60.exe
0024:err:kerberos:kerberos_LsaApInitializePackage no Kerberos support, expect problems
0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0128:fixme:process:SetProcessShutdownParameters (00000100, 00000001): partial stub.
0130:fixme:file:NtLockFile I/O completion on lock not implemented yet
0024:fixme:file:NtLockFile I/O completion on lock not implemented yet
0120:fixme:secur32:get_cipher_algid unknown algorithm 23
0120:fixme:secur32:get_mac_algid unknown algorithm 200, cipher 23
0130:err:kerberos:kerberos_LsaApInitializePackage no Kerberos support, expect problems
0130:fixme:secur32:get_cipher_algid unknown algorithm 23
0130:fixme:secur32:get_mac_algid unknown algorithm 200, cipher 23- GeneralsOnline_setup_013026_QFE2.exe:
- GeneralsOnlineZH_60.ex
- GeneralsOnlineZH.exe
- GenLauncher.exe
- GenPatcher.exe
- WorldBuilder.exe. Steam orqali yuklab olinganida ran qilsangiz shuni yuklab olishingiz mumkin.
- Reddit post bottles?
- Fullscreen issue
- SageMegaTools 60 fps