Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This example code demonstrates how to read statistics screen data from the Anno 117 pipe. It establishes a connection with the game via a Windows pipe, reads statistics data and displays it in raw format using ImGUI.

Example

Experimental Feature

The pipe interface is provided as an easter egg and is primarily intended for curiosity, experimentation, and community-made tools. It should not be considered an official or supported API, and compatibility across game versions is not guaranteed. Likewise, the code in this repository is provided for documentation purposes only and should not be regarded as an officially supported SDK or reference implementation.

Data

Data available follows the format outlined in pipe.h:

struct ProductionEntryData
{
	std::int32_t ProductGuid;

	float ProductGeneration;
	float ProductConsumption;
	float ProductDelta;
	float PerfectProductGeneration;
	float PerfectProductConsumption;
	std::int32_t AmountOfBuildings;
	std::int32_t TotalMaintenance;
	float TotalIncome;
	std::int32_t TotalProfit;
	float SummedProductivity;
	float AverageProductivity;
	
	std::unordered_map<std::int32_t, std::int32_t> WorkforceGUIDtoAmount;
	std::unordered_map<std::int32_t, std::int32_t> BuildingGUIDtoAmount;
};

See pipe.cpp for the communication protocol.

Activation

The pipe can be activated by adding the launch argument /pipe to the game. Statistics data is sent periodically to the pipe.

Build

The script build.ps1 can be used to build the sample in a Visual Studio command line.

About

Anno 117 - Pipe Example

Resources

Stars

18 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages