AGSEditor: New features (Source code now available)

Started by tzachs, Sun 31/10/2010 23:48:35

Previous topic - Next topic

subspark

Yeah sorry guys, this is an old fix request originally sent to Mr Jones. ::) I'm still getting many of these glitchy bugs with 120dpi fonts so I thought now might be a good time to relay this info to you so that it might be fixed.
Windows offers two essential dpi defaults, 96 (for small and moderately sized monitors) and 120 (for larger monitors such as the one I use). Would you be kind enough to look into this, tzachs/Calin? - If you find a spare moment for perfection?

Happy new year guys!
Was Santa kind to you all this year? :P

Cheers,
Sparky.

tzachs

Actually I'm running with 120 dpi as well, so maybe that's not the issue.
I guess I could move stuff around, but I fear that it will ruin it for other computer configurations,
so I'd rather not touch it, and leave it to somebody who might understand this topic better.

subspark

Also a general export mask option for the Room Editor would be nice. I often create walkable areas, hotspots and walk-behinds for rooms that I tend to later invalidate by moving things around/altering room width, etc.
An export mask feature would allow me to edit the raw bitmap and save me manually printing screen on my Apple Keyboard. ;)

Cheers,
Sparky.

Calin Leafshade

Guys, I think we need to seriously think about organising this into some kind of cohesive 'thing'.

There are lack-luster feature requests over 3 threads now which seems rather unfocused.

The problem is that I know nothing about programming and source control and project-managing stuff. (only the little i have taught myself in the past 12 months or so) so someone with alot more experience would need to coordinate it. (I nominate Tzach ^_^)

CJ hasnt logged in for about 5 weeks now so perhaps we should organise ourselves and maybe submit out 'organisation' to him for approval or something.

tzachs

Well, I basically agree with Calin and think we need a bunch of stuff (listed below),
where source control is the most urgent (IMO), and I also have no problem on taking an
organizational role on myself.
However, since CJ has already declared that he's planning on creating a source control system
himself, and that this is still his baby and he just released the source of the editor to test the waters,
I think we are maybe a bit ahead of ourselves, and need to give him some time.

Here's the stuff I think we need:
1. Source control system.
The manual merge that Calin did to create the integrated version is
error prone and wouldn't hold in the long term.

2. Issue tracker.
We will be able to report issues & feature requests, categorize them, prioritize them
according to popular demand, and developers would be able to voluntarily assign themselves to issues,
thus assuring that an issue will not be worked on by two developers at a time.

3. Find ways to make the code more accessible for other developers.
As luck would have it, CJ is an excellent programmer and organized,
so the code is a lot more organized and clear than what I expected from a project that was
developed for years by a single person.
But still, since this is a pretty large code-base, we need to learn it and create help files for code,
class diagrams, point out the main classes and their roles, so the top level design of the application
will be clear and out in the open.

