Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Info Teddy

Pages: [1] 2 3 ... 18
1
Open Source Projects / Re: VVVVVV: Community Edition
« on: January 16, 2020, 01:45:58 PM »
im sticking with 2.2 for the 10th anniversary contest, y'all'ers will be like "how did he do that" when playing through my level

2
VVVVVV / Re: VVVVVV's 10th birthday eVVVVVVent!
« on: January 10, 2020, 12:50:56 PM »
Dav999's external editor is a lot more stable and fully featured than the built in editor so it's a nice tool to have: https://tolp.nl/ved/
hey i helped a bit with that

also yeah, im just going to make mine with internal scripting, because for anyone not in the community swapping assets is not going to be fun for them

3
VVVVVV Help / Re: Variation Venture broken on Android?
« on: January 10, 2020, 09:25:48 AM »
so apparently the android version is still the flash version and runs in adobe air, while the pc version was made in c++

that might explain a few things

4
VVVVVV / Re: VVVVVV's 10th birthday eVVVVVVent!
« on: January 10, 2020, 09:12:21 AM »
is this a no-custom-assets one?

5
VVVVVV Help / Re: invisible spikes
« on: January 07, 2020, 11:45:18 AM »
there's also spikes in tiles3.png. but you don't have to do anything complicated, just blank them out and you're good to go.

there's fake spikes at the bottom of tiles.png to make it seem as if there is a background behind these spikes, but you can just replace them with the background instead.

6
VVVVVV Help / Re: Variation Venture broken on Android?
« on: January 07, 2020, 11:43:04 AM »
unless the game has differences on the android version, im pretty sure that it's possible

7
VVVVVV / Re: I'm making a full VVVVVV recreation in Minecraft!
« on: November 20, 2019, 12:32:49 PM »
how the flickering entity colors are calculated
so, here's the run-down:

terry posted the source code to a function called Graphics::setcol() a while ago, but it's a bit incomplete. for one, he uses these functions RGBf() and fRandom(), which both seem a bit mysterious, along with this help.glow stuff. also, when i checked with a decompiler, the red and blue of color 36 were swapped.

so after decompiling the game, it turns out RGBf() just adds 128 to the RGB of each color, and then divides the red, green, and blue by three. fRandom() is just a random float between 0 and 1.

now to explain help.glow: the game runs at 1000/34 fps, which is 29.4117647058823529...repeating frames a second. the help is just the game's instance of a UtilityClass. on every frame, the game calls help.updateglow() to update help.glow, and it looks like this:
Code: (C++) [Select]
void UtilityClass::updateglow() {
this.slowsine = this.slowsine + 1 < 64 ? nextsine : 0;

if (this.glowdir == 0) {
this.glow += 2;
if (this.glow > 61)
this.glowdir = 1;
} else {
this.glow -= 2;
if (this.glow < 2)
this.glowdir = 0;
}
}
so basically, help.glow will go from 0 to 62 and back, and this causes a glow.

i've made an (incomplete) list of which entities use which color:
Quote from: Info Teddy
  0 -
    - The player, alive
    - Cyan crewmate
    - Flip tokens (entity 5)
  1 -
    - The player, dying
    - Main game Intermission 1 crewmate dying

  3 -
    - Trinket
    - The Secret Lab warp token
  4 -
    - Unactivated checkpoint
    - Untouched terminal
    - Master of the Universe trophy base
  5 -
    - Activated checkpoint
    - Touched terminal
  6 -
    - Space Station color 2 enemies
    - Space Station color 6 enemies
    - Space Station color 11 enemies
    - Space Station color 22 enemies
    - Space Station color 27 enemies
    - Outside red enemies
    - Lab red enemies
    - Warp Zone red enemies
    - Ship red enemies
  7 -
    - Space Station color 4 enemies
    - Space Station color 8 enemies
    - Space Station color 21 enemies
    - Space Station color 24 enemies
    - Space Station color 28 enemies
    - Space Station color 30 enemies
    - Space Station color -1 enemies
    - Outside green enemies
    - Lab green enemies
    - Warp Zone green enemies
    - Warp Zone gray enemies (when not in finalmode)
    - Ship green enemies
  8 -
    - Space Station color 15 enemies
    - Space Station color 19 enemies
    - Outside pink enemies
    - Lab pink enemies
    - Ship pink enemies
    - Invalid main game enemy (entity 1 box)
  9 -
    - Space Station color 3 enemies
    - Space Station color 16 enemies
    - Space Station color 23 enemies
    - Space Station color 29 enemies
    - Outside yellow enemies
    - Lab yellow enemies
    - Warp Zone yellow enemies
    - Ship yellow enemies
 10 - Warp token
 11 -
    - Space Station color 7 enemies
    - Space Station color 9 enemies
    - Space Station color 12 enemies
    - Space Station color 17 enemies
    - Space Station color 25 enemies
    - Outside cyan enemies
    - Lab cyan enemies
    - Lab rainbow BG enemies
    - Warp Zone cyan enemies
    - Ship cyan enemies
 12 -
    - Space Station color 0 enemies
    - Space Station color 5 enemies
    - Space Station color 13 enemies
    - Space Station color 26 enemies
    - Outside blue enemies
    - Lab blue enemies
    - Warp Zone purple enemies
    - Ship blue enemies
 13 - Green crewmate
 14 - Yellow crewmate
 15 - Red crewmate
 16 - Blue crewmate
 17 -
    - Space Station color 20 enemies
    - Outside orange enemies

 20 -
    - Pink crewmate
    - Space Station color 1 enemies
    - Space Station color 10 enemies
    - Space Station color 14 enemies
    - Space Station color 18 enemies
    - Space Station color 31 enemies
    - Outside purple enemies
    - Warp Zone pink enemies
 21 - Gravitron squares

 23 - The indicator arrow of offscreen gravitron squares

 30 - Final Level Mastered trophy
 31 - Space Station 1 Mastered trophy
 32 - Space Station 2 Mastered trophy
 33 - Laboratory Mastered trophy
 34 - Warp Zone Mastered trophy
 35 - The Tower Mastered trophy
 36 -
    - Last 30 seconds on the Super Gravitron trophy
    - Win with less than 100 deaths trophy
 37 -
    - Game Complete trophy
    - Flip Mode Complete trophy
 38 -
    - Last 20 seconds on the Super Gravitron trophy
    - Win with less than 250 deaths trophy
 39 -
    - Last 5 seconds on the Super Gravitron trophy
    - Last 10 seconds on the Super Gravitron trophy
    - Last 15 seconds on the Super Gravitron trophy
    - Win with less than 500 deaths trophy
 40 -
    - Last 1 minute on the Super Gravitron trophy
    - Win with less than 50 deaths trophy

