Well, I already described it in another thread in this forum but I admit it was a bit rough, so let me try again: This process works for both scenarios and for the standard game, for the standard game all the files should be in [CtP2 folder]\ctp2_data\[name of path I mention] and for scenarios it should be [CtP2 folder]\Scenarios\[name of Scenario Pack]\[(optionally) scenXXXX where XXXX is any number between 0000 and 9999]\[name of path I mention]. Whenever I mention the folder english, this will only work for the English version of the game. When German/French/whatever versions come out, simply replace the foldername english with german/french/whatever to make it work for those versions. Keep in mind that I don't have the final product yet so the names of things might be slightly different but in general everything should work. Presuming you have all the sprites and graphics that you need/want (if you don't, check the CtPI modification section to find out how to make those or use the list in the CTPII modification section to find out what sprites there were for CtPI and rename them to CtPII style (add an extra 0 if needed and use a non-existing number instead of the old one so you can stll use existing sprites whenever needed)): 1) Place the sprites in default\graphics\sprites. 2) Place any tga's you may have in default\graphics\pictures (make sure they are 16-bit). I don't think it matters what name they have, but these names are used in step 4, so make sure the names correspond with the ones you use in step 4. 3) Place any sound files you may have (WAV format) in the default\sounds. 4) Edit default\gamedata\newsprite.txt. FE if you have a Chariot unit with the filename of the sprite Cu100.spr, add the line UNIT_CHARIOT2 100. Both the UNIT-name and the number need to be unique and the number must be the same as the number in the filename of the sprite. 5) Edit default\gamedata\uniticon.txt. For my Chariot example it might look like this (I copied this from the CtPII Cannon unit): ICON_UNIT_CHARIOT { FirstFrame "UPUP100L.TGA" Movie "NULL" Gameplay "UNIT_CHARIOT_GAMEPLAY" Historical "UNIT_CHARIOT_HISTORICAL" Prereq "UNIT_CHARIOT_PREREQ" Vari "UNIT_CHARIOT_STATISTICS" Icon "UPUP100A.TGA" LargeIcon "UPUP100L.TGA" SmallIcon "UPUP100B.TGA" StatText "UNIT_CHARIOT_SUMMARY" } If you don't have all necessary graphics, it's best to re-use the graphics of an existing unit. 6) Edit default\gamedata\sounds.txt. If you don't have any sounds simply copy the entries of an existing unit or use NULL.WAV (no sound), else add you're own. The various entries you need are all over the file, but here are the ones you might use for the Chariot example (once again, copied from the Cannon entry): SOUND_ACKNOWLEDGE_CHARIOT "GUV100.WAV" SOUND_ATTACK_CHARIOT "ACHARIOT2.WAV" SOUND_CANTMOVE_CHARIOT "GUV100.WAV" SOUND_DEATH_CHARIOT "VCHARIOT.WAV" SOUND_MOVE_CHARIOT "WCHARIOT.WAV" SOUND_SELECT1_CHARIOT "GUV100.WAV" SOUND_SELECT2_CHARIOT "GUV100B.WAV" SOUND_SPECIAL_CHARIOT "NULL.WAV" SOUND_VICTORY_CHARIOT "NULL.WAV" SOUND_WORK_CHARIOT "NULL.WAV" For 'special' Situations you might have extra special sounds. You can add those easily, just give them a name here (FE SOUND_CHARGE_CHARIOT) and use that name where ever you need it in the rest of the files (i.e. normally only Units.txt). 7) Nown add the appriopriate texts to english\gamedata\Great_Library.txt. Example: Requires: ATABASE_ADVANCES,ADVANCE_THE_WHEEL%gt The Wheel [UNIT_CHARIOT_STATISTICS] Attack: {UnitDB(UnitRecord[0]).Attack / 100} Ranged: {UnitDB(UnitRecord[0]).ZBRangeAttack} Defense: {UnitDB(UnitRecord[0]).Defense / 100} Armor: {UnitDB(UnitRecord[0]).Armor / 100} Damage: {UnitDB(UnitRecord[0]).Firepower} Vision: {UnitDB(UnitRecord[0]).VisionRange} Movement: {UnitDB(UnitRecord[0]).MaxMovePoints / 10000} [END] [UNIT_CHARIOT_SUMMARY] Ancient Flanking Unit [END] [UNIT_CHARIOT_GAMEPLAY] Due to it's large attack factor the Chariot is one of the most formidable Ancient attack units and, though slower, only surpassed by the ATABASE_UNITS,UNIT_ELEPHANT_WARRIOR>War Elephant. Also, it's a flanking unit so it can provide support to other units during combat. [END] [UNIT_CANNON_HISTORICAL] The Chariot was one of the most important Cavalry units of the Ancient Age. [END] 8) Add an entry to default\gamedata\Units.txt. It might look like this: ## UNIT 100 UNIT_CHARIOT { Description DESCRIPTION_UNIT_CHARIOT DefaultIcon ICON_UNIT_CHARIOT DefaultSprite SPRITE_CHARIOT Category UNIT_CATEGORY_FLANKER Attack 20 Defense 10 ZBRangeAttack 0 Firepower 2 Armor 1 MaxHP 10 ShieldCost 500 PowerPoints 400 ShieldHunger 6 FoodHunger 0 MaxMovePoints 300 VisionRange 2 EnableAdvance ADVANCE_THE_WHEEL ObsoleteAdvance ADVANCE_FEUDALISM ActiveDefenseRange 0 LossMoveToDmgNone MaxFuel 0 CanEntrench CanExpel CanPillage CanPirate ExertsMartialLaw DeathEffectsHappy IsFlanker SoundSelect1 SOUND_SELECT1_CHARIOT SoundSelect2 SOUND_SELECT2_CHARIOT SoundMove SOUND_MOVE_CHARIOT SoundAcknowledge SOUND_ACKNOWLEDGE_CHARIOT SoundCantMove SOUND_CANTMOVE_CHARIOT SoundAttack SOUND_ATTACK_CHARIOT SoundWork SOUND_WORK_CHARIOT SoundVictory SOUND_VICTORY_CHARIOT SoundDeath SOUND_DEATH_CHARIOT CanAttack: Land CanSee: Standard MovementType: Land Size: Medium VisionClass: Standard CanReform { Sound SOUND_ID_REFORM_CITY Effect SPECEFFECT_REFORMCITY } } ################################################## ########## 9) Edit english\gamedata\gl_str.txt to give the unit a name for in the game. For the Chariot it would look like this: UNIT_CHARIOT "Chariot". 10) Now start up the game and test if it works. If it does and if you're happy with the stats and everything, you only have to get the AI to use the unit. 11) This can be done by adding it in the build lists, in the file default\gamedata\UnitBuildLists.txt. Just insert it at the correct position in the correct buildlist(s). Unless I'm mistaken the AI will see the units further down the list as more advanced, so in case of the Chariot it might look like this: UNIT_BUILD_LIST_OFFENSE { Unit UNIT_WARRIOR Unit UNIT_SWORDSMAN Unit UNIT_CHARIOT Unit UNIT_KNIGHT Unit UNIT_CAVALRY Unit UNIT_MARINE Unit UNIT_FASCIST Unit UNIT_MACHINE_GUNNER Unit UNIT_PARATROOPER Unit UNIT_WAR_WALKER Unit UNIT_FUSION_TANK Unit UNIT_CRUISE_MISSILE } Unless I forgot anything or made a mistakes, that should be all to get it to work. [This message has been edited by Locutus (edited November 24, 2000).] Chris B Warlord Canton, CT Oct 2000 time: 01:40 25-11-2000 15:48 | profile | mail | www | pm | search | buddy edit | quote report | ip I recently tried adding some of the units that were already provided in the Alexander the Great Scenario to the standard game. I followed all the steps you gave,except I skipped the great library, but when I loaded it crashed and said the sprites didn't exist. I tried putting it in scenario format, by the way. Next, I put all the sprites in the correct place in the scenario folder, but it still wouldn't load. Can anyone tell me what I did wrong????? Locutus ACS CTP1/2 News&Files Manager Hengelo/Enschede, The Great Nation of Twente Nov 1999 time: 02:40 03-12-2000 05:54 | profile | mail | www | pm | search | buddy | icq edit | quote report | ip Chris, Sorry for the late reply but I've been offline a while. Email me your scenario folder and I'll see if I can solve your problem. WesW CTP1/2 Modification Site Admin Huntsville, Al., USA Jan 1970 time: 19:40 02-12-2000 20:54 | profile | mail | www | pm | search | buddy | icq edit | quote report | ip Sprites for the special units that are part of the shipped scenarios are stored in the standard game section, not the scenario section. I haven't looked in to how they did this, yet. Perhaps someone who wants to dig out those werewolves will take the time to figure it out. To summarize: there are no sprites in the shipped scenario folders, and that is why you are getting your error message. I have found out a few things working with inserting units from ctp1: 1)The sound files for Attack, Move and Death are included in Ctp2, but not the other sounds, apparently. You need to go into the Ctp1 sounds.txt, and copy the appropriate lines into your Ctp2 scenario sounds.txt. If you wanted to use other types of sounds from Ctp1, you could copy the sound files into your scenario as well, but the most important ones are already in there. 2)The tgas for the Ctp1 units are apparently NOT in Ctp2, or they have different names if they are. We need to get one of the Activisioners to explain this for us. This is bad because the Ctp1 tgas are all in one enormous file in the Ctp1 pictures folder, which can't be opened by standard programs, as far as I know. 3)Tga sizes are different for the small icon pics in Ctp2. The large icons from the Ctp1 units will work fine. The small pics for Ctp2 have the same size ratios as the large pics, so you can simply take the large pics, and resize them to the appropriate sizes. The size of the "a" pic is 32x24, and that of the "b" pic is 24x18. (That of the large pic is 160x120.) 4)I finally figured out the relationship between spriteID and newsprite. Basically, newsprite trumps spriteID. This means if both files have the same unit listed, the game will use the sprite number listed in newsprite. Also, their are two sets of sprites in the game. One set is labeled GU08, for example, and the other GU008. The first set is the Ctp1 sprites, and the second set the Ctp2 sprites. Like the sprite files, the second set trumps the first set. Thus, if newsprite refers to a sprite 8, the game looks in the sprites folder for GU08, which MUST be there. Then, the game checks for GU008. If it finds a GU008, then it uses this sprite in the game rather than GU08. To use one of the included Ctp1 sprites in the game, you need to copy the sprite out of the standard folder and place it into your scenario folder. There, you need to either: 1)re-name it to the Ctp2-system name that you choose (with a zero in front) if you wanted it to replace a ctp2 sprite, or 2)re-name it to an unused sprite number, using the Ctp1 system. (Note that GU28 cannot be used, since there is a Ctp2 sprite of an Artillery piece named GU028 that was not used in the game. This sprite may be used for mods, however.) This same naming system is used to add user-created sprites as well. [This message has been edited by WesW (edited December 23, 2000).] ThaddeusAlexander Warlord Canada Dec 2000 time: 01:40 06-12-2000 01:45 | profile | mail | pm | search | buddy | icq edit | quote report | ip WHERE DO YOU GET THE SPRITES AND TGAs FROM??? Locutus ACS CTP1/2 News&Files Manager Hengelo/Enschede, The Great Nation of Twente Nov 1999 time: 02:40 06-12-2000 15:42 | profile | mail | www | pm | search | buddy | icq edit | quote report | ip ThaddeusAlexander, Don't yell like that, I hear you fine. You can either get them from the CtPI download-section of Apolyton, use existing ones from CtPII (or CtPI, they are included in CtPII, only the TGAs seem to be missing) or make them yourself Chris B Warlord Canton, CT Oct 2000 time: 01:40 08-12-2000 02:16 | profile | mail | www | pm | search | buddy edit | quote report | ip Sorry, I've been off a while , 2. my problem was i used spriteID, not newsprite. But now I have an even fishier problem. The game loads, but it can't find the english side. For instance, in the build queue, rather than saying Legion, it says: UNIT_LEGION. I have gl_str all done in the right format. WesW CTP1/2 Modification Site Admin Huntsville, Al., USA Jan 1970 time: 19:40 08-12-2000 16:28 | profile | mail | www | pm | search | buddy | icq edit | quote report | ip This post moved up and merged with my earlier post. [This message has been edited by WesW (edited December 23, 2000).] marc420 Warlord Atlanta, GA, Amerika Jun 1999 time: 01:40 22-12-2000 15:13 | profile | search | buddy edit | quote report | ip What does the file Units_release.txt do? Anything? I was curious what I was pointing to when I copied the line that reads Description DESCRIPTION_UNIT_WARRIOR So I did a search on DESCRIPTION_UNIT_WARRIOR That string shows up in units.txt, units_historical.txt, units_release.txt and junk_str.txt. But in everycase it seems that the string is something that is being pointed to, not something that is defined. So I'm still curious as to what it does, if anyone knows? I went to Units_release.txt to find the string. What I found instead made me wonder what this file is. Here's what I found in Units_release.txt. It looks like an whole 'nother definition of the unit similar to units.txt UNIT_WARRIOR { SHIELD_COST 135 POWER_POINTS 100 MAX_HP 10 ATTACK 10 DEFENSE 10 FIREPOWER 2 ZB_RANGE_ATTACK 0 BATTLEFIELD_RANGE 1 BATTLEFIELD_RADIUS 1 VISION_RANGE 2 ACTIVE_DEFENSE_RANGE 0 ELECTRONIC_COMBAT_FACTOR 0 MAX_MOVEMENT 100 FUEL 0 SHIELD_HUNGER 4.05 FOOD_HUNGER 0 DEFAULT_SPRITE SPRITE_WARRIOR DEFAULT_ICON ICON_UNIT_WARRIOR DESCRIPTION DESCRIPTION_UNIT_WARRIOR # #id string of the default sprite SOUND_SELECT1 SOUND_SELECT1_WARRIOR SOUND_SELECT2 SOUND_SELECT2_WARRIOR SOUND_MOVE SOUND_MOVE_WARRIOR SOUND_ACKNOWLEDGE SOUND_ACKNOWLEDGE_WARRIOR SOUND_CANTMOVE SOUND_CANTMOVE_WARRIOR SOUND_ATTACK SOUND_ATTACK_WARRIOR SOUND_WORK SOUND_WORK_WARRIOR SOUND_VICTORY SOUND_VICTORY_WARRIOR SOUND_DEATH SOUND_DEATH_WARRIOR ENABLING_ADVANCE ADVANCE_TOOLMAKING OBSOLETE_ADVANCE ADVANCE_BUREAUCRACY OBSOLETE_ADVANCE ADVANCE_NATIONALISM ############## special flags ############################# MOVEMENT_TYPE_LAND MOVEMENT_TYPE_MOUNTAIN LOSS_MOVE_TO_DMG_NONE SIZE_SMALL VISIBILITY_CLASS_0 VISIBILITY_CAN_SEE_0 EXERTS_MARTIAL_LAW CAN_EXPEL_POP DEATH_EFFECTS_HAPPY CAN_REFORM SOUND_ID_REFORM_CITY SPECEFFECT_REFORMC ITY CAN_PILLAGE CAN_EXPEL CAN_PIRATE CHEAT_INDEX 1 } ### UNIT DONE ### Paul Emperor Zwolle, The Netherlands Mar 1999 time: 02:40 22-12-2000 23:19 | profile | mail | www | pm | search | buddy edit | quote report | ip units_release.txt and units_historic.txt are two of those left-ov er files from CTP1 that was never deleted. They don't do anything. The DECRIPTION_ flag doesn't do anything either, at least it didn't in CTP1. hexagonian King The All-Seeing Eye Jun 1999 time: 19:40 24-12-2000 16:04 | profile | www | pm | search | buddy edit | quote report | ip I followed the instructions for adding a unit, and I get an error message that I am missing the following entries in the following fields in the units.txt Attack Defense ZBRangeAttack Firepower and so forth... I get the same error messages when I also try to add a government, only I get the error message in the govern.txt. Any input??? Paul Emperor Zwolle, The Netherlands Mar 1999 time: 02:40 24-12-2000 16:32 | profile | mail | www | pm | search | buddy edit | quote report | ip Most likely you forgot a { or } or you put a space in one of the unit flags. I can't say more without knowing exactly what you changed. Radical_Manuvr Chieftain Maryland, USA Dec 2000 time: 01:40 24-12-2000 19:43 | profile | pm | search | buddy edit | quote report | ip I had the same problem as Hexagonian. If anybody comes up with a solution, please post it. I know I had all my brackets, rechecked instructions like 5 times but the same crash and error message happens each time. hexagonian King The All-Seeing Eye Jun 1999 time: 19:40 24-12-2000 20:05 | profile | www | pm | search | buddy edit | quote report | ip Basically, I would cut and paste a duplicate section (in govern.txt for example, highlight and select Monarchy and paste it within the document), select only the text I was going to change and then change it. I checked the spacing between each of the sections too. This one has got me stymied... [This message has been edited by hexagonian (edited December 24, 2000).] WesW CTP1/2 Modification Site Admin Huntsville, Al., USA Jan 1970 time: 19:40 25-12-2000 02:23 | profile | mail | www | pm | search | buddy | icq edit | quote report | ip When you get a whole string of error messages, it can mean you have a bracket-type problem, or that something is messed up with the line immediately preceeding the ones which show up on the error message. In this instance, that would be the UNIT_CATEGORY line. This line must refer to a valid category as listed in the ldl.str, btw. hexagonian King The All-Seeing Eye Jun 1999 time: 19:40 25-12-2000 18:08 | profile | www | pm | search | buddy edit | quote report | ip I can be a little more specific, using the problems I had adding a new government - they seem to be similar problems too. Here is the govern.txt I added for a new government 'Caliphate' I did not fiddle with the numbers, as I wanted to see if I could get the government into the game first. This was added at the end of the govern.txt file ################################################## ########## GOVERNMENT_CALIPHATE { Icon ICON_GOV_MONARCHY EnableAdvance ADVANCE_CALIPHATE Rank 2 SameRankAdvice GOVERNMENT_MONARCHY_SAME_RANK_ADVICE HigherRankAdvice GOVERNMENT_MONARCHY_HIGHER_RANK_ADVICE RationsExpectation 0 PositiveRationsCoef 1 NegativeRationsCoef 1 WorkdayExpectation 0 PositiveWorkdayCoef 1 NegativeWorkdayCoef 1 WagesExpectation 0 PositiveWagesCoef 1 NegativeWagesCoef 1 FoodCoef 1 ProductionCoef 1.3 InfrastructureCoefficient 0.5 CrimeCoef 0.75 CrimeOffset 95 KnowledgeCoef 1.25 MaxScienceRate 0.6 GoldCoef 1 CapitalizationCoefficient 0.5 UnitRushModifier 5 BuildingRushModifier 4 WonderRushModifier 7 EndGameRushModifier 7 MaxIncomingTrade 100000 MaxOutgoingTrade 100000 PollutionCoef 1.15 PollutionUnhappyCoef 0.02 SupportCoef 0.75 TurnsToNewReadiness 7 ReadyPeaceCoef 0.5 ReadyPeaceHP 0.5 ReadyAlertCoef 0.75 ReadyAlertHP 0.8 ReadyWarCoef 1 ReadyWarHP 1 DefenseCoef 1.5 WarDiscontentMaxUnits 15 WarDiscontentPerUnit 0.5 ConquestDistress -5 ConquestDistressDecay 0.2 OverseasCoef 0 OverseasDefeatDecay 0 OverseasDefeatCoef 1 HomeDefeatDecay 0.5 HomeDefeatCoef 1 MaxMartialLawUnits 2 MartialLawEffect 2 MartialLawThreshold 80 AtHomeRadius 2 EmpireDistanceScale 0.001 MinEmpireDistance 500 MaxEmpireDistance 2000 TooManyCitiesThreshold 35 TooManyCitiesCoefficient 1 ProfessionalUnits 0 GrowthRank 2 ProductionRank 4 CommerceRank 2 ScienceRank 2 GoldRank 2 MilitaryRank 5 PollutionRank 2 LoyaltyRank 5 MartialLawRank 3 } ################################################## ########## I also went through and edited all the other files that have been instructed to edit in earlier posts. When all the files are added to the scenario directory I created, I tried to launch the game, and get the error messages, starting with the following govern.txt 371 expected string ID followed by the following box(es) govern.txt 371 warning: required field positive workday Coef missing and so forth. None of the earlier posts for adding and editing governments/units have mentioned making changes in the ldl.str file. What exactly needs to be edited/added in that file - in relation to additions to governments and further down the line, new units? This makes me appreciate what you do even more..but I want to be able to do some of this myself too. Paul Emperor Zwolle, The Netherlands Mar 1999 time: 02:40 25-12-2000 21:20 | profile | mail | www | pm | search | buddy edit | quote report | ip As far as I know the number in the error message should be the line number for the error. Line 371 in govern.txt is in the fascism entry, so maybe you accidentally deleted/changed something there? hexagonian King The All-Seeing Eye Jun 1999 time: 19:40 26-12-2000 15:09 | profile | www | pm | search | buddy edit | quote report | ip The problem is about 90% fixed. What I did was basically start over with a clean govern.txt file. I cannot remember if anything critical got changed in Fascism, but I did tinker with that file earlier because I wanted to move it into the Modern Age. I cut and pasted the entry for Monarchy and re-entered the fields that I wanted to change for the 'Caliphate' government. I believe that the second, fifth and sixth line in the below sequence needs to remain unchanged from your template, as changing the entries from MONARCHY to CALIPHATE will cause crashs, and those lines need to be able to link up with other entries. If this is wrong, feel free to correct me on this. (I am sure of the second line, at least, as I do not have an icon for Caliphate) GOVERNMENT_CALIPHATE { Icon ICON_GOV_MONARCHY EnableAdvance ADVANCE_CALIPHATE Rank 2 SameRankAdvice GOVERNMENT_MONARCHY_SAME_RANK_ADVICE HigherRankAdvice GOVERNMENT_MONARCHY_HIGHER_RANK_ADVICE BTW, what do the following lines signify? SameRankAdvice GOVERNMENT_MONARCHY_SAME_RANK_ADVICE HigherRankAdvice GOVERNMENT_MONARCHY_HIGHER_RANK_ADVICE I made my changes to Fascism too. The game launched without crashing. Now for the other 10%. I made changes in the Great Library file too, but what I get in the entries is a entry for 'Caliphate with a combination of information for 'Caliphate' and 'Monarchy' For example, I had written a history file for Caliphate, but it is not showing up - rather the history for Monarchy is there instead. Is there a line of text that will link up the Monarchy history instead of the Caliphate history. And now, what I am curious about are the ranking numbers that are at the end of each government entry in the govern.txt file. GrowthRank 2 ProductionRank 4 CommerceRank 2 ScienceRank 2 GoldRank 2 MilitaryRank 5 PollutionRank 2 LoyaltyRank 5 MartialLawRank 3 Exactly what do these numbers do, and how do they work. I'm assuming they are the rating system that is used to compare different governments. Do these need to be changed too? I know this is somewhat off-topic to this thread about adding a unit, but the issues are related in the sense that in the .txt files, there may be lines of text that need to be left alone. So far, the instructions have been pretty straightforward, but if there are lines that need to be left alone, I hope it will be spelled out in the info provided. I also have a starting point to now go into the unit.txt files and see where the problem is at there for my add-on unit. Are there any entries within those files that need to be left alone? Or are there any entries that require an unusual alteration? Again, thanks for the help! It's relatively easy to make an alteration by changing a few numbers, but I am finding that adding a new unit/government/advance is a whole new ballgame. Paul Emperor Zwolle, The Netherlands Mar 1999 time: 02:40 26-12-2000 21:31 | profile | mail | www | pm | search | buddy edit | quote report | ip To get your caliphate great library entries you must change ICON_GOV_MONARCHY to ICON_GOV_CALIPHATE and also add that to uniticon.txt (use one of the existing entries as a template). The rank numbers are used for the government comparison. You should change those numbers if you want to get accurate comparisons to other governments. The biggest problem with adding whole new units/governments/advances is that you don't have to just change units.txt, govern.txt or advance.txt but usually also several other files, especially if you also want great library entries for your added stuff.