HeroEngine Forums
Welcome, Guest. Please login or Register for HeroCloud Account.

Author Topic: [Resolved] HSEIDemo.dll loading issue  (Read 2368 times)

Jrome90

  • General Accounts
  • *
  • Posts: 330
    • View Profile
[Resolved] HSEIDemo.dll loading issue
« on: Apr 28, 13, 12:06:17 AM »

I decided to go ahead and see if I can successfully Compile, and load the HSEIDemo plugin.

After Compiling (with VS 2012 Express) I added the dll to the same location as the heroblade.exe. Is that the proper location for client plugins?

After attempting to load the plugin using:
Code: [Select]
LoadScriptPlugin("HSEIDemo.dll") I get the error:

Code: [Select]
!ERROR!System:Error loading plugin (HSEIDemo.dll): The specified procedure could not be found.
I am not sure the error is because it can't find the plugin.. Or if it just can't load it properly.

Though I'd think it is the former.
« Last Edit: May 30, 13, 08:47:24 AM by HE-CHRISTOPHER »
Logged

keeperofstars

  • General Accounts
  • *
  • Posts: 998
    • View Profile
    • StarKeeper Online
Re: HSEIDemo.dll loading issue
« Reply #1 on: May 01, 13, 12:57:09 AM »

Ive tried this as well, and tried putting the .dll file in about every location you could think of. Also have tried listing all plugins, and even tried to see if I could load a different .dll from the heroengine install location, and it can't find anything.

Everything else seems to work, the external functions are in the proper scripts, and the hero sense picks them up, but it just won't load the .dll

So is the demo missing a step, is there some thing else to do for loading, is there a setting file that defines plugin location, etc.

Any help would be greatly appreciated.
Logged
[img]http://screencast.com/t/x7btcSSyp3h0[\img]

FI-ScottZ

  • General Accounts
  • *
  • Posts: 1407
    • View Profile
    • Forever Interactive, Inc.
Re: HSEIDemo.dll loading issue
« Reply #2 on: May 01, 13, 05:18:41 AM »

Have you guys gone through all of this page?
http://hewiki.heroengine.com/wiki/HSEI

I haven't looked at the demo dll, but you are trying to load it as a client-side dll, correct?

That wiki page lists steps to diagnose dll loading problems, and it does state that
Quote
Client plugins should be placed in the run directory of the PlayerClient and/or HeroBlade. Installation is normally performed via the normal update/installation process.

BTW, for the IF team, that wiki page lists http://licensee.heroengine.com/ as the link to download the HSEI demo, but that link is dead now.
« Last Edit: May 01, 13, 05:34:45 AM by ScottZarnke »
Logged
Scott Zarnke
Lead Programmer, Visions of Zosimos
CTO, Forever Interactive, Inc.

keeperofstars

  • General Accounts
  • *
  • Posts: 998
    • View Profile
    • StarKeeper Online
Re: HSEIDemo.dll loading issue
« Reply #3 on: May 01, 13, 07:47:26 PM »

Yeah we are both trying it as a client side install for the .dll and client side script.
I have put the .dll into the HeroEngine program path next to the .exe that launches Hero, which is where the demo states to put the client scripts.
For development it sounds like we just have to copy and paste into that path, and if we are doing a live client, the process that updates the client files manages adding the HSEI files to the end user client during patching.

We both have used the provided tool for the checking the .dll created was valid, it comes back with no errors. And since it's their demo would think it would be ok to start with. (maybe. LOL) But their code tester tool validates the .dll was successful.

So that leaves us to the LoadScriptPlugin() having problems locating the scripts. I don't know if this is an old artifact between how they manage the cloud and developers, and recent updates changed things, or if there is more to the LoadScriptPlugin() function that is just missing, from wiki.

Perhaps one of the super busy devs give us a helping hand,  ;)

Logged
[img]http://screencast.com/t/x7btcSSyp3h0[\img]

Jrome90

  • General Accounts
  • *
  • Posts: 330
    • View Profile
