Adventure Game Studio

AGS Development => Editor Development => Topic started by: Pumaman on Tue 26/10/2010 19:30:56

Title: AGS Editor Source Code Release
Post by: Pumaman on Tue 26/10/2010 19:30:56
Following discussions in this previous thread (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=42016.0), I have decided to go ahead and open up the source code for the AGS Editor.

It is released under the Artistic License 2.0 (http://www.opensource.org/licenses/artistic-license-2.0.php); please read and understand the license before downloading the source code.

Some important points about this release:
* The AGS Editor source code is C#, built with Visual Studio 2008 and targetted to .NET 2.0. You should be able to compile it with the free Visual C# Express edition, but I haven't tried this.
* This source release does not include the source code to the AGS.Native DLL. This assembly is a mixed-mode managed and native C++ assembly, which has dependencies on various other libraries such as Allegro, ALFONT and Scintilla, which makes it relatively complex to compile. I will consider releasing the source code for this in the future.
* The editor uses irrKlang for audio previews, you may need to download this (http://www.ambiera.com/irrklang/) separately if you can't build the editor.
* The AGS.CScript.Compiler assembly has a half-finished re-write of the script compiler. Only the Preprocessor part of this assembly actually currently used; the rest of it is only half finished.
* This release is completely unsupported. Additionally, I will not provide support for any bugs or problems you have with a version of the AGS Editor that you built yourself, or problems with any games that you create with such a version.

Contributing changes:
* The "Standard Version" of the AGS Editor will still be controlled by me. This will be the version available for download on the website. However, I am looking forward to receiving fixes and improvements to incorporate into it.
* I may set up some sort of CVS at some point. For now, if you make any bug fixes or add any cool new features, please post your updated source code in this thread so that we can discuss adding it to the Standard version of AGS.
* I would prefer for the Plugin API to be enhanced so that minimal changes are actually required to the Core AGS Code, and that more functionality can be implemented by plugins.

Source code download:
http://www.adventuregamestudio.co.uk/AGSEditor-Source-3.2.0.103.zip

Have fun! Let me know how you get on, or if you have any problems compiling the code.
Title: Re: AGS Editor Source Code Release
Post by: Denzil Quixode on Tue 26/10/2010 21:48:40
I did need the irrKlang.NET2.0.dll, and this Post-Build event caused me a problem:

E:\Code\ags\netedit\UpdateCPPVersion\bin\Release\UpdateCPPVersion.exe $(TargetPath)

...as I don't even have an E: drive ;D - is UpdateCPPVersion important? - but after I removed that, VC#2008 Express compiled it no problem:

(http://imgur.com/l5buL.png)
Title: Re: AGS Editor Source Code Release
Post by: Sslaxx on Tue 26/10/2010 23:11:23
This is main website news, Pumaman. When is the main site going to reflect this?
Title: Re: AGS Editor Source Code Release
Post by: xenogia on Wed 27/10/2010 00:19:40
What would be the easiest way to compile this for Mono on Linux? Anything I should take into consideration?
Title: Re: AGS Editor Source Code Release
Post by: Calin Leafshade on Wed 27/10/2010 00:24:03
as far as I'm aware mono projects are pretty much identical to .NET ones with the exception of some very specific technologies.

I dont see why it shouldnt work out of the box.
Title: Re: AGS Editor Source Code Release
Post by: Sslaxx on Wed 27/10/2010 00:24:52
Windows.System.Forms for one, I do believe, possible issues regarding the Native DLL too.
Title: Re: AGS Editor Source Code Release
Post by: xenogia on Wed 27/10/2010 00:35:08
All I can say is :(
Title: Re: AGS Editor Source Code Release
Post by: DoorKnobHandle on Wed 27/10/2010 01:26:18
Has anybody gotten it to work with 2010 Express Edition yet? I loaded the project up, it converted it for 2010, said it worked fine. If I run it immediately, it builds fine but then crashes because it is said to target .NET 4.0 - if I change it to target .NET 2.0 instead, close and re-load the solution it doesn't build anymore. Throws me ~950 errors of the kind: "The type or namespace name 'Types' does not exist in the namespace 'AGS' (are you missing an assembly reference?)".

Since I'm 100% new to C# and this IDE, I don't quite know what's going on and - especially - how changing the target framework can cause these kind of errors. I do have the irrklang.net.2.0.dll downloaded and referenced as well.

And I noticed there were no pre- or post-build actions in the solution. Maybe the got dropped during the conversion?

EDIT: Oh, just found some additional warnings: "The primary reference "C:\AGS Source 3.2.0.103\AGS.Types\bin\Debug\AGS.Types.dll" could not be resolved because it has an indirect dependency on the .NET Framework assembly "System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which has a higher version "4.0.0.0" than the version "2.0.0.0" in the current target framework" - is it possible to change that version for the resource? Can't find any way to do that so far. Or do I have to use an older version of the IDE such as 2008 Express Edition?
Title: Re: AGS Editor Source Code Release
Post by: Shane 'ProgZmax' Stevens on Wed 27/10/2010 01:42:18
I got it to compile and run with Visual Studio 2010 express just fine.  First I had to add the irrklang dll, then remove the command Denzil mentioned, at which point it compiled and ran, telling me I'd need to make changes to 'update' it to Net 4.0.  Since I didn't want to bother with that, I just right-clicked on each of the 4 projects (AGS.Controls, AGS.CScript.Compiler, AGS.Types, and AGS.Editor) and changed the platform to Net 2.0, restarting after each one.  Then it compiled and ran without a hitch.

Now that I've got it loaded up I'll probably play with it in a day or two.

Title: Re: AGS Editor Source Code Release
Post by: DoorKnobHandle on Wed 27/10/2010 01:47:09
Oh, I only did it for one project accidentally. Awesome, thanks, ProgZ!
Title: Re: AGS Editor Source Code Release
Post by: xenogia on Wed 27/10/2010 02:42:09
I would be willing to pay money if someone could port it in Mono.  And I'm deadly serious too.
Title: Re: AGS Editor Source Code Release
Post by: deadsuperhero on Wed 27/10/2010 04:08:02
An attempt to build in MonoDevelop brought up the following error.

QuoteThe private field 'AGSTypes.DialogOption._entryPointOffSet' is assigned but its value is never used.

Fun fact, though, the .sln file for the entire project opens up just fine in MonoDevelop. It's kind of neat scrolling through all the little files that put together the very app I've played with the most over the years.

My two main interests out of this:

1. See if it will even compile on a non-Windows system.
2. See if the Win.Forms stuff can be swapped out with GTK# or even Qt#
Title: Re: AGS Editor Source Code Release
Post by: smiley on Wed 27/10/2010 05:06:57
It at least starts in openSUSE:
(http://img199.imageshack.us/img199/2844/screenshotnar.th.png) (http://img199.imageshack.us/i/screenshotnar.png/)

Components that need to be modified:
* Debugger (uses PInvokes for named pipes, which are supported in .NET 3.5, not sure about Mono)
* Audio (Irrklang is a mixed-mode assembly)
* SourceControl
plus all the other stuff that relies on native methods.
Title: Re: AGS Editor Source Code Release
Post by: xenogia on Wed 27/10/2010 05:08:50
Could you link me your compiled build smiley?
Title: Re: AGS Editor Source Code Release
Post by: Sslaxx on Wed 27/10/2010 11:20:46
Quote from: smiley on Wed 27/10/2010 05:06:57Components that need to be modified:
* Debugger (uses PInvokes for named pipes, which are supported in .NET 3.5, not sure about Mono)
* Audio (Irrklang is a mixed-mode assembly)
* SourceControl
plus all the other stuff that relies on native methods.
http://stackoverflow.com/questions/35853/p-invoke-in-mono - if this is to be believed, then PInvoke has been in Mono for a while now. IrrKlang - could something else replace this if necessary?
Title: Re: AGS Editor Source Code Release
Post by: Endres on Wed 27/10/2010 15:01:57
Chris got totally crazy. ;D
I want a ScummVM Interface that let me play AGS-Games on other different systems (PSP, NDS,...), but I think it's still a good begin to release the Editor-Code. :)
Title: Re: AGS Editor Source Code Release
Post by: Monsieur OUXX on Wed 27/10/2010 15:59:37
Damn I wish I weren't at work and had more time, I've been SO curious about the script grammar tree and garbage collection for so long!
Title: Re: AGS Editor Source Code Release
Post by: deadsuperhero on Wed 27/10/2010 16:05:11
Quote from: smiley on Wed 27/10/2010 05:06:57
It at least starts in openSUSE.

That is epic. I wonder how trivial it is to just switch toolkits?
Title: Re: AGS Editor Source Code Release
Post by: Sslaxx on Wed 27/10/2010 16:10:25
Quote from: DeadSuperHero on Wed 27/10/2010 16:05:11
Quote from: smiley on Wed 27/10/2010 05:06:57
It at least starts in openSUSE.

That is epic. I wonder how trivial it is to just switch toolkits?
Unless a third-party interface is used, how about "not all all trivial"?
Title: Re: AGS Editor Source Code Release
Post by: lefticus on Wed 27/10/2010 18:10:07
Quote from: Sslaxx on Wed 27/10/2010 11:20:46
Quote from: smiley on Wed 27/10/2010 05:06:57Components that need to be modified:
* Debugger (uses PInvokes for named pipes, which are supported in .NET 3.5, not sure about Mono)
* Audio (Irrklang is a mixed-mode assembly)
* SourceControl
plus all the other stuff that relies on native methods.
http://stackoverflow.com/questions/35853/p-invoke-in-mono - if this is to be believed, then PInvoke has been in Mono for a while now. IrrKlang - could something else replace this if necessary?

pInvoke is well supported in mono too, it's used by any library that exposes an existing C or C++ library to mono (ie, sdl, wxwidgets and more). Named pipes exist on unix too, the main problem would just be porting between the unix/windows methods for using named pipes.

Also, it seems irrklang has support for linux too:
http://www.ambiera.com/irrklang/features.html

I haven't been involved in the AGS community (although I've played many of the games), but I spend most of my professional time working on crossplatform (Mac/Unix/Windows) C++ apps. If no one else manages to solve these problems with the Linux build, I might spend some time working on it this weekend.

-Jason
Title: Re: AGS Editor Source Code Release
Post by: Sslaxx on Wed 27/10/2010 18:25:54
I take it http://twitter.com/lefticus is you, then?

Yeah, I checked out IrrKlang a bit earlier, has some degree of Linux support. Still, there might be better options out there?
Title: Re: AGS Editor Source Code Release
Post by: smiley on Wed 27/10/2010 19:09:29
Quote from: lefticus
pInvoke is well supported in mono too, it's used by any library that exposes an existing C or C++ library to mono (ie, sdl, wxwidgets and more).
AGS has P/Invokes into WinAPI (kernel32, user32, winmm). It might be possible to use the Wine libraries, but I'd rather replace them with managed code.
Quote from: lefticus
Named pipes exist on unix too, the main problem would just be porting between the unix/windows methods for using named pipes.
As I said, there's a managed solution:
http://msdn.microsoft.com/en-us/library/system.io.pipes.namedpipeclientstream.aspx
http://msdn.microsoft.com/en-us/library/system.io.pipes.namedpipeserverstream.aspx
Quote from: lefticus
Also, it seems irrklang has support for linux too:
Unfortunately, the wrapper is a mixed-mode assembly (managed+native code) which doesn't work with Mono.
One alternative would be fmod:
http://www.fmod.org/
Title: Re: AGS Editor Source Code Release
Post by: Dualnames on Wed 27/10/2010 19:55:40
Question: What is this ? Christmas?  :D

Way to go Mr.Jones!!
Title: Re: AGS Editor Source Code Release
Post by: cat on Wed 27/10/2010 20:56:05
Hm, I've copied IrrKlang, removed the postbuild event and still cannot run it.

System.IO.FileLoadException was unhandled by user code
 Message="Could not load file or assembly 'AGS.Native, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)"
 Source="AGSEditor"
 FileName="AGS.Native, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
 FusionLog=""
 StackTrace:
      at AGS.Editor.NativeProxy..ctor()
      at AGS.Editor.NativeProxy.get_Instance() in D:\Daten\SW-Dev\AGSEditor-Source-3.2.0.103\AGS.Editor\NativeProxy.cs:line 42
      at AGS.Editor.Factory.get_NativeProxy() in D:\Daten\SW-Dev\AGSEditor-Source-3.2.0.103\AGS.Editor\Factory.cs:line 41
      at AGS.Editor.ApplicationController..ctor() in D:\Daten\SW-Dev\AGSEditor-Source-3.2.0.103\AGS.Editor\ApplicationController.cs:line 26
      at AGS.Editor.Program.startupTimer_Tick(Object sender, EventArgs e) in D:\Daten\SW-Dev\AGSEditor-Source-3.2.0.103\AGS.Editor\Program.cs:line 81
      at System.Windows.Forms.Timer.OnTick(EventArgs e)
      at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
      at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
 InnerException: System.Runtime.InteropServices.COMException
      Message="This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)"
      ErrorCode=-2147010895
      InnerException:

Seems like I have some problems with the Native reference

I'm using VS2008 Standard Edition.

Googling revealed some hints about a missing VC++ SP1, am I on the right track?

Edit: Nope, still not working.
Title: Re: AGS Editor Source Code Release
Post by: Trumgottist on Wed 27/10/2010 21:40:46
Cool. :)
Title: Re: AGS Editor Source Code Release
Post by: tzachs on Wed 27/10/2010 22:52:29
That's great new CJ, thank you  :)

One question though:
Don't you want to set up some source control ASAP (where only you have permissions to rebase to the main trunk, and everybody else can create their branches and play around with it)?
If you don't, and different people start posting here some cool changes you want to integrate, then at least from my experience merging it together manually will be a time consuming job, maybe even more time consuming than coding...
Title: Re: AGS Editor Source Code Release
Post by: subspark on Thu 28/10/2010 00:40:31
I have to agree firmly with Tzachs. The sooner, the less cleanup required, naturally.
I'm happy to help out any way I can if you need bulletproof hosting, or it might be preferable to you if myself and others offer a small regular donation to fund your own private hosting.

Cheers,
Sparky.
Title: Re: AGS Editor Source Code Release
Post by: Sslaxx on Thu 28/10/2010 00:54:47
There's also options like GitHub, SourceForge or Google Code.
Title: Re: AGS Editor Source Code Release
Post by: deadsuperhero on Thu 28/10/2010 01:08:18
I'd also highly recommend LaunchPad (https://launchpad.net/). It's a great planning/project hosting hub for Open Source projects, with a very active community, integrated bug reporting, an area for blueprints, the works.
Title: Re: AGS Editor Source Code Release
Post by: Wyz on Thu 28/10/2010 01:12:45
I can recommend Mercurial (http://mercurial.selenic.com/).
That's really a nice and easy to use version control tool.
Ow and GoogleCode and SourceForge support it!
Title: Re: AGS Editor Source Code Release
Post by: lefticus on Thu 28/10/2010 02:59:02
Quote from: Sslaxx on Wed 27/10/2010 18:25:54
I take it http://twitter.com/lefticus is you, then?

Yeah, I'm lefticus pretty much everywhere. Sourceforge, github, bitbucket, google code, most forums, etc.

Looks like you guys are getting a handle on it. I'm plenty busy with my main opensource project (http://chaiscript.com) and work, but if anyone has any specific questions I might be able to help with PM me, so I don't miss it.

-Jason
Title: Re: AGS Editor Source Code Release
Post by: subspark on Thu 28/10/2010 09:09:38
Subversion perhaps?  8)
Sparky.
Title: Re: AGS Editor Source Code Release
Post by: Lt. Smash on Thu 28/10/2010 13:46:16
I greatly support the idea of using a subversion repository (svn) for interested and capable coders. Otherwise this will end in a complete mess.
Title: Re: AGS Editor Source Code Release
Post by: cat on Thu 28/10/2010 13:50:31
+1 for svn (if I get the dll reference problem resolved)
Title: Re: AGS Editor Source Code Release
Post by: Wyz on Thu 28/10/2010 14:12:48
-1 for svn, svn though does not suck as bad as cvs still sucks pretty much. The advantage of git and hg is that you can work on code completely independently and merge it when ever you have something nice for the trunk. Merging with svn is hell.  8)
Title: Re: AGS Editor Source Code Release
Post by: Lt. Smash on Thu 28/10/2010 14:24:56
Yeah for that type of project, git may be the better solution. ;)
Anyway, some kind of versioning system is a must.
Title: Re: AGS Editor Source Code Release
Post by: lefticus on Thu 28/10/2010 14:45:43
Quote from: Lt. Smash on Thu 28/10/2010 14:24:56
Yeah for that type of project, git may be the better solution. ;)
Anyway, some kind of versioning system is a must.

