Files
gamedir/Tools/ExShell/exshell.ecd
T
Wanne 0ba2b3eeb3 ExShell (New Version: 0.02(018.14282)) (by StaticZ)
- Fixed: FPS limit ignored after minimize\restore application 
- Fixed: SuperEagle filter crashed application. 
- Fixed: Related paths for $StartPEPath: don't work. 
- Change startup initialization for more safety 
- Change using instruction sets: MMX, SSE, SSE2, AVX 
- Added: EPX upscale filter 
- Added: info about selected filters and game mode in OSD 
- Added: saving screenshots by PrntScr hotkey (Ctrl+PrntScr to save original image) 
- Added: separating FPS limit for focused and unfocused application window 
- Added: sending customise keyboard keys scancode at lose and get focus. 
- Added: minor checks and validations

git-svn-id: https://ja2svn.mooo.com/source/ja2_v1.13_data@2166 4f8fa57e-7814-0410-bad4-adc449f26b7c
2014-10-11 16:38:33 +00:00

193 lines
10 KiB
Plaintext

~ EssenceUCS: uoconfig.ecd =====
~ Encoding: only UTF-8 without BOM !!! =====
$unknown: OFF ~ !! Don't remove this... =====
~ =====================================================================================
~ see "ecd-format_eng.pdf"|"ecd-format_rus.pdf" for format and syntax description.
~ WARNING: This version supported only DirectDraw2 with screen mode 16 bpp (555 or 565).
~$LoadProfile: "DefaultConf"
~ Using sections (exshell will look for walues in this sections in left-to right order)
$LoadProfile: { "ShellOptions", "JaggedAlliance2", "DefaultConf" }
~ =====================================================================================
[JaggedAlliance2] ~ Jagged Alliance 2 and it's mods =====
~ =====================================================================================
$StartPEPath: "C:\Jagged Alliance 2 1.13\ja2.exe"
~ =====================================================================================
[DefaultConf] ~ Default configuration for all profiles =====
~ =====================================================================================
$StartPEPath: "game.exe" ~ Full or relative path to lunching application.
$StartPEArgs: "" ~ command line arguments for lunching application.
~ 0 - OFF, value is bit mask for allowed CPU cores, use to solve problems with multi core.
~ (i.e. #0001 - 1st core, #0002 - 2nd core, #0004 - 3rd core, #0008 - 4th core and so on)
$CPUAffinity: #0001
~ Offset to application entry point (WinMain procedure, it's not same for PE entry point)
~ use "no" or #00000000 value to allow exshell found it itself. Using incorrect offset will
~ cause problems with exshell loading or application crashing. If you get such problems
~ try to set offset manually (it's rather easy to find it throw disassembler, like IDA).
~ Note: take attention that this offset usually differs for each executable file, so if
~ you get it from somewhere check executable version and checksum to be sure that it's
~ really extracted from same executable file.
$WinMainOffs: NO
~ By default exshell capture image from 1st created window. But as few applications create
~ several windows (notice that they can be invisible) you possibly will be required to use
~ another one. To do this you will need caption text. Notice, that it can be not constant
~ value, so in this case better use window class name. 1st argument - window class name,
~ 2nd - window caption. If both of them are defined then exshell will search window that
~ satisfy both conditions. You can set 1st or\and 2rd parameter to NO to disable filter.
~ 3rd parameter - new window caption, if you want to replace original one. To keep original
~ one use value NO.
~ NOTE: To get list of creating window classes and captions run your application and look
~ in console output (See keys $UseDebugMod, $ShowConsole, $ConsoleWPal, $ConsoleWait).
$ApplCaption: { NO, NO, NO }
~ 0 - OFF, value in ms for pause (normally values more 1 ms not recommended to use, though
~ in some cases can be used for slowing game). Use it if application always load 100% cpu.
$MainLoopLow: 1
~ If true use mouse cursor clipper inside game window client area. This means that it will
~ be impossible to move cursor out of window until it has focus.
$ClipMCursor: YES ~ NOTE: NOT IMPLEMENTED !!
~ Set limit for screen update, use this to reduce CPU usage. Value NO or 0 means that there
~ are no limitation in exshell, but notice that running application can have own FPS limit.
~ Second value is FPS limit for application when focus is lost. If value NO then 1st value
~ will be used. This will help to save your CPU load.
$FPSMaxLimit: { 60, 10 }
~ 1st and 2nd parameters - Original full screen game mode (it's not real window size)
~ 3rd parameter - color mode (for 16 bit commonly used 555 or 565, for 24\32 - 888,
~ for 256 color mode use value 0).
$FScreenMode: { 640, 480, 555 } ~ NOTE: 8\24\32 BIT MODES NOT IMPLEMENTED !!
~ Real window settings (it can be larger then application resolution):
~ 1st parameter - if TRUE window will have border, if FALSE then it will be created without it.
~ 2nd and 3rd parameters - window client area size (width and height). NOTE: if you use border,
~ real window sizes will be larger. Exactly border sizes depending on OS version and used theme.
~ 4th and 5th parameters - initial position for top-left corner of a window (X, Y)
~ 6th parameter - window background color (in R8G8B8 format)
$WindowFrame: { YES, 1920, 1080, 0, 0, #008080 } ~ NOTE: WINDOW BORDER NOT IMPLEMENTED !!
~ 1st parameter - Bliter type (render method):
~ 1 - GDI
~ 2 - Direct2D ~ NOTE: NOT IMPLEMENTED !!
~ 2nd parameter - Interpolation method:
~ 0 - None
~ 3rd parameter - Image position (in case if it occupies only part of the screen)
~ 1 - draw image at bottom-left corner of the screen
~ 2 - draw image at screen bottom, on the center for width
~ 3 - draw image at bottom-right corner of the screen
~ 4 - draw image at screen left, on the center for height
~ 5 - align image on screen center (recommended)
~ 6 - draw image at screen right, on the center for height
~ 7 - draw image at top-left corner of the screen
~ 8 - draw image at screen top, on the center for width
~ 9 - draw image at top-right corner of the screen
~ 4th parameter - Output source image scaling type:
~ 0 - don't change size (it doesn't influence size change by the scaletype filter)
~ 1 - stretch with saving aspect ratio.
~ 2 - stretch to window size with saving aspect ratio (cutting sides).
~ 3 - stretch to window size.
$UsingBliter: { 1, 0, 5, 0 }
~ Using filters for capture image. You can use any number of filters you want, they will be
~ applied in order they are declared. The output result of filter will become input data for
~ next filter. At least one filter must be declared (if you want get original image use "None"
~ filter). Note: all filters must be declare in one section, otherwise they will be skipped.
~ Don't declare filters before $UsingBliter key, otherwise they will be skipped.
~ 1st parameter - upscale type (add #2000 for 2x, #3000 for 3x, #4000 for 4x, if supported):
~ #00 - None [ ] - don't use upscale filter (1x)
~ #01 - Simple [2x 3x 4x] - fastest, no smoothing, no filtering
~
~ #02 - Pixelate [2x 3x 4x] - retro style (old screen)
~ #03 - Scanlines [2x ] - retro style (old screen)
~ #04 - ScanlinesTV [2x ] - retro style (old screen)
~ #05 - MotionBlur [2x ] - blur effect for screen update
~
~ #10 - Eagle [--------] - good for saving graphics details
~ #11 - 2xSaI [2x ] - improved Eagle algorithm
~ #12 - SuperEagle [2x ] - similar to 2xSaI, but does more blending
~ #13 - Super2xSaI [2x ] - similar to 2xSaI, but smooths graphics
~
~ #20 - EPX [2x ] - something average between Eagle family and HQ family
~ #21 - Scale [--------] - improved EPX
~ #22 - AdvMame [2x ] - improved EPX <RECOMENDED! (best speed for good quality)>
~
~ #30 - lq [2x ] - good for making graphics sharper
~ #31 - hq [2x ] - same as LQ, but more heavy interpolation
~ #32 - xbra [2x 3x 4x] - based on HQ
~ #33 - xbrb [2x 3x 4x] - based on HQ
~ #34 - xbrc [2x 3x 4x] - based on HQ
~ #35 - xbrz [--------] - improved XBR
~
~ #01 - GrayScale [- - - ] - Convert colors to gray tons.
~ ??? - Scale2xSaI, Bilinear, BilinearPlus
~ NOTE: keys can contain addition parameters, depending on using filter (see description above).
$ImageFilter: #0001
$ImageFilter: #2004
~ This options allow to send pressing event for specified keys to application before focus will be lost
~ and after focus restore. This can be used for setting game on pause, autosaveing or solving some
~ problems with sticking keys while switching windows. Common keys code are defined below, optionally
~ you can add #00E00000 for extended key code (E0). For example ALT+S can be described as events
~ {#38, #1F, #9F, #B8} or in case of right ALT {#E00038, #1F, #9F, #E000B8}.
~ You can add any number of key codes to array or use NO value to disable it, keys will be send from left
~ to right order. List of scan codes can be found in ./toolsadd/scancodes.htm
$GetFocusKey: { #B8,#E000B8 } ~ Break for: Left & Right ALT
$RemFocusKey: OFF ~ NOTE: bad coded, though in most cases its working.
~ Press PrintScreen for saving screenshot or Ctrl+PrintScreen for saving unfiltered screenshot.
~ Allowed formats: "jpeg", "png", "bmp", "tiff", "gif" (note gif allows save only up to 256 colors)
$ScrnGrabImg: "png"
~ =====================================================================================
[ShellOptions] ~ EXShell global options =====
~ =====================================================================================
$UseLanguage: "RU" ~ LangCode from entries in Localisation section
$UseDebugMod: YES ~ Disable all debug staff (OSD, console and other)
~ enable, toffx, toffy, font, lfWeight [1..9, 4 -default, 7 - bold], lfHeight, texth, tcolr, fsize, fcolr
$ShowOSDMenu: { YES, 30, 60, "Courier", 7, 18, 20, #B4B4B4, TRUE, #000000 }
~ enable, x, y, width, height, buggerW, buggerH, font, family, fontW, fontH, CP
$ShowConsole: { YES, 100, 100, #C0DE, 906, 87, 4096, "Consolas", #00, 9, 26, 1251 }
$ConsoleWPal: { ~ 16 color RGB palette
~ #000000, #000080, #008000, #008080, #800000, #800080, #808000, #C0C0C0, ~ Default Windows
~ #808080, #0000FF, #00FF00, #00FFFF, #FF0000, #FF00FF, #FFFF00, #FFFFFF
#000000, #000080, #008000, #008080, #800000, #800080, #808000, #C0C0C0, ~ Essence Theme
#808080, #0000FF, #00FF00, #00FFFF, #FF0000, #FF00FF, #FFFF00, #FFFFFF
}
$ConsoleWait: NO ~ Pause console log at process termination
~ =====================================================================================
[Localisation] ~ List for known locals (don't rename or delete) =====
~ =====================================================================================
~ Note: Don't rename this section and never use localised strings here!!!
~ format: LangCode (2 chars only), ANSI_CP, OEM_CP, Charset
~ for default values, 1st argument is missed.
$elangcodepage:{ 1251, 850, 0 } ~ Default
$elangcodepage:{ "EN", 1250, 850, 0 } ~ English
$elangcodepage:{ "RU", 1251, 866, 204 } ~ Русский
$elangcodepage:{ "SP", 1252, 850, 0 } ~ Espanol
$elangcodepage:{ "GE", 1252, 850, 0 } ~ Deutsch
$elangcodepage:{ "IT", 1253, 850, 0 } ~ Italiano
$elangcodepage:{ "FR", 1253, 850, 0 } ~ Francais