Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- blaster_BC.h prop file.
- http://fredrik.hubbe.net/lightsaber/proffieos.html
- Copyright (c) 2016-2019 Fredrik Hubinette
- Copyright (c) 2021 Brian Conner with contributions by:
- Fredrik Hubinette, Fernando da Rosa, and Matthew McGeary.
- Distributed under the terms of the GNU General Public License v3.
- http://www.gnu.org/licenses/
- Includes:
- With blaster power on OR off:
- - Volume Menu with cycle-thru.
- - Spoken battery level in volts or percentage.
- - On-Demand battery level.
- - Quote player.
- - Next / previous preset
- Self-Destuct overload.
- Defaults to KILL on boot.
- Separate clipin/clipout/reload sounds to match stun mode.
- -(requires clipins, clipouts, and reloads.wavs in font)
- No jam if empty.
- Autofire mode counts bullets and causes empty if
- #define BLASTER_SHOTS_UNTIL_EMPTY is specified.
- Requires minimum 2 buttons for operation
- *note - config can use NUM_BUTTONS 1 for saber mode when using dual_prop.
- - the baster mode will still use 2 buttons as FIRE and MODE.
- ** This version is designed to work well together with saber_BC_buttons.h when
- using dual_prop.h: a toggle between 2 prop files triggered by blade detect.
- Blade insertion and removal switches between the 2 props, (ie: Ezra blaster and saber.)
- Your config file should leave SABER buttons in the CONFIG_BUTTONS section, like:
- Button PowerButton(BUTTON_POWER, powerButtonPin, "pow");
- Button AuxButton(BUTTON_AUX, auxPin, "aux");
- For a stand-alone blaster setup, your config file should use BLASTER buttons in
- the CONFIG_BUTTONS section, like:
- Button FireButton(BUTTON_FIRE, powerButtonPin, "fire");
- Button ModeButton(BUTTON_MODE_SELECT, auxPin, "modeselect");
- Optional defines:
- #define ENABLE_BLASTER_AUTO - Enable Autofire/rapid fire mode.
- #define BLASTER_SHOTS_UNTIL_EMPTY 15 - whatever number, not defined = unlimited shots.
- #define BLASTER_JAM_PERCENTAGE - if this is not defined, random from 0-100%.
- #define VOLUME_MENU_CYCLE - This allows the Volume menu to loop through from
- maximum back to minimum and vice versa.
- #define OLED_SYNCED_EFFECTS - Auto sync OLED display time for effects.
- Optional Blade style elements:
- EFFECT_DESTRUCT - use in blade style to animate self destruct.
- EFFECT_BATTERY LEVEL - requires EFFECT_BATTERY_LEVEL to be in blade style,
- and uses battery.wav sound effect.
- ==========================================
- | 2 Buttons: FIRE and MODE (POW and AUX) |
- ==========================================
- Power On / Off - Hold MODE and Double click FIRE (Default is auto-power ON)
- Cycle Modes - Double click MODE. Cycles through KILL, AUTOFIRE, and STUN modes.
- Next Preset - Long click and release MODE.
- Previous Preset - Double click and hold MODE, release after a second.
- Start/Stop Track - 4x click MODE.
- Volume Menu:
- Enter/Exit - 4x click and hold MODE.
- Volume UP - Long click and release MODE while in Volume Menu. (just like next preset)
- Volume DOWN - Double click and hold MODE, release after a second while in Volume Menu.
- (click then long click, just like next preset)
- Spoken Battery Level - Includes automatic On-Demand Batt Level // TODO: OLED to display PLI
- in volts - Triple click MODE.
- in percentage - Triple click and hold MODE.
- On-Demand Batt Level - Double click and hold MODE until battery level shows and sound plays.
- Requires EFFECT_BATTERY_LEVEL to be in blade style in order to see it,
- and uses battery.wav sound effect, otherwise, special beep :)
- Self-Destruct - Press and hold MODE and FIRE until overload starts....then run!
- Self-Destructed blaster needs to be powered on manually to use again.
- Quote Player - Hold MODE and click FIRE. (requires quote.wavs in font)
- Reload - Click MODE.
- Fire - Click FIRE. (Hold to Auto / Rapid Fire when AUTO mode selected)
- Clip In - Clip Detect pad Latched On.
- Clip out - Clip Detect pad Latched Off.
- Unjam - Bang the blaster or Reload.
- - If there's a dedicated POWER button,
- Power On / Off - Click POW. - TODO: this with dual_prop is....weird
- - If there's a dedicated Relod button,
- Reload - Click RELOAD.
- -TODO: PLI_ON / OFF, CLIP IN etc....
- Wavs to use for talking Mode (else Talkie voice):
- - If these are not present, mode.wav will be used for all modes.
- - If no mode.wav either, then Talkie voice speaks selected mode.
- mdstun.wav
- mdkill.wav
- mdauto.wav
- Additionally:
- quote.wav // for playing quotes
- in.wav // for blaster power off
- out.wav // for blaster power on
- destruct.wav // for self destruct overload
- boom.wav // for self destruct explosion
- clipins.wv
- clipouts.wav
- reloads.wav // these last 3 are used to match the more "plasmatic" stun sound.
- These are likely best kept in a 'common' folder in your Font Search Path:
- battery.wav // for EFFECT_BATTERY_LEVEL
- vmbegin.wav // for Begin Volume Menu
- vmend.wav // for End Volume Menu
- volup.wav // for increse volume
- voldown.wav // for decrease volume
- volmin.wav // for minimum volume reached
- volmax.wav // for maximum volume reached
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement