AGS 3.5.0 - alpha 13 - next WIP version

Started by Crimson Wizard, Wed 21/02/2018 13:52:21

Previous topic - Next topic

Neo_One

Quote from: morganw on Mon 13/08/2018 21:29:18
Quote from: Neo_One on Mon 13/08/2018 21:06:19
I am with the current stable (3.4.1). I don't know if it's the same with 3.4.2.
In the clipboard I don't have anything open, you could be that PlayOnLinux itself is the cause.
It would be interesting to see if you had the same issue running the game with 3.4.2. I've found that the Editor's autocomplete would crash on Gnome 3, but I've never been sure that I've got WINE setup correctly.

Quote from: Neo_One on Mon 13/08/2018 21:06:19
I wish I could make a native version of AGS for Linux to get rid of Windows, all the programs I use are open source and AGS is the only one that is not for Linux :_(
Yes, me too. The editor itself will actually run, but the majority of the functionality to edit a game are currently in a library that is not cross-platform.

I tried it on Linux Mint, but PlayOnLinux failed a lot. I don't know how it will go with Debian (or another distro) and a desktop like XFCE or KDE.

I think that for the next versions of the engine they should work on multiplatform (Linux and Mac). That and pass to 64 bits the file where the sprites are stored to remove the restriction of the maximum 2GB. I suppose the core will have to be very fine-tuned, but it will be beneficial for the future.

Crimson Wizard

Quote from: Neo_One on Tue 14/08/2018 15:27:09pass to 64 bits the file where the sprites are stored to remove the restriction of the maximum 2GB.

I began working on this.

eri0o

Ok I decided to test the AGS 3.4.2. I am on Ubuntu 16.04, used Playonlinux.

The FIRST TIME I opened, I got an Error from Playonlinux/Wine, but I didn't pay attention to it. After clicking ok, the AGS Editor proceed to open normally. Now I can close and open it, and all works.

I created a project using it, I selected Default Template, and it created TWO projects with the name of my project, one called Default Game, and one called new_test_game, but both are the same project?



Other than this I did some more testing and it appears to work. All I have to say is that I REAAAALLY like being able to see Walkable areas together with the characters. This is the greatest thing in here.

Other than this, in all ags versions I have, it doesn't build the Linux version on Wine. I thought this one would be different because you had removed the takeown thing, but somehow something else must be blocking (I don't know yet what though).

Oh yeah, I loaded and built my game successfully. I really like the new Room Editor, it's much much better, being able to hide things is great because I have lots of object that I only use when loading a room and then get rig of them.

morganw

Quote from: eri0o on Sun 19/08/2018 01:23:19
I created a project using it, I selected Default Template, and it created TWO projects with the name of my project, one called Default Game, and one called new_test_game, but both are the same project?
It was tricky to differentiate between the recent game entries, as the data was just a collections of string (so external to a change of project name). I'm not sure how making a new project would show two entries, but potentially it could have migrated one of them from an old entry, from an older Editor version.

The comparison between entries is pretty basic, for the moment:
https://github.com/adventuregamestudio/ags/blob/master/Editor/AGS.Editor/Entities/EditorPreferences.cs#L58-L61

If it deduplicated by path, the correct project name needs to come from somewhere.

Cassiebsg

Actually I had noticed this, but for some reason I had forgotten to mention it. :-[

It does it on windows too (Win7 anyway), in fact it not only duplicated the project names for a new game, but also for the ones that were already done. It only shows on the start window to pick a recent project, it doesn't actually duplicate the folder (unless it's duplicating it some other place other than where I save them...)
There are those who believe that life here began out there...

Crimson Wizard

#145
Believe it or not, but it looks like I made support for files over 2GB.

Tested with 4.5 GB of sprites.

Test build: https://www.dropbox.com/s/a2pbghz4zsrfvl8/ags-3.4.2-wip6--64bitfiles.zip?dl=0
Source branch: https://github.com/ivan-mogilko/ags-refactoring/tree/ags3--file64updates

WARNING: this version modifies data format of some files, and you won't be able to use saved sprite file with older editor even if it's smaller than 2GB, so don't open your real project yet without a backup.

eri0o

Hey, when I modify the project, build, and exit, and click yes to save, it crashes PlayOnLinux. Weird thing is doing the same running PlayOnLinux on Debug DOESN'T crash it.

playonlinux log output

Other than this I have no assets to test the limits of more than 2GB :-\ , so I only quickly tested for regressions...

Oh reading the log I get it why it doesn't work the Linux build, instead of just copying the files, AGS creates hardlinks - and fails. I would prefer it just copied the files over - or gave me an option somewhere to do this instead.

Crimson Wizard

Quote from: eri0o on Sun 19/08/2018 21:46:35
Other than this I have no assets to test the limits of more than 2GB :-\ , so I only quickly tested for regressions...
There is more than just 64-bit file support in this test build, compared to latest officially released one there is also room design state serialization. Is there a way to know better what causes the crash? I do not understand the log, it posts a lot of warnings there.

Quote from: eri0o on Sun 19/08/2018 21:46:35
Oh reading the log I get it why it doesn't work the Linux build, instead of just copying the files, AGS creates hardlinks - and fails. I would prefer it just copied the files over - or gave me an option somewhere to do this instead.
Normally it should fallback to copying if hardlink fails. Again, is it possible to find out at which point in code it fails?

morganw

Perhaps this explains what I saw, when the file was still being written whilst the engine was trying to open it. It might be the attempt to create a hardlink is triggering a copy as a fallback, but it isn't a blocking operation.

Crimson Wizard

I have a question: does anyone use this version already to make the real game?