I don't know enough about git to have a strong opinion vs svn yet, but I know from my experience working on open source projects that github and code.google.com seem to be the best organized, best maintained (free) hosting services out there.
Title: Re: AGS Editor Source Code Release
Post by: subspark on Thu 28/10/2010 21:37:03
QuoteMerging with svn is hell.
Hehe. I wasn't sure if it was the pinnacle solution. Just though I'd put it out there because it hadn't been mentioned yet.
I've used SVN for almost half a decade now. I have no gripe to make about it.

Sparky.
Title: Re: AGS Editor Source Code Release
Post by: Snarky on Thu 28/10/2010 23:10:09
What's the problem with SVN merging? There's a bit of work resolving conflicts (though with a good editor, like Eclipse, it's pretty intuitive), but I don't see how that can be avoided. How does git resolve it better?
Title: Re: AGS Editor Source Code Release
Post by: Pumaman on Thu 28/10/2010 23:29:58
QuoteI did need the irrKlang.NET2.0.dll, and this Post-Build event caused me a problem:

E:\Code\ags\netedit\UpdateCPPVersion\bin\Release\UpdateCPPVersion.exe $(TargetPath)

Ah, sorry about that post-build event, I didn't spot that.
It's not important, it's used to synchronize the Native DLL version number with the other assemblies, but since you're not building the native dll it doesn't matter.

QuoteThis is main website news, Pumaman. When is the main site going to reflect this?

I still need to release 3.2 officially to the website! Also the new rewritten website needs to be finished and released, I just haven't had time yet.

QuoteWhat would be the easiest way to compile this for Mono on Linux? Anything I should take into consideration?

You won't be able to, due to the Native DLL. If the source code to that was available, does Mono have a mixed-mode Managed & Native C++ compiler that could build it?

QuoteAGS has P/Invokes into WinAPI (kernel32, user32, winmm). It might be possible to use the Wine libraries, but I'd rather replace them with managed code.

The AGS Editor uses P/Invoke in some rare cases where I couldn't find a way of doing it with managed code. The Named Pipes exception that you mention is in .NET 3.5, but since I want the AGS Editor to continue to support .NET 2.0, we can't use this. (it would be feasible to just use that for a Linux port which would require a 3.5-version of Mono though, of course).

QuoteHm, I've copied IrrKlang, removed the postbuild event and still cannot run it.

System.IO.FileLoadException was unhandled by user code
  Message="Could not load file or assembly 'AGS.Native, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)"

Try copying the msvcm80, msvcm90, msvcr80, msvcr90, Microsoft.VC80.CRT.manifest, Microsoft.VC90.CRT.manifest from an installed AGS 3.2 folder to your bin/Debug folder, that might sort it out.

QuoteDon't you want to set up some source control ASAP (where only you have permissions to rebase to the main trunk, and everybody else can create their branches and play around with it)?

As I said in my first post, I will set up some sort of CVS-type thing, but I didn't want to make everyone wait ages for me to do that before making the code available.
Title: Re: AGS Editor Source Code Release
Post by: Calin Leafshade on Thu 28/10/2010 23:35:40
I think we can assume that CJ is an experienced enough professional in his field to select a source control system.

It's not like he's some amateur who doesnt know what he's talking about.. have a little faith people.
Title: Re: AGS Editor Source Code Release
Post by: Sslaxx on Sat 30/10/2010 12:07:17
DeadSuperHero has posted http://ubuntuforums.org/showthread.php607495 to try and get more support for Linux devs.
Title: Re: AGS Editor Source Code Release
Post by: deadsuperhero on Sun 31/10/2010 06:35:12
Quote from: Sslaxx on Sat 30/10/2010 12:07:17
DeadSuperHero has posted http://ubuntuforums.org/showthread.php607495 to try and get more support for Linux devs.

I also helped get the news (http://www.ubuntugamer.com/2010/10/adventure-game-studio-goes-open-source/) picked up over at Ubuntu Gamer.

I would be interested in collecting a few Linux-native Mono developers together to study some of the non-portable parts of the engine and find cross-platform solutions that could end up working for everybody. Not only would it help strengthen the run time, but should Chris choose to open up the C++ library that is currently closed, we can at least get things done in the meantime.

Is anyone against the idea of me starting a downstream Launchpad page for a native AGS-Linux editor development to at least pick over the skeleton of the source code and try to implement something that would at least function a little more pleasantly? If not, I'll go right ahead and get the ball rolling. We can submit patches for review upstream when all is said and done. ;)
Title: Re: AGS Editor Source Code Release
Post by: Electroshokker on Sun 31/10/2010 11:52:40
This is great news!

Chris, do note that going open source (with any part of AGS) will require more then just releasing the source code and setting up a versioning system if you want to do things right.

You'll need the following:

- Set up chain of command

Only you can check things into the trunk, but you'll need community leads to run the various aspects of development documentation. (see my next points)

- Define initial features and capabilities

current features, requested features, implementation roadmap

=> extend the AGS Wiki with a dev area or dev wiki

- List all known current bugs

Bugtracker! (Separate the engine and the editor bugs, make it easier on yourself.)

- Get a documentation project going

User documentation is pretty well covered so far, but needs to be maintained and updated.
Developer documentation is (almost) non-existant, so that's a major cause for concern and the first thing on the agenda of the dev community. Right now every developer will struggle to get into it, but once the docs are created it will be a breeze to jump in at any point in the editor.

=> extend the AGS Wiki

We've got the infrastructure, just need to pick some community leads (like bugtracker & wiki moderators) to set up the basics so the community can get started and grow in the direction you want it to grow.

Wish I had the time to help out more, but I got less and less spare time, and between my game project and the linux port I've got enough going on atm.

I'd reckon you haven't got the time to handle all these aspects by yourself, so appoint some enthusiastic and trusted folks to help set it all up.

The community is great, but development processes need directions, otherwise they go nowhere fast. (And I'd hate to see that happen.)

After a proper dev community is set up and smoothly functioning for the AGS Editor, it will be much easier to consider opening the engine up. (As suggested by others, keep the file format handlers in closed-source dll's, that way no commercial ags games will get in trouble)

So to the community: let's show Chris what we can do to make AGS so much better!
Title: Re: AGS Editor Source Code Release
Post by: xenogia on Sun 31/10/2010 22:58:16
Quote from: DeadSuperHero on Sun 31/10/2010 06:35:12
Quote from: Sslaxx on Sat 30/10/2010 12:07:17
DeadSuperHero has posted http://ubuntuforums.org/showthread.php607495 to try and get more support for Linux devs.

I also helped get the news (http://www.ubuntugamer.com/2010/10/adventure-game-studio-goes-open-source/) picked up over at Ubuntu Gamer.

I would be interested in collecting a few Linux-native Mono developers together to study some of the non-portable parts of the engine and find cross-platform solutions that could end up working for everybody. Not only would it help strengthen the run time, but should Chris choose to open up the C++ library that is currently closed, we can at least get things done in the meantime.

Is anyone against the idea of me starting a downstream Launchpad page for a native AGS-Linux editor development to at least pick over the skeleton of the source code and try to implement something that would at least function a little more pleasantly? If not, I'll go right ahead and get the ball rolling. We can submit patches for review upstream when all is said and done. ;)

I actually wrote that article.. haha
Title: Re: AGS Editor Source Code Release
Post by: deadsuperhero on Sun 31/10/2010 23:02:09
Quote from: Xenogia on Sun 31/10/2010 22:58:16
I actually wrote that article.. haha

Hey, small world, then! I had no idea you were a regular contributor to UbuntuGamer! :D

Also, for any interested parties who would like to help hack away at the source code to improve portability (especially in relation to Linux), I've uploaded and set up a Linux-Native branch on Launchpad. Currently the source is there for contributors to check out and modify in order to push changes back out through the bzr protocol. I've taken extra care to ensure that everything is in accordance with the Artistic License.

https://launchpad.net/~agslinux
Title: Re: AGS Editor Source Code Release
Post by: cat on Mon 01/11/2010 10:53:00
Quote from: Pumaman on Thu 28/10/2010 23:29:58
QuoteHm, I've copied IrrKlang, removed the postbuild event and still cannot run it.

System.IO.FileLoadException was unhandled by user code
  Message="Could not load file or assembly 'AGS.Native, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)"

Try copying the msvcm80, msvcm90, msvcr80, msvcr90, Microsoft.VC80.CRT.manifest, Microsoft.VC90.CRT.manifest from an installed AGS 3.2 folder to your bin/Debug folder, that might sort it out.


Thanks, now it works!
I might try to do something with the Plugin-API, when I have some time left.
Title: Re: AGS Editor Source Code Release
Post by: Calin Leafshade on Mon 01/11/2010 14:57:22
Quote from: Xenogia on Sun 31/10/2010 22:58:16
I actually wrote that article.. haha

And it seems the commentators reactions have been pretty volatile.
Title: Re: AGS Editor Source Code Release
Post by: deadsuperhero on Mon 01/11/2010 15:06:27
Quote from: Calin Leafshade on Mon 01/11/2010 14:57:22
Quote from: Xenogia on Sun 31/10/2010 22:58:16
I actually wrote that article.. haha

And it seems the commentators reactions have been pretty volatile.

Some of them, but not all. I think some FOSS advocates don't understand that Chris doesn't want people cracking commercial titles with a totally open engine, though it used to be that you could easily get the assets from an AGS game through a pretty easy hack back in the AGS 2.6x days.
Title: Re: AGS Editor Source Code Release
Post by: Sslaxx on Mon 01/11/2010 15:08:03
Quote from: Calin Leafshade on Mon 01/11/2010 14:57:22
Quote from: Xenogia on Sun 31/10/2010 22:58:16
I actually wrote that article.. haha

And it seems the commentators reactions have been pretty volatile.
Some people are open source zealots. Unfortunately people like that are going to just reinforce any negative opinion of open source CJ has, and make opening up the rest of the code (or working with CJ on the code at all) all that much harder. I will point out that I noted on that blog that the license CJ has picked is GPL-compatible, though.

I admit to having scant love for Mono (no thanks to Microsoft's involvement), but I'm not going to not want to be involved with any AGS development on Linux/Mac OS X because of it. I'd never thought I'd say this either, but right now Mono/.NET looks to be a safer bet to use (thanks to Oracle's screw-ups).
Title: Re: AGS Editor Source Code Release
Post by: smiley on Tue 02/11/2010 04:24:28
Quote from: Pumaman
You won't be able to, due to the Native DLL. If the source code to that was available, does Mono have a mixed-mode Managed & Native C++ compiler that could build it?
No, but it would be possible to use a pure native library with a C-style API.

Quote from: Pumaman
The AGS Editor uses P/Invoke in some rare cases where I couldn't find a way of doing it with managed code. The Named Pipes exception that you mention is in .NET 3.5, but since I want the AGS Editor to continue to support .NET 2.0, we can't use this. (it would be feasible to just use that for a Linux port which would require a 3.5-version of Mono though, of course).
Seems that Mono doesn't support named pipes under Linux at the moment anyway.

Notes on the P/Invokes used by AGS.Editor:
http://pastebin.com/AgTb6N2J
Title: Re: AGS Editor Source Code Release
Post by: edmundito on Fri 05/11/2010 16:25:12
About keeping the source under revision control:

If Chris is more comfortable using a server-based central repository so he can keep tight control, then I'd recommend SVN over CVS.

However, after using some distributed version keeping and looking at open source projects out there, I think for community stuff it would be much nicer to keep it under bitbucket.org (Mercurial-based) or github.com (Git-based), since no one really needs permission to fork the main branch while keeping good track of what every one else in the community is up to. For example, I can branch the editor, make some changes and present them to the community, and if CJ and the AGS council likes it, then they're welcome to merge in my changes to the main official AGS branch. I can also easily see what for example tzachs and calin have been doing so far, and pull info from their changes onto my source without too much of a hassle.

I've been playing with more projects on Github and it seems that there is more activity there and the website is more robust than bitbucket, but Git's setup in windows is a bit more wonky than mercurials since it requires cygwin and that sort of nonsense, so I wouldn't mind using mercurial and bitbucket either.

The two paths we could take is that chris keeps his source in one place, where a lot of us can get organized and keep a mirror version in one of these two repositories as the main branch. The other option is that chris puts the main branch in one of these two places and we all from from him. I'd like to hear some thoughts about  what people prefer so we can get things rolling. :)
Title: Re: AGS Editor Source Code Release
Post by: Wyz on Sun 07/11/2010 23:50:13
I like the distributed source idea, because we can exchange patches and try things out. I also like Mercurial a bit better then git, I found git to be cumbersome to set up (well that was a while back, maybe things have changed) and mercurial easier to use (`hg serve` just brilliant!).
Title: Re: AGS Editor Source Code Release
Post by: kkmic on Mon 02/05/2011 13:14:46
Since the download link seems to be broken (the one found in the first post), I have to ask someone to point me in the right direction, either towards an archive, or a revision system (the latter is preferred)

LE: Scratch that. I suppose this is it: https://svn.adventuregamestudio.co.uk:7743/svn/ags/trunk/Editor/
Title: Re: AGS Editor Source Code Release
Post by: monkey0506 on Mon 02/05/2011 22:07:36
Yes, the source for the editor, engine, and the manual are all found in that SVN repository. The only thing that isn't there is the editor's native DLL.
Title: Re: AGS Editor Source Code Release
Post by: kkmic on Tue 03/05/2011 09:53:14
Ok, maybe this is a stupid question, but since I'm not too experienced with SVN, what's the server address that I must insert into my TortoiseSVN client? svn://..... ?
Title: Re: AGS Editor Source Code Release
Post by: monkey0506 on Tue 03/05/2011 10:49:17
SVN URLs can be identified by the HTTP, HTTPS, SVN, or SVN+SSH protocols. The AGS SVN URL uses the HTTPS protocol. Simply use https://svn.adventuregamestudio.co.uk:7743/svn/ags/trunk/ (be sure to set username 'guest' and no password) and you can check out a read-only (that is, you can't check-in any changes, the local files are writable) copy of the files in the SVN.
Title: Re: AGS Editor Source Code Release
Post by: kkmic on Tue 03/05/2011 12:05:27
Ok, I'll give it a try.

It was pretty obvious that I cannot check-in my changes, but since I am looking mostly to browse the editor code, that won't be an issue.

Thanks

LE: It worked.

I used https://svn.adventuregamestudio.co.uk:7743/svn/ags/trunk/Editor/ last time... maybe that's why it did not worked.
Title: Re: AGS Editor Source Code Release
Post by: Construed on Tue 21/02/2012 18:26:02
hallelujah
Title: Re: AGS Editor Source Code Release
Post by: Monsieur OUXX on Wed 09/05/2012 19:33:29
Quote from: monkey_05_06 on Tue 03/05/2011 10:49:17
SVN:  https://svn.adventuregamestudio.co.uk:7743/svn/ags/trunk/ (be sure to set username 'guest' and no password)
a read-only copy of the files in the SVN.

How do I commit my changes?
The small changes described here : http://www.adventuregamestudio.co.uk/yabb/index.php?topic=45975.msg617346#new
Title: Re: AGS Editor Source Code Release
Post by: Pumaman on Wed 09/05/2012 20:21:29
Quote from: Monsieur OUXX on Wed 09/05/2012 19:33:29
How do I commit my changes?
The small changes described here : http://www.adventuregamestudio.co.uk/yabb/index.php?topic=45975.msg617346#new

The idea is to put a formal process in place whereby people can submit their proposed changes, and then a decision can be reached as to whether those changes should be incorporated into the Official AGS Release or not. This would be based on an assessment of how useful the features were, the risks involved in making the change, etc.

We're not quite there yet, but if you get feedback from other people on the forum indicating that your proposals have merit, then we can give you a login to check them in.
Title: Re: AGS Editor Source Code Release
Post by: Monsieur OUXX on Wed 09/05/2012 23:51:56
Quote from: Pumaman on Wed 09/05/2012 20:21:29
if you get feedback from other people on the forum indicating that your proposals have merit, then we can give you a login to check them in.

I understand, but as you can see they're not new features in AGS, not even in the editor. They're just changes in the overall structure to allow submenus, would someone want to use them. I had a small chat with Calin on IRC and he confirmed it was really a minor change.
Title: Re: AGS Editor Source Code Release
Post by: Monsieur OUXX on Thu 10/05/2012 09:52:24
Until a proper command chain has been established, sonneveld suggested something interesting: submitting patch files.
My personal comment is: How difficult would it be to create a public email submission form and put it on the website? that would be a nice tool alongside the bug tracker. All emails would end up in an inbox and would be reviews by experienced developers when they have time to do so.