VOGONS


First post, by Asdow

User metadata
Rank Newbie
Rank
Newbie

Hi

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.

Reply 3 of 4, by Asdow

User metadata
Rank Newbie
Rank
Newbie
Dege wrote:

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

[General]

; OutputAPI: "d3d11warp", "d3d11_fl10_0", "d3d11_fl10_1", "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_4_3", "stretched_4_3_crt", "stretched_4_3_c64"

OutputAPI = bestavailable
Adapters = 1
FullScreenOutput = 1
FullScreenMode = false
ScalingMode = stretched
ProgressiveScanlineOrder = false
EnumerateRefreshRates = false

Brightness = 100
Color = 100
Contrast = 100
InheritColorProfileInFullScreenMode = false

KeepWindowAspectRatio = false
CaptureMouse = false
CenterAppWindow = false

[GeneralExt]

; 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
;ForceNearestPointFilter: When the scaling is done by the wrapper for the given scaling mode,
; you can force nearest point filtering instead of bilinear one

DeframerSize = 0
ImageScaleFactor = 2
ForceNearestPointFilter = true

;--------------------------------------------------------------------------

[DirectX]

; VideoCard: "svga", "internal3D", "geforce_ti_4800", "ati_radeon_8500",
; "matrox_parhelia-512", "geforce_fx_5700_ultra"
; VRAM: in MBs
; Filtering: "appdriven", "pointsampled", "bilinear", "linearmip", "trilinear"
; or the integer value of an anisotropic filtering level (1-16)
;
; Resolution: either "unforced", "max", "max_isf", "max_fhd", "max_fhd_isf", "max_qhd", "max_qhd_isf", "%d x"
; 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:1920, v:1080, refrate:75
Show last 22 lines
;             or just use the compact form like "1024x768@60" or "512x384"
;

DisableAndPassThru = false

VideoCard = internal3D
VRAM = 1024
Filtering = appdriven
DisableMipmapping = false
Resolution = h:1920, v:1080
Antialiasing = appdriven

AppControlledScreenMode = false
DisableAltEnterToToggleScreenMode = true

BilinearBlitStretch = true
PhongShadingWhenPossible = false
ForceVerticalSync = false
dgVoodooWatermark = true
FastVideoMemoryAccess = false

and in ja2.ini

;******************************************************************************************************************************
; You can choose from the following screen resolutions.
;
; 0 ... 640x480
; 1 ... 960x540
; 2 ... 800x600
; 3 ... 1024x600
; 4 ... 1280x720
; 5 ... 1024x768
; 6 ... 1280x768
; 7 ... 1360x768
; 8 ... 1366x768
; 9 ... 1280x800
; 10 ... 1440x900
; 11 ... 1600x900
; 12 ... 1280x960
; 13 ... 1440x960
; 14 ... 1770x1000
; 15 ... 1280x1024
; 16 ... 1360x1024
; 17 ... 1600x1024
; 18 ... 1440x1050
; 19 ... 1680x1050
; 20 ... 1920x1080
; 21 ... 1600x1200
; 22 ... 1920x1200
; 23 ... 2560x1440
; 24 ... 2560x1600
; 25 ... Custom Resolution
;******************************************************************************************************************************

; The screen resolution of the game
SCREEN_RESOLUTION = 25

; The screen resolution of the map editor
EDITOR_SCREEN_RESOLUTION = 5

; Applicable only when set to Custom Resolution (25).
; Make sure monitor supports the custom resolution if playing in full screen mode
CUSTOM_SCREEN_RESOLUTION_X = 1368
CUSTOM_SCREEN_RESOLUTION_Y = 770
;******************************************************************************************************************************
; Select windowed or full screen mode?
; If you like to play in Windowed Mode, you have to switch your Windows Desktop Color Scheme/Compatibility Mode to 16 Bit!

; 0 ... Full Screen
; 1 ... Windowed Mode
;******************************************************************************************************************************

SCREEN_MODE_WINDOWED = 0

Lastly, thank you for this awesome program which breathes life into a lot of old games! 😀

Reply 4 of 4, by Dege

User metadata
Rank l33t
Rank
l33t

Thanks!

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.