v6cord / VVVVVV-CE

:warning: VVVVVV: Community Edition is no longer being worked on, supported, or maintained. For more information, see https://vsix.dev/vce/status/
https://vsix.dev/vce/status/
Other
23 stars 2 forks source link

Suggestions #4

Open leo60228 opened 4 years ago

leo60228 commented 4 years ago

stelpjo:

pixelator:

Fussmatte commented 4 years ago

What I meant by repo wiki was a wiki on the repo containing explanation and documentation for all the new features.

Fussmatte commented 4 years ago

Suggestions:

Fussmatte commented 4 years ago

In hindsight, just implementing variables that can be used combined with filenames in CE commands would do the same job as the last one.

leo60228 commented 4 years ago

Fix mapimage() (and custom maps in general) not working with gamemode(teleporter).

Implement a command that shows all the coordinates on the map permanently.

Fix the memory leakage from using mapimage() multiple times.

Done. (new command is disablefog)

Implement a command that shows all the coordinates on the map temporarily (perhaps until the script ends.)

Does using disablefog and enablefog work?

In hindsight, just implementing variables that can be used combined with filenames in CE commands would do the same job as the last one.

@AllyTally Are you planning this?

Implement a command that loops mapimage() in succession by loading images incrementally, eg mapimage(graphics/filename$.png,000,134,5), with $ being replaced with 000-134 automatically, and putting a 5-frame delay between each usage of mapimage. Maybe this is too crazy, but it'd be cool for animations using gamemode(teleporter).

I'd rather just use variables if possible.

leo60228 commented 4 years ago

Wait, I haven't pushed yet.

leo60228 commented 4 years ago

Done.

Fussmatte commented 4 years ago

markmap(roomx,roomy,tiles1 tile id), kind of self explanatory - it isn't imo

What I think pixelator meant by this was that you should be able to make a map marker (like the T's representing teleporters or S's representing trinkets in the main game) using any tile from tiles1.

Thanks for the fixes, btw!

AllyTally commented 4 years ago

In hindsight, just implementing variables that can be used combined with filenames in CE commands would do the same job as the last one.

@AllyTally Are you planning this?

If you set the variable this to green, then something like changeplayercolour(%this%) would turn the player green. It's basically just a simple find/replace, so it'll most likely work with commands that need filenames. If not, that's a huge bug!

Fussmatte commented 4 years ago

More suggestions:

InfoTeddy commented 4 years ago

Fix green enemies in gray Warp Zone tileset

As of c47061d9d8c384ed287b9689178b56fe2bf63035, this is fixed.

InfoTeddy commented 4 years ago

placeable upsidedown terminals

As of ca9867e09ce45a8dbb39cd0457a1ca7f244b10f9 and 02c267eeae0a466cff3e571b67be4a21f7ea7c6c, this is added.

InfoTeddy commented 4 years ago

Fix cutscene bars appearing on one-time scripts with say or reply

I am interested in figuring out a good theoretical solution to this. I don't have a good one yet.

leo60228 commented 4 years ago

I was thinking to insert the cutscene bars before the first say/reply and remove them after the last one.

leo60228 commented 4 years ago

btw @InfoTeddy, if you have owner perms in an organization you can edit other people's comments

Fussmatte commented 4 years ago

More suggestions:

InfoTeddy commented 4 years ago

@leo60228 Oh, okay.

InfoTeddy commented 4 years ago

Fix cutscene bars appearing on one-time scripts with say or reply

As of a3cd8f765f1c7a59f347fcc09b106e0aeec22ede, you can use nobars() to disable automatic cutscene bar placement.

InfoTeddy commented 4 years ago

Reload scripts in room without affecting entities

As of a62adec85549e95e9ae7c8e60e4fdf80f8bde78d, you can use reloadscriptboxes().

InfoTeddy commented 4 years ago

Gray Warp Zone tileset in editor

Added in b989857b9cb6b96a275ab8df4b37554beca1da06.

InfoTeddy commented 4 years ago

Mode for flipping in mid-air/disabling flipping/jumping

Both added in a332ed36cbbdeb232db64bfbbfa8cc87afebf1fb and 05f8e715928b33aa4d3578cafe9f0098bc80543a for toggling flipping, and d2479b357583ad646c98dfea8d5b9a61de313192 and e14ac342bb2952f4b81aef0ccc8a20bb8d08be86 for toggling mid-air flipping. Use disableflip and enableflip for toggling flipping and enableinfiniflip and disableinfiniflip for toggling mid-air flipping.

InfoTeddy commented 4 years ago

untilmusic(), to wait until the music has fully faded in/out, but the only real usefulness that would have is covered by nicefade()

Whatever this nicefade() is supposed to be, I can't find it anywhere and it's not in the Discord. So I can't tell what Pixelator wants a nicefade() to do.

InfoTeddy commented 4 years ago

Proper stopscript command

Do we need this? loadscript(stop) works fine.

InfoTeddy commented 4 years ago

untilmusic(), to wait until the music has fully faded in/out, but the only real usefulness that would have is covered by nicefade()

This is useful apart from a not-yet-added nicefade() because a while ago a second optional argument to play() was added, being the fade-in time for the track in milliseconds.

And as of 2f8ef9213c223c093a2c02c64ed8d27132d87fff, untilmusic() has been added, along with puntilmusic().

leo60228 commented 4 years ago

I'm guessing it was a typo of niceplay.

InfoTeddy commented 4 years ago

Labels and goto command

As of 66cbae3bb1765a144e755af39b99e6c45f4b309e, this is added. Define a label using $label$, then to jump to it, use it as a script name in a command like iftrinkets, e.g. iftrinkets(0,$label$). If you're in another script, simply use scriptname$label$ as a script name instead.

