diff --git a/.gitignore b/.gitignore index ae3c172..b48590f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,13 @@ /bin/ +target/ +*.class +*.jar +*.war +*.ear +.DS_Store +.idea/ +*.iml +.vscode/ +.settings/ +.project +.classpath diff --git a/README.md b/README.md index fcd4e94..14515ff 100644 --- a/README.md +++ b/README.md @@ -2,31 +2,64 @@ Java 소켓 프로그래밍으로 구현한 간단한 FPS 네트워크 데모입니다. 클라이언트/서버 구조, 가벼운 바이너리 프로토콜, Swing 기반 최소 UI를 포함합니다. +## 📚 상세 문서 + +프로젝트의 기술 스택과 주요 코드에 대한 **상세한 설명**을 보려면 다음 문서를 참고하세요: + +- **[TECH_STACK.md](TECH_STACK.md)** - 기술 스택 및 코드 상세 분석 (핵심 문서!) + - 프로젝트 개요 및 아키텍처 + - 기술 스택 상세 설명 (Java 17, Maven, TCP Socket, Swing) + - 공통/서버/클라이언트 모듈 핵심 클래스 분석 + - 네트워크 프로토콜 상세 설명 + - 게임 플로우 및 FSM 설명 + - 캐릭터 시스템 분석 + - 빌드 및 실행 방법 + +- **[PROTOCOL.md](PROTOCOL.md)** - 네트워크 프로토콜 명세서 +- **[DESIGN.md](DESIGN.md)** - 설계 문서 및 주차별 계획 +- **[CHARACTER_SPECS.md](CHARACTER_SPECS.md)** - 캐릭터 및 맵 상세 명세 + ## 빠른 시작 - 요구사항: JDK 17+ -- 빌드: IDE(Eclipse/IntelliJ)로 import 후 실행 또는 `javac`/`java` 직접 실행 +- 빌드: Maven (`mvn clean install`) 또는 IDE(Eclipse/IntelliJ)로 import 후 실행 ### 서버 실행 -- 메인: `src/com/fpsgame/server/ServerMain.java` +**Maven으로 실행:** +```bash +cd comfps-server +mvn exec:java +``` + +**또는 IDE에서:** +- 메인: `com.fpsgame.server.ServerMain` - 기본 포트: 7777 (코드에서 변경 가능) ### 클라이언트 실행 -- 메인: `src/com/fpsgame/client/ClientMain.java` +**Maven으로 실행:** +```bash +cd comfps-client +mvn exec:java +``` + +**또는 IDE에서:** +- 메인: `com.fpsgame.MainLauncher` - 기본 접속: `127.0.0.1:7777` - 기능: 채팅, READY 토글, 팀/캐릭터 선택, 맵 투표, Ping, 상태/카운트다운/라운드 결과 표시 ## 프로젝트 구조 ``` -src/ - com/fpsgame/common # 공통: Protocol, Snapshot, 유틸 등 - com/fpsgame/server # 서버: 메인/틱 루프/라우터/세션 - com/fpsgame/client # 클라이언트: NetClient, ClientMain, UI +fpsGame/ +├── comfps-common/ # 공통: Protocol, Snapshot, 유틸 등 +├── comfps-server/ # 서버: 메인/틱 루프/라우터/세션 +└── comfps-client/ # 클라이언트: NetClient, UI, 모델 ``` +**자세한 구조는 [TECH_STACK.md](TECH_STACK.md)를 참고하세요.** + ## 네트워크 프로토콜(요약) 상세는 `PROTOCOL.md` 참고. 모든 프레임은 [길이|opcode|payload] 순서로 전송됩니다. diff --git a/STUDY_GUIDE.md b/STUDY_GUIDE.md new file mode 100644 index 0000000..e10697f --- /dev/null +++ b/STUDY_GUIDE.md @@ -0,0 +1,334 @@ +# 🎮 FPS Game 프로젝트 학습 가이드 + +## 📖 이 문서는 무엇인가요? + +프로젝트에 대해 공부하고 싶다는 요청에 따라, 프로젝트의 **기술 스택과 주요 코드를 상세하게 정리한 문서**를 작성했습니다. + +## 📚 작성된 문서 + +### ⭐ TECH_STACK.md (신규 작성 - 핵심 문서!) +**42KB, 1,513줄의 상세한 기술 문서** + +이 문서는 프로젝트의 모든 것을 담고 있습니다: + +#### 1️⃣ 프로젝트 개요 +- 프로젝트명 및 개발 목적 +- 핵심 특징 (순수 Java TCP, 바이너리 프로토콜, 멀티 모듈 등) + +#### 2️⃣ 기술 스택 상세 설명 +- **Java 17** - LTS 버전, 최신 기능 활용 +- **Apache Maven** - 멀티 모듈 빌드 도구 +- **Java NIO TCP Socket** - 네트워킹 구현 +- **Java Swing** - UI 프레임워크 +- **JUnit 5** - 테스트 프레임워크 +- 의존성 구조 및 플러그인 설명 + +#### 3️⃣ 프로젝트 구조 +- 전체 디렉터리 구조 +- 모듈별 역할 (common, server, client) +- 패키지 구조 및 파일 조직 + +#### 4️⃣ 공통 모듈 (comfps-common) 핵심 클래스 분석 +- **Protocol.java** - 바이너리 프로토콜 구현 + - 프레임 구조 [길이|opcode|payload] + - 13개 Opcode 상세 설명 + - 직렬화/역직렬화 메서드 + +- **GameEnums.java** - 게임 규칙 및 열거형 + - Phase (6단계 FSM) + - Team, Character (10종), Map (3종) + - 게임 규칙 상수 + +- **SnapshotV2.java** - 플레이어 상태 동기화 + - Entry 구조 (위치, 각도, 팀, 캐릭터) + - 직렬화 형식 + - 사용 사례 + +- **캐릭터 시스템** + - CharacterBase, CharacterStats + - 10개 캐릭터 구현 예시 (Raven 상세) + +- **수학 유틸리티** + - Vec2, Rect, Mathf + +#### 5️⃣ 서버 모듈 (comfps-server) 핵심 클래스 분석 +- **ServerMain.java** - 서버 진입점 + - 8단계 초기화 과정 상세 + - LobbyHooks 구현 + +- **GameServer.java** - 게임 FSM + - 상태 전이도 + - 각 Phase별 tick 로직 + - 조건 함수 주입 패턴 + +- **TcpServer.java** - TCP 서버 + - ServerSocket 리스닝 + - Accept 루프 + +- **SessionRegistry.java** - 세션 관리 + - 세션 등록/해제 + - 팀/캐릭터 선택 관리 + +- **DefaultServerRouter.java** - 메시지 라우팅 + - 프레임 라우팅 로직 + - 브로드캐스트 구현 + +#### 6️⃣ 클라이언트 모듈 (comfps-client) 핵심 클래스 분석 +- **NetClient.java** - 네트워크 클라이언트 + - 연결 관리 + - 수신 스레드 + - 프레임 디스패치 (EDT 안전성) + - 전송 메서드들 + +- **PlayerSnapshotBuffer.java** - 스냅샷 보간 + - 버퍼 구조 + - 선형 보간 알고리즘 (100ms 지연) + - 부드러운 움직임 구현 원리 + +- **UI 컴포넌트** + - GameFrame, LobbyPanel, HudPanel + - Swing EDT 패턴 + +#### 7️⃣ 네트워크 프로토콜 상세 +12개 주요 프로토콜 상세 설명: +- WELCOME, CHAT, PING/PONG +- READY_TOGGLE, SET_SELECTION, MAP_VOTE +- PHASE_UPDATE, COUNTDOWN, ROUND_RESULT +- READY_STATUS, SNAPSHOT, PROJECTILES + +각 프로토콜마다: +- 방향 (Client→Server, Server→Client 등) +- 페이로드 구조 (바이트 레벨) +- 설명 및 사용 사례 + +#### 8️⃣ 게임 플로우 상세 +- **전체 흐름도** (ASCII 다이어그램) +- **6단계 상세 설명**: + 1. LOBBY - 플레이어 모집 및 준비 + 2. VOTE - 맵 투표 + 3. COUNTDOWN - 라운드 시작 카운트다운 + 4. ROUND_RUNNING - 게임 플레이 + 5. ROUND_RESULT - 결과 표시 + 6. MATCH_END - 매치 종료 + +각 단계마다: +- 목적, 활동, 다음 단계 조건 +- 코드 예시 +- 클라이언트 UI 설명 + +#### 9️⃣ 캐릭터 시스템 +10개 캐릭터 상세 표: +- 역할, 체력, 이동속도 +- 기본 공격, E 스킬, Q 궁극기 + +#### 🔟 빌드 및 실행 +- Maven 빌드 방법 (전체/모듈별) +- 서버/클라이언트 실행 방법 (3가지) +- 테스트 실행 +- 배포 준비 + +#### 1️⃣1️⃣ 학습 가이드 +- **초급**: Protocol, GameEnums 이해 +- **중급**: FSM, 보간, 라우팅 학습 +- **고급**: 새 기능 추가, 최적화 + +--- + +## 🎯 학습 순서 추천 + +### 1단계: 개요 파악 (30분) +``` +1. TECH_STACK.md의 "프로젝트 개요" 읽기 +2. "기술 스택" 섹션 읽기 +3. "프로젝트 구조" 확인 +``` + +### 2단계: 공통 모듈 이해 (1시간) +``` +1. TECH_STACK.md의 "공통 모듈" 섹션 정독 +2. 실제 코드 확인: + - comfps-common/src/main/java/com/fpsgame/Protocol.java + - comfps-common/src/main/java/com/fpsgame/GameEnums.java + - comfps-common/src/main/java/com/fpsgame/SnapshotV2.java +``` + +### 3단계: 네트워크 프로토콜 학습 (1시간) +``` +1. TECH_STACK.md의 "네트워크 프로토콜" 섹션 정독 +2. PROTOCOL.md 참고 +3. Protocol.java 코드 분석 +``` + +### 4단계: 서버 이해 (1.5시간) +``` +1. TECH_STACK.md의 "서버 모듈" 섹션 정독 +2. 실제 코드 확인: + - comfps-server/src/main/java/com/fpsgame/ServerMain.java + - comfps-server/src/main/java/com/fpsgame/GameServer.java +3. 서버 실행해보기 +``` + +### 5단계: 클라이언트 이해 (1.5시간) +``` +1. TECH_STACK.md의 "클라이언트 모듈" 섹션 정독 +2. 실제 코드 확인: + - comfps-client/src/main/java/com/fpsgame/NetClient.java + - comfps-client/src/main/java/com/fpsgame/model/PlayerSnapshotBuffer.java +3. 클라이언트 실행해보기 +``` + +### 6단계: 게임 플로우 이해 (1시간) +``` +1. TECH_STACK.md의 "게임 플로우" 섹션 정독 +2. DESIGN.md 참고 +3. 서버+클라이언트 동시 실행하여 전체 플로우 체험 +``` + +### 7단계: 심화 학습 (자유) +``` +1. 캐릭터 시스템 분석 +2. 새 캐릭터 추가 실습 +3. 프로토콜 최적화 연구 +4. NIO.2 비동기 전환 연구 +``` + +--- + +## 📂 모든 문서 목록 + +| 문서 | 크기 | 설명 | +|------|------|------| +| **TECH_STACK.md** | 42KB | **📌 핵심 기술 문서** (이번에 새로 작성!) | +| README.md | 2.9KB | 프로젝트 소개 및 빠른 시작 (업데이트됨) | +| PROTOCOL.md | 2.7KB | 네트워크 프로토콜 요약 | +| DESIGN.md | 5.4KB | 설계 문서 및 주차별 계획 | +| CHARACTER_SPECS.md | 6.2KB | 캐릭터 및 맵 상세 명세 | + +--- + +## 💡 핵심 개념 요약 + +### 1. 아키텍처 +``` +Client (Swing UI) ← TCP Socket → Server (Game Logic) + ↓ ↓ + NetClient.java TcpServer.java + ↓ ↓ + Protocol 직렬화 ←────────────→ Protocol 역직렬화 + ↓ ↓ + UI 업데이트 FSM + 브로드캐스트 +``` + +### 2. 프로토콜 구조 +``` +┌────────────────┬───────────┬──────────────────┐ +│ Length (4B) │ Opcode(1B)│ Payload (N) │ +└────────────────┴───────────┴──────────────────┘ +``` + +### 3. 게임 FSM +``` +LOBBY → VOTE → COUNTDOWN → ROUND_RUNNING → ROUND_RESULT → MATCH_END + ↑ ↓ ↓ + └────────────────────────────┴──────────────┘ +``` + +### 4. 보간 알고리즘 +``` +현재 시각 - 100ms = 목표 시각 +목표 시각을 둘러싼 두 스냅샷 찾기 +→ 선형 보간 (lerp) +→ 부드러운 움직임 +``` + +--- + +## 🚀 빠른 실행 가이드 + +### 1. 빌드 +```bash +cd /path/to/fpsGame +mvn clean install +``` + +### 2. 서버 실행 +```bash +cd comfps-server +mvn exec:java +``` + +### 3. 클라이언트 실행 (새 터미널) +```bash +cd comfps-client +mvn exec:java +``` + +### 4. 체험 +1. 클라이언트 창에서 팀 선택 (Red/Blue) +2. 캐릭터 선택 +3. READY 버튼 클릭 +4. (2명 이상이면) 맵 투표 +5. 카운트다운 후 게임 시작! + +--- + +## 🎓 다음 단계 + +### 프로젝트 이해를 위한 TODO +- [ ] TECH_STACK.md 전체 정독 (약 3-4시간) +- [ ] 서버 코드 따라가며 분석 +- [ ] 클라이언트 코드 따라가며 분석 +- [ ] 실제 실행하여 네트워크 패킷 확인 (Wireshark 사용 가능) +- [ ] 새 캐릭터 추가 실습 +- [ ] 새 맵 추가 실습 + +### 심화 학습 주제 +- [ ] Java NIO.2 비동기 I/O 적용 +- [ ] 프로토콜 압축 (zlib, snappy) +- [ ] 델타 인코딩으로 대역폭 최적화 +- [ ] UDP 적용 연구 (신뢰성 vs 지연) +- [ ] 게임 로직 확장 (충돌 감지, 데미지 계산) + +--- + +## 📞 질문이 있다면? + +모든 주요 코드와 개념이 **TECH_STACK.md**에 상세히 설명되어 있습니다. + +각 섹션마다: +- 코드 예시 +- 다이어그램 +- 설명 +- 사용 사례 + +가 포함되어 있으니, 궁금한 부분을 찾아서 읽어보세요! + +--- + +## ✅ 작업 완료 요약 + +이번 작업으로 다음이 완료되었습니다: + +✅ **TECH_STACK.md 작성** (42KB, 1,513줄) + - 프로젝트 개요 + - 기술 스택 상세 (Java 17, Maven, TCP, Swing, JUnit) + - 공통/서버/클라이언트 모듈 분석 + - 네트워크 프로토콜 12종 상세 + - 게임 플로우 6단계 설명 + - 캐릭터 시스템 분석 + - 빌드/실행 가이드 + - 학습 로드맵 + +✅ **README.md 업데이트** + - TECH_STACK.md 링크 추가 + - Maven 빌드 명령어 추가 + - 문서 구조 개선 + +✅ **.gitignore 개선** + - target/ 디렉터리 제외 + - *.class, *.jar 제외 + - IDE 파일 제외 + +--- + +**이제 프로젝트의 모든 기술과 코드를 체계적으로 공부할 수 있습니다! 🎉** diff --git a/TECH_STACK.md b/TECH_STACK.md new file mode 100644 index 0000000..64ccfca --- /dev/null +++ b/TECH_STACK.md @@ -0,0 +1,1513 @@ +# FPS Game 프로젝트 기술 스택 및 코드 상세 분석 + +## 📋 목차 +1. [프로젝트 개요](#프로젝트-개요) +2. [기술 스택](#기술-스택) +3. [프로젝트 구조](#프로젝트-구조) +4. [공통 모듈 (comfps-common)](#공통-모듈-comfps-common) +5. [서버 모듈 (comfps-server)](#서버-모듈-comfps-server) +6. [클라이언트 모듈 (comfps-client)](#클라이언트-모듈-comfps-client) +7. [네트워크 프로토콜](#네트워크-프로토콜) +8. [게임 플로우](#게임-플로우) +9. [캐릭터 시스템](#캐릭터-시스템) +10. [빌드 및 실행](#빌드-및-실행) + +--- + +## 프로젝트 개요 + +### 프로젝트명 +**FPS Game (Java Socket Demo)** - 멀티플레이어 FPS 네트워크 게임 + +### 개발 목적 +- Java 소켓 프로그래밍 학습 및 실전 적용 +- 클라이언트-서버 아키텍처 구현 +- 실시간 네트워크 게임 프로토콜 설계 +- 멀티플레이어 게임 동기화 메커니즘 구현 + +### 핵심 특징 +- **순수 Java TCP 소켓 통신**: 별도의 게임 엔진 없이 Java 표준 라이브러리만 사용 +- **바이너리 프로토콜**: 효율적인 데이터 전송을 위한 커스텀 바이너리 프로토콜 +- **멀티 모듈 구조**: Maven 기반 모듈화 설계 (common, client, server) +- **실시간 동기화**: 스냅샷 기반 플레이어 상태 동기화 및 보간 +- **게임 FSM**: 명확한 게임 상태 관리 (로비 → 투표 → 카운트다운 → 라운드 → 결과) + +--- + +## 기술 스택 + +### 🔧 핵심 기술 + +#### 1. 프로그래밍 언어 +- **Java 17** (LTS) + - 최신 Java 기능 활용 (switch expression, record 등) + - JDK 17의 강력한 타입 시스템과 성능 개선 활용 + +#### 2. 빌드 도구 +- **Apache Maven 3.x** + - 멀티 모듈 프로젝트 관리 + - 의존성 관리 (Dependency Management) + - 라이프사이클 관리 (compile, test, package) + + **주요 플러그인:** + ```xml + - maven-compiler-plugin (3.11.0): Java 17 컴파일 + - maven-surefire-plugin (3.2.5): 단위 테스트 실행 + - maven-jar-plugin (3.3.0): 실행 가능한 JAR 생성 + - exec-maven-plugin (3.1.0): Java 애플리케이션 실행 + ``` + +#### 3. 네트워킹 +- **Java NIO 기반 TCP Socket** + - `java.net.Socket`: 클라이언트 소켓 통신 + - `java.net.ServerSocket`: 서버 소켓 리스닝 + - `DataInputStream/DataOutputStream`: 바이너리 데이터 직렬화/역직렬화 + + **특징:** + - 블로킹 I/O 모델 (별도 스레드 관리) + - 커스텀 프레임 기반 프로토콜 ([길이|opcode|payload]) + - 바이트 레벨 제어로 효율적인 대역폭 사용 + +#### 4. UI 프레임워크 +- **Java Swing** + - 크로스 플랫폼 GUI 구현 + - EDT (Event Dispatch Thread) 기반 스레드 안전성 + - 커스텀 패널 및 컴포넌트 구현 + + **주요 컴포넌트:** + ```java + - JFrame: 메인 윈도우 + - JPanel: 게임 화면, 로비, HUD + - JTextArea: 채팅 인터페이스 + - Custom Canvas: 게임 렌더링 + ``` + +#### 5. 테스트 프레임워크 +- **JUnit 5 (Jupiter) 5.11.0** + - 현대적인 테스트 프레임워크 + - Assertions, Assumptions, Lifecycle 관리 + - 파라미터화 테스트 지원 + +### 📦 의존성 구조 + +``` +comfps-root (parent POM) +├── comfps-common (공통 라이브러리) +│ └── JUnit 5 (test scope) +├── comfps-server (서버) +│ ├── comfps-common (compile) +│ └── JUnit 5 (test scope) +└── comfps-client (클라이언트) + ├── comfps-common (compile) + └── JUnit 5 (test scope) +``` + +**의존성 흐름:** +- Server → Common (프로토콜, 유틸리티 사용) +- Client → Common (프로토콜, 유틸리티 사용) +- Server ↔ Client (독립적, 직접 의존 없음) + +### 🛠 개발 도구 + +- **IDE**: Eclipse / IntelliJ IDEA (프로젝트 파일 포함) +- **버전 관리**: Git +- **문서화**: Markdown (README, PROTOCOL, DESIGN 등) + +--- + +## 프로젝트 구조 + +### 디렉터리 구조 + +``` +fpsGame/ +├── pom.xml # 루트 POM (멀티 모듈 정의) +├── .gitignore # Git 무시 파일 +├── README.md # 프로젝트 소개 +├── PROTOCOL.md # 네트워크 프로토콜 명세 +├── DESIGN.md # 설계 문서 +├── CHARACTER_SPECS.md # 캐릭터/맵 명세 +├── TECH_STACK.md # 기술 스택 상세 (본 문서) +│ +├── comfps-common/ # 공통 모듈 +│ ├── pom.xml +│ └── src/ +│ └── main/java/com/fpsgame/ +│ ├── Protocol.java # 네트워크 프로토콜 +│ ├── GameEnums.java # 공용 열거형 +│ ├── SnapshotV1.java, V2.java # 스냅샷 직렬화 +│ ├── ProjectilesV2.java # 투사체 데이터 +│ ├── Vec2.java, Rect.java # 수학 유틸 +│ ├── World.java, Wall.java # 맵 데이터 +│ └── character/ # 캐릭터 시스템 +│ ├── CharacterBase.java +│ ├── CharacterStats.java +│ └── types/ # 10개 캐릭터 구현 +│ +├── comfps-server/ # 서버 모듈 +│ ├── pom.xml +│ └── src/ +│ └── main/java/com/fpsgame/server/ +│ ├── ServerMain.java # 서버 진입점 +│ ├── GameServer.java # 게임 FSM +│ ├── TcpServer.java # TCP 서버 +│ ├── SessionRegistry.java # 세션 관리 +│ ├── ServerRouter.java # 라우팅 인터페이스 +│ ├── DefaultServerRouter.java # 기본 라우터 +│ ├── LobbyState.java # 로비 상태 +│ ├── MapVoteManager.java # 맵 투표 관리 +│ └── RoundController.java # 라운드 제어 +│ +└── comfps-client/ # 클라이언트 모듈 + ├── pom.xml + └── src/ + └── main/java/com/fpsgame/ + ├── MainLauncher.java # 클라이언트 진입점 + ├── NetClient.java # 네트워크 클라이언트 + ├── model/ # 클라이언트 모델 + │ ├── ClientPhaseModel.java + │ ├── PlayerSnapshotBuffer.java + │ ├── Settings.java + │ └── Keybinds.java + ├── ui/ # UI 컴포넌트 + │ ├── GameFrame.java + │ ├── LobbyPanel.java + │ ├── HudPanel.java + │ ├── ChatPanel.java + │ └── CharacterSelectDialog.java + └── net/ # 네트워크 레이어 + ├── NetClientPhaseBridge.java + └── PhaseFrameAdapter.java +``` + +### 모듈별 역할 + +#### comfps-common (공통 라이브러리) +- **역할**: 클라이언트와 서버가 공통으로 사용하는 코드 +- **내용**: + - 네트워크 프로토콜 정의 및 직렬화/역직렬화 + - 게임 규칙 및 열거형 (Phase, Team, Character, Map) + - 수학 유틸리티 (벡터, 사각형) + - 게임 월드 데이터 구조 + - 캐릭터 베이스 클래스 및 스탯 + +#### comfps-server (서버) +- **역할**: 게임 로직 실행 및 네트워크 동기화 +- **내용**: + - TCP 서버 구현 + - 클라이언트 세션 관리 + - 게임 FSM (Finite State Machine) + - 로비/투표/라운드 로직 + - 브로드캐스트 라우팅 + +#### comfps-client (클라이언트) +- **역할**: 게임 표시 및 사용자 입력 처리 +- **내용**: + - TCP 클라이언트 구현 + - Swing 기반 UI + - 스냅샷 보간 (Interpolation) + - 로컬 입력 처리 및 전송 + - HUD, 로비, 채팅 UI + +--- + +## 공통 모듈 (comfps-common) + +### 📌 핵심 클래스 분석 + +#### 1. Protocol.java - 네트워크 프로토콜의 핵심 + +**목적**: 바이너리 프레임 기반 통신 프로토콜 정의 + +**프레임 구조**: +``` +[4 bytes: length] [1 byte: opcode] [N bytes: payload] +``` + +**주요 Opcode 정의**: +```java +public static final class Opcode { + // 핵심 프로토콜 + public static final byte WELCOME = 0x01; // 서버 환영 + public static final byte CHAT = 0x02; // 채팅 + public static final byte PING = 0x03; // 핑 + public static final byte PONG = 0x04; // 퐁 + public static final byte BYE = 0x05; // 연결 종료 + + // 로비 관련 + public static final byte READY_TOGGLE = 0x10; // 준비 토글 + public static final byte SET_SELECTION = 0x11; // 팀/캐릭터 선택 + public static final byte MAP_VOTE = 0x12; // 맵 투표 + + // 매치 진행 + public static final byte PHASE_UPDATE = 0x20; // 단계 업데이트 + public static final byte COUNTDOWN = 0x21; // 카운트다운 + public static final byte ROUND_RESULT = 0x22; // 라운드 결과 + public static final byte READY_STATUS = 0x23; // 준비 상태 + + // 게임플레이 + public static final byte INPUT = 0x30; // 입력 + public static final byte SNAPSHOT = 0x31; // 스냅샷 + public static final byte PROJECTILES = 0x32; // 투사체 + public static final byte ACTION = 0x33; // 액션 +} +``` + +**핵심 메서드**: + +```java +// 프레임 쓰기 +public static void writeFrame(DataOutput out, byte opcode, byte[] payload) + +// 프레임 읽기 +public static Frame readFrame(DataInput in) + +// 채팅 전송 +public static void sendChat(DataOutput out, String text) + +// 환영 메시지 파싱 +public static Welcome parseWelcome(byte[] payload) + +// 핑/퐁 전송 +public static void sendPing(DataOutput out, long nonce) +public static long parseNonce(byte[] payload) +``` + +**직렬화 유틸리티**: +```java +// 정수 직렬화 (Big Endian) +putInt(ByteArrayOutputStream baos, int v) +getInt(byte[] buf, int off) + +// 문자열 직렬화 (UTF-8, 길이 선행) +putUtf8(ByteArrayOutputStream baos, String s) +getUtf8(byte[] buf, int off) +``` + +**설계 특징**: +- **바이트 레벨 제어**: 네트워크 대역폭 최소화 +- **타입 안전성**: 각 Opcode별 전용 파서/직렬화 함수 +- **확장성**: 새 Opcode 추가 시 기존 코드 영향 최소화 + +--- + +#### 2. GameEnums.java - 게임 규칙 및 열거형 + +**Phase (게임 단계)**: +```java +public enum Phase { + LOBBY, // 대기실 (준비 수집) + VOTE, // 맵 투표 + COUNTDOWN, // 라운드 시작 카운트다운 + ROUND_RUNNING, // 라운드 진행 + ROUND_RESULT, // 라운드 결과 + MATCH_END // 매치 종료 +} +``` + +**Team (팀)**: +```java +public enum Team { + RED("Red"), + BLUE("Blue"); + + public String displayName(); + public static Team fromName(String s); +} +``` + +**CharacterId (캐릭터)**: +```java +public enum CharacterId { + RAVEN, // 돌격병 + PIPER, // 저격수 + BULLDOG, // 중화기병 + SAGE, // 지원가 + GHOST, // 첩보원 + GENERAL, // 지휘관 + TECHNICIAN, // 공병 + WILDCAT, // 샷건 전문가 + SKULL, // 용병 + STEAM, // 특수부대 + SNIPER, // 저격수 (레거시) + TANK; // 탱커 (레거시) + + public String displayName(); + public static CharacterId fromName(String s); +} +``` + +**MapId (맵)**: +```java +public enum MapId { + TERMINAL("Terminal"), // 폐쇄된 창고 + NEON_CITY("Neon City"), // 네온 도시 옥상 + FOREST_OUTPOST("Forest Outpost"); // 고대 사원 + + public String displayName(); + public static MapId fromName(String s); + public static MapId defaultMap(); +} +``` + +**Rules (게임 규칙)**: +```java +public static final class Rules { + public static final int MAX_ROUNDS = 5; // 최대 라운드 + public static final int WINS_TO_TAKE_MATCH = 3; // 승리 조건 (3선승) + public static final int ROUND_COUNTDOWN_SEC = 5; // 카운트다운 시간 +} +``` + +--- + +#### 3. SnapshotV2.java - 플레이어 상태 스냅샷 + +**목적**: 효율적인 플레이어 상태 동기화 + +**Entry 구조**: +```java +public static final class Entry { + public int playerId; // 플레이어 ID + public float x, y; // 위치 + public float aim; // 조준 각도 + public int team; // 팀 (0=RED, 1=BLUE) + public int character; // 캐릭터 ID +} +``` + +**직렬화 형식**: +``` +[4 bytes: count] +for each player: + [4 bytes: id] + [4 bytes: float x] + [4 bytes: float y] + [4 bytes: float aim] + [1 byte: team] + [1 byte: character] +``` + +**핵심 메서드**: +```java +// 스냅샷 직렬화 +public static byte[] serializeToBytes(List entries) + +// 스냅샷 역직렬화 +public static Map parseToMap(byte[] payload) +``` + +**사용 사례**: +- 서버: 매 틱마다 모든 플레이어 상태를 스냅샷으로 브로드캐스트 +- 클라이언트: 수신한 스냅샷을 버퍼에 저장 후 보간하여 부드러운 움직임 구현 + +--- + +#### 4. 캐릭터 시스템 + +**CharacterBase.java - 캐릭터 베이스 클래스**: +```java +public abstract class CharacterBase { + protected CharacterStats stats; // 스탯 + protected float cooldownQ; // Q 스킬 쿨다운 + protected float cooldownE; // E 스킬 쿨다운 + protected float cooldownBasic; // 기본 공격 쿨다운 + + // 스킬 실행 + public abstract void useBasicAttack(GameContext ctx); + public abstract void useSkillE(GameContext ctx); + public abstract void useUltimateQ(GameContext ctx); +} +``` + +**CharacterStats.java - 캐릭터 스탯**: +```java +public final class CharacterStats { + public final int maxHealth; // 최대 체력 + public final float moveSpeed; // 이동 속도 + public final float basicDamage; // 기본 공격 데미지 + public final float basicCooldown; // 기본 공격 쿨타임 + public final float skillECooldown; // E 스킬 쿨타임 + public final float ultimateQCooldown; // Q 궁극기 쿨타임 +} +``` + +**캐릭터 구현 예시 - Raven (돌격병)**: +```java +public class Raven extends CharacterBase { + public Raven() { + super(new CharacterStats( + 150, // maxHealth + 5.0f, // moveSpeed + 15.0f, // basicDamage + 0.15f, // basicCooldown + 8.0f, // skillECooldown (대시) + 45.0f // ultimateQCooldown (광폭화) + )); + } + + @Override + public void useBasicAttack(GameContext ctx) { + // AR 점사 구현 + } + + @Override + public void useSkillE(GameContext ctx) { + // 전술 돌진 (50px 대시) + } + + @Override + public void useUltimateQ(GameContext ctx) { + // 전탄 발사 (사격 속도 2배) + } +} +``` + +--- + +#### 5. 수학 및 유틸리티 + +**Vec2.java - 2D 벡터**: +```java +public final class Vec2 { + public final float x, y; + + public Vec2 add(Vec2 other); + public Vec2 sub(Vec2 other); + public Vec2 mul(float scalar); + public float dot(Vec2 other); + public float length(); + public Vec2 normalize(); +} +``` + +**Rect.java - 2D 사각형 (AABB)**: +```java +public final class Rect { + public final float x, y, w, h; + + public boolean contains(float px, float py); + public boolean intersects(Rect other); +} +``` + +**Mathf.java - 수학 유틸리티**: +```java +public final class Mathf { + public static float lerp(float a, float b, float t); + public static float clamp(float v, float min, float max); + public static float angleDiff(float a, float b); +} +``` + +--- + +## 서버 모듈 (comfps-server) + +### 📌 핵심 클래스 분석 + +#### 1. ServerMain.java - 서버 진입점 + +**주요 흐름**: +```java +public static void main(String[] args) { + // 1. TCP 서버 생성 (포트 7777) + TcpServer tcpServer = new TcpServer(7777); + + // 2. 세션 레지스트리 생성 + SessionRegistry registry = new SessionRegistry(); + + // 3. 게임 서버 생성 + GameServer gameServer = new GameServer(); + + // 4. 로비 훅 설정 (준비, 투표, 선택 처리) + LobbyHooks hooks = new LobbyHooks(registry, gameServer); + + // 5. 라우터 생성 (메시지 라우팅) + DefaultServerRouter router = new DefaultServerRouter( + registry, tcpServer, hooks + ); + + // 6. TCP 서버 시작 (클라이언트 연결 수락) + tcpServer.start(session -> { + registry.register(session); + router.handleSession(session); + }); + + // 7. 게임 서버 틱 루프 시작 (20Hz) + NetTickLoop tickLoop = new NetTickLoop(50); // 50ms = 20Hz + tickLoop.start(() -> gameServer.tick()); + + // 8. 서버 종료 대기 (Ctrl+C 또는 "quit" 입력) + waitForShutdown(); +} +``` + +**LobbyHooks - 로비 이벤트 처리**: +```java +static class LobbyHooks implements DefaultServerRouter.Hooks { + private LobbyState lobbyState; // 준비 상태 + private MapVoteManager voteManager; // 맵 투표 + + @Override + public void onReadyToggle(int sessionId, boolean ready) { + lobbyState.setReady(sessionId, ready); + broadcastReadyStatus(); + } + + @Override + public void onSetSelection(int sessionId, int team, int character) { + registry.setCharacterTeam(sessionId, team); + registry.setCharacterId(sessionId, character); + } + + @Override + public void onMapVote(int sessionId, int mapId) { + voteManager.vote(sessionId, mapId); + checkVoteComplete(); + } +} +``` + +--- + +#### 2. GameServer.java - 게임 FSM (유한 상태 기계) + +**상태 전이도**: +``` +LOBBY → everyoneReady() → VOTE +VOTE → voteComplete() → COUNTDOWN +COUNTDOWN → countdownFinished() → ROUND_RUNNING +ROUND_RUNNING → roundOver() → ROUND_RESULT +ROUND_RESULT → nextRound() → COUNTDOWN or MATCH_END +MATCH_END → (게임 종료) +``` + +**핵심 메서드**: +```java +public void tick() { + switch (currentPhase) { + case LOBBY: + if (everyoneReady.get()) { + transitionTo(Phase.VOTE); + } + break; + + case VOTE: + if (voteComplete.get()) { + transitionTo(Phase.COUNTDOWN); + } + break; + + case COUNTDOWN: + countdownTicks--; + if (countdownTicks <= 0) { + transitionTo(Phase.ROUND_RUNNING); + } + break; + + case ROUND_RUNNING: + // 게임 로직 실행 + if (checkRoundOver()) { + transitionTo(Phase.ROUND_RESULT); + } + break; + + case ROUND_RESULT: + resultDisplayTicks--; + if (resultDisplayTicks <= 0) { + if (matchEnded) { + transitionTo(Phase.MATCH_END); + } else { + transitionTo(Phase.COUNTDOWN); + } + } + break; + } +} +``` + +**조건 함수 주입**: +```java +public void setConditions( + BooleanSupplier everyoneReady, + BooleanSupplier voteComplete, + BooleanSupplier roundOver, + BooleanSupplier matchEnded +) { + this.everyoneReady = everyoneReady; + this.voteComplete = voteComplete; + // ... +} +``` + +--- + +#### 3. TcpServer.java - TCP 서버 구현 + +**서버 소켓 리스닝**: +```java +public void start(Consumer onNewSession) { + ServerSocket serverSocket = new ServerSocket(port); + + // Accept 루프 (별도 스레드) + acceptThread = new Thread(() -> { + while (running.get()) { + try { + Socket clientSocket = serverSocket.accept(); + ServerSession session = new ServerSession( + nextSessionId++, clientSocket + ); + onNewSession.accept(session); + } catch (IOException e) { + // 연결 에러 처리 + } + } + }); + + acceptThread.start(); +} +``` + +--- + +#### 4. SessionRegistry.java - 세션 관리 + +**세션 등록/해제**: +```java +public class SessionRegistry { + private Map sessions = new ConcurrentHashMap<>(); + private Map teamSelection = new ConcurrentHashMap<>(); + private Map characterSelection = new ConcurrentHashMap<>(); + + public void register(ServerSession session) { + sessions.put(session.id(), session); + } + + public void unregister(int sessionId) { + sessions.remove(sessionId); + teamSelection.remove(sessionId); + characterSelection.remove(sessionId); + } + + public void setCharacterTeam(int sessionId, int team) { + teamSelection.put(sessionId, team); + } + + public int getCharacterTeam(int sessionId) { + return teamSelection.getOrDefault(sessionId, -1); + } +} +``` + +--- + +#### 5. DefaultServerRouter.java - 메시지 라우팅 + +**프레임 라우팅**: +```java +public void handleSession(ServerSession session) { + // 환영 메시지 전송 + sendWelcome(session); + + // 프레임 수신 루프 + while (session.isConnected()) { + Protocol.Frame frame = session.readFrame(); + + switch (frame.opcode) { + case Protocol.CHAT: + String text = Protocol.parseChat(frame.payload); + broadcastChat(session.id(), text); + break; + + case Protocol.PING: + long nonce = Protocol.parseNonce(frame.payload); + session.sendPong(nonce); + break; + + case Protocol.READY_TOGGLE: + boolean ready = Protocol.parseReadyToggle(frame.payload); + hooks.onReadyToggle(session.id(), ready); + break; + + case Protocol.SET_SELECTION: + // 팀/캐릭터 선택 처리 + break; + + // ... 기타 opcode 처리 + } + } +} +``` + +**브로드캐스트**: +```java +public void broadcastPhaseUpdate(Phase phase) { + byte[] payload = Protocol.serializePhaseUpdate(phase); + for (ServerSession s : registry.getAllSessions()) { + s.sendFrame(Protocol.PHASE_UPDATE, payload); + } +} +``` + +--- + +## 클라이언트 모듈 (comfps-client) + +### 📌 핵심 클래스 분석 + +#### 1. NetClient.java - 네트워크 클라이언트 + +**연결 관리**: +```java +public synchronized void connect(String host, int port, int timeoutMs) + throws IOException { + + socket = new Socket(); + socket.connect(new InetSocketAddress(host, port), timeoutMs); + socket.setTcpNoDelay(true); // Nagle 알고리즘 비활성화 + + in = new DataInputStream(socket.getInputStream()); + out = new DataOutputStream(socket.getOutputStream()); + + startRxThread(); // 수신 스레드 시작 + + listener.onOpen(this); +} +``` + +**수신 스레드**: +```java +private void startRxThread() { + rxThread = new Thread(() -> { + try { + while (running.get()) { + Protocol.Frame frame = Protocol.readFrame(in); + dispatchFrame(frame); + } + } catch (EOFException e) { + listener.onDisconnected("Server closed connection"); + } catch (IOException e) { + listener.onDisconnected("Connection error: " + e.getMessage()); + } + }); + + rxThread.start(); +} +``` + +**프레임 디스패치**: +```java +private void dispatchFrame(Protocol.Frame frame) { + Runnable task = () -> { + switch (frame.opcode) { + case Protocol.WELCOME: + listener.onWelcome(Protocol.parseWelcome(frame.payload)); + break; + + case Protocol.CHAT: + listener.onChat(Protocol.parseChat(frame.payload)); + break; + + case Protocol.PHASE_UPDATE: + listener.onPhaseUpdate(Protocol.parsePhaseUpdate(frame.payload)); + break; + + case Protocol.SNAPSHOT: + List entries = + SnapshotV2.parseToList(frame.payload); + listener.onSnapshotV2(entries); + break; + + // ... 기타 opcode 처리 + } + }; + + // EDT 디스패치 (Swing 스레드 안전성) + if (dispatchOnEdt) { + SwingUtilities.invokeLater(task); + } else { + task.run(); + } +} +``` + +**전송 메서드**: +```java +public synchronized void sendChat(String text) throws IOException { + Protocol.sendChat(out, text); +} + +public synchronized void sendReadyToggle(boolean ready) throws IOException { + Protocol.sendReadyToggle(out, ready); +} + +public synchronized void sendSetSelection(int team, int character) + throws IOException { + Protocol.sendSetSelection(out, team, character); +} +``` + +--- + +#### 2. PlayerSnapshotBuffer.java - 스냅샷 보간 + +**목적**: 서버에서 받은 스냅샷을 버퍼링하고 보간하여 부드러운 움직임 구현 + +**버퍼 구조**: +```java +public class PlayerSnapshotBuffer { + private static class TimedSnapshot { + long timestampNs; // 수신 시각 (나노초) + Map data; // 플레이어 데이터 + } + + private Deque buffer = new ArrayDeque<>(); + private long interpDelayNs = 100_000_000L; // 100ms 지연 +} +``` + +**스냅샷 추가**: +```java +public void push(byte[] snapshotPayload, long recvNs) { + Map data = SnapshotV2.parseToMap(snapshotPayload); + buffer.addLast(new TimedSnapshot(recvNs, data)); + + // 오래된 스냅샷 제거 (1초 이상) + while (!buffer.isEmpty() && + nowNs - buffer.peekFirst().timestampNs > 1_000_000_000L) { + buffer.removeFirst(); + } +} +``` + +**보간 샘플링**: +```java +public Map sample(long nowNs) { + long targetNs = nowNs - interpDelayNs; // 100ms 과거 시점 + + // targetNs를 둘러싼 두 스냅샷 찾기 + TimedSnapshot before = null, after = null; + for (TimedSnapshot ts : buffer) { + if (ts.timestampNs <= targetNs) { + before = ts; + } else { + after = ts; + break; + } + } + + if (before == null || after == null) { + return before != null ? before.data : after.data; + } + + // 선형 보간 + float t = (targetNs - before.timestampNs) / + (float)(after.timestampNs - before.timestampNs); + + Map result = new HashMap<>(); + for (int playerId : before.data.keySet()) { + Entry e1 = before.data.get(playerId); + Entry e2 = after.data.get(playerId); + + if (e2 != null) { + result.put(playerId, interpolate(e1, e2, t)); + } else { + result.put(playerId, e1); + } + } + + return result; +} + +private Entry interpolate(Entry e1, Entry e2, float t) { + return new Entry( + e1.playerId, + Mathf.lerp(e1.x, e2.x, t), // X 보간 + Mathf.lerp(e1.y, e2.y, t), // Y 보간 + Mathf.lerpAngle(e1.aim, e2.aim, t), // 각도 보간 + e2.team, + e2.character + ); +} +``` + +--- + +#### 3. UI 컴포넌트 + +**GameFrame.java - 메인 프레임**: +```java +public class GameFrame extends JFrame { + private GameCanvas canvas; // 게임 렌더링 + private HudPanel hudPanel; // HUD 오버레이 + private ChatPanel chatPanel; // 채팅 + + public GameFrame() { + setTitle("FPS Game"); + setSize(1280, 720); + setDefaultCloseOperation(EXIT_ON_CLOSE); + + // 레이아웃 구성 + setLayout(new BorderLayout()); + add(canvas, BorderLayout.CENTER); + add(hudPanel, BorderLayout.NORTH); + add(chatPanel, BorderLayout.SOUTH); + } +} +``` + +**LobbyPanel.java - 로비 UI**: +```java +public class LobbyPanel extends JPanel { + private JButton readyButton; + private JComboBox teamSelector; + private JComboBox characterSelector; + private JList playerList; + + public LobbyPanel(NetClient client) { + setLayout(new GridBagLayout()); + + // 준비 버튼 + readyButton.addActionListener(e -> { + boolean newState = !isReady; + client.sendReadyToggle(newState); + isReady = newState; + }); + + // 팀 선택 + teamSelector.addActionListener(e -> { + String team = (String) teamSelector.getSelectedItem(); + int teamId = team.equals("Red") ? 0 : 1; + client.sendSetSelection(teamId, currentCharacter); + }); + } +} +``` + +**HudPanel.java - HUD 표시**: +```java +public class HudPanel extends JPanel { + private JLabel phaseLabel; + private JLabel countdownLabel; + private JLabel scoreLabel; + + public void updatePhase(Phase phase) { + phaseLabel.setText("Phase: " + phase.name()); + } + + public void updateCountdown(int seconds) { + countdownLabel.setText("Starting in: " + seconds); + } + + public void updateScore(int redRounds, int blueRounds) { + scoreLabel.setText( + String.format("Score - Red: %d | Blue: %d", + redRounds, blueRounds) + ); + } +} +``` + +--- + +## 네트워크 프로토콜 + +### 프레임 기반 통신 + +**기본 프레임 구조**: +``` +┌────────────────┬───────────┬──────────────────┐ +│ Length (4B) │ Opcode(1B)│ Payload (N) │ +└────────────────┴───────────┴──────────────────┘ +``` + +### 주요 프로토콜 상세 + +#### 1. WELCOME (0x01) - 서버 환영 +**방향**: Server → Client +**페이로드**: +``` +[4B: myId] [4B: worldW] [4B: worldH] [4B: mapId] +``` +**설명**: 클라이언트 연결 시 플레이어 ID와 월드 정보 전송 + +#### 2. CHAT (0x02) - 채팅 +**방향**: Client ↔ Server ↔ All Clients +**페이로드**: +``` +[2B: textLength] [N bytes: UTF-8 text] +``` +**설명**: 채팅 메시지 브로드캐스트 + +#### 3. PING (0x03) / PONG (0x04) - RTT 측정 +**방향**: Client → Server → Client +**페이로드**: +``` +[8B: nonce (timestamp)] +``` +**설명**: +- 클라이언트가 현재 시각을 nonce로 PING 전송 +- 서버가 동일한 nonce로 PONG 응답 +- 클라이언트가 RTT 계산: `currentTime - nonce` + +#### 4. READY_TOGGLE (0x10) - 준비 토글 +**방향**: Client → Server +**페이로드**: +``` +[1B: ready (0=false, 1=true)] +``` +**설명**: 로비에서 준비 상태 변경 + +#### 5. SET_SELECTION (0x11) - 팀/캐릭터 선택 +**방향**: Client → Server +**페이로드**: +``` +[4B: teamId] [4B: characterId] +``` +**설명**: 플레이어의 팀 및 캐릭터 선택 + +#### 6. MAP_VOTE (0x12) - 맵 투표 +**방향**: Client → Server +**페이로드**: +``` +[4B: mapId] +``` +**설명**: 맵 선택 투표 + +#### 7. PHASE_UPDATE (0x20) - 단계 업데이트 +**방향**: Server → All Clients +**페이로드**: +``` +[4B: phaseCode] +``` +**phaseCode 매핑**: +``` +0 = LOBBY +1 = VOTE +2 = COUNTDOWN +3 = ROUND_RUNNING +4 = ROUND_RESULT +5 = MATCH_END +``` + +#### 8. COUNTDOWN (0x21) - 카운트다운 +**방향**: Server → All Clients +**페이로드**: +``` +[4B: seconds] +``` +**설명**: 라운드 시작 카운트다운 (5→4→3→2→1) + +#### 9. ROUND_RESULT (0x22) - 라운드 결과 +**방향**: Server → All Clients +**페이로드**: +``` +[4B: winnerTeam] [4B: blueRounds] [4B: redRounds] [1B: matchEnded] +``` +**설명**: 라운드 종료 시 승자 및 스코어 전송 + +#### 10. READY_STATUS (0x23) - 준비 상태 +**방향**: Server → All Clients +**페이로드**: +``` +[4B: readyCount] [4B: totalCount] +또는 확장 버전: +[4B: count] +for each player: + [4B: sessionId] [1B: ready] [4B: team] [4B: character] +``` + +#### 11. SNAPSHOT (0x31) - 플레이어 스냅샷 +**방향**: Server → All Clients (20Hz) +**페이로드**: +``` +[4B: playerCount] +for each player: + [4B: playerId] + [4B: float x] + [4B: float y] + [4B: float aim] + [1B: team] + [1B: character] +``` +**설명**: 게임 진행 중 모든 플레이어 상태 동기화 + +#### 12. PROJECTILES (0x32) - 투사체 +**방향**: Server → All Clients +**페이로드**: +``` +[4B: count] +for each projectile: + [4B: id] [4B: float x] [4B: float y] [4B: float vx] [4B: float vy] +``` + +--- + +## 게임 플로우 + +### 전체 흐름도 + +``` + ┌─────────────┐ + │ 서버 시작 │ + └──────┬──────┘ + │ + ┌──────▼──────┐ + ┌────►│ LOBBY │ + │ └──────┬──────┘ + │ │ everyoneReady? + │ │ (인원>=2, 모두 READY, 팀 선택, 밸런스) + │ ┌──────▼──────┐ + │ │ VOTE │ + │ └──────┬──────┘ + │ │ voteComplete? + │ │ (전원 투표 또는 타임아웃) + │ ┌──────▼──────┐ + │ │ COUNTDOWN │◄────┐ + │ └──────┬──────┘ │ + │ │ 5초 경과 │ + │ │ │ + │ ┌──────▼──────┐ │ + │ │ROUND_RUNNING│ │ + │ └──────┬──────┘ │ + │ │ roundOver? │ + │ │ │ + │ ┌──────▼──────┐ │ + │ │ROUND_RESULT │ │ + │ └──────┬──────┘ │ + │ │ │ + │ ├─ matchEnded? No ─┘ + │ │ + │ │ Yes + │ ┌──────▼──────┐ + └─────┤ MATCH_END │ + └──────┬──────┘ + │ 다시 시작 + └──────┐ + │ + (재시작) +``` + +### 단계별 상세 설명 + +#### 1. LOBBY (대기실) +**목적**: 플레이어가 모이고 준비하는 단계 + +**활동**: +- 플레이어 접속 대기 +- 팀 선택 (RED/BLUE) +- 캐릭터 선택 (10종) +- READY 토글 + +**다음 단계 조건**: +```java +총 인원 >= 2 +&& 모두 READY +&& 모든 플레이어 팀 선택 완료 +&& 팀 밸런스: |RED - BLUE| <= 1 +``` + +**클라이언트 UI**: +- 플레이어 목록 표시 (팀, 캐릭터, READY 상태) +- READY 버튼 +- 팀 선택 콤보박스 +- 캐릭터 선택 다이얼로그 + +--- + +#### 2. VOTE (맵 투표) +**목적**: 플레이할 맵 선택 + +**활동**: +- 각 플레이어가 맵 투표 (TERMINAL, NEON_CITY, FOREST_OUTPOST) +- 투표 현황 실시간 표시 + +**다음 단계 조건**: +```java +전원 투표 완료 || 투표 타임아웃 (30초) +``` + +**투표 집계**: +```java +// 다수결 방식 +Map votes = new HashMap<>(); +for (Vote v : allVotes) { + votes.merge(v.mapId, 1, Integer::sum); +} +MapId winner = votes.entrySet().stream() + .max(Map.Entry.comparingByValue()) + .get().getKey(); +``` + +--- + +#### 3. COUNTDOWN (카운트다운) +**목적**: 라운드 시작 준비 + +**활동**: +- 5 → 4 → 3 → 2 → 1 카운트다운 +- 플레이어 스폰 위치 설정 +- 무기/스킬 초기화 + +**다음 단계 조건**: +```java +카운트다운 == 0 +``` + +**클라이언트 UI**: +- 화면 중앙에 큰 숫자 표시 +- "Get Ready!" 메시지 + +--- + +#### 4. ROUND_RUNNING (라운드 진행) +**목적**: 실제 게임 플레이 + +**활동**: +- 플레이어 이동/공격/스킬 사용 +- 스냅샷 브로드캐스트 (20Hz) +- 충돌 감지 및 데미지 처리 +- 승리 조건 확인 + +**승리 조건** (예시): +```java +// 전멸: 한 팀 모두 사망 +Team redAlive = countAlive(Team.RED); +Team blueAlive = countAlive(Team.BLUE); + +if (redAlive == 0) { + winnerTeam = Team.BLUE; +} else if (blueAlive == 0) { + winnerTeam = Team.RED; +} + +// 또는 시간 제한 (5분) +if (elapsedTime > 300_000) { + winnerTeam = getTeamWithMoreHP(); +} +``` + +--- + +#### 5. ROUND_RESULT (라운드 결과) +**목적**: 라운드 결과 표시 및 스코어 갱신 + +**활동**: +- 승리 팀 발표 +- 라운드 스코어 갱신 +- 매치 종료 여부 확인 (3선승) + +**다음 단계 조건**: +```java +if (redRounds >= 3 || blueRounds >= 3) { + matchEnded = true; + nextPhase = MATCH_END; +} else { + nextPhase = COUNTDOWN; // 다음 라운드 +} +``` + +**클라이언트 UI**: +- "Red Team Wins!" / "Blue Team Wins!" +- 스코어보드 (Red 2 - 1 Blue) +- MVP 표시 (킬/데미지 최다) + +--- + +#### 6. MATCH_END (매치 종료) +**목적**: 게임 종료 및 통계 표시 + +**활동**: +- 최종 승자 발표 +- 전체 통계 표시 (킬/데스/어시스트) +- 로비로 복귀 옵션 + +**클라이언트 UI**: +- 최종 스코어 +- 개인 통계 +- "Play Again" 버튼 + +--- + +## 캐릭터 시스템 + +### 캐릭터 목록 및 특징 + +| 캐릭터 | 역할 | 체력 | 이속 | 기본 공격 | E 스킬 | Q 궁극기 | +|--------|------|------|------|-----------|--------|----------| +| **Raven** | 돌격병 | 150 | 5.0 | AR 점사 | 전술 돌진 (50px) | 전탄 발사 (공속 2배) | +| **Piper** | 저격수 | 100 | 4.5 | 저격총 | 레이더 핑 | 궁극 조준 (즉발) | +| **Bulldog** | 중화기병 | 200 | 3.5 | 미니건 | 대형 방패 (3초) | 충격파 (넉백) | +| **Sage** | 지원가 | 120 | 5.0 | SMG | 치유 필드 | 집중 치유 (100%) | +| **Ghost** | 첩보원 | 110 | 5.5 | 소음 권총 | 은신 | 배후 습격 (순간이동) | +| **Wildcat** | 샷건 전문가 | 140 | 4.8 | 자동 샷건 | 쇠약 투척 | 분쇄 사격 (관통) | +| **Technician** | 공병 | 130 | 4.5 | 플라즈마 라이플 | 점착 지뢰 | 자동 포탑 | +| **General** | 지휘관 | 150 | 4.7 | 전술 AR (3점사) | 사기 진작 (버프) | 공중 폭격 | +| **Steam** | 특수부대 | 140 | 5.0 | 하이테크 AR | EMP 수류탄 | 전술 초기화 | +| **Skull** | 용병 | 160 | 4.6 | 전투용 카빈 | 아드레날린 | 생명력 흡수 | + +--- + +## 빌드 및 실행 + +### 🔨 빌드 방법 + +#### 1. 전체 빌드 +```bash +cd /path/to/fpsGame +mvn clean install +``` + +#### 2. 모듈별 빌드 +```bash +# 공통 모듈만 +mvn clean install -pl comfps-common + +# 서버만 +mvn clean install -pl comfps-server + +# 클라이언트만 +mvn clean install -pl comfps-client +``` + +#### 3. 테스트 제외 빌드 +```bash +mvn clean install -DskipTests +``` + +--- + +### 🚀 실행 방법 + +#### 서버 실행 + +**방법 1: Maven exec 플러그인** +```bash +cd comfps-server +mvn exec:java +``` + +**방법 2: JAR 파일 실행** +```bash +cd comfps-server +mvn package +java -jar target/comfps-server-1.0-SNAPSHOT.jar +``` + +**방법 3: IDE에서 실행** +``` +Main Class: com.fpsgame.server.ServerMain +``` + +**서버 포트**: 7777 (기본값) + +--- + +#### 클라이언트 실행 + +**방법 1: Maven exec 플러그인** +```bash +cd comfps-client +mvn exec:java +``` + +**방법 2: JAR 파일 실행** +```bash +cd comfps-client +mvn package +java -jar target/comfps-client-1.0-SNAPSHOT.jar +``` + +**방법 3: IDE에서 실행** +``` +Main Class: com.fpsgame.MainLauncher +``` + +**기본 접속**: localhost:7777 + +--- + +### 🧪 테스트 실행 + +```bash +# 전체 테스트 +mvn test + +# 특정 모듈 테스트 +mvn test -pl comfps-client + +# 특정 테스트 클래스 +mvn test -Dtest=ViewportTransformTest +``` + +--- + +### 📦 배포 준비 + +```bash +# 실행 가능한 JAR 생성 (의존성 포함) +mvn clean package + +# 생성물 위치 +# comfps-server/target/comfps-server-1.0-SNAPSHOT.jar +# comfps-client/target/comfps-client-1.0-SNAPSHOT.jar +``` + +--- + +## 추가 참고 자료 + +### 프로젝트 문서 +- `README.md`: 프로젝트 소개 및 빠른 시작 +- `PROTOCOL.md`: 네트워크 프로토콜 명세서 +- `DESIGN.md`: 설계 문서 및 주차별 계획 +- `CHARACTER_SPECS.md`: 캐릭터 및 맵 상세 명세 +- `RUNNING.md`: 실행 방법 상세 + +### 주요 패키지 구조 +``` +com.fpsgame.common.* # 공통 유틸리티 및 프로토콜 +com.fpsgame.server.* # 서버 로직 +com.fpsgame.client.* # 클라이언트 로직 +com.fpsgame.client.ui.* # UI 컴포넌트 +com.fpsgame.client.model.* # 클라이언트 모델 +com.fpsgame.character.* # 캐릭터 시스템 +``` + +### 코드 스타일 +- **언어**: Java 17 +- **주석**: 한글 (프로젝트 내부용) +- **명명 규칙**: camelCase (변수/메서드), PascalCase (클래스) +- **들여쓰기**: 4 spaces + +--- + +## 🎓 학습 가이드 + +### 초급 - 기본 이해 +1. `Protocol.java` 읽기 → 프레임 구조 이해 +2. `GameEnums.java` 읽기 → 게임 규칙 파악 +3. `ServerMain.main()` 추적 → 서버 흐름 이해 +4. `NetClient.connect()` 추적 → 클라이언트 연결 이해 + +### 중급 - 심화 학습 +1. `GameServer.tick()` 분석 → FSM 패턴 학습 +2. `PlayerSnapshotBuffer` 분석 → 보간 알고리즘 이해 +3. `DefaultServerRouter` 분석 → 메시지 라우팅 패턴 +4. `LobbyPanel` 분석 → Swing UI/EDT 학습 + +### 고급 - 확장 및 최적화 +1. 새 캐릭터 추가하기 +2. 새 맵 구현하기 +3. 프로토콜 최적화 (압축, 델타 인코딩) +4. NIO.2 기반 비동기 서버로 전환 + +--- + +## 📞 문의 및 기여 + +본 프로젝트는 학습 목적으로 제작되었습니다. +이슈 리포팅 및 개선 제안은 GitHub Issues를 이용해주세요. + +**Repository**: https://github.com/khy1121/fpsGame diff --git a/comfps-client/target/classes/assets/characters/Bulldog.png b/comfps-client/target/classes/assets/characters/Bulldog.png index 5747e7c..b1e9e9d 100644 Binary files a/comfps-client/target/classes/assets/characters/Bulldog.png and b/comfps-client/target/classes/assets/characters/Bulldog.png differ diff --git a/comfps-client/target/classes/assets/characters/General.png b/comfps-client/target/classes/assets/characters/General.png index 87aec39..8cca9f0 100644 Binary files a/comfps-client/target/classes/assets/characters/General.png and b/comfps-client/target/classes/assets/characters/General.png differ diff --git a/comfps-client/target/classes/assets/characters/Ghost.png b/comfps-client/target/classes/assets/characters/Ghost.png index fefdcd2..a7bd427 100644 Binary files a/comfps-client/target/classes/assets/characters/Ghost.png and b/comfps-client/target/classes/assets/characters/Ghost.png differ diff --git a/comfps-client/target/classes/assets/characters/Piper.png b/comfps-client/target/classes/assets/characters/Piper.png index 1ec47a2..4a1ddfb 100644 Binary files a/comfps-client/target/classes/assets/characters/Piper.png and b/comfps-client/target/classes/assets/characters/Piper.png differ diff --git a/comfps-client/target/classes/assets/characters/Raven.png b/comfps-client/target/classes/assets/characters/Raven.png index af5ac91..4270f71 100644 Binary files a/comfps-client/target/classes/assets/characters/Raven.png and b/comfps-client/target/classes/assets/characters/Raven.png differ diff --git a/comfps-client/target/classes/assets/characters/Sage.png b/comfps-client/target/classes/assets/characters/Sage.png index baeb645..9852249 100644 Binary files a/comfps-client/target/classes/assets/characters/Sage.png and b/comfps-client/target/classes/assets/characters/Sage.png differ diff --git a/comfps-client/target/classes/assets/characters/Skull.png b/comfps-client/target/classes/assets/characters/Skull.png index 5a5d644..c4224d6 100644 Binary files a/comfps-client/target/classes/assets/characters/Skull.png and b/comfps-client/target/classes/assets/characters/Skull.png differ diff --git a/comfps-client/target/classes/assets/characters/Steam.png b/comfps-client/target/classes/assets/characters/Steam.png index 39e59b1..b8eed7c 100644 Binary files a/comfps-client/target/classes/assets/characters/Steam.png and b/comfps-client/target/classes/assets/characters/Steam.png differ diff --git a/comfps-client/target/classes/assets/characters/Technician.png b/comfps-client/target/classes/assets/characters/Technician.png index 21017a2..361d9f4 100644 Binary files a/comfps-client/target/classes/assets/characters/Technician.png and b/comfps-client/target/classes/assets/characters/Technician.png differ diff --git a/comfps-client/target/classes/assets/characters/Wildcat.png b/comfps-client/target/classes/assets/characters/Wildcat.png index 633f216..eee6ffb 100644 Binary files a/comfps-client/target/classes/assets/characters/Wildcat.png and b/comfps-client/target/classes/assets/characters/Wildcat.png differ diff --git a/comfps-client/target/classes/assets/maps/forestOutpost.png b/comfps-client/target/classes/assets/maps/forestOutpost.png index 4e38a7b..848574c 100644 Binary files a/comfps-client/target/classes/assets/maps/forestOutpost.png and b/comfps-client/target/classes/assets/maps/forestOutpost.png differ diff --git a/comfps-client/target/classes/assets/maps/neonCity.png b/comfps-client/target/classes/assets/maps/neonCity.png index 5088b60..828a580 100644 Binary files a/comfps-client/target/classes/assets/maps/neonCity.png and b/comfps-client/target/classes/assets/maps/neonCity.png differ diff --git a/comfps-client/target/classes/assets/maps/terminal.png b/comfps-client/target/classes/assets/maps/terminal.png index cb3dc83..ad935e8 100644 Binary files a/comfps-client/target/classes/assets/maps/terminal.png and b/comfps-client/target/classes/assets/maps/terminal.png differ diff --git a/comfps-client/target/classes/com/fpsgame/MainLauncher$1.class b/comfps-client/target/classes/com/fpsgame/MainLauncher$1.class index 464cc2b..d837ea4 100644 Binary files a/comfps-client/target/classes/com/fpsgame/MainLauncher$1.class and b/comfps-client/target/classes/com/fpsgame/MainLauncher$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/MainLauncher$2.class b/comfps-client/target/classes/com/fpsgame/MainLauncher$2.class index 9a41410..838e5ce 100644 Binary files a/comfps-client/target/classes/com/fpsgame/MainLauncher$2.class and b/comfps-client/target/classes/com/fpsgame/MainLauncher$2.class differ diff --git a/comfps-client/target/classes/com/fpsgame/MainLauncher$3.class b/comfps-client/target/classes/com/fpsgame/MainLauncher$3.class index 87d7716..f6e33a4 100644 Binary files a/comfps-client/target/classes/com/fpsgame/MainLauncher$3.class and b/comfps-client/target/classes/com/fpsgame/MainLauncher$3.class differ diff --git a/comfps-client/target/classes/com/fpsgame/MainLauncher$4.class b/comfps-client/target/classes/com/fpsgame/MainLauncher$4.class index 823c907..8542b77 100644 Binary files a/comfps-client/target/classes/com/fpsgame/MainLauncher$4.class and b/comfps-client/target/classes/com/fpsgame/MainLauncher$4.class differ diff --git a/comfps-client/target/classes/com/fpsgame/MainLauncher.class b/comfps-client/target/classes/com/fpsgame/MainLauncher.class index 11e8c42..9d68a3a 100644 Binary files a/comfps-client/target/classes/com/fpsgame/MainLauncher.class and b/comfps-client/target/classes/com/fpsgame/MainLauncher.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/AutoReconnect.class b/comfps-client/target/classes/com/fpsgame/client/AutoReconnect.class index 8cea82a..82f5be8 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/AutoReconnect.class and b/comfps-client/target/classes/com/fpsgame/client/AutoReconnect.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ChatCommandHandler.class b/comfps-client/target/classes/com/fpsgame/client/ChatCommandHandler.class index 8c4b90f..645ce8d 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ChatCommandHandler.class and b/comfps-client/target/classes/com/fpsgame/client/ChatCommandHandler.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ClientController$1.class b/comfps-client/target/classes/com/fpsgame/client/ClientController$1.class index f1dbfc7..da916ba 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ClientController$1.class and b/comfps-client/target/classes/com/fpsgame/client/ClientController$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ClientController$2.class b/comfps-client/target/classes/com/fpsgame/client/ClientController$2.class index e855ca3..bb76c3b 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ClientController$2.class and b/comfps-client/target/classes/com/fpsgame/client/ClientController$2.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ClientController$Ui.class b/comfps-client/target/classes/com/fpsgame/client/ClientController$Ui.class index 7889d86..a46da00 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ClientController$Ui.class and b/comfps-client/target/classes/com/fpsgame/client/ClientController$Ui.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ClientController.class b/comfps-client/target/classes/com/fpsgame/client/ClientController.class index 10e7515..351a4bc 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ClientController.class and b/comfps-client/target/classes/com/fpsgame/client/ClientController.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ClientDemoMain.class b/comfps-client/target/classes/com/fpsgame/client/ClientDemoMain.class index 151c174..00ac0e5 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ClientDemoMain.class and b/comfps-client/target/classes/com/fpsgame/client/ClientDemoMain.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ClientLauncher$1.class b/comfps-client/target/classes/com/fpsgame/client/ClientLauncher$1.class index 52360bf..f925815 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ClientLauncher$1.class and b/comfps-client/target/classes/com/fpsgame/client/ClientLauncher$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ClientLauncher.class b/comfps-client/target/classes/com/fpsgame/client/ClientLauncher.class index 8ab3f60..c62f266 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ClientLauncher.class and b/comfps-client/target/classes/com/fpsgame/client/ClientLauncher.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ClientMain$MainFrame$1.class b/comfps-client/target/classes/com/fpsgame/client/ClientMain$MainFrame$1.class index ff2ad54..2a08585 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ClientMain$MainFrame$1.class and b/comfps-client/target/classes/com/fpsgame/client/ClientMain$MainFrame$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ClientMain$MainFrame.class b/comfps-client/target/classes/com/fpsgame/client/ClientMain$MainFrame.class index dedcbfa..313b2fb 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ClientMain$MainFrame.class and b/comfps-client/target/classes/com/fpsgame/client/ClientMain$MainFrame.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ClientMain.class b/comfps-client/target/classes/com/fpsgame/client/ClientMain.class index 3892702..5cc8e68 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ClientMain.class and b/comfps-client/target/classes/com/fpsgame/client/ClientMain.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ClientPhaseBootstrap$1.class b/comfps-client/target/classes/com/fpsgame/client/ClientPhaseBootstrap$1.class index 6959d96..45d8713 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ClientPhaseBootstrap$1.class and b/comfps-client/target/classes/com/fpsgame/client/ClientPhaseBootstrap$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ClientToolsMain.class b/comfps-client/target/classes/com/fpsgame/client/ClientToolsMain.class index 9433132..3cdbdcf 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ClientToolsMain.class and b/comfps-client/target/classes/com/fpsgame/client/ClientToolsMain.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ClientUiBootstrap$1.class b/comfps-client/target/classes/com/fpsgame/client/ClientUiBootstrap$1.class index f131fcc..a729ed0 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ClientUiBootstrap$1.class and b/comfps-client/target/classes/com/fpsgame/client/ClientUiBootstrap$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/MainClient$2.class b/comfps-client/target/classes/com/fpsgame/client/MainClient$2.class new file mode 100644 index 0000000..e5c4914 Binary files /dev/null and b/comfps-client/target/classes/com/fpsgame/client/MainClient$2.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/MainClient$ClientWindow$1.class b/comfps-client/target/classes/com/fpsgame/client/MainClient$ClientWindow$1.class index 1d648c3..d84b43d 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/MainClient$ClientWindow$1.class and b/comfps-client/target/classes/com/fpsgame/client/MainClient$ClientWindow$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/MainClient$ClientWindow$2.class b/comfps-client/target/classes/com/fpsgame/client/MainClient$ClientWindow$2.class index 7e10a00..1edbe6b 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/MainClient$ClientWindow$2.class and b/comfps-client/target/classes/com/fpsgame/client/MainClient$ClientWindow$2.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/MainClient$ClientWindow$3.class b/comfps-client/target/classes/com/fpsgame/client/MainClient$ClientWindow$3.class index d1ff17c..207d92a 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/MainClient$ClientWindow$3.class and b/comfps-client/target/classes/com/fpsgame/client/MainClient$ClientWindow$3.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/MainClient$ClientWindow.class b/comfps-client/target/classes/com/fpsgame/client/MainClient$ClientWindow.class index c9ad1f4..473e88f 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/MainClient$ClientWindow.class and b/comfps-client/target/classes/com/fpsgame/client/MainClient$ClientWindow.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/MainClient$NamedFactory.class b/comfps-client/target/classes/com/fpsgame/client/MainClient$NamedFactory.class index d0b0f37..fb64439 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/MainClient$NamedFactory.class and b/comfps-client/target/classes/com/fpsgame/client/MainClient$NamedFactory.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/MainClient$NetClient.class b/comfps-client/target/classes/com/fpsgame/client/MainClient$NetClient.class index 0778011..c8669fe 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/MainClient$NetClient.class and b/comfps-client/target/classes/com/fpsgame/client/MainClient$NetClient.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/MainClient$Opcode.class b/comfps-client/target/classes/com/fpsgame/client/MainClient$Opcode.class index bc82008..f2bb67b 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/MainClient$Opcode.class and b/comfps-client/target/classes/com/fpsgame/client/MainClient$Opcode.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/MainClient.class b/comfps-client/target/classes/com/fpsgame/client/MainClient.class index ea4b475..abce6b7 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/MainClient.class and b/comfps-client/target/classes/com/fpsgame/client/MainClient.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/NetClient$Listener.class b/comfps-client/target/classes/com/fpsgame/client/NetClient$Listener.class index 397f26f..2678d6c 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/NetClient$Listener.class and b/comfps-client/target/classes/com/fpsgame/client/NetClient$Listener.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/NetClient.class b/comfps-client/target/classes/com/fpsgame/client/NetClient.class index c0ffc7b..bb85361 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/NetClient.class and b/comfps-client/target/classes/com/fpsgame/client/NetClient.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/NetLogger.class b/comfps-client/target/classes/com/fpsgame/client/NetLogger.class index 38e1fca..bc45679 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/NetLogger.class and b/comfps-client/target/classes/com/fpsgame/client/NetLogger.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/NetPlaygroundMain.class b/comfps-client/target/classes/com/fpsgame/client/NetPlaygroundMain.class index e8b95fb..98c63fd 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/NetPlaygroundMain.class and b/comfps-client/target/classes/com/fpsgame/client/NetPlaygroundMain.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/model/ClientInputPump.class b/comfps-client/target/classes/com/fpsgame/client/model/ClientInputPump.class index baf0dbf..614242c 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/model/ClientInputPump.class and b/comfps-client/target/classes/com/fpsgame/client/model/ClientInputPump.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseBus$1.class b/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseBus$1.class index 0a8c060..af8353a 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseBus$1.class and b/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseBus$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseBus$PhaseState.class b/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseBus$PhaseState.class index 4f8c942..4e3f25a 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseBus$PhaseState.class and b/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseBus$PhaseState.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseBus$RoundResult.class b/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseBus$RoundResult.class index bc9de43..51aabd7 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseBus$RoundResult.class and b/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseBus$RoundResult.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseBus.class b/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseBus.class index 732d168..c74a297 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseBus.class and b/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseBus.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseModel$ReadyEvent.class b/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseModel$ReadyEvent.class index ed5d7f1..2cf8db0 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseModel$ReadyEvent.class and b/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseModel$ReadyEvent.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseModel.class b/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseModel.class index 13d8d9b..4b19b85 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseModel.class and b/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseModel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseModelUpdater.class b/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseModelUpdater.class index 8a86a5f..266b05f 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseModelUpdater.class and b/comfps-client/target/classes/com/fpsgame/client/model/ClientPhaseModelUpdater.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/model/Keybinds$Action.class b/comfps-client/target/classes/com/fpsgame/client/model/Keybinds$Action.class index 41629a1..f60ad66 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/model/Keybinds$Action.class and b/comfps-client/target/classes/com/fpsgame/client/model/Keybinds$Action.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/model/PhaseEventLogger.class b/comfps-client/target/classes/com/fpsgame/client/model/PhaseEventLogger.class index 2c8a922..608ec81 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/model/PhaseEventLogger.class and b/comfps-client/target/classes/com/fpsgame/client/model/PhaseEventLogger.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/model/PlayerSnapshotBuffer$Entry.class b/comfps-client/target/classes/com/fpsgame/client/model/PlayerSnapshotBuffer$Entry.class index 19105a3..60ea104 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/model/PlayerSnapshotBuffer$Entry.class and b/comfps-client/target/classes/com/fpsgame/client/model/PlayerSnapshotBuffer$Entry.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/model/PlayerState$Team.class b/comfps-client/target/classes/com/fpsgame/client/model/PlayerState$Team.class index d1635e7..978fa8c 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/model/PlayerState$Team.class and b/comfps-client/target/classes/com/fpsgame/client/model/PlayerState$Team.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/model/PlayerState.class b/comfps-client/target/classes/com/fpsgame/client/model/PlayerState.class index 1171929..1713b83 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/model/PlayerState.class and b/comfps-client/target/classes/com/fpsgame/client/model/PlayerState.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/model/RttMonitor$1.class b/comfps-client/target/classes/com/fpsgame/client/model/RttMonitor$1.class index de0e5aa..a088b6a 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/model/RttMonitor$1.class and b/comfps-client/target/classes/com/fpsgame/client/model/RttMonitor$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/model/Settings.class b/comfps-client/target/classes/com/fpsgame/client/model/Settings.class index 901a02a..feb1477 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/model/Settings.class and b/comfps-client/target/classes/com/fpsgame/client/model/Settings.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/net/NetClientPhaseBridge$MultiSigListenerProxy.class b/comfps-client/target/classes/com/fpsgame/client/net/NetClientPhaseBridge$MultiSigListenerProxy.class index 452eaa5..28ee726 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/net/NetClientPhaseBridge$MultiSigListenerProxy.class and b/comfps-client/target/classes/com/fpsgame/client/net/NetClientPhaseBridge$MultiSigListenerProxy.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/net/NetClientPhaseBridge.class b/comfps-client/target/classes/com/fpsgame/client/net/NetClientPhaseBridge.class index ff9663f..a0d073c 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/net/NetClientPhaseBridge.class and b/comfps-client/target/classes/com/fpsgame/client/net/NetClientPhaseBridge.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/net/PhaseFrameAdapter.class b/comfps-client/target/classes/com/fpsgame/client/net/PhaseFrameAdapter.class index e6bb526..de02692 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/net/PhaseFrameAdapter.class and b/comfps-client/target/classes/com/fpsgame/client/net/PhaseFrameAdapter.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/tools/LobbySandboxFrame.class b/comfps-client/target/classes/com/fpsgame/client/tools/LobbySandboxFrame.class index 7b29fa8..b8c95b6 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/tools/LobbySandboxFrame.class and b/comfps-client/target/classes/com/fpsgame/client/tools/LobbySandboxFrame.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/CenterMessageOverlay$2.class b/comfps-client/target/classes/com/fpsgame/client/ui/CenterMessageOverlay$2.class index a8a44a7..e99f3d8 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/CenterMessageOverlay$2.class and b/comfps-client/target/classes/com/fpsgame/client/ui/CenterMessageOverlay$2.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/CenterMessageOverlay.class b/comfps-client/target/classes/com/fpsgame/client/ui/CenterMessageOverlay.class index b2d728c..5d683d1 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/CenterMessageOverlay.class and b/comfps-client/target/classes/com/fpsgame/client/ui/CenterMessageOverlay.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/CenterMessageOverlayPanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/CenterMessageOverlayPanel.class index 8ad694c..3d82c26 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/CenterMessageOverlayPanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/CenterMessageOverlayPanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectDialog.class b/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectDialog.class index bc371d2..812c612 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectDialog.class and b/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectDialog.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectPanel$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectPanel$1.class index d375523..1e41028 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectPanel$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectPanel$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectPanel$BufferedImageLoader.class b/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectPanel$BufferedImageLoader.class index 32fe7b6..bf29364 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectPanel$BufferedImageLoader.class and b/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectPanel$BufferedImageLoader.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectPanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectPanel.class index f600e80..3b5ce2d 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectPanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectPanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectPhaseBinder.class b/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectPhaseBinder.class index 33cd6e3..19ac5c6 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectPhaseBinder.class and b/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectPhaseBinder.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectUiInstaller.class b/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectUiInstaller.class index f9b0e21..a0fb033 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectUiInstaller.class and b/comfps-client/target/classes/com/fpsgame/client/ui/CharacterSelectUiInstaller.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ChatConsoleFrame$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/ChatConsoleFrame$1.class index b2ad666..7546dfb 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ChatConsoleFrame$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ChatConsoleFrame$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ChatConsoleFrame$2.class b/comfps-client/target/classes/com/fpsgame/client/ui/ChatConsoleFrame$2.class index a50a78b..a554562 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ChatConsoleFrame$2.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ChatConsoleFrame$2.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ChatConsoleFrame$3.class b/comfps-client/target/classes/com/fpsgame/client/ui/ChatConsoleFrame$3.class index 1b4f4da..3bd8c97 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ChatConsoleFrame$3.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ChatConsoleFrame$3.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ChatConsoleFrame.class b/comfps-client/target/classes/com/fpsgame/client/ui/ChatConsoleFrame.class index 3b3e35a..709c694 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ChatConsoleFrame.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ChatConsoleFrame.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ChatDock$2.class b/comfps-client/target/classes/com/fpsgame/client/ui/ChatDock$2.class index 2678872..0b11f72 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ChatDock$2.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ChatDock$2.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ChatDock.class b/comfps-client/target/classes/com/fpsgame/client/ui/ChatDock.class index 52e48da..b2f755d 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ChatDock.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ChatDock.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ChatInputPanel$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/ChatInputPanel$1.class index fd13952..386b8ef 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ChatInputPanel$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ChatInputPanel$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ChatInputPanel$2.class b/comfps-client/target/classes/com/fpsgame/client/ui/ChatInputPanel$2.class index 6828627..064f81b 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ChatInputPanel$2.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ChatInputPanel$2.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ChatInputPanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/ChatInputPanel.class index c0d6b94..eb2152f 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ChatInputPanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ChatInputPanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ChatPanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/ChatPanel.class index 6babe4f..45b93d6 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ChatPanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ChatPanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ChatWindow$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/ChatWindow$1.class index 6b93519..cf5ebcd 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ChatWindow$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ChatWindow$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ChatWindow$2.class b/comfps-client/target/classes/com/fpsgame/client/ui/ChatWindow$2.class index 0952753..c66f67b 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ChatWindow$2.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ChatWindow$2.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ChatWindow.class b/comfps-client/target/classes/com/fpsgame/client/ui/ChatWindow.class index 570d6df..76d31ee 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ChatWindow.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ChatWindow.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ClientApp.class b/comfps-client/target/classes/com/fpsgame/client/ui/ClientApp.class index 8cd7b8e..2898aec 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ClientApp.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ClientApp.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ConnectPanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/ConnectPanel.class index 1857345..574f4c0 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ConnectPanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ConnectPanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ConnectionStatusBar.class b/comfps-client/target/classes/com/fpsgame/client/ui/ConnectionStatusBar.class index e3a912e..1efa77a 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ConnectionStatusBar.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ConnectionStatusBar.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/CountdownOverlayBinder$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/CountdownOverlayBinder$1.class index 8ace56a..dc9cadb 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/CountdownOverlayBinder$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/CountdownOverlayBinder$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/CountdownOverlayBinder.class b/comfps-client/target/classes/com/fpsgame/client/ui/CountdownOverlayBinder.class index 3b6f732..aaccb72 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/CountdownOverlayBinder.class and b/comfps-client/target/classes/com/fpsgame/client/ui/CountdownOverlayBinder.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/EmbeddedChatPanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/EmbeddedChatPanel.class index 79b16c8..f345169 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/EmbeddedChatPanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/EmbeddedChatPanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas$1.class index 639a2b5..e295c3a 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas$2.class b/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas$2.class index aa7e6a7..820d6f0 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas$2.class and b/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas$2.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas$3.class b/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas$3.class index 5d26b57..356fcd2 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas$3.class and b/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas$3.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas$4.class b/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas$4.class index a90f37f..30de326 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas$4.class and b/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas$4.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas.class b/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas.class index d8f2778..51c0007 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas.class and b/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvas.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvasNetDemo$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvasNetDemo$1.class index c69bde6..84d7f8d 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvasNetDemo$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvasNetDemo$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvasNetDemo.class b/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvasNetDemo.class index 07273bf..edf8f25 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvasNetDemo.class and b/comfps-client/target/classes/com/fpsgame/client/ui/GameCanvasNetDemo.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GameFrame$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/GameFrame$1.class index d5199b3..340a02c 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/GameFrame$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/GameFrame$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GameFrame$2.class b/comfps-client/target/classes/com/fpsgame/client/ui/GameFrame$2.class new file mode 100644 index 0000000..e18afa6 Binary files /dev/null and b/comfps-client/target/classes/com/fpsgame/client/ui/GameFrame$2.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GameFrame.class b/comfps-client/target/classes/com/fpsgame/client/ui/GameFrame.class index e6bd284..e0bf548 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/GameFrame.class and b/comfps-client/target/classes/com/fpsgame/client/ui/GameFrame.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GameHudLayer.class b/comfps-client/target/classes/com/fpsgame/client/ui/GameHudLayer.class index 8cefd76..a4ee97e 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/GameHudLayer.class and b/comfps-client/target/classes/com/fpsgame/client/ui/GameHudLayer.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GamePanel$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/GamePanel$1.class new file mode 100644 index 0000000..ca2b4b6 Binary files /dev/null and b/comfps-client/target/classes/com/fpsgame/client/ui/GamePanel$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GamePanel$2.class b/comfps-client/target/classes/com/fpsgame/client/ui/GamePanel$2.class new file mode 100644 index 0000000..17db439 Binary files /dev/null and b/comfps-client/target/classes/com/fpsgame/client/ui/GamePanel$2.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GamePanel$ActionSender.class b/comfps-client/target/classes/com/fpsgame/client/ui/GamePanel$ActionSender.class new file mode 100644 index 0000000..b2c1556 Binary files /dev/null and b/comfps-client/target/classes/com/fpsgame/client/ui/GamePanel$ActionSender.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GamePanel$InputSender.class b/comfps-client/target/classes/com/fpsgame/client/ui/GamePanel$InputSender.class new file mode 100644 index 0000000..b20edff Binary files /dev/null and b/comfps-client/target/classes/com/fpsgame/client/ui/GamePanel$InputSender.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GamePanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/GamePanel.class new file mode 100644 index 0000000..2e8a411 Binary files /dev/null and b/comfps-client/target/classes/com/fpsgame/client/ui/GamePanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame$1.class index ce4c3ad..195e00b 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame$2.class b/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame$2.class index 89747ca..db15062 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame$2.class and b/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame$2.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame$3.class b/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame$3.class index 0b4df6e..d530c70 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame$3.class and b/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame$3.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame$4.class b/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame$4.class index 5ac9beb..886978e 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame$4.class and b/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame$4.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame.class b/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame.class index 90968af..739094b 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame.class and b/comfps-client/target/classes/com/fpsgame/client/ui/GameScreenFrame.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/HudBarPanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/HudBarPanel.class index 08cf624..e411ec8 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/HudBarPanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/HudBarPanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/HudOverlayLayer$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/HudOverlayLayer$1.class index 2053a9b..57b7112 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/HudOverlayLayer$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/HudOverlayLayer$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/HudOverlayLayer.class b/comfps-client/target/classes/com/fpsgame/client/ui/HudOverlayLayer.class index 20f2750..0c1ef10 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/HudOverlayLayer.class and b/comfps-client/target/classes/com/fpsgame/client/ui/HudOverlayLayer.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/HudPanel$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/HudPanel$1.class index 40b5638..338207f 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/HudPanel$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/HudPanel$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/HudPanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/HudPanel.class index 731b402..688266b 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/HudPanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/HudPanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ImageUtil.class b/comfps-client/target/classes/com/fpsgame/client/ui/ImageUtil.class index 0e74dc8..5948686 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ImageUtil.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ImageUtil.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/JoinDialog$Result.class b/comfps-client/target/classes/com/fpsgame/client/ui/JoinDialog$Result.class index f11b0df..462b7db 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/JoinDialog$Result.class and b/comfps-client/target/classes/com/fpsgame/client/ui/JoinDialog$Result.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/JoinDialog.class b/comfps-client/target/classes/com/fpsgame/client/ui/JoinDialog.class index 37fbd7b..e7b33f8 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/JoinDialog.class and b/comfps-client/target/classes/com/fpsgame/client/ui/JoinDialog.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/KeybindEditorPanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/KeybindEditorPanel.class index 798910a..4c527f4 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/KeybindEditorPanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/KeybindEditorPanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/LatencyGraphPanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/LatencyGraphPanel.class index 91e9cd3..26258d1 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/LatencyGraphPanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/LatencyGraphPanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/LatencyIndicator.class b/comfps-client/target/classes/com/fpsgame/client/ui/LatencyIndicator.class index f13d906..fba3a12 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/LatencyIndicator.class and b/comfps-client/target/classes/com/fpsgame/client/ui/LatencyIndicator.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyCenterCoordinator.class b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyCenterCoordinator.class index 60a3429..b048469 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyCenterCoordinator.class and b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyCenterCoordinator.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyCenterStackPanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyCenterStackPanel.class index d0ea924..649e8a5 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyCenterStackPanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyCenterStackPanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyFrame$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyFrame$1.class index 39c9edb..1f503d4 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyFrame$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyFrame$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyFrame.class b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyFrame.class index 488aaff..1d8ec34 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyFrame.class and b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyFrame.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyLayoutInstaller.class b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyLayoutInstaller.class index feae8d5..6b04eb0 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyLayoutInstaller.class and b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyLayoutInstaller.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyPanel$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyPanel$1.class index 88e9145..a6198f6 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyPanel$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyPanel$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyPanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyPanel.class index 2d7ba2b..0132ecc 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyPanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyPanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyPanelReadyBridge.class b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyPanelReadyBridge.class index 64f1589..1f49c84 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyPanelReadyBridge.class and b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyPanelReadyBridge.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyReadyBinder.class b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyReadyBinder.class index 8ce631d..21aba96 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyReadyBinder.class and b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyReadyBinder.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyReadyListModel$Entry.class b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyReadyListModel$Entry.class index 1ed230e..a810dc5 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyReadyListModel$Entry.class and b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyReadyListModel$Entry.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyReadyListModel.class b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyReadyListModel.class index 4c2d892..1167d95 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyReadyListModel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyReadyListModel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyReadyPanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyReadyPanel.class index 728a1e0..73b8bb7 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyReadyPanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyReadyPanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyUiInstaller.class b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyUiInstaller.class index 370febc..98eff4b 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/LobbyUiInstaller.class and b/comfps-client/target/classes/com/fpsgame/client/ui/LobbyUiInstaller.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/MapInfoPanel$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/MapInfoPanel$1.class index e1c728e..f97ed3a 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/MapInfoPanel$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/MapInfoPanel$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/MapInfoPanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/MapInfoPanel.class index 6b3cb60..de791b9 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/MapInfoPanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/MapInfoPanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/MapVotePanel$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/MapVotePanel$1.class index c3c7710..941f236 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/MapVotePanel$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/MapVotePanel$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/MapVotePanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/MapVotePanel.class index 1e71d42..ff4ff24 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/MapVotePanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/MapVotePanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/MapVotePhaseBinder.class b/comfps-client/target/classes/com/fpsgame/client/ui/MapVotePhaseBinder.class index 77315b0..10e07a2 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/MapVotePhaseBinder.class and b/comfps-client/target/classes/com/fpsgame/client/ui/MapVotePhaseBinder.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/MapVoteUiInstaller.class b/comfps-client/target/classes/com/fpsgame/client/ui/MapVoteUiInstaller.class index 7e53308..f073c11 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/MapVoteUiInstaller.class and b/comfps-client/target/classes/com/fpsgame/client/ui/MapVoteUiInstaller.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/MiniConsolePanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/MiniConsolePanel.class index ef3f083..48e1556 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/MiniConsolePanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/MiniConsolePanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/NetDemoFrame.class b/comfps-client/target/classes/com/fpsgame/client/ui/NetDemoFrame.class index 095d103..a925d34 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/NetDemoFrame.class and b/comfps-client/target/classes/com/fpsgame/client/ui/NetDemoFrame.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/NetPlaygroundFrame$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/NetPlaygroundFrame$1.class index b975b63..988b1f4 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/NetPlaygroundFrame$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/NetPlaygroundFrame$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/NetPlaygroundFrame$2.class b/comfps-client/target/classes/com/fpsgame/client/ui/NetPlaygroundFrame$2.class index effbfad..96e60b3 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/NetPlaygroundFrame$2.class and b/comfps-client/target/classes/com/fpsgame/client/ui/NetPlaygroundFrame$2.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/NetPlaygroundFrame.class b/comfps-client/target/classes/com/fpsgame/client/ui/NetPlaygroundFrame.class index 5c3ca49..4dae307 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/NetPlaygroundFrame.class and b/comfps-client/target/classes/com/fpsgame/client/ui/NetPlaygroundFrame.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/NetStatusPanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/NetStatusPanel.class index bdeef84..46089a1 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/NetStatusPanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/NetStatusPanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/OptionsWindow.class b/comfps-client/target/classes/com/fpsgame/client/ui/OptionsWindow.class index 58f6b1d..052fb08 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/OptionsWindow.class and b/comfps-client/target/classes/com/fpsgame/client/ui/OptionsWindow.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/PhaseHudBinder.class b/comfps-client/target/classes/com/fpsgame/client/ui/PhaseHudBinder.class index e1dd492..0fd17f8 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/PhaseHudBinder.class and b/comfps-client/target/classes/com/fpsgame/client/ui/PhaseHudBinder.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/PhaseHudInstaller.class b/comfps-client/target/classes/com/fpsgame/client/ui/PhaseHudInstaller.class index 910b1ec..bfaecd3 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/PhaseHudInstaller.class and b/comfps-client/target/classes/com/fpsgame/client/ui/PhaseHudInstaller.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/PhaseHudPanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/PhaseHudPanel.class index c72b97c..b080292 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/PhaseHudPanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/PhaseHudPanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/PhaseUiInstaller$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/PhaseUiInstaller$1.class index 92ce43b..73ffe98 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/PhaseUiInstaller$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/PhaseUiInstaller$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/PhaseUiInstaller.class b/comfps-client/target/classes/com/fpsgame/client/ui/PhaseUiInstaller.class index 4c782a8..2970e38 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/PhaseUiInstaller.class and b/comfps-client/target/classes/com/fpsgame/client/ui/PhaseUiInstaller.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/PlaygroundFrame$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/PlaygroundFrame$1.class index 11f08fb..4b32ad4 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/PlaygroundFrame$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/PlaygroundFrame$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/PlaygroundFrame$2.class b/comfps-client/target/classes/com/fpsgame/client/ui/PlaygroundFrame$2.class index da5371b..d52f56c 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/PlaygroundFrame$2.class and b/comfps-client/target/classes/com/fpsgame/client/ui/PlaygroundFrame$2.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/PlaygroundFrame$3.class b/comfps-client/target/classes/com/fpsgame/client/ui/PlaygroundFrame$3.class index b2aeca6..563d19a 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/PlaygroundFrame$3.class and b/comfps-client/target/classes/com/fpsgame/client/ui/PlaygroundFrame$3.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/PlaygroundFrame.class b/comfps-client/target/classes/com/fpsgame/client/ui/PlaygroundFrame.class index 1f134cc..413c476 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/PlaygroundFrame.class and b/comfps-client/target/classes/com/fpsgame/client/ui/PlaygroundFrame.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ReadyButton$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/ReadyButton$1.class index 0fac686..c528b9c 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ReadyButton$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ReadyButton$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/ReadyButton.class b/comfps-client/target/classes/com/fpsgame/client/ui/ReadyButton.class index c1b17af..90af6d0 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/ReadyButton.class and b/comfps-client/target/classes/com/fpsgame/client/ui/ReadyButton.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/RoundResultOverlayBinder$1.class b/comfps-client/target/classes/com/fpsgame/client/ui/RoundResultOverlayBinder$1.class index 73179fc..32e0379 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/RoundResultOverlayBinder$1.class and b/comfps-client/target/classes/com/fpsgame/client/ui/RoundResultOverlayBinder$1.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/RoundResultOverlayBinder.class b/comfps-client/target/classes/com/fpsgame/client/ui/RoundResultOverlayBinder.class index 34b6885..15988bc 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/RoundResultOverlayBinder.class and b/comfps-client/target/classes/com/fpsgame/client/ui/RoundResultOverlayBinder.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/SettingsFrame.class b/comfps-client/target/classes/com/fpsgame/client/ui/SettingsFrame.class index 2de4b24..928c100 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/SettingsFrame.class and b/comfps-client/target/classes/com/fpsgame/client/ui/SettingsFrame.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/SettingsPanel.class b/comfps-client/target/classes/com/fpsgame/client/ui/SettingsPanel.class index bacd55d..c682918 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/SettingsPanel.class and b/comfps-client/target/classes/com/fpsgame/client/ui/SettingsPanel.class differ diff --git a/comfps-client/target/classes/com/fpsgame/client/ui/Toast.class b/comfps-client/target/classes/com/fpsgame/client/ui/Toast.class index 6cbe4e1..91cef84 100644 Binary files a/comfps-client/target/classes/com/fpsgame/client/ui/Toast.class and b/comfps-client/target/classes/com/fpsgame/client/ui/Toast.class differ diff --git a/comfps-client/target/comfps-client-1.0-SNAPSHOT.jar b/comfps-client/target/comfps-client-1.0-SNAPSHOT.jar deleted file mode 100644 index 3fc20de..0000000 Binary files a/comfps-client/target/comfps-client-1.0-SNAPSHOT.jar and /dev/null differ diff --git a/comfps-client/target/maven-archiver/pom.properties b/comfps-client/target/maven-archiver/pom.properties deleted file mode 100644 index fac76b6..0000000 --- a/comfps-client/target/maven-archiver/pom.properties +++ /dev/null @@ -1,3 +0,0 @@ -artifactId=comfps-client -groupId=com.fpsgame -version=1.0-SNAPSHOT diff --git a/comfps-client/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/comfps-client/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index b4c59eb..4d7a021 100644 --- a/comfps-client/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/comfps-client/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,198 +1,205 @@ -com\fpsgame\client\ui\LobbyPanel$SimpleDocListener.class -com\fpsgame\client\ui\LobbyReadyListModel.class -com\fpsgame\client\ui\NetDemoFrame.class -com\fpsgame\client\ui\MiniConsolePanel.class -com\fpsgame\client\ui\CharacterSelectPhaseBinder.class -com\fpsgame\client\MainClient$ClientWindow.class -com\fpsgame\client\model\RttMonitor.class -com\fpsgame\client\ClientDemoMain.class -com\fpsgame\client\ClientUiBootstrap.class -com\fpsgame\client\ui\LobbyPanelReadyBridge.class -com\fpsgame\MainLauncher$2.class -com\fpsgame\client\ui\GameCanvas$4.class -com\fpsgame\client\model\ClientPhaseBus$RoundResult.class -com\fpsgame\client\ui\HudPanel$1.class -com\fpsgame\client\ClientMain.class -com\fpsgame\client\ui\HudBarPanel.class -com\fpsgame\client\ui\HudOverlayToggleKeybind.class -com\fpsgame\client\ui\ConnectPanel.class -com\fpsgame\client\ui\Toast$ToastPanel.class -com\fpsgame\client\ui\CharacterSelectUiInstaller.class -com\fpsgame\client\ClientController$1.class -com\fpsgame\client\ui\CenterMessageOverlay$3.class -com\fpsgame\client\ui\NetPlaygroundFrame.class -com\fpsgame\client\net\ReadyToggleSender.class -com\fpsgame\client\ui\CountdownOverlayBinder$1.class -com\fpsgame\client\ui\LatencyGraphPanel.class -com\fpsgame\client\ui\HudOverlayLayer$2.class -com\fpsgame\client\ClientPhaseBootstrap$1.class -com\fpsgame\client\ClientUiBootstrap$1.class -com\fpsgame\client\ui\HudPanel.class -com\fpsgame\client\ui\MapInfoPanel.class -com\fpsgame\client\ui\CenterMessageOverlayPanel.class -com\fpsgame\client\ui\CenterMessageOverlay$4.class -com\fpsgame\client\ui\ClientApp.class -com\fpsgame\client\ui\GameCanvas$3.class -com\fpsgame\client\ui\GameScreenFrame$1.class -com\fpsgame\client\model\PlayerSnapshotBuffer$Entry.class -com\fpsgame\client\net\NetClientPhaseBridge$MultiSigListenerProxy.class -com\fpsgame\client\ui\SettingsPanel.class -com\fpsgame\client\ui\ChatConsoleFrame$1.class -com\fpsgame\client\ui\GameFrame$1.class -com\fpsgame\client\model\PlayerState$Team.class -com\fpsgame\client\ui\NetPlaygroundFrame$2.class -com\fpsgame\client\ui\HudOverlayLayer$1.class -com\fpsgame\client\model\PlayerState.class -com\fpsgame\client\ui\SettingsFrame.class -com\fpsgame\client\ui\HudOverlayLayer.class -com\fpsgame\client\ui\ChatPanel.class -com\fpsgame\client\ui\OptionsWindow$SaveListener.class -com\fpsgame\client\MainClient$ClientConfig.class -com\fpsgame\client\ui\ChatDock$1.class -com\fpsgame\client\ui\LobbyPanel$1.class -com\fpsgame\client\ui\LobbyLayoutInstaller.class -com\fpsgame\client\ui\MapVotePanel$1.class -com\fpsgame\client\ui\KeybindEditorPanel.class -com\fpsgame\client\MainClient$NetClient.class -com\fpsgame\client\net\DemoPayloads.class -com\fpsgame\client\ui\ChatWindow.class -com\fpsgame\client\ClientController$Ui.class -com\fpsgame\client\AutoReconnect.class -com\fpsgame\client\model\Keybinds$Action.class -com\fpsgame\client\model\ClientInputPump.class -com\fpsgame\client\model\ClientPhaseBus.class -com\fpsgame\client\ui\OptionsWindow.class -com\fpsgame\client\ui\GameScreenFrame$4.class -com\fpsgame\client\model\SnapshotBuffer.class -com\fpsgame\client\ui\ChatInputPanel.class -com\fpsgame\client\ui\CenterMessageOverlayPanel$ShadowLabelUI.class -com\fpsgame\client\ui\ConnectPanel$Listener.class -com\fpsgame\client\ui\Toast.class -com\fpsgame\client\ui\GameHudLayer$2.class -com\fpsgame\client\ui\GameCanvasNetDemo$1.class -com\fpsgame\client\ui\CountdownOverlayBinder.class -com\fpsgame\client\ui\LobbyReadyPanel.class -com\fpsgame\client\ui\NetPlaygroundFrame$1.class -com\fpsgame\client\tools\LobbySandboxFrame.class -com\fpsgame\client\ui\PlaygroundFrame$1.class -com\fpsgame\client\model\ClientPhaseBus$PhaseState.class -com\fpsgame\client\ui\GameCanvasNetDemo.class -com\fpsgame\client\model\SnapshotBuffer$S.class -com\fpsgame\client\ui\LatencyIndicator$Dot.class -com\fpsgame\client\ui\LatencyIndicator.class -com\fpsgame\client\ui\ReadyButton$1.class -com\fpsgame\client\ui\PhaseHudBinder.class -com\fpsgame\client\ClientMain$MainFrame$1.class -com\fpsgame\client\ClientLauncher$1.class -com\fpsgame\client\model\ClientInputPump$FloatSupplier.class -com\fpsgame\client\ui\LobbyUiInstaller.class -com\fpsgame\client\ui\ReadyButton$ReadyChangeListener.class -com\fpsgame\client\ui\LobbyReadyListModel$Entry.class -com\fpsgame\client\ui\PhaseUiInstaller.class -com\fpsgame\client\ui\GameHudLayer$1.class -com\fpsgame\client\model\ClientPhaseModel$ReadyEvent.class -com\fpsgame\client\net\SetSelectionSender.class -com\fpsgame\client\ui\ChatDock$2.class -com\fpsgame\client\ui\ImageUtil.class -com\fpsgame\client\ui\PlaygroundFrame$3.class -com\fpsgame\MainLauncher.class -com\fpsgame\client\ClientToolsMain.class -com\fpsgame\client\NetClient$Listener.class -com\fpsgame\client\ui\LobbyCenterStackPanel.class -com\fpsgame\client\ui\NetStatusPanel.class -com\fpsgame\client\model\Viewport.class -com\fpsgame\client\ClientMain$MainFrame.class -com\fpsgame\client\ui\CharacterSelectPanel.class -com\fpsgame\client\ClientPhaseBootstrap.class -com\fpsgame\client\ui\LobbyPanel.class -com\fpsgame\client\ui\KeybindEditorPanel$1.class -com\fpsgame\client\ui\PlaygroundFrame$2.class -com\fpsgame\client\net\NetClientPhaseBridge.class -com\fpsgame\client\ui\GameScreenFrame$3.class -com\fpsgame\client\ui\GameFrame.class -com\fpsgame\client\ui\GameCanvas$1.class -com\fpsgame\client\model\Keybinds$MouseEventProxy.class -com\fpsgame\client\model\PlayerSnapshotBuffer$Shot.class -com\fpsgame\client\ui\RoundResultOverlayBinder$1.class -com\fpsgame\client\model\PlayerSnapshotBuffer$EntryEx.class -com\fpsgame\client\ui\ChatWindow$2.class -com\fpsgame\client\ui\JoinDialog.class -com\fpsgame\client\ui\PhaseHudInstaller.class -com\fpsgame\client\ui\ChatConsoleFrame.class -com\fpsgame\client\ui\GameFrame$RunnableEx.class -com\fpsgame\client\ui\PhaseUiInstaller$1.class -com\fpsgame\client\ui\FpsOverlayPanel.class -com\fpsgame\client\ui\JoinDialog$Result.class -com\fpsgame\client\MainClient.class -com\fpsgame\client\ClientToolsMain$1.class -com\fpsgame\client\ui\MapInfoPanel$1.class -com\fpsgame\client\ui\RoundResultOverlayBinder.class -com\fpsgame\client\model\ClientPhaseModel.class -com\fpsgame\client\net\PhaseFrameAdapter.class -com\fpsgame\client\ui\PlaygroundFrame.class -com\fpsgame\client\ui\ConnectionStatusBar.class -com\fpsgame\client\ui\ChatWindow$1.class -com\fpsgame\client\ui\GameCanvasNetDemo$2.class -com\fpsgame\client\ui\LobbyCenterCoordinator.class -com\fpsgame\client\ui\ChatDock.class -com\fpsgame\client\model\SnapshotBuffer$P.class -com\fpsgame\client\model\PhaseEventLogger.class -com\fpsgame\client\ui\GameHudLayer.class -com\fpsgame\client\ui\CharacterSelectPanel$BufferedImageLoader.class -com\fpsgame\MainLauncher$4.class -com\fpsgame\client\MainClient$ClientWindow$3.class -com\fpsgame\client\PhaseAutoRegister.class -com\fpsgame\client\ui\GameScreenFrame$2.class -com\fpsgame\client\NetClient.class -com\fpsgame\client\model\SnapshotBridge.class -com\fpsgame\client\ui\CharacterSelectPanel$1.class -com\fpsgame\client\ui\LobbyReadyBinder.class -com\fpsgame\client\MainClient$Opcode.class -com\fpsgame\client\ui\PhaseHudPanel.class -com\fpsgame\client\ClientLauncher.class -com\fpsgame\client\model\Keybinds.class -com\fpsgame\client\net\NetClientHooks.class -com\fpsgame\client\NetPlaygroundMain.class -com\fpsgame\client\MainClient$NamedFactory.class -com\fpsgame\client\ui\GameCanvas$2.class -com\fpsgame\client\MainClient$ClientWindow$2.class -com\fpsgame\client\ui\CharacterSelectDialog.class -com\fpsgame\client\model\Settings.class -com\fpsgame\client\ui\LobbyFrame.class -com\fpsgame\client\ui\MapVotePhaseBinder.class -com\fpsgame\client\ui\GameScreenFrame.class -com\fpsgame\client\ui\CenterMessageOverlay$2.class -com\fpsgame\client\ui\LobbyFrame$1.class -com\fpsgame\client\ui\HudOverlayLayer$3.class -com\fpsgame\client\ui\ChatInputPanel$1.class -com\fpsgame\client\ClientController.class -com\fpsgame\client\MainClient$ClientWindow$1.class -com\fpsgame\client\ui\MapVoteUiInstaller.class -com\fpsgame\client\ChatCommandHandler.class -com\fpsgame\client\model\PlayerSnapshotBuffer.class -com\fpsgame\client\model\ClientPhaseBus$1.class -com\fpsgame\client\model\RttMonitor$1.class -com\fpsgame\MainLauncher$3.class -com\fpsgame\client\ui\GameCanvas.class -com\fpsgame\client\ui\ChatConsoleFrame$2.class -com\fpsgame\client\ui\CenterMessageOverlay.class -com\fpsgame\client\NetLogger.class -com\fpsgame\client\ui\ReadyButton.class -com\fpsgame\client\ui\MapVotePanel.class -com\fpsgame\client\ui\ChatConsoleFrame$3.class -com\fpsgame\client\ClientController$2.class -com\fpsgame\client\MainClient$1.class -com\fpsgame\MainLauncher$1.class -com\fpsgame\client\ui\CenterMessageOverlay$1.class -com\fpsgame\client\net\MapVoteSender.class -com\fpsgame\client\ui\HudOverlayToggleKeybind$1.class -com\fpsgame\client\model\ClientInputPump$StateProvider.class -com\fpsgame\client\model\ClientPhaseModelUpdater.class -com\fpsgame\client\model\SettingsStore.class -com\fpsgame\client\model\ClientPhaseBus$PhaseListener.class -com\fpsgame\client\ui\EmbeddedChatPanel.class -com\fpsgame\client\ui\GameCanvasNetDemo$P.class -com\fpsgame\client\ui\SettingsPanel$Format.class -com\fpsgame\client\ui\ChatInputPanel$2.class -com\fpsgame\client\MainClient$NetClient$Listener.class -com\fpsgame\client\model\SnapshotBuffer$RenderPlayer.class +com/fpsgame/client/model/ClientPhaseModel.class +com/fpsgame/client/ui/OptionsWindow$SaveListener.class +com/fpsgame/client/model/PlayerState.class +com/fpsgame/client/ui/SettingsPanel$Format.class +com/fpsgame/client/ui/NetPlaygroundFrame.class +com/fpsgame/client/ui/GamePanel.class +com/fpsgame/client/ui/LobbyReadyListModel$Entry.class +com/fpsgame/client/ui/EmbeddedChatPanel.class +com/fpsgame/client/ui/LobbyPanel$SimpleDocListener.class +com/fpsgame/client/model/SnapshotBuffer$RenderPlayer.class +com/fpsgame/client/model/ClientPhaseBus$PhaseListener.class +com/fpsgame/client/ui/Toast.class +com/fpsgame/client/ui/CountdownOverlayBinder.class +com/fpsgame/client/ui/LatencyGraphPanel.class +com/fpsgame/client/net/ReadyToggleSender.class +com/fpsgame/client/model/PhaseEventLogger.class +com/fpsgame/client/ui/LobbyUiInstaller.class +com/fpsgame/client/ui/HudOverlayLayer$2.class +com/fpsgame/client/model/Keybinds.class +com/fpsgame/client/model/PlayerSnapshotBuffer$Shot.class +com/fpsgame/client/ClientController$Ui.class +com/fpsgame/client/ui/CenterMessageOverlay$2.class +com/fpsgame/client/ui/KeybindEditorPanel$1.class +com/fpsgame/client/ui/PhaseUiInstaller.class +com/fpsgame/client/ui/ChatInputPanel.class +com/fpsgame/client/ui/LobbyPanel.class +com/fpsgame/client/ui/HudOverlayLayer.class +com/fpsgame/client/ClientPhaseBootstrap.class +com/fpsgame/client/model/SettingsStore.class +com/fpsgame/client/ClientMain$MainFrame$1.class +com/fpsgame/client/ui/GameHudLayer$2.class +com/fpsgame/client/ui/GameCanvas$2.class +com/fpsgame/client/model/PlayerSnapshotBuffer.class +com/fpsgame/client/ui/LobbyPanel$1.class +com/fpsgame/client/net/DemoPayloads.class +com/fpsgame/client/ui/GameFrame$RunnableEx.class +com/fpsgame/client/ui/GameCanvasNetDemo.class +com/fpsgame/client/ui/ChatDock$2.class +com/fpsgame/client/ui/GameScreenFrame.class +com/fpsgame/client/ui/JoinDialog.class +com/fpsgame/client/ClientUiBootstrap$1.class +com/fpsgame/client/ui/ChatInputPanel$1.class +com/fpsgame/client/ui/HudOverlayLayer$1.class +com/fpsgame/client/ui/CenterMessageOverlay$3.class +com/fpsgame/client/ui/LobbyFrame$1.class +com/fpsgame/client/model/SnapshotBuffer$P.class +com/fpsgame/client/ui/SettingsPanel.class +com/fpsgame/client/ui/CountdownOverlayBinder$1.class +com/fpsgame/client/ui/MapVotePhaseBinder.class +com/fpsgame/client/ui/CharacterSelectPanel.class +com/fpsgame/client/ui/GameScreenFrame$1.class +com/fpsgame/client/ChatCommandHandler.class +com/fpsgame/client/ui/CharacterSelectUiInstaller.class +com/fpsgame/client/ui/ChatWindow$2.class +com/fpsgame/client/ui/LobbyReadyPanel.class +com/fpsgame/client/ui/HudPanel.class +com/fpsgame/client/NetLogger.class +com/fpsgame/client/ui/ChatConsoleFrame.class +com/fpsgame/client/NetClient$Listener.class +com/fpsgame/client/ui/ChatInputPanel$2.class +com/fpsgame/client/ui/GameScreenFrame$2.class +com/fpsgame/client/ui/ChatWindow$1.class +com/fpsgame/client/MainClient$2.class +com/fpsgame/client/ui/RoundResultOverlayBinder.class +com/fpsgame/client/ui/HudOverlayToggleKeybind.class +com/fpsgame/client/ui/SettingsFrame.class +com/fpsgame/client/ui/CharacterSelectPanel$BufferedImageLoader.class +com/fpsgame/client/ui/PlaygroundFrame$1.class +com/fpsgame/client/model/ClientInputPump$StateProvider.class +com/fpsgame/client/ui/GameCanvas.class +com/fpsgame/client/net/NetClientPhaseBridge$MultiSigListenerProxy.class +com/fpsgame/client/ui/GamePanel$1.class +com/fpsgame/client/ClientToolsMain$1.class +com/fpsgame/client/ui/GamePanel$InputSender.class +com/fpsgame/client/model/PlayerSnapshotBuffer$Entry.class +com/fpsgame/client/ui/ChatDock.class +com/fpsgame/client/ui/MapVoteUiInstaller.class +com/fpsgame/client/ui/CharacterSelectPhaseBinder.class +com/fpsgame/client/net/NetClientPhaseBridge.class +com/fpsgame/client/ui/ConnectionStatusBar.class +com/fpsgame/client/ui/ReadyButton$1.class +com/fpsgame/client/ui/PlaygroundFrame$3.class +com/fpsgame/client/MainClient$NetClient.class +com/fpsgame/client/ui/PhaseHudBinder.class +com/fpsgame/client/ui/GameScreenFrame$4.class +com/fpsgame/client/ui/HudOverlayToggleKeybind$1.class +com/fpsgame/client/model/Viewport.class +com/fpsgame/client/model/ClientPhaseBus$PhaseState.class +com/fpsgame/client/model/SnapshotBuffer$S.class +com/fpsgame/client/ui/GameCanvasNetDemo$1.class +com/fpsgame/client/ui/PhaseUiInstaller$1.class +com/fpsgame/client/NetPlaygroundMain.class +com/fpsgame/client/ui/GameHudLayer$1.class +com/fpsgame/client/MainClient.class +com/fpsgame/client/ui/NetStatusPanel.class +com/fpsgame/client/ClientLauncher$1.class +com/fpsgame/client/ui/MapVotePanel.class +com/fpsgame/client/ui/CharacterSelectDialog.class +com/fpsgame/client/ui/ConnectPanel.class +com/fpsgame/client/MainClient$Opcode.class +com/fpsgame/client/ui/PlaygroundFrame.class +com/fpsgame/client/ui/PlaygroundFrame$2.class +com/fpsgame/client/ui/GameCanvasNetDemo$2.class +com/fpsgame/client/model/RttMonitor.class +com/fpsgame/client/ui/MapInfoPanel.class +com/fpsgame/client/ui/MapVotePanel$1.class +com/fpsgame/client/ClientMain$MainFrame.class +com/fpsgame/client/ui/CenterMessageOverlayPanel.class +com/fpsgame/client/ui/GamePanel$2.class +com/fpsgame/client/MainClient$ClientWindow$2.class +com/fpsgame/client/model/PlayerSnapshotBuffer$EntryEx.class +com/fpsgame/client/ClientController$2.class +com/fpsgame/client/ui/ChatConsoleFrame$3.class +com/fpsgame/client/ui/NetPlaygroundFrame$2.class +com/fpsgame/client/ui/HudBarPanel.class +com/fpsgame/client/ui/CenterMessageOverlay.class +com/fpsgame/client/net/PhaseFrameAdapter.class +com/fpsgame/client/MainClient$NetClient$Listener.class +com/fpsgame/client/ui/GameFrame$2.class +com/fpsgame/client/ui/ReadyButton.class +com/fpsgame/client/ui/CenterMessageOverlayPanel$ShadowLabelUI.class +com/fpsgame/client/AutoReconnect.class +com/fpsgame/client/ClientLauncher.class +com/fpsgame/client/model/ClientInputPump$FloatSupplier.class +com/fpsgame/client/ui/PhaseHudInstaller.class +com/fpsgame/client/ui/GameScreenFrame$3.class +com/fpsgame/client/ClientPhaseBootstrap$1.class +com/fpsgame/client/ClientUiBootstrap.class +com/fpsgame/client/model/ClientPhaseModel$ReadyEvent.class +com/fpsgame/MainLauncher$1.class +com/fpsgame/client/ui/HudPanel$1.class +com/fpsgame/client/ui/ImageUtil.class +com/fpsgame/client/ui/GameCanvasNetDemo$P.class +com/fpsgame/client/ui/MiniConsolePanel.class +com/fpsgame/client/tools/LobbySandboxFrame.class +com/fpsgame/client/ui/LobbyPanelReadyBridge.class +com/fpsgame/client/ui/RoundResultOverlayBinder$1.class +com/fpsgame/client/ui/NetDemoFrame.class +com/fpsgame/client/ClientDemoMain.class +com/fpsgame/client/ui/CenterMessageOverlay$4.class +com/fpsgame/client/net/SetSelectionSender.class +com/fpsgame/client/ui/LatencyIndicator$Dot.class +com/fpsgame/client/ui/LobbyReadyListModel.class +com/fpsgame/client/ui/OptionsWindow.class +com/fpsgame/client/ui/GameCanvas$4.class +com/fpsgame/client/ui/KeybindEditorPanel.class +com/fpsgame/client/ui/LobbyFrame.class +com/fpsgame/client/model/SnapshotBridge.class +com/fpsgame/client/net/MapVoteSender.class +com/fpsgame/client/MainClient$1.class +com/fpsgame/client/MainClient$ClientWindow$3.class +com/fpsgame/client/ui/ChatDock$1.class +com/fpsgame/client/ui/GamePanel$ActionSender.class +com/fpsgame/client/ui/CharacterSelectPanel$1.class +com/fpsgame/client/ui/Toast$ToastPanel.class +com/fpsgame/client/ui/LobbyLayoutInstaller.class +com/fpsgame/client/ui/PhaseHudPanel.class +com/fpsgame/client/ClientMain.class +com/fpsgame/client/ui/ChatWindow.class +com/fpsgame/client/ui/HudOverlayLayer$3.class +com/fpsgame/client/model/PlayerState$Team.class +com/fpsgame/client/ClientToolsMain.class +com/fpsgame/client/ui/GameFrame$1.class +com/fpsgame/client/ui/GameCanvas$3.class +com/fpsgame/client/ui/ChatConsoleFrame$2.class +com/fpsgame/client/ui/GameHudLayer.class +com/fpsgame/MainLauncher$2.class +com/fpsgame/client/MainClient$NamedFactory.class +com/fpsgame/client/ui/LatencyIndicator.class +com/fpsgame/client/ui/LobbyReadyBinder.class +com/fpsgame/client/NetClient.class +com/fpsgame/client/model/ClientPhaseBus.class +com/fpsgame/client/ui/LobbyCenterCoordinator.class +com/fpsgame/client/model/SnapshotBuffer.class +com/fpsgame/client/ui/LobbyCenterStackPanel.class +com/fpsgame/client/ui/GameFrame.class +com/fpsgame/client/ui/NetPlaygroundFrame$1.class +com/fpsgame/client/ui/ReadyButton$ReadyChangeListener.class +com/fpsgame/client/model/ClientPhaseBus$RoundResult.class +com/fpsgame/client/ui/MapInfoPanel$1.class +com/fpsgame/client/ClientController.class +com/fpsgame/client/model/ClientPhaseBus$1.class +com/fpsgame/client/model/RttMonitor$1.class +com/fpsgame/client/model/ClientPhaseModelUpdater.class +com/fpsgame/client/model/Keybinds$Action.class +com/fpsgame/MainLauncher$4.class +com/fpsgame/client/model/ClientInputPump.class +com/fpsgame/client/MainClient$ClientWindow$1.class +com/fpsgame/client/ui/JoinDialog$Result.class +com/fpsgame/client/MainClient$ClientConfig.class +com/fpsgame/client/net/NetClientHooks.class +com/fpsgame/client/model/Settings.class +com/fpsgame/client/ui/GameCanvas$1.class +com/fpsgame/client/MainClient$ClientWindow.class +com/fpsgame/client/model/Keybinds$MouseEventProxy.class +com/fpsgame/client/ui/ChatPanel.class +com/fpsgame/client/ClientController$1.class +com/fpsgame/client/ui/CenterMessageOverlay$1.class +com/fpsgame/client/ui/FpsOverlayPanel.class +com/fpsgame/client/PhaseAutoRegister.class +com/fpsgame/client/ui/ChatConsoleFrame$1.class +com/fpsgame/MainLauncher.class +com/fpsgame/client/ui/ConnectPanel$Listener.class +com/fpsgame/client/ui/ClientApp.class +com/fpsgame/MainLauncher$3.class diff --git a/comfps-client/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/comfps-client/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 74d0498..4f4d153 100644 --- a/comfps-client/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/comfps-client/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,98 +1,99 @@ -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\client\MainLauncher.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\client\ui\LobbyFrame.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\NetDemoFrame.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\SettingsPanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\ChatConsoleFrame.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\model\ClientPhaseBus.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\FpsOverlayPanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\tools\LobbySandboxFrame.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\PhaseHudInstaller.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\GameScreenFrame.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\HudBarPanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\LobbyPanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\Toast.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ClientMain.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\MapVotePhaseBinder.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ClientLauncher.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\CenterMessageOverlayPanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ClientController.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\model\Viewport.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\MiniConsolePanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\GameFrame.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\KeybindEditorPanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\ChatInputPanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\PhaseHudBinder.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\net\MapVoteSender.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\LatencyGraphPanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\GameCanvasNetDemo.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\MainClient.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\ChatDock.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\ConnectionStatusBar.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\LobbyUiInstaller.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\net\ReadyToggleSender.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\PlaygroundFrame.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\HudOverlayLayer.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\NetPlaygroundFrame.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\client\ui\MapInfoPanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\NetStatusPanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\NetLogger.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\LobbyReadyBinder.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\NetClient.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\MainLauncher.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\model\SettingsStore.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\RoundResultOverlayBinder.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\OptionsWindow.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\CharacterSelectDialog.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\client\ui\ImageUtil.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\model\PlayerSnapshotBuffer.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\client\ui\ChatPanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\ReadyButton.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\LobbyCenterStackPanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ClientToolsMain.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ClientPhaseBootstrap.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\LobbyCenterCoordinator.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\model\ClientPhaseModel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\client\PhaseAutoRegister.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\AutoReconnect.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\MapVoteUiInstaller.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\net\NetClientHooks.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\LobbyReadyListModel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\CharacterSelectUiInstaller.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\GameHudLayer.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\CharacterSelectPhaseBinder.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\GameCanvas.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\model\Settings.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\SettingsFrame.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\model\PhaseEventLogger.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\model\PlayerState.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\ConnectPanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\net\DemoPayloads.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\HudOverlayToggleKeybind.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\PhaseUiInstaller.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\ClientApp.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ClientDemoMain.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\model\ClientInputPump.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\MapVotePanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\LobbyLayoutInstaller.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\client\ui\ChatWindow.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\LobbyPanelReadyBridge.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\NetPlaygroundMain.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\PhaseHudPanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\HudPanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\model\RttMonitor.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ClientUiBootstrap.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\model\ClientPhaseModelUpdater.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\model\SnapshotBridge.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\model\SnapshotBuffer.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\LobbyReadyPanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\net\NetClientPhaseBridge.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\model\Keybinds.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\net\SetSelectionSender.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\CountdownOverlayBinder.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\client\ui\CharacterSelectPanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\CenterMessageOverlay.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\LatencyIndicator.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\EmbeddedChatPanel.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ui\JoinDialog.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\net\PhaseFrameAdapter.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\main\java\com\fpsgame\ChatCommandHandler.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ChatCommandHandler.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/PhaseHudBinder.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/LobbyReadyPanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/ChatConsoleFrame.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/RoundResultOverlayBinder.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/ClientApp.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/PlaygroundFrame.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/OptionsWindow.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/LobbyReadyBinder.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/client/ui/ChatPanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/PhaseUiInstaller.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/LobbyPanelReadyBridge.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ClientLauncher.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/model/Keybinds.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/model/PhaseEventLogger.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/PhaseHudInstaller.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/SettingsPanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/net/PhaseFrameAdapter.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/model/SnapshotBuffer.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/FpsOverlayPanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/MiniConsolePanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/ConnectionStatusBar.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/model/RttMonitor.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/model/Viewport.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/model/ClientPhaseModelUpdater.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/net/NetClientPhaseBridge.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/client/ui/LobbyFrame.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/LatencyGraphPanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/CenterMessageOverlay.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/KeybindEditorPanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/NetDemoFrame.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ClientUiBootstrap.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/ChatDock.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/SettingsFrame.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/client/ui/ImageUtil.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/net/DemoPayloads.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/NetClient.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/CountdownOverlayBinder.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/client/ui/MapInfoPanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/EmbeddedChatPanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/LobbyUiInstaller.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/NetLogger.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/HudOverlayLayer.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/GameScreenFrame.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/NetStatusPanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/client/MainLauncher.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/HudBarPanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/LobbyLayoutInstaller.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/Toast.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/HudOverlayToggleKeybind.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ClientController.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/MapVotePhaseBinder.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ClientMain.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/MapVoteUiInstaller.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ClientToolsMain.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/model/SnapshotBridge.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/HudPanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/NetPlaygroundFrame.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ClientPhaseBootstrap.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/model/SettingsStore.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/client/ui/ChatWindow.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/MapVotePanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/net/SetSelectionSender.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/model/Settings.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/net/ReadyToggleSender.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ClientDemoMain.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/model/PlayerSnapshotBuffer.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/MainClient.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/CharacterSelectDialog.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/model/PlayerState.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/model/ClientPhaseBus.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/AutoReconnect.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/client/ui/GamePanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/LobbyReadyListModel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/NetPlaygroundMain.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/CharacterSelectPhaseBinder.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/ChatInputPanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/GameCanvas.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/ReadyButton.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/LatencyIndicator.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/ConnectPanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/LobbyCenterCoordinator.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/GameHudLayer.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/JoinDialog.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/model/ClientPhaseModel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/GameCanvasNetDemo.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/LobbyPanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/CharacterSelectUiInstaller.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/LobbyCenterStackPanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/MainLauncher.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/tools/LobbySandboxFrame.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/client/ui/CharacterSelectPanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/client/PhaseAutoRegister.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/GameFrame.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/CenterMessageOverlayPanel.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/net/NetClientHooks.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/net/MapVoteSender.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/model/ClientInputPump.java +/home/runner/work/fpsGame/fpsGame/comfps-client/src/main/java/com/fpsgame/ui/PhaseHudPanel.java diff --git a/comfps-client/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/comfps-client/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst deleted file mode 100644 index bc81971..0000000 --- a/comfps-client/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +++ /dev/null @@ -1 +0,0 @@ -com\fpsgame\client\model\ViewportTransformTest.class diff --git a/comfps-client/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/comfps-client/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst deleted file mode 100644 index b61d946..0000000 --- a/comfps-client/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +++ /dev/null @@ -1 +0,0 @@ -C:\Users\rlagj\eclipse-workspace\comfps\comfps-client\src\test\java\com\fpsgame\client\model\ViewportTransformTest.java diff --git a/comfps-client/target/test-classes/com/fpsgame/client/model/ViewportTransformTest.class b/comfps-client/target/test-classes/com/fpsgame/client/model/ViewportTransformTest.class deleted file mode 100644 index 92ac4b0..0000000 Binary files a/comfps-client/target/test-classes/com/fpsgame/client/model/ViewportTransformTest.class and /dev/null differ diff --git a/comfps-common/target/classes/com/fpsgame/common/Binary.class b/comfps-common/target/classes/com/fpsgame/common/Binary.class index ccc6828..214d8c3 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/Binary.class and b/comfps-common/target/classes/com/fpsgame/common/Binary.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/BitPacker.class b/comfps-common/target/classes/com/fpsgame/common/BitPacker.class index 2ad966b..24d3b33 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/BitPacker.class and b/comfps-common/target/classes/com/fpsgame/common/BitPacker.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/CooldownTimer.class b/comfps-common/target/classes/com/fpsgame/common/CooldownTimer.class index e8ce739..bc89919 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/CooldownTimer.class and b/comfps-common/target/classes/com/fpsgame/common/CooldownTimer.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/Debouncer$1.class b/comfps-common/target/classes/com/fpsgame/common/Debouncer$1.class index ebfd562..a78c4be 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/Debouncer$1.class and b/comfps-common/target/classes/com/fpsgame/common/Debouncer$1.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/FixedTickRunner.class b/comfps-common/target/classes/com/fpsgame/common/FixedTickRunner.class index 574d2e4..6b3729c 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/FixedTickRunner.class and b/comfps-common/target/classes/com/fpsgame/common/FixedTickRunner.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/GameEnums$1.class b/comfps-common/target/classes/com/fpsgame/common/GameEnums$1.class new file mode 100644 index 0000000..db2079a Binary files /dev/null and b/comfps-common/target/classes/com/fpsgame/common/GameEnums$1.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/GameEnums$CharacterId.class b/comfps-common/target/classes/com/fpsgame/common/GameEnums$CharacterId.class index 614e966..02ea945 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/GameEnums$CharacterId.class and b/comfps-common/target/classes/com/fpsgame/common/GameEnums$CharacterId.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/GameEnums$MapId.class b/comfps-common/target/classes/com/fpsgame/common/GameEnums$MapId.class index 9ab13a3..0144c16 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/GameEnums$MapId.class and b/comfps-common/target/classes/com/fpsgame/common/GameEnums$MapId.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/GameEnums$Phase.class b/comfps-common/target/classes/com/fpsgame/common/GameEnums$Phase.class index f47d45e..f6ff0fb 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/GameEnums$Phase.class and b/comfps-common/target/classes/com/fpsgame/common/GameEnums$Phase.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/GameEnums$Team.class b/comfps-common/target/classes/com/fpsgame/common/GameEnums$Team.class index 383fe80..820f61d 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/GameEnums$Team.class and b/comfps-common/target/classes/com/fpsgame/common/GameEnums$Team.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/GameEnums.class b/comfps-common/target/classes/com/fpsgame/common/GameEnums.class index 1886f38..96e9b81 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/GameEnums.class and b/comfps-common/target/classes/com/fpsgame/common/GameEnums.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/Mathf.class b/comfps-common/target/classes/com/fpsgame/common/Mathf.class index a30c9aa..6b28f38 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/Mathf.class and b/comfps-common/target/classes/com/fpsgame/common/Mathf.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/PlayerNet$Input.class b/comfps-common/target/classes/com/fpsgame/common/PlayerNet$Input.class index 3dcf31f..125e8d4 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/PlayerNet$Input.class and b/comfps-common/target/classes/com/fpsgame/common/PlayerNet$Input.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/ProjectilesV2.class b/comfps-common/target/classes/com/fpsgame/common/ProjectilesV2.class index dff554c..653ef98 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/ProjectilesV2.class and b/comfps-common/target/classes/com/fpsgame/common/ProjectilesV2.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/Protocol$Frame.class b/comfps-common/target/classes/com/fpsgame/common/Protocol$Frame.class index e7556ae..ec136d3 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/Protocol$Frame.class and b/comfps-common/target/classes/com/fpsgame/common/Protocol$Frame.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/Protocol$Opcode.class b/comfps-common/target/classes/com/fpsgame/common/Protocol$Opcode.class index 8c28523..3e89061 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/Protocol$Opcode.class and b/comfps-common/target/classes/com/fpsgame/common/Protocol$Opcode.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/Protocol$Pair.class b/comfps-common/target/classes/com/fpsgame/common/Protocol$Pair.class index e03b9ec..e166da1 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/Protocol$Pair.class and b/comfps-common/target/classes/com/fpsgame/common/Protocol$Pair.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/Protocol$PlayerInfo.class b/comfps-common/target/classes/com/fpsgame/common/Protocol$PlayerInfo.class index 760cb87..827331f 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/Protocol$PlayerInfo.class and b/comfps-common/target/classes/com/fpsgame/common/Protocol$PlayerInfo.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/Protocol$ReadyStatus.class b/comfps-common/target/classes/com/fpsgame/common/Protocol$ReadyStatus.class index df00302..d2b9654 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/Protocol$ReadyStatus.class and b/comfps-common/target/classes/com/fpsgame/common/Protocol$ReadyStatus.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/Protocol$RoundResult.class b/comfps-common/target/classes/com/fpsgame/common/Protocol$RoundResult.class index c667dbf..a9d1d8d 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/Protocol$RoundResult.class and b/comfps-common/target/classes/com/fpsgame/common/Protocol$RoundResult.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/Protocol$SafeSender.class b/comfps-common/target/classes/com/fpsgame/common/Protocol$SafeSender.class index 7e80dd0..c5784bc 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/Protocol$SafeSender.class and b/comfps-common/target/classes/com/fpsgame/common/Protocol$SafeSender.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/Protocol$Selection.class b/comfps-common/target/classes/com/fpsgame/common/Protocol$Selection.class index 833dd5d..b35bc44 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/Protocol$Selection.class and b/comfps-common/target/classes/com/fpsgame/common/Protocol$Selection.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/Protocol$Welcome.class b/comfps-common/target/classes/com/fpsgame/common/Protocol$Welcome.class index 1a31180..e52bfd1 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/Protocol$Welcome.class and b/comfps-common/target/classes/com/fpsgame/common/Protocol$Welcome.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/Protocol.class b/comfps-common/target/classes/com/fpsgame/common/Protocol.class index 383a356..9e7eade 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/Protocol.class and b/comfps-common/target/classes/com/fpsgame/common/Protocol.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/Rect.class b/comfps-common/target/classes/com/fpsgame/common/Rect.class index 23d1a59..01223f8 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/Rect.class and b/comfps-common/target/classes/com/fpsgame/common/Rect.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/SnapshotV1$Entry.class b/comfps-common/target/classes/com/fpsgame/common/SnapshotV1$Entry.class index f4bbe2c..ce49517 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/SnapshotV1$Entry.class and b/comfps-common/target/classes/com/fpsgame/common/SnapshotV1$Entry.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/SnapshotV1.class b/comfps-common/target/classes/com/fpsgame/common/SnapshotV1.class index 55e81eb..59e6de2 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/SnapshotV1.class and b/comfps-common/target/classes/com/fpsgame/common/SnapshotV1.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/SnapshotV2.class b/comfps-common/target/classes/com/fpsgame/common/SnapshotV2.class index d2e3612..8ae6f20 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/SnapshotV2.class and b/comfps-common/target/classes/com/fpsgame/common/SnapshotV2.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/Stopwatch.class b/comfps-common/target/classes/com/fpsgame/common/Stopwatch.class index 4ad1f46..3ee0d78 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/Stopwatch.class and b/comfps-common/target/classes/com/fpsgame/common/Stopwatch.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/Threads$NamedThreadFactory.class b/comfps-common/target/classes/com/fpsgame/common/Threads$NamedThreadFactory.class index 307043b..5cacb27 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/Threads$NamedThreadFactory.class and b/comfps-common/target/classes/com/fpsgame/common/Threads$NamedThreadFactory.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/Vec2.class b/comfps-common/target/classes/com/fpsgame/common/Vec2.class index d2cc23e..ce403f0 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/Vec2.class and b/comfps-common/target/classes/com/fpsgame/common/Vec2.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/character/sound/FootstepSound.class b/comfps-common/target/classes/com/fpsgame/common/character/sound/FootstepSound.class index 37ca695..d4a640c 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/character/sound/FootstepSound.class and b/comfps-common/target/classes/com/fpsgame/common/character/sound/FootstepSound.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/character/sound/SkillSound.class b/comfps-common/target/classes/com/fpsgame/common/character/sound/SkillSound.class index 4cea297..1ea38d0 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/character/sound/SkillSound.class and b/comfps-common/target/classes/com/fpsgame/common/character/sound/SkillSound.class differ diff --git a/comfps-common/target/classes/com/fpsgame/common/character/visual/ParticleType.class b/comfps-common/target/classes/com/fpsgame/common/character/visual/ParticleType.class index d60dc33..a88b40a 100644 Binary files a/comfps-common/target/classes/com/fpsgame/common/character/visual/ParticleType.class and b/comfps-common/target/classes/com/fpsgame/common/character/visual/ParticleType.class differ diff --git a/comfps-common/target/comfps-common-1.0-SNAPSHOT.jar b/comfps-common/target/comfps-common-1.0-SNAPSHOT.jar deleted file mode 100644 index 8aeaad6..0000000 Binary files a/comfps-common/target/comfps-common-1.0-SNAPSHOT.jar and /dev/null differ diff --git a/comfps-common/target/maven-archiver/pom.properties b/comfps-common/target/maven-archiver/pom.properties deleted file mode 100644 index 0c0d53b..0000000 --- a/comfps-common/target/maven-archiver/pom.properties +++ /dev/null @@ -1,3 +0,0 @@ -artifactId=comfps-common -groupId=com.fpsgame -version=1.0-SNAPSHOT diff --git a/comfps-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/comfps-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index f2bfdf4..52d1652 100644 --- a/comfps-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/comfps-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,103 +1,104 @@ -com\fpsgame\common\Mathf.class -com\fpsgame\common\character\Character.class -com\fpsgame\common\Protocol.class -com\fpsgame\common\character\visual\VisualEffectManager.class -com\fpsgame\common\Debouncer.class -com\fpsgame\common\character\projectile\BouncingProjectile.class -com\fpsgame\common\character\types\tank\ability\TankBasicAttack.class -com\fpsgame\common\ExpSmoother.class -com\fpsgame\common\Rect.class -com\fpsgame\common\character\types\ghost\ability\GhostBasicAttack.class -com\fpsgame\common\character\visual\Particle.class -com\fpsgame\common\FixedTickRunner.class -com\fpsgame\common\SnapshotV1.class -com\fpsgame\common\GameEnums$Rules.class -com\fpsgame\common\character\types\bulldog\ability\ShatterBurst.class -com\fpsgame\common\character\types\raven\ability\RavenBasicAttack.class -com\fpsgame\common\character\types\Steam.class -com\fpsgame\common\GameEnums$Team.class -com\fpsgame\common\Protocol$Welcome.class -com\fpsgame\common\character\types\raven\ability\RavenDash.class -com\fpsgame\common\character\types\Sage.class -com\fpsgame\common\World.class -com\fpsgame\common\character\types\piper\ability\PiperThermalScope.class -com\fpsgame\common\character\types\Tank.class -com\fpsgame\common\GameEnums$CharacterId.class -com\fpsgame\common\Protocol$Selection.class -com\fpsgame\common\character\sound\SkillSound.class -com\fpsgame\common\character\state\CharacterState.class -com\fpsgame\common\Protocol$SafeSender.class -com\fpsgame\common\character\types\Skull.class -com\fpsgame\common\World$1.class -com\fpsgame\common\ProjectilesV2.class -com\fpsgame\common\character\projectile\PiercingProjectile.class -com\fpsgame\common\character\types\bulldog\ability\BulldogMinigun.class -com\fpsgame\common\Debouncer$1.class -com\fpsgame\common\RateLimiter.class -com\fpsgame\common\character\types\General.class -com\fpsgame\common\Protocol$Opcode.class -com\fpsgame\common\Threads.class -com\fpsgame\common\character\sound\FootstepSound.class -com\fpsgame\common\character\types\bulldog\ability\CoverStance.class -com\fpsgame\common\SnapshotV1$Entry.class -com\fpsgame\common\CooldownTimer.class -com\fpsgame\common\character\types\raven\ability\RavenUltimate.class -com\fpsgame\common\Protocol$Frame.class -com\fpsgame\common\BitPacker.class -com\fpsgame\common\GameEnums$Phase.class -com\fpsgame\common\GameEnums.class -com\fpsgame\common\character\projectile\ProjectileManager.class -com\fpsgame\common\character\types\sniper\ability\SniperUltimate.class -com\fpsgame\common\character\sound\SoundManager.class -com\fpsgame\common\SnapshotV2$Entry.class -com\fpsgame\common\Stopwatch.class -com\fpsgame\common\SnapshotV2.class -com\fpsgame\common\character\types\Bulldog.class -com\fpsgame\common\Binary.class -com\fpsgame\common\character\state\AliveState.class -com\fpsgame\common\character\types\Wildcat.class -com\fpsgame\common\character\sound\FootstepManager.class -com\fpsgame\common\Protocol$ReadyStatus.class -com\fpsgame\common\PlayerNet$Snapshot$Player.class -com\fpsgame\common\character\ability\BasicAbility.class -com\fpsgame\common\Protocol$Pair.class -com\fpsgame\common\character\ability\Ability.class -com\fpsgame\common\character\ability\TacticalAbility.class -com\fpsgame\common\Protocol$PlayerInfo.class -com\fpsgame\common\Protocol$RoundResult.class -com\fpsgame\common\character\projectile\Projectile.class -com\fpsgame\common\character\visual\Particle$1.class -com\fpsgame\common\character\visual\ParticleType.class -com\fpsgame\common\character\state\DeadState.class -com\fpsgame\common\character\types\sniper\ability\SniperScope.class -com\fpsgame\common\PlayerNet$Snapshot.class -com\fpsgame\common\InputPackets.class -com\fpsgame\common\character\types\ghost\ability\GhostUltimate.class -com\fpsgame\common\GameEnums$MapId.class -com\fpsgame\common\character\projectile\ExplosiveProjectile.class -com\fpsgame\common\character\types\sniper\ability\SniperBasicAttack.class -com\fpsgame\common\PlayerNet$Btn.class -com\fpsgame\common\MovingAverage.class -com\fpsgame\common\OpNames.class -com\fpsgame\common\Vec2.class -com\fpsgame\common\character\types\Sniper.class -com\fpsgame\common\character\types\tank\ability\TankUltimate.class -com\fpsgame\common\ProjectilesV2$Entry.class -com\fpsgame\common\PlayerNet$Input.class -com\fpsgame\common\Wall.class -com\fpsgame\common\character\CharacterFactory.class -com\fpsgame\common\PropsFile.class -com\fpsgame\common\character\ability\UltimateAbility.class -com\fpsgame\common\character\types\tank\ability\TankShield.class -com\fpsgame\common\character\types\ghost\ability\GhostInvisibility.class -com\fpsgame\common\Threads$NamedThreadFactory.class -com\fpsgame\common\character\CharacterFactory$1.class -com\fpsgame\common\character\visual\ParticleManager.class -com\fpsgame\common\character\types\ghost\Ghost.class -com\fpsgame\common\character\projectile\Bullet.class -com\fpsgame\common\character\types\Raven.class -com\fpsgame\common\PlayerNet.class -com\fpsgame\common\character\types\piper\ability\PiperMark.class -com\fpsgame\common\Utf8.class -com\fpsgame\common\character\types\Piper.class -com\fpsgame\common\character\types\Technician.class +com/fpsgame/common/character/types/sniper/ability/SniperUltimate.class +com/fpsgame/common/Stopwatch.class +com/fpsgame/common/character/projectile/Bullet.class +com/fpsgame/common/character/projectile/Projectile.class +com/fpsgame/common/GameEnums$CharacterId.class +com/fpsgame/common/Threads.class +com/fpsgame/common/GameEnums$1.class +com/fpsgame/common/character/sound/SkillSound.class +com/fpsgame/common/Debouncer$1.class +com/fpsgame/common/OpNames.class +com/fpsgame/common/RateLimiter.class +com/fpsgame/common/character/types/bulldog/ability/CoverStance.class +com/fpsgame/common/PlayerNet.class +com/fpsgame/common/ProjectilesV2.class +com/fpsgame/common/character/types/piper/ability/PiperMark.class +com/fpsgame/common/Rect.class +com/fpsgame/common/character/types/tank/ability/TankBasicAttack.class +com/fpsgame/common/Protocol.class +com/fpsgame/common/character/Character.class +com/fpsgame/common/PlayerNet$Btn.class +com/fpsgame/common/character/ability/Ability.class +com/fpsgame/common/Protocol$PlayerInfo.class +com/fpsgame/common/Protocol$Pair.class +com/fpsgame/common/Vec2.class +com/fpsgame/common/GameEnums.class +com/fpsgame/common/World.class +com/fpsgame/common/PlayerNet$Snapshot.class +com/fpsgame/common/ExpSmoother.class +com/fpsgame/common/character/types/Skull.class +com/fpsgame/common/character/visual/ParticleManager.class +com/fpsgame/common/character/sound/SoundManager.class +com/fpsgame/common/Protocol$Welcome.class +com/fpsgame/common/character/types/raven/ability/RavenBasicAttack.class +com/fpsgame/common/character/types/ghost/ability/GhostBasicAttack.class +com/fpsgame/common/character/types/Sage.class +com/fpsgame/common/character/sound/FootstepManager.class +com/fpsgame/common/Debouncer.class +com/fpsgame/common/character/projectile/ExplosiveProjectile.class +com/fpsgame/common/InputPackets.class +com/fpsgame/common/World$1.class +com/fpsgame/common/SnapshotV2$Entry.class +com/fpsgame/common/SnapshotV1$Entry.class +com/fpsgame/common/character/CharacterFactory.class +com/fpsgame/common/Mathf.class +com/fpsgame/common/character/types/raven/ability/RavenDash.class +com/fpsgame/common/character/types/ghost/ability/GhostUltimate.class +com/fpsgame/common/PropsFile.class +com/fpsgame/common/character/types/Bulldog.class +com/fpsgame/common/character/ability/TacticalAbility.class +com/fpsgame/common/character/types/Technician.class +com/fpsgame/common/character/state/DeadState.class +com/fpsgame/common/MovingAverage.class +com/fpsgame/common/Threads$NamedThreadFactory.class +com/fpsgame/common/Protocol$SafeSender.class +com/fpsgame/common/PlayerNet$Input.class +com/fpsgame/common/character/projectile/PiercingProjectile.class +com/fpsgame/common/character/visual/Particle$1.class +com/fpsgame/common/character/types/bulldog/ability/BulldogMinigun.class +com/fpsgame/common/Protocol$Frame.class +com/fpsgame/common/character/types/ghost/Ghost.class +com/fpsgame/common/Protocol$Opcode.class +com/fpsgame/common/SnapshotV2.class +com/fpsgame/common/GameEnums$MapId.class +com/fpsgame/common/character/types/sniper/ability/SniperScope.class +com/fpsgame/common/character/visual/ParticleType.class +com/fpsgame/common/character/ability/UltimateAbility.class +com/fpsgame/common/character/types/Piper.class +com/fpsgame/common/character/types/Raven.class +com/fpsgame/common/Protocol$RoundResult.class +com/fpsgame/common/GameEnums$Team.class +com/fpsgame/common/ProjectilesV2$Entry.class +com/fpsgame/common/character/state/CharacterState.class +com/fpsgame/common/character/projectile/BouncingProjectile.class +com/fpsgame/common/GameEnums$Rules.class +com/fpsgame/common/character/state/AliveState.class +com/fpsgame/common/character/types/Steam.class +com/fpsgame/common/character/types/Sniper.class +com/fpsgame/common/PlayerNet$Snapshot$Player.class +com/fpsgame/common/character/types/tank/ability/TankUltimate.class +com/fpsgame/common/character/CharacterFactory$1.class +com/fpsgame/common/Wall.class +com/fpsgame/common/character/types/bulldog/ability/ShatterBurst.class +com/fpsgame/common/Protocol$ReadyStatus.class +com/fpsgame/common/character/types/Tank.class +com/fpsgame/common/character/sound/FootstepSound.class +com/fpsgame/common/character/types/piper/ability/PiperThermalScope.class +com/fpsgame/common/SnapshotV1.class +com/fpsgame/common/character/types/ghost/ability/GhostInvisibility.class +com/fpsgame/common/character/types/General.class +com/fpsgame/common/character/types/tank/ability/TankShield.class +com/fpsgame/common/character/ability/BasicAbility.class +com/fpsgame/common/character/projectile/ProjectileManager.class +com/fpsgame/common/CooldownTimer.class +com/fpsgame/common/BitPacker.class +com/fpsgame/common/Binary.class +com/fpsgame/common/Utf8.class +com/fpsgame/common/character/types/Wildcat.class +com/fpsgame/common/character/visual/Particle.class +com/fpsgame/common/character/visual/VisualEffectManager.class +com/fpsgame/common/GameEnums$Phase.class +com/fpsgame/common/Protocol$Selection.class +com/fpsgame/common/character/types/sniper/ability/SniperBasicAttack.class +com/fpsgame/common/FixedTickRunner.class +com/fpsgame/common/character/types/raven/ability/RavenUltimate.class diff --git a/comfps-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/comfps-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index f71f9d3..0257fd3 100644 --- a/comfps-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/comfps-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,77 +1,77 @@ -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\raven\ability\RavenDash.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\sniper\ability\SniperUltimate.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\RateLimiter.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\Sniper.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\raven\ability\RavenBasicAttack.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\Bulldog.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\PropsFile.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\Protocol.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\ghost\ability\GhostUltimate.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\SnapshotV1.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\ability\Ability.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\bulldog\ability\ShatterBurst.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\state\AliveState.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\Skull.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\BitPacker.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\ability\BasicAbility.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\sound\FootstepManager.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\piper\ability\PiperThermalScope.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\Rect.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\InputPackets.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\OpNames.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\PlayerNet.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\ghost\ability\GhostInvisibility.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\Steam.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\Binary.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\Debouncer.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\FixedTickRunner.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\Wildcat.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\General.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\World.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\sound\FootstepSound.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\ghost\ability\GhostBasicAttack.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\projectile\Bullet.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\Wall.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\sound\SoundManager.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\tank\ability\TankUltimate.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\raven\ability\RavenUltimate.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\GameEnums.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\projectile\BouncingProjectile.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\Raven.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\bulldog\ability\CoverStance.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\ability\UltimateAbility.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\sniper\ability\SniperBasicAttack.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\ExpSmoother.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\Sage.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\sniper\ability\SniperScope.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\projectile\ExplosiveProjectile.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\visual\Particle.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\Stopwatch.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\tank\ability\TankShield.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\projectile\ProjectileManager.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\Character.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\projectile\Projectile.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\visual\ParticleManager.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\visual\VisualEffectManager.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\ability\TacticalAbility.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\ProjectilesV2.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\CharacterFactory.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\ghost\Ghost.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\Vec2.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\Technician.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\Threads.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\tank\ability\TankBasicAttack.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\CooldownTimer.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\state\DeadState.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\piper\ability\PiperMark.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\Mathf.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\projectile\PiercingProjectile.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\MovingAverage.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\bulldog\ability\BulldogMinigun.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\state\CharacterState.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\Utf8.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\sound\SkillSound.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\Piper.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\visual\ParticleType.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\character\types\Tank.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-common\src\main\java\com\fpsgame\SnapshotV2.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/Utf8.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/bulldog/ability/BulldogMinigun.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/ability/Ability.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/Wildcat.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/ability/UltimateAbility.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/ProjectilesV2.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/Skull.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/Mathf.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/state/CharacterState.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/FixedTickRunner.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/Technician.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/projectile/ProjectileManager.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/projectile/ExplosiveProjectile.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/raven/ability/RavenUltimate.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/CooldownTimer.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/MovingAverage.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/piper/ability/PiperMark.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/Binary.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/Sniper.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/Raven.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/PropsFile.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/bulldog/ability/ShatterBurst.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/PlayerNet.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/ghost/ability/GhostUltimate.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/Piper.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/tank/ability/TankBasicAttack.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/visual/ParticleManager.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/projectile/BouncingProjectile.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/SnapshotV1.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/sound/FootstepManager.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/OpNames.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/Sage.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/visual/Particle.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/raven/ability/RavenDash.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/InputPackets.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/visual/ParticleType.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/ghost/ability/GhostBasicAttack.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/sniper/ability/SniperBasicAttack.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/sound/SoundManager.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/projectile/PiercingProjectile.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/projectile/Projectile.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/BitPacker.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/CharacterFactory.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/ghost/ability/GhostInvisibility.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/Rect.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/bulldog/ability/CoverStance.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/SnapshotV2.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/projectile/Bullet.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/GameEnums.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/Wall.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/ability/TacticalAbility.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/ghost/Ghost.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/tank/ability/TankUltimate.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/sound/SkillSound.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/ability/BasicAbility.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/Debouncer.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/Tank.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/sniper/ability/SniperScope.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/raven/ability/RavenBasicAttack.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/RateLimiter.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/General.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/World.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/Protocol.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/Bulldog.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/sound/FootstepSound.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/tank/ability/TankShield.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/state/AliveState.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/ExpSmoother.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/Stopwatch.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/Threads.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/Character.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/sniper/ability/SniperUltimate.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/Steam.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/visual/VisualEffectManager.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/state/DeadState.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/Vec2.java +/home/runner/work/fpsGame/fpsGame/comfps-common/src/main/java/com/fpsgame/character/types/piper/ability/PiperThermalScope.java diff --git a/comfps-server/target/classes/com/fpsgame/server/DefaultServerRouter$Broadcaster.class b/comfps-server/target/classes/com/fpsgame/server/DefaultServerRouter$Broadcaster.class index 7481ecd..6d157bb 100644 Binary files a/comfps-server/target/classes/com/fpsgame/server/DefaultServerRouter$Broadcaster.class and b/comfps-server/target/classes/com/fpsgame/server/DefaultServerRouter$Broadcaster.class differ diff --git a/comfps-server/target/classes/com/fpsgame/server/DefaultServerRouter$Hooks.class b/comfps-server/target/classes/com/fpsgame/server/DefaultServerRouter$Hooks.class index 20f351e..56d15de 100644 Binary files a/comfps-server/target/classes/com/fpsgame/server/DefaultServerRouter$Hooks.class and b/comfps-server/target/classes/com/fpsgame/server/DefaultServerRouter$Hooks.class differ diff --git a/comfps-server/target/classes/com/fpsgame/server/DefaultServerRouter.class b/comfps-server/target/classes/com/fpsgame/server/DefaultServerRouter.class index c6ef7ea..ed41de6 100644 Binary files a/comfps-server/target/classes/com/fpsgame/server/DefaultServerRouter.class and b/comfps-server/target/classes/com/fpsgame/server/DefaultServerRouter.class differ diff --git a/comfps-server/target/classes/com/fpsgame/server/GameServer$1.class b/comfps-server/target/classes/com/fpsgame/server/GameServer$1.class index 11ad3b8..963a3d7 100644 Binary files a/comfps-server/target/classes/com/fpsgame/server/GameServer$1.class and b/comfps-server/target/classes/com/fpsgame/server/GameServer$1.class differ diff --git a/comfps-server/target/classes/com/fpsgame/server/GameServer.class b/comfps-server/target/classes/com/fpsgame/server/GameServer.class index f71abc7..b299df3 100644 Binary files a/comfps-server/target/classes/com/fpsgame/server/GameServer.class and b/comfps-server/target/classes/com/fpsgame/server/GameServer.class differ diff --git a/comfps-server/target/classes/com/fpsgame/server/LobbyState.class b/comfps-server/target/classes/com/fpsgame/server/LobbyState.class index 12ee6e2..9614f1d 100644 Binary files a/comfps-server/target/classes/com/fpsgame/server/LobbyState.class and b/comfps-server/target/classes/com/fpsgame/server/LobbyState.class differ diff --git a/comfps-server/target/classes/com/fpsgame/server/MapVoteManager.class b/comfps-server/target/classes/com/fpsgame/server/MapVoteManager.class index effbd45..e88020c 100644 Binary files a/comfps-server/target/classes/com/fpsgame/server/MapVoteManager.class and b/comfps-server/target/classes/com/fpsgame/server/MapVoteManager.class differ diff --git a/comfps-server/target/classes/com/fpsgame/server/NetTickLoop.class b/comfps-server/target/classes/com/fpsgame/server/NetTickLoop.class index 760cdde..5249d9f 100644 Binary files a/comfps-server/target/classes/com/fpsgame/server/NetTickLoop.class and b/comfps-server/target/classes/com/fpsgame/server/NetTickLoop.class differ diff --git a/comfps-server/target/classes/com/fpsgame/server/PlayerServerRouter.class b/comfps-server/target/classes/com/fpsgame/server/PlayerServerRouter.class index 3eb03b1..6b37b8b 100644 Binary files a/comfps-server/target/classes/com/fpsgame/server/PlayerServerRouter.class and b/comfps-server/target/classes/com/fpsgame/server/PlayerServerRouter.class differ diff --git a/comfps-server/target/classes/com/fpsgame/server/PlayerSyncService.class b/comfps-server/target/classes/com/fpsgame/server/PlayerSyncService.class index 8a165d2..8df3917 100644 Binary files a/comfps-server/target/classes/com/fpsgame/server/PlayerSyncService.class and b/comfps-server/target/classes/com/fpsgame/server/PlayerSyncService.class differ diff --git a/comfps-server/target/classes/com/fpsgame/server/RouterHooksAdapter.class b/comfps-server/target/classes/com/fpsgame/server/RouterHooksAdapter.class index cb30511..b520e1c 100644 Binary files a/comfps-server/target/classes/com/fpsgame/server/RouterHooksAdapter.class and b/comfps-server/target/classes/com/fpsgame/server/RouterHooksAdapter.class differ diff --git a/comfps-server/target/classes/com/fpsgame/server/ServerMain$1.class b/comfps-server/target/classes/com/fpsgame/server/ServerMain$1.class index bb4ecc0..f39a439 100644 Binary files a/comfps-server/target/classes/com/fpsgame/server/ServerMain$1.class and b/comfps-server/target/classes/com/fpsgame/server/ServerMain$1.class differ diff --git a/comfps-server/target/classes/com/fpsgame/server/ServerMain$LobbyHooks.class b/comfps-server/target/classes/com/fpsgame/server/ServerMain$LobbyHooks.class index add0f5c..85bf815 100644 Binary files a/comfps-server/target/classes/com/fpsgame/server/ServerMain$LobbyHooks.class and b/comfps-server/target/classes/com/fpsgame/server/ServerMain$LobbyHooks.class differ diff --git a/comfps-server/target/classes/com/fpsgame/server/ServerMain.class b/comfps-server/target/classes/com/fpsgame/server/ServerMain.class index a5da2f6..acb16b0 100644 Binary files a/comfps-server/target/classes/com/fpsgame/server/ServerMain.class and b/comfps-server/target/classes/com/fpsgame/server/ServerMain.class differ diff --git a/comfps-server/target/classes/com/fpsgame/server/ServerSession.class b/comfps-server/target/classes/com/fpsgame/server/ServerSession.class index c1cc8bd..2399761 100644 Binary files a/comfps-server/target/classes/com/fpsgame/server/ServerSession.class and b/comfps-server/target/classes/com/fpsgame/server/ServerSession.class differ diff --git a/comfps-server/target/classes/com/fpsgame/server/SessionRegistry$Sel.class b/comfps-server/target/classes/com/fpsgame/server/SessionRegistry$Sel.class index eca32a4..68c5d19 100644 Binary files a/comfps-server/target/classes/com/fpsgame/server/SessionRegistry$Sel.class and b/comfps-server/target/classes/com/fpsgame/server/SessionRegistry$Sel.class differ diff --git a/comfps-server/target/classes/com/fpsgame/server/SessionRegistry.class b/comfps-server/target/classes/com/fpsgame/server/SessionRegistry.class index 3168042..889cf3a 100644 Binary files a/comfps-server/target/classes/com/fpsgame/server/SessionRegistry.class and b/comfps-server/target/classes/com/fpsgame/server/SessionRegistry.class differ diff --git a/comfps-server/target/classes/com/fpsgame/server/TcpServer.class b/comfps-server/target/classes/com/fpsgame/server/TcpServer.class index e6a0e14..62b738d 100644 Binary files a/comfps-server/target/classes/com/fpsgame/server/TcpServer.class and b/comfps-server/target/classes/com/fpsgame/server/TcpServer.class differ diff --git a/comfps-server/target/comfps-server-1.0-SNAPSHOT.jar b/comfps-server/target/comfps-server-1.0-SNAPSHOT.jar deleted file mode 100644 index 2d4e9b4..0000000 Binary files a/comfps-server/target/comfps-server-1.0-SNAPSHOT.jar and /dev/null differ diff --git a/comfps-server/target/maven-archiver/pom.properties b/comfps-server/target/maven-archiver/pom.properties deleted file mode 100644 index 02a9d47..0000000 --- a/comfps-server/target/maven-archiver/pom.properties +++ /dev/null @@ -1,3 +0,0 @@ -artifactId=comfps-server -groupId=com.fpsgame -version=1.0-SNAPSHOT diff --git a/comfps-server/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/comfps-server/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index 5489fa7..bdcf555 100644 --- a/comfps-server/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/comfps-server/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,31 +1,31 @@ -com\fpsgame\server\TcpServer.class -com\fpsgame\server\ServerSession.class -com\fpsgame\server\DefaultServerRouter$ServerContext.class -com\fpsgame\server\MainServer$Client.class -com\fpsgame\server\ServerRouter$SessionHandle.class -com\fpsgame\server\SessionRegistry$Sel.class -com\fpsgame\server\SessionRegistry.class -com\fpsgame\server\RouterHooksAdapter.class -com\fpsgame\server\ServerRouter$Noop.class -com\fpsgame\server\NetTickLoop.class -com\fpsgame\server\RoundController.class -com\fpsgame\server\ServerMain$1.class -com\fpsgame\server\ServerMain$LobbyHooks.class -com\fpsgame\server\MapVoteManager.class -com\fpsgame\server\ServerRouter.class -com\fpsgame\server\LobbyState.class -com\fpsgame\server\GameServer.class -com\fpsgame\server\MainServer.class -com\fpsgame\server\DefaultServerRouter$Hooks.class -com\fpsgame\server\PlayerServerRouter.class -com\fpsgame\server\PlayerSyncService$Player.class -com\fpsgame\server\SessionRegistry$Logger.class -com\fpsgame\server\RoundController$Listener.class -com\fpsgame\server\ServerMain.class -com\fpsgame\server\DefaultServerRouter.class -com\fpsgame\server\GameServer$1.class -com\fpsgame\server\RoundController$1.class -com\fpsgame\server\PlayerSyncService.class -com\fpsgame\server\PlayerSyncService$CharacterProvider.class -com\fpsgame\server\GameServer$Events.class -com\fpsgame\server\DefaultServerRouter$Broadcaster.class +com/fpsgame/server/MainServer$Client.class +com/fpsgame/server/GameServer$Events.class +com/fpsgame/server/TcpServer.class +com/fpsgame/server/ServerSession.class +com/fpsgame/server/DefaultServerRouter$Broadcaster.class +com/fpsgame/server/GameServer.class +com/fpsgame/server/RoundController$1.class +com/fpsgame/server/ServerMain.class +com/fpsgame/server/RouterHooksAdapter.class +com/fpsgame/server/PlayerSyncService$CharacterProvider.class +com/fpsgame/server/MapVoteManager.class +com/fpsgame/server/DefaultServerRouter.class +com/fpsgame/server/LobbyState.class +com/fpsgame/server/PlayerSyncService$Player.class +com/fpsgame/server/PlayerSyncService.class +com/fpsgame/server/RoundController$Listener.class +com/fpsgame/server/ServerMain$1.class +com/fpsgame/server/DefaultServerRouter$ServerContext.class +com/fpsgame/server/ServerRouter$SessionHandle.class +com/fpsgame/server/RoundController.class +com/fpsgame/server/SessionRegistry$Sel.class +com/fpsgame/server/SessionRegistry$Logger.class +com/fpsgame/server/SessionRegistry.class +com/fpsgame/server/ServerRouter.class +com/fpsgame/server/GameServer$1.class +com/fpsgame/server/ServerRouter$Noop.class +com/fpsgame/server/DefaultServerRouter$Hooks.class +com/fpsgame/server/ServerMain$LobbyHooks.class +com/fpsgame/server/MainServer.class +com/fpsgame/server/PlayerServerRouter.class +com/fpsgame/server/NetTickLoop.class diff --git a/comfps-server/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/comfps-server/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 0a92d4d..aec9683 100644 --- a/comfps-server/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/comfps-server/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,15 +1,15 @@ -C:\Users\rlagj\eclipse-workspace\comfps\comfps-server\src\main\java\com\fpsgame\GameServer.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-server\src\main\java\com\fpsgame\ServerRouter.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-server\src\main\java\com\fpsgame\MainServer.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-server\src\main\java\com\fpsgame\DefaultServerRouter.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-server\src\main\java\com\fpsgame\MapVoteManager.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-server\src\main\java\com\fpsgame\PlayerSyncService.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-server\src\main\java\com\fpsgame\RoundController.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-server\src\main\java\com\fpsgame\LobbyState.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-server\src\main\java\com\fpsgame\SessionRegistry.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-server\src\main\java\com\fpsgame\RouterHooksAdapter.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-server\src\main\java\com\fpsgame\NetTickLoop.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-server\src\main\java\com\fpsgame\ServerMain.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-server\src\main\java\com\fpsgame\TcpServer.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-server\src\main\java\com\fpsgame\PlayerServerRouter.java -C:\Users\rlagj\eclipse-workspace\comfps\comfps-server\src\main\java\com\fpsgame\ServerSession.java +/home/runner/work/fpsGame/fpsGame/comfps-server/src/main/java/com/fpsgame/ServerSession.java +/home/runner/work/fpsGame/fpsGame/comfps-server/src/main/java/com/fpsgame/PlayerServerRouter.java +/home/runner/work/fpsGame/fpsGame/comfps-server/src/main/java/com/fpsgame/PlayerSyncService.java +/home/runner/work/fpsGame/fpsGame/comfps-server/src/main/java/com/fpsgame/SessionRegistry.java +/home/runner/work/fpsGame/fpsGame/comfps-server/src/main/java/com/fpsgame/MapVoteManager.java +/home/runner/work/fpsGame/fpsGame/comfps-server/src/main/java/com/fpsgame/ServerMain.java +/home/runner/work/fpsGame/fpsGame/comfps-server/src/main/java/com/fpsgame/GameServer.java +/home/runner/work/fpsGame/fpsGame/comfps-server/src/main/java/com/fpsgame/ServerRouter.java +/home/runner/work/fpsGame/fpsGame/comfps-server/src/main/java/com/fpsgame/MainServer.java +/home/runner/work/fpsGame/fpsGame/comfps-server/src/main/java/com/fpsgame/DefaultServerRouter.java +/home/runner/work/fpsGame/fpsGame/comfps-server/src/main/java/com/fpsgame/LobbyState.java +/home/runner/work/fpsGame/fpsGame/comfps-server/src/main/java/com/fpsgame/NetTickLoop.java +/home/runner/work/fpsGame/fpsGame/comfps-server/src/main/java/com/fpsgame/RoundController.java +/home/runner/work/fpsGame/fpsGame/comfps-server/src/main/java/com/fpsgame/TcpServer.java +/home/runner/work/fpsGame/fpsGame/comfps-server/src/main/java/com/fpsgame/RouterHooksAdapter.java