Jump to content


GM 8.1 "tiny" feature request...


  • This topic is locked This topic is locked
186 replies to this topic

#21 orange08

orange08

    Art Game Movement

  • GMC Member
  • 2196 posts
  • Version:GM:HTML5

Posted 17 March 2011 - 02:26 PM

I'd really like to be able to have an animated loading image/loading bar(gif's).
It doesn't seem like it would be a hard thing to do, but then again I don't know much about making loading bars ._.

Edited by orange08, 17 March 2011 - 02:28 PM.

  • 7

#22 Tsn

Tsn

    GMC Member

  • GMC Member
  • 277 posts
  • Version:Unknown

Posted 17 March 2011 - 02:31 PM

I'd like there to be a possibility to search through all objects the same way it is possible with scripts.
  • 3

#23 Yal

Yal

    Gun Princess

  • Global Moderators
  • 5813 posts
  • Version:GM8.1

Posted 17 March 2011 - 02:37 PM

I'd like the functions instance_activate_object_region(left,top,width,height,object,inside) and instance_deactivate_object_region(left,top,width,height,object,inside,notme) to be added. (I've suggested these since 6.1, in fact). They would (de)activate instance inside or outside a given region, but only instances of the given object. These functions would for instance make it much more simple to use deactivation in platform games since they provide a convenient way of having walls active in a box around the normal active box - preventing enemies and items off-screen to get stuck when walls get activated. These functions alone would make the nearly-deprecated instance deactivation system a lot more versatile, and it would be a lot easier to use for newbie developers - the commonplace workaround would be using 7 calls of misc. (de)activation functions (and two extra parent objects), while with these functions it's enough with 3 calls.

I also figure they could be added pretty quickly by just copy-pasting the code from instance_activate_region() and adding a check for whether the current instance in the loop is of the type of object we're (de)activating. Unless you're coding Game Maker in Assembly. ;)

Edited by Yal, 17 March 2011 - 02:38 PM.

  • 3

#24 Manuel777

Manuel777

    InvaderGames

  • GMC Member
  • 2847 posts
  • Version:GM:Studio

Posted 17 March 2011 - 02:57 PM

In the sprite editor i always wanted to have an option to set the alpha of the current image to the color of the current image (set alpha from color?)
It would be handy when you have to work with many different alphas and subimages, so you dont have to export every image and then load the alpha of each of them..
  • 0

#25 icicle.flame

icicle.flame

    CyntaxGames

  • New Member
  • 283 posts

Posted 17 March 2011 - 03:11 PM

For the instance acivate object you can say
with(object){
if x<(left) and x>(right) or y<(top) and y>(bottom){
instance_deactivate();
}
}

And wont draw_self be draw_sprite(sprite index,-1,x,y)?

Ok... I would like to see:
A) a search (or find and replace xD) in all code at one time (not just scripts)
B) the option to compile to windows exe, or mac (uhh..) .app? .dmg?

:0 (and the source code for gm. If that could be worked out =P)

Much Appreciated
  • 2

#26 Yal

Yal

    Gun Princess

  • Global Moderators
  • 5813 posts
  • Version:GM8.1

Posted 17 March 2011 - 03:21 PM

Icicle, you clearly are a novice.

For the instance acivate object you can say
with(object){
if x<(left) and x>(right) or y<(top) and y>(bottom){
instance_deactivate();
}
}

And wont draw_self be draw_sprite(sprite index,-1,x,y)?


draw_self() would be draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_angle,image_blend,image_alpha), and that function is not available for Lite users even though they may alter xscale, yscale and alpha.

As for instance activation - first of all, you should use paranthesises - that expression will not only be true when the instance is inside the box but also during some other times. Plus, calling interpreted GML a lot of times with one compiled code call per time is LOADS slower than calling interpreted GML once and have lots of compiled function calls as the result of the GML call.

Finally, tell me how to activate objects of a single type only in a desired region, using currently existing GML functions. *snicker*.

Edited by Yal, 17 March 2011 - 03:22 PM.

  • 0

#27 BlueMoonProductions

BlueMoonProductions

    BlueMoonProductions

  • GMC Member
  • 241 posts
  • Version:GM:Studio

Posted 17 March 2011 - 03:23 PM

'Enhance' the z-buffer.

At the moment, it is only 16-bit, which allows 65536 different values. This causes a lot of ugly renderings, especially when using d3d_set_projection instead of d3d_set_projection_ext.
The default values of znear and zfar in d3d_set_projection are 1 and 32000. I'm not sure if you can imagine that this will be a problem with a 16-bit z-buffer(65536 values), but really, it is.

But even when using fixed values for znear and zfar, 16-bit is not good enough.

So my suggestion is, enhance the z-buffer to 32-bit or even 64.

