Heroes 4 Advanced Options Map Editor

The old Heroes games developed by New World Computing. Please specify which game you are referring to in your post.
User avatar
iLiVeInAbOx05
Equilibris Team
Equilibris Team
Posts: 788
Joined: 21 Jul 2014

Re: Heroes 4 Map Generator / Utility

Unread postby iLiVeInAbOx05 » 04 Apr 2016, 03:45

Update: I'm now able to show all of the adventure objects which have events. So far I have also emulated the "Army Properties" options you get when selecting an army in the editor. I still need to figure out what kind of information should actually be displayed in the tables, so feedback is appreciated. Clearly "Army" isn't exactly useful when you have many on the map, and it took me some time to find the one I was looking for. Maybe under the "Name" column (the column name can change) I should list the name of the first creature stack or hero (whichever comes first)? Under "Type" I can probably shorten it to just the important part of the object's name.

Image

The screen shot below shows that you will be able to right click and edit any particular object (currently only works for Army objects).

Image

Still missing a few fields on the emulated Army Properties panel, but I'll get them filled in eventually :) The number after "Male" corresponds to the Hero's class, which I haven't documented quite yet.

Image

And you can check out the events for army objects (can't copy or anything yet).

Image

I decided I didn't want to keep breaking my head against terrain boundary codes (at least for now) so I moved on to getting this done :) I'll work on the "Hero Properties" panel next, and then look at enabling changes to the armies and heroes :)

At some point I'll work on displaying the actual scripts (emulating the editor unless someone else has a better idea of how to show them).

User avatar
iLiVeInAbOx05
Equilibris Team
Equilibris Team
Posts: 788
Joined: 21 Jul 2014

Re: Heroes 4 Map Generator / Utility

Unread postby iLiVeInAbOx05 » 04 Apr 2016, 04:08

Speaking of the terrain boundary codes, if anyone is interested in helping me figure those out, please let me know. If you create an empty map, I can point you to where the terrain codes start and show you in the documentation what each of the bytes means.

I've started seeing some small patterns in the boundary codes, but nothing conclusive yet.

User avatar
iLiVeInAbOx05
Equilibris Team
Equilibris Team
Posts: 788
Joined: 21 Jul 2014

Re: Heroes 4 Map Generator / Utility

Unread postby iLiVeInAbOx05 » 05 Apr 2016, 05:02

Created a bare bones hero editing panel with just the events tab set up. So, from the Army properties panel, you can edit a hero in the army as you would in the actual editor like so:

Image

Then the Hero Properties frame shows up (after I took the screen shots, I realized I forgot to add the "Ok" and "Cancel" buttons) and I navigate to the events tab (the other tabs are currently empty).

Image

Now I can switch between event types as I can in the editor, and switch to triggerable events.

Image

I realize you can do this stuff in the editor, but next I'm going to add the ability to copy and paste events between objects (starting with armies and heroes). Once that is done, that means I will have a way coded to add scripts to armies and heroes (besides reading them in from the map file), which will allow us to easily add the AI enhancing scripts. I guess that means I'll need to work on the ability to save and load events as well :)

User avatar
Baronus
Assassin
Assassin
Posts: 288
Joined: 06 Jun 2015

Re: Heroes 4 Map Generator / Utility

Unread postby Baronus » 05 Apr 2016, 05:54

Advanced options. It will be helpfull for all mapmakers...

User avatar
iLiVeInAbOx05
Equilibris Team
Equilibris Team
Posts: 788
Joined: 21 Jul 2014

Re: Heroes 4 Map Generator / Utility

Unread postby iLiVeInAbOx05 » 06 Apr 2016, 04:25

I've now successfully copied events between heroes. Haven't set up copying scripts between armies, but it's going to be exactly the same thing. I'll look at copying scripts between armies and heroes. I wonder how hard the game - or editor - would crash if I put a change_owner script directly on a hero?

Anyway. With the H4MG, I open up the "Army Properties" dialogue for two of my heroes (Lolindir left, and Tarnum right), then open up the respective "Hero Properties" dialogues. Next I select some of Tarnum's scripts, right click, and select "Copy."

Image

Then I move to Lolindir's window, right click, and select paste.

Image

And the scripts are now on my Lolindir hero.

Image

"Ok" out of the dialogues, then file -> save the map and open it in the H4 editor. I open up the events on my Lolindir hero, and voila:

Image

I think I'm probably going to add the hero's name to the title of the "Hero Properties" frame since we can have multiple open at once. Will probably get annoying pretty quick trying to find the right window :)

User avatar
Karmakeld
CH Staff
CH Staff
Posts: 1126
Joined: 12 Nov 2011

Re: Heroes 4 Map Generator / Utility

Unread postby Karmakeld » 06 Apr 2016, 07:29

