1. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  2. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  3. The 18th Icon Contest is ON! Choose any ingame unit and give him/her Hero abilities. Good luck to all.
    Dismiss Notice
  4. The Secrets of Warcraft 3 have revealed interesting works. The RESULTS for Abelhawk's Mini-Mapping Contest #15 have come out!
    Dismiss Notice
  5. Contestants are to create a scene set in the Stone Age. Come and see what you can come up with. We wish you the best of luck!
    Dismiss Notice
  6. Colour outside the lines! Techtree Contest #13 is a go. The contest is optionally paired.
    Dismiss Notice
  7. Night Rider gained several songs for his journey. The poll for the 12th Music Contest has started. Check it out!
    Dismiss Notice
  8. Greetings cerebrates, our Swarm needs new spawners that will have numerous children. Join the HIVE's 31st Modeling Contest - Spawners and Spawned! The contest is optionally paired.
    Dismiss Notice
  9. 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
  10. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Why not Grimoire/JNGP?

Discussion in 'SharpCraft & WEX' started by MindWorX, Apr 25, 2017.

  1. MindWorX

    MindWorX

    Joined:
    Aug 3, 2004
    Messages:
    690
    Resources:
    5
    Tools:
    1
    Tutorials:
    4
    Resources:
    5
    Grimoire is starting to age, and haven't been updated since version 1.21 of Warcraft III. This means that in order for JNGP to keep working, we've had to bundle the 1.21 worldedit.exe along with it ever since. This has been working fine for a time, but by now so much has changed in the internal structure and workings of Warcraft III that several issues have started to come up and features are missing.
    • GUI HashTable functions like the Key of ... will immediately crash the editor.
    • The MPQ structure has changed, making it necessary to manually import the cd-keys back for the World Editor to work again.
    • The new Validate feature is completely missing from JNGP.
    This is only bound to get worse.

    One option is to update Grimoire and make things work again. The Grimoire Source Code is available online, and figuring out how to build it should be straight forward. However the findings and different hacks aren't very well documented, primarily due to the fact that everyone thought Blizzard were done updating, so as long as a hack worked, we didn't care much how it was found.

    The other option is to create a new system that would try and address the challenges Grimoire faced, and attempt to make something more stable and more prepared for the coming patches. This is what I decided to do, both due to the fact that I wasn't a strong C++ developer, and because I was positive, a rewrite would be a better approach. The result of my work is SharpCraft.
     
  2. Hotwer

    Hotwer

    Joined:
    Mar 10, 2013
    Messages:
    370
    Resources:
    0
    Resources:
    0
    Just to know, what programming language you're using to develop the SharpCraft?

    EDIT: Ok, I was able to find your Git Repository, so no need to question this anymore

    I would love to contribute to your piece of art. But it's hard to contribute without knowring how your bundle works. I know it's a hardware injection, but how does that work?
     
    Last edited: Apr 25, 2017
  3. MindWorX

    MindWorX

    Joined:
    Aug 3, 2004
    Messages:
    690
    Resources:
    5
    Tools:
    1
    Tutorials:
    4
    Resources:
    5
    Once things have stabilized a bit, and the JNGP replacement is working, I'll see if I can get around to create some tutorials. The basic principle is something called dependency injection, where you either implement, import or export some interfaces, and the system will take care of the rest. One example is the JassHelper plugin I made. It implements an "ICompiler" interface, and that's enough for the plugin to get called when the map is saved or the script is compiled. I'll also open source all the plugins as well when I can, which will show how everything works.
     
  4. Hotwer

    Hotwer

    Joined:
    Mar 10, 2013
    Messages:
    370
    Resources:
    0
    Resources:
    0
    I see, I'm aware of this technic, but I wasn't sure it was capable of this.

    Sure, I'll be awaiting for that, but if I got any spare time, you don't mind I start toying with it a bit?

    Also, why don't you use the GitHub repository?
     
    Last edited: Apr 25, 2017