AGS 3.4.0.6 (Alpha) - Builder Patch

Started by Crimson Wizard, Sat 27/09/2014 17:25:18

Previous topic - Next topic

dbuske

Quote from: nims on Sat 11/04/2015 23:25:35
Hi,

I am wondering if it is possible to get nightly builds of this latest version? I am happily using it right now, but since there is still a lot of things going on with this version, I am happy to keep my editor up to date. I just use the download link on the first page, but it is v3.4.0, from January 2015.

It is probably better to wait wait for the betas or better. Bugs have to be chased down and fixed.
What if your blessings come through raindrops
What if your healing comes through tears...

Crimson Wizard

#201
I was taken away from any development in the last couple of months, having some uncertainties IRL that should have been solved.

One of the thing that troubles me much is that working on AGS in a short periods of time (which are usually late at night) becomes more and more tiresome to me. Its not only physical tiredness, but also psychological one. There are things, such as new features, or bugs, that require doing prolonged research, or planning, and it is very difficult to do when you have only couple of hrs per day (and even not every day) when you are back from the work. Sometimes I can't focus on the task, sometimes I just forget where I stopped last time and have to start all over.

I became pretty desperate and was even considering quitting my full time job (which I do not really like now, to be honest) and assigning maybe several months to work on AGS full-time. I've even spoke with my chief about this possibility. Unfortunately (in certain sense), it appears that the work I do ATM has a key priority for the company, and they can't find anyone to replace me any time soon. Although I am very bored with that particular work, my coleagues there are very nice people whom I would not like to let them down.
So, the perspectives of my participation in the project are vague at this time.

LameNick

If they can't let you go nor give you more free time, you should tell them to take on the development of ags.(laugh)
How much wood would a wood chuck chuck if a wood chuck could chuck wood?

Crimson Wizard

I hope to find some time on following week and make a better solution for mouse sensitivity.
If I fail, I will still make a new public release without one, because there are couple of new features and fixes prepared for some time already.

Crimson Wizard

#204
I decided to make a relase as-is, because a lot of time passed since last release, and this is a WIP version anyway.
It does not contain mouse sensitivity feature yet. I need to work on it more. If I get it working properly, I'll make another release then.


Meanwhile...


AGS 3.4.0.4 (Alpha) - Properties of Light
(yeah, I spent like one hour inventing this name)

ZIP-archive:
http://www.mediafire.com/download/2dfy26nj1t614qd/AGS_3.4.0.4-Alpha-PropertiesOfLight.zip

Debug symbols (for developers):
http://www.mediafire.com/download/6d9q7fpe6w427me/PDB_3_4_0_4.zip

This release makes Custom Properties modifiable at runtime :=, and also adds complementary script functions related to individual object light levels.
Well, and bug fixes, of course.
Includes all changes from 3.3.3 release

What's new since 3.4.0.3:

Common features
Papagayo format is now supported for lip syncing
The use is similar to Pamela lip-syncing.


Editor
Improvements
* Region's TintLuminance property can be set in the Room Editor, along with other Region's tint settings.
* "Close all tabs" command for the pane's context menu.

Bug Fixes
* Implemented several missing limits checks for the new game compiler.
* Fixed writing faulty timestamps in project file on some occasions that could spoil usage of file versioning control.


Editor Plugin API
* Exposed GUI Panes to plugin API.


Script API

Custom property values can be set at runtime

The related script functions are added to all classes that supported GetProperty() and GetTextProperty(), that is - Room, InventoryItem, Hotspot, Object and Character:
Code: ags

  /// Sets an integer custom property associated with this room.
  static bool SetProperty(const string property, int value);
  /// Sets a text custom property associated with this room.
  static bool SetTextProperty(const string property, const string value);

They return 'true' if the property value was changed, or 'false' if such property does not exist, or property type is incorrect (like setting text value for integer property).

NOTE: Room, Hotspots and room Objects property values are reset to defaults when ResetRoom() is called.


Improvements to Tinting functions to make various tinting methods and properties compliant.
(This should be compatible with Draconian Edition scripts)

