docs: CLAUDE.md 파일 구조 6파일로 업데이트
This commit is contained in:
@@ -11,7 +11,7 @@ C:\Users\98kim\sdk\go1.25.1\bin\go.exe build -ldflags="-H windowsgui -s -w -X ma
|
|||||||
|
|
||||||
## Tech Stack
|
## Tech Stack
|
||||||
|
|
||||||
- **Go** 4파일 구조 (`main.go`, `ui.go`, `download.go`, `protocol.go`)
|
- **Go** 6파일 구조 (`main.go`, `win32.go`, `ui.go`, `download.go`, `protocol.go`, `game.go`)
|
||||||
- **Win32 API** — `user32.dll`, `gdi32.dll`, `comctl32.dll`, `uxtheme.dll`, `shell32.dll`
|
- **Win32 API** — `user32.dll`, `gdi32.dll`, `comctl32.dll`, `uxtheme.dll`, `shell32.dll`
|
||||||
- `golang.org/x/sys/windows` + `windows/registry`
|
- `golang.org/x/sys/windows` + `windows/registry`
|
||||||
|
|
||||||
@@ -22,14 +22,16 @@ C:\Users\98kim\sdk\go1.25.1\bin\go.exe build -ldflags="-H windowsgui -s -w -X ma
|
|||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
역할별 4파일 구조:
|
역할별 6파일 구조:
|
||||||
|
|
||||||
| 파일 | 담당 |
|
| 파일 | 담당 |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `main.go` | 진입점(`main`), 단일 인스턴스, `handleURI`, version |
|
| `main.go` | 진입점(`main`), 단일 인스턴스, `handleURI`, version |
|
||||||
| `ui.go` | Win32 DLL/proc 선언, WndProc, progress window, DPI, font, msgBox |
|
| `win32.go` | Win32 상수, DLL/proc 선언, 구조체 |
|
||||||
|
| `ui.go` | WndProc, progress window, DPI, font, msgBox |
|
||||||
| `download.go` | HTTP 클라이언트, 다운로드/추출/해시, `ensureGame`, `ensureLauncher` |
|
| `download.go` | HTTP 클라이언트, 다운로드/추출/해시, `ensureGame`, `ensureLauncher` |
|
||||||
| `protocol.go` | 상수, URI 프로토콜 등록/해제, `redeemTicket`, `fetchServerInfo` |
|
| `protocol.go` | 상수, URI 프로토콜 등록/해제, `redeemTicket`, `fetchServerInfo` |
|
||||||
|
| `game.go` | `handleURI`, 게임 실행 흐름 |
|
||||||
|
|
||||||
주요 함수:
|
주요 함수:
|
||||||
- **`downloadWithProgress()`** — Win32 메시지 루프 직접 운영. 반드시 메인 고루틴에서 호출 (`runtime.LockOSThread`).
|
- **`downloadWithProgress()`** — Win32 메시지 루프 직접 운영. 반드시 메인 고루틴에서 호출 (`runtime.LockOSThread`).
|
||||||
|
|||||||
Reference in New Issue
Block a user