Basic horizontal velocity using fixed point math
This commit is contained in:
		
							parent
							
								
									b2b6f339d8
								
							
						
					
					
						commit
						2b4c138b13
					
				@ -1,7 +1,7 @@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[/Script/EngineSettings.GameMapsSettings]
 | 
			
		||||
EditorStartupMap=/Game/Maps/TrainingStage/TrainingStage.TrainingStage
 | 
			
		||||
EditorStartupMap=/Game/Maps/Debug/DebugStage.DebugStage
 | 
			
		||||
LocalMapOptions=
 | 
			
		||||
TransitionMap=
 | 
			
		||||
bUseSplitscreen=True
 | 
			
		||||
@ -37,3 +37,7 @@ r.Editor.SkipSourceControlCheckForEditablePackages = 1
 | 
			
		||||
[/Script/Engine.RendererSettings]
 | 
			
		||||
r.DefaultFeature.AntiAliasing=0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[CoreRedirects]
 | 
			
		||||
+ClassRedirects=(OldName="/Script/KOFForever.KOFRenderableCharacter",NewName="/Script/KOFForever.KOFBaseCharacter")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,5 @@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[/Script/Engine.InputSettings]
 | 
			
		||||
-AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
 | 
			
		||||
-AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
 | 
			
		||||
@ -6,32 +7,91 @@
 | 
			
		||||
-AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
 | 
			
		||||
-AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
 | 
			
		||||
-AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
 | 
			
		||||
-AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="MouseWheelAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Gamepad_LeftTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Gamepad_RightTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Gamepad_Special_Left_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Gamepad_Special_Left_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Daydream_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Daydream_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Daydream_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Daydream_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Vive_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Vive_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Vive_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Vive_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Vive_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="Vive_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="MixedReality_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="MixedReality_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="OculusTouch_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="OculusTouch_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="OculusTouch_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="OculusTouch_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Touch",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
 | 
			
		||||
bAltEnterTogglesFullscreen=True
 | 
			
		||||
bF11TogglesFullscreen=True
 | 
			
		||||
bUseMouseForTouch=False
 | 
			
		||||
bEnableMouseSmoothing=True
 | 
			
		||||
bEnableFOVScaling=True
 | 
			
		||||
FOVScale=0.011110
 | 
			
		||||
DoubleClickTime=0.200000
 | 
			
		||||
