Forza painter app with python

Overview

forza-painter

Discord: A-Dawg#0001 (AE)
Supports: Forza Horizon 5
Offically (OTHER v1.405.2.0, MS STORE v3.414.967.0, STEAM v1.414.967.0)
Unofficially (most versions should work)
License: MIT

KNOWN ISSUES (None right now!):

Please contact me on Discord A-Dawg#0001 if you have issues.

What is this for?:

Image → Geometrize → Forza Horizon 5 (Vinyl Group)

Does this work for the Steam version or the Microsoft Store version?

It now supports both! And it should work for older and future releases too thanks to pattern scanning.

How does it work?:

Geometrize breaks the images down into shapes and can export a .json data file.

forza-painter deserializes this .json data file and uses some math, reverse engineering and the Windows API to push these shapes into FH5 automagically.

READ EVERYTHING BELOW BEFORE ASKING FOR HELP

Requirements

  • Geometrize (https://www.geometrize.co.uk/)
  • python 3.9 64-bit (eariler versions may work but untested)
  • The below python packages (just install from the command line):
pip install psutil
pip install pywin32
pip install opencv-python

FAQ:

  • Will this get me banned!?
To preface this:
I take no responsibility for your use of this software.

You may be reported by players if you share the vinyls as they are extremely
detailed. Some players feel that making vinyl groups in this way is unfair as
they have had to suffer through learning the tool and were not able to use an
easy starting point.

This is a completely valid opinion, and with enough time, practice and talent
you CAN recreate extremely complex images. I just don't share the opinion that
you should have to.

As for FH5 detecting this; It is not a "cheat", it is not giving any player
an unfair advantage, it is not modifying game files or game code, and it is
not taking advantage of any exploits.

Interpret that as you feel. I believe this is a missing necessary feature
from the vinyl group designer.
  • My version is older/newer or it isn't working following the steps!
For unsupported versions, forza-painter will scan for a known pattern.
If it fails to find this pattern, it will notify you.
Most versions should work fine, but others may need tweaking.
  • Will you update this to support newer versions?
It should automatically support newer versions providing the memory structures remain similar.
In the event of it failing on a new version I will revise the code.
  • I have an error that I don't understand...
Check the requirements above.
Ensure you have python 3.9 or later installed (make sure it is 64-bit) by running
`python` from the command prompt and that you have installed the python packages.
If you can't manage this, I probably can't help you.
If you are still having problems, contact me on Discord if you wish.
  • Can you make a version that just uses inputs to create the shapes?
I can, but I won't. I've open sourced this for a reason.
Feel free to take it and make changes as you wish as permitted by the MIT licence.
Just throw me [A-Dawg#0001 (AE)] a little credit.
  • My issue is not listed
Feel free to create an issue or contact me on Discord A-Dawg#0001

Making your template Vinyl Groups (reuse these)

  • Open Forza Horizon 5 and create a new Vinyl Group.
  • Just make one sphere and duplicate it for as many layers as you need. Color, size, scale, etc. DO NOT MATTER.
  • Save this as a template as something identifiable e.g. forza-painter 3000 shapes.

Note: When you load these templates the shapes will be grouped, make sure you select them and UNGROUP before using.

Using forza-painter to recreate the .json file (from Geometrize) in Forza Horizon 5:

  • First generate the .json file in Geometrize (see below steps).
  • Open a template with the number of shapes (all spheres) that you desire to represent your geometry (see above steps) then UNGROUP it.
    • e.g. if you load 500 spheres and ungroup, it will only use those 500 spheres
  • Finally, just drag the .json geometry onto the drag_geometry_file_here.bat batch script, python will do the rest.

Using Geometrize to generate your .json geometry:

  • First Disable Image Downscaling in File → Global Preferences → Performance

  • Then after loading any image, use the below settings:

  • Wait for the number of shapes you want to target (1000, 3000 or something smaller if you wish).
  • Finally click the Exporters tab at the bottom of the panel and select Save Grometry Data..

Convert any binary data to a PNG image file and vice versa.

What is PngBin? The name PngBin comes from an image format file extension PNG (Portable Network Graphics) and the word Binary. An image produced by Pn

Nathan Young 87 Dec 22, 2022
Simple AI app that is guessing color of apple in picture

Apple Color Determinant Application that is guessing color of apple from image Install Pillow, sklearn and numpy, using command for your package manag

Gleb Nikitin 1 Oct 25, 2021
API to help generating QR-code for ZATCA's e-invoice known as Fatoora with any programming language

You can try it @ api-fatoora api-fatoora API to help generating QR-code for ZATCA's e-invoice known as Fatoora with any programming language Disclaime

نافع الهلالي 12 Oct 05, 2022
sK1 2.0 cross-platform vector graphics editor

sK1 2.0 sK1 2.0 is a cross-platform open source vector graphics editor similar to CorelDRAW, Adobe Illustrator, or Freehand. sK1 is oriented for prepr

sK1 Project 238 Dec 04, 2022
Forza painter app with python

forza-painter Discord: A-Dawg#0001 (AE) Supports: Forza Horizon 5 Offically (OTHER v1.405.2.0, MS STORE v3.414.967.0, STEAM v1.414.967.0) Unofficially

320 Dec 31, 2022
Random collage/montage generator with drop-shadow

Random Collage Example Usage These are the sample input files in $PWD for the below examples: 1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10

M B 1 Dec 07, 2021
Extract the ISO 11146 beam size from an image file

laserbeamsize Simple and fast calculation of beam sizes from a single monochrome image based on the ISO 11146 method of variances. Some effort has bee

Scott Prahl 21 Jan 06, 2023
Steganography Image/Data Injector.

Byte Steganography Image/Data Injector. For artists or people to inject their own print/data into their images. TODO Add more file formats to support.

Ori 4 Nov 16, 2022
Create QR Code for link using Python

Quick Response QR is short and named for a quick read from a cell phone. Used to view information from transitory media and put it on your cell phone.

Coding Taggers 1 Jan 09, 2022
An ascii art generator that's actually good. Does edge detection and selects the most appropriate characters.

Ascii Artist An ascii art generator that's actually good. Does edge detection and selects the most appropriate characters. Installing Installing with

18 Jan 03, 2023
Py3D - A 3d rendering engine written entirely in python

Py3D is a 3d rendering engine written entirely in python. It is a simple and eas

1up Community 2 Nov 14, 2022
Alternate Python bindings for the Open Asset Import Library (ASSIMP)

Impasse A simple Python wrapper for assimp using cffi to access the library. Requires Python = 3.7. It's a fork of PyAssimp, Assimp's official Python

Salad Dais 3 Sep 26, 2022
Draw a torus passing through three given points.

PyTorusThreePoints Draw a torus passing through three given points. Usage import numpy as np import pyvista as pv from torus_three_points.main import

2 Nov 19, 2021
Convert photos to paintings with python

Convert-photos-to-paintings Before the changes After the changes Before the changes After the changes This code is written in the Python programming l

Amir Hussein Sharifnezhad 3 May 31, 2022
A tool and a library for SVG path data transformations.

SVG path data transformation toolkit A tool and a library for SVG path data transformations. Currently it supports a translation and a scaling. Usage

Igor Mikushkin 2 Mar 07, 2022
📷 Python package and CLI utility to create photo mosaics.

📷 Python package and CLI utility to create photo mosaics.

Loic Coyle 7 Oct 29, 2022
DrawBot is a powerful, free application for macOS that invites you to write Python scripts to generate two-dimensional graphics

DrawBot is a powerful, free application for macOS that invites you to write Python scripts to generate two-dimensional graphics.

Frederik Berlaen 344 Jan 06, 2023
Python Program that lets you write in your handwriting!

Handwriting with Python Python Program that lets you write in your handwriting! Inspired by: thaisribeiro.in How to run? Install Unidecode and Pillow

Amanda Rodrigues Vieira 2 Oct 25, 2021
Python class that generates pixel art from images

Python class that generates pixel art from images

Richard Nagyfi 1.4k Dec 29, 2022
Bringing vtk.js into Dash and Python

Dash VTK Dash VTK lets you integrate the vtk.js visualization pipeline directly into your Dash app. It is powered by react-vtk-js. Docs Demo Explorer

Plotly 88 Nov 29, 2022