[ABANDONED] AGS 3.3.1 Alpha 2 Turbo

Started by Gurok, Tue 11/03/2014 11:25:53

Previous topic - Next topic

Crimson Wizard

Quote from: Gurok on Wed 12/03/2014 13:40:48
I have a feeling that we won't get any feedback about the new scripting stuff until someone finds a bug.
Lol, you need to have patience, such things are usually revealed 1 week before final release :D.

monkey0506

Quote from: Gurok on Wed 12/03/2014 12:59:21I'm too used to writing it the "proper" way ( while(i-- > 0) )

Hmm, that's funny. I've never heard anyone refer to the postfix operator as being "proper" (even if it is an aggregate type in a language with no prefix operator). :cool:

Quote from: Crimson Wizard on Wed 12/03/2014 13:44:46
Quote from: Gurok on Wed 12/03/2014 13:40:48
I have a feeling that we won't get any feedback about the new scripting stuff until someone finds a bug.
Lol, you need to have patience, such things are usually revealed 1 week before final release :D.

Or a week after release.

Ryan Timothy B

Code: ags
Game.AudioClips[n]

In all honesty, it should've been  audio[n]  to keep with AGS's standard (ie object[n], character[n] etc), but this is the better choice. But since I've brought it up, it would've been nice to have things grouped in a more organized and intuitive convention like: Audio.Clips[n]   or something of that sort.


Has anyone thought of adding a do while loop? Not that it's an important addition (neither was the for loop though), it would just be nice to have.

Anyway nice additions everyone!

Gurok

Quote from: monkey_05_06 on Wed 12/03/2014 14:58:33
Quote from: Gurok on Wed 12/03/2014 12:59:21I'm too used to writing it the "proper" way ( while(i-- > 0) )

Hmm, that's funny. I've never heard anyone refer to the postfix operator as being "proper" (even if it is an aggregate type in a language with no prefix operator). :cool:


Hrm... not sure what you mean. Are you saying this because when a postfix operator is used with an aggregate type, it means creating a temporary copy? For the case of ints, --i and i-- generate identical opcodes, just in a different order as far as I know. So for that case, there's no reason to consider the i-- operator as being bad. I primarily use the postfix operator because I am lazy, hence the quotes around the term proper. In C and Javascript (which is my day job), you can get away with: while(i--) which saves keystrokes.
[img]http://7d4iqnx.gif;rWRLUuw.gi

Radiant

The difference is that i++ returns the value of i and then increments it, whereas ++i increments i and then returns the value. This is only relevant if you write wonky code like "j = ++i" or the like.

Gurok

Quote from: Ryan Timoothy on Wed 12/03/2014 20:32:05
Has anyone thought of adding a do while loop? Not that it's an important addition (neither was the for loop though), it would just be nice to have.

That's on my list after switch...case and passing structs as params.
[img]http://7d4iqnx.gif;rWRLUuw.gi

Radiant

#26
Quote from: Gurok on Wed 12/03/2014 23:16:05
That's on my list after switch...case and passing structs as params.
Cool, I would like to have do{}while as well.

Considering we already have +=, would it be a big deal to add *= /= &= |= ^= >>= and <<= ? I'm used to C++ coding and tend to reflexively type those before realizing they don't actually work. Yes, I actually use bitfields in AGS :D

(edit) sorry if that sounds like a lot, I figured they're all pretty much the same in terms of opcodes.

Dualnames

Provided the static extender works properly, this is quite fantastic!! And useful, wonderful job there, Gurok. +1 For several of these to be integrated into the main build.
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

Radiant

Quote from: Gurok on Wed 12/03/2014 13:40:48I have a feeling that we won't get any feedback about the new scripting stuff until someone finds a bug. Regardless, it would be nice to read a "I tried the new version and it ran a for loop fine" from someone so I know that I didn't completely mess things up :).

I'd be happy to give you feedback. I've got some rather complicated C++ code that I can try to compile in AGS, and if that works then it's pretty strong evidence that for/break/continue work properly. I'd probably have time for that in a couple of weeks. But the code also uses do{}while and some of the *= type operators, so I'd either have to wait for those to be added, or rewrite the code. Either way, it should be a nice test.

tzachs

Quote from: Gurok on Wed 12/03/2014 13:40:48
Regardless, it would be nice to read a "I tried the new version and it ran a for loop fine" from someone so I know that I didn't completely mess things up :).

I tried the new version and it ran a for loop fine.
Well done!

Crosco

He, the new built-in enum CharacterDirection is very interesting.
When I started to use AGS I began with a game template from Maniac Mansion Mania (http://www.maniac-mansion-mania.com). In this template they defined such an enum: eDirection. They used it at a Character extending function FaceDirection( this Character*, eDirection dir ).

So, maybe a function FaceDirection( CharacterDirection direction, optional BlockingStyle ) is a useful extension to the FaceCharacter, -Object, ... functions and should make it into AGS?


GrogGames

#31
very nice!!! ;-D

When i was a "kid", i learn programation with AGS, with the proskito's templates,
and i remember, thah i was very surprised with the "while-int i=0-i++" conjunction, i tought "oh, what a clever use of while" (i had no-idea of "for", or something like it).
I think, if "for" existed in AGS in that moment, then that no was happen. That was a great moment of my adolescence.

But, yes, is very, very useful for me (now more adult), the "for" sentence. At overall, for better understanding of the code.

I am studing "Informatic Enginering", and i no have idea of "continue" existence . That is very useful too. And i learn something new :)

