OpenXcom Forum

Modding => OpenXcom Extended => OXCE Suggestions DONE => Topic started by: WarStalkeR on February 17, 2024, 06:11:41 pm

Title: [DONE][Suggestion] Bigger Facility Preview for Ufopaedia
Post by: WarStalkeR on February 17, 2024, 06:11:41 pm
Hello again, Meridian. I spoke with Yankes and he told me to get touch in you, since the part of the code I altered is most likely related to you (since UI coding is within your domain).

The idea for this suggestion has popped up for me after I've player XPZ and seen 3x3 facilities there, which have incomplete Ufopaedia preview. Basically, all code is already implemented in this commit: https://github.com/WarStalkeR/OpenXcomExMore/commit/7ebed321cddf51dfde67414bd52514175317fbbc

I've replaced original part of code:
Code: [Select]
if (facility->getSize()==1)
{
x_offset = y_offset = tile_size/2;
}
else
{
x_offset = y_offset = 0;
}
With universal formula that is applicable for any size:
Code: [Select]
x_offset = (tile_size * std::max(0, Options::oxcePediaFacilityMaxWidth - facility->getSize())) / 2;
y_offset = (tile_size * std::max(0, Options::oxcePediaFacilityMaxHeight - facility->getSize())) / 2;
(I even prepared it for it, when I will be doing rebase for the version with independent Width/Height parameters).

Original '_image' definition:
Code: [Select]
_image = new Surface(tile_size*2, tile_size*2, 232, 16);
Was also replaced with universal code:
Code: [Select]
_image = new Surface(
tile_size * std::max(1, Options::oxcePediaFacilityMaxWidth),
tile_size * std::max(1, Options::oxcePediaFacilityMaxHeight),
232 + Options::oxcePediaFacilityOffsetX,
16 + Options::oxcePediaFacilityOffsetY);
Default parameters are 2, 2, 0, 0 - thus all mods that don't care about that feature won't see any change, nor will need to add/remove something.

Please take a look at commit and tell me what should I improve in this code (what to rewrite, maybe use something else instead of option variables and what to use as reference), so it will be worthy of creating pull, where you won't need to spend time fixing my code like last time :D
Title: Re: [Suggestion] Bigger Facility Preview for Ufopaedia
Post by: Meridian on February 17, 2024, 09:54:15 pm
The only change I would do is to move the parameters from options.cfg to the ruleset.

(options.cfg is meant for user options, rulesets are meant for modder options... and I assume this is a modder feature only)

Like this:

https://github.com/MeridianOXC/OpenXcom/commit/376e136720222b5146f7ad984576ab4284bb5bca

Code: [Select]
constants:
  extendedPediaFacilityParams: [3, 3, -16, -16] # oxcePediaFacilityMaxWidth, oxcePediaFacilityMaxHeight, oxcePediaFacilityOffsetX, oxcePediaFacilityOffsetY
Title: Re: [Suggestion] Bigger Facility Preview for Ufopaedia
Post by: WarStalkeR on February 18, 2024, 05:31:53 pm
The only change I would do is to move the parameters from options.cfg to the ruleset.

(options.cfg is meant for user options, rulesets are meant for modder options... and I assume this is a modder feature only)

Like this:

https://github.com/MeridianOXC/OpenXcom/commit/376e136720222b5146f7ad984576ab4284bb5bca

Code: [Select]
constants:
  extendedPediaFacilityParams: [3, 3, -16, -16] # oxcePediaFacilityMaxWidth, oxcePediaFacilityMaxHeight, oxcePediaFacilityOffsetX, oxcePediaFacilityOffsetY
Got it! Then I will change code accordingly.
Title: Re: [Suggestion] Bigger Facility Preview for Ufopaedia
Post by: Meridian on February 18, 2024, 05:33:39 pm
Can I push this commit already, or is there something else to wait for?
Title: Re: [Suggestion] Bigger Facility Preview for Ufopaedia
Post by: WarStalkeR on February 18, 2024, 06:24:07 pm
Sure, you can push it. I'm pretty sure I haven't missed any code.
Title: Re: [Suggestion] Bigger Facility Preview for Ufopaedia
Post by: WarStalkeR on February 18, 2024, 11:11:08 pm
This is how it looks right now after update: https://github.com/WarStalkeR/OpenXcomExMore/commit/15e55472bf068023afa10a70ac5edf8a3e5c54de (do note that this one is in sync with code for 7.9.23).

For latest 7.11.8 I've created dedicated pull-ready branch https://github.com/WarStalkeR/OpenXcomExMore/tree/oxce-plus-pull-pedia-preview with relevant commit https://github.com/WarStalkeR/OpenXcomExMore/commit/60ef653d8a228ec149f4f4a06dc497c38d3e4561
Title: Re: [DONE][Suggestion] Bigger Facility Preview for Ufopaedia
Post by: Meridian on February 18, 2024, 11:24:12 pm
Merged.

https://github.com/MeridianOXC/OpenXcom/commit/e9cde97c1e6cd48c1141a036c6c50603ac158f1a
Title: Re: [DONE][Suggestion] Bigger Facility Preview for Ufopaedia
Post by: Solarius Scorch on February 24, 2024, 12:49:58 pm
Works well and looks nice! Thank you!
Title: Re: [DONE][Suggestion] Bigger Facility Preview for Ufopaedia
Post by: 0xEBJC on March 25, 2024, 06:57:23 pm
Which rulset and how would I apply this to one of my base facilities that are 3x3 in size?  Thanks,  I looked at the commit, but it wasn't clear to me.

is this an individual setting for one specific ufopedia page? or a global setting for the mods ruleset?



... figured it out!

Looked at X-Com Files, which had two files constants_XCOMFILES.rul and vars_XCOMFILES.rul rule files which declare a "constants:" section