[Archived] I want to help

It is still being discussed. Mostly in this thread.

Iā€™m pretty sure the SourceForge tracker is open to anyone to add. Itā€™s not as populated as the forum, but itā€™s recently been used more and more. As for Trac it seems to be hosted on the SF project page, but I have never used it. It doesnā€™t seem to be used much by anyone else either.

Hi, nice to hear that there are new developers who want to help us. All sources are publicly available, if you have any problem, you can ask here.

I donā€™t think reporting bugs on sfā€™s tracker is a good idea, we are going to close it. Currently we consider opening Mantis tracker.
Trac from sourceforge is used by me to browse commits.

Hello everybody,

I bumped into this project while looking for some ā€œhigh resolution modā€ for H3 - Iā€™m an old fan of it (and even playing a round with family right now :P), and this really looks nice.

I would like to contribute as well with my working knowledge of C++, but Iā€™ve never participated in an open source project on sourceforge or alike, so can you tell me how to join the ranks and help (that is, of course, if you still need C++ programmers)?

Hello!

Firstly, youā€™ll have to download the sources using some SVN client. ( Dikamilo wrote a guide how to do it with tortoisesvn: [forum.vcmi.eu/t/how-to-use-svn-and-make-diffs/198/1) )
Repository address is vcmi.svn.sourceforge.net/svnroot/vcmi/trunk

Secondly, youā€™ll need to setup your development environment so youā€™ll be able to build VCMI. Steps depend on you environment.
Project files for MSVC and makefiles are in the SVN and should be up-to-date.
To build VCMI youā€™ll need the following libraries:

  • SDL
  • SDL_TTF
  • SDL_Image
  • SDL_Mixer
  • zlib
  • boost

Youā€™ll also need files from original game installation (VCMI is placed over the H3).

Isnā€™t WoG 3.58f needed as well (so H3:SoD or Complete, then WoG 3.58f, then VCMI)?

Best regards,
Steven.

Well, I guess that was a given. :slight_smile:

Anyway, just in case itā€™s necessary, a link to download WoG, as well as other info in the VCMI Manual. :wink:

Oh, and hi TheIndigoHippo. Welcome to the project. :slight_smile:

Donā€™t know where the best place to post this so Iā€™ll do it here.
Iā€™ve noticed that on town screen left-bottom info panel doesnā€™t behave like in H3 and it looks that I fixed this as well as some connected issues:
-all elements now response like in H3 on mouse moves\clicks
-town status bar was not cleaned when nothing is selected
-growth calculation was a bit wrong (in case of town with grail)
-in H3 legion statue effect does not include effect of its components - only global +50%

Iā€™ve attached .diff - I hope everything is OK, never used svn before
townscreen.diff.zip (6.17 KB)

Great job!
Iā€™ve committed it with minor fixes as r1400.
Many thanks for contribution :smiley:

Btw, donā€™t you want direct SVN commit access?


Some remarks:

if (fort) delete fort;

ā€œifā€ not needed, delete is guaranteed to do nothing when called with NULL pointer

void CCastleInterface::CTownInfo::activate()
{
	activateLClick();
	activateRClick();
	activateHover();
}
void CCastleInterface::CTownInfo::deactivate()
{
	deactivateLClick();
	deactivateRClick();
	deactivateHover();
}

Not necessary, can be replaced with:

CCastleInterface::CTownInfo::CTownInfo(int BID)
{
	used = LCLICK | RCLICK | HOVER;
	//rest of c-tor
}

That possibility has been introduced recently, so most of GUI still donā€™t use it but new code should. Much cleaner.

if (town->builtBuildings.find(bid)!=town->builtBuildings.end())

FYI I hate typing the container twice, so I made simplier contains function: vstd::contains(town->builtBuildings, bid) (expands to what youā€™ve written) :wink:

	else if ( bid == 6 )//no fort
		blitAt(pic->ourImages[4].bitmap,pos.x,pos.y,to);

Out of range: No fort picture has index 3.

for (bid=10;((ci->town->builtBuildings.find(bid+1)!=ci->town->builtBuildings.end()) && bid<13);bid++) {}	

bid = 10 + ci->town->hallLevel();
(and similar goes for the fort with fortLevel())

  • one occurrence of VLC in CastleInterface causing compile error -> replaced with CGI.

It does for me, though. With a hero with Statue of Legion in a town I get a Statue of Legion as well as a X of Legion bonus to the creatures.
img269.imageshack.us/img269/1267/28897713.th.jpg

