Is it possible to change a game's .exe image based on variables within the game?

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Post Reply
Message
Author
User avatar
Offworlder
Regular
Posts: 114
Joined: Mon Aug 20, 2018 6:33 pm
Contact:

Is it possible to change a game's .exe image based on variables within the game?

#1 Post by Offworlder »

If so, how would I go about doing this?

To give an example, let's say the .exe image (i.e. the icon that's clicked to open the game) is the game's logo to start with. Then, when the player makes a specific choice while going through the game, the .exe image automatically changes to a picture of the MC's face.

If this can be done only after closing the game window, that would be fine, too! Automatic would be more ideal, but the ability to accomplish something even close to this is what's most important.

Any and all help is greatly appreciated!

EDIT: I'm also referring to and want to change the icon that shows on the dock/taskbar when the game is open.

rames44
Veteran
Posts: 233
Joined: Sun May 29, 2016 4:38 pm
Contact:

Re: Is it possible to change a game's .exe image based on variables within the game?

#2 Post by rames44 »

The icon you click to launch the game: No, I don’t think this is possible. That image is built into the exe - “compiled in” when you build your distribution. Modifying it requires a change to the physical executable. In theory, you could build a .lnk file that POINTED to your executable and which had a different icon, but I’ve never done that with Python. Google might be your friend there. But don’t forget that Windows isn’t the entire world - any techniques for that won’t work on MacOS or Linux.

The icon that shows up at the top left of the game window itself MIGHT be changeable since it comes from a different place, but this would probably require you to dig deep into the Ren’py Python to get hold of the required windowing objects.

User avatar
Offworlder
Regular
Posts: 114
Joined: Mon Aug 20, 2018 6:33 pm
Contact:

Re: Is it possible to change a game's .exe image based on variables within the game?

#3 Post by Offworlder »

Thank you responding! Unfortunately, I'm not quite advanced enough to understand how to accomplish your suggestions. x_x;;
The game I'm making is going to be a gift, so it's fine if it only works on Windows.

User avatar
PyTom
Ren'Py Creator
Posts: 16088
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Is it possible to change a game's .exe image based on variables within the game?

#4 Post by PyTom »

What you could do - might work, might not, might trigger your anti-virus - would be to build the game with the second icon. Grab the .exe from the zip file, store it in the game directory. Then when the game runs, it could copy the exe file from one place to another. The exe file isn't game specific, so you can copy one game's exe into another and it will probably work.

Something like:

Code: Select all

python hide:
     data = renpy.file("new.exe").read()

     with open(os.path.join(config.basedir, "old.exe")) as f:
         f.write(data) 
You may then need to run commands to clear the windows icon cache.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
Imperf3kt
Lemma-Class Veteran
Posts: 3785
Joined: Mon Dec 14, 2015 5:05 am
itch: Imperf3kt
Location: Your monitor
Contact:

Re: Is it possible to change a game's .exe image based on variables within the game?

#5 Post by Imperf3kt »

PyTom wrote: Sat Dec 29, 2018 3:46 am

You may then need to run commands to clear the windows icon cache.
Which unfortunately, won't take effect until explorer.exe service has been shut down and restarted - something the user will definitely notice (it causes Windows to go completely blank for a second)

And if you do it incorrectly, you end up with this:
Image (This is my own PC, I'm too lazy to bother fixing it)
Warning: May contain trace amounts of gratuitous plot.
pro·gram·mer (noun) An organism capable of converting caffeine into code.

Current project: GGD Mentor

Twitter

Post Reply

Who is online

Users browsing this forum: Bing [Bot], Google [Bot], trailsiderice