1. Are you planning to upload your awesome tool to Hive? Please review the rules here.
    July 9, 2018: The rules for the Tool Section have been revised. Please be sure to read the revisions.
    Dismiss Notice
  2. Join other hivers in a friendly concept-art contest. The contestants have to create a genie coming out of its container. We wish you the best of luck!
    Dismiss Notice
  3. The Melee Mapping Contest #4: 2v2 - Results are out! Step by to congratulate the winners!
    Dismiss Notice
  4. We're hosting the 15th Mini-Mapping Contest with YouTuber Abelhawk! The contestants are to create a custom map that uses the hidden content within Warcraft 3 or is inspired by any of the many secrets within the game.
    Dismiss Notice
  5. The 20th iteration of the Terraining Contest is upon us! Join and create exquisite Water Structures for it.
    Dismiss Notice
  6. Check out the Staff job openings thread.
    Dismiss Notice

Shadowmap Calculator (Made by Oger-Lord)

Submitted by Zwiebelchen
This bundle is marked as awaiting update. A staff member has requested changes to it before it can be approved.
Uploaded & Readme by Zwiebelchen; Shadow Calculator made by Oger-Lord.

I decided to publish this without the agreement of Oger-Lord, as unfortunately he has been inactive for quite some time now and I feel it would be a waste to let this die in the void of the internet.

If you decide to use this tool, please add him to your map's credits. It's the least you can do.


Shadowmap Calculator is a standalone-tool to calculate shadow maps for Warcraft III.
Simply load up the map, hit "Calculate Shadows" and the tool will do its job.

There is also a debug window to show the geometry the calculator is scanning, but I rarely ever use it, as this tool creates shadowmaps that are at least as good as the default calculator in WorldEditor (if not better).

Biggest advantage: This tool is a 64 bit application and will use all your CPU cores to generate the shadow map. Even a massive 480x480 map with tenthousands of doodads can be calculated in a couple of minutes.



SYSTEM REQUIREMENTS:
  • Shadow calculator requires a 64 bit version of the JAVA installed to execute properly.


FEATURES:

  • Allows to open and calculate shadows for maps just like the default shadow calculator of WorldEdit, but at a much faster speed
  • ShadowCalculator will automaticly ignore and exclude alpha tile shadows in calculation; if you want alpha tiles to draw a shadow, replace them with a different tile temporarily, then switch back after calculation
  • You can enter different values for the shadow map calculation vector; default is 1,1,-1, which creates a result similar to the default shadow calculator of WorldEdit. You can tinker around with your own values if you want to create unique shadow maps
  • creating rects with "ignoreshadow" anywhere in their name will exclude the contents of these rects for the shadow calculation
Contents

Shadowmap Calculator (Made by Oger-Lord) (Binary)