Edited by BlueMoonProductions, 17 March 2011 - 03:23 PM.

  • 4

#28 thatshelby

thatshelby

    GMC Member

  • GMC Member
  • 3823 posts
  • Version:GM8

Posted 17 March 2011 - 03:48 PM

My suggestion.


I'd like to have a center tool in the sprite editor. Sometimes I work with huge canvases for sprites that I don't know what the final size will be. With a center tool, I can center the sprite where-ever I like on the canvas, resize to the limits of the sprites, and then center it so that it's simple. If you really want to make me happy, center around a point.


I know we have a crop tool, but I'd like it to be better. If a traditional slider, WYSIWYG way is not too hard, that'd be great, however I think this is pushing it.
  • 4

#29 LSnK

LSnK

    NaN

  • GMC Member
  • 1188 posts

Posted 17 March 2011 - 04:15 PM

Please integrate these commonly-used scripts as functions.

The most important ones are lerp and angle_diff. Incredibly useful.
  • 2

#30 Dark Matter

Dark Matter

    RPG Expert

  • GMC Member
  • 3196 posts
  • Version:GM:Studio

Posted 17 March 2011 - 04:23 PM

Erik Leppen: I actually quite like it. Also, with the new <CTRL-F> for finding, you need it to mark it so that when you type a NEW search, it'll replace the one thats there. Otherwise youd have to do <CTRL-F> and then manually delete the text thats there. So... sorry. :(

This is the most annoying thing ever, added to the fact that search settings are not global (which they should be), so you have to constantly type then in again. There is no advantage to highlighting all the text on one click instead of double clicking (like anything else).

Can't you just make one click place the cursor and a double click highlight it all? Please?

Edited by Dark Matter, 17 March 2011 - 04:27 PM.

  • 1

#31 xshortguy

xshortguy

    GMC Member

  • Global Moderators
  • 4186 posts
  • Version:GM:Studio

Posted 17 March 2011 - 04:25 PM

If there's one thing I would really like, its support for 4x4 matrices with common scripts such as matrix inverses, matrix multiplication, eigenvalues, etc.
  • 0

#32 CreativeGuy

CreativeGuy

    GMC Member

  • New Member
  • 47 posts

Posted 17 March 2011 - 04:26 PM

Not sure how long it will take but a WHERE function would be cool like :


A = instance_nearest(x,y,object) WHERE health=1;


to allow for easier instance selection.
  • 0

#33 Medusar

Medusar

    GMC Member

  • GMC Member
  • 1228 posts
  • Version:GM:Studio

Posted 17 March 2011 - 04:29 PM

instance_activate_object_region(left,top,width,height,object,inside) and instance_deactivate_object_region(left,top,width,height,object,inside,notme)

Instance activation / deactivation has been more or less deprecated. Which, considering YYG aim for smaller devices, is a pity I have to say.

Anyway, I think that a foreach statement to deal with individual values in an array would be nice. Especially as there currently is no way for us to determine the size of an array other than by manually keeping track of it. Alternatively (keeping it one per customer), I'd be quite happy with a sizeof() function to determine the number of array elements and use a normal for loop. Shouldn't be too difficult as the runner already keeps track of this.
  • 0

#34 BlueMoonProductions

BlueMoonProductions

    BlueMoonProductions

  • GMC Member
  • 241 posts
  • Version:GM:Studio

Posted 17 March 2011 - 04:31 PM

Not sure how long it will take but a WHERE function would be cool like :


A = instance_nearest(x,y,object) WHERE health=1;


to allow for easier instance selection.

This can already be done with the with-statement:
with(instance_create(x,y,object))
 {
  health = 1;
 }
If you really want to save the instance id in a variable:
var a;
a = instance_create(x,y,object);
with(a)
 {
  health = 1;
 }
Please don't tell me this is not easie instance selection.


EDIT: Sorry, misunderstood your post.

It could be faster though. I know I already did a 'request', but at least I could mention(:P) it: var a=1; would be a nice feature.

Edited by BlueMoonProductions, 17 March 2011 - 04:45 PM.

  • 1

#35 Dark Matter

Dark Matter

    RPG Expert

  • GMC Member
  • 3196 posts
  • Version:GM:Studio

Posted 17 March 2011 - 04:34 PM


Not sure how long it will take but a WHERE function would be cool like :


A = instance_nearest(x,y,object) WHERE health=1;


to allow for easier instance selection.

This can already be done with the with-statement:
with(instance_create(x,y,object))
 {
  health = 1;
 }
If you really want to save the instance id in a variable:
var a;
a = instance_create(x,y,object);
with(a)
 {
  health = 1;
 }
Please don't tell me this is not easie instance selection.

It could be faster though. I know I already did a 'request', but at least I could mention(:P) it: var a=1; would be a nice feature.

