Creatures in War [CIW] [Mod in the making] [Need some support and ideas]

@Thunderbrd

Thanks for answer,

How i am understand you:

1) This code

PHP:
/*************************************************************************************************/
/* UNOFFICIAL_PATCH                       06/02/10                           LunarMongoose       */
/*                                                                                               */
/* User interface                                                                                */
/*************************************************************************************************/
        // Mongoose FeatureDamageFix
        else if (iDamage < 0)
        {
            szString.append(CvWString::format(SETCOLR, TEXT_COLOR("COLOR_POSITIVE_TEXT")));
            szString.append(NEWLINE);
            szString.append(gDLL->getText("TXT_KEY_PLOT_DAMAGE", iDamage));
            szString.append(CvWString::format( ENDCOLR));
        }
/*************************************************************************************************/
/* UNOFFICIAL_PATCH                         END                                                  */
/*************************************************************************************************/

    }
/*****************************************************************************************************/
/**  Author: TheLadiesOgre                                                                          **/
/**  Date: 15.10.2009                                                                               **/
/**  ModComp: TLOTags                                                                               **/
/**  Reason Added: Display information regarding terrain damage                                     **/
/**  Notes:                                                                                         **/
/*****************************************************************************************************/
    if (pPlot->getTerrainType() != NO_TERRAIN)
    {
        int iDamage = GC.getTerrainInfo(pPlot->getTerrainType()).getTurnDamage();

        if (iDamage > 0)

replace with your in answer:

PHP:
/*************************************************************************************************/
/* UNOFFICIAL_PATCH                       06/02/10                           LunarMongoose       */
/*                                                                                               */
/* User interface                                                                                */
/*************************************************************************************************/
        // Mongoose FeatureDamageFix
        else if (iDamage < 0)
        {
            szString.append(CvWString::format(SETCOLR, TEXT_COLOR("COLOR_POSITIVE_TEXT")));
            szString.append(NEWLINE);
            szString.append(gDLL->getText("TXT_KEY_PLOT_DAMAGE", iDamage));
            szString.append(CvWString::format( ENDCOLR));
        }
/*************************************************************************************************/
/* UNOFFICIAL_PATCH                         END                                                  */
/*************************************************************************************************/

in this case just live UNOFFICIAL_PATCH.

Please correct me if I don't understand you correctly
Platyping had it right. It's only that second bit (the part that I expressed in code blocks on my last post) that is completely irrelevant and should just be removed.

2) First ("ORIGINAL:") comes before Second ("NEW CODE, MUST MERGE WITH ORIGINAL:"), after last line of First, i must add all from Second.
That's what it appeared to me to need yes.

3) I hate CvUnitAI.cpp, i really understand you because you unable to help me about this #3 problem, if is necessary i will merge this file one week, step by step, post part by part how i merge this, you or some other (if help come) will rectify me.
Yeah, one segment at a time there and I can be of more assistance.


You say:"Interestingly enough, the order in which functions are delivered into the code is unimportant - only that they are all declared properly in the header files."

If in .h files are OK, it is not important which code come first, which later?
That's correct. The order of the functions as they are declared in the .h file does not require that the order the functions are written in the .cpp file match. I can declare 'getSomething()' then 'getSomethingElse()' in the .h file but put 'getSomethingElse()' before 'getSomething()' in the .cpp file and it won't cause problems.

And i am use WinMerge to merge this. But CvUnitAI.cpp is really hard to merge via this way.
Yeah, that file is usually tough due to it being one of the more complex files. WinMerge tries to be helpful but sometimes its able to match up too much that throws its assumptions out of whack causing it to assume an intent to merge code that isn't at all similar.
 
Let's get start:

I try to merge ASAF (MAIN) and TLO codes, file (CvUnitAI.cpp)

1)

Codes in ASAF:
Code:
	if (AI_load(UNITAI_ASSAULT_SEA, MISSIONAI_LOAD_ASSAULT, NO_UNITAI, -1, -1, -1, -1, MOVE_SAFE_TERRITORY, 1))
	{
		return;
	}

	if (AI_heal())
	{
		return;
	}

	if (AI_guardCity(false, true, 2))
	{
		return;
	}

Codes in TLO: (Solution:I will replace ASAF codes with this TLO)
Code:
	if (AI_load(UNITAI_ASSAULT_SEA, MISSIONAI_LOAD_ASSAULT, NO_UNITAI, -1, -1, -1, -1, MOVE_SAFE_TERRITORY, 1))
	{
		return;
	}

