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

FOClassic v4

Compare
Choose a tag to compare
@wipe2238 wipe2238 released this 30 Dec 16:18
· 59 commits to master since this release
  • fixed Client crash when loading .dat files in some scenarios
  • fixed ASCompiler crash when receiving warnings/errors from script engine
  • language packs are loaded by Server before initializing script system
  • Mapper scripts are compiled by Server during initialization
    • errors in Mapper scripts are not considered critical by Server; compilation will be stopped if errors are detected, and initialization will move on to next step
  • added FONT_TYPE_DIALOG, uses Dialog.fofnt
    • font file(s) are not required by default; if Dialog.fofnt cannot be found, Default.fofnt is loaded instead
    • used on dialog/barter screens only, replacing FONT_TYPE_DEFAULT usage
    • it's recommended to use FONT_TYPE_DIALOG whenever drawing strings over dialog/barter screens (even if game uses default font only) to fully support player-made interfaces
  • when reading WindowName setting, strings FOCLASSIC_STAGE and FOCLASSIC_VERSION are converted to real values; affects all core applications which uses this setting
  • Mapper window no longer adds engine version to WindowName setting
    • to restore previous behaviour use WindowName = My Game Mapper (vFOCLASSIC_VERSION)
  • reserved functions
    • [Client, Mapper] added void finish(), executed before closing application
  • extensions changes
    • added Client::UID[]
    • added GameOptionsExt::WallAlpha
    • Item::_Data::Rate added to FOCLASSIC_EXTENSION_STRIP_CONST list
  • scripts changes
    • preprocessor now understands #undef directive
    • added global define ANGELSCRIPT_VERSION
      exposes value with same name defined in angelscript.h
    • scripts for all targets can be placed in subdirectories
      • path to script (@ TARGET module in scripts.cfg) can be set using Unix and Windows format, but internally Unix format is used
    • Client:
      • added void CritterCl::GetNameTextInfo(bool& nameVisible, int& x, int& y, int& w, int& h, int& lines)
        returns size and position of name / dialog floater / chat message above critter head
      • added uint8 CritterCl::Alpha, const bool CritterCl::FadingEnable
    • Server:
      • added const bool Critter::IsDisconnected (thanks mojuk)
        returns true for offline player characters
      • added uint Critter::GetUID(uint8 index)
        returns player's UID0 - UID4
      • added uint Critter::GetIp()
        returns player's IP
      • added string@ Critter::GetIpString()
        returns player's IP in human-readable format
    • Client/Mapper:
      • added global variable uint8 __WallAlpha
        allows to change walls transparency, similiar to __RoofAlpha
      • added void SetZoom(float zoom)
        allows to change zoom level easily from scripts