mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-24 17:10:36 +00:00
improved handling of missing models/images
This commit is contained in:
parent
d075987fa4
commit
e318410bff
@ -17,7 +17,7 @@ char peek(fhstream& fs) {
|
||||
bool model::available() {
|
||||
if(av_checked) return is_available;
|
||||
av_checked = true;
|
||||
is_available = false;
|
||||
is_available = file_exists(path + fname);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -1015,10 +1015,19 @@ slide dmv_slides[] = {
|
||||
"(the animation is not included with RogueViz)"
|
||||
,
|
||||
[] (presmode mode) {
|
||||
static bool pic_exists, video_exists;
|
||||
if(mode == pmStartAll || mode == pmStart) {
|
||||
pic_exists = file_exists("rogueviz/nil/emty-ring.png");
|
||||
video_exists = file_exists("rogueviz/nil/emty-ring.mp4");
|
||||
}
|
||||
slide_url(mode, 'i', "Instagram link", "https://www.instagram.com/p/B756GCynErw/");
|
||||
empty_screen(mode);
|
||||
// show_picture(mode, "rogueviz/nil/emty-ring.png");
|
||||
// show_animation(mode, "rogueviz/nil/emty-ring.mp4", 720, 900, 300, 30);
|
||||
if(video_exists)
|
||||
show_animation(mode, "rogueviz/nil/emty-ring.mp4", 720, 900, 300, 30);
|
||||
else if(pic_exists)
|
||||
show_picture(mode, "rogueviz/nil/emty-ring.png");
|
||||
else
|
||||
slide_error(mode, "(image not available)");
|
||||
no_other_hud(mode);
|
||||
}
|
||||
},
|
||||
|
@ -163,7 +163,10 @@ void read_all(int fd, void *buf, int cnt) {
|
||||
/* note: this loads the whole animation uncompressed into memory, so it is suitable only for short presentations */
|
||||
void show_animation(presmode mode, string s, int sx, int sy, int frames, int fps) {
|
||||
#if CAP_VIDEO
|
||||
if(mode == pmStartAll) {
|
||||
if(mode == pmStartAll || mode == pmStart) {
|
||||
/* load only once */
|
||||
if(textures.count(s + "@0")) return;
|
||||
/* actually load */
|
||||
array<int, 2> tab;
|
||||
if(pipe(&tab[0])) {
|
||||
addMessage(format("Error: %s", strerror(errno)));
|
||||
|
Loading…
Reference in New Issue
Block a user