Building a new external to work with FFACE.dll

Are you developing an External using the LiveCode Externals SDK?

Moderators: Klaus, FourthWorld, heatherlaine, kevinmiller, robinmiller

Post Reply
Posts: 8
Joined: Sat Apr 13, 2013 5:18 am

Building a new external to work with FFACE.dll

Post by fedaykinofdune » Sat Apr 13, 2013 6:01 am

I have a DLL called FFACE, which is used to interact with an online MMO called FFXI. Most of the apps written that use FFACE are C++ and there's some in C#, including a wrapper written in C# for those that want to use that. I've been doing quite a bit of reading up on writing externals, a "Crash course" if you will. There's a page on the FFACE wiki that gives very short instructions on importing FFACE.dll functions. For C++ in particular, it goes like this:
C++ (static version - with FFACE.lib):
__declspec(dllimport)FunctionReturn GenericFunction(FunctionArgument);

Now, along with the DLL, I have FFACE4.h, FFACE.lib, and structures.h, which along with the ExternalsEnvironment, I'm hoping I have nearly everything I need. I'll be installing C++ IDE and getting that set up in the next couple hours. I guess what I want to know is, am I on the right track at all? If I'm not mistaken, the stuff in the ExternalsEnvironment is putting code in to make everything work with Livecode, FFACE4.h provides all the functions and structures.h is all the datatypes and stuff. I believe the DLL itself deals with all the memory locations for the game. Anyway, can someone point me in the right direction, or if I'm totally wrong, let me know! I've never messed with C++ before, and it's been probably 15 years since I touched any kind of real programming language outside of Hypercard and Livecode. I'm going to read the tutorials more thoroughly in the meantime, but I'm assuming that having the .lib .dll, and .h files and the SDK, I'm not going to have to write up any code? I'm not sure what the end product is going to be, also. Would the external still depend on FFACE.DLL, or will it build all its functions into it? Usually, every time there's a major patch to the game client, we have to download an updated FFACE.DLL. Most of the time it's just to fix memlocs, very rarely are new functions added. I'm just wondering if I'm going to have to rebuild it every time there's a new version or if I can just throw in the new FFACE.DLL.

Sorry for my lack of knowledge in this area, if anyone has the time to respond with some useful info, it would be appreciated!!

Kerry Box

Post Reply

Return to “Building Externals”