[Archived] I want to help


No problem, most of reverse engineering part is done. Almost all interesting H3 formats are deciphered. Videos handling have been recently realized, h3c is documented, h3m is practically fully implemented, H3 savegames are not worth of effort. The only remnant for us is font format (.FNT).

Great! You can post the patch on this forum or on my mail ( impono (AT) gmail.com ). Or give me your sourceforge account login and I’ll give you SVN commit access :slight_smile:


I am not very good in C++ and study programming not very long (1 year in the university) and can’t help you with coding.
Since I have a lot of free time now, I’ve take a look on .fnt files. There is still a lot of data purpose of which I can not understand yet, but I’ve managed to extract font itself to .bmp file.
I’ve attached archive with:
source code (Delphi, but I’ve commented it)
compiled .exe
batch file to convert all font files I’ve found in resource files (you’ll need to extract them).

note: range 3104-4127 is offsets for each image (4-bytes size) minus offset of first image (4128). I haven’t used this, but may be useful for you.
I still can’t find out purpose of those two 4-bytes signed values - I don’t know what for they can be used.
HeroesFonts.zip (66.3 KB)


Thank you! Is there any place I can find information about what’s prioritized? The bug threads seem to mostly list things, and the sourceforge tracker is relatively unpopulated.

My sourceforge account is onion_knight.


Excellent. I’ll port this to C++, I know Delphi so it won’t be a problem. Soon will be used. :slight_smile:
Many thanks! :smiley:

Well, there’s no exact info. Generally the more annoying bug is the higher priority it has. Most prioritized are crashbugs.
But generally all issues will have to be fixed anyway…

I’ve added you to the project. :slight_smile:


@ OnionKnight: I’m not one of the programmers, so maybe it’s not my place to come with suggestions. :stuck_out_tongue: But if I’d be you, I’d start with anything that you feel comfortable with, until you get more familiar with the (structure of the) code and the project in general. There are enough bugs reported, so any fix is welcome. :smiley:

As for priorities, to add a bit to Tow’s post above, I’d say they go in this order:

  1. Crashbugs

  2. All other bugs (at the moment listed here, with an attempt from me of pointing the most important here)

  3. Features which still need to be implemented (permanent list thread here)

Hope this helps & good luck! :wink:


Personally I don’t see the point in using the game’s fonts, simply because the current TTF fonts look nice and they scale. Using a font for a 800x600 on a 1280x1024 display is not funny.


I think original fonts are more readable on smaller resolutions that are already used. We shouldn’t drop support for ttf fonts but original are better in some places (there is even a bug caused by using ttf fonts: [forum.vcmi.eu/t/0-72-bugs-and-issues/170/37) ).


I think it would be great if somebody could first find a way to support the fonts used for creature stack numbers in battles, which also in H3 were different than the main font used in the game (and I guess for the same reason that led me to report the “bug”: because that is one of the most readable fonts when it comes to numbers). I wouldn’t mind if we keep ttf fonts - even if just as an option - for the rest of the game, but for stack sizes in combat they look pretty ugly for large numbers.


Well, TTF can be scaled but then they would not fit the rest of graphics. Our all graphics are for 800x600…
I will not remove TTF font handling, so it still will be possible to use them (which will make sense with new, bigger graphics) but in current GUIs I will consecutively replace TTF with original game fonts. It just fits better.


You can actually use a larger font and the info boxes will scale.


Hello, I’d like to ask how are/will be things going on with scripting. As far as I get it VCMI is based on WOG (well it requries it) so how about ERM? Will it / is it used? Or something else (I think I`ve seen LUA somewhere).

I also want to ask why don`t you use something like Trac for bug / wish reporting? I think it would be more readable and definitely more easy to maintain.

nvm the second one, I see you have it but only for the team, and I see you`ve already abandoned Trac for some reason some time ago :wink:


ERM interpreter is nessessary to keep backward compatibility with tons of already existing maps and scripts. Unfortunatelly, as far as I know, none of team members knows it well and there are more urgent things to do.
However we would like to introduce something better, proposals are Lua and Python. At current stage it’s hard to talk about details, but your help would be appreciated :wink:


Well Ive been in WOG Team for approx 2-3 years. There are many issues with ERM commands not working properly. Actually Ive found a new bug few days ago :wink: If you add form creature experience bonusses Dwarf Type Magic Resistance and set it instead of increasing it (parameter 61), the unit will become vulnerable to… Destroy Undead. Now explain that… :wink:

I strongly recommend to do something new with more standard syntax. As far as language is concerned its rather not an issue because all you actually need is variable declaration, if, for and function calls which is generally simple basic in all languages. Besides this way youd get to have something you can control and modify at any time.


Hello there :slight_smile:
I wish to help you. I’ll pretty soon be graduated in engineering (in I.T.) and I’ve worked as an intern at Ubisoft. I know neither Lua or ERM, but I know a bit about C++, math, IA, and reverse engineering.

(By the way, I read “Ubi has no bugtracking system” : that’s wrong, or maybe in their smallest studios)

I think my first step will be to dive into your source code :wink: see where I can help.
btw I’m French (I might help with translation as well)


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)?



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_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,


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: