Intro: Hi, I'm Rectifier on the baldursgate.com forums, and as an experiment I made what I hope is a user-friendly borderless windowed experience for BG:EE that's called bgeeBW. Note: This is Windows only, and either some or all of the features won't work in Windows 8. ----------------------------------------------------------------------- bgeeBW comes in a 32-bit ahk binary or an ahk script. Only one is necessary to run the game in BW mode. The script requires installing more files and is intended for tinkerers. ----------------------------------------------------------------------- Version: 1.0 Official Download At: https://www.dropbox.com/sh/s575yegm9a81ou5/xgdp1HfZYu Do not trust bgeeBW from other sources! ----------------------------------------------------------------------- Installation Instructions: 1. Place bgeeBW in the main game directory. (Where Baldur.exe is located, typically C:\Program Files\BeamDog\00766) 2. Make sure to configure BG:EE to run in windowed mode. 3. Run bgeeBW, which will first create a shortcut of Baldur.exe in the main directory to avoid a strange but consistent crash and continue. ----------------------------------------------------------------------- Features: Starting bgeeBW automatically launches BG:EE in BW mode. In-game toggle from BW mode to regular windowed mode. Automatically shows/hides taskbar. Allows play of BG:EE with a full yet windowed screen and keeps the software rendered cursor (I'm pro-hand). Multiple monitor support??? (Read the Multi section) Hotkeys: Alt+b either launches BG:EE manually or toggles BW mode on and off. Alt+q exits bgeeBW and reverts BG:EE to windowed mode. ----------------------------------------------------------------------- Multi: bgeeBW may support multiple monitors, but I can't test this myself. If it does work the code should stretch the game onto all the monitors that are a part of the desktop. So if you wanted to play BG:EE on two monitors but leave one clean...that may be implemented nicely later. It can be done quickly if you're willing to script (Read MultiScript). Windows: The binary and script were compiled and tested on Windows 7 x64, so I do not know if bgeeBW works on other versions of Windows, but it should work on anything newer than '95 and older than Windows 8. ----------------------------------------------------------------------- Script: The script version is much smaller than the binary but requires downloading and installing AutoHotkey, AHK. The latest version of AHK can be found at http://l.autohotkey.net/ and I recommend using the installer, or the Unicode x86 binary, and getting the documentation. After installing AHK, you can then run the script version of bgeeBW by double-clicking the ahk file. The script version has all the same features as the binary. As a general rule, ahk scripts tend to have more stability, less of memory footprint, and run more quickly than binaries. However, this is such a simple program that those benefits over the binary are negligible. The real benefit to the script version is that the script can be easily modified. The documentation, which is very helpful, can be found online, and the same information can be downloaded for offline use. Tip: If the script is already running while modifying it, save the script after finishing your changes and then right-click on the script's tray icon and reload the script. If you don't reload the script between changes the script executing won't change. ----------------------------------------------------------------------- MultiScript: The multiple monitor part of the script is found in the first portion of the toggle label (the line "toggle:"). Glance down a few lines until you notice the line that begins with "while". What this line does is loop for each monitor. One way to pick and choose the monitors you wish to use is to change how the "i" variable increments in the loop. Here's an example to use the first two of four monitors. Change this block: width += currWidth ; increment width height += currHeight ; increment height i++ ; increment counter currWidth := 0 ; reset current width currHeight := 0 ; reset current height Into this: width += currWidth ; increment width height += currHeight ; increment height i++ ; increment counter if i > 2 i := 5 currWidth := 0 ; reset current width currHeight := 0 ; reset current height The above example forces the loop's counting variable "i" to become a value that ends the loop before the last monitors information is used. ----------------------------------------------------------------------- Use: Feel free to edit the script and do whatever, I'd appreciate it if my username was mentioned somewhere though. Lastly, I'm not responsible for any shenanigans you commit while using all or portions of my code. For any questions feel free to post in the thread at the forums.