Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Announcing the Engine18 MaLa Plugin  (Read 42196 times)

0 Members and 1 Guest are viewing this topic.

drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:June 25, 2023, 02:23:57 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Announcing the Engine18 MaLa Plugin
« on: December 24, 2009, 02:13:23 pm »
Ok. Maybe this is a tad premature, but what the heck. It's Christmas!

I've been working for some time now on a Mala Plugin I'm tentatively calling Engine18. It's actually more of a metaplugin I suppose, because the intent is to make it far far easier to develop plugins for Mala, esp using .NET languages.

Currently, it's written in VB.net, and exposes interfaces in .net, meaning it'll facilitate writing plugins in any .net language (Micro focus COBOL Mala plugins, anyone  ;) )

Eventually, I plan on exposing it's interfaces to COM as well, meaning you could use any COM accessible language to write Mala plugins as well (VB6, or whatever).

The key points (in no particular order)
1) Exposes all of Mala.ini, and the active layout mll files as config classes that are read/write. Means eventually, there might be such as thing as a plugin layout editor.
2) Exposes the Mala api messages as simple methods off the central MALA object. Makes it easy to communicate with Mala.
3) Exposes all Mala notifications as events, making them much easier to work with.
4) Provides a MalaPlugin base class that you simply inherit from to create a new plugin.
5) Provides lots of base functionality that most plugins will need. Things like establishing an INI file to store settings, etc.
6) provides a Windowing system that layers on top of the main mala window to make it very easy to create your own windows (via user controls that, again, inherit from a base class). Essentially anything you can fit in a user control in .net, could theoretically be placed on the Mala screen. WPF. Check. (I actually have a little sample project with that working). Flash, should work. I'm experimenting with it next. Video already works just fine. As a test plugin, I'm implementing the Slideshow" idea that was posted around here a while back (can't find the original poster though).
7) Provides for automatic recognition of Mala background images and transparency so that custom windows can be arbitrarily shaped (using regions)
8) Provides a central plugin "config panel" that is a tree presentation of the config for all plugins (well, the ones running under Engine18). Each plugin can expose one or more "configuration panels" that are essentially just user controls, and the main config planel simply hosts them all under one window.
9) automatically recognizes plugins based on a) any files will a DLL extension in the Mala PLUGINS folder, and b) the assembly must expose a class that's based on the MalaPlugin class. What this means in practice is that a single DLL can host multiple plugins, when it makes sense to do so.

I was going to post the CHM help file (generated by SandCastle), but it's 2.18mb and the upload limit is 2048k, so it won't quite fit.

Maybe the File Repository?

If anyone's interesting I'd be happy to email it direct also.

I'm not quite ready to post the plugins, but that should be pretty soon. There's a few little bits that I still need to work out. Plus, I'd like to hopefully get some feedback on the interface and Object hierarchy before posting.

Merry Christmas to everyone on BYOAC!

drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:June 25, 2023, 02:23:57 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Re: Announcing the Engine18 MaLa Plugin
« Reply #1 on: December 24, 2009, 07:10:44 pm »
Ok first attempt at embedding a youtube video

Here's the slideshow in action

You'll have to watch for a bit but it shows some of the different wipe effects as well as running the game video in a clipped window.

The way I've got it now, it can selectively cycle through all the various images associated with a rom (marquee, cabinet, snap, etc), as well as the video and then all of them support "alternate" images and videos as well (ie if you have asteroid.png as your snap, then asteroid-xxx.png would also be shown in rotation, where xxx can be anything.)

« Last Edit: December 24, 2009, 07:17:27 pm by drventure »

pubjoe

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 59
  • Last login:March 14, 2024, 06:13:07 pm
Re: Announcing the Engine18 MaLa Plugin
« Reply #2 on: December 24, 2009, 08:36:21 pm »
I was reading your other thread the other day with great interest.

Thanks for doing this, it sounds really usefull.

Recently, I wanted my layout to display the videos on the screen of a cab image so I batch edited all the (4,000?) emumovies videos to get them to fit in how I wanted with my layout.  I edited the perspective, cropped rounded CRT style edges and overlayed an image of the necassary cab details that overlap the video frame.  I set up a batch job and left it running a few hours.

Then I set up a batch job to grab every first frame and save it as a .png to replace the layout's snaps too.

