From 1b258307866a5961818bb4b7b7de25b4f23c669e Mon Sep 17 00:00:00 2001 From: nmlgc Date: Mon, 29 Jun 2020 12:31:31 +0200 Subject: [PATCH] [Reverse-engineering] [th01] Pellets: Single pellet structure Completes P0099, funded by Ember2528. --- th01/main/bullet/pellet.hpp | 32 +++++++++++++++++++++++++++++++ th01/main/bullet/pellets[bss].asm | 21 ++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 th01/main/bullet/pellet.hpp create mode 100644 th01/main/bullet/pellets[bss].asm diff --git a/th01/main/bullet/pellet.hpp b/th01/main/bullet/pellet.hpp new file mode 100644 index 00000000..f161800e --- /dev/null +++ b/th01/main/bullet/pellet.hpp @@ -0,0 +1,32 @@ +enum pellet_motion_t { +}; + +enum pellet_sling_direction_t { + _pellet_sling_direction_t_FORCE_INT = 0x7FFF +}; + +enum pellet_pattern_t { + _pellet_pattern_t_FORCE_INT = 0x7FFF +}; + +struct pellet_t { + unsigned char moving; + unsigned char motion_type; + Subpixel cur_left; + Subpixel cur_top; + SPPoint spin_center; + Subpixel prev_left; + Subpixel prev_top; + pellet_pattern_t from_pattern; + SPPoint velocity; + SPPoint spin_velocity; + bool16 not_rendered; + int age; + Subpixel speed; + int decay_frame; + int cloud_frame; + int cloud_left; // Not subpixels! + int cloud_top; // Not subpixels! + int angle; + pellet_sling_direction_t sling_direction; +}; diff --git a/th01/main/bullet/pellets[bss].asm b/th01/main/bullet/pellets[bss].asm new file mode 100644 index 00000000..6c8cd8cc --- /dev/null +++ b/th01/main/bullet/pellets[bss].asm @@ -0,0 +1,21 @@ +pellet_t struc + PELLET_moving db ? + PELLET_motion_type db ? + PELLET_cur_left dw ? + PELLET_cur_top dw ? + PELLET_spin_center Point + PELLET_prev_left dw ? + PELLET_prev_top dw ? + PELLET_from_pattern dw ? + PELLET_velocity Point + PELLET_spin_velocity Point + PELLET_not_rendered dw ? + PELLET_age dw ? + PELLET_speed dw ? + PELLET_decay_frame dw ? + PELLET_cloud_frame dw ? + PELLET_cloud_left dw ? + PELLET_cloud_top dw ? + PELLET_angle dw ? + PELLET_sling_direction dw ? +pellet_t ends