Alpha Centauri 2

Sid Meier's Alpha Centauri & Alien Crossfire => Modding => Bug/Patch Discussion => Topic started by: PlotinusRedux on November 12, 2014, 06:46:57 AM

Title: Greetings & Planned Patching
Post by: PlotinusRedux on November 12, 2014, 06:46:57 AM
I've just joined this community.  I loved SMAC in its day, but hadn't played it since sometime in the early 2000's.  I was hoping CIV:BE would be a SMAC reboot, but all it did is make me miss SMAC, so I downloaded it from GOG and here I am.

I have a lot of experience patching old games like this, and it's kind of a hobby I enjoy.  Whereas Yitzhak is fixing bugs and gameplay logic--the important things--my initial efforts are going to be at improving the graphics and UI.

My son wants to play this game because he's heard me talk about it, but he can't tell what's what and doesn't get why modern UI staples don't work.

So, my first priorities are:

(1) Add a resolution setting to the .ini file.  DirectDraw=0 will run the game at desktop settings, but at the cost of slower rendering, and since the UI doesn't scale, at high resolutions it can get too small.  I want to be able to pick the resolution the game runs at.

(2) Smoother scrolling and zooming.  The scrolling is jerky and the zoom zigzags as a result, and the zoom needs to be tied to the mouse scroll wheel.

(3) Enabling higher resolution and eventually 32 bit color image files.  Higher resolution isn't that great if it's just zooming up low res source files.  And even low res files are severely limited by the 8 bit color palette, which precludes subtle shading.  I can't draw a decent stick man, but I can run the existing files through filters that will improve them and provide the capacity for any graphic artists in the community to create hi-res, full color images.

(4) Adding a toggle that shows the yields of all tiles like most of the Civ games have, and changing the terrain info box to show info on any terrain under the mouse.  I can't tell what terrain will produce what, and SHIFT-right-clicking on every square is annoying.

(5) Adding native ALT-TAB windowed mode.  You shouldn't have to run a third party program for that.

(6) An option to scale the UI up at high resolution modes.

Those are just my initial pet peeves with the graphics and UI.  I've got the base graphics classes reverse engineered already, and except for the 32-bit color, it should all be fairly easy to achieve.  Getting 32-bit graphics will take a bit more work because SMAC uses palette indexes for things like transparency and shading, and every individual instance of that will have to be changed.  A compromise might be 16-bit color--still paletted, but with 64k colors instead of 256.

If anyone has any pet peeves with the UI or graphics I didn't cover, let me know and I might include it.  I'm really just now getting back into SMAC, there's a lot I don't remember about it, and I never played SMAX.
Title: Re: Greetings & Planned Patching
Post by: sisko on November 12, 2014, 07:37:37 AM
Welcome to AC2, PlotinusRedux!
I think one of the biggest drawbacks for new players is the UI and the graphics side of the game. So, i'm sure your project will get positive feedback from many players.

Quote
If anyone has any pet peeves with the UI or graphics I didn't cover, let me know and I might include it.

Finding a way to edit the graphics of the units (which are stored in an unusual file format - caviar) is a long time ambition of the modding community. If you have the skills and the will to give it a try, then you should add this to the bottom of your list. See this thread for your reference: http://alphacentauri2.info/index.php?topic=7866 (http://alphacentauri2.info/index.php?topic=7866)

Also, I'm not a programmer so I can't help you in this area, but if your need anything forum/community related, just let me know. You'll have my full support.
Title: Re: Greetings & Planned Patching
Post by: Lord Avalon on November 12, 2014, 09:50:37 AM
(1) Add a resolution setting to the .ini file.  DirectDraw=0 will run the game at desktop settings, but at the cost of slower rendering, and since the UI doesn't scale, at high resolutions it can get too small.  I want to be able to pick the resolution the game runs at.
Greetings, PlotinusRedux. Do you mean, for example, "Video Mode=1024"? That's the first line in my Alpha Centauri.ini.
Title: Re: Greetings & Planned Patching
Post by: PlotinusRedux on November 12, 2014, 10:44:07 AM
sisko, the PCX format SMAC uses for graphics files is so old that the ability to have 256 colors instead of 16 colors is kludged in.  I don't think the format supports color depths > 8 bit paletted at all, so yeah, using a format supported by modern graphics editors makes sense.