The above was obviously time consuming and a bit messy.  It would be really cool to use a plugin to achieve the same effects (+ a lot more) in real time.

One question.  Does the use of this noticably slow down the scrolling?  If not, do you think it would if it was rendering quite a lot?  In other words, is the use of a .net plugin a much greater resource hog than mala alone?

(Merry Christmas). 
 

drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:June 25, 2023, 02:23:57 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Re: Announcing the Engine18 MaLa Plugin
« Reply #3 on: December 24, 2009, 08:52:15 pm »
Well, .net is a bit of a resource hog regardless. I knew that going in.

However, I haven't noticed any appreciable slow down with Mala loading (due to the .net runtime having to load up as well) So that's good.

As for scrolling. Mala has some intelligence built in that basically says, "don't try to load any pics or video unless the user actually pauses for a certain amount of time on a particular game".

I haven't replicated that behavior yet with my slideshow, so the short answer is yes, right now, it can noticeably slow down scrolling. But its the same  as with Mala itself if you didn't turn on that "intelligence".

But that's not hard to build in. Just haven't done it yet. So the long answer is "no, it shouldn't slow down scrolling".

Sorry for the long winded answer

jmr15

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 14
  • Last login:February 16, 2011, 08:17:24 pm
Re: Announcing the Engine18 MaLa Plugin
« Reply #4 on: December 25, 2009, 01:06:09 am »
whatsup
it looks great :applaud: :applaud: :applaud:

I hope you finish soon to prove :burgerking: :burgerking: :burgerking:

greetings

pubjoe

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 59
  • Last login:March 14, 2024, 06:13:07 pm
Re: Announcing the Engine18 MaLa Plugin
« Reply #5 on: December 25, 2009, 04:04:14 am »
Sorry for the long winded answer

Not at all.  That's just what I hoped your answer would be (regarding loading delay implementation).  That's really good news.  Thank you.
« Last Edit: December 25, 2009, 08:59:37 am by pubjoe »

loadman

  • Moderator
  • Trade Count: (+3)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 4305
  • Last login:August 17, 2020, 03:23:55 am
  • Cocktail Cab owner and MaLa FE developer
    • MaLa
Re: Announcing the Engine18 MaLa Plugin
« Reply #6 on: December 25, 2009, 04:46:10 am »
Very Interested in your work....   ;D

The fact that plug ins can only be complied in Delphi or C++ is a bit limiting so anything that connects in to work done in .net will bring more development to plugins for MaLa I expect.

In Particular:
- What can I do to help?
- What so of loading is this plugin taking with scrolling speed (if any)
- Do you need hosting for your work. I have some space/bandwidth at malafe.net

P.S. I don't think any of the work I have been doing on MaLa 1.6 will break what you have been doing   :angel:
« Last Edit: December 25, 2009, 04:51:18 am by loadman »

Stormrider

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 318
  • Last login:September 28, 2014, 11:01:54 am
Re: Announcing the Engine18 MaLa Plugin
« Reply #7 on: December 25, 2009, 04:47:52 am »
So, for a newbie like me who has no idea about programming, is there any chance I would be able to implement the idea of dynamic snapshots (automatic cycling between in-game snap and title snap)? In that case, could please e-mail me the files and explain me how to do it? Thanks a lot.      -stormrider-@(removethis)alvarezeninternet.com

drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:June 25, 2023, 02:23:57 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Re: Announcing the Engine18 MaLa Plugin
« Reply #8 on: December 25, 2009, 10:18:36 am »
Hey stormrider.

Actually you're the one that suggested that. That's exactly what my "sample" plugin is!

Check the video I posted earlier in this thread.

Here's a pic of the configuration screen.

You can see the tree on one side, it'll contain nodes for ALL the various plugins running under Engine18.

Notice that the Sample plugin in selected. and all the properties for it are on the right, including a little preview of the transition animations for the images.

There's a grid for what to include in the slideshow rotation, including both the normal images (snap, marquee, cabinet), and any alternative images that are detected (if you want to include them).

Forgive the roughness of the form layout. I haven't gone through and cleaned things up yet.

And Merry Christmas! A white christmas in texas. it's been a LONG time since I've seen one of these!

Stormrider

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 318
  • Last login:September 28, 2014, 11:01:54 am
