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..

Python framework for creating and scaling up production of vector graphics assets.

Board Game Factory Contributors are welcome here! See the end of readme. This is a vector-graphics framework intended for creating and scaling up prod

Adam Volný 5 Jul 13, 2022
Png2Jpg tool will help you convert from png image format to jpg images format.

PNG 2 JPG All codes assume running from root directory. Please update the sys path at the beginning of the codes before running. Over View Png2Jpg too

Nguyễn Trường Lâu 2 Dec 27, 2021
🎶😤 Generate an image indicating what you are listening to 😳

I'm Listening to This (song that I've sent you an image about detailing its metadata in a nifty way) Few lines describing your project. 📝 Table of Co

Connor B - Viibrant 4 Nov 03, 2021
Combinatorial image generator for generative NFT art.

ImageGen Stitches multiple image layers together into one image. Run usage: stitch.py [-h] backgrounds_dir dinos_dir traits_dir texture_file

Dinosols NFT 19 Sep 16, 2022
A not exist person image generator python module

A not exist person image generator python module

Fayas Noushad 2 Dec 03, 2021
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
A pure python implementation of the GIMP XCF image format. Use this to interact with GIMP image formats

Pure Python implementation of the GIMP image formats (.xcf projects as well as brushes, patterns, etc)

FHPyhtonUtils 8 Dec 30, 2022
Javascript image annotation tool based on image segmentation.

JS Segment Annotator Javascript image annotation tool based on image segmentation. Label image regions with mouse. Written in vanilla Javascript, with

Kota Yamaguchi 513 Nov 15, 2022
A python script for extracting/removing exif data from images by @AbirHasan2005

Image-Exif A Python script for extracting exif metadata from images. How to use? Using this script you can extract exif data from image and save in .c

Abir Hasan 13 Dec 16, 2022
Quickly 'anonymize' all people in an image. This script will put a black bar over all eye-pairs in an image

Face-Detacher Quickly 'anonymize' all people in an image. This script will put a black bar over all eye-pairs in an image This is a small python scrip

Don Cato 1 Oct 29, 2021
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
Multi-view 3D reconstruction using neural rendering. Unofficial implementation of UNISURF, VolSDF, NeuS and more.

Multi-view 3D reconstruction using neural rendering. Unofficial implementation of UNISURF, VolSDF, NeuS and more.

Jianfei Guo 683 Jan 04, 2023
Pixel Brush Processing Unit

Pixel Brush Processing Unit The Pixel Brush Processing Unit (PBPU for short) is a simple 4-Bit CPU I designed in Logisim while I was still in school a

Pixel Brush 2 Nov 03, 2022
This tool allows the user to convert a 16 by 16 image into a list with numbers representing an object/character.

Room Formatter This tool allows the user to convert a 16 by 16 image into a list with numbers representing an object/character. There is cur

Thomas Landstra 1 Nov 13, 2021
This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler.

Freedom to build what you want FreeCAD is an open-source parametric 3D modeler made primarily to design real-life objects of any size. Parametric modeling allows you to easily modify your design by g

FreeCAD 12.9k Jan 07, 2023
A drop-in replacement for django's ImageField that provides a flexible, intuitive and easily-extensible interface for quickly creating new images from the one assigned to the field.

django-versatileimagefield A drop-in replacement for django's ImageField that provides a flexible, intuitive and easily-extensible interface for creat

Jonathan Ellenberger 490 Dec 13, 2022
Image2scan - a python program that can be applied on an image in order to get a scan of it back

image2scan Purpose image2scan is a python program that can be applied on an image in order to get a scan of it back. For this purpose, it searches for

Kushal Shingote 2 Feb 13, 2022
With this simple py script you will be able to get all the .png from a folder and generate a yml for Oraxen

Oraxen-item-to-yml With this simple py script you will be able to get all the .png from a folder and generate a yml for Oraxen How to use Install the

Akex 1 Dec 29, 2021
Ascify-Art - An easy to use, GUI based and user-friendly colored ASCII art generator from images!

Ascify-Art This is a python based colored ASCII art generator for free! How to Install? You can download and use the python version if you want, modul

Akash Bora 14 Dec 31, 2022
This projects aim is to simulate flowers(Gerbera Daisy) phyllotaxis.

phyllotaxis This projects aim is to simulate flowers(Gerbera Daisy) phyllotaxis. Take a look at the arrangement of this flower's seeds, this project's

amirsalar 3 Dec 10, 2021