Region.Tint() script function now has optional luminance parameter
Code: ags
void Tint(int red, int green, int blue, int amount, int luminance = 100);


New SetAmbientLightLevel() script function.
Code: ags

  /// Sets an ambient light level that affects all objects and characters in the room.
  void SetAmbientLightLevel(int light_level);


New Character.SetLightLevel and Object.SetLightLevel script functions
Code: ags

  /// Sets the individual light level for this character.
  import function SetLightLevel(int light_level);


Negative light levels can be used in 8-bit games to produce darkening effect.
This applies to Ambient, Character and Object light level functions (it already worked with Region.LightLevel).


Scripting
Improvements
* Removed 10,000 script symbols limit. Now you can have more variables and functions in scripts, and not worry about too many game objects with script names in general.

Variable declarations in "for" loop initialisers
This allows syntax like `for(int i = 0; i < 10; i++)` where `i` is a
variable local to the for loop.

Bug Fixes
* Do not parse *= as one operator in pointer parameter declarations.
* Fixed "Size of identifier does not match prototype" error shown unexpectedly for correct script.




Engine
Improvements
* DynamicSprite.CopyTransparencyMask() now does not overwrite transparency on destination with opaqueness from mask.
* Engine will now try to use all available graphic renderers in an order of priority, if the previous ones fail.
(Now Direct3D will be tried if Software renderer was requested by user but failed.)
* More precise detection of max possible window size when initializing windowed display mode.

Bug Fixes
* Fixed engine did not properly try to initialize opposite display mode if windowed or fullscreen mode failed (introduced in 3.4.0.0).
* Proper ARGB-to-RGB and RGB-to-ARGB blenders used in 32-bit games (opaque sprites combined with sprites with alpha). This was broken for particular cases in 3.4.0.2.

Monsieur OUXX

#205
Quote from: Crimson Wizard on Mon 27/04/2015 22:41:46
* Exposed GUI Panes to plugin API.
* DynamicSprite.CopyTransparencyMask() now does not overwrite transparency on destination with opaqueness from mask.

Neat! That got me excited.

Question: Does the "luminance" parameter allow to make the sprite brighter than originally, or does "100" still match regular brightness?
 

Crimson Wizard

#206
Quote from: Monsieur OUXX on Tue 28/04/2015 14:05:27
Question: Does the "luminance" parameter allow to make the sprite brighter than originally, or does "100" still match regular brightness?
Luminance works same way in all tint functions, you may refer to SetAmbientTint:
Quote
The SATURATION parameter defines how much the tint is applied, and is from 0-100. A saturation of 100 will completely re-colourize the sprites to the supplied colour, and a saturation of 1 will give them a very minor tint towards the specified colour.

The LUMINANCE parameter allows you to adjust the brightness of the sprites at the same time. It ranges from 0-100. Passing 100 will draw the sprites at normal brightness. Lower numbers will darken the images accordingly, right down to 0 which will draw everything black.
NOTE: the "amount" is "saturation" (I think I forgot to rename it).

On contrary, new SetLightLevel functions works same as in Region.LightLevel:
Quote
The light level is from -100 to 100. This is different from the editor, which takes values from 0 to 200. Subtract 100 from the value you would use in the editor when calling this function. The reason for this discrepancy is legacy reasons from the DOS editor days.

To disable region lighting and tinting effects, set LightLevel to 0.
The 256-color games can only use LightLevel = -100 to 0 (darkening only).


This new version made both full Tint functions (RGB-S-L) and Light Level property work in all kind of ways:
* per Region;
* Ambience (all room) - overrides regions;
* per Character / Object - overrides ambience and regions.

This is not a completely new feature, but rather a logical completion of existing feature.

cat

Is the fix that Gurok made regarding the not compiling modules also included in this version?

Crimson Wizard

Quote from: cat on Tue 28/04/2015 14:27:21
Is the fix that Gurok made regarding the not compiling modules also included in this version?
Yes, all fixes by Gurok are in there. I believe the one that you were interested with is
Quote
Fixed "Size of identifier does not match prototype" error shown unexpectedly for correct script.

