From 9dadbc4409e2ce32eee80c7a8a6ee93e2524763b Mon Sep 17 00:00:00 2001 From: Johnny Richard Date: Wed, 20 Apr 2022 03:34:03 +0200 Subject: player: Introduce player object --- src/player.h | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/player.h (limited to 'src/player.h') diff --git a/src/player.h b/src/player.h new file mode 100644 index 0000000..1f211c7 --- /dev/null +++ b/src/player.h @@ -0,0 +1,55 @@ +/* +* Copyright (c) 2021, Johnny Richard +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* 1. Redistributions of source code must retain the above copyright notice, this +* list of conditions and the following disclaimer. +* +* 2. Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* 3. Neither the name of the copyright holder nor the names of its +* contributors may be used to endorse or promote products derived from +* this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +#ifndef PLAYER_H +#define PLAYER_H + +#include "controller.h" + +#include + +typedef struct player { + uint16_t x; + uint16_t y; + uint16_t width; + uint16_t height; + uint16_t speed; +} player_t; + +void player_init(player_t *player); + +// FIXME: Find out a better way to provide screen w and h properties +void player_update(player_t *player, + controller_t *ctrl, + int screen_width, + int screen_height); + +void player_draw(player_t *player, SDL_Renderer *renderer); + +#endif /* PLAYER_H */ -- cgit v1.2.3