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!!
Thanks,
Kerry Box
Building a new external to work with FFACE.dll
Are you developing an External using the LiveCode Externals SDK?
Moderators: heatherlaine, Klaus, FourthWorld, robinmiller, kevinmiller
-
- Posts: 7
- 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
Return to “Building Externals/Plugins”
Jump to
- General
- ↳ Announcements
- ↳ Off-Topic
- ↳ Feature Requests
- ↳ User Groups and Gatherings
- ↳ SoCal LiveCode Group
- ↳ Greater Toronto Area LiveCode Users Group
- ↳ Developer Services Marketplace
- Getting Started
- ↳ Getting Started with LiveCode - Complete Beginners
- ↳ Getting Started with LiveCode - Experienced Developers
- ↳ Converting to LiveCode
- ↳ App Building Course
- ↳ Simple Messages
- ↳ Calculator
- ↳ Notes
- ↳ Clock
- ↳ Web Browser
- ↳ Weather
- ↳ Compass
- ↳ Photos
- Intermediate
- ↳ Talking LiveCode
- ↳ Rich Media
- ↳ Internet
- ↳ Databases
- ↳ Using Environment Extensions
- ↳ Using Externals and Plugins
- Advanced
- ↳ Extending LiveCode
- ↳ Building Externals/Plugins
- ↳ Software Development Cycles
- ↳ LiveCode Builder
- Platform Specific
- ↳ Windows
- ↳ Linux
- ↳ Mac OS
- ↳ iOS Deployment
- ↳ CGIs and the Server
- ↳ Android Deployment
- ↳ Raspberry Pi
- ↳ HTML5
- Project Specific
- ↳ Creating Games
- ↳ Digital Art and Portfolios
- ↳ Business and Kiosks
- Academic Endeavors
- ↳ Teaching with LiveCode
- ↳ Research and Post Secondary
- ↳ September Academy
- ↳ LiveCode University
- ↳ Summer School 2013
- ↳ Educational Outreach
- Third Party Extension Support
- ↳ Marketing Your Products
- ↳ Animation Engine
- ↳ chartsEngine
- ↳ Data Tree
- ↳ rTree
- ↳ MobGUI
- ↳ lcTaskList
- ↳ SQL Yoga
- ↳ MergEXT
- ↳ Data Grid Helper
- ↳ rGrid
- ↳ LiveCode Factory
- ↳ idea2app and Coding School
- Livecode Open Source
- ↳ Engine Contributors
- ↳ IDE Contributors
- ↳ Version Control
- ↳ Learning Resources
- ↳ Brainstorms
- ↳ LiveCode Global Jam
- ↳ Testing Support
- ↳ Bug Triage
- ↳ Community Projects
- ↳ rIDE
- LiveCode Hosting
- LiveCode for FM
- LC Connect