Parser for Perfect World guild icon lists - converts PNG icons to DDS atlas format with DXT5 compression
npm install pw-guild-icon-parserbash
npm install pw-guild-icon-parser
`
Usage
`typescript
import { addIcon } from 'pw-guild-icon-parser';
await addIcon({
fid: 2,
serverId: 100,
pngPath: './path/to/icon.png',
txtPath: './data/iconlist_guild.txt',
ddsPath: './data/iconlist_guild.dds'
});
// Creates: 100_2.dds in the TXT file
`
Requirements
- PNG files must be exactly 16x16 pixels (valid PNG format)
- The icon list file (iconlist_guild.txt) must follow the format:
- Line 1: Icon width (16)
- Line 2: Icon height (16)
- Line 3: Number of icons in width (62) - the game calculates: DDS width = line3 * line1
- Line 4: Number of icons in height (62) - the game calculates: DDS height = line4 * line2
- Line 5+: Icon names (format: serverid_fid.dds)
Note: The default icon 0_0.dds is automatically added as the first icon if it doesn't exist. The file maintains the grid dimensions (62) not pixel dimensions (992).
API
$3
Adds a new icon to the guild icon list.
Parameters:
- fid: number - Faction ID
- serverId: number - Server ID
- pngPath: string - Path to 16x16 PNG file (valid PNG format)
- txtPath: string - Path to iconlist_guild.txt
- ddsPath: string` - Path to iconlist_guild.dds (will be created/updated)