Review dude move/run functions
This commit is contained in:
parent
a48d744cde
commit
f4775775b8
|
@ -302,9 +302,6 @@ static bool gAnimationInStop = false;
|
||||||
// 0x510728
|
// 0x510728
|
||||||
static bool _anim_in_bk = false;
|
static bool _anim_in_bk = false;
|
||||||
|
|
||||||
// 0x51072C
|
|
||||||
static int _lastDestination = -2;
|
|
||||||
|
|
||||||
// 0x510730
|
// 0x510730
|
||||||
static unsigned int _last_time_ = 0;
|
static unsigned int _last_time_ = 0;
|
||||||
|
|
||||||
|
@ -2953,7 +2950,7 @@ static void _object_anim_compact()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 0x417FFC
|
// 0x417FFC
|
||||||
int _check_move(int* a1)
|
int _check_move(int* actionPointsPtr)
|
||||||
{
|
{
|
||||||
int x;
|
int x;
|
||||||
int y;
|
int y;
|
||||||
|
@ -2965,15 +2962,14 @@ int _check_move(int* a1)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isInCombat()) {
|
if (isInCombat()) {
|
||||||
if (*a1 != -1) {
|
if (*actionPointsPtr != -1) {
|
||||||
if (gPressedPhysicalKeys[SDL_SCANCODE_RCTRL] || gPressedPhysicalKeys[SDL_SCANCODE_LCTRL]) {
|
if (gPressedPhysicalKeys[SDL_SCANCODE_RCTRL] || gPressedPhysicalKeys[SDL_SCANCODE_LCTRL]) {
|
||||||
int hitMode;
|
int hitMode;
|
||||||
bool aiming;
|
bool aiming;
|
||||||
interfaceGetCurrentHitMode(&hitMode, &aiming);
|
interfaceGetCurrentHitMode(&hitMode, &aiming);
|
||||||
|
|
||||||
int v6 = itemGetActionPointCost(gDude, hitMode, aiming);
|
*actionPointsPtr -= itemGetActionPointCost(gDude, hitMode, aiming);
|
||||||
*a1 = *a1 - v6;
|
if (*actionPointsPtr <= 0) {
|
||||||
if (*a1 <= 0) {
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2988,36 +2984,34 @@ int _check_move(int* a1)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 0x4180B4
|
// 0x4180B4
|
||||||
int _dude_move(int a1)
|
int _dude_move(int actionPoints)
|
||||||
{
|
{
|
||||||
int v1;
|
// 0x51072C
|
||||||
int tile = _check_move(&v1);
|
static int lastDestination = -2;
|
||||||
|
|
||||||
|
int tile = _check_move(&actionPoints);
|
||||||
if (tile == -1) {
|
if (tile == -1) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_lastDestination == tile) {
|
if (lastDestination == tile) {
|
||||||
return _dude_run(a1);
|
return _dude_run(actionPoints);
|
||||||
}
|
}
|
||||||
|
|
||||||
_lastDestination = tile;
|
lastDestination = tile;
|
||||||
|
|
||||||
reg_anim_begin(ANIMATION_REQUEST_RESERVED);
|
reg_anim_begin(ANIMATION_REQUEST_RESERVED);
|
||||||
|
|
||||||
animationRegisterMoveToTile(gDude, tile, gDude->elevation, a1, 0);
|
animationRegisterMoveToTile(gDude, tile, gDude->elevation, actionPoints, 0);
|
||||||
|
|
||||||
return reg_anim_end();
|
return reg_anim_end();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 0x41810C
|
// 0x41810C
|
||||||
int _dude_run(int a1)
|
int _dude_run(int actionPoints)
|
||||||
{
|
{
|
||||||
int a4;
|
int tile = _check_move(&actionPoints);
|
||||||
int tile_num;
|
if (tile == -1) {
|
||||||
|
|
||||||
a4 = a1;
|
|
||||||
tile_num = _check_move(&a4);
|
|
||||||
if (tile_num == -1) {
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3027,7 +3021,7 @@ int _dude_run(int a1)
|
||||||
|
|
||||||
reg_anim_begin(ANIMATION_REQUEST_RESERVED);
|
reg_anim_begin(ANIMATION_REQUEST_RESERVED);
|
||||||
|
|
||||||
animationRegisterRunToTile(gDude, tile_num, gDude->elevation, a4, 0);
|
animationRegisterRunToTile(gDude, tile, gDude->elevation, actionPoints, 0);
|
||||||
|
|
||||||
return reg_anim_end();
|
return reg_anim_end();
|
||||||
}
|
}
|
||||||
|
|
|
@ -148,9 +148,9 @@ int pathfinderFindPath(Object* object, int from, int to, unsigned char* rotation
|
||||||
int _make_straight_path(Object* a1, int from, int to, STRUCT_530014_28* pathNodes, Object** a5, int a6);
|
int _make_straight_path(Object* a1, int from, int to, STRUCT_530014_28* pathNodes, Object** a5, int a6);
|
||||||
int _make_straight_path_func(Object* a1, int from, int to, STRUCT_530014_28* a4, Object** a5, int a6, Object* (*a7)(Object*, int, int));
|
int _make_straight_path_func(Object* a1, int from, int to, STRUCT_530014_28* a4, Object** a5, int a6, Object* (*a7)(Object*, int, int));
|
||||||
void _object_animate();
|
void _object_animate();
|
||||||
int _check_move(int* a1);
|
int _check_move(int* actionPointsPtr);
|
||||||
int _dude_move(int a1);
|
int _dude_move(int actionPoints);
|
||||||
int _dude_run(int a1);
|
int _dude_run(int actionPoints);
|
||||||
void _dude_fidget();
|
void _dude_fidget();
|
||||||
void _dude_stand(Object* obj, int rotation, int fid);
|
void _dude_stand(Object* obj, int rotation, int fid);
|
||||||
void _dude_standup(Object* a1);
|
void _dude_standup(Object* a1);
|
||||||
|
|
Loading…
Reference in New Issue