1. Head to the 33rd Modeling Contest Poll and drink to your heart's desire.
    Dismiss Notice
  2. Choose your means of doom in the 17th Mini Mapping Contest Poll.
    Dismiss Notice
  3. A slave to two rhythms, the 22nd Terraining Contest is here.
    Dismiss Notice
  4. The heavens smile on the old faithful. The 16th Techtree Contest has begun.
    Dismiss Notice
  5. The die is cast - the 6th Melee Mapping Contest results have been announced. Onward to the Hive Cup!
    Dismiss Notice
  6. The glory of the 20th Icon Contest is yours for the taking!
    Dismiss Notice
  7. 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.

[RenderEdge] Memory Hack

Discussion in 'The Lab' started by ENAleksey, Oct 9, 2017.

  1. ENAleksey

    ENAleksey

    Joined:
    Nov 29, 2014
    Messages:
    189
    Resources:
    1
    Tools:
    1
    Resources:
    1
    I just found a way to edit the tooltips!
    Function edits position of bottom right corner of tooltip, I'll fix it soon.
    Code (vJASS):
    function EditTooltip takes integer anchor, real offsetX, real offsetY returns nothing
        local integer pTooltipFrame = fast_call1(address_GameBase + 0x337240, 0)
        local integer pRootFrame = GetRootFrame()

        call SetFramePoint(pTooltipFrame, ANCHOR_BOTTOMRIGHT, pRootFrame, anchor, offsetX, -offsetY)
    endfunction


    War3 2017-12-05 22-22-33-75.png
    call EditTooltip(ANCHOR_RIGHT, FromPixelX(-100), FromPixelY(160))

     
    Last edited: Dec 5, 2017
  2. Trigger.edge

    Trigger.edge

    Joined:
    Jun 21, 2012
    Messages:
    419
    Resources:
    0
    Resources:
    0
    Lol, something like that would be very useful for my map...

    On the other hand, I did some tests with kloader, on map load player 1 shows the customized UI correctly, however player 2 does not show it, to what is this?

    Thank you so much!
     
    Last edited: Dec 5, 2017
  3. mori

    mori

    Joined:
    Jun 13, 2016
    Messages:
    446
    Resources:
    2
    Tools:
    1
    Tutorials:
    1
    Resources:
    2
    Hey, ironically enough I'm working on a fully-fledged FileIO/Network library for Wurst right now! You can read/send files across the network with it, as well as synchronize asynchronous natives using a comparatively simple syntax. All using stock WC3 facilities. For vJASS there's also the Sync/SyncInteger libraries by TriggerHappy, which is what I'm basing it off, although that's harder to use.

    If you're interested, you can expect it to be released somewhere during this week, and possibly included with Wurst by default after that.
     
  4. Trigger.edge

    Trigger.edge

    Joined:
    Jun 21, 2012
    Messages:
    419
    Resources:
    0
    Resources:
    0
    I've been almost 3-4 months of inactivity and today is my lucky day.

    I'll take the floor, and wait for you to finish your library. Here I leave this discord server of my project so that you can report your progress or if you prefer for pm.
     
  5. Kakerate

    Kakerate

    Joined:
    Oct 18, 2013
    Messages:
    482
    Resources:
    0
    Resources:
    0
    whats speed of syncing? Still at ~5 kbps? Memory allows for much faster data sync if I'm not mistaken.
     
  6. mori

    mori

    Joined:
    Jun 13, 2016
    Messages:
    446
    Resources:
    2
    Tools:
    1
    Tutorials:
    1
    Resources:
    2
    Unfortunately so. This is the limitation with the SyncStored* natives that seems to arise out of the fact that they are terribly inefficient in how they wrap data, sending a lot of 'garbage' along with the actual data.

    I've been burnt in the past by relying on patch-specific libraries, however, and I wish to avoid using them if at all possible, because I need my map to be able to run on the latest patch without issues.

    If you can provide some info how Memory allows for faster syncing, I would really appreciate that. I have one minor concern and doubt, though, that it will require not only read-access, but also write-access, which doesn't work on latest versions. If it proves to be much faster and works on patches after 1.28, I might add it as an alternative backend to the library.

    EDIT: Keep in mind, however, that for small payloads (<1000 integers) the speed is actually pretty fast, maybe a few latency cycles at most. For very small payloads (dozens of integers or equivalent), you can send it in one/two latency cycles, which is on par with most default player actions anyway. For larger payloads, you are likely willing to wait longer, and in stock WC3 without any extensions you don't expect to send large payloads, except in a few very specific cases.

    In my map I intend to load a lot of data from files (up to ~100 kbs), but it is a 'load' operation and it is acceptable for players to wait a little while the data is loading, so I do not find it an issue. I'm trying to think of a scenario where you may need to send more data than that, but I really can't think of anything that huge. 100 KB is a lot.
     
  7. TempMail

    TempMail

    Joined:
    Nov 3, 2017
    Messages:
    25
    Resources:
    0
    Resources:
    0
    recent DotA Helper got instant custom data transfer. ofc 1.26 only, as none of patches ever matters
     
  8. HappyTauren

    HappyTauren

    Joined:
    Nov 3, 2006
    Messages:
    8,408
    Resources:
    87
    Models:
    61
    Icons:
    23
    Packs:
    1
    Tutorials:
    2
    Resources:
    87
    ^I completely disagree, wc3 is actually likely to get more patches in the future, and relying on old patches is s fool's errand.
     
  9. TempMail

    TempMail

    Joined:
    Nov 3, 2017
    Messages:
    25
    Resources:
    0
    Resources:
    0
    I can't hear you, standing on the pile of possibilities we have now. Official patches are too useless for community. but everyone has their own opinion, sure. Let's see who will surivive in the end.
     
  10. mori

    mori

    Joined:
    Jun 13, 2016
    Messages:
    446
    Resources:
    2
    Tools:
    1
    Tutorials:
    1
    Resources:
    2
    This isn't a matter of who will survive, this is a matter of different communities with different interests. I plainly refuse to play on 1.26 in multiplayer now, since it is not secure, and I advise others to do the same. I can join a random map and have a not unlikely chance of being infected.

    This is fine if you only play a certain selection of maps with people you know and can be sure you don't receive a bad/infected version from someone. However, I would like to not take the unnecessary risk. If I want better features than WC3 can provide, I go to other games. S&box in particular holds my current attention.

    Besides, there is a community around the official b.net service, with players who just want to play maps without having to muck around with different patches, PvPGN servers or LAN setups like Garena. This community is alive, and frankly, couldn't care less about any older patches. I myself play only on b.net, so the latest patch is my only option, as it is for many other people.

    You can keep playing on older patches and subject yourself to very real risks, if that's your thing - but don't shove your preferences into our faces, it's just plain rude. Thanks.
     
  11. TempMail

    TempMail

    Joined:
    Nov 3, 2017
    Messages:
    25
    Resources:
    0
    Resources:
    0
    Nope, its exactly about surviving. Game is dying for years, there are barely any active community and the only reason ppl still play it as RPG - because there are nothing else on the market. Not because wc3 that good, cause it have tons of issues even on balance level. Just because genre is dead. One day you will search for games for minutes, then - hours. Thats how it happens in real life, not your "riskless" universe.

    If you have nothing to do with memhack you simply shouldnt write here as well. Nobody cares if you or DSG won't launch older patch. Its about people sharing their work.
     
  12. mori

    mori

    Joined:
    Jun 13, 2016
    Messages:
    446
    Resources:
    2
    Tools:
    1
    Tutorials:
    1
    Resources:
    2
    You'd be surprised how active B.Net is still despite your apparent accusations.

    If you want to do something more than stock WC3 allows you to, I'd argue that you'd be better off with another modding platform to distribute your work. As it is, even working with vJASS and MemHack is a major pain in the butt. That doesn't mean people shouldn't try - by all means, do, this is genuinely impressive and great work, and I really appreciate the dedication some members of the community are exhibiting. However, there is no need for such a toxic attitude towards the newer patches - players will always flock to B.Net first because it is the officially supported service and doesn't require any extra work on behalf of the user to play there. This argument alone is enough for most players to stay there - it is simple and straightforward. It works out of the box. That's the appeal of it. For most maps, this is more than enough. For anything else that WC3 can't do - there are better and newer games to do it.

    RPGs are also not the only reason people play WC3 at all - please, get your facts straight. There is the melee community, then there are the various Risk maps, the PvP-style arenas, new maps with interesting mechanics popping up occasionally, and the plethora of classic minigame maps, all of which people play still to this day.

    If you wish to ignore the risks associated with an exploit that gives any unrecognized map-maker full unprotected access to your system, with the possibility to wreak any kind of havoc, then you are a fool. If you acknowledge those risks and play carefully - that is fine. But you really have to be careful. I am 100% sure that it is only a matter of time before some popular map pops up, and then someone injects a trojan into it, and there will be some big drama around it - which can harm the 1.26 community even more than the natural death of the game.

    Think carefully about the steps you take.
     
  13. TempMail

    TempMail

    Joined:
    Nov 3, 2017
    Messages:
    25
    Resources:
    0
    Resources:
    0
    I'd be surprised, yet there are ~8k games montly in 1x1 ladder, which roughly equals to 16k players worldwide (bnet-gate-wide?) Sure it looks good enough for you, enjoy while it last.
    Fools always blamed atomic bomb for killing people, not realizing that nothing else ever made modern life easier and safer than that. Stay away from that - you cannot handle it.
     
  14. LazyCat

    LazyCat

    Joined:
    Sep 5, 2017
    Messages:
    1
    Resources:
    0
    Resources:
    0
    CD
     

    Attached Files:

    • cd.png
      cd.png
      File size:
      70.4 KB
      Views:
      143
  15. Kakerate

    Kakerate

    Joined:
    Oct 18, 2013
    Messages:
    482
    Resources:
    0
    Resources:
    0
    With new versions of warcraft iii coming out, memory libraries rely on offsets being able to be dynamically found between versions. I think it can be done, but it pretty much surmounts to Blizzard imposing an unnecessary amount of work for tiny reward. Bnet servers are pretty much official pleb servers now because of it. A shame really.

    Aside from scrambling where your warcraft files are stored and ensuring you don't make the migration tool try to process any sp00ky non-english characters, right?
     
  16. GhostWolf

    GhostWolf

    Joined:
    Jul 29, 2007
    Messages:
    4,952
    Resources:
    2
    Tools:
    1
    Tutorials:
    1
    Resources:
    2
    You killed me :xxd:
     
  17. ENAleksey

    ENAleksey

    Joined:
    Nov 29, 2014
    Messages:
    189
    Resources:
    1
    Tools:
    1
    Resources:
    1
    LazyCat, I still haven't found a way to fix this.
     
  18. csh

    csh

    Joined:
    May 27, 2017
    Messages:
    19
    Resources:
    0
    Resources:
    0
    You can draw a custom cooldown image via using d3d or opengl API to cover it, some chinese developer use this method to fix it.
     
  19. This is very silly. There will never be any serious maps or developers who use old patches. Maps developed using this miss out of 99% of the player base of an already dying game. You talk about opportunities, but there are no opportunities using an old patch, unless you enjoy your playerbase of 1 person, playing on LAN.
     
    Last edited by a moderator: Dec 27, 2017
  20. Kakerate

    Kakerate

    Joined:
    Oct 18, 2013
    Messages:
    482
    Resources:
    0
    Resources:
    0
    Your info is outdated.. This works on current patch. This library exists for people who want to dissect war3 and learn how to make it perform tasks beyond Blizzard's API. The small-mindedness you have about this topic is symptomatic of most people here on hive.
     
    Last edited: Dec 31, 2017