Show Posts

You can view here all posts made by this member. Note that you can only see posts made in areas to which you currently have access.


Messages - morganw

Pages: [1] 2 3 ... 17
1
The Rumpus Room / Re: Name the Game
« on: Today at 01:25 »
H.A.W.X. 2?

2


"Had you been drinking, Duane?"

3
Does it get its own dedicated audio channel?

4
General Discussion / Re: Itch App issue tracker
« on: 15 Oct 2018, 14:22 »
How is it packaged internally for itch.io?
Is it an installer that gets run (with silent install switches?), or is it just the game files?

5
Isn't there an option in the Editor to attach a music to a room?
There is no such option.

6
General Discussion / Re: Itch App issue tracker
« on: 13 Oct 2018, 19:06 »
"CYBORG SEPPUKU" was an issue with the script that AGS uses to start the game for Linux builds, so this wasn't a problem with the itch.io client.
I guess it should be removed from the table?

7
It basically got stuck due to a lack of a test game (I was spending the majority of time checking checking I'd not broken something, but still not knowing for sure that I'd not broken something). I've got a couple of other things I'm working on right now, but my long term goal is to go back to it.

It is probably worth having a read of this, which gives the background information:
https://github.com/adventuregamestudio/ags/issues/448

8
This should be fixed now, as it was not an issue with the itch.io client.
If you want to fix an existing game, you should be able to do so by just updating the launch script.

9
I'm currently dabbling in this area, so I'll have a look at this.
Based on a quick look at the logs provided though, it looks more like the itch.io client has an issue with spaces in the path.

Quote from: https://pastebin.com/PpaNUqAU
[2018-09-05 @ 23:11:34.768] [launch/native] err: /home/fabrizio/Games/Itch/Tales From The Outer Zone Cyborg Seppuku/CYBORG SEPPUKU v0.6/Linux/CyborgSeppuku: line 12: /home/fabrizio/Games/Itch/Tales
[2018-09-05 @ 23:11:34.768] [launch/native] err: /home/fabrizio/Games/Itch/Tales From The Outer Zone Cyborg Seppuku/CYBORG SEPPUKU v0.6/Linux/From
[2018-09-05 @ 23:11:34.769] [launch/native] err: /home/fabrizio/Games/Itch/Tales From The Outer Zone Cyborg Seppuku/CYBORG SEPPUKU v0.6/Linux/The
[2018-09-05 @ 23:11:34.769] [launch/native] err: /home/fabrizio/Games/Itch/Tales From The Outer Zone Cyborg Seppuku/CYBORG SEPPUKU v0.6/Linux/Outer
[2018-09-05 @ 23:11:34.769] [launch/native] err: /home/fabrizio/Games/Itch/Tales From The Outer Zone Cyborg Seppuku/CYBORG SEPPUKU v0.6/Linux/Zone
[2018-09-05 @ 23:11:34.769] [launch/native] err: /home/fabrizio/Games/Itch/Tales From The Outer Zone Cyborg Seppuku/CYBORG SEPPUKU v0.6/Linux/Cyborg
[2018-09-05 @ 23:11:34.769] [launch/native] err: /home/fabrizio/Games/Itch/Tales From The Outer Zone Cyborg Seppuku/CYBORG SEPPUKU v0.6/Linux/data/ags64: No such file or directory

10
General Discussion / Re: Edge or Chrome?
« on: 08 Oct 2018, 13:39 »
I upload my browser history and computer usage directly to 4chan.
This enables me to use any web browser, with the choice based solely on the merits of each.

11
General Discussion / Re: Itch App issue tracker
« on: 07 Oct 2018, 15:08 »
I'm currently trying to make something to use in-place of winsetup (specifically for Linux or Mac releases which get uploaded to places such as itch.io), so I'm interested to have a look at how their launcher works. I'm not really following your table though.

GameDevOSspawn icacls Error code
CYBORG SEPPUKUThe Outer ZoneLinux     ?
   

Are you saying that CYBORG SEPPUKU doesn't work? You won't have icacls on anything that isn't Windows, so have they got something named icacls return errors on all platforms, or does it just fail with no clues as to what happened?

12
Thanks for testing!

13
I think this can probably be raised as a bug (unintended behaviour), if clicking on an inventory item does nothing and clicking on buttons does something.

14
Did you install the additions pack and do this?
Quote from: instructions
For the basic Direct3D acceleration to work in a Windows guest, you have to install the WDDM video driver available for Windows Vista or higher
https://www.virtualbox.org/manual/ch04.html#additions-windows

15
I can give it a try over the next day or two...