Re: HSEIDemo.dll loading issue
« Reply #4 on: May 02, 13, 12:50:06 AM »


Client plugins should be placed in the run directory of the PlayerClient and/or HeroBlade.


Where is the run directory for the Heroblade? The wiki isn't clear on that at all.
Just like Keeperofstars, the dll passes all tests.

If it matters, the Dependencies:

Code: [Select]
MSVCP110.dll
MSVCR110.dll
KERNEL32.dll
Logged

FI-ScottZ

  • General Accounts
  • *
  • Posts: 1407
    • View Profile
    • Forever Interactive, Inc.
Re: HSEIDemo.dll loading issue
« Reply #5 on: May 02, 13, 10:00:11 AM »

Jrome90,

That would just be wherever you installed it, i.e. where HeroBlade.exe is.  Typically, this is C:\Program Files\HeroEngine\HEROBLADEHC022 where HEROBLADEHC022 would be whatever server your world is on.
Logged
Scott Zarnke
Lead Programmer, Visions of Zosimos
CTO, Forever Interactive, Inc.

keeperofstars

  • General Accounts
  • *
  • Posts: 998
    • View Profile
    • StarKeeper Online
Re: HSEIDemo.dll loading issue
« Reply #6 on: May 02, 13, 10:49:27 AM »

yeap that is where we keep trying, but no luck. lol
Even tried it with just using the player client just incase.
Logged
[img]http://screencast.com/t/x7btcSSyp3h0[\img]

HE-DAVID_R

  • HeroEngine
  • *****
  • Posts: 1
    • View Profile
Re: HSEIDemo.dll loading issue
« Reply #7 on: May 07, 13, 07:36:08 PM »

We're looking into it and hope to have a solution published sometime tomorrow
Logged

Jrome90

  • General Accounts
  • *
  • Posts: 330
    • View Profile
Re: HSEIDemo.dll loading issue
« Reply #8 on: May 07, 13, 08:20:43 PM »

We're looking into it and hope to have a solution published sometime tomorrow
Thanks for the update David  :)
Logged

HE-JAY

  • HeroEngine
  • *****
  • Posts: 122
    • View Profile
Re: HSEIDemo.dll loading issue
« Reply #9 on: May 08, 13, 12:32:50 PM »

Thanks for bringing up this issue. It turns out the documentation for the HSEI had not been updated to reflect changes in naming conventions.

To resolve the issue, we've:
  • Updated the HeroScript Extension Interface wiki page with the correct information
  • Made the appropriate changes to the HSEIDemo.zip archive found on the downloads page

The specific change was to the signatures of the exported functions in the plugin to both 'get' and 'release' the HSEI interface.

The new signatures are:
Code: [Select]
extern "C" {

__declspec(dllexport) __cdecl HSEI::HeroScriptExtensionInterface * getHSLInterface(int version_number);

__declspec(dllexport) __cdecl int releaseHSLInterface(HSEI::HeroScriptExtensionInterface * aInterface);

}

Making the above modification to your own HSEI plugins will result in the LoadPlugin external function call succeeding where it had previously failed.

Hope this helps!
« Last Edit: May 08, 13, 12:34:21 PM by HE-Jay »
Logged

Jrome90

  • General Accounts
  • *
  • Posts: 330
    • View Profile
Re: HSEIDemo.dll loading issue
« Reply #10 on: May 08, 13, 04:33:19 PM »

Thanks Jay!
I successfully loaded it.
Logged

keeperofstars

  • General Accounts
  • *
  • Posts: 998
    • View Profile
    • StarKeeper Online
Re: HSEIDemo.dll loading issue
« Reply #11 on: May 11, 13, 12:19:09 AM »

Yes thank you both for resolving this for us. :) we greatly appreciate it.

now it means I can't keep it on the backburner and need to get my add-ons going. :)
Logged
[img]http://screencast.com/t/x7btcSSyp3h0[\img]