Jagged Alliance 2 1.13 mod has some really odd bugs with dgVoodoo2.
On fullscreen mode, be it through dgVoodoo or the game, the main menu screen is completely black except for the text. Here's a screenshot of how it looks: https://imgur.com/tdMi39q
After either clicking the mouse or alt-tabbing out and back into the game, the menu screen looks normal, but mouse clicks only cause the screen to flicker black and back to normal, as if the game screen is not the focus of those clicks. Neither does the game recognize any keyboard commands, but things like alt+tab work properly.
Lastly, there is no sound.
On windowed mode on the other hand, the game works, but the window sizing, which is very unfortunate. I'd love to be able to use the ImageScalingFactor to upscale the game and then downsample the resolution to my screen resolution. The game's UI and soldiers etc become frustratingly tiny in higher resolutions and I was hopeful dgVoodoo would be able to solve that.
The ISF seems to work as far is it scaling the image, but the actual game window size is stuck to whatever resolution is applied in ja2.ini, which makes the ISF all but useless at the moment. I can get big, pretty screenshots like this: https://imgur.com/M4R4iIr but the game actually looks like this: https://imgur.com/cYjLOly
None of the dgvoodoo ScalingMode or Resolution settings seem to fix this.
Can I install that mod onto Jagged Alliance 2 Gold?
Yes, the stable version of the mod is most likely the easiest one to install, and there should not be anything drastically different in the development versions of the game as far as graphics drawing is concerned.
Simply follow the instructions outlined here: http://ja2v113.pbworks.com/w/page/4218345/Installation
I played around with the dgVoodoo settings and got the borderless window to resize to the size of my screen (1920x1080 monitor) from an upscaled resolution with the ISF scaling factors, but it causes some odd artifacts when the image is downscaled in certain situations. Mainly when the cursor is in an alternative mode, like the grabbing or aiming mode. Moving the cursor causes blurring and darkening on the background textures, almost as if it's drawing an almost transparent layer repeatedly.
See these screenshots for examples: https://imgur.com/nPiI7Yu https://imgur.com/3kFJdWl https://imgur.com/fbgmXWh
These artifacts happen IF the resolution set in ja2.ini does not match the monitor resolution after upscaling and downscaling passes. For example, setting the game resolution to 960x540 in ja2.ini and using ISF 2 produces no artifacts and neither does 1920x1080 resolution, but say 1280x720 does cause artifacts.
Choosing different ScalingMode setting doesn't seem to affect whether the artifacts appear or not; unspecified, stretched and stretched_ar all look similar to me in-game.
And if it's any help, I'm using an AMD RX480 with Crimson drivers version 17.12.1, and 64-bit Windows 10.
IIRC these two settings specifically were what got the borderless window working
AppControlledScreenMode = false
DisableAltEnterToToggleScreenMode = true
The rest of the relevant settings I used were these:
In dgvoodoo.conf
1[General] 2 3; OutputAPI: "d3d11warp", "d3d11_fl10_0", "d3d11_fl10_1", "bestavailable" 4; Adapters: "all", or the ordinal of the adapter (1, ...) 5;FullScreenOutput: "default", or the ordinal of the output on the adapter (1, ...) 6; ScalingMode: "unspecified", "centered", "stretched", "centered_ar", "stretched_ar", 7; "stretched_4_3", "stretched_4_3_crt", "stretched_4_3_c64" 8 9OutputAPI = bestavailable 10Adapters = 1 11FullScreenOutput = 1 12FullScreenMode = false 13ScalingMode = stretched 14ProgressiveScanlineOrder = false 15EnumerateRefreshRates = false 16 17Brightness = 100 18Color = 100 19Contrast = 100 20InheritColorProfileInFullScreenMode = false 21 22KeepWindowAspectRatio = false 23CaptureMouse = false 24CenterAppWindow = false 25 26[GeneralExt] 27 28; DeframerSize: When resolution is forced to other than the app default then 29; a black frame is drawn around the output image coming from a wrapped API 30; to remove scaling artifacts - 31; frame thickness can be defined in pixels (max 16, 0 = disable) 32; ImageScaleFactor: Integer factor for scaling the output image coming from a wrapped API 33; Always done by nearest point filtering, independent on scaling mode 34; (0 = max available) 35; Separate factors can be defined for horizontal and vertical scaling 36; by subproperties, e.g. 37; ImageScaleFactor = x:3, y:2 38;ForceNearestPointFilter: When the scaling is done by the wrapper for the given scaling mode, 39; you can force nearest point filtering instead of bilinear one 40 41DeframerSize = 0 42ImageScaleFactor = 2 43ForceNearestPointFilter = true 44 45;-------------------------------------------------------------------------- 46 47[DirectX] 48 49; VideoCard: "svga", "internal3D", "geforce_ti_4800", "ati_radeon_8500", 50; "matrox_parhelia-512", "geforce_fx_5700_ultra" 51; VRAM: in MBs 52; Filtering: "appdriven", "pointsampled", "bilinear", "linearmip", "trilinear" 53; or the integer value of an anisotropic filtering level (1-16) 54; 55; Resolution: either "unforced", "max", "max_isf", "max_fhd", "max_fhd_isf", "max_qhd", "max_qhd_isf", "%d x" 56; or subproperties: h: horizontal, v: vertical 57; + optional subproperty refrate: refresh rate in Hz 58; e.g. Resolution = max, refrate:60 59; Resolution = 2x, refrate:59 60; Resolution = h:1920, v:1080, refrate:75
…Show last 22 lines
61; or just use the compact form like "1024x768@60" or "512x384" 62; 63 64DisableAndPassThru = false 65 66VideoCard = internal3D 67VRAM = 1024 68Filtering = appdriven 69DisableMipmapping = false 70Resolution = h:1920, v:1080 71Antialiasing = appdriven 72 73AppControlledScreenMode = false 74DisableAltEnterToToggleScreenMode = true 75 76BilinearBlitStretch = true 77PhongShadingWhenPossible = false 78ForceVerticalSync = false 79dgVoodooWatermark = true 80FastVideoMemoryAccess = false 81
and in ja2.ini
1;****************************************************************************************************************************** 2; You can choose from the following screen resolutions. 3; 4; 0 ... 640x480 5; 1 ... 960x540 6; 2 ... 800x600 7; 3 ... 1024x600 8; 4 ... 1280x720 9; 5 ... 1024x768 10; 6 ... 1280x768 11; 7 ... 1360x768 12; 8 ... 1366x768 13; 9 ... 1280x800 14; 10 ... 1440x900 15; 11 ... 1600x900 16; 12 ... 1280x960 17; 13 ... 1440x960 18; 14 ... 1770x1000 19; 15 ... 1280x1024 20; 16 ... 1360x1024 21; 17 ... 1600x1024 22; 18 ... 1440x1050 23; 19 ... 1680x1050 24; 20 ... 1920x1080 25; 21 ... 1600x1200 26; 22 ... 1920x1200 27; 23 ... 2560x1440 28; 24 ... 2560x1600 29; 25 ... Custom Resolution 30;****************************************************************************************************************************** 31 32; The screen resolution of the game 33SCREEN_RESOLUTION = 25 34 35; The screen resolution of the map editor 36EDITOR_SCREEN_RESOLUTION = 5 37 38; Applicable only when set to Custom Resolution (25). 39; Make sure monitor supports the custom resolution if playing in full screen mode 40CUSTOM_SCREEN_RESOLUTION_X = 1368 41CUSTOM_SCREEN_RESOLUTION_Y = 770 42;****************************************************************************************************************************** 43; Select windowed or full screen mode? 44; If you like to play in Windowed Mode, you have to switch your Windows Desktop Color Scheme/Compatibility Mode to 16 Bit! 45 46; 0 ... Full Screen 47; 1 ... Windowed Mode 48;****************************************************************************************************************************** 49 50SCREEN_MODE_WINDOWED = 0 51
Lastly, thank you for this awesome program which breathes life into a lot of old games! 😀
Interestingly, with forced resolution, the game sometimes run properly sometimes don't.
When certain elemets are missing then it's because the game sends invalid (empty) rectangles to DDraw for bitmap blitting. I don't yet know what it depends on.
Also, ISF resolutions don't cause glitches for me.