16
Am I correct guessing that this will substitute the unsigned AGS.Types demanded by plugin with signed one?
Yes, to test this I made the relevant section of PluginsComponents.cs look like this:
Code: C#
  1. Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
  2. {
  3.     AssemblyName assembly = new AssemblyName(args.Name);
  4.  
  5.     if (assembly.Name == "AGS.Types")
  6.     {
  7.         return typeof(BuildTargetsInfo).Assembly;
  8.     }
  9.  
  10.     return null;
  11. }
  12.    
  13. private void LoadEditorPluginIntoMemory(string fileName)
  14. {
  15.     AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
  16.  
  17.     try
  18.     {
  19.         EditorPlugin plugin = new EditorPlugin(fileName, _pluginEditorController);
  20.         _editorPlugins.Add(plugin);
  21.     }
  22.     catch (AGSEditorException ex)
  23.     {
  24.         _guiController.ShowMessage("There was an error loading plugin '" + fileName + "'." + Environment.NewLine + Environment.NewLine + ex.Message, MessageBoxIcon.Warning);
  25.     }
  26.     catch (Exception ex)
  27.     {
  28.         _guiController.ShowMessage("There was an error loading plugin '" + fileName + "'." + Environment.NewLine + Environment.NewLine + ex.ToString(), MessageBoxIcon.Warning);
  29.     }
  30. }

So rather than be an exception you get the chance to load something else, and in this example the only check performed is the name of the requested assembly. What is returned is the Assembly reference for the actual AGS.Types that was built (in this case, the one that is strongnamed).

There is probably a better way to reference the assembly directly, but this:
Code: C#
  1. return typeof(BuildTargetsInfo).Assembly
just returns the Assembly instance of AGS.Types (the strongnamed one), because that is the assembly where BuildTargetsInfo is located.

Could you also elaborate a little on this, what changes to plugin system will be determined by this (or how)? Just want to be sure that I understand the situation well.
The main restriction is that a strongnamed assembly cannot reference (i.e. build against) an assembly that isn't strongnamed (this is requested as a 'full' bind), but using Assembly.LoadFile is treated differently (this is requested as a 'partial' bind). The loading assembly is permitted to modify the loading behaviour since the code for this is in the signed part (so the handling is in the Editor, not in the plug-in).

I guess the main thing is, at the moment there isn't really any separation of plug-in and Editor, since there is no piece in-between to broker what is available in the Editor and what is requested in the plug-in. I don't know if anyone had plans to change it, but if it would stop using Assembly.LoadFile then however the separation is implemented would also have to be happy with plug-ins requesting signed and unsigned assemblies. I would imagine such a system would probably be more likely to declare and require interfaces rather than assemblies though.

Equally, this probably needs testing with the most complex plug-ins people can find. At the moment I've only started up these two plug-ins for testing, but I've not built anything for Android or actually edited a font.

17
It looks fairly easy to just redirect a failed load attempt of an assembly which had a null key, to the version which has a key. I defined this event handler:

Code: C#
  1. Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
  2. {
  3.     AssemblyName assembly = new AssemblyName(args.Name);
  4.  
  5.     if (assembly.Name == "AGS.Types")
  6.     {
  7.         return typeof(BuildTargetsInfo).Assembly;
  8.     }
  9.  
  10.     return null;
  11. }

Then registered it just before the plug-in is loaded:

Code: C#
  1. AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);

...and monkey's Android builder and Rulaman's font editor seemed to work fine. You can use stricter checks, like checking requested versions and keys, but there seems to be no requirement for the plug-in itself to be signed. Maybe it is best to open an issue on GitHub, since future changes to the plug-in system are probably determined by the choice made here. The restrictions seem to only impact the assemblies directly referenced to build the Editor, rather than ones that it loads dynamically.

18
I think as long as there is no forked version, or alternate builds (like Alan's) which could then isolate itself with another set of keys, they isn't much additional benefit other than the settings paths managing themselves. '.NET 4.5' was either for the signed irrKlang or the NuGet package that is basically a simplified LocalFileSettingsProvider, so easiest solution is to remove the signing and add the NuGet package. Maybe it is preferable to use the built in serializer instead though?

19
Signing the plugin will not solve the issue. The problem is that the plugin was compiled with a reference to an AGS.Types assembly that didn't have a strong name. With AGS.Types now having a strong name it is not backwards compatible with previous versions. When AGS tries to load the plugin, it can't since the plugin is missing one of the references.
So indeed the consequence is that all plugins will need to be recompiled with the new library reference.

Do you also see an issue referencing a specific version of irrKlang? It looks like there are some options to redirect reference loading, but with (what I think is) the newest version of the SpeechCenter plugin the first error I get is trying to load irrKlang rather than AGS.Types.

Just to confirm, is this the latest version?

20
Found one here:
http://www.adventuregamestudio.co.uk/AGS.Plugin.Sample.zip

...although I haven't tried it yet.

Pages: [1] 2 3 ... 17