Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 10/02/2025 in all areas

  1. 1,416 downloads

    Updates the GOG version of "Deus Ex: Revision" mod from version 1.6.3 to 1.7.3.1 and also makes it completely DRM-free (newer versions of the mod have SteamStub DRM wrapped around the executables). Installation: Unpack files from the archive into the mod's main folder. Password: PCGW Credits: Ion Storm - Making the original game. Caustic Creative - Making this mod. Me - Making this patch.
    1 point
  2. Version 1.7

    217 downloads

    Comes with a RAR file, which includes an ASI plugin intended to fix the field of view in the fantasy action horror FPS game "KISS Psycho Circus: The Nightmare Child" (2000), as the game's engine, LithTech 1.5, crops the image at resolutions with an aspect ratio wider than 4:3 (Vert-). Source code available here: https://github.com/alphayellow1/AlphaYellowWidescreenFixes/blob/main/source/fixes/KISSPsychoCircusTheNightmareChildFOVFix Instructions: 1. Extract all files to the game folder. 2. Download ThirteenAG's Ultimate ASI Loader (32-bit version of winmm.dll), and also extract it to the game folder. 3. Set the desired resolution to fix the cropping and FOV factor in KISSPsychoCircusTheNightmareChildFOVFix.ini. - Issues: :-: Light coronas are stretched.
    1 point
  3. Version 1.08

    3,620 downloads

    File to bypass AVX check, necessary when launching the Until Dawn Remake on Steam through a translation layer through CrossOver or Whisky on a Mac. Your computer must still support AVX instructions! Instructions: Download the file and extract (password: pcgw) Navigate to Steam install of Until Dawn Remake (C:\Program Files (x86)\Steam\steamapps\common\Until Dawn\Windows\Bates\Binaries\Win64\) Rename original Bates-Win64-Shipping.exe to Bates-Win64-Shipping_orig.exe Copy Bates-Win64-Shipping.exe Launch game Thanks for the patch to the user tsarkov (reddit). https://www.applegamingwiki.com/wiki/Until_Dawn If you like my work, you can support me and suggest which game you'd like to see next: PayPal DonationAlerts Ko-fi Patreon Сrypto
    1 point
  4. So, I've noticed nobody talks about modding old games here, so I'll break the tradition. Many people know old games have many issues running on newer monitors with aspect ratios different from what they used to be designed for, like 4:3 and 5:4, including no support for any kind of widescreen or wider resolutions, or when they do, they have a fixed field of view or it gets reduced with a wider resolution. Many old engines have the option to set a widescreen resolution, but just don't expose it to the user through the in-game settings, so editing through the Registry or external .ini/.cfg/.xml or other similar kind of files might be needed. Usually when it's not possible to edit settings through external files or through Registry, it's needed to edit the executables themselves or other files around it directly (usually it can be DLLs, but not only), by using softwares that can edit the code in those files in hexadecimal form, like the so-called hexadecimal editors, or hex editors for short, or even using memory scanners/debuggers like Cheat Engine. Why widescreen fixes matter Many beloved PC games from the 1990s and early 2000s were designed for 4:3 or 5:4 monitors. On modern widescreen displays (16:9, 21:9, even ultrawide), they either stretch, letterbox, or simply refuse to launch at anything beyond their legacy resolutions. By applying a few straightforward tweaks - editing config files or hex‑patching executables - you can unlock native widescreen support, restore proper field of view (FOV), and keep the originals looking their best. 1. Check for built‑in widescreen support Before diving into hex editing, see if the game already supports custom resolutions: 1. In‑game settings: Browse graphics or display options. 2. Config file entries: Look for resolution, width or height in .ini, .cfg or .xml files in the game folder or the Documents folder (either user one or public one). 3. Registry keys: Search under HKEY_CURRENT_USER\SOFTWARE\<GameName> or HKEY_LOCAL_MACHINE\SOFTWARE\<GameName>, or even look for the publisher or developer names as well. 2. Editing external config files When settings aren’t exposed in menus, try this first: Locate the file: Common names include settings.ini, user.cfg, or graphics.xml. Open in a text editor: Notepad++ or VS Code are ideal. Modify resolution lines: width = 1920 height = 1080 Save and test: Launch the game and verify. If it crashes or reverts, restore your backup and proceed to the next step. Tip: Always make a copy of the original file before editing. 3. Hex‑patching the executable If no external file can be changed, you must patch the game binary: Backup the EXE/DLL: Copy game.exe (or relevant DLLs) to a safe folder. Open in a hex editor: HxD (free) or 010 Editor (paid) work well. Search for known resolution values: 640x480 = 80 02 00 00 & E0 01 00 00 (little‑endian) 800x600 = 20 03 00 00 & 58 02 00 00 Replace with your resolution: For 1920x1080 use 80 07 00 00 and 38 04 00 00. Save and test: Run the game; if it fails, revert to the backup. Warning: Hex patching can permanently corrupt executables, so always work on copies. 4. Adjusting aspect ratio and field of view Even when resolution changes, the FOV may stay locked: Aspect ratio values: Some engines store a float (e.g. 1.3333 for 4:3). Look for 3F AA AA AB (IEEE‑754 for ~1.33) and replace with 3F 99 99 9A (~1.777 for 16:9). The value might be from the division of width by height or even the inverse, height / width. FOV multipliers: Search for common degree values (60° = 3C 70 00 00, in radians or as a multiplier). Increase by the ratio of new AR to old. Usually, the field of view is defined in the main executable or a DLL, most times close to where the far and near clip planes are calculated, see here for some documentation about clipping planes. DLL hooks: Enthusiast patches (e.g. Widescreen Fixer on GitHub) automate this by injecting a DLL at runtime. 5. Using memory scanners/debuggers & editing assembly When config file or simple hex patches aren’t enough, you can dive deeper with memory scanners (e.g. Cheat Engine) and debuggers/disassemblers (e.g. x64dbg, IDA Pro). This lets you locate values in RAM at runtime, inject code, or permanently patch the game’s machine code. 5.1 Memory Scanning with Cheat Engine Launch & attach Start the game and open Cheat Engine. Click the computer icon and select the game’s process. Finding values in RAM Exact Scan: If the game’s running at 800x600, scan for the integer 600 (4‑byte). Filtered Scan: After changing resolution in‑game to 1024x768, scan again for 768 - this narrows down candidate addresses. Pointer Scan: Once you’ve isolated the runtime address, use “Pointer scan for this address” to locate the static pointer chain. This lets you reapply your patch each launch without rescanning. Freezing or modifying values Double‑click the found address to add it to your table. Change its value to 1080 (for 1920x1080) or check “Active” to freeze it. Tip: Values can be stored as floats (e.g. FOV multiplier) or doubles—try scanning “Unknown initial value” and change the in‑game setting to filter. 5.2 Patching assembly in memory Instead of just editing data, you can hook the code that reads or writes to it: Find the instruction Right‑click your found address in CE → “Find out what accesses this address.” CE will break into the debugger showing the instruction(s) (for example, mov [eax+0x10], ecx). Code injection Use “Auto Assemble” in CE to inject a small script that overrides the value or skips a clamp routine. Example of a CE script to bypass a clamp at address 0x00401000: [ENABLE] aobscanmodule(CLAMP, GameX.exe, 89 91 10 00 00 00) alloc(newmem,2048,GameX.exe+401000) label(returnhere) newmem: mov [ecx+0x10], dword ptr [esi] // set custom width jmp returnhere GameX.exe+401000: jmp newmem returnhere: [DISABLE] CLAMP: db 89 91 10 00 00 00 dealloc(newmem) Saving this script in CE lets you enable it each play session. 5.3 Permanent assembly patching in EXEs/DLLs To avoid running scripts every time, you can patch the binary or DLL directly: Disassemble the module Load game.exe (or the relevant DLL) into IDA Free, Ghidra, or x64dbg. Identify the routine that handles resolution, aspect‑ratio clamping, or FOV calculation. Understand the Machine Code Little‑Endian: Multi‑byte immediates appear reversed in hexadecimal. Instruction Length: You cannot overwrite an instruction with a longer one without shifting downstream code; you may need to fill with NOPs (0x90) or use a jump instruction to a codecave that the game doesn't make use of. Apply the Patch Example: original bytes at 0x00401000: 0F 8C 1A 02 00 00 jl 0x40121C ; clamp if width < min To skip the clamp, change 0F 8C (JL - jump if larger) to 90 90 (NOP NOP), NOP means no operation, so the CPU won't execute anything and will continue execution after those: 90 90 1A 02 00 00 Save the patched binary or DLL and test. Warnings: Backups are mandatory. Keep copies of every original module. Checksums & signatures: Some games verify executable integrity, patching may trigger anti‑tamper or anti‑cheat and cause crashes or bans. Packers/compressors: If an EXE is packed (UPX, Themida), unpack it first or your patch may never be reached at runtime. 5.4 Best practices & cautions Always work on copies. Never patch a live install. Document your changes. Keep a changelog of offsets, original bytes, and replacements. Watch for side effects. Skipping a clamp may break UI layout or cause rendering issues. Legal considerations. Patching code for personal use is generally tolerated, but distribution of modified executables can violate EULAs. Community resources. Search forums (e.g. XeNTaX, PCGamingWiki) to see if others have already mapped the same functions. EDITING FILES So to start editing files, a hex editor like it was mentioned above is needed. Usually HxD is a good choice, it's not too hard to learn and has all that's needed for a hex editor. 1. First open the file you want to edit on it either by dragging the file onto the HxD window, or press Ctrl+O and open it from there. 2. Then, when the file is opened, it's time to search for values. First press Ctrl+F, this window will appear, if wanting to find a hexadecimal number, change the datatype to "Hex-values", for integer numbers it's "Integer number" and for floating point numbers like those shown in the "Aspect Ratio" section, change it to "Floating point number". 3. Let's take this example for Lego Racers 2. The game only supports the following resolutions by default: 640x480, 800x600 and 1024x768. 5. To find the right resolution, it's needed to find both width and height values that are close enough to eachother in a file. For that, this program made by myself can be used to determine that: https://github.com/alphayellow1/AlphaYellowWidescreenFixes/releases/tag/utilities 6. Put the downloaded executable in the same folder where the game exe is, run it, put the executable name, write one of the resolutions the game supports, set the byte search range to 15 and type Enter. 7. Since the 800x600 resolution has the least amount of close enough pairs in the executable (just 1), we'll go with it. 8. Go back to HxD, press Ctrl+G and search for the address that was found for the width: 0002A912 (just for info, each pair of numbers or letters represents 1 byte, so the highlighted value below is 2 bytes long). 9. 9. Highlight it, then go to the right side of the window in the "Data inspector" tab, and go to the row where it says Int16. 10. Change it to the desired width, and type Enter. 11. Do the same for the height, highlight the value in the right address you found in the program above and change the value in the Int16 row at the right side. Save the file. 12. Now inside the game, we can see the new resolution that was changed earlier above now appears in the graphics settings, but if it doesn't appear, just set it to the one you changed before (so change it to 800x600 and the resolution in-game will change to the one you set in the file). 13. Now during gameplay we can check the proportions look correct but the camera view looks cropped in relation to 4:3, which means the field of view is reduced with wider resolutions, this scaling behavior is called Vert-, because the vertical field of view is reduced to accomodate the new aspect ratio. This means we have to increase it. 14. For the field of view, it was found the game stores FOV values as degrees, and after some experimentation, it's found the value is 90º. Note that in some games, they might store FOV for different areas of the game in more than one place, it might be either the same value as normal gameplay one, or might be a different FOV value altogether, like using one FOV for menus and another FOV for gameplay, or even different FOVs for each mission. For first-person games, they might store a FOV value for the camera and another one different altogether for the weaponmodel. Also cutscenes might have its own FOV assigned to it (either a universal FOV value for cutscenes, or even different FOV values inside the same cutscene, or each type of cutscene having its own FOV), so beware. 15. In HxD, press Ctrl+F, change the tab to "Floating point number" and type 90, change "Search direction" to "All", and click in "Search all". 16. All the found 90 values are listed below: 15. To edit each value, double click on one of the results below, and then go to the right side, and change the value in the "Single (float32)" row. You can try editing each value to a much higher one like 130, noting in which address the value is before changing it (see the second screenshot below this one), then saving the file, starting the game and going into gameplay, and seeing if the FOV became much higher, then if not, closing the game and coming back to HxD, changing the value back to 90 in the address you noted before, and going to the next value and doing the same process again until the camera FOV changes in-game. 16. It won't take long to find out it's the second value responsible for the camera FOV ingame, highlight it and change the value according to WSGF's FOV calculator: https://www.wsgf.org/fovcalc.php . Leave it as it is, and change the "number of monitors across" to 1, and change the resolution to the desired one above (in my case it's 1920x1080). 17. Copy the value after where it says "New hFOV =", only copy the number in bold. Also note that if the standard FOV isn't 90º but another number, you can change the number that is after "Old hFOV:" to that one to get the correct FOV for your aspect ratio. 18. After copying the number in step 17, go back to HxD and paste it in the "Single (float32)" row of the second address that was found in the first screenshot of step 15. 19. Now going back in-game, we can see the resolution and field of view were successfully changed and the game is fixed! ADVANCED EDITING THROUGH MEMORY HACKING If changing resolution or FOV values in files doesn't change anything in-game, then memory scanning/debugging softwares like Cheat Engine and code disassemblers like OllyDbg and x32dbg are needed. I'll expand on this section later.
    1 point
  5. I have the GOG version of Empires: Dawn of the Modern World installed. I downloaded the widescreen patch. My native monitor resolution is 2560x1440. Whilst the new resolution settings appear in the settings menu, whenever I try to launch a game with the setting 2560x1440, the game crashes. I can run the game 1920x1080 but it is not my monitor's actual correct resolution and the game's minimap appears to be off. Whenever I click say a gold mine on the minimap, it takes me sort of nearby but not the exact location. Is there any other solutions? Perhaps the download file could be modified to allow higher resolution support?
    1 point
  6. Hello. The game's article states that resolutions above 1920x1080 crash the game "during gameplay". The note is accurate, seen as my own attempts to play it in DSR 4K cause the crash aswell. As far as I know, there is no public workaround or fix for this issue. The minimap getting distorted on higher resolutions is also an unresolved issue. Sadly "Empires Dawn Of The Modern World" has turned into a rather obscure title these days, that does not receive much attention anymore. I am surprised that there is an actual "Widescreen Patch" uploaded, seen as a simple registry edit already allows for widescreen resolutions as well as custom refresh rates. Combined with the https://github.com/j-frei/EmpiresDMWZoomChanger it makes for an acceptable experience these days when using Full HD. Either way, until there is a workaround or a proper patch, the game is sadly limited to 1920x1080.
    1 point
  7. I was looking through the editing guide availability section (https://pcgamingwiki.com/wiki/PCGamingWiki:Editing_guide/Availability) and i seen that the product ids table is missing some stores you can buy games from. Here is a list of other places you can buy games that I believe should be added (I am using Lego Marvel Super Heroes 2 as an example): 2Game - https://2game.com/us/legor-marvel-super-heroes-2-standard-edition Voidu - https://www.voidu.com/en/lego-marvel-super-heroes-2 Fanatical - https://www.fanatical.com/en/game/lego-marvel-super-heroes-2-game Nuuvem - https://www.nuuvem.com/item/lego-marvel-super-heroes-2 Razer Game Store - https://us.gamestore.razer.com/games/action/lego-marvel-super-heroes-2-824850.html
    1 point
×
×
  • Create New...