Re: Announcing the Engine18 MaLa Plugin
« Reply #9 on: December 25, 2009, 06:04:14 pm »
wow, that's pretty cool. Could you please send me the plugin? And merry xmas to you too. No snow here in the south of Spain, just rain, which is quite unusual too for most part of the year.

drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:June 25, 2023, 02:23:57 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Re: Announcing the Engine18 MaLa Plugin
« Reply #10 on: December 25, 2009, 07:00:30 pm »
Hey stormrider.

It's not quite ready to make public (or even beta).

I'm really wanting mainly to see if this is something people might be interested in, and get feedback on the overall idea, features, and framework design.

But, as soon as I have it beta worthy, I'll shoot you a PM!

Thanks

drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:June 25, 2023, 02:23:57 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Re: Announcing the Engine18 MaLa Plugin
« Reply #11 on: December 25, 2009, 07:11:58 pm »
@Loadman

Quote
- What can I do to help?
Any feedback you feel like throwing my way would be great! I've got a full helpfile (CHM format) containing the complete object heirarchy (I used Sandcastle,which works surprisingly well for this sort of thing). But it's just over 2mb and I can't upload it. Maybe I could post to the MALAFE site somehow?

As to code changes, I haven't run into any show stoppers yet, though it'd be cool if the elements in mala were somehow sited in child windows so that my windows could be positioned "under" or over them. Right now, of course, everything in Mala is drawn directly to the main Mala window surface, which makes it tough for me to put anything "underneath" the graphics that are draw by Mala.

But honestly, that'd be a huge change, so I really can't ask for a change like. Besides, i've got some ideas for workarounds anyway.

Quote
- What so of loading is this plugin taking with scrolling speed (if any).
Well, there's 2 plugins, the actual Engine18 is the "meta" plugin. It's a real MALA plugin that mala sees as such.
But it doesn't do anything itself other than provide the framework for other plugins to run in and use. It doesn't appear to impact mala performance at all (and I really wouldn't expect it to).

Then there's the Sample plugin that shows a slideshow in an area on screen.

Right now, that definitely impacts scrolling speed, but that's because I haven't coded up the same logic you have to delay load images and videos only after the user has paused on a game for a bit. That's on my list to get functioning before I make it public.

Quote
- Do you need hosting for your work. I have some space/bandwidth at malafe.net

That'd be fantastic, esp for the help file initially. I tried posting it here but it's just slightly bigger than the 2mb limit.


a
Quote
P.S. I don't think any of the work I have been doing on MaLa 1.6 will break what you have been doing

Most likely it won't, unless you add elements to the MLL file or the Mala.ini file. then I'll just need to add those to the objects I have that provide access to those settings, but that's pretty trivial.

« Last Edit: December 25, 2009, 07:58:45 pm by loadman »

drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:June 25, 2023, 02:23:57 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Re: Announcing the Engine18 MaLa Plugin
« Reply #12 on: December 25, 2009, 07:20:59 pm »
One more post on this before dinner  :)

I'm working on a couple other potential plugins based on Engine18.

One exposes all the Mala events and messages to VBScript, so you could use plain old VBS script files to perform a limited amount of functionality reacting to events from Mala. VBS files are trivially easy to create, fairly powerful, and would be a nice way for "non-programmers" to get their feet wet doing plugins.

The other is very similar but exposes the events as batch files, ie Run batch file xxx on event yyy from Mala. This one is far more experimental just because I'm not yet convinced it won't be a huge drag on performance (for instance, I can't imagine that running a batch file on each GAME SELECT event wouldn't have a big impact on scrolling speed). But for some of the other events, it might be an even easier way to get at Mala events and perform some batch oriented functionality. Might be useful. Might not.

loadman

  • Moderator
  • Trade Count: (+3)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 4305
  • Last login:August 17, 2020, 03:23:55 am
  • Cocktail Cab owner and MaLa FE developer
    • MaLa
Re: Announcing the Engine18 MaLa Plugin
« Reply #13 on: December 25, 2009, 10:44:24 pm »
@Loadman

Quote
- What can I do to help?
Any feedback you feel like throwing my way would be great! I've got a full helpfile (CHM format) containing the complete object heirarchy (I used Sandcastle,which works surprisingly well for this sort of thing). But it's just over 2mb and I can't upload it. Maybe I could post to the MALAFE site somehow?
No Worries Mate (spoken with my Aussie Accent)... PS. Note to all Americans . Aussie is pronounced 'ozzie'. We cringe when we hear is pronounced the wrong way.
I will PM you a ftp login

