A new PAWN version - 4.0.4548
#1

Hey everyone. I have been looking for something on this site: http://www.compuphase.com/pawn/pawn.htm and I have found out that there is a new PAWN version - 4.0.4548.

So I would suggest that SA:MP team updates PAWN version to the new one.

And I would like to here your opinions about this.
Reply
#2

I will check it out, it looks good.
Reply
#3

We've been using 3.2.3664 since 2006 and there have been updates since. Plus, I doubt the SA-MP team will update Pawno (since the person who originally edited Pawno for SA-MP disappeared or something) or the SA-MP server (because it'd probably not be worth the hassle).

Quote:
Originally Posted by WoodPecker
View Post
I will check it out, it looks good.
Why are you going to "check it out?" There's nothing you can do with it, yet at least, and it has a very minor impact on end users.
Reply
#4

Nothing to do with it in SA-MP, as Calg00ne pointed out, SA-MP uses a special version of it.
Reply
#5

Quote:

The "enum" keyword is removed from the pawn language. Instead, "const" now declares either single constants or enumerated lists.

SA-MP scripters have so much code bound to enum style structs. I doubt this would be an easy transition. I do like what it has been replaced with. There is a much cleaner way of defining structs now and accessing member variables.

Quote:
Originally Posted by Calg00ne
View Post
Plus, I doubt the SA-MP team will update Pawno (since the person who originally edited Pawno for SA-MP disappeared or something) .. []
Pawno is just a simple editor for SA-MP pawn scripts. There is no reason it would need to be updated with a new pawn version in the server.
Reply
#6

Wouldn't you need to somehow change the pawncc compiler though? I was under the impression that whoever changed Pawno for SA-MP also changed the compiler especially for SA-MP? I read somewhere on these forums that was true, but I can't cite the source as it was a while ago.
Reply
#7

Quote:
Originally Posted by Kalcor
View Post
SA-MP scripters have so much code bound to enum style structs. I doubt this would be an easy transition. I do like what it has been replaced with. There is a much cleaner way of defining structs now and accessing member variables.
Quote:

- Previous versions of pawn used enumerations and tags to simulate a light-weight variant of structures. This has been replaced by a more direct way to declare "symbolic indices" in arrays. An array can now be declared as:

new rect[.left, .top, .right, .bottom]

The array can then only be indexed with one of the declared symbolic fields, such as in:

rect[.bottom] = rect[.top] + 15

Since the only valid index is a symbolic field, the brackets may be omitted, giving the shorter equivalent:

rect.bottom = rect.top + 15

Symbolic indices may specify a tag for the field, and may also indicate a (pseudo-)array. Please see the "Language Guide" for details.

~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~

- To make the new way to specify symbolic indices more practical, the "#define" preprocessor directive now also supports definitions that are delimited with square brackets. This means that definitions do not have to fit on a single line. An example of such a declaration:

#define PRODUCT[
.code,
.description{20},
Float: .price
]

Later, this definition can be used to declare an array, for example:
new product[PRODUCT]

Wouldn't that mean:

pawn Code:
enum ePlayerInfo
{
    Skin,
    Money
}
new PlayerInfo[MAX_PLAYERS][ePlayerInfo];
to

pawn Code:
#define PLAYERINFO[
    .Skin,
    .Money
]
new PlayerInfo[MAX_PLAYERS][PLAYERINFO];
Not much to edit if that's correct.
Reply
#8

Quote:
Originally Posted by Kalcor
View Post
SA-MP scripters have so much code bound to enum style structs. I doubt this would be an easy transition. I do like what it has been replaced with. There is a much cleaner way of defining structs now and accessing member variables.
I think scripters could easily get used to new things. I think it should be updated to the newest version. I'm not saying it should be done in this SA:MP version (0.3c), it could be done for 0.3d version.
Reply
#9

Quote:
Originally Posted by Finn
View Post
Wouldn't that mean:

pawn Code:
enum ePlayerInfo
{
    Skin,
    Money
}
new PlayerInfo[MAX_PLAYERS][ePlayerInfo];
to

pawn Code:
#define PLAYERINFO[
    .Skin,
    .Money
]
new PlayerInfo[MAX_PLAYERS][PLAYERINFO];
Not much to edit if that's correct.
this works too o.o
pawn Code:
const ePlayerInfo
{
    Skin = 1,
    Money
}
new PlayerInfo[MAX_PLAYERS][ePlayerInfo];
damn The "char" keyword is gone, see above for the new way to declare packed arrays.
Reply
#10

Quote:
Originally Posted by Calg00ne
View Post
Wouldn't you need to somehow change the pawncc compiler though? I was under the impression that whoever changed Pawno for SA-MP also changed the compiler especially for SA-MP? I read somewhere on these forums that was true, but I can't cite the source as it was a while ago.
Pawno is not really connected our changed the Pawn compiler, it just activates it on the code.
There is no need to update it, when you'll update the compiler Pawno will just work with it too.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)