Avalon, you may have "Video Mode=1024" in your .INI file, but all the code does with that is "if mode < 1024 use 800x600 mode, else use 1024x768 mode."  If you increased that value to 1280, you'd still be running at 1024x768, because all it checks is that the mode is > 800. 

If anyone here hasn't put DirectDraw=0 in their .ini file, you really should try it, as long as your native resolution isn't so high that the UI becomes too tiny, that one thing improves the graphics by 100%.
Title: Re: Greetings & Planned Patching
Post by: Lord Avalon on November 12, 2014, 11:37:13 AM
Ah, I see. I think I had the DirectDraw=0 in there at one time, but probably switched to Video Mode due to the tiny UI issue.
Title: Re: Greetings & Planned Patching
Post by: Yitzi on November 12, 2014, 02:41:46 PM
I've just joined this community.  I loved SMAC in its day, but hadn't played it since sometime in the early 2000's.  I was hoping CIV:BE would be a SMAC reboot, but all it did is make me miss SMAC, so I downloaded it from GOG and here I am.

I have a lot of experience patching old games like this, and it's kind of a hobby I enjoy.  Whereas Yitzhak is fixing bugs and gameplay logic--the important things--my initial efforts are going to be at improving the graphics and UI.

If you can do that, great.  Due to the lack of any sort of version control, in order to have both in a single patch, one of us would have to just send code to the other to combine in a patch (and it'd have to be SMAX, because that's where I've done all my stuff)...but it'd still be good.

(Also, while my formal name is Yitzhak, I prefer to be known as Yitzi.)
Title: Re: Greetings & Planned Patching
Post by: MetallEater on November 12, 2014, 10:59:27 PM
Awesome! PlotinusRedux, if you'll realize at least 50% of yours first priorities,  you'll give new life to the game(for example: Hd mod for Heroes 3 made this game very
popular online)Because the most people can't play SMACX due very bad graphics.
Title: Re: Greetings & Planned Patching
Post by: Flux on November 13, 2014, 12:26:06 AM
BUncle and I are slowly working on a Middle Earth graphics/factions conversion for SMAX.
It would be great to get high quality pictures in.
Your talent is welcome!
Title: Re: Greetings & Planned Patching
Post by: PlotinusRedux on November 13, 2014, 06:58:07 AM
Yitzi--

I'm fine with sending my changes to you to include in your patch.  I'm going to stay away from the places you've been adding code to avoid overwriting any of your changes, and we're working on different parts, so I think we'll be able to just add my changes to yours without having to reconcile any conflicts.

My plan is to make my changes for both terran.exe and terranx.exe--it doesn't look like the graphics code changed much, so once I modify a function in one it should just be a matter of finding where the linker put the same function in the other.

BlueFlux--

Yeah, that's exactly the kind of thing I want to enable.
Title: Re: Greetings & Planned Patching
Post by: PlotinusRedux on November 13, 2014, 07:12:30 AM
Also, is there a lobby where people play this multiplayer?  If not, I wrote an MSN Gaming clone, http://ewarzone.com (http://ewarzone.com), for playing these old direct play games, with a custom direct play service to bypass firewalls.  I got tired of running it and turned it over to someone else, but I'm sure I could get this working there and get a lobby devoted to it.
Title: Re: Greetings & Planned Patching
Post by: Yitzi on November 13, 2014, 12:07:22 PM
Yitzi--

I'm fine with sending my changes to you to include in your patch.  I'm going to stay away from the places you've been adding code to avoid overwriting any of your changes, and we're working on different parts, so I think we'll be able to just add my changes to yours without having to reconcile any conflicts.


If necessary, it shouldn't be too hard to reconcile conflicts anyway.

Also, is there a lobby where people play this multiplayer?  If not, I wrote an MSN Gaming clone, http://ewarzone.com (http://ewarzone.com), for playing these old direct play games, with a custom direct play service to bypass firewalls.  I got tired of running it and turned it over to someone else, but I'm sure I could get this working there and get a lobby devoted to it.


No, there's no lobby; if you could make a lobby, or better yet a Pitboss clone, that would be amazing.
Title: Re: Greetings & Planned Patching
Post by: Petek on November 13, 2014, 08:07:13 PM
See this thread (http://forums.civfanatics.com/showthread.php?t=480023) for a discussion of a graphics display bug that was never, as far as I know, fixed. Not a major bug, but it tends to confuse newer players.
Title: Re: Greetings & Planned Patching
Post by: Yitzi on November 13, 2014, 08:46:07 PM
See this thread (http://forums.civfanatics.com/showthread.php?t=480023) for a discussion of a graphics display bug that was never, as far as I know, fixed. Not a major bug, but it tends to confuse newer players.


That actually looks like it's not a graphics display bug, but rather passing the wrong thing to the graphics engine.  Which means that the skills needed to fix it are normal .exe modding skills and not graphics-based skills; PlotinusRedux might still be able to do it, but so, probably, would I.

However, if (as was concluded to be probably the case in that thread) it's just that there are too many techs to display full info for each one, then the only solution would be to have it decrease the text size...and that's something that I think PlotinusRedux could probably figure out how to do better than me.
Title: Re: Greetings & Planned Patching
Post by: Flux on November 13, 2014, 10:04:46 PM
Also, is there a lobby where people play this multiplayer?  If not, I wrote an MSN Gaming clone, http://ewarzone.com (http://ewarzone.com), for playing these old direct play games, with a custom direct play service to bypass firewalls.  I got tired of running it and turned it over to someone else, but I'm sure I could get this working there and get a lobby devoted to it.

Wait, you made WarZone?
I played TA on that a few times. Lots of fun
Would be great to see someone play SMAC on it, the only lobby that exists for it as far as I know is GameRanger, which has most games that have ever had multiplayer though.
Title: Re: Greetings & Planned Patching
Post by: ete on November 13, 2014, 10:25:32 PM
Another .exe modder, excellent :D.

I have one major graphics pet peeve. From my latest game:
(http://i.imgur.com/UCLklGs.png?1)
It seems to be related to playing small maps on a large screen with directdraw=0. Scrolling away and back will cause the tiles to re-render correctly, but it occurs at the start of each turn.

That game has a load of custom factions so may run strangely for you without them, I can either send it to you or try and get a save with standard factions.

I also hope you and Yitzi can work together and handle version control nicely. Ideally in a way other developers could plausibly be added to without horrible edit conflict issues, perhaps github or something similar?

I'm looking forward to 2, 3, and 5 especially.
Title: Re: Greetings & Planned Patching
Post by: PlotinusRedux on November 14, 2014, 12:13:25 AM
Yep, that was me, Blue.  This should work in the Other Games lobby, but it's giving me a "host version is newer than yours" error, which is odd since I'm the host--I'll have to track down the problem there.

Wait, you made WarZone?
I played TA on that a few times. Lots of fun
Would be great to see someone play SMAC on it, the only lobby that exists for it as far as I know is GameRanger, which has most games that have ever had multiplayer though.
Title: Re: Greetings & Planned Patching
Post by: Buster's Uncle on November 14, 2014, 12:26:41 AM
Should this thread be in Bug/Patch?
Title: Re: Greetings & Planned Patching
Post by: Buster's Uncle on November 14, 2014, 08:57:15 PM
Incidentally, I'd suggest a simple improvement to the graphics would be to switch from .pcx to .gif.  If the palette issues weren't too difficult to hurdle, that might make some simple animations possible - a pretty revolting development, most likely, for leaderheads and bases, so-so for logos and diplomacy landscapes, but fantastic potential for the still units in units.pcx.  It would tend to make individual flies necessary for animated elements, so it would take a number of available optional file calls added into the code, so I doubt the animation part is feasible, but just sayin'.
Title: Re: Greetings & Planned Patching
Post by: Flux on November 14, 2014, 11:06:59 PM
Incidentally, I'd suggest a simple improvement to the graphics would be to switch from .pcx to .gif.  If the palette issues weren't too difficult to hurdle, that might make some simple animations possible - a pretty revolting development, most likely, for leaderheads and bases, so-so for logos and diplomacy landscapes, but fantastic potential for the still units in units.pcx.  It would tend to make individual flies necessary for animated elements, so it would take a number of available optional file calls added into the code, so I doubt the animation part is feasible, but just sayin'.

You know, I would love to have Civ 3 type animations of the leaderheads slowly blinking.
Those were great.
Title: Re: Greetings & Planned Patching
Post by: Buster's Uncle on November 14, 2014, 11:08:27 PM
Tough to carry off subtly, but definitely possible, given the capacity.
Title: Re: Greetings & Planned Patching
Post by: PlotinusRedux on November 15, 2014, 11:24:42 AM
Incidentally, I'd suggest a simple improvement to the graphics would be to switch from .pcx to .gif.  If the palette issues weren't too difficult to hurdle, that might make some simple animations possible - a pretty revolting development, most likely, for leaderheads and bases, so-so for logos and diplomacy landscapes, but fantastic potential for the still units in units.pcx.  It would tend to make individual flies necessary for animated elements, so it would take a number of available optional file calls added into the code, so I doubt the animation part is feasible, but just sayin'.

The problem with GIF is (1) it's limited to 8 bit color like the current PCX files, and (2) it's still a proprietary format you have to pay if you use in your code.

I'm actually thinking of two separate phases graphics-wise:

(1) Continue using DirectDraw, but switch the graphics files to PNG in 32-bit RGBA format with the height and width of each file doubled.  That will enable simple conversion of current files (just convert to 32 bit color, double the size, and apply some filtering to de-pixelate), allow for much more detailed shading and improved scaling due to the increased color depth, and alpha blending for shadows and smoother borders.

This can be achieved fairly quickly just by rewriting the LoadPCX function to load PNG instead and to double the size of offset of the source rectangle, and rewriting the sprite class to use AlphaBlt(), and will provide the greatest improvements for the least effort.

(2) I can't promise I'll complete this one, but I'd like to convert the entire graphics engine to DX 9 or OpenGL 3D with at least a wire frame for the terrain tiles, and possibly basic wire frames for units, etc.  That will let the engines built to handle distorting the terrain images into their non-square tiles handle doing so, and permit effects such as terrain lighting and shadows.

Animation could really be done at either stage without GIF just by allowing multiple images to be supplied for each object and looping through them, but I'll probably put that off to phase 2, or maybe a phase 1.B if I decide I just don't have time for phase 2, just because I want to get phase 1 out fairly quickly.

BTW, you're probably right about where I should have posted this thread--I won't be offended if a moderator wants to move it.



Title: Re: Greetings & Planned Patching
Post by: PlotinusRedux on November 21, 2014, 07:07:37 AM
So what I've got so far is:

*Smooth scrolling and zooming;
*Mouse wheel zooming;
*Mouse-over terrain and unit info;
*Display all tile output mode;
*Native ALT-TAB to switch between windowed and full screen mode;
*.INI setting for full screen resolution;

The most important thing graphically, though, is changing the input files and image processing from 8 bit color to 32 bit color with an 8 bit alpha channel.  That was going to be fairly easy by intercepting the calls to DirectDraw.  But it turns out all the graphics primitives have 2 paths--one using DirectDraw, and another using GDI or custom code--and the DirectDraw paths never execute, except to display movies.  I don't know if they tested it before releasing AC and found DirectDraw wasn't faster than GDI for 8 bit graphics and turned it off, or if it later had compatibility problems with DirectDraw, or if that's something GOG did because DirectDraw has been depreciated under Windows for so long.  That is true regardless of the DirectDraw setting in the .ini file--if it's missing or is set to 1, all DDraw is used for in addition to movies is to change the screen resolution to 1024x768x8 bit color.

DirectDraw is such an old interface, if AC isn't using it now, I don't want to go back to it.  On the other hand, GDI has no AlphaBlt that would use hardware acceleration for alpha blending, and all that custom shading and blitting code that's running on the CPU is going to execute 4x slower after rewriting it all to handle 32 bit color--

So I'm trying to decide now--almost all of the graphics code needs to be rewritten to support 32 bit color and alpha blending.  So do I do that with my own CPU based blitting and blending code, or do I just bite the bullet and go straight to the DX9 or OpenGL conversion so the GPU can handle that?  I'm leaning towards the latter--but does that mean also going 3d meshes instead of 2d images for units, bases, etc., at the same time?
Title: Re: Greetings & Planned Patching
Post by: ete on November 21, 2014, 12:48:43 PM
Possibly you missed my post, it was the last on the previous page?
Another .exe modder, excellent :D.

I have one major graphics pet peeve. From my latest game:
(http://i.imgur.com/UCLklGs.png?1)
It seems to be related to playing small maps on a large screen with directdraw=0. Scrolling away and back will cause the tiles to re-render correctly, but it occurs at the start of each turn.

That game has a load of custom factions so may run strangely for you without them, I can either send it to you or try and get a save with standard factions.

I also hope you and Yitzi can work together and handle version control nicely. Ideally in a way other developers could plausibly be added to without horrible edit conflict issues, perhaps github or something similar?

I'm looking forward to 2, 3, and 5 especially.

That thing happening is my biggest issue with AC graphics, it would be amazing to have it solved.


And I think you're probably a much better judge about which approach would be most effort efficient and have the best results than any of us here.
Title: Re: Greetings & Planned Patching
Post by: PlotinusRedux on November 21, 2014, 01:16:05 PM
I saw the post, I just haven't run into anything would explain the defect, so there's not much I can say about.  If it extended to the top and bottom of the screen, I'd know exactly what the problem is--there are calculations for when the 0 X coordinate of the map is in view, to show the high X coordinate to the the left of it, and they get modified by calculations comparing the map * zoom to the screen width which would particularly come into play in the scenario you describe of small map and high resolution.

But nothing about any of that could explain the differences on the Y axis--why the areas above and below the black area aren't also black.

I just don't even have a plausible hypothesis for what could cause that yet, so I have no idea if anything I'm working on will fix it or not.
Title: Re: Greetings & Planned Patching
Post by: ete on November 21, 2014, 01:26:43 PM
It does start off extending to top and bottom, but as the screen moves around during the upkeep different parts are refreshed, the original screenshot was after upkeep. Perhaps this is a more useful screenshot?

(http://i.imgur.com/IR6NHBL.png)

The save is also attached, hitting end turn will trigger the bug.
Title: Re: Greetings & Planned Patching
Post by: PlotinusRedux on November 21, 2014, 02:35:04 PM
Yeah, ok, that makes more sense.  Probably the coordinates if you do tile info on that bottom left tile are going to be 1,1, in which case the code that detects when the entire map will fit on the screen is getting confused.  If not, it's a simple case of the system running out of GDI resources, which wouldn't be surprising--with direct draw off it's creating well over 1000 GDI resources, where a typical large program will create at most tens.  It's not even using GDI+, and the GDI just wasn't designed to handle that many graphical elements.  Either way, the DX9/OpenGL conversion should take care of it.
Title: Re: Greetings & Planned Patching
Post by: ete on November 21, 2014, 02:59:33 PM
Okay, cool. I wish you the best with that conversion then!
Title: Re: Greetings & Planned Patching
Post by: PlotinusRedux on November 26, 2014, 03:12:55 AM
Ete,

I've been able to consistently reproduce the defect and I have it fixed one my system.  I'd like you to check something to see if the same thing will also fix it on yours.

To reproduce the defect,

(1) Use Z to zoom until until the exact point at which you can no longer scroll the screen horizontally by hold on mouse at the screen edges;
(2) Hit X to back up the zoom once, to the first point where you can move the screen horizontally with the mouse;
(3) As you scroll through with the mouse, you see the updating, black parts of the map.

Now try the exact same thing, but at step (3) instead of scrolling with the mouse, scroll left and right with SHIFT-LEFT ARROW and SHIFT-RIGHT ARROW.  This time, you should *not* see the defect.

Assuming that works for you as well, I know what's wrong and how to fix it.  It has to do with rounding issues with the scaling, where one part of the code rounds one way and decides the map is big enough to scroll with the mouse and another part rounds the other way and decides it's too small to scroll, when the zoom factor is very close to line between them.

It does start off extending to top and bottom, but as the screen moves around during the upkeep different parts are refreshed, the original screenshot was after upkeep. Perhaps this is a more useful screenshot?

(http://i.imgur.com/IR6NHBL.png)

The save is also attached, hitting end turn will trigger the bug.
Title: Re: Greetings & Planned Patching
Post by: ete on November 26, 2014, 09:25:39 PM
Ete,

I've been able to consistently reproduce the defect and I have it fixed one my system.  I'd like you to check something to see if the same thing will also fix it on yours.

To reproduce the defect,

(1) Use Z to zoom until until the exact point at which you can no longer scroll the screen horizontally by hold on mouse at the screen edges;
(2) Hit X to back up the zoom once, to the first point where you can move the screen horizontally with the mouse;
(3) As you scroll through with the mouse, you see the updating, black parts of the map.

Now try the exact same thing, but at step (3) instead of scrolling with the mouse, scroll left and right with SHIFT-LEFT ARROW and SHIFT-RIGHT ARROW.  This time, you should *not* see the defect.

Assuming that works for you as well, I know what's wrong and how to fix it.  It has to do with rounding issues with the scaling, where one part of the code rounds one way and decides the map is big enough to scroll with the mouse and another part rounds the other way and decides it's too small to scroll, when the zoom factor is very close to line between them.
When following your instructions:
1, fine
2, X zooms me out, so I am still unable to scroll by pushing the mouse against a side of the screen. Assuming you mean Z, which zooms in and allows me to scroll with the mouse at edges.
3, Moving the screen by clicking the mouse to recenter the screen at that zoom level massively triggers the bug, often nearly entirely blanking the screen. Clicking end turn (which recenters the screen) also triggers badly at this zoom level. Both scrolling to the side by moving the mouse against the edge and using shift+arrow does not trigger for me.

Additional observation: Recentering on a location near the corner of the current screen triggers it worse and more reliably.

I think you've found the problem! Very happy to hear you've got a solution too. Are you using Yitzi's latest patch as your base to work from?
Title: Re: Greetings & Planned Patching
Post by: PlotinusRedux on November 26, 2014, 10:03:43 PM
D'oh, yeah, Ete, I reversed zooming in and zooming out, it should read:

(1) Use X to zoom out until until the exact point at which you can no longer scroll the screen horizontally by hold on mouse at the screen edges;
(2) Hit Z to zoom in once, to the first point where you can move the screen horizontally with the mouse;
(3) As you scroll through with the mouse, you see the updating, black parts of the map.

Reworking the zoom code to adjust to screen resolution has fixed it for me--basically now it computes the zoom out level that will first show the entire map and sets that as max zoom out, computes the zoom in level that will show 6 tiles horizontally and sets that as the max zoom in, then adjusts the other zoom levels to fall evenly between the two.

I'm doing my changes a bit differently from Yitzi because I want my changes to work with both SMAC and SMAX, but I will make sure it is 100% compatible.  The only .exe changes are about 20 bytes to load the ac2.dll file that contains all my actual changes for both, the the .dll figures out which was it's been loaded by and hooks API's and modifies code in memory to work it's magic.  So Yitzi will just need to change those 20 bytes in his .exe once, and after that just downloading ac2.dll will get all my latest changes.  We'll just have to coordinate if we both want to modify the same function, but the nature of our different focuses--UI on my part and game logic on his part--that will probably be rare.
Title: Re: Greetings & Planned Patching
Post by: ete on November 26, 2014, 11:40:07 PM
D'oh, yeah, Ete, I reversed zooming in and zooming out, it should read:

(1) Use X to zoom out until until the exact point at which you can no longer scroll the screen horizontally by hold on mouse at the screen edges;
(2) Hit Z to zoom in once, to the first point where you can move the screen horizontally with the mouse;
(3) As you scroll through with the mouse, you see the updating, black parts of the map.
No problem, I figured it out :).

Reworking the zoom code to adjust to screen resolution has fixed it for me--basically now it computes the zoom out level that will first show the entire map and sets that as max zoom out, computes the zoom in level that will show 6 tiles horizontally and sets that as the max zoom in, then adjusts the other zoom levels to fall evenly between the two.
Okay, that sounds sensible. Good to have the black screen thing gone.

I'm doing my changes a bit differently from Yitzi because I want my changes to work with both SMAC and SMAX, but I will make sure it is 100% compatible.  The only .exe changes are about 20 bytes to load the ac2.dll file that contains all my actual changes for both, the the .dll figures out which was it's been loaded by and hooks API's and modifies code in memory to work it's magic.  So Yitzi will just need to change those 20 bytes in his .exe once, and after that just downloading ac2.dll will get all my latest changes.  We'll just have to coordinate if we both want to modify the same function, but the nature of our different focuses--UI on my part and game logic on his part--that will probably be rare.
Ah, okay, that should avoid a lot of sending patches back and forth or dealing with edit conflicts. I think you're the first to use .dll injecting on SMAX.
Title: Re: Greetings & Planned Patching
Post by: PlotinusRedux on November 29, 2014, 05:07:09 AM
I've been tinkering with and polishing my general UI changes while I let how I want to do the graphics mods percolate in the back of mine.  Here's the change log for what I've got in final, tested form so far:

Windowed/Full Screen:
*Toggles between Full Screen and Windowed mode;
*Window is resizable;
*Configurable Full Screen resolution (any resolution can be used);
*Automatically switches system back to native resolution when windowed;
*<TAB> key toggles for systems that don't like <ALT><TAB> (like mine for some reason);
*DirectDraw .ini setting obsolete--DirectDraw is used only for movies;
*Opening and in game movies fully compatible.

Scrolling:
*Pixel-level scrolling (previously had to scroll at least a tile at a time);
*Right-Click and drag on terrain scrolls;
*Edge scroll zones scroll faster the closer to the edge the mouse is;
*Configurable zone sizes and scroll speed.

Zooming:
*Pixel-level re-centering--no more screen zigzag when scrolling in and out;
*Automatically sets reasonable min, max, and increment values for the current resolution;
*Mouse wheel zooms in and out.
*Configurable # of increments between min and max zoom.
*Resolves black areas after zooming defect.

View Mode:
*In view mode (key <V>), mouse over for unit and terrain info (don't have to Shift-Right Click).
Title: Re: Greetings & Planned Patching
Post by: ete on November 30, 2014, 11:12:10 AM
 ;b;

Looking forward to playing with these improvements.
Title: Re: Greetings & Planned Patching
Post by: PlotinusRedux on November 30, 2014, 12:48:59 PM
This list fixes most of what I found so annoying about the AC UI as to make the game painful to play.  The next stage, increasing color depth of the source textures, is going to be more complicated than I thought, and will likely take me a few months to complete given the other demands on my time.

So I think over the next couple of weeks I'm going to complete the last items on my list that don't involve increasing color depth--having the "T" key show the nutrient, production, and energy yields on all tiles; add the SMAX address so it works with both SMAC and SMAX; and adding some UI, either in-game or outside the game, to change all the settings I've added, and then release it. 

So expect a release in 1-3 weeks.
Title: Re: Greetings & Planned Patching
Post by: Flux on November 30, 2014, 05:48:02 PM
 :clap:

Title: Re: Greetings & Planned Patching
Post by: ete on December 01, 2014, 06:34:12 PM
With the reworking of zooming, do pods/resources/fungus no longer disappear when you zoom out a certain amount? I'm asking because I'd like to be able to screenshot full maps to display on-wiki, and currently when you zoom out sufficiently to do this for most maps most of the important detail is lost.
Title: Re: Greetings & Planned Patching
Post by: PlotinusRedux on December 02, 2014, 01:15:44 AM
Ete,

I didn't change that part, but it appears to be resolution-dependent.  I can zoom out to show the full map at 2560x1440 for small maps, and to nearly full for huge maps, without losing the details, but I lose them much faster at 1024x768.  It shouldn't be hard to find what's doing that and add an option to disable it, though.
Title: Re: Greetings & Planned Patching
Post by: ete on December 02, 2014, 01:23:35 AM
Okay, that would be appreciated :).
Title: Re: Greetings & Planned Patching
Post by: PlotinusRedux on December 05, 2014, 11:37:24 AM
With the reworking of zooming, do pods/resources/fungus no longer disappear when you zoom out a certain amount? I'm asking because I'd like to be able to screenshot full maps to display on-wiki, and currently when you zoom out sufficiently to do this for most maps most of the important detail is lost.

You've got to have better eyes than me for this to be much good, but here's a fully zoomed out huge sized map with all the details preserved.

The forum shrank it from 2560x1440 to 1200x675, but if you click on it you can kind of see little dots where units are still....
Title: Re: Greetings & Planned Patching
Post by: ete on December 05, 2014, 01:10:17 PM
Awesome. Having details harder to spot is a vast improvement over those details just vanishing.

Can I volunteer to be an alpha tester so I can start using this for map screenshotting?
Title: Re: Greetings & Planned Patching
Post by: PlotinusRedux on December 05, 2014, 05:03:07 PM
Ete, I'm close to releasing.  I've got all the features I want for the first release in--everything from my original list except increasing the texture color depth and resolution.  I'm working on the in game dialog for the new settings now, and I still need to get the hook addresses for Alien XFire--I'm going to try to finish up this weekend.

Title: Re: Greetings & Planned Patching
Post by: ete on December 05, 2014, 05:05:17 PM
Cool, looking forward to it :).
Title: Re: Greetings & Planned Patching
Post by: hackerjack on December 05, 2014, 11:26:56 PM
This looks awesome.  Can't wait to finally be able to do screenshots properly again thanks to alt-tab.
Title: Re: Greetings & Planned Patching
Post by: PlotinusRedux on December 07, 2014, 08:03:45 AM
I finally finished the SMAC version, just need to to add the hooks for SMAX over the next day or two.

Title: Re: Greetings & Planned Patching
Post by: ete on December 07, 2014, 12:48:12 PM
Awesome, that resource terrain overlay would've helped me a lot when I was starting out. I'm curious as to how potential resource is displayed, given the silly number of possible terraforming/base tile combinations.
Title: Re: Greetings & Planned Patching
Post by: PlotinusRedux on December 07, 2014, 09:50:49 PM
It's just showing what the "Terrain Info" would--i.e., it shows the max food with a farm, max energy with a solar, and max production with a mine, even though of course you can't actually build all 3 in one square.

It was mainly because the energy for elevation doesn't show up at all without a solar collector built in the Actual Yields.

My 12 year old son wants to play the game but found it initially confusing because it was missing options like showing yields the latter Civ games had, so a lot of my stuff is focused on making it easier for newbies to figure out what's going on.
Title: Re: Greetings & Planned Patching
Post by: ete on December 08, 2014, 12:43:50 AM
Ah, right, that makes sense.

And cool, good to have some real player feedback right there :).
Title: Re: Greetings & Planned Patching
Post by: PlotinusRedux on December 09, 2014, 12:43:20 PM
I should be releasing tonight--I just finished test compatibility with Yitzi's patches, I just need to update the changelog and make the install script.  I usually use WISE but since Scient already has a nice one in NSIS I'll just used that.
Title: Re: Greetings & Planned Patching
Post by: ete on December 09, 2014, 02:27:36 PM
Awesome, looking forward to playing with the improvements.
Title: Re: Greetings & Planned Patching
Post by: sisko on December 09, 2014, 02:47:24 PM
 ;excite;  Can't wait!
Templates: 1: Printpage (default).
Sub templates: 4: init, print_above, main, print_below.
Language files: 4: index+Modifications.english (default), TopicRating/.english (default), PortaMx/PortaMx.english (default), OharaYTEmbed.english (default).
Style sheets: 0: .
Files included: 31 - 840KB. (show)
Queries used: 16.

[Show Queries]