4. Have a subforum for AGS development (this also relates to #3).
We need to discuss and make some decisions, and point out some basic rules.
For instance, we need to agree on a set of coding style guidances (well, CJ has kept a consistent
coding style, we just need to assemble it into a sticky post with all the rules a developer has to adhere to).
We also need to decide on the general directions we want to take the code to, and on what is allowed and what
isn't allowed. For instance, I decided on myself to target dotnet 3.5, but maybe the community doesn't agree with me?
Also, am I allowed to integrate other source control projects? etc etc.

subspark

Yeah totally agree guys. On all points. One important thing your missing however is naming conventions. This has saved our production in the past and many before it. Strict, logical naming conventions are key to quickly gaining a deep understanding a project hierarchy. I created and continue to manage Screen 7's source control for Indiana Jones and the Fountain of Youth and I'm a master of project management. If you guys need a hand with anything, please don't hesitate to ask. I'll be happy to help you where I can, if necessary at all.

Best of luck goes to you in mounting this effort.

Cheers,
Sparky.

Pumaman

#26
Sorry for my long absence!

Progz, tzachs and Calin, great work on taking on board the editor code and making improvements! I think I've now been persuaded that open-sourcing the whole of AGS (including the engine code) under the same model is a workable way forward.

Is it correct that the latest version of the editor code with all your combined changes is this one that Calin posted?
http://www.adventuregamestudio.co.uk/yabb/index.php?topic=42092.msg563260#msg563260
Calin -- could you please upload the source for this Christmas release, so I can merge it into my trunk?

However, there are some things I need to do before we proceed:
1. Source control server. I need to set this up, and will take care of merging in you guys latest changes when I've got it working.
2. Officially release 3.2. I need to take stock of what issues are preventing this from going "official" -- is it just the background import crash? Can somebody provide a reproducible GUI file that causes this?
Bearing in mind the work you guys have done, I might skip releasing 3.2 to the website, and create a 3.2.1 Beta 1 release that includes your latest changes plus a couple of engine bug fixes that I can do. Then, release 3.2.1 ASAP.

Quote4. Have a subforum for AGS development (this also relates to #3).
We need to discuss and make some decisions, and point out some basic rules.
For instance, we need to agree on a set of coding style guidances (well, CJ has kept a consistent
coding style, we just need to assemble it into a sticky post with all the rules a developer has to adhere to).
We also need to decide on the general directions we want to take the code to, and on what is allowed and what
isn't allowed. For instance, I decided on myself to target dotnet 3.5, but maybe the community doesn't agree with me?

Yes, this is important. For example, at the moment the AGS source code is built with VS2008 and targetted to .NET 2.0.
I would like it to remain like this for now, because:
* VS2008 -- while upgrading the C# editor code to VS2010 is trivial, the Native assembly contains code specific to the C++ compiler in VS2008 and would need some work to update it all to work with the latest version. Therefore please leave this alone and use VC# Express 2008.
* .NET 2.0 -- I want AGS to have a low barrier to entry, ie. people shouldn't be put off downloading it because it requires 3.5. While there are some nice 3.5 features like LINQ that it would be nice to use, at the moment I'd prefer to keep it with 2.0 which practically everyone has installed anyway.


In terms of open-sourcing the rest of the code, there are a couple of issues:
* It's C++ code. The editor C# code that I've already released is reasonably structured and organised, and you guys seem to have been working with it no problem.
However, the C++ code has a legacy that dates back 10 years and is in a totally incomparable state. Just getting your head around the control flow and how it manages to work at all is something that would take a significant amount of time -- not to mention the fact that C++ as a language is more complex than C# (memory needs to be freed, pointers to pointers, etc).
* The editor's Native DLL is a mixed-mode managed and native assembly, which is not supported by the free VS Express editions. Therefore you would only be able to compile it with the full paid-for version of VS2008. This is another reason why I didn't include it in the initial code release.

Joseph DiPerla

Hey CJ, this is what I use on adventurestockpile.com to host user projects, maybe this might be useful for you as well:
http://projectfork.net/
Joseph DiPerla--- http://www.adventurestockpile.com
Play my Star Wars MMORPG: http://sw-bfs.com
See my Fiverr page for translation and other services: https://www.fiverr.com/josephdiperla
Google Plus Adventure Community: https://plus.google.com/communities/116504865864458899575

tzachs

Quote from: Pumaman on Mon 03/01/2011 17:35:17
Sorry for my long absence!

Progz, tzachs and Calin, great work on taking on board the editor code and making improvements! I think I've now been persuaded that open-sourcing the whole of AGS (including the engine code) under the same model is a workable way forward.
Awesome, this is very encouraging to know, thank you!  :D

Quote
Is it correct that the latest version of the editor code with all your combined changes is this one that Calin posted?
http://www.adventuregamestudio.co.uk/yabb/index.php?topic=42092.msg563260#msg563260
Yes as far as I know, but Calin needs to confirm.

Quote
* VS2008 -- while upgrading the C# editor code to VS2010 is trivial, the Native assembly contains code specific to the C++ compiler in VS2008 and would need some work to update it all to work with the latest version. Therefore please leave this alone and use VC# Express 2008.
Hmmm, I think both ProgZ and Calin used VS2010, so you might have a problem opening it with VS2008...
Quote
* .NET 2.0 -- I want AGS to have a low barrier to entry, ie. people shouldn't be put off downloading it because it requires 3.5. While there are some nice 3.5 features like LINQ that it would be nice to use, at the moment I'd prefer to keep it with 2.0 which practically everyone has installed anyway.
I was afraid you'd say that.
Unfortunately, I used dot net 3.5 for my changes, since my opinion differs from yours, for these reasons:
* I believe that today dot net 3.5 is considered to be a low barrier, and the vast majority alreay have this installed (unfortunately I don't know how this can be measured).
* I think that staying with 2.0 might actually put off potential editor developers, that are used to work with 3.5 (yep, some people are spoiled these days).
* LINQ is simply awesome! It both saves hours of work, and improves the code quality. There isn't a day goes by that I don't use linq in my day job...

Calin Leafshade

Thats actually not the latest version. The latest version includes syntax highlighting for dialog scripts and a half-finished spell check but i havent released it yet ^_^

However its all in a VS2010 Express solution so I will need to get hold of a version of VS2008 to downgrade it i'm afraid. Unless CJ can do this quicker than me?

I do agree with Tzach re:.NET however.

Figures I could find suggest that only 10% of users have less than version 3 of the framework so I really dont think its an issue and the benefits outweigh the costs.

I will upload the source this evening.

Wyz

Well since I'm an old-school C++ programmer releasing for the engine itself is music to my ears. I can't wait to dig into the source! :D

Btw, If you static link the .net libs users will not get messages about missing dlls. It increases the size of the binaries a bit but that's really not that bad.
Life is like an adventure without the pixel hunts.

Pumaman

Quote from: Joseph DiPerla on Mon 03/01/2011 17:43:41
Hey CJ, this is what I use on adventurestockpile.com to host user projects, maybe this might be useful for you as well:
http://projectfork.net/

Looks interesting, thanks!

QuoteHowever its all in a VS2010 Express solution so I will need to get hold of a version of VS2008 to downgrade it i'm afraid. Unless CJ can do this quicker than me?

Don't worry about downgrading it, I can do that easily enough when I merge the code.

QuoteUnfortunately, I used dot net 3.5 for my changes, since my opinion differs from yours, for these reasons:
* I believe that today dot net 3.5 is considered to be a low barrier, and the vast majority alreay have this installed (unfortunately I don't know how this can be measured).

From the AGS anonymous usage stats (I knew they'd come in handy one day!) I can tell you that 88% of AGS users already have 3.5 installed. 12% don't, which is 300 people that would have to upgrade their framework version.

However, of these 300 people, 10 are still using Windows 2000 on which .NET 3.5 is not supported. That would mean that those 10 people could no longer use AGS.

Therefore, if we take the decision to go to 3.5 it's something that we should consider carefully rather than just make on a whim. So for this AGS version I'd like to stick with .NET 2.0, but I'm certainly open to moving to 3.5 for the next version (3.2.2 or whatever), unless those 10 people come up with a heart-wrenching story of the problems it would cause them to no longer be able to use new versions.

Quote* LINQ is simply awesome! It both saves hours of work, and improves the code quality. There isn't a day goes by that I don't use linq in my day job...

I have no arguments with that!

Sslaxx

Quote from: Pumaman on Mon 03/01/2011 23:40:45However, of these 300 people, 10 are still using Windows 2000 on which .NET 3.5 is not supported. That would mean that those 10 people could no longer use AGS.
I suspect I'd appear as one of those ten, at least some of the time. It'd be a minor inconvenience for me (having to reboot into XP as opposed to launching the 2K VM), but it wouldn't make me not want to use AGS, so if switching to NET 3.5 offers the potential for new features then I (for whatever it is worth) would support it.
Stuart "Sslaxx" Moore.


tzachs

Quote from: Pumaman on Mon 03/01/2011 23:40:45
From the AGS anonymous usage stats (I knew they'd come in handy one day!) I can tell you that 88% of AGS users already have 3.5 installed. 12% don't, which is 300 people that would have to upgrade their framework version.

However, of these 300 people, 10 are still using Windows 2000 on which .NET 3.5 is not supported. That would mean that those 10 people could no longer use AGS.

Therefore, if we take the decision to go to 3.5 it's something that we should consider carefully rather than just make on a whim. So for this AGS version I'd like to stick with .NET 2.0, but I'm certainly open to moving to 3.5 for the next version (3.2.2 or whatever), unless those 10 people come up with a heart-wrenching story of the problems it would cause them to no longer be able to use new versions.
Interesting statistics, it's awesome that you have this information handy, and I can live with waiting for 3.2.2.

Monsieur OUXX

Quote from: Pumaman on Mon 03/01/2011 17:35:17
However, there are some things I need to do before we proceed:
1. Source control server. I need to set this up, and will take care of merging in you guys latest changes when I've got it working.

Yeah, I think that's REALLY critical, because once the initial enthusiasm for tweaks in the Editor (and possibly Engine) will have faded away, you might end up in the same situation as MAME or MUGEN -- that is, plenty of branches in the versions, with nobody knowing which one is the latest one, and most of them abandonned. and that will add a lot of inertia for new improvements.
I'm exagerating, of course, but... you know what I mean.
AGS's worth it! :)
 

Pumaman

Quote from: Calin Elephantsittingonface on Tue 04/01/2011 03:19:14
I present: source!

http://www.thethoughtradar.com/AGS/Editor/AGSEditorsrc.zip

Great, thanks!

I've now created an SVN repository. I've uploaded the original 3.2 editor code (basically the contents of the source code zip file I uploaded, but with some fixes to remove the post-build event and include the IrrKLang DLL so you don't need to download it).
It is here (username: guest, no password)
https://svn.adventuregamestudio.co.uk:7743/svn/ags/
Could a couple of you try this out and make sure you can connect with SVN and get the code. It should be read-only so you shouldn't be able to change anything, I will then create individual logins for people who are contributing.

I will now take the latest source uploaded by Calin and merge this in to what's in SVN.

Sslaxx

Quote from: Pumaman on Tue 04/01/2011 20:27:05
Quote from: Calin Elephantsittingonface on Tue 04/01/2011 03:19:14
I present: source!

http://www.thethoughtradar.com/AGS/Editor/AGSEditorsrc.zip

Great, thanks!

I've now created an SVN repository. I've uploaded the original 3.2 editor code (basically the contents of the source code zip file I uploaded, but with some fixes to remove the post-build event and include the IrrKLang DLL so you don't need to download it).
It is here (username: guest, no password)
https://svn.adventuregamestudio.co.uk:7743/svn/ags/
Could a couple of you try this out and make sure you can connect with SVN and get the code. It should be read-only so you shouldn't be able to change anything, I will then create individual logins for people who are contributing.

I will now take the latest source uploaded by Calin and merge this in to what's in SVN.
Any plans for when the engine release is to be added?
Stuart "Sslaxx" Moore.

Joseph DiPerla

Joseph DiPerla--- http://www.adventurestockpile.com
Play my Star Wars MMORPG: http://sw-bfs.com
See my Fiverr page for translation and other services: https://www.fiverr.com/josephdiperla
Google Plus Adventure Community: https://plus.google.com/communities/116504865864458899575

kaputtnik

I can connect and look at things I don't understand just fine, even though Firefox gives the usual warnings of dangerous self-signed certificates and other black magic.
I, object.

SMF spam blocked by CleanTalk