Repository navigation
Releases
v1.12.1 - Cruuz-style honesty + polish
Grok's fixes:
- README rewritten with a clear capability table (Editable / Research / Pending) matching the style used by cruuz's 2K5 tools.
- Existing solid core (ratings, team grouping, balancer) kept and clearly labeled.
- Rating inference status and team-name coverage explicitly documented.
The Windows EXE (NCAA2K3-Roster-Editor.exe) is built automatically and attached below. The mobile PWA is unchanged: https://jtfresh90.github.io/NCAA-2K3-Roster-Editor/mobile/
v1.12.0 - 2K5-Style Playbook Organization
What's New
2K5-Style Playbook Organization
Inspired by NFL 2K5's play-calling interface:
- By Package: Browse plays by personnel grouping (Pro, Twins, Spread, Ace, etc.)
- By Formation: Browse by formation (I-Form, Shotgun, Singleback, etc.)
- By Play Type: Browse by type (Inside Run, Deep Pass, Play Action, etc.)
- Recategorize: Fix incorrect categories, saved per-team
New Tools
ncaa_playbook_gui.py: Standalone playbook organizer GUIplaybook_categories.py: 2K5-style categorization system
Research Note
Play categories are initial GUESSES based on index ranges, NOT verified from game data. The S###.IFF play files use ENCS format which hasn't been fully decoded. Users should verify and recategorize as needed.
PWA
Mobile PWA: https://jtfresh90.github.io/NCAA-2K3-Roster-Editor/mobile/
Installation
Download NCAA2K3-Roster-Editor.exe (Windows, no Python needed) or run from source.
v1.11.0 - Roster Balancer (Desktop + PWA)
What's New
Roster Balancer (NEW)
Fix uneven roster sizes (37 to 113 players)!
Desktop:
- New '⚖️ Balance Rosters...' button
- Set min/max targets (e.g., 60-80)
- Teams below min receive players from teams above max
- Safe: only adjusts team boundaries, no data loss
PWA:
- New '⚖️ Balance Rosters' button on team screen
- Same functionality in JavaScript
- Download ISO to save
How it works
Players are stored sequentially. The balancer moves the boundaries between teams, reassigning players from large rosters to small ones. No player data is modified, only which team they belong to. Fully reversible.
Addresses sportshacker's report: 'why do some teams have a lot of players while others have 37?'
PWA Fix
- Fixed ISO load on iOS Safari (was blocked, now uses label)
📱 PWA
https://jtfresh90.github.io/NCAA-2K3-Roster-Editor/mobile/
Downloads
- Windows: NCAA2K3-Roster-Editor.exe (standalone, no Python needed)
Notes
- Work on a COPY of your ISO, never the original
v1.10.0 - Appearance/Equipment Editing
What's New
Appearance/Equipment Editing (NEW)
Edit player appearance and equipment in both Desktop and PWA:
- Skin Tone? (byte 17: 0-4)
- Face Mask? (byte 19: 0-2)
- Visor? (byte 20: 0-1)
- Sleeves? (byte 25: 0-2)
- Equipment 1-7 (various ranges)
These 11 fields were identified via statistical analysis:
- Small enum values (0-8) with limited unique values
- High variance between players (appearance varies)
- Typical for skin tone, face mask, helmet, sleeves, etc.
Previous Releases
- v1.9.0: Texture editor (13,738 textures inventoried)
- v1.8.0: PWA feature parity (rating names, playbook editor)
- v1.7.0: Position/number editing
Downloads
- Windows: NCAA2K3-Roster-Editor.exe (standalone, no Python needed)
- Mobile: https://jtfresh90.github.io/NCAA-2K3-Roster-Editor/mobile/
Notes
- Work on a COPY of your ISO, never the original
- Appearance labels marked * are unverified guesses
v1.9.0 - Texture Editor (Desktop + PWA)
What's New
Texture Editor (NEW - Research Preview)
- Desktop: New 'Textures...' button opens texture browser
- Lists inventoried textures with file, size, format
- Select PNG to replace (encoded to GameCube I8/RGB5A3)
- Outputs to new ISO file (_texmod.iso)
- PWA: New Texture Editor screen
- Lists textures, tap to select
- Upload PNG, JavaScript encodes to I8
- Download modified ISO
⚠️ Research Preview Warning
Texture formats are inferred, not verified in-game.
- Only 5 textures currently inventoried (elbow01-05)
- Format guesses based on size analysis
- Test replacements in Dolphin before trusting
- Inventory expansion in progress
Previous (v1.8.0)
- PWA feature parity: rating names, playbook editor, position/number
- Rating names from rating_names.json (user-editable, marked * if unverified)
Downloads
- Windows: NCAA2K3-Roster-Editor.exe (standalone, no Python needed)
- Mobile: https://jtfresh90.github.io/NCAA-2K3-Roster-Editor/mobile/
Notes
- Work on a COPY of your ISO, never the original
- Texture replacement is experimental
v1.8.0 - PWA Feature Parity + Rating Names
What's New
PWA Feature Parity
The mobile PWA now has all desktop roster features:
- Rating names: Statistically-inferred names (Speed, Strength, etc.) marked with * for unverified
- Playbook editor: View 132 plays per team, tap two to swap them
- Position/number editing: Dropdown and jersey number input
Rating Names (NEW)
rating_names.json: User-editable config with inferred rating names- Names based on statistical analysis (CBs peak at Speed, LBs at Strength, QBs low at Kick Accuracy)
- Marked with * in UI to indicate UNVERIFIED status
- Edit the JSON to correct names as you verify in-game
Desktop
- Rating labels now use inferred names from
rating_names.json - Unverified names marked with *
Downloads
- Windows: NCAA2K3-Roster-Editor.exe (standalone, no Python needed)
- Mobile: https://jtfresh90.github.io/NCAA-2K3-Roster-Editor/mobile/
Notes
- Rating names are statistically inferred, NOT confirmed in-game
- Work on a COPY of your ISO, never the original
- PWA loads full 1.3GB ISO in browser (may be slow on mobile)
v1.7.0 - Editable Player Names
v1.7.0 - Editable Player Names
Everything is now editable:
Player Info (NEW)
- Position: Dropdown (QB/RB/FB/WR/TE/OT/OG/C/DT/DE/LB/CB/SS/FS/K/P)
- Writes to ISO, updates the QB #12 display live
- Jersey Number: Spinbox 1-99
- Writes to ISO, updates the QB #12 display live
- Nickname: Custom text field
- Stored in a sidecar .nicknames.json (editor-side only)
- Shows as "Nickname" QB #12 in the editor
Ratings (v1.6.0)
- All 16 ratings editable, verified via statistical analysis
Note
NCAA games have no licensed player names — the game itself displays
position + number (QB #12). Nicknames are an editor convenience for
tracking your roster moves, like the other tools do.
Windows EXE (no Python required) attached automatically.
v1.6.0 - Ratings Editor Restored
v1.6.0 - Ratings Editor Restored
The v1.5.0 'misidentified' claim was wrong. Statistical analysis across all 7091 players proves bytes 43-58 ARE the 16 ratings:
| Position | Evidence |
|---|---|
| LB | R2=92, R3=82 avg (strength), 30s in throw ratings |
| QB | R8/R10/R13/R15=81 avg (throw ratings) |
| CB | Highest R1 avg (speed) |
Position-specific distributions confirm these are real, editable ratings.
Changes:
- Ratings editor fully restored and editable
- Click any player to see/edit their 16 ratings
- Changes write through to the ISO
- QB #12 labels, team browser, playbook editor all working
Windows EXE (no Python required) attached automatically.
v1.5.3 - Fix Player Click Crash
v1.5.3 - Fix Player Click Crash
Fixes the crash when clicking on a player:
- v1.5.2 started OK but closed when selecting a player
- Root cause: _on_player_selected accessed p.ratings (removed in v1.5.0)
Fix:
- Player selection no longer tries to load ratings
- Placeholder spinboxes stay disabled at 0
- Player label uses the QB #12 display format
Same as v1.5.2:
- Windows EXE (no Python required) attached automatically
v1.5.2 - Fix Startup Crash
v1.5.2 - Fix Startup Crash
Fixes the ImportError that prevented the v1.5.1 EXE from starting:
ImportError: cannot import name 'RATING_COUNT' from 'ncaa_rost'
Root cause: v1.5.0 disabled the ratings editor (bytes 43-58 are not ratings) but left broken references to the removed RATING_COUNT constant.
Fix:
- GUI defines RATING_COUNT locally for the disabled placeholder UI
- Deprecated rating methods now raise NotImplementedError with clear messages
Same as v1.5.1:
- QB #12 player labels
- Windows EXE (no Python required) attached automatically