Code Monkey home page Code Monkey logo

grayeuroscope's Introduction

EuroScope, but in dark gray!

Let's face it, EuroScope is ugly. The green color it has doesn't even match the real-world TopSky system, and it just looks bad. It matches the real-world Matias system from Hungary, which is great if you're controlling Hungary, but if you're controlling elsewhere it's just ugly. Should you be a controller for not Hungary, here's a solution! This will make your EuroScope a pleasant dark gray.

This is distributed as a binary patch to avoid copyright issues.

NOTE: THIS IS MADE FOR EUROSCOPE 3.2.3. ANY OTHER VERSION WILL BREAK.

The steps are simple:

  • If you have already installed this patch and are installing a new version, restore the original exe through whatever means. (running the installer in repair mode works.)
  • Get DeltaPatcher and extract it somewhere.
  • Make a backup of your EuroScope exe. You can always repair the install with the ES installer, but it's handy to have.
  • Once you've gotten DeltaPatcher and extracted it, open it up.
  • Select the EuroScope exe as the original file.
  • Select ESDarkGray.xdelta from this repository as the XDelta patch.
  • Press apply patch.

Your EuroScope is now dark gray. If you would like your TopSky to match, copy the lines from this repository's TopSkySettingsLocal.txt into the file in your EuroScope profile directory of the same name. The chat box will stay green by default, but you can fix that in the symbology settings.

Screenshots

First screenshot. This second screenshot shows the TopSky color scheme working too: Second screenshot, showing TopSky theme.

Color Palette

  • #262626
  • #4b4b4b
  • #6d6d6d
  • #131313
  • #000000

For now this is an unrealistic dark gray, but if enough people want it I can probably make a light gray too some time.

Technical stuff: How I did it

There were two nuts to crack here. The first was relatively easy -- there are several bitmaps inside the EuroScope executable that contain a lot of icons and knick knacks. I had to extract these, edit them by hand to match the new color scheme, save them, and stuff them back in the EXE. Once I found a suitable tool (RisohEditor works the best, from my testing.), it was merely a question of editing these bitmaps en masse and then stuffing them back in. Repetitive, but relatively simple, except in the case of text. Text in these bitmaps seemed to be dithered, which meant I couldn't just toss the paint bucket on it. I've tried my best to match the text as close as possible, though dithering has been removed, and some text has been re-rendered.

As for the parts that aren't bitmaps? That was a doozy. I pulled out Ghidra, thinking "oh I'll just search the program memory for 0b4136 (one of the primary colors)". It was not that simple. See, Windows's drawing APIs (at least the ones used here), store colors as BGR, instead of the standard RGB. Note that this isn't a little- vs big-endian issue -- Ghidra accounts for that when searching. Microsoft documents this, I just had to find it. I spent quite a while trying to search for just the individual components in case that was how it got constructed. Eventually, though, I thought to look at calls to FillRect. I read the docs, and that led me to look for calls to CreateSolidBrush.

I was still getting nowhere. The calls I could find left me disoriented and confused when I tried to trace back the calls. Eventually, I once again looked at the documentation. I thought maybe Microsoft was storing the colors in a weird way. Sure enough, they were. BGR. Once I realized that, I searched for 36410b and instantly found what I was looking for. After doing that, I just had to identify all colors needing replaced, and replace all instances. I did that, patched the exe, and bam. My EuroScope is grey.

grayeuroscope's People

Contributors

judemille avatar

Stargazers

Kristián Kunc avatar Tallerik avatar ColaIan avatar Pierre avatar Chris Globe avatar Mark-Julius Pikat avatar Federico Handl avatar

Watchers

 avatar

Forkers

thawek atoair

grayeuroscope's Issues

Request - Light Gray Colour

Hi there,

great addition to EuroScope!
As you mentioned in the description already: I just wanted to express my interest in having this with a light grey colour (e.g. HTML: #4E5559) to match better with the TopSky-Setup many European Subdivisions (ESAA, LOVV, EGTT, just to name a few) use.

Thanks!

Delta Patcher Error

[12:53:14] Original file "EuroScope.exe" selected.
[12:53:21] Patch file "ESDarkGray.xdelta" selected.
[12:53:24] Applying patch, please wait... (don't panic!)
[12:53:24] An error has occurred: xdelta3: source file too short: XD3_INVALID_INPUT

Running on Windows 10

Latest EuroScope version

Hello,
I'm trying to apply this patch, however I keep getting an error regarding version mismatch. The EuroScope looks much better with those gray accents. Is it possible to get support for the latest version (3.2.9)?

Thanks

Patch fails on ES 3.2.6

As per title, 3.2.6 seems to work nicely. Would appreciate an updated patch to work with 3.2.6

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.