Better widescreen support (Widescreen2D):
- 2D HUD elements now render non-stretched in aspect ratios that aren't 4:3. Any aspect ratio is supported (through extremely tall or wide aspect ratio may place elements in locations where they'll be hard to see).
- Full-screen 2D menus (ie, main menu and datapad) are rendered 4:3 with black borders in wider aspect ratios.
- The binoculars and light amplification goggles overlays are stretched. I figured that was the best way to handle those considering the assets for them are built to be fullscreen and there aren't widescreen variants.
- Pre-rendered cutscenes now scale and crop so it displays correctly at various aspect ratios.
- FOV and letterboxing is automatically changes for real-time cutsenes. Letterboxing disappears entirely at wider aspect ratios.
- New cvar: "cg_alwaysLetterboxCutscenes" - Set to 1 if you want letterboxing at wide aspect ratio during cutscenes. Default is 0.
- FOV is automatically updated behind the scenes to keep vertical FOV the same when changing aspect ratio.
- I didn't add new resolutions to the menus, so you'll need to change via the console to access non-4:3 resolutions using these commands: r_customWidth & r_customHeight & vid_restart
Option to control how long before enemy bodies despawn (CorpseRemovalTime):
- New cvar: "g_corpseRemovalTime" - Quantity of seconds before a body despawns. Default is 10. Set to 0 so they last forever.
- Based on code from Jedi Academy.
Toggle to make stencil shadows not self-shadow (StencilNoSelfShadows):
- New cvar: "r_noSelfShadow" - Set to 1 to disable self-shadowing. Default is 0.
Added a ton of cvars to customize weapon damage and projectile speeds (ProjectileCVars):
- All of these cvars default to 1, and they all multiple damage values or projectile speeds.
- Note: A lot of these will affect enemies as well.
- Full list:
- g_blasterVelocity / g_blasterDamage - Affects blaster rifle and bryar pistol
- g_disruptorDamage
- g_bowcasterVelocity / g_bowcasterDamage
- g_repeaterVelocity / g_repeaterDamage
- g_dempVelocity / g_dempDamage
- g_flechetteVelocity / g_flechetteDamage
- g_rocketLauncherVelocity / g_rocketLauncherDamage - Affects rockets fired by the player, but not rockets from all enemy types
- g_ATSTDamage
- g_mineDamage
- g_detonatorDamage
- g_saberDamage
- g_flyingSaberDamage
- g_miscVelocity and g_miscDamage - Affects imperial probe, turrets, remote droids, mark1, mark2, and seekers
Added a new type of config file that's always executed (AllowMultipleAutoexecs):
- The game will check if alwaysrun.cfg exists and run it. If this exists in multiple archives, each version will be run.
- Run order for config files (later files take priority):
- default.cfg
- jk2config.cfg
- alwaysrun.cfg
- autoexec.cfg
Increased game entity limit, and some other related limitations (HigherEntityMax):
- Default game entity limit is 1022, and I've quadrupled the limit. You'd never hit the limit with normal gameplay, but it could be reached via cheats or modding.
- Similar limitations (for instance, particle limit) have also been quadrupled.
Made it possible to freely zoom in and out with binoculars and disruptor scope (ZoomInOut):
- In order to freely zoom in and out, map these new bindable commands: +zoomin and +zoomout
Misc changes:
- Parts of the rendering code updated with code from Jedi Academy, for instance, all of the stencil shadow code.
- Gun FOV now no longer changes when cg_fov changes. Set new cvar "cg_autoChangeGunFOV" to 1 to revert to old behaviour (DontAutoChangeGunFOV).
- It's now allowed to auto-complete cheat commands by pressing tab in the console (AllowAutoCompleteCheatCVars).
- cg_fov cvar now gets saved to config file automatically.
- It's now possible to skip cutscenes by pressing Escape in addition to the use key (EscapeToSkipCutscenes).
- Game will now check for files with ZIP extension in addition to PK3 when loading game archives (LoadZipAlongsidePk3).
- Added code for replacing Kyle model with any other model, this is turned off by default and can only be turned on via code changes and recompiling (KyleModelOverride).
- Changed the cg_dynamicCrosshair cvar to behave like this:
- 0 = Always static, non-dynamic crosshair
- 1 = Always dynamic crosshair
- 2 = Static crosshair in first person. Dynamic crosshair in third person.
- New cvar: "cg_noSaberCrosshair" - If 1, there will be no crosshair when using saber or other melee weapons. Default is 0.
- Made cg_gunX, cg_gunY, and cg_gunZ no longer count as cheat cvars.
- If cg_thirdPersonHorzOffset is not zero, the game will now push the camera off walls if camera would be clipping into walls (HorizonalCameraOffsetAvoidWalls).
- Fixed a legacy bug where a random datapad category button would light up after selecting one with the mouse (ClearMenuItemFocusAfterMouseClick).
- Disabled rendering of player shadow if player is using saber in first person (NoFirstPersonSaberShadow).
- Maybe some other stuff I've forgotten about.
Known issues:
- The rocket launcher lock-on symbol on the HUD is stretched.
- Dead enemies can block elevators. If this happens and g_corpseRemovalTime is set to 0, then temporarily set it to non-zero so bodies despawn.
- Savegames made from earlier versions of the game most likely won't work.
- Text crawl during the intro cinematic don't have correct size and position in wider aspect ratios.
- 3D saber mesh in main menu don't render in the correct position in certain aspect ratios.
- Framerate can get low in rooms with a lot of dead enemies with stencil shadows on.
v1.1 change log:
- Fixed a crash bug when using DEMP2 alt-fire.