Announcement

Collapse
No announcement yet.

Making Cradle 3+ fully compatible with the Apolyton Edition

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Kull
    replied
    Hey thanks!
    The current project involves a lot of slic code and some new units. ​ Hopefully it all works as planned......

    Leave a comment:


  • Blake00
    replied
    Love those new wonders! I've updated my CivFanatics thread about your project and will share your work around some of the CTP and Civ social media groups as more people should know about the great work you're doing here mate!

    Leave a comment:


  • Kull
    replied
    Fixing the P-38 Fighter Plane sprite: With the inclusion of the Spitfire there isn't a current need for a second WW2 era fighter plane, but I decided to go ahead and fix the P-38 anyway. After all, it's the only remaining CtP2 sprite that does NOT have in-game motion so this completes the catalogue. It will be included in the download using the original sprite number (GU035.spr) since all of Cradle's in-game links now point to the Spitfire (GU108.spr). The original P-38 voices are good and because they weren't assigned to another unit (for exactly this reason), are still available. It can be utilized in non-Cradle games simply by copying the sprite into the ctp2_data\default\graphics\sprites folder.

    There are three good animations (Move, Attack, & Death - no editing required), comprising 238 images and shadow files. All the Move images have a blurry in-motion propeller, so for the missing Idle we'll use the first file from the Death animation (shows a P-38 parked on the ground with a non-moving 3-bladed prop) but will change it's location to place it in the air.

    This completes the air unit sprite project.
    Click image for larger version

Name:	P-38 Idle.jpg
Views:	290
Size:	21.2 KB
ID:	9465970 ​

    Leave a comment:


  • Kull
    replied
    Fixing the Spy Plane sprite: The CtP2 Spy Plane is actually a modified version of the CtP1 Stealth Bomber. The unit has good Attack & Death animations (no changes necessary), but Move was pretty minimal - a slight rocking motion along with a blinking light. Given the appearance and role, this is another sprite which can benefit from the special effects used by the two stealth units. Accordingly, the sprite was deconstructed (118 images) and a new Idle animation created, while fading effects were added to the Move.

    In addition, as you can see in the attachment, the colors of the Grand Canyon have been toned down and a set of rapids added to the central river.
    Click image for larger version  Name:	Spy Plane and revised GC.jpg Views:	2 Size:	18.7 KB ID:	9465868 ​

    Leave a comment:


  • Kull
    replied
    Fixing the Stealth Bomber sprite: Like many other incomplete sprites, the Stealth Bomber has only three animations (Move, Attack, & Death), comprising 226 images. Fortunately the Attack and Death animations required no editing, and originally I planned to add nothing more than a short Idle. However, the successful "fade in-out" effect used by the Stealth Fighter is obviously a natural fit for this unit as well. Especially since the existing Move animation had only 6 files featuring a barely visible up-and-down rocking motion, along with blinking red lights on the wing tips. The Idle for the rebuilt sprite uses the original 6 Move files along with the Stealth Fighter's "fade-in" effect. And the new Move animation follows the same approach, with a sequential fading and reappearance as it moves through the air (see attached).
    Click image for larger version

Name:	Stealth Bomber.jpg
Views:	76
Size:	19.1 KB
ID:	9465781

    Leave a comment:


  • Kull
    replied
    Fixing the Spitfire and Stealth Fighter (again): Hoo boy, it never fails, one step forward and two steps back, lol!

    One reason for selecting the Spitfire was the opportunity - for once - of using an existing sprite exactly as-is, no modification required. But looking closer at the attachment in Post 207, something clearly was missing - the Idle animation has no shadows! Even worse, opening the sprite confirmed there were no shadow files for ANY of the animations. Fortunately the WW2 scenario includes the German Bf-109 sprite which is exactly the same size as the Spitfire, and it DOES have shadow files. So I deconstructed both sprites, copied the shadow files from Bf-109 to the Spitfire, rebuilt the sprite, and voila! Shadows that match perfectly, for every animation.

    While doing that, I also decided to revise the Stealth Fighter's Idle animation. Turbulence coming off the wings of an "Idle" jet doesn't look right (see the attachment above), so the images have been fixed and this sprite rebuilt as well.
    Click image for larger version  Name:	Revised Spitfire and Stealth Fighter.jpg Views:	1 Size:	24.3 KB ID:	9465678 ​

    Leave a comment:


  • Kull
    replied
    Fixing the Stealth Fighter sprite: The Stealth Fighter sprite has four animations (Move, Attack, Idle & Death), comprising 132 images. However, even though it has all the necessary animations, there are several problems. To begin, the single file Idle animation is of little benefit since the "movement" animation consists of 5 identical files with no motion of any kind. In addition, there were graphical errors associated with 24 of the "Move" and "Attack" animation files, in which turbulence is only shown coming off of one wing, while several of the "Attack" files had a similar problem in which missiles were fired from only one wing. Conversely, the "Death" animation features an interesting 5-file sequence in which the fighter gradually fades away.

    That sparked an intriguing idea. Since this is a "stealth" unit, why not use the Death animation for the Idle, but rather than "fade-out", have it "fade-in"! Likewise, why not use the same effect for the Move sequence? As for "Death", the "explosion" effect used by the Spitfire works just as well for any unit, so that could be inserted here as well. The final result was a completely re-imagined sprite with new animations which look great in-game. As an example, the attachment shows two Stealth fighters, one at rest and the other fading in and out of view as it moves across the map.
    Click image for larger version

