Forum index VCMI Project - Heroes 3: WoG recreated
Forum of the project aiming to recreate best turn-based strategy ever!

FAQFAQ  SearchSearch  MemberlistMemberlist  UsergroupsUsergroups  StatisticsStatistics
RegisterRegister  Log inLog in  AlbumAlbum  DownloadDownload

Previous topic :: Next topic
[Archived] I want to help...
Author Message
Tow dragon 
VCMI Programmer


Joined: 01 Feb 2008
Posts: 1004
Location: Kraków
  Posted: 2008-02-02, 14:14   [Archived] I want to help...

There is a lot to be done as you prbably have read, but of course you can halp in a variety of ways!

Here is the list of what you can do (will be actualized)
- engine programming [requirements: at least average knowledge on C/C++, it would be good to know Lua or ERM also]
- reverse engineering of HoMM3 formats (h3c, remains of h3m, maybe GM* (saves))
- video handling (code of C++ library being able to play bink/smk videos is warmly welcomed, please use SDL to handle displaying)

Things already done/figured out:
- extracting images form WoG (currently most wanted: sea animations near coasts, river animations) - for more details please PM/email
- finding a better way to get player - colored bitmaps (like resource bar, hero window background etc.)


If there is anything you would know besides that, please ask here.
_________________
:)
Last edited by Warmonger on 2014-02-16, 21:36; edited 3 times in total  
 
     
GrayFace 

Age: 29
Joined: 21 Feb 2008
Posts: 7
Posted: 2008-02-21, 03:17   

2) I guess I've found the way water is made. There are 2 special series of colors in WATRTL.DEF palette: 229-240 and 242-254 (or 243-254, or 242-253). The animation is done by shifting those series by one, so that color 229 is moved to 230 position, 230 is moved to 231 and so on, and 240 is moved to 229.
3) It works this way: The last 32 colors in palette are taken from Players.pal. If the color is Red, the first 32 colors are taken, for Blue player colors 32-63 are taken and so on.
 
 
     
Tow 
Project Lead
VCMI Programmer


Joined: 01 Feb 2008
Posts: 1407
Location: Kraków, Poland
Posted: 2008-02-23, 18:47   

Hi GrayFace,
thank you very much for that information!
We've already implemented new colouring function based on your advice. It's much better :)
Water is problematic, much code must be changed, but it'll be done sooner or later.
 
     
Corleone 

Joined: 24 Feb 2008
Posts: 1
Posted: 2008-02-24, 20:20   Ways to help testing

I don't have a whole lot of time to help with coding; but I think I could help with testing. Any particular method you want us to use to test your builds? How should we provide feedback?

Thanks,
Corleone
_________________
Corleone
 
     
Tow 
Project Lead
VCMI Programmer


Joined: 01 Feb 2008
Posts: 1407
Location: Kraków, Poland
Posted: 2008-02-24, 21:53   

Corleone wrote:
Any particular method you want us to use to test your builds?

No, nothing special. Just run the application and try to find things which don't work proporly, or crashes. Try different maps and settings.

Corleone wrote:
How should we provide feedback?

You may post your reports here.
Please describe precisely what isn't working and how to reproduce the bug.
If you need you can attach to your posts files (e.g. map which makes VCMI crash, or screenshot showing what's wrong).
 
     
GrayFace 

Age: 29
Joined: 21 Feb 2008
Posts: 7
Posted: 2008-02-27, 04:54   

I think I have already given you a link to my Delphi .bik and .smk player, but I've refreshed it: http://www.grayface.nm.ru/RSBinkPlayer.rar
 
 
     
Tow dragon 
VCMI Programmer


Joined: 01 Feb 2008
Posts: 1004
Location: Kraków
Posted: 2008-02-27, 14:49   

Yes, you have and it is quite helpful, but we've encountered a problem with converting HBITMAP to SDL_Surface - and it remains unresolved.
_________________
:)
 
     
Tow 
Project Lead
VCMI Programmer


Joined: 01 Feb 2008
Posts: 1407
Location: Kraków, Poland
Posted: 2008-02-27, 21:06   

Actually conversion is not the biggest issue with videos. I've tried to rewrite function for playing them, but I'm still getting crashes. Because it's not a critical aspect of the game we decided to postpone video support in hope that someone will do it for us (maybe I'm just too stupid :-) )
If not - we'll return to it when the rest of big features is done.
_________________
VCMI is a work in progress.
VCMI is NOT an another mod.
 
     
CrackedMind 

Joined: 05 Mar 2008
Posts: 3
Location: Ozersk, Russia
Posted: 2008-03-05, 14:00   

I working on my own project called "Heroes: Rebirth". It will be open source. I fully reversed h3m & h3c formats (but only SoD version). May be we do exchange of information?
_________________
So can you code punk?
 
     
Tow dragon 
VCMI Programmer


Joined: 01 Feb 2008
Posts: 1004
Location: Kraków
Posted: 2008-03-05, 16:14   

