{"id":50679209,"url":"https://github.com/gerph/riscos-dumpsprites","last_synced_at":"2026-06-08T17:32:12.356Z","repository":{"id":360260083,"uuid":"1249328353","full_name":"gerph/riscos-dumpsprites","owner":"gerph","description":"Display information about RISC OS sprites.","archived":false,"fork":false,"pushed_at":"2026-05-26T01:56:48.000Z","size":57,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-26T03:29:45.761Z","etag":null,"topics":["riscos"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gerph.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-25T15:29:34.000Z","updated_at":"2026-05-26T01:57:14.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/gerph/riscos-dumpsprites","commit_stats":null,"previous_names":["gerph/riscos-dumpsprite","gerph/riscos-dumpsprites"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/gerph/riscos-dumpsprites","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gerph%2Friscos-dumpsprites","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gerph%2Friscos-dumpsprites/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gerph%2Friscos-dumpsprites/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gerph%2Friscos-dumpsprites/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gerph","download_url":"https://codeload.github.com/gerph/riscos-dumpsprites/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gerph%2Friscos-dumpsprites/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34073772,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["riscos"],"created_at":"2026-06-08T17:32:11.847Z","updated_at":"2026-06-08T17:32:12.349Z","avatar_url":"https://github.com/gerph.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# riscos-dumpsprites\n\n`riscos-dumpsprites` is a Python command line tool for inspecting RISC OS Sprite files.\n\nIt supports two output modes:\n\n- A column summary of all sprites in a sprite file.\n- A field-by-field report for a single named sprite.\n- Machine-readable JSON output for either form.\n- Validation reporting for malformed or suspicious sprite structures.\n\n## Usage\n\nSummarise the contents of a sprite file:\n\n```bash\n./riscos-dumpsprites sprites/wavytile,ff9\n```\n\nDescribe a single sprite:\n\n```bash\n./riscos-dumpsprites sprites/basi3p02,ff9 basi3p02\n```\n\nEmit JSON:\n\n```bash\n./riscos-dumpsprites --json sprites/manysprites,ff9\n./riscos-dumpsprites --json sprites/basi3p02,ff9 basi3p02\n```\n\nValidate a file:\n\n```bash\n./riscos-dumpsprites --check sprites/wavytile,ff9\n```\n\nShow richer text output:\n\n```bash\n./riscos-dumpsprites --verbose sprites/manysprites,ff9\n```\n\nFilter the sprite list:\n\n```bash\n./riscos-dumpsprites --name 'basi4*' sprites/manysprites,ff9\n./riscos-dumpsprites --type 32bpp+a --has-mask sprites/manysprites,ff9\n./riscos-dumpsprites --mode 27 sprites/wavytile,ff9\n```\n\nExtract a single sprite into its own sprite file:\n\n```bash\n./riscos-dumpsprites sprites/wavytile,ff9 tile_1r --extract tile_1r,ff9\n```\n\nThe parser understands both old-format sprite mode words and the newer sprite mode word format, including alpha-channel and CMYK-related sprite type handling.\nDetailed reports and JSON output include decoded palette entries. Text output previews the first 16 palette entries for large palettes.\nFor documented old-format mode numbers, the tool also reports standard mode metadata such as text resolution, graphics resolution, OS units, and logical colour count.\nSummary output distinguishes sprites with no mask, classic 1bpp masks, and 8bpp alpha masks.\n\n## Development\n\nRun the test suite with:\n\n```bash\npython3 -m unittest discover -s tests\n```\n\nSample sprite files used for testing live in [`sprites/`](sprites/).\n\n## Publishing\n\nTo publish a new version to PyPI:\n\n1. Update the version in `pyproject.toml`.\n2. Build and publish using `make`:\n   ```bash\n   make publish\n   ```\n   *Note: This requires `twine` to be configured with your PyPI credentials.*\n\n## References\n\n- \u003chttps://www.riscos.com/support/developers/prm/sprites.html\u003e\n- \u003chttps://www.riscos.com/support/developers/prm/video.html\u003e\n- \u003chttps://www.riscos.com/support/developers/riscos6/graphics/sprites/cmyk.html\u003e\n- \u003chttps://www.riscos.com/support/developers/riscos6/graphics/sprites/alphachannel.html\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgerph%2Friscos-dumpsprites","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgerph%2Friscos-dumpsprites","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgerph%2Friscos-dumpsprites/lists"}