cat

Thanks, then I will upgrade to the next alpha.

ChamberOfFear

Quote from: Crimson Wizard on Mon 27/04/2015 22:41:46
Editor
Improvements
* "Close all other tabs" command for the pane's context menu.

Tiny correction; the "Close all others tabs" command already existed before this release, it is the "Close All" command that has been implemented. What happened with the "Close all others" is that the confirmation dialog was removed.

cat

#211
Everything is compiling and running smoothly, thanks for this official alpha version :)

When I opened my project, there was a message box stating that there was obviously some kind of note-plugin in the inofficial test version I was using before. This seemed to be useful as I usually keep my notes in a todo.asc file in the project. Will this be included in a future version or can I get this separately?

(Completely OT: ChamberOfFear, is this Blacksad in your avatar?)

Edit: One more thing: Setting the User.ico does not seem to work anymore, but Setup.ico seems to work, even if not for all display modes (or maybe my windows has just display issues)

monkey0506

user.ico is a known issue of this alpha since the new build target interfaces were added. I've been over the code and AFAICT, nothing pertinent has actually even changed. The generated EXE is identical, so there should be nothing preventing the icon being updated.

In fact, in my test, the native methods responsible for updating the icon are reporting success.

I may look into refactoring the icon updating to a C# method instead and see if that fixes the problem. The native interop is still somewhat perplexing to me, so I could be overlooking something simple.

ChamberOfFear

Quote from: cat on Wed 29/04/2015 19:31:59
When I opened my project, there was a message box stating that there was obviously some kind of note-plugin in the inofficial test version I was using before. This seemed to be useful as I usually keep my notes in a todo.asc file in the project. Will this be included in a future version or can I get this separately?

(Completely OT: ChamberOfFear, is this Blacksad in your avatar?)

Edit: One more thing: Setting the User.ico does not seem to work anymore, but Setup.ico seems to work, even if not for all display modes (or maybe my windows has just display issues)
Can't answer if it will ever become included by default but you can grab it here http://www.adventuregamestudio.co.uk/forums/index.php?topic=51191.0

Quote from: cat on Wed 29/04/2015 19:31:59
(Completely OT: ChamberOfFear, is this Blacksad in your avatar?)
Yep.

Crimson Wizard

Quote from: cat on Wed 29/04/2015 19:31:59
When I opened my project, there was a message box stating that there was obviously some kind of note-plugin in the inofficial test version I was using before. This seemed to be useful as I usually keep my notes in a todo.asc file in the project. Will this be included in a future version or can I get this separately?
I never intended to include any editor plugins in these releases, but ofcourse we may include some popular plugins if the demand is high.

cat

The plugin doesn't seem to work with the current alpha anyway (I posted in the plugin thread already).

Now that I know what plugin it is I can just use it anytime. I just didn't know that such plugins even existed. I guess I have to thoroughly search the modules & plugins section of the forum for more useful stuff ;)

Gurok

Oh I'm sorry, cat. I think it's because that test copy came from me and I probably accidentally grabbed everything from my AGS directory with it. You can ignore the plugin. I know it's broken with the latest alpha.
[img]http://7d4iqnx.gif;rWRLUuw.gi

Crimson Wizard

Quote from: Gurok on Wed 29/04/2015 23:27:00
I know it's broken with the latest alpha.
Hmm, and why? What has changed?

Gurok

Quote from: Crimson Wizard on Thu 30/04/2015 00:00:49
Hmm, and why? What has changed?

Sorry, not your fault. I shouldn't have said "with the latest alpha". It's probably been broken for longer than just the latest alpha. I don't know exactly. I assume I'm doing something incorrectly. There's an intermittent problem with initialising a Scintilla editor that I've never bothered to track down because I've never had time. :/
[img]http://7d4iqnx.gif;rWRLUuw.gi

Monsieur OUXX

 

SMF spam blocked by CleanTalk