Name:	Stealth Fighter.jpg
Views:	124
Size:	25.5 KB
ID:	9465651 ​

    Leave a comment:


  • Kull
    replied
    New Fighter sprite: The existing fighter sprite (a US P-38) does not have an Idle animation, so there is no "on-map" movement. Rather than rebuild the unit, I decided to use the "Spitfire" sprite (see attached) which was included with the CtP2 "World War 2" scenario. This unit has all 4 animations, including a nice "Idle" in which the plane touches down and bounces. No sprite editing required! In addition it's a 1-engine fighter, and thus more emblematic of the fighter planes of this era.

    Unfortunately the existing fighter pilot's voice features an American drawl (files GUV031-034), and is thus not appropriate for a British plane. Luckily there is a British air alternative: the file group GUV105-108, which is currently assigned to the "Bomber". That unit is an American B-52, so reassigning the British pilot voice to the Spitfire opens the door for improving the Bomber voice as well. To that point, while searching through the voice files I spotted another issue. The voice sequence for the "Machinegunner" (GUV101-104) is actually that of an American-accented pilot. He talks about "skies open" and you can hear the "mic click" at the end of each phrase. Definitely NOT correct for a ground unit, and it means these voices can be reassigned to the Bomber.

    Of course, that means we now need a "ground unit" voice replacement, and the best option was the GUV076-079 series, previously assigned to the "Leviathan". That's a very late game unit that can easily accommodate a more electronic sound. And fortunately, that is EXACTLY the voice used for the Leviathan in CtP1! Why it was changed, I don't know, but now it's back.

    The result of all this is a new sprite for the Fighter and new voices for the Fighter, Bomber, Machine Gunner and Leviathan. All of which required changes to newsprite.txt, sounds.txt, & uniticon.txt along with new 2D art (borrowed from AOM), the Spitfire sprite, and four Leviathan voices copied over from CtP1.

    As a side note, take a look at the Road network built by AI Rome. Not a sprawling mess, but rather a coherent connection of one city to another. Very nice.
    Click image for larger version

