Commit Graph

39 Commits

Author SHA1 Message Date
Dmitry Rekman
e9f8e5798a Linux window changes from PR #306.
[CL 2251775 by Dmitry Rekman in Main branch]
2014-08-11 15:30:21 -04:00
Dmitry Rekman
7fb45d090a Support more output devices on Linux.
- Partially based on PR #306 submission, corrected for cross-compiling.
- Each platform is now able to set up output devices for logging according to its own needs.

#codereview Josh.Adams, Michael.Trepka

[CL 2249193 by Dmitry Rekman in Main branch]
2014-08-08 21:42:14 -04:00
Dmitry Rekman
688aa9ba71 A bunch of Linux changes.
- Mostly from PR #306, but sanitized/reworked.
- LinuxApplication now defers processing events (should make it differ less from Windows).
- Process spawning changes in #306 partially left out until explained by amigo/#ue4linux folks.

#codereview Josh.Adams

[CL 2245193 by Dmitry Rekman in Main branch]
2014-08-06 01:28:45 -04:00
Dmitry Rekman
dc267402f7 Linux: misc/minor changes from PR #306.
- Linux splash (changed to match our coding style better).  WARNING: currently cannot be cross-compiled.
- Platform (SDL) message box.
- Other minor additions elsewhere.

#codereview Josh.Adams

[CL 2243860 by Dmitry Rekman in Main branch]
2014-08-04 23:47:23 -04:00
Dmitry Rekman
30a9dc0957 [Github] PR #306: safe/minor changes.
- Minor fixes, Linux-specific additions (like preferred source code accessor setting or building ForsythTriOO) and tweaks (log level, etc).

#codereview Josh.Adams

[CL 2237893 by Dmitry Rekman in Main branch]
2014-07-30 23:46:52 -04:00
Dmitry Rekman
c24b35fb29 Linux: make module manager actually load modules.
- part of GitHub pull request #242, with changes
- new platform define for conditionally using cpuid, other platforms may want to follow suit
- better detection of debugger, IsDebuggerPresent() is on again.

#codereview Josh.Adams, Michael.Trepka, Bob.Tellez

[CL 2229133 by Dmitry Rekman in Main branch]
2014-07-23 19:02:03 -04:00
Marcus Wassmer
07fd4b83b0 Non monolithic projects will load AutoSDK environment properly.
#codereview Josh.Adams, dmitry.rekman, michael.trepka, ben.marsh

[CL 2227662 by Marcus Wassmer in Main branch]
2014-07-22 17:59:23 -04:00
Dmitry Rekman
db28733656 Fix SteamController header dependency.
Do not include SteamController headers if module isn't being compiled.

[CL 2221538 by Dmitry Rekman in Main branch]
2014-07-16 20:16:39 -04:00
Dmitry Rekman
a8a3b2e2fe Support from reading binary streams from pipes.
External contribution by SRombauts (Sebastien.Rombauts), PR 203 (with changes): https://github.com/EpicGames/UnrealEngine/pull/203

#codereview Josh.Adams, Michael.Trepka, Mark.Satterthwaite

[CL 2123296 by Dmitry Rekman in Main branch]
2014-07-01 10:18:20 -04:00
Dmitry Rekman
b56a3d681e Use 32-bit thread ids on Linux.
This is less portable approach than pthread_self(), but the latter requires more intrusive changes throughout the engine (upping thread ids to 64 bit or even to an opaque type), which will break NetworkProfiler serialization and don't feel warranted in general.

Thanks to x414e54 for bringing this up on #ue4linux.

#codereview Josh.Adams, Daniel.Lamb, JJ.Hoesing

[CL 2122755 by Dmitry Rekman in Main branch]
2014-06-30 21:38:52 -04:00
Jamie Dale
11049aa02e Added a custom icu::CharacterIterator implementation, which will attempt to interface with FText/FString as efficiently as it can based on the native platform string format.
TTP# 336464 - Editor: Finish the Multiline Editable Text Block

There are two versions of this, which are typedef'd to FICUTextCharacterIterator based on the current platform string traits.

FICUTextCharacterIterator_NativeUTF16 is used on platforms where TCHAR is already in a native UTF-16 format (as used by ICU), so performs no conversion and just passes the internal string data through to an icu::UCharCharacterIterator. Windows, Xbox One, and PS4 use this iterator.

FICUTextCharacterIterator_ConvertToUnicodeString is used on platforms where TCHAR is not in a native UTF-16 format, and performs a conversion to an icu::UnicodeString which is then passed into an icu::StringCharacterIterator - this has the same behaviour and cost as every platforms had prior to this change. OS X, iOS, Android, and Linux use this iterator.

Other changes:
- Renamed the Convert functions in ICUUtilities to either ConvertString or ConvertChar32 to make it clearer what they were doing.
- Removed the ConvertChar32 functions which were attempting to convert a UChar32 back to a TCHAR (as this is neither safe or sane).
- Added IsUnicodeEncoded to FGenericPlatformString. This is used along with the sizeof(TCHAR) at compile time to work out if the platform is using UTF-16.

ReviewedBy Justin.Sargent

