diff --git a/Tools/CompatTable/developers.ini b/Tools/CompatTable/developers.ini index 89ccca41..8ecb923d 100644 --- a/Tools/CompatTable/developers.ini +++ b/Tools/CompatTable/developers.ini @@ -139,6 +139,7 @@ Raven Software=http://en.wikipedia.org/wiki/Raven_Software Realtime Worlds=http://en.wikipedia.org/wiki/Realtime_Worlds Red Thread Games=https://en.wikipedia.org/wiki/Red_Thread_Games Reloaded Productions=http://en.wikipedia.org/wiki/K2_Network +Respawn Entertainment=https://en.wikipedia.org/wiki/Respawn_Entertainment Robomodo=http://en.wikipedia.org/wiki/Robomodo Roll7=http://en.wikipedia.org/wiki/Roll7 Rocksteady Studios=http://en.wikipedia.org/wiki/Rocksteady_studios diff --git a/Tools/CompatTable/table.ini b/Tools/CompatTable/table.ini index 06cb992a..15c24764 100644 --- a/Tools/CompatTable/table.ini +++ b/Tools/CompatTable/table.ini @@ -204,6 +204,13 @@ Toys for Bob https://en.wikipedia.org/wiki/Spyro_Reignited_Trilogy https://www.gildor.org/smf/index.php/topic,6784.0.html +[Star Wars Jedi: Fallen Order] +Y Y Y Y UE4.21 +Respawn Entertainment +https://en.wikipedia.org/wiki/Star_Wars_Jedi:_Fallen_Order +https://www.gildor.org/smf/index.php/topic,6870.0.html +; -game=jedi + [Terminator: Resistance] Y Y Y Y UE4.22 Teyon @@ -864,7 +871,7 @@ http://en.wikipedia.org/wiki/Abzu_(video_game) https://www.gildor.org/smf/index.php/topic,3053.0.html [Dead By Daylight] -Y Y Y Y UE4.21 +Y Y Y Y UE4.22 Behaviour Interactive http://en.wikipedia.org/wiki/Dead_by_Daylight https://www.gildor.org/smf/index.php/topic,3129.0.html diff --git a/Unreal/GameDatabase.cpp b/Unreal/GameDatabase.cpp index ce661594..83dfb7c4 100644 --- a/Unreal/GameDatabase.cpp +++ b/Unreal/GameDatabase.cpp @@ -398,6 +398,9 @@ const GameInfo GListOfGames[] = { # if KH3 G("Kingdom Hearts 3", kh3, GAME_KH3), # endif +# if JEDI + G("Star Wars Jedi: Fallen Order", jedi, GAME_Jedi), +# endif #endif // UNREAL4 // end marker diff --git a/Unreal/GameDefines.h b/Unreal/GameDefines.h index 27eb1be1..7237f445 100644 --- a/Unreal/GameDefines.h +++ b/Unreal/GameDefines.h @@ -163,6 +163,7 @@ #define ASC_ONE 1 // Ascendant One #define BORDERLANDS3 1 // Borderlands 3 #define KH3 1 // Kingdom Hearts 3 +#define JEDI 1 // Star Wars Jedi: Fallen Order #define SPECIAL_TAGS 1 // games with different PACKAGE_FILE_TAG diff --git a/Unreal/UnCore.h b/Unreal/UnCore.h index 64aff63e..2e8ab47d 100644 --- a/Unreal/UnCore.h +++ b/Unreal/UnCore.h @@ -438,6 +438,8 @@ enum EGame // 4.20 GAME_Dauntless = GAME_UE4(20)+1, GAME_Borderlands3 = GAME_UE4(20)+2, + // 4.21 + GAME_Jedi = GAME_UE4(21)+1, GAME_ENGINE = 0xFFF0000 // mask for game engine }; diff --git a/Unreal/UnMesh4.cpp b/Unreal/UnMesh4.cpp index 11294ff9..57afa12e 100644 --- a/Unreal/UnMesh4.cpp +++ b/Unreal/UnMesh4.cpp @@ -180,6 +180,14 @@ struct FStaticMeshVertexBuffer4 if (!StripFlags.IsDataStrippedForServer()) { +#if JEDI + if (Ar.Game == GAME_Jedi) + { + int32 unk; + Ar << unk; + } +#endif // JEDI + GNumStaticUVSets = S.NumTexCoords; GUseStaticFloatUVs = S.bUseFullPrecisionUVs; if (Ar.Game < GAME_UE4(19)) diff --git a/test.sh b/test.sh index 96e87630..a8dc4fa5 100644 --- a/test.sh +++ b/test.sh @@ -242,6 +242,11 @@ function tr4() { run1 "data/3/Tribes4" $*; } function thief() { run1 "${steam[@]/%/Thief/ThiefGame/CookedPCNG}" $*; } function ark() { run1 "${steam[@]/%/ARK/ShooterGame/Content}" -game=ark $*; } function lawbr() { run1 "${steam[@]/%/LawBreakers/ShooterGame/Content/Paks}" -game=lawbr $*; } +function jfo() +{ + CheckDir "${steam[@]/%/Jedi Fallen Order/SwGame/Content/Paks}" # "run1" doesn't work with $steam having multiple paths + run -game=ue4.21 $* +} function rund() { run1 "data" $*; }