/*****************************************************************************************************/
/**  Author: TheLadiesOgre                                                                          **/
/**  Date: 20.10.2009                                                                               **/
/**  ModComp: TLOTags                                                                               **/
/**  Reason Added: Try to ensure AI_barbAttackMove doesn't choose to heal on damaging terrain       **/
/**  Notes:                                                                                         **/
/*****************************************************************************************************/
	if ((GC.getTerrainInfo(plot()->getTerrainType()).getTurnDamage() == 0) || (plot()->isCity()))
	{
		if (AI_heal())
		{
			return;
		}
	}
/*****************************************************************************************************/
/**  TheLadiesOgre; 20.10.2009; TLOTags                                                             **/
/*****************************************************************************************************/

	if (AI_guardCity(false, true, 2))
	{
		return;
	}

2)

TLO CODES:

Code:
/*****************************************************************************************************/
/**  Author: TheLadiesOgre                                                                          **/
/**  Date: 20.10.2009                                                                               **/
/**  ModComp: TLOTags                                                                               **/
/**  Reason Added: Try to ensure AI_attackMove doesn't choose to heal on damaging terrain           **/
/**  Notes:                                                                                         **/
/*****************************************************************************************************/
		if ((GC.getTerrainInfo(plot()->getTerrainType()).getTurnDamage() == 0) || (plot()->isCity()))
		{
			if (AI_heal(30, 1))
			{
				return;
			}
		}
/*****************************************************************************************************/
/**  TheLadiesOgre; 20.10.2009; TLOTags                                                             **/
/*****************************************************************************************************/
		
		if (!bDanger)
		{
			if (AI_group(UNITAI_SETTLE, 1, -1, -1, false, false, false, 3, true))
			{
				return;
			}

			if (AI_group(UNITAI_SETTLE, 2, -1, -1, false, false, false, 3, true))
			{
				return;
			}
		}

		if (AI_guardCityAirlift())
		{
			return;
		}

ASAF:
Code:
		if( !(plot()->isOwned()) || (plot()->getOwnerINLINE() == getOwnerINLINE()) )
		{
			if( area()->getCitiesPerPlayer(getOwnerINLINE()) > GET_PLAYER(getOwnerINLINE()).AI_totalAreaUnitAIs(area(), UNITAI_CITY_DEFENSE) )
			{
				// Defend colonies in new world
				if (AI_guardCity(true, true, 3))
				{
					return;
				}
			}
		}

		if (AI_heal(30, 1))
		{
			return;
		}
		
		if (!bDanger)
		{
			if (AI_group(UNITAI_SETTLE, 1, -1, -1, false, false, false, 3, true))
			{
				return;
			}

			if (AI_group(UNITAI_SETTLE, 2, -1, -1, false, false, false, 3, true))
			{
				return;
			}
		}

		if (AI_guardCityAirlift())
		{
			return;
		}

MY SOLUTION FOR THIS PROBLEM:

Code:
		if( !(plot()->isOwned()) || (plot()->getOwnerINLINE() == getOwnerINLINE()) )
		{
			if( area()->getCitiesPerPlayer(getOwnerINLINE()) > GET_PLAYER(getOwnerINLINE()).AI_totalAreaUnitAIs(area(), UNITAI_CITY_DEFENSE) )
			{
				// Defend colonies in new world
				if (AI_guardCity(true, true, 3))
				{
					return;
				}
			}
		}

		
/*****************************************************************************************************/
/**  Author: TheLadiesOgre                                                                          **/
/**  Date: 20.10.2009                                                                               **/
/**  ModComp: TLOTags                                                                               **/
/**  Reason Added: Try to ensure AI_attackMove doesn't choose to heal on damaging terrain           **/
/**  Notes:                                                                                         **/
/*****************************************************************************************************/
		if ((GC.getTerrainInfo(plot()->getTerrainType()).getTurnDamage() == 0) || (plot()->isCity()))
		{
			if (AI_heal(30, 1))
			{
				return;
			}
		}
/*****************************************************************************************************/
/**  TheLadiesOgre; 20.10.2009; TLOTags                                                             **/
/*****************************************************************************************************/
		
		if (!bDanger)
		{
			if (AI_group(UNITAI_SETTLE, 1, -1, -1, false, false, false, 3, true))
			{
				return;
			}

			if (AI_group(UNITAI_SETTLE, 2, -1, -1, false, false, false, 3, true))
			{
				return;
			}
		}

		if (AI_guardCityAirlift())
		{
			return;
		}