That's not what he means. He means something like instance_nearest_variable(). (Sorry for the 2nd post :unsure: )

Edited by Dark Matter, 17 March 2011 - 04:34 PM.

  • 0

#36 Artaex Media

Artaex Media

    Artaex Media

  • GMC Member
  • 1528 posts
  • Version:GM8

Posted 17 March 2011 - 04:43 PM

Be able to hide small parts of code in the code editor.
Just like in Dreamweaver.
It can be incredibly useful, when writing large scripts.

It should look like this:
Posted Image

-RefluxLtd ;)

(PS. Sorry that you can't see the cursor. Blame Windows for that :P)
  • 9

#37 kburkhart84

kburkhart84

    GMC Member

  • GMC Member
  • 1606 posts
  • Version:GM:Studio

Posted 17 March 2011 - 04:53 PM


instance_activate_object_region(left,top,width,height,object,inside) and instance_deactivate_object_region(left,top,width,height,object,inside,notme)

Instance activation / deactivation has been more or less deprecated. Which, considering YYG aim for smaller devices, is a pity I have to say.


I saw that in the manual. Does anyone know if they are recoding it, or replacing it with something similar(hopefully even better). For bigger games, that is a necesity due to GM's lack of speed with too many objects.

**Now my feature request

I wish the cursor in the text(script/code) editors was more "intelligent." It should remember what x position in the text it was at, and stay there when you use arrow to move down. Visual Studio's text cursor does this. Take the following code.
with(flamefrontleft)
{
    myparent = other.id;
    xoffset = 10;
    yoffset = -29;
}
with(flamefrontright)
{
    myparent = other.id;
    xoffset = 10;
    yoffset = 29;
}
with(flameleft)
{
    myparent = other.id;
    xoffset = -19;
    yoffset = -62;
}
Say I want to change the other.id's all to be something else. Right now(without search/replace), I move to the first one, change it, and for speed, I use the arrow to move down to the next one. But the cursor "forgets" it was at like xposition 22(or close) and when I go past the bracket, stays at position 2, so I have to either move right back again, or use the mouse and click.
  • 3

#38

  • Guests

Posted 17 March 2011 - 05:09 PM

Okay... come one guys. QUICK things to add!! A folding text editor is NOT a quick thing!! :)

instance_activate_object_region(): I'm afraid it's actually not a quick job to play with instances. They aren't arranged very well at all. Perhaps in a future update.

manuel777: Dont follow you... how can you set the alpha (0-255) to a colour (3 channel RGB)?!?!?

BlueMoonProductions: ZBuffer is now 24bit. Will fall back to 16bit if theres issues.

Theophilus: Sorry. would take too long for now.

LSnK: Yeah... would be nice to add lots of functions like this. Theres loads though... We might try and add some if we have a little down time. But theres loads we "could" add here, so it could be a bit of a black hole in terms of time; just one more etc.

Dark Matter: Don't follow you....?

xshortguy: Would take WAY too long. We will be doing a maths update at some point, but not yet.

CreativeGuy: While you're dreaming, would you like a poney too? :)

Medusar: They are both a bit complicated. On top of that once you set a variable the array stays that size, and theres no way of properly "clearing" it, meaning you can't size down at all - this would encourage sloppy coding. So until such time as we can "reduce" arrays in size, I wouldn't want to add this....

kburkhart84: Yeah... would take too long to do I'm afraid. A better code editor in general would be nice. I would love tabs over spaces, but that would take ages too... I already tried. :(

Come on guys... "simple" changes please...

#39 Lapps

Lapps

    GMC Member

  • GMC Member
  • 685 posts
  • Version:GM:Studio

Posted 17 March 2011 - 05:09 PM

To be able to draw things at different layers, as if the object was at that layer. As it is, to have one thing under and another bit of the object on top of a middle one (like a sprite in a ship), we have to make two separate objects for the ship, and what if a game needs to do a lot of this, it'll double the instance count.

Something like:
draw_set_depth(-3)
// or
draw_set_depth(depth)

Edited by Sonica2, 17 March 2011 - 05:12 PM.

  • 3

#40 Dark Matter

Dark Matter

    RPG Expert

  • GMC Member
  • 3196 posts
  • Version:GM:Studio

Posted 17 March 2011 - 05:13 PM

Dark Matter: Don't follow you....?

At the moment if you click once in the search field, it highlights the entire text, which makes it hard to change certain bits. It would be much better if you made it work just like any other text field and just place the cursor where you click. Then, you could double click in the field to highlight it all.
Secondly, if you're searching across multiple scripts, the search field text is kept local, so that if you change the text in the search field in one script, it won't change for the others, which is time consuming to change each time.
  • 2




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users