Quote
As to code changes, I haven't run into any show stoppers yet, though it'd be cool if the elements in mala were somehow sited in child windows so that my windows could be positioned "under" or over them. Right now, of course, everything in Mala is drawn directly to the main Mala window surface, which makes it tough for me to put anything "underneath" the graphics that are draw by Mala.

But honestly, that'd be a huge change, so I really can't ask for a change like. Besides, i've got some ideas for workarounds anyway.
Hmmm It would be a new FE then  :dizzy:  Pass  ;-)

One exposes all the Mala events and messages to VBScript, so you could use plain old VBS script files to perform a limited amount of functionality reacting to events from Mala. VBS files are trivially easy to create, fairly powerful, and would be a nice way for "non-programmers" to get their feet wet doing plugins.

Cool   :applaud:

Quote
The other is very similar but exposes the events as batch files, ie Run batch file xxx on event yyy from Mala. This one is far more experimental just because I'm not yet convinced it won't be a huge drag on performance (for instance, I can't imagine that running a batch file on each GAME SELECT event wouldn't have a big impact on scrolling speed). But for some of the other events, it might be an even easier way to get at Mala events and perform some batch oriented functionality. Might be useful. Might not.
Hmm I would not waste your time on this one IMHO . If this is required a normal plugin could be made in 5 mins to cater for it. But really you don't want to fire batch files on change of selected rom. And you can already fire off batch files on game start etc other ways (using encoder tab or methods like this
http://forum.arcadecontrols.com/index.php?topic=68419.0 .
« Last Edit: December 25, 2009, 10:46:29 pm by loadman »

drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:June 25, 2023, 02:23:57 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Re: Announcing the Engine18 MaLa Plugin
« Reply #14 on: December 25, 2009, 10:48:11 pm »
Quote
But really you don't want to fire batch files on change of selected rom. And you can already fire off batch files on game start etc other ways (using encoder tab or methods like this


Good point. Think I'll shove that one onto the backburner. Wasn't all that interesting anyway. The WPF support is much more intriguing (but I know just about nothing about wpf  :)

ivwshane

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1036
  • Last login:December 24, 2022, 09:35:21 pm
    • My first mame cab! (WIP)
Re: Announcing the Engine18 MaLa Plugin
« Reply #15 on: December 25, 2009, 11:31:00 pm »
Looking good!

I like the ability to do clipping a lot!

loadman

  • Moderator
  • Trade Count: (+3)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 4305
  • Last login:August 17, 2020, 03:23:55 am
  • Cocktail Cab owner and MaLa FE developer
    • MaLa
Re: Announcing the Engine18 MaLa Plugin
« Reply #16 on: December 26, 2009, 12:35:20 am »
Quote
I was going to post the CHM help file (generated by SandCastle), but it's 2.18mb and the upload limit is 2048k, so it won't quite fit.

It is now posted at malafe.net. The link for the help file is:

http://www.malafe.net/drventure/Engine18Documentation.chm
« Last Edit: December 26, 2009, 09:06:42 pm by loadman »

SGT

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1145
  • Last login:April 17, 2023, 08:29:42 pm
Re: Announcing the Engine18 MaLa Plugin
« Reply #17 on: December 26, 2009, 01:37:08 pm »
Is anyone having problems opening the help file?  I can see the table of contents and the index, but get a "Navigation to the webpage was canceled" on any item I try to look at.

drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:June 25, 2023, 02:23:57 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Re: Announcing the Engine18 MaLa Plugin
« Reply #18 on: December 26, 2009, 02:02:26 pm »
Yeah, that's due to a security "fix" by MS.

See this blog entry. It's easy to fix. Just a pain.

http://weblog.helpware.net/?p=36

mr_doles

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 236
  • Last login:November 13, 2014, 06:53:45 pm
  • nuff said
Re: Announcing the Engine18 MaLa Plugin
« Reply #19 on: December 26, 2009, 02:04:10 pm »
Is anyone having problems opening the help file?  I can see the table of contents and the index, but get a "Navigation to the webpage was canceled" on any item I try to look at.
You can thank microsoft for that one.  You need to right click the file and on the general tab under security select unblock.

