Fix town map hotkeys
This commit is contained in:
parent
957c5af66b
commit
79f5e00f6e
|
@ -56,6 +56,7 @@
|
||||||
#define SFALL_CONFIG_GAME_DIALOG_FIX_KEY "DialogueFix"
|
#define SFALL_CONFIG_GAME_DIALOG_FIX_KEY "DialogueFix"
|
||||||
#define SFALL_CONFIG_TWEAKS_FILE_KEY "TweaksFile"
|
#define SFALL_CONFIG_TWEAKS_FILE_KEY "TweaksFile"
|
||||||
#define SFALL_CONFIG_GAME_DIALOG_GENDER_WORDS_KEY "DialogGenderWords"
|
#define SFALL_CONFIG_GAME_DIALOG_GENDER_WORDS_KEY "DialogGenderWords"
|
||||||
|
#define SFALL_CONFIG_TOWN_MAP_HOTKEYS_FIX "TownMapHotkeysFix"
|
||||||
|
|
||||||
#define SFALL_CONFIG_BURST_MOD_DEFAULT_CENTER_MULTIPLIER 1
|
#define SFALL_CONFIG_BURST_MOD_DEFAULT_CENTER_MULTIPLIER 1
|
||||||
#define SFALL_CONFIG_BURST_MOD_DEFAULT_CENTER_DIVISOR 3
|
#define SFALL_CONFIG_BURST_MOD_DEFAULT_CENTER_DIVISOR 3
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
#include "queue.h"
|
#include "queue.h"
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
#include "scripts.h"
|
#include "scripts.h"
|
||||||
|
#include "sfall_config.h"
|
||||||
#include "skill.h"
|
#include "skill.h"
|
||||||
#include "stat.h"
|
#include "stat.h"
|
||||||
#include "string_parsers.h"
|
#include "string_parsers.h"
|
||||||
|
@ -902,6 +903,8 @@ static int _wmMaxEncBaseTypes;
|
||||||
// 0x67303C
|
// 0x67303C
|
||||||
static int gEncounterTablesLength;
|
static int gEncounterTablesLength;
|
||||||
|
|
||||||
|
static bool gTownMapHotkeysFix;
|
||||||
|
|
||||||
static int _wmGenDataInit();
|
static int _wmGenDataInit();
|
||||||
static int _wmGenDataReset();
|
static int _wmGenDataReset();
|
||||||
static int _wmWorldMapSaveTempData();
|
static int _wmWorldMapSaveTempData();
|
||||||
|
@ -1026,6 +1029,10 @@ int worldmapInit()
|
||||||
_wmMarkSubTileRadiusVisited(_world_xpos, _world_ypos);
|
_wmMarkSubTileRadiusVisited(_world_xpos, _world_ypos);
|
||||||
_wmWorldMapSaveTempData();
|
_wmWorldMapSaveTempData();
|
||||||
|
|
||||||
|
// SFALL
|
||||||
|
gTownMapHotkeysFix = true;
|
||||||
|
configGetBool(&gSfallConfig, SFALL_CONFIG_MISC_KEY, SFALL_CONFIG_TOWN_MAP_HOTKEYS_FIX, &gTownMapHotkeysFix);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6104,6 +6111,14 @@ int worldmapCityMapViewSelect(int* mapIndexPtr)
|
||||||
if (keyCode >= KEY_1 && keyCode < KEY_1 + city->entrancesLength) {
|
if (keyCode >= KEY_1 && keyCode < KEY_1 + city->entrancesLength) {
|
||||||
EntranceInfo* entrance = &(city->entrances[keyCode - KEY_1]);
|
EntranceInfo* entrance = &(city->entrances[keyCode - KEY_1]);
|
||||||
|
|
||||||
|
// SFALL: Prevent using number keys to enter unvisited areas on
|
||||||
|
// a town map.
|
||||||
|
if (gTownMapHotkeysFix) {
|
||||||
|
if (entrance->state == 0 || entrance->x == -1 || entrance->y == -1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
*mapIndexPtr = entrance->map;
|
*mapIndexPtr = entrance->map;
|
||||||
|
|
||||||
mapSetEnteringLocation(entrance->elevation, entrance->tile, entrance->rotation);
|
mapSetEnteringLocation(entrance->elevation, entrance->tile, entrance->rotation);
|
||||||
|
|
Loading…
Reference in New Issue