Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Showcase / FMod wrapper plugin - first working plugin in delphi!

Author
Message
nz0
AGK Developer
11
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 15th Apr 2017 20:20
Yes! Finally you have MOD/S3M/XM support in AppGameKit tier 1 (windows only because it uses a plugin).

Plugin attached with instructions how to set it up in AppGameKit and an example project.

If there's interest, I'll extend the functionality of the plugin to wrap up some more FMOD goodness.

Attachments

Login to view attachments
BatVink
Moderator
15
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 17th Apr 2017 15:16
Nice, the first DLL out of the stables. I'm not an Fmod user, but I'm sure it's a worthwhile plugin.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Quidquid latine dictum sit, altum sonatur
TutCity is being rebuilt
RickV
TGC Development Director
18
Years of Service
User Offline
Joined: 27th Apr 2000
Location: United Kingdom
Posted: 18th Apr 2017 10:59
Great Job nz0!

Works fine on my PC here.

I think the plugins are going to expand the AppGameKit landscape significantly!

Rick
Development Director
TGC Team
KISTech
11
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 18th Apr 2017 18:48
Is there documentation somewhere that shows the steps to make a plugin for AppGameKit Tier 1?
I would really love to port my SQL Database plugin over from DBPro. It was written in C#.
nz0
AGK Developer
11
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 18th Apr 2017 22:28
Here's the documentation I referenced:

http://appgamekit.com/documentation/guides/14_plugins.htm

I did install dependency walker, but didn't need it because I export clean undecorated references.

Qugurun
4
Years of Service
User Offline
Joined: 8th Dec 2014
Location: Tyumen, Russia
Posted: 4th May 2017 16:16
Hi, can you give an example for the Delphi project? Thank you.
https://www.instagram.com/qugurun/
nz0
AGK Developer
11
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 5th May 2017 19:57
Hi,

Here are some example functions in Delphi.

Qugurun
4
Years of Service
User Offline
Joined: 8th Dec 2014
Location: Tyumen, Russia
Posted: 7th May 2017 00:07 Edited at: 7th May 2017 00:46
Thank you.

Tell me what I'm doing is not right?

https://www.instagram.com/qugurun/
nz0
AGK Developer
11
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 7th May 2017 22:14 Edited at: 7th May 2017 22:14
You also need an empty ReceiveAGKPtr() function in your delphi code which is not used in T1, but still needs to be there.
Also add it to your export list, but do not add it to the commands.txt

Qugurun
4
Years of Service
User Offline
Joined: 8th Dec 2014
Location: Tyumen, Russia
Posted: 8th May 2017 00:01
Thank you very much for helping me understand this.
https://www.instagram.com/qugurun/
Qugurun
4
Years of Service
User Offline
Joined: 8th Dec 2014
Location: Tyumen, Russia
Posted: 8th May 2017 01:40
Tell how to send a string and return string ?



Does not work

https://www.instagram.com/qugurun/
nz0
AGK Developer
11
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 8th May 2017 19:18
I think you'll need to use PChar in delphi.
Qugurun
4
Years of Service
User Offline
Joined: 8th Dec 2014
Location: Tyumen, Russia
Posted: 24th May 2017 18:38 Edited at: 24th May 2017 18:39
I got a full string in the Dolphi.

The most interesting thing is that if you change the type of result from numeric to another, it does not work








Tell me please how to get the string back to AGK.
https://www.instagram.com/qugurun/
nz0
AGK Developer
11
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 27th May 2017 17:15
Your example delphi function has an incoming string and returns an integer - that's never going to work.

I just added a function which returns a string to AppGameKit as I'd not tried if before. It worked first time

Here's the delphi code - just basically converting an integer passed in to a string result. The simplicity is down to using the generic PChar type, which is casted in the result.



and the definition in the commands.txt of course with a S for return type:



nz0
AGK Developer
11
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 1st Jun 2017 23:21
So, did you get the string functions working then, Qugurun?
nz0
AGK Developer
11
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 3rd Jun 2017 23:59
I'm going to switch this plugin to the BASS player.
I've been messing around with it and it's much more flexible for future expansion.

I'll be able to provide sync effects for instance so you can use peak info for channels, instruments or custom. Also the FFT and raw data functions would make spec analyzers a breeze, as well as peak meters, real-time effects (gargle, reverb) and not just MODS and XM etc, but MP3, OGG, WAV and others.
I'll have to put a disclaimer into it if I release it, as BASS is free for non-commercial. I'll have to ask them if I can even put an AppGameKit wrapper on it, as my own use is free (I don't charge for my games) but you might.
nz0
AGK Developer
11
Years of Service
User Offline
Joined: 13th Jun 2007
Location: Cheshire,UK
Posted: 6th Jun 2017 23:38
You can follow the BASS player implementation here.
The FMOD plugin won't be developed further.

Login to post a reply

Server time is: 2019-03-26 22:01:57
Your offset time is: 2019-03-26 22:01:57