প্রকল্প সম্পর্কে

# HQCDD — 조선의반격 화면 개선 도구 HQCDD는 레거시 게임 '조선의반격'(SYW2Plus)의 그래픽 호환성과 사용자 경험을 향상시키기 위한 DirectDraw 래퍼 플러그인입니다. 이 도구는 Windows 10 및 11 환경에서 게임이 창 모드나 전체화면으로 원활하게 실행되도록 하며, 기존 8비트 팔레트 그래픽을 D3D11 기반으로 출력하여 현대적인 디스플레이 설정과 호환성을 제공합니다. ## 주요 기능 ### 1. 화면 모드 및 해상도 개선 - **창 모드 및 전체화면 지원**: Alt+Enter 단축키로 창 모드와 전체화면을 전환할 수 있습니다. 창 크기를 자유롭게 조정하며 마우스 좌표 보정이 적용되어 UI 상호작용이 정상적입니다. - **와이드스크린 확장**: 기본 4:3 비율 외에도 16:9 비율을 지원합니다. 전장 영역을 1068×600으로 확장하고 HUD를 중앙에 배치하여 넓은 시야를 확보합니다. - **업스케일 필터 선택**: CPU(GDI) 또는 GPU 기반 렌더링과 함께 Nearest(픽셀 경계 선명함), Bilinear(부드러움), Sharp Bilinear(균형), Integer(정수 배율) 등 다양한 업스케일 방식을 선택할 수 있습니다. ### 2. UI 버그 해결 (HQNET) - **로그인 및 채팅 UI 복원**: 이전 버전에서 발생하던 로그인 입력칸 글자 소실, 깜빡임 현상, 채팅 입력칸이 배경에 가려지는 문제를 해결했습니다. - **로비 UI 최적화**: 게임방 로비의 참가 슬롯, 지도 목록, 설정 메뉴가 창 모드에서도 원래 비율과 위치를 유지하며 올바르게 표시됩니다. ### 3. 실시간 설정 및 오버레이 - **Ctrl+Alt+D 설정 화면**: 게임 진행 중에도 열 수 있는 설정 패널을 제공합니다. 화면 모드, 렌더러(GDI/GPU), 수직동기화(VSync), 업스케일 방식 등을 즉시 변경하거나 저장할 수 있습니다. - **성능 오버레이(Ctrl+Alt+F)**: FPS, 프레임 간격 그래프, CPU/RAM 사용량, 렌더링 시간 등의 실시간 성능 지표를 표시합니다. - **벤치마크 모드(Ctrl+Alt+B)**: 전투 구간에서의 성능 측정을 시작하고 종료할 수 있습니다. ### 4. SYW2X 통합 색상 관리 - SYW2X 플러그인과 연동하여 유닛 식별색, 패널 글자색, 상태바 색상 등을 256색 팔레트에서 직접 선택하고 적용할 수 있습니다. ## 설치 방법 본 도구는 ESL(ESL Loader)과 SYW2X 플러그인이 이미 설치된 게임을 대상으로 합니다. DLL 파일을 직접 교체하는 대신 ASI 플러그인 형식을 사용합니다. 1. **백업**: 기존 게임 폴더의 `ddraw.dll` 및 설정 파일을 백업합니다. 2. **플러그인 복사**: ZIP 파일 내 `plugins/hqcdd.asi`를 게임 폴더의 `plugins` 폴더에 복사합니다. - 기존 `ddraw.dll`(ASI 로더)과 `syw2x.asi`는 그대로 유지해야 합니다. 3. **설정 파일 추가**: `hqcdd.ini`를 게임 EXE(`[ESL]Syw2plus 2606.exe`)가 있는 폴더에 둡니다. 4. **실행**: 기존 ESL 게임 EXE를 직접 실행합니다. 별도의 런처나 패치된 EXE는 사용하지 않습니다. **주의**: DLL판과 ASI판은 동시에 설치하지 않아야 합니다. Windows 시스템 폴더나 원본 EXE 파일을 수정하지 않습니다. ## 문제 해결 - **설정 화면 안 뜨거나 오류 발생**: `hqcdd.log` 파일을 확인하여 `ASI active` 또는 `ASI disabled` 상태를 점검하세요. 다른 ASI 로더와 충돌했거나 `ddrawHooked.dll`이 중복 설치되었을 수 있습니다. - **GPU 렌더링 실패**: 일부 환경에서는 GPU 출력이 실패하여 GDI로 자동 전환될 수 있습니다. 이 경우 `hqcdd.ini`에서 `Renderer=gdi`로 강제 설정하거나, 그래픽 드라이버를 업데이트하세요. - **초기화**: 문제가 지속되면 `hqcdd.ini`의 `[Display]` 섹션을 다음과 같이 초기화하여 기본값으로 되돌릴 수 있습니다: ```ini [Display] Fullscreen=0 Renderer=gdi VSync=0 Scaling=nearest ``` ## 지원 범위 및 주의사항 - 현재 ESL 2606 원본 EXE와 SYW2X 플러그인을 기준으로 검증되었습니다. - Windows 10 및 Windows 11에서 동작이 확인되었으며, 다중 모니터 및 DPI 설정에 대한 완전한 검증은 향후 릴리즈에서 진행됩니다. - 본 도구는 게임 파일을 제공하지 않으며, 게임의 저작권은 각 권리자에게 있습니다. - Lossless Scaling과 같은 외부 소프트웨어의 모든 기능(예: 프레임 생성)을 대체하지는 않습니다. 라이선스는 MIT이며, 개발자 문서와 변경 이력은 GitHub 저장소에서 확인할 수 있습니다.