That would be a good idea :). The easier it is to keep track of what you're doing the better - this should make it easier for beginners to navigate :) Have you thought about adding a minor tutorial, or at least some file including it's list of options/what the program can do and maybe how to? To some degree this tread IS already a tutorial, but still..
I'm silent in seven languages - and I got all my familys fear.
Everytime you throw dirt, you loose a little ground

User avatar
iLiVeInAbOx05
Equilibris Team
Equilibris Team
Posts: 788
Joined: 21 Jul 2014

Re: Heroes 4 Map Generator / Utility

Unread postby iLiVeInAbOx05 » 06 Apr 2016, 14:24

I'll probably need to come up with some way of naming the frame title for "Army Properties" as well. Maybe something similar to what I suggested earlier for the table where all you see is "Army" for the type.

As far as a tutorial, at the very least I plan to add a "Help" menu with some thorough explanations of the help topics (which will consist of the various features). I'd like to also do a small write up of the various features available, and maybe even do a video to sort of showcase the important features :)

User avatar
iLiVeInAbOx05
Equilibris Team
Equilibris Team
Posts: 788
Joined: 21 Jul 2014

Re: Heroes 4 Map Generator / Utility

Unread postby iLiVeInAbOx05 » 07 Apr 2016, 01:27

Well, unfortunately placing a change owner script directly on a hero doesn't seem to do anything. I tried to call it from a timed event and nothing happened. Both the game and editor are able to open a file with this in place without crashing (in the editor if you look at the script, the script name is blank), but it doesn't really matter since it doesn't work.

User avatar
Karmakeld
CH Staff
CH Staff
Posts: 1126
Joined: 12 Nov 2011

Re: Heroes 4 Map Generator / Utility

Unread postby Karmakeld » 07 Apr 2016, 13:50

So no hope of adding the change owner script to carry over heroes then?
I'm silent in seven languages - and I got all my familys fear.
Everytime you throw dirt, you loose a little ground

User avatar
iLiVeInAbOx05
Equilibris Team
Equilibris Team
Posts: 788
Joined: 21 Jul 2014

Re: Heroes 4 Map Generator / Utility

Unread postby iLiVeInAbOx05 » 07 Apr 2016, 14:39

I haven't tried it on a carryover hero yet, but it very likely will just do the same thing (nothing) :(

User avatar
iLiVeInAbOx05
Equilibris Team
Equilibris Team
Posts: 788
Joined: 21 Jul 2014

Re: Heroes 4 Map Generator / Utility

Unread postby iLiVeInAbOx05 » 09 Apr 2016, 00:23

So I did a quick test of what I would need to zip up to distribute this projects for others to have a look at, and I think I could actually send out what I have to anyone who would like to give this a look :D

