Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Pumaman

#141
I like these new designs. Both the black and the white versions work for me, but I think we should be consistent so if we go for a white splash screen, we should also make the New Game Wizard based on a white theme too.

Also, could you remove the "3.2" version number from the images, as this is also something that can be drawn on top by the editor, and would save having to keep updating the bitmap for every new release.

For the application icon though, you have to have a few different versions at various different sizes and colour depths to make it work with the various versions of Windows. The current AGS Editor app icon includes 8 different versions, for example, so that it looks good on everything from Windows 98 to Windows 7.
#142
What is the status of AGS development ... that's a good question.

Well, I've been working on it for over 10 years now. Over the last couple of years I've become more and more busy with my real life, and have had less and less time for AGS.

So I thought about it, and realised that I didn't want AGS to just die out because I didn't have enough time to keep improving it any more. So that's why I've decided to start open-sourcing the code, so that other people can start taking on some of the job of fixing and improving AGS. It's only been about 6 weeks since the editor code was released, and already some kind contributors have added several features that I never had time to add myself.

So I'd say that the future looks good. While I still want to be around to direct and review the changes being made, I think it's time for me to step back and let other people to share the development work.

In the past, when people suggested open-sourcing the code, I rejected it because at the time I was making regular updates myself and the overhead of incorporating other people's work would have got in the way. But now that I'm no longer as active, it makes sense to let other people make changes too.

In conclusion, I don't see the move to open-source as the death of AGS; more as the start of a new phase of its life.

Quote from: bicilotti on Sun 09/01/2011 20:51:01
I thought he was dying.

If I do die, I want a picture of Pumaman enscribed on my gravestone.
#143
If you draw your background 1916x878, it won't look good in a 1024x768 game.

You need to decide on your game resolution, and then draw your art to match.
#144
So, I never got round to releasing 3.2 to the website. Then the editor code was open-sourced and people added cool stuff to it! So I thought, let's combine all those things, and a couple of bug fixes, into a new 3.2.1 release, and get it out there!

So my plan is for this to be a very short release cycle. I don't plan on adding anything else to 3.2.1, so please give this a test and see what you think.

Changes in 3.2.1 Final 3:
* Room list in Characters editor now refreshes if you change the name of a room (CJ)
* Fixed Replace In Files adding the replced word to the top of all files (tzachs)
* Fixed room editor property grid listing Objects when in Characters filter (CJ)


Changes in 3.2.1 Final 2:
* Added the new loop context menu options to right-clicking on a frame too (CJ)
* Added Dialog.ShowTextParser script property (CJ)
* Fixed crash restoring/restarting depending on state of crossfading (CJ)
* Fixed Paste Loop not working properly (Tzach Shabtay)


Changes in Final release:
* Upgraded to latest version of LEC template (abstauber)
* Fixed "crossfade buffer null attempting transition" if you restored a save game that had a different current transition type to the current game position (CJ)
* Fixed code folding to expand the fold if you double-clicked an error message that lead to the code (Steven Poulton)
* Disabled Find/Replace dialog autocomplete, because it wasn't case sensitive (CJ)


Changes since 3.2.1 beta 1:
* Fixed D3D tints not working properly (Nefasto)
* Fixed Find Next F3 option not working in script editor (CJ)
* Fixed Find dialog losing focus after finding one match (CJ)
* Fixed breakpoint markers and enabled setting them by clicking in margin (Calin)
* Fixed middle mouse button drawing lines in room editors when it should just display the menu (CJ)