3)

TLO:
Code:
			if( getGroup()->getNumUnits() < 4 )
			{
				if (AI_choke(1))
				{
					return;
				}
			}
/*************************************************************************************************/
/** BETTER_BTS_AI_MOD                       END                                                  */
/*************************************************************************************************/

		}

		if (AI_goody(3))
		{
			return;
		}

		if (AI_anyAttack(1, 70))
		{
			return;
		}
	}

/*****************************************************************************************************/
/**  Author: TheLadiesOgre                                                                          **/
/**  Date: 16.09.2009                                                                               **/
/**  ModComp: TLOTags                                                                               **/
/**  Reason Added: Implement AI_paradrop for other UNITAI's now that it is potentially available    **/
/**  Notes: 14.10.2009-- Moved higher and added bCity check                                         **/
/*****************************************************************************************************/
	bool bCity = plot()->isCity();
	if (bCity)
	{
		if (AI_paradrop(getDropRange()))
		{
			return;
		}
	}

/*****************************************************************************************************/
/**  TheLadiesOgre; 16.09.2009; TLOTags                                                             **/
/*****************************************************************************************************/
	{
		PROFILE("CvUnitAI::AI_attackMove() 2");

		if (bDanger)
		{
			if (AI_cityAttack(4, 30))
			{
				return;
			}

ASAF:
Code:
			if( getGroup()->getNumUnits() < 4 )
			{
				if (AI_choke(1))
				{
					return;
				}
			}
		
			if (AI_cityAttack(4, 30))
			{
				return;
			}

SOLUTION: I don't know how? ASAF's BBAI IS NEWER VERSION OF BBAI, TLO's BBAI IS OLDER VERSION (DON'T KNOW, I THINK THAT).

Asaf's Custom DLL with BBAI

[SDK] Promotions DLL

I don't know which mod have newer BBAI version.
 
1) Looks right - the first doesn't consider terrain damage when selecting to sit and heal and it really is a problem when there isn't consideration given there by the ai.

2) Yep. I'd have done the same.

3) Equally unsure. I'd have to see the majority of the function to see how that should go I think.
 
Why should terrain damage check be == 0 when it should be < 1, since previously it is already stated it could be negative resulting in healing terrain.

It is still possible that the terrain damage is low enough that the territory heal rate + promotions will outheal the damage.

No considerations given to fort either
 
Why should terrain damage check be == 0 when it should be < 1, since previously it is already stated it could be negative resulting in healing terrain.

It is still possible that the terrain damage is low enough that the territory heal rate + promotions will outheal the damage.

No considerations given to fort either

Good point on the ==0 bit. However, I believe there probably is consideration given for forts - if the coding is at all similar to C2C, forts are considered when the isCity is called unless a parameter that specifies to include them in that check is set to false when calling the function.
 
It would be better to have that check for terrain damage within the AI_heal() function instead. That way you only have to do it once and that check will already be in place for any other calls to AI_heal()
 
@Thunderbrd, platyping, Tholal

I really don't know why is 0 or 1, i am not write this codes, i just try to merge this codes.
Lets return to past:
Code:
    if (pPlot->getTerrainType() != NO_TERRAIN) 
    { 
        int iDamage = GC.getTerrainInfo(pPlot->getTerrainType()).getTurnDamage(); 

        if (iDamage > 0)
        { 
            szString.append(CvWString::format(SETCOLR, TEXT_COLOR("COLOR_NEGATIVE_TEXT"))); 
            szString.append(NEWLINE); 
            szString.append(gDLL->getText("TXT_KEY_PLOT_DAMAGE", iDamage)); 
            szString.append(CvWString::format( ENDCOLR)); 
        } 
        else if (iDamage < 0) 
        { 
            szString.append(CvWString::format(SETCOLR, TEXT_COLOR("COLOR_POSITIVE_TEXT"))); 
            szString.append(NEWLINE); 
            szString.append(gDLL->getText("TXT_KEY_PLOT_DAMAGE", iDamage)); 
            szString.append(CvWString::format( ENDCOLR)); 
        }

He meant this...
The second portion is more or less redundant unless you have terrains that actually heal rather than damage

Platy and Thunder are give me answer about this problem, i will use this codes which is in quote. If i use this, what to do on this new problems?

Lets return to current problems:

1) If we haven't solution, lets ASAF CODES stay. What you think?

