Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
8951ad9
fix(object): Prevent crash if Object::m_drawable is a nullptr on save…
Caball009 May 17, 2026
2219f63
refactor(netpacket): Simplify NetPacket functions for packet buffer r…
xezon May 17, 2026
186314f
ci(workflows): move linux replay to flatpak (#143)
fbraz3 May 18, 2026
42886ed
build: complete Phase 2 CMake feature gates and Phase 3 entry point s…
May 18, 2026
0bab844
build: complete Phase 2 CMake feature gates and Phase 3 entry point s…
May 18, 2026
d3ac0c8
docs: complete Phase 4 DXVK runtime on Windows
May 18, 2026
961bb2f
fix(windows64-mingw): harden phase3 and phase4
May 18, 2026
632d42f
docs(windows64-plan): embed per-phase references
May 18, 2026
3f1fe3f
Phase 5: OpenAL + FFmpeg para Windows64 MinGW ✅
May 18, 2026
f7265db
docs: Fase 5: OpenAL e FFmpeg no Windows - Planos e scripts de setup
May 19, 2026
f4282a4
build(windows64): isolate legacy wininput path
May 19, 2026
7dc2632
bugfix: Restore retail compatibility after retail behavior flags chan…
Caball009 May 19, 2026
17f481f
fix(windows64-mingw): reduce build blockers phase 5/6
May 19, 2026
5ef7985
fix(gameengine): Remove music tracks as prerequisite to initialize th…
xezon May 19, 2026
1594474
bugfix(physics): Prevent dead units from repeatedly dealing crash dam…
Stubbjax May 20, 2026
f8476f0
bugfix(physics): Prevent building crash damage from dealing damage to…
Stubbjax May 20, 2026
5a4187c
fix(network): Verify accepted type of incoming game messages (#2708)
stephanmeesters May 20, 2026
7cb3c11
fix(particlesys): Add or simplify null-checks to createParticleSystem…
stephanmeesters May 20, 2026
f7ecdb4
refactor(network): Use switch cases in utility functions for network …
Caball009 May 20, 2026
c1bce4f
perf(network): Replace extern global network variables with const one…
Caball009 May 20, 2026
5852010
bugfix(aigroup): Prevent game crash when a player is selected in Repl…
Caball009 May 20, 2026
d586268
build(windows64-mingw): enable x64 cross-compile, fix pointer/integer…
May 20, 2026
842c7a5
fix(recorder): Fix memory leak of RecorderClass::m_crcInfo (#2713)
Caball009 May 20, 2026
7790074
build(windows64): enable MinGW-w64 modern build, fix FFmpeg, DXVK, Op…
May 20, 2026
65e74fb
build(windows64): wire tasks and stabilize mingw workflow
May 20, 2026
65b627f
Windows MinGW: progresso no build Generals base
May 21, 2026
0808571
Windows MinGW: ajustes de includes e deploy Generals
May 21, 2026
bf8d5be
bugfix(gameengine): Fix logic in GameEngine::canUpdateRegularGameLogi…
xezon May 21, 2026
e6ad163
docs(agent-guidance): centralize global instructions
fbraz3 May 21, 2026
92116b7
docs(readme): streamline project overview
fbraz3 May 21, 2026
8b2af81
chore(sync): merge thesuperhackers main 2026-05-21
fbraz3 May 22, 2026
be37079
fix(replay): restore retail crc pacing compatibility
fbraz3 May 22, 2026
57bdf0d
ci(replay): drop host mapcache before tests
fbraz3 May 22, 2026
e6b8a2f
ci(replay): add provenance diagnostics
fbraz3 May 22, 2026
85b0d1d
ci(build): add replay build fingerprints
fbraz3 May 22, 2026
924bdcf
ci: temporarily disable replay jobs
fbraz3 May 22, 2026
68b5c48
Merge pull request #146 from fbraz3/thesuperhackers-sync-05-21-2026
fbraz3 May 22, 2026
3c71740
ci(windows): enable windows64 mingw build pipeline
May 22, 2026
2bdd3e4
feat: resolve merge conflicts from main
fbraz3 May 22, 2026
0f786e2
chore: merge main into feat/windows-mingw, resolve diary conflict
Copilot May 23, 2026
ac85699
Merge main: upstream sync and replay CI improvements
fbraz3 May 23, 2026
c255456
Merge branch 'main' into feat/windows-mingw
fbraz3 May 23, 2026
ce425c2
fix(ww3d): remove redundant extern declarations for timeBeginPeriod/t…
fbraz3 May 23, 2026
a5ef950
fix(macos): use void* for ThreadID to handle macOS pthread pointer
fbraz3 May 24, 2026
8139d2b
fix: resolve CI build failures across all platforms
fbraz3 May 24, 2026
35034c3
fix(ci): fix thread id and submodule paths
fbraz3 May 25, 2026
1d9d7aa
fix(macos-build): unblock zh and generals build
fbraz3 May 25, 2026
1e8e7b5
fix(ci): harden macos and windows bootstrap
fbraz3 May 25, 2026
06cb20d
fix(ci): unblock macos zh and windows triplet
fbraz3 May 25, 2026
77baa90
fix(windows-ci): restore vcpkg glm discovery
fbraz3 May 25, 2026
fd4f51c
fix(windows-ci): chainload mingw via vcpkg
fbraz3 May 25, 2026
e55b456
chore: replace generalsx icons
fbraz3 May 25, 2026
c9b4588
docs: compress prompt instructions
fbraz3 May 25, 2026
8db7613
Merge branch 'main' of github.com:fbraz3/GeneralsX into feat/windows-…
fbraz3 May 25, 2026
7d300dd
fix(windows-ci): unblock vcpkg zlib lookup
fbraz3 May 25, 2026
c62d161
fix(windows64): unblock mingw game builds
May 26, 2026
e0b4ad7
fix(windows-ci): resolve widl oaidl import
fbraz3 May 26, 2026
1dfb37e
fix(ci): restore cross-platform keyboard cast
fbraz3 May 26, 2026
6c1def8
fix(windows-ci): widen widl include lookup
fbraz3 May 26, 2026
e8226db
fix(windows-ci): probe widl include dirs
fbraz3 May 26, 2026
9cf83d0
fix(ci-windows): ensure widl IDL headers in CI
fbraz3 May 27, 2026
b09492f
fix(ci-windows): make oaidl detection path-agnostic
fbraz3 May 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/agents/Bender.agent.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: "Pay Bender a beer and he'll help you with GeneralsX development tasks!"
tools: [execute, read, agent, edit, search, web, 'cognitionai/deepwiki/*', 'git/*', 'github/*', todo]
tools: [vscode, execute, read, agent, edit, search, web, browser, 'cognitionai/deepwiki/*', 'git/*', 'codegraph/*', todo]
---

You are Bender, a sarcastic assistant for GeneralsX project. development. Focus on gaming and graphics programming (DirectX8, Vulkan, C++, asset pipelines).
Expand Down
18 changes: 0 additions & 18 deletions .github/copilot-instructions.md

This file was deleted.

153 changes: 36 additions & 117 deletions .github/instructions/docs.instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,19 @@ applyTo: '**/*.md'

## Documentation Guidelines

- All documentation **MUST BE** in English
- Use Markdown format
- Keep `docs/ETC/COMMAND_LINE_PARAMETERS.md` updated with runtime-critical diagnostic flags and caveats (for example `-logToCon` behavior differences on Linux).
- Don't add documentation files directly in the root `docs/` folder
- The root folder `/` should only contain project-level files (README.md, LICENSE, etc.)
- **Active Work**: Place in `docs/WORKDIR/` with appropriate subdirectory (phases, planning, reports, support, audit, lessons)
- **Development Diary**: Update `docs/DEV_BLOG/YYYY-MM-DIARY.md` with daily entries
- Create new file each month (YYYY-MM-DIARY.md)
- Order entries newest to oldest (recent at top after Overview section)
- Keep entries informal and concise
- **Reference & Historical**: Place in `docs/ETC/` (older reference materials, archived analysis)
- **Phase Checklist Updates**: At the end of each session working on a phase, update the corresponding `docs/WORKDIR/phases/PHASEXX_*.md` file to mark completed tasks with `[x]`

**Key Rule**: DEV_BLOG is for diary only. Active work goes to WORKDIR. Reference/historical materials go to ETC.
- Docs in English, Markdown only.
- Keep `docs/ETC/COMMAND_LINE_PARAMETERS.md` current for runtime-critical flags and caveats.
- Never add docs in root `docs/`; use `docs/WORKDIR/` for active work, `docs/DEV_BLOG/` for diary, `docs/ETC/` for reference/history.
- Update phase checklists in `docs/WORKDIR/phases/PHASEXX_*.md` at session end.

## Documentation Updates

- **Dev diary** (`docs/DEV_BLOG/YYYY-MM-DIARY.md`): Informal session notes, newest first
- **Session reports** (`docs/WORKDIR/reports/PHASEXX_SESSIONX_*.md`): Formal summary after significant progress
- **Phase planning** (`docs/WORKDIR/phases/PHASEXX_*.md`): Update `[x]` checklist at session end
- **Technical discoveries**: Place in `docs/WORKDIR/support/` (e.g., `CRITICAL_VFS_DISCOVERY.md`)
- **Lessons learned** (`docs/WORKDIR/lessons/LESSONS_LEARNED.md`): Key takeaways from phases and work cycles
- **Known Issues**: Track in [GitHub Issues](https://github.com/fbraz3/GeneralsX/issues/) — do NOT create new markdown issue files
- Dev diary: `docs/DEV_BLOG/YYYY-MM-DIARY.md`.
- Session reports: `docs/WORKDIR/reports/PHASEXX_SESSIONX_*.md`.
- Phase planning: `docs/WORKDIR/phases/PHASEXX_*.md`.
- Technical discoveries: `docs/WORKDIR/support/`.
- Lessons learned: `docs/WORKDIR/lessons/LESSONS_LEARNED.md`.
- Known issues live in GitHub Issues; no new markdown issue files.

## Documentation Organization

Expand All @@ -35,92 +25,54 @@ applyTo: '**/*.md'
**Subdirectories**:

#### `docs/WORKDIR/phases/` - Phase-Specific Plans
**Purpose**: Detailed phase plans and checklists
**Guideline**: use `PHASEXX_purpose.md` format for filenames - XX is phase number, purpose is brief description
**Restriction**: Avoid using `weeks` for phase work segmentation, don't try to guess completion times in calendar weeks, just ignore this information entirely
**Rationale**: Sprints provide a standardized Agile framework terminology, ensuring consistency with sprint-based development methodologies
Plans and checklists. Use `PHASEXX_purpose.md` filenames. Ignore week estimates.

**Naming Examples:**
Examples:
- PHASE01_INITIAL_RESEARCH.md
- PHASE02_ENGINE_SELECTION.md
- PHASE03_PROTOTYPING.md
- etc.

#### `docs/WORKDIR/planning/` - Planning & Strategic Documents
**Purpose**: Planning documents, roadmaps, architectural decisions
**Naming Convention**:
- `PLAN-XXX_description.md` for individual plans
- `ROADMAP.md` for overall project roadmap
- Other strategic planning documents
Planning docs, roadmaps, architecture decisions. Use `PLAN-XXX_description.md` or `ROADMAP.md`.

**Examples:**
Examples:
- PLAN-010_VISUAL_LAYOUT.md
- PLAN-013_PARTICLE_SYSTEM.md
- ROADMAP.md

#### `docs/WORKDIR/reports/` - Session Reports & Progress
**Purpose**: Formal summaries after significant progress on phases
**Naming Convention**: `PHASEXX_SESSIONX_description.md`
Formal phase summaries. Use `PHASEXX_SESSIONX_description.md`.

**Examples:**
Examples:
- PHASE01_SESSION1_INITIAL_RESEARCH_COMPLETE.md
- PHASE02_SESSION2_ENGINE_SELECTION_COMPLETE.md

#### `docs/WORKDIR/support/` - Findings & Support Documents
**Purpose**: Technical discoveries, analysis, reference materials for active phases
**Content Types**:
- Technical analysis documents
- Implementation findings
- Code reference guides
- Research supporting active work

**Examples:**
Technical discoveries, analysis, reference guides, and research support.

Examples:
- VFS_IMPLEMENTATION_FINDINGS.md
- PARTICLE_SYSTEM_DEEP_ANALYSIS.md
- TOOLTIP_CODE_REFERENCE.md

#### `docs/WORKDIR/audit/` - Audit & Verification Files
**Purpose**: Audit logs, verification checklists, compliance documents
**Content Types**:
- Structure audits
- Implementation checklists
- Gap analysis documents
- Compliance verification

**Examples:**
Audit logs, verification checklists, compliance docs, gap analysis.

Examples:
- ROADMAP_AUDIT_DECEMBER_2025.md
- GAP_ANALYSIS_FINDINGS.md

#### `docs/WORKDIR/lessons/` - Lessons Learned
**Purpose**: Key insights from phases and work cycles
**Main File**: `LESSONS_LEARNED.md` - Central repository for all lessons
**Content**: Phase-specific learnings, technical insights, process improvements
Key insights, technical takeaways, process improvements. Main file: `LESSONS_LEARNED.md`.

### `docs/DEV_BLOG/` - Development Diary ONLY
**Purpose**: Chronological development diary entries
- YYYY-MM-DIARY.md - Monthly diary (ONE file per month)
- YYYY is the current year
- MM is the current month
- DIARY is a fixed literal
- Entries newest to oldest (most recent at top, after Overview)
- Informal, daily/session notes
- Short summaries of work done
- `docs/DEV_BLOG/README.md` - Index of available diaries and overview of diary purpose with details on structure and usage
Chronological diary entries only. One `YYYY-MM-DIARY.md` per month, newest first. Also `docs/DEV_BLOG/README.md`.

**Only this goes here**: Diary entries and README

**Not here**: Session reports, summaries, analysis, phase progress
Not here: reports, analysis, phase progress.

## Issue Tracking — GitHub is the Source of Truth

**CRITICAL POLICY**: All issues, bugs, feature requests, and enhancements MUST be tracked in **GitHub Issues** (`https://github.com/fbraz3/GeneralsX/issues/`), NOT in markdown documentation.

### Why GitHub is Source of Truth
- **Single source**: One place to track status, assign ownership, and manage priorities
- **Versioning**: GitHub automatically tracks discussion history as features evolve
- **Automation**: CI/CD, PR linking, and automation hooks depend on GitHub issues
- **Collaboration**: Easier for team members to discover, comment, and contribute
- **External visibility**: Users and contributors can search and report issues directly
Track issues, bugs, features, and enhancements in GitHub Issues (`https://github.com/fbraz3/GeneralsX/issues/`), not markdown.

### Creating New Issues

Expand All @@ -135,21 +87,16 @@ gh issue create \
```

**Labels** (always apply 1-2):
- `enhancement` — New feature or improvement
- `bug` — Something isn't working
- `documentation` — Documentation improvements
- `Linux`, `macOS` — Platform-specific
- `Generals`, `Zero Hour` — Game variant
- `Blocker` — Blocks other work
- See `.github/instructions/docs.instructions.md` for complete label reference
- `enhancement` — feature or improvement
- `bug` — broken behavior
- `documentation` — docs work
- `Linux`, `macOS` — platform scope
- `Generals`, `Zero Hour` — game variant
- `Blocker` — blocks other work

### Markdown Documentation (Legacy)

Older `.md` files in `docs/KNOWN_ISSUES/` are **DEPRECATED**.
- **Do NOT** create new markdown issue files
- **Remove** files that duplicate active GitHub issues
- **Archive** resolved issues in GitHub, then delete the `.md` file
- **Migrate** any investigation findings to GitHub issue comments
Older `docs/KNOWN_ISSUES/` files are deprecated. Do not create new markdown issue files; archive or delete duplicates after moving content to GitHub.

### Deleted/Resolved/Archived Issues

Expand All @@ -160,38 +107,10 @@ If an issue is closed/resolved in GitHub:

### Legacy `.md` Issues (Historical Reference)

If you need to reference older markdown issues for historical context:
- Keep in `docs/ETC/archive/` (not `docs/KNOWN_ISSUES/`)
- Update the path and add a note that these are archived
- Do not maintain these going forward
Keep historical markdown issues in `docs/ETC/archive/` only. Do not maintain them going forward.

### `docs/BUILD/` - Platform Build Instructions
**Purpose**: Platform-specific build and environment setup guides for active platforms (Linux, macOS, Windows, etc.)
**Naming Convention**: One file per platform, all caps (e.g., `LINUX.md`, `MACOS.md`, `WINDOWS.md`)
**Content**: Step-by-step build, deploy, and troubleshooting instructions for each supported platform. These are the canonical build docs referenced by contributors and CI.

**Examples:**
- LINUX.md — Linux build instructions
- MACOS.md — macOS build instructions
- WINDOWS.md — Windows build instructions (future)

**Guidelines**:
- All new build instructions must go here (not ETC)
- Update cross-references in other docs to point to this directory
- Keep instructions up to date with build scripts and CI

**Not here**: General reference, historical analysis, or non-build docs
Platform build/setup guides. One all-caps file per platform (`LINUX.md`, `MACOS.md`, `WINDOWS.md`). Keep them canonical and synced to build scripts/CI.

### `docs/ETC/` - Reference & Historical Materials
**Purpose**: Older reference materials, archived analysis, and miscellaneous documentation
- General reference materials
- Archived technical documentation
- Historical analysis documents
- Miscellaneous project materials not fitting other categories

**Guidelines**:
- New active work should NOT go here
- Use for long-term reference materials
- Archive completed analysis here if still needed for reference

**Not here**: Active phase work, current session reports, active planning, or build instructions
Archived reference, analysis, and misc docs only. No active work, reports, planning, or build instructions.
Loading
Loading