Changes since 3.2:
* Added Find/Replace In All Files capability (Tzach Shabtay)
* Added GUI control snapping, alignment, grouping and locking to GUI editor (Steven Poulton)
* Added loop cut/copy/paste, Flip All Frames and Import From Sprite Folder options to Views in editor, to access this right-click to the right of the loop (Tzach Shabtay)
* Added RGB colour selector to the various colour properties (ProgZmax)
* Added Characters option to room editor to show all characters set to start in that room (ProgZmax)
* Added Find All Usages right-click option to script editor (Tzach Shabtay)
* Added current co-ordinates display while dragging objects/characters in room editor (Steven Poulton)
* Added syntax colouring to dialog scripts (Steven Poulton)
* Middle mouse button now activates the "Copy co-ordinates to clipboard" option in all the room editor modes (ProgZmax)
* Fixed crash drawing GUIs with no background (3.2 regression) (CJ)
* Fixed intermittent crash moving objects and using the Ctrl+A debug option (CJ)
* Fixed script editor tooltips getting stuck if they appeared over the tab bar at the top of the editor (Tzach Shabtay)
* Fixed editor error if you deleted a room that a character was set to start in (CJ)
* Fixed co-ordinates displayed in room editor not reflecting Low-Res Co-ordinates setting (ProgZmax)


http://www.adventuregamestudio.co.uk/AGS-3.2.1-Final3.exe
#145
QuoteConsider that id Software released the source code for the original Doom in an initially non-compilable state due to its use of proprietary libraries. It certainly did not stop people from getting it working, and there are people here who I am sure could get the code for the AGS runtime to work in a similar fashion (eventually, at least - I'd not doubt in the slightest it'd be hard going).

I could do, but why? What's the great hurry? I'd much rather take some time to sort it out into a proper working state than give people something uncompilable and have them waste time trying to make it work (and possibly generate invalid/crashing builds of the engine as a result).

QuoteTested and the fix works.

Thanks for testing.

QuoteMy only gripe here, is that experience in c# is not enough. Every code base tells its own story and requires understanding of its inner structure & patterns, a thing which only you fully understands at this point of time.

This is true, yes. I'll do my best to be around to answer any questions about it, but at the same time if I'm not around at the time then I don't want that to halt anything being done.

