diff options
author | Juan J. Martinez <jjm@usebox.net> | 2023-11-05 11:22:55 +0000 |
---|---|---|
committer | Juan J. Martinez <jjm@usebox.net> | 2023-11-05 11:31:28 +0000 |
commit | 2fbdf974338bde8576efdae40a819a76b2391033 (patch) | |
tree | 64d41a37470143f142344f9a439d96de3e7918c2 /src/et_spirit.c | |
download | kitsunes-curse-2fbdf974338bde8576efdae40a819a76b2391033.tar.gz kitsunes-curse-2fbdf974338bde8576efdae40a819a76b2391033.zip |
Initial import of the open source release
Diffstat (limited to 'src/et_spirit.c')
-rw-r--r-- | src/et_spirit.c | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/et_spirit.c b/src/et_spirit.c new file mode 100644 index 0000000..ff2fac6 --- /dev/null +++ b/src/et_spirit.c @@ -0,0 +1,55 @@ +/* + Kitsune's Curse + Copyright (C) 2020-2023 Juan J. Martinez <jjm@usebox.net> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. + */ +#include "splib.h" +#include "main.h" + +// generated +#include "spirit.h" + +#include "entities.h" +#include "et_spirit.h" +#include "et_player.h" +#include "et_common.h" + +void draw_spirit() +{ + put_sprite4(spirit[player_frames[*it_frame]], *it_x, *it_y, 3, *it_param & 128); + erase_sprite(*it_ox, *it_oy, 3); +} + +void update_spirit() +{ + if ((*it_delay)++ == 2) + { + *it_delay = 0; + if (++(*it_frame) > WALK_CYCLE) + *it_frame = WALK; + } + + update_fixed_common(); + + if (check_for_player(24)) + { + player_hit(1); + it_k = *it_param & 128; + *it_param = *it_extra - (*it_param & 127); + *it_param |= it_k ^ 128; + *it_delay = 0; + *it_frame = WALK; + } +} |