-
Notifications
You must be signed in to change notification settings - Fork 101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Extra Stage #261
WIP: Extra Stage #261
Conversation
src/stages/stagex/timeline.c
Outdated
} | ||
} | ||
} | ||
p->timeout = 1; // what is the proper way? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
kill_projectile(p)
?
src/stages/stagex/timeline.c
Outdated
Attack *opening_attack = boss_add_attack(boss, AT_Normal, "Opening", 60, 40000, NULL, NULL); | ||
|
||
boss_start_attack(boss, boss->attacks); | ||
INVOKE_TASK(stagex_midboss_nonspell_1, ENT_BOX(boss), opening_attack); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You probably want this:
boss_add_attack_task(boss, AT_Normal, "Opening", 60, 40000, TASK_INDIRECT(BossAttack, stagex_midboss_nonspell_1), NULL);
boss_start_attack(boss, boss->attacks);
I'm guessing you copied this from Yumemi's first non. That one is a special case, because the attack task starts during the dialogue there, before the attack phase actually begins, as far as the boss system is concerned. It spawns some slaves, and waits for the attack's initiated
event, to sync up with boss_start_attack
. That's why the setup there is a little more complicated than usual.
.pos.x = creal(p->pos), | ||
.pos.y = cimag(p->pos), | ||
.scale = {creal(p->scale), cimag(p->scale)}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
.pos.x = creal(p->pos), | |
.pos.y = cimag(p->pos), | |
.scale = {creal(p->scale), cimag(p->scale)}, | |
.pos.as_cmplx = p->pos, | |
.scale.as_cmplx = p->scale, |
.sprite_ptr = animation_get_frame(ani, seq, global.frames), | ||
.color = &p->color, | ||
.rotation.angle = p->angle+M_PI/2, | ||
.rotation.vector = {0, 0, 1} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can omit the rotation axis, 0, 0, 1
is implied by default.
src/stages/stagex/timeline.c
Outdated
.color = RGBA(0,0.2,1,0), | ||
.move = move_towards(global.plr.pos, 0.015), | ||
.flags = PFLAG_NOCLEAR | PFLAG_NOCOLLISION, | ||
.max_viewport_dist = 10000, // how to do this properly? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is PFLAG_NOAUTOREMOVE
. But be careful not to get a projectile stuck somewhere out of view forever.
Old uncompressed progress.dat will be loaded if progress.zst is not found. The reason for this change is that progress files are much larger now, and taisei <1.4 had a stupid 4kb size limit for them. Older versions of taisei would refuse to load the new large file at all, resulting in possible data loss in case multiple versions are installed.
it still sucks ass
Cubemaps are broken in ANGLE's D3D11 backend, except in WebGL mode for some reason. This is a terrible workaround, but it beats fucked up rendering in stage backgrounds.
it's still pretty dumb
These seem to be broken
Depends on PIV, current score, and difficulty
Note: the actual music is not in yet, this just adds the menu entries.
…rame Needed to account for camera movement. Usage may need adjustments
No description provided.