Skip to content

Image Tournament Building from Source

speedyrulz edited this page Oct 28, 2026 · 1 revision

Building from Source

Build

.\build.ps1          # builds bin\RulZ Image Tournament.exe
.\build.ps1 -Test    # also builds and runs the bracket logic tests first

The build uses the C# compiler that ships with Windows (.NET Framework 4.8), so no SDK or Visual Studio is needed. Both logos (white lettering for dark, black for light) are embedded in the .exe, so the app is still a single file.

launch.bat and install.bat run the build for you.

Project layout

Path What's in it
src\Tournament.cs The bracket: pairing, byes, rounds, saving and loading. No UI code.
src\LoadedImage.cs Decodes an image fully into memory (GDI+ first, then Windows Imaging Component for WebP/HEIC), applies camera rotation, and builds smaller copies for fast drawing.
src\CompareView.cs The custom-drawn view: side-by-side and split modes, synced zoom and pan, the divider.
src\MainForm.cs The main window: toolbar, picking, Losers handling, undo, drag and drop, resume.
src\ChooseLook.cs The first-run "Choose your look" window.
src\Support.cs Color palettes (dark and light), settings storage, and small Windows helpers such as the folder picker.
src\Program.cs Entry point and version number.
tests\TournamentTests.cs Tests for the bracket logic.
tools\make_logo.py Builds the logo files and app icon from assets\logo-source.webp (needs Pillow).
launch.bat, install.bat, uninstall.bat Run, install and remove the app.

Tests

.\build.ps1 -Test covers the bracket: pairing order, byes, every image count from 0 to 70 (each image loses exactly once, and there are n − 1 matches), saving and loading mid-tournament, undo, and adding or removing images mid-round.

The interface itself isn't covered by automated tests; it's checked by running the app.

Changing the logo

Replace assets\logo-source.webp (a logo on a white background), run python tools\make_logo.py, then .\build.ps1. It makes the transparent logos for both looks and the app icon.

Contributing

Issues and pull requests are welcome at the repository. The source is under the MIT License. The RulZ name and logo are excluded from it. If you fork or redistribute the project, replace the branding; see LOGO-NOTICE.md.

RulZ AI Tools Suite

The apps

RulzTrainer

README (full reference) Releases

Rulz Training Captioner

Getting started

Using the app

Models and GPUs

Reference

GitHub repository

RulZ LLM Suite

Using the app

Reference

Contributing


Releases · Issues · Source

RulZ Coding Agent

Using the app

Reference

Contributing


Releases · Issues · Source

RulZ Image Organizer

Using RulZ

More

RulZ Image Tournament

Using the app

Developers

RulZ Image Crawler

Getting started

Using the app

Help

README (full reference)

RulZ Image Preparer

Getting started

Using the app

Reference

README (full reference)

RulZ Image Grid

Using the app

Help

README (full reference)

RulZ Simple Video Clip Extractor

Getting started

User guide

Help

Clone this wiki locally