Where can I read about your project? I didn't knw that someone else does something similar to our project. We have almost fully reversed h3m too (except hero placeholders), h3c is something we didn't touch so far. Exchenging information about heroes formats is a good idea. I'll pm you my proposition.
_________________
:)
 
     
CrackedMind 

Joined: 05 Mar 2008
Posts: 3
Location: Ozersk, Russia
Posted: 2008-03-06, 09:49   

http://sourceforge.net/projects/heroes-rebirth

but in present time it's in planning stage. from sourceforge you can download description of format but description was written in Russian. And also in archive exists templates for 010 editor. And in this version of description hero placeholders didn't describe. Now, i am writting the normal description both in English and Russian. Maybe, i upload the new version next week.

p.s. Also i reversed the objects.txt lines, and .msk files.
_________________
So can you code punk?
 
     
Tow dragon 
VCMI Programmer


Joined: 01 Feb 2008
Posts: 1004
Location: Kraków
Posted: 2008-03-06, 14:21   

OK, now I see what you've done. But anyway, do you see the point in developing heroes-rebirth since we've done a lot more and we're going to make VCMI moddable, ie. you will be able to set all graphics and values to those from SoD?

We've reversed objects.txt too, but AFAIR not .msk.
.lod, .def, .snd are also reversed.
_________________
:)
 
     
Tow 
Project Lead
VCMI Programmer


Joined: 01 Feb 2008
Posts: 1407
Location: Kraków, Poland
Posted: 2008-03-06, 15:05   

Do you want to do anything besides VCMI project does? Any new graphics or something? Or simply recreating H3 engine like us?

Tow dragon wrote:
but AFAIR not .msk.

We've already reversed .msk.
 
     
Guest

Posted: 2008-03-06, 21:26   

Hi since a few years i have tried to develop alone a Heroes3 remake
(but no code published)
trying to have somethink like kingBounty remake

I have not all skill to have a clean interface
i use delphi + delphix for graphic

however most heroes3.0 map can be loaded
(reverse enginering of heroes3.1 format at 99% completed)

a simple AI discover the map, collect item, get mine,
battle nearest enemy (autobattle only),
recuit new hero if 1st hero killed

heroes can move on the map , use road
and interact with most of object

minimap, fog of war

battle can occurs in interactive mode, but only one magic spell type, AI handle the battle also

can built inside town (following the tree of allowed building)
=> quite awfull to map Building_Id from h3m format to building_id in town screen

can recruit in town ...

i am still working on mapping spell effect in battle
reorganizing and cleaning code

I have found inspiration in kingbounty remake for handling object into arrays

mObjs : array of all map object with min attribute type,subtypes,position,reference,player owner
mObj: one map object mObj.v , give a reference of additonal parrameter for the object

here index in array mScholar that store all Scholar parameter

code of loading Scholar object from h3m map filte into my programm

procedure ReadOB81_schoolar;
{TMapScholar = record // SC 81
t: Byte; //type PK / SS / SP
pk: integer; //primary skill
ss: integer; //secondary skill
sp: integer; //spell}
begin
with mScholar[nScholars] do
begin
t:=ReadByte;
if t=255 then
begin
t:=random(3);
case t of
0: pk:=random(4);
1: ss:=random(MAX_SSKL);
2: sp:=random(MAX_SPEL);
end;
ReadPad(7);
end
else
begin
case t of
0: pk:=readbyte;
1: ss:=readbyte;
2: sp:=readbyte;
end;
ReadPad(6);
end;
end;
mObj.v:=nScholars;
inc(nScholars);
end;


code to load generic object

with mObj do
begin
pos.x:=ReadIntByte;
pos.y:=ReadIntByte;
pos.l:=ReadIntByte;
Defptr:=ReadInt; ReadPad(7);
DefName:=DefTxt[DefPtr];
SnMain.AddDef(Defname);
Def:=iDefFind(DefName);
DefInfo:=iDef[Def];
t:=DefInfo.t;
u:=DefInfo.u;
id:=ObjId;
v:=0;
mLog.Insert(format(\'Adding mDef=%s main=%d sub=%d des=%s\', [DefInfo.Name,DefInfo.t,DefInfo.u,TxtObject[DefInfo.t]]));

case DefInfo.t of
...
81: ReadOB81_Schoolar;
 
     
CrackedMind 

Joined: 05 Mar 2008
Posts: 3
Location: Ozersk, Russia
Posted: 2008-03-07, 08:44   

Tow, yeah, only engine, like you :) new graphics and gameplay, may be, appear in some mod. But it be a clone of HoMM 3 SoD, not WoG.
_________________
So can you code punk?
 
     
Display posts from previous:   
Reply to topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
Add this topic to your bookmarks
Printable version

Jump to:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Template Chronicles modified by Nasedo modified by Tow.
© VCMI Team
Page generated in 0.14 second. SQL queries: 14