InfoTeddy commented 4 years ago

creatergbcrewman should be a thing. also should we use hex codes instead of three separate arguments for r, g, and b - unsure of the status on this

Why should we use hex codes instead?

InfoTeddy commented 4 years ago

Fix delay when immediately loading a script when entering a room

As of a2fda687b806893f3cb8942aa9dc7da3198f7f66, this is fixed.

I personally checked with libTAS that the script executes immediately upon entering a room, btw.

InfoTeddy commented 4 years ago

Enemy speed

Please elaborate on this one, @Stelpjo. Do you mean you want a room property to control the room's edentity enemy speed just like the platv room property?

Fussmatte commented 4 years ago

Enemy speed

Please elaborate on this one, @Stelpjo. Do you mean you want a room property to control the room's edentity enemy speed just like the platv room property?

Yes, that would be nice!

leo60228 commented 4 years ago

Discord bot to automatically upload levels - bot at https://github.com/leo60228/levelbot, client not implemented

InfoTeddy commented 4 years ago

also an inverse endtextfast, maybe speak_fast and speak_active_fast

As of 54925bb2f6e175ff75fb300ef76aee893e9a8d1e, these have been added.

InfoTeddy commented 4 years ago

Variables have been added (they've already mostly been added, I just added support for saving and loading them from a quicksave).

Use setvar(name [, contents]) to set a variable to either the given argument or to what's on the next line. Use addvar(name [, value]) to add or subtract an amount from a number, or to concatenate a string to a variable, using either the given argument or whatever's on the next script line.

Fussmatte commented 4 years ago

More suggestions:

Besides that and fixing automatic custom asset loading, I think a lot's already been good enough for me.

Trinket9 commented 4 years ago

Suggestions:

InfoTeddy commented 4 years ago

remove the settile thing from all rooms where it happens but exactly (12,8) 1-indexed which is prize for the reckless

If we're fixing this (which I don't really plan on doing anyway), I'd rather we just make it so it only happens in the main game. I don't think we need this hardcoded behavior anywhere in custom levels.

InfoTeddy commented 4 years ago

Extend the 20x20 map limit to 30x30 or 25x25

As of b1bfe2e8a7c1270e7234a785189e3c4e5d173e4d, this limit has been raised to 100x100.

PIXELATOR37 commented 4 years ago

why hello, it is I, the person who made an account to comment on this

creatergbcrewman should be a thing. also should we use hex codes instead of three separate arguments for r, g, and b - unsure of the status on this

Why should we use hex codes instead?

i just didn't want to raise the number of arguments the command has to around 10(!). seeing as it would be more consistent to use three separate arguments instead, that should be what's done, but that will make it 100% impossible to refer to the crewmate in other commands

anyway, i'm putting some more suggestions:

AllyTally commented 4 years ago

More suggestions:

  • Enemy speed

As of 022b2f50123158a2736370494aa1344e545464c7, this has been implemented. Use [ and ] to change the speed of enemies you're about to place in the editor.

mothbeanie commented 4 years ago

some incredibly specific suggestions of my own!

mothbeanie commented 4 years ago

(again, these are incredibly specific and mildly implausible so if none of them are possible/are extremely low priority thats OK)

InfoTeddy commented 4 years ago

starspeed() would have to be a speed multiplier instead, because the stars move at varying (random) speeds.

PIXELATOR37 commented 4 years ago

huh, it always seemed to me that there were two "groups" of stars, one with a set faster speed and the other with a set slower speed. though, that gives me an idea for a command -

InfoTeddy commented 4 years ago

huh, it always seemed to me that there were two "groups" of stars, one with a set faster speed and the other with a set slower speed.

There is, in a sense, two "groups". One of them is light-colored, the other is dark-colored. If a star's speed is less than 7 pixels per frame, it becomes the dark-colored speed. But within these two groups, they all have varying random speeds.

AllyTally commented 4 years ago

But within these two groups, they all have varying random speeds.

Due to the star speed being an int, there's really only three speeds

InfoTeddy commented 4 years ago

usable orange text boxes without textrgb. cmon i know the color is there

Not sure if you just misremembered, but the command to create a text box with RGB values is textcolor or textcolour, not textrgb.

InfoTeddy commented 4 years ago

usable orange text boxes without textrgb. cmon i know the color is there

As of 6162d4bf983dd7f69dfb1239fa14070d593d53b1, this has been added.

InfoTeddy commented 4 years ago

i just didn't want to raise the number of arguments the command has to around 10(!). seeing as it would be more consistent to use three separate arguments instead, that should be what's done, but that will make it 100% impossible to refer to the crewmate in other commands

It's really cumbersome to have to refer to crewmates by saying (115,200,5) all the time, no matter if it's collapsed into one argument by saying 0x73C805 instead. Plus, there's still the problem of being unable to neatly refer to multiple crewmates with the same color.

A better solution would just be being able to name crewmates instead.

InfoTeddy commented 4 years ago

Show pixel coords (multiples of 8, like in ved) while hovering over a tile (while not in tower mode) - to the right of the room coords

The right space of the room coordinates is already reserved for denoting the current alt state if you are not in the main state and denoting the current tower if you are in one. We can't add pixel coordinates to the right of the room coordinates or they'd most certainly go offscreen.

leo60228 commented 4 years ago

@InfoTeddy "A better solution would just be being able to name crewmates instead." this is already implemented lmao

InfoTeddy commented 4 years ago

Then the remaining problem with such a creatergbcrewman is the fact that the colour attribute of entities always goes through the Graphics::setcol() system.