[GRAPHICS/PYTHON] Religious HUD

xienwolf

Deity
Joined
Oct 4, 2007
Messages
10,589
Location
Location! Location!
Version 0.54​

(Screenshots in Download Thread)

Updated for 2.32 patch E


This Mod is completely graphical. The only thing which it does is to change your Heads Up Display (HUD) when you change religions. This requires a modification to the python files CvMainInterface and CvEventManager (to make the game decide to update the screen, which it normally doesn't do, and to re-arrange the screens a little bit because when it does leaves the mini-map behind the GUI. If anyone knows how to move the Minimap to the front it'll save a couple dozen lines moving other things to the back.


Minor Errors:
  1. On occasion I have had Python Exceptions pop up on me when going from one screen to another. I have no clue so far what precisely is causing them as they are highly irregular, and not very informative. I suspect it was largely due to me swapping Eras so often and jumping between screens rapidly.
  2. Would like to remove or customize the background used for each button. Haven't found precisely where to do that yet, but need to learn how to make the Mouseover and Mousepress functions work to change the graphics first anyway.

Thus far I have not modified anything but the City Screen and the Main Interface. That means that all of your Advisor screens will seem bland/out of place by comparison. I am posting without having done those for the moment because I am not sure I will have as much free time to work on this in the near future.

Also, Pop-up boxes haven't been modified yet either. Those ones look REALLY ought of place when you get them sadly.



For Mod-Mod-Modders and other interested Individuals: I have attempted to sort the code to make the most possible sense. As you can see, you could easily base it off of ANYTHING you want to. I highly encourage anyone who has the time to customize the button layout and actual window placement to their heart's content.

It could be possible to make animated HUDs as well, if you place an update command in the section of CvMainInterface which updates every 250ms, but that might wind up being a bit too harsh on processor speed. I'm also hoping you can change the Cursor with the Era, but haven't looked into doing so just yet.

Once again: I highly encourage anyone with any artistic skills to feel more than welcome to enhance the interface in any way that they please. If enough people create interfaces I can modify the SDK to have GameOptions for selecting what kind of Interface you want (Civ Specific, Religion Specific, Grey Fox's Style, Psychic_Lama's Style, basic Civ.... whatever possibilities emerge)

I made a version for normal BtS (if anyone still plays that) which can be found here. RoK is Ancient Era, AV is Classical & Medi, Empyrean for Ren/Industrial, standard Civ for Modern, and Esus for Future.
 
Found a small bug when making a version for Vanilla BtS. I guess you cannot click on the Science Slider. So after dinner I'll work on changing that, and I'll swap to the IF/ELIF structure since I re-arranged the screen to work better while I was making the vanilla version.
 
This is really really cool work (and a fantastic idea). The actual screens themselves are to dramatic, way beyond what is comfortable to use (in my opinion).

I really love the border you have on the gold one. I wonder if we could do something less dramatic for each. Maybe just a shading of the typical gold interface or a change to those border graphics. Border shapes something like the following:

The Order- Ivory and a sword
Empyrean- Gold and the Sun
Runes- Stone and runes
Fellowship- Wood and leaves
Esus- Onyx
Overlords- Green and Octopus
Veil- Black with red demonic symbols

If your interested I'll ping seZ and see if he can help out with the 2d art. He does such a great job with that stuff.
 
New version uploaded. I moved the screen updates into the IF/THEN statements so it isn't called every turn. I started to get annoyed by the buttons flashing off at the start of each turn.

Tried to make a function for it so I could call it in a single line, but I wasn't able to figure out how to call a function from within the python. A bit different from setting up a new function in the SDK I guess.

Also moved to an IF/ELIF for the screens so that I could customize the precise location of each one. Gotta figure out this dang button thing and then I can start playing with where even more things are :)

Overall I feel that the screens ALL look better now. FoL is less busy. OO is now the only one which really bugs me and NEEDS fixed up, but I can't figure out how to pull off a nice "Pirates of the Carribean - Davey Jones" motif.

EDIT: Crossposted with Kael there. I would adore it if SeZ would go ABSOLUTELY WILD with designing whatever kind of interface he wants to. Tell him that there is absolutely no limit on his placement of pieces on the screen and when I get the artwork I'll make sure that things still work in the end. Having a real artist do the art part would free me up to get a bit more creative with the code and "tricks" on my end.

And if he can pass along PSD files with as much layer information retained as possible that opens up more possibilities for what I can do with it. I'm planning ot work on trimming down a bit on the borders in the City Screen tomorrow.

I'd encourage you to take a look at the new .51 version. Just shrinking the borders back to the "normal" locations really helped a lot with improving how they look all around. (New Screenshots on the Download Link now as wel)
 