[CL 2116572 by Jamie Dale in Main branch]
2014-06-25 06:42:38 -04:00
Ben Marsh
8ffc82bbd0 Add concept of an 'API version' for modules, which is used for determining compatibility of DLLs. By default, the API version is the current changelist number, but can be set to previous changelists when making hotfixes. The API version number is stored in a special resource section for DLLs on Windows, and in the current-version field for dylibs on Mac.
In contrast to the previous system, this does not require special-casing for Rocket builds and will work correctly for nightlies and other out-of-band releases. It also removes the requirement for games to adhere to a strict format of version string on Windows for the editor to be able to load them, since the new data is injected indepdendently of the default resource by UBT.

#codereview Robert.Manuszewski, Michael.Trepka

[CL 2111949 by Ben Marsh in Main branch]
2014-06-20 13:02:34 -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
Mike Fricker
16d1f0a4fd Always use "override" and "final" keyword on all platforms
[CL 2099153 by Mike Fricker in Main branch]
2014-06-09 11:17:17 -04:00
Dmitry Rekman
5b887fb484 Linux: more changes for the editor.
From PR #140,  contributed by sbc100 and #ue4linux community.

[CL 2096299 by Dmitry Rekman in Main branch]
2014-06-05 17:11:45 -04:00
Jamie Dale
0cfe5f0651 Added PlatformInfo to DesktopPlatform and improved the editors Supported Platform UI
TTP# 337136 - SETTINGS: Target Platform settings polish
TTP# 337652 - EDITOR: Limit Project supported Android icons down to 1
TTP# 337650 - EDITOR: There is only 1 icon for Apple for Project Supported Platforms

DesktopPlatform now contains a static array of FPlatformInfo. This can be used to query UE4 about its available platforms, even when they're not available as a target platform.

FPlatformInfo contains the information required by the editor (such as a localized display name and icon), as well as whether a platform is a variation ("flavor") of another, and if so, whether the flavor affects the build output (eg, Win32 or Win64), or the cook output (eg, Android_XYZ). This lets the editor build up nested menus for the "Package Project" and "Cook Project" options, rather than just showing everything as a flat list.

ReviewedBy Thomas.Sarkanen, Max.Preussner

[CL 2095796 by Jamie Dale in Main branch]
2014-06-05 12:13:44 -04:00
Dmitry Rekman
df5174467e Fixing some reordering/etc issues reported by clang.
[CL 2084559 by Dmitry Rekman in Main branch]
2014-05-29 16:57:22 -04:00
Nick Penwarden
fd75ebbb83 AllowsFramerateSmoothing is now a platform proprty. Enabled for all platforms except XB1 and PS4
[CL 2076052 by Nick Penwarden in Main branch]
2014-05-16 17:24:12 -04:00
Dmitry Rekman
f1aa1ee21b Linux: Fix incorrect error message for missing #define.
[CL 2073578 by Dmitry Rekman in Main branch]
2014-05-14 19:01:30 -04:00
Dmitry Rekman
544007b48b Linux: mimic Windows behavior regarding OnKeyChar() events.
Particularly, do not trigger this for arrow keys, since they do not generate WM_CHAR on Windows.
Otherwise console will be broken in subtle ways (TTP #331984).

#codereview Michael.Liebenow

[CL 2072376 by Dmitry Rekman in Main branch]
2014-05-13 20:44:15 -04:00
Jaroslaw Palczynski
724ea452a5 Refactoring thread affinity settings.
There was a bug in setting affinity of a thread that assumed affinity from lookup table with key being a thread name. When names was appended with consecutive numbers (e.g. "RenderingThread 1") the mechanism failed. Refactored this to use special static consts describing affinity override'able by different platforms for different affinity types + possibility of setting affinity per thread.
#codereview Jaroslaw.Surowiec

[CL 2070197 by Jaroslaw Palczynski in Main branch]
2014-05-12 08:40:54 -04:00
Dmitry Rekman
7b70307ded Linux: TPS building improvements by #UE4Linux folks.
- Patches to HACD, hlslcc,mcpp and nvtess (licenses updated where appropriate).
- Support for Linux target platform in a bunch of TPS modules.
- Automate update of dependencies to an extent.
- Misc. changes (accomodate perforce and git flows, minor code bug when dealing with TPS etc).

#codereview Mike.Fricker, Ben.Marsh

[CL 2069938 by Dmitry Rekman in Main branch]
2014-05-12 08:37:47 -04:00
Dmitry Rekman
5a828ac684 Linux mouse support improvements from Darkside.
- Result of pair debugging of NickA and MichaelL.
- Introduces some really scary platform-specific #ifdef's in SWindow I am not happy about...  Reportedly going to be accounted for in Slate refactor and will cease to be platform-specific.
- Old junk nuked.

#codereview Josh.Adams, Michael.Liebenow, Nick.Atamas, Michael.Trepka

[CL 2067399 by Dmitry Rekman in Main branch]
2014-05-08 16:37:57 -04:00
Dmitry Rekman
e3105eda19 Merging the bulk of Darkside changes.
- New target platforms (LinuxNoEditor for client+server, LinuxClient for client, Linux for editor, LinuxServer for dedicated server - mirroring other platforms).
- Preliminary support for gcc in the toolchain (and some safe fixes in code).
- No more lowercasing when accessing files on Linux, tread carefully.
- Changes needed for native compilation and other minor improvements.

#codereview Josh.Adams, Michael.Liebenow, Steve.Robbs

[CL 2067133 by Dmitry Rekman in Main branch]
2014-05-08 13:01:46 -04:00
Marcus Wassmer
3b7a3b4052 Fix Linux compile.
[CL 2066093 by Marcus Wassmer in Main branch]
2014-05-07 17:16:40 -04:00