SGT

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1145
  • Last login:April 17, 2023, 08:29:42 pm
Re: Announcing the Engine18 MaLa Plugin
« Reply #20 on: December 26, 2009, 09:34:34 pm »
Thanks guys!  ..and great work drventure!

drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:June 25, 2023, 02:23:57 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Re: Announcing the Engine18 MaLa Plugin
« Reply #21 on: December 26, 2009, 11:06:08 pm »
Thanks!

Please feel free to comment on the frame object layout, if you see anything that could use some improvement.



@Loadman
One thing I'm running into that I will throw out there. Perhaps an event notification when the admin enters configuration, and another when they exit the config screen? If it's already there, I apologize, but I haven't come across it yet.

That'd make a number of things I'm envisioning A LOT more straightforward (for instance, anything that might alter the layout during config, or that might change something about the way the layout is rendered).

As it is, I can probably hack around it by monitoring focus on the main Mala window and checking if the OPTIONS window ever becomes visible, but that's pretty hackish.

Note that I'm not talking about the "PluginConfigure" notification. That's fired to the individual plugin AFTER the config screen is already up. In my case, I'd need to know that configuration "could" have just been changed, so go out and check what's necessary.

loadman

  • Moderator
  • Trade Count: (+3)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 4305
  • Last login:August 17, 2020, 03:23:55 am
  • Cocktail Cab owner and MaLa FE developer
    • MaLa
Re: Announcing the Engine18 MaLa Plugin
« Reply #22 on: December 27, 2009, 03:57:57 am »
@Loadman
One thing I'm running into that I will throw out there. Perhaps an event notification when the admin enters configuration, and another when they exit the config screen? If it's already there, I apologize, but I haven't come across it yet.

That'd make a number of things I'm envisioning A LOT more straightforward (for instance, anything that might alter the layout during config, or that might change something about the way the layout is rendered).

As it is, I can probably hack around it by monitoring focus on the main Mala window and checking if the OPTIONS window ever becomes visible, but that's pretty hackish.

Note that I'm not talking about the "PluginConfigure" notification. That's fired to the individual plugin AFTER the config screen is already up. In my case, I'd need to know that configuration "could" have just been changed, so go out and check what's necessary.

On the config screen.  When the user clicks OK MaLa assumes somethings has changed and resaves and reloads all config. So I can send a Event with a boolean depending on OK or cancel. Sound OK?

drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:June 25, 2023, 02:23:57 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Re: Announcing the Engine18 MaLa Plugin
« Reply #23 on: December 27, 2009, 09:25:28 am »
Quote
When the user clicks OK MaLa assumes somethings has changed and resaves and reloads all config. So I can send a Event with a boolean depending on OK or cancel. Sound OK?

That would be perfect! Thanks!

loadman

  • Moderator
  • Trade Count: (+3)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 4305
  • Last login:August 17, 2020, 03:23:55 am
  • Cocktail Cab owner and MaLa FE developer
    • MaLa
Re: Announcing the Engine18 MaLa Plugin
« Reply #24 on: December 27, 2009, 06:35:51 pm »
Quote
When the user clicks OK MaLa assumes somethings has changed and resaves and reloads all config. So I can send a Event with a boolean depending on OK or cancel. Sound OK?

That would be perfect! Thanks!

Well it actually ended up being a integer(1 or 0) rather than boolean as the boolean value did not get passed for some reason. Might be a cdecl thing?  :dunno

Anyway 

It's in the next beta as it was easy.  ;D

Delphi Sample Plugin:

Code: [Select]
library MaLaEventLogger;

uses
  SysUtils,
  Classes,
  eventdata in 'eventdata.pas',
  Configure in 'Configure.pas' {ConfigureF},
  dialogs,
  forms,
  windows;

const
   nl = #13 + #10;


procedure WriteToFile(Text: string);
var
  myFile: TextFile;
begin
     AssignFile(myFile, 'events.log');
     if FileExists('events.log') then Append(myFile)
     else Rewrite(myFile);
     Write(myFile, Text);
     WriteLn(myFile);
     CloseFile(myFile);
end;


{*******************************************************************************
*
*******************************************************************************}
procedure MaLaConfigureStart(); cdecl;
begin
     WriteToFile('*************************************************************' + nl +
                 'EVENT: Configure start' + nl
                 );
end;

