About this project

# HQCDD — Joseon's Counterattack Screen Improvement Tool HQCDD is a DirectDraw wrapper plugin designed to improve the graphical compatibility and user experience of the legacy game 'Joseon's Counterattack' (SYW2Plus). This tool ensures smooth execution in windowed or fullscreen modes within Windows 10 and 11 environments, rendering existing 8-bit palette graphics based on D3D11 to provide compatibility with modern display settings. ## Key Features ### 1. Screen Mode and Resolution Improvements - **Windowed and Fullscreen Support**: Switch between windowed mode and fullscreen using the Alt+Enter shortcut. Freely adjust window size with applied mouse coordinate corrections for normal UI interaction. - **Widescreen Expansion**: Supports 16:9 aspect ratio in addition to the default 4:3. Expands the battlefield area to 1068×600 and centers the HUD to secure a wider field of view. - **Upscale Filter Selection**: Choose from various upscale methods such as Nearest (sharp pixel boundaries), Bilinear (smooth), Sharp Bilinear (balanced), and Integer (integer scaling) alongside CPU (GDI) or GPU-based rendering. ### 2. UI Bug Fixes (HQNET) - **Login and Chat UI Restoration**: Resolved issues from previous versions where login input text disappeared, flickered, or chat input boxes were obscured by the background. - **Lobby UI Optimization**: Participant slots, map lists, and settings menus in the game room lobby now maintain their original ratios and positions correctly in windowed mode. ### 3. Real-time Settings and Overlay - **Ctrl+Alt+D Settings Panel**: Provides a settings panel accessible during gameplay. Allows immediate changes or saving of screen mode, renderer (GDI/GPU), VSync, and upscale method. - **Performance Overlay (Ctrl+Alt+F)**: Displays real-time performance metrics including FPS, frame interval graphs, CPU/RAM usage, and rendering time. - **Benchmark Mode (Ctrl+Alt+B)**: Start and stop performance measurement during combat sections. ### 4. SYW2X Integrated Color Management - Integrates with the SYW2X plugin to allow direct selection and application of unit identification colors, panel text colors, and status bar colors from the 256-color palette. ## Installation Method This tool targets games where ESL (ESL Loader) and the SYW2X plugin are already installed. It uses an ASI plugin format instead of directly replacing DLL files. 1. **Backup**: Backup the existing `ddraw.dll` and configuration files in the game folder. 2. **Copy Plugin**: Copy `plugins/hqcdd.asi` from the ZIP file to the game folder's `plugins` directory. - Keep the existing `ddraw.dll` (ASI loader) and `syw2x.asi` unchanged. 3. **Add Configuration File**: Place `hqcdd.ini` in the folder containing the game EXE (`[ESL]Syw2plus 2606.exe`). 4. **Run**: Execute the existing ESL game EXE directly. Do not use separate launchers or patched EXEs. **Note**: Do not install the DLL version and ASI version simultaneously. Do not modify Windows system folders or original EXE files. ## Troubleshooting - **Settings Screen Not Appearing or Errors Occurring**: Check the `hqcdd.log` file for `ASI active` or `ASI disabled` status. Conflicts with other ASI loaders or duplicate installation of `ddrawHooked.dll` may be the cause. - **GPU Rendering Failure**: In some environments, GPU output may fail, causing automatic switching to GDI. In this case, force set `Renderer=gdi` in `hqcdd.ini` or update your graphics driver. - **Initialization**: If problems persist, you can reset to defaults by initializing the `[Display]` section in `hqcdd.ini` as follows: ```ini [Display] Fullscreen=0 Renderer=gdi VSync=0 Scaling=nearest ``` ## Scope and Notes - Currently verified based on the ESL 2606 original EXE and SYW2X plugin. - Operation confirmed on Windows 10 and Windows 11; full verification for multi-monitor and DPI settings will be conducted in future releases. - This tool does not provide game files; game copyright belongs to respective rights holders. - Does not replace all functions of external software like Lossless Scaling (e.g., frame generation). The license is MIT, and developer documentation and changelogs can be found in the GitHub repository.