Jibble

Author Topic: .NET version  (Read 2590 times)

Calin Leafshade

  • Long live King Cat!
    • I can help with making music
    • I can help with voice acting
    • Calin Leafshade worked on one or more games that won an AGS Award!
    •  
    • Calin Leafshade worked on one or more games that was nominated for an AGS Award!
.NET version
« on: 14 Sep 2014, 18:19 »
I know this has come up before but can we discuss moving the AGS Editor to a higher version of the .net framework?

.NET 2.0 was released nearly 10 years ago.

I suggest we move to .NET 3.5 mainly to take advantage of LINQ which is supported in Mono.
3.5 has very high usage and is supported right back to windows 2000

It doesn't require any source migration, just a flag change in the csproj file.

Thoughts?

Crimson Wizard

  • Local Moderator
    • Lifetime Achievement Award Winner
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    • Crimson Wizard worked on one or more games that won an AGS Award!
    •  
    • Crimson Wizard worked on one or more games that was nominated for an AGS Award!
Re: .NET version
« Reply #1 on: 14 Sep 2014, 22:48 »
IIRC it was feared that migrating to .NET 4 will disable AGS for WinXP users. .NET 3.5 won't have this problem.

Re: .NET version
« Reply #2 on: 15 Sep 2014, 11:24 »
IIRC it was feared that migrating to .NET 4 will disable AGS for WinXP users. .NET 3.5 won't have this problem.
.NET 4.0 still works for XP users - it is also the last version that does. .NET 4.5 and above is not compatible.

Here's the discussion last time round: http://www.adventuregamestudio.co.uk/forums/index.php?topic=46804.0
« Last Edit: 15 Sep 2014, 11:37 by Sslaxx »
Stuart "Sslaxx" Moore.

Calin Leafshade

  • Long live King Cat!
    • I can help with making music
    • I can help with voice acting
    • Calin Leafshade worked on one or more games that won an AGS Award!
    •  
    • Calin Leafshade worked on one or more games that was nominated for an AGS Award!
Re: .NET version
« Reply #3 on: 15 Sep 2014, 13:53 »
It's worth noting, pursuant to Radiant's concern in the linked thread, that it's not a large migration. It's simply a change of a configuration variable.

Of course, if new code is written which takes advantage of new features (linq really) then the process is not reversible.

It is purely something to make development easier rather than a change for the user base

Gurok

  • Rottwheelers
  • When life hands you lemons, combine them with the mop
    • I can help with AGS tutoring
    • I can help with proof reading
    • I can help with scripting
    • Best Innovation Award Winner 2016, for improving and extending the AGS scripting language
    • Gurok worked on one or more games that won an AGS Award!
    •  
    • Gurok worked on one or more games that was nominated for an AGS Award!
Re: .NET version
« Reply #4 on: 15 Sep 2014, 14:22 »
Oooh lambda expressions!

I have run into a few things where the syntax is easier in 3.5/4.0, but never impossible in 2.0.

Crimson Wizard

  • Local Moderator
    • Lifetime Achievement Award Winner
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    • Crimson Wizard worked on one or more games that won an AGS Award!
    •  
    • Crimson Wizard worked on one or more games that was nominated for an AGS Award!
Re: .NET version
« Reply #5 on: 15 Sep 2014, 14:49 »
.NET 4 requires at least MSVS 2010. There's still a problem with precompiled static libs linked with Native dll we need to solve before moving to other MSVS edition.
Or use any MSVS for Editor and MSVS2008 for Native dll... (not that I like this idea much).

Calin Leafshade

  • Long live King Cat!
    • I can help with making music
    • I can help with voice acting
    • Calin Leafshade worked on one or more games that won an AGS Award!
    •  
    • Calin Leafshade worked on one or more games that was nominated for an AGS Award!
Re: .NET version
« Reply #6 on: 15 Sep 2014, 15:49 »
Thats partially why I suggested .NET 3.5

I've been working on factoring out the native libraries and it's very troublesome so waiting for that is not viable.

Crimson Wizard

  • Local Moderator
    • Lifetime Achievement Award Winner
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    • Crimson Wizard worked on one or more games that won an AGS Award!
    •  
    • Crimson Wizard worked on one or more games that was nominated for an AGS Award!
Re: .NET version
« Reply #7 on: 15 Sep 2014, 16:05 »
Well, changed all projects including native lib to 3.5, it compiles and runs, did not notice anything bad.

Should we do this?

Re: .NET version
« Reply #8 on: 16 Sep 2014, 20:27 »
Just a quick note, you can still compile the C++ portions with VC++ 2008 compiler while using newer VS IDEs. All you need is to install both VC++ 2008 and the newer VS. Then set the C++ projects to use the older compiler.

I've been using VS 2013 express for some time, including for privately testing my code against AGS compiled this way and it works just fine.
The downside is that it will require two installation of Visual Studio until those native projects will be upgraded. The upside is that the IDE is much better and the express version supports compiling both C# and C++ in the same solution. This was very useful on multiple occasions.

If, however, the consensus is to stay with VS 2008 IDE, moving to .net 3.5 is a good step forward.