The wiki should have a page detailing research of the collision methods used by each supported game. There should be a table in which the columns list all the different types of collisions in the games (player/bullet, player/laser, enemy/projectile, etc. - potentially two columns for "hit" and "graze" when applicable) and the rows list every game supported. The items in each cell should be the name of a function, and the detailed behavior of each unique function with their inputs should be explained in the document.
This knowledge should be used to make available a set of API functions (defined on a per-game basis in Offset objects) that analyzers can use to perform accurate collision checks. This is particularly helpful for "heatmap" analyzers, to better understand which positions see the most hits/graze/etc.
The following questions should be answered by the above task and highlight things the built-in AnalysisPlotEnemies may do wrong:
Do enemy hurtboxes take into account enemy rotation and the "rectangular hitbox" flag?
If the "rectangular hitbox flag" is disabled, are hitboxes that should behave like ellipses (e.g. Taiko drums) actually treated as circles, with only one of the two hitbox dimensions being used for radius (as suggested by enemy collision code)?
Attempt at an exhaustive list of types of collisions (some may be unnecessary, some may be missing):
The wiki should have a page detailing research of the collision methods used by each supported game. There should be a table in which the columns list all the different types of collisions in the games (player/bullet, player/laser, enemy/projectile, etc. - potentially two columns for "hit" and "graze" when applicable) and the rows list every game supported. The items in each cell should be the name of a function, and the detailed behavior of each unique function with their inputs should be explained in the document.
This knowledge should be used to make available a set of API functions (defined on a per-game basis in Offset objects) that analyzers can use to perform accurate collision checks. This is particularly helpful for "heatmap" analyzers, to better understand which positions see the most hits/graze/etc.
The following questions should be answered by the above task and highlight things the built-in
AnalysisPlotEnemies
may do wrong:Attempt at an exhaustive list of types of collisions (some may be unnecessary, some may be missing):