QUESTION API changes in agswadjetutil

Started by onitake, Tue 07/05/2019 07:35:38

Previous topic - Next topic

onitake

I was trying to get Whispers of a Machine to work with the Linux version of AGS, and I noticed that it uses a few script commands that are not in AGS 3.5.

Most notably, the API of agswadjetutil seems to have changed and the compatibility stubs in global_plugin.cpp don't suffice any more.

I understand that this module was created to port commercial games to mobile platforms and isn't publicly available, but it would be really helpful to at least have up-to-date stubs in the AGS core, since the module it isn't strictly necessary on desktop platforms.

Would it be possible to get a list of functions that agswadjetutil supports, so the AGS core can be updated?
Thanks!

Whispers of a Machine seems to use the following new functions:
Code: ags
MobileShowAchievements
MobileResetAchievements
MobileGetAchievement

Crimson Wizard

#1
We are discussing this here:  https://github.com/adventuregamestudio/ags/issues/751
and there seemed to be more than these 3 functions.

I emailed game's author for clarifications.

However, this is a not always a trivial question.

As AGS is open source, anyone can create custom versions of it. E.g. according to the log the game was made with AGS 3.3.0, yet it's unknown for a moment whether that's real AGS 3.3.0 or customized.
If all the new functions are in plugins, that simplifies the issue. But if there also are new functions made inside the engine, then we have a question of whether we really have to support what their custom engine does.
There may be different opinions on this; my personal opinion for example is that we may import functions that seem generally useful and have good API quality, but should not be obliged to import what we don't like or want to implement differently. In the end our project was not meant to be compatible with any existing custom code, it's the resposibility of its authors to support it further if they like.
On the other hand the game developers may not be necessarily interested whether their games are run by our ports, especially if they do commercial release.

E: this may not be a popular idea, but technically it's also possible to support custom engine API using a specialized plugin, since AGS does not care where the functions are coming from.

So right now I am awaiting response from game devs.


PS I wish everyone who uses custom code would at least note it somewhere in their game info (and indicate by changing data format index), that would save quite a bit of our time because when people cannot run the game with our ports they come complaining to us first, and we have to investigate what's going on.

onitake

That's great to hear, heading over there now!

My question was meant to be more general, though. As I found absolutely zero documentation or discussion of agswadjetutil, I thought it would make sense to ask here.

SMF spam blocked by CleanTalk