Note: For my use-cases, foxhole-screenparse has been fully replaced
by github.com/GICodeWarrior/fir, which is better in basically
every regard. Foxhole-screenparse is therefore unmaintained now and
i suggest you also direct your efforts towards fir.
Foxhole-screenparse reads contents of stockpile screenshots to ease logistics planning. To calculate valuable information from the stockpile data, foxhole-screeparse is integrated into the Stocks v6.4 demo Google Spreadsheet (copy sheet). Note that the screenparser sidebar only works when logged in.
Foxhole-screenparse is also available as a standalone website with a simple table output.
Here you find a checklist for what to do when setting up the spreadsheet for your clan at the start of a war.
Item tech as of start of war: Stocks v6 template
We suggest to set the following gloabl and per-sheet/tab settings:
Spreadsheet global: everyone who has the document link can edit (everyone in your clan can update the stockpiles)
Per sheet access:
Overview, ..., Everything, Vehicles
should only be writable by sheed developers (admins).Input / Screenparse
by everyone (it is source for stockpile data)Settings
by your clans logistics officers to enable/disable stockpiles and set targets.
To increase security you can restrict access to the entire spreadsheet to verified google accounts only.
We strongly recommend to create a new copy of the file for each war. This way the spreadsheet link changes regularly which protects against data leaks.
Set the stockpile town
names, region
and description
and put checkboxes to on which tabs the stockpile should be displayed. When checking checkboxes too quickly, google scripts may time out and the automated unfolding of stockpiles in other tabs may fail. Just retry in such cases.
- Publish the link to the spreadsheet in your clan/discord.
- Leave a note in the spreadsheet which is being replaced about its deprication.
- Occasionally update the tech status.
Foxhole-screenparse parses contents of stockpiles into machine-readable lists. It uses a naive image processing approach using openCVs template matching and tesseract for OCR/text recognition. Both of those libraries run directly in your browser using wasm and thelike.
screenparse | Stockpiler | fir | |
---|---|---|---|
platform | browser based | windows app | browser based |
Seaports/Storage Depots | yes | yes | yes |
Bunker Bases etc. | partially | yes | yes |
Supports different resolutions | 1080p - 4k | manual work required | everything |
Supports modded item icons | some | manual work required | excellent |
imaging tech | openCV, tesseract OCR | openCV | machine learning |
language | js | py | js |
This repo contains two sub-projects: A standalone statically served website (./index.html
) and a google spreadsheets sidebar (./apps-script/
).
Clone this repository with all submodules: git clone --recurse-submodules [repourl]
Pull to fetch updates: git pull && git submodule update
Run a debugging server: make debug
The webpage has no backend, so just shove the files into some webroot or so which has its files statically served (i.e. make install
).
Use make appsscript
to package the files (./apps-script/build
). Those files will be pushed to google via googles clasp
. You can just as well copy and paste the build files to the Apps Script
area of your spreadsheet to incorporate the sidebar, for example if you don't have clasp installed.
This project can use some work on the front-end. The frontend could be set up with proper compilation steps (react).
While the output table is built to be exported into spreadsheets, the relevant spreadsheet functionality could directly be built into the website.