| | |
| | | /* |
| | | Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org> |
| | | Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org> |
| | | |
| | | This software is provided 'as-is', without any express or implied |
| | | warranty. In no event will the authors be held liable for any damages |
| | |
| | | * Running trojan moose :) Coded by Mike Gorchak. * |
| | | * * |
| | | ********************************************************************************/ |
| | | |
| | | #include <stdlib.h> |
| | | |
| | | #ifdef __EMSCRIPTEN__ |
| | | #include <emscripten/emscripten.h> |
| | |
| | | } |
| | | |
| | | while (argc > 1) { |
| | | if (strcmp(argv[1], "-fps") == 0) { |
| | | if (SDL_strcmp(argv[1], "-fps") == 0) { |
| | | if (argv[2]) { |
| | | fps = SDL_atoi(argv[2]); |
| | | if (fps == 0) { |
| | |
| | | "The -fps option requires an argument [from 1 to 1000], default is 12.\n"); |
| | | quit(10); |
| | | } |
| | | } else if (strcmp(argv[1], "-nodelay") == 0) { |
| | | } else if (SDL_strcmp(argv[1], "-nodelay") == 0) { |
| | | nodelay = 1; |
| | | argv += 1; |
| | | argc -= 1; |
| | | } else if (strcmp(argv[1], "-scale") == 0) { |
| | | } else if (SDL_strcmp(argv[1], "-scale") == 0) { |
| | | if (argv[2]) { |
| | | scale = SDL_atoi(argv[2]); |
| | | if (scale == 0) { |
| | |
| | | "The -fps option requires an argument [from 1 to 1000], default is 12.\n"); |
| | | quit(10); |
| | | } |
| | | } else if ((strcmp(argv[1], "-help") == 0) |
| | | || (strcmp(argv[1], "-h") == 0)) { |
| | | } else if ((SDL_strcmp(argv[1], "-help") == 0) |
| | | || (SDL_strcmp(argv[1], "-h") == 0)) { |
| | | PrintUsage(argv[0]); |
| | | quit(0); |
| | | } else { |
| | |
| | | break; |
| | | } |
| | | |
| | | RawMooseData = (Uint8 *) malloc(MOOSEFRAME_SIZE * MOOSEFRAMES_COUNT); |
| | | RawMooseData = (Uint8 *) SDL_malloc(MOOSEFRAME_SIZE * MOOSEFRAMES_COUNT); |
| | | if (RawMooseData == NULL) { |
| | | SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Can't allocate memory for movie !\n"); |
| | | quit(1); |
| | |
| | | handle = SDL_RWFromFile("moose.dat", "rb"); |
| | | if (handle == NULL) { |
| | | SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Can't find the file moose.dat !\n"); |
| | | free(RawMooseData); |
| | | SDL_free(RawMooseData); |
| | | quit(2); |
| | | } |
| | | |
| | |
| | | SDL_WINDOW_RESIZABLE); |
| | | if (!window) { |
| | | SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't set create window: %s\n", SDL_GetError()); |
| | | free(RawMooseData); |
| | | SDL_free(RawMooseData); |
| | | quit(4); |
| | | } |
| | | |
| | | renderer = SDL_CreateRenderer(window, -1, 0); |
| | | if (!renderer) { |
| | | SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't set create renderer: %s\n", SDL_GetError()); |
| | | free(RawMooseData); |
| | | SDL_free(RawMooseData); |
| | | quit(4); |
| | | } |
| | | |
| | | MooseTexture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_YV12, SDL_TEXTUREACCESS_STREAMING, MOOSEPIC_W, MOOSEPIC_H); |
| | | if (!MooseTexture) { |
| | | SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't set create texture: %s\n", SDL_GetError()); |
| | | free(RawMooseData); |
| | | SDL_free(RawMooseData); |
| | | quit(5); |
| | | } |
| | | /* Uncomment this to check vertex color with a YUV texture */ |
| | |
| | | 0, 100); |
| | | } |
| | | |
| | | free(RawMooseData); |
| | | SDL_free(RawMooseData); |
| | | |
| | | /* set the start frame */ |
| | | i = 0; |