+ActionMappings=(ActionName="Jump",Key=W,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
 | 
			
		||||
+ActionMappings=(ActionName="Jump",Key=Up,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
 | 
			
		||||
+ActionMappings=(ActionName="Jump",Key=SpaceBar,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
 | 
			
		||||
+ActionMappings=(ActionName="Jump",Key=Gamepad_FaceButton_Bottom,bShift=False,bCtrl=False,bAlt=False,bCmd=False)
 | 
			
		||||
+AxisMappings=(AxisName="MoveRight",Key=A,Scale=-1.000000)
 | 
			
		||||
+AxisMappings=(AxisName="MoveRight",Key=D,Scale=1.000000)
 | 
			
		||||
+AxisMappings=(AxisName="MoveRight",Key=Gamepad_LeftX,Scale=1.000000)
 | 
			
		||||
+AxisMappings=(AxisName="MoveRight",Key=Left,Scale=-1.000000)
 | 
			
		||||
+AxisMappings=(AxisName="MoveRight",Key=Right,Scale=1.000000)
 | 
			
		||||
bCaptureMouseOnLaunch=True
 | 
			
		||||
bAlwaysShowTouchInterface=False
 | 
			
		||||
bShowConsoleOnFourFingerTap=True
 | 
			
		||||
bEnableGestureRecognizer=False
 | 
			
		||||
bUseAutocorrect=False
 | 
			
		||||
DefaultViewportMouseCaptureMode=CapturePermanently_IncludingInitialMouseDown
 | 
			
		||||
DefaultViewportMouseLockMode=LockOnCapture
 | 
			
		||||
FOVScale=0.011110
 | 
			
		||||
DoubleClickTime=0.200000
 | 
			
		||||
+ActionMappings=(ActionName="Up",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=W)
 | 
			
		||||
+ActionMappings=(ActionName="Down",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=S)
 | 
			
		||||
+ActionMappings=(ActionName="Up",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Gamepad_DPad_Up)
 | 
			
		||||
+ActionMappings=(ActionName="Down",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Gamepad_DPad_Down)
 | 
			
		||||
+ActionMappings=(ActionName="Left",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=A)
 | 
			
		||||
+ActionMappings=(ActionName="Right",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=D)
 | 
			
		||||
+ActionMappings=(ActionName="Left",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Gamepad_DPad_Left)
 | 
			
		||||
+ActionMappings=(ActionName="Right",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Gamepad_DPad_Right)
 | 
			
		||||
+AxisMappings=(AxisName="MoveRight",Scale=1.000000,Key=D)
 | 
			
		||||
+AxisMappings=(AxisName="MoveRight",Scale=-1.000000,Key=A)
 | 
			
		||||
DefaultPlayerInputClass=/Script/Engine.PlayerInput
 | 
			
		||||
DefaultInputComponentClass=/Script/Engine.InputComponent
 | 
			
		||||
DefaultTouchInterface=/Engine/MobileResources/HUD/LeftVirtualJoystickOnly.LeftVirtualJoystickOnly
 | 
			
		||||
ConsoleKey=None
 | 
			
		||||
-ConsoleKeys=Tilde
 | 
			
		||||
+ConsoleKeys=Tilde
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								KOFForever/Content/Characters/Terry/BP_Terry.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								KOFForever/Content/Characters/Terry/BP_Terry.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								KOFForever/Content/Characters/Terry/BP_TerryRender.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								KOFForever/Content/Characters/Terry/BP_TerryRender.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								KOFForever/Content/Characters/Terry/BP_Terry_DEPRECATED.uasset
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								KOFForever/Content/Characters/Terry/BP_Terry_DEPRECATED.uasset
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								KOFForever/Content/Core/BP_MainGameMode.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								KOFForever/Content/Core/BP_MainGameMode.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								KOFForever/Content/Debug/BP_DebugGameMode.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								KOFForever/Content/Debug/BP_DebugGameMode.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								KOFForever/Content/Maps/Debug/DebugStage.umap
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								KOFForever/Content/Maps/Debug/DebugStage.umap
									 (Stored with Git LFS)
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								KOFForever/Content/Maps/TrainingStage/TrainingStage.umap
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								KOFForever/Content/Maps/TrainingStage/TrainingStage.umap
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							@ -9,5 +9,6 @@ public class KOFForever : ModuleRules
 | 
			
		||||
		PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
 | 
			
		||||
 | 
			
		||||
		PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "Paper2D", "UnrealEd" });
 | 
			
		||||
		PrivateDependencyModuleNames.AddRange( new string [] {"FixedPointMath"});
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										18
									
								
								KOFForever/Source/KOFForever/KOFTypes.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								KOFForever/Source/KOFForever/KOFTypes.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,18 @@
 | 
			
		||||
#include "KOFTypes.generated.h"
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
UENUM(BlueprintType)
 | 
			
		||||
enum class EVirtualGamePadButton : uint8
 | 
			
		||||
{
 | 
			
		||||
	VGP_Up			UMETA(DisplayName="Up"),
 | 
			
		||||
	VGP_Down		UMETA(DisplayName="Down"),
 | 
			
		||||
	VGP_Left		UMETA(DisplayName="Left"),
 | 
			
		||||
	VGP_Right		UMETA(DisplayName="Right"),
 | 
			
		||||
	VGP_A			UMETA(DisplayName="A"),
 | 
			
		||||
	VGP_B			UMETA(DisplayName="B"),
 | 
			
		||||
	VGP_C			UMETA(DisplayName="C"),
 | 
			
		||||
	VGP_D			UMETA(DisplayName="D"),
 | 
			
		||||
	VGP_Assist1		UMETA(DisplayName="Assist 1"),
 | 
			
		||||
	VGP_Assist2		UMETA(DisplayName="Assist 2"),
 | 
			
		||||
	VGP_MAX,
 | 
			
		||||
};
 | 
			
		||||
@ -3,3 +3,116 @@
 | 
			
		||||
 | 
			
		||||
#include "Character/KOFBaseCharacter.h"
 | 
			
		||||
 | 
			
		||||
#include "PaperFlipbookComponent.h"
 | 
			
		||||
#include "Components/InputComponent.h"
 | 
			
		||||
#include "KOFForever/KOFTypes.h"
 | 
			
		||||
 | 
			
		||||
// Sets default values
 | 
			
		||||
AKOFBaseCharacter::AKOFBaseCharacter()
 | 
			
		||||
{
 | 
			
		||||
 	// Set this actor to call Tick() every frame.  You can turn this off to improve performance if you don't need it.
 | 
			
		||||
	PrimaryActorTick.bCanEverTick = true;
 | 
			
		||||
	
 | 
			
		||||
	Sprite = CreateOptionalDefaultSubobject<UPaperFlipbookComponent>(TEXT("Sprite"));
 | 
			
		||||
	if (Sprite)
 | 
			
		||||
	{
 | 
			
		||||
		Sprite->AlwaysLoadOnClient = true;
 | 
			
		||||
		Sprite->AlwaysLoadOnServer = true;
 | 
			
		||||
		Sprite->bOwnerNoSee = false;
 | 
			
		||||
		Sprite->bAffectDynamicIndirectLighting = true;
 | 
			
		||||
		Sprite->SetupAttachment(RootComponent);
 | 
			
		||||
		Sprite->SetRelativeLocation(FVector(0.0f, 0.0f, 96.0f));
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	// Try to create the sprite component
 | 
			
		||||
	Shadow = CreateOptionalDefaultSubobject<UPaperFlipbookComponent>(TEXT("Shadow"));
 | 
			
		||||
	if (Shadow)
 | 
			
		||||
	{
 | 
			
		||||
		Shadow->AlwaysLoadOnClient = true;
 | 
			
		||||
		Shadow->AlwaysLoadOnServer = true;
 | 
			
		||||
		Shadow->bOwnerNoSee = false;
 | 
			
		||||
		Shadow->bAffectDynamicIndirectLighting = true;
 | 
			
		||||
		Shadow->SetupAttachment(Sprite);
 | 
			
		||||
		//Shadow->SetRelativeLocation(FVector(0.0f, 0.0f, -96.0f));
 | 
			
		||||
		Shadow->SetRelativeScale3D(FVector(1.0f, 1.0f, -0.3f));
 | 
			
		||||
		Shadow->SetSpriteColor(FLinearColor::Black);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	MaxWalkSpeed = 400;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AKOFBaseCharacter::SetPosition(FFixedVector Param)
 | 
			
		||||
{
 | 
			
		||||
	Position = Param;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AKOFBaseCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
 | 
			
		||||
{
 | 
			
		||||
	Super::SetupPlayerInputComponent(PlayerInputComponent);
 | 
			
		||||
 | 
			
		||||
	PlayerInputComponent->BindAxis("MoveRight", this, &AKOFBaseCharacter::MoveRight);
 | 
			
		||||
	
 | 
			
		||||
	RegisterInput("Up", EVirtualGamePadButton::VGP_Up);
 | 
			
		||||
	RegisterInput("Down", EVirtualGamePadButton::VGP_Down);
 | 
			
		||||
	RegisterInput("Left", EVirtualGamePadButton::VGP_Left);
 | 
			
		||||
	RegisterInput("Right", EVirtualGamePadButton::VGP_Right);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AKOFBaseCharacter::ProcessInputs(EVirtualGamePadButton Button)
 | 
			
		||||
{
 | 
			
		||||
	/*
 | 
			
		||||
	switch(Button)
 | 
			
		||||
	{
 | 
			
		||||
		case EVirtualGamePadButton::VGP_Left:
 | 
			
		||||
			Position = FFixedVector(0, -250, 0);
 | 
			
		||||
			break;
 | 
			
		||||
		case EVirtualGamePadButton::VGP_Right:
 | 
			
		||||
			Position = FFixedVector(0, 250, 0);
 | 
			
		||||
			break;
 | 
			
		||||
	}
 | 
			
		||||
	*/
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AKOFBaseCharacter::RegisterInput(FName ActionName, EVirtualGamePadButton Button)
 | 
			
		||||
{
 | 
			
		||||
	check(InputComponent != nullptr);
 | 
			
		||||
	
 | 
			
		||||
	FInputActionHandlerSignature ActionHandler;
 | 
			
		||||
	ActionHandler.BindUObject(this, &AKOFBaseCharacter::ProcessInputs, Button);
 | 
			
		||||
 | 
			
		||||
	FInputActionBinding ActionBinding(ActionName, IE_Pressed);
 | 
			
		||||
	ActionBinding.ActionDelegate = ActionHandler;
 | 
			
		||||
	InputComponent->AddActionBinding(ActionBinding);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AKOFBaseCharacter::MoveRight(float Axis)
 | 
			
		||||
{
 | 
			
		||||
	Direction = Axis;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AKOFBaseCharacter::UpdateMovement(FFixed DeltaTime)
 | 
			
		||||
{
 | 
			
		||||
	FFixedVector Velocity = FFixedVector(0, Direction * MaxWalkSpeed, 0); 
 | 
			
		||||
	Position +=  Velocity * DeltaTime;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Called when the game starts or when spawned
 | 
			
		||||
void AKOFBaseCharacter::BeginPlay()
 | 
			
		||||
{
 | 
			
		||||
	Super::BeginPlay();
 | 
			
		||||
	
 | 
			
		||||
	SetActorLocation(FVector(Position));
 | 
			
		||||
	SetActorRotation(FRotator(0.0f, 90.0f, 0.0f));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Called every frame
 | 
			
		||||
void AKOFBaseCharacter::Tick(float DeltaTime)
 | 
			
		||||
{
 | 
			
		||||
	Super::Tick(DeltaTime);
 | 
			
		||||
 | 
			
		||||
	UpdateMovement(FFixed(DeltaTime));
 | 
			
		||||
 | 
			
		||||
	// might need some helpers to convert a FFixedVector to a FVector
 | 
			
		||||
	SetActorRelativeLocation(FVector(Position));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,51 +0,0 @@
 | 
			
		||||
// A fan game by poret. This game is not affiliated with SNK. This is a fan game which is not being sold or distributed for profit.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "Character/KOFRenderableCharacter.h"
 | 
			
		||||
 | 
			
		||||
#include "PaperFlipbookComponent.h"
 | 
			
		||||
 | 
			
		||||
// Sets default values
 | 
			
		||||
AKOFRenderableCharacter::AKOFRenderableCharacter()
 | 
			
		||||
{
 | 
			
		||||
 	// Set this actor to call Tick() every frame.  You can turn this off to improve performance if you don't need it.
 | 
			
		||||
	PrimaryActorTick.bCanEverTick = true;
 | 
			
		||||
 | 
			
		||||
	Sprite = CreateOptionalDefaultSubobject<UPaperFlipbookComponent>(TEXT("Sprite"));
 | 
			
		||||
	if (Sprite)
 | 
			
		||||
	{
 | 
			
		||||
		Sprite->AlwaysLoadOnClient = true;
 | 
			
		||||
		Sprite->AlwaysLoadOnServer = true;
 | 
			
		||||
		Sprite->bOwnerNoSee = false;
 | 
			
		||||
		Sprite->bAffectDynamicIndirectLighting = true;
 | 
			
		||||
		Sprite->SetupAttachment(RootComponent);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	// Try to create the sprite component
 | 
			
		||||
	Shadow = CreateOptionalDefaultSubobject<UPaperFlipbookComponent>(TEXT("Shadow"));
 | 
			
		||||
	if (Shadow)
 | 
			
		||||
	{
 | 
			
		||||
		Shadow->AlwaysLoadOnClient = true;
 | 
			
		||||
		Shadow->AlwaysLoadOnServer = true;
 | 
			
		||||
		Shadow->bOwnerNoSee = false;
 | 
			
		||||
		Shadow->bAffectDynamicIndirectLighting = true;
 | 
			
		||||
		Shadow->SetupAttachment(Sprite);
 | 
			
		||||
		Shadow->SetRelativeScale3D(FVector(1.0f, 1.0f, -0.3f));
 | 
			
		||||
		Shadow->SetSpriteColor(FLinearColor::Black);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Called when the game starts or when spawned
 | 
			
		||||
void AKOFRenderableCharacter::BeginPlay()
 | 
			
		||||
{
 | 
			
		||||
	Super::BeginPlay();
 | 
			
		||||
	
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Called every frame
 | 
			
		||||
void AKOFRenderableCharacter::Tick(float DeltaTime)
 | 
			
		||||
{
 | 
			
		||||
	Super::Tick(DeltaTime);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -3,15 +3,63 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "CoreMinimal.h"
 | 
			
		||||
#include "UObject/NoExportTypes.h"
 | 
			
		||||
#include "../../../../Plugins/FixedPointMath/Source/FixedPointMath/Public/FixedVector.h"
 | 
			
		||||
#include "GameFramework/Actor.h"
 | 
			
		||||
#include "KOFBaseCharacter.generated.h"
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 
 | 
			
		||||
 */
 | 
			
		||||
UCLASS(Blueprintable, meta=(ShortTooltip="Base class responsible for handling all character logic."))
 | 
			
		||||
class KOFFOREVER_API UKOFBaseCharacter : public UObject
 | 
			
		||||
enum class EVirtualGamePadButton : uint8;
 | 
			
		||||
UCLASS()
 | 
			
		||||
class KOFFOREVER_API AKOFBaseCharacter : public APawn
 | 
			
		||||
{
 | 
			
		||||
	GENERATED_BODY()
 | 
			
		||||
	
 | 
			
		||||
public:	
 | 
			
		||||
	// Sets default values for this actor's properties
 | 
			
		||||
	AKOFBaseCharacter();
 | 
			
		||||
 | 
			
		||||
	void SetPosition(FFixedVector Param);
 | 
			
		||||
	
 | 
			
		||||
protected:
 | 
			
		||||
	/** The main flipbook representing the character */
 | 
			
		||||
	UPROPERTY(Category = Character, VisibleAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess = "true"))
 | 
			
		||||
	class UPaperFlipbookComponent* Sprite;
 | 
			
		||||
	
 | 
			
		||||
	/**
 | 
			
		||||
	 *	Secondary sprite that is mirrored across the ground axis and set to black to give the effect of a
 | 
			
		||||
	 *  character's shadow
 | 
			
		||||
	 */
 | 
			
		||||
	UPROPERTY(Category = Character, VisibleAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess = "true"))
 | 
			
		||||
	class UPaperFlipbookComponent* Shadow;
 | 
			
		||||
 | 
			
		||||
	// movement
 | 
			
		||||
	// need a way to expose this to the editor as a float slider/entry
 | 
			
		||||
	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Settings|Movement")
 | 
			
		||||
	FFixed MaxWalkSpeed;
 | 
			
		||||
 | 
			
		||||
	int Direction;
 | 
			
		||||
	
 | 
			
		||||
	FFixedVector Position;
 | 
			
		||||
	
 | 
			
		||||
	/**
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param  PlayerInputComponent
 | 
			
		||||
	 */
 | 
			
		||||
	virtual void SetupPlayerInputComponent(UInputComponent* PlayerInputComponent) override;
 | 
			
		||||
 | 
			
		||||
	// for now just takes a button but eventually will take an entire gamepad state
 | 
			
		||||
	void ProcessInputs(EVirtualGamePadButton Button);
 | 
			
		||||
 | 
			
		||||
	void RegisterInput(FName ActionName, EVirtualGamePadButton Button);
 | 
			
		||||
 | 
			
		||||
	void MoveRight(float Axis);
 | 
			
		||||
	
 | 
			
		||||
	void UpdateMovement(FFixed DeltaTime);
 | 
			
		||||
	
 | 
			
		||||
	// Called when the game starts or when spawned
 | 
			
		||||
	virtual void BeginPlay() override;
 | 
			
		||||
 | 
			
		||||
public:	
 | 
			
		||||
	// Called every frame
 | 
			
		||||
	virtual void Tick(float DeltaTime) override;
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -1,37 +0,0 @@
 | 
			
		||||
// A fan game by poret. This game is not affiliated with SNK. This is a fan game which is not being sold or distributed for profit.
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "CoreMinimal.h"
 | 
			
		||||
#include "GameFramework/Actor.h"
 | 
			
		||||
#include "KOFRenderableCharacter.generated.h"
 | 
			
		||||
 | 
			
		||||
UCLASS()
 | 
			
		||||
class KOFFOREVER_API AKOFRenderableCharacter : public AActor
 | 
			
		||||
{
 | 
			
		||||
	GENERATED_BODY()
 | 
			
		||||
	
 | 
			
		||||
public:	
 | 
			
		||||
	// Sets default values for this actor's properties
 | 
			
		||||
	AKOFRenderableCharacter();
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
	/** The main flipbook representing the character */
 | 
			
		||||
	UPROPERTY(Category = Character, VisibleAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess = "true"))
 | 
			
		||||
	class UPaperFlipbookComponent* Sprite;
 | 
			
		||||
	
 | 
			
		||||
	/**
 | 
			
		||||
	 *	Secondary sprite that is mirrored across the ground axis and set to black to give the effect of a
 | 
			
		||||
	 *  character's shadow
 | 
			
		||||
	 */
 | 
			
		||||
	UPROPERTY(Category = Character, VisibleAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess = "true"))
 | 
			
		||||
	class UPaperFlipbookComponent* Shadow;
 | 
			
		||||
	
 | 
			
		||||
	// Called when the game starts or when spawned
 | 
			
		||||
	virtual void BeginPlay() override;
 | 
			
		||||
 | 
			
		||||
public:	
 | 
			
		||||
	// Called every frame
 | 
			
		||||
	virtual void Tick(float DeltaTime) override;
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user