100 - Unactivated teleporter
101 - Teleporter that has had `activeteleporter` called on it
102 -
    - Teleporter that has had `activateteleporter` called on it
    - Master of the Universe trophy (if you have gotten it)

Things that DO NOT use the color function:
 - Gravity lines that are not being touched right now
 - Gravity lines that are being touched
 - Roomtext
 - Room names
 - Coins
 - Entity 6
 - Entity 7
 - The flash command (making the screen white)

now, Graphics::setcol() doesn't handle every color. most notably, roomtext, roomnames, and gravity lines do not use it.

for gravity lines, we need to talk about Graphics again. you see, the game's Graphics instance is named either one of two things: graphics or dwgfx, and the game can't make up its mind about what to call it. but they both point to the same thing. i'm just going to use the name graphics. now, the Graphics class has attributes linedelay and linestate. linestate goes from 0 to 9, and each number is just a unique color of the gravity line. linedelay is how many frames to wait before updating linestate, and linestate just goes from 0 to 1 to 2 to ... to 7 to 8 to 9 to 0 to 1 to 2 to ... to 7 to 8 to 9 to ..., every time it gets updated. whenever the game calls Graphics::drawentities() to draw every entity, graphics.linestate and graphics.linedelay both get updated at the start, like so:
Code: (C++) [Select]
if (this.linedelay < 1) {
this.linedelay = 2;

this.linestate = this.linestate < 9 ? this.linestate + 1 : 0;
} else {
this.linedelay--;
}
whenever the game draws gravity lines, with the function Graphics::drawgravityline(), it draws it with a certain RGB depending on what graphics.linestate is, and whether or not you've hit it.
if graphics.linestate is 0, it's (180, 180, 180)
if it's 1, it's (215, 215, 195)
2: (195, 215, 215)
3: (180, 180, 154)
4: (176, 225, 204)
5: (176, 205, 185)
6: (154, 154, 154)
7: (185, 215, 195)
8: (195, 225, 185)
9: (215, 215, 215)
if the gravity line is hit, then it's (96, 96, 96)

as for roomnames and roomtext, they're based directly on help.glow. so their color is: (196, 196, 255 - help.glow).

8
VVVVVV Help / Re: Delete standard levels
« on: November 20, 2019, 11:25:48 AM »
just put 0-byte files with the names of the levels in your levels folder. this will "overwrite" the builtin levels and remove them from the list, without having to mess with data.zip.

9
VVVVVV / Re: wastashi wa love Uugr
« on: November 18, 2019, 08:15:25 PM »
lmao what

10
VVVVVV Help / Re: Let's Brainstorm Crewmate Names/V Words
« on: September 03, 2018, 09:51:37 AM »
vespuchi




vis this your new signature

^name of oc

11
VVVVVV Levels / Re: midair flip concept level
« on: September 03, 2018, 09:51:06 AM »
(I know, terrible level design, forcing people to do something or else the level breaks.)
it's not terrible level design if youre running up against a game limitation. things like pressing r and invincibility can be worked around, but theres literally no way to despawn entity 0

12
VVVVVV Help / Re: Let's Brainstorm Crewmate Names/V Words
« on: September 02, 2018, 06:23:21 AM »
vnone of these replies are good either

13
VVVVVV Levels / most of the sm64 abc would be hard without tas lmao
« on: September 02, 2018, 06:22:32 AM »
Still ain't allowing it on the official scoreboards...
why not? just put them in a separate category

theres tons of tases made for tons of games already go look them up

14
VVVVVV Help / Re: Let's Brainstorm Crewmate Names/V Words
« on: September 01, 2018, 08:55:49 AM »
voring

Pages: [1] 2 3 ... 18