|
|
@ -67,62 +67,49 @@ struct timespec demodelay = {
|
|
|
|
.tv_nsec = 0,
|
|
|
|
.tv_nsec = 0,
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// anything that's dfsg non-free requires ncvisual (i.e. it's all multimedia),
|
|
|
|
// the "jungle" demo has non-free material embedded into it, and is thus
|
|
|
|
// so also check for USE_MULTIMEDIA here in DFSG_BUILD
|
|
|
|
// entirely absent (can't just be disabled). supply a stub here.
|
|
|
|
#ifndef DFSG_BUILD
|
|
|
|
#ifdef DFSG_BUILD
|
|
|
|
#ifdef USE_MULTIMEDIA
|
|
|
|
int jungle_demo(struct notcurses* nc){
|
|
|
|
#define NONFREE(name, fxn) { name, fxn, }
|
|
|
|
(void)nc;
|
|
|
|
#else
|
|
|
|
return -1;
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
#else
|
|
|
|
|
|
|
|
#define DFSG(name, fxn) { NULL, NULL, }
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef DFSG
|
|
|
|
|
|
|
|
#define DFSG(name, fxn) { name, fxn, }
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef NONFREE
|
|
|
|
|
|
|
|
#define NONFREE(name, fxn) { NULL, NULL, }
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef USE_MULTIMEDIA
|
|
|
|
|
|
|
|
#define FREEFFMPEG(name, fxn) { name, fxn, }
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
#define FREEFFMPEG(name, fxn) { NULL, NULL, }
|
|
|
|
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
// define with NONFREE() to exempt from any DFSG or non-multimedia build.
|
|
|
|
// Demos can be disabled either due to a DFSG build (any non-free material must
|
|
|
|
// define with FREEFFMPEG() to exempt from any non-multimedia build.
|
|
|
|
// be disabled) or a non-multimedia build (all images/videos must be disabled).
|
|
|
|
static struct {
|
|
|
|
static struct {
|
|
|
|
const char* name;
|
|
|
|
const char* name;
|
|
|
|
int (*fxn)(struct notcurses*);
|
|
|
|
int (*fxn)(struct notcurses*);
|
|
|
|
|
|
|
|
bool dfsg_disabled; // disabled for DFSG builds
|
|
|
|
|
|
|
|
bool mmeng_disabled; // disabled for null-multimedia builds
|
|
|
|
} demos[26] = {
|
|
|
|
} demos[26] = {
|
|
|
|
{ NULL, NULL, },
|
|
|
|
{ NULL, NULL, false, false, },
|
|
|
|
{ "box", box_demo, },
|
|
|
|
{ "box", box_demo, false, false, },
|
|
|
|
NONFREE("chunli", chunli_demo),
|
|
|
|
{"chunli", chunli_demo, true, true, },
|
|
|
|
{ NULL, NULL, },
|
|
|
|
{ NULL, NULL, false, false, },
|
|
|
|
NONFREE("eagle", eagle_demo),
|
|
|
|
{ "eagle", eagle_demo, true, true, },
|
|
|
|
{ "fallin'", fallin_demo, },
|
|
|
|
{ "fallin'", fallin_demo, false, false, },
|
|
|
|
{ "grid", grid_demo, },
|
|
|
|
{ "grid", grid_demo, false, false, },
|
|
|
|
{ "highcon", highcontrast_demo, },
|
|
|
|
{ "highcon", highcontrast_demo, false, false, },
|
|
|
|
{ "intro", intro, },
|
|
|
|
{ "intro", intro, false, false, },
|
|
|
|
DFSG("jungle", jungle_demo),
|
|
|
|
{ "jungle", jungle_demo, true, false, },
|
|
|
|
{ NULL, NULL, },
|
|
|
|
{ NULL, NULL, false, false, },
|
|
|
|
NONFREE("luigi", luigi_demo),
|
|
|
|
{ "luigi", luigi_demo, true, true, },
|
|
|
|
{ NULL, NULL, },
|
|
|
|
{ NULL, NULL, false, false, },
|
|
|
|
{ "normal", normal_demo, },
|
|
|
|
{ "normal", normal_demo, false, false, },
|
|
|
|
FREEFFMPEG("outro", outro),
|
|
|
|
{ "outro", outro, false, true, },
|
|
|
|
{ NULL, NULL, },
|
|
|
|
{ NULL, NULL, false, false, },
|
|
|
|
{ "qrcode", qrcode_demo, }, // is blank without USE_QRCODEGEN
|
|
|
|
{ "qrcode", qrcode_demo, false, false, }, // is blank without USE_QRCODEGEN
|
|
|
|
{ "reel", reel_demo, },
|
|
|
|
{ "reel", reel_demo, false, false, },
|
|
|
|
{ "sliders", sliding_puzzle_demo, },
|
|
|
|
{ "sliders", sliding_puzzle_demo, false, false, },
|
|
|
|
{ "trans", trans_demo, },
|
|
|
|
{ "trans", trans_demo, false, false, },
|
|
|
|
{ "uniblock", unicodeblocks_demo, },
|
|
|
|
{ "uniblock", unicodeblocks_demo, false, false, },
|
|
|
|
NONFREE("view", view_demo),
|
|
|
|
{ "view", view_demo, true, true, },
|
|
|
|
{ "whiteout", witherworm_demo, },
|
|
|
|
{ "whiteout", witherworm_demo, false, false, },
|
|
|
|
FREEFFMPEG("xray", xray_demo),
|
|
|
|
{"xray", xray_demo, false, true, },
|
|
|
|
{ NULL, NULL, },
|
|
|
|
{ NULL, NULL, false, false, },
|
|
|
|
{ NULL, NULL, },
|
|
|
|
{ NULL, NULL, false, false, },
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
static void
|
|
|
|
static void
|
|
|
|