Still not quite ready to offer officially, as there are a lot of things that are incomplete, but are still represented (buttons which don't yet do anything). Maybe once we move to beta ;)

I still want to test on my gf's laptop, but I'm pretty confident it will work.

As a word of warning, this software will probably only work for English versions of maps. I convert some Strings to lowercase without using the "Locale" version of the method (since I'm not really familiar with how that works), which will probably be a problem for maps in other languages. At some point I may try testing some H4 maps which are in different languages, but no guarantees that I'll be able to make it work.

User avatar
iLiVeInAbOx05
Equilibris Team
Equilibris Team
Posts: 788
Joined: 21 Jul 2014

Re: Heroes 4 Map Generator / Utility

Unread postby iLiVeInAbOx05 » 09 Apr 2016, 03:28

I've decided to start work on event groups, but I'm not sure how I should go about saving / loading / creating event groups. My first thought was to add a menu called "Tools" to the main menu bar, and then add the necessary menus under "Event Groups" there. Now I'm thinking that maybe it would be better if I added a tab under the "Events" tab for the event group stuff in order to keep everything similar in the same place.

Putting it under the events tab would probably be good because then I already have display space for it, rather than popping up a new window with the options that the user would continually have to click multiple times to see.

Does anyone have any thoughts or feedback?

User avatar
Karmakeld
CH Staff
CH Staff
Posts: 1126
Joined: 12 Nov 2011

Re: Heroes 4 Map Generator / Utility

Unread postby Karmakeld » 09 Apr 2016, 14:22

Not sure what you define as event groups, also have you looked into copying/moving part of a map to another map/place on the map?
But in general I think options/layout that reduce amounts of needed clicks would be preferable
I'm silent in seven languages - and I got all my familys fear.
Everytime you throw dirt, you loose a little ground

User avatar
iLiVeInAbOx05
Equilibris Team
Equilibris Team
Posts: 788
Joined: 21 Jul 2014

Re: Heroes 4 Map Generator / Utility

Unread postby iLiVeInAbOx05 » 09 Apr 2016, 19:34

Event groups are just events that can be saved and loaded from file.

So, if you have utility events that are helpful on any map that you create, you can simply load them into the map you're working on from a file.

I'm still not sure how I want the user to be able to save / load / apply the events from the groups in the actual program. I was thinking maybe add a button to the panels that the user could potentially add new events called "Load from Group" or something like that. An example would be to put one on the "Army Properties" frame so the user could click it, and then select a group of events to apply.

The other way I was thinking was to have the group events on a tab under the events section. From there the user could load up groups of events, and then just copy the scripts they want, and paste them where they want.

Still not sure what the best way to do this would be.

I also need to come up with a good way to store them in a file, but that's not as big an issue.

I'm also going to implement saving quest hut scripts to file, so you can copy and paste scripting between quest huts :)

Oh, and to answer your question: I have not yet looked into copying one part of a map to another yet.

User avatar
Karmakeld
CH Staff
CH Staff
Posts: 1126
Joined: 12 Nov 2011

Re: Heroes 4 Map Generator / Utility

Unread postby Karmakeld » 09 Apr 2016, 22:08

Copying between quest huts is a good idea too. Basically it would be useful to be able to copy/paste between any object that can contain scripts quest guards and gates as well (different look).
About the event group, I'm leaning towards the second option, but I think I would have to play around with the program, to get a feeling of what might seem most intuitive.
Would you be able to save the 'events group' to an 'event group' map or a txt file? I don't assume the program itself would be able to store the saved events?
I'm silent in seven languages - and I got all my familys fear.
Everytime you throw dirt, you loose a little ground

User avatar
iLiVeInAbOx05
Equilibris Team
Equilibris Team
Posts: 788
Joined: 21 Jul 2014

Re: Heroes 4 Map Generator / Utility

Unread postby iLiVeInAbOx05 » 10 Apr 2016, 03:31

That's the plan :) I was thinking about not including copying for quest guards and gates because you can copy them to the H4 editor palette, but then as you said, you have one that faces left, and one that faces right, so it would still be useful.

I sent you the program, so you can give it a whirl :) The only thing you need to do is install the Java JRE just download the most recent version (I sent you the link). I'll continue thinking about what would be a good way to do it. It end up being a mix of what has already been described.

The event groups will be saved to a file, and when you start the program, it will check the location where it expects event groups to be, and load them into the program. There will still be an option to load event groups so that you can load event groups if you have saved them in another location.

Since this program already knows how to save / load events to / from .h4c files, it will be very simple to save / load only events to another file. I'll probably give them an extension other than .txt just so I can easily differentiate my file types. Same goes for saving quest huts to a file :)

User avatar
Karmakeld
CH Staff
CH Staff
Posts: 1126
Joined: 12 Nov 2011

Re: Heroes 4 Map Generator / Utility

Unread postby Karmakeld » 10 Apr 2016, 08:49

Awsome. I'll give it a try some time during the next week, hopefully, and give you some feedback :)
Just a thought, is it possible to easily add some kind of error message, if one attempts to copy/paste a script to a place where it can't go?
Like copying a hero/army script to a placed event, but that particular script isn't available as a placed event. Like you wrote, either it will just do nothing or it might cause a crash. If this is something that is hard to setup, or take alot of time having to crosscheck, it might not be worth looking into.
I'm silent in seven languages - and I got all my familys fear.
Everytime you throw dirt, you loose a little ground

User avatar
iLiVeInAbOx05
Equilibris Team
Equilibris Team
Posts: 788
Joined: 21 Jul 2014

Re: Heroes 4 Map Generator / Utility

Unread postby iLiVeInAbOx05 » 10 Apr 2016, 18:27

I already have the method which adds the events to my event class checking the type that is being added, so it should actually be pretty simple to add an error message. If the type doesn't match, I can simply add the name of the bad event to a list and return that to the calling method, who can then show the error dialogue with the list of bad event names.

User avatar
iLiVeInAbOx05
Equilibris Team
Equilibris Team
Posts: 788
Joined: 21 Jul 2014

Re: Heroes 4 Map Generator / Utility

Unread postby iLiVeInAbOx05 » 11 Apr 2016, 05:02

The H4MG can now generate a new .h4c map / campaign completely independent of the H4 Editor :D

There are still 4 bytes at the beginning of the map files that I have no idea what they represent. I can create two maps that are exactly the same in the H4 editor and those 4 bytes are always different, so it's very difficult to figure out what they mean, but that also means they might not be important. Maybe just some sort of book-keeping in the editor.

User avatar
Karmakeld
CH Staff
CH Staff
Posts: 1126
Joined: 12 Nov 2011

Re: Heroes 4 Map Generator / Utility

Unread postby Karmakeld » 12 Apr 2016, 19:58

that's great :)
Just a thought, if those two 'exactly identical' maps are both placed in the same folder, don't they have separate names in the folder?
Have you looked at what happens if you overwrite, if the 4 bytes then change or remains the same?
I'm silent in seven languages - and I got all my familys fear.
Everytime you throw dirt, you loose a little ground


Return to “Heroes I-IV”

Who is online

Users browsing this forum: Bing [Bot] and 4 guests