mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 06:54:16 -04:00
4d1cb33cd8
* Add helper functions for d_attention
* Copy and adapt code from TP
* Move for better matching layout
* Clean up includes for d_attention.cpp
* Give dAttention_c::nextAttention a return
* Use enums in dAttention_c::getActionBtnB and slight reformat
* Change return types for comparison code to match
I don't love this
* Implement dAttList_c::calcWeight
* Implement dAttention_c::sortList
* Implement dAttDraw_c::draw
* Implement dAttDraw_c::setAnm
* Implement dAttention_c::chaseAttention
* Implement judgement related functions
* Implement dAttention_c::Run and runDrawProc
* Implement dAttention_c::Draw
Actually finish Draw
* Looks like dAttention_c::stockAttention had an unused return value
* Give d_Attention_c::mLockOnState an enum
* Rename field_0x02c to mDrawAttnPos based on TP
* Add comments for fields of d_attention
* Give d_attention's flags an enum (although without names)
* Undo type change for dAttention_c::{chk,set,clr}Flag
Co-Authored-By: LagoLunatic <LagoLunatic@users.noreply.github.com>
* Do not spell the `this` pointer
Co-Authored-By: LagoLunatic <LagoLunatic@users.noreply.github.com>
* Deal with resource enums and inlines
* Move PLAYER_STATUS_FLAG_MAGIC_JUDGEMENT to daPy__PlayerStatus0 enum
* Use inlines and macros
* Add mDoCPd_L_LOCK_BUTTON inline, debug maps claim it exists
Nothing else uses it
* Update TODO comments
* Debug maps claim runXyCheckCB was used but it only makes sense if modified
* Use dComIfGp_getPlayer instead of directly indexing the array
* Locate a few more inlines
* Do not cast to AttentionFlags enum type
* Update configure script
---------
Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
44 lines
2.3 KiB
C
44 lines
2.3 KiB
C
#ifndef M_DO_CONTROLLER_PAD_H
|
|
#define M_DO_CONTROLLER_PAD_H
|
|
|
|
#include "JSystem/JUtility/JUTGamePad.h"
|
|
#include "SSystem/SComponent/c_API_controller_pad.h"
|
|
|
|
extern JUTGamePad* g_mDoCPd_gamePad[4];
|
|
extern interface_of_controller_pad g_mDoCPd_cpadInfo[4];
|
|
|
|
#define CPad_CHECK_HOLD_A(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonHold.a)
|
|
#define CPad_CHECK_HOLD_B(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonHold.b)
|
|
#define CPad_CHECK_HOLD_X(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonHold.x)
|
|
#define CPad_CHECK_HOLD_Y(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonHold.y)
|
|
#define CPad_CHECK_HOLD_Z(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonHold.z)
|
|
#define CPad_CHECK_HOLD_START(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonHold.start)
|
|
#define CPad_CHECK_HOLD_L(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonHold.l)
|
|
#define CPad_CHECK_HOLD_R(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonHold.r)
|
|
#define CPad_CHECK_HOLD_UP(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonHold.up)
|
|
#define CPad_CHECK_HOLD_DOWN(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonHold.down)
|
|
#define CPad_CHECK_HOLD_RIGHT(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonHold.right)
|
|
#define CPad_CHECK_HOLD_LEFT(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonHold.left)
|
|
|
|
#define CPad_CHECK_TRIG_A(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonTrig.a)
|
|
#define CPad_CHECK_TRIG_B(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonTrig.b)
|
|
#define CPad_CHECK_TRIG_X(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonTrig.x)
|
|
#define CPad_CHECK_TRIG_Y(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonTrig.y)
|
|
#define CPad_CHECK_TRIG_Z(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonTrig.z)
|
|
#define CPad_CHECK_TRIG_START(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonTrig.start)
|
|
#define CPad_CHECK_TRIG_L(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonTrig.l)
|
|
#define CPad_CHECK_TRIG_R(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonTrig.r)
|
|
#define CPad_CHECK_TRIG_UP(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonTrig.up)
|
|
#define CPad_CHECK_TRIG_DOWN(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonTrig.down)
|
|
#define CPad_CHECK_TRIG_RIGHT(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonTrig.right)
|
|
#define CPad_CHECK_TRIG_LEFT(padNo) (g_mDoCPd_cpadInfo[padNo].mButtonTrig.left)
|
|
|
|
int mDoCPd_Create();
|
|
int mDoCPd_Read();
|
|
|
|
inline bool mDoCPd_L_LOCK_BUTTON(unsigned long i_playerNo) {
|
|
return g_mDoCPd_cpadInfo[i_playerNo].mHoldLockL;
|
|
}
|
|
|
|
#endif
|