vintprox / hedgewars-typewriter Goto Github PK
View Code? Open in Web Editor NEWTypewriter Hedgewars Lua library
License: MIT License
Typewriter Hedgewars Lua library
License: MIT License
As of now, whitespace has a delay of any other character. There should be an option to specify special delay for whitespace characters. By default, it would be imperative to just use the same delay as set for other characters.
Currently, there is no way to make cinematic and inputs lock optional for playing animations with OOTB Animate library. It's hardcoded.
This prevents from displaying team name and label during their animation.
Would be nice if Animate had some global variables and function parameters saying whether following animation requires cinemalock/inputlock, in single namespace Animate
as it was implemented in Typewriter.
Right now, whitespaces that come in sequence are treated as a regular character. But don't confuse this issue with sound (#9) and delay for whitespace (#10). In this scenario, we should treat whitespace and a bunch of consequent whitespaces as a single one. This means simply ignoring 2nd, 3rd, 4th and so on until another kind of character appears.
There is no use for usual spaces dangling in the start and the end of each line (we may make an exception for other whitespaces), so they should be cut off prematurely. It will also mean that they'll receive no extra sound nor cause any delay.
Hedgewars mission panels have special syntax for doing line break with |
(pipe) character, which means that in this case spaces can be trimmed around such line breaks. This suggestion doesn't account for spaces in the beginning and ending of the text though - use better judgment.
I kinda dreaded to introduce object-oriented programming on the table because of added complexity, but I see quite a few advantages with an adoption of classes:
regularMissionAnimator
and specialMissionAnimator
. To make these work without repurposing class, one has to retain settings for regular (more common) animation in global Typewriter
table, apply some other override for special mission animation, and on top of that merge this same override with one-time override (text, icon, etc.) - and so every time. With new approach, we avoid losing more common overrides somewhere in the middle and can reuse freshly made commons for consequent animations.MissionPanelAnim
and CaptionAnim
. We don't want to reinstantiate a giant monolith of settings for literally some speech bubble animation that we'll use just once per game. So, it makes sense to separate speech bubble animation from mission panel and any other kind of animation, for example.You'd imagine that caret should just skip whitespace and go type character after it. Right now, it's treated like any other symbol, hence it's doing typing of the air. Turn off sound by default and allow to change it to something else entirely.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.