{*******************************************************************************
*
*******************************************************************************}
procedure MaLaConfigureStop(ch: integer); cdecl;
begin

     if ch=1 then begin
              WriteToFile('*************************************************************' + nl +
                 'EVENT: Configure stop.  Possible Changes' + nl
                 )
     end
     else
     begin
              WriteToFile('*************************************************************' + nl +
                 'EVENT: Configure stop. No Changes' + nl
                 );
                 end;
end;

{*******************************************************************************
*
*******************************************************************************}
function PluginName(): PChar; cdecl;
begin
     result := PChar('MaLa Event Logger');
end;

{*******************************************************************************
*
*******************************************************************************}
function PluginCopyright(): PChar; cdecl;
begin
     result := PChar('2009 by S.Windus');
end;

exports
 
  MaLaConfigureStart,
  MaLaConfigureStop;

{$R *.RES}

begin

end.


drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:June 25, 2023, 02:23:57 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Re: Announcing the Engine18 MaLa Plugin
« Reply #25 on: December 27, 2009, 08:45:04 pm »
Great! You added a ConfigStart too. I was hoping for that, just because in some cases, it'd be nice to stop whats going on onscreen when the config window pops up. Good to know that's now available!

Thanks

Ryglore

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 779
  • Last login:November 16, 2021, 05:49:39 pm
  • Likes to make things difficult.
    • The Brush Wizard
Re: Announcing the Engine18 MaLa Plugin
« Reply #26 on: January 06, 2010, 09:03:44 pm »
Awesome! Congrats on officially announcing the plugin and the the rather fitting title as well.  :cheers:

Stormrider

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 318
  • Last login:September 28, 2014, 11:01:54 am
Re: Announcing the Engine18 MaLa Plugin
« Reply #27 on: January 23, 2010, 09:30:47 am »
Do you mean it's already available? where?

drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:June 25, 2023, 02:23:57 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Re: Announcing the Engine18 MaLa Plugin
« Reply #28 on: January 23, 2010, 04:47:14 pm »
Well, I haven't posted it yet. It's functional, but there's a few bits about it to iron out, Mainly it doesn't properly handling rotating yet (ie, when you rotate MALA, the images and video need to be rotated to match, but I haven't quite figured out Video rotation yet, it just scrambles the video.

Other than that, the Engine18 is more or less ready, but it'd only the engine that makes .net authored mala plugins possible (and easy).

I also would like to make things COM accessible (so you could easily author a plug-in in a language that supports COM, like VB6), but I haven't gotten there yet either.


Neverending Project

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 851
  • Last login:April 06, 2015, 10:07:43 pm
    • Arcade Fixer
Re: Announcing the Engine18 MaLa Plugin
« Reply #29 on: January 26, 2010, 10:58:58 pm »
Forgive me if this has been answered, but will your plugin allow a small picture to be enlarged to a larger picture with a keystroke? In othercwords, I want a small thumbnail of the control panel visible, and when a key is pressed I would like it toggle from growing to double-size and shrinking to normal size, or something like that. How difficult would that be? 

drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:June 25, 2023, 02:23:57 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Re: Announcing the Engine18 MaLa Plugin
« Reply #30 on: January 26, 2010, 11:58:21 pm »
Interesting idea, kind of like a zoom?

I hadn't planned on implementing anything like that in the first rounds.

Keep in mind though, what I'm working through is actually 2 very distinct projects.

The first is an +actual+ mala plugin, that exposes virtually everything in Mala in an object oriented, .net object heirarchy. By itself, it won't actually +do+ anything though. This is Engine18.

The second is more of what would normally be considered a plugin. It's a "slide show" that can run in place of any of the mala image controls (or the video control). It cycles through all the various images and videos associated with the selected game.

The point of the second project isn't so much it's value as a plugin, but rather to illustrate would could be done, fairly easily, using the Engine18 functionality.

I hope there'll be a lot of other plugins that spring up as a result of it. That's the end goal anyway  :)

the problem with a zoom function as I see it, is getting a layout that'd work with it. Mala's pretty flexible, but there's only so much you can manipulate visually...

Neverending Project

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 851
  • Last login:April 06, 2015, 10:07:43 pm
    • Arcade Fixer
Re: Announcing the Engine18 MaLa Plugin
« Reply #31 on: January 27, 2010, 01:23:51 am »
I think I follow what you're doing by exposing mala in an object oriented library. But I don't know what that will make possible.

