When a bomb is used, cancel all previous bomb-related tasks just before
invoking new bomb tasks. This prevents the possibility of stacking
multiple bombs at the same time.
Also make sure to YIELD before starting the bomb logic loops, because
the bomb task will be scheduled in the same frame after the first yield,
due to the initial invocation being from an event handler.
* WIP cutscenes
* cutscene tweaks
* cutscene: erase background drawing under text
* Make text outlines thicker
* Prepare an interface for adding new cutscenes
* Basic progress tracking for cutscenes
* cutscene: support specifying scene name and BGM
* cutscene: exit with transition after scene ends
* Implement --cutscene ID and --list-cutscenes CLI flags
* fix progress_write_cmd_unlock_cutscenes
* Play intro cutscene before entering main menu for the first time
Also added --intro parameter in dev builds to force playing the intro
cutscene
* Add intro cutscene
* cutscenes: update opening/01 scene
* add Reimu Good End
* remove Bonus Data
* split up a bit of dialogue, revert an image change in intro
* small typo
* most cutscenes complete
* smartquotify
* finish Extra intros
* new cutscenes routed into main game
* fix ENDING_ID
* rough 'mediaroom' menu
* fix cutscene menu crash
* derp
* PR changes
* fixing imports
* more PR fixes
* PR fixes, including updating the script to #255
* add in newlines for readability
Co-authored-by: Alice D <alice@starwitch.productions>
* new difficult mode suggestions (more within the theme of 'knowledge')
* cleaning up new difficulty descriptions, also changing character select titles to match the STORY.txt
* better transparency mask on Easy
* ran optimize-all-img.sh script
* consistency
* (hopefully) got rid of some half-transparent pixels, especially on Normal.webp
* playermode descriptions! (for real this time)
* Reimu shot description changes (as per PR)
* modify ReimuB description
This replaces the r_mat_foo functions with specialized r_mat_{mv,tex,proj}_foo counterparts that operate explicitly on the modelview, texture, and projection matrix stacks respectively.
* WIP portrait faces
* character expressions for dialogue in first 3 stages (wip)
* dialog: simplified face system, new faces, script revisions (wip)
* fix wrong face name in reimu script
* cirno angry face; elly beaten variant
* render_character_portrait(): fix garbage bg and filter-bleeding
* workaround for incorrect face blending on dialog fade
* render_character_portrait(): fix bogus debug labels
* Replace sprite offsets with the more powerful paddings
* new faces for youmu, wriggle, kurumi; dialogue updates
* fix release build
* Update portraits; add Iku faces and Elly shouting face
* Add Reimu sigh face and Marisa sweat_smile face
* Add Kurumi dissatisfied face
* update Hina
* Reimu (#101)
* add the reimu
* Add Reimu story
* account for various blunders
* add reimu dialog picture
* Reimu: WIP yin-yang orbs
* reimu: fix up indents
* Reimu: swap the shotmode names to match the kanji order in her Japanese name
* Reimu: compatibility with the latest system
* WIP ReimuA crap
* ReimuA homing trails
* more ReimuA stuff
* more ReimuA adjustments + enhanced DPS stats
* Reimu: stubs for new player animation sequences
* Reimu: occupy the 0th character slot
* Reimu: tweak needle sprite
* Reimu: buff movement speed to better match Touhou
* Reimu: fixup for the recent projectile changes
* ReimuA: make homing shots a bit smaller; give them custom effect on collision
* Reimu: add intermediate frames; move some loose sprites to the atlas
* Reimu: fix compile errors
* replace DBL_MAX by INFINITY
* Don’t draw reimu orbs twice
fixes #127
* add new reimu dialog pic
* ReimuA adjustments (mostly homing); it's still OP
* wip ReimuB gaps
* still not sure where i'm going with these gaps
* meh
* Reimu: premultiplied alpha fixups after rebase
* reimuB shot pattern with basic power scaling (not balanced at all)
* reimuB: some lame-ass particle effects
* ReimuB bomb effect prototype
* reimuA bomb prototype
* fix reimu shots for the new damage system
* Reimu: use the new player_is_bomb_active() function, add placeholder BG for ReimuB
* some reimuB bomb projectiles
* ReimuB bomb bg and some framebuffer utils required to support it.
Might reuse this at least in part for ReimuA unless we come up with
something better.
* hack to fix ReimuB bomb fade; refactoring needed
* reimuA damaging bombs
* fix ub
* prevent nan when reimuA bombs without enemies present
* add a bomb_bg to reimuA
* ...
* various fantasy seal tweaks
* Reimu: placeholder bomb sounds; slight fantasy seal buff
* fix null pointer dereference
* Reimu "balance" adjustments; minor fixes
* putting bandaids over gunshot wounds
* Add aoe damage and bullet cancel to ReimuB's bomb
* more exorcism porn
* make reimu bomb bg runes better visible on dark backgrounds
* More ReimuA shot changes
* WIP premultiplied alpha
* WIP color API rework (doesn't build yet; lots of things left to convert)
* convert everything remaining to new Color api except stage*_event.c files
* convert the stages to new Color api. builds & runs now; still many rendering errors
* fix the bullet shader for premultiplied alpha
* fix masterspark, graphs and stage 1 fog clouds
* fix marisa_b and most of spellcards
* Add deprecation warnings for BLEND_ADD and PFLAG_DRAWADD
* fix a segfault in stage 6
undo accidental earlier change
* fix text_hud.frag.glsl
* fix scuttle bg and remaining stage3 BLEND_ADDs
* fix marisa laser opacity
* hacky fix for myon
The old implementation relied on alpha being stored inside p->color. In
premul alpha this doesn’t work and functions like color_set_opacity
can’t solve this i think.
So I tried messing around with it until it looked somewhat similar.
* fix marisa_b stars
* remove color_set_opacity i overlooked
* more plrmode blending changes
* fixup additive blending in stage 1
* various premultiplied alpha fixups for bosses and enemies
* stage 2 premul alpha fixups
* stage 4 premul alpha fixups
* stage 5 premul alpha fixups
* stage 6 premul alpha fixups
* make lasers also use the PMA blend mode
* remove PFLAG_DRAWADD and PFLAG_DRAWSUB
* fix remaining PMA issues in menus
* lame extraspell bg workaround
* fix item alpha
* make marisaA lasers look somewhat like in master
* fix marisaA bomb background fadeout
* fixup various r_color4 calls
* fix myon
* remove dead code
* fix use of BLEND_ADD in player death effect
* fix myon shot trails (broken on master as well)
* fix myon shot fade-in
* extend the sprite shaders custom parameter to a vec4
* fix youmuB stuff and make it look somewhat better.
the code looks even worse though.
* wip projectile prototypes
* Partial fix for replay desyncs
* some YoumuA fixes
* fix various ToE problems
* fix MarisaB
* fix master spark
* fix iku slave particle position
* this timeout was somehow halved during the changes
* remove some v1.2 compat hacks
I would've preferred to just go with 4-spaces for indent and no tabs,
but lao is a bit conservative about it. :^)
Still, this is a ton better than mixing different styles all over the
place, especially within the same file.