AGS Editor Source Code Release

Started by Pumaman, Tue 26/10/2010 19:30:56

Previous topic - Next topic

Sslaxx

#20
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?
Stuart "Sslaxx" Moore.

smiley

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/

Dualnames

Question: What is this ? Christmas?  :D

Way to go Mr.Jones!!
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

cat

#23
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.

Trumgottist


tzachs

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...

subspark

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.

Sslaxx

There's also options like GitHub, SourceForge or Google Code.
Stuart "Sslaxx" Moore.

deadsuperhero

I'd also highly recommend LaunchPad. 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.
The fediverse needs great indie game developers! Find me there!

Wyz

I can recommend Mercurial.
That's really a nice and easy to use version control tool.
Ow and GoogleCode and SourceForge support it!
Life is like an adventure without the pixel hunts.

lefticus

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

subspark

Subversion perhaps?  8)
Sparky.

Lt. Smash

I greatly support the idea of using a subversion repository (svn) for interested and capable coders. Otherwise this will end in a complete mess.

cat

+1 for svn (if I get the dll reference problem resolved)

Wyz

-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)
Life is like an adventure without the pixel hunts.

Lt. Smash

Yeah for that type of project, git may be the better solution. ;)
Anyway, some kind of versioning system is a must.

lefticus

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.

subspark

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.

Snarky

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?

Pumaman

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.

SMF spam blocked by CleanTalk