If a zoom is not possible, I would settle for a floating image of sorts, that is invisible by default. A picture "frame" that is on a higher "z" level than the other layout elements so it displays on top of them. It could be toggled on/off with a keystroke, ideally with a subtle fade in or out. And I wouldn't mind if it covered other mala layout elements like the gamelist, since it is only temporary. In fact, bonus points if moving the joystick to change the menu selection would automatically hide/fade out the image.

Will there be a list of functions that can be called or commands that are possible?

drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:June 25, 2023, 02:23:57 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Re: Announcing the Engine18 MaLa Plugin
« Reply #32 on: January 27, 2010, 07:49:27 am »
Quote
If a zoom is not possible, I would settle for a floating image of sorts, that is invisible by default.

Something like that would be quite doable, probably as a separate add in though. I'll have a look.

Quote
Will there be a list of functions that can be called or commands that are possible?

Definitely, I've got documentation being generated by Sandcastle for the whole project, plus, since it's all native vb.net, you get all the Intellisense and object browser goodness automatically in Visual Studio. Makes it much easier to discover the functionality.

Stormrider

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 318
  • Last login:September 28, 2014, 11:01:54 am
Re: Announcing the Engine18 MaLa Plugin
« Reply #33 on: March 31, 2010, 03:52:48 pm »
I'm sorry to ask again, but is this project still in development? Some months has passed and no news.

drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:June 25, 2023, 02:23:57 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Re: Announcing the Engine18 MaLa Plugin
« Reply #34 on: March 31, 2010, 07:14:46 pm »
Yes, I'm still working on it but it's really slowed down a lot.

I've still got your suggestions on my list to do though.

The main prob right now is that I can't figure out how to rotate video, so my floating, masked video window doesn't follow Mala's rotation, which I don't like. I've been thinking of just letting it go without that, but there's a few other bits to take care of as well.

I'll post when I have more, hopefully reasonably soon.


andrewbean90

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 167
  • Last login:October 04, 2012, 05:55:56 am
  • do you like it?
Re: Announcing the Engine18 MaLa Plugin
« Reply #35 on: May 13, 2010, 11:15:15 am »
you say it "Exposes the Mala api messages as simple methods off the central MALA object. Makes it easy to communicate with Mala." does this include sapi.dll messages like floating point division by zero

drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:June 25, 2023, 02:23:57 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Re: Announcing the Engine18 MaLa Plugin
« Reply #36 on: May 13, 2010, 07:22:24 pm »
Hmm, technically SAPI messages and errors aren't really mala messages, so no, I don't believe Engine18 would help with that.

On the other hand, if you wanted to build a little addin to announce selected games via Text to speech, doing so in .net as an addin using Engine18 would be pretty simple. Heck, that actually sounds like a cool little example addin I could build.

But again, those messages aren't really coming from Mala, they're coming from the SAPI dll that you call from your addin to generate the speech (actually, in .net, you wouldn't use SAPI directly, there's text to speech apis as part of the .net framework.)

andrewbean90

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 167
  • Last login:October 04, 2012, 05:55:56 am
  • do you like it?
Re: Announcing the Engine18 MaLa Plugin
« Reply #37 on: May 13, 2010, 08:14:32 pm »
im pretty sure its a mala plugin problem made from c++ as in just needs to be rebuild in a vista style system cause it works when i debug it in visual c++ express

drventure

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 4152
  • Last login:June 25, 2023, 02:23:57 pm
  • Laser Death Ray Bargain Bin! Make me an offer!
Re: Announcing the Engine18 MaLa Plugin
« Reply #38 on: May 13, 2010, 11:18:04 pm »
Yeah could be some api difference, although it's strange that it would work in vs but not compiled.

But, it'd be a heck of a lot cleaner to do in .net anyway I'm guessing. I've never been much for C or C++, though I've done my share of coding in them.

Ryglore

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 779
  • Last login:November 16, 2021, 05:49:39 pm
  • Likes to make things difficult.
    • The Brush Wizard
Re: Announcing the Engine18 MaLa Plugin
« Reply #39 on: June 04, 2010, 05:27:18 pm »
My head still explodes trying to comprehend what you are talking about. But I hope you can get everything figured out and get this out for use to drool over!