Commit Graph

24 Commits

Author SHA1 Message Date
Jaroslaw Palczynski
65ba5d456f TArray documentation and a coupld of methods deprecation.
Changes mostly in Array.h. The changes in other files are only renames for deprecated functions.

[CL 2312616 by Jaroslaw Palczynski in Main branch]
2014-09-29 04:23:44 -04:00
James Moran
5f0802b862 HTML5 Win32 FName compile fix
[CL 2309731 by James Moran in Main branch]
2014-09-25 10:01:12 -04:00
Max Preussner
121fccd2ab Code and documentation cleanup pass
- removed dummy UClasses (no longer needed)
- removed file header comments (not used)
- removed duplicated function documentation in cpp files
- documentation cleanup, punctuation, spelling etc.
- pragma once include guards (now work on all platforms)
- relative public includes (are auto-discovered by UBT)
- fixed too many/too few line breaks
- deleted empty files
- missing override
- NULL to nullptr

[CL 2305058 by Max Preussner in Main branch]
2014-09-21 20:35:48 -04:00
Jamie Dale
b1076751ff Made FName case-preserving by storing case-variant strings in its string table
This is controlled by the macro "WITH_CASE_PRESERVING_NAME", which is currently just set to "WITH_EDITORONLY_DATA" so that it works in editor builds (and UHT).

Added an extra NAME_INDEX entry to FName to store a second string table index for a case-variant string. The previous Index value (now called ComparisonIndex) is still used for comparison purposes (as FNames are still case-insensitive).

The Init process for an FName now works like this:
 1) It will find or add a string table entry for the given string (not matching case) - this entry index is stored in ComparisonIndex.
 2) It will then compare the string table entry string against the given string (matching case) to see if it also needs to add a case-variant entry for the FName.
 3) If it does, it finds or adds a second string table entry (matching case) for the string - this entry index is stored in DisplayIndex.

Hard-coded FNames (those listed in UnrealNames.h) do not support case-variants (due to existing network replication rules for hard-coded FNames), so they skip steps 2 and 3.

I added FMinimalName, which is the same size as FName was previously. This shouldn't really be used (and as such, is deliberately awkward to make/use) as it loses the case-preserving behaviour of FName, however it was required for some things (like stats) that had a hard-coded upper limit on FName size.

I added FScriptName, which always contains the extra display index (even when WITH_CASE_PRESERVING_NAME is disabled). This is used by Blueprint bytecode, as the types used by Blueprint bytecode must be a consistent size between all build configurations.

Other changes:

 - Fixed up any places that were passing an Index into the FName constructor which was supposed to take an EName.
     - Some places were doing this to make the number unique when replicating an object, but this was losing the case-variant information, so I had to fix them.
     - FName will now assert if the EName constructor is used with an value outside the range of hard-coded FNames.

 - Ensured that assets, actors, and blueprint components could all be renamed in a way that only changed their case, and that these changes were correctly persisted.

 - Added FLinkerNamePairKeyFuncs and TLinkerNameMapKeyFuncs for use with TSet and TMap.
     - These allow ULinkerSave and ULinkerLoad to correctly write out case-variants for FNames, and also fixes an issue where the linker would erroneously write out duplicate string table entries for FNames which had a different number (causing package bloat).

 - Bumped VER_MIN_SCRIPTVM_UE4 so that all Blueprint bytecode is recompiled using FScriptName.

ReviewedBy Robert.Manuszewski, Gil.Gribb

[CL 2300730 by Jamie Dale in Main branch]
2014-09-17 05:24:55 -04:00
Ankit Khare
3011aa6448 #UE4 #HTML5 Fix up Win32 Simulator Build for HTML5.
[CL 2247484 by Ankit Khare in Main branch]
2014-08-07 16:34:10 -04:00
Jeff Campeau
e9314d75c9 Parse port numbers for IPv4 and IPv6 addresses.
[CL 2231006 by Jeff Campeau in Main branch]
2014-07-24 22:12:09 -04:00
Daniel Lamb
7184ecc682 Seperated the support for tcp and http transports when using file serving so that they can be used at the same time.
#codereview Peter.Sauerbrei
#codereview Ankit.Khare

[CL 2170710 by Daniel Lamb in Main branch]
2014-07-07 15:39:19 -04:00
Max Preussner
017837289f Modules: Module Manager API cleanup pass
There is now a consistent set of methods for module loading, unloading and lookup that all behave in the same expected way.

- renamed GetModuleInterface to GetModule and made it not assert
- removed GetModuleInterfaceRef
- namespace enums to enum classes, NULL to nullptr
- moved important public methods to the top, so they're easier to discover
- added missing & improved existing documentation
- cleaned up existing use cases

[CL 2109936 by Max Preussner in Main branch]
2014-06-18 19:23:34 -04:00
Jaroslaw Palczynski
ce0aa1be23 UE4 Refactoring. Changed OVERRIDE and FINAL macros to keywords override and final.
Some missing changes from last submit plus deprecated message when using macros.