Name:	Spitfire and AI Roads.jpg
Views:	135
Size:	119.4 KB
ID:	9465597

    Leave a comment:


  • Kull
    replied
    Fixing the Interceptor: The CTP2 Interceptor sprite (GU046.spr) does not have an "Idle" animation, and thus displays no movement on the map. There are three animations (Move, Attack & Death), comprising 238 images (including shadows), so I added a 4-image Idle in which the jet rocks side to side a bit. Unfortunately the "movement" portion is so subtle (a slight waggle of the wings) that it's not visible on the map, especially given the obstruction from the reticle graphic (see post #204 above, which includes the modified CtP2 interceptor).

    Conversely, the CtP1 Interceptor has a very noticeable "after-burner" effect as it moves, so I decided to give that a closer look. This sprite has only two animations (Move & Attack), comprising 140 images (including shadows). In addition to a new single image "Idle" animation, I copied in the 28 "Death" animation files from the CtP2 unit (altering them slightly to better match the CtP1 unit), and the result was a distinct improvement (see attachment).

    Since both Sprites have now been fixed, I'll include the two of them in the download but will renumber the CtP1 sprite (from 46 to 225) and change all the text references accordingly (newsprite.txt & uniticons.txt). Also includes new 2D art which matches the look of the new sprite.
    Click image for larger version  Name:	CtP1 Interceptor.jpg Views:	2 Size:	19.3 KB ID:	9465578 ​

    Leave a comment:


  • Kull
    replied
    "Exploding Unit" sprite graphics: Any unit which has the "SingleUse" AND "Explodes" attributes in units.txt is destroyed after it hits the target. Apparently, when it is given a target and is moving toward it, the game has ALREADY taken into account that the unit is dead (even before it is actually destroyed) and so the unit sprite disappears the instant it starts moving toward that final destination. The only solution is to have it move one hex short of the target and then attack from there, which is kind of silly, but at least you don't lose the "flight animation" sequence until - after stopping - it is sent on to the target.

    In the attachment, you can see the effect on the Cruise Missile sprite in each case. The top example shows the appearance of the sprite when the unit is told to stop one hex in front of the target. The one below shows that the sprite has disappeared (all that's visible is the unit shield) as it moves directly to the target.

    There's no fix for this - and in fact the "Nuke" missile has the same issue - but I wanted to highlight the problem and make it clear that there's nothing wrong with the sprites, but rather the graphics are "working as designed" (unfortunately).
    Click image for larger version  Name:	Cruise Missile move graphics.jpg Views:	10 Size:	53.6 KB ID:	9465511
    Last edited by Kull; November 15, 2023, 19:00.

    Leave a comment:


  • Kull
    replied
    "Sprite Selection" Reticle color: While testing out a new air unit sprite (more on that later), I realized that it's very hard to see the unit motion because of the "sprite selection circle" or "reticle" (a graphic based on the CtP symbol). Not only is it "neon green", but the reticle continues to surround the unit as it moves, thereby obscuring many of the "in-motion parts" as the unit proceeds to a new location. The question is, can it be made smaller or at least less obtrusive?

    Digging a bit deeper, the reticle comes in several colors, each of which means something:
    1) Green: Unit Sprite has movement points available.
    2) Yellow: Unit Sprite has used up all movement points on this turn
    3) Red: Unit Sprite has no movement points (f/e a "city")
    4) Black: Sprite is a Good (reticle appears and then fades away)

    Unfortunately I could not find the reticle graphic in any of the files. It's not included with the compressed .zfs or .til files, nor is it one of the editable cursors. In addition, there is a different look for the settler-type units, as the green reticle also includes a small green outline around the adjacent hexes.

    The good news is that I found the file which controls the colors: Colors00.txt. Rather than require modders to edit this file, the SC team added a line to userprofile.txt (ColorSet=0). The way it works is, you create an alternate file with a different numeric ending and the game will use that file instead of the default. For example, Cradle5 now uses a file named Colors06.txt and the line in userprofile.txt has changed to ColorSet=6. As for the specific color, Line 44 is the culprit, specifying that the reticle is a bright neon green. I played around with this and tested a number of different colors, but unfortunately all of them obscure the movement to some degree. The big problem is the reticle graphic itself does not have an alpha channel (nor can one be assigned), so it's impossible to add a transparency effect, which would solve the problem. Anyway I finally settled on a "less bright" tone of green, and the reticle is now somewhat less obtrusive (see attached).
    Click image for larger version

Name:	Green Reticle Old and New color.jpg
Views:	149
Size:	30.9 KB
ID:	9465469 ​

    Leave a comment:


  • Kull
    replied
    Parchments (Rev2): Shrinking the culture symbols and placing them in the bottom right of each parchment did the trick, as they no longer conflict with the text display. The "fixing" process would have been even faster, if only I'd bothered to save each symbol as a separate file the first time. As opposed to having to create every one of them from scratch (again). Lesson learned.​
    Click image for larger version

Name:	Rev2 Parchments.jpg
Views:	172
Size:	149.0 KB
ID:	9465398

    Leave a comment:


  • Kull
    replied
    Parchments (Rev1): This is another one of those projects that's been on my R&D list from the very beginning. Whenever there's a diplomatic interaction between the human player and an AI civ, the "Diplomatic Proposal" window opens, showing tone options on the left and the leader picture of the recipient at the top. At the bottom of the screen is the "parchment", where offers and replies appear as they are made. In vanilla CTP2 there was a unique parchment for each civ, featuring a faded symbol in the center which represented the civilization of the proposal sender. However, many of those used modern iconography (such as the "Rising Sun" for Japan) and most of the new Cradle civs are not represented in CtP2. Most mods (including Cradle) have modified these parchments in various ways, and the best features are the unique symbols for each civ and the addition of a second picture. I liked the Cradle approach (also featuring sender pictures and cultural icons), but most of the symbols were not unique for every civ, and neither were many of the diplomat photos.

    After a great deal of effort, I came up with a new parchment design which contained unique "diplomat" pictures (different from the leader pics) and culture symbols, the latter prominently displayed at the top of each parchment. The new design was so visually appealing that I created all 33 parchments before testing even one. Which turned out to be a mistake. As you can see in the attachment, Carthage has just received a proposal from the Persians, and.....apparently there's a good reason why symbols shouldn't be placed "front and center". Back to the drawing board. Argh.
    Click image for larger version