2) I look that all think that this is OK :D

3) I will post larger part of code, look, i will now continue codes from 2) if you understand me (from: "if (!bDanger)" ):

ASAF:
Code:
		if (bDanger)
		{
			if (AI_pillageRange(1, 20))
			{
				return;
			}

			if (AI_cityAttack(1, 35))
			{
				return;
			}

			if (AI_anyAttack(1, 45))
			{
				return;
			}

			if (AI_pillageRange(3, 20))
			{
				return;
			}

			if( getGroup()->getNumUnits() < 4 )
			{
				if (AI_choke(1))
				{
					return;
				}
			}
		
			if (AI_cityAttack(4, 30))
			{
				return;
			}

			if (AI_anyAttack(2, 40))
			{
				return;
			}
		}

TLO:
Code:
		if (bDanger)
		{
			if (AI_pillageRange(1, 20))
			{
				return;
			}

			if (AI_cityAttack(1, 35))
			{
				return;
			}

			if (AI_anyAttack(1, 45))
			{
				return;
			}

			if (AI_pillageRange(3, 20))
			{
				return;
			}

/*************************************************************************************************/
/** BETTER_BTS_AI_MOD                      02/11/09                                jdog5000      */
/**                                                                                              */
/** Unit AI                                                                                      */
/*************************************************************************************************/
			if( getGroup()->getNumUnits() < 4 )
			{
				if (AI_choke(1))
				{
					return;
				}
			}
/*************************************************************************************************/
/** BETTER_BTS_AI_MOD                       END                                                  */
/*************************************************************************************************/

		}

		if (AI_goody(3))
		{
			return;
		}

		if (AI_anyAttack(1, 70))
		{
			return;
		}
	}

/*****************************************************************************************************/
/**  Author: TheLadiesOgre                                                                          **/
/**  Date: 16.09.2009                                                                               **/
/**  ModComp: TLOTags                                                                               **/
/**  Reason Added: Implement AI_paradrop for other UNITAI's now that it is potentially available    **/
/**  Notes: 14.10.2009-- Moved higher and added bCity check                                         **/
/*****************************************************************************************************/
	bool bCity = plot()->isCity();
	if (bCity)
	{
		if (AI_paradrop(getDropRange()))
		{
			return;
		}
	}

/*****************************************************************************************************/
/**  TheLadiesOgre; 16.09.2009; TLOTags                                                             **/
/*****************************************************************************************************/
	{
		PROFILE("CvUnitAI::AI_attackMove() 2");

		if (bDanger)
		{
			if (AI_cityAttack(4, 30))
			{
				return;
			}

			if (AI_anyAttack(2, 40))
			{
				return;
			}
		}

IMPORTANT: I AM NOT MERGE NOTHING YET (THINK ON MY POST WHERE I AM POST PROBLEMS, FROM #227 POST)
 
4) Problem
ASAF:
Code:
		if (!isEnemy(plot()->getTeam()))
		{
			if (AI_heal())
			{
				return;
			}
		}
TLO:
Code:
		if (!isEnemy(plot()->getTeam()))
		{
/*****************************************************************************************************/
/**  Author: TheLadiesOgre                                                                          **/
/**  Date: 20.10.2009                                                                               **/
/**  ModComp: TLOTags                                                                               **/
/**  Reason Added: Try to ensure AI_attackMove doesn't choose to heal on damaging terrain           **/
/**  Notes:                                                                                         **/
/*****************************************************************************************************/
			if ((GC.getTerrainInfo(plot()->getTerrainType()).getTurnDamage() == 0) || (plot()->isCity()))
			{
				if (AI_heal())
				{
					return;
				}
			}
/*****************************************************************************************************/
/**  TheLadiesOgre; 20.10.2009; TLOTags                                                             **/
/*****************************************************************************************************/
		}

MY SOLUTION: IS TLO CODES.

5) Problem
ASAF:
Code:
		if (AI_protect(35, 5))
		{
			return;
		}

		if (AI_offensiveAirlift())
		{
			return;
		}

TLO:
Code:
		if (AI_protect(35, 5))
		{
			return;
		}

/*****************************************************************************************************/
/**  Author: TheLadiesOgre                                                                          **/
/**  Date: 16.09.2009                                                                               **/
/**  ModComp: TLOTags                                                                               **/
/**  Reason Added: Implement AI_paradrop for other UNITAI's now that it is potentially available    **/
/**  Notes: 14.10.2009-- Added bCity check                                                          **/
/*****************************************************************************************************/
		if (bCity)
		{
			if (AI_paradrop(getDropRange()))
			{
				return;
			}
		}

/*****************************************************************************************************/
/**  TheLadiesOgre; 16.09.2009; TLOTags                                                             **/
/*****************************************************************************************************/

		if (AI_offensiveAirlift())
		{
			return;
		}

MY SOLUTION IS TLO CODES.

6) PROBLEM

ASAF:
Code:
	if (bHostile)
	{
		if (AI_choke(1))
		{
			return;
		}
	}
	
	if (AI_heal())
	{
		return;
	}

	if (AI_retreatToCity())
	{
		return;
	}

TLO:
Code:
	if (bHostile)
	{
		if (AI_choke(1))
		{
			return;
		}
	}
	
/*****************************************************************************************************/
/**  Author: TheLadiesOgre                                                                          **/
/**  Date: 20.10.2009                                                                               **/
/**  ModComp: TLOTags                                                                               **/
/**  Reason Added: Try to ensure AI_paratrooperMove doesn't choose to heal on damaging terrain      **/
/**  Notes:                                                                                         **/
/*****************************************************************************************************/
	if ((GC.getTerrainInfo(plot()->getTerrainType()).getTurnDamage() == 0) || (plot()->isCity()))
	{
		if (AI_heal())
		{
			return;
		}
	}
/*****************************************************************************************************/
/**  TheLadiesOgre; 20.10.2009; TLOTags                                                             **/
/*****************************************************************************************************/

	if (AI_retreatToCity())
	{
		return;
	}

MY SOLUTION IS TLO AGAIN.

ONE QUESTION FOR THIS FILE WHICH I TRY TO MERGE. CAN SOMETHING GO WRONG HERE? What would be the worst case?

As i see, this file is for Artificial Intelligence, and everything which i work will make AI more better. Which problem i can make here?
 
hey friend,

i see you work hard on the sdk,

why not use what i already did and about to release?

this is what it includes:
1. jculture and j improvement mods (its instead of super forts - u can replace it with super by compare )
2. hated civs/favorite civs
3. fresh water mod - water from improvements + no fresh water from lakes or ocean
4. extended mountains mod - aloow pass on mountains, improvements tags and resources.
5. free tech from building tag
6. city unit and city size prereq
7. terrain health good/bad
8. unit prereq civic
9. specialist hsppiness/unhappiness
10. 50 civs on a map
11. woc tga index
12. unique civ project
13. project free unit
14. project help tag
15. kmod 1.41
16. slavery mod
17. extra pillage - 1.6
18. replaceble buildings
19. tlo promotion tags
20. native route mod
21. Civic Specialist Yield & Commerce Chan
22. platyping user interface / or bug interface (u can choose)
 
Haven't had much time to take a look but I haven't forgotten ya. Will return to review when I can here.

Don't worry Thunder i am merge all sdk files. Not compile yet, i will do that today.

hey friend,

i see you work hard on the sdk,

why not use what i already did and about to release?

this is what it includes:
1. jculture and j improvement mods (its instead of super forts - u can replace it with super by compare )
2. hated civs/favorite civs
3. fresh water mod - water from improvements + no fresh water from lakes or ocean
4. extended mountains mod - aloow pass on mountains, improvements tags and resources.
5. free tech from building tag
6. city unit and city size prereq
7. terrain health good/bad
8. unit prereq civic
9. specialist hsppiness/unhappiness
10. 50 civs on a map
11. woc tga index
12. unique civ project
13. project free unit
14. project help tag
15. kmod 1.41
16. slavery mod
17. extra pillage - 1.6
18. replaceble buildings
19. tlo promotion tags
20. native route mod
21. Civic Specialist Yield & Commerce Chan
22. platyping user interface / or bug interface (u can choose)

1. What is that? If that can spawn units like in FFH2 i will use that.
2. What is that?
3. I heard for this mod, but i never played it.
4. Look nice.
5. Hm i don't know.
6. No, i don't want that, my concept is based on BTS (90% i just add some extra stuff), maybe to use for some extra building or units only for that.
7. I think that i already merge this with this sdk code but i am not sure.
8. Yes, this sound very good.
9. Don't know, never played it.
10. Yes, already is in game :D without that game hasn't life.
11. Really don't know.
12. Unique Civic or Civilization Project?
13. What do that?
14. What is that?
15. Played, nice interface (If I'm not mistaken mod) but don't know.
16. I think that i played this. Probably yes.
17. I love pillage mod, but i didn't played this.
18. Very nice, but i haven't any need for replaceable.
19. YES, YES, YES, YES, already merged :scan:
20. Never heard. But looks as promising.
21. Don't know.
22. Hm, Platy is great modder and i like their components, don't know which.

+ IF SOMEONE KNOW WHAT I MUST TO DO, WHEN I AM AT WAR WITH AI AND LOSE CITY BY CITY, I WANT TO PUT CAPITULATION OFFER FOR PLAYERS, IF I LOSE WAR I OFFER CAPITULATION TO AI. DON'T OFFER ME CLIENT STATES MOD I KNOW FOR THAT.
 
I am make my .dll (Debug type) successful, but when i launch mod during loading and during game i get some messages like this:

oP15fBN.jpg


This picture is just one of example.

So far I have not received some message which ignore continue (Not get Crash or some serious error). Is this normal for Debug .dll or bad?
 
It's not REALLY bad if it allows you to keep running after an assert like this... what it SHOULD mean, however, is that something is not behaving properly or as expected. When they are inserted into code they really should be a warning of a problem.

Unfortunately, with this particular one, it looks like it MIGHT be an overzealous use of the fAssert. That said, I can't see the rest of the function so it's hard to say what it's actually trying to do and why the fAssert might be warning us that something isn't right here.

If you can share your full source file I can run through it and see what might be not taking place properly.

I know we have some issues in C2C's fAsserts that have been sending us warning notes for a long time but we haven't been able to figure out what might be actually wrong (even though the assert does make sense.) So sometimes it's not the end of the world to get them - just depends on how severe the issue might be that led the programmer to write in the assert as a warning in the first place.
 
This particular assert is telling you that it could not load something from the XML that it really wants to load. The CvXMLLoadUtilitySet.cpp you are using is not the same as the one from plain BtS since line 1328 is not an assert in that. You may or may not be in the CvXMLLoadUtility::SetGlobalClassInfo function as that is where the only line that reads "bool bSuccess = pClassInfo->read(this);" is located in regular BtS (on line 1294). If so, then this is the main function for loading an info class - it calls the InfoX::read function which is failing from some info entry (one per failure).

Make sure your XML is not missing any required tags, and things of that nature.
 
@Thunderbrd and @God-Emperor:

I will post here source files + mod (this is not CiW mod, this is only my test for this new files, because i am not merge this files with my mod) mod name is "PROVERA_JEZGRA", unpack it and test. And tell me everything where i am wrong, i want to learn how to fix this types of problems.

And one question about XML Schema, Schema have rules for more than one XML files, how i can know where which file start, and how to edit schema where add new tags? I give tag name which i want, or tag name from SDK files?
 

Attachments

@Thunderbrd and @God-Emperor:

I will post here source files + mod (this is not CiW mod, this is only my test for this new files, because i am not merge this files with my mod) mod name is "PROVERA_JEZGRA", unpack it and test. And tell me everything where i am wrong, i want to learn how to fix this types of problems.

And one question about XML Schema, Schema have rules for more than one XML files, how i can know where which file start, and how to edit schema where add new tags? I give tag name which i want, or tag name from SDK files?

I haven't had to setup a project in so long I forgot how! Ugh... can you send me the vcproj file you've got for that?
 
Download My Attach @Thunder

or

That is just several steps:

Download: CvGameCodeDLL C++ source code files (BTS 3.19)

Download: Civ4 DLL project and makefile

and EXTRACT both in one your folder.

After this copy all my source files from my test mod in your folder. //NOT PART OF MY QUICK TUTORIAL

Download Microsoft Visual C++ Toolkit 2003 and WindowsSDK,

Set Path of them in MAKEFILE!

Open your Visual Studio -> File -> Open -> Projects/Solution -> Found your folder -> open "CvGameCoreDLL.vcproj" or "CvGameCoreDLL.sln"... Next or Finish (I always go NEXT and choose No for conversion "this is my option")

After that go BUILD -> Build Solution

This is my tutorial in several steps (You know this, but i am write pure as not to forget).
 

Attachments

No, thanks to you, please try to fix it and tell me what you change, i want to learn how to fix these types of problems, I do not want to bother people later. And i plan in future more SDK merge.
 
Back
Top Bottom