[CL 2104460 by Jaroslaw Palczynski in Main branch]
2014-06-13 08:09:04 -04:00
Jaroslaw Palczynski
ebce413232 UE4 Refactoring. Changed OVERRIDE and FINAL macros to keywords override and final.
[CL 2104397 by Jaroslaw Palczynski in Main branch]
2014-06-13 06:14:46 -04:00
Ryan Gerleve
e9912185d9 Integrate fixes for Xbox One from Black Tusk
Write out the port in IPv6 address strings
Add checks to guard against problems when users sign out
Set the port when converting secure addresses

[CL 2096445 by Ryan Gerleve in Main branch]
2014-06-05 19:50:48 -04:00
Ryan Gerleve
7459cf071d Fix crash if a BSDIPv6 socket is double-closed
On close, the socket now sets itself to INVALID_SOCKET and won't try to close if it's already an INVALID_SOCKET (same as IPv4 BSD sockets)

[CL 2082603 by Ryan Gerleve in Main branch]
2014-05-22 20:21:14 -04:00
Mikolaj Sieluzycki
7a1386bfc9 #ttp 331740 UE4: Core: Runnable thread clean-up
#proj core
#branch UE4
#summary Remove all bAutoDeleteSelf and bAutoDeleteRunnable usage from the runnable.
#codereview Robert.Manuszewski

[CL 2070165 by Mikolaj Sieluzycki in Main branch]
2014-05-12 08:39:12 -04:00
Steve Robb
5ab9f3b278 Rocket build fixes
#change All headers in Classes, Public and Private are treated as candidates for UHT.
#change All candidate headers are scraped for the presence of a UCLASS, USTRUCT, UENUM, UINTERFACE and UDELEGATE at the start of a line and are only passed to UHT if one of these is present.
#fix Removed UENUMs from various games which were picked up as false positives by UBT but were never intended to be parsed by UHT.
#fix SocketSubsystem.h was including itself.

#codereview robert.manuszewski

[CL 2058796 by Steve Robb in Main branch]
2014-04-29 11:21:18 -04:00
Terence Burns
b225d39240 Windows XP game support added.
XP support is off by default and currently only supported for win32 builds using Visual Studio 2013
I have updated a lot of platform atomic calls to use 32 bits as 64 is not supported on windows xp.
Added extra checks in d3d11 to ensure that these cached shaders are for that platform.
Added a validity check to the TextInputMethodSystem before we try and process input.
128 bit atomics disabled for header generator. Causes issues with xp compilation. Reviewed by Steve Robb.
Texture Memory size stats changed to from bytes to kilobytes to satisfy dependency for 32 bit atomics.

Note: OpenGL is the default RHI for WindowsXP.

[CL 2057787 by Terence Burns in Main branch]
2014-04-28 11:19:24 -04:00
Max Preussner
e68711fa9a fixed FSocket::HasPendingData wrongly returning true if ioctrl is unavailable and/or the pending data size is zero
#CodeReview: peter.sauerbrei, josh.adams

[CL 2052830 by Max Preussner in Main branch]
2014-04-23 20:01:57 -04:00
Peter Sauerbrei
ad1395f6a6 #ue4
#ios
* fix for shutdown crash on iOS, no longer try to stop the socket subsystem if we aren't on the main thread

TTP328922

[CL 2045351 by Peter Sauerbrei in Main branch]
2014-04-23 18:43:57 -04:00
Dmitry Rekman
9c54fe2bf4 Making the decoding of IPv4 address symmetric with encoding. This seems to be specific to Windows/Xbox dual-stack.
[CL 2042081 by Dmitry Rekman in Main branch]
2014-04-23 17:59:30 -04:00
Dmitry Rekman
eff3c70acb Making IPv6 socket code RFC 2553-compliant (and thus not Windows-specific). Enabling Linux to support BSD v6 sockets too.
#codereview Ryan.Gerleve, Sam.Zamani, Josh.Markiewicz

[CL 2042078 by Dmitry Rekman in Main branch]
2014-04-23 17:59:20 -04:00
Ryan Gerleve
66157f714b #UE4 Fix for IPv6 sockets compile errors on non-Microsoft platforms
[CL 2042022 by Ryan Gerleve in Main branch]
2014-04-23 17:59:09 -04:00
Ryan Gerleve
f44fd64511 #UE4
- Start filling out the OSS session interface for Xbox Live, based on Lionhead's code. Basic flow is working: Create, Join, Find, Destroy etc all work through Xbox Live
- Added an IPv6 socket subsystem, also based on Lionhead's code (required for Xbox One)
- FURL constructor can now parse IPv6 hosts, IPv6 address must be enclosed in square brackets.
- Added new async item class, FOnlineAsyncItemGenericCallable, which makes is easy to use lambdas as async tasks.
- Temporarily set the ShooterGame defaults so that bIsLANMatch is true. This is to avoid communicating with Xbox Live during the first (non-multiplayer) cert pass.
- The ShooterGame server list would work over Xbox Live if the console menu exposed it. Leaving it off for first cert pass.

#codereview john.pollard, josh.markiewicz, sam.zamani

[CL 2041872 by Ryan Gerleve in Main branch]
2014-04-23 17:58:00 -04:00
UnrealBot
db494a6e69 Engine source (Main branch up to CL 2037954) 2014-04-02 18:09:23 -04:00
TimSweeney
3a75fe0114 Engine source (Main branch up to CL 2027006) 2014-03-15 01:14:25 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00