|
| 1 | +#ifndef XBEHAVIOUR_H |
| 2 | +#define XBEHAVIOUR_H |
| 3 | + |
| 4 | +#include "xEnt.h" |
| 5 | + |
| 6 | +enum PSY_BRAIN_STATUS |
| 7 | +{ |
| 8 | + PSY_STAT_BLANK, |
| 9 | + PSY_STAT_GROW, |
| 10 | + PSY_STAT_EXTEND, |
| 11 | + PSY_STAT_THINK, |
| 12 | + PSY_STAT_NOMORE, |
| 13 | + PSY_STAT_FORCE = 0x7fffffff |
| 14 | +}; |
| 15 | + |
| 16 | +enum en_pendtype |
| 17 | +{ |
| 18 | + PEND_TRAN_NONE, |
| 19 | + PEND_TRAN_SET, |
| 20 | + PEND_TRAN_PUSH, |
| 21 | + PEND_TRAN_POP, |
| 22 | + PEND_TRAN_POPTO, |
| 23 | + PEND_TRAN_POPALL, |
| 24 | + PEND_TRAN_SWAP, |
| 25 | + PEND_TRAN_INPROG, |
| 26 | + PEND_TRAN_NOMORE |
| 27 | +}; |
| 28 | + |
| 29 | +enum en_trantype |
| 30 | +{ |
| 31 | + GOAL_TRAN_NONE, |
| 32 | + GOAL_TRAN_SET, |
| 33 | + GOAL_TRAN_PUSH, |
| 34 | + GOAL_TRAN_POP, |
| 35 | + GOAL_TRAN_POPTO, |
| 36 | + GOAL_TRAN_POPALL, |
| 37 | + GOAL_TRAN_POPBASE, |
| 38 | + GOAL_TRAN_POPSAFE, |
| 39 | + GOAL_TRAN_SWAP, |
| 40 | + GOAL_TRAN_NOMORE, |
| 41 | + GOAL_TRAN_FORCE = 0x7fffffff |
| 42 | +}; |
| 43 | + |
| 44 | +enum en_GOALSTATE |
| 45 | +{ |
| 46 | + GOAL_STAT_UNKNOWN, |
| 47 | + GOAL_STAT_PROCESS, |
| 48 | + GOAL_STAT_ENTER, |
| 49 | + GOAL_STAT_EXIT, |
| 50 | + GOAL_STAT_SUSPEND, |
| 51 | + GOAL_STAT_RESUME, |
| 52 | + GOAL_STAT_PAUSED, |
| 53 | + GOAL_STAT_DONE, |
| 54 | + GOAL_STAT_NOMORE, |
| 55 | + GOAL_STAT_FORCE = 0x7fffffff |
| 56 | +}; |
| 57 | + |
| 58 | +enum en_npcgol |
| 59 | +{ |
| 60 | + NME_GOAL_UNKNOWN, |
| 61 | + NME_GOAL_CRIT_IDLE = 0x4e474300, |
| 62 | + NME_GOAL_CRIT_PATROL, |
| 63 | + NME_GOAL_CRIT_DYING, |
| 64 | + NME_GOAL_CRIT_DEAD, |
| 65 | + NME_GOAL_CRIT_BATTACK, |
| 66 | + NME_GOAL_CRIT_JATTACK, |
| 67 | + NME_GOAL_CRIT_JDYING, |
| 68 | + NME_GOAL_TURR_IDLE = 0x4e474700, |
| 69 | + NME_GOAL_TURR_RELOAD, |
| 70 | + NME_GOAL_TURR_HURT, |
| 71 | + NME_GOAL_TURR_DEAD, |
| 72 | + NME_GOAL_TURR_TREADY, |
| 73 | + NME_GOAL_TURR_TTURN, |
| 74 | + NME_GOAL_TURR_TSHOOT, |
| 75 | + NME_GOAL_TURR_PDORMANT, |
| 76 | + NME_GOAL_TURR_PALERT, |
| 77 | + NME_GOAL_TURR_PPATALPHA, |
| 78 | + NME_GOAL_TURR_BIDLE, |
| 79 | + NME_GOAL_TURR_BTURN, |
| 80 | + NME_GOAL_TURR_BSHOOT, |
| 81 | + NME_GOAL_TURR_BHURT, |
| 82 | + NME_GOAL_TURR_SPIRAL, |
| 83 | + NME_GOAL_IDLE = 0x4e474e00, |
| 84 | + NME_GOAL_PATROL, |
| 85 | + NME_GOAL_WANDER, |
| 86 | + NME_GOAL_FIDGET, |
| 87 | + NME_GOAL_WAITING, |
| 88 | + NME_GOAL_DEAD, |
| 89 | + NME_GOAL_NOMANLAND, |
| 90 | + NME_GOAL_LIMBO, |
| 91 | + NME_GOAL_DEV_ANIMVIEW = 0x4e474400, |
| 92 | + NME_GOAL_DEV_HEROMODE, |
| 93 | + NME_GOAL_TIKI_IDLE = 0x4e475400, |
| 94 | + NME_GOAL_TIKI_PATROL, |
| 95 | + NME_GOAL_TIKI_HIDE, |
| 96 | + NME_GOAL_TIKI_COUNT, |
| 97 | + NME_GOAL_TIKI_DYING, |
| 98 | + NME_GOAL_TIKI_DEAD, |
| 99 | + NME_GOAL_AFTERLIFE = 0x4e475300, |
| 100 | + NME_GOAL_SPAWN, |
| 101 | + NME_GOAL_WOUND, |
| 102 | + NME_GOAL_SPOOKED, |
| 103 | + NME_GOAL_NOTICE, |
| 104 | + NME_GOAL_SCAREWAIT, |
| 105 | + NME_GOAL_SCARE, |
| 106 | + NME_GOAL_TAUNT, |
| 107 | + NME_GOAL_EVILPAT = 0x4e475000, |
| 108 | + NME_GOAL_STUNNED, |
| 109 | + NME_GOAL_PATCARRY, |
| 110 | + NME_GOAL_PATTWIRL, |
| 111 | + NME_GOAL_PATTHROW, |
| 112 | + NME_GOAL_TRIGGER_NORMAL = 0x4e475800, |
| 113 | + NME_GOAL_TRIGGER_SCARY, |
| 114 | + NME_GOAL_TRIGGER_DETECT, |
| 115 | + NME_GOAL_TRIGGER_ALERT, |
| 116 | + NME_GOAL_TRIGGER_BATTLE, |
| 117 | + NME_GOAL_TRIGGER_WOUND, |
| 118 | + NME_GOAL_TRIGGER_ATTACK, |
| 119 | + NME_GOAL_TRIGGER_VINIVICIVIDI, |
| 120 | + NME_GOAL_FOGGER_AWARE = 0x4e474500, |
| 121 | + NME_GOAL_FOGGER_BATTLE, |
| 122 | + NME_GOAL_FOGGER_ATTACK, |
| 123 | + NME_GOAL_SLAMMER_AWARE, |
| 124 | + NME_GOAL_SLAMMER_BATTLE, |
| 125 | + NME_GOAL_SLAMMER_ATTACK, |
| 126 | + NME_GOAL_SPINNER_AWARE, |
| 127 | + NME_GOAL_SPINNER_BATTLE, |
| 128 | + NME_GOAL_FLINGER_NORMAL, |
| 129 | + NME_GOAL_FLINGER_AWARE, |
| 130 | + NME_GOAL_FLINGER_BATTLE, |
| 131 | + NME_GOAL_FLINGER_ATTACK, |
| 132 | + NME_GOAL_FLINGER_BOING, |
| 133 | + NME_GOAL_FLINGER_FLEE, |
| 134 | + NME_GOAL_FLINGER_PANIC, |
| 135 | + NME_GOAL_FLINGER_MOVE, |
| 136 | + NME_GOAL_POPPER_NORMAL, |
| 137 | + NME_GOAL_POPPER_AWARE, |
| 138 | + NME_GOAL_POPPER_WOUND, |
| 139 | + NME_GOAL_POPPER_EVADE, |
| 140 | + NME_GOAL_POPPER_BATTLE, |
| 141 | + NME_GOAL_POPPER_ATTACK, |
| 142 | + NME_GOAL_ZAP_NORMAL, |
| 143 | + NME_GOAL_ZAP_AWARE, |
| 144 | + NME_GOAL_ZAP_BATTLE, |
| 145 | + NME_GOAL_ZAP_WOUND, |
| 146 | + NME_GOAL_ZAP_ZAP, |
| 147 | + NME_GOAL_ZAP_MOVE, |
| 148 | + NME_GOAL_MERV_NORMAL, |
| 149 | + NME_GOAL_MERV_AWARE, |
| 150 | + NME_GOAL_MERV_BATTLE, |
| 151 | + NME_GOAL_MERV_ZAP, |
| 152 | + NME_GOAL_MERV_BOMB, |
| 153 | + NME_GOAL_MERV_BOWL, |
| 154 | + NME_GOAL_MERV_WOUND, |
| 155 | + NME_GOAL_MERV_MOVE, |
| 156 | + NME_GOAL_BUCK_RUNNING, |
| 157 | + NME_GOAL_BUCK_BIRTHING, |
| 158 | + NME_GOAL_BUCK_DYING, |
| 159 | + NME_GOAL_BUCK_DEAD, |
| 160 | + NME_GOAL_DENNIS_NORMAL, |
| 161 | + NME_GOAL_DENNIS_EVADE, |
| 162 | + NME_GOAL_DENNIS_BATTLE, |
| 163 | + NME_GOAL_DENNIS_ATTACK, |
| 164 | + NME_GOAL_DENNIS_TAUNT, |
| 165 | + NME_GOAL_DENNIS_DAMAGE, |
| 166 | + NME_GOAL_DENNIS_DEAD, |
| 167 | + NME_GOAL_DENTOO_NORMAL, |
| 168 | + NME_GOAL_DENTOO_EVADE, |
| 169 | + NME_GOAL_DENTOO_BATTLE, |
| 170 | + NME_GOAL_DENTOO_ATTACK, |
| 171 | + NME_GOAL_DENTOO_TAUNT, |
| 172 | + NME_GOAL_DENTOO_DAMAGE, |
| 173 | + NME_GOAL_DENTOO_DEAD, |
| 174 | + NME_GOAL_SBBAT_IDLE, |
| 175 | + NME_GOAL_SBBAT_DEAD, |
| 176 | + NME_GOAL_NOMORE, |
| 177 | + NME_GOAL_FORCE = 0x7fffffff |
| 178 | +}; |
| 179 | + |
| 180 | +enum en_npcgspot |
| 181 | +{ |
| 182 | + NME_GSPOT_START = 0x20, |
| 183 | + NME_GSPOT_RESUME, |
| 184 | + NME_GSPOT_LOOP, |
| 185 | + NME_GSPOT_FINISH, |
| 186 | + NME_GSPOT_STARTALT, |
| 187 | + NME_GSPOT_ALTA, |
| 188 | + NME_GSPOT_ALTB, |
| 189 | + NME_GSPOT_PATROLPAUSE, |
| 190 | + NME_GSPOT_NEXT, |
| 191 | + NME_GSPOT_NOMORE, |
| 192 | + NME_GSPOT_FORCEINT = 0x7fffffff |
| 193 | +}; |
| 194 | + |
| 195 | +struct xPSYNote |
| 196 | +{ |
| 197 | +}; |
| 198 | + |
| 199 | +struct xGoal; |
| 200 | + |
| 201 | +struct xPsyche : RyzMemData |
| 202 | +{ |
| 203 | + xBase* clt_owner; |
| 204 | + xPSYNote* cb_notice; |
| 205 | + S32 flg_psyche; |
| 206 | + xGoal* goallist; |
| 207 | + xGoal* goalstak[5]; |
| 208 | + F32 tmr_stack[1][5]; |
| 209 | + S32 staktop; |
| 210 | + xGoal* pendgoal; |
| 211 | + en_pendtype pendtype; |
| 212 | + S32 gid_safegoal; |
| 213 | + void (*fun_remap)(S32*, en_trantype*); |
| 214 | + void* userContext; |
| 215 | + S32 cnt_transLastTimestep; |
| 216 | + PSY_BRAIN_STATUS psystat; |
| 217 | + xBase fakebase; |
| 218 | +}; |
| 219 | + |
| 220 | +struct xListItem_1 |
| 221 | +{ |
| 222 | + S32 flg_travFilter; |
| 223 | + xGoal* next; |
| 224 | + xGoal* prev; |
| 225 | +}; |
| 226 | + |
| 227 | +struct xGoal : xListItem_1, xFactoryInst |
| 228 | +{ |
| 229 | + xPsyche* psyche; |
| 230 | + en_GOALSTATE stat; |
| 231 | + S32 flg_able; |
| 232 | + S32 (*fun_process)(xGoal*, void*, en_trantype*, F32, void*); |
| 233 | + void* cbdata; |
| 234 | + |
| 235 | + S32 Exit(); |
| 236 | + S32 Suspend(); |
| 237 | + S32 SysEvent(); |
| 238 | + S32 Enter(); |
| 239 | + S32 Resume(); |
| 240 | + S32 Process(en_trantype* trantype, F32 dt, void* updCtxt); |
| 241 | +}; |
| 242 | + |
| 243 | +struct zNMEGoalCommon : xGoal |
| 244 | +{ |
| 245 | + U32 anid_played; |
| 246 | + struct |
| 247 | + { |
| 248 | + S32 flg_npcgauto : 8; |
| 249 | + S32 flg_npcgable : 16; |
| 250 | + S32 bul_entered : 1; |
| 251 | + S32 bul_resumed : 1; |
| 252 | + S32 bul_unused : 6; |
| 253 | + }; |
| 254 | + struct |
| 255 | + { |
| 256 | + S32 flg_info : 16; |
| 257 | + S32 flg_user : 16; |
| 258 | + }; |
| 259 | + |
| 260 | + S32 CollReview(); |
| 261 | + S32 GoalHandleMail(); |
| 262 | + void Clear(); |
| 263 | + S32 Enter(); |
| 264 | + S32 Resume(); |
| 265 | + S32 Process(en_trantype* trantyp, F32 dt, void* ctxt); |
| 266 | +}; |
| 267 | + |
| 268 | +#endif |
0 commit comments