Reviews
eejin
After adding the InstallPath entry to the registry and creating a fake war3Patch.mpq I got the tool to start without fatal errors though I still got some warning messages. After running for 8 minutes on a ~400x400 map with 16.000 doodads it outputted...
  1. dtnmang

    dtnmang

    Joined:
    Apr 20, 2010
    Messages:
    396
    Resources:
    6
    Models:
    2
    Tutorials:
    4
    Resources:
    6
    What does calculating shadows do?
     
  2. A]mun

    A]mun

    Joined:
    Dec 4, 2007
    Messages:
    741
    Resources:
    0
    Resources:
    0
    ^ it's generating static shadows for doodads that have the "has a shadow" flag on in the object editor + terrain blizz cliffs/hills.

    So this tool here is actually quite helpful when messing about with very large maps and more.

    I think this will come in handy.
     
  3. Zwiebelchen

    Zwiebelchen

    Joined:
    Sep 17, 2009
    Messages:
    6,784
    Resources:
    11
    Models:
    4
    Maps:
    1
    Spells:
    1
    Tutorials:
    1
    JASS:
    4
    Resources:
    11
    It does basicly what "Calculate Shadows and Save" does in the vanilla editor.
     
  4. Frotty

    Frotty

    Wurst Reviewer

    Joined:
    Jan 1, 2009
    Messages:
    1,392
    Resources:
    10
    Models:
    3
    Tools:
    1
    Maps:
    4
    Tutorials:
    1
    Wurst:
    1
    Resources:
    10
    Ah yes, oger sent this to me also.
    However, I honestly prefer the wc3 shadows, at least in my map.
    His algo creates too many small patches/artifacts.
    Nice stuff nonetheless!
     
  5. _Guhun_

    _Guhun_

    Joined:
    Jun 12, 2010
    Messages:
    321
    Resources:
    7
    Spells:
    6
    Tutorials:
    1
    Resources:
    7
    Has anyone been able to get this to work after the new patch? I even tried changing the InstallPath in the Registry to my 1.28.5 isntallation, but it always generates an invalid ~300lb shd file instead of the normal 2MB file.

    Since thw World Editor takes forever to calculate the shadow map, I guess I'll just have to do without shadows for my map if I can't get this to work :S
     
  6. eejin

    eejin

    Tool Reviewer

    Joined:
    Mar 6, 2017
    Messages:
    132
    Resources:
    1
    Tools:
    1
    Resources:
    1
    After adding the InstallPath entry to the registry and creating a fake war3Patch.mpq I got the tool to start without fatal errors though I still got some warning messages. After running for 8 minutes on a ~400x400 map with 16.000 doodads it outputted a shadowmap file, but this was too small for the map.

    Would be a very useful tool if correctly working. Allowing users to manually enter the install location with a prompt and not requiring the now deprecated war3Patch.mpq would improve usability a lot.

    Will be approved if the mentioned errors are fixed.
     
  7. Strydhaizer

    Strydhaizer

    Joined:
    Feb 28, 2013
    Messages:
    1,268
    Resources:
    3
    Models:
    1
    Maps:
    1
    Template:
    1
    Resources:
    3
    If you guys can no longer use this and still want to calculate shadows on large maps i suggest you do this.

    - Open the world editor
    - Load your map
    - Select all the doodads and destructibles of your map (Ctrl + A)
    - Hit Cut (Ctrl + X), never replace your clipboard
    - Now calculate the shadows with the standard shadow calculator provided by the World Editor, it shouldn't take long to render shadows because it does not calculate the shadows of your doodads, only the shape of your terrain.
    - After the shadows have been calculated, hit Undo (Ctrl + Z), this should bring back all your doodads to your map.

    Now enjoy your map having shadows while not sacrificing much of your time. You can do this thing everytime you update your terrain. I've been doing this trick for so long and this technique has been very effective.
     
    Last edited: Jun 15, 2019 at 3:02 AM
  8. _Guhun_

    _Guhun_

    Joined:
    Jun 12, 2010
    Messages:
    321
    Resources:
    7
    Spells:
    6
    Tutorials:
    1
    Resources:
    7
    That's actually a pretty neat trick. Thanks!
     
  9. Frotty

    Frotty

    Wurst Reviewer

    Joined:
    Jan 1, 2009
    Messages:
    1,392
    Resources:
    10
    Models:
    3
    Tools:
    1
    Maps:
    4
    Tutorials:
    1
    Wurst:
    1
    Resources:
    10
    But then you don't have object shadows?!
     
  10. _Guhun_

    _Guhun_

    Joined:
    Jun 12, 2010
    Messages:
    321
    Resources:
    7
    Spells:
    6
    Tutorials:
    1
    Resources:
    7
    It's better than nothing, especially for maps that don't use that many doodads.
     
  11. Strydhaizer

    Strydhaizer

    Joined:
    Feb 28, 2013
    Messages:
    1,268
    Resources:
    3
    Models:
    1
    Maps:
    1
    Template:
    1
    Resources:
    3
    No object shadows yes, that's the tradeoff. This technique is only for those who always update their maps frequently especially the terrain. You can just add shadows to the doodads/destructibles/units using the object editor.

    This is what happens when you do it. ;)

    Untitled.png

    Untitled2.png