Name:	Bad Parchment Symbol placement.jpg
Views:	178
Size:	87.8 KB
ID:	9465368 ​

    Leave a comment:


  • Kull
    replied
    Floodplains: The "desert river" attachment in post #197 brought back memories, specifically that one of the interesting features in Civ3 was the ability of Rivers to turn sterile "0-food" desert hexes into "3-food" floodplains. This is actually quite realistic since historically a number of "desert river terrain" regions had very high population levels, f/e the Nile, Tigris/Euphrates, & the Indus valley. That had me wondering - could something similar be done for Cradle 5?

    Fortunately the "terrain.txt" file includes an "EnvRiver" section for EVERY terrain type, although currently the settings are identical for all of them: +5 to gold, food, and commerce. But it does mean that we CAN have "floodplains" in CtP2! Accordingly the EnvRiver Desert food setting will increase from 5 to 20 (the same level of increase as seen in Civ3) and we'll also increase the "score" (which is how the AI values different terrain types) from 20 to 40 - making it equally desirable to "grassland river" terrain.

    Testing shows that AI settlers are drawn to the new "floodplains", and the Desert entry in the GL has been updated to describe the increased benefits.​

    Leave a comment:


  • Kull
    replied
    As you can probably gather from the nature of the recent updates, Cradle 5 has been undergoing some rather extensive playtesting, which - unsurprisingly - has revealed a number of issues, most of which are rather small but - when fixed - provide noticeably improved gameplay. Here are some of the recent changes:

    1) "Obsoleting Advance" added to Unit GL entries: When selecting new Advances to research and units to build, the player needs to consider whether the new Advance will cause a particular unit to go obsolete (meaning that you can't build more of them). Previously this information was NOT provided in the GL (or anywhere else), but now it is - all units have a new entry which tells you which Advance (if any) will make them obsolete (see circled text).

    2) Emissary acquires "Hear Gossip" attribute: In Cradle 5, the AI builds a lot more stealth units, and one of the few downsides to that behavior is they are more likely to spot (and expel) foreign diplomats, and in particular those which are parked adjacent to a capital city. As a result, it's difficult to have one sit there long enough in order to "Hear Gossip", so that attribute will now be added to the "Emissary", since he arrives earlier in the game, before the mass of "stealth-spotting" units begin to appear. Plus, it IS one of the attributes of the "early diplomacy" that this unit represents (i.e. acquiring knowledge of foreign lands through various methods). GL entries updated accordingly.

    3) Government-Specific Unit Card indicators: As discussed earlier in Posts 33 & 34, There are two categories of government-specific units, the "disbanding infantry" and the "specials". To assist the player in quickly determining whether a particular unit belongs to either category, a pair of symbols have been added to the upper left of their unit cards - a "shield" for disbanding infantry and "crossed sword & axe" for the specials (see attached)

    4) PT Boat becomes Subchaser: The primary function of the "PT Boat" unit (in all versions of CtP2) is to detect submerged submarines, something that PT Boats were not designed to do (they don't have underwater detection devices). Accordingly, the unit has been re-named as the "Subchaser", a similar-sized small naval unit (from the same era) that WAS specifically designed to hunt submarines. Changes made to the GL, gl_str.txt, and the Tech Tree (all the graphics remain the same, however).

    5) Leader Selection Screen: When loading a new game, the player has the option to choose a "Male" or "Female" Leader. However, as laid out in item 1 of Post #150, Cradle 5 only features Male leaders so the selection screen has to change. And now it has - the new choices are between "Leader 1" and "Leader 2" (see bottom of attachment).

    6) Unit Promotion CTD: This is an old bug, regrettably not fixed by the Source Code team. Whenever a unit is promoted to "Veteran" or "Elite", a notification appears in the "Msgs" list. It contains an "eyeball" icon, and if you click that it centers the screen over the promoted unit, and the cursor blinks at that location. However, if you open the message and click the "Eye" AFTER the unit boards a vessel, the game is unable to locate it, and instead you get the "No exception object" error message, after which the game CTDs. I ran a large series of tests, and eventually determined that the only solution was to remove the "EyePoint" code from each of the "promotion" messages.

    Having a message which tells you a particular unit was promoted and which then centers on the unit is a very nice feature, but retaining code which causes a CTD - even if it's only in rare cases - just strikes me as a bad idea, especially since most of the message functionality is still retained simply by deleting the "EyePoint" code. As a result, I opened the script.slc file and removed the eyepoints from both the Veteran and Elite promotion messageboxes, and this CTD will never occur again.
    ​
    Click image for larger version  Name:	Leaders-Unit Symbols.jpg Views:	1 Size:	64.6 KB ID:	9464809

    Leave a comment:

Working...
X