And, obviulsy, "break" is useful, always that will be used with responsability.

in conclusion, very interesting propose!

Gurok

I'm hoping this is not considered presumptuous, but I'd like to bump the build number and the version numbers in the repository and release what we have as "3.3.1 alpha 1". If CrimsonWizard obliges, I'd be happy to update this thread with the changelog. Or if you prefer, CrimsonWizard, you can start a new thread for 3.3.1 alpha 1. What do you think?

Among the changes since this test build are better screen resolution selection, fixed building after moving script folders around and extra operators in scripting (e.g. *=, /=).
[img]http://7d4iqnx.gif;rWRLUuw.gi

Crimson Wizard

#33
Sure, please do. I am sort of distracted from AGS lately.
Two months ago I asked JJS to give you contributor rights in the ags repository, but JJS hadn't been on forums since February :(. I am not sure if I may do this myself, I haven't found a way to do this yet (github UI is confusing).

I don't remember if I mentioned this before. We are using odd build numbers for development versions (e.g. 1163, 1165 etc) and even numbers for release versions (e.g. 1162, 1164 etc).

Gurok

Okay, I've updated the first post.
[img]http://7d4iqnx.gif;rWRLUuw.gi

Crimson Wizard

#35
I think you should make a notice which features are from 3.3.0 update, to prevent possible confusion.

Also, I completely forgot, I had to add a fix to extended WFN renderer which lets to load incorrect WFN fonts (already used in Scavenger's "Heatwave", for example). I might do that soon.

monkey0506

I made a combined build of the new 3.3.1 alpha with the Linux compilation. Hope you don't mind me piggybacking this onto your release. (roll)

https://bitbucket.org/monkey0506/ags/downloads/3.3.1%2Blinux.rar

Radiant

Quote from: Gurok on Sun 04/05/2014 11:20:38
I'm hoping this is not considered presumptuous, but I'd like to bump the build number and the version numbers in the repository and release what we have as "3.3.1 alpha 1". If CrimsonWizard obliges, I'd be happy to update this thread with the changelog. Or if you prefer, CrimsonWizard, you can start a new thread for 3.3.1 alpha 1. What do you think?

Among the changes since this test build are better screen resolution selection, fixed building after moving script folders around and extra operators in scripting (e.g. *=, /=).

Very good news! Thank you Gurok!

Gurok

#38
Quote from: Crimson Wizard on Sun 04/05/2014 17:32:46
I think you should make a notice which features are from 3.3.0 update, to prevent possible confusion.

You're absolutely right. For now, to avoid confusion, I've completely removed the sections about upscaling and resolution selection. Are there any other 3.3.0 features I've listed by mistake? I didn't realise upscaling was already present in 3.3.0. I just went through all the commit logs in order. Sorry!

Quote from: monkey_05_06 on Sun 04/05/2014 20:44:25
I made a combined build of the new 3.3.1 alpha with the Linux compilation. Hope you don't mind me piggybacking this onto your release. (roll)

https://bitbucket.org/monkey0506/ags/downloads/3.3.1%2Blinux.rar

I have included a link to this in the main post. I don't see why this couldn't be part of 3.3.1 alpha 2. I saw your thread and branch about this feature and was wondering why there wasn't a pull request yet.

I can't test how the builds work because I don't run Linux. They certainly seem like they're being built though! I guess I could try it out in a VM at some point.

The "linux" directory, however, does feel wrong to me somehow. I know that the directory structure of an AGS game isn't great to start with, but it would be nice to organise the directories like so:

Compiled\Windows\
Compiled\Linux\

And then, of course, if "automatically build for all available ports" is unchecked, revert to the old behaviour of dumping the Windows .exe directly into compiled:

Compiled\

But I don't know... would that kind of reorganisation break anything? We might need to update the editor "delete all" code so that it recursively deletes directories inside Compiled\. Having this kind of hierarchy would also ensure Linux files are deleted when the editor rebuilds for Windows only.

Edit: Oh gosh, sorry monkey_05_06, I probably should have posted this in your test thread.
[img]http://7d4iqnx.gif;rWRLUuw.gi

Crimson Wizard

Quote from: Gurok on Mon 05/05/2014 07:23:59
Quote from: monkey_05_06 on Sun 04/05/2014 20:44:25
I made a combined build of the new 3.3.1 alpha with the Linux compilation. Hope you don't mind me piggybacking this onto your release. (roll)

https://bitbucket.org/monkey0506/ags/downloads/3.3.1%2Blinux.rar

I have included a link to this in the main post. I don't see why this couldn't be part of 3.3.1 alpha 2. I saw your thread and branch about this feature and was wondering why there wasn't a pull request yet.

Maybe people will look at this first and tell if that's ok the way it's done? Just to be sure that it is made conveniently. Just suggesting.

Also, Gurok raised good point about directory structure.

SMF spam blocked by CleanTalk