I strongly dislike most of them (they are far too garish), but the idea looks like it could be very nice once the art is redone.
 
Well, if OO drives you mad then it is PERFECT!

Really those 2 were my least favorite. I couldn't pull off the picture I had in my mind (and actually both of those had animated pictures in my mind anyway).


New version uploaded with a completely redone OO and FoL. Also all of the backgrounds are now semi-transparent, like the base Civ was set up. Makes them all a bit more tolerable on the eyes. I can probably bring the help text back down again, but I haven't done so yet. I'll look into that next revision. (Hopefully someone else has provided graphics by then though!)

PSD files are no longer included. I am changing my templates around so that I'll have 3 for each Religion, and that means I would massively exceed the 10 MB limit. But it also means that the borders will blend together more seemlessly between pieces.
 
I just hadn't looked to find where that is done. The initial draft used the era so that I could have a numeric hitch. But I just looked for the Religion change section of Python and put the code there instead of in each Era area. I am happy to report it works flawlessly and you now get an instant change of screen :)

EDIT: Efficient Code is worth a new upload. .53 is up.
 
While the new screens aren't quite as bad, I still think we need to get SeZereth to do all the art for the version that should be included in the main mod.

These all seem inappropriate for their religions, imho. The RoK or AV ones would be ok for Esus though.
 
How about an FFH "Agnostic" theme decorated with little gods and goddess being put to the sword, burning Temples, that sort of thing?

Just a suggestion. ;)
 
Have to have a look at this. but first I have to recover from the last 3 days. too exhausting, can´t think clearly yet ;)
But as soon as I had time to investigate the possibilities, I will try to come up with some good looking stuff ;)

(actually I was hoping for a reworkable interface for ages now, thanks xienwolf!!!!!)
 
A civ-specific version might be really nice, and you could even give extra clues to players about how the civ functions without forcing them to read text if you were clever (cleverer than me!) about it.

In fact, if you went along Kael's lines above of changing a few elements like the borders with religion, you could set up one for each civ and then update it slightly to reflect religion or alignment or something. With broader alignments, would it possible to adjust the brightness so that as you shifted towards evil the whole thing became darker, or if you started as say the Bannor and became a paragon of good via the Order, everything became really bright? That would be incredible for immersion, but a lot of work I guess :D
 
Well, if you were only changing a single variable, it would be possible to just use the alignment number to control it directly. But it'd be hard to make something that looks good and is controlled by a single variable (no Gamma Level control that I know of, and even if there were that'd make being TOO good or Evil painful :)).

I had thought about Civ specific elements with small tweaks for religion. But that falls in category with just doing the Civ specific bits: I can barely pull off 7 HUDs that don't make people want to do me bodily harm, 21 would be insane ;)
 
Have to have a look at this. but first I have to recover from the last 3 days. too exhausting, can´t think clearly yet ;)
But as soon as I had time to investigate the possibilities, I will try to come up with some good looking stuff ;)

(actually I was hoping for a reworkable interface for ages now, thanks xienwolf!!!!!)

guess we can't expect anything until the soccer EM is over then:D
 
Well, if you were only changing a single variable, it would be possible to just use the alignment number to control it directly. But it'd be hard to make something that looks good and is controlled by a single variable (no Gamma Level control that I know of, and even if there were that'd make being TOO good or Evil painful :)).

If you add two background images (dark grey and near white) to the colored sections and alter the alpha of those, whilst having the colour sections semi-transparent, you could increase the "dark" by making the dark layer more opaque whilst the light layer stays fully transparent. Likewise for making it lighter - increase the light layer's opacity and keep the dark transparent.

Pseudocode - Align is a BA alignment from -500 to 500, so the opacities would be -125 to 125 - still semi transparent.
Code:
If Align < 0:
	darkLayerOpacity = -(Align/4)
	lightLayerOpacity = 0
else:
	darkLayerOpacity = 0
	lightLayerOpacity = Align/4

Not sure how easy it is to handle the Alpha/Opacity on the fly though.
 
Great concept, I had been hoping for this for a while - or maybe per - civ based on team colour, but I digress. . .
Not sure if its been done, but I went ahead and made a compatibility patch for Vehem's Fall Further 0.33 and this mod - just merged the code from the two conflicting python files. Its a bit broken I'm sure, but playable. Just install FF 33, then the Religious hud mod, and unzip my edited files in the FFH 32e directory. Note, this may break savegames, if you want, back up the two replaced files and test it.

Don't bother reporting bugs, as there is no thread in which to do so, but PM me if it doesn't something insane to your game or if your Vehem or Xienwolf and want this taken down. This will probably be obsolete within a week - I suspect Kael's got something brewing that involves BTS 3.17, Xienwolf's code and Sez. . .
 
Top Bottom