Skip to content
This repository has been archived by the owner on Sep 20, 2023. It is now read-only.

FOClassic v5

Compare
Choose a tag to compare
@wipe2238 wipe2238 released this 23 Jan 09:28
· 42 commits to master since this release
  • fixed loading of .fosb files when script source cannot be found
    • dependencies are not checked if main .fos file does not exists
  • all applications will search for config file in following order:
    • executable name
    • original name, including suffix (ClientDX.cfg, MapperGL.cfg, etc.)
    • original name, excluding suffix (Client.cfg, Mapper.cfg, Server.cfg)
    • FOClassic.cfg
    • FOnline.cfg (temporary, file will be ignored in future)
  • added Server setting VerboseInit (boolean), false by default
    • if enabled, Server prints more details about some tasks (dialogs/maps/prototypes/scripts loading)
  • removed Server setting Language_N, use Languages instead; see v2 changelog for detailed info
  • Client log filename changed to Client.log
  • extensions changes
    • GameOptions* FOnline removed, use FOClassic instead
    • GameOptions::FoDataPath renamed to GameOptions::DataPath
    • ProtoItem::IsItem() consistent with engine-side check
  • scripts changes
    • [Client] global variables __Gmap* renamed to __Worldmap*
    • [Server] global function bool SwapCritters(Critter& cr1, Critter& cr2, bool withInventory, bool withVars) removed
    • [Client, Mapper] global variable __FoDataPath renamed to __DataPath
    • [Client, Server] global variable __GlobalMapMaxGroupCount renamed to __WorldmapMaxGroupCount
  • extensions/scripts changes (FOClassic.fos)
    • multiple defines has been renamed; see tables below for a complete list
    • added DIK defines
    • changed values of COMMAND defines
    • changed values of DRAW_PRIMITIVE defines
  • interface changes
    • Gmap* entries renamed to Worldmap*
    • LMenuGmap* entries renamed to LMenuWorldmap*
  • additional notes
    • as mentioned in announcement, this release end migration stage and starts regular development where bigger and/or more demanding changes can and will be introduced; to avoid "r413+ situation" some of bigger reworks might be introduced across multiple releases, making progress somewhat slower but (hopefully) easier to grasp
Old prefix New prefix
ACTION `CRITTER_ACTION
CMD COMMAND
CONT CONTAINER
COND CRITTER_CONDITION
FCRIT CRITTER_FLAG
FH HEX_FLAG
FOMB MSGBOX
FONT FONT_TYPE
FT FONT_FLAG
GLOBAL_PROCESS WORLDMAP_PROCESS
GM_FOG WORLDMAP_FOG
GM_WALK WORLDMAP_WALK
ITEM ITEM_FLAG
ITEMS ITEM_COLLECTION
MESSAGE SENDMESSAGE
PT PATH
SCREEN SHOW_SCREEN
VAR VAR_TYPE
Old name New name
CHOSEN_MOVE_TO_CRIT CHOSEN_MOVE_TO_CRITTER
CHOSEN_MOVE_ITEM_CONT CHOSEN_MOVE_ITEM_CONTAINER
CHOSEN_USE_SKL_ON_CRITTER CHOSEN_USE_SKILL_ON_CRITTER
CHOSEN_USE_SKL_ON_ITEM CHOSEN_USE_SKILL_ON_ITEM
CHOSEN_USE_SKL_ON_SCEN CHOSEN_USE_SKILL_ON_SCENERY
CHOSEN_PICK_CRIT CHOSEN_PICK_CRITTER
CHOSEN_WRITE_HOLO CHOSEN_WRITE_HOLODISK
CLIENT_MAIN_SCREEN_GLOBAL_MAP CLIENT_MAIN_SCREEN_WORLDMAP
CLIENT_SCREEN_PIP_BOY CLIENT_SCREEN_PIPBOY
CLIENT_SCREEN_FIX_BOY CLIENT_SCREEN_FIXBOY
CLIENT_SCREEN_CHA_NAME CLIENT_SCREEN_CHAR_NAME
CLIENT_SCREEN_CHA_AGE CLIENT_SCREEN_CHAR_AGE
CLIENT_SCREEN_CHA_SEX CLIENT_SCREEN_CHAR_SEX
CLIENT_SCREEN_GM_TOWN CLIENT_SCREEN_WM_TOWN
CLIENT_SCREEN_INPUT_BOX CLIENT_SCREEN_INPUTBOX
CLIENT_SCREEN_TOWN_VIEW CLIENT_SCREEN_WM_TOWNVIEW
CLIENT_SCREEN_SAVE_LOAD CLIENT_SCREEN_LOADSAVE
CRITTER_ONLY_NAME CRITTER_LOOK_NAME
MAX_USES USE_MAX
NPC_START_ID CRITTER_ID_START_NPC
USER_START_ID CRITTER_ID_START_PLAYER