Assuming I may change savegame format a little without assigning it a new version index, breaking saves in this WIP version, because I don't want to keep and support the previous incorrect variant, would that be a problem to anyone?

eri0o

Hey CW, sorry, I really have no idea how to get more insightful logs from playonlinux and wine. I am sea visiting family this week, but once I get home I should probably also test on wine on Mac to see how it's working there too.

I don't know if it was clear, but on Linux the crash I got was after closing ags. Apparently nothing got corrupted, so things are fine, but if something changed on the closing of ags since previous version it would worth a look.

Also I am on 3.4.1 and will be for some time.

Crimson Wizard

#151
Following the previously made suggestions from the few people, this version is now called 3.5.0, and since we decided to drop WinXP support there is a strong reason for a distinct major version.

AGS 3.5.0 - Alpha 4

Zip archive: http://www.mediafire.com/file/9bqybwn6g46hcn7/AGS-3.5.0-alpha4.zip/file

Common features
- Support for large files: single game package, sprite file, room files now may exceed 2 GB.

Editor
- Editor requires .NET Framework 4.5 to run. Dropped Windows XP support.
- Fixed editor preferences were saved separately for editor installed in different folders. Now they are shared between all installations of same version of AGS regardless of the program path.
- Save room editor's design-time config (item Visible and Locked states). These settings are saved in the special roomXXX.crm.user files and loaded when you open room in the editor.
- Removed Locked property from the Room Object, objects are now locked by the navbar.

Engine
- SetMouseBounds() no longer crashes the game if it is called with arguments out of range, these parameters are corrected and a warning logged instead.
- Fixed 'warnings.log' could never be created (was broken somewhere in 3.4.1 probably).


IMPORTANT WARNING: because of added >2GB file support some of the data formats were updated. Most importantly rooms and sprite file will become incompatible with previous versions of the Editor.
Also savegame format changed slightly and I dropped support for the savegames made by 3.4.2, because that version was never actually finalized. That could be get back, but only if it's really-really necessary.

Please make backups of your games before opening them in this version, and tell if something does not load up after this update (except 3.4.2 savedgames).

Neo_One

Quote from: Crimson Wizard on Fri 17/08/2018 16:21:22
Quote from: Neo_One on Tue 14/08/2018 15:27:09pass to 64 bits the file where the sprites are stored to remove the restriction of the maximum 2GB.

I began working on this.
THANKS! :);-D;-D;-D;-D:-D:-D:-D:-D:-D:-D

SpeechCenter

I recently had trouble to run the existing editor plugin with the 3.5.0 release.
The reason seems to be that all the AGS .net assemblies were changed to strong names. This is a breaking change, as the plugin compiled with an existing assembly (e.g. the plugin references AGS.Types) with a weak name is not compatible with the new one compiled with a strong name (see the following link https://stackoverflow.com/questions/15092577/weak-assembly-changed-to-strong-assembly for more details).

Is there a particular reason the assemblies now use a strong name?

Crimson Wizard

Quote from: SpeechCenter on Mon 10/09/2018 23:15:04
I recently had trouble to run the existing editor plugin with the 3.5.0 release.
The reason seems to be that all the AGS .net assemblies were changed to strong names. This is a breaking change, as the plugin compiled with an existing assembly (e.g. the plugin references AGS.Types) with a weak name is not compatible with the new one compiled with a strong name (see the following link https://stackoverflow.com/questions/15092577/weak-assembly-changed-to-strong-assembly for more details).

Is there a particular reason the assemblies now use a strong name?


I moved the discussion of the strongname and settings problem to the Editor development board, because it may take some time to resolve:
http://www.adventuregamestudio.co.uk/forums/index.php?topic=56457.0

Crimson Wizard

#155
A small note, the latest Alpha 4 made in August has number of mistakes that may prevent building game correctly under certain circumstances: noteably building speech.vox or audio.vox (I was actually surprised no one reported these, but guess not much people actually test this version yet).
I was going to upload an update that fixes them, but decided to wait a few days more to see if the above issue with editor plugins will resolve.

Monsieur OUXX

 

Crimson Wizard

#157
AGS 3.5.0 - Alpha 5

Zip archive: http://www.mediafire.com/file/51bicep52px9ilp/AGS-3.5.0-alpha5.zip/file

Has all content from AGS 3.4.1.14 (Patch 4).

Common features
- Raised imported sprites count limit to 90000* and removed total sprite count limit (this means you may have around 2 billions of dynamic sprites).

Editor
- (needs more testing) Fixed that existing Editor plugins could not load up with the new Editor.
- Don't display missing games in the "recent games" list.
- Fixed crash when deleting a room object.
- Fixed audio.vox and speech.vox not building correctly.


KNOWN ISSUES: Editor crashes on exit. This may be same bug eri0o reported a short while ago. The crash takes place only after game is saved and window closing and seem to not make it loose any changes.

(*) Technically engine now can handle up to 2 billion of sprites, but there is certain problem that makes non-trivial to allow user to set very large custom index to sprite (for example, have sprites number 1,2,3,4 and then 1000000). For the time being I found compromise in increasing the limit of imported sprites to some reasonable number (still 3 times higher than before). FYI the details of this problem are explained here: https://github.com/adventuregamestudio/ags/pull/499
The total number of sprites (imported + dynamic sprites) are now limited only by number stored in 32-bit signed integer (over 2 billion).

SpeechCenter

#158
Thanks for taking care of the plugin probllem so quickly. I'll test this next week, based on the other thread, I believe the devised solution would work.

SpeechCenter

Just got around to test it with the latest plugin and it works.

SMF spam blocked by CleanTalk