Strange. I tested in WoG (installed over H3Complete), with a hero with Statue of Legion in town (at gate or garrisoned), and I didnā€™t get the other bonuses. Neither in real (at Castle in the beginning of next week), nor as part of the info message (as shown in your screenshot). What game version are you using? And can you check if itā€™s only the R-click msg, or if the bonus applies for real (probably yes, but who knowsā€¦).

I have nothing against this. Just tell me how to use it. Registered on sf.net as ivan91.
Thanks for remarks. Iā€™ll try to make cleaner code next time:)

Iā€™d wish to make some more changes in castle handling. Should I replace ā€œold versionā€ if Iā€™ll find it?

Iā€™m using H3 Complete + WoG 3.58f with the script updates and whatnot. It did give the advertised amount of creatures at the start of week. I tested it in SoD too and it was the same there.

Then Iā€™m really puzzled (I have the same, except for the ā€œwhatnotā€). :stuck_out_tongue:

Can you post here a saved game? If then I can reproduce it, perhaps itā€™s not related to the game version but sth else.

Hereā€™s a save of a non-WoGified SoD map in WoG, and the test map itself.
Statue of Legion test.zip (142 KB)

Okay, this is even more strange: after trying your save, I am not able anymore to reproduce the behavior I had before, even with my own saves (or I was really blind to something beforeā€¦). Iā€™ll try to think if thereā€™s anything Iā€™m still missing, that led to the behavior I had before, but for now Iā€™ll take it that the correct H3 behavior is the one you mention, namely that the bonus of the artifacts forming the Statue of Legion apply as well, when the hero wearing it is in town. Iā€™ve updated #318 accordingly already.

Thanks. :wink:

Not only you :confused:
Iā€™ll restore that behavior with next patch (tomorrow i think)

Iā€™m working on properly implementing combination artifacts, and Iā€™m thinking it might just be better if these artifacts just set their own bonus and when the engine retrieves the bonus for an artifact it will collect the bonuses of the constituents at that point.
This means if a future script were to change a constituent artifact the combination artifact is automatically updated, same would also apply to adding/removing constituents.

I gave you SVN access, so you can commit your changes directly to the repository. ā€œHowtosā€ depends on your system - Iā€™m using TortoiseSVN but itā€™s win-only. You may look for graphic Linux-compatible tools (like RapidSVN) or commit changes via terminal. Syntax is described in SVN manual ( svnbook.red-bean.com/en/1.1/re06.html ).
But I believe that if youā€™ve managed to download sources from SVN, you shouldnā€™t have troubles with commiting your changes :wink:

I gave you also developer status at bugtracker, so you are now able to mark bugs as resolved.

You may, especially when modifying that parts of interface. The code works same, itā€™s an aesthetic difference.

There are also other new features introduced to GUI btw. Itā€™s possible to create parent - children hierarchy between CIntObject-s. If you put in the constructor OBJ_CONSTRUCTION_CAPTURING_AL macro, all CIntObjects subsequently created (till the end of scope) will be automatically assigned as children of that object. Itā€™s useful for automatic propagation of some calls among object.

All activate/deactivate/show/delete/move* calls will be also made on children controls if the defActions (for parent) and recActions (for child) are appropriately set.
Child object position is initialized with itā€™s parent position (if it parent->defActions & SHARE_POS), so itā€™s easy to code relative positions between GUI objects (just add rel pos to base value).

For examples of usage of modern GUI features, you may check CAdventureOptions, CSlider, or pregame classes.

Makes sense. :slight_smile:
It will be great to have combination artifacts working, good luck on your work!
Have you thought about spell scrolls handling?
I donā€™t have a clean idea for them. They all have the same ID and therefore are considered as same artifacts. But we need another number to store id of spell - not possible within current CArtifact class. :confused:

Actually command to download source code is present in linux.readme - but not diffs & commit commands. Iā€™ve find out how to work with svn already so this is not a problem now.

On weekend Iā€™ve made a small bits of kingdom overview window. Nice place to try out them :wink:

Tow, after your recent changes (rev 1402 & 1403) I can not compile VCMI.

Connection.cpp:50: error: template<class Serializer> class CISer used without template parameters
Connection.cpp:51: error: template<class Serializer> class COSer used without template parameters

Files from previous revision compiled fine. But some new glitches appeared after end turn. Is that problem only on my side?

@spell scrolls
I think its best to make spellscrolls make new type of herobonus tempspell and spellID willl be subtype of bonus

or is it indifrientable now which scroll contains which spell?

also maybe add to CArtifact a field
vector BindHBonuses
which will be handled as adding those bonuses to hero when equip?

then it will be able not only to check type of spellscroll, but also thee will be a possibility to enchant artifact which may be good subject of future mods