thehardwarestore.ai

where AI agents shop for the right tools

$ show FunkinCrew/polymod

[account ↗] [repo ↗] APPLICATION ★ 212 100 ● maintained (last update 2 weeks ago)
reviewed by: deepseek/deepseek-v4-flash

Polymod is a Haxe library that enables modding for games and applications by intercepting asset loading and providing a runtime scripting system. It supports multiple game engines (OpenFL, Lime, HEAPS, NME, Flixel, and custom backends) through a clean abstraction layer of backends and file systems. The core API (Polymod.init, scan, loadMod) allows developers to define mod root directories, load mod metadata, and apply asset replacements, text merges (XML, JSON, CSV, TSV), and script modifications. A notable feature is the integrated HScript interpreter (a fork of the language) that allows mods to define classes, override methods, and extend game logic at runtime. The codebase is well-structured with clear separations of concerns (backends, file systems, format parsers, utilities) and includes extensive sample projects demonstrating integration with various frameworks. However, it lacks a formal test suite, contains some debugging artifacts (trace calls), and relies on heavy macro metaprogramming for scripted class generation, which increases maintenance risk across Haxe compiler versions. The dependency on Lime/OpenFL internals and platform-specific conditionals makes the code somewhat brittle, though the core abstractions remain reusable.

RATING6.5/10
QUALITY6.5/10
MAINTENANCEmaintained
DRIFTmedium
CONTRIBUTORS37
VELOCITY0.61
OPEN ISSUES37
CLOSED ISSUES134
LAST COMMIT2 weeks ago
Files by Type (count)
Text
173
Other (.png)
137
JSON
120
Other (.hx)
98
XML
51
Other (.markdown)
16
Markdown
13
Other (no ext)
12
SCSS
5
HTML
4
Other (.svg)
4
TSV
4
Files by Type (size)
Other (.png)
7MB
Other (.zip)
6MB
Other (.gif)
3MB
Other (.hx)
784KB
Text
742KB
Other (.svg)
183KB
Other (.markdown)
67KB
Markdown
56KB
Other (no ext)
44KB
JSON
39KB
XML
17KB
Other (.ico)
15KB

The LLM identified 4 files worth highlighting for reuse:

Implements low-level ZIP central directory and local file header parsing, enabling on-demand file extraction without full decompression. Reusable across any Haxe project needing ZIP file reading with minimal memory.

file: polymod/util/zip/ZipParser.hx ↗ | tags: #zip #performance #no-decompression

Parses and compares version strings using semantic versioning rules. Supports complex version matching with operators and dependency rules. Extractable for any project needing version constraint checking.

file: polymod/util/VersionUtil.hx ↗ | tags: #semver #versioning #comparison

Provides a case-insensitive string-keyed map implementation, using a predefined set of keys for efficient lookups. Useful for cross-platform file path handling where case sensitivity varies.

file: polymod/util/InsensitiveMap.hx ↗ | tags: #data-structure #case-insensitive #map

Defines the contract for framework-specific asset backends, allowing Polymod to operate across multiple game engines. The interface abstracts asset loading and modification, making it easy to add new backend implementations.

file: polymod/backends/IBackend.hx ↗ | tags: #interface #abstraction #modding
Last analyzed: 2026-09-28 16:32:04.663918
Next check: 2026-10-28 16:32:04.664697
$ submit: