Do you use jroute in your code?

Lib.Spi't

Overlord of the Wasteland
Joined
Feb 12, 2009
Messages
3,708
Location
UK
Hi guys, sorry to clutter up your forum with this, please feel free to get it deleted if it is a problem.

Now to my problem.

I know Davidallen has worked on this mod, I am currently trying to make a fury road mod mod, modifying the .dll, but I am running into issues with the jroute code. I know davidallen used this, and I have a feeling that I saw you also used it for this.

I noticed that the jroute code makes some big changes to parts of the SDK, and now when I am trying to compile this with other modcomps (or even on it's own at times), I get errors, with lines of code being unidentified.

Like this:
Spoiler :
1>CvGame.cpp
1>CvGame.cpp(36) : error C2065: 'm_aiEndTurnMessagesReceived' : undeclared identifier
1>CvGame.cpp(76) : error C3861: 'm_aiEndTurnMessagesReceived': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(76) : error C2541: 'delete' : cannot delete objects that are not pointers
1>CvGame.cpp(76) : error C3861: 'm_aiEndTurnMessagesReceived': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(76) : error C3861: 'm_aiEndTurnMessagesReceived': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(336) : error C2039: 'resetStatistics' : is not a member of 'CvDLLUtilityIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLUtilityIFaceBase.h(43) : see declaration of 'CvDLLUtilityIFaceBase'
1>CvGame.cpp(417) : error C2065: 'm_iEndTurnMessagesSent' : undeclared identifier
1>CvGame.cpp(464) : error C3861: 'm_aiEndTurnMessagesReceived': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(811) : error C2039: 'pythonAssignStartingPlots' : is not a member of 'CvDLLPythonIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLPythonIFaceBase.h(19) : see declaration of 'CvDLLPythonIFaceBase'
1>CvGame.cpp(1395) : error C2039: 'pythonIsBonusIgnoreLatitudes' : is not a member of 'CvDLLPythonIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLPythonIFaceBase.h(19) : see declaration of 'CvDLLPythonIFaceBase'
1>CvGame.cpp(1631) : error C2039: 'pythonIsBonusIgnoreLatitudes' : is not a member of 'CvDLLPythonIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLPythonIFaceBase.h(19) : see declaration of 'CvDLLPythonIFaceBase'
1>CvGame.cpp(1907) : error C2039: 'pythonNormalizeStartingPlotLocations' : is not a member of 'CvDLLPythonIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLPythonIFaceBase.h(19) : see declaration of 'CvDLLPythonIFaceBase'
1>CvGame.cpp(1918) : error C2039: 'pythonNormalizeAddRiver' : is not a member of 'CvDLLPythonIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLPythonIFaceBase.h(19) : see declaration of 'CvDLLPythonIFaceBase'
1>CvGame.cpp(1923) : error C2039: 'pythonNormalizeRemovePeaks' : is not a member of 'CvDLLPythonIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLPythonIFaceBase.h(19) : see declaration of 'CvDLLPythonIFaceBase'
1>CvGame.cpp(1928) : error C2039: 'pythonNormalizeAddLakes' : is not a member of 'CvDLLPythonIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLPythonIFaceBase.h(19) : see declaration of 'CvDLLPythonIFaceBase'
1>CvGame.cpp(1933) : error C2039: 'pythonNormalizeRemoveBadFeatures' : is not a member of 'CvDLLPythonIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLPythonIFaceBase.h(19) : see declaration of 'CvDLLPythonIFaceBase'
1>CvGame.cpp(1938) : error C2039: 'pythonNormalizeRemoveBadTerrain' : is not a member of 'CvDLLPythonIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLPythonIFaceBase.h(19) : see declaration of 'CvDLLPythonIFaceBase'
1>CvGame.cpp(1943) : error C2039: 'pythonNormalizeAddFoodBonuses' : is not a member of 'CvDLLPythonIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLPythonIFaceBase.h(19) : see declaration of 'CvDLLPythonIFaceBase'
1>CvGame.cpp(1948) : error C2039: 'pythonNormalizeAddGoodTerrain' : is not a member of 'CvDLLPythonIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLPythonIFaceBase.h(19) : see declaration of 'CvDLLPythonIFaceBase'
1>CvGame.cpp(1953) : error C2039: 'pythonNormalizeAddExtras' : is not a member of 'CvDLLPythonIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLPythonIFaceBase.h(19) : see declaration of 'CvDLLPythonIFaceBase'
1>CvGame.cpp(2035) : error C2039: 'getEventReporterIFace' : is not a member of 'CvDLLUtilityIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLUtilityIFaceBase.h(43) : see declaration of 'CvDLLUtilityIFaceBase'
1>CvGame.cpp(2035) : error C2227: left of '->genericEvent' must point to class/struct/union
1>CvGame.cpp(2259) : error C2511: 'void CvGame::cityPushOrder(CvCity *,OrderTypes,int,bool,bool,bool)' : overloaded member function not found in 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(2276) : error C2511: 'void CvGame::selectUnit(CvUnit *,bool,bool,bool)' : overloaded member function not found in 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(2341) : error C2511: 'void CvGame::selectGroup(CvUnit *,bool,bool,bool)' : overloaded member function not found in 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(2401) : error C2511: 'void CvGame::selectAll(CvPlot *)' : overloaded member function not found in 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(2425) : error C2511: 'bool CvGame::selectionListIgnoreBuildingDefense(void)' : overloaded member function not found in 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(3179) : error C2511: 'TeamTypes CvGame::getActiveTeam(void)' : overloaded member function not found in 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(3192) : error C2511: 'CivilizationTypes CvGame::getActiveCivilizationType(void)' : overloaded member function not found in 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(3204) : error C2039: 'getLastEndTurnMessageSentTime' : is not a member of 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(3206) : error C3861: 'getInitialTime': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(3206) : error C3861: 'getEndTurnMessagesSent': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(3278) : error C2039: 'getEndTurnMessagesSent' : is not a member of 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(3279) : error C2365: 'getEndTurnMessagesSent' : redefinition; previous definition was a 'formerly unknown identifier'
1>CvGame.cpp(3280) : error C3861: 'm_iEndTurnMessagesSent': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(3284) : error C2039: 'incrementEndTurnMessagesSent' : is not a member of 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(3286) : error C3861: 'm_iEndTurnMessagesSent': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(3566) : error C2511: 'int CvGame::countNumHumanGameTurnActive(void)' : overloaded member function not found in 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(4595) : error C2511: 'PlayerTypes CvGame::getPausePlayer(void)' : overloaded member function not found in 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(4601) : error C2511: 'bool CvGame::isPaused(void)' : overloaded member function not found in 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(4613) : error C2511: 'UnitTypes CvGame::getBestLandUnit(void)' : overloaded member function not found in 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(4619) : error C2511: 'int CvGame::getBestLandUnitCombat(void)' : overloaded member function not found in 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(4681) : error C2039: 'getEventReporterIFace' : is not a member of 'CvDLLUtilityIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLUtilityIFaceBase.h(43) : see declaration of 'CvDLLUtilityIFaceBase'
1>CvGame.cpp(4681) : error C2227: left of '->victory' must point to class/struct/union
1>CvGame.cpp(4689) : error C2511: 'GameStateTypes CvGame::getGameState(void)' : overloaded member function not found in 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(4705) : error C2039: 'getEventReporterIFace' : is not a member of 'CvDLLUtilityIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLUtilityIFaceBase.h(43) : see declaration of 'CvDLLUtilityIFaceBase'
1>CvGame.cpp(4705) : error C2227: left of '->gameEnd' must point to class/struct/union
1>CvGame.cpp(4746) : error C2039: 'getEndTurnMessagesReceived' : is not a member of 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(4750) : error C3861: 'm_aiEndTurnMessagesReceived': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(4754) : error C2039: 'incrementEndTurnMessagesReceived' : is not a member of 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(4758) : error C3861: 'm_aiEndTurnMessagesReceived': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(4763) : error C2511: 'PlayerTypes CvGame::getRankPlayer(int)' : overloaded member function not found in 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(4785) : error C2511: 'int CvGame::getPlayerRank(PlayerTypes)' : overloaded member function not found in 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(4802) : error C2511: 'int CvGame::getPlayerScore(PlayerTypes)' : overloaded member function not found in 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(4825) : error C2511: 'TeamTypes CvGame::getRankTeam(int)' : overloaded member function not found in 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(4847) : error C2511: 'int CvGame::getTeamRank(TeamTypes)' : overloaded member function not found in 'CvGame'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvGame.h(20) : see declaration of 'CvGame'
1>CvGame.cpp(5161) : error C2039: 'getEventReporterIFace' : is not a member of 'CvDLLUtilityIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLUtilityIFaceBase.h(43) : see declaration of 'CvDLLUtilityIFaceBase'
1>CvGame.cpp(5161) : error C2227: left of '->religionFounded' must point to class/struct/union
1>CvGame.cpp(5204) : error C2039: 'getEventReporterIFace' : is not a member of 'CvDLLUtilityIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLUtilityIFaceBase.h(43) : see declaration of 'CvDLLUtilityIFaceBase'
1>CvGame.cpp(5204) : error C2227: left of '->corporationFounded' must point to class/struct/union
1>CvGame.cpp(5614) : error C2039: 'getEventReporterIFace' : is not a member of 'CvDLLUtilityIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLUtilityIFaceBase.h(43) : see declaration of 'CvDLLUtilityIFaceBase'
1>CvGame.cpp(5614) : error C2227: left of '->beginGameTurn' must point to class/struct/union
1>CvGame.cpp(5657) : error C2039: 'getEventReporterIFace' : is not a member of 'CvDLLUtilityIFaceBase'
1> c:\Games\CivIV\2K Games\Firaxis Games\Sid Meier's Civilization 4 Complete\Beyond the Sword\Mods\DLL Work\CvDLLUtilityIFaceBase.h(43) : see declaration of 'CvDLLUtilityIFaceBase'
1>CvGame.cpp(5657) : error C2227: left of '->endGameTurn' must point to class/struct/union
1>CvGame.cpp(7545) : error C3861: 'm_iEndTurnMessagesSent': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(7589) : error C3861: 'm_aiEndTurnMessagesReceived': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(7762) : error C3861: 'm_iEndTurnMessagesSent': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(7806) : error C3861: 'm_aiEndTurnMessagesReceived': identifier not found, even with argument-dependent lookup


I could really use some help to try and understand what the heck is going on?!? :-D

Thankyou for any help that your team can offer.

And again really sorry to clutter up your threads with this, but I am struggling to find a place to ask someone who knows about jroute code!
 
99% of these errors are the result of not merging in the variables and functions being called in the header files (e.i. from only merging the .cpp files). I'd start at the top with 'm_aiEndTurnMessagesReceived', search for all references to this variable in the .h files of the source code your merging from and make sure all the references to it are reflected in your header files, then move on down the line to each variable and function your getting an error on.
 
What do you mean by "moved the files"? If you just copied the files from the jroute source code into your source code, well, that won't work ;), you're overwriting the old file which will indeed cause all kinds of havoc. You've got to merge just the parts of the code that add what you want into your source code.
 
Well basically, I am trying to recreate the fury road source code as the foundation of the mod. In the forums for fury road david says the only changes to the .dll are the jroute code. So I thought by moving the jroute 3.17 files over and then moving davids jroute 3.19 files over (Copy paste) It would give me the foundation of the mod, as the jroute code would have started life as the bts code, and then the j3.19 version would have started life as the 3.17 code with the relevant new 3.19 bits added in, so what I can't figure out is why overwriting the original bts code, with the jroute files, would cause a problem? because they started life as bts and any changes would be reflected across all the relevant jroute files? I can't merge it easily bit by bit, as all changes are not clearly marked, and after looking at the jroute code, it also seems to have bits removed for espionage as well as maybe some other things, that are all (I think) part of the fury road design.

When it comes to adding in the other source changes from other modcomps, I do merge just the bits that make the relevant new changes. The Jroute changes are just the first ones that I make, so I don't understand why overwriting would be a problem?
 
Top Bottom