Page 1 of 1
Changelog for next UOX3 version (post v0.99.2h)
Posted: Sun Apr 12, 2020 5:10 pm
by Xuri
Latest stable UOX3 release version:
UOX3 v0.99.2h (
Changelog)
This thread is for CVS changelog updates for the next UOX3 version, the source for which is always available on
github. Experimental builds based on these changes are also made available from time to time, check this thread for details.
Re: Changelog for next UOX3 version
Posted: Sun Apr 12, 2020 5:12 pm
by Xuri
Code: Select all
12/04/2020 - Xuri (0.99.2i)
Fixed an Z-movement issue where NPCs could fall through upper-story floors of buildings and start walking at ground level instead
Movement speed of pets and other NPCs following the player out of combat increased by 1.5 to make it easier for them to keep up
Pets will now teleport to keep up with their owners if pathfinding fails
NPCs with EVIL flag set, who highlight in red, will no longer highlight in grey if they are flagged as a criminal
Criminal timer (and murder count decay) now keeps ticking even while a player is dead
Fixed a spelling error in console.cpp
Made Earthquake spell resistable
Restored some code in magic.cpp that caused errors when casting spells
Experimental build available here:
https://www.uox3.org/files/UOX3_experim ... l_2020.zip
Re: Changelog for next UOX3 version
Posted: Tue Jun 02, 2020 2:40 pm
by Xuri
Code: Select all
17/04/2020 - Tuan H Truong
CPU neutral fix
Die parser rewritten and fuzzed, replaced with cxx17 features
Code: Select all
18/04/2020 - Xuri
Added c++17 flag to configure.ac
Code: Select all
20/04/2020 - Xuri
Preparation for dragging UOX3 kicking and screaming into the 64bit Century (punt)
Filepaths to spidermonkey in MSVC project are now relative to source folder
Default language standard in MSVC project set to stdcpp17
Added a check for compiler to fix 64bit Linux compiling (punt)
Cleaned up some warnings (punt)
Code: Select all
26/04/2020 - Xuri
Updated vcx project files
Added UOX3 CMake build system for Windows (tuanhtrng)
Updated repository readme to include build instructions for CMake
Code: Select all
02/06/2020 - Xuri (0.99.2j)
Added additional ClientVersion enum values to start implementing support for clients above 7.0.24.0. Ini settings disabled by default.
Updated packet 0x78 to always send item colour for clients above 7.0.33.1, which also fixes rendering of items on paperdoll for these clients
Client requests sent by the Bandage Self macro (packet 0xBF, subcommand 0x2C) can now be handled in the JS engine via the onUseBandageMacro( socket, targetChar, bandageItem ) JS event (JS Docs updated with details).
Removed a restriction on speech that prevented onSpeech JS event from triggering based on speech from dead player characters
Fixed hairs and beards not being restored properly on player characters after dying and being resurrected (and then relogging)
Re: Changelog for next UOX3 version
Posted: Fri Jun 12, 2020 8:22 pm
by Xuri
Code: Select all
13/06/2020 - Xuri
Fixed an issue where hair and beard values for characters created prior to 0.99.2j were never stored properly, by updating these values upon login
Re: Changelog for next UOX3 version
Posted: Tue Jun 16, 2020 12:50 am
by Xuri
Code: Select all
16/06/2020 - Xuri
Updated AddButton and AddPageButton JS Methods (and Docs) to include an optional argument for ID of button when pressed. If the extra argument is not provided, the methods behave like before, using buttonImage + 1 for the pressed button:
void AddButton( topHeight, topLeft, buttonImage, (buttonPressedImage) unk1, unk2, unk3 )
void AddPageButton( topHeight, topLeft, buttonImage, (buttonPressedImage), pageNum )
Re: Changelog for next UOX3 version
Posted: Mon Jul 06, 2020 12:57 am
by Xuri
Code: Select all
06/07/2020 - Xuri (0.99.2k)
Added new JS Gump Methods:
AddPicInPic( x, y, gumpID, width, height, spriteX, spriteY ) // Add sprite image in dialogs, requires client v7.0.80.0 or above
AddImageProperty( serial ) // Add properties(?) of a specific item
Fixed a server crash related to world saves, where items being cleaned up were not being removed properly from the MapRegions they were in, resulting in a crash when attempting to save non-existent items out to the worldfiles.
Fixed an issue that could cause GMs to become permanently squelched
Fixed an issue where the newStatus parameter for the onFlagChange JS event was overwritten with oldStatus, and oldStatus parameter was never set
Updated onDeath JS Event to include a second parameter - iCorpse:
onDeath( pDeath, iCorpse ) // iCorpse is a reference to the newly created corpse of pDead
Disabled detailed logging of spells loaded from spells.dfn on startup - was causing unnecessary slowdown
Removed void Wiping( CSocket *s ) from cmdtable.cpp - unused and unreferenced function without a definition
Removed handling of IT_KEY doubleclicking in code, as this is now handled in JS
Removed bool isDoorBlocked( CItem *door ) from cPlayerAction.cpp - unused and unreferenced function without a definition
Removed void CorpseTarget( CSocket *s ) from targeting.cpp - now handled in JS
Removed broken cannon loading and spelldamage code - this should be done in JS instead
Items that initiate a target cursor on use are now stored in tempObj property of player's socket, and distance to these items are checked again after player targets something
House and boat deeds must now be in the player's inventory in order to successfully place a house or boat
Fixed superfluous arugment passed to switchGobletID function in js/server/resource/pitchers.js
Removed some duplicate/unused local variables in js/commands/custom/misc-cmd.js
Removed an unused local variable in js/commands/targeting/dupe.js
Fixed an issue with setting item type through the SET command
Fixed an issue where the number of arrows or bolts in player's inventory was potentially miscalculated in js/item/archerybutte.js
Fixed issue where pickpocket-dummy item visuals potentially didn't get updated properly in js/item/pickpocketdip.js
Fixed an unreachable return statement in js/npc/ai/stablemaster.js
Fixed incorrect ID for gargish maul in js/server/data/weapontypes.js
Added some missing variable declarations in js/commands/custom/repeatingcmds.js, js/commands/delid.js, js/commands/targeting/hide.js, js/item/food.js, js/item/key.js, js/npc/ai/stablemaster.js
Re: Changelog for next UOX3 version
Posted: Sat Aug 08, 2020 7:07 am
by Xuri
Code: Select all
05/08/2020 - Xuri (0.99.2l)
Updated CGump_AddToolTip() gump method - now accepts up to 10 optional cliloc arguments to go with specified cliloc. Can also be used to display custom tooltip text if used with a cliloc like 1114778. Cliloc arguments and custom tooltips only work in client version 7.0.16.0 or above.
Updated CPSendGumpMenu::AddCommand() to use the safer vsnprintf instead of vsprintf, and increased msg buffer size from 512 to 1024
Updated CPIUpdateRangeChange::Handle() to include additional client definitions: CV_HS2D and CV_HS3D
Added new pack types in PackTypes enum:
PT_GAME_BACKGAMMON, PT_GAME_CHESS, PT_MAILBOX1, PT_MAILBOX2, PT_MAILBOX3, PT_MAILBOX4, PT_MAILBOX5, PT_MAILBOX6, PT_MAILBOX7, PT_MAILBOX8, PT_MAILBOX9, PT_WALLSAFE, PT_SAFE
Updated getPackType() with additional container definitions for the following pack types:
PT_RBASKET - winnoning basket (0x1882)
PT_GCHEST - gargoyle chests (0x4025, 0x4026), metal chests (0xA304, 0xA305), rusty metal chests (0xA306, 0xA307), gold chests (0xA308, 0xA309), barnacle metal chests (0xA30A, 0xA30B)
PT_GAME_BACKGAMMON - backgammon boards (0x0E1C, 0x0FAD)
PT_GAME_CHESS - chess board (0x0FA6)
PT_MAILBOX1 - dolphin mailbox (0xA202, 0xA203, 0xA204, 0xA205)
PT_MAILBOX2 - squirrel mailbox (0xA206, 0xA207, 0xA208, 0xA209)
PT_MAILBOX3 - barrel mailbox (0xA1F5, 0xA1F6, 0xA1F7, 0xA1F8)
PT_MAILBOX4 - light mailbox (0xA268, 0xA269, 0xA26A, 0xA26B, 0xA26C, 0xA26D, 0xA26E, 0xA26F)
PT_MAILBOX5 - sitting kitten mailbox (0xA3EB, 0xA3EC, 0xA3ED, 0xA3EE)
PT_MAILBOX6 - standing kitten mailbox (0xA3EF, 0xA3F0, 0xA3F1, 0xA3F2)
PT_MAILBOX7 - scarecrow mailbox (0xA3F3, 0xA3F4, 0xA3F5, 0xA3F6)
PT_MAILBOX8 - lion mailbox (0xA3F7, 0xA3F8, 0xA3F9, 0xA3FA)
PT_MAILBOX9 - square gray mailbox (0x4141, 0x4142, 0x4143, 0x4144)
PT_WALLSAFE - wall safe (0x8B8F, 0x8B90)
PT_SAFE - safe (0x9C18, 0x9C19)
Updated CItem::IsShieldType() to include shield IDs from SA expansion
Added IL_TALISMAN (0x09) and IL_FACE (0x0F) to ItemLayers enum to allow equipping talismans and faces in clients that support this
Updated getWeaponType() (in both code and JS) with additional weapon definitions:
ONEHND_LG_SWORDS - anquique sword 1 (0xA33B, 0xA33C), antique sword 2 (0xA33D, 0xA33E), antique sword 3 (0xA33F, 0xA340), skull sword (0xA341, 0xA342), gargoyle skull sword (0xA345, 0xA346)
LG_MACES - skull staff (0xA343, 0xA344), gargoyle skull staff (0xA347, 0xA348)
Updates keys.js with some distance checks
Misc updates to JS Docs
Re: Changelog for next UOX3 version
Posted: Sat Aug 08, 2020 7:07 am
by Xuri
Code: Select all
08/08/2020 - Xuri (0.99.2m)
Misc code and documentation cleanup:
Updated and standardized function comment blocks throughout entire codebase
Grouped getters and setters together in pairs and documented them as one
Removed empty and/or non-useful information from comment blocks
Removed unused function from cItem.cpp/h - IncID() - formerly used to change IDs for doors
Added new feature - Instances
Objects (characters, items, multis, spawnregions) can now make use of a 5th parameter to determine their location in the game world. In addition to the traditional X, Y, Z and WORLDNUMBER parameters, a new one has been added - INSTANCEID - that allows objects to exist at the same coordinates in the same world, but in different "dimensions". Code has been updated in multiple places to support this, and a default instanceID of 0 is assumed if nothing else is specified.
Added support for new DFN tag in town regions, spawn regions and locations - INSTANCEID (defaults to 0 if not present)
Added support for another start location parameter after worldNum in UOX.INI representing instanceID (defaults to 0 if not present)
Updated TWEAK menu to include WorldNumber and instanceID
Fixed BaseWeight option in TWEAK menu
Updated CBase_Teleport - now takes an optional 5th parameter instanceID
Updated SE_SpawnNPC now takes an optional 5th parameter - instanceID
Updated SE_FindMulti now takes an optional 5th parameter - instanceID
Updated SE_GetItem now takes an optional 5th parameter - instanceID
Updated SE_FindItem now takes an optional 6th parameter - instanceID
Added new JS property for Items, Characters, Regions: .instanceID
Added JS property for Regions: .members - returns comma-separated list of town member serials
Updated JS scripts making use of the above-mentioned JS Methods/Functions
Updated dictionaries with new tweak menu entry texts
Exposed SpawnRegions to JS engine, and updated JS docs with details:
SpawnRegion JS Functions
IterateOverSpawnRegions()
GetSpawnRegion( spawnRegNum )
GetSpawnRegionCount()
SpawnRegion JS Properties
name
regionNum
itemList
npcList
item
npc
maxItems
maxNpcs
itemCount
npcCount
onlyOutside
prefZ
x1
y1
x2
y2
world
instanceID
minTime
maxTime
call
Experimental Build:
https://www.uox3.org/files/uox3all-in-one_0_99_2m_experimental.zip
Re: Changelog for next UOX3 version
Posted: Mon Aug 10, 2020 7:08 pm
by Xuri
Implemented feature negotiation with Razor (and other tools like it), based on method described in
this old forum post.
Code: Select all
11/08/2020 - Xuri
Added support for feature negotiation with Razor, AssistUO and other assistant tools that support this feature via new UOX.INI settings:
ASSISTANTNEGOTIATION=0 // If enabled (1), sends a request (packet 0xF0) to negotiate features with assistant tools upon login. Defaults to (0)
KICKONASSISTANTSILENCE=0 // If enabled (1), disconnects clients that don't respond (with packet 0xF0) to request via assistant tool within 30 seconds. Defaults to (0)
Added new section at bottom of UOX.INI to allow shard admins to control which assistant features get disabled:
[disabled assistant features]
{
AF_FILTERWEATHER=0 // Weather Filter
AF_FILTERLIGHT=0 // Light Filter
AF_SMARTTARGET=0 // Smart Last Target
AF_RANGEDTARGET=0 // Range Check Last Target
AF_AUTOOPENDOORS=0 // Automatically Open Doors
AF_DEQUIPONCAST=0 // Unequip Weapon on spell cast
AF_AUTOPOTIONEQUIP=0 // Un/Re-equip weapon on potion use
AF_POISONEDCHECKS=0 // Block heal If poisoned/Macro IIf Poisoned condition/Heal or Cure self
AF_LOOPEDMACROS=0 // Disallow Looping macros, For loops, and macros that call other macros
AF_USEONCEAGENT=0 // The use once agent
AF_RESTOCKAGENT=0 // The restock agent
AF_SELLAGENT=0 // The sell agent
AF_BUYAGENT=0 // The buy agent
AF_POTIONHOTKEYS=0 // All potion hotkeys
AF_RANDOMTARGETS=0 // All random target hotkeys (Not target next, last target, target self)
AF_CLOSESTTARGETS=0 // All closest target hotkeys
AF_OVERHEADHEALTH=0 // Health and Mana/Stam messages shown over player's heads
AF_AUTOLOOTAGENT=0 // (AssistUO only) The autoloot agent
AF_BONECUTTERAGENT=0 // (AssistUO only) The bone cutter agent
AF_JSCRIPTMACROS=0 // (AssistUO only) Javascript macro engine
AF_AUTOREMOUNT=0 // (AssistUO only) Auto remount after dismount
AF_ALL=0 // All features
}
Re: Changelog for next UOX3 version
Posted: Tue Aug 11, 2020 3:20 pm
by Xuri
Code: Select all
11/08/2020 - Xuri
Added an FX playing for successful uses of the parrying skill
Successfully parrying an attack will send a sysmessage to the player informing them of their feat, if DISPLAYHITMSG is enabled in UOX.INI
Updated dictionary files with new entry about blocking attacks using parrying skill
Fixed placing a house addon teleporting player to the location of the addon
Added support for TELEPORT tag to regions.dfn. If set to 0, use of the Teleport spell is not allowed in a given region. Defaults to 1 if not specified.
Exposed canTeleport JS property for regions
Updated regions.dfn to disable usage of Teleport spell within level 3 of the Wisp dungeon
Updated regions.dfn to enable usage of RECALL spell in city/dungeon of Wind (so players can recall out of there)
Added missing UOX.INI settings for feature negotation, as mentioned in previous commit!
Re: Changelog for next UOX3 version
Posted: Wed Aug 12, 2020 4:47 pm
by Xuri
Code: Select all
12/08/2020 - Xuri
Embraced the usage of R32, R64, SI16, UI16, SI32, UI32, SI64 and UI64 typedef aliases as replacement for built-in types throughout the sourcecode:
typedef float R32;
typedef double R64;
typedef signed char SI08;
typedef unsigned char UI08;
typedef signed short int SI16;
typedef unsigned short int UI16;
typedef signed int SI32;
typedef unsigned int UI32;
typedef signed long long SI64;
typedef unsigned long long UI64;
As part of this process, UI32 was redefined from unsigned long int to unsigned int, and SI32 from signed long int to signed int to ensure the size of variables using these remain the same (32bit) across both Windows, Linux and MacOS for both 32bit and 64bit platforms
Replaced instances of toLong() with toInt(), and toULong() to toUInt()
Replaced instances of "long" and "int" with SI32 where possible
Replaced instances of "unsigned long" and "unsigned int" with UI32 where possible
Replaced instances of "float" with R32 where possible
Fixed an issue with void CSpawnRegion::SetNPCList() and void CSpawnRegion::SetItemLIst() that could cause compilation to fail on Linux
Re: Changelog for next UOX3 version
Posted: Thu Aug 13, 2020 2:54 pm
by Xuri
Code: Select all
13/08/2020 - Xuri
Misc changes to address errors and warnings when compiling on 64bit Linux
%li changed to %i
%lu changed to %u
Some (SERIAL) changed to (UI64)
Some size_t changed to UI32
Re: Changelog for next UOX3 version
Posted: Fri Aug 14, 2020 1:59 am
by Xuri
Code: Select all
14/08/2020 - Xuri (0.99.2n)
Replaced platform specific ways of looking up and loading DFN files in cServerDefinitions.cpp with a common, cross-platform method using std::filesystem. This also fixes an issue with loading of map0.mul on Linux when maps.4xclients.old is present in dfndata/maps/ directory (thanks, punt!)
Re: Changelog for next UOX3 version
Posted: Fri Aug 14, 2020 10:45 pm
by Xuri
Code: Select all
15/08/2020 - Xuri
Updated healing.js to disallow usage of healing skill if target is in a house/multi not owned by either healer or healee
Fixed broken starting locations in UOX.INI
Fixed an issue with CPSendGumpMenu::AddText() that caused guildstones and townstones to crash server when used
Fixed an issue with CTownRegion::DisplayTownMenu() that prevented players from joining a town when interacting with a townstone for the first time
Re: Changelog for next UOX3 version
Posted: Thu Aug 20, 2020 7:14 pm
by Xuri
Code: Select all
21/08/2020 - Xuri (0.99.2o)
Added support (UOPInterface.cpp/hpp) for loading map files in UOP format, allowing UOX3 to use
map files from clients up to at least v7.0.86.2 without requiring files to be converted to
mul format first. Loading of UOP files is slower than for equivalent mul files, but after
startup, the performance of lookups remains the same for both (punt)
Updated TWEAK, INFO in code and ISTATS, CSTATS in gumps.js to display 4-digit hex-ids for IDs
consistently in the format of 0x####
Fixed issue that would disconnect ClassicUO users if they used WorldMap feature in the client,
via CPIKrriosClientSpecial() handler in CPacketReceive.cpp/h, which will handle all things
packet 0xF0. As of yet it doesn't respond correctly to the WorldMap-related version of the
packet, but at least it no longer disconnects this client from the server.
Re: Changelog for next UOX3 version
Posted: Sun Aug 23, 2020 9:26 pm
by Xuri
Code: Select all
24/08/2020 - Xuri (0.99.2p)
Improvements to handling of UOP format; now takes a cleaner approach, loads files faster (punt)
Fixed a issue in JS/COMMANDS/TARGETING/add.js that would display 'undefined' in system message when adding raw/base items
Updated default jail time in JS/COMMANDS/TARGETING/jail.js (and in code) from 100000 seconds to 86400 seconds (24 hours)
All references in code and scripts to "midi" changed to "music", to reflect fact that modern clients don't actually even have midi files. This change covers both GM commands, DFN tags in regions.dfn and JS methods/properties.
Added new socket property for storing temporary int in JS - tempInt2
Added new socket property for storing temporary object in JS - tempObj2
Expanded XGO command in JS/COMMANDS/TARGETING/x.js to support optional world and instance parameters
Fixed an issue that prevented characters from vanishing from the the sight of players when teleporting to a different instance
Added support for ClassicUO client's WorldMap tracking packet (0xf0) for guildmembers/partymembers. This is the same packet as Razor uses for feature negotiation, so merged the handling of those two packets together into CPIKrriosClientSpecial, which can also be extended to handle other uses of this packet.
Added new UOX.INI setting whether shard should respond to ClassicUO client's WorldMap tracking packets for guildmembers/partymembers
CLASSICUOMAPTRACKER=0
Re: Changelog for next UOX3 version
Posted: Wed Aug 26, 2020 1:54 pm
by Xuri
Code: Select all
26/08/2020 - Xuri
Misc code cleanup to reduce amount of warnings and increase cross-platform compatibility
Removed Platform.h from project, select portions moved to Config.h
Re: Changelog for next UOX3 version
Posted: Mon Sep 07, 2020 11:10 am
by Xuri
Code: Select all
07/09/2020 - Xuri (0.99.3-RC1)
Added new Makefile that handles compiling UOX3 and Spidermonkey on both Linux and MacOS (punt)
Added VS solution (SpiderMonkey.sln) and VC++ project files for compiling SpiderMonkey on Windows (Xuri)
Updated SpiderMonkey from v1.6.0 to v1.7.0
Added optimization flag -O2 for release build in CMakeLists.txt in project root (Xuri)
Added StringUtility file with general common string manipulation functions (punt)
Updated RandomNum function to use a "seedless" random number generator from C++11 instead of the old C rand() function. (punt)
Overall code cleanup to remove/replace platform-dependent code (punt)
Replaced potentially unsafe usage of C string stuff like sprintf, vsprintf, vsnprintf, strncat, strcpy and strlen throughout the code with calls to a format() function containing only a single, safe use of vsnprintf, ensuring there's a single place of failure if there's anything to fix and and making it easy to potentially replace this with std::format from C++20 when the time comes. (punt)
Replaced usage of char in many places with std::string (punt)
Started process of replacing UString usage with functions provided through StringUtility instead (punt)
Replaced platform specific fileIO handling in Windows/Linux with cross-platform C++17 standard std::filesystem (punt)
Replaced platform specific time handling by using cross-platform chrono library (punt)
Removed UOX namespace to reduce complexity (punt)
Elimitated template code approach to singletons for more modern c++ constructs, removing dependices in the process (punt)
Removed ODBC support; it hasn't been touched since the initial implementation in 2008, and there is a lack of someone to maintain the code. (punt)
Removed some platform specific files like uoxlinux.h, which is no longer required (punt)
Removed legacy crash protection code, and removed support for cluox (punt)
Removed legacy "support" for Borland compiler (punt)
Removed legacy VC++ 6 Workspace/Project files, VS2005 Solution/Project files, as these are no longer supported (Xuri)
Removed legacy BUILD folder with outdated compilation instructions (Xuri)
Removed old Changelog file (merged into Changelog.txt) (Xuri)
Fixed a pointer bug for items in multis on world load (punt)
Fixed a dictionary related issue that caused segmentation faults on Linux/MacOS (punt)
Fixed an issue with callbacks to JS scripts that caused segmentation faults on Linux/MacOS (punt)
Paths in uox.ini should now load properly on all platforms regardless of whether those paths use slashes or backslashes, and whether or not they end in a slash/backslash. (punt)
Moved to c++17 style of threading, and got rid of threadsafeobject.cpp/h (punt)
Replaced parsing of UOX.INI tags with a system that's more easily maintainable (punt)
Added some new commands to js/commands/custom/misc-cmd.js (Xuri)
cont // Targeted item will be made a container, set to nondecay and movable 2
endfight // Targeted character (and character being fought) will stop fighting
getmulti // Get multiObject for targeted item
finditem // Find item at layer X
movespeed // Set movement speed of target player (0x0 Normal, 0x1 Mounted, 0x2 Slow (walk only), 0x3 Hybrid ("jog"?), 0x4 Frozen)
Added new HTML based documentation in docs folder, and removed many old legacy docs that are either incorporated into this document already or no longer relevant for the current UOX3 version (Xuri)
Re: Changelog for next UOX3 version
Posted: Mon Sep 07, 2020 8:32 pm
by Xuri
Code: Select all
08/09/2002 - Xuri (0.99.3-RC2)
Fixed grammar mistake in automake.sh that prevented compiling SpiderMonkey on MacOS (Xuri)
Updated readme with extended compiling details in spoiler tags (Xuri)
Undid static cast in jsapi.h (Xuri)
Fixed issue with two different versions of cPlayerAction.cpp with different case in name causing issues (Xuri)
The UOX3/shared/ directory will now be created automatically on startup if it doesn't already exist (punt)
Updated README.md and UOX3 documentation with improved instructions for installing necessary build tools on Linux and how to copy files to working directory after compiling. (Xuri)
Moved automake.sh from source directory to project root, and made it copy binary to project root directory after compiling (Xuri)
Note that these changes have been commmitted to a temporary branch on GitHub, which will be merged into master/develop when ready for release:
0_99_3_release_candidate
Re: Changelog for next UOX3 version
Posted: Wed Sep 09, 2020 2:58 am
by Xuri
Code: Select all
09/09/2020 - Xuri (0.99.3-RC3)
Updated VS Solutions/Projects for UOX3 and SpiderMonkey to support compiling 64-bit version of UOX3 for Windows 8/10
Fixed an issue in cConsole.cpp that prevented compiling 64bit version of UOX3 for Windows