QuoteI actually do have another somewhat related question, what are your feelings about integrating other open source projects (assuming they're stable and known-to-work)?

Depends on various factors, such as the license (eg. I don't want to use any GPL code, but LGPL is ok), the usefulness of the library, etc. Do you have a specific example in mind?

QuoteActually, I believe that helios123 also made a change to the editor.

Ah thanks, I'll take a look at that.

Quote
we need to reform the user properties system.

Currently the properties system is very set in stone and not easy to add to. It's just a form with alot of radio buttons essentially.

Really it should be closer to the VS system of a property grid to which editor components can add and get properties on the fly.
(or alternatively a tree + pane system similar to the editor itself)

Are you talking about Custom Properties, or the editor's User Preferences dialog?

Quote1.  Altered the character and gui color properties to display color values as a visible RGB swatch that can be easily customized and set directly without using the color picker in the editor.  This includes support for legacy AGS colors 0-31 (0,0,8*1, 0,0,8*2, 0,0,8*3, etc).

By the way, I had to change this code to work with 8-bit games, since they can't have an AGS Colour Number greater than 255, and the palette needs to be scanned to find the nearest colour to the one chosen.
Something to bear in mind for future editor changes, anything dealing with colours needs to work with all colour depths.

I also made the ColourNumber property visible because with 8-bit games you quite often want to set this manually; and with hi-colour games it's useful to be able to see it.

QuoteIdeally this needs to be moved to the user properties. A checkbox is a poor solution but dragging from the bottom centre is not standard behaviour.
Gui controls dont drag from their top left, nor do objects so why should characters drag from bottom centre?

I agree with this, I'm not sure I see the point of having an option to make the bottom-centre jump to the mouse position. In what situations is this useful?


Going forward, we need a process for adding things to the AGS code. Just because somebody has a great idea for the editor, we don't want them just diving in and changing everything, when it might not be a feature that other people would find useful -- and might in fact break other things in the process.

So we need to decide on a way that people can propose a change, we can agree whether or not to approve it (or whether it might be better as a plugin, for example), and then if approved they can go ahead and do it.
#146
Quote from: TheJBurger on Sun 09/01/2011 07:14:47
Whenever I run the game I get a security warning that the publisher could not be verified. If I click OK, the game runs as normal. If I click CANCEL I get this error:

This is probably because Windows remembers that you downloaded it from the internet.
You should be able to right-click on the ACWIN.EXE, do Properties, and then there should be an Unblock button to stop it doing this.

Quote
Strange... i made sure music file was in AudioCache folder...

Anyhow, I shut the game down and restarted... opened it up again and played the game... music now plays....

As Calin says, do NOT put your music in the AudioCache folder. AGS will copy it there automatically when you import it, you should never put files in the AudioCache folder yourself.
#148
I have uploaded a patch here:
http://www.adventuregamestudio.co.uk/acwin.zip

which should fix the crash with GUIs with no background image.
Can one of you with the problem please test with this patch and see if it is fixed?
#149
Thanks for posting a reproducible test case!

I have investigated this and found the cause of the problem. It looks like this bug has been in AGS all along, and explains why occasionally people have reported random crashes moving objects. So thanks again for isolating it!

Try this patch:
http://www.adventuregamestudio.co.uk/acwin.zip
unzip this, and copy the acwin.exe to replace the version in your AGS Editor folder.

Then, rebuild your game and the bug should be gone. (Press Ctrl+V in the game to double check that you have the new 3.21.1111 version).

This patch should also fix the crash with backgroundless GUIs that some people have reported in 3.2.
#150
Quote from: Calin Elephantsittingonface on Sat 08/01/2011 02:46:45
System.Collections.Generic.KeyNotFoundException was unhandled by user code
  Message=The given key was not present in the dictionary.

As far as I can tell it happens when the property grid tries to get a string value for room 0 for a character (should return none).
I'm not sure if this is specific to my game files and somehow a character got its room set to 0 somehow.

Actually this seems to be a pre-existing AGS 3.2 bug where it crashes if you delete/exclude a room that a character is set to start in. I've checked a fix in to SVN.

QuoteIt seems that the Replace/Replace All functionality is broken in this version (it works in my original version).
Replace in document now replaces the first line of the file always.
Replace all in document now freezes the application (and from a quick debugging session, it seems to replace the same line all over again endlessly).

Thanks for testing, I've now checked in a fix for this.
Can you please get the latest and make sure it's now working ok; also I slightly changed the way the standard Replace works to be more consistent with how VS does it.

QuoteThat's good to know, the reason that I didn't ask is because I remember you saying that the code is provided as is without any support, so I didn't want to bother you (and nobody else has enough knowledge of the code as of now, I'm sure this will improve in the future).

Well, it's not only me that can give feedback. Lately I've been quite bad at keeping up my appearances on this forum, but I'm confident that if I'm not around you guys can agree on the way to do things. In particular more experienced C# developers like yourself can provide guidance to less experienced C# devs which would be very useful.

Generally my opinion is that the most important thing is to keep consistency with the existing code. The editor architecture is not perfect by any means, but rather than everyone going off in different directions and adding bits in different ways, if we just keep within the patterns used in the existing code it'll be easier for everyone to follow.

Those of you that have contributed so far (is that just tzachs, Calin, progz?) can you please:
1. let me know under what name you'd like to be credited
2. post a quick list of your changes here so that I can assembly an accurate changelog
#151
Thanks for checking with us.

The general opinion that I've heard from most people is that they'd rather play the game with its original English text, than play a bad translation. Obviously that's not an option for people that simply don't speak any English, but in a lot of cases it's better to have no translation than a bad or inaccurate one.
#152
Ok, I have merged the code, done some refactoring, and checked the result into SVN.

Can you guys please get the latest version and make sure it still builds for you, and test that the new stuff still works correctly?
Assuming that it does, I'll do a proper build of this code and release it as 3.2.1 Beta 1.

Comments on the code changes

I haven't had as much time to review the changes as I'd have liked, but just a few general comments to bear in mind for future changes:
* Please avoid making changes which are purely personal preference. For example, someone changed some of the fonts and colours in the script editor; please remember that AGS is used by 3000 people who are used to the current editor and change may be confusing. In this example, a proper solution would be to add a GUI to the editor to allow everybody to customize the script editor to their own preferences.
* Please maintain consistency with the existing code. While you personally may prefer "GuiGroup" to "GUIGroup", the existing code has "GUIControl", "GUIButton" etc so let's keep it consistent.
* If you are making a change that is complex and aren't sure of the best way to do something, please just ask on the forum here! Any changes which are 'architectural' in nature can be discussed and we can agree the best way to do something. It'll avoid having to refactor things later on.

Once again, thanks guys for all your hard work in adding these initial changes, and please don't take any of my comments as criticism; we're just starting out with open source AGS so we need to discover the best ways of working together.

QuoteHow would one add things to an interface then? If you need to expand functionality without breaking compatibility with older plugins?

Interfaces which are only used by plugins can have new methods added to them no problem. It's only interfaces which are implemented by plugins (of which I think IEditorComponent is in fact the only one) that can't be changed, because the plugin class has to match the interface exactly.

In this case an alternative solution was to use an event (which I have done), alternatively you could add a second interface with the new methods on it.

Quote from: ProgZmax on Wed 05/01/2011 05:02:52
So does this mean we need to get 2008 express if we want to continue contributing edits, CJ?

That would be best, yes. You can still use VC#2010 but would have to be careful when commiting changes, that you didn't check in a VS2010 version of the project file.
#153
Please do not do this.

Part of the reason why AGS has a separate compiled translation format is because the feedback from game authors was that they wanted control of translations released for their games.

Imagine that you've spent a lot of time making a high-quality game, and then a random person on the internet creates their own French translation, full of mistakes and possibly profanity, and releases it to the world as a "French translation for the game". The game author would have no control over this, and French people would play it and get a bad experience.

As far as I know, people making games still have this opinion and still want control over who can create translations for their games so that they can review them and control the quality of translations.
#154
Thanks for checking, guys.

I'm currently reviewing and merging the latest code into my trunk; there are a couple of things I need to refactor (for example, you can't add new methods to the IEditorComponent interface, because it breaks compatibility with plugins; also, the new GlobalGame class in the AGS.Types assembly isn't really the right thing to do). Anyway, I'll fix these things and put the final code into SVN in a couple of days when I'm done.

Quote from: Sslaxx on Tue 04/01/2011 20:36:24
Any plans for when the engine release is to be added?

The engine code is much more complicated because it has dependencies on various statically linked libraries, so I need to sit down and spend some time sorting it out so that it can be compiled easily on other machines. That's not my top priority at the moment, I'll take a look at it in a few weeks once we have this editor development process sorted.
#155
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.
#156
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!
#157
If the current build doesn't crash, it probably wouldn't be of use.

If it's easy to make it crash again on your PC by taking the tweening out, then that could be handy though.
#158
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.
#159
Quote from: ReAgs on Mon 22/11/2010 21:08:26
Quote from: Sslaxx on Sun 17/10/2010 19:34:19I'm surprised decompilers do not already exist for the file formats. Nothing's going to stop a committed cracker. Consider the effort it took, for example, to reverse-engineer the Z Machine (the Zip interpreter), or Ultima VII (or any of the others - projects like Exult and Pentagram). Frankly, you're probably just lucky.

I don't consider myself a cracker since I don't want to do anything wrong with the game data: I just want to be able to play those games wherever I want :)

Just to give you a rough idea:
- I decoded/decrypted CLIB volumes versions 0xA to 0x15 and extracted their contents. (I haven't looked into .VOX files yet, but I think they are pretty similar)

Actually after the feedback in this thread, the overwhelming opinion seems to be that it's better to be open-source and cross-platform than to protect the file formats, so I've now been persuaded that releasing the code wouldn't be a problem.
#160
Quote from: Le Woltaire on Wed 24/11/2010 15:46:06
I just managed to solve the problem.
It was indeed GUI related as you described.

But I didn't have to remake the GUIs at all in the end.
It simply was the case that in some of the GUIs the background image was set to -1.

When I set it to 0 the game started up, but the GUIs didn't show up, instead of them I saw the blue cup at the side of the GUIs.
Then I changed the background image to 6 (which was a transparent single pixel sprite) and it works now...

Maybe that helps to solve the problem...

I can't reproduce this, do you have a sample GUF file that I